@props([ 'id', 'columns' => [], 'tableClass' => '', 'storageKey' => null, 'minWidth' => null, 'resizable' => true, 'resizableColumnKeys' => [], 'columnTools' => true, ]) @php $resolvedStorageKey = $storageKey ?: $id . '-columns'; $tableClasses = trim('table align-middle table-nowrap dashboard-resizable-table ' . $tableClass); $resolvedMinWidth = $minWidth ? (is_numeric($minWidth) ? $minWidth . 'px' : $minWidth) : null; $resolvedResizableColumnKeys = collect($resizableColumnKeys) ->map(fn ($key) => (string) $key) ->filter(fn ($key) => $key !== '') ->values(); @endphp
class(['table-responsive', 'table-card', 'mt-2', 'mb-1', 'dashboard-data-table']) }}> isNotEmpty()) data-resizable-columns="1" @endif @if($resolvedResizableColumnKeys->isNotEmpty()) data-resizable-column-keys="{{ $resolvedResizableColumnKeys->implode(',') }}" @endif @if($columnTools) data-sort-icon-only="1" @endif data-resizable-storage-key="{{ $resolvedStorageKey }}" @if($resolvedMinWidth) data-default-min-width="{{ $resolvedMinWidth }}" style="min-width: {{ $resolvedMinWidth }};" @endif> @if(count($columns)) @foreach($columns as $key => $width) @endforeach @endif {{ $slot }}
@once @endonce