@props([ 'caption' => null, 'columns' => [], 'empty' => false, 'emptyLabel' => null, ]) @php $columnCount = max(count($columns), 1); // O estado da ordenação é dito em texto para quem usa leitor de tela: `aria-sort` só é lido // pela coluna atual, então cada link carrega a ação que ele executa. $sortHints = [ 'ascending' => __('layout::shell.sort_ascending'), 'descending' => __('layout::shell.sort_descending'), 'none' => __('layout::shell.sort_none'), ]; @endphp {{-- Tabela de dados fina sobre `x-cms::table`: `columns` descreve o cabeçalho (e o estado de ordenação); as linhas vêm do slot. A coluna ordenável aponta para uma URL **real** (o servidor decide a ordem e o desempate — ADR-001); a linha inteira nunca é clicável. O vazio nunca é uma tabela sem `