@snksergio/design-system 0.63.0 → 0.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/ai/componentes/DataTable.md +2 -1
- package/dist-lib/ai/componentes/TableToolbar.md +1 -1
- package/dist-lib/ai/global/componentes.md +7 -0
- package/dist-lib/ai/manifest.json +3 -3
- package/dist-lib/ai/roteiros/crud-builder/entrevista.md +8 -1
- package/dist-lib/ai/roteiros/list-builder/entrevista.md +5 -0
- package/dist-lib/chunks/{panel-B-liPlxr.mjs → panel-CN0ChoHM.mjs} +5 -2
- package/dist-lib/chunks/{panel-B-liPlxr.mjs.map → panel-CN0ChoHM.mjs.map} +1 -1
- package/dist-lib/chunks/{panel-DoNbjeqX.cjs → panel-Cpq1xHck.cjs} +5 -2
- package/dist-lib/chunks/{panel-DoNbjeqX.cjs.map → panel-Cpq1xHck.cjs.map} +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/index.mjs +2 -2
- package/dist-lib/preview/clientes.cjs +1 -1
- package/dist-lib/preview/clientes.mjs +1 -1
- package/dist-lib/src/components/ui/DataTable/data-table.d.ts.map +1 -1
- package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts +20 -2
- package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -703,7 +703,8 @@ tableRef.current?.collapseAllTree(); // tree-data: recolhe todos os nós (n
|
|
|
703
703
|
- `enableExport?` (false) — `true` = dropdown Exportar com CSV default; objeto `{ formats?, items? }` pra formatos custom
|
|
704
704
|
- `enableFullscreen?` (false) — botão ⤢ na toolbar (entre Filtros e Configurações) que expande a tabela pra viewport inteira; Esc volta
|
|
705
705
|
- `moreMenu?` — `{ items: DataTableMoreMenuItem[] }` — MoreMenu (⋯) no canto direito
|
|
706
|
-
- `customLeft?` — ReactNode livre
|
|
706
|
+
- `customLeft?` — **ReactNode livre**, entre o refresh e a busca (mesma posição das `actions`, e antes delas quando as duas vêm juntas). É o único caminho pra um **componente** no toolbar: `actions` só aceita `ToolbarAction[]`, cujos kinds são `button`/`dropdown`/`input` e nenhum recebe componente. Use pra `DatePicker` de período, `Select` composto, segmented custom. ⚠️ Era **inerte** até 2026-09-16 (declarada, documentada, lida por nada — o TS aceitava e nada renderizava); gate: `datatable-toolbar-slots.test.tsx`
|
|
707
|
+
- `customActions?` — ⛔ **@deprecated e sem efeito** — nunca foi lida. Use `customLeft` (componente) ou `moreMenu.items` (itens de menu)
|
|
707
708
|
- `viewToggle?` — override/esconde o segmented table/kanban auto-renderizado
|
|
708
709
|
|
|
709
710
|
> Bulk actions vão em `selectionConfig.actions` (não no toolbar). Preset views vão na prop
|
|
@@ -27,7 +27,7 @@ Em `< md`: o `refresh` some (o menu Configurações cobre o resto).
|
|
|
27
27
|
| `refresh` | Botão atualizar (`<ToolbarToolButton>`) |
|
|
28
28
|
| `search` | Campo de busca (`<ToolbarSearch>`) |
|
|
29
29
|
| `filter` | Filtro simples: use `<ToolbarFilterButton onClick isActive hasIndicator />` (funil, icon-only — **mesmo botão** no DataTable e DataList) → abre `<ToolbarSimpleFilterDrawer>` |
|
|
30
|
-
| `actions` | Ações custom: `<ToolbarActions actions={[...]} />` (`button`/`dropdown`/`input`). Inline no desktop; **colapsam no ⋯ no mobile** (passe `extraItems` p/ absorver o ⋯ existente) |
|
|
30
|
+
| `actions` | Ações custom: `<ToolbarActions actions={[...]} />` (`button`/`dropdown`/`input`). Inline no desktop; **colapsam no ⋯ no mobile** (passe `extraItems` p/ absorver o ⋯ existente).<br><br>⚠️ **Este slot aceita qualquer nó** — `<ToolbarActions>` é só o uso comum. Pra um **componente** (um `DatePicker mode="range"` de período, um `Select` composto), passe-o direto aqui. Pelo `DataTable` o caminho é a prop `toolbar.customLeft`, que cai neste mesmo slot antes das `actions` — ela era **inerte até a v0.64.0** (declarada e lida por nada) |
|
|
31
31
|
| `settings` | Configurações: sliders → drill-down (`<ToolbarSettingsMenu>` com Ordenação · Colunas · Filtros avançados · Densidade) |
|
|
32
32
|
| `more` | Menu "⋯" (`<MoreMenu>`) — export + ações |
|
|
33
33
|
| `bulkBar` | Substitui a toolbar inteira pela barra de ações em massa |
|
|
@@ -131,6 +131,13 @@ sem passar pela entrevista guiada** (é justamente aí que o erro aparece):
|
|
|
131
131
|
(`defaultViews`, ex.: "Ativos", "Pendentes"; `allowCreateView={false}` se forem fixas).
|
|
132
132
|
2. **X não é coluna, pequeno e simples** (período/mês, um toggle) → `toolbar.actions`
|
|
133
133
|
(máx ~2, label curta). Período que afeta a página toda → `PageHeader.actions` (dropdown).
|
|
134
|
+
**Precisa de um COMPONENTE na barra** (um `DatePicker mode="range"` de período)? →
|
|
135
|
+
`toolbar.customLeft` do `data-table`, que renderiza entre o refresh e a busca —
|
|
136
|
+
`toolbar.actions` não serve, seus kinds são `button/dropdown/input` e nenhum recebe
|
|
137
|
+
componente. ⚠️ **Exige o DS `0.64.0` ou mais novo**: em `0.63.0` e anteriores a
|
|
138
|
+
prop existe no tipo, o TS aceita e **nada renderiza** (era declarada e lida por nada).
|
|
139
|
+
Confira sua versão antes de prometer o controle — e note que o `data-list` **não tem**
|
|
140
|
+
esse slot, só `toolbarActions`.
|
|
134
141
|
3. **Muitos filtros, ou muito grandes** → drawer "Filtros" **nativo** do `data-table` + chips
|
|
135
142
|
pré-aplicados. Nunca empilhar selects soltos.
|
|
136
143
|
|
|
@@ -90,6 +90,12 @@ em lote ("CNPJ sem copyable"). Critério completo e limites: `generate.md` item
|
|
|
90
90
|
> `filterType`. Quer abrir já filtrado? **pré-aplique** (`defaultViews`/`presetView`
|
|
91
91
|
> ou `filterModel`) → abre com o **chip aplicado**, editável, reativo. Pode pré-setar
|
|
92
92
|
> **vários** (id/período/status/…), sem campos.
|
|
93
|
+
> - **Componente na barra → `toolbar.customLeft`, não `actions`.** Os kinds de
|
|
94
|
+
> `ToolbarAction` são `button`/`dropdown`/`input` e nenhum recebe componente; pra um
|
|
95
|
+
> `DatePicker mode="range"` de período use `customLeft`, que renderiza entre o refresh e
|
|
96
|
+
> a busca. ⚠️ **Exige o DS `0.64.0` ou mais novo** — em `0.63.0` e anteriores a
|
|
97
|
+
> prop existe no tipo, o TS aceita e **nada renderiza**. Confira a versão antes de
|
|
98
|
+
> prometer o controle.
|
|
93
99
|
> - **toolbar.actions é SÓ pra caso pequeno e simples que NÃO reage com coluna** (ex.:
|
|
94
100
|
> data/período, escopo) — **label curta**, **máx ~2**. Se mexe com coluna, é grande, ou
|
|
95
101
|
> são muitos → **NÃO use o toolbar.**
|
|
@@ -105,7 +111,8 @@ em lote ("CNPJ sem copyable"). Critério completo e limites: `generate.md` item
|
|
|
105
111
|
deletar direto). Pergunte o texto do confirm.
|
|
106
112
|
- Seleção + ações em massa (exportar, etc.)? (`selectionConfig` + bulk actions).
|
|
107
113
|
- Export: escopo (tudo / filtrado / selecionado) + formato (csv)? (`toolbar.enableExport`).
|
|
108
|
-
- Ação custom no toolbar (ex.: seletor de período
|
|
114
|
+
- Ação custom no toolbar (ex.: seletor de período por dropdown de meses, botão extra)? `toolbar.actions: ToolbarAction[]` (`button`/`dropdown`/`input`) — inline no desktop, colapsa no ⋯ no mobile. Oferecer só se o usuário pedir.
|
|
115
|
+
- **Componente** na barra (calendário de período, `Select` composto)? `toolbar.customLeft: ReactNode` — entre o refresh e a busca, antes das `actions`. É o único caminho: `ToolbarAction` não tem kind que receba componente. ⚠️ Exige o DS `0.64.0`+; antes dele a prop é inerte e falha em silêncio.
|
|
109
116
|
|
|
110
117
|
## Fase 4 — Views, paginação & densidade
|
|
111
118
|
|
|
@@ -132,6 +132,11 @@ refresh · busca · filtro(drawer) · ⋯. Sem colunas/toggle de visão.
|
|
|
132
132
|
> - **Filtro por campo** (status/categoria/tipo/data…) → declare em `filterFields`. Quer
|
|
133
133
|
> abrir já filtrado? **pré-aplique** via `views` ou `filterModel` → abre com o **chip
|
|
134
134
|
> aplicado**, editável, reativo. Pode pré-setar **vários** de uma vez.
|
|
135
|
+
> - ⛔ **O `data-list` NÃO tem slot pra componente no toolbar.** O `data-table` ganhou
|
|
136
|
+
> `toolbar.customLeft` (`0.64.0`+); o `data-list` só tem `toolbarActions`, cujos kinds são
|
|
137
|
+
> `button`/`dropdown`/`input`. Seletor de período com calendário numa lista vai **fora**
|
|
138
|
+
> do componente (`PageHeader` ou linha própria). Não tente `customLeft` aqui — não
|
|
139
|
+
> existe e o TS reprova.
|
|
135
140
|
> - **toolbarActions é SÓ pra caso pequeno e simples que NÃO reage com campo** (ex.:
|
|
136
141
|
> data/período, escopo) — **label curta**, **máx ~2**. Se mexe com os campos, é grande,
|
|
137
142
|
> ou são muitos → **NÃO use o toolbar.**
|
|
@@ -12416,7 +12416,10 @@ function DataTableInternal(props, ref) {
|
|
|
12416
12416
|
}
|
|
12417
12417
|
)
|
|
12418
12418
|
) : void 0,
|
|
12419
|
-
actions: toolbarConfig.actions && toolbarConfig.actions.length > 0 ? /* @__PURE__ */
|
|
12419
|
+
actions: toolbarConfig.customLeft || toolbarConfig.actions && toolbarConfig.actions.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
12420
|
+
toolbarConfig.customLeft,
|
|
12421
|
+
toolbarConfig.actions && toolbarConfig.actions.length > 0 ? /* @__PURE__ */ jsx(ToolbarActions, { actions: toolbarConfig.actions }) : null
|
|
12422
|
+
] }) : void 0,
|
|
12420
12423
|
fullscreen: enableFullscreen ? /* @__PURE__ */ jsx(
|
|
12421
12424
|
ToolbarToolButton,
|
|
12422
12425
|
{
|
|
@@ -13167,4 +13170,4 @@ export {
|
|
|
13167
13170
|
DEFAULT_FILTER_OPERATORS as y,
|
|
13168
13171
|
DataTableActionsCell as z
|
|
13169
13172
|
};
|
|
13170
|
-
//# sourceMappingURL=panel-
|
|
13173
|
+
//# sourceMappingURL=panel-CN0ChoHM.mjs.map
|