{{--
    Seletor de empresas vinculadas ao usuário com busca e chips removíveis.

    Variáveis esperadas:
      $empresas          → Collection de Empresa
      $selectedEmpresas  → array de IDs já selecionados
--}}
@php
    $selectedEmpresas = $selectedEmpresas ?? [];
    $selectedItems    = $empresas->whereIn('id', $selectedEmpresas);

    $datasetJson = json_encode(
        $empresas->map(function ($empresa) {
            $label = trim((string) ($empresa->nomeFantasia ?: $empresa->razaoSocial ?: $empresa->cnpj));

            return [
                'id'           => $empresa->id,
                'label'        => $label,
                'nomeFantasia' => (string) ($empresa->nomeFantasia ?? ''),
                'razaoSocial'  => (string) ($empresa->razaoSocial ?? ''),
                'cnpj'         => (string) ($empresa->cnpj ?? ''),
            ];
        })->values()
    );
@endphp

<div class="mb-3" id="empresas-selector">

    <label class="form-label fw-semibold">
        {{ __('Empresas') }}
        <small class="fw-normal text-muted ms-1">({{ __('opcional') }})</small>
    </label>

    <div id="empresas_help" class="form-text mb-2">
        {{ __('Selecione uma ou mais empresas às quais o usuário estará vinculado para controle de escopo em módulos como Cronogramas.') }}
    </div>

    {{-- Chips: empresas já selecionadas --}}
    <div class="border rounded p-2 mb-2 bg-light"
         aria-label="{{ __('Empresas selecionadas') }}">
        <small class="text-muted d-block mb-1 fw-semibold">
            {{ __('Selecionadas:') }}
        </small>
        <div id="empresas-chips" class="d-flex flex-wrap gap-1">
            @foreach($selectedItems as $empresa)
                @php
                    $label = trim((string) ($empresa->nomeFantasia ?: $empresa->razaoSocial ?: $empresa->cnpj));
                @endphp
                <span class="badge bg-primary d-inline-flex align-items-center gap-1 py-2 px-2 fs-6"
                      data-empresa-id="{{ $empresa->id }}"
                      title="{{ $label }}">
                    <span>{{ $label }}</span>
                    <button type="button"
                            class="btn-close btn-close-white ms-1"
                            style="font-size:0.55rem"
                            data-action="remove-empresa"
                            data-id="{{ $empresa->id }}"
                            aria-label="{{ __('Remover') }}"></button>
                </span>
            @endforeach
        </div>
        <span id="empresas-empty-msg"
              class="text-muted fst-italic small {{ $selectedItems->isNotEmpty() ? 'd-none' : '' }}">
            {{ __('Nenhuma empresa selecionada.') }}
        </span>
    </div>

    {{-- Busca --}}
    <div class="input-group mb-1">
        <span class="input-group-text" aria-hidden="true">
            <i class="fa-solid fa-magnifying-glass"></i>
        </span>
        <input type="text"
               id="empresas-search"
               class="form-control"
               placeholder="{{ __('Pesquisar empresa por nome ou CNPJ... (mínimo 2 letras)') }}"
               autocomplete="off"
               aria-label="{{ __('Pesquisar empresa') }}"
               aria-describedby="empresas_help">
    </div>

    {{-- Resultados da busca --}}
    <div id="empresas-resultados"
         class="list-group d-none"
         style="max-height: 260px; overflow-y: auto;"
         aria-live="polite"
         aria-label="{{ __('Resultados da busca') }}">
    </div>

    @error('empresas')
        <div class="text-danger small mt-1">{{ $message }}</div>
    @enderror
    @error('empresas.*')
        <div class="text-danger small mt-1">{{ $message }}</div>
    @enderror

    {{-- Hidden inputs enviados no formulário --}}
    <div id="empresas-hidden-inputs" aria-hidden="true">
        @foreach($selectedEmpresas as $id)
            <input type="hidden" name="empresas[]" value="{{ $id }}" data-id="{{ $id }}">
        @endforeach
    </div>

    {{-- Dataset completo para o JS --}}
    <script type="application/json" id="empresas-dataset">{!! $datasetJson !!}</script>

    <script type="application/json" id="empresas-i18n">{!! json_encode([
        'emptyResult' => __('Nenhuma empresa encontrada para ":query".'),
    ]) !!}</script>

</div>
