<div class="fleet-driver-listing" {{did-insert this.setupComponent}} ...attributes>
    <div class="mb-2 flex items-center justify-between">
        <div class="flex items-center">
            <div class="fleet-driver-listing-search">
                <Input @type="text" {{on "keyup" (perform this.search)}} placeholder={{t "fleet-ops.component.fleet-driver-listing.search-driver"}} class="w-64 form-input form-input-sm" />
            </div>

            {{#if this.isLoading}}
                <div class="mx-2">
                    <Spinner @iconClass="text-sky-500 fa-spin-800ms" />
                </div>
            {{/if}}
        </div>
        <div class="w-56">
            {{#if @onAddDriver}}
                <ModelSelect
                    @modelName="driver"
                    @selectedModel={{@options.selectedDriver}}
                    @placeholder={{t "fleet-ops.component.fleet-driver-listing.add-driver"}}
                    @triggerClass="form-select form-input form-select-sm form-input-sm"
                    @infiniteScroll={{false}}
                    @renderInPlace={{true}}
                    @onChange={{this.onAdd}}
                    as |model|
                >
                    {{model.name}}
                </ModelSelect>
            {{/if}}
        </div>
    </div>
    <div class="bg-white border border-gray-200 rounded shadow-sm dark:bg-gray-800 dark:border-gray-900 text-xs">
        <div class="w-full">
            <div class="grid grid-cols-12 text-xs p-3 font-bold text-gray-800 dark:text-gray-100 border-b border-gray-900 shadow">
                {{#if @selectable}}
                    <div></div>
                {{/if}}
                <div class="col-span-4 flex items-center">{{t "fleet-ops.common.driver"}}</div>
                <div class="col-span-7 flex items-center"></div>
            </div>
        </div>
        <div class="h-48 overflow-y-scroll">
            {{#unless this.isLoaded}}
                <div class="flex text-center items-center justify-center p-4 dark:text-gray-100">
                    <Spinner class="mr-2" @iconClass="text-sky-500" />
                    <span>{{t "fleet-ops.component.fleet-driver-listing.loading-message"}}</span>
                </div>
            {{/unless}}
            {{#each this.drivers as |driver|}}
                <div class="flex flex-row items-center justify-between text-xs py-2 px-3 text-gray-800 border-b border-gray-200 dark:border-gray-900 dark:text-gray-100">
                    <div>
                        {{#if @selectable}}
                            <div class="flex items-center">
                                <Checkbox @value={{driver.selected}} @onToggle={{fn this.select driver}} />
                            </div>
                        {{/if}}
                        <div class="flex items-center">
                            <div class="flex flex-row items-start">
                                <div class="mr-2">
                                    <div class="relative">
                                        <img src={{driver.photo_url}} alt={{driver.name}} class="w-5 h-5" />
                                        <FaIcon @icon="circle" class="absolute right-0 top-0 -mr-1 -mt-1 {{if driver.online 'text-green-500' 'text-yellow-200'}}" />
                                    </div>
                                </div>
                                <div>
                                    <div class="font-semibold">{{driver.name}}</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="flex items-center justify-end">
                        {{#if @onRemoveDriver}}
                            <a href="javascript:;" class="text-danger text-opacity-75" {{on "click" (fn this.onRemove driver)}}>
                                <FaIcon @icon="times" @prefix="fas" class="mr-1" />
                                <span>{{t "fleet-ops.common.remove"}}</span>
                            </a>
                        {{/if}}
                    </div>
                </div>
            {{/each}}
        </div>
    </div>
</div>