@praxisui/table 9.0.5-rc.9 → 9.0.6

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.
@@ -1,6 +1,6 @@
1
1
  import { Observable, firstValueFrom } from 'rxjs';
2
2
  import { withAuthoringScopePolicy } from '@praxisui/ai';
3
- import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-nfsMWS1W.mjs';
3
+ import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-oHt2Kzwq.mjs';
4
4
 
5
5
  class TableAgenticAuthoringTurnFlow {
6
6
  adapter;
@@ -1,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, sanitizePraxisAssistantText, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { PRAXIS_GLOBAL_ACTION_CATALOG, deepMerge } from '@praxisui/core';
4
- import { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-nfsMWS1W.mjs';
4
+ import { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-oHt2Kzwq.mjs';
5
5
 
6
6
  const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
7
  mode: 'expression',
@@ -1 +1 @@
1
- export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-nfsMWS1W.mjs';
1
+ export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-oHt2Kzwq.mjs';
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "9.0.5-rc.9",
3
+ "version": "9.0.6",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/platform-browser": "^21.0.0",
9
- "@praxisui/ai": "^9.0.5-rc.9",
10
- "@praxisui/core": "^9.0.5-rc.9",
11
- "@praxisui/dynamic-fields": "^9.0.5-rc.9",
12
- "@praxisui/dynamic-form": "^9.0.5-rc.9",
13
- "@praxisui/metadata-editor": "^9.0.5-rc.9",
14
- "@praxisui/rich-content": "^9.0.5-rc.9",
15
- "@praxisui/settings-panel": "^9.0.5-rc.9",
16
- "@praxisui/table-rule-builder": "^9.0.5-rc.9",
9
+ "@praxisui/ai": "^9.0.6",
10
+ "@praxisui/core": "^9.0.6",
11
+ "@praxisui/dynamic-fields": "^9.0.6",
12
+ "@praxisui/dynamic-form": "^9.0.6",
13
+ "@praxisui/metadata-editor": "^9.0.6",
14
+ "@praxisui/rich-content": "^9.0.6",
15
+ "@praxisui/settings-panel": "^9.0.6",
16
+ "@praxisui/table-rule-builder": "^9.0.6",
17
17
  "@angular/cdk": "^21.0.0",
18
18
  "@angular/forms": "^21.0.0",
19
19
  "@angular/material": "^21.0.0",
20
20
  "@angular/router": "^21.0.0",
21
- "@praxisui/dialog": "^9.0.5-rc.9",
21
+ "@praxisui/dialog": "^9.0.6",
22
22
  "rxjs": "~7.8.0"
23
23
  },
24
24
  "dependencies": {
@@ -111,9 +111,12 @@ Este documento e a referencia canonica da API JSON de praxis-table.
111
111
 
112
112
  ## Quick filters and density
113
113
 
114
- - `config.toolbar.filters.quickFilters[]` materializa filtros rápidos alternáveis na toolbar. Cada item declara `id`, `label`, `filter` e `icon` opcional.
114
+ - `config.toolbar.filters.quickFilters[]` materializa um pequeno seletor de escopo na toolbar. Cada item declara `id`, `label`, `filter` e `icon` opcional. O runtime mantém no máximo um item ativo; acionar novamente o item atual restaura os critérios anteriores.
115
115
  - O filtro rápido é combinado com os critérios já ativos. Ao desativá-lo, a tabela restaura os critérios anteriores sem perder o contexto do operador.
116
116
  - Aplicar ou limpar o formulário de filtros avançados encerra o estado visual do filtro rápido para evitar dois controles aparentarem governar critérios divergentes.
117
+ - A composição adaptativa é responsabilidade do runtime: identidade, escopo, consulta e comandos se reorganizam pela largura do container da tabela. Dentro da consulta, campos editáveis formam a região de critérios; tags/atalhos salvos e comandos de gerenciamento formam um único cluster auxiliar. Em largura intermediária, os critérios e esse cluster completo compartilham o mesmo fluxo de quebra para aproveitar a faixa final sem criar uma linha órfã; em largura estreita, o cluster migra inteiro para a faixa seguinte. O host não precisa declarar coordenadas, breakpoints ou ordem visual adicional.
118
+ - `advancedFilters.settings.alwaysVisibleFields` deve conter apenas critérios frequentes. Atalhos persistidos e comandos de gerenciamento não devem ser simulados como campos sempre visíveis nem reposicionados por seletores CSS internos do host.
119
+ - Cada item de `tags[]` deve declarar `id`, `label` e `patch`; as chaves e os valores de `patch` devem corresponder ao `FilterDTO` canônico. Tags fornecidas pelo host são acionáveis, mas não podem ser renomeadas ou excluídas como atalhos persistidos pelo usuário. A aplicação imediata é emitida por `submit`.
117
120
  - `config.toolbar.densityToggle.enabled` materializa o seletor de densidade. `values` pode restringir as opções entre `compact`, `comfortable` e `spacious`.
118
121
  - A alteração de densidade atualiza `config.appearance.density` e emite `configChange`, permitindo ao host decidir se a preferência será apenas transitória ou persistida.
119
122
 
@@ -308,6 +311,7 @@ type TableAuthoringDocument = {
308
311
  - `surfaces`, `actions` e `canonicalOperations` são lidos do `ResourceCapabilitySnapshot` retornado pelo backend.
309
312
  - O primeiro corte monta um detail schema leve de resumo contextual; ele não embute execução inline de `surface.open` nem de workflow.
310
313
  - O runtime faz prefetch por linha somente quando existe ao menos uma ação contextual configurada para projeção inline (`display="icons"|"buttons"`). Ações restritas ao menu preservam discovery sob demanda ao abrir o overflow; expansion `hypermedia` sem row actions continua resolvendo o contexto ao expandir a linha.
314
+ - `actions.collection.discovery.enabled=false` desliga somente a materialização automática de ações da coleção, incluindo create e workflows descobertos por HATEOAS/capabilities. Dados, schema, paginação, capabilities de leitura, ações explícitas da toolbar e ações por linha permanecem disponíveis. O default permanece habilitado quando o campo é omitido.
311
315
  - `actions.row.discovery.enabled=false` desliga somente o enriquecimento automático de ações por linha. Use este modo para telas corporativas curadas, nas quais o host quer expor apenas `actions.row.actions[]` e evitar overflow/actions descobertas por HATEOAS/capabilities. O default permanece habilitado quando o campo é omitido.
312
316
 
313
317
  ## Overview
@@ -342,6 +346,7 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
342
346
  | `appearance.responsive` | object | No | component-defaults | numeric-breakpoint | Breakpoint móvel inválido é normalizado para `768`. |
343
347
  | `toolbar.actions[]` | array | No | `[]` | action-contract | Ações de toolbar com roteamento para `toolbarAction`/`bulkAction`. |
344
348
  | `toolbar.appearance` | object | No | Material 3 fallback | token-contract | Governa preset, variante, densidade, forma, divisores e tokens públicos da toolbar sem alterar a semântica das ações. |
349
+ | `actions.collection.discovery.enabled` | boolean | No | `true` | collection-action-discovery | Controla se ações de coleção podem ser materializadas por HATEOAS/capabilities. Configure `false` em lookups/seletores para manter consulta remota e somente ações explicitamente declaradas. |
345
350
  | `actions.row.actions[].recordSurface` | object | No | none | `ResourceSurfaceCatalogItem` | Preserva a identidade canônica da superfície relacionada aberta por uma ação de linha, mantendo `actions.row.actions[].id` como identidade do botão. |
346
351
  | `actions.row.discovery.enabled` | boolean | No | `true` | row-action-discovery | Controla se row actions podem ser enriquecidas por HATEOAS/capabilities. Configure `false` para manter somente ações declaradas em `actions.row.actions[]`. |
347
352
  | `columns[].renderer` | object | No | field-type-driven | renderer-contract | Renderers condicionais, payload expr e ações interativas. |
@@ -375,6 +380,8 @@ Renderer defaults:
375
380
  - Use `toolbar.appearance` para personalizar o chrome da toolbar por contrato governado. O runtime materializa `variant`, `density`, `shape`, `divider` e `tokens` como classes e CSS custom properties públicas; o host pode trocar aparência sem redefinir intenção, capability ou roteamento.
376
381
  - Use `toolbar.appearance.preset = "table-integrated"` para compor toolbar e tabela como um unico bloco visual com tokens públicos estáveis, evitando CSS do host sobre classes internas como `praxis-toolbar-stack-top` ou `table-stack-top`.
377
382
  - Tokens públicos suportados em `toolbar.appearance.tokens`: `bg`, `fg`, `borderColor`, `borderWidth`, `radius`, `shadow`, `paddingBlock`, `paddingInline`, `minHeight`, `gap`, `actionsGap`, `dividerColor`, `actionSize`, `actionRadius`, `actionBg`, `actionFg`, `actionHoverBg`, `actionActiveBg`, `actionFocusRing`, `aiAccentColor`, `statusFg`, `titleFg`, `subtitleFg`, `iconFg`, `titleFontSize`, `subtitleFontSize`, `titleFontWeight`, `identityGap`, `identityFilterGap`, `identityMinHeight`, `identityMarginBottom`, `identityIconSize` e `identityIconRadius`.
383
+ - Ações da toolbar e do estado vazio compartilham a geometria pública `--praxis-action-control-*`. `actionSize` e `actionRadius` continuam sendo overrides por tabela e têm precedência sobre os defaults compartilhados.
384
+ - Em coleções relacionadas graváveis, CREATE permanece estável na toolbar nos estados vazio e preenchido. O estado vazio gerado é informativo e não repete CREATE; `behavior.emptyState.actions` fica reservado a uma intenção contextual explícita e distinta, preservada exatamente quando declarada pelo host.
378
385
  - Para localizar paths específicos de toolbar, complemente a leitura com o `Appendix: JSON path index`.
379
386
 
380
387
  ### Messages contract
@@ -447,13 +454,13 @@ degraded filter.
447
454
  | `rowDoubleClick` | `{ action, row }` | Duplo clique quando habilitado. | Partial | Preservado da documentação anterior. |
448
455
  | `rowExpansionChange` | `RowExpansionChangeEvent` | Evento canônico para expand/collapse de detail row no runtime P0A (caminho não virtualizado), com payload discriminado por política de exposição (`allowRawExposure` + `eventExposureDefault`). | Partial | Preservado da documentação anterior. |
449
456
  | `rowAction` | `{ action, row, payload?, actionConfig?, localMode?, preventedHttp? }` | Acao de linha (coluna `_actions`, renderer interativo ou CRUD capability sintetizada). `payload` e emitido quando houver `payloadExpr` em renderer interativo. Quando `actionConfig.globalAction` aponta para `navigation.openRoute`, o runtime resolve templates como `${row.id}` antes de executar a navegação interna. Para actions como `surface.open`, `payload.*` continua sendo o envelope canônico do evento entregue ao destino. Para `view/edit/delete/duplicate-draft` vindos de capabilities, `actionConfig` carrega a operacao canonica e o host composto deve encaminhar ao contexto CRUD apropriado. | Partial | Preservado da documentação anterior. |
450
- | `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. A acao `create` de colecao pode ser materializada automaticamente a partir de `_links.create`, rel `capabilities`, surfaces e `CrudOperationResolutionService`; quando `surface.open` esta disponivel, o runtime abre a surface de criacao antes de emitir fallback. | Partial | Preservado da documentação anterior com materializacao CRUD de colecao. |
457
+ | `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. A acao `create` de colecao pode ser materializada automaticamente a partir de `_links.create`, rel `capabilities`, surfaces e `CrudOperationResolutionService`. Dentro de CRUD, a tabela delega ao owner antes de abrir. Standalone, uma surface selecionada usa uma unica tentativa de `surface.open`; falha de execução é fail-closed e não emite `toolbarAction` como segundo caminho. O fallback local permanece quando nenhuma surface executável foi selecionada. | Partial | Preservado da documentação anterior com materializacao CRUD de colecao e ownership explícito. |
451
458
  | `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
452
459
  | `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
453
460
  | `bulkAction` | `{ action, rows, actionConfig? }` | Acao em lote; `actionConfig` carrega a configuracao da acao quando disponivel. | Partial | Preservado da documentação anterior. |
454
461
  | `columnReorder` | `ColumnReorderEvent` | Reordenação de coluna concluída (drag/keyboard). | Partial | Inclui metadados de origem, destino e operação. |
455
462
  | `columnReorderAttempt` | `ColumnReorderAttemptEvent` | Tentativa bloqueada por política de drop-zone. | Partial | Evento diagnóstico para observabilidade e auditoria. |
456
- | `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard', tableId, field, header, previousWidth, currentWidth, persisted }` | Redimensionamento de coluna concluido pelo separador do header. | Partial | Usa `behavior.resizing.enabled`, respeita `columns[].resizable !== false` e persiste `columns[].width` em px quando `persistWidths !== false`. Em modo `px`, altera a largura da coluna e a largura interna do conteudo rolavel; o viewport/card externo permanece estavel. |
463
+ | `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard' \| 'auto-fit', tableId, field, header, previousWidth, currentWidth, persisted }` | Redimensionamento de coluna concluido pelo separador do header. | Partial | Usa `behavior.resizing.enabled`, respeita `columns[].resizable !== false` e persiste `columns[].width` em px quando `persistWidths !== false`. `autoFit !== false` habilita duplo clique para medir cabeçalho e células renderizadas. A largura interna nunca fica menor que o viewport; crescimento excedente usa scroll horizontal. |
457
464
  | `beforeDelete` | `row` | Antes de delete de linha. | Partial | Preservado da documentação anterior. |
458
465
  | `afterDelete` | `row` | Depois de delete com sucesso. | Partial | Preservado da documentação anterior. |
459
466
  | `deleteError` | `{ row, error }` | Erro no delete de linha. | Partial | Preservado da documentação anterior. |
@@ -1002,7 +1009,7 @@ row selection through table affordances.
1002
1009
  | `bulkAction` | `{ action, rows, actionConfig? }` | Acao em lote; `actionConfig` carrega a configuracao da acao quando disponivel. | Partial | Preservado da documentação anterior. |
1003
1010
  | `columnReorder` | `{ action, trigger: 'drag' \ | 'keyboard' \ | Partial | Preservado da documentação anterior. |
1004
1011
  | `columnReorderAttempt` | `{ action: 'columnReorderAttempt', trigger: 'drag' \ | 'keyboard', operationId, tableId, sourceField, targetField, previousIndex, currentIndex, sourceZone, targetZone, result: 'blocked', reasonCode: 'drop-zone-policy-blocked', configuredColumnDropZones[] }` | Partial | Preservado da documentação anterior. |
1005
- | `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard', tableId, field, header, previousWidth, currentWidth, persisted }` | Separador de resize no header. | Partial | Mutacao visual/runtime de largura; nao redefine schema nem dados. Em modo `px`, nao redistribui colunas vizinhas; o conteudo interno pode ficar maior que o viewport e usar scroll horizontal. |
1012
+ | `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard' \| 'auto-fit', tableId, field, header, previousWidth, currentWidth, persisted }` | Separador de resize no header. | Partial | Mutacao visual/runtime de largura; nao redefine schema nem dados. A tabela ocupa ao menos o viewport, pode crescer com scroll horizontal e, com `autoFit !== false`, ajusta a coluna ao conteúdo renderizado por duplo clique. |
1006
1013
  | `beforeDelete` | `row` | Antes de delete de linha. | Partial | Preservado da documentação anterior. |
1007
1014
  | `afterDelete` | `row` | Depois de delete com sucesso. | Partial | Preservado da documentação anterior. |
1008
1015
  | `deleteError` | `{ row, error }` | Erro no delete de linha. | Partial | Preservado da documentação anterior. |
@@ -1283,7 +1290,7 @@ Em `scroll-auto`, o viewport e uma regiao focalizavel por teclado para que o scr
1283
1290
  | `toolbar.appearance.tokens.identityIconSize` | `string` | No | `28px` | Active | Tamanho do container do icone da identidade. |
1284
1291
  | `toolbar.appearance.tokens.identityIconRadius` | `string` | No | `8px` | Active | Raio do container do icone da identidade. |
1285
1292
  | `toolbar.columnsVisibility` | `object` | No | habilitado se a toolbar estiver ativa | Active | Controle rápido de visibilidade de colunas no toolbar (dropdown). |
1286
- | `toolbar.filters.quickFilters[]` | `ToolbarFilterConfig[]` | No | `[]` | Active | Filtros rápidos governados, combinados com os critérios ativos e alternáveis pela toolbar. |
1293
+ | `toolbar.filters.quickFilters[]` | `ToolbarFilterConfig[]` | No | `[]` | Active | Seletor de escopo governado: no máximo um filtro rápido é combinado com os critérios ativos; acionar o item atual restaura os critérios anteriores. |
1287
1294
  | `toolbar.densityToggle` | `object` | No | desabilitado | Active | Seletor governado de densidade com opções `compact`, `comfortable` e `spacious`. |
1288
1295
  | `messages` | `TableMessagesConfig` | No | defaults internos | Partial | Overrides de i18n e mensagens operacionais. |
1289
1296
  | `data` | `TableDataConfig` | No | modo local/remoto autodetectado | Partial | Integra origem local ou remota conforme `resourcePath`/inputs. |
@@ -188,6 +188,8 @@ declare class PraxisTableToolbar implements OnDestroy {
188
188
  getActionAriaLabel(action: any): string;
189
189
  isActionDisabled(action: any): boolean;
190
190
  getActionTooltip(action: any): string | null;
191
+ getActionDisabledReason(action: any): string | null;
192
+ getActionAriaDisabled(action: any): 'true' | null;
191
193
  onDocumentKeydown(event: KeyboardEvent): void;
192
194
  getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
193
195
  shouldRenderToolbarBulkActions(): boolean;
@@ -947,6 +949,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
947
949
  private maybeShowOutdatedSnack;
948
950
  ngOnDestroy(): void;
949
951
  isUserTag(tag: FilterTag): boolean;
952
+ toggleTag(tag: FilterTag): void;
950
953
  applyTag(tag: FilterTag): void;
951
954
  private bindAdvancedDebounce;
952
955
  onSubmit(): void;
@@ -1481,6 +1484,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1481
1484
  getNoDataStateAlignment(): 'start' | 'center';
1482
1485
  getNoDataStateDensity(): 'compact' | 'comfortable';
1483
1486
  getNoDataStateActionSize(): string;
1487
+ getNoDataStateActionRadius(): string;
1484
1488
  getNoDataStateIconContainer(): 'none' | 'circle' | 'soft';
1485
1489
  getNoDataStatePrimaryAction(): any | null;
1486
1490
  getNoDataStateSecondaryActions(): any[];
@@ -1560,6 +1564,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1560
1564
  private fallbackLogger?;
1561
1565
  private fallbackLoggerEnvironment;
1562
1566
  private lastColumnDropHandledAt;
1567
+ private surfaceOpenAttemptSequence;
1563
1568
  private activeColumnDragField;
1564
1569
  private readonly _effectiveCellRenderCache;
1565
1570
  private readonly cellAnimationPreviousValuesByRowId;
@@ -1621,6 +1626,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1621
1626
  private resolveCollectionCapabilitiesHref;
1622
1627
  private materializeCollectionCreateToolbarAction;
1623
1628
  private materializeCollectionWorkflowToolbarActions;
1629
+ private isCollectionActionDiscoveryEnabled;
1624
1630
  private ensureToolbarConfigForRuntime;
1625
1631
  private buildCollectionCreateToolbarAction;
1626
1632
  private resolveCollectionCreateRuntime;
@@ -2065,10 +2071,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2065
2071
  isColumnResizeActive(column?: ColumnDefinition | null): boolean;
2066
2072
  getColumnResizeHandleAriaLabel(column: ColumnDefinition): string;
2067
2073
  getColumnResizeHandleTooltip(column: ColumnDefinition): string;
2074
+ isColumnAutoFitEnabled(): boolean;
2068
2075
  getColumnResizeMinWidthAriaValue(column: ColumnDefinition): number;
2069
2076
  getColumnResizeMaxWidthAriaValue(column: ColumnDefinition): number | null;
2070
2077
  getColumnResizeCurrentWidthAriaValue(column: ColumnDefinition): number | null;
2071
2078
  onColumnResizeHandleClick(event: MouseEvent): void;
2079
+ onColumnResizeHandleDoubleClick(event: MouseEvent, column: ColumnDefinition): void;
2072
2080
  onColumnResizeHandleKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
2073
2081
  onColumnResizePointerDown(event: PointerEvent, column: ColumnDefinition): void;
2074
2082
  private onColumnResizePointerMove;
@@ -2084,9 +2092,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2084
2092
  private updateConfigColumnWidth;
2085
2093
  private updateConfigColumnWidths;
2086
2094
  private updateColumnResizeTableWidthFromDelta;
2095
+ private clampColumnResizeTableWidthPx;
2087
2096
  private captureColumnResizeLockedWidths;
2088
2097
  private resolveColumnResizeTableWidthPx;
2089
2098
  private resolveColumnWidthPx;
2099
+ private resolveColumnAutoFitWidthPx;
2100
+ private measureRenderedColumnElementWidthPx;
2090
2101
  private parseColumnResizePixelWidth;
2091
2102
  private normalizeColumnResizeWidthStyle;
2092
2103
  private clampColumnWidthPx;
@@ -2884,6 +2895,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2884
2895
  readonly ratingRendererHint: string;
2885
2896
  readonly composeRatingRendererHint: string;
2886
2897
  config: TableConfig;
2898
+ readonly: boolean;
2887
2899
  fieldMetadata: Array<{
2888
2900
  name?: string;
2889
2901
  label?: string;
@@ -3188,7 +3200,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3188
3200
  }): void;
3189
3201
  private updateFieldSchemasForStyleRules;
3190
3202
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsConfigEditorComponent, never>;
3191
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsConfigEditorComponent, "columns-config-editor", never, { "config": { "alias": "config"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; }, { "configChange": "configChange"; "columnChange": "columnChange"; }, never, never, true, never>;
3203
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsConfigEditorComponent, "columns-config-editor", never, { "config": { "alias": "config"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; }, { "configChange": "configChange"; "columnChange": "columnChange"; }, never, never, true, never>;
3192
3204
  }
3193
3205
 
3194
3206
  interface BehaviorConfigChange {