@praxisui/table 9.0.4-rc.40 → 9.0.4-rc.41

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,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-08-10T11:49:21.807Z",
3
+ "generatedAt": "2026-08-10T16:19:04.275Z",
4
4
  "packageName": "@praxisui/table",
5
- "packageVersion": "9.0.4-rc.40",
5
+ "packageVersion": "9.0.4-rc.41",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 3,
@@ -9714,6 +9714,18 @@
9714
9714
  "description": "Mantém o painel avançado disponível para filtros adicionais.",
9715
9715
  "dependsOn": "behavior.filtering.advancedFilters.enabled"
9716
9716
  },
9717
+ {
9718
+ "path": "behavior.filtering.advancedFilters.settings.tags",
9719
+ "category": "filtering",
9720
+ "valueKind": "array",
9721
+ "description": "Atalhos de filtro governados e somente leitura, com id, rótulo e patch compatível com o DTO canônico.",
9722
+ "dependsOn": "behavior.filtering.advancedFilters.enabled",
9723
+ "intentExamples": [
9724
+ "criar atalho para admissões recentes",
9725
+ "adicionar filtro rápido de faixa executiva"
9726
+ ],
9727
+ "safetyNotes": "O patch deve usar apenas campos aceitos pelo schema request do filtro; atalhos pessoais continuam persistidos separadamente."
9728
+ },
9717
9729
  {
9718
9730
  "path": "behavior.filtering.advancedFilters.settings.alwaysVisibleFields",
9719
9731
  "category": "filtering",
@@ -25099,6 +25111,30 @@
25099
25111
  "allowSaveTags": {
25100
25112
  "type": "boolean"
25101
25113
  },
25114
+ "tags": {
25115
+ "type": "array",
25116
+ "items": {
25117
+ "type": "object",
25118
+ "required": [
25119
+ "id",
25120
+ "label",
25121
+ "patch"
25122
+ ],
25123
+ "properties": {
25124
+ "id": {
25125
+ "type": "string",
25126
+ "minLength": 1
25127
+ },
25128
+ "label": {
25129
+ "type": "string",
25130
+ "minLength": 1
25131
+ },
25132
+ "patch": {
25133
+ "type": "object"
25134
+ }
25135
+ }
25136
+ }
25137
+ },
25102
25138
  "alwaysVisibleFields": {
25103
25139
  "type": "array",
25104
25140
  "items": {
@@ -26422,6 +26458,30 @@
26422
26458
  "allowSaveTags": {
26423
26459
  "type": "boolean"
26424
26460
  },
26461
+ "tags": {
26462
+ "type": "array",
26463
+ "items": {
26464
+ "type": "object",
26465
+ "required": [
26466
+ "id",
26467
+ "label",
26468
+ "patch"
26469
+ ],
26470
+ "properties": {
26471
+ "id": {
26472
+ "type": "string",
26473
+ "minLength": 1
26474
+ },
26475
+ "label": {
26476
+ "type": "string",
26477
+ "minLength": 1
26478
+ },
26479
+ "patch": {
26480
+ "type": "object"
26481
+ }
26482
+ }
26483
+ }
26484
+ },
26425
26485
  "alwaysVisibleFields": {
26426
26486
  "type": "array",
26427
26487
  "items": {
@@ -29227,9 +29287,9 @@
29227
29287
  {
29228
29288
  "chunkIndex": 7,
29229
29289
  "chunkKind": "capabilities",
29230
- "content": "Schema Capability:\n - Path: behavior.pagination.advanced.maxPageSize\n Category: pagination\n Kind: number\n Description: Limite máximo permitido para pageSize customizado.\n\nSchema Capability:\n - Path: behavior.sorting\n Category: sorting\n Kind: object\n Description: Configuração global de ordenação da tabela.\n\nSchema Capability:\n - Path: behavior.sorting.enabled\n Category: sorting\n Kind: boolean\n Description: Habilita ordenação global na tabela.\n\nSchema Capability:\n - Path: behavior.sorting.strategy\n Category: sorting\n Kind: enum\n Description: Define se a ordenação ocorre no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.sorting.defaultSort\n Category: sorting\n Kind: object\n Description: Ordenação inicial. Aceita objeto único ou array para multisort.\n\nSchema Capability:\n - Path: behavior.sorting.allowClearSort\n Category: sorting\n Kind: boolean\n Description: Permite limpar a ordenação com terceiro clique.\n\nSchema Capability:\n - Path: behavior.filtering\n Category: filtering\n Kind: object\n Description: Configuração global de filtragem da tabela.\n\nSchema Capability:\n - Path: behavior.filtering.enabled\n Category: filtering\n Kind: boolean\n Description: Habilita sistema de filtragem.\n\nSchema Capability:\n - Path: behavior.filtering.strategy\n Category: filtering\n Kind: enum\n Description: Filtragem no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.enabled\n Category: filtering\n Kind: boolean\n Description: Exibe filtros por coluna.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.defaultType\n Category: filtering\n Kind: enum\n Description: Tipo padrão do filtro individual.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.position\n Category: filtering\n Kind: enum\n Description: Posiciona os filtros (header/subheader/sidebar).\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters\n Category: filtering\n Kind: object\n Description: Configuração canônica dos filtros avançados acoplados à tabela.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.enabled\n Category: filtering\n Kind: boolean\n Description: Habilita filtros avançados/painel.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.mode\n Category: filtering\n Kind: enum\n Description: Modo único do componente de filtro (filter).\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.showAdvanced\n Category: filtering\n Kind: boolean\n Description: Mantém o painel avançado disponível para filtros adicionais.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.alwaysVisibleFields\n Category: filtering\n Kind: array\n Description: Campos do DTO de filtro que ficam fixos inline na barra.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.selectedFieldIds\n Category: filtering\n Kind: array\n Description: Campos do DTO de filtro disponíveis no painel avançado.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.alwaysVisibleFieldMetadataOverrides\n Category: filtering\n Kind: object\n Description: Overrides governados de metadata para campos fixos inline.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.changeDebounceMs\n Category: filtering\n Kind: number\n Description: Debounce local dos controles do filtro avançado.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineSearchableSelectVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline pesquisável para selects na barra.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineRangeVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para ranges numéricos.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineDateVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para datas simples.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineDateRangeVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para intervalos de datas.\n\nSchema Capability:\n - Path: behavior.filtering.debounceTime\n Category: filtering\n Kind: number\n Description: Debounce (ms) para filtros reativos.\n\nSchema Capability:\n - Path: behavior.selection\n Category: selection\n Kind: object\n Description: Configuração global de seleção de linhas.\n\nSchema Capability:\n - Path: behavior.selection.enabled\n Category: selection\n Kind: boolean\n Description: Habilita seleção de linhas.\n\nSchema Capability:\n - Path: behavior.selection.type\n Category: selection\n Kind: enum\n Description: Seleção única ou múltipla.\n\nSchema Capability:\n - Path: behavior.selection.mode\n Category: selection\n Kind: enum\n Description: Modo de interação (checkbox/row/both).\n\nSchema Capability:\n - Path: behavior.selection.allowSelectAll\n Category: selection\n Kind: boolean\n Description: Permite selecionar todas as linhas.\n\nSchema Capability:\n - Path: behavior.selection.persistSelection\n Category: selection\n Kind: boolean\n Description: Mantém seleção entre páginas.\n\nSchema Capability:\n - Path: behavior.selection.maxSelections\n Category: selection\n Kind: number\n Description: Limite máximo de itens selecionáveis.\n\nSchema Capability:\n - Path: behavior.interaction.rowClick.action\n Category: interaction\n Kind: enum\n Description: Ação padrão ao clicar na linha.\n\nSchema Capability:\n - Path: behavior.interaction.rowClick.enabled\n Category: interaction\n Kind: boolean\n Description: Ativa ou desativa ação de click na linha.\n\nSchema Capability:\n - Path: behavior.interaction.keyboard.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita navegação por teclado.\n\nSchema Capability:\n - Path: behavior.interaction.hover.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita comportamento de hover (highlight/ações).\n\nSchema Capability:\n - Path: behavior.interaction.hover.highlightRow\n Category: interaction\n Kind: boolean\n Description: Destaca linha no hover.\n\nSchema Capability:\n - Path: behavior.loading.type\n Category: behavior\n Kind: enum\n Description: Tipo de indicador de loading (spinner, skeleton etc.).\n\nSchema Capability:\n - Path: behavior.loading.position\n Category: behavior\n Kind: enum\n Description: Onde exibir o loading (overlay/inline/replace).\n\nSchema Capability:\n - Path: behavior.loading.text\n Category: behavior\n Kind: string\n Description: Mensagem exibida durante carregamento.\n\nSchema Capability:\n - Path: behavior.loading.delay\n Category: behavior\n Kind: number\n Description: Delay (ms) antes de mostrar loading.\n\nSchema Capability:\n - Path: behavior.emptyState.message\n Category: behavior\n Kind: string\n Description: Mensagem de estado vazio padrão.\n\nSchema Capability:\n - Path: behavior.resizing.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita redimensionamento de colunas.\n\nSchema Capability:\n - Path: behavior.resizing.minColumnWidth\n Category: behavior\n Kind: number\n Description: Largura mínima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.maxColumnWidth\n Category: behavior\n Kind: number\n Description: Largura máxima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.autoFit\n Category: behavior\n Kind: boolean\n Description: Reserva a intenção de autoajuste de colunas quando suportada pelo host/runtime.",
29290
+ "content": "Schema Capability:\n - Path: behavior.pagination.advanced.maxPageSize\n Category: pagination\n Kind: number\n Description: Limite máximo permitido para pageSize customizado.\n\nSchema Capability:\n - Path: behavior.sorting\n Category: sorting\n Kind: object\n Description: Configuração global de ordenação da tabela.\n\nSchema Capability:\n - Path: behavior.sorting.enabled\n Category: sorting\n Kind: boolean\n Description: Habilita ordenação global na tabela.\n\nSchema Capability:\n - Path: behavior.sorting.strategy\n Category: sorting\n Kind: enum\n Description: Define se a ordenação ocorre no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.sorting.defaultSort\n Category: sorting\n Kind: object\n Description: Ordenação inicial. Aceita objeto único ou array para multisort.\n\nSchema Capability:\n - Path: behavior.sorting.allowClearSort\n Category: sorting\n Kind: boolean\n Description: Permite limpar a ordenação com terceiro clique.\n\nSchema Capability:\n - Path: behavior.filtering\n Category: filtering\n Kind: object\n Description: Configuração global de filtragem da tabela.\n\nSchema Capability:\n - Path: behavior.filtering.enabled\n Category: filtering\n Kind: boolean\n Description: Habilita sistema de filtragem.\n\nSchema Capability:\n - Path: behavior.filtering.strategy\n Category: filtering\n Kind: enum\n Description: Filtragem no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.enabled\n Category: filtering\n Kind: boolean\n Description: Exibe filtros por coluna.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.defaultType\n Category: filtering\n Kind: enum\n Description: Tipo padrão do filtro individual.\n\nSchema Capability:\n - Path: behavior.filtering.columnFilters.position\n Category: filtering\n Kind: enum\n Description: Posiciona os filtros (header/subheader/sidebar).\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters\n Category: filtering\n Kind: object\n Description: Configuração canônica dos filtros avançados acoplados à tabela.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.enabled\n Category: filtering\n Kind: boolean\n Description: Habilita filtros avançados/painel.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.mode\n Category: filtering\n Kind: enum\n Description: Modo único do componente de filtro (filter).\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.showAdvanced\n Category: filtering\n Kind: boolean\n Description: Mantém o painel avançado disponível para filtros adicionais.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.tags\n Category: filtering\n Kind: array\n Description: Atalhos de filtro governados e somente leitura, com id, rótulo e patch compatível com o DTO canônico.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.alwaysVisibleFields\n Category: filtering\n Kind: array\n Description: Campos do DTO de filtro que ficam fixos inline na barra.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.selectedFieldIds\n Category: filtering\n Kind: array\n Description: Campos do DTO de filtro disponíveis no painel avançado.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.alwaysVisibleFieldMetadataOverrides\n Category: filtering\n Kind: object\n Description: Overrides governados de metadata para campos fixos inline.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.changeDebounceMs\n Category: filtering\n Kind: number\n Description: Debounce local dos controles do filtro avançado.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineSearchableSelectVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline pesquisável para selects na barra.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineRangeVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para ranges numéricos.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineDateVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para datas simples.\n\nSchema Capability:\n - Path: behavior.filtering.advancedFilters.settings.useInlineDateRangeVariant\n Category: filtering\n Kind: boolean\n Description: Usa variante inline para intervalos de datas.\n\nSchema Capability:\n - Path: behavior.filtering.debounceTime\n Category: filtering\n Kind: number\n Description: Debounce (ms) para filtros reativos.\n\nSchema Capability:\n - Path: behavior.selection\n Category: selection\n Kind: object\n Description: Configuração global de seleção de linhas.\n\nSchema Capability:\n - Path: behavior.selection.enabled\n Category: selection\n Kind: boolean\n Description: Habilita seleção de linhas.\n\nSchema Capability:\n - Path: behavior.selection.type\n Category: selection\n Kind: enum\n Description: Seleção única ou múltipla.\n\nSchema Capability:\n - Path: behavior.selection.mode\n Category: selection\n Kind: enum\n Description: Modo de interação (checkbox/row/both).\n\nSchema Capability:\n - Path: behavior.selection.allowSelectAll\n Category: selection\n Kind: boolean\n Description: Permite selecionar todas as linhas.\n\nSchema Capability:\n - Path: behavior.selection.persistSelection\n Category: selection\n Kind: boolean\n Description: Mantém seleção entre páginas.\n\nSchema Capability:\n - Path: behavior.selection.maxSelections\n Category: selection\n Kind: number\n Description: Limite máximo de itens selecionáveis.\n\nSchema Capability:\n - Path: behavior.interaction.rowClick.action\n Category: interaction\n Kind: enum\n Description: Ação padrão ao clicar na linha.\n\nSchema Capability:\n - Path: behavior.interaction.rowClick.enabled\n Category: interaction\n Kind: boolean\n Description: Ativa ou desativa ação de click na linha.\n\nSchema Capability:\n - Path: behavior.interaction.keyboard.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita navegação por teclado.\n\nSchema Capability:\n - Path: behavior.interaction.hover.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita comportamento de hover (highlight/ações).\n\nSchema Capability:\n - Path: behavior.interaction.hover.highlightRow\n Category: interaction\n Kind: boolean\n Description: Destaca linha no hover.\n\nSchema Capability:\n - Path: behavior.loading.type\n Category: behavior\n Kind: enum\n Description: Tipo de indicador de loading (spinner, skeleton etc.).\n\nSchema Capability:\n - Path: behavior.loading.position\n Category: behavior\n Kind: enum\n Description: Onde exibir o loading (overlay/inline/replace).\n\nSchema Capability:\n - Path: behavior.loading.text\n Category: behavior\n Kind: string\n Description: Mensagem exibida durante carregamento.\n\nSchema Capability:\n - Path: behavior.loading.delay\n Category: behavior\n Kind: number\n Description: Delay (ms) antes de mostrar loading.\n\nSchema Capability:\n - Path: behavior.emptyState.message\n Category: behavior\n Kind: string\n Description: Mensagem de estado vazio padrão.\n\nSchema Capability:\n - Path: behavior.resizing.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita redimensionamento de colunas.\n\nSchema Capability:\n - Path: behavior.resizing.minColumnWidth\n Category: behavior\n Kind: number\n Description: Largura mínima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.maxColumnWidth\n Category: behavior\n Kind: number\n Description: Largura máxima das colunas (px).",
29231
29291
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29232
- "contentHash": "6d69f55090a9f39ec864aaeafb447461b8d250bdaff2af76b45d2bd146c41fb9",
29292
+ "contentHash": "68658b2fd10d681a340def1d84eaa5c5be5f631e77cc804ffde33195bc5a4ad6",
29233
29293
  "sourceKind": "component_definition",
29234
29294
  "sourceId": "praxis-table",
29235
29295
  "corpusVersion": "1.0.0"
@@ -29237,9 +29297,9 @@
29237
29297
  {
29238
29298
  "chunkIndex": 8,
29239
29299
  "chunkKind": "capabilities",
29240
- "content": "Schema Capability:\n - Path: behavior.resizing.persistWidths\n Category: behavior\n Kind: boolean\n Description: Persiste larguras ajustadas pelo usuário entre sessões.\n\nSchema Capability:\n - Path: behavior.dragging.columns\n Category: behavior\n Kind: boolean\n Description: Permite reordenar colunas por drag & drop.\n\nSchema Capability:\n - Path: behavior.grouping.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita agrupamento de linhas.\n\nSchema Capability:\n - Path: behavior.grouping.fields\n Category: behavior\n Kind: array\n Description: Lista de campos (field) usados para agrupar.\n\nSchema Capability:\n - Path: behavior.grouping.expanded\n Category: behavior\n Kind: boolean\n Description: Se true, grupos iniciam expandidos.\n\nSchema Capability:\n - Path: behavior.editing.mode\n Category: interaction\n Kind: enum\n Description: Modo de edição inline.\n\nSchema Capability:\n - Path: behavior.virtualization.enabled\n Category: performance\n Kind: boolean\n Description: Virtualiza linhas para grandes volumes.\n\nSchema Capability:\n - Path: behavior.virtualization.itemHeight\n Category: performance\n Kind: number\n Description: Altura de cada linha (px) para virtualização.\n\nSchema Capability:\n - Path: behavior.expansion.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita detalhe expansível por linha.\n\nSchema Capability:\n - Path: behavior.expansion.contractVersion\n Category: interaction\n Kind: string\n Description: Versão local do contrato de expansão.\n\nSchema Capability:\n - Path: behavior.expansion.state.mode\n Category: interaction\n Kind: enum\n Description: Governança de estado de expansão (controlled/uncontrolled).\n\nSchema Capability:\n - Path: behavior.expansion.interaction.trigger\n Category: interaction\n Kind: enum\n Description: Define como o toggle de expansão é acionado.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.collapsed\n Category: interaction\n Kind: string\n Description: Ícone usado no estado recolhido do toggle de expansão via pipeline `[praxisIcon]` do host.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.expanded\n Category: interaction\n Kind: string\n Description: Ícone usado no estado expandido do toggle de expansão via pipeline `[praxisIcon]` do host.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.ariaLabelCollapsed\n Category: interaction\n Kind: string\n Description: Aria-label do botão de expansão quando a linha está recolhida.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.ariaLabelExpanded\n Category: interaction\n Kind: string\n Description: Aria-label do botão de expansão quando a linha está expandida.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.preset\n Category: interaction\n Kind: enum\n Description: Preset controlado de motion para abrir o detail row.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.durationMs\n Category: performance\n Kind: number\n Description: Duração do preset de motion em milissegundos.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.easing\n Category: interaction\n Kind: enum\n Description: Curva de easing do preset de motion.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.keyboard.profile\n Category: interaction\n Kind: enum\n Description: Perfil de teclado para expansão (disclosure/grid).\n\nSchema Capability:\n - Path: behavior.expansion.limits.allowMultiple\n Category: interaction\n Kind: boolean\n Description: Permite múltiplas linhas expandidas simultaneamente.\n\nSchema Capability:\n - Path: behavior.expansion.limits.maxExpandedRows\n Category: interaction\n Kind: number\n Description: Máximo de linhas expandidas simultaneamente.\n\nSchema Capability:\n - Path: behavior.expansion.limits.onOverflow\n Category: interaction\n Kind: enum\n Description: Política quando ultrapassar o limite de linhas expandidas.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.sortChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando sort muda.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.pageChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando paginação muda.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.filterChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando filtros mudam.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.dataRefresh\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas em refresh de dados.\n\nSchema Capability:\n - Path: behavior.expansion.detail.schemaContract.kind\n Category: interaction\n Kind: string\n Description: Namespace do schema de detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.schemaContract.version\n Category: interaction\n Kind: string\n Description: Versão do contrato de schema detail.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.mode\n Category: interaction\n Kind: enum\n Description: Fonte do schema de detail (inline/resource/resourcePath/hypermedia).\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.inlineSchema\n Category: interaction\n Kind: object\n Description: Schema inline completo para detail row quando source.mode=inline.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.kind\n Category: interaction\n Kind: enum\n Description: Tipo de recurso quando source.mode=resource.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.id\n Category: interaction\n Kind: string\n Description: ID do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.version\n Category: interaction\n Kind: string\n Description: Versão do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.path\n Category: interaction\n Kind: string\n Description: Endpoint para resolver schema/detail data quando source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.method\n Category: interaction\n Kind: enum\n Description: Método HTTP para resolver o detail schema/data.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.paramsMap\n Category: interaction\n Kind: object\n Description: Mapeia placeholders do resourcePath para expressões de contexto por linha (ex.: { id: \"$row.id\" }).\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourceAllowList[]\n Category: interaction\n Kind: array\n Description: Allowlist obrigatória de rotas para source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.hypermedia\n Category: interaction\n Kind: object\n Description: Configuração opcional do modo hypermedia; usa _links.capabilities como ponto único de descoberta canônica.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.strategy\n Category: interaction\n Kind: enum\n Description: Estratégia de render do schema de detail.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.registryId\n Category: interaction\n Kind: string\n Description: ID do registry de renderers para detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.hostLayout\n Category: interaction\n Kind: enum\n Description: Layout hospedeiro preferencial do detail.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.fallbackNodePolicy\n Category: interaction\n Kind: enum\n Description: Política para nós sem renderer registrado.",
29300
+ "content": "Schema Capability:\n - Path: behavior.resizing.autoFit\n Category: behavior\n Kind: boolean\n Description: Reserva a intenção de autoajuste de colunas quando suportada pelo host/runtime.\n\nSchema Capability:\n - Path: behavior.resizing.persistWidths\n Category: behavior\n Kind: boolean\n Description: Persiste larguras ajustadas pelo usuário entre sessões.\n\nSchema Capability:\n - Path: behavior.dragging.columns\n Category: behavior\n Kind: boolean\n Description: Permite reordenar colunas por drag & drop.\n\nSchema Capability:\n - Path: behavior.grouping.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita agrupamento de linhas.\n\nSchema Capability:\n - Path: behavior.grouping.fields\n Category: behavior\n Kind: array\n Description: Lista de campos (field) usados para agrupar.\n\nSchema Capability:\n - Path: behavior.grouping.expanded\n Category: behavior\n Kind: boolean\n Description: Se true, grupos iniciam expandidos.\n\nSchema Capability:\n - Path: behavior.editing.mode\n Category: interaction\n Kind: enum\n Description: Modo de edição inline.\n\nSchema Capability:\n - Path: behavior.virtualization.enabled\n Category: performance\n Kind: boolean\n Description: Virtualiza linhas para grandes volumes.\n\nSchema Capability:\n - Path: behavior.virtualization.itemHeight\n Category: performance\n Kind: number\n Description: Altura de cada linha (px) para virtualização.\n\nSchema Capability:\n - Path: behavior.expansion.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita detalhe expansível por linha.\n\nSchema Capability:\n - Path: behavior.expansion.contractVersion\n Category: interaction\n Kind: string\n Description: Versão local do contrato de expansão.\n\nSchema Capability:\n - Path: behavior.expansion.state.mode\n Category: interaction\n Kind: enum\n Description: Governança de estado de expansão (controlled/uncontrolled).\n\nSchema Capability:\n - Path: behavior.expansion.interaction.trigger\n Category: interaction\n Kind: enum\n Description: Define como o toggle de expansão é acionado.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.collapsed\n Category: interaction\n Kind: string\n Description: Ícone usado no estado recolhido do toggle de expansão via pipeline `[praxisIcon]` do host.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.expanded\n Category: interaction\n Kind: string\n Description: Ícone usado no estado expandido do toggle de expansão via pipeline `[praxisIcon]` do host.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.ariaLabelCollapsed\n Category: interaction\n Kind: string\n Description: Aria-label do botão de expansão quando a linha está recolhida.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.toggleIcon.ariaLabelExpanded\n Category: interaction\n Kind: string\n Description: Aria-label do botão de expansão quando a linha está expandida.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.preset\n Category: interaction\n Kind: enum\n Description: Preset controlado de motion para abrir o detail row.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.durationMs\n Category: performance\n Kind: number\n Description: Duração do preset de motion em milissegundos.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.motion.easing\n Category: interaction\n Kind: enum\n Description: Curva de easing do preset de motion.\n\nSchema Capability:\n - Path: behavior.expansion.interaction.keyboard.profile\n Category: interaction\n Kind: enum\n Description: Perfil de teclado para expansão (disclosure/grid).\n\nSchema Capability:\n - Path: behavior.expansion.limits.allowMultiple\n Category: interaction\n Kind: boolean\n Description: Permite múltiplas linhas expandidas simultaneamente.\n\nSchema Capability:\n - Path: behavior.expansion.limits.maxExpandedRows\n Category: interaction\n Kind: number\n Description: Máximo de linhas expandidas simultaneamente.\n\nSchema Capability:\n - Path: behavior.expansion.limits.onOverflow\n Category: interaction\n Kind: enum\n Description: Política quando ultrapassar o limite de linhas expandidas.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.sortChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando sort muda.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.pageChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando paginação muda.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.filterChange\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas quando filtros mudam.\n\nSchema Capability:\n - Path: behavior.expansion.collapseOn.dataRefresh\n Category: interaction\n Kind: boolean\n Description: Colapsa linhas expandidas em refresh de dados.\n\nSchema Capability:\n - Path: behavior.expansion.detail.schemaContract.kind\n Category: interaction\n Kind: string\n Description: Namespace do schema de detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.schemaContract.version\n Category: interaction\n Kind: string\n Description: Versão do contrato de schema detail.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.mode\n Category: interaction\n Kind: enum\n Description: Fonte do schema de detail (inline/resource/resourcePath/hypermedia).\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.inlineSchema\n Category: interaction\n Kind: object\n Description: Schema inline completo para detail row quando source.mode=inline.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.kind\n Category: interaction\n Kind: enum\n Description: Tipo de recurso quando source.mode=resource.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.id\n Category: interaction\n Kind: string\n Description: ID do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resource.version\n Category: interaction\n Kind: string\n Description: Versão do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.path\n Category: interaction\n Kind: string\n Description: Endpoint para resolver schema/detail data quando source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.method\n Category: interaction\n Kind: enum\n Description: Método HTTP para resolver o detail schema/data.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourcePath.paramsMap\n Category: interaction\n Kind: object\n Description: Mapeia placeholders do resourcePath para expressões de contexto por linha (ex.: { id: \"$row.id\" }).\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.resourceAllowList[]\n Category: interaction\n Kind: array\n Description: Allowlist obrigatória de rotas para source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.expansion.detail.source.hypermedia\n Category: interaction\n Kind: object\n Description: Configuração opcional do modo hypermedia; usa _links.capabilities como ponto único de descoberta canônica.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.strategy\n Category: interaction\n Kind: enum\n Description: Estratégia de render do schema de detail.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.registryId\n Category: interaction\n Kind: string\n Description: ID do registry de renderers para detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.rendering.hostLayout\n Category: interaction\n Kind: enum\n Description: Layout hospedeiro preferencial do detail.",
29241
29301
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29242
- "contentHash": "96eea92c91d22b5e19bde5f5f42fe2c4411971f9f14524a7d9344d1decce179f",
29302
+ "contentHash": "13bcdf707469d3c51a9299c6fb97c95883bf613594042b853dd20bc1eb398c6f",
29243
29303
  "sourceKind": "component_definition",
29244
29304
  "sourceId": "praxis-table",
29245
29305
  "corpusVersion": "1.0.0"
@@ -29247,9 +29307,9 @@
29247
29307
  {
29248
29308
  "chunkIndex": 9,
29249
29309
  "chunkKind": "capabilities",
29250
- "content": "Schema Capability:\n - Path: behavior.expansion.detail.height.mode\n Category: performance\n Kind: enum\n Description: Modo de altura do detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.height.px\n Category: performance\n Kind: number\n Description: Altura fixa (px) quando height.mode=fixed.\n\nSchema Capability:\n - Path: behavior.expansion.virtualization.policy\n Category: performance\n Kind: enum\n Description: Política de compatibilidade com virtualização.\n\nSchema Capability:\n - Path: behavior.expansion.persistence.enabled\n Category: interaction\n Kind: boolean\n Description: Persiste linhas expandidas por escopo.\n\nSchema Capability:\n - Path: behavior.expansion.persistence.storageKeyStrategy.namespace\n Category: interaction\n Kind: string\n Description: Namespace de persistência para evitar colisão entre apps/tenants.\n\nSchema Capability:\n - Path: behavior.expansion.security.eventExposureDefault.rowId\n Category: interaction\n Kind: enum\n Description: Nível de exposição de rowId em eventos/logs.\n\nSchema Capability:\n - Path: behavior.expansion.security.eventExposureDefault.expandedKeys\n Category: interaction\n Kind: enum\n Description: Exposição de expandedRowKeys em eventos/logs.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita estado de expansão na URL (P1+).\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.encoding\n Category: interaction\n Kind: enum\n Description: Codificação do payload de deep-link.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.parsing.duplicateParams\n Category: interaction\n Kind: enum\n Description: Política de parâmetros duplicados no parse da URL.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.integrity.mode\n Category: interaction\n Kind: enum\n Description: Estratégia de integridade para deep-link.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.privacy.mode\n Category: interaction\n Kind: enum\n Description: Política de privacidade para deep-link.\n\nSchema Capability:\n - Path: appearance.density\n Category: appearance\n Kind: enum\n Description: Densidade vertical da tabela.\n\nSchema Capability:\n - Path: appearance.borders.showRowBorders\n Category: appearance\n Kind: boolean\n Description: Exibe bordas horizontais entre linhas.\n\nSchema Capability:\n - Path: appearance.borders.showColumnBorders\n Category: appearance\n Kind: boolean\n Description: Exibe bordas verticais entre colunas.\n\nSchema Capability:\n - Path: appearance.borders.showOuterBorder\n Category: appearance\n Kind: boolean\n Description: Mostra borda externa da tabela.\n\nSchema Capability:\n - Path: appearance.borders.style\n Category: appearance\n Kind: enum\n Description: Estilo da borda (solid/dashed/dotted).\n\nSchema Capability:\n - Path: appearance.colors.alternateRowBackground\n Category: appearance\n Kind: string\n Description: Cor de fundo para linhas pares (zebra).\n\nSchema Capability:\n - Path: appearance.colors.hoverBackground\n Category: appearance\n Kind: string\n Description: Cor de fundo ao passar o mouse.\n\nSchema Capability:\n - Path: appearance.typography.fontSize\n Category: appearance\n Kind: string\n Description: Tamanho da fonte das células.\n\nSchema Capability:\n - Path: appearance.typography.headerFontWeight\n Category: appearance\n Kind: string\n Description: Peso da fonte do cabeçalho.\n\nSchema Capability:\n - Path: appearance.spacing.cellPadding\n Category: appearance\n Kind: string\n Description: Padding das células.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.horizontalScroll\n Category: appearance\n Kind: boolean\n Description: Preferência de scroll horizontal responsivo (sem breakpoints.mobile declarado, aplica global por compatibilidade; com breakpoints.mobile, aplica apenas no viewport mobile).\n\nSchema Capability:\n - Path: appearance.responsive.breakpoints.mobile\n Category: appearance\n Kind: number\n Description: Breakpoint mobile (px) usado para aplicar responsive.mobile.horizontalScroll.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.cardMode\n Category: appearance\n Kind: boolean\n Description: Materializa linhas não virtualizadas como cards rotulados no breakpoint mobile.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.priorityColumns\n Category: appearance\n Kind: array\n Description: Ordena os campos prioritários no início do card responsivo sem ocultar os demais dados.\n\nSchema Capability:\n - Path: appearance.animations.enabled\n Category: appearance\n Kind: boolean\n Description: Habilita animações de hover/seleção/superfície da tabela.\n\nSchema Capability:\n - Path: appearance.elevation.level\n Category: appearance\n Kind: number\n Description: Nível de sombra/elevação da superfície da tabela.\n\nSchema Capability:\n - Path: toolbar\n Category: toolbar\n Kind: object\n Description: Configuração global da barra de ferramentas.\n\nSchema Capability:\n - Path: toolbar.visible\n Category: toolbar\n Kind: boolean\n Description: Exibe a barra de ferramentas acima da tabela.\n\nSchema Capability:\n - Path: toolbar.position\n Category: toolbar\n Kind: enum\n Description: Posiciona a toolbar.\n\nSchema Capability:\n - Path: toolbar.actionsPosition\n Category: toolbar\n Kind: enum\n Description: Posiciona a barra de ações (top/bottom/both).\n\nSchema Capability:\n - Path: toolbar.actionsBackgroundColor\n Category: toolbar\n Kind: string\n Description: Cor de fundo da barra de ações (token/hex).\n\nSchema Capability:\n - Path: toolbar.appearance.preset\n Category: toolbar\n Kind: string\n Description: Preset visual publico registrado para a toolbar. Use \"table-integrated\" para compor toolbar e tabela como um unico bloco operacional, sem CSS de host mirando classes internas.\n\nSchema Capability:\n - Path: toolbar.appearance.variant\n Category: toolbar\n Kind: enum\n Description: Variante visual canônica da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.density\n Category: toolbar\n Kind: enum\n Description: Densidade visual da toolbar e de seus botões.\n\nSchema Capability:\n - Path: toolbar.appearance.shape\n Category: toolbar\n Kind: enum\n Description: Forma canônica do container e dos botões da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.divider\n Category: toolbar\n Kind: enum\n Description: Política de divisores entre regiões semânticas da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens\n Category: toolbar\n Kind: object\n Description: Tokens CSS públicos da toolbar materializados pelo runtime. Use para personalização visual do host sem redefinir a semântica das ações.\n\nSchema Capability:\n - Path: toolbar.title\n Category: toolbar\n Kind: string\n Description: Título principal na toolbar.\n\nSchema Capability:\n - Path: toolbar.subtitle\n Category: toolbar\n Kind: string\n Description: Subtítulo/descrição curta na toolbar.\n\nSchema Capability:\n - Path: toolbar.icon\n Category: toolbar\n Kind: string\n Description: Ícone semântico exibido ao lado do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.textAlign\n Category: toolbar\n Kind: enum\n Description: Alinhamento textual do bloco de título/subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do subtítulo da toolbar.",
29310
+ "content": "Schema Capability:\n - Path: behavior.expansion.detail.rendering.fallbackNodePolicy\n Category: interaction\n Kind: enum\n Description: Política para nós sem renderer registrado.\n\nSchema Capability:\n - Path: behavior.expansion.detail.height.mode\n Category: performance\n Kind: enum\n Description: Modo de altura do detail row.\n\nSchema Capability:\n - Path: behavior.expansion.detail.height.px\n Category: performance\n Kind: number\n Description: Altura fixa (px) quando height.mode=fixed.\n\nSchema Capability:\n - Path: behavior.expansion.virtualization.policy\n Category: performance\n Kind: enum\n Description: Política de compatibilidade com virtualização.\n\nSchema Capability:\n - Path: behavior.expansion.persistence.enabled\n Category: interaction\n Kind: boolean\n Description: Persiste linhas expandidas por escopo.\n\nSchema Capability:\n - Path: behavior.expansion.persistence.storageKeyStrategy.namespace\n Category: interaction\n Kind: string\n Description: Namespace de persistência para evitar colisão entre apps/tenants.\n\nSchema Capability:\n - Path: behavior.expansion.security.eventExposureDefault.rowId\n Category: interaction\n Kind: enum\n Description: Nível de exposição de rowId em eventos/logs.\n\nSchema Capability:\n - Path: behavior.expansion.security.eventExposureDefault.expandedKeys\n Category: interaction\n Kind: enum\n Description: Exposição de expandedRowKeys em eventos/logs.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita estado de expansão na URL (P1+).\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.encoding\n Category: interaction\n Kind: enum\n Description: Codificação do payload de deep-link.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.parsing.duplicateParams\n Category: interaction\n Kind: enum\n Description: Política de parâmetros duplicados no parse da URL.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.integrity.mode\n Category: interaction\n Kind: enum\n Description: Estratégia de integridade para deep-link.\n\nSchema Capability:\n - Path: behavior.expansion.deepLink.privacy.mode\n Category: interaction\n Kind: enum\n Description: Política de privacidade para deep-link.\n\nSchema Capability:\n - Path: appearance.density\n Category: appearance\n Kind: enum\n Description: Densidade vertical da tabela.\n\nSchema Capability:\n - Path: appearance.borders.showRowBorders\n Category: appearance\n Kind: boolean\n Description: Exibe bordas horizontais entre linhas.\n\nSchema Capability:\n - Path: appearance.borders.showColumnBorders\n Category: appearance\n Kind: boolean\n Description: Exibe bordas verticais entre colunas.\n\nSchema Capability:\n - Path: appearance.borders.showOuterBorder\n Category: appearance\n Kind: boolean\n Description: Mostra borda externa da tabela.\n\nSchema Capability:\n - Path: appearance.borders.style\n Category: appearance\n Kind: enum\n Description: Estilo da borda (solid/dashed/dotted).\n\nSchema Capability:\n - Path: appearance.colors.alternateRowBackground\n Category: appearance\n Kind: string\n Description: Cor de fundo para linhas pares (zebra).\n\nSchema Capability:\n - Path: appearance.colors.hoverBackground\n Category: appearance\n Kind: string\n Description: Cor de fundo ao passar o mouse.\n\nSchema Capability:\n - Path: appearance.typography.fontSize\n Category: appearance\n Kind: string\n Description: Tamanho da fonte das células.\n\nSchema Capability:\n - Path: appearance.typography.headerFontWeight\n Category: appearance\n Kind: string\n Description: Peso da fonte do cabeçalho.\n\nSchema Capability:\n - Path: appearance.spacing.cellPadding\n Category: appearance\n Kind: string\n Description: Padding das células.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.horizontalScroll\n Category: appearance\n Kind: boolean\n Description: Preferência de scroll horizontal responsivo (sem breakpoints.mobile declarado, aplica global por compatibilidade; com breakpoints.mobile, aplica apenas no viewport mobile).\n\nSchema Capability:\n - Path: appearance.responsive.breakpoints.mobile\n Category: appearance\n Kind: number\n Description: Breakpoint mobile (px) usado para aplicar responsive.mobile.horizontalScroll.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.cardMode\n Category: appearance\n Kind: boolean\n Description: Materializa linhas não virtualizadas como cards rotulados no breakpoint mobile.\n\nSchema Capability:\n - Path: appearance.responsive.mobile.priorityColumns\n Category: appearance\n Kind: array\n Description: Ordena os campos prioritários no início do card responsivo sem ocultar os demais dados.\n\nSchema Capability:\n - Path: appearance.animations.enabled\n Category: appearance\n Kind: boolean\n Description: Habilita animações de hover/seleção/superfície da tabela.\n\nSchema Capability:\n - Path: appearance.elevation.level\n Category: appearance\n Kind: number\n Description: Nível de sombra/elevação da superfície da tabela.\n\nSchema Capability:\n - Path: toolbar\n Category: toolbar\n Kind: object\n Description: Configuração global da barra de ferramentas.\n\nSchema Capability:\n - Path: toolbar.visible\n Category: toolbar\n Kind: boolean\n Description: Exibe a barra de ferramentas acima da tabela.\n\nSchema Capability:\n - Path: toolbar.position\n Category: toolbar\n Kind: enum\n Description: Posiciona a toolbar.\n\nSchema Capability:\n - Path: toolbar.actionsPosition\n Category: toolbar\n Kind: enum\n Description: Posiciona a barra de ações (top/bottom/both).\n\nSchema Capability:\n - Path: toolbar.actionsBackgroundColor\n Category: toolbar\n Kind: string\n Description: Cor de fundo da barra de ações (token/hex).\n\nSchema Capability:\n - Path: toolbar.appearance.preset\n Category: toolbar\n Kind: string\n Description: Preset visual publico registrado para a toolbar. Use \"table-integrated\" para compor toolbar e tabela como um unico bloco operacional, sem CSS de host mirando classes internas.\n\nSchema Capability:\n - Path: toolbar.appearance.variant\n Category: toolbar\n Kind: enum\n Description: Variante visual canônica da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.density\n Category: toolbar\n Kind: enum\n Description: Densidade visual da toolbar e de seus botões.\n\nSchema Capability:\n - Path: toolbar.appearance.shape\n Category: toolbar\n Kind: enum\n Description: Forma canônica do container e dos botões da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.divider\n Category: toolbar\n Kind: enum\n Description: Política de divisores entre regiões semânticas da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens\n Category: toolbar\n Kind: object\n Description: Tokens CSS públicos da toolbar materializados pelo runtime. Use para personalização visual do host sem redefinir a semântica das ações.\n\nSchema Capability:\n - Path: toolbar.title\n Category: toolbar\n Kind: string\n Description: Título principal na toolbar.\n\nSchema Capability:\n - Path: toolbar.subtitle\n Category: toolbar\n Kind: string\n Description: Subtítulo/descrição curta na toolbar.\n\nSchema Capability:\n - Path: toolbar.icon\n Category: toolbar\n Kind: string\n Description: Ícone semântico exibido ao lado do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.textAlign\n Category: toolbar\n Kind: enum\n Description: Alinhamento textual do bloco de título/subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do título da toolbar.",
29251
29311
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29252
- "contentHash": "560957f196dd8e6ef4a29d5849321980bf51c076fe98dbdc9b69eb01b88ea024",
29312
+ "contentHash": "79aa9861b23dc70b98191e9dd06edbd300acf91c59c5b0fd73f8bdb01962fb5a",
29253
29313
  "sourceKind": "component_definition",
29254
29314
  "sourceId": "praxis-table",
29255
29315
  "corpusVersion": "1.0.0"
@@ -29257,9 +29317,9 @@
29257
29317
  {
29258
29318
  "chunkIndex": 10,
29259
29319
  "chunkKind": "capabilities",
29260
- "content": "Schema Capability:\n - Path: toolbar.appearance.tokens.iconFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFontSize\n Category: toolbar\n Kind: string\n Description: Token CSS para tamanho do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFontSize\n Category: toolbar\n Kind: string\n Description: Token CSS para tamanho do subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFontWeight\n Category: toolbar\n Kind: string\n Description: Token CSS para peso tipográfico do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityGap\n Category: toolbar\n Kind: string\n Description: Token CSS para o espaçamento entre ícone e copy da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityFilterGap\n Category: toolbar\n Kind: string\n Description: Token CSS para o respiro vertical entre a identidade da toolbar e filtros/controles quando a identidade ocupa linha própria.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityMinHeight\n Category: toolbar\n Kind: string\n Description: Token CSS para a altura mínima do bloco de identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityMarginBottom\n Category: toolbar\n Kind: string\n Description: Token CSS para o espaçamento inferior complementar da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityIconSize\n Category: toolbar\n Kind: string\n Description: Token CSS para o tamanho do container do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityIconRadius\n Category: toolbar\n Kind: string\n Description: Token CSS para o raio do container do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.layout.alignment\n Category: toolbar\n Kind: enum\n Description: Alinhamento do conteúdo da toolbar.\n\nSchema Capability:\n - Path: toolbar.filters.enabled\n Category: toolbar\n Kind: boolean\n Description: Exibe filtros rápidos na toolbar.\n\nSchema Capability:\n - Path: toolbar.settingsMenu.enabled\n Category: toolbar\n Kind: boolean\n Description: Mostra menu de configurações (densidade, colunas etc.).\n\nSchema Capability:\n - Path: toolbar.actions[]\n Category: toolbar\n Kind: array\n Description: Ações exibidas na barra de ferramentas da tabela.\n\nSchema Capability:\n - Path: toolbar.actions[].visibleWhen\n Category: toolbar\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao da toolbar.\n\nSchema Capability:\n - Path: actions.row.enabled\n Category: actions\n Kind: boolean\n Description: Habilita coluna de ações por linha.\n\nSchema Capability:\n - Path: actions.row.display\n Category: actions\n Kind: enum\n Description: Modo de exibição das ações (menu/buttons/icons).\n\nSchema Capability:\n - Path: actions.row.trigger\n Category: actions\n Kind: enum\n Description: Como as ações aparecem (hover/always/click).\n\nSchema Capability:\n - Path: actions.row.discovery.enabled\n Category: actions\n Kind: boolean\n Description: Controla se a tabela enriquece ações por linha com discovery contextual de HATEOAS/capabilities.\n\nSchema Capability:\n - Path: actions.row.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas exibidas em cada linha da tabela. Use para criar botões de linha com GlobalActionRef governada, como surface.open.\n\nSchema Capability:\n - Path: actions.row.actions[].recordSurface\n Category: actions\n Kind: object\n Description: ResourceSurfaceCatalogItem canonico preservado para uma acao de linha abrir a superficie relacionada ao registro clicado sem sobrescrever a identidade da surface.\n\nSchema Capability:\n - Path: actions.row.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação por linha (ex.: \"navigation.openRoute\", \"surface.open\", \"toast.success\").\n\nSchema Capability:\n - Path: actions.row.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action por linha. Para `navigation.openRoute`, templates como `${row.id}` são resolvidos antes da navegação; para ações como `surface.open`, `payload.*` continua sendo o envelope canônico do evento consumido pelo destino.\n\nSchema Capability:\n - Path: actions.row.actions[].visibleWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].disabledWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para desabilitar a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao por linha, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao por linha. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.bulk.enabled\n Category: actions\n Kind: boolean\n Description: Habilita ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.position\n Category: actions\n Kind: enum\n Description: Posição das ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas para operar sobre a seleção atual da tabela. Use para criar botões em lote com GlobalActionRef governada.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action em lote. Deve permanecer alinhado ao schema da action escolhida e ao contexto da seleção atual; para `navigation.openRoute`, use templates como `${runtime.selectedIds}` quando precisar enviar os IDs selecionados.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao em lote, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao em lote. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.context.enabled\n Category: actions\n Kind: boolean\n Description: Habilita menu de contexto (clique direito/long press).",
29320
+ "content": "Schema Capability:\n - Path: toolbar.appearance.tokens.subtitleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.iconFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFontSize\n Category: toolbar\n Kind: string\n Description: Token CSS para tamanho do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFontSize\n Category: toolbar\n Kind: string\n Description: Token CSS para tamanho do subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFontWeight\n Category: toolbar\n Kind: string\n Description: Token CSS para peso tipográfico do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityGap\n Category: toolbar\n Kind: string\n Description: Token CSS para o espaçamento entre ícone e copy da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityFilterGap\n Category: toolbar\n Kind: string\n Description: Token CSS para o respiro vertical entre a identidade da toolbar e filtros/controles quando a identidade ocupa linha própria.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityMinHeight\n Category: toolbar\n Kind: string\n Description: Token CSS para a altura mínima do bloco de identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityMarginBottom\n Category: toolbar\n Kind: string\n Description: Token CSS para o espaçamento inferior complementar da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityIconSize\n Category: toolbar\n Kind: string\n Description: Token CSS para o tamanho do container do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.identityIconRadius\n Category: toolbar\n Kind: string\n Description: Token CSS para o raio do container do ícone da identidade da toolbar.\n\nSchema Capability:\n - Path: toolbar.layout.alignment\n Category: toolbar\n Kind: enum\n Description: Alinhamento do conteúdo da toolbar.\n\nSchema Capability:\n - Path: toolbar.filters.enabled\n Category: toolbar\n Kind: boolean\n Description: Exibe filtros rápidos na toolbar.\n\nSchema Capability:\n - Path: toolbar.settingsMenu.enabled\n Category: toolbar\n Kind: boolean\n Description: Mostra menu de configurações (densidade, colunas etc.).\n\nSchema Capability:\n - Path: toolbar.actions[]\n Category: toolbar\n Kind: array\n Description: Ações exibidas na barra de ferramentas da tabela.\n\nSchema Capability:\n - Path: toolbar.actions[].visibleWhen\n Category: toolbar\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao da toolbar.\n\nSchema Capability:\n - Path: actions.row.enabled\n Category: actions\n Kind: boolean\n Description: Habilita coluna de ações por linha.\n\nSchema Capability:\n - Path: actions.row.display\n Category: actions\n Kind: enum\n Description: Modo de exibição das ações (menu/buttons/icons).\n\nSchema Capability:\n - Path: actions.row.trigger\n Category: actions\n Kind: enum\n Description: Como as ações aparecem (hover/always/click).\n\nSchema Capability:\n - Path: actions.row.discovery.enabled\n Category: actions\n Kind: boolean\n Description: Controla se a tabela enriquece ações por linha com discovery contextual de HATEOAS/capabilities.\n\nSchema Capability:\n - Path: actions.row.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas exibidas em cada linha da tabela. Use para criar botões de linha com GlobalActionRef governada, como surface.open.\n\nSchema Capability:\n - Path: actions.row.actions[].recordSurface\n Category: actions\n Kind: object\n Description: ResourceSurfaceCatalogItem canonico preservado para uma acao de linha abrir a superficie relacionada ao registro clicado sem sobrescrever a identidade da surface.\n\nSchema Capability:\n - Path: actions.row.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação por linha (ex.: \"navigation.openRoute\", \"surface.open\", \"toast.success\").\n\nSchema Capability:\n - Path: actions.row.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action por linha. Para `navigation.openRoute`, templates como `${row.id}` são resolvidos antes da navegação; para ações como `surface.open`, `payload.*` continua sendo o envelope canônico do evento consumido pelo destino.\n\nSchema Capability:\n - Path: actions.row.actions[].visibleWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].disabledWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para desabilitar a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao por linha, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao por linha. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.bulk.enabled\n Category: actions\n Kind: boolean\n Description: Habilita ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.position\n Category: actions\n Kind: enum\n Description: Posição das ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas para operar sobre a seleção atual da tabela. Use para criar botões em lote com GlobalActionRef governada.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action em lote. Deve permanecer alinhado ao schema da action escolhida e ao contexto da seleção atual; para `navigation.openRoute`, use templates como `${runtime.selectedIds}` quando precisar enviar os IDs selecionados.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao em lote, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao em lote. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime em lote.",
29261
29321
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29262
- "contentHash": "b60941b3166f873fde2da82286380f6a5622bc8a0b140cef27d24e122ab9fe21",
29322
+ "contentHash": "7a89f4ce4dce4d487a68ad972a212e7cd3df34eb4c49a3e16a85d8762e357ef9",
29263
29323
  "sourceKind": "component_definition",
29264
29324
  "sourceId": "praxis-table",
29265
29325
  "corpusVersion": "1.0.0"
@@ -29267,9 +29327,9 @@
29267
29327
  {
29268
29328
  "chunkIndex": 11,
29269
29329
  "chunkKind": "capabilities",
29270
- "content": "Schema Capability:\n - Path: actions.context.trigger\n Category: actions\n Kind: enum\n Description: Trigger para abrir o menu de contexto.\n\nSchema Capability:\n - Path: actions.confirmations.default\n Category: actions\n Kind: object\n Description: Texto padrão de confirmação para ações perigosas.\n\nSchema Capability:\n - Path: toolbar.actions[].globalAction.[actionId]\n Category: toolbar\n Kind: string\n Description: Identificador canônico de global action para ações da toolbar (ex.: \"navigation.openRoute\", \"surface.open\", \"dialog.open\").\n\nSchema Capability:\n - Path: toolbar.actions[].globalAction.payload\n Category: toolbar\n Kind: object\n Description: Payload estruturado da global action da toolbar. Para `surface.open`, preserve a semântica canônica do catálogo compartilhado: `payload.*` representa o envelope do evento e `runtime.*` referencia estado exposto diretamente pelo host.\n\nSchema Capability:\n - Path: toolbar.actions[].effects\n Category: toolbar\n Kind: array\n Description: Array canonico de efeitos runtime da acao da toolbar, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].kind\n Category: toolbar\n Kind: enum\n Description: Tipo de efeito runtime da acao da toolbar. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].globalAction.[actionId]\n Category: toolbar\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime da toolbar.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].globalAction.payload\n Category: toolbar\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime da toolbar.\n\nSchema Capability:\n - Path: export\n Category: export\n Kind: object\n Description: Configuração global de exportação da tabela.\n\nSchema Capability:\n - Path: export.enabled\n Category: export\n Kind: boolean\n Description: Habilita funcionalidades de exportação.\n\nSchema Capability:\n - Path: export.formats\n Category: export\n Kind: array\n Description: Formatos permitidos.\n\nSchema Capability:\n - Path: export.general.includeHeaders\n Category: export\n Kind: boolean\n Description: Inclui cabeçalhos no arquivo exportado.\n\nSchema Capability:\n - Path: export.general.scope\n Category: export\n Kind: enum\n Description: Define o escopo dos dados exportados: auto, selected, filtered, currentPage ou all.\n\nSchema Capability:\n - Path: export.general.maxRows\n Category: export\n Kind: number\n Description: Limite de linhas para exportação.\n\nSchema Capability:\n - Path: export.excel.visibleCurrentPage\n Category: export\n Kind: boolean\n Description: Exibe a ação local \"Excel da página atual\", separada do Excel via provider.\n\nSchema Capability:\n - Path: export.excel.autoFitColumns\n Category: export\n Kind: boolean\n Description: Auto-ajusta largura de colunas na planilha.\n\nSchema Capability:\n - Path: export.pdf.orientation\n Category: export\n Kind: enum\n Description: Orientação do PDF.\n\nSchema Capability:\n - Path: export.pdf.pageSize\n Category: export\n Kind: enum\n Description: Tamanho da página no PDF.\n\nSchema Capability:\n - Path: export.csv.delimiter\n Category: export\n Kind: enum\n Description: Separador do CSV.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[]\n Category: runtime\n Kind: array\n Description: Operacoes runtime revisaveis da tabela para aplicar filtros ou executar exportacao sem alterar a configuracao persistida.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].operationId\n Category: runtime\n Kind: enum\n Description: Operacao runtime canonica permitida para a tabela.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.criteria\n Category: runtime\n Kind: object\n Description: Criterios de filtro a aplicar no runtime, usando campos declarados no catalogo de filtros. A semantica atual e uma conjuncao simples; expressoes booleanas compostas como OR, anyOf, oneOf ou allOf ainda nao fazem parte deste contrato.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.format\n Category: runtime\n Kind: enum\n Description: Formato da exportacao runtime.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.scope\n Category: runtime\n Kind: enum\n Description: Escopo da exportacao runtime: selected, filtered, currentPage, all ou auto.\n\nSchema Capability:\n - Path: messages.states.empty\n Category: messages\n Kind: string\n Description: Mensagem para estado vazio.\n\nSchema Capability:\n - Path: messages.states.loading\n Category: messages\n Kind: string\n Description: Mensagem de loading.\n\nSchema Capability:\n - Path: messages.actions.confirmations.delete\n Category: messages\n Kind: string\n Description: Texto de confirmação de exclusão.\n\nSchema Capability:\n - Path: localization.locale\n Category: localization\n Kind: string\n Description: Locale principal (ex.: pt-BR, en-US).\n\nSchema Capability:\n - Path: localization.direction\n Category: localization\n Kind: enum\n Description: Direção do texto (ltr/rtl).\n\nSchema Capability:\n - Path: localization.dateTime.dateFormat\n Category: localization\n Kind: string\n Description: Formato padrao de datas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.timeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de horas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.dateTimeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de data e hora (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.firstDayOfWeek\n Category: localization\n Kind: number\n Description: Primeiro dia da semana (0=domingo).\n\nSchema Capability:\n - Path: localization.dateTime.relativeTime\n Category: localization\n Kind: boolean\n Description: Habilita formato relativo (ex.: ha 2 dias).\n\nSchema Capability:\n - Path: localization.dateTime.monthNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos meses.\n\nSchema Capability:\n - Path: localization.dateTime.dayNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos dias da semana.\n\nSchema Capability:\n - Path: localization.number.decimalSeparator\n Category: localization\n Kind: string\n Description: Separador decimal.\n\nSchema Capability:\n - Path: localization.number.thousandsSeparator\n Category: localization\n Kind: string\n Description: Separador de milhares.\n\nSchema Capability:\n - Path: localization.number.defaultPrecision\n Category: localization\n Kind: number\n Description: Casas decimais padrao.\n\nSchema Capability:\n - Path: localization.number.negativeSign\n Category: localization\n Kind: string\n Description: Simbolo de negativo.\n\nSchema Capability:\n - Path: localization.number.negativeSignPosition\n Category: localization\n Kind: enum\n Description: Posicao do sinal negativo.\n\nSchema Capability:\n - Path: localization.currency.code\n Category: localization\n Kind: string\n Description: Codigo da moeda (ISO 4217).\n\nSchema Capability:\n - Path: localization.currency.symbol\n Category: localization\n Kind: string\n Description: Simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.position\n Category: localization\n Kind: enum\n Description: Posicao do simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.spacing\n Category: localization\n Kind: boolean\n Description: Espaco entre simbolo e valor.\n\nSchema Capability:\n - Path: localization.currency.precision\n Category: localization\n Kind: number\n Description: Precisao padrao da moeda.",
29330
+ "content": "Schema Capability:\n - Path: actions.context.enabled\n Category: actions\n Kind: boolean\n Description: Habilita menu de contexto (clique direito/long press).\n\nSchema Capability:\n - Path: actions.context.trigger\n Category: actions\n Kind: enum\n Description: Trigger para abrir o menu de contexto.\n\nSchema Capability:\n - Path: actions.confirmations.default\n Category: actions\n Kind: object\n Description: Texto padrão de confirmação para ações perigosas.\n\nSchema Capability:\n - Path: toolbar.actions[].globalAction.[actionId]\n Category: toolbar\n Kind: string\n Description: Identificador canônico de global action para ações da toolbar (ex.: \"navigation.openRoute\", \"surface.open\", \"dialog.open\").\n\nSchema Capability:\n - Path: toolbar.actions[].globalAction.payload\n Category: toolbar\n Kind: object\n Description: Payload estruturado da global action da toolbar. Para `surface.open`, preserve a semântica canônica do catálogo compartilhado: `payload.*` representa o envelope do evento e `runtime.*` referencia estado exposto diretamente pelo host.\n\nSchema Capability:\n - Path: toolbar.actions[].effects\n Category: toolbar\n Kind: array\n Description: Array canonico de efeitos runtime da acao da toolbar, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].kind\n Category: toolbar\n Kind: enum\n Description: Tipo de efeito runtime da acao da toolbar. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].globalAction.[actionId]\n Category: toolbar\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime da toolbar.\n\nSchema Capability:\n - Path: toolbar.actions[].effects[].globalAction.payload\n Category: toolbar\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime da toolbar.\n\nSchema Capability:\n - Path: export\n Category: export\n Kind: object\n Description: Configuração global de exportação da tabela.\n\nSchema Capability:\n - Path: export.enabled\n Category: export\n Kind: boolean\n Description: Habilita funcionalidades de exportação.\n\nSchema Capability:\n - Path: export.formats\n Category: export\n Kind: array\n Description: Formatos permitidos.\n\nSchema Capability:\n - Path: export.general.includeHeaders\n Category: export\n Kind: boolean\n Description: Inclui cabeçalhos no arquivo exportado.\n\nSchema Capability:\n - Path: export.general.scope\n Category: export\n Kind: enum\n Description: Define o escopo dos dados exportados: auto, selected, filtered, currentPage ou all.\n\nSchema Capability:\n - Path: export.general.maxRows\n Category: export\n Kind: number\n Description: Limite de linhas para exportação.\n\nSchema Capability:\n - Path: export.excel.visibleCurrentPage\n Category: export\n Kind: boolean\n Description: Exibe a ação local \"Excel da página atual\", separada do Excel via provider.\n\nSchema Capability:\n - Path: export.excel.autoFitColumns\n Category: export\n Kind: boolean\n Description: Auto-ajusta largura de colunas na planilha.\n\nSchema Capability:\n - Path: export.pdf.orientation\n Category: export\n Kind: enum\n Description: Orientação do PDF.\n\nSchema Capability:\n - Path: export.pdf.pageSize\n Category: export\n Kind: enum\n Description: Tamanho da página no PDF.\n\nSchema Capability:\n - Path: export.csv.delimiter\n Category: export\n Kind: enum\n Description: Separador do CSV.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[]\n Category: runtime\n Kind: array\n Description: Operacoes runtime revisaveis da tabela para aplicar filtros ou executar exportacao sem alterar a configuracao persistida.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].operationId\n Category: runtime\n Kind: enum\n Description: Operacao runtime canonica permitida para a tabela.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.criteria\n Category: runtime\n Kind: object\n Description: Criterios de filtro a aplicar no runtime, usando campos declarados no catalogo de filtros. A semantica atual e uma conjuncao simples; expressoes booleanas compostas como OR, anyOf, oneOf ou allOf ainda nao fazem parte deste contrato.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.format\n Category: runtime\n Kind: enum\n Description: Formato da exportacao runtime.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.scope\n Category: runtime\n Kind: enum\n Description: Escopo da exportacao runtime: selected, filtered, currentPage, all ou auto.\n\nSchema Capability:\n - Path: messages.states.empty\n Category: messages\n Kind: string\n Description: Mensagem para estado vazio.\n\nSchema Capability:\n - Path: messages.states.loading\n Category: messages\n Kind: string\n Description: Mensagem de loading.\n\nSchema Capability:\n - Path: messages.actions.confirmations.delete\n Category: messages\n Kind: string\n Description: Texto de confirmação de exclusão.\n\nSchema Capability:\n - Path: localization.locale\n Category: localization\n Kind: string\n Description: Locale principal (ex.: pt-BR, en-US).\n\nSchema Capability:\n - Path: localization.direction\n Category: localization\n Kind: enum\n Description: Direção do texto (ltr/rtl).\n\nSchema Capability:\n - Path: localization.dateTime.dateFormat\n Category: localization\n Kind: string\n Description: Formato padrao de datas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.timeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de horas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.dateTimeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de data e hora (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.firstDayOfWeek\n Category: localization\n Kind: number\n Description: Primeiro dia da semana (0=domingo).\n\nSchema Capability:\n - Path: localization.dateTime.relativeTime\n Category: localization\n Kind: boolean\n Description: Habilita formato relativo (ex.: ha 2 dias).\n\nSchema Capability:\n - Path: localization.dateTime.monthNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos meses.\n\nSchema Capability:\n - Path: localization.dateTime.dayNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos dias da semana.\n\nSchema Capability:\n - Path: localization.number.decimalSeparator\n Category: localization\n Kind: string\n Description: Separador decimal.\n\nSchema Capability:\n - Path: localization.number.thousandsSeparator\n Category: localization\n Kind: string\n Description: Separador de milhares.\n\nSchema Capability:\n - Path: localization.number.defaultPrecision\n Category: localization\n Kind: number\n Description: Casas decimais padrao.\n\nSchema Capability:\n - Path: localization.number.negativeSign\n Category: localization\n Kind: string\n Description: Simbolo de negativo.\n\nSchema Capability:\n - Path: localization.number.negativeSignPosition\n Category: localization\n Kind: enum\n Description: Posicao do sinal negativo.\n\nSchema Capability:\n - Path: localization.currency.code\n Category: localization\n Kind: string\n Description: Codigo da moeda (ISO 4217).\n\nSchema Capability:\n - Path: localization.currency.symbol\n Category: localization\n Kind: string\n Description: Simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.position\n Category: localization\n Kind: enum\n Description: Posicao do simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.spacing\n Category: localization\n Kind: boolean\n Description: Espaco entre simbolo e valor.",
29271
29331
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29272
- "contentHash": "82ba9533de8a5ab57cf13a583daa4a39582a7c20e64351dccf9588fdcde2f3da",
29332
+ "contentHash": "26514fb32291654e18878724a4d850036718178dd54f2ed7f64c3196bc117be8",
29273
29333
  "sourceKind": "component_definition",
29274
29334
  "sourceId": "praxis-table",
29275
29335
  "corpusVersion": "1.0.0"
@@ -29277,9 +29337,9 @@
29277
29337
  {
29278
29338
  "chunkIndex": 12,
29279
29339
  "chunkKind": "capabilities",
29280
- "content": "Schema Capability:\n - Path: localization.formatting.percentageFormat\n Category: localization\n Kind: string\n Description: Formato de percentual.\n\nSchema Capability:\n - Path: localization.formatting.fileSizeFormat\n Category: localization\n Kind: enum\n Description: Formato de tamanho de arquivo.\n\nSchema Capability:\n - Path: performance.virtualization.enabled\n Category: performance\n Kind: boolean\n Description: Virtualização via PerformanceConfig.\n\nSchema Capability:\n - Path: performance.virtualization.itemHeight\n Category: performance\n Kind: number\n Description: Altura da linha (px) para virtualização.\n\nSchema Capability:\n - Path: performance.debounce.search\n Category: performance\n Kind: number\n Description: Debounce (ms) para buscas.\n\nSchema Capability:\n - Path: performance.debounce.filter\n Category: performance\n Kind: number\n Description: Debounce (ms) para filtros.\n\nSchema Capability:\n - Path: performance.lazyLoading.images\n Category: performance\n Kind: boolean\n Description: Ativa lazy loading de imagens na tabela.\n\nSchema Capability:\n - Path: data.loadingStrategy\n Category: data\n Kind: enum\n Description: Estratégia de carregamento inicial dos dados.\n\nSchema Capability:\n - Path: accessibility.enabled\n Category: accessibility\n Kind: boolean\n Description: Habilita recursos de acessibilidade.\n\nSchema Capability:\n - Path: accessibility.highContrast\n Category: accessibility\n Kind: boolean\n Description: Ativa modo de alto contraste.\n\nSchema Capability:\n - Path: accessibility.reduceMotion\n Category: accessibility\n Kind: boolean\n Description: Reduz ou desativa animações para evitar motion sickness.\n\nSchema Capability:\n - Path: accessibility.announcements.liveRegion\n Category: accessibility\n Kind: enum\n Description: Região ARIA para anúncios (polite/assertive).\n\nSchema Capability:\n - Path: accessibility.keyboard.shortcuts\n Category: accessibility\n Kind: boolean\n Description: Ativa atalhos de teclado.\n\nComponent Capability:\n - Path: inputs.config\n Category: inputs\n Kind: object\n Description: Configuracao completa da tabela (TableConfig).\n\nComponent Capability:\n - Path: inputs.resourcePath\n Category: data\n Kind: string\n Description: Endpoint base para operacoes de dados.\n\nComponent Capability:\n - Path: inputs.queryContext\n Category: data\n Kind: object\n Description: Contrato semantico primario para consulta declarativa; nesta fase a tabela consome filters, sort, limit e page com foco principal em queryContext.filters.\n\nComponent Capability:\n - Path: inputs.filterCriteria\n Category: data\n Kind: object\n Description: Bridge legada de compatibilidade. Para novo authoring, prefira inputs.queryContext.\n\nComponent Capability:\n - Path: inputs.showToolbar\n Category: appearance\n Kind: boolean\n Description: Exibe barra de ferramentas.\n\nComponent Capability:\n - Path: inputs.toolbarV2\n Category: appearance\n Kind: boolean\n Description: Ativa layout da toolbar v2.\n\nComponent Capability:\n - Path: inputs.autoDelete\n Category: behavior\n Kind: boolean\n Description: Ativa delecao automatica.\n\nComponent Capability:\n - Path: inputs.enableCustomization\n Category: behavior\n Kind: boolean\n Description: Permite edicao de layout.\n\nComponent Capability:\n - Path: inputs.dense\n Category: appearance\n Kind: boolean\n Description: Entrada legada: aplica compacto apenas quando appearance.density nao foi definido. Preferir appearance.density para novas configuracoes.\n\nComponent Capability:\n - Path: inputs.tableId\n Category: inputs\n Kind: string\n Description: Identificador para armazenamento de configuracao.\n\nComponent Capability:\n - Path: outputs.rowClick\n Category: outputs\n Kind: object\n Description: Evento emitido ao clicar em uma linha.\n\nComponent Capability:\n - Path: outputs.rowDoubleClick\n Category: outputs\n Kind: object\n Description: Evento emitido ao dar duplo clique em uma linha.\n\nComponent Capability:\n - Path: outputs.rowExpansionChange\n Category: outputs\n Kind: object\n Description: Evento emitido ao expandir/colapsar detalhe de linha com payload governado por politica de exposicao.\n\nComponent Capability:\n - Path: outputs.rowAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao em uma linha.\n\nComponent Capability:\n - Path: outputs.toolbarAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao da toolbar.\n\nComponent Capability:\n - Path: outputs.bulkAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao executar acoes em massa.\n\nComponent Capability:\n - Path: outputs.columnReorder\n Category: outputs\n Kind: object\n Description: Evento emitido quando a reordenacao de colunas e concluida (trigger: drag, keyboard ou undo; inclui operationId monotônico).\n\nComponent Capability:\n - Path: outputs.columnReorderAttempt\n Category: outputs\n Kind: object\n Description: Evento emitido para tentativa bloqueada de reordenacao de colunas (inclui operationId monotônico para correlacao).\n\nComponent Capability:\n - Path: outputs.columnResize\n Category: outputs\n Kind: object\n Description: Evento emitido quando uma coluna e redimensionada por ponteiro ou teclado (inclui operationId monotonico e status de persistencia).\n\nComponent Capability:\n - Path: outputs.beforeDelete\n Category: outputs\n Kind: object\n Description: Evento emitido antes de deletar uma linha.\n\nComponent Capability:\n - Path: outputs.afterDelete\n Category: outputs\n Kind: object\n Description: Evento emitido apos deletar uma linha.\n\nComponent Capability:\n - Path: outputs.deleteError\n Category: outputs\n Kind: object\n Description: Evento emitido ao ocorrer erro na delecao.\n\nComponent Capability:\n - Path: outputs.beforeBulkDelete\n Category: outputs\n Kind: object\n Description: Evento emitido antes de deletar multiplas linhas.\n\nComponent Capability:\n - Path: outputs.afterBulkDelete\n Category: outputs\n Kind: object\n Description: Evento emitido apos deletar multiplas linhas.\n\nComponent Capability:\n - Path: outputs.bulkDeleteError\n Category: outputs\n Kind: object\n Description: Evento emitido ao ocorrer erro na delecao em massa.\n\nCapability Note:\n - Este catalogo descreve inputs e outputs do componente.\n\nCapability Note:\n - inputs.config segue o schema de TableConfig (veja table-ai-capabilities).",
29340
+ "content": "Schema Capability:\n - Path: localization.currency.precision\n Category: localization\n Kind: number\n Description: Precisao padrao da moeda.\n\nSchema Capability:\n - Path: localization.formatting.percentageFormat\n Category: localization\n Kind: string\n Description: Formato de percentual.\n\nSchema Capability:\n - Path: localization.formatting.fileSizeFormat\n Category: localization\n Kind: enum\n Description: Formato de tamanho de arquivo.\n\nSchema Capability:\n - Path: performance.virtualization.enabled\n Category: performance\n Kind: boolean\n Description: Virtualização via PerformanceConfig.\n\nSchema Capability:\n - Path: performance.virtualization.itemHeight\n Category: performance\n Kind: number\n Description: Altura da linha (px) para virtualização.\n\nSchema Capability:\n - Path: performance.debounce.search\n Category: performance\n Kind: number\n Description: Debounce (ms) para buscas.\n\nSchema Capability:\n - Path: performance.debounce.filter\n Category: performance\n Kind: number\n Description: Debounce (ms) para filtros.\n\nSchema Capability:\n - Path: performance.lazyLoading.images\n Category: performance\n Kind: boolean\n Description: Ativa lazy loading de imagens na tabela.\n\nSchema Capability:\n - Path: data.loadingStrategy\n Category: data\n Kind: enum\n Description: Estratégia de carregamento inicial dos dados.\n\nSchema Capability:\n - Path: accessibility.enabled\n Category: accessibility\n Kind: boolean\n Description: Habilita recursos de acessibilidade.\n\nSchema Capability:\n - Path: accessibility.highContrast\n Category: accessibility\n Kind: boolean\n Description: Ativa modo de alto contraste.\n\nSchema Capability:\n - Path: accessibility.reduceMotion\n Category: accessibility\n Kind: boolean\n Description: Reduz ou desativa animações para evitar motion sickness.\n\nSchema Capability:\n - Path: accessibility.announcements.liveRegion\n Category: accessibility\n Kind: enum\n Description: Região ARIA para anúncios (polite/assertive).\n\nSchema Capability:\n - Path: accessibility.keyboard.shortcuts\n Category: accessibility\n Kind: boolean\n Description: Ativa atalhos de teclado.\n\nComponent Capability:\n - Path: inputs.config\n Category: inputs\n Kind: object\n Description: Configuracao completa da tabela (TableConfig).\n\nComponent Capability:\n - Path: inputs.resourcePath\n Category: data\n Kind: string\n Description: Endpoint base para operacoes de dados.\n\nComponent Capability:\n - Path: inputs.queryContext\n Category: data\n Kind: object\n Description: Contrato semantico primario para consulta declarativa; nesta fase a tabela consome filters, sort, limit e page com foco principal em queryContext.filters.\n\nComponent Capability:\n - Path: inputs.filterCriteria\n Category: data\n Kind: object\n Description: Bridge legada de compatibilidade. Para novo authoring, prefira inputs.queryContext.\n\nComponent Capability:\n - Path: inputs.showToolbar\n Category: appearance\n Kind: boolean\n Description: Exibe barra de ferramentas.\n\nComponent Capability:\n - Path: inputs.toolbarV2\n Category: appearance\n Kind: boolean\n Description: Ativa layout da toolbar v2.\n\nComponent Capability:\n - Path: inputs.autoDelete\n Category: behavior\n Kind: boolean\n Description: Ativa delecao automatica.\n\nComponent Capability:\n - Path: inputs.enableCustomization\n Category: behavior\n Kind: boolean\n Description: Permite edicao de layout.\n\nComponent Capability:\n - Path: inputs.dense\n Category: appearance\n Kind: boolean\n Description: Entrada legada: aplica compacto apenas quando appearance.density nao foi definido. Preferir appearance.density para novas configuracoes.\n\nComponent Capability:\n - Path: inputs.tableId\n Category: inputs\n Kind: string\n Description: Identificador para armazenamento de configuracao.\n\nComponent Capability:\n - Path: outputs.rowClick\n Category: outputs\n Kind: object\n Description: Evento emitido ao clicar em uma linha.\n\nComponent Capability:\n - Path: outputs.rowDoubleClick\n Category: outputs\n Kind: object\n Description: Evento emitido ao dar duplo clique em uma linha.\n\nComponent Capability:\n - Path: outputs.rowExpansionChange\n Category: outputs\n Kind: object\n Description: Evento emitido ao expandir/colapsar detalhe de linha com payload governado por politica de exposicao.\n\nComponent Capability:\n - Path: outputs.rowAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao em uma linha.\n\nComponent Capability:\n - Path: outputs.toolbarAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao da toolbar.\n\nComponent Capability:\n - Path: outputs.bulkAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao executar acoes em massa.\n\nComponent Capability:\n - Path: outputs.columnReorder\n Category: outputs\n Kind: object\n Description: Evento emitido quando a reordenacao de colunas e concluida (trigger: drag, keyboard ou undo; inclui operationId monotônico).\n\nComponent Capability:\n - Path: outputs.columnReorderAttempt\n Category: outputs\n Kind: object\n Description: Evento emitido para tentativa bloqueada de reordenacao de colunas (inclui operationId monotônico para correlacao).\n\nComponent Capability:\n - Path: outputs.columnResize\n Category: outputs\n Kind: object\n Description: Evento emitido quando uma coluna e redimensionada por ponteiro ou teclado (inclui operationId monotonico e status de persistencia).\n\nComponent Capability:\n - Path: outputs.beforeDelete\n Category: outputs\n Kind: object\n Description: Evento emitido antes de deletar uma linha.\n\nComponent Capability:\n - Path: outputs.afterDelete\n Category: outputs\n Kind: object\n Description: Evento emitido apos deletar uma linha.\n\nComponent Capability:\n - Path: outputs.deleteError\n Category: outputs\n Kind: object\n Description: Evento emitido ao ocorrer erro na delecao.\n\nComponent Capability:\n - Path: outputs.beforeBulkDelete\n Category: outputs\n Kind: object\n Description: Evento emitido antes de deletar multiplas linhas.\n\nComponent Capability:\n - Path: outputs.afterBulkDelete\n Category: outputs\n Kind: object\n Description: Evento emitido apos deletar multiplas linhas.\n\nComponent Capability:\n - Path: outputs.bulkDeleteError\n Category: outputs\n Kind: object\n Description: Evento emitido ao ocorrer erro na delecao em massa.\n\nCapability Note:\n - Este catalogo descreve inputs e outputs do componente.\n\nCapability Note:\n - inputs.config segue o schema de TableConfig (veja table-ai-capabilities).",
29281
29341
  "sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
29282
- "contentHash": "ba0e91220781ac23a40f422aa3e83e46b23c470ed00b0e3c2ba106ca6e100ca3",
29342
+ "contentHash": "268d60bbd19bdfc9ce677439a424215f1632a0eb636e1850b4e34f08d17e4006",
29283
29343
  "sourceKind": "component_definition",
29284
29344
  "sourceId": "praxis-table",
29285
29345
  "corpusVersion": "1.0.0"
@@ -29577,9 +29637,9 @@
29577
29637
  {
29578
29638
  "chunkIndex": 42,
29579
29639
  "chunkKind": "authoring_manifest",
29580
- "content": "{\"operationId\":\"filter.advanced.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar filtros avançados Effects: set-value, merge-object. Ative filtros avançados e deixe CPF e departamento sempre visíveis\",\"scope\":\"global\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"required\":false},\"inputContract\":{\"required\":[\"enabled\"],\"properties\":[\"enabled\",\"queryBuilder\",\"savePresets\",\"settings\"],\"semanticTerms\":[\"enabled\",\"queryBuilder\",\"savePresets\",\"settings\",\"settings.mode\",\"settings.showAdvanced\",\"settings.allowSaveTags\",\"settings.alwaysVisibleFields\",\"settings.selectedFieldIds\",\"settings.alwaysVisibleFieldMetadataOverrides\",\"settings.changeDebounceMs\",\"settings.useInlineSearchableSelectVariant\",\"settings.useInlineRangeVariant\",\"settings.useInlineDateVariant\",\"settings.useInlineDateRangeVariant\",\"filter\"]},\"effects\":[\"set-value\",\"merge-object\"],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[{\"validatorId\":\"filter-fields-exist\",\"level\":\"error\",\"code\":\"TB018\",\"description\":\"Os campos de filtro avançado devem existir no schema request do filtro governado.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"enable-advanced-filters-human\",\"request\":\"Ative filtros avançados e deixe CPF e departamento sempre visíveis\",\"operationId\":\"filter.advanced.configure\",\"params\":{\"enabled\":true,\"queryBuilder\":true,\"savePresets\":true,\"settings\":{\"mode\":\"filter\",\"showAdvanced\":true,\"alwaysVisibleFields\":[\"cpf\",\"departamento\"]}},\"isPositive\":true}],\"negativeExamples\":[]}",
29640
+ "content": "{\"operationId\":\"filter.advanced.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar filtros avançados Effects: set-value, merge-object. Ative filtros avançados e deixe CPF e departamento sempre visíveis\",\"scope\":\"global\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"required\":false},\"inputContract\":{\"required\":[\"enabled\"],\"properties\":[\"enabled\",\"queryBuilder\",\"savePresets\",\"settings\"],\"semanticTerms\":[\"enabled\",\"queryBuilder\",\"savePresets\",\"settings\",\"settings.mode\",\"settings.showAdvanced\",\"settings.allowSaveTags\",\"settings.tags\",\"settings.alwaysVisibleFields\",\"settings.selectedFieldIds\",\"settings.alwaysVisibleFieldMetadataOverrides\",\"settings.changeDebounceMs\",\"settings.useInlineSearchableSelectVariant\",\"settings.useInlineRangeVariant\",\"settings.useInlineDateVariant\",\"settings.useInlineDateRangeVariant\",\"filter\",\"settings.tags.id\",\"settings.tags.label\",\"settings.tags.patch\"]},\"effects\":[\"set-value\",\"merge-object\"],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[{\"validatorId\":\"filter-fields-exist\",\"level\":\"error\",\"code\":\"TB018\",\"description\":\"Os campos de filtro avançado devem existir no schema request do filtro governado.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"enable-advanced-filters-human\",\"request\":\"Ative filtros avançados e deixe CPF e departamento sempre visíveis\",\"operationId\":\"filter.advanced.configure\",\"params\":{\"enabled\":true,\"queryBuilder\":true,\"savePresets\":true,\"settings\":{\"mode\":\"filter\",\"showAdvanced\":true,\"alwaysVisibleFields\":[\"cpf\",\"departamento\"]}},\"isPositive\":true}],\"negativeExamples\":[]}",
29581
29641
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
29582
- "contentHash": "f0207f2b6a101df186b868f26dc19c3ecc9605c2d5091d31d1ca3f769de559a4",
29642
+ "contentHash": "1744f1cf305879fa628fad59f795f5f9e76250b4c52e07c7a1e941837502b438",
29583
29643
  "sourceKind": "component_definition",
29584
29644
  "sourceId": "praxis-table",
29585
29645
  "corpusVersion": "1.0.0"
@@ -29757,9 +29817,9 @@
29757
29817
  {
29758
29818
  "chunkIndex": 60,
29759
29819
  "chunkKind": "authoring_manifest",
29760
- "content": "{\"operationId\":\"behavior.filtering.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar filtragem Effects: merge-object. Habilite os filtros dinâmicos da tabela\",\"scope\":\"global\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\"],\"semanticTerms\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\",\"client\",\"server\",\"columnFilters.enabled\",\"columnFilters.defaultType\",\"columnFilters.position\",\"advancedFilters.enabled\",\"advancedFilters.settings\",\"text\",\"select\",\"date\",\"number\",\"boolean\",\"header\",\"subheader\",\"sidebar\",\"advancedFilters.settings.mode\",\"advancedFilters.settings.showAdvanced\",\"advancedFilters.settings.allowSaveTags\",\"advancedFilters.settings.alwaysVisibleFields\",\"advancedFilters.settings.selectedFieldIds\",\"advancedFilters.settings.alwaysVisibleFieldMetadataOverrides\",\"advancedFilters.settings.changeDebounceMs\",\"advancedFilters.settings.useInlineSearchableSelectVariant\",\"advancedFilters.settings.useInlineRangeVariant\",\"advancedFilters.settings.useInlineDateVariant\",\"advancedFilters.settings.useInlineDateRangeVariant\",\"filter\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.filtering\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"enable-table-filters-human\",\"request\":\"Habilite os filtros dinâmicos da tabela\",\"operationId\":\"behavior.filtering.configure\",\"params\":{\"enabled\":true,\"strategy\":\"client\",\"debounceMs\":250},\"isPositive\":true}],\"negativeExamples\":[]}",
29820
+ "content": "{\"operationId\":\"behavior.filtering.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar filtragem Effects: merge-object. Habilite os filtros dinâmicos da tabela\",\"scope\":\"global\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\"],\"semanticTerms\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\",\"client\",\"server\",\"columnFilters.enabled\",\"columnFilters.defaultType\",\"columnFilters.position\",\"advancedFilters.enabled\",\"advancedFilters.settings\",\"text\",\"select\",\"date\",\"number\",\"boolean\",\"header\",\"subheader\",\"sidebar\",\"advancedFilters.settings.mode\",\"advancedFilters.settings.showAdvanced\",\"advancedFilters.settings.allowSaveTags\",\"advancedFilters.settings.tags\",\"advancedFilters.settings.alwaysVisibleFields\",\"advancedFilters.settings.selectedFieldIds\",\"advancedFilters.settings.alwaysVisibleFieldMetadataOverrides\",\"advancedFilters.settings.changeDebounceMs\",\"advancedFilters.settings.useInlineSearchableSelectVariant\",\"advancedFilters.settings.useInlineRangeVariant\",\"advancedFilters.settings.useInlineDateVariant\",\"advancedFilters.settings.useInlineDateRangeVariant\",\"filter\",\"advancedFilters.settings.tags.id\",\"advancedFilters.settings.tags.label\",\"advancedFilters.settings.tags.patch\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.filtering\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"enable-table-filters-human\",\"request\":\"Habilite os filtros dinâmicos da tabela\",\"operationId\":\"behavior.filtering.configure\",\"params\":{\"enabled\":true,\"strategy\":\"client\",\"debounceMs\":250},\"isPositive\":true}],\"negativeExamples\":[]}",
29761
29821
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
29762
- "contentHash": "11b7e0ae2211a33aeec992dc309318d08d58d68290f620670c5f6d8595a111d3",
29822
+ "contentHash": "824989af2dd62784987f1d218f4b4e0af18e1e624548cde69c594c051337c6ea",
29763
29823
  "sourceKind": "component_definition",
29764
29824
  "sourceId": "praxis-table",
29765
29825
  "corpusVersion": "1.0.0"
@@ -30367,9 +30427,9 @@
30367
30427
  {
30368
30428
  "chunkIndex": 121,
30369
30429
  "chunkKind": "authoring_manifest",
30370
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"rowAction.add\",\"title\":\"Adicionar ação de linha\",\"scope\":\"global\",\"targetKind\":\"rowAction\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"action\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"action\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"visibleWhen\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"disabledWhen\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"recordSurface\":{\"type\":\"object\",\"description\":\"ResourceSurfaceCatalogItem canonico preservado para abrir uma superficie relacionada ao registro da linha clicada.\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"kind\",\"globalAction\"],\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"global-action\"]},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}}}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions.row.actions[]\",\"key\":\"id\"}],\"validators\":[\"row-action-id-unique\"],\"affectedPaths\":[\"actions.row.actions[]\",\"actions.row.actions[].visibleWhen\",\"actions.row.actions[].disabledWhen\",\"actions.row.actions[].effects\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"bulkAction.add\",\"title\":\"Adicionar ação em lote\",\"scope\":\"global\",\"targetKind\":\"bulkAction\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"action\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"action\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"kind\",\"globalAction\"],\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"global-action\"]},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}}}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions.bulk.actions[]\",\"key\":\"id\"}],\"validators\":[\"bulk-action-id-unique\"],\"affectedPaths\":[\"actions.bulk.actions[]\",\"actions.bulk.actions[].effects\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"export.enabled.set\",\"title\":\"Habilitar exportação\",\"scope\":\"global\",\"targetKind\":\"export\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"formats\":{\"type\":\"array\",\"items\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\"]}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"export\"}],\"affectedPaths\":[\"export.enabled\",\"export.formats\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.configure\",\"title\":\"Configurar filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"queryBuilder\":{\"type\":\"boolean\"},\"savePresets\":{\"type\":\"boolean\"},\"settings\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"filter\"]},\"showAdvanced\":{\"type\":\"boolean\"},\"allowSaveTags\":{\"type\":\"boolean\"},\"alwaysVisibleFields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"selectedFieldIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"alwaysVisibleFieldMetadataOverrides\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"object\"}},\"changeDebounceMs\":{\"type\":\"number\",\"minimum\":0},\"useInlineSearchableSelectVariant\":{\"type\":\"boolean\"},\"useInlineRangeVariant\":{\"type\":\"boolean\"},\"useInlineDateVariant\":{\"type\":\"boolean\"},\"useInlineDateRangeVariant\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.fields.add\",\"title\":\"Adicionar campos aos filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"fields\"],\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1},\"selected\":{\"type\":\"boolean\"},\"alwaysVisible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.fields.remove\",\"title\":\"Remover campos dos filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"fields\"],\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1},\"selected\":{\"type\":\"boolean\"},\"alwaysVisible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"grouping.set\",\"title\":\"Definir agrupamento\",\"scope\":\"global\",\"targetKind\":\"grouping\",\"target\":{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"expanded\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.grouping\"}],\"validators\":[\"grouping-fields-exist\"],\"affectedPaths\":[\"behavior.grouping\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30430
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"rowAction.add\",\"title\":\"Adicionar ação de linha\",\"scope\":\"global\",\"targetKind\":\"rowAction\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"action\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"action\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"visibleWhen\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"disabledWhen\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"recordSurface\":{\"type\":\"object\",\"description\":\"ResourceSurfaceCatalogItem canonico preservado para abrir uma superficie relacionada ao registro da linha clicada.\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"kind\",\"globalAction\"],\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"global-action\"]},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}}}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions.row.actions[]\",\"key\":\"id\"}],\"validators\":[\"row-action-id-unique\"],\"affectedPaths\":[\"actions.row.actions[]\",\"actions.row.actions[].visibleWhen\",\"actions.row.actions[].disabledWhen\",\"actions.row.actions[].effects\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"bulkAction.add\",\"title\":\"Adicionar ação em lote\",\"scope\":\"global\",\"targetKind\":\"bulkAction\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"action\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"action\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"kind\",\"globalAction\"],\"additionalProperties\":false,\"properties\":{\"kind\":{\"enum\":[\"global-action\"]},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\",\"enum\":[\"toast.success\",\"toast.error\",\"dialog.alert\",\"dialog.open\",\"navigation.openExternal\",\"navigation.openRoute\",\"api.post\",\"api.patch\"]},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"}}}}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions.bulk.actions[]\",\"key\":\"id\"}],\"validators\":[\"bulk-action-id-unique\"],\"affectedPaths\":[\"actions.bulk.actions[]\",\"actions.bulk.actions[].effects\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"export.enabled.set\",\"title\":\"Habilitar exportação\",\"scope\":\"global\",\"targetKind\":\"export\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"formats\":{\"type\":\"array\",\"items\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\"]}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"export\"}],\"affectedPaths\":[\"export.enabled\",\"export.formats\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.configure\",\"title\":\"Configurar filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"queryBuilder\":{\"type\":\"boolean\"},\"savePresets\":{\"type\":\"boolean\"},\"settings\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"filter\"]},\"showAdvanced\":{\"type\":\"boolean\"},\"allowSaveTags\":{\"type\":\"boolean\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"patch\"],\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"label\":{\"type\":\"string\",\"minLength\":1},\"patch\":{\"type\":\"object\"}}}},\"alwaysVisibleFields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"selectedFieldIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"alwaysVisibleFieldMetadataOverrides\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"object\"}},\"changeDebounceMs\":{\"type\":\"number\",\"minimum\":0},\"useInlineSearchableSelectVariant\":{\"type\":\"boolean\"},\"useInlineRangeVariant\":{\"type\":\"boolean\"},\"useInlineDateVariant\":{\"type\":\"boolean\"},\"useInlineDateRangeVariant\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.fields.add\",\"title\":\"Adicionar campos aos filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"fields\"],\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1},\"selected\":{\"type\":\"boolean\"},\"alwaysVisible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"filter.advanced.fields.remove\",\"title\":\"Remover campos dos filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"fields\"],\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1},\"selected\":{\"type\":\"boolean\"},\"alwaysVisible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30371
30431
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30372
- "contentHash": "ae8621fa226719ece9f1e407194161ab3cf8cf9a89b8ef40437db77bff590799",
30432
+ "contentHash": "2ec828e860a59093495131d7c1c7a68e076ed89c9c0b076fb886c88a6d34630c",
30373
30433
  "sourceKind": "component_definition",
30374
30434
  "sourceId": "praxis-table",
30375
30435
  "corpusVersion": "1.0.0"
@@ -30377,9 +30437,9 @@
30377
30437
  {
30378
30438
  "chunkIndex": 122,
30379
30439
  "chunkKind": "authoring_manifest",
30380
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"selection.mode.set\",\"title\":\"Definir modo de seleção\",\"scope\":\"global\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\",\"type\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"type\":{\"enum\":[\"single\",\"multiple\"]},\"mode\":{\"enum\":[\"checkbox\",\"row\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.selection\"}],\"affectedPaths\":[\"behavior.selection.enabled\",\"behavior.selection.type\",\"behavior.selection.mode\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.density.set\",\"title\":\"Definir densidade\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"density\"],\"properties\":{\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance\"}],\"affectedPaths\":[\"appearance.density\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.borders.set\",\"title\":\"Definir bordas\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"showRowBorders\",\"showColumnBorders\"],\"properties\":{\"showRowBorders\":{\"type\":\"boolean\"},\"showColumnBorders\":{\"type\":\"boolean\"},\"showOuterBorder\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance.borders\"}],\"affectedPaths\":[\"appearance.borders.showRowBorders\",\"appearance.borders.showColumnBorders\",\"appearance.borders.showOuterBorder\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"virtualization.enabled.set\",\"title\":\"Habilitar virtualização\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"itemHeight\":{\"type\":\"number\",\"default\":48}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.virtualization\"},{\"kind\":\"merge-object\",\"path\":\"performance.virtualization\"}],\"affectedPaths\":[\"behavior.virtualization\",\"performance.virtualization\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"expansion.configure\",\"title\":\"Configurar expansão de linha\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"contractVersion\":{\"type\":\"string\"},\"state\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"controlled\",\"uncontrolled\"]}}},\"interaction\":{\"type\":\"object\",\"properties\":{\"trigger\":{\"enum\":[\"icon\",\"row\",\"both\"]},\"toggleIcon\":{\"type\":\"object\",\"properties\":{\"collapsed\":{\"type\":\"string\"},\"expanded\":{\"type\":\"string\"},\"ariaLabelCollapsed\":{\"type\":\"string\"},\"ariaLabelExpanded\":{\"type\":\"string\"}}},\"motion\":{\"type\":\"object\",\"properties\":{\"preset\":{\"enum\":[\"none\",\"subtle-slide\",\"accordion\",\"fade-scale\"]},\"durationMs\":{\"type\":\"number\",\"minimum\":0},\"easing\":{\"enum\":[\"standard\",\"emphasized\",\"decelerate\"]}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"profile\":{\"enum\":[\"disclosure\",\"grid\"]}}}}},\"limits\":{\"type\":\"object\",\"properties\":{\"allowMultiple\":{\"type\":\"boolean\"},\"maxExpandedRows\":{\"type\":\"number\",\"minimum\":1},\"onOverflow\":{\"enum\":[\"collapseOldest\",\"denyNew\",\"collapseAll\"]}}},\"collapseOn\":{\"type\":\"object\",\"properties\":{\"sortChange\":{\"type\":\"boolean\"},\"pageChange\":{\"type\":\"boolean\"},\"filterChange\":{\"type\":\"boolean\"},\"dataRefresh\":{\"type\":\"boolean\"}}},\"virtualization\":{\"type\":\"object\",\"properties\":{\"policy\":{\"enum\":[\"fixed-height-only\",\"allow-dynamic-under-flag\"]}}},\"persistence\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"storageKeyStrategy\":{\"type\":\"object\",\"properties\":{\"namespace\":{\"type\":\"string\"}}}}},\"security\":{\"type\":\"object\",\"properties\":{\"eventExposureDefault\":{\"type\":\"object\",\"properties\":{\"rowId\":{\"enum\":[\"redacted\",\"hashed\",\"raw\"]},\"expandedKeys\":{\"enum\":[\"none\",\"hashed\",\"raw\"]}}}}},\"deepLink\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"encoding\":{\"enum\":[\"csv\"]},\"parsing\":{\"type\":\"object\",\"properties\":{\"duplicateParams\":{\"enum\":[\"firstWins\",\"reject\"]}}},\"integrity\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"opaqueToken\"]}}},\"privacy\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"denyByDefault\",\"allowByDefault\"]}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion\"}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"expansion.detailSource.configure\",\"title\":\"Configurar fonte remota do detalhe expansivel\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"mode\":{\"enum\":[\"inline\",\"resource\",\"resourcePath\",\"hypermedia\"]},\"inlineSchema\":{\"type\":\"object\"},\"resource\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"ui-composition\",\"form-schema\",\"table-schema\",\"dashboard-schema\"]},\"id\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"resourcePath\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"method\":{\"enum\":[\"GET\",\"POST\"]},\"paramsMap\":{\"type\":\"object\"}}},\"resourceAllowList\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"hypermedia\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion.detail.source\"}],\"validators\":[\"remote-resource-binding-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion.detail.source\",\"behavior.expansion.detail.source.mode\",\"behavior.expansion.detail.source.resourcePath\",\"behavior.expansion.detail.source.resourceAllowList\",\"behavior.expansion.detail.source.hypermedia\"],\"submissionImpact\":\"affects-remote-binding\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"expansion.detailPresentation.configure\",\"title\":\"Configurar apresentacao do detalhe expansivel\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"schemaContract\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"rendering\":{\"type\":\"object\",\"properties\":{\"strategy\":{\"enum\":[\"registry\"]},\"registryId\":{\"type\":\"string\"},\"hostLayout\":{\"enum\":[\"auto\",\"stack\",\"tabs\"]},\"fallbackNodePolicy\":{\"enum\":[\"failClosed\",\"renderPlaceholder\"]}}},\"height\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"fixed\",\"dynamic\"]},\"px\":{\"type\":\"number\",\"minimum\":0}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion.detail\"}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion.detail\",\"behavior.expansion.detail.schemaContract\",\"behavior.expansion.detail.rendering\",\"behavior.expansion.detail.height\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
30440
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"grouping.set\",\"title\":\"Definir agrupamento\",\"scope\":\"global\",\"targetKind\":\"grouping\",\"target\":{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"expanded\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.grouping\"}],\"validators\":[\"grouping-fields-exist\"],\"affectedPaths\":[\"behavior.grouping\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"selection.mode.set\",\"title\":\"Definir modo de seleção\",\"scope\":\"global\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\",\"type\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"type\":{\"enum\":[\"single\",\"multiple\"]},\"mode\":{\"enum\":[\"checkbox\",\"row\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.selection\"}],\"affectedPaths\":[\"behavior.selection.enabled\",\"behavior.selection.type\",\"behavior.selection.mode\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.density.set\",\"title\":\"Definir densidade\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"density\"],\"properties\":{\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance\"}],\"affectedPaths\":[\"appearance.density\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.borders.set\",\"title\":\"Definir bordas\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"showRowBorders\",\"showColumnBorders\"],\"properties\":{\"showRowBorders\":{\"type\":\"boolean\"},\"showColumnBorders\":{\"type\":\"boolean\"},\"showOuterBorder\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance.borders\"}],\"affectedPaths\":[\"appearance.borders.showRowBorders\",\"appearance.borders.showColumnBorders\",\"appearance.borders.showOuterBorder\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"virtualization.enabled.set\",\"title\":\"Habilitar virtualização\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"itemHeight\":{\"type\":\"number\",\"default\":48}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.virtualization\"},{\"kind\":\"merge-object\",\"path\":\"performance.virtualization\"}],\"affectedPaths\":[\"behavior.virtualization\",\"performance.virtualization\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"expansion.configure\",\"title\":\"Configurar expansão de linha\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"contractVersion\":{\"type\":\"string\"},\"state\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"controlled\",\"uncontrolled\"]}}},\"interaction\":{\"type\":\"object\",\"properties\":{\"trigger\":{\"enum\":[\"icon\",\"row\",\"both\"]},\"toggleIcon\":{\"type\":\"object\",\"properties\":{\"collapsed\":{\"type\":\"string\"},\"expanded\":{\"type\":\"string\"},\"ariaLabelCollapsed\":{\"type\":\"string\"},\"ariaLabelExpanded\":{\"type\":\"string\"}}},\"motion\":{\"type\":\"object\",\"properties\":{\"preset\":{\"enum\":[\"none\",\"subtle-slide\",\"accordion\",\"fade-scale\"]},\"durationMs\":{\"type\":\"number\",\"minimum\":0},\"easing\":{\"enum\":[\"standard\",\"emphasized\",\"decelerate\"]}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"profile\":{\"enum\":[\"disclosure\",\"grid\"]}}}}},\"limits\":{\"type\":\"object\",\"properties\":{\"allowMultiple\":{\"type\":\"boolean\"},\"maxExpandedRows\":{\"type\":\"number\",\"minimum\":1},\"onOverflow\":{\"enum\":[\"collapseOldest\",\"denyNew\",\"collapseAll\"]}}},\"collapseOn\":{\"type\":\"object\",\"properties\":{\"sortChange\":{\"type\":\"boolean\"},\"pageChange\":{\"type\":\"boolean\"},\"filterChange\":{\"type\":\"boolean\"},\"dataRefresh\":{\"type\":\"boolean\"}}},\"virtualization\":{\"type\":\"object\",\"properties\":{\"policy\":{\"enum\":[\"fixed-height-only\",\"allow-dynamic-under-flag\"]}}},\"persistence\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"storageKeyStrategy\":{\"type\":\"object\",\"properties\":{\"namespace\":{\"type\":\"string\"}}}}},\"security\":{\"type\":\"object\",\"properties\":{\"eventExposureDefault\":{\"type\":\"object\",\"properties\":{\"rowId\":{\"enum\":[\"redacted\",\"hashed\",\"raw\"]},\"expandedKeys\":{\"enum\":[\"none\",\"hashed\",\"raw\"]}}}}},\"deepLink\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"encoding\":{\"enum\":[\"csv\"]},\"parsing\":{\"type\":\"object\",\"properties\":{\"duplicateParams\":{\"enum\":[\"firstWins\",\"reject\"]}}},\"integrity\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"opaqueToken\"]}}},\"privacy\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"denyByDefault\",\"allowByDefault\"]}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion\"}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"expansion.detailSource.configure\",\"title\":\"Configurar fonte remota do detalhe expansivel\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"mode\":{\"enum\":[\"inline\",\"resource\",\"resourcePath\",\"hypermedia\"]},\"inlineSchema\":{\"type\":\"object\"},\"resource\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"ui-composition\",\"form-schema\",\"table-schema\",\"dashboard-schema\"]},\"id\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"resourcePath\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"method\":{\"enum\":[\"GET\",\"POST\"]},\"paramsMap\":{\"type\":\"object\"}}},\"resourceAllowList\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"hypermedia\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion.detail.source\"}],\"validators\":[\"remote-resource-binding-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion.detail.source\",\"behavior.expansion.detail.source.mode\",\"behavior.expansion.detail.source.resourcePath\",\"behavior.expansion.detail.source.resourceAllowList\",\"behavior.expansion.detail.source.hypermedia\"],\"submissionImpact\":\"affects-remote-binding\",\"preconditions\":[\"config-initialized\"]}]}",
30381
30441
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30382
- "contentHash": "8d7e2b7ae2295482d64660cd610469de5bcc8a873fa75e25accdecb23bbbb784",
30442
+ "contentHash": "6784877b8e689768b1cc479aa1540c951687b741a1bd699a561b1f1ab861423f",
30383
30443
  "sourceKind": "component_definition",
30384
30444
  "sourceId": "praxis-table",
30385
30445
  "corpusVersion": "1.0.0"
@@ -30387,9 +30447,9 @@
30387
30447
  {
30388
30448
  "chunkIndex": 123,
30389
30449
  "chunkKind": "authoring_manifest",
30390
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"meta.configure\",\"title\":\"Configurar metadados\",\"scope\":\"global\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"schemaId\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"meta\"}],\"affectedPaths\":[\"meta\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"meta.idField.set\",\"title\":\"Definir campo de identidade\",\"scope\":\"global\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"idField\"],\"properties\":{\"idField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"meta.idField\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"meta.idField\"],\"validators\":[\"target-column-exists\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.resizable.set\",\"title\":\"Definir redimensionamento da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"resizable\"],\"properties\":{\"resizable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].resizable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sortField.set\",\"title\":\"Definir campo de ordenacao da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sortField\"],\"properties\":{\"sortField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sortField\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.computed.configure\",\"title\":\"Configurar coluna calculada\",\"scope\":\"column\",\"targetKind\":\"computedColumn\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"expression\"],\"properties\":{\"expression\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"outputType\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]},\"format\":{\"type\":\"string\",\"enum\":[\"shortDate\",\"mediumDate\",\"longDate\",\"fullDate\",\"MMM/yyyy\",\"shortTime\",\"short\",\"yyyy-MM-dd\",\"dd/MM/yyyy\",\"yyyy-MM-dd HH:mm\",\"1.0-0\",\"1.1-1\",\"1.2-2\",\"1.0-3\",\"1.0-0|nosep\",\"BRL|symbol|2\",\"USD|symbol|2\",\"EUR|symbol|2\",\"BRL|code|2\",\"USD|code|0\",\"BRL|symbol|2|nosep\",\"EUR|symbol|2|nosep\",\"1.0-0|x100\",\"1.1-1|x100\",\"1.2-2|x100\",\"none\",\"uppercase\",\"lowercase\",\"titlecase\",\"capitalize\",\"uppercase|truncate|50|...\",\"000.000.000-00\",\"true-false\",\"yes-no\",\"active-inactive\",\"on-off\",\"enabled-disabled\",\"custom|Sim|Nao\"]},\"dependencies\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"computed-expression-valid\",\"format-preset-supported\"],\"affectedPaths\":[\"columns[].computed\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"behavior.pagination.configure\",\"title\":\"Configurar paginacao\",\"scope\":\"global\",\"targetKind\":\"pagination\",\"target\":{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"pageSize\":{\"type\":\"number\",\"minimum\":1},\"pageSizeOptions\":{\"type\":\"array\",\"items\":{\"type\":\"number\",\"minimum\":1}},\"position\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"style\":{\"enum\":[\"default\",\"simple\",\"advanced\",\"compact\"]},\"advanced\":{\"type\":\"object\",\"properties\":{\"maxPageSize\":{\"type\":\"number\",\"minimum\":1}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.pagination\"}],\"affectedPaths\":[\"behavior.pagination\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.sorting.configure\",\"title\":\"Configurar ordenacao\",\"scope\":\"global\",\"targetKind\":\"sorting\",\"target\":{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"defaultSort\":{\"type\":\"object\"},\"allowClearSort\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.sorting\"}],\"affectedPaths\":[\"behavior.sorting\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.filtering.configure\",\"title\":\"Configurar filtragem\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"columnFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"defaultType\":{\"enum\":[\"text\",\"select\",\"date\",\"number\",\"boolean\"]},\"position\":{\"enum\":[\"header\",\"subheader\",\"sidebar\"]}}},\"advancedFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"settings\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"filter\"]},\"showAdvanced\":{\"type\":\"boolean\"},\"allowSaveTags\":{\"type\":\"boolean\"},\"alwaysVisibleFields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"selectedFieldIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"alwaysVisibleFieldMetadataOverrides\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"object\"}},\"changeDebounceMs\":{\"type\":\"number\",\"minimum\":0},\"useInlineSearchableSelectVariant\":{\"type\":\"boolean\"},\"useInlineRangeVariant\":{\"type\":\"boolean\"},\"useInlineDateVariant\":{\"type\":\"boolean\"},\"useInlineDateRangeVariant\":{\"type\":\"boolean\"}}}}},\"debounceTime\":{\"type\":\"number\",\"minimum\":0}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.filtering\"}],\"affectedPaths\":[\"behavior.filtering\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.selection.configure\",\"title\":\"Configurar selecao\",\"scope\":\"global\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"type\":{\"enum\":[\"single\",\"multiple\"]},\"mode\":{\"enum\":[\"checkbox\",\"row\",\"both\"]},\"allowSelectAll\":{\"type\":\"boolean\"},\"persistSelection\":{\"type\":\"boolean\"},\"maxSelections\":{\"type\":\"number\",\"minimum\":1}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.selection\"}],\"affectedPaths\":[\"behavior.selection\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30450
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"expansion.detailPresentation.configure\",\"title\":\"Configurar apresentacao do detalhe expansivel\",\"scope\":\"global\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"schemaContract\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"rendering\":{\"type\":\"object\",\"properties\":{\"strategy\":{\"enum\":[\"registry\"]},\"registryId\":{\"type\":\"string\"},\"hostLayout\":{\"enum\":[\"auto\",\"stack\",\"tabs\"]},\"fallbackNodePolicy\":{\"enum\":[\"failClosed\",\"renderPlaceholder\"]}}},\"height\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"fixed\",\"dynamic\"]},\"px\":{\"type\":\"number\",\"minimum\":0}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.expansion.detail\"}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion.detail\",\"behavior.expansion.detail.schemaContract\",\"behavior.expansion.detail.rendering\",\"behavior.expansion.detail.height\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"meta.configure\",\"title\":\"Configurar metadados\",\"scope\":\"global\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"schemaId\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"meta\"}],\"affectedPaths\":[\"meta\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"meta.idField.set\",\"title\":\"Definir campo de identidade\",\"scope\":\"global\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"idField\"],\"properties\":{\"idField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"meta.idField\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"meta.idField\"],\"validators\":[\"target-column-exists\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.resizable.set\",\"title\":\"Definir redimensionamento da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"resizable\"],\"properties\":{\"resizable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].resizable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sortField.set\",\"title\":\"Definir campo de ordenacao da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sortField\"],\"properties\":{\"sortField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sortField\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.computed.configure\",\"title\":\"Configurar coluna calculada\",\"scope\":\"column\",\"targetKind\":\"computedColumn\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"expression\"],\"properties\":{\"expression\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"outputType\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]},\"format\":{\"type\":\"string\",\"enum\":[\"shortDate\",\"mediumDate\",\"longDate\",\"fullDate\",\"MMM/yyyy\",\"shortTime\",\"short\",\"yyyy-MM-dd\",\"dd/MM/yyyy\",\"yyyy-MM-dd HH:mm\",\"1.0-0\",\"1.1-1\",\"1.2-2\",\"1.0-3\",\"1.0-0|nosep\",\"BRL|symbol|2\",\"USD|symbol|2\",\"EUR|symbol|2\",\"BRL|code|2\",\"USD|code|0\",\"BRL|symbol|2|nosep\",\"EUR|symbol|2|nosep\",\"1.0-0|x100\",\"1.1-1|x100\",\"1.2-2|x100\",\"none\",\"uppercase\",\"lowercase\",\"titlecase\",\"capitalize\",\"uppercase|truncate|50|...\",\"000.000.000-00\",\"true-false\",\"yes-no\",\"active-inactive\",\"on-off\",\"enabled-disabled\",\"custom|Sim|Nao\"]},\"dependencies\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"computed-expression-valid\",\"format-preset-supported\"],\"affectedPaths\":[\"columns[].computed\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"behavior.pagination.configure\",\"title\":\"Configurar paginacao\",\"scope\":\"global\",\"targetKind\":\"pagination\",\"target\":{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"pageSize\":{\"type\":\"number\",\"minimum\":1},\"pageSizeOptions\":{\"type\":\"array\",\"items\":{\"type\":\"number\",\"minimum\":1}},\"position\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"style\":{\"enum\":[\"default\",\"simple\",\"advanced\",\"compact\"]},\"advanced\":{\"type\":\"object\",\"properties\":{\"maxPageSize\":{\"type\":\"number\",\"minimum\":1}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.pagination\"}],\"affectedPaths\":[\"behavior.pagination\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.sorting.configure\",\"title\":\"Configurar ordenacao\",\"scope\":\"global\",\"targetKind\":\"sorting\",\"target\":{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"defaultSort\":{\"type\":\"object\"},\"allowClearSort\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.sorting\"}],\"affectedPaths\":[\"behavior.sorting\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30391
30451
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30392
- "contentHash": "8947be861c04f4da153934d39a82d8eec93b499981acec4048715a063f502052",
30452
+ "contentHash": "36be7301284eb71e0e7af48a294aca2f95e40d88a223797f6bcf998b59c1ca07",
30393
30453
  "sourceKind": "component_definition",
30394
30454
  "sourceId": "praxis-table",
30395
30455
  "corpusVersion": "1.0.0"
@@ -30397,9 +30457,9 @@
30397
30457
  {
30398
30458
  "chunkIndex": 124,
30399
30459
  "chunkKind": "authoring_manifest",
30400
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"behavior.interaction.configure\",\"title\":\"Configurar interacao\",\"scope\":\"global\",\"targetKind\":\"interaction\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"rowClick\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"action\":{\"type\":\"string\"}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"hover\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"highlightRow\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.interaction\"}],\"affectedPaths\":[\"behavior.interaction\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.loading.configure\",\"title\":\"Configurar loading\",\"scope\":\"global\",\"targetKind\":\"loading\",\"target\":{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"type\":{\"enum\":[\"spinner\",\"skeleton\",\"progress\",\"custom\"]},\"position\":{\"enum\":[\"overlay\",\"inline\",\"replace\"]},\"text\":{\"type\":\"string\"},\"delay\":{\"type\":\"number\",\"minimum\":0}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.loading\"}],\"affectedPaths\":[\"behavior.loading\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.emptyState.configure\",\"title\":\"Configurar estado vazio\",\"scope\":\"global\",\"targetKind\":\"emptyState\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"message\"],\"properties\":{\"title\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"primary\",\"secondary\"]},\"variant\":{\"enum\":[\"card\",\"inline\",\"panel\",\"transparent\"]},\"alignment\":{\"enum\":[\"start\",\"center\"]},\"density\":{\"enum\":[\"compact\",\"comfortable\"]},\"iconContainer\":{\"enum\":[\"none\",\"circle\",\"soft\"]},\"actions\":{\"type\":\"array\"},\"contexts\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.emptyState\"}],\"affectedPaths\":[\"behavior.emptyState\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.resizing.configure\",\"title\":\"Configurar redimensionamento\",\"scope\":\"global\",\"targetKind\":\"resizing\",\"target\":{\"kind\":\"resizing\",\"resolver\":\"resizing-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"minColumnWidth\":{\"type\":\"number\",\"minimum\":1},\"maxColumnWidth\":{\"type\":\"number\",\"minimum\":1},\"autoFit\":{\"type\":\"boolean\"},\"persistWidths\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.resizing\"}],\"affectedPaths\":[\"behavior.resizing\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.dragging.configure\",\"title\":\"Configurar drag and drop\",\"scope\":\"global\",\"targetKind\":\"dragging\",\"target\":{\"kind\":\"dragging\",\"resolver\":\"dragging-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"columns\"],\"properties\":{\"columns\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.dragging\"}],\"affectedPaths\":[\"behavior.dragging\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.editing.configure\",\"title\":\"Configurar edicao\",\"scope\":\"global\",\"targetKind\":\"editing\",\"target\":{\"kind\":\"editing\",\"resolver\":\"editing-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"mode\"],\"properties\":{\"mode\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.editing\"}],\"affectedPaths\":[\"behavior.editing\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"toolbar.configure\",\"title\":\"Configurar toolbar\",\"scope\":\"global\",\"targetKind\":\"toolbar\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"visible\":{\"type\":\"boolean\"},\"position\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"actionsPosition\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"actionsBackgroundColor\":{\"type\":\"string\"},\"appearance\":{\"type\":\"object\",\"properties\":{\"preset\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"flat\",\"outlined\",\"elevated\",\"integrated\"]},\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"shape\":{\"enum\":[\"square\",\"rounded\",\"pill\"]},\"divider\":{\"enum\":[\"none\",\"start\",\"between-groups\"]},\"tokens\":{\"type\":\"object\",\"properties\":{\"titleFg\":{\"type\":\"string\"},\"subtitleFg\":{\"type\":\"string\"},\"iconFg\":{\"type\":\"string\"},\"titleFontSize\":{\"type\":\"string\"},\"subtitleFontSize\":{\"type\":\"string\"},\"titleFontWeight\":{\"type\":\"string\"},\"identityGap\":{\"type\":\"string\"},\"identityFilterGap\":{\"type\":\"string\"},\"identityMinHeight\":{\"type\":\"string\"},\"identityMarginBottom\":{\"type\":\"string\"},\"identityIconSize\":{\"type\":\"string\"},\"identityIconRadius\":{\"type\":\"string\"}},\"additionalProperties\":{\"type\":\"string\"}}}},\"title\":{\"type\":\"string\"},\"subtitle\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"textAlign\":{\"enum\":[\"start\",\"center\",\"end\"]},\"layout\":{\"type\":\"object\",\"properties\":{\"alignment\":{\"enum\":[\"start\",\"center\",\"end\",\"space-between\"]}}},\"filters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"showAdvancedButton\":{\"type\":\"boolean\"},\"quickFilters\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"filter\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"filter\":{\"type\":\"object\"}}}}}},\"settingsMenu\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"columnsVisibility\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"densityToggle\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"values\":{\"type\":\"array\",\"items\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"uniqueItems\":true}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"toolbar\"}],\"validators\":[\"css-style-safe\"],\"affectedPaths\":[\"toolbar\",\"toolbar.title\",\"toolbar.subtitle\",\"toolbar.icon\",\"toolbar.textAlign\",\"toolbar.appearance\",\"toolbar.appearance.tokens\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.row.configure\",\"title\":\"Configurar acoes de linha\",\"scope\":\"global\",\"targetKind\":\"rowAction\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"display\":{\"enum\":[\"menu\",\"buttons\",\"icons\"]},\"trigger\":{\"enum\":[\"hover\",\"always\",\"click\"]},\"discovery\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.row\"}],\"affectedPaths\":[\"actions.row\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30460
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"behavior.filtering.configure\",\"title\":\"Configurar filtragem\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"columnFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"defaultType\":{\"enum\":[\"text\",\"select\",\"date\",\"number\",\"boolean\"]},\"position\":{\"enum\":[\"header\",\"subheader\",\"sidebar\"]}}},\"advancedFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"settings\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"filter\"]},\"showAdvanced\":{\"type\":\"boolean\"},\"allowSaveTags\":{\"type\":\"boolean\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"patch\"],\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"label\":{\"type\":\"string\",\"minLength\":1},\"patch\":{\"type\":\"object\"}}}},\"alwaysVisibleFields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"selectedFieldIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"alwaysVisibleFieldMetadataOverrides\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"object\"}},\"changeDebounceMs\":{\"type\":\"number\",\"minimum\":0},\"useInlineSearchableSelectVariant\":{\"type\":\"boolean\"},\"useInlineRangeVariant\":{\"type\":\"boolean\"},\"useInlineDateVariant\":{\"type\":\"boolean\"},\"useInlineDateRangeVariant\":{\"type\":\"boolean\"}}}}},\"debounceTime\":{\"type\":\"number\",\"minimum\":0}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.filtering\"}],\"affectedPaths\":[\"behavior.filtering\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.selection.configure\",\"title\":\"Configurar selecao\",\"scope\":\"global\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"type\":{\"enum\":[\"single\",\"multiple\"]},\"mode\":{\"enum\":[\"checkbox\",\"row\",\"both\"]},\"allowSelectAll\":{\"type\":\"boolean\"},\"persistSelection\":{\"type\":\"boolean\"},\"maxSelections\":{\"type\":\"number\",\"minimum\":1}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.selection\"}],\"affectedPaths\":[\"behavior.selection\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.interaction.configure\",\"title\":\"Configurar interacao\",\"scope\":\"global\",\"targetKind\":\"interaction\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"rowClick\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"action\":{\"type\":\"string\"}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"hover\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"highlightRow\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.interaction\"}],\"affectedPaths\":[\"behavior.interaction\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.loading.configure\",\"title\":\"Configurar loading\",\"scope\":\"global\",\"targetKind\":\"loading\",\"target\":{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"type\":{\"enum\":[\"spinner\",\"skeleton\",\"progress\",\"custom\"]},\"position\":{\"enum\":[\"overlay\",\"inline\",\"replace\"]},\"text\":{\"type\":\"string\"},\"delay\":{\"type\":\"number\",\"minimum\":0}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.loading\"}],\"affectedPaths\":[\"behavior.loading\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.emptyState.configure\",\"title\":\"Configurar estado vazio\",\"scope\":\"global\",\"targetKind\":\"emptyState\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"message\"],\"properties\":{\"title\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"primary\",\"secondary\"]},\"variant\":{\"enum\":[\"card\",\"inline\",\"panel\",\"transparent\"]},\"alignment\":{\"enum\":[\"start\",\"center\"]},\"density\":{\"enum\":[\"compact\",\"comfortable\"]},\"iconContainer\":{\"enum\":[\"none\",\"circle\",\"soft\"]},\"actions\":{\"type\":\"array\"},\"contexts\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.emptyState\"}],\"affectedPaths\":[\"behavior.emptyState\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.resizing.configure\",\"title\":\"Configurar redimensionamento\",\"scope\":\"global\",\"targetKind\":\"resizing\",\"target\":{\"kind\":\"resizing\",\"resolver\":\"resizing-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"minColumnWidth\":{\"type\":\"number\",\"minimum\":1},\"maxColumnWidth\":{\"type\":\"number\",\"minimum\":1},\"autoFit\":{\"type\":\"boolean\"},\"persistWidths\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.resizing\"}],\"affectedPaths\":[\"behavior.resizing\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.dragging.configure\",\"title\":\"Configurar drag and drop\",\"scope\":\"global\",\"targetKind\":\"dragging\",\"target\":{\"kind\":\"dragging\",\"resolver\":\"dragging-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"columns\"],\"properties\":{\"columns\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.dragging\"}],\"affectedPaths\":[\"behavior.dragging\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.editing.configure\",\"title\":\"Configurar edicao\",\"scope\":\"global\",\"targetKind\":\"editing\",\"target\":{\"kind\":\"editing\",\"resolver\":\"editing-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"mode\"],\"properties\":{\"mode\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.editing\"}],\"affectedPaths\":[\"behavior.editing\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
30401
30461
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30402
- "contentHash": "11a6399dad6b76fef4e47f7e046dda052bb79d675ce1feb7b18057dd0f99e825",
30462
+ "contentHash": "911d1179e10ab8bc1927d97f88d25c2e83ac7605ab945523773b099dfd279b27",
30403
30463
  "sourceKind": "component_definition",
30404
30464
  "sourceId": "praxis-table",
30405
30465
  "corpusVersion": "1.0.0"
@@ -30407,9 +30467,9 @@
30407
30467
  {
30408
30468
  "chunkIndex": 125,
30409
30469
  "chunkKind": "authoring_manifest",
30410
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"actions.bulk.configure\",\"title\":\"Configurar acoes em lote\",\"scope\":\"global\",\"targetKind\":\"bulkAction\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"position\":{\"enum\":[\"toolbar\",\"floating\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.bulk\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.bulk\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.context.configure\",\"title\":\"Configurar menu contextual\",\"scope\":\"global\",\"targetKind\":\"contextAction\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"trigger\":{\"enum\":[\"right-click\",\"long-press\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.context\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.context\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.confirmations.configure\",\"title\":\"Configurar confirmacoes\",\"scope\":\"global\",\"targetKind\":\"contextAction\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"default\"],\"properties\":{\"default\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.confirmations\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.confirmations.default\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"export.configure\",\"title\":\"Configurar exportacao\",\"scope\":\"global\",\"targetKind\":\"export\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"formats\":{\"type\":\"array\",\"items\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]}},\"general\":{\"type\":\"object\",\"properties\":{\"includeHeaders\":{\"type\":\"boolean\"},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]},\"maxRows\":{\"type\":\"number\",\"minimum\":1}}},\"excel\":{\"type\":\"object\",\"properties\":{\"autoFitColumns\":{\"type\":\"boolean\"},\"visibleCurrentPage\":{\"type\":\"boolean\"}}},\"pdf\":{\"type\":\"object\",\"properties\":{\"orientation\":{\"enum\":[\"portrait\",\"landscape\"]},\"pageSize\":{\"enum\":[\"A4\",\"A3\",\"Letter\",\"Legal\"]}}},\"csv\":{\"type\":\"object\",\"properties\":{\"delimiter\":{\"enum\":[\",\",\";\",\"|\",\"\\\\t\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"export\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"export\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"tableRuntimeOperations.plan\",\"title\":\"Planejar operacoes runtime da tabela\",\"scope\":\"global\",\"targetKind\":\"runtimeOperation\",\"target\":{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"operations\"],\"properties\":{\"operations\":{\"type\":\"array\",\"minItems\":1,\"items\":{\"type\":\"object\",\"required\":[\"operationId\",\"input\"],\"properties\":{\"operationId\":{\"enum\":[\"table.filter.apply\",\"table.export.run\"]},\"input\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"criteria\":{\"type\":\"object\"},\"format\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]}}},\"description\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"tableRuntimeOperations\"}],\"affectedPaths\":[\"tableRuntimeOperations\"],\"validators\":[\"runtime-operation-declared\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.configure\",\"title\":\"Configurar aparencia\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"borders\":{\"type\":\"object\",\"properties\":{\"showRowBorders\":{\"type\":\"boolean\"},\"showColumnBorders\":{\"type\":\"boolean\"},\"showOuterBorder\":{\"type\":\"boolean\"},\"style\":{\"enum\":[\"solid\",\"dashed\",\"dotted\"]}}},\"colors\":{\"type\":\"object\",\"properties\":{\"alternateRowBackground\":{\"type\":\"string\"},\"hoverBackground\":{\"type\":\"string\"}}},\"typography\":{\"type\":\"object\",\"properties\":{\"fontSize\":{\"type\":\"string\"},\"headerFontWeight\":{\"type\":\"string\"}}},\"spacing\":{\"type\":\"object\",\"properties\":{\"cellPadding\":{\"type\":\"string\"}}},\"responsive\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"object\",\"properties\":{\"horizontalScroll\":{\"type\":\"boolean\"},\"cardMode\":{\"type\":\"boolean\"},\"priorityColumns\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"breakpoints\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"number\",\"minimum\":0}}}}},\"animations\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"elevation\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"minimum\":0}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance\"}],\"validators\":[\"css-style-safe\"],\"affectedPaths\":[\"appearance\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"messages.configure\",\"title\":\"Configurar mensagens\",\"scope\":\"global\",\"targetKind\":\"messages\",\"target\":{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"states\":{\"type\":\"object\",\"properties\":{\"empty\":{\"type\":\"string\"},\"loading\":{\"type\":\"string\"}}},\"actions\":{\"type\":\"object\",\"properties\":{\"confirmations\":{\"type\":\"object\",\"properties\":{\"delete\":{\"type\":\"string\"}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"messages\"}],\"affectedPaths\":[\"messages\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"localization.configure\",\"title\":\"Configurar localizacao\",\"scope\":\"global\",\"targetKind\":\"localization\",\"target\":{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"locale\":{\"type\":\"string\"},\"direction\":{\"enum\":[\"ltr\",\"rtl\"]},\"dateTime\":{\"type\":\"object\",\"properties\":{\"dateFormat\":{\"type\":\"string\"},\"timeFormat\":{\"type\":\"string\"},\"dateTimeFormat\":{\"type\":\"string\"},\"firstDayOfWeek\":{\"enum\":[0,1,2,3,4,5,6]},\"relativeTime\":{\"type\":\"boolean\"},\"monthNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"dayNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"number\":{\"type\":\"object\",\"properties\":{\"decimalSeparator\":{\"type\":\"string\"},\"thousandsSeparator\":{\"type\":\"string\"},\"defaultPrecision\":{\"type\":\"number\",\"minimum\":0},\"negativeSign\":{\"type\":\"string\"},\"negativeSignPosition\":{\"enum\":[\"before\",\"after\"]}}},\"currency\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"symbol\":{\"type\":\"string\"},\"position\":{\"enum\":[\"before\",\"after\"]},\"spacing\":{\"type\":\"boolean\"},\"precision\":{\"type\":\"number\",\"minimum\":0}}},\"formatting\":{\"type\":\"object\",\"properties\":{\"percentageFormat\":{\"type\":\"string\"},\"fileSizeFormat\":{\"enum\":[\"binary\",\"decimal\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"localization\"}],\"affectedPaths\":[\"localization\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
30470
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"toolbar.configure\",\"title\":\"Configurar toolbar\",\"scope\":\"global\",\"targetKind\":\"toolbar\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"visible\":{\"type\":\"boolean\"},\"position\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"actionsPosition\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"actionsBackgroundColor\":{\"type\":\"string\"},\"appearance\":{\"type\":\"object\",\"properties\":{\"preset\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"flat\",\"outlined\",\"elevated\",\"integrated\"]},\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"shape\":{\"enum\":[\"square\",\"rounded\",\"pill\"]},\"divider\":{\"enum\":[\"none\",\"start\",\"between-groups\"]},\"tokens\":{\"type\":\"object\",\"properties\":{\"titleFg\":{\"type\":\"string\"},\"subtitleFg\":{\"type\":\"string\"},\"iconFg\":{\"type\":\"string\"},\"titleFontSize\":{\"type\":\"string\"},\"subtitleFontSize\":{\"type\":\"string\"},\"titleFontWeight\":{\"type\":\"string\"},\"identityGap\":{\"type\":\"string\"},\"identityFilterGap\":{\"type\":\"string\"},\"identityMinHeight\":{\"type\":\"string\"},\"identityMarginBottom\":{\"type\":\"string\"},\"identityIconSize\":{\"type\":\"string\"},\"identityIconRadius\":{\"type\":\"string\"}},\"additionalProperties\":{\"type\":\"string\"}}}},\"title\":{\"type\":\"string\"},\"subtitle\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"textAlign\":{\"enum\":[\"start\",\"center\",\"end\"]},\"layout\":{\"type\":\"object\",\"properties\":{\"alignment\":{\"enum\":[\"start\",\"center\",\"end\",\"space-between\"]}}},\"filters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"showAdvancedButton\":{\"type\":\"boolean\"},\"quickFilters\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"label\",\"filter\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"filter\":{\"type\":\"object\"}}}}}},\"settingsMenu\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"columnsVisibility\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"densityToggle\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"values\":{\"type\":\"array\",\"items\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"uniqueItems\":true}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"toolbar\"}],\"validators\":[\"css-style-safe\"],\"affectedPaths\":[\"toolbar\",\"toolbar.title\",\"toolbar.subtitle\",\"toolbar.icon\",\"toolbar.textAlign\",\"toolbar.appearance\",\"toolbar.appearance.tokens\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.row.configure\",\"title\":\"Configurar acoes de linha\",\"scope\":\"global\",\"targetKind\":\"rowAction\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"display\":{\"enum\":[\"menu\",\"buttons\",\"icons\"]},\"trigger\":{\"enum\":[\"hover\",\"always\",\"click\"]},\"discovery\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.row\"}],\"affectedPaths\":[\"actions.row\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.bulk.configure\",\"title\":\"Configurar acoes em lote\",\"scope\":\"global\",\"targetKind\":\"bulkAction\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"position\":{\"enum\":[\"toolbar\",\"floating\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.bulk\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.bulk\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.context.configure\",\"title\":\"Configurar menu contextual\",\"scope\":\"global\",\"targetKind\":\"contextAction\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"trigger\":{\"enum\":[\"right-click\",\"long-press\",\"both\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.context\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.context\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"actions.confirmations.configure\",\"title\":\"Configurar confirmacoes\",\"scope\":\"global\",\"targetKind\":\"contextAction\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"default\"],\"properties\":{\"default\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.confirmations\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"actions.confirmations.default\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"export.configure\",\"title\":\"Configurar exportacao\",\"scope\":\"global\",\"targetKind\":\"export\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"formats\":{\"type\":\"array\",\"items\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]}},\"general\":{\"type\":\"object\",\"properties\":{\"includeHeaders\":{\"type\":\"boolean\"},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]},\"maxRows\":{\"type\":\"number\",\"minimum\":1}}},\"excel\":{\"type\":\"object\",\"properties\":{\"autoFitColumns\":{\"type\":\"boolean\"},\"visibleCurrentPage\":{\"type\":\"boolean\"}}},\"pdf\":{\"type\":\"object\",\"properties\":{\"orientation\":{\"enum\":[\"portrait\",\"landscape\"]},\"pageSize\":{\"enum\":[\"A4\",\"A3\",\"Letter\",\"Legal\"]}}},\"csv\":{\"type\":\"object\",\"properties\":{\"delimiter\":{\"enum\":[\",\",\";\",\"|\",\"\\\\t\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"export\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"export\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"tableRuntimeOperations.plan\",\"title\":\"Planejar operacoes runtime da tabela\",\"scope\":\"global\",\"targetKind\":\"runtimeOperation\",\"target\":{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"operations\"],\"properties\":{\"operations\":{\"type\":\"array\",\"minItems\":1,\"items\":{\"type\":\"object\",\"required\":[\"operationId\",\"input\"],\"properties\":{\"operationId\":{\"enum\":[\"table.filter.apply\",\"table.export.run\"]},\"input\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"criteria\":{\"type\":\"object\"},\"format\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]}}},\"description\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"tableRuntimeOperations\"}],\"affectedPaths\":[\"tableRuntimeOperations\"],\"validators\":[\"runtime-operation-declared\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]}]}",
30411
30471
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30412
- "contentHash": "ac57f8a3f3fb1bb392cf9e3bd2d8bf2b0f0232174b0e11ae8f98ecc3d7a1a2bc",
30472
+ "contentHash": "9fa3918622d19c71d7b1bdf8e4eb804522aa3fae07972055954c9921de79f2b6",
30413
30473
  "sourceKind": "component_definition",
30414
30474
  "sourceId": "praxis-table",
30415
30475
  "corpusVersion": "1.0.0"
@@ -30417,9 +30477,9 @@
30417
30477
  {
30418
30478
  "chunkIndex": 126,
30419
30479
  "chunkKind": "authoring_manifest",
30420
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"performance.configure\",\"title\":\"Configurar performance\",\"scope\":\"global\",\"targetKind\":\"performance\",\"target\":{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"virtualization\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"itemHeight\":{\"type\":\"number\",\"minimum\":1}}},\"debounce\":{\"type\":\"object\",\"properties\":{\"search\":{\"type\":\"number\",\"minimum\":0},\"filter\":{\"type\":\"number\",\"minimum\":0}}},\"lazyLoading\":{\"type\":\"object\",\"properties\":{\"images\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"performance\"}],\"affectedPaths\":[\"performance\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"data.loadingStrategy.set\",\"title\":\"Definir estrategia de carregamento\",\"scope\":\"global\",\"targetKind\":\"data\",\"target\":{\"kind\":\"data\",\"resolver\":\"data-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"loadingStrategy\"],\"properties\":{\"loadingStrategy\":{\"enum\":[\"eager\",\"lazy\",\"on-demand\"]}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"data.loadingStrategy\"}],\"affectedPaths\":[\"data.loadingStrategy\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"accessibility.configure\",\"title\":\"Configurar acessibilidade\",\"scope\":\"global\",\"targetKind\":\"accessibility\",\"target\":{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"highContrast\":{\"type\":\"boolean\"},\"reduceMotion\":{\"type\":\"boolean\"},\"announcements\":{\"type\":\"object\",\"properties\":{\"liveRegion\":{\"enum\":[\"polite\",\"assertive\"]}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"shortcuts\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"accessibility\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"accessibility\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
30480
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.2\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"appearance.configure\",\"title\":\"Configurar aparencia\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"borders\":{\"type\":\"object\",\"properties\":{\"showRowBorders\":{\"type\":\"boolean\"},\"showColumnBorders\":{\"type\":\"boolean\"},\"showOuterBorder\":{\"type\":\"boolean\"},\"style\":{\"enum\":[\"solid\",\"dashed\",\"dotted\"]}}},\"colors\":{\"type\":\"object\",\"properties\":{\"alternateRowBackground\":{\"type\":\"string\"},\"hoverBackground\":{\"type\":\"string\"}}},\"typography\":{\"type\":\"object\",\"properties\":{\"fontSize\":{\"type\":\"string\"},\"headerFontWeight\":{\"type\":\"string\"}}},\"spacing\":{\"type\":\"object\",\"properties\":{\"cellPadding\":{\"type\":\"string\"}}},\"responsive\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"object\",\"properties\":{\"horizontalScroll\":{\"type\":\"boolean\"},\"cardMode\":{\"type\":\"boolean\"},\"priorityColumns\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"breakpoints\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"number\",\"minimum\":0}}}}},\"animations\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"elevation\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"minimum\":0}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance\"}],\"validators\":[\"css-style-safe\"],\"affectedPaths\":[\"appearance\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"messages.configure\",\"title\":\"Configurar mensagens\",\"scope\":\"global\",\"targetKind\":\"messages\",\"target\":{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"states\":{\"type\":\"object\",\"properties\":{\"empty\":{\"type\":\"string\"},\"loading\":{\"type\":\"string\"}}},\"actions\":{\"type\":\"object\",\"properties\":{\"confirmations\":{\"type\":\"object\",\"properties\":{\"delete\":{\"type\":\"string\"}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"messages\"}],\"affectedPaths\":[\"messages\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"localization.configure\",\"title\":\"Configurar localizacao\",\"scope\":\"global\",\"targetKind\":\"localization\",\"target\":{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"locale\":{\"type\":\"string\"},\"direction\":{\"enum\":[\"ltr\",\"rtl\"]},\"dateTime\":{\"type\":\"object\",\"properties\":{\"dateFormat\":{\"type\":\"string\"},\"timeFormat\":{\"type\":\"string\"},\"dateTimeFormat\":{\"type\":\"string\"},\"firstDayOfWeek\":{\"enum\":[0,1,2,3,4,5,6]},\"relativeTime\":{\"type\":\"boolean\"},\"monthNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"dayNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"number\":{\"type\":\"object\",\"properties\":{\"decimalSeparator\":{\"type\":\"string\"},\"thousandsSeparator\":{\"type\":\"string\"},\"defaultPrecision\":{\"type\":\"number\",\"minimum\":0},\"negativeSign\":{\"type\":\"string\"},\"negativeSignPosition\":{\"enum\":[\"before\",\"after\"]}}},\"currency\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"symbol\":{\"type\":\"string\"},\"position\":{\"enum\":[\"before\",\"after\"]},\"spacing\":{\"type\":\"boolean\"},\"precision\":{\"type\":\"number\",\"minimum\":0}}},\"formatting\":{\"type\":\"object\",\"properties\":{\"percentageFormat\":{\"type\":\"string\"},\"fileSizeFormat\":{\"enum\":[\"binary\",\"decimal\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"localization\"}],\"affectedPaths\":[\"localization\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"performance.configure\",\"title\":\"Configurar performance\",\"scope\":\"global\",\"targetKind\":\"performance\",\"target\":{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"virtualization\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"itemHeight\":{\"type\":\"number\",\"minimum\":1}}},\"debounce\":{\"type\":\"object\",\"properties\":{\"search\":{\"type\":\"number\",\"minimum\":0},\"filter\":{\"type\":\"number\",\"minimum\":0}}},\"lazyLoading\":{\"type\":\"object\",\"properties\":{\"images\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"performance\"}],\"affectedPaths\":[\"performance\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"data.loadingStrategy.set\",\"title\":\"Definir estrategia de carregamento\",\"scope\":\"global\",\"targetKind\":\"data\",\"target\":{\"kind\":\"data\",\"resolver\":\"data-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"loadingStrategy\"],\"properties\":{\"loadingStrategy\":{\"enum\":[\"eager\",\"lazy\",\"on-demand\"]}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"data.loadingStrategy\"}],\"affectedPaths\":[\"data.loadingStrategy\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"accessibility.configure\",\"title\":\"Configurar acessibilidade\",\"scope\":\"global\",\"targetKind\":\"accessibility\",\"target\":{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"highContrast\":{\"type\":\"boolean\"},\"reduceMotion\":{\"type\":\"boolean\"},\"announcements\":{\"type\":\"object\",\"properties\":{\"liveRegion\":{\"enum\":[\"polite\",\"assertive\"]}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"shortcuts\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"accessibility\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"accessibility\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
30421
30481
  "sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
30422
- "contentHash": "592d51f08173e2baec6cf0661ac769862a5879f50c1379d4f40a5e42c0207830",
30482
+ "contentHash": "c2a4cdff0b19992f6391d80f2a37295a4a7f9d6d542f51aa70357f883ad9b1af",
30423
30483
  "sourceKind": "component_definition",
30424
30484
  "sourceId": "praxis-table",
30425
30485
  "corpusVersion": "1.0.0"