@praxisui/table 9.0.5-rc.3 → 9.0.5-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -2
- package/ai/component-registry.json +240 -143
- package/docs/dynamic-filter-architecture-overview.md +22 -1
- package/docs/dynamic-filter-host-integration-guide.md +39 -1
- package/fesm2022/{praxisui-table-praxisui-table-B7FI0Sed.mjs → praxisui-table-praxisui-table-CahWsfqE.mjs} +2380 -1240
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-BGIZfDBk.mjs → praxisui-table-table-agentic-authoring-turn-flow-BYasU3tW.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-BiVxxCcf.mjs → praxisui-table-table-ai.adapter-BBTTVT2M.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +10 -3
- package/types/praxisui-table.d.ts +18 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-17T01:10:49.556Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "9.0.5-rc.
|
|
5
|
+
"packageVersion": "9.0.5-rc.30",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -5588,6 +5588,18 @@
|
|
|
5588
5588
|
"valueKind": "string",
|
|
5589
5589
|
"description": "Versao persistida esperada, transportada como If-Match quando exigida pela action."
|
|
5590
5590
|
},
|
|
5591
|
+
{
|
|
5592
|
+
"path": "inputs.submitResourceVersionTargetResourceKey",
|
|
5593
|
+
"category": "inputs",
|
|
5594
|
+
"valueKind": "string",
|
|
5595
|
+
"description": "Resource key canônico materializado pela action para resolver o ETag de outro agregado no momento do submit."
|
|
5596
|
+
},
|
|
5597
|
+
{
|
|
5598
|
+
"path": "inputs.submitResourceVersionTargetIdField",
|
|
5599
|
+
"category": "inputs",
|
|
5600
|
+
"valueKind": "string",
|
|
5601
|
+
"description": "Campo exato do request que identifica o agregado cujo ETag governa a action."
|
|
5602
|
+
},
|
|
5591
5603
|
{
|
|
5592
5604
|
"path": "inputs.responseSchemaUrl",
|
|
5593
5605
|
"category": "inputs",
|
|
@@ -6361,9 +6373,9 @@
|
|
|
6361
6373
|
{
|
|
6362
6374
|
"chunkIndex": 10,
|
|
6363
6375
|
"chunkKind": "capabilities",
|
|
6364
|
-
"content": "Schema Capability:\n - Path: fieldMetadata[].transformDisplayValue\n Category: transform\n Kind: expression\n Description: Transforma valor para exibição.\n\nSchema Capability:\n - Path: fieldMetadata[].transformSaveValue\n Category: transform\n Kind: expression\n Description: Transforma valor para salvar.\n\nSchema Capability:\n - Path: fieldMetadata[].textTransformApply\n Category: transform\n Kind: enum\n Description: Quando aplicar transformação de texto.\n\nSchema Capability:\n - Path: fieldMetadata[].inlineEditing\n Category: behavior\n Kind: boolean\n Description: Permite edição inline (tabelas).\n\nSchema Capability:\n - Path: fieldMetadata[].unique\n Category: validation\n Kind: boolean\n Description: Valida unicidade no backend.\n\nSchema Capability:\n - Path: fieldMetadata[].readOnly\n Category: behavior\n Kind: boolean\n Description: Campo somente leitura.\n\nSchema Capability:\n - Path: fieldMetadata[].disabled\n Category: behavior\n Kind: boolean\n Description: Campo desabilitado.\n\nSchema Capability:\n - Path: fieldMetadata[].defaultValue\n Category: data\n Kind: object\n Description: Valor inicial do campo.\n\nSchema Capability:\n - Path: fieldMetadata[].ariaLabel\n Category: accessibility\n Kind: string\n Description: Label para leitores de tela.\n\nSchema Capability:\n - Path: fieldMetadata[].ariaDescribedBy\n Category: accessibility\n Kind: string\n Description: IDs de descrição acessível.\n\nSchema Capability:\n - Path: fieldMetadata[].tabIndex\n Category: accessibility\n Kind: number\n Description: Ordem de tabulacao para teclado.\n\nSchema Capability:\n - Path: fieldMetadata[].accessKey\n Category: accessibility\n Kind: string\n Description: Atalho de teclado (accessKey).\n\nComponent Capability:\n - Path: inputs.resourcePath\n Category: inputs\n Kind: string\n Description: Caminho do recurso para carregar/salvar dados via CRUD.\n\nComponent Capability:\n - Path: inputs.resourceId\n Category: inputs\n Kind: string\n Description: ID do registro atual (string ou number).\n\nComponent Capability:\n - Path: inputs.initialValue\n Category: inputs\n Kind: object\n Description: Valores iniciais locais para campos host-authored ou complementares.\n\nComponent Capability:\n - Path: inputs.mode\n Category: inputs\n Kind: enum\n Description: Modo do formulario (create/edit/view).\n\nComponent Capability:\n - Path: inputs.config\n Category: inputs\n Kind: object\n Description: Configuracao completa do formulario (FormConfig).\n\nComponent Capability:\n - Path: inputs.schemaSource\n Category: inputs\n Kind: enum\n Description: Fonte de schema para construcao automatica (resource/filter).\n\nComponent Capability:\n - Path: inputs.schemaUrl\n Category: inputs\n Kind: string\n Description: Schema canonico explicito publicado pelo backend para hosts que seguem surfaces/actions/capabilities.\n\nComponent Capability:\n - Path: inputs.readUrl\n Category: inputs\n Kind: string\n Description: Endpoint canonico de leitura publicado por surface VIEW/READ_PROJECTION para hidratar a entidade exibida.\n\nComponent Capability:\n - Path: inputs.apiEndpointKey\n Category: inputs\n Kind: string\n Description: Endpoint canonico usado para resolver schemaUrl, readUrl e submitUrl relativos em hosts destacados.\n\nComponent Capability:\n - Path: inputs.submitUrl\n Category: inputs\n Kind: string\n Description: Endpoint canonico de submit publicado por surface/action.\n\nComponent Capability:\n - Path: inputs.submitMethod\n Category: inputs\n Kind: enum\n Description: Metodo HTTP canonico para o submit quando o backend publica operacao explicita.\n\nComponent Capability:\n - Path: inputs.submitIdempotencyKey\n Category: inputs\n Kind: string\n Description: Identidade estavel da tentativa de comando, materializada a partir da politica execution da action.\n\nComponent Capability:\n - Path: inputs.submitCorrelationId\n Category: inputs\n Kind: string\n Description: Identificador de correlacao governado para rastreabilidade ponta a ponta do comando.\n\nComponent Capability:\n - Path: inputs.submitResourceVersion\n Category: inputs\n Kind: string\n Description: Versao persistida esperada, transportada como If-Match quando exigida pela action.\n\nComponent Capability:\n - Path: inputs.responseSchemaUrl\n Category: inputs\n Kind: string\n Description: Schema de resposta publicado pelo backend para inspeção diagnostica/read-only do host.\n\nComponent Capability:\n - Path: inputs.enableCustomization\n Category: inputs\n Kind: boolean\n Description: Habilita a edicao de layout/configuracao no editor.\n\nComponent Capability:\n - Path: inputs.showAiAssistant\n Category: inputs\n Kind: boolean\n Description: Mostra os gatilhos do copiloto semantico Praxis para a instancia do formulario.\n\nComponent Capability:\n - Path: inputs.formId\n Category: inputs\n Kind: string\n Description: ID persistente para salvar configuracoes e preferencias.\n\nComponent Capability:\n - Path: inputs.editorialContext\n Category: inputs\n Kind: object\n Description: Override de contexto editorial fornecido pelo host para os blocos hospedados antes/depois do formulario.\n\nComponent Capability:\n - Path: inputs.layout\n Category: inputs\n Kind: object\n Description: Layout legado (FormLayout). Preferir inputs.config + sections.\n\nComponent Capability:\n - Path: inputs.generatedLayoutPreset\n Category: inputs\n Kind: enum\n Description: Preset usado somente na criacao inicial de FormConfig a partir de schema/metadata.\n\nComponent Capability:\n - Path: inputs.configPersistenceStrategy\n Category: inputs\n Kind: enum\n Description: Define se preferências locais persistidas ou o contrato explícito do host governam a materialização corrente.\n\nComponent Capability:\n - Path: inputs.layoutPolicy\n Category: inputs\n Kind: object\n Description: Politica opt-in para materializar layout diretamente do schema atual sem depender de FormConfig.sections authoradas.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.source\n Category: inputs\n Kind: enum\n Description: Define se o layout vem de configuracao authorada ou do schema.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.preset\n Category: inputs\n Kind: enum\n Description: Preset de layout schema-driven. compactPresentation cobre detalhe read-only; groupedCommand cobre create/edit.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.intent\n Category: inputs\n Kind: enum\n Description: Intencao da surface: detalhe/apresentacao ou comando/editavel.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.lifecycle\n Category: inputs\n Kind: enum\n Description: Ciclo de materializacao do layout schema-driven.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.persistence\n Category: inputs\n Kind: enum\n Description: Define se sections geradas sao transient ou podem virar layout authorado apos detach explicito.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.groupedCommand.orphanFieldExpansion\n Category: inputs\n Kind: enum\n Description: Define como uma linha groupedCommand com um unico campo usa o espaco restante. O default medium-and-wide expande spans 6 ou 8 e preserva campos compactos
|
|
6376
|
+
"content": "Schema Capability:\n - Path: fieldMetadata[].transformDisplayValue\n Category: transform\n Kind: expression\n Description: Transforma valor para exibição.\n\nSchema Capability:\n - Path: fieldMetadata[].transformSaveValue\n Category: transform\n Kind: expression\n Description: Transforma valor para salvar.\n\nSchema Capability:\n - Path: fieldMetadata[].textTransformApply\n Category: transform\n Kind: enum\n Description: Quando aplicar transformação de texto.\n\nSchema Capability:\n - Path: fieldMetadata[].inlineEditing\n Category: behavior\n Kind: boolean\n Description: Permite edição inline (tabelas).\n\nSchema Capability:\n - Path: fieldMetadata[].unique\n Category: validation\n Kind: boolean\n Description: Valida unicidade no backend.\n\nSchema Capability:\n - Path: fieldMetadata[].readOnly\n Category: behavior\n Kind: boolean\n Description: Campo somente leitura.\n\nSchema Capability:\n - Path: fieldMetadata[].disabled\n Category: behavior\n Kind: boolean\n Description: Campo desabilitado.\n\nSchema Capability:\n - Path: fieldMetadata[].defaultValue\n Category: data\n Kind: object\n Description: Valor inicial do campo.\n\nSchema Capability:\n - Path: fieldMetadata[].ariaLabel\n Category: accessibility\n Kind: string\n Description: Label para leitores de tela.\n\nSchema Capability:\n - Path: fieldMetadata[].ariaDescribedBy\n Category: accessibility\n Kind: string\n Description: IDs de descrição acessível.\n\nSchema Capability:\n - Path: fieldMetadata[].tabIndex\n Category: accessibility\n Kind: number\n Description: Ordem de tabulacao para teclado.\n\nSchema Capability:\n - Path: fieldMetadata[].accessKey\n Category: accessibility\n Kind: string\n Description: Atalho de teclado (accessKey).\n\nComponent Capability:\n - Path: inputs.resourcePath\n Category: inputs\n Kind: string\n Description: Caminho do recurso para carregar/salvar dados via CRUD.\n\nComponent Capability:\n - Path: inputs.resourceId\n Category: inputs\n Kind: string\n Description: ID do registro atual (string ou number).\n\nComponent Capability:\n - Path: inputs.initialValue\n Category: inputs\n Kind: object\n Description: Valores iniciais locais para campos host-authored ou complementares.\n\nComponent Capability:\n - Path: inputs.mode\n Category: inputs\n Kind: enum\n Description: Modo do formulario (create/edit/view).\n\nComponent Capability:\n - Path: inputs.config\n Category: inputs\n Kind: object\n Description: Configuracao completa do formulario (FormConfig).\n\nComponent Capability:\n - Path: inputs.schemaSource\n Category: inputs\n Kind: enum\n Description: Fonte de schema para construcao automatica (resource/filter).\n\nComponent Capability:\n - Path: inputs.schemaUrl\n Category: inputs\n Kind: string\n Description: Schema canonico explicito publicado pelo backend para hosts que seguem surfaces/actions/capabilities.\n\nComponent Capability:\n - Path: inputs.readUrl\n Category: inputs\n Kind: string\n Description: Endpoint canonico de leitura publicado por surface VIEW/READ_PROJECTION para hidratar a entidade exibida.\n\nComponent Capability:\n - Path: inputs.apiEndpointKey\n Category: inputs\n Kind: string\n Description: Endpoint canonico usado para resolver schemaUrl, readUrl e submitUrl relativos em hosts destacados.\n\nComponent Capability:\n - Path: inputs.submitUrl\n Category: inputs\n Kind: string\n Description: Endpoint canonico de submit publicado por surface/action.\n\nComponent Capability:\n - Path: inputs.submitMethod\n Category: inputs\n Kind: enum\n Description: Metodo HTTP canonico para o submit quando o backend publica operacao explicita.\n\nComponent Capability:\n - Path: inputs.submitIdempotencyKey\n Category: inputs\n Kind: string\n Description: Identidade estavel da tentativa de comando, materializada a partir da politica execution da action.\n\nComponent Capability:\n - Path: inputs.submitCorrelationId\n Category: inputs\n Kind: string\n Description: Identificador de correlacao governado para rastreabilidade ponta a ponta do comando.\n\nComponent Capability:\n - Path: inputs.submitResourceVersion\n Category: inputs\n Kind: string\n Description: Versao persistida esperada, transportada como If-Match quando exigida pela action.\n\nComponent Capability:\n - Path: inputs.submitResourceVersionTargetResourceKey\n Category: inputs\n Kind: string\n Description: Resource key canônico materializado pela action para resolver o ETag de outro agregado no momento do submit.\n\nComponent Capability:\n - Path: inputs.submitResourceVersionTargetIdField\n Category: inputs\n Kind: string\n Description: Campo exato do request que identifica o agregado cujo ETag governa a action.\n\nComponent Capability:\n - Path: inputs.responseSchemaUrl\n Category: inputs\n Kind: string\n Description: Schema de resposta publicado pelo backend para inspeção diagnostica/read-only do host.\n\nComponent Capability:\n - Path: inputs.enableCustomization\n Category: inputs\n Kind: boolean\n Description: Habilita a edicao de layout/configuracao no editor.\n\nComponent Capability:\n - Path: inputs.showAiAssistant\n Category: inputs\n Kind: boolean\n Description: Mostra os gatilhos do copiloto semantico Praxis para a instancia do formulario.\n\nComponent Capability:\n - Path: inputs.formId\n Category: inputs\n Kind: string\n Description: ID persistente para salvar configuracoes e preferencias.\n\nComponent Capability:\n - Path: inputs.editorialContext\n Category: inputs\n Kind: object\n Description: Override de contexto editorial fornecido pelo host para os blocos hospedados antes/depois do formulario.\n\nComponent Capability:\n - Path: inputs.layout\n Category: inputs\n Kind: object\n Description: Layout legado (FormLayout). Preferir inputs.config + sections.\n\nComponent Capability:\n - Path: inputs.generatedLayoutPreset\n Category: inputs\n Kind: enum\n Description: Preset usado somente na criacao inicial de FormConfig a partir de schema/metadata.\n\nComponent Capability:\n - Path: inputs.configPersistenceStrategy\n Category: inputs\n Kind: enum\n Description: Define se preferências locais persistidas ou o contrato explícito do host governam a materialização corrente.\n\nComponent Capability:\n - Path: inputs.layoutPolicy\n Category: inputs\n Kind: object\n Description: Politica opt-in para materializar layout diretamente do schema atual sem depender de FormConfig.sections authoradas.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.source\n Category: inputs\n Kind: enum\n Description: Define se o layout vem de configuracao authorada ou do schema.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.preset\n Category: inputs\n Kind: enum\n Description: Preset de layout schema-driven. compactPresentation cobre detalhe read-only; groupedCommand cobre create/edit.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.intent\n Category: inputs\n Kind: enum\n Description: Intencao da surface: detalhe/apresentacao ou comando/editavel.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.lifecycle\n Category: inputs\n Kind: enum\n Description: Ciclo de materializacao do layout schema-driven.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.persistence\n Category: inputs\n Kind: enum\n Description: Define se sections geradas sao transient ou podem virar layout authorado apos detach explicito.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.groupedCommand.orphanFieldExpansion\n Category: inputs\n Kind: enum\n Description: Define como uma linha groupedCommand com um unico campo usa o espaco restante. O default medium-and-wide expande spans 6 ou 8 e preserva campos compactos.",
|
|
6365
6377
|
"sourcePointer": "projects/praxis-dynamic-form/src/lib/ai/form-ai-capabilities.ts",
|
|
6366
|
-
"contentHash": "
|
|
6378
|
+
"contentHash": "26b2dfdc858e1b0af8adbd4557dec1561120af335ab33688421d1dda98a4281e",
|
|
6367
6379
|
"sourceKind": "component_definition",
|
|
6368
6380
|
"sourceId": "praxis-filter-form-dialog-host",
|
|
6369
6381
|
"corpusVersion": "1.0.0"
|
|
@@ -6371,9 +6383,9 @@
|
|
|
6371
6383
|
{
|
|
6372
6384
|
"chunkIndex": 11,
|
|
6373
6385
|
"chunkKind": "capabilities",
|
|
6374
|
-
"content": "Component Capability:\n - Path: inputs.layoutPolicy.detailSummary\n Category: inputs\n Kind: object\n Description: Politica declarativa para resumo read-only compacto em compactPresentation, sem FormConfig.sections locais.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeFields\n Category: inputs\n Kind: array\n Description: Lista de campos canônicos do schema que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeFields\n Category: inputs\n Kind: array\n Description: Lista de campos canônicos do schema que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeGroups\n Category: inputs\n Kind: array\n Description: Lista de grupos do schema que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeGroups\n Category: inputs\n Kind: array\n Description: Lista de grupos do schema que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeRoles\n Category: inputs\n Kind: array\n Description: Lista de papeis semanticos de campo que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeRoles\n Category: inputs\n Kind: array\n Description: Lista de papeis semanticos de campo que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.maxFields\n Category: inputs\n Kind: number\n Description: Limite maximo de campos materializados no primeiro painel compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.fieldPriority\n Category: inputs\n Kind: object\n Description: Mapa campo -> prioridade para ordenar campos do resumo quando o schema publica candidatos suficientes.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.groupPriority\n Category: inputs\n Kind: object\n Description: Mapa grupo -> prioridade para ordenar grupos do resumo quando o schema publica agrupamento semantico.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.columns\n Category: inputs\n Kind: number\n Description: Quantidade base de colunas para distribuir campos de resumo schema-driven sem criar FormConfig.sections locais.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.responsiveColumns\n Category: inputs\n Kind: object\n Description: Mapa de colunas por breakpoint xs/sm/md/lg/xl para detalhes read-only compactos em drawers, side sheets e desktop largo.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.widthPrecedence\n Category: inputs\n Kind: enum\n Description: Define se larguras explicitas do schema ou a densidade do resumo controlam os spans no compactPresentation read-only.\n\nComponent Capability:\n - Path: inputs.fieldIconPolicy\n Category: inputs\n Kind: enum\n Description: Controla se icones prefix/suffix dos metadados aparecem em todos os modos, apenas apresentacao, ou nunca.\n\nComponent Capability:\n - Path: inputs.backConfig\n Category: inputs\n Kind: object\n Description: Configuracao de navegacao/retorno (BackConfig).\n\nComponent Capability:\n - Path: inputs.backConfig.strategy\n Category: inputs\n Kind: enum\n Description: Estrategia de retorno (auto/close/navigate).\n\nComponent Capability:\n - Path: inputs.backConfig.returnTo\n Category: inputs\n Kind: string\n Description: Rota para retornar quando strategy=navigate.\n\nComponent Capability:\n - Path: inputs.backConfig.confirmOnDirty\n Category: inputs\n Kind: boolean\n Description: Solicita confirmacao ao sair com mudancas nao salvas.\n\nComponent Capability:\n - Path: inputs.hooks\n Category: inputs\n Kind: object\n Description: Declaracoes de hooks fornecidas diretamente ao componente.\n\nComponent Capability:\n - Path: inputs.hooks.beforeInit[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes da inicializacao.\n\nComponent Capability:\n - Path: inputs.hooks.afterInit[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos a inicializacao.\n\nComponent Capability:\n - Path: inputs.hooks.beforeValidate[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes da validacao.\n\nComponent Capability:\n - Path: inputs.hooks.afterValidate[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos a validacao.\n\nComponent Capability:\n - Path: inputs.hooks.beforeSubmit[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes do submit.\n\nComponent Capability:\n - Path: inputs.hooks.afterSubmit[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos o submit.\n\nComponent Capability:\n - Path: inputs.hooks.onError[]\n Category: hooks\n Kind: array\n Description: Hooks executados em erros de submit/validacao.\n\nComponent Capability:\n - Path: inputs.removeEmptyContainersOnSave\n Category: inputs\n Kind: boolean\n Description: Remove containers vazios ao salvar configuracao.\n\nComponent Capability:\n - Path: inputs.reactiveValidation\n Category: inputs\n Kind: boolean\n Description: Ativa validacao reativa (afterValidate em valueChanges).\n\nComponent Capability:\n - Path: inputs.reactiveValidationDebounceMs\n Category: inputs\n Kind: number\n Description: Debounce em ms para validacao reativa.\n\nComponent Capability:\n - Path: inputs.notifyIfOutdated\n Category: inputs\n Kind: enum\n Description: Canal de notificacao para schema desatualizado.\n\nComponent Capability:\n - Path: inputs.snoozeMs\n Category: inputs\n Kind: number\n Description: Duracao do snooze para alertas de schema.\n\nComponent Capability:\n - Path: inputs.autoOpenSettingsOnOutdated\n Category: inputs\n Kind: boolean\n Description: Abre automaticamente o editor ao detectar schema desatualizado.\n\nComponent Capability:\n - Path: inputs.readonlyModeGlobal\n Category: inputs\n Kind: boolean\n Description: Forca modo somente leitura global.\n\nComponent Capability:\n - Path: inputs.disabledModeGlobal\n Category: inputs\n Kind: boolean\n Description: Forca modo desabilitado global.\n\nComponent Capability:\n - Path: inputs.presentationModeGlobal\n Category: inputs\n Kind: boolean\n Description: Ativa modo de apresentacao global (somente view).\n\nComponent Capability:\n - Path: inputs.visibleGlobal\n Category: inputs\n Kind: boolean\n Description: Forca visibilidade global dos campos.\n\nComponent Capability:\n - Path: inputs.customEndpoints\n Category: inputs\n Kind: object\n Description: Override de endpoints CRUD (EndpointConfig).\n\nComponent Capability:\n - Path: inputs.customEndpoints.getAll\n Category: inputs\n Kind: string\n Description: Endpoint customizado para listar registros.\n\nComponent Capability:\n - Path: inputs.customEndpoints.getById\n Category: inputs\n Kind: string\n Description: Endpoint customizado para obter registro por ID.\n\nComponent Capability:\n - Path: inputs.customEndpoints.create\n Category: inputs\n Kind: string\n Description: Endpoint customizado para criar registro
|
|
6386
|
+
"content": "Component Capability:\n - Path: inputs.layoutPolicy.groupedCommand.contextFields\n Category: inputs\n Kind: array\n Description: Campos canônicos do request cujo valor vem do contexto da surface. Eles permanecem no FormGroup e no payload, sem renderizar controles redundantes.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.groupedCommand.partialRowStrategy\n Category: inputs\n Kind: enum\n Description: Define se cada linha visual parcial, depois de resolver visibilidade responsiva, CSS order e wrap, preserva os spans canônicos ou redistribui apenas campos compatíveis para completar 12 colunas no breakpoint atual.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary\n Category: inputs\n Kind: object\n Description: Politica declarativa para resumo read-only compacto em compactPresentation, sem FormConfig.sections locais.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeFields\n Category: inputs\n Kind: array\n Description: Lista de campos canônicos do schema que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeFields\n Category: inputs\n Kind: array\n Description: Lista de campos canônicos do schema que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeGroups\n Category: inputs\n Kind: array\n Description: Lista de grupos do schema que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeGroups\n Category: inputs\n Kind: array\n Description: Lista de grupos do schema que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.includeRoles\n Category: inputs\n Kind: array\n Description: Lista de papeis semanticos de campo que devem entrar no resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.excludeRoles\n Category: inputs\n Kind: array\n Description: Lista de papeis semanticos de campo que devem ficar fora do resumo read-only compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.maxFields\n Category: inputs\n Kind: number\n Description: Limite maximo de campos materializados no primeiro painel compacto.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.fieldPriority\n Category: inputs\n Kind: object\n Description: Mapa campo -> prioridade para ordenar campos do resumo quando o schema publica candidatos suficientes.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.groupPriority\n Category: inputs\n Kind: object\n Description: Mapa grupo -> prioridade para ordenar grupos do resumo quando o schema publica agrupamento semantico.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.columns\n Category: inputs\n Kind: number\n Description: Quantidade base de colunas para distribuir campos de resumo schema-driven sem criar FormConfig.sections locais.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.responsiveColumns\n Category: inputs\n Kind: object\n Description: Mapa de colunas por breakpoint xs/sm/md/lg/xl para detalhes read-only compactos em drawers, side sheets e desktop largo.\n\nComponent Capability:\n - Path: inputs.layoutPolicy.detailSummary.widthPrecedence\n Category: inputs\n Kind: enum\n Description: Define se larguras explicitas do schema ou a densidade do resumo controlam os spans no compactPresentation read-only.\n\nComponent Capability:\n - Path: inputs.fieldIconPolicy\n Category: inputs\n Kind: enum\n Description: Controla se icones prefix/suffix dos metadados aparecem em todos os modos, apenas apresentacao, ou nunca.\n\nComponent Capability:\n - Path: inputs.backConfig\n Category: inputs\n Kind: object\n Description: Configuracao de navegacao/retorno (BackConfig).\n\nComponent Capability:\n - Path: inputs.backConfig.strategy\n Category: inputs\n Kind: enum\n Description: Estrategia de retorno (auto/close/navigate).\n\nComponent Capability:\n - Path: inputs.backConfig.returnTo\n Category: inputs\n Kind: string\n Description: Rota para retornar quando strategy=navigate.\n\nComponent Capability:\n - Path: inputs.backConfig.confirmOnDirty\n Category: inputs\n Kind: boolean\n Description: Solicita confirmacao ao sair com mudancas nao salvas.\n\nComponent Capability:\n - Path: inputs.hooks\n Category: inputs\n Kind: object\n Description: Declaracoes de hooks fornecidas diretamente ao componente.\n\nComponent Capability:\n - Path: inputs.hooks.beforeInit[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes da inicializacao.\n\nComponent Capability:\n - Path: inputs.hooks.afterInit[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos a inicializacao.\n\nComponent Capability:\n - Path: inputs.hooks.beforeValidate[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes da validacao.\n\nComponent Capability:\n - Path: inputs.hooks.afterValidate[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos a validacao.\n\nComponent Capability:\n - Path: inputs.hooks.beforeSubmit[]\n Category: hooks\n Kind: array\n Description: Hooks executados antes do submit.\n\nComponent Capability:\n - Path: inputs.hooks.afterSubmit[]\n Category: hooks\n Kind: array\n Description: Hooks executados apos o submit.\n\nComponent Capability:\n - Path: inputs.hooks.onError[]\n Category: hooks\n Kind: array\n Description: Hooks executados em erros de submit/validacao.\n\nComponent Capability:\n - Path: inputs.removeEmptyContainersOnSave\n Category: inputs\n Kind: boolean\n Description: Remove containers vazios ao salvar configuracao.\n\nComponent Capability:\n - Path: inputs.reactiveValidation\n Category: inputs\n Kind: boolean\n Description: Ativa validacao reativa (afterValidate em valueChanges).\n\nComponent Capability:\n - Path: inputs.reactiveValidationDebounceMs\n Category: inputs\n Kind: number\n Description: Debounce em ms para validacao reativa.\n\nComponent Capability:\n - Path: inputs.notifyIfOutdated\n Category: inputs\n Kind: enum\n Description: Canal de notificacao para schema desatualizado.\n\nComponent Capability:\n - Path: inputs.snoozeMs\n Category: inputs\n Kind: number\n Description: Duracao do snooze para alertas de schema.\n\nComponent Capability:\n - Path: inputs.autoOpenSettingsOnOutdated\n Category: inputs\n Kind: boolean\n Description: Abre automaticamente o editor ao detectar schema desatualizado.\n\nComponent Capability:\n - Path: inputs.readonlyModeGlobal\n Category: inputs\n Kind: boolean\n Description: Forca modo somente leitura global.\n\nComponent Capability:\n - Path: inputs.disabledModeGlobal\n Category: inputs\n Kind: boolean\n Description: Forca modo desabilitado global.\n\nComponent Capability:\n - Path: inputs.presentationModeGlobal\n Category: inputs\n Kind: boolean\n Description: Ativa modo de apresentacao global (somente view).\n\nComponent Capability:\n - Path: inputs.visibleGlobal\n Category: inputs\n Kind: boolean\n Description: Forca visibilidade global dos campos.\n\nComponent Capability:\n - Path: inputs.customEndpoints\n Category: inputs\n Kind: object\n Description: Override de endpoints CRUD (EndpointConfig).\n\nComponent Capability:\n - Path: inputs.customEndpoints.getAll\n Category: inputs\n Kind: string\n Description: Endpoint customizado para listar registros.\n\nComponent Capability:\n - Path: inputs.customEndpoints.getById\n Category: inputs\n Kind: string\n Description: Endpoint customizado para obter registro por ID.\n\nComponent Capability:\n - Path: inputs.customEndpoints.create\n Category: inputs\n Kind: string\n Description: Endpoint customizado para criar registro.",
|
|
6375
6387
|
"sourcePointer": "projects/praxis-dynamic-form/src/lib/ai/form-ai-capabilities.ts",
|
|
6376
|
-
"contentHash": "
|
|
6388
|
+
"contentHash": "d8a5bd44a76042ef92898e9140289bc09495b4ae07573b497e95c9abdc1ab4a7",
|
|
6377
6389
|
"sourceKind": "component_definition",
|
|
6378
6390
|
"sourceId": "praxis-filter-form-dialog-host",
|
|
6379
6391
|
"corpusVersion": "1.0.0"
|
|
@@ -6381,9 +6393,9 @@
|
|
|
6381
6393
|
{
|
|
6382
6394
|
"chunkIndex": 12,
|
|
6383
6395
|
"chunkKind": "capabilities",
|
|
6384
|
-
"content": "Component Capability:\n - Path: inputs.config.presentation\n Category: appearance\n Kind: object\n Description: Preferencias visuais persistidas no config.\n\nComponent Capability:\n - Path: inputs.config.presentation.labelFontSize\n Category: appearance\n Kind: number\n Description: Tamanho da fonte do label (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.valueFontSize\n Category: appearance\n Kind: number\n Description: Tamanho da fonte do valor (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.labelPosition\n Category: appearance\n Kind: enum\n Description: Posicionamento do label (above/left).\n\nComponent Capability:\n - Path: inputs.config.presentation.compact\n Category: appearance\n Kind: boolean\n Description: Modo compacto de apresentacao.\n\nComponent Capability:\n - Path: inputs.config.presentation.density\n Category: appearance\n Kind: enum\n Description: Densidade visual global.\n\nComponent Capability:\n - Path: inputs.config.presentation.labelWidth\n Category: appearance\n Kind: number\n Description: Largura do label (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.labelAlign\n Category: appearance\n Kind: enum\n Description: Alinhamento do label.\n\nComponent Capability:\n - Path: inputs.config.presentation.valueAlign\n Category: appearance\n Kind: enum\n Description: Alinhamento do valor.\n\nComponent Capability:\n - Path: outputs.formSubmit\n Category: outputs\n Kind: object\n Description: Evento emitido no submit do formulario.\n\nComponent Capability:\n - Path: outputs.formCancel\n Category: outputs\n Kind: object\n Description: Evento emitido ao cancelar.\n\nComponent Capability:\n - Path: outputs.formReset\n Category: outputs\n Kind: object\n Description: Evento emitido ao resetar o formulario.\n\nComponent Capability:\n - Path: outputs.configChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando a configuracao muda.\n\nComponent Capability:\n - Path: outputs.formReady\n Category: outputs\n Kind: object\n Description: Evento emitido quando o formulario esta pronto.\n\nComponent Capability:\n - Path: outputs.valueChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o valor do formulario muda.\n\nComponent Capability:\n - Path: outputs.syncCompleted\n Category: outputs\n Kind: object\n Description: Evento emitido ao completar sincronizacao com schema.\n\nComponent Capability:\n - Path: outputs.initializationError\n Category: outputs\n Kind: object\n Description: Evento emitido quando ocorre erro na inicializacao.\n\nComponent Capability:\n - Path: outputs.enableCustomizationChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o modo de customizacao muda.\n\nComponent Capability:\n - Path: outputs.customAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao disparar acao customizada.\n\nComponent Capability:\n - Path: outputs.actionConfirmation\n Category: outputs\n Kind: object\n Description: Evento emitido quando acao requer confirmacao.\n\nComponent Capability:\n - Path: outputs.schemaStatusChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o status do schema muda.\n\nCapability Note:\n - Este catalogo descreve inputs e outputs do componente.\n\nCapability Note:\n - O objeto inputs.config segue o schema de FormConfig (veja form-ai-capabilities).\n\nCapability Note:\n - inputs.config.presentation e uma extensao de runtime aplicada pelo componente.\n\nCapability Note:\n - Preferir FormConfig (sections/fieldMetadata) em vez do layout legado (fieldsets).\n\nCapability Note:\n - Use inputs.editorialContext apenas para override de contexto editorial do host; a precedencia final e runtime < config.editorialContext < host.\n\nCapability Note:\n - rich content editorial hospedado pelo form pode ser renderizado em tres slots semanticos: before, beforeActions e after.",
|
|
6396
|
+
"content": "Component Capability:\n - Path: inputs.customEndpoints.update\n Category: inputs\n Kind: string\n Description: Endpoint customizado para atualizar registro.\n\nComponent Capability:\n - Path: inputs.customEndpoints.delete\n Category: inputs\n Kind: string\n Description: Endpoint customizado para deletar registro.\n\nComponent Capability:\n - Path: inputs.customEndpoints.filter\n Category: inputs\n Kind: string\n Description: Endpoint customizado para filtro.\n\nComponent Capability:\n - Path: inputs.customEndpoints.schema\n Category: inputs\n Kind: string\n Description: Endpoint customizado para schemas.\n\nComponent Capability:\n - Path: inputs.config.presentation\n Category: appearance\n Kind: object\n Description: Preferencias visuais persistidas no config.\n\nComponent Capability:\n - Path: inputs.config.presentation.labelFontSize\n Category: appearance\n Kind: number\n Description: Tamanho da fonte do label (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.valueFontSize\n Category: appearance\n Kind: number\n Description: Tamanho da fonte do valor (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.labelPosition\n Category: appearance\n Kind: enum\n Description: Posicionamento do label (above/left).\n\nComponent Capability:\n - Path: inputs.config.presentation.compact\n Category: appearance\n Kind: boolean\n Description: Modo compacto de apresentacao.\n\nComponent Capability:\n - Path: inputs.config.presentation.density\n Category: appearance\n Kind: enum\n Description: Densidade visual global.\n\nComponent Capability:\n - Path: inputs.config.presentation.labelWidth\n Category: appearance\n Kind: number\n Description: Largura do label (px).\n\nComponent Capability:\n - Path: inputs.config.presentation.labelAlign\n Category: appearance\n Kind: enum\n Description: Alinhamento do label.\n\nComponent Capability:\n - Path: inputs.config.presentation.valueAlign\n Category: appearance\n Kind: enum\n Description: Alinhamento do valor.\n\nComponent Capability:\n - Path: outputs.formSubmit\n Category: outputs\n Kind: object\n Description: Evento emitido no submit do formulario.\n\nComponent Capability:\n - Path: outputs.formCancel\n Category: outputs\n Kind: object\n Description: Evento emitido ao cancelar.\n\nComponent Capability:\n - Path: outputs.formReset\n Category: outputs\n Kind: object\n Description: Evento emitido ao resetar o formulario.\n\nComponent Capability:\n - Path: outputs.configChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando a configuracao muda.\n\nComponent Capability:\n - Path: outputs.formReady\n Category: outputs\n Kind: object\n Description: Evento emitido quando o formulario esta pronto.\n\nComponent Capability:\n - Path: outputs.valueChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o valor do formulario muda.\n\nComponent Capability:\n - Path: outputs.syncCompleted\n Category: outputs\n Kind: object\n Description: Evento emitido ao completar sincronizacao com schema.\n\nComponent Capability:\n - Path: outputs.initializationError\n Category: outputs\n Kind: object\n Description: Evento emitido quando ocorre erro na inicializacao.\n\nComponent Capability:\n - Path: outputs.enableCustomizationChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o modo de customizacao muda.\n\nComponent Capability:\n - Path: outputs.customAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao disparar acao customizada.\n\nComponent Capability:\n - Path: outputs.actionConfirmation\n Category: outputs\n Kind: object\n Description: Evento emitido quando acao requer confirmacao.\n\nComponent Capability:\n - Path: outputs.schemaStatusChange\n Category: outputs\n Kind: object\n Description: Evento emitido quando o status do schema muda.\n\nCapability Note:\n - Este catalogo descreve inputs e outputs do componente.\n\nCapability Note:\n - O objeto inputs.config segue o schema de FormConfig (veja form-ai-capabilities).\n\nCapability Note:\n - inputs.config.presentation e uma extensao de runtime aplicada pelo componente.\n\nCapability Note:\n - Preferir FormConfig (sections/fieldMetadata) em vez do layout legado (fieldsets).\n\nCapability Note:\n - Use inputs.editorialContext apenas para override de contexto editorial do host; a precedencia final e runtime < config.editorialContext < host.\n\nCapability Note:\n - rich content editorial hospedado pelo form pode ser renderizado em tres slots semanticos: before, beforeActions e after.",
|
|
6385
6397
|
"sourcePointer": "projects/praxis-dynamic-form/src/lib/ai/form-ai-capabilities.ts",
|
|
6386
|
-
"contentHash": "
|
|
6398
|
+
"contentHash": "8cde02bbb0100a17feb34ecf1e03642b852a82d237170763ad456693ee7b8789",
|
|
6387
6399
|
"sourceKind": "component_definition",
|
|
6388
6400
|
"sourceId": "praxis-filter-form-dialog-host",
|
|
6389
6401
|
"corpusVersion": "1.0.0"
|
|
@@ -9989,6 +10001,17 @@
|
|
|
9989
10001
|
],
|
|
9990
10002
|
"example": "\"Nenhum registro encontrado.\""
|
|
9991
10003
|
},
|
|
10004
|
+
{
|
|
10005
|
+
"path": "behavior.emptyState.actions",
|
|
10006
|
+
"category": "behavior",
|
|
10007
|
+
"valueKind": "array",
|
|
10008
|
+
"description": "Ações contextuais explícitas do estado vazio.",
|
|
10009
|
+
"intentExamples": [
|
|
10010
|
+
"adicionar uma ação contextual quando não há dados"
|
|
10011
|
+
],
|
|
10012
|
+
"example": "[{ \"label\": \"Importar arquivo\", \"action\": \"import\", \"primary\": true }]",
|
|
10013
|
+
"safetyNotes": "Não repita CREATE quando a capability já o materializa como ação primária estável da toolbar. Use este path somente para uma intenção contextual distinta."
|
|
10014
|
+
},
|
|
9992
10015
|
{
|
|
9993
10016
|
"path": "behavior.resizing.enabled",
|
|
9994
10017
|
"category": "behavior",
|
|
@@ -11013,6 +11036,18 @@
|
|
|
11013
11036
|
"dependsOn": "toolbar.visible",
|
|
11014
11037
|
"safetyNotes": "Invalid Json Logic falha fechado; a acao nao deve ser exibida em nenhum ambiente."
|
|
11015
11038
|
},
|
|
11039
|
+
{
|
|
11040
|
+
"path": "actions.collection.discovery.enabled",
|
|
11041
|
+
"category": "actions",
|
|
11042
|
+
"valueKind": "boolean",
|
|
11043
|
+
"description": "Controla a materialização de ações de coleção descobertas por HATEOAS/capabilities.",
|
|
11044
|
+
"critical": true,
|
|
11045
|
+
"intentExamples": [
|
|
11046
|
+
"desligar ações descobertas no seletor",
|
|
11047
|
+
"manter somente ações explícitas da coleção"
|
|
11048
|
+
],
|
|
11049
|
+
"safetyNotes": "Desabilitar não remove ações explícitas, ações por linha, leitura remota, schema ou paginação."
|
|
11050
|
+
},
|
|
11016
11051
|
{
|
|
11017
11052
|
"path": "actions.row.enabled",
|
|
11018
11053
|
"category": "actions",
|
|
@@ -15872,13 +15907,15 @@
|
|
|
15872
15907
|
"rules": [
|
|
15873
15908
|
"message deve ser texto curto.",
|
|
15874
15909
|
"actions[].action deve ser string de acao.",
|
|
15910
|
+
"actions deve representar uma intencao contextual distinta; CREATE capability-governado permanece na toolbar e nao deve ser duplicado.",
|
|
15875
15911
|
"contexts permite variações por cenário."
|
|
15876
15912
|
],
|
|
15877
15913
|
"examples": [
|
|
15878
|
-
"{ behavior: { emptyState: { message: \"Sem dados\", actions: [{ label: \"
|
|
15914
|
+
"{ behavior: { emptyState: { message: \"Sem dados\", actions: [{ label: \"Importar arquivo\", action: \"import\", primary: true }] } } }"
|
|
15879
15915
|
],
|
|
15880
15916
|
"antiPatterns": [
|
|
15881
|
-
"{ behavior: { emptyState: { message: \"\" } } }"
|
|
15917
|
+
"{ behavior: { emptyState: { message: \"\" } } }",
|
|
15918
|
+
"{ toolbar: { actions: [{ action: \"create\" }] }, behavior: { emptyState: { actions: [{ action: \"create\" }] } } }"
|
|
15882
15919
|
]
|
|
15883
15920
|
},
|
|
15884
15921
|
"behavior-virtualization": {
|
|
@@ -16036,6 +16073,7 @@
|
|
|
16036
16073
|
"description": "Configuração de toolbar.filters.* e quickFilters.",
|
|
16037
16074
|
"rules": [
|
|
16038
16075
|
"quickFilters[].filter deve seguir a estrutura do filtro suportado.",
|
|
16076
|
+
"quickFilters representa um pequeno seletor de escopo exclusivo e removível; use filtros avançados para critérios combináveis.",
|
|
16039
16077
|
"enabled depende de behavior.filtering.enabled."
|
|
16040
16078
|
],
|
|
16041
16079
|
"examples": [
|
|
@@ -26838,6 +26876,7 @@
|
|
|
26838
26876
|
{
|
|
26839
26877
|
"operationId": "behavior.emptyState.configure",
|
|
26840
26878
|
"title": "Configurar estado vazio",
|
|
26879
|
+
"description": "Configura copy, apresentação e ações contextuais explícitas do estado vazio. Não duplica CREATE capability-governado, que permanece como ação primária estável da toolbar.",
|
|
26841
26880
|
"scope": "global",
|
|
26842
26881
|
"targetKind": "emptyState",
|
|
26843
26882
|
"target": {
|
|
@@ -27293,6 +27332,54 @@
|
|
|
27293
27332
|
"config-initialized"
|
|
27294
27333
|
]
|
|
27295
27334
|
},
|
|
27335
|
+
{
|
|
27336
|
+
"operationId": "actions.collection.configure",
|
|
27337
|
+
"title": "Configurar descoberta de acoes da colecao",
|
|
27338
|
+
"scope": "global",
|
|
27339
|
+
"targetKind": "toolbar",
|
|
27340
|
+
"target": {
|
|
27341
|
+
"kind": "toolbar",
|
|
27342
|
+
"resolver": "toolbar-config",
|
|
27343
|
+
"ambiguityPolicy": "fail",
|
|
27344
|
+
"required": false
|
|
27345
|
+
},
|
|
27346
|
+
"inputSchema": {
|
|
27347
|
+
"type": "object",
|
|
27348
|
+
"required": [
|
|
27349
|
+
"discovery"
|
|
27350
|
+
],
|
|
27351
|
+
"properties": {
|
|
27352
|
+
"discovery": {
|
|
27353
|
+
"type": "object",
|
|
27354
|
+
"required": [
|
|
27355
|
+
"enabled"
|
|
27356
|
+
],
|
|
27357
|
+
"properties": {
|
|
27358
|
+
"enabled": {
|
|
27359
|
+
"type": "boolean"
|
|
27360
|
+
}
|
|
27361
|
+
}
|
|
27362
|
+
}
|
|
27363
|
+
}
|
|
27364
|
+
},
|
|
27365
|
+
"effects": [
|
|
27366
|
+
{
|
|
27367
|
+
"kind": "merge-object",
|
|
27368
|
+
"path": "actions.collection"
|
|
27369
|
+
}
|
|
27370
|
+
],
|
|
27371
|
+
"affectedPaths": [
|
|
27372
|
+
"actions.collection",
|
|
27373
|
+
"actions.collection.discovery.enabled"
|
|
27374
|
+
],
|
|
27375
|
+
"validators": [
|
|
27376
|
+
"editor-round-trip-preserve"
|
|
27377
|
+
],
|
|
27378
|
+
"submissionImpact": "config-only",
|
|
27379
|
+
"preconditions": [
|
|
27380
|
+
"config-initialized"
|
|
27381
|
+
]
|
|
27382
|
+
},
|
|
27296
27383
|
{
|
|
27297
27384
|
"operationId": "actions.row.configure",
|
|
27298
27385
|
"title": "Configurar acoes de linha",
|
|
@@ -29405,9 +29492,9 @@
|
|
|
29405
29492
|
{
|
|
29406
29493
|
"chunkIndex": 7,
|
|
29407
29494
|
"chunkKind": "capabilities",
|
|
29408
|
-
"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.
|
|
29495
|
+
"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.emptyState.actions\n Category: behavior\n Kind: array\n Description: Ações contextuais explícitas do estado vazio.\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).",
|
|
29409
29496
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29410
|
-
"contentHash": "
|
|
29497
|
+
"contentHash": "ccb056e10a74740ec6ff9f5d0c5ba6d4931a175dc80cf46b522e828658bc0f37",
|
|
29411
29498
|
"sourceKind": "component_definition",
|
|
29412
29499
|
"sourceId": "praxis-table",
|
|
29413
29500
|
"corpusVersion": "1.0.0"
|
|
@@ -29415,9 +29502,9 @@
|
|
|
29415
29502
|
{
|
|
29416
29503
|
"chunkIndex": 8,
|
|
29417
29504
|
"chunkKind": "capabilities",
|
|
29418
|
-
"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
|
|
29505
|
+
"content": "Schema 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.\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.",
|
|
29419
29506
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29420
|
-
"contentHash": "
|
|
29507
|
+
"contentHash": "dfd3275c9720f3194f237345d7f0902d64c44259627fca93ecdef820d46e9cef",
|
|
29421
29508
|
"sourceKind": "component_definition",
|
|
29422
29509
|
"sourceId": "praxis-table",
|
|
29423
29510
|
"corpusVersion": "1.0.0"
|
|
@@ -29425,9 +29512,9 @@
|
|
|
29425
29512
|
{
|
|
29426
29513
|
"chunkIndex": 9,
|
|
29427
29514
|
"chunkKind": "capabilities",
|
|
29428
|
-
"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
|
|
29515
|
+
"content": "Schema 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.\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.",
|
|
29429
29516
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29430
|
-
"contentHash": "
|
|
29517
|
+
"contentHash": "622ba5729e8008611797807f32c1de921d762f5fdea9061c0c5ec3dd37762ffd",
|
|
29431
29518
|
"sourceKind": "component_definition",
|
|
29432
29519
|
"sourceId": "praxis-table",
|
|
29433
29520
|
"corpusVersion": "1.0.0"
|
|
@@ -29435,9 +29522,9 @@
|
|
|
29435
29522
|
{
|
|
29436
29523
|
"chunkIndex": 10,
|
|
29437
29524
|
"chunkKind": "capabilities",
|
|
29438
|
-
"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
|
|
29525
|
+
"content": "Schema 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.\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.collection.discovery.enabled\n Category: actions\n Kind: boolean\n Description: Controla a materialização de ações de coleção descobertas por HATEOAS/capabilities.\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.",
|
|
29439
29526
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29440
|
-
"contentHash": "
|
|
29527
|
+
"contentHash": "e23863e2446228d07a337bbab8357219f6857f7a3d33a0c37022f19955ada195",
|
|
29441
29528
|
"sourceKind": "component_definition",
|
|
29442
29529
|
"sourceId": "praxis-table",
|
|
29443
29530
|
"corpusVersion": "1.0.0"
|
|
@@ -29445,9 +29532,9 @@
|
|
|
29445
29532
|
{
|
|
29446
29533
|
"chunkIndex": 11,
|
|
29447
29534
|
"chunkKind": "capabilities",
|
|
29448
|
-
"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)
|
|
29535
|
+
"content": "Schema 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).\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).",
|
|
29449
29536
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29450
|
-
"contentHash": "
|
|
29537
|
+
"contentHash": "138af448d91b504b7d5aa33482db1a81a0019d8693d63fd73fc4ec804c963efe",
|
|
29451
29538
|
"sourceKind": "component_definition",
|
|
29452
29539
|
"sourceId": "praxis-table",
|
|
29453
29540
|
"corpusVersion": "1.0.0"
|
|
@@ -29455,9 +29542,9 @@
|
|
|
29455
29542
|
{
|
|
29456
29543
|
"chunkIndex": 12,
|
|
29457
29544
|
"chunkKind": "capabilities",
|
|
29458
|
-
"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).",
|
|
29545
|
+
"content": "Schema 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.\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).",
|
|
29459
29546
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
29460
|
-
"contentHash": "
|
|
29547
|
+
"contentHash": "0a659b5dc4e9647f43285ac2361b80ab3417ba97aaeb5b92db01c6cc3810301e",
|
|
29461
29548
|
"sourceKind": "component_definition",
|
|
29462
29549
|
"sourceId": "praxis-table",
|
|
29463
29550
|
"corpusVersion": "1.0.0"
|
|
@@ -29985,9 +30072,9 @@
|
|
|
29985
30072
|
{
|
|
29986
30073
|
"chunkIndex": 65,
|
|
29987
30074
|
"chunkKind": "authoring_manifest",
|
|
29988
|
-
"content": "{\"operationId\":\"behavior.emptyState.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar estado vazio Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"required\":false},\"inputContract\":{\"required\":[\"message\"],\"properties\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\"],\"semanticTerms\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\",\"neutral\",\"primary\",\"secondary\",\"card\",\"inline\",\"panel\",\"transparent\",\"start\",\"center\",\"compact\",\"comfortable\",\"none\",\"circle\",\"soft\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.emptyState\"],\"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\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
30075
|
+
"content": "{\"operationId\":\"behavior.emptyState.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar estado vazio Configura copy, apresentação e ações contextuais explícitas do estado vazio. Não duplica CREATE capability-governado, que permanece como ação primária estável da toolbar. Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"required\":false},\"inputContract\":{\"required\":[\"message\"],\"properties\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\"],\"semanticTerms\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\",\"neutral\",\"primary\",\"secondary\",\"card\",\"inline\",\"panel\",\"transparent\",\"start\",\"center\",\"compact\",\"comfortable\",\"none\",\"circle\",\"soft\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.emptyState\"],\"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\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
29989
30076
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
29990
|
-
"contentHash": "
|
|
30077
|
+
"contentHash": "6a3c22fa4e852f17fb3d5681585d5c5db79cc0cf43a7787db65867db2e44edf7",
|
|
29991
30078
|
"sourceKind": "component_definition",
|
|
29992
30079
|
"sourceId": "praxis-table",
|
|
29993
30080
|
"corpusVersion": "1.0.0"
|
|
@@ -30035,6 +30122,16 @@
|
|
|
30035
30122
|
{
|
|
30036
30123
|
"chunkIndex": 70,
|
|
30037
30124
|
"chunkKind": "authoring_manifest",
|
|
30125
|
+
"content": "{\"operationId\":\"actions.collection.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar descoberta de acoes da colecao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"required\":false},\"inputContract\":{\"required\":[\"discovery\"],\"properties\":[\"discovery\"],\"semanticTerms\":[\"discovery\",\"discovery.enabled\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.collection\",\"actions.collection.discovery.enabled\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30126
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
30127
|
+
"contentHash": "7a1547660867fa9ebaf4c1366a3b5d8ac638848e4db21f70d731f637fca2b0f6",
|
|
30128
|
+
"sourceKind": "component_definition",
|
|
30129
|
+
"sourceId": "praxis-table",
|
|
30130
|
+
"corpusVersion": "1.0.0"
|
|
30131
|
+
},
|
|
30132
|
+
{
|
|
30133
|
+
"chunkIndex": 71,
|
|
30134
|
+
"chunkKind": "authoring_manifest",
|
|
30038
30135
|
"content": "{\"operationId\":\"actions.row.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acoes de linha Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"display\",\"trigger\",\"discovery\"],\"semanticTerms\":[\"enabled\",\"display\",\"trigger\",\"discovery\",\"menu\",\"buttons\",\"icons\",\"hover\",\"always\",\"click\",\"discovery.enabled\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.row\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30039
30136
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
30040
30137
|
"contentHash": "5d3aaa5017909b156c7f787809485fa1508c3847650e03d936cb179bb37bd6d7",
|
|
@@ -30043,7 +30140,7 @@
|
|
|
30043
30140
|
"corpusVersion": "1.0.0"
|
|
30044
30141
|
},
|
|
30045
30142
|
{
|
|
30046
|
-
"chunkIndex":
|
|
30143
|
+
"chunkIndex": 72,
|
|
30047
30144
|
"chunkKind": "authoring_manifest",
|
|
30048
30145
|
"content": "{\"operationId\":\"actions.bulk.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acoes em lote Effects: merge-object. Habilitar acoes em lote na toolbar\",\"scope\":\"global\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"position\"],\"semanticTerms\":[\"enabled\",\"position\",\"toolbar\",\"floating\",\"both\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.bulk\"],\"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\":\"configure-bulk-actions\",\"request\":\"Habilitar acoes em lote na toolbar\",\"operationId\":\"actions.bulk.configure\",\"params\":{\"enabled\":true,\"position\":\"toolbar\"},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
30049
30146
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30053,7 +30150,7 @@
|
|
|
30053
30150
|
"corpusVersion": "1.0.0"
|
|
30054
30151
|
},
|
|
30055
30152
|
{
|
|
30056
|
-
"chunkIndex":
|
|
30153
|
+
"chunkIndex": 73,
|
|
30057
30154
|
"chunkKind": "authoring_manifest",
|
|
30058
30155
|
"content": "{\"operationId\":\"actions.context.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar menu contextual Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"trigger\"],\"semanticTerms\":[\"enabled\",\"trigger\",\"right-click\",\"long-press\",\"both\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.context\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30059
30156
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30063,7 +30160,7 @@
|
|
|
30063
30160
|
"corpusVersion": "1.0.0"
|
|
30064
30161
|
},
|
|
30065
30162
|
{
|
|
30066
|
-
"chunkIndex":
|
|
30163
|
+
"chunkIndex": 74,
|
|
30067
30164
|
"chunkKind": "authoring_manifest",
|
|
30068
30165
|
"content": "{\"operationId\":\"actions.confirmations.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar confirmacoes Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"required\":false},\"inputContract\":{\"required\":[\"default\"],\"properties\":[\"default\"],\"semanticTerms\":[\"default\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.confirmations.default\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30069
30166
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30073,7 +30170,7 @@
|
|
|
30073
30170
|
"corpusVersion": "1.0.0"
|
|
30074
30171
|
},
|
|
30075
30172
|
{
|
|
30076
|
-
"chunkIndex":
|
|
30173
|
+
"chunkIndex": 75,
|
|
30077
30174
|
"chunkKind": "authoring_manifest",
|
|
30078
30175
|
"content": "{\"operationId\":\"export.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar exportacao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"formats\",\"general\",\"excel\",\"pdf\",\"csv\"],\"semanticTerms\":[\"enabled\",\"formats\",\"general\",\"excel\",\"pdf\",\"csv\",\"general.includeHeaders\",\"general.scope\",\"general.maxRows\",\"excel.autoFitColumns\",\"excel.visibleCurrentPage\",\"pdf.orientation\",\"pdf.pageSize\",\"csv.delimiter\",\"json\",\"print\",\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\",\"portrait\",\"landscape\",\"A4\",\"A3\",\"Letter\",\"Legal\",\",\",\";\",\"|\",\"\\\\t\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"export\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30079
30176
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30083,7 +30180,7 @@
|
|
|
30083
30180
|
"corpusVersion": "1.0.0"
|
|
30084
30181
|
},
|
|
30085
30182
|
{
|
|
30086
|
-
"chunkIndex":
|
|
30183
|
+
"chunkIndex": 76,
|
|
30087
30184
|
"chunkKind": "authoring_manifest",
|
|
30088
30185
|
"content": "{\"operationId\":\"tableRuntimeOperations.plan\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Planejar operacoes runtime da tabela Effects: set-value.\",\"scope\":\"global\",\"target\":{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"required\":false},\"inputContract\":{\"required\":[\"operations\"],\"properties\":[\"operations\"],\"semanticTerms\":[\"operations\",\"operations.operationId\",\"operations.input\",\"operations.description\",\"table.filter.apply\",\"table.export.run\",\"operations.input.criteria\",\"operations.input.format\",\"operations.input.scope\",\"excel\",\"pdf\",\"csv\",\"json\",\"print\",\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]},\"effects\":[\"set-value\"],\"affectedPaths\":[\"tableRuntimeOperations\"],\"validators\":[{\"validatorId\":\"runtime-operation-declared\",\"level\":\"error\",\"code\":\"TB019\",\"description\":\"Operacoes runtime devem usar operationId e input declarados em tableRuntimeOperations sem alterar a configuracao persistida.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"none\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
30089
30186
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30093,7 +30190,7 @@
|
|
|
30093
30190
|
"corpusVersion": "1.0.0"
|
|
30094
30191
|
},
|
|
30095
30192
|
{
|
|
30096
|
-
"chunkIndex":
|
|
30193
|
+
"chunkIndex": 77,
|
|
30097
30194
|
"chunkKind": "authoring_manifest",
|
|
30098
30195
|
"content": "{\"operationId\":\"appearance.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar aparencia Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"density\",\"borders\",\"colors\",\"typography\",\"spacing\",\"responsive\",\"animations\",\"elevation\"],\"semanticTerms\":[\"density\",\"borders\",\"colors\",\"typography\",\"spacing\",\"responsive\",\"animations\",\"elevation\",\"compact\",\"comfortable\",\"spacious\",\"borders.showRowBorders\",\"borders.showColumnBorders\",\"borders.showOuterBorder\",\"borders.style\",\"colors.alternateRowBackground\",\"colors.hoverBackground\",\"typography.fontSize\",\"typography.headerFontWeight\",\"spacing.cellPadding\",\"responsive.mobile\",\"responsive.breakpoints\",\"animations.enabled\",\"elevation.level\",\"solid\",\"dashed\",\"dotted\",\"responsive.mobile.horizontalScroll\",\"responsive.mobile.cardMode\",\"responsive.mobile.priorityColumns\",\"responsive.breakpoints.mobile\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"appearance\"],\"validators\":[{\"validatorId\":\"css-style-safe\",\"level\":\"error\",\"code\":\"TB014\",\"description\":\"Estilos inline devem permanecer em CSS simples e seguro, sem scripts, URLs perigosas ou expressoes dinamicas.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
30099
30196
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30103,7 +30200,7 @@
|
|
|
30103
30200
|
"corpusVersion": "1.0.0"
|
|
30104
30201
|
},
|
|
30105
30202
|
{
|
|
30106
|
-
"chunkIndex":
|
|
30203
|
+
"chunkIndex": 78,
|
|
30107
30204
|
"chunkKind": "authoring_manifest",
|
|
30108
30205
|
"content": "{\"operationId\":\"messages.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar mensagens Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"states\",\"actions\"],\"semanticTerms\":[\"states\",\"actions\",\"states.empty\",\"states.loading\",\"actions.confirmations\",\"actions.confirmations.delete\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"messages\"],\"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\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
30109
30206
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30113,7 +30210,7 @@
|
|
|
30113
30210
|
"corpusVersion": "1.0.0"
|
|
30114
30211
|
},
|
|
30115
30212
|
{
|
|
30116
|
-
"chunkIndex":
|
|
30213
|
+
"chunkIndex": 79,
|
|
30117
30214
|
"chunkKind": "authoring_manifest",
|
|
30118
30215
|
"content": "{\"operationId\":\"localization.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar localizacao Effects: merge-object. Configurar a tabela para portugues do Brasil\",\"scope\":\"global\",\"target\":{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"locale\",\"direction\",\"dateTime\",\"number\",\"currency\",\"formatting\"],\"semanticTerms\":[\"locale\",\"direction\",\"dateTime\",\"number\",\"currency\",\"formatting\",\"ltr\",\"rtl\",\"dateTime.dateFormat\",\"dateTime.timeFormat\",\"dateTime.dateTimeFormat\",\"dateTime.firstDayOfWeek\",\"dateTime.relativeTime\",\"dateTime.monthNames\",\"dateTime.dayNames\",\"number.decimalSeparator\",\"number.thousandsSeparator\",\"number.defaultPrecision\",\"number.negativeSign\",\"number.negativeSignPosition\",\"currency.code\",\"currency.symbol\",\"currency.position\",\"currency.spacing\",\"currency.precision\",\"formatting.percentageFormat\",\"formatting.fileSizeFormat\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"before\",\"after\",\"binary\",\"decimal\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"localization\"],\"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\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-localization\",\"request\":\"Configurar a tabela para portugues do Brasil\",\"operationId\":\"localization.configure\",\"params\":{\"locale\":\"pt-BR\",\"direction\":\"ltr\",\"dateTime\":{\"dateFormat\":\"dd/MM/yyyy\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
30119
30216
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30123,7 +30220,7 @@
|
|
|
30123
30220
|
"corpusVersion": "1.0.0"
|
|
30124
30221
|
},
|
|
30125
30222
|
{
|
|
30126
|
-
"chunkIndex":
|
|
30223
|
+
"chunkIndex": 80,
|
|
30127
30224
|
"chunkKind": "authoring_manifest",
|
|
30128
30225
|
"content": "{\"operationId\":\"performance.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar performance Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"virtualization\",\"debounce\",\"lazyLoading\"],\"semanticTerms\":[\"virtualization\",\"debounce\",\"lazyLoading\",\"virtualization.enabled\",\"virtualization.itemHeight\",\"debounce.search\",\"debounce.filter\",\"lazyLoading.images\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"performance\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30129
30226
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30133,7 +30230,7 @@
|
|
|
30133
30230
|
"corpusVersion": "1.0.0"
|
|
30134
30231
|
},
|
|
30135
30232
|
{
|
|
30136
|
-
"chunkIndex":
|
|
30233
|
+
"chunkIndex": 81,
|
|
30137
30234
|
"chunkKind": "authoring_manifest",
|
|
30138
30235
|
"content": "{\"operationId\":\"data.loadingStrategy.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Definir estrategia de carregamento Effects: set-value.\",\"scope\":\"global\",\"target\":{\"kind\":\"data\",\"resolver\":\"data-config\",\"required\":false},\"inputContract\":{\"required\":[\"loadingStrategy\"],\"properties\":[\"loadingStrategy\"],\"semanticTerms\":[\"loadingStrategy\",\"eager\",\"lazy\",\"on-demand\"]},\"effects\":[\"set-value\"],\"affectedPaths\":[\"data.loadingStrategy\"],\"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\":[],\"negativeExamples\":[]}",
|
|
30139
30236
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30143,7 +30240,7 @@
|
|
|
30143
30240
|
"corpusVersion": "1.0.0"
|
|
30144
30241
|
},
|
|
30145
30242
|
{
|
|
30146
|
-
"chunkIndex":
|
|
30243
|
+
"chunkIndex": 82,
|
|
30147
30244
|
"chunkKind": "authoring_manifest",
|
|
30148
30245
|
"content": "{\"operationId\":\"accessibility.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acessibilidade Effects: merge-object. Ativar alto contraste e reduzir animacoes\",\"scope\":\"global\",\"target\":{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"highContrast\",\"reduceMotion\",\"announcements\",\"keyboard\"],\"semanticTerms\":[\"enabled\",\"highContrast\",\"reduceMotion\",\"announcements\",\"keyboard\",\"announcements.liveRegion\",\"keyboard.shortcuts\",\"polite\",\"assertive\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"accessibility\"],\"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\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-accessibility\",\"request\":\"Ativar alto contraste e reduzir animacoes\",\"operationId\":\"accessibility.configure\",\"params\":{\"enabled\":true,\"highContrast\":true,\"reduceMotion\":true,\"announcements\":{\"liveRegion\":\"polite\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
30149
30246
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30153,7 +30250,7 @@
|
|
|
30153
30250
|
"corpusVersion": "1.0.0"
|
|
30154
30251
|
},
|
|
30155
30252
|
{
|
|
30156
|
-
"chunkIndex":
|
|
30253
|
+
"chunkIndex": 83,
|
|
30157
30254
|
"chunkKind": "authoring_manifest",
|
|
30158
30255
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"identity\"}",
|
|
30159
30256
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30163,7 +30260,7 @@
|
|
|
30163
30260
|
"corpusVersion": "1.0.0"
|
|
30164
30261
|
},
|
|
30165
30262
|
{
|
|
30166
|
-
"chunkIndex":
|
|
30263
|
+
"chunkIndex": 84,
|
|
30167
30264
|
"chunkKind": "authoring_manifest",
|
|
30168
30265
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"runtimeInputs\",\"runtimeInputs\":[{\"name\":\"config\",\"type\":\"TableConfig\",\"description\":\"Configuração completa da tabela\"},{\"name\":\"data\",\"type\":\"any[]\",\"description\":\"Dados a serem exibidos (modo client-side)\"},{\"name\":\"resourcePath\",\"type\":\"string\",\"description\":\"Caminho do recurso (API base)\"},{\"name\":\"queryContext\",\"type\":\"PraxisDataQueryContext\",\"description\":\"Contexto de consulta declarativo\"},{\"name\":\"title\",\"type\":\"string\",\"description\":\"Título da tabela\"},{\"name\":\"subtitle\",\"type\":\"string\",\"description\":\"Subtítulo da tabela\"},{\"name\":\"enableCustomization\",\"type\":\"boolean\",\"description\":\"Habilita modo de edição\"},{\"name\":\"authoringCapability\",\"type\":\"string\",\"description\":\"Capability pública do contexto corporativo exigida para materializar authoring governado.\"}]}",
|
|
30169
30266
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30173,7 +30270,7 @@
|
|
|
30173
30270
|
"corpusVersion": "1.0.0"
|
|
30174
30271
|
},
|
|
30175
30272
|
{
|
|
30176
|
-
"chunkIndex":
|
|
30273
|
+
"chunkIndex": 85,
|
|
30177
30274
|
"chunkKind": "authoring_manifest",
|
|
30178
30275
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"editableTargets\",\"editableTargets\":[{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"description\":\"Colunas base da tabela\"},{\"kind\":\"columnProjection\",\"resolver\":\"schema-column-projection\",\"description\":\"Projecao de colunas derivada do schema com overrides editoriais\"},{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"description\":\"Colunas calculadas\"},{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"description\":\"Renderizador de célula\"},{\"kind\":\"conditionalRenderer\",\"resolver\":\"conditional-renderer-in-column\",\"description\":\"Renderizadores condicionais\"},{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"description\":\"Ações por linha\"},{\"kind\":\"toolbarAction\",\"resolver\":\"action-in-toolbar-config\",\"description\":\"Ações na barra de ferramentas\"},{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"description\":\"Configuração da barra de ferramentas\"},{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"description\":\"Configuração de filtragem\"},{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"description\":\"Configuração de agrupamento\"},{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"description\":\"Configuração de seleção\"},{\"kind\":\"export\",\"resolver\":\"export-config\",\"description\":\"Configuração de exportação\"},{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"description\":\"Configurações visuais\"},{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"description\":\"Configuração de detalhe/expansão\"},{\"kind\":\"rule\",\"resolver\":\"style-rule-in-column-or-row\",\"description\":\"Regras de estilo ou comportamento\"},{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"description\":\"Metadados da configuracao\"},{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"description\":\"Acoes em lote\"},{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"description\":\"Acoes de menu contextual\"},{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"description\":\"Configuracao de paginacao\"},{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"description\":\"Configuracao de ordenacao\"},{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"description\":\"Configuracao de interacao\"},{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"description\":\"Estados de carregamento\"},{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"description\":\"Estado vazio\"},{\"kind\":\"aiAssistant\",\"resolver\":\"ai-assistant-config\",\"description\":\"Config path ai.assistant.enabled controlling the embedded table AI assistant entrypoint and session.\"},{\"kind\":\"resizing\",\"resolver\":\"resizing-config\",\"description\":\"Redimensionamento de colunas\"},{\"kind\":\"dragging\",\"resolver\":\"dragging-config\",\"description\":\"Reorganizacao por drag and drop\"},{\"kind\":\"editing\",\"resolver\":\"editing-config\",\"description\":\"Modo de edicao\"},{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"description\":\"Mensagens da tabela\"},{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"description\":\"Localizacao e formatos regionais\"},{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"description\":\"Configuracoes de performance\"},{\"kind\":\"data\",\"resolver\":\"data-config\",\"description\":\"Configuracoes de dados\"},{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"description\":\"Operacoes runtime revisaveis sem mutar a configuracao persistida\"},{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"description\":\"Acessibilidade\"}]}",
|
|
30179
30276
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30183,7 +30280,7 @@
|
|
|
30183
30280
|
"corpusVersion": "1.0.0"
|
|
30184
30281
|
},
|
|
30185
30282
|
{
|
|
30186
|
-
"chunkIndex":
|
|
30283
|
+
"chunkIndex": 86,
|
|
30187
30284
|
"chunkKind": "authoring_manifest",
|
|
30188
30285
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.projection.configure\",\"title\":\"Usar colunas governadas pelo schema\",\"description\":\"Mantem /schemas/filtered como fonte estrutural das colunas e registra somente diferencas editoriais por nome canonico de campo. Nao use para inventar campos ou contornar metadata ausente.\",\"scope\":\"global\",\"targetKind\":\"columnProjection\",\"target\":{\"kind\":\"columnProjection\",\"resolver\":\"schema-column-projection\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"source\"],\"additionalProperties\":false,\"properties\":{\"source\":{\"const\":\"schema\"},\"include\":{\"type\":\"array\",\"uniqueItems\":true,\"items\":{\"type\":\"string\",\"minLength\":1},\"description\":\"Allowlist ordenada de campos canonicos. Recomendada para dados sensiveis ou quando a pagina precisa de uma projecao focada.\"},\"overrides\":{\"type\":\"object\",\"description\":\"Mapa indexado pelo nome canonico do campo. O objeto de override nao pode conter field.\",\"additionalProperties\":{\"type\":\"object\",\"not\":{\"required\":[\"field\"]}}},\"additions\":{\"type\":\"array\",\"description\":\"Colunas editoriais sem correspondente no schema, normalmente derivadas pelo round-trip de colunas computadas. Uma adicao nunca substitui um campo canonico.\",\"items\":{\"type\":\"object\",\"required\":[\"field\"],\"properties\":{\"field\":{\"type\":\"string\",\"minLength\":1},\"header\":{\"type\":[\"string\",\"object\"]},\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"columnProjection\"}],\"validators\":[\"schema-column-override-field-immutable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columnProjection\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.add\",\"title\":\"Adicionar coluna\",\"scope\":\"global\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"field\",\"header\"],\"properties\":{\"field\":{\"type\":\"string\"},\"header\":{\"type\":\"string\"},\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"],\"default\":\"string\"}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"column-field-unique\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.remove\",\"title\":\"Remover coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"effects\":[{\"kind\":\"remove-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"destructive\":true,\"requiresConfirmation\":true,\"validators\":[\"destructive-removal-confirmation\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.header.set\",\"title\":\"Renomear o título da coluna sem alterar valores das células\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"header\"],\"properties\":{\"header\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].header\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.type.set\",\"title\":\"Definir tipo de dado\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\"],\"properties\":{\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].type\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.format.set\",\"title\":\"Definir formato\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"format\"],\"properties\":{\"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\"],\"description\":\"Preset canônico do DataFormattingService.\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"format-preset-supported\"],\"affectedPaths\":[\"columns[].format\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.width.set\",\"title\":\"Definir largura da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"width\"],\"properties\":{\"width\":{\"type\":\"string\",\"pattern\":\"^(auto|\\\\d+(px|%|rem|em))$\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"column-width-valid\"],\"affectedPaths\":[\"columns[].width\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.align.set\",\"title\":\"Definir alinhamento da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"align\"],\"properties\":{\"align\":{\"enum\":[\"left\",\"center\",\"right\"]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].align\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sticky.set\",\"title\":\"Definir sticky da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sticky\"],\"properties\":{\"sticky\":{\"enum\":[\"start\",\"end\",true,false]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sticky\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sortable.set\",\"title\":\"Definir ordenação da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sortable\"],\"properties\":{\"sortable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sortable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}]}",
|
|
30189
30286
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30193,7 +30290,7 @@
|
|
|
30193
30290
|
"corpusVersion": "1.0.0"
|
|
30194
30291
|
},
|
|
30195
30292
|
{
|
|
30196
|
-
"chunkIndex":
|
|
30293
|
+
"chunkIndex": 87,
|
|
30197
30294
|
"chunkKind": "authoring_manifest",
|
|
30198
30295
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.filterable.set\",\"title\":\"Definir filtro da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"filterable\"],\"properties\":{\"filterable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].filterable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.style.set\",\"title\":\"Definir estilo da célula\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"style\"],\"properties\":{\"style\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"css-style-safe\"],\"affectedPaths\":[\"columns[].style\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.headerStyle.set\",\"title\":\"Definir estilo do cabeçalho\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"headerStyle\"],\"properties\":{\"headerStyle\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"css-style-safe\"],\"affectedPaths\":[\"columns[].headerStyle\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.valueMapping.set\",\"title\":\"Mapear valores exibidos nas células sem renomear a coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"valueMapping\"],\"properties\":{\"valueMapping\":{\"type\":\"object\",\"minProperties\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"value-mapping-valid\"],\"affectedPaths\":[\"columns[].valueMapping\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.order.set\",\"title\":\"Mover coluna inteira sem alterar o conteúdo da célula\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"order\"],\"properties\":{\"order\":{\"type\":\"number\",\"minimum\":0}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].order\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.visibility.set\",\"title\":\"Mostrar ou ocultar coluna independente sem excluí-la\",\"description\":\"Altera somente a visibilidade da coluna-alvo. Quando um pedido incorpora o conteúdo de uma coluna em outra célula e também diz que a coluna de origem não deve continuar separada, esta operação complementa a composição do renderer.\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"visible\"],\"properties\":{\"visible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].visible\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.computed.add\",\"title\":\"Adicionar coluna calculada\",\"scope\":\"global\",\"targetKind\":\"computedColumn\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"field\",\"header\",\"expression\"],\"properties\":{\"field\":{\"type\":\"string\",\"description\":\"Stable camelCase field id for the new computed column. When the user supplies a header/name, derive this id from that header instead of asking for clarification.\"},\"header\":{\"type\":\"string\",\"description\":\"User-facing label for the computed column.\"},\"expression\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"outputType\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"column-field-unique\",\"computed-expression-valid\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
30199
30296
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30203,7 +30300,7 @@
|
|
|
30203
30300
|
"corpusVersion": "1.0.0"
|
|
30204
30301
|
},
|
|
30205
30302
|
{
|
|
30206
|
-
"chunkIndex":
|
|
30303
|
+
"chunkIndex": 88,
|
|
30207
30304
|
"chunkKind": "authoring_manifest",
|
|
30208
30305
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17]\",\"fragmentPath\":\"operations[17]\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\"},\"fragment\":{\"operationId\":\"column.renderer.set\",\"title\":\"Compor ou definir o conteúdo visual dentro da célula\",\"description\":\"Define ou substitui o renderer raiz da célula. Para mudar somente direção, alinhamento, espaçamento ou quebra de um compose existente, use column.renderer.composeLayout.set. Para mudar somente tamanho, forma ou outra propriedade de um item existente, use column.renderer.composeItem.set. Esta operação não oculta uma coluna de origem; quando o mesmo pedido exige que essa origem deixe de aparecer separadamente, combine-a com column.visibility.set.\",\"scope\":\"column\",\"targetKind\":\"renderer\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"ambiguityPolicy\":\"fail\",\"required\":true}}}",
|
|
30209
30306
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30213,7 +30310,7 @@
|
|
|
30213
30310
|
"corpusVersion": "1.0.0"
|
|
30214
30311
|
},
|
|
30215
30312
|
{
|
|
30216
|
-
"chunkIndex":
|
|
30313
|
+
"chunkIndex": 89,
|
|
30217
30314
|
"chunkKind": "authoring_manifest",
|
|
30218
30315
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema\",\"fragmentPath\":\"operations[17].inputSchema\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Renderizador visual. Quando a intencao pedir chip, use type \\\"chip\\\" e configure chip; efeitos iconBadge materializam badge, nao chip. Ao refinar um compose existente, copie seus itens atuais e altere somente tamanho, forma, direção ou outra propriedade explicitamente solicitada.\",\"required\":[\"type\"]}}",
|
|
30219
30316
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30223,7 +30320,7 @@
|
|
|
30223
30320
|
"corpusVersion": "1.0.0"
|
|
30224
30321
|
},
|
|
30225
30322
|
{
|
|
30226
|
-
"chunkIndex":
|
|
30323
|
+
"chunkIndex": 90,
|
|
30227
30324
|
"chunkKind": "authoring_manifest",
|
|
30228
30325
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties\",\"fragmentPath\":\"operations[17].inputSchema.properties\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"type\":{\"enum\":[\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\",\"compose\"]},\"typeExpr\":{\"type\":\"string\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}",
|
|
30229
30326
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30233,7 +30330,7 @@
|
|
|
30233
30330
|
"corpusVersion": "1.0.0"
|
|
30234
30331
|
},
|
|
30235
30332
|
{
|
|
30236
|
-
"chunkIndex":
|
|
30333
|
+
"chunkIndex": 91,
|
|
30237
30334
|
"chunkKind": "authoring_manifest",
|
|
30238
30335
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Composição de vários itens dentro da mesma célula. Em refinamentos, preserve os itens atuais e altere somente o atributo solicitado.\",\"required\":[\"items\"]}}",
|
|
30239
30336
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30243,7 +30340,7 @@
|
|
|
30243
30340
|
"corpusVersion": "1.0.0"
|
|
30244
30341
|
},
|
|
30245
30342
|
{
|
|
30246
|
-
"chunkIndex":
|
|
30343
|
+
"chunkIndex": 92,
|
|
30247
30344
|
"chunkKind": "authoring_manifest",
|
|
30248
30345
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose.properties.items\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose.properties.items\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"array\"},\"fragment\":{\"type\":\"array\",\"minItems\":1}}",
|
|
30249
30346
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30253,7 +30350,7 @@
|
|
|
30253
30350
|
"corpusVersion": "1.0.0"
|
|
30254
30351
|
},
|
|
30255
30352
|
{
|
|
30256
|
-
"chunkIndex":
|
|
30353
|
+
"chunkIndex": 93,
|
|
30257
30354
|
"chunkKind": "authoring_manifest",
|
|
30258
30355
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose.properties.items.items\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose.properties.items.items\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Item de uma célula composta. value mostra um campo da linha; os demais tipos exigem seu bloco de configuração homônimo.\",\"required\":[\"type\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
30259
30356
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30263,7 +30360,7 @@
|
|
|
30263
30360
|
"corpusVersion": "1.0.0"
|
|
30264
30361
|
},
|
|
30265
30362
|
{
|
|
30266
|
-
"chunkIndex":
|
|
30363
|
+
"chunkIndex": 94,
|
|
30267
30364
|
"chunkKind": "authoring_manifest",
|
|
30268
30365
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose.properties.items.items\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose.properties.items.items\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"button\"}}},\"then\":{\"required\":[\"button\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"menu\"}}},\"then\":{\"required\":[\"menu\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"link\"}}},\"then\":{\"required\":[\"link\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"progress\"}}},\"then\":{\"required\":[\"progress\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"badge\"}}},\"then\":{\"required\":[\"badge\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"chip\"}}},\"then\":{\"required\":[\"chip\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"icon\"}}},\"then\":{\"required\":[\"icon\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"image\"}}},\"then\":{\"required\":[\"image\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"avatar\"}}},\"then\":{\"required\":[\"avatar\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"toggle\"}}},\"then\":{\"required\":[\"toggle\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"rating\"}}},\"then\":{\"required\":[\"rating\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"microVisualization\"}}},\"then\":{\"required\":[\"microVisualization\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"html\"}}},\"then\":{\"required\":[\"html\"]}}]}}",
|
|
30269
30366
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30273,7 +30370,7 @@
|
|
|
30273
30370
|
"corpusVersion": "1.0.0"
|
|
30274
30371
|
},
|
|
30275
30372
|
{
|
|
30276
|
-
"chunkIndex":
|
|
30373
|
+
"chunkIndex": 95,
|
|
30277
30374
|
"chunkKind": "authoring_manifest",
|
|
30278
30375
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose.properties\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose.properties\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"layout\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"gap\":{\"type\":\"number\"},\"direction\":{\"enum\":[\"row\",\"column\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo.\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"wrap\":{\"type\":\"boolean\"},\"ellipsis\":{\"type\":\"boolean\"}}}}}",
|
|
30279
30376
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30283,7 +30380,7 @@
|
|
|
30283
30380
|
"corpusVersion": "1.0.0"
|
|
30284
30381
|
},
|
|
30285
30382
|
{
|
|
30286
|
-
"chunkIndex":
|
|
30383
|
+
"chunkIndex": 96,
|
|
30287
30384
|
"chunkKind": "authoring_manifest",
|
|
30288
30385
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema\",\"fragmentPath\":\"operations[17].inputSchema\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"button\"}}},\"then\":{\"required\":[\"button\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"menu\"}}},\"then\":{\"required\":[\"menu\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"link\"}}},\"then\":{\"required\":[\"link\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"progress\"}}},\"then\":{\"required\":[\"progress\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"badge\"}}},\"then\":{\"required\":[\"badge\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"chip\"}}},\"then\":{\"required\":[\"chip\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"icon\"}}},\"then\":{\"required\":[\"icon\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"image\"}}},\"then\":{\"required\":[\"image\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"avatar\"}}},\"then\":{\"required\":[\"avatar\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"toggle\"}}},\"then\":{\"required\":[\"toggle\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"rating\"}}},\"then\":{\"required\":[\"rating\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"microVisualization\"}}},\"then\":{\"required\":[\"microVisualization\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"html\"}}},\"then\":{\"required\":[\"html\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"compose\"}}},\"then\":{\"required\":[\"compose\"]}}]}}",
|
|
30289
30386
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30293,7 +30390,7 @@
|
|
|
30293
30390
|
"corpusVersion": "1.0.0"
|
|
30294
30391
|
},
|
|
30295
30392
|
{
|
|
30296
|
-
"chunkIndex":
|
|
30393
|
+
"chunkIndex": 97,
|
|
30297
30394
|
"chunkKind": "authoring_manifest",
|
|
30298
30395
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17]\",\"fragmentPath\":\"operations[17]\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\"},\"fragment\":{\"effects\":[{\"kind\":\"merge-object\",\"path\":\"columns[].renderer\"}],\"validators\":[\"target-column-exists\",\"renderer-type-supported\",\"renderer-config-match\",\"renderer-fields-exist\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columns[].renderer\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}}",
|
|
30299
30396
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30303,7 +30400,7 @@
|
|
|
30303
30400
|
"corpusVersion": "1.0.0"
|
|
30304
30401
|
},
|
|
30305
30402
|
{
|
|
30306
|
-
"chunkIndex":
|
|
30403
|
+
"chunkIndex": 98,
|
|
30307
30404
|
"chunkKind": "authoring_manifest",
|
|
30308
30405
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.renderer.composeLayout.set\",\"title\":\"Refinar somente o layout de uma célula composta\",\"description\":\"Altera direção, alinhamento, espaçamento, quebra ou ellipsis do layout de renderer.type compose já existente. Preserva o discriminator compose, a ordem, a configuração e todos os itens atuais; não reconstrua os itens para uma mudança somente de layout.\",\"scope\":\"column\",\"targetKind\":\"renderer\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"gap\":{\"type\":\"number\"},\"direction\":{\"enum\":[\"row\",\"column\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo.\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"wrap\":{\"type\":\"boolean\"},\"ellipsis\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-renderer-compose-layout-merge\",\"path\":\"columns[].renderer.compose.layout\"}],\"validators\":[\"target-column-exists\",\"renderer-compose-exists\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columns[].renderer.compose.layout\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}]}",
|
|
30309
30406
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30313,7 +30410,7 @@
|
|
|
30313
30410
|
"corpusVersion": "1.0.0"
|
|
30314
30411
|
},
|
|
30315
30412
|
{
|
|
30316
|
-
"chunkIndex":
|
|
30413
|
+
"chunkIndex": 99,
|
|
30317
30414
|
"chunkKind": "authoring_manifest",
|
|
30318
30415
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19]\",\"fragmentPath\":\"operations[19]\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\"},\"fragment\":{\"operationId\":\"column.renderer.composeItem.set\",\"title\":\"Refinar somente um item existente da célula composta\",\"description\":\"Altera um único item já materializado em renderer.type compose, preservando o discriminator compose, o layout, a ordem e todos os itens irmãos. Use itemType para resolver o item; quando houver mais de um item do mesmo tipo, informe itemField para desambiguar.\",\"scope\":\"column\",\"targetKind\":\"renderer\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"ambiguityPolicy\":\"fail\",\"required\":true}}}",
|
|
30319
30416
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30323,7 +30420,7 @@
|
|
|
30323
30420
|
"corpusVersion": "1.0.0"
|
|
30324
30421
|
},
|
|
30325
30422
|
{
|
|
30326
|
-
"chunkIndex":
|
|
30423
|
+
"chunkIndex": 100,
|
|
30327
30424
|
"chunkKind": "authoring_manifest",
|
|
30328
30425
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19].inputSchema\",\"fragmentPath\":\"operations[19].inputSchema\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"required\":[\"itemType\",\"item\"]}}",
|
|
30329
30426
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30333,7 +30430,7 @@
|
|
|
30333
30430
|
"corpusVersion": "1.0.0"
|
|
30334
30431
|
},
|
|
30335
30432
|
{
|
|
30336
|
-
"chunkIndex":
|
|
30433
|
+
"chunkIndex": 101,
|
|
30337
30434
|
"chunkKind": "authoring_manifest",
|
|
30338
30435
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19].inputSchema.properties\",\"fragmentPath\":\"operations[19].inputSchema.properties\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\",\"type\":\"object\"},\"fragment\":{\"itemType\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"html\"],\"description\":\"Discriminator canônico do item existente que será refinado.\"},\"itemField\":{\"type\":\"string\",\"description\":\"Campo estável do item quando itemType sozinho não o identifica de forma única.\"}}}",
|
|
30339
30436
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30343,7 +30440,7 @@
|
|
|
30343
30440
|
"corpusVersion": "1.0.0"
|
|
30344
30441
|
},
|
|
30345
30442
|
{
|
|
30346
|
-
"chunkIndex":
|
|
30443
|
+
"chunkIndex": 102,
|
|
30347
30444
|
"chunkKind": "authoring_manifest",
|
|
30348
30445
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19].inputSchema.properties.item\",\"fragmentPath\":\"operations[19].inputSchema.properties.item\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Item de uma célula composta. value mostra um campo da linha; os demais tipos exigem seu bloco de configuração homônimo.\",\"required\":[\"type\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
30349
30446
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30353,7 +30450,7 @@
|
|
|
30353
30450
|
"corpusVersion": "1.0.0"
|
|
30354
30451
|
},
|
|
30355
30452
|
{
|
|
30356
|
-
"chunkIndex":
|
|
30453
|
+
"chunkIndex": 103,
|
|
30357
30454
|
"chunkKind": "authoring_manifest",
|
|
30358
30455
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19].inputSchema.properties.item\",\"fragmentPath\":\"operations[19].inputSchema.properties.item\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\",\"type\":\"object\"},\"fragment\":{\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"button\"}}},\"then\":{\"required\":[\"button\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"menu\"}}},\"then\":{\"required\":[\"menu\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"link\"}}},\"then\":{\"required\":[\"link\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"progress\"}}},\"then\":{\"required\":[\"progress\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"badge\"}}},\"then\":{\"required\":[\"badge\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"chip\"}}},\"then\":{\"required\":[\"chip\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"icon\"}}},\"then\":{\"required\":[\"icon\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"image\"}}},\"then\":{\"required\":[\"image\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"avatar\"}}},\"then\":{\"required\":[\"avatar\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"toggle\"}}},\"then\":{\"required\":[\"toggle\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"rating\"}}},\"then\":{\"required\":[\"rating\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"microVisualization\"}}},\"then\":{\"required\":[\"microVisualization\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"html\"}}},\"then\":{\"required\":[\"html\"]}}]}}",
|
|
30359
30456
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30363,7 +30460,7 @@
|
|
|
30363
30460
|
"corpusVersion": "1.0.0"
|
|
30364
30461
|
},
|
|
30365
30462
|
{
|
|
30366
|
-
"chunkIndex":
|
|
30463
|
+
"chunkIndex": 104,
|
|
30367
30464
|
"chunkKind": "authoring_manifest",
|
|
30368
30465
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[19]\",\"fragmentPath\":\"operations[19]\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.composeItem.set\"},\"fragment\":{\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-renderer-compose-item-merge\",\"path\":\"columns[].renderer.compose.items[]\"}],\"validators\":[\"target-column-exists\",\"renderer-compose-item-exists\",\"renderer-type-supported\",\"renderer-config-match\",\"renderer-fields-exist\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columns[].renderer.compose.items[]\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}}",
|
|
30369
30466
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30373,7 +30470,7 @@
|
|
|
30373
30470
|
"corpusVersion": "1.0.0"
|
|
30374
30471
|
},
|
|
30375
30472
|
{
|
|
30376
|
-
"chunkIndex":
|
|
30473
|
+
"chunkIndex": 105,
|
|
30377
30474
|
"chunkKind": "authoring_manifest",
|
|
30378
30475
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20]\",\"fragmentPath\":\"operations[20]\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\"},\"fragment\":{\"operationId\":\"column.conditionalRenderer.add\",\"title\":\"Adicionar renderizador condicional\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true}}}",
|
|
30379
30476
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30383,7 +30480,7 @@
|
|
|
30383
30480
|
"corpusVersion": "1.0.0"
|
|
30384
30481
|
},
|
|
30385
30482
|
{
|
|
30386
|
-
"chunkIndex":
|
|
30483
|
+
"chunkIndex": 106,
|
|
30387
30484
|
"chunkKind": "authoring_manifest",
|
|
30388
30485
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema\",\"fragmentPath\":\"operations[20].inputSchema\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"required\":[\"id\",\"condition\"]}}",
|
|
30389
30486
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30393,7 +30490,7 @@
|
|
|
30393
30490
|
"corpusVersion": "1.0.0"
|
|
30394
30491
|
},
|
|
30395
30492
|
{
|
|
30396
|
-
"chunkIndex":
|
|
30493
|
+
"chunkIndex": 107,
|
|
30397
30494
|
"chunkKind": "authoring_manifest",
|
|
30398
30495
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties\",\"fragmentPath\":\"operations[20].inputSchema.properties\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"id\":{\"type\":\"string\",\"description\":\"Identificador estável do renderer condicional (usado para deduplicação)\"},\"condition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"}}}",
|
|
30399
30496
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30403,7 +30500,7 @@
|
|
|
30403
30500
|
"corpusVersion": "1.0.0"
|
|
30404
30501
|
},
|
|
30405
30502
|
{
|
|
30406
|
-
"chunkIndex":
|
|
30503
|
+
"chunkIndex": 108,
|
|
30407
30504
|
"chunkKind": "authoring_manifest",
|
|
30408
30505
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Renderizador visual. Quando a intencao pedir chip, use type \\\"chip\\\" e configure chip; efeitos iconBadge materializam badge, nao chip. Ao refinar um compose existente, copie seus itens atuais e altere somente tamanho, forma, direção ou outra propriedade explicitamente solicitada.\",\"required\":[\"type\"]}}",
|
|
30409
30506
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30413,7 +30510,7 @@
|
|
|
30413
30510
|
"corpusVersion": "1.0.0"
|
|
30414
30511
|
},
|
|
30415
30512
|
{
|
|
30416
|
-
"chunkIndex":
|
|
30513
|
+
"chunkIndex": 109,
|
|
30417
30514
|
"chunkKind": "authoring_manifest",
|
|
30418
30515
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"type\":{\"enum\":[\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\",\"compose\"]},\"typeExpr\":{\"type\":\"string\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}",
|
|
30419
30516
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30423,7 +30520,7 @@
|
|
|
30423
30520
|
"corpusVersion": "1.0.0"
|
|
30424
30521
|
},
|
|
30425
30522
|
{
|
|
30426
|
-
"chunkIndex":
|
|
30523
|
+
"chunkIndex": 110,
|
|
30427
30524
|
"chunkKind": "authoring_manifest",
|
|
30428
30525
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties.compose\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties.compose\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Composição de vários itens dentro da mesma célula. Em refinamentos, preserve os itens atuais e altere somente o atributo solicitado.\",\"required\":[\"items\"]}}",
|
|
30429
30526
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30433,7 +30530,7 @@
|
|
|
30433
30530
|
"corpusVersion": "1.0.0"
|
|
30434
30531
|
},
|
|
30435
30532
|
{
|
|
30436
|
-
"chunkIndex":
|
|
30533
|
+
"chunkIndex": 111,
|
|
30437
30534
|
"chunkKind": "authoring_manifest",
|
|
30438
30535
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"array\"},\"fragment\":{\"type\":\"array\",\"minItems\":1}}",
|
|
30439
30536
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30443,7 +30540,7 @@
|
|
|
30443
30540
|
"corpusVersion": "1.0.0"
|
|
30444
30541
|
},
|
|
30445
30542
|
{
|
|
30446
|
-
"chunkIndex":
|
|
30543
|
+
"chunkIndex": 112,
|
|
30447
30544
|
"chunkKind": "authoring_manifest",
|
|
30448
30545
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items.items\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items.items\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Item de uma célula composta. value mostra um campo da linha; os demais tipos exigem seu bloco de configuração homônimo.\",\"required\":[\"type\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
30449
30546
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30453,7 +30550,7 @@
|
|
|
30453
30550
|
"corpusVersion": "1.0.0"
|
|
30454
30551
|
},
|
|
30455
30552
|
{
|
|
30456
|
-
"chunkIndex":
|
|
30553
|
+
"chunkIndex": 113,
|
|
30457
30554
|
"chunkKind": "authoring_manifest",
|
|
30458
30555
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items.items\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties.items.items\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"button\"}}},\"then\":{\"required\":[\"button\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"menu\"}}},\"then\":{\"required\":[\"menu\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"link\"}}},\"then\":{\"required\":[\"link\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"progress\"}}},\"then\":{\"required\":[\"progress\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"badge\"}}},\"then\":{\"required\":[\"badge\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"chip\"}}},\"then\":{\"required\":[\"chip\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"icon\"}}},\"then\":{\"required\":[\"icon\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"image\"}}},\"then\":{\"required\":[\"image\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"avatar\"}}},\"then\":{\"required\":[\"avatar\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"toggle\"}}},\"then\":{\"required\":[\"toggle\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"rating\"}}},\"then\":{\"required\":[\"rating\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"microVisualization\"}}},\"then\":{\"required\":[\"microVisualization\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"html\"}}},\"then\":{\"required\":[\"html\"]}}]}}",
|
|
30459
30556
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30463,7 +30560,7 @@
|
|
|
30463
30560
|
"corpusVersion": "1.0.0"
|
|
30464
30561
|
},
|
|
30465
30562
|
{
|
|
30466
|
-
"chunkIndex":
|
|
30563
|
+
"chunkIndex": 114,
|
|
30467
30564
|
"chunkKind": "authoring_manifest",
|
|
30468
30565
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer.properties.compose.properties\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"layout\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"gap\":{\"type\":\"number\"},\"direction\":{\"enum\":[\"row\",\"column\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo.\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"wrap\":{\"type\":\"boolean\"},\"ellipsis\":{\"type\":\"boolean\"}}}}}",
|
|
30469
30566
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30473,7 +30570,7 @@
|
|
|
30473
30570
|
"corpusVersion": "1.0.0"
|
|
30474
30571
|
},
|
|
30475
30572
|
{
|
|
30476
|
-
"chunkIndex":
|
|
30573
|
+
"chunkIndex": 115,
|
|
30477
30574
|
"chunkKind": "authoring_manifest",
|
|
30478
30575
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties.renderer\",\"fragmentPath\":\"operations[20].inputSchema.properties.renderer\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"allOf\":[{\"if\":{\"properties\":{\"type\":{\"const\":\"button\"}}},\"then\":{\"required\":[\"button\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"menu\"}}},\"then\":{\"required\":[\"menu\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"link\"}}},\"then\":{\"required\":[\"link\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"progress\"}}},\"then\":{\"required\":[\"progress\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"badge\"}}},\"then\":{\"required\":[\"badge\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"chip\"}}},\"then\":{\"required\":[\"chip\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"icon\"}}},\"then\":{\"required\":[\"icon\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"image\"}}},\"then\":{\"required\":[\"image\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"avatar\"}}},\"then\":{\"required\":[\"avatar\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"toggle\"}}},\"then\":{\"required\":[\"toggle\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"rating\"}}},\"then\":{\"required\":[\"rating\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"microVisualization\"}}},\"then\":{\"required\":[\"microVisualization\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"html\"}}},\"then\":{\"required\":[\"html\"]}},{\"if\":{\"properties\":{\"type\":{\"const\":\"compose\"}}},\"then\":{\"required\":[\"compose\"]}}]}}",
|
|
30479
30576
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30483,7 +30580,7 @@
|
|
|
30483
30580
|
"corpusVersion": "1.0.0"
|
|
30484
30581
|
},
|
|
30485
30582
|
{
|
|
30486
|
-
"chunkIndex":
|
|
30583
|
+
"chunkIndex": 116,
|
|
30487
30584
|
"chunkKind": "authoring_manifest",
|
|
30488
30585
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema.properties\",\"fragmentPath\":\"operations[20].inputSchema.properties\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"effects\":{\"type\":\"array\",\"description\":\"Efeitos complementares de estilo, layout, icone ou badge. Nao substituem renderer quando a intencao exige um tipo visual especifico como chip.\",\"items\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"scope\":{\"enum\":[\"cell\",\"row\",\"column\",\"table\"]},\"description\":{\"type\":\"string\"},\"estilo\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"transform\":{\"enum\":[\"uppercase\",\"lowercase\",\"capitalize\",null]},\"opacity\":{\"type\":\"number\"},\"fontScale\":{\"type\":\"number\"}}},\"layout\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"border\":{\"enum\":[\"none\",\"left\",\"right\",\"top\",\"bottom\",\"all\"]},\"borderColor\":{\"type\":\"string\"},\"borderWidth\":{\"type\":\"number\"},\"padding\":{\"type\":\"number\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"elevation\":{\"type\":\"number\"}}},\"iconBadge\":{\"type\":\"object\",\"description\":\"Adiciona icone e/ou badge ao valor materializado. Nao representa chip; para chip use renderer.type \\\"chip\\\" e renderer.chip.\",\"additionalProperties\":false,\"properties\":{\"icon\":{\"type\":\"string\"},\"iconColor\":{\"type\":\"string\"},\"iconPos\":{\"enum\":[\"before\",\"after\",\"overlay\"]},\"badgeText\":{\"type\":\"string\"},\"badgeStyle\":{\"enum\":[\"solid\",\"soft\",\"outline\"]},\"badgeColor\":{\"type\":\"string\"}}},\"background\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"gradient\":{\"type\":\"string\"},\"alpha\":{\"type\":\"number\"},\"blur\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"cssClass\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}}},\"enabled\":{\"type\":\"boolean\"},\"description\":{\"type\":\"string\"}}}",
|
|
30489
30586
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30493,7 +30590,7 @@
|
|
|
30493
30590
|
"corpusVersion": "1.0.0"
|
|
30494
30591
|
},
|
|
30495
30592
|
{
|
|
30496
|
-
"chunkIndex":
|
|
30593
|
+
"chunkIndex": 117,
|
|
30497
30594
|
"chunkKind": "authoring_manifest",
|
|
30498
30595
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20].inputSchema\",\"fragmentPath\":\"operations[20].inputSchema\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\",\"type\":\"object\"},\"fragment\":{\"anyOf\":[{\"required\":[\"renderer\"]},{\"required\":[\"tooltip\"]},{\"required\":[\"animation\"]},{\"required\":[\"effects\"]}]}}",
|
|
30499
30596
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30503,7 +30600,7 @@
|
|
|
30503
30600
|
"corpusVersion": "1.0.0"
|
|
30504
30601
|
},
|
|
30505
30602
|
{
|
|
30506
|
-
"chunkIndex":
|
|
30603
|
+
"chunkIndex": 118,
|
|
30507
30604
|
"chunkKind": "authoring_manifest",
|
|
30508
30605
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[20]\",\"fragmentPath\":\"operations[20]\",\"fragmentIdentity\":{\"operationId\":\"column.conditionalRenderer.add\"},\"fragment\":{\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[].conditionalRenderers[]\",\"key\":\"id\"}],\"validators\":[\"target-column-exists\",\"computed-expression-valid\",\"renderer-config-match\",\"renderer-fields-exist\"],\"affectedPaths\":[\"columns[].conditionalRenderers[]\",\"columns[].conditionalRenderers[].tooltip\",\"columns[].conditionalRenderers[].animation\",\"columns[].conditionalRenderers[].effects\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}}",
|
|
30509
30606
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30513,7 +30610,7 @@
|
|
|
30513
30610
|
"corpusVersion": "1.0.0"
|
|
30514
30611
|
},
|
|
30515
30612
|
{
|
|
30516
|
-
"chunkIndex":
|
|
30613
|
+
"chunkIndex": 119,
|
|
30517
30614
|
"chunkKind": "authoring_manifest",
|
|
30518
30615
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.conditionalStyle.add\",\"title\":\"Adicionar regra de estilo condicional na coluna\",\"scope\":\"column\",\"targetKind\":\"rule\",\"target\":{\"kind\":\"rule\",\"resolver\":\"style-rule-in-column-or-row\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"condition\"],\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Identificador estável da regra de estilo da coluna\"},\"condition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"surfacePresetRef\":{\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"id\",\"catalogVersion\"],\"properties\":{\"id\":{\"enum\":[\"success\",\"warning\",\"danger\",\"highlight\"]},\"catalogVersion\":{\"const\":\"0.2.0\"}}},\"cssClass\":{\"type\":\"string\"},\"style\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"background\":{\"type\":\"string\"},\"backgroundColor\":{\"type\":\"string\"},\"background-color\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"fontWeight\":{\"type\":\"string\"},\"font-weight\":{\"type\":\"string\"},\"fontStyle\":{\"type\":\"string\"},\"font-style\":{\"type\":\"string\"},\"textDecoration\":{\"type\":\"string\"},\"text-decoration\":{\"type\":\"string\"},\"textTransform\":{\"type\":\"string\"},\"text-transform\":{\"type\":\"string\"},\"opacity\":{\"oneOf\":[{\"type\":\"string\"},{\"type\":\"number\"}]},\"border\":{\"type\":\"string\"},\"borderLeft\":{\"type\":\"string\"},\"border-left\":{\"type\":\"string\"},\"borderRight\":{\"type\":\"string\"},\"border-right\":{\"type\":\"string\"},\"borderTop\":{\"type\":\"string\"},\"border-top\":{\"type\":\"string\"},\"borderBottom\":{\"type\":\"string\"},\"border-bottom\":{\"type\":\"string\"}}},\"tooltip\":{\"type\":\"object\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"scope\":{\"enum\":[\"cell\",\"row\",\"column\",\"table\"]},\"description\":{\"type\":\"string\"},\"estilo\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"transform\":{\"enum\":[\"uppercase\",\"lowercase\",\"capitalize\",null]},\"opacity\":{\"type\":\"number\"},\"fontScale\":{\"type\":\"number\"}}},\"layout\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"border\":{\"enum\":[\"none\",\"left\",\"right\",\"top\",\"bottom\",\"all\"]},\"borderColor\":{\"type\":\"string\"},\"borderWidth\":{\"type\":\"number\"},\"padding\":{\"type\":\"number\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"elevation\":{\"type\":\"number\"}}},\"iconBadge\":{\"type\":\"object\",\"description\":\"Adiciona icone e/ou badge ao valor materializado. Nao representa chip; para chip use renderer.type \\\"chip\\\" e renderer.chip.\",\"additionalProperties\":false,\"properties\":{\"icon\":{\"type\":\"string\"},\"iconColor\":{\"type\":\"string\"},\"iconPos\":{\"enum\":[\"before\",\"after\",\"overlay\"]},\"badgeText\":{\"type\":\"string\"},\"badgeStyle\":{\"enum\":[\"solid\",\"soft\",\"outline\"]},\"badgeColor\":{\"type\":\"string\"}}},\"background\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"gradient\":{\"type\":\"string\"},\"alpha\":{\"type\":\"number\"},\"blur\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"cssClass\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}}},\"description\":{\"type\":\"string\"}},\"anyOf\":[{\"required\":[\"surfacePresetRef\"]},{\"required\":[\"cssClass\"]},{\"required\":[\"style\"]},{\"required\":[\"tooltip\"]},{\"required\":[\"effects\"]}]},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[].conditionalStyles[]\",\"key\":\"id\"}],\"validators\":[\"target-column-exists\",\"computed-expression-valid\",\"conditional-style-valid\",\"conditional-surface-accessible\"],\"affectedPaths\":[\"columns[].conditionalStyles[]\",\"columns[].conditionalStyles[].effects\",\"columns[].conditionalStyles[].tooltip\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}]}",
|
|
30519
30616
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30523,7 +30620,7 @@
|
|
|
30523
30620
|
"corpusVersion": "1.0.0"
|
|
30524
30621
|
},
|
|
30525
30622
|
{
|
|
30526
|
-
"chunkIndex":
|
|
30623
|
+
"chunkIndex": 120,
|
|
30527
30624
|
"chunkKind": "authoring_manifest",
|
|
30528
30625
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"row.styleRule.add\",\"title\":\"Adicionar destaque visual condicional à linha\",\"scope\":\"global\",\"targetKind\":\"rule\",\"target\":{\"kind\":\"rule\",\"resolver\":\"style-rule-in-column-or-row\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"condition\"],\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Identificador estável da regra (usado para deduplicação via append-unique)\"},\"condition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"surfacePresetRef\":{\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"id\",\"catalogVersion\"],\"properties\":{\"id\":{\"enum\":[\"success\",\"warning\",\"danger\",\"highlight\"]},\"catalogVersion\":{\"const\":\"0.2.0\"}}},\"style\":{\"description\":\"Estilo CSS seguro; fundo sem color usa foreground automático governado no runtime\"},\"cssClass\":{\"type\":\"string\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"scope\":{\"enum\":[\"cell\",\"row\",\"column\",\"table\"]},\"description\":{\"type\":\"string\"},\"estilo\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"transform\":{\"enum\":[\"uppercase\",\"lowercase\",\"capitalize\",null]},\"opacity\":{\"type\":\"number\"},\"fontScale\":{\"type\":\"number\"}}},\"layout\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"border\":{\"enum\":[\"none\",\"left\",\"right\",\"top\",\"bottom\",\"all\"]},\"borderColor\":{\"type\":\"string\"},\"borderWidth\":{\"type\":\"number\"},\"padding\":{\"type\":\"number\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"elevation\":{\"type\":\"number\"}}},\"iconBadge\":{\"type\":\"object\",\"description\":\"Adiciona icone e/ou badge ao valor materializado. Nao representa chip; para chip use renderer.type \\\"chip\\\" e renderer.chip.\",\"additionalProperties\":false,\"properties\":{\"icon\":{\"type\":\"string\"},\"iconColor\":{\"type\":\"string\"},\"iconPos\":{\"enum\":[\"before\",\"after\",\"overlay\"]},\"badgeText\":{\"type\":\"string\"},\"badgeStyle\":{\"enum\":[\"solid\",\"soft\",\"outline\"]},\"badgeColor\":{\"type\":\"string\"}}},\"background\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"gradient\":{\"type\":\"string\"},\"alpha\":{\"type\":\"number\"},\"blur\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"cssClass\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}}},\"description\":{\"type\":\"string\"}},\"anyOf\":[{\"required\":[\"surfacePresetRef\"]},{\"required\":[\"cssClass\"]},{\"required\":[\"style\"]},{\"required\":[\"effects\"]}]},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"rowConditionalStyles[]\",\"key\":\"id\"}],\"validators\":[\"computed-expression-valid\",\"conditional-surface-accessible\"],\"affectedPaths\":[\"rowConditionalStyles[]\",\"rowConditionalStyles[].effects\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
30529
30626
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30533,7 +30630,7 @@
|
|
|
30533
30630
|
"corpusVersion": "1.0.0"
|
|
30534
30631
|
},
|
|
30535
30632
|
{
|
|
30536
|
-
"chunkIndex":
|
|
30633
|
+
"chunkIndex": 121,
|
|
30537
30634
|
"chunkKind": "authoring_manifest",
|
|
30538
30635
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"row.styleRule.update\",\"title\":\"Atualizar destaque visual condicional existente da linha\",\"scope\":\"rule\",\"targetKind\":\"rule\",\"target\":{\"kind\":\"rule\",\"resolver\":\"style-rule-in-column-or-row\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"condition\":{\"type\":\"object\",\"description\":\"Nova AST Json Logic; omita para preservar a condição atual\"},\"surfacePresetRef\":{\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"id\",\"catalogVersion\"],\"properties\":{\"id\":{\"enum\":[\"success\",\"warning\",\"danger\",\"highlight\"]},\"catalogVersion\":{\"const\":\"0.2.0\"}}},\"style\":{\"description\":\"Novo estilo CSS seguro; omitir color mantém foreground automático\"},\"cssClass\":{\"type\":\"string\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"scope\":{\"enum\":[\"cell\",\"row\",\"column\",\"table\"]},\"description\":{\"type\":\"string\"},\"estilo\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"transform\":{\"enum\":[\"uppercase\",\"lowercase\",\"capitalize\",null]},\"opacity\":{\"type\":\"number\"},\"fontScale\":{\"type\":\"number\"}}},\"layout\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"border\":{\"enum\":[\"none\",\"left\",\"right\",\"top\",\"bottom\",\"all\"]},\"borderColor\":{\"type\":\"string\"},\"borderWidth\":{\"type\":\"number\"},\"padding\":{\"type\":\"number\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"elevation\":{\"type\":\"number\"}}},\"iconBadge\":{\"type\":\"object\",\"description\":\"Adiciona icone e/ou badge ao valor materializado. Nao representa chip; para chip use renderer.type \\\"chip\\\" e renderer.chip.\",\"additionalProperties\":false,\"properties\":{\"icon\":{\"type\":\"string\"},\"iconColor\":{\"type\":\"string\"},\"iconPos\":{\"enum\":[\"before\",\"after\",\"overlay\"]},\"badgeText\":{\"type\":\"string\"},\"badgeStyle\":{\"enum\":[\"solid\",\"soft\",\"outline\"]},\"badgeColor\":{\"type\":\"string\"}}},\"background\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"gradient\":{\"type\":\"string\"},\"alpha\":{\"type\":\"number\"},\"blur\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"cssClass\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}}},\"description\":{\"type\":\"string\",\"description\":\"Descrição semântica atualizada da regra visual\"}},\"anyOf\":[{\"required\":[\"condition\"]},{\"required\":[\"surfacePresetRef\"]},{\"required\":[\"cssClass\"]},{\"required\":[\"style\"]},{\"required\":[\"effects\"]},{\"required\":[\"description\"]}]},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"rowConditionalStyles[]\",\"key\":\"id\"}],\"validators\":[\"computed-expression-valid\",\"conditional-surface-accessible\"],\"affectedPaths\":[\"rowConditionalStyles[]\",\"rowConditionalStyles[].condition\",\"rowConditionalStyles[].surfacePresetRef\",\"rowConditionalStyles[].style\",\"rowConditionalStyles[].cssClass\",\"rowConditionalStyles[].effects\",\"rowConditionalStyles[].description\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}]}",
|
|
30539
30636
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30543,7 +30640,7 @@
|
|
|
30543
30640
|
"corpusVersion": "1.0.0"
|
|
30544
30641
|
},
|
|
30545
30642
|
{
|
|
30546
|
-
"chunkIndex":
|
|
30643
|
+
"chunkIndex": 122,
|
|
30547
30644
|
"chunkKind": "authoring_manifest",
|
|
30548
30645
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"row.conditionalRenderer.add\",\"title\":\"Adicionar renderizador condicional de linha\",\"scope\":\"global\",\"targetKind\":\"conditionalRenderer\",\"target\":{\"kind\":\"conditionalRenderer\",\"resolver\":\"conditional-renderer-in-row\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"condition\"],\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Identificador estavel da regra de renderer de linha\"},\"condition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"tooltip\":{\"type\":\"object\",\"description\":\"Tooltip de linha\"},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"scope\":{\"enum\":[\"cell\",\"row\",\"column\",\"table\"]},\"description\":{\"type\":\"string\"},\"estilo\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"bgColor\":{\"type\":\"string\"},\"bold\":{\"type\":\"boolean\"},\"italic\":{\"type\":\"boolean\"},\"underline\":{\"type\":\"boolean\"},\"transform\":{\"enum\":[\"uppercase\",\"lowercase\",\"capitalize\",null]},\"opacity\":{\"type\":\"number\"},\"fontScale\":{\"type\":\"number\"}}},\"layout\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"border\":{\"enum\":[\"none\",\"left\",\"right\",\"top\",\"bottom\",\"all\"]},\"borderColor\":{\"type\":\"string\"},\"borderWidth\":{\"type\":\"number\"},\"padding\":{\"type\":\"number\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"elevation\":{\"type\":\"number\"}}},\"iconBadge\":{\"type\":\"object\",\"description\":\"Adiciona icone e/ou badge ao valor materializado. Nao representa chip; para chip use renderer.type \\\"chip\\\" e renderer.chip.\",\"additionalProperties\":false,\"properties\":{\"icon\":{\"type\":\"string\"},\"iconColor\":{\"type\":\"string\"},\"iconPos\":{\"enum\":[\"before\",\"after\",\"overlay\"]},\"badgeText\":{\"type\":\"string\"},\"badgeStyle\":{\"enum\":[\"solid\",\"soft\",\"outline\"]},\"badgeColor\":{\"type\":\"string\"}}},\"background\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"color\":{\"type\":\"string\"},\"gradient\":{\"type\":\"string\"},\"alpha\":{\"type\":\"number\"},\"blur\":{\"type\":\"number\"}}},\"animation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"enabled\":{\"type\":\"boolean\",\"description\":\"false desativa a animacao sem remover a regra.\"},\"preset\":{\"enum\":[\"info-soft\",\"success-confirm\",\"warning-attention\",\"critical-alert\",\"audit-review\",\"sync-pending\",\"pulse-soft\",\"fade-soft\",\"sla-warning\",\"sla-breach\",\"risk-elevated\",\"risk-critical\",\"audit-warning\",\"sync-warning\"],\"description\":\"Preset semantico recomendado. Preferir preset antes de type bruto.\"},\"type\":{\"enum\":[\"pulse\",\"blink\",\"grow\",\"fade\",\"slide-in\",\"border-pulse\"]},\"durationMs\":{\"type\":\"number\"},\"trigger\":{\"enum\":[\"onChange\",\"onAppear\",\"onHover\",\"onConditionEnter\",\"onConditionExit\",\"onDataRefresh\"]},\"repeat\":{\"oneOf\":[{\"enum\":[\"once\",\"loop\",\"infinite\"]},{\"type\":\"number\"}]},\"delayMs\":{\"type\":\"number\"},\"intensity\":{\"enum\":[\"subtle\",\"normal\",\"strong\"]}}},\"tooltip\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}},\"cssClass\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}}},\"enabled\":{\"type\":\"boolean\"},\"description\":{\"type\":\"string\"}},\"anyOf\":[{\"required\":[\"tooltip\"]},{\"required\":[\"animation\"]},{\"required\":[\"effects\"]}]},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"rowConditionalRenderers[]\",\"key\":\"id\"}],\"validators\":[\"computed-expression-valid\"],\"affectedPaths\":[\"rowConditionalRenderers[]\",\"rowConditionalRenderers[].condition\",\"rowConditionalRenderers[].tooltip\",\"rowConditionalRenderers[].animation\",\"rowConditionalRenderers[].effects\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"toolbar.visibility.set\",\"title\":\"Definir visibilidade da toolbar\",\"scope\":\"global\",\"targetKind\":\"toolbar\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"visible\"],\"properties\":{\"visible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"toolbar\"}],\"affectedPaths\":[\"toolbar.visible\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"toolbar.action.add\",\"title\":\"Adicionar ação na toolbar\",\"scope\":\"global\",\"targetKind\":\"toolbarAction\",\"target\":{\"kind\":\"toolbarAction\",\"resolver\":\"action-in-toolbar-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\"},\"type\":{\"enum\":[\"button\",\"icon\",\"menu\"],\"default\":\"button\"},\"visibleWhen\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"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\":\"toolbar.actions[]\",\"key\":\"id\"}],\"validators\":[\"toolbar-action-id-unique\"],\"affectedPaths\":[\"toolbar.actions[]\",\"toolbar.actions[].visibleWhen\",\"toolbar.actions[].effects\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
30549
30646
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30553,7 +30650,7 @@
|
|
|
30553
30650
|
"corpusVersion": "1.0.0"
|
|
30554
30651
|
},
|
|
30555
30652
|
{
|
|
30556
|
-
"chunkIndex":
|
|
30653
|
+
"chunkIndex": 123,
|
|
30557
30654
|
"chunkKind": "authoring_manifest",
|
|
30558
30655
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30559
30656
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30563,7 +30660,7 @@
|
|
|
30563
30660
|
"corpusVersion": "1.0.0"
|
|
30564
30661
|
},
|
|
30565
30662
|
{
|
|
30566
|
-
"chunkIndex":
|
|
30663
|
+
"chunkIndex": 124,
|
|
30567
30664
|
"chunkKind": "authoring_manifest",
|
|
30568
30665
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30569
30666
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30573,7 +30670,7 @@
|
|
|
30573
30670
|
"corpusVersion": "1.0.0"
|
|
30574
30671
|
},
|
|
30575
30672
|
{
|
|
30576
|
-
"chunkIndex":
|
|
30673
|
+
"chunkIndex": 125,
|
|
30577
30674
|
"chunkKind": "authoring_manifest",
|
|
30578
30675
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30579
30676
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30583,27 +30680,27 @@
|
|
|
30583
30680
|
"corpusVersion": "1.0.0"
|
|
30584
30681
|
},
|
|
30585
30682
|
{
|
|
30586
|
-
"chunkIndex":
|
|
30683
|
+
"chunkIndex": 126,
|
|
30587
30684
|
"chunkKind": "authoring_manifest",
|
|
30588
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30685
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\",\"description\":\"Configura copy, apresentação e ações contextuais explícitas do estado vazio. Não duplica CREATE capability-governado, que permanece como ação primária estável da toolbar.\",\"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\"]}]}",
|
|
30589
30686
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
30590
|
-
"contentHash": "
|
|
30687
|
+
"contentHash": "f7115e6663387f2db9b15fa698de20c2470249d97b4224ca3cf41124c5039056",
|
|
30591
30688
|
"sourceKind": "component_definition",
|
|
30592
30689
|
"sourceId": "praxis-table",
|
|
30593
30690
|
"corpusVersion": "1.0.0"
|
|
30594
30691
|
},
|
|
30595
30692
|
{
|
|
30596
|
-
"chunkIndex":
|
|
30693
|
+
"chunkIndex": 127,
|
|
30597
30694
|
"chunkKind": "authoring_manifest",
|
|
30598
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30695
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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.collection.configure\",\"title\":\"Configurar descoberta de acoes da colecao\",\"scope\":\"global\",\"targetKind\":\"toolbar\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"discovery\"],\"properties\":{\"discovery\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"actions.collection\"}],\"affectedPaths\":[\"actions.collection\",\"actions.collection.discovery.enabled\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-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\"]}]}",
|
|
30599
30696
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
30600
|
-
"contentHash": "
|
|
30697
|
+
"contentHash": "a63209e36d9eb207e2776f02018f46914633da7d89977501f3daa51eb19a27fb",
|
|
30601
30698
|
"sourceKind": "component_definition",
|
|
30602
30699
|
"sourceId": "praxis-table",
|
|
30603
30700
|
"corpusVersion": "1.0.0"
|
|
30604
30701
|
},
|
|
30605
30702
|
{
|
|
30606
|
-
"chunkIndex":
|
|
30703
|
+
"chunkIndex": 128,
|
|
30607
30704
|
"chunkKind": "authoring_manifest",
|
|
30608
30705
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"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\"]}]}",
|
|
30609
30706
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30613,7 +30710,7 @@
|
|
|
30613
30710
|
"corpusVersion": "1.0.0"
|
|
30614
30711
|
},
|
|
30615
30712
|
{
|
|
30616
|
-
"chunkIndex":
|
|
30713
|
+
"chunkIndex": 129,
|
|
30617
30714
|
"chunkKind": "authoring_manifest",
|
|
30618
30715
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"validators\",\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"},{\"validatorId\":\"column-field-unique\",\"level\":\"error\",\"code\":\"TB002\",\"description\":\"O identificador técnico da coluna (field) deve ser único.\"},{\"validatorId\":\"renderer-type-supported\",\"level\":\"error\",\"code\":\"TB003\",\"description\":\"O tipo de renderizador deve ser suportado pelo componente.\"},{\"validatorId\":\"renderer-config-match\",\"level\":\"error\",\"code\":\"TB004\",\"description\":\"A configuração do renderizador deve corresponder ao tipo selecionado.\"},{\"validatorId\":\"renderer-fields-exist\",\"level\":\"error\",\"code\":\"TB023\",\"description\":\"Todos os campos referenciados pelo renderizador devem existir na configuração atual da tabela.\"},{\"validatorId\":\"renderer-compose-exists\",\"level\":\"error\",\"code\":\"TB022\",\"description\":\"O renderer alvo deve ser uma composição existente e conter ao menos um item antes de refinar seu layout.\"},{\"validatorId\":\"renderer-compose-item-exists\",\"level\":\"error\",\"code\":\"TB021\",\"description\":\"O renderer alvo deve ser compose e conter exatamente um item compatível com itemType e itemField.\"},{\"validatorId\":\"grouping-fields-exist\",\"level\":\"error\",\"code\":\"TB005\",\"description\":\"Os campos de agrupamento devem existir na definição de colunas.\"},{\"validatorId\":\"filter-fields-exist\",\"level\":\"error\",\"code\":\"TB018\",\"description\":\"Os campos de filtro avançado devem existir no schema request do filtro governado.\"},{\"validatorId\":\"destructive-removal-confirmation\",\"level\":\"error\",\"code\":\"TB006\",\"description\":\"Remoções destrutivas de colunas ou ações exigem confirmação explícita.\"},{\"validatorId\":\"computed-expression-valid\",\"level\":\"error\",\"code\":\"TB007\",\"description\":\"A expressão de cálculo deve ser um AST Json Logic válido.\"},{\"validatorId\":\"remote-resource-binding-safe\",\"level\":\"error\",\"code\":\"TB008\",\"description\":\"A ligação com recurso remoto não deve conter URLs absolutas não permitidas.\"},{\"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.\"},{\"validatorId\":\"toolbar-action-id-unique\",\"level\":\"error\",\"code\":\"TB010\",\"description\":\"O id da ação de toolbar deve ser único em toolbar.actions[]. O efeito append-unique usa este id como chave de deduplicação.\"},{\"validatorId\":\"row-action-id-unique\",\"level\":\"error\",\"code\":\"TB011\",\"description\":\"O id da row action deve ser único em actions.row.actions[]. O efeito append-unique usa este id como chave de deduplicação.\"},{\"validatorId\":\"bulk-action-id-unique\",\"level\":\"error\",\"code\":\"TB017\",\"description\":\"O id da ação em lote deve ser único em actions.bulk.actions[]. O efeito append-unique usa este id como chave de deduplicação.\"},{\"validatorId\":\"format-preset-supported\",\"level\":\"error\",\"code\":\"TB012\",\"description\":\"O formato deve usar um preset canonico publicado em table-ai-capabilities.ts.\"},{\"validatorId\":\"column-width-valid\",\"level\":\"error\",\"code\":\"TB013\",\"description\":\"A largura deve ser auto ou uma medida simples em px, %, rem ou em.\"},{\"validatorId\":\"css-style-safe\",\"level\":\"error\",\"code\":\"TB014\",\"description\":\"Estilos inline devem permanecer em CSS simples e seguro, sem scripts, URLs perigosas ou expressoes dinamicas.\"},{\"validatorId\":\"value-mapping-valid\",\"level\":\"error\",\"code\":\"TB015\",\"description\":\"O mapeamento de valores deve ser um objeto simples com chaves estaveis e labels serializaveis.\"},{\"validatorId\":\"conditional-style-valid\",\"level\":\"error\",\"code\":\"TB016\",\"description\":\"Regras condicionais devem ter id estavel, condition Json Logic e ao menos cssClass, style ou effects.\"},{\"validatorId\":\"conditional-surface-accessible\",\"level\":\"error\",\"code\":\"TB020\",\"description\":\"Foreground explícito deve atingir contraste AA em fundo sólido; fundo sem foreground é derivado pelo runtime e composições não determinísticas exigem diagnóstico.\"},{\"validatorId\":\"runtime-operation-declared\",\"level\":\"error\",\"code\":\"TB019\",\"description\":\"Operacoes runtime devem usar operationId e input declarados em tableRuntimeOperations sem alterar a configuracao persistida.\"},{\"validatorId\":\"schema-column-override-field-immutable\",\"level\":\"error\",\"code\":\"TB024\",\"description\":\"Overrides de projecao podem alterar apresentacao e comportamento, mas nunca a identidade canonica field.\"}]}",
|
|
30619
30716
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30623,7 +30720,7 @@
|
|
|
30623
30720
|
"corpusVersion": "1.0.0"
|
|
30624
30721
|
},
|
|
30625
30722
|
{
|
|
30626
|
-
"chunkIndex":
|
|
30723
|
+
"chunkIndex": 130,
|
|
30627
30724
|
"chunkKind": "authoring_manifest",
|
|
30628
30725
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"roundTripRequirements\",\"roundTripRequirements\":[\"preserve-column-order\",\"normalize-enum-values\",\"maintain-renderer-precedence\",\"preserve-meta-ids\"]}",
|
|
30629
30726
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30633,7 +30730,7 @@
|
|
|
30633
30730
|
"corpusVersion": "1.0.0"
|
|
30634
30731
|
},
|
|
30635
30732
|
{
|
|
30636
|
-
"chunkIndex":
|
|
30733
|
+
"chunkIndex": 131,
|
|
30637
30734
|
"chunkKind": "authoring_manifest",
|
|
30638
30735
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"presentationAffordances\",\"presentationAffordances\":{\"version\":\"0.2.0\",\"componentId\":\"praxis-table\",\"defaultTargetKind\":\"column\",\"sourceRef\":\"praxis-ui-angular:projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts#presentationAffordances\",\"affordances\":[{\"id\":\"table.conditional-surface.row\",\"targetKind\":\"row\",\"category\":\"surface-preset\",\"description\":\"Versioned semantic row surfaces materialized privately by the table runtime.\",\"options\":[\"success\",\"warning\",\"danger\",\"highlight\"],\"appliesToTypes\":[\"unknown\"],\"unknownCompatible\":true},{\"id\":\"table.conditional-surface.cell\",\"targetKind\":\"column\",\"category\":\"surface-preset\",\"description\":\"Versioned semantic cell surfaces materialized privately by the table runtime.\",\"options\":[\"success\",\"warning\",\"danger\",\"highlight\"],\"appliesToTypes\":[\"string\",\"text\",\"boolean\",\"number\",\"currency\",\"percentage\",\"date\",\"datetime\",\"unknown\"],\"unknownCompatible\":true},{\"id\":\"table.column.text-formatting\",\"targetKind\":\"column\",\"category\":\"format\",\"description\":\"Text transforms and masks for textual table columns.\",\"options\":[\"none\",\"uppercase\",\"lowercase\",\"titlecase\",\"capitalize\",\"uppercase|truncate|50|...\",\"000.000.000-00\"],\"appliesToTypes\":[\"string\",\"text\",\"unknown\"],\"unknownCompatible\":true},{\"id\":\"table.column.numeric-formatting\",\"targetKind\":\"column\",\"category\":\"format\",\"description\":\"Decimal, currency and percentage formats for numeric table columns.\",\"options\":[\"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\"],\"appliesToTypes\":[\"number\",\"currency\",\"percentage\"],\"unknownCompatible\":false},{\"id\":\"table.column.date-formatting\",\"targetKind\":\"column\",\"category\":\"format\",\"description\":\"Date and time formats for date-like table columns.\",\"options\":[\"shortDate\",\"mediumDate\",\"longDate\",\"fullDate\",\"MMM/yyyy\",\"shortTime\",\"short\",\"yyyy-MM-dd\",\"dd/MM/yyyy\",\"yyyy-MM-dd HH:mm\"],\"appliesToTypes\":[\"date\",\"datetime\",\"time\"],\"unknownCompatible\":false},{\"id\":\"table.column.boolean-formatting\",\"targetKind\":\"column\",\"category\":\"format\",\"description\":\"Boolean label formats for true/false table columns.\",\"options\":[\"true-false\",\"yes-no\",\"active-inactive\",\"on-off\",\"enabled-disabled\",\"custom|Sim|Nao\"],\"appliesToTypes\":[\"boolean\"],\"unknownCompatible\":false},{\"id\":\"table.column.semantic-renderers\",\"targetKind\":\"column\",\"category\":\"renderer\",\"description\":\"Visual renderers for categorical, status or action-oriented table columns.\",\"options\":[\"badge\",\"chip\",\"icon\",\"link\",\"button\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"compose\"],\"appliesToTypes\":[\"string\",\"text\",\"boolean\",\"number\",\"currency\",\"percentage\",\"date\",\"datetime\",\"unknown\"],\"unknownCompatible\":true},{\"id\":\"table.column.alignment-layout\",\"targetKind\":\"column\",\"category\":\"layout\",\"description\":\"Column alignment and composed cell layout options.\",\"options\":[\"align:start\",\"align:center\",\"align:end\",\"compose:row\",\"compose:column\",\"secondary-line\",\"prefix\",\"suffix\"],\"appliesToTypes\":[\"string\",\"text\",\"boolean\",\"number\",\"currency\",\"percentage\",\"date\",\"datetime\",\"unknown\"],\"unknownCompatible\":true}]}}",
|
|
30639
30736
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30643,7 +30740,7 @@
|
|
|
30643
30740
|
"corpusVersion": "1.0.0"
|
|
30644
30741
|
},
|
|
30645
30742
|
{
|
|
30646
|
-
"chunkIndex":
|
|
30743
|
+
"chunkIndex": 132,
|
|
30647
30744
|
"chunkKind": "authoring_manifest",
|
|
30648
30745
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"examples\",\"examples\":[{\"id\":\"add-schema-column\",\"request\":\"Adicionar coluna para o campo email com o título Contato\",\"operationId\":\"column.add\",\"params\":{\"field\":\"email\",\"header\":\"Contato\",\"type\":\"string\"},\"isPositive\":true},{\"id\":\"rename-active-column-to-status\",\"request\":\"Ativo vira Status.\",\"operationId\":\"column.header.set\",\"target\":\"ativo\",\"params\":{\"header\":\"Status\"},\"isPositive\":true},{\"id\":\"rename-column-title-without-changing-cell-values\",\"request\":\"Troque somente o título da coluna Ativo para Status, sem alterar os valores das células\",\"operationId\":\"column.header.set\",\"target\":\"ativo\",\"params\":{\"header\":\"Status\"},\"isPositive\":true},{\"id\":\"cell-value-mapping-is-not-header-renaming\",\"request\":\"Sem mudar o título da coluna Ativo, mostre Sim e Não no lugar dos valores das células\",\"operationId\":\"column.header.set\",\"target\":\"ativo\",\"isPositive\":false},{\"id\":\"current-column-label-is-not-a-rename-request\",\"request\":\"Na coluna chamada Status, mostre um chip vermelho quando o valor estiver inativo\",\"operationId\":\"column.header.set\",\"target\":\"ativo\",\"isPositive\":false},{\"id\":\"add-computed-column\",\"request\":\"Criar coluna de idade baseada na data de nascimento\",\"operationId\":\"column.computed.add\",\"params\":{\"field\":\"idade\",\"header\":\"Idade\",\"expression\":{\"yearsSince\":[{\"var\":\"dataNascimento\"}]},\"outputType\":\"number\"},\"isPositive\":true},{\"id\":\"add-conditional-badge\",\"request\":\"Mostrar badge vermelho na coluna status se o valor for \\\"atrasado\\\"\",\"operationId\":\"column.conditionalRenderer.add\",\"target\":\"status\",\"params\":{\"id\":\"badge-atrasado\",\"condition\":{\"==\":[{\"var\":\"status\"},\"atrasado\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"color\":\"warn\",\"variant\":\"filled\"}}},\"isPositive\":true},{\"id\":\"set-active-base-chip-for-status-pair\",\"request\":\"Na coluna Status, use chip verde quando ativo e chip vermelho quando inativo sem alterar as outras colunas\",\"operationId\":\"column.renderer.set\",\"target\":\"ativo\",\"params\":{\"type\":\"chip\",\"chip\":{\"textField\":\"ativo\",\"color\":\"success\",\"variant\":\"filled\"}},\"isPositive\":true},{\"id\":\"add-inactive-conditional-chip\",\"request\":\"Na coluna Status, use chip verde quando ativo e chip vermelho quando inativo sem alterar as outras colunas\",\"operationId\":\"column.conditionalRenderer.add\",\"target\":\"ativo\",\"params\":{\"id\":\"chip-inativo\",\"condition\":{\"==\":[{\"var\":\"ativo\"},false]},\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Inativo\",\"color\":\"warn\",\"variant\":\"filled\"}}},\"isPositive\":true},{\"id\":\"enable-export\",\"request\":\"Habilitar exportação para Excel e PDF\",\"operationId\":\"export.enabled.set\",\"params\":{\"enabled\":true,\"formats\":[\"excel\",\"pdf\"]},\"isPositive\":true},{\"id\":\"add-row-action\",\"request\":\"Adicionar botão de excluir na linha\",\"operationId\":\"rowAction.add\",\"params\":{\"id\":\"delete\",\"label\":\"Excluir\",\"action\":\"delete\",\"icon\":\"delete\",\"color\":\"warn\"},\"isPositive\":true},{\"id\":\"add-row-action-open-route\",\"request\":\"Adicionar botão de linha para abrir detalhe com navegação interna\",\"operationId\":\"rowAction.add\",\"params\":{\"id\":\"details\",\"label\":\"Detalhes\",\"action\":\"navigation.openRoute\",\"icon\":\"open_in_new\",\"globalAction\":{\"actionId\":\"navigation.openRoute\",\"payload\":{\"path\":\"/clientes/detalhe\",\"query\":{\"id\":\"${row.id}\"}}}},\"isPositive\":true},{\"id\":\"group-by-field\",\"request\":\"Agrupar a tabela por departamento\",\"operationId\":\"grouping.set\",\"params\":{\"enabled\":true,\"fields\":[\"departamento\"]},\"isPositive\":true},{\"id\":\"reject-invalid-renderer\",\"request\":\"Configurar imagem para um renderizador do tipo ícone\",\"operationId\":\"column.renderer.set\",\"target\":\"avatar\",\"params\":{\"type\":\"icon\",\"image\":{\"src\":\"...\"}},\"isPositive\":false},{\"id\":\"compose-photo-and-code-in-code-cell\",\"request\":\"Na coluna Código, mostrar primeiro a foto e depois o código na mesma célula, sem manter Foto como coluna separada\",\"operationId\":\"column.renderer.set\",\"target\":\"codigo\",\"params\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"foto\",\"altField\":\"nome\",\"initialsField\":\"nome\",\"shape\":\"rounded\",\"size\":32}},{\"type\":\"value\",\"field\":\"codigo\"}],\"layout\":{\"direction\":\"row\",\"align\":\"center\",\"gap\":8}}},\"isPositive\":true},{\"id\":\"stack-existing-photo-and-code-vertically\",\"request\":\"No composto anterior, deixe em duas linhas: foto em cima e código embaixo\",\"operationId\":\"column.renderer.composeLayout.set\",\"target\":\"codigo\",\"params\":{\"direction\":\"column\"},\"isPositive\":true},{\"id\":\"grow-photo-inside-existing-compose\",\"request\":\"Aumente um pouco somente a foto dessa célula composta, sem mudar os outros itens\",\"operationId\":\"column.renderer.composeItem.set\",\"target\":\"codigo\",\"params\":{\"itemType\":\"avatar\",\"item\":{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"foto\",\"initialsField\":\"nome\",\"shape\":\"rounded\",\"size\":40}}},\"isPositive\":true},{\"id\":\"shrink-photo-inside-existing-compose\",\"request\":\"Diminua só essa foto; ela está grande demais, e preserve o restante\",\"operationId\":\"column.renderer.composeItem.set\",\"target\":\"codigo\",\"params\":{\"itemType\":\"avatar\",\"item\":{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"foto\",\"initialsField\":\"nome\",\"shape\":\"rounded\",\"size\":24}}},\"isPositive\":true},{\"id\":\"make-photo-circular-inside-existing-compose\",\"request\":\"Deixe somente a foto dessa célula composta circular, sem alterar tamanho, layout ou os outros itens\",\"operationId\":\"column.renderer.composeItem.set\",\"target\":\"codigo\",\"params\":{\"itemType\":\"avatar\",\"item\":{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"foto\",\"initialsField\":\"nome\",\"shape\":\"circle\",\"size\":24}}},\"isPositive\":true},{\"id\":\"set-composed-photo-rounded-square-after-correction\",\"request\":\"Deixe a foto circular... não, cancela essa parte: quero quadrada com cantos arredondados\",\"operationId\":\"column.renderer.composeItem.set\",\"target\":\"codigo\",\"params\":{\"itemType\":\"avatar\",\"item\":{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"foto\",\"initialsField\":\"nome\",\"shape\":\"rounded\",\"size\":24}}},\"isPositive\":true},{\"id\":\"set-button-renderer\",\"request\":\"Transformar a coluna acoes em botao que executa abrir-detalhe\",\"operationId\":\"column.renderer.set\",\"target\":\"acoes\",\"params\":{\"type\":\"button\",\"button\":{\"label\":\"Abrir\",\"action\":{\"id\":\"abrir-detalhe\"}}},\"isPositive\":true},{\"id\":\"add-column-conditional-style\",\"request\":\"Destacar a coluna status quando o valor estiver bloqueado\",\"operationId\":\"column.conditionalStyle.add\",\"target\":\"status\",\"params\":{\"id\":\"status-bloqueado\",\"condition\":{\"==\":[{\"var\":\"status\"},\"bloqueado\"]},\"cssClass\":\"status-bloqueado\"},\"isPositive\":true},{\"id\":\"set-currency-format-preset\",\"request\":\"Formatar a coluna total como moeda brasileira\",\"operationId\":\"column.format.set\",\"target\":\"total\",\"params\":{\"format\":\"BRL|symbol|2\"},\"isPositive\":true},{\"id\":\"set-cpf-format-preset\",\"request\":\"Formate a coluna CPF\",\"operationId\":\"column.format.set\",\"target\":\"cpf\",\"params\":{\"format\":\"000.000.000-00\"},\"isPositive\":true},{\"id\":\"set-long-date-format-preset\",\"request\":\"Mostre a data de admissão por extenso\",\"operationId\":\"column.format.set\",\"target\":\"dataAdmissao\",\"params\":{\"format\":\"longDate\"},\"isPositive\":true},{\"id\":\"set-basic-column-width\",\"request\":\"Definir a largura da coluna nome para 240px\",\"operationId\":\"column.width.set\",\"target\":\"nome\",\"params\":{\"width\":\"240px\"},\"isPositive\":true},{\"id\":\"set-salary-align-right\",\"request\":\"Alinhe o salário à direita\",\"operationId\":\"column.align.set\",\"target\":\"salario\",\"params\":{\"align\":\"right\"},\"isPositive\":true},{\"id\":\"make-name-sticky-start\",\"request\":\"Fixe a coluna funcionário no início da tabela\",\"operationId\":\"column.sticky.set\",\"target\":\"funcionario\",\"params\":{\"sticky\":\"start\"},\"isPositive\":true},{\"id\":\"disable-cpf-sorting\",\"request\":\"Não permita ordenar pela coluna CPF\",\"operationId\":\"column.sortable.set\",\"target\":\"cpf\",\"params\":{\"sortable\":false},\"isPositive\":true}]}",
|
|
30649
30746
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30653,7 +30750,7 @@
|
|
|
30653
30750
|
"corpusVersion": "1.0.0"
|
|
30654
30751
|
},
|
|
30655
30752
|
{
|
|
30656
|
-
"chunkIndex":
|
|
30753
|
+
"chunkIndex": 133,
|
|
30657
30754
|
"chunkKind": "authoring_manifest",
|
|
30658
30755
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.3\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"examples\",\"examples\":[{\"id\":\"enable-department-filter\",\"request\":\"Deixe o departamento disponível nos filtros\",\"operationId\":\"column.filterable.set\",\"target\":\"departamento\",\"params\":{\"filterable\":true},\"isPositive\":true},{\"id\":\"hide-internal-id-column\",\"request\":\"Oculte o ID interno da tabela\",\"operationId\":\"column.visibility.set\",\"target\":\"id\",\"params\":{\"visible\":false},\"isPositive\":true},{\"id\":\"hide-source-column-after-cell-composition\",\"request\":\"Na coluna Código, mostrar primeiro a foto e depois o código na mesma célula, sem manter Foto como coluna separada\",\"operationId\":\"column.visibility.set\",\"target\":\"foto\",\"params\":{\"visible\":false},\"isPositive\":true},{\"id\":\"move-whole-photo-column-before-code\",\"request\":\"Mover a coluna Foto inteira para antes da coluna Código, mantendo as duas colunas separadas e sem alterar suas células\",\"operationId\":\"column.order.set\",\"target\":\"foto\",\"params\":{\"order\":0},\"isPositive\":true},{\"id\":\"map-active-status-labels\",\"request\":\"Sem mudar o título da coluna Ativo, mostre Sim e Não no lugar dos valores das células\",\"operationId\":\"column.valueMapping.set\",\"target\":\"ativo\",\"params\":{\"valueMapping\":{\"true\":\"Sim\",\"false\":\"Não\"}},\"isPositive\":true},{\"id\":\"column-header-renaming-is-not-value-mapping\",\"request\":\"Ativo vira Status.\",\"operationId\":\"column.valueMapping.set\",\"target\":\"ativo\",\"isPositive\":false},{\"id\":\"set-avatar-chip-renderer\",\"request\":\"Corrija o avatar do funcionário e mantenha o nome como chip\",\"operationId\":\"column.renderer.set\",\"target\":\"funcionario\",\"params\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"avatarUrl\",\"initialsField\":\"funcionario\",\"shape\":\"circle\",\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}},{\"type\":\"chip\",\"chip\":{\"textField\":\"funcionario\",\"variant\":\"soft\"}}]}},\"isPositive\":true},{\"id\":\"highlight-high-salary-row-red\",\"request\":\"Destaque de vermelho as linhas com salário acima de 30 mil\",\"operationId\":\"row.styleRule.add\",\"params\":{\"id\":\"salario-acima-30000\",\"condition\":{\">\":[{\"var\":\"salario\"},30000]},\"effects\":[{\"id\":\"salario-alto-destaque\",\"scope\":\"row\",\"description\":\"Destaque visual para salários acima de R$ 30.000.\",\"estilo\":{\"color\":\"#B42318\",\"bold\":true},\"background\":{\"color\":\"#FDECEC\"},\"layout\":{\"border\":\"left\",\"borderColor\":\"#D92D20\",\"borderWidth\":4}}],\"description\":\"Destaca a linha inteira sem alterar dados, filtros ou paginação.\"},\"isPositive\":true},{\"id\":\"change-high-salary-row-highlight-to-orange\",\"request\":\"Agora troque vermelho por laranja\",\"operationId\":\"row.styleRule.update\",\"target\":\"salario-acima-30000\",\"params\":{\"description\":\"Destaca em laranja a linha inteira para salários acima de R$ 30.000.\",\"effects\":[{\"id\":\"salario-alto-destaque\",\"scope\":\"row\",\"description\":\"Destaque visual laranja para salários acima de R$ 30.000.\",\"estilo\":{\"color\":\"#9A3412\",\"bold\":true},\"background\":{\"color\":\"#FFEDD5\"},\"layout\":{\"border\":\"left\",\"borderColor\":\"#F97316\",\"borderWidth\":4}}]},\"isPositive\":true},{\"id\":\"animate-high-salary-row\",\"request\":\"Anime suavemente as linhas com salário acima de 30000\",\"operationId\":\"row.conditionalRenderer.add\",\"params\":{\"id\":\"salario-alto-pulse\",\"condition\":{\">\":[{\"var\":\"salario\"},30000]},\"animation\":{\"preset\":\"pulse-soft\",\"trigger\":\"onAppear\",\"intensity\":\"subtle\",\"repeat\":\"once\",\"durationMs\":1200},\"description\":\"Destaca linhas de salário alto sem alterar os dados.\"},\"isPositive\":true},{\"id\":\"style-low-salary-cell\",\"request\":\"Para salários menores que 30000, use fundo laranja claro\",\"operationId\":\"column.conditionalStyle.add\",\"target\":\"salario\",\"params\":{\"id\":\"salario-baixo-laranja\",\"condition\":{\"<\":[{\"var\":\"salario\"},30000]},\"style\":{\"backgroundColor\":\"#FFF3E0\",\"color\":\"#8A4B00\"},\"tooltip\":{\"text\":\"Salário abaixo do recorte configurado\",\"position\":\"top\"}},\"isPositive\":true},{\"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},{\"id\":\"add-salary-to-advanced-filters-human\",\"request\":\"Inclua também Salário nesses filtros\",\"operationId\":\"filter.advanced.fields.add\",\"params\":{\"fields\":[\"salario\"],\"selected\":true,\"alwaysVisible\":true},\"isPositive\":true},{\"id\":\"remove-active-from-advanced-filters-human\",\"request\":\"Agora remova Ativo desses filtros\",\"operationId\":\"filter.advanced.fields.remove\",\"params\":{\"fields\":[\"ativo\"],\"selected\":true,\"alwaysVisible\":true},\"isPositive\":true},{\"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},{\"id\":\"compact-density-human\",\"request\":\"Deixe a tabela mais compacta\",\"operationId\":\"appearance.density.set\",\"params\":{\"density\":\"compact\"},\"isPositive\":true},{\"id\":\"toolbar-search-refresh-human\",\"request\":\"Mostre busca e botão de atualizar na toolbar\",\"operationId\":\"toolbar.configure\",\"params\":{\"visible\":true,\"showSearch\":true,\"showRefresh\":true},\"isPositive\":true},{\"id\":\"configure-server-pagination\",\"request\":\"Usar paginacao no servidor com 50 linhas por pagina\",\"operationId\":\"behavior.pagination.configure\",\"params\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":50,\"position\":\"bottom\"},\"isPositive\":true},{\"id\":\"configure-default-sorting\",\"request\":\"Ordenar inicialmente por data de criacao decrescente\",\"operationId\":\"behavior.sorting.configure\",\"params\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"createdAt\",\"direction\":\"desc\"}},\"isPositive\":true},{\"id\":\"configure-bulk-actions\",\"request\":\"Habilitar acoes em lote na toolbar\",\"operationId\":\"actions.bulk.configure\",\"params\":{\"enabled\":true,\"position\":\"toolbar\"},\"isPositive\":true},{\"id\":\"configure-localization\",\"request\":\"Configurar a tabela para portugues do Brasil\",\"operationId\":\"localization.configure\",\"params\":{\"locale\":\"pt-BR\",\"direction\":\"ltr\",\"dateTime\":{\"dateFormat\":\"dd/MM/yyyy\"}},\"isPositive\":true},{\"id\":\"configure-accessibility\",\"request\":\"Ativar alto contraste e reduzir animacoes\",\"operationId\":\"accessibility.configure\",\"params\":{\"enabled\":true,\"highContrast\":true,\"reduceMotion\":true,\"announcements\":{\"liveRegion\":\"polite\"}},\"isPositive\":true},{\"id\":\"require-removal-confirmation\",\"request\":\"Remover a coluna nome\",\"operationId\":\"column.remove\",\"target\":\"nome\",\"isPositive\":true}]}",
|
|
30659
30756
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -30663,7 +30760,7 @@
|
|
|
30663
30760
|
"corpusVersion": "1.0.0"
|
|
30664
30761
|
},
|
|
30665
30762
|
{
|
|
30666
|
-
"chunkIndex":
|
|
30763
|
+
"chunkIndex": 134,
|
|
30667
30764
|
"chunkKind": "context_pack",
|
|
30668
30765
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext\",\"componentContext\":{\"version\":\"v1\"}}",
|
|
30669
30766
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30673,7 +30770,7 @@
|
|
|
30673
30770
|
"corpusVersion": "1.0.0"
|
|
30674
30771
|
},
|
|
30675
30772
|
{
|
|
30676
|
-
"chunkIndex":
|
|
30773
|
+
"chunkIndex": 135,
|
|
30677
30774
|
"chunkKind": "context_pack",
|
|
30678
30775
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.optionsByPath\",\"componentContext\":{\"optionsByPath\":{\"appearance.density\":{\"mode\":\"enum\",\"options\":[{\"value\":\"compact\",\"label\":\"Compact\"},{\"value\":\"comfortable\",\"label\":\"Comfortable\"},{\"value\":\"spacious\",\"label\":\"Spacious\"}]},\"export.formats\":{\"mode\":\"enum\",\"options\":[{\"value\":\"excel\",\"label\":\"Excel\"},{\"value\":\"pdf\",\"label\":\"PDF\"},{\"value\":\"csv\",\"label\":\"CSV\"},{\"value\":\"json\",\"label\":\"JSON\"},{\"value\":\"print\",\"label\":\"Print\"}]},\"columns[].type\":{\"mode\":\"enum\",\"options\":[{\"value\":\"string\",\"label\":\"String\"},{\"value\":\"number\",\"label\":\"Number\"},{\"value\":\"currency\",\"label\":\"Currency\"},{\"value\":\"percentage\",\"label\":\"Percentage\"},{\"value\":\"date\",\"label\":\"Date\"},{\"value\":\"boolean\",\"label\":\"Boolean\"},{\"value\":\"custom\",\"label\":\"Custom\"}]},\"columns[].format\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"shortDate\",\"label\":\"Date short\",\"example\":\"01/12/2023\"},{\"value\":\"mediumDate\",\"label\":\"Date medium\",\"example\":\"01 Dec 2023\"},{\"value\":\"longDate\",\"label\":\"Date long\",\"example\":\"01 December 2023\"},{\"value\":\"fullDate\",\"label\":\"Date full\",\"example\":\"Friday, 01 December 2023\"},{\"value\":\"MMM/yyyy\",\"label\":\"Month/Year\",\"example\":\"Dec/2023\"},{\"value\":\"shortTime\",\"label\":\"Time short\",\"example\":\"14:30\"},{\"value\":\"short\",\"label\":\"Date+Time short\",\"example\":\"01/12/2023 14:30\"},{\"value\":\"yyyy-MM-dd\",\"label\":\"ISO 8601\",\"example\":\"2023-12-01\"},{\"value\":\"dd/MM/yyyy\",\"label\":\"Date dd/MM/yyyy\",\"example\":\"01/12/2023\"},{\"value\":\"yyyy-MM-dd HH:mm\",\"label\":\"DateTime yyyy-MM-dd HH:mm\",\"example\":\"2023-12-01 14:30\"},{\"value\":\"1.0-0\",\"label\":\"Number integer\",\"example\":\"1,234\"},{\"value\":\"1.1-1\",\"label\":\"Number 1 decimal\",\"example\":\"1,234.5\"},{\"value\":\"1.2-2\",\"label\":\"Number 2 decimals\",\"example\":\"1,234.56\"},{\"value\":\"1.0-3\",\"label\":\"Number up to 3 decimals\",\"example\":\"1,234.567\"},{\"value\":\"1.0-0|nosep\",\"label\":\"Number no grouping\",\"example\":\"1234\"},{\"value\":\"BRL|symbol|2\",\"label\":\"Currency BRL symbol\",\"example\":\"R$ 1.234,56\"},{\"value\":\"BRL|symbol|2|nosep\",\"label\":\"Currency BRL symbol (no grouping)\",\"example\":\"R$ 1234,56\"},{\"value\":\"USD|symbol|2\",\"label\":\"Currency USD symbol\",\"example\":\"US$ 1,234.56\"},{\"value\":\"EUR|symbol|2\",\"label\":\"Currency EUR symbol\",\"example\":\"EUR 1,234.56\"},{\"value\":\"BRL|code|2\",\"label\":\"Currency code\",\"example\":\"1,234.56 BRL\"},{\"value\":\"USD|code|0\",\"label\":\"Currency USD code (0 decimals)\",\"example\":\"1234 USD\"},{\"value\":\"EUR|symbol|2|nosep\",\"label\":\"Currency EUR symbol (no grouping)\",\"example\":\"EUR 1234,56\"},{\"value\":\"1.0-0\",\"label\":\"Percent 0 decimals\",\"example\":\"12%\"},{\"value\":\"1.1-1\",\"label\":\"Percent 1 decimal\",\"example\":\"12.3%\"},{\"value\":\"1.2-2\",\"label\":\"Percent 2 decimals\",\"example\":\"12.34%\"},{\"value\":\"1.0-0|x100\",\"label\":\"Percent 0 decimals (x100)\",\"example\":\"12%\"},{\"value\":\"1.1-1|x100\",\"label\":\"Percent 1 decimal (x100)\",\"example\":\"12.3%\"},{\"value\":\"1.2-2|x100\",\"label\":\"Percent 2 decimals (x100)\",\"example\":\"12.34%\"},{\"value\":\"none\",\"label\":\"String none\",\"example\":\"Sample\"},{\"value\":\"uppercase\",\"label\":\"String uppercase\",\"example\":\"SAMPLE\"},{\"value\":\"lowercase\",\"label\":\"String lowercase\",\"example\":\"sample\"},{\"value\":\"titlecase\",\"label\":\"String titlecase\",\"example\":\"Sample Text\"},{\"value\":\"capitalize\",\"label\":\"String capitalize\",\"example\":\"Sample\"},{\"value\":\"uppercase|truncate|50|...\",\"label\":\"String uppercase + truncate 50\",\"example\":\"SAMPLE...\"},{\"value\":\"true-false\",\"label\":\"Boolean true/false\",\"example\":\"True / False\"},{\"value\":\"yes-no\",\"label\":\"Boolean yes/no\",\"example\":\"Yes / No\"},{\"value\":\"active-inactive\",\"label\":\"Boolean active/inactive\",\"example\":\"Active / Inactive\"},{\"value\":\"on-off\",\"label\":\"Boolean on/off\",\"example\":\"On / Off\"},{\"value\":\"enabled-disabled\",\"label\":\"Boolean enabled/disabled\",\"example\":\"Enabled / Disabled\"},{\"value\":\"custom|Sim|Nao\",\"label\":\"Boolean custom (Sim/Nao)\",\"example\":\"Sim / Nao\"}]},\"columns[].computed.outputType\":{\"mode\":\"enum\",\"options\":[{\"value\":\"string\",\"label\":\"String\"},{\"value\":\"number\",\"label\":\"Number\"},{\"value\":\"currency\",\"label\":\"Currency\"},{\"value\":\"percentage\",\"label\":\"Percentage\"},{\"value\":\"date\",\"label\":\"Date\"},{\"value\":\"boolean\",\"label\":\"Boolean\"},{\"value\":\"custom\",\"label\":\"Custom\"}]},\"columns[].computed.format\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"shortDate\",\"label\":\"Date short\",\"example\":\"01/12/2023\"},{\"value\":\"mediumDate\",\"label\":\"Date medium\",\"example\":\"01 Dec 2023\"},{\"value\":\"longDate\",\"label\":\"Date long\",\"example\":\"01 December 2023\"},{\"value\":\"fullDate\",\"label\":\"Date full\",\"example\":\"Friday, 01 December 2023\"},{\"value\":\"MMM/yyyy\",\"label\":\"Month/Year\",\"example\":\"Dec/2023\"},{\"value\":\"shortTime\",\"label\":\"Time short\",\"example\":\"14:30\"},{\"value\":\"short\",\"label\":\"Date+Time short\",\"example\":\"01/12/2023 14:30\"},{\"value\":\"yyyy-MM-dd\",\"label\":\"ISO 8601\",\"example\":\"2023-12-01\"},{\"value\":\"dd/MM/yyyy\",\"label\":\"Date dd/MM/yyyy\",\"example\":\"01/12/2023\"},{\"value\":\"yyyy-MM-dd HH:mm\",\"label\":\"DateTime yyyy-MM-dd HH:mm\",\"example\":\"2023-12-01 14:30\"},{\"value\":\"1.0-0\",\"label\":\"Number integer\",\"example\":\"1,234\"},{\"value\":\"1.1-1\",\"label\":\"Number 1 decimal\",\"example\":\"1,234.5\"},{\"value\":\"1.2-2\",\"label\":\"Number 2 decimals\",\"example\":\"1,234.56\"},{\"value\":\"1.0-3\",\"label\":\"Number up to 3 decimals\",\"example\":\"1,234.567\"},{\"value\":\"1.0-0|nosep\",\"label\":\"Number no grouping\",\"example\":\"1234\"},{\"value\":\"BRL|symbol|2\",\"label\":\"Currency BRL symbol\",\"example\":\"R$ 1.234,56\"},{\"value\":\"BRL|symbol|2|nosep\",\"label\":\"Currency BRL symbol (no grouping)\",\"example\":\"R$ 1234,56\"},{\"value\":\"USD|symbol|2\",\"label\":\"Currency USD symbol\",\"example\":\"US$ 1,234.56\"},{\"value\":\"EUR|symbol|2\",\"label\":\"Currency EUR symbol\",\"example\":\"EUR 1,234.56\"},{\"value\":\"BRL|code|2\",\"label\":\"Currency code\",\"example\":\"1,234.56 BRL\"},{\"value\":\"USD|code|0\",\"label\":\"Currency USD code (0 decimals)\",\"example\":\"1234 USD\"},{\"value\":\"EUR|symbol|2|nosep\",\"label\":\"Currency EUR symbol (no grouping)\",\"example\":\"EUR 1234,56\"},{\"value\":\"1.0-0\",\"label\":\"Percent 0 decimals\",\"example\":\"12%\"},{\"value\":\"1.1-1\",\"label\":\"Percent 1 decimal\",\"example\":\"12.3%\"},{\"value\":\"1.2-2\",\"label\":\"Percent 2 decimals\",\"example\":\"12.34%\"},{\"value\":\"1.0-0|x100\",\"label\":\"Percent 0 decimals (x100)\",\"example\":\"12%\"},{\"value\":\"1.1-1|x100\",\"label\":\"Percent 1 decimal (x100)\",\"example\":\"12.3%\"},{\"value\":\"1.2-2|x100\",\"label\":\"Percent 2 decimals (x100)\",\"example\":\"12.34%\"},{\"value\":\"none\",\"label\":\"String none\",\"example\":\"Sample\"},{\"value\":\"uppercase\",\"label\":\"String uppercase\",\"example\":\"SAMPLE\"},{\"value\":\"lowercase\",\"label\":\"String lowercase\",\"example\":\"sample\"},{\"value\":\"titlecase\",\"label\":\"String titlecase\",\"example\":\"Sample Text\"},{\"value\":\"capitalize\",\"label\":\"String capitalize\",\"example\":\"Sample\"},{\"value\":\"uppercase|truncate|50|...\",\"label\":\"String uppercase + truncate 50\",\"example\":\"SAMPLE...\"},{\"value\":\"true-false\",\"label\":\"Boolean true/false\",\"example\":\"True / False\"},{\"value\":\"yes-no\",\"label\":\"Boolean yes/no\",\"example\":\"Yes / No\"},{\"value\":\"active-inactive\",\"label\":\"Boolean active/inactive\",\"example\":\"Active / Inactive\"},{\"value\":\"on-off\",\"label\":\"Boolean on/off\",\"example\":\"On / Off\"},{\"value\":\"enabled-disabled\",\"label\":\"Boolean enabled/disabled\",\"example\":\"Enabled / Disabled\"},{\"value\":\"custom|Sim|Nao\",\"label\":\"Boolean custom (Sim/Nao)\",\"example\":\"Sim / Nao\"}]},\"behavior.filtering.advancedFilters.settings.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filter\",\"label\":\"Filter\"}]},\"behavior.expansion.state.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"controlled\",\"label\":\"Controlled\"},{\"value\":\"uncontrolled\",\"label\":\"Uncontrolled\"}]},\"behavior.expansion.interaction.trigger\":{\"mode\":\"enum\",\"options\":[{\"value\":\"icon\",\"label\":\"Icon\"},{\"value\":\"row\",\"label\":\"Row\"},{\"value\":\"both\",\"label\":\"Both\"}]},\"behavior.expansion.interaction.keyboard.profile\":{\"mode\":\"enum\",\"options\":[{\"value\":\"disclosure\",\"label\":\"Disclosure\"},{\"value\":\"grid\",\"label\":\"Grid\"}]},\"behavior.expansion.limits.onOverflow\":{\"mode\":\"enum\",\"options\":[{\"value\":\"collapseOldest\",\"label\":\"Collapse Oldest\"},{\"value\":\"denyNew\",\"label\":\"Deny New\"},{\"value\":\"collapseAll\",\"label\":\"Collapse All\"}]}}}}",
|
|
30679
30776
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30683,7 +30780,7 @@
|
|
|
30683
30780
|
"corpusVersion": "1.0.0"
|
|
30684
30781
|
},
|
|
30685
30782
|
{
|
|
30686
|
-
"chunkIndex":
|
|
30783
|
+
"chunkIndex": 136,
|
|
30687
30784
|
"chunkKind": "context_pack",
|
|
30688
30785
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.optionsByPath\",\"componentContext\":{\"optionsByPath\":{\"behavior.expansion.collapseOn.sortChange\":{\"mode\":\"enum\",\"options\":[{\"value\":\"true\",\"label\":\"Enabled\"},{\"value\":\"false\",\"label\":\"Disabled\"}]},\"behavior.expansion.collapseOn.pageChange\":{\"mode\":\"enum\",\"options\":[{\"value\":\"true\",\"label\":\"Enabled\"},{\"value\":\"false\",\"label\":\"Disabled\"}]},\"behavior.expansion.collapseOn.filterChange\":{\"mode\":\"enum\",\"options\":[{\"value\":\"true\",\"label\":\"Enabled\"},{\"value\":\"false\",\"label\":\"Disabled\"}]},\"behavior.expansion.collapseOn.dataRefresh\":{\"mode\":\"enum\",\"options\":[{\"value\":\"true\",\"label\":\"Enabled\"},{\"value\":\"false\",\"label\":\"Disabled\"}]},\"behavior.expansion.detail.source.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"inline\",\"label\":\"Inline\"},{\"value\":\"resource\",\"label\":\"Resource\"},{\"value\":\"resourcePath\",\"label\":\"Resource Path\"}]},\"behavior.expansion.detail.source.resource.kind\":{\"mode\":\"enum\",\"options\":[{\"value\":\"ui-composition\",\"label\":\"UI Composition\"},{\"value\":\"form-schema\",\"label\":\"Form Schema\"},{\"value\":\"table-schema\",\"label\":\"Table Schema\"},{\"value\":\"dashboard-schema\",\"label\":\"Dashboard Schema\"}]},\"behavior.expansion.detail.source.resourcePath.method\":{\"mode\":\"enum\",\"options\":[{\"value\":\"GET\",\"label\":\"GET\"},{\"value\":\"POST\",\"label\":\"POST\"}]},\"behavior.expansion.detail.source.resourcePath.paramsMap\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"{\\\"id\\\":\\\"$row.id\\\"}\",\"label\":\"Row ID\"},{\"value\":\"{\\\"id\\\":\\\"$row.id\\\",\\\"table\\\":\\\"$ctx.tableId\\\"}\",\"label\":\"Row + Table\"}]},\"behavior.expansion.detail.source.resourceAllowList[]\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"api/orders/*/detail-schema\",\"label\":\"Orders detail schema\"},{\"value\":\"api/customers/*/detail-schema\",\"label\":\"Customers detail schema\"}]},\"behavior.expansion.detail.rendering.strategy\":{\"mode\":\"enum\",\"options\":[{\"value\":\"registry\",\"label\":\"Registry\"}]},\"behavior.expansion.detail.rendering.hostLayout\":{\"mode\":\"enum\",\"options\":[{\"value\":\"auto\",\"label\":\"Auto\"},{\"value\":\"stack\",\"label\":\"Stack\"},{\"value\":\"tabs\",\"label\":\"Tabs\"}]},\"behavior.expansion.detail.rendering.fallbackNodePolicy\":{\"mode\":\"enum\",\"options\":[{\"value\":\"failClosed\",\"label\":\"Fail Closed\"},{\"value\":\"renderPlaceholder\",\"label\":\"Render Placeholder\"}]},\"behavior.expansion.detail.height.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"fixed\",\"label\":\"Fixed\"},{\"value\":\"dynamic\",\"label\":\"Dynamic\"}]},\"behavior.expansion.virtualization.policy\":{\"mode\":\"enum\",\"options\":[{\"value\":\"fixed-height-only\",\"label\":\"Fixed Height Only\"},{\"value\":\"allow-dynamic-under-flag\",\"label\":\"Allow Dynamic Under Flag\"}]},\"behavior.expansion.security.eventExposureDefault.rowId\":{\"mode\":\"enum\",\"options\":[{\"value\":\"redacted\",\"label\":\"Redacted\"},{\"value\":\"hashed\",\"label\":\"Hashed\"},{\"value\":\"raw\",\"label\":\"Raw\"}]},\"behavior.expansion.security.eventExposureDefault.expandedKeys\":{\"mode\":\"enum\",\"options\":[{\"value\":\"none\",\"label\":\"None\"},{\"value\":\"hashed\",\"label\":\"Hashed\"},{\"value\":\"raw\",\"label\":\"Raw\"}]},\"behavior.expansion.deepLink.encoding\":{\"mode\":\"enum\",\"options\":[{\"value\":\"csv\",\"label\":\"CSV\"}]},\"behavior.expansion.deepLink.parsing.duplicateParams\":{\"mode\":\"enum\",\"options\":[{\"value\":\"firstWins\",\"label\":\"First Wins\"},{\"value\":\"reject\",\"label\":\"Reject\"}]},\"behavior.expansion.deepLink.integrity.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"opaqueToken\",\"label\":\"Opaque Token\"}]},\"behavior.expansion.deepLink.privacy.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"denyByDefault\",\"label\":\"Deny By Default\"},{\"value\":\"allowByDefault\",\"label\":\"Allow By Default\"}]},\"columns[].renderer.type\":{\"mode\":\"enum\",\"options\":[{\"value\":\"icon\",\"label\":\"Icon\"},{\"value\":\"image\",\"label\":\"Image\"},{\"value\":\"badge\",\"label\":\"Badge\"},{\"value\":\"link\",\"label\":\"Link\"},{\"value\":\"button\",\"label\":\"Button\"},{\"value\":\"chip\",\"label\":\"Chip\"},{\"value\":\"progress\",\"label\":\"Progress\"},{\"value\":\"avatar\",\"label\":\"Avatar\"},{\"value\":\"toggle\",\"label\":\"Toggle\"},{\"value\":\"menu\",\"label\":\"Menu\"},{\"value\":\"rating\",\"label\":\"Rating\"},{\"value\":\"html\",\"label\":\"HTML\"},{\"value\":\"microVisualization\",\"label\":\"Micro visualization\"},{\"value\":\"compose\",\"label\":\"Compose\"}]},\"columns[].renderer.image.shape\":{\"mode\":\"enum\",\"options\":[{\"value\":\"square\",\"label\":\"Square\"},{\"value\":\"rounded\",\"label\":\"Rounded\"},{\"value\":\"circle\",\"label\":\"Circle\"}]},\"columns[].renderer.image.fit\":{\"mode\":\"enum\",\"options\":[{\"value\":\"cover\",\"label\":\"Cover\"},{\"value\":\"contain\",\"label\":\"Contain\"}]},\"columns[].renderer.link.target\":{\"mode\":\"enum\",\"options\":[{\"value\":\"_blank\",\"label\":\"New tab\"},{\"value\":\"_self\",\"label\":\"Same tab\"},{\"value\":\"_parent\",\"label\":\"Parent frame\"},{\"value\":\"_top\",\"label\":\"Top frame\"}]},\"columns[].renderer.button.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"text\",\"label\":\"Text\"}]},\"columns[].renderer.button.color\":{\"mode\":\"enum\",\"options\":[{\"value\":\"primary\",\"label\":\"Primary\"},{\"value\":\"accent\",\"label\":\"Accent\"},{\"value\":\"warn\",\"label\":\"Warn\"}]},\"columns[].renderer.button.size\":{\"mode\":\"enum\",\"options\":[{\"value\":\"sm\",\"label\":\"Small\"},{\"value\":\"md\",\"label\":\"Medium\"},{\"value\":\"lg\",\"label\":\"Large\"}]},\"columns[].renderer.badge.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"soft\",\"label\":\"Soft\"},{\"value\":\"plain\",\"label\":\"Plain\"}]},\"columns[].renderer.chip.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"soft\",\"label\":\"Soft\"},{\"value\":\"plain\",\"label\":\"Plain\"}]},\"columns[].renderer.rating.size\":{\"mode\":\"enum\",\"options\":[{\"value\":\"small\",\"label\":\"Small\"},{\"value\":\"medium\",\"label\":\"Medium\"},{\"value\":\"large\",\"label\":\"Large\"}]},\"columns[].renderer.compose.items[].type\":{\"mode\":\"enum\",\"options\":[{\"value\":\"value\",\"label\":\"Value\"},{\"value\":\"icon\",\"label\":\"Icon\"},{\"value\":\"image\",\"label\":\"Image\"},{\"value\":\"badge\",\"label\":\"Badge\"},{\"value\":\"link\",\"label\":\"Link\"},{\"value\":\"button\",\"label\":\"Button\"},{\"value\":\"chip\",\"label\":\"Chip\"},{\"value\":\"progress\",\"label\":\"Progress\"},{\"value\":\"avatar\",\"label\":\"Avatar\"},{\"value\":\"toggle\",\"label\":\"Toggle\"},{\"value\":\"menu\",\"label\":\"Menu\"},{\"value\":\"rating\",\"label\":\"Rating\"},{\"value\":\"html\",\"label\":\"HTML\"},{\"value\":\"microVisualization\",\"label\":\"Micro visualization\"}]},\"columns[].renderer.microVisualization.visualization.valueExpr\":{},\"columns[].renderer.microVisualization.visualization.valueSuffixExpr\":{},\"columns[].renderer.microVisualization.visualization.totalExpr\":{},\"columns[].renderer.microVisualization.visualization.targetExpr\":{},\"columns[].renderer.microVisualization.visualization.baselineExpr\":{},\"columns[].renderer.microVisualization.visualization.segmentsExpr\":{},\"columns[].renderer.microVisualization.visualization.pointsExpr\":{},\"columns[].renderer.microVisualization.visualization.thresholdsExpr\":{},\"columns[].renderer.microVisualization.visualization.itemsExpr\":{},\"columns[].renderer.microVisualization.visualization.toneExpr\":{},\"columns[].renderer.microVisualization.visualization.ariaLabelExpr\":{},\"columns[].renderer.microVisualization.visualization.fallbackTextExpr\":{},\"columns[].conditionalRenderers[].renderer.type\":{\"mode\":\"enum\",\"options\":[{\"value\":\"icon\",\"label\":\"Icon\"},{\"value\":\"image\",\"label\":\"Image\"},{\"value\":\"badge\",\"label\":\"Badge\"},{\"value\":\"link\",\"label\":\"Link\"},{\"value\":\"button\",\"label\":\"Button\"},{\"value\":\"chip\",\"label\":\"Chip\"},{\"value\":\"progress\",\"label\":\"Progress\"},{\"value\":\"avatar\",\"label\":\"Avatar\"},{\"value\":\"toggle\",\"label\":\"Toggle\"},{\"value\":\"menu\",\"label\":\"Menu\"},{\"value\":\"rating\",\"label\":\"Rating\"},{\"value\":\"html\",\"label\":\"HTML\"},{\"value\":\"microVisualization\",\"label\":\"Micro visualization\"},{\"value\":\"compose\",\"label\":\"Compose\"}]},\"columns[].conditionalRenderers[].renderer.image.shape\":{\"mode\":\"enum\",\"options\":[{\"value\":\"square\",\"label\":\"Square\"},{\"value\":\"rounded\",\"label\":\"Rounded\"},{\"value\":\"circle\",\"label\":\"Circle\"}]}}}}",
|
|
30689
30786
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30693,7 +30790,7 @@
|
|
|
30693
30790
|
"corpusVersion": "1.0.0"
|
|
30694
30791
|
},
|
|
30695
30792
|
{
|
|
30696
|
-
"chunkIndex":
|
|
30793
|
+
"chunkIndex": 137,
|
|
30697
30794
|
"chunkKind": "context_pack",
|
|
30698
30795
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.optionsByPath\",\"componentContext\":{\"optionsByPath\":{\"columns[].conditionalRenderers[].renderer.image.fit\":{\"mode\":\"enum\",\"options\":[{\"value\":\"cover\",\"label\":\"Cover\"},{\"value\":\"contain\",\"label\":\"Contain\"}]},\"columns[].conditionalRenderers[].renderer.link.target\":{\"mode\":\"enum\",\"options\":[{\"value\":\"_blank\",\"label\":\"New tab\"},{\"value\":\"_self\",\"label\":\"Same tab\"},{\"value\":\"_parent\",\"label\":\"Parent frame\"},{\"value\":\"_top\",\"label\":\"Top frame\"}]},\"columns[].conditionalRenderers[].renderer.button.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"text\",\"label\":\"Text\"}]},\"columns[].conditionalRenderers[].renderer.button.color\":{\"mode\":\"enum\",\"options\":[{\"value\":\"primary\",\"label\":\"Primary\"},{\"value\":\"accent\",\"label\":\"Accent\"},{\"value\":\"warn\",\"label\":\"Warn\"}]},\"columns[].conditionalRenderers[].renderer.button.size\":{\"mode\":\"enum\",\"options\":[{\"value\":\"sm\",\"label\":\"Small\"},{\"value\":\"md\",\"label\":\"Medium\"},{\"value\":\"lg\",\"label\":\"Large\"}]},\"columns[].conditionalRenderers[].renderer.badge.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"soft\",\"label\":\"Soft\"}]},\"columns[].conditionalRenderers[].renderer.chip.variant\":{\"mode\":\"enum\",\"options\":[{\"value\":\"filled\",\"label\":\"Filled\"},{\"value\":\"outlined\",\"label\":\"Outlined\"},{\"value\":\"soft\",\"label\":\"Soft\"}]},\"columns[].conditionalRenderers[].renderer.rating.size\":{\"mode\":\"enum\",\"options\":[{\"value\":\"small\",\"label\":\"Small\"},{\"value\":\"medium\",\"label\":\"Medium\"},{\"value\":\"large\",\"label\":\"Large\"}]},\"columns[].conditionalRenderers[].renderer.compose.items[].type\":{\"mode\":\"enum\",\"options\":[{\"value\":\"value\",\"label\":\"Value\"},{\"value\":\"icon\",\"label\":\"Icon\"},{\"value\":\"image\",\"label\":\"Image\"},{\"value\":\"badge\",\"label\":\"Badge\"},{\"value\":\"link\",\"label\":\"Link\"},{\"value\":\"button\",\"label\":\"Button\"},{\"value\":\"chip\",\"label\":\"Chip\"},{\"value\":\"progress\",\"label\":\"Progress\"},{\"value\":\"avatar\",\"label\":\"Avatar\"},{\"value\":\"toggle\",\"label\":\"Toggle\"},{\"value\":\"menu\",\"label\":\"Menu\"},{\"value\":\"rating\",\"label\":\"Rating\"},{\"value\":\"html\",\"label\":\"HTML\"},{\"value\":\"microVisualization\",\"label\":\"Micro visualization\"}]},\"actions.row.actions[].color\":{\"mode\":\"enum\",\"options\":[{\"value\":\"primary\",\"label\":\"Primary\"},{\"value\":\"accent\",\"label\":\"Accent\"},{\"value\":\"warn\",\"label\":\"Warn\"}]},\"actions.row.actions[].icon\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"edit\",\"label\":\"Edit\"},{\"value\":\"delete\",\"label\":\"Delete\"},{\"value\":\"visibility\",\"label\":\"View\"},{\"value\":\"more_vert\",\"label\":\"More\"},{\"value\":\"check\",\"label\":\"Approve\"},{\"value\":\"close\",\"label\":\"Reject\"},{\"value\":\"download\",\"label\":\"Download\"}]},\"actions.row.actions[].globalAction.[actionId]\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"toast.success\",\"label\":\"Toast success\"},{\"value\":\"toast.error\",\"label\":\"Toast error\"},{\"value\":\"dialog.alert\",\"label\":\"Dialog alert\"},{\"value\":\"dialog.open\",\"label\":\"Dialog open\"},{\"value\":\"navigation.openExternal\",\"label\":\"Open external URL\"},{\"value\":\"navigation.openRoute\",\"label\":\"Open internal route\"},{\"value\":\"api.post\",\"label\":\"API POST\"},{\"value\":\"api.patch\",\"label\":\"API PATCH\"}]},\"rowConditionalStyles[].condition\":{\"mode\":\"suggested\",\"options\":[{\"value\":\"status == \\\"active\\\"\",\"label\":\"Status Active\"},{\"value\":\"amount < 0\",\"label\":\"Negative Amount\"},{\"value\":\"priority == \\\"high\\\"\",\"label\":\"High Priority\"}]}}}}",
|
|
30699
30796
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30703,7 +30800,7 @@
|
|
|
30703
30800
|
"corpusVersion": "1.0.0"
|
|
30704
30801
|
},
|
|
30705
30802
|
{
|
|
30706
|
-
"chunkIndex":
|
|
30803
|
+
"chunkIndex": 138,
|
|
30707
30804
|
"chunkKind": "context_pack",
|
|
30708
30805
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.actionCatalog\",\"componentContext\":{\"actionCatalog\":[{\"id\":\"ADD_COLUMN\",\"intentExamples\":[\"add column\",\"nova coluna\",\"criar coluna\",\"insert column\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"params\":[{\"name\":\"field\",\"type\":\"STRING\",\"description\":\"Nome técnico da nova coluna\"},{\"name\":\"header\",\"type\":\"STRING\",\"description\":\"Título da coluna\"}],\"patchTemplate\":{\"columns\":[{\"field\":\"{{params.field}}\",\"header\":\"{{params.header}}\",\"visible\":true}]}},{\"id\":\"ADD_COLUMN_COMPUTED\",\"intentExamples\":[\"calculated column\",\"coluna calculada\",\"compute\",\"formula\",\"expression\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"params\":[{\"name\":\"field\",\"type\":\"STRING\",\"description\":\"Nome técnico da nova coluna (ex: total)\"},{\"name\":\"header\",\"type\":\"STRING\",\"description\":\"Título da coluna\"},{\"name\":\"expression\",\"type\":\"STRING\",\"description\":\"AST Json Logic canônico serializado em JSON para derived values (ex: { \\\"*\\\": [{ \\\"var\\\": \\\"quantity\\\" }, { \\\"var\\\": \\\"price\\\" }] })\"},{\"name\":\"type\",\"type\":\"ENUM\",\"options\":[\"number\",\"currency\",\"percentage\",\"string\",\"boolean\"],\"description\":\"Tipo de dado resultante\"}],\"relatedConcepts\":[\"computed-logic\"],\"patchTemplate\":{\"columns\":[{\"field\":\"{{params.field}}\",\"header\":\"{{params.header}}\",\"visible\":true,\"computed\":{\"expression\":\"{{params.expression}}\",\"outputType\":\"{{params.type}}\"}}]}},{\"id\":\"HIDE_COLUMN\",\"intentExamples\":[\"hide column\",\"ocultar coluna\",\"esconder coluna\",\"invisible\"],\"scope\":\"COLUMN\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"defaultValue\":false,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"visible\":false}]}},{\"id\":\"SHOW_COLUMN\",\"intentExamples\":[\"show column\",\"mostrar coluna\",\"exibir coluna\",\"visible\"],\"scope\":\"COLUMN\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"defaultValue\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"visible\":true}]}},{\"id\":\"RENAME_COLUMN\",\"intentExamples\":[\"rename column\",\"renomear coluna\",\"titulo\",\"cabecalho\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"header\":\"{{value}}\"}]}},{\"id\":\"column.format.set\",\"intentExamples\":[\"format\",\"formatar\",\"date format\",\"number format\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"format\":\"{{value}}\"}]}},{\"id\":\"column.type.set\",\"intentExamples\":[\"type\",\"tipo\",\"data type\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"type\":\"{{value}}\"}]}},{\"id\":\"DISABLE_SORT\",\"intentExamples\":[\"disable sort\",\"desativar ordenacao\",\"sem ordenacao\"],\"scope\":\"COLUMN\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"defaultValue\":false,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"sortable\":false}]}},{\"id\":\"ENABLE_SORT\",\"intentExamples\":[\"enable sort\",\"ativar ordenacao\"],\"scope\":\"COLUMN\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"defaultValue\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"sortable\":true}]}},{\"id\":\"column.width.set\",\"intentExamples\":[\"width\",\"largura\",\"col width\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"width\":\"{{value}}\"}]}},{\"id\":\"column.order.set\",\"intentExamples\":[\"ordem visual\",\"mover coluna\",\"colocar depois de\",\"colocar antes de\"],\"scope\":\"COLUMN\",\"valueType\":\"NUMBER\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"order\":\"{{value}}\"}]}},{\"id\":\"column.align.set\",\"intentExamples\":[\"align\",\"alinhamento\",\"left\",\"center\",\"right\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"align\":\"{{value}}\"}]}},{\"id\":\"column.sticky.set\",\"intentExamples\":[\"sticky\",\"fixar coluna\",\"pin column\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"sticky\":\"{{value}}\"}]}},{\"id\":\"column.renderer.type.set\",\"intentExamples\":[\"renderer\",\"render\",\"cell type\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"{{value}}\"}}]}},{\"id\":\"column.renderer.image.shape.set\",\"intentExamples\":[\"image shape\",\"avatar shape\",\"imagem recorte\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"image\",\"image\":{\"shape\":\"{{value}}\"}}}]}},{\"id\":\"column.renderer.link.target.set\",\"intentExamples\":[\"link target\",\"abrir em nova aba\",\"target blank\"],\"scope\":\"COLUMN\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"link\",\"link\":{\"target\":\"{{value}}\"}}}]}},{\"id\":\"column.renderer.button.style.set\",\"intentExamples\":[\"button style\",\"botao estilo\",\"variant\",\"color\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"button\",\"button\":{\"variant\":\"{{params.variant}}\",\"color\":\"{{params.color}}\"}}}]}},{\"id\":\"SET_RENDERER_BADGE\",\"intentExamples\":[\"render badge\",\"exibir como badge\",\"status badge\",\"etiqueta\",\"tag\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"params\":[{\"name\":\"variant\",\"type\":\"ENUM\",\"options\":[\"filled\",\"outlined\",\"soft\",\"plain\"],\"description\":\"Estilo visual do badge\"},{\"name\":\"color\",\"type\":\"ENUM\",\"options\":[\"primary\",\"accent\",\"warn\",\"success\",\"info\"],\"description\":\"Cor semântica do badge\"}],\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"{{target}}\",\"textField\":\"{{target}}\",\"color\":\"{{params.color}}\",\"variant\":\"{{params.variant}}\"}}}]}},{\"id\":\"SET_RENDERER_CHIP\",\"intentExamples\":[\"render chip\",\"exibir como chip\",\"chip\",\"pilula\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"chip\",\"chip\":{\"textField\":\"{{target}}\",\"color\":\"{{params.color}}\",\"variant\":\"{{params.variant}}\"}}}]}},{\"id\":\"SET_RENDERER_ICON\",\"intentExamples\":[\"render icon\",\"exibir como icone\",\"icone\",\"icon\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"{{value}}\",\"color\":\"{{params.color}}\",\"size\":18}}}]}},{\"id\":\"SET_RENDERER_COMPOSE_TITLE_SUBTITLE\",\"intentExamples\":[\"compose title subtitle\",\"titulo e subtitulo\",\"two lines\",\"duas linhas\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"compose\",\"compose\":{\"layout\":{\"direction\":\"column\",\"gap\":4},\"items\":[{\"type\":\"value\",\"emphasis\":\"strong\"},{\"type\":\"value\",\"textField\":\"{{params.subtitleField}}\",\"emphasis\":\"subtle\"}]}}}]}},{\"id\":\"SET_RENDERER_COMPOSE_AVATAR_TEXT\",\"intentExamples\":[\"compose avatar text\",\"avatar e texto\",\"user card\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"renderer\":{\"type\":\"compose\",\"compose\":{\"layout\":{\"direction\":\"row\",\"gap\":12,\"align\":\"center\",\"ellipsis\":true},\"items\":[{\"type\":\"avatar\",\"avatar\":{\"srcField\":\"{{params.imageField}}\",\"initialsField\":\"{{target}}\",\"shape\":\"circle\"}},{\"type\":\"value\",\"emphasis\":\"strong\"}]}}}]}}]}}",
|
|
30709
30806
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30713,7 +30810,7 @@
|
|
|
30713
30810
|
"corpusVersion": "1.0.0"
|
|
30714
30811
|
},
|
|
30715
30812
|
{
|
|
30716
|
-
"chunkIndex":
|
|
30813
|
+
"chunkIndex": 139,
|
|
30717
30814
|
"chunkKind": "context_pack",
|
|
30718
30815
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.actionCatalog\",\"componentContext\":{\"actionCatalog\":[{\"id\":\"ENABLE_PAGINATION\",\"intentExamples\":[\"enable pagination\",\"paginar\",\"paginação\",\"pagination\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"pagination\":{\"enabled\":true,\"pageSize\":\"{{params.pageSize}}\"}}}},{\"id\":\"DISABLE_PAGINATION\",\"intentExamples\":[\"disable pagination\",\"remover paginacao\",\"lista infinita\",\"no pagination\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"behavior\":{\"pagination\":{\"enabled\":false}}}},{\"id\":\"ENABLE_FILTERING\",\"intentExamples\":[\"enable filtering\",\"ligar filtros\",\"filtrar\",\"searchable\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"enabled\":true}}}},{\"id\":\"DISABLE_FILTERING\",\"intentExamples\":[\"disable filtering\",\"desligar filtros\",\"no filter\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"enabled\":false}}}},{\"id\":\"ENABLE_ADVANCED_FILTERS\",\"intentExamples\":[\"advanced filters\",\"filtros avancados\",\"filtro complexo\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"advancedFilters\":{\"enabled\":true}}}}},{\"id\":\"SET_FILTER_MODE\",\"intentExamples\":[\"filter mode\",\"modo de filtro\",\"modo unico do filtro\",\"painel de filtro\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"advancedFilters\":{\"settings\":{\"mode\":\"{{value}}\"}}}}}},{\"id\":\"SET_ALWAYS_VISIBLE_FILTERS\",\"intentExamples\":[\"always visible filter\",\"filtro fixo\",\"fixar filtro\",\"pin filter\"],\"scope\":\"GLOBAL\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"advancedFilters\":{\"settings\":{\"alwaysVisibleFields\":[\"{{target}}\"]}}}}}},{\"id\":\"ENABLE_FILTER_SAVING\",\"intentExamples\":[\"save filters\",\"salvar filtros\",\"filter tags\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"filtering\":{\"advancedFilters\":{\"settings\":{\"allowSaveTags\":true}}}}}},{\"id\":\"ENABLE_SORTING\",\"intentExamples\":[\"enable sorting\",\"ligar ordenacao\",\"ordenar\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"sorting\":{\"enabled\":true}}}},{\"id\":\"DISABLE_SORTING\",\"intentExamples\":[\"disable sorting\",\"desligar ordenacao\",\"no sort\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"behavior\":{\"sorting\":{\"enabled\":false}}}},{\"id\":\"ENABLE_SELECTION\",\"intentExamples\":[\"enable selection\",\"ativar selecao\",\"selecionavel\",\"selectable\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"selection\":{\"enabled\":true}}}},{\"id\":\"DISABLE_SELECTION\",\"intentExamples\":[\"disable selection\",\"remover selecao\",\"not selectable\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"behavior\":{\"selection\":{\"enabled\":false}}}},{\"id\":\"SET_SELECTION_SINGLE\",\"intentExamples\":[\"single selection\",\"selecao unica\",\"selecionar um\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":\"single\",\"patchTemplate\":{\"behavior\":{\"selection\":{\"type\":\"single\"}}}},{\"id\":\"SET_SELECTION_MULTIPLE\",\"intentExamples\":[\"multiple selection\",\"selecao multipla\",\"selecionar varios\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":\"multiple\",\"patchTemplate\":{\"behavior\":{\"selection\":{\"type\":\"multiple\"}}}},{\"id\":\"ENABLE_EXPORT\",\"intentExamples\":[\"enable export\",\"ativar exportacao\",\"botão exportar\",\"excel\",\"pdf\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"export\":{\"enabled\":true},\"toolbar\":{\"visible\":true}}},{\"id\":\"DISABLE_EXPORT\",\"intentExamples\":[\"disable export\",\"remover exportacao\",\"esconder exportar\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"export\":{\"enabled\":false}}},{\"id\":\"SET_DENSITY\",\"intentExamples\":[\"set density\",\"mudar densidade\",\"compacto\",\"confortavel\",\"espacoso\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"appearance\":{\"density\":\"{{value}}\"}}},{\"id\":\"SHOW_BORDERS\",\"intentExamples\":[\"show borders\",\"mostrar bordas\",\"com bordas\",\"grid lines\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"appearance\":{\"borders\":{\"showRowBorders\":true,\"showColumnBorders\":true}}}},{\"id\":\"HIDE_BORDERS\",\"intentExamples\":[\"hide borders\",\"ocultar bordas\",\"sem bordas\",\"clean look\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"appearance\":{\"borders\":{\"showRowBorders\":false,\"showColumnBorders\":false,\"showOuterBorder\":false}}}},{\"id\":\"ENABLE_STRIPED_ROWS\",\"intentExamples\":[\"striped rows\",\"zebrado\",\"linhas alternadas\",\"zebra\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"appearance\":{\"colors\":{\"alternateRowBackground\":\"#f7f9fc\"}}}},{\"id\":\"DISABLE_STRIPED_ROWS\",\"intentExamples\":[\"disable striped\",\"remover zebrado\",\"fundo solido\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"appearance\":{\"colors\":{}}}},{\"id\":\"SHOW_TOOLBAR\",\"intentExamples\":[\"show toolbar\",\"mostrar toolbar\",\"barra de ferramentas\",\"titulo da tabela\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"toolbar\":{\"visible\":true}}},{\"id\":\"HIDE_TOOLBAR\",\"intentExamples\":[\"hide toolbar\",\"esconder toolbar\",\"remover titulo\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"toolbar\":{\"visible\":false}}},{\"id\":\"SET_TOOLBAR_POSITION\",\"intentExamples\":[\"toolbar position\",\"posicao da toolbar\",\"toolbar no topo\",\"toolbar embaixo\",\"toolbar em cima\",\"toolbar ambos\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"toolbar\":{\"position\":\"{{value}}\"}}},{\"id\":\"SET_TOOLBAR_ACTIONS_POSITION\",\"intentExamples\":[\"acoes da toolbar\",\"barra de acoes\",\"acoes no topo\",\"acoes embaixo\",\"acoes em cima\",\"acoes em ambos\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"toolbar\":{\"actionsPosition\":\"{{value}}\"}}},{\"id\":\"SET_TOOLBAR_ACTIONS_BG\",\"intentExamples\":[\"cor barra de acoes\",\"fundo da barra de acoes\",\"background acoes\",\"acoes com cor\"],\"scope\":\"GLOBAL\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"toolbar\":{\"actionsBackgroundColor\":\"{{value}}\"}}},{\"id\":\"ENABLE_VIRTUALIZATION\",\"intentExamples\":[\"enable virtualization\",\"virtualizar\",\"scroll infinito\",\"performance\",\"large dataset\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"virtualization\":{\"enabled\":true,\"itemHeight\":48}},\"performance\":{\"virtualization\":{\"enabled\":true,\"itemHeight\":48}}}}]}}",
|
|
30719
30816
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30723,7 +30820,7 @@
|
|
|
30723
30820
|
"corpusVersion": "1.0.0"
|
|
30724
30821
|
},
|
|
30725
30822
|
{
|
|
30726
|
-
"chunkIndex":
|
|
30823
|
+
"chunkIndex": 140,
|
|
30727
30824
|
"chunkKind": "context_pack",
|
|
30728
30825
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.actionCatalog\",\"componentContext\":{\"actionCatalog\":[{\"id\":\"DISABLE_VIRTUALIZATION\",\"intentExamples\":[\"disable virtualization\",\"desativar virtualizacao\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":false,\"patchTemplate\":{\"behavior\":{\"virtualization\":{\"enabled\":false}},\"performance\":{\"virtualization\":{\"enabled\":false}}}},{\"id\":\"ENABLE_ROW_EXPANSION\",\"intentExamples\":[\"expand row\",\"expandir linha\",\"detalhe expansivel\",\"row details\",\"master detail\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"expansion\":{\"enabled\":true,\"contractVersion\":\"1.0.0\",\"interaction\":{\"trigger\":\"icon\",\"keyboard\":{\"profile\":\"disclosure\"}},\"limits\":{\"allowMultiple\":false,\"maxExpandedRows\":1,\"onOverflow\":\"collapseOldest\"},\"detail\":{\"schemaContract\":{\"kind\":\"praxis.detail.schema\",\"version\":\"1.0.0\"},\"source\":{\"mode\":\"inline\",\"inlineSchema\":{\"layout\":\"stack\",\"items\":[]}},\"rendering\":{\"strategy\":\"registry\",\"registryId\":\"praxis.detail.default\"}}}}}},{\"id\":\"SET_EXPANSION_SOURCE_MODE\",\"intentExamples\":[\"expansion source\",\"detail source\",\"schema source\",\"resource detail\",\"resourcePath detail\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"behavior\":{\"expansion\":{\"detail\":{\"source\":{\"mode\":\"{{value}}\"}}}}}},{\"id\":\"SET_EXPANSION_RESOURCE\",\"intentExamples\":[\"detail resource id\",\"resource detail id\",\"ui composition detail\",\"schema detail resource\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"behavior\":{\"expansion\":{\"detail\":{\"source\":{\"mode\":\"resource\",\"resource\":{\"kind\":\"{{params.kind}}\",\"id\":\"{{params.id}}\",\"version\":\"{{params.version}}\"}}}}}}},{\"id\":\"SET_COLUMN_BOLD\",\"intentExamples\":[\"column bold\",\"coluna negrito\",\"destacar coluna\",\"bold text\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"style\":\"font-weight: 600;\"}]}},{\"id\":\"SET_COLUMN_COLOR\",\"intentExamples\":[\"column color\",\"cor da coluna\",\"pintar coluna\",\"text color\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"style\":\"color: {{value}};\"}]}},{\"id\":\"SET_HEADER_UPPERCASE\",\"intentExamples\":[\"header uppercase\",\"cabecalho maiuscula\",\"titulo caixa alta\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"headerStyle\":\"text-transform: uppercase;\"}]}},{\"id\":\"SET_HEADER_BOLD\",\"intentExamples\":[\"header bold\",\"cabecalho negrito\",\"titulo forte\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"headerStyle\":\"font-weight: 600;\"}]}},{\"id\":\"SET_HEADER_BG_COLOR\",\"intentExamples\":[\"header background\",\"fundo cabecalho\",\"cor titulo\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"headerStyle\":\"background-color: {{value}};\"}]}},{\"id\":\"SET_HEADER_TEXT_COLOR\",\"intentExamples\":[\"header text color\",\"cor texto cabecalho\"],\"scope\":\"COLUMN\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"headerStyle\":\"color: {{value}};\"}]}},{\"id\":\"SET_TOOLBAR_ALIGNMENT\",\"intentExamples\":[\"toolbar align\",\"alinhar toolbar\",\"alinhamento barra\",\"space-between\",\"start\",\"end\"],\"scope\":\"GLOBAL\",\"valueType\":\"ENUM\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"toolbar\":{\"layout\":{\"alignment\":\"{{value}}\"}}}},{\"id\":\"ENABLE_GROUPING\",\"intentExamples\":[\"group by\",\"agrupar por\",\"agrupamento\"],\"scope\":\"GLOBAL\",\"valueType\":\"STRING\",\"operation\":\"update\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"behavior\":{\"grouping\":{\"enabled\":true,\"fields\":[\"{{target}}\"],\"expanded\":true}}}},{\"id\":\"CLEAR_GROUPING\",\"intentExamples\":[\"ungroup\",\"desagrupar\",\"remover agrupamento\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"behavior\":{\"grouping\":{\"enabled\":false,\"fields\":[]}}}},{\"id\":\"ENABLE_ROW_ACTIONS\",\"intentExamples\":[\"enable row actions\",\"acoes de linha\",\"botoes na linha\"],\"scope\":\"GLOBAL\",\"valueType\":\"BOOLEAN\",\"operation\":\"update\",\"requiresExistingTarget\":false,\"defaultValue\":true,\"patchTemplate\":{\"actions\":{\"row\":{\"enabled\":true,\"sticky\":\"end\"}}}},{\"id\":\"ADD_ROW_ACTION_ICON\",\"intentExamples\":[\"add row action\",\"botao de acao\",\"adicionar botao\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"actions\":{\"row\":{\"actions\":[{\"id\":\"{{id}}\",\"icon\":\"{{icon}}\",\"label\":\"{{label}}\",\"color\":\"{{params.color}}\",\"overflow\":false}]}}}},{\"id\":\"ADD_ROW_ACTION_MENU\",\"intentExamples\":[\"add row menu\",\"acao no menu\",\"item de menu\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"actions\":{\"row\":{\"actions\":[{\"id\":\"{{id}}\",\"icon\":\"{{icon}}\",\"label\":\"{{label}}\",\"overflow\":true}]}}}},{\"id\":\"ADD_ROW_STYLE_BG\",\"intentExamples\":[\"row background condition\",\"pintar linha se\",\"cor de fundo condicional\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"rowConditionalStyles\":[{\"condition\":\"{{condition}}\",\"style\":{\"background-color\":\"{{value}}\"}}]}},{\"id\":\"ADD_ROW_STYLE_COLOR\",\"intentExamples\":[\"row text color condition\",\"cor texto linha se\"],\"scope\":\"GLOBAL\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":false,\"patchTemplate\":{\"rowConditionalStyles\":[{\"condition\":\"{{condition}}\",\"style\":{\"color\":\"{{value}}\"}}]}},{\"id\":\"ADD_CONDITIONAL_RENDERER\",\"intentExamples\":[\"conditional renderer\",\"renderer condicional\",\"badge condicional\",\"chip condicional\",\"badge se\",\"chip se\",\"conditional badge\",\"conditional chip\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":true,\"params\":[{\"name\":\"condition\",\"type\":\"STRING\",\"description\":\"Objeto JSON Logic canonico serializado, nunca DSL textual (ex: { \\\">\\\": [{ \\\"var\\\": \\\"recompensa\\\" }, 500000] })\"},{\"name\":\"renderer\",\"type\":\"STRING\",\"description\":\"Renderer completo com type e config (ex: { type: \\\"badge\\\", badge: { textField: \\\"recompensa\\\", color: \\\"#ff69b4\\\", variant: \\\"filled\\\" } })\"}],\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"conditionalRenderers\":[{\"condition\":\"{{params.condition}}\",\"renderer\":\"{{params.renderer}}\"}]}]}},{\"id\":\"ADD_CONDITIONAL_ICON\",\"intentExamples\":[\"conditional icon\",\"icone condicional\",\"icone se\"],\"scope\":\"COLUMN\",\"valueType\":\"OBJECT\",\"operation\":\"create\",\"requiresExistingTarget\":true,\"patchTemplate\":{\"columns\":[{\"field\":\"{{target}}\",\"conditionalRenderers\":[{\"condition\":\"{{condition}}\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"{{value}}\",\"color\":\"{{params.color}}\"}}}]}]}}]}}",
|
|
30729
30826
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30733,7 +30830,7 @@
|
|
|
30733
30830
|
"corpusVersion": "1.0.0"
|
|
30734
30831
|
},
|
|
30735
30832
|
{
|
|
30736
|
-
"chunkIndex":
|
|
30833
|
+
"chunkIndex": 141,
|
|
30737
30834
|
"chunkKind": "context_pack",
|
|
30738
30835
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext\",\"componentContext\":{\"fieldResolvers\":{\"columns[].field\":[\"field\",\"header\"],\"actions.row.actions[].id\":[\"id\",\"label\"],\"rowConditionalStyles[].condition\":[\"condition\"]},\"hints\":[\"Use semantic patches with columns[] and field, not JSON Patch or column indexes.\",\"Set columns[].type before choosing columns[].format presets to avoid mismatched formatting.\",\"Renderer config overrides format/valueMapping; avoid mixing unless required.\",\"Use ADD_CONDITIONAL_RENDERER with renderer.type + renderer.<type> config for conditional badges/chips.\",\"When the table already shows a status/boolean column as valueMapping or chip/badge and the user refines colors, variants, icons, animation or tooltip, preserve the target column and create conditionalRenderers per semantic value instead of repeating the same valueMapping.\",\"For boolean chips/badges, model true/false branches explicitly: condition {\\\"==\\\":[{\\\"var\\\":\\\"<field>\\\"},true]} for the positive label and {\\\"==\\\":[{\\\"var\\\":\\\"<field>\\\"},false]} for the negative label; use renderer.type \\\"chip\\\" or \\\"badge\\\" with text, color and variant.\",\"DOC: Widget purpose: data table with sorting, filtering, pagination, and actions.\",\"DOC: Host inputs: tableId (required), resourcePath (optional), config (optional).\",\"DOC: config defaults to createDefaultTableConfig(); columns may start empty.\",\"DOC: behavior.expansion.detail é schema-driven; altere source.mode (inline/resource/resourcePath), não use detail.type.\",\"DOC: Para detail.source.mode=resource, sempre informar resource.kind + resource.id + resource.version.\",\"DOC: Para detail.source.mode=resourcePath, sempre informar resourcePath.paramsMap + resourceAllowList[]; URL absoluta/scheme (http:, https:, data:, javascript:) é bloqueada e o runtime aplica fail-closed.\",\"DOC: collapseOn ativo no runtime P0A: sortChange, pageChange, filterChange e dataRefresh.\",\"DOC: When resourcePath is available, the table can load schema and data; ask the user to pick an API resource when missing.\",\"DOC: resourcePath must be the base resource path only (no /filter, /all, /{id}). CRUD endpoints are handled internally.\",\"DOC: columns[].computed.expression agora usa AST Json Logic canônico para derived values; não use fórmulas string.\",\"DOC: Para microVisualization em table-cell, recomende delta, bullet, radial, harveyBall ou stackedBar para leitura rápida. line, area e column são condicionais à largura horizontal; comparison aumenta a altura da linha; processFlow exige etapas reconhecíveis. Quando esses trade-offs não servirem à decisão, prefira detalhe expandido ou superfície relacionada.\",\"DOC: Expressões de microVisualization aceitam caminho da linha (row.sla) ou fórmula controlada com prefixo = (= row.sla), com a mesma semântica do editor visual.\",\"DOC: Operadores/funções canônicos úteis: +, -, *, /, %, min, max, cat, substr, round, ceil, floor, abs, coalesce, now, date, yearsSince, monthsSince, daysSince, len, toNumber e stringify.\",\"DOC: Examples: {\\\"yearsSince\\\":[{\\\"var\\\":\\\"dataNascimento\\\"}]} → idade; {\\\"yearsSince\\\":[{\\\"var\\\":\\\"dataAdmissao\\\"}]} → tempoEmpresa (anos); {\\\"monthsSince\\\":[{\\\"var\\\":\\\"dataAdmissao\\\"}]} → tempoEmpresa (meses); {\\\"daysSince\\\":[{\\\"var\\\":\\\"dataCadastro\\\"}]} → dias desde cadastro; {\\\"+\\\":[{\\\"coalesce\\\":[{\\\"var\\\":\\\"bonus\\\"},0]},{\\\"var\\\":\\\"salario\\\"}]} → total com fallback.\",\"### DATA ARCHETYPE TO VISUAL STRATEGY\",\"Apply these patterns based on the SEMANTIC NATURE of the column data:\",\"- STATUS/STATE (e.g., phase, stage, is_active, priority):\",\" -> Use \\\"badge\\\" or \\\"chip\\\" with conditional colors (success/warn/error/info).\",\" -> Use \\\"valueMapping\\\" to convert codes (1, \\\"A\\\") to labels (\\\"Active\\\", \\\"Approved\\\").\",\"- METRICS/KPI (e.g., progress, score, rating, completion):\",\" -> Use \\\"progress\\\" (bars), \\\"rating\\\" (stars), or \\\"percentage\\\" type.\",\" -> Align \\\"right\\\".\",\"- FINANCIAL (e.g., price, cost, balance, total):\",\" -> Use type \\\"currency\\\" and format \\\"BRL|symbol|2\\\" (or per locale).\",\" -> Align \\\"right\\\". Style: \\\"font-variant-numeric: tabular-nums\\\".\",\"- ENTITIES (e.g., user, product, thumb):\",\" -> Use \\\"avatar\\\" (for people/users) or \\\"image\\\" (for products/files).\",\" -> Combine with \\\"link\\\" or \\\"compose\\\" for title+subtitle layouts.\",\"- INTERACTIVE/NAV (e.g., details, website, download):\",\" -> Use \\\"button\\\" (actions), \\\"link\\\" (navigation) or \\\"icon\\\" (simple triggers).\",\"- BOOLEAN (e.g., has_tax, is_valid):\",\" -> Use \\\"toggle\\\" (if editable) or \\\"icon\\\" (check/close) or \\\"badge\\\" (Yes/No).\",\"- IDENTIFIERS (e.g., uuid, sku, order_id, cpf):\",\" -> Style: \\\"font-family: monospace\\\".\",\" -> CRITICAL: Do NOT use numeric formatting (like \\\"1.0-0\\\") for IDs. Treat them as strings.\",\" -> Consider adding a \\\"copy\\\" context action.\",\"- GROUPING (e.g., category, department):\",\" -> If the user asks to \\\"group by X\\\", use the ENABLE_GROUPING action with target=X.\",\"- TEMPORAL (e.g., created_at, deadline):\",\" -> Use type \\\"date\\\". Prefer \\\"short\\\" or \\\"shortDate\\\" for compact views.\",\" -> Use standard format (dd/MM/yyyy) for strict records.\"]}}",
|
|
30739
30836
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30743,7 +30840,7 @@
|
|
|
30743
30840
|
"corpusVersion": "1.0.0"
|
|
30744
30841
|
},
|
|
30745
30842
|
{
|
|
30746
|
-
"chunkIndex":
|
|
30843
|
+
"chunkIndex": 142,
|
|
30747
30844
|
"chunkKind": "context_pack",
|
|
30748
30845
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"authoring-envelope\":{\"id\":\"authoring-envelope\",\"title\":\"Envelope de Autoria\",\"description\":\"Contrato primário de autoria usado por editor visual, editor JSON, playground e IA.\",\"rules\":[\"O JSON primário de autoria é TableAuthoringDocument com kind \\\"praxis.table.editor\\\".\",\"bindings.resourcePath e bindings.horizontalScroll não devem ser embutidos diretamente no TableConfig.\",\"meta.idField pertence ao TableConfig canônico e deve ser editado como metadado da configuração.\",\"TableConfig representa a projeção canônica de runtime, não o envelope completo de autoria.\",\"meta.schemaId e meta.serverHash são snapshots persistidos de reconciliação, não fonte primária do runtime.\"],\"examples\":[\"{ kind: \\\"praxis.table.editor\\\", version: 1, config: { meta: { idField: \\\"employeeId\\\" }, columns: [{ field: \\\"name\\\", header: \\\"Nome\\\" }] }, bindings: { resourcePath: \\\"employees\\\", horizontalScroll: \\\"auto\\\" } }\"],\"antiPatterns\":[\"{ columns: [{ field: \\\"name\\\", header: \\\"Nome\\\" }], __resourcePath__: \\\"employees\\\" }\",\"{ config: { columns: [] }, bindings: { idField: \\\"employeeId\\\" } }\"]},\"meta-identity\":{\"id\":\"meta-identity\",\"title\":\"Identidade e Metadados\",\"description\":\"Regras para meta.* persistível (nome, descrição, tags, schemaId).\",\"rules\":[\"meta.idField deve apontar para o campo único das linhas quando configurado.\",\"Alterar meta.idField exige confirmação pois impacta seleção e ações por linha.\",\"meta.tags deve ser uma lista de strings curtas e sem espaços extras.\",\"meta.schemaId é referência de origem; use apenas valores conhecidos.\"],\"examples\":[\"meta.name = \\\"Funcionários ativos\\\"\",\"meta.description = \\\"Visão de colaboradores ativos com filtros por status.\\\"\",\"meta.tags = [\\\"financeiro\\\", \\\"demo\\\"]\",\"meta.idField = \\\"employeeId\\\"\"],\"antiPatterns\":[\"meta.idField = \\\"id\\\" (sem validar se existe no dataset)\",\"meta.tags = \\\"financeiro\\\"\"]},\"columns-core\":{\"id\":\"columns-core\",\"title\":\"Colunas Básicas\",\"description\":\"Definições essenciais de colunas (field, header, visible, order, width).\",\"rules\":[\"columns[].field deve ser único e existir no dataset.\",\"Não reutilize o mesmo field em duas colunas.\",\"Use order para posicionar colunas; menor valor = mais à esquerda.\",\"width aceita valores CSS (ex.: \\\"120px\\\", \\\"10%\\\", \\\"auto\\\").\"],\"examples\":[\"{ field: \\\"status\\\", header: \\\"Status\\\", visible: true, order: 2 }\",\"{ field: \\\"createdAt\\\", header: \\\"Criado em\\\", width: \\\"140px\\\" }\"],\"antiPatterns\":[\"{ field: \\\"status\\\", header: \\\"Status\\\" } e outra coluna com field \\\"status\\\"\",\"{ field: \\\"price\\\", width: 120 }\"]},\"columns-behavior\":{\"id\":\"columns-behavior\",\"title\":\"Comportamento de Coluna\",\"description\":\"Configura sortable, filterable, resizable, align e sticky.\",\"rules\":[\"sortable e filterable devem refletir o comportamento real do backend.\",\"resizable depende de behavior.resizing.enabled quando disponível.\",\"align deve ser left/center/right.\",\"sticky aceita true, \\\"start\\\" ou \\\"end\\\".\"],\"examples\":[\"{ field: \\\"amount\\\", sortable: true, filterable: true, align: \\\"right\\\" }\",\"{ field: \\\"id\\\", sticky: \\\"start\\\" }\"],\"antiPatterns\":[\"{ align: \\\"middle\\\" }\",\"{ sticky: \\\"left\\\" }\"]},\"columns-styles\":{\"id\":\"columns-styles\",\"title\":\"Estilos de Coluna\",\"description\":\"CSS inline e classes para células e cabeçalho.\",\"rules\":[\"cssClass/headerCssClass devem ser nomes de classe válidos.\",\"style/headerStyle são CSS inline curtos e seguros.\",\"Evite !important e regras muito longas.\"],\"examples\":[\"{ field: \\\"status\\\", cssClass: \\\"col-status\\\" }\",\"{ field: \\\"name\\\", headerStyle: \\\"text-transform: uppercase;\\\" }\"],\"antiPatterns\":[\"{ headerCssClass: \\\"header title\\\" }\",\"{ style: \\\"background: url(javascript:...)\\\" }\"]},\"columns-types\":{\"id\":\"columns-types\",\"title\":\"Tipos e Formatos de Coluna\",\"description\":\"Regras de type/format por tipo de dado.\",\"rules\":[\"type deve ser um dos tipos suportados (string/number/date/boolean/currency/percentage/custom).\",\"format deve ser compatível com type e presets do sistema.\",\"Para currency, use formato \\\"BRL|symbol|2\\\" ou semelhante.\",\"Para date, use DatePipe ou presets existentes.\"],\"examples\":[\"{ field: \\\"createdAt\\\", type: \\\"date\\\", format: \\\"dd/MM/yyyy\\\" }\",\"{ field: \\\"amount\\\", type: \\\"currency\\\", format: \\\"BRL|symbol|2\\\" }\"],\"antiPatterns\":[\"{ type: \\\"money\\\" }\",\"{ format: \\\"money()\\\" }\"]},\"columns-formatting\":{\"id\":\"columns-formatting\",\"title\":\"Mapeamento e Formatação Avançada\",\"description\":\"valueMapping, format e estilos adicionais.\",\"rules\":[\"valueMapping deve usar chaves de string para mapear valores crus.\",\"Use format presets quando disponíveis; evite formatos inventados.\"],\"syntax\":\"format: \\\"BRL|symbol|2\\\"\",\"examples\":[\"{ field: \\\"active\\\", valueMapping: { \\\"1\\\": \\\"Ativo\\\", \\\"0\\\": \\\"Inativo\\\" } }\"],\"antiPatterns\":[\"{ valueMapping: { 1: \\\"Ativo\\\" } }\"]},\"columns-internals\":{\"id\":\"columns-internals\",\"title\":\"Campos Internos de Coluna\",\"description\":\"Campos reservados usados por fluxos internos e importação.\",\"rules\":[\"Evite setar _styleRulesState, _generatedValueGetter, _originalApiType e _isApiField manualmente.\",\"Use apenas em fluxos de migração ou importação controlada.\"],\"examples\":[\"(_isApiField true só quando coluna veio da API)\"],\"antiPatterns\":[\"{ _generatedValueGetter: \\\"row => row.value\\\" }\"]},\"computed-logic\":{\"id\":\"computed-logic\",\"title\":\"Lógica de Colunas Calculadas\",\"description\":\"Regras matemáticas e de sintaxe para colunas computed.\",\"rules\":[\"Use AST Json Logic canônico em columns[].computed.expression.\",\"Acesse campos da linha com {\\\"var\\\":\\\"field\\\"} e dependências anteriores com {\\\"var\\\":\\\"computed.total\\\"}.\",\"Operadores/funções disponíveis incluem +, -, *, /, %, min, max, cat, substr, round, floor, ceil, abs, coalesce, now, date, yearsSince, monthsSince, daysSince, len, toNumber e stringify.\",\"NÃO use prefixos como \\\"row.\\\", \\\"this.\\\" ou \\\"item.\\\", nem strings DSL.\",\"O resultado deve ser compatível com o outputType (number, currency, percentage, string).\"],\"syntax\":\"{\\\"*\\\":[{\\\"var\\\":\\\"fieldA\\\"},{\\\"var\\\":\\\"fieldB\\\"}]}\",\"examples\":[\"{\\\"*\\\":[{\\\"var\\\":\\\"quantity\\\"},{\\\"var\\\":\\\"unitPrice\\\"}]}\",\"{\\\"/\\\":[{\\\"-\\\":[{\\\"var\\\":\\\"total\\\"},{\\\"var\\\":\\\"cost\\\"}]},{\\\"var\\\":\\\"total\\\"}]}\",\"{\\\"min\\\":[{\\\"var\\\":\\\"stock\\\"},100]}\",\"{\\\"abs\\\":[{\\\"var\\\":\\\"balance\\\"}]}\"],\"antiPatterns\":[\"\\\"quantity * price\\\"\",\"row.quantity * row.price\",\"Math.max(price, 0)\",\"return quantity * price;\"]},\"renderers-core\":{\"id\":\"renderers-core\",\"title\":\"Renderers de Coluna\",\"description\":\"Regras para columns[].renderer.* e tipos suportados.\",\"rules\":[\"Defina columns[].renderer.type antes de configurar detalhes.\",\"Para renderers interativos (button, toggle, menu), configure action.\",\"renderer.html deve usar template com placeholders [[field]].\",\"renderer.link deve preferir hrefField/textField quando o valor vem do dataset.\"],\"examples\":[\"{ renderer: { type: \\\"badge\\\", badge: { textField: \\\"status\\\", color: \\\"success\\\" } } }\",\"{ renderer: { type: \\\"button\\\", button: { label: \\\"Editar\\\", action: { id: \\\"edit-row\\\" } } } }\"],\"antiPatterns\":[\"{ renderer: { badge: { text: \\\"Ativo\\\" } } }\",\"{ renderer: { type: \\\"button\\\", button: { label: \\\"Editar\\\" } } }\"]},\"renderer-icon\":{\"id\":\"renderer-icon\",\"title\":\"Renderer Icon\",\"description\":\"Configuração de renderer.icon.*\",\"rules\":[\"Use icon.name para ícone fixo ou icon.nameField para dinâmico.\",\"icon.size é em px.\",\"ariaLabel deve ser descritivo.\"],\"examples\":[\"{ renderer: { type: \\\"icon\\\", icon: { name: \\\"check_circle\\\", color: \\\"success\\\", size: 18 } } }\"],\"antiPatterns\":[\"{ icon: { name: \\\"check\\\" } } sem renderer.type\"]}}}",
|
|
30749
30846
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30753,7 +30850,7 @@
|
|
|
30753
30850
|
"corpusVersion": "1.0.0"
|
|
30754
30851
|
},
|
|
30755
30852
|
{
|
|
30756
|
-
"chunkIndex":
|
|
30853
|
+
"chunkIndex": 143,
|
|
30757
30854
|
"chunkKind": "context_pack",
|
|
30758
30855
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"renderer-image\":{\"id\":\"renderer-image\",\"title\":\"Renderer Image\",\"description\":\"Configuração de renderer.image.*\",\"rules\":[\"Use srcField quando a URL vem do dataset.\",\"Defina alt/altField para acessibilidade.\",\"width/height são em px.\",\"shape deve ser square/rounded/circle.\"],\"examples\":[\"{ renderer: { type: \\\"image\\\", image: { srcField: \\\"avatarUrl\\\", shape: \\\"circle\\\", width: 32, height: 32 } } }\"],\"antiPatterns\":[\"{ renderer: { type: \\\"image\\\", image: { src: \\\"\\\" } } }\"]},\"renderer-badge\":{\"id\":\"renderer-badge\",\"title\":\"Renderer Badge\",\"description\":\"Configuração de renderer.badge.*\",\"rules\":[\"Badge requer text ou textField.\",\"variant deve ser filled/outlined/soft/plain.\"],\"examples\":[\"{ renderer: { type: \\\"badge\\\", badge: { textField: \\\"status\\\", variant: \\\"filled\\\" } } }\"],\"antiPatterns\":[\"{ badge: {} }\"]},\"renderer-link\":{\"id\":\"renderer-link\",\"title\":\"Renderer Link\",\"description\":\"Configuração de renderer.link.*\",\"rules\":[\"Use hrefField quando URL vem do dataset.\",\"target deve ser _blank/_self/_parent/_top.\",\"rel deve ser usado com target _blank (ex.: noopener).\"],\"examples\":[\"{ renderer: { type: \\\"link\\\", link: { textField: \\\"name\\\", hrefField: \\\"profileUrl\\\", target: \\\"_blank\\\", rel: \\\"noopener\\\" } } }\"],\"antiPatterns\":[\"{ link: { href: \\\"javascript:alert(1)\\\" } }\"]},\"renderer-button\":{\"id\":\"renderer-button\",\"title\":\"Renderer Button\",\"description\":\"Configuração de renderer.button.*\",\"rules\":[\"button.action.id é obrigatório para ações interativas.\",\"disabledCondition usa expressao condicional canonica em JSON Logic.\",\"variant deve ser filled/outlined/text.\"],\"examples\":[\"{ renderer: { type: \\\"button\\\", button: { label: \\\"Editar\\\", action: { id: \\\"edit-row\\\" } } } }\"],\"antiPatterns\":[\"{ button: { label: \\\"Editar\\\" } }\"]},\"renderer-chip\":{\"id\":\"renderer-chip\",\"title\":\"Renderer Chip\",\"description\":\"Configuração de renderer.chip.*\",\"rules\":[\"Chip requer text ou textField.\",\"variant deve ser filled/outlined/soft/plain.\"],\"examples\":[\"{ renderer: { type: \\\"chip\\\", chip: { text: \\\"Ativo\\\", variant: \\\"filled\\\" } } }\"],\"antiPatterns\":[\"{ chip: { variant: \\\"ghost\\\" } }\"]},\"renderer-progress\":{\"id\":\"renderer-progress\",\"title\":\"Renderer Progress\",\"description\":\"Configuração de renderer.progress.*\",\"rules\":[\"valueExpr deve retornar 0-100.\",\"showLabel controla exibição do valor.\"],\"examples\":[\"{ renderer: { type: \\\"progress\\\", progress: { valueExpr: \\\"progress\\\", showLabel: true } } }\"],\"antiPatterns\":[\"{ progress: { valueExpr: \\\"progress/100\\\" } } sem garantir 0-100\"]},\"renderer-avatar\":{\"id\":\"renderer-avatar\",\"title\":\"Renderer Avatar\",\"description\":\"Configuração de renderer.avatar.*\",\"rules\":[\"Use srcField para imagem dinâmica.\",\"initialsField deriva iniciais automaticamente a partir de um campo textual.\",\"initialsExpr é fallback quando não há imagem e deve retornar as iniciais prontas; não use JS arbitrário para split/map/trim.\",\"Use backgroundColor e textColor para colorir o círculo do avatar; para variar por linha, aplique esses campos em conditionalRenderers.\",\"shape deve ser circle/square/rounded.\"],\"examples\":[\"{ renderer: { type: \\\"avatar\\\", avatar: { srcField: \\\"avatarUrl\\\", initialsField: \\\"name\\\" } } }\",\"{ renderer: { type: \\\"avatar\\\", avatar: { initialsExpr: \\\"initials\\\" } } }\",\"{ conditionalRenderers: [{ condition: { \\\">\\\": [{ \\\"var\\\": \\\"salary\\\" }, 30000] }, renderer: { type: \\\"avatar\\\", avatar: { initialsField: \\\"name\\\", backgroundColor: \\\"#D32F2F\\\", textColor: \\\"#FFFFFF\\\" } } }] }\"],\"antiPatterns\":[\"{ avatar: { initialsExpr: \\\"name\\\" } }\",\"{ avatar: { shape: \\\"round\\\" } }\"]},\"renderer-toggle\":{\"id\":\"renderer-toggle\",\"title\":\"Renderer Toggle\",\"description\":\"Configuração de renderer.toggle.*\",\"rules\":[\"toggle.action.id é obrigatório para persistir mudança.\",\"disabledCondition usa expressao condicional canonica em JSON Logic.\"],\"examples\":[\"{ renderer: { type: \\\"toggle\\\", toggle: { stateExpr: \\\"active\\\", action: { id: \\\"toggle-active\\\" } } } }\"],\"antiPatterns\":[\"{ toggle: { stateExpr: \\\"active\\\" } } sem action\"]},\"renderer-menu\":{\"id\":\"renderer-menu\",\"title\":\"Renderer Menu\",\"description\":\"Configuração de renderer.menu.*\",\"rules\":[\"itemsExpr deve produzir lista de ações válidas.\",\"ariaLabel deve descrever o menu.\"],\"examples\":[\"{ renderer: { type: \\\"menu\\\", menu: { itemsExpr: \\\"row.menuItems\\\", ariaLabel: \\\"Ações\\\" } } }\"],\"antiPatterns\":[\"{ menu: { itemsExpr: \\\"row => row.items\\\" } }\"]},\"renderer-rating\":{\"id\":\"renderer-rating\",\"title\":\"Renderer Rating\",\"description\":\"Configuração de renderer.rating.*\",\"rules\":[\"valueExpr deve retornar numero dentro do max.\",\"O renderer é somente leitura por padrão; não use readonly no schema funcional.\"],\"examples\":[\"{ renderer: { type: \\\"rating\\\", rating: { valueExpr: \\\"score\\\", max: 5, ariaLabel: \\\"Nota {value} de {max}\\\" } } }\"],\"antiPatterns\":[\"{ rating: { max: 0 } }\"]},\"renderer-html\":{\"id\":\"renderer-html\",\"title\":\"Renderer HTML\",\"description\":\"Configuração de renderer.html.*\",\"rules\":[\"template deve usar placeholders [[field]].\",\"sanitize deve ser strict ou basic, preferindo strict.\"],\"examples\":[\"{ renderer: { type: \\\"html\\\", html: { template: \\\"<strong>[[name]]</strong>\\\", sanitize: \\\"strict\\\" } } }\"],\"antiPatterns\":[\"{ html: { template: \\\"<script>alert(1)</script>\\\" } }\"]},\"renderer-compose\":{\"id\":\"renderer-compose\",\"title\":\"Renderer Compose\",\"description\":\"Composição de múltiplos renderers na mesma célula.\",\"rules\":[\"columns[].renderer.compose.items deve ser uma lista de renderers válidos.\",\"Defina layout (direction, gap, align) para evitar overflow.\",\"Evite mixar elementos interativos sem espaço suficiente.\"],\"examples\":[\"{ renderer: { type: \\\"compose\\\", compose: { items: [{ type: \\\"icon\\\", icon: { name: \\\"check\\\" } }, { type: \\\"text\\\", textField: \\\"status\\\" }], layout: { direction: \\\"row\\\", gap: 8 } } } }\"],\"antiPatterns\":[\"{ renderer: { type: \\\"compose\\\", compose: { items: [] } } }\"]},\"conditional-json-logic\":{\"id\":\"conditional-json-logic\",\"title\":\"Expressoes Condicionais\",\"description\":\"Sintaxe de condições para conditionalRenderers e filtros de estilo.\",\"rules\":[\"Use objetos JSON Logic com referencias var (ex: { \\\"===\\\": [{ \\\"var\\\": \\\"status\\\" }, \\\"Ativo\\\"] }).\",\"Operadores suportados: ===, !==, >, <, >=, <=, and, or, !.\",\"Funcoes comuns: { \\\"contains\\\": [{ \\\"var\\\": \\\"name\\\" }, \\\"Silva\\\"] }.\",\"Pode referenciar computed.<field> quando existir.\",\"NAO use DSL textual, JavaScript (row., this., Math., ternario, eval) nem strings de expressao.\"],\"syntax\":\"{\\\"and\\\":[{\\\"contains\\\":[{\\\"var\\\":\\\"status\\\"},\\\"Ativo\\\"]},{\\\">=\\\":[{\\\"var\\\":\\\"price\\\"},100]}]}\",\"examples\":[\"{\\\"===\\\":[{\\\"var\\\":\\\"status\\\"},\\\"Ativo\\\"]}\",\"{\\\"contains\\\":[{\\\"var\\\":\\\"name\\\"},\\\"Silva\\\"]}\",\"{\\\">\\\":[{\\\"var\\\":\\\"computed.total\\\"},1000]}\"],\"antiPatterns\":[\"row.status == \\\"Ativo\\\"\",\"Math.max(price, 0) > 10\",\"status ? \\\"A\\\" : \\\"B\\\"\"]},\"conditional-renderers\":{\"id\":\"conditional-renderers\",\"title\":\"Renderers Condicionais\",\"description\":\"Configura conditionalRenderers por coluna.\",\"rules\":[\"condition usa expressao condicional canonica em JSON Logic.\",\"renderer interno segue as mesmas regras dos renderers padrão.\",\"Para animar apenas uma célula/coluna quando a condição for verdadeira, use columns[].conditionalRenderers[].animation.\",\"enabled controla ativacao da regra.\"],\"examples\":[\"{ conditionalRenderers: [{ condition: { \\\"===\\\": [{ \\\"var\\\": \\\"status\\\" }, \\\"Ativo\\\"] }, renderer: { type: \\\"badge\\\", badge: { text: \\\"Ativo\\\" } } }] }\",\"{ conditionalRenderers: [{ condition: { \\\">\\\": [{ \\\"var\\\": \\\"salario\\\" }, 30000] }, animation: { preset: \\\"pulse-soft\\\", trigger: \\\"onAppear\\\", intensity: \\\"subtle\\\", repeat: \\\"once\\\" } }] }\"],\"antiPatterns\":[\"{ conditionalRenderers: [{ condition: \\\"row.status == \\\"Ativo\\\"\\\" }] }\",\"{ conditionalStyles: [{ style: { animation: \\\"pulse 1s infinite\\\" } }] }\"]}}}",
|
|
30759
30856
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30763,27 +30860,27 @@
|
|
|
30763
30860
|
"corpusVersion": "1.0.0"
|
|
30764
30861
|
},
|
|
30765
30862
|
{
|
|
30766
|
-
"chunkIndex":
|
|
30863
|
+
"chunkIndex": 144,
|
|
30767
30864
|
"chunkKind": "context_pack",
|
|
30768
|
-
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"conditional-animations\":{\"id\":\"conditional-animations\",\"title\":\"Animações Condicionais\",\"description\":\"Animações condicionais de linha e célula na tabela.\",\"rules\":[\"Use rowConditionalRenderers[].animation para animar a linha inteira.\",\"Use columns[].conditionalRenderers[].animation para animar somente o conteúdo de uma célula/coluna.\",\"Prefira preset semântico antes de type bruto: info-soft, success-confirm, warning-attention, critical-alert, audit-review, sync-pending, pulse-soft, fade-soft, sla-warning, sla-breach, risk-elevated, risk-critical, audit-warning ou sync-warning.\",\"condition sempre usa JSON Logic; não use JS, row.status ou strings de expressão.\",\"appearance.animations.enabled=false desativa animações; appearance.animations.specific.row/cell=false desativa o escopo correspondente.\",\"onConditionEnter, onConditionExit e onDataRefresh são aceitos no contrato de autoria e normalizados para gatilho de mudança no runtime.\"],\"examples\":[\"{ rowConditionalRenderers: [{ id: \\\"salary-high-pulse\\\", condition: { \\\">\\\": [{ \\\"var\\\": \\\"salario\\\" }, 30000] }, animation: { preset: \\\"pulse-soft\\\", trigger: \\\"onAppear\\\", intensity: \\\"subtle\\\", repeat: \\\"once\\\", durationMs: 1200 }, enabled: true }] }\",\"{ columns: [{ field: \\\"status\\\", conditionalRenderers: [{ id: \\\"status-critical-alert\\\", condition: { \\\"===\\\": [{ \\\"var\\\": \\\"status\\\" }, \\\"Critico\\\"] }, animation: { preset: \\\"critical-alert\\\", trigger: \\\"onChange\\\", repeat: \\\"loop\\\", intensity: \\\"strong\\\" }, enabled: true }] }] }\"],\"antiPatterns\":[\"{ rowConditionalStyles: [{ style: { animation: \\\"pulse 1s infinite\\\" } }] }\",\"{ rowConditionalRenderers: [{ condition: \\\"row.salario > 30000\\\", animation: { name: \\\"pulse\\\" } }] }\",\"{ columns: [{ conditionalStyles: [{ condition: { \\\">\\\": [{ \\\"var\\\": \\\"salario\\\" }, 30000] }, style: { animationName: \\\"pulse\\\" } }] }] }\"]},\"conditional-styles\":{\"id\":\"conditional-styles\",\"title\":\"Estilos Condicionais por Coluna\",\"description\":\"Configura conditionalStyles.*\",\"rules\":[\"condition usa expressao condicional canonica em JSON Logic.\",\"cssClass define classe e style aplica inline.\",\"description deve ser texto curto.\"],\"examples\":[\"{ conditionalStyles: [{ condition: { \\\"<\\\": [{ \\\"var\\\": \\\"amount\\\" }, 0] }, cssClass: \\\"col-negative\\\" }] }\"],\"antiPatterns\":[\"{ conditionalStyles: [{ condition: \\\"row.amount < 0\\\" }] }\"]},\"row-conditional-styles\":{\"id\":\"row-conditional-styles\",\"title\":\"Estilos Condicionais de Linha\",\"description\":\"Configura rowConditionalStyles.*\",\"rules\":[\"condition usa expressao condicional canonica em JSON Logic.\",\"cssClass define classe e style aplica inline.\",\"description deve ser texto curto.\"],\"examples\":[\"{ rowConditionalStyles: [{ condition: { \\\"<\\\": [{ \\\"var\\\": \\\"amount\\\" }, 0] }, cssClass: \\\"row-negative\\\" }] }\"],\"antiPatterns\":[\"{ rowConditionalStyles: [{ condition: \\\"row.amount < 0\\\" }] }\"]},\"behavior-pagination\":{\"id\":\"behavior-pagination\",\"title\":\"Paginação (Behavior)\",\"description\":\"Configuração de behavior.pagination.*\",\"rules\":[\"strategy deve ser client ou server.\",\"pageSizeOptions deve incluir pageSize.\",\"advanced.maxPageSize limita pageSize customizado.\"],\"examples\":[\"{ behavior: { pagination: { enabled: true, strategy: \\\"server\\\", pageSize: 25, pageSizeOptions: [10, 25, 50] } } }\"],\"antiPatterns\":[\"{ behavior: { pagination: { strategy: \\\"server\\\" } } } sem totalItems\"]},\"behavior-sorting\":{\"id\":\"behavior-sorting\",\"title\":\"Ordenação (Behavior)\",\"description\":\"Configuração de behavior.sorting.*\",\"rules\":[\"defaultSort pode ser objeto unico ou lista.\",\"multiSort true permite multiplos campos.\",\"allowClearSort habilita terceiro clique.\"],\"examples\":[\"{ behavior: { sorting: { enabled: true, strategy: \\\"client\\\", defaultSort: { column: \\\"createdAt\\\", direction: \\\"desc\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { sorting: { defaultSort: { column: \\\"\\\", direction: \\\"asc\\\" } } } }\"]},\"behavior-filtering\":{\"id\":\"behavior-filtering\",\"title\":\"Filtros (Behavior)\",\"description\":\"Configuração de behavior.filtering.*\",\"rules\":[\"columnFilters.position deve ser header/subheader/sidebar.\",\"advancedFilters.settings controla o painel avançado.\",\"strategy deve refletir suporte do backend.\"],\"examples\":[\"{ behavior: { filtering: { enabled: true, columnFilters: { enabled: true, position: \\\"header\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { filtering: { enabled: true } } } sem strategy\"]},\"behavior-selection\":{\"id\":\"behavior-selection\",\"title\":\"Selecao (Behavior)\",\"description\":\"Configuração de behavior.selection.*\",\"rules\":[\"type define single/multiple e mode define checkbox/row/both.\",\"persistSelection mantem selecao entre paginas.\",\"visual.highlightSelected define destaque da linha.\"],\"examples\":[\"{ behavior: { selection: { enabled: true, type: \\\"multiple\\\", mode: \\\"checkbox\\\", persistSelection: true } } }\"],\"antiPatterns\":[\"{ behavior: { selection: { type: \\\"multi\\\" } } }\"]},\"behavior-interaction\":{\"id\":\"behavior-interaction\",\"title\":\"Interacao (Behavior)\",\"description\":\"Configuração de behavior.interaction.*\",\"rules\":[\"rowClick/rowDoubleClick.action devem ser ids conhecidos.\",\"customAction deve referenciar handler registrado.\",\"keyboard.customShortcuts mapeia teclas para ações.\"],\"examples\":[\"{ behavior: { interaction: { rowClick: { enabled: true, action: \\\"view\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { interaction: { rowClick: { customAction: \\\"row => fn(row)\\\" } } } }\"]},\"behavior-loading\":{\"id\":\"behavior-loading\",\"title\":\"Loading (Behavior)\",\"description\":\"Configuração de behavior.loading.*\",\"rules\":[\"type deve ser spinner/skeleton/progress/custom.\",\"delay evita flicker.\",\"skeleton.rows deve ser numero positivo.\"],\"examples\":[\"{ behavior: { loading: { type: \\\"skeleton\\\", position: \\\"replace\\\", delay: 200, skeleton: { rows: 6, animated: true } } } }\"],\"antiPatterns\":[\"{ behavior: { loading: { delay: 0 } } }\"]},\"behavior-empty-state\":{\"id\":\"behavior-empty-state\",\"title\":\"Estado Vazio (Behavior)\",\"description\":\"Configuração de behavior.emptyState.*\",\"rules\":[\"message deve ser texto curto.\",\"actions[].action deve ser string de acao.\",\"contexts permite variações por cenário.\"],\"examples\":[\"{ behavior: { emptyState: { message: \\\"Sem dados\\\", actions: [{ label: \\\"
|
|
30865
|
+
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"conditional-animations\":{\"id\":\"conditional-animations\",\"title\":\"Animações Condicionais\",\"description\":\"Animações condicionais de linha e célula na tabela.\",\"rules\":[\"Use rowConditionalRenderers[].animation para animar a linha inteira.\",\"Use columns[].conditionalRenderers[].animation para animar somente o conteúdo de uma célula/coluna.\",\"Prefira preset semântico antes de type bruto: info-soft, success-confirm, warning-attention, critical-alert, audit-review, sync-pending, pulse-soft, fade-soft, sla-warning, sla-breach, risk-elevated, risk-critical, audit-warning ou sync-warning.\",\"condition sempre usa JSON Logic; não use JS, row.status ou strings de expressão.\",\"appearance.animations.enabled=false desativa animações; appearance.animations.specific.row/cell=false desativa o escopo correspondente.\",\"onConditionEnter, onConditionExit e onDataRefresh são aceitos no contrato de autoria e normalizados para gatilho de mudança no runtime.\"],\"examples\":[\"{ rowConditionalRenderers: [{ id: \\\"salary-high-pulse\\\", condition: { \\\">\\\": [{ \\\"var\\\": \\\"salario\\\" }, 30000] }, animation: { preset: \\\"pulse-soft\\\", trigger: \\\"onAppear\\\", intensity: \\\"subtle\\\", repeat: \\\"once\\\", durationMs: 1200 }, enabled: true }] }\",\"{ columns: [{ field: \\\"status\\\", conditionalRenderers: [{ id: \\\"status-critical-alert\\\", condition: { \\\"===\\\": [{ \\\"var\\\": \\\"status\\\" }, \\\"Critico\\\"] }, animation: { preset: \\\"critical-alert\\\", trigger: \\\"onChange\\\", repeat: \\\"loop\\\", intensity: \\\"strong\\\" }, enabled: true }] }] }\"],\"antiPatterns\":[\"{ rowConditionalStyles: [{ style: { animation: \\\"pulse 1s infinite\\\" } }] }\",\"{ rowConditionalRenderers: [{ condition: \\\"row.salario > 30000\\\", animation: { name: \\\"pulse\\\" } }] }\",\"{ columns: [{ conditionalStyles: [{ condition: { \\\">\\\": [{ \\\"var\\\": \\\"salario\\\" }, 30000] }, style: { animationName: \\\"pulse\\\" } }] }] }\"]},\"conditional-styles\":{\"id\":\"conditional-styles\",\"title\":\"Estilos Condicionais por Coluna\",\"description\":\"Configura conditionalStyles.*\",\"rules\":[\"condition usa expressao condicional canonica em JSON Logic.\",\"cssClass define classe e style aplica inline.\",\"description deve ser texto curto.\"],\"examples\":[\"{ conditionalStyles: [{ condition: { \\\"<\\\": [{ \\\"var\\\": \\\"amount\\\" }, 0] }, cssClass: \\\"col-negative\\\" }] }\"],\"antiPatterns\":[\"{ conditionalStyles: [{ condition: \\\"row.amount < 0\\\" }] }\"]},\"row-conditional-styles\":{\"id\":\"row-conditional-styles\",\"title\":\"Estilos Condicionais de Linha\",\"description\":\"Configura rowConditionalStyles.*\",\"rules\":[\"condition usa expressao condicional canonica em JSON Logic.\",\"cssClass define classe e style aplica inline.\",\"description deve ser texto curto.\"],\"examples\":[\"{ rowConditionalStyles: [{ condition: { \\\"<\\\": [{ \\\"var\\\": \\\"amount\\\" }, 0] }, cssClass: \\\"row-negative\\\" }] }\"],\"antiPatterns\":[\"{ rowConditionalStyles: [{ condition: \\\"row.amount < 0\\\" }] }\"]},\"behavior-pagination\":{\"id\":\"behavior-pagination\",\"title\":\"Paginação (Behavior)\",\"description\":\"Configuração de behavior.pagination.*\",\"rules\":[\"strategy deve ser client ou server.\",\"pageSizeOptions deve incluir pageSize.\",\"advanced.maxPageSize limita pageSize customizado.\"],\"examples\":[\"{ behavior: { pagination: { enabled: true, strategy: \\\"server\\\", pageSize: 25, pageSizeOptions: [10, 25, 50] } } }\"],\"antiPatterns\":[\"{ behavior: { pagination: { strategy: \\\"server\\\" } } } sem totalItems\"]},\"behavior-sorting\":{\"id\":\"behavior-sorting\",\"title\":\"Ordenação (Behavior)\",\"description\":\"Configuração de behavior.sorting.*\",\"rules\":[\"defaultSort pode ser objeto unico ou lista.\",\"multiSort true permite multiplos campos.\",\"allowClearSort habilita terceiro clique.\"],\"examples\":[\"{ behavior: { sorting: { enabled: true, strategy: \\\"client\\\", defaultSort: { column: \\\"createdAt\\\", direction: \\\"desc\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { sorting: { defaultSort: { column: \\\"\\\", direction: \\\"asc\\\" } } } }\"]},\"behavior-filtering\":{\"id\":\"behavior-filtering\",\"title\":\"Filtros (Behavior)\",\"description\":\"Configuração de behavior.filtering.*\",\"rules\":[\"columnFilters.position deve ser header/subheader/sidebar.\",\"advancedFilters.settings controla o painel avançado.\",\"strategy deve refletir suporte do backend.\"],\"examples\":[\"{ behavior: { filtering: { enabled: true, columnFilters: { enabled: true, position: \\\"header\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { filtering: { enabled: true } } } sem strategy\"]},\"behavior-selection\":{\"id\":\"behavior-selection\",\"title\":\"Selecao (Behavior)\",\"description\":\"Configuração de behavior.selection.*\",\"rules\":[\"type define single/multiple e mode define checkbox/row/both.\",\"persistSelection mantem selecao entre paginas.\",\"visual.highlightSelected define destaque da linha.\"],\"examples\":[\"{ behavior: { selection: { enabled: true, type: \\\"multiple\\\", mode: \\\"checkbox\\\", persistSelection: true } } }\"],\"antiPatterns\":[\"{ behavior: { selection: { type: \\\"multi\\\" } } }\"]},\"behavior-interaction\":{\"id\":\"behavior-interaction\",\"title\":\"Interacao (Behavior)\",\"description\":\"Configuração de behavior.interaction.*\",\"rules\":[\"rowClick/rowDoubleClick.action devem ser ids conhecidos.\",\"customAction deve referenciar handler registrado.\",\"keyboard.customShortcuts mapeia teclas para ações.\"],\"examples\":[\"{ behavior: { interaction: { rowClick: { enabled: true, action: \\\"view\\\" } } } }\"],\"antiPatterns\":[\"{ behavior: { interaction: { rowClick: { customAction: \\\"row => fn(row)\\\" } } } }\"]},\"behavior-loading\":{\"id\":\"behavior-loading\",\"title\":\"Loading (Behavior)\",\"description\":\"Configuração de behavior.loading.*\",\"rules\":[\"type deve ser spinner/skeleton/progress/custom.\",\"delay evita flicker.\",\"skeleton.rows deve ser numero positivo.\"],\"examples\":[\"{ behavior: { loading: { type: \\\"skeleton\\\", position: \\\"replace\\\", delay: 200, skeleton: { rows: 6, animated: true } } } }\"],\"antiPatterns\":[\"{ behavior: { loading: { delay: 0 } } }\"]},\"behavior-empty-state\":{\"id\":\"behavior-empty-state\",\"title\":\"Estado Vazio (Behavior)\",\"description\":\"Configuração de behavior.emptyState.*\",\"rules\":[\"message deve ser texto curto.\",\"actions[].action deve ser string de acao.\",\"actions deve representar uma intencao contextual distinta; CREATE capability-governado permanece na toolbar e nao deve ser duplicado.\",\"contexts permite variações por cenário.\"],\"examples\":[\"{ behavior: { emptyState: { message: \\\"Sem dados\\\", actions: [{ label: \\\"Importar arquivo\\\", action: \\\"import\\\", primary: true }] } } }\"],\"antiPatterns\":[\"{ behavior: { emptyState: { message: \\\"\\\" } } }\",\"{ toolbar: { actions: [{ action: \\\"create\\\" }] }, behavior: { emptyState: { actions: [{ action: \\\"create\\\" }] } } }\"]},\"behavior-virtualization\":{\"id\":\"behavior-virtualization\",\"title\":\"Virtualizacao (Behavior)\",\"description\":\"Configuração de behavior.virtualization.*\",\"rules\":[\"itemHeight deve ser informado quando enabled.\",\"strategy deve ser fixed ou dynamic.\"],\"examples\":[\"{ behavior: { virtualization: { enabled: true, itemHeight: 48, strategy: \\\"fixed\\\" } } }\"],\"antiPatterns\":[\"{ behavior: { virtualization: { enabled: true } } }\"]},\"behavior-resizing\":{\"id\":\"behavior-resizing\",\"title\":\"Resize (Behavior)\",\"description\":\"Configuração de behavior.resizing.*\",\"rules\":[\"minColumnWidth deve ser positivo.\",\"maxColumnWidth deve ser maior que minColumnWidth quando informado.\",\"persistWidths salva ajustes do usuario.\"],\"examples\":[\"{ behavior: { resizing: { enabled: true, minColumnWidth: 80, maxColumnWidth: 520, autoFit: false, persistWidths: true } } }\"],\"antiPatterns\":[\"{ behavior: { resizing: { minColumnWidth: 0 } } }\"]},\"behavior-dragging\":{\"id\":\"behavior-dragging\",\"title\":\"Drag & Drop (Behavior)\",\"description\":\"Configuração de behavior.dragging.*\",\"rules\":[\"columns/rows controla reordenacao.\",\"columnDropZones deve listar zonas validas.\"],\"examples\":[\"{ behavior: { dragging: { columns: true, rows: false, showDragIndicator: true } } }\"],\"antiPatterns\":[\"{ behavior: { dragging: { columns: \\\"yes\\\" } } }\"]}}}",
|
|
30769
30866
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
30770
|
-
"contentHash": "
|
|
30867
|
+
"contentHash": "d03df3596c0e11b48faa088ee93e8e0a7cda02aa2c05a75c9ac3383bdd3f6b68",
|
|
30771
30868
|
"sourceKind": "component_definition",
|
|
30772
30869
|
"sourceId": "praxis-table",
|
|
30773
30870
|
"corpusVersion": "1.0.0"
|
|
30774
30871
|
},
|
|
30775
30872
|
{
|
|
30776
|
-
"chunkIndex":
|
|
30873
|
+
"chunkIndex": 145,
|
|
30777
30874
|
"chunkKind": "context_pack",
|
|
30778
|
-
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"behavior-expansion\":{\"id\":\"behavior-expansion\",\"title\":\"Expansion (Behavior)\",\"description\":\"Configuração de behavior.expansion.* para detail rows schema-driven.\",\"rules\":[\"detail é sempre schema-driven; varie source.mode (inline/resource/resourcePath), não detail.type.\",\"detail.schemaContract.kind/version deve ser informado para validação e migração.\",\"Em virtualização, prefira detail.height.mode=fixed com virtualization.policy=fixed-height-only.\",\"Use eventExposureDefault hashed/redacted por padrão em ambiente corporativo.\"],\"examples\":[\"{ behavior: { expansion: { enabled: true, state: { mode: \\\"controlled\\\" }, detail: { schemaContract: { kind: \\\"praxis.detail.schema\\\", version: \\\"1.0.0\\\" }, source: { mode: \\\"resource\\\", resource: { kind: \\\"ui-composition\\\", id: \\\"customer-detail-v2\\\", version: \\\"2.1.0\\\" } }, rendering: { strategy: \\\"registry\\\", registryId: \\\"praxis.detail.default\\\" } } } } }\"],\"antiPatterns\":[\"{ behavior: { expansion: { detail: { type: \\\"template\\\", templateId: \\\"legacy-id\\\" } } } }\"]},\"appearance\":{\"id\":\"appearance\",\"title\":\"Aparência e Layout\",\"description\":\"Densidade, bordas, cores, tipografia, espaçamento e responsividade.\",\"rules\":[\"appearance.density deve usar valores compact/comfortable/spacious.\",\"Cores devem usar tokens do tema ou hex válido.\",\"responsive.mobile.cardMode deve ser combinado com colunas prioritárias.\",\"Se animations.enabled for true, respeite reduceMotion.\",\"appearance.animations.specific.row e appearance.animations.specific.cell controlam animações condicionais por escopo.\"],\"examples\":[\"{ appearance: { density: \\\"compact\\\", borders: { showRowBorders: true } } }\",\"{ appearance: { typography: { fontSize: \\\"14px\\\" }, spacing: { cellPadding: \\\"8px 16px\\\" } } }\"],\"antiPatterns\":[\"{ appearance: { density: \\\"tiny\\\" } }\"]},\"appearance-details\":{\"id\":\"appearance-details\",\"title\":\"Detalhes de Aparência\",\"description\":\"Bordas, cores, tipografia, spacing, elevation e responsive autoAdjust.\",\"rules\":[\"borders.style deve ser solid/dashed/dotted quando aplicável.\",\"typography.headerFontWeight deve ser string numerica ou token.\",\"responsive.autoAdjust controla ajustes automáticos em telas menores.\"],\"examples\":[\"{ appearance: { borders: { showOuterBorder: true, style: \\\"solid\\\" }, colors: { alternateRowBackground: \\\"#f7f9fc\\\" } } }\",\"{ appearance: { responsive: { mobile: { cardMode: true, priorityColumns: [\\\"name\\\", \\\"status\\\"] } } } }\"],\"antiPatterns\":[\"{ appearance: { borders: { style: \\\"double\\\" } } }\"]},\"toolbar\":{\"id\":\"toolbar\",\"title\":\"Toolbar\",\"description\":\"Configurações gerais da toolbar.\",\"rules\":[\"toolbar.visible controla exibição global da barra.\",\"Use toolbar.layout.alignment para ajustar distribuição.\",\"toolbar.filters.enabled depende de filtering.enabled.\",\"settingsMenu.enabled expõe opções de densidade e colunas.\"],\"examples\":[\"{ toolbar: { visible: true, position: \\\"top\\\", title: \\\"Pedidos\\\" } }\"],\"antiPatterns\":[\"{ toolbar: { position: \\\"left\\\" } }\"]},\"toolbar-layout\":{\"id\":\"toolbar-layout\",\"title\":\"Layout da Toolbar\",\"description\":\"Configuração de toolbar.layout.*\",\"rules\":[\"alignment deve ser start/center/end/space-between.\",\"height e padding devem ser coerentes com o tema.\"],\"examples\":[\"{ toolbar: { layout: { alignment: \\\"space-between\\\", height: 56, showSeparator: true } } }\"],\"antiPatterns\":[\"{ toolbar: { layout: { alignment: \\\"between\\\" } } }\"]},\"toolbar-actions\":{\"id\":\"toolbar-actions\",\"title\":\"Ações da Toolbar\",\"description\":\"Definições de toolbar.actions[].\",\"rules\":[\"toolbar.actions[].id deve ser único.\",\"action deve ser string, não função JS.\",\"type deve ser button/icon/fab/menu.\",\"visibleWhen usa expressao condicional canonica em JSON Logic.\"],\"examples\":[\"{ toolbar: { actions: [{ id: \\\"add\\\", label: \\\"Adicionar\\\", type: \\\"button\\\", action: \\\"create\\\", position: \\\"end\\\" }] } }\",\"{ toolbar: { actions: [{ id: \\\"more\\\", label: \\\"Mais\\\", type: \\\"menu\\\", action: \\\"noop\\\", children: [{ id: \\\"export\\\", label: \\\"Exportar\\\", type: \\\"button\\\", action: \\\"export\\\" }] }] } }\"],\"antiPatterns\":[\"{ actions: [{ action: \\\"() => doSomething()\\\" }] }\"]},\"toolbar-filters\":{\"id\":\"toolbar-filters\",\"title\":\"Filtros da Toolbar\",\"description\":\"Configuração de toolbar.filters.* e quickFilters.\",\"rules\":[\"quickFilters[].filter deve seguir a estrutura do filtro suportado.\",\"enabled depende de behavior.filtering.enabled.\"],\"examples\":[\"{ toolbar: { filters: { enabled: true, quickFilters: [{ id: \\\"active\\\", label: \\\"Ativos\\\", filter: { status: \\\"active\\\" } }] } } }\"],\"antiPatterns\":[\"{ toolbar: { filters: { quickFilters: [{ filter: \\\"status=active\\\" }] } } }\"]},\"toolbar-settings\":{\"id\":\"toolbar-settings\",\"title\":\"Menu de Configuracoes\",\"description\":\"Configuração de toolbar.settingsMenu.*\",\"rules\":[\"settingsMenu.options[].type deve ser toggle/select/action.\",\"options deve listar valores validos quando type for select.\"],\"examples\":[\"{ toolbar: { settingsMenu: { enabled: true, options: [{ id: \\\"density\\\", label: \\\"Densidade\\\", type: \\\"select\\\", options: [\\\"compact\\\", \\\"comfortable\\\", \\\"spacious\\\"] }] } } }\"],\"antiPatterns\":[\"{ settingsMenu: { options: [{ type: \\\"dropdown\\\" }] } }\"]},\"row-actions\":{\"id\":\"row-actions\",\"title\":\"Acoes por Linha\",\"description\":\"Configuração de actions.row.*\",\"rules\":[\"enabled deve estar true para mostrar coluna de ações.\",\"display deve ser menu/buttons/icons.\",\"trigger deve ser hover/always/click.\",\"actions[].action deve ser string.\"],\"examples\":[\"{ actions: { row: { enabled: true, display: \\\"menu\\\", trigger: \\\"hover\\\", actions: [{ id: \\\"edit\\\", label: \\\"Editar\\\", action: \\\"edit\\\" }] } } }\"],\"antiPatterns\":[\"{ actions: { row: { display: \\\"dropdown\\\" } } }\"]},\"row-actions-advanced\":{\"id\":\"row-actions-advanced\",\"title\":\"Acoes por Linha Avancadas\",\"description\":\"Header, overflow, menu e comportamento avançado.\",\"rules\":[\"header.align deve ser start/center/end.\",\"behavior.maxInline deve ser numero ou objeto de breakpoints.\",\"menuIcon e menuButtonColor devem ser valores suportados.\",\"discovery.enabled=false mantem apenas as actions configuradas e bloqueia a descoberta contextual por HATEOAS/capabilities.\"],\"examples\":[\"{ actions: { row: { header: { label: \\\"Ações\\\", align: \\\"end\\\" }, maxVisibleActions: 3, behavior: { enabled: true, maxInline: 2 } } } }\",\"{ actions: { row: { enabled: true, display: \\\"buttons\\\", discovery: { enabled: false }, actions: [{ id: \\\"briefing\\\", label: \\\"Briefing\\\", action: \\\"inspect-surfaces\\\" }] } } }\"],\"antiPatterns\":[\"{ row: { header: { align: \\\"middle\\\" } } }\"]},\"bulk-actions\":{\"id\":\"bulk-actions\",\"title\":\"Acoes em Lote\",\"description\":\"Configuração de actions.bulk.*\",\"rules\":[\"bulk.enabled exige selection.enabled.\",\"floating.position deve ser bottom-right/bottom-left/top-right/top-left.\",\"hideWhenEmpty evita botão flutuante quando nada selecionado.\"],\"examples\":[\"{ actions: { bulk: { enabled: true, position: \\\"toolbar\\\", actions: [{ id: \\\"delete\\\", label: \\\"Excluir\\\", action: \\\"bulk-delete\\\", requiresConfirmation: true }], floating: { position: \\\"bottom-right\\\", hideWhenEmpty: true } } } }\"],\"antiPatterns\":[\"{ actions: { bulk: { enabled: true } } } sem selection.enabled\"]},\"context-actions\":{\"id\":\"context-actions\",\"title\":\"Menu de Contexto\",\"description\":\"Configuração de actions.context.*\",\"rules\":[\"trigger deve ser right-click/long-press/both.\",\"actions[].action deve ser string.\"],\"examples\":[\"{ actions: { context: { enabled: true, trigger: \\\"right-click\\\", actions: [{ id: \\\"copy\\\", label: \\\"Copiar\\\", action: \\\"copy\\\" }] } } }\"],\"antiPatterns\":[\"{ context: { trigger: \\\"click\\\" } }\"]}}}",
|
|
30875
|
+
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"behavior-expansion\":{\"id\":\"behavior-expansion\",\"title\":\"Expansion (Behavior)\",\"description\":\"Configuração de behavior.expansion.* para detail rows schema-driven.\",\"rules\":[\"detail é sempre schema-driven; varie source.mode (inline/resource/resourcePath), não detail.type.\",\"detail.schemaContract.kind/version deve ser informado para validação e migração.\",\"Em virtualização, prefira detail.height.mode=fixed com virtualization.policy=fixed-height-only.\",\"Use eventExposureDefault hashed/redacted por padrão em ambiente corporativo.\"],\"examples\":[\"{ behavior: { expansion: { enabled: true, state: { mode: \\\"controlled\\\" }, detail: { schemaContract: { kind: \\\"praxis.detail.schema\\\", version: \\\"1.0.0\\\" }, source: { mode: \\\"resource\\\", resource: { kind: \\\"ui-composition\\\", id: \\\"customer-detail-v2\\\", version: \\\"2.1.0\\\" } }, rendering: { strategy: \\\"registry\\\", registryId: \\\"praxis.detail.default\\\" } } } } }\"],\"antiPatterns\":[\"{ behavior: { expansion: { detail: { type: \\\"template\\\", templateId: \\\"legacy-id\\\" } } } }\"]},\"appearance\":{\"id\":\"appearance\",\"title\":\"Aparência e Layout\",\"description\":\"Densidade, bordas, cores, tipografia, espaçamento e responsividade.\",\"rules\":[\"appearance.density deve usar valores compact/comfortable/spacious.\",\"Cores devem usar tokens do tema ou hex válido.\",\"responsive.mobile.cardMode deve ser combinado com colunas prioritárias.\",\"Se animations.enabled for true, respeite reduceMotion.\",\"appearance.animations.specific.row e appearance.animations.specific.cell controlam animações condicionais por escopo.\"],\"examples\":[\"{ appearance: { density: \\\"compact\\\", borders: { showRowBorders: true } } }\",\"{ appearance: { typography: { fontSize: \\\"14px\\\" }, spacing: { cellPadding: \\\"8px 16px\\\" } } }\"],\"antiPatterns\":[\"{ appearance: { density: \\\"tiny\\\" } }\"]},\"appearance-details\":{\"id\":\"appearance-details\",\"title\":\"Detalhes de Aparência\",\"description\":\"Bordas, cores, tipografia, spacing, elevation e responsive autoAdjust.\",\"rules\":[\"borders.style deve ser solid/dashed/dotted quando aplicável.\",\"typography.headerFontWeight deve ser string numerica ou token.\",\"responsive.autoAdjust controla ajustes automáticos em telas menores.\"],\"examples\":[\"{ appearance: { borders: { showOuterBorder: true, style: \\\"solid\\\" }, colors: { alternateRowBackground: \\\"#f7f9fc\\\" } } }\",\"{ appearance: { responsive: { mobile: { cardMode: true, priorityColumns: [\\\"name\\\", \\\"status\\\"] } } } }\"],\"antiPatterns\":[\"{ appearance: { borders: { style: \\\"double\\\" } } }\"]},\"toolbar\":{\"id\":\"toolbar\",\"title\":\"Toolbar\",\"description\":\"Configurações gerais da toolbar.\",\"rules\":[\"toolbar.visible controla exibição global da barra.\",\"Use toolbar.layout.alignment para ajustar distribuição.\",\"toolbar.filters.enabled depende de filtering.enabled.\",\"settingsMenu.enabled expõe opções de densidade e colunas.\"],\"examples\":[\"{ toolbar: { visible: true, position: \\\"top\\\", title: \\\"Pedidos\\\" } }\"],\"antiPatterns\":[\"{ toolbar: { position: \\\"left\\\" } }\"]},\"toolbar-layout\":{\"id\":\"toolbar-layout\",\"title\":\"Layout da Toolbar\",\"description\":\"Configuração de toolbar.layout.*\",\"rules\":[\"alignment deve ser start/center/end/space-between.\",\"height e padding devem ser coerentes com o tema.\"],\"examples\":[\"{ toolbar: { layout: { alignment: \\\"space-between\\\", height: 56, showSeparator: true } } }\"],\"antiPatterns\":[\"{ toolbar: { layout: { alignment: \\\"between\\\" } } }\"]},\"toolbar-actions\":{\"id\":\"toolbar-actions\",\"title\":\"Ações da Toolbar\",\"description\":\"Definições de toolbar.actions[].\",\"rules\":[\"toolbar.actions[].id deve ser único.\",\"action deve ser string, não função JS.\",\"type deve ser button/icon/fab/menu.\",\"visibleWhen usa expressao condicional canonica em JSON Logic.\"],\"examples\":[\"{ toolbar: { actions: [{ id: \\\"add\\\", label: \\\"Adicionar\\\", type: \\\"button\\\", action: \\\"create\\\", position: \\\"end\\\" }] } }\",\"{ toolbar: { actions: [{ id: \\\"more\\\", label: \\\"Mais\\\", type: \\\"menu\\\", action: \\\"noop\\\", children: [{ id: \\\"export\\\", label: \\\"Exportar\\\", type: \\\"button\\\", action: \\\"export\\\" }] }] } }\"],\"antiPatterns\":[\"{ actions: [{ action: \\\"() => doSomething()\\\" }] }\"]},\"toolbar-filters\":{\"id\":\"toolbar-filters\",\"title\":\"Filtros da Toolbar\",\"description\":\"Configuração de toolbar.filters.* e quickFilters.\",\"rules\":[\"quickFilters[].filter deve seguir a estrutura do filtro suportado.\",\"quickFilters representa um pequeno seletor de escopo exclusivo e removível; use filtros avançados para critérios combináveis.\",\"enabled depende de behavior.filtering.enabled.\"],\"examples\":[\"{ toolbar: { filters: { enabled: true, quickFilters: [{ id: \\\"active\\\", label: \\\"Ativos\\\", filter: { status: \\\"active\\\" } }] } } }\"],\"antiPatterns\":[\"{ toolbar: { filters: { quickFilters: [{ filter: \\\"status=active\\\" }] } } }\"]},\"toolbar-settings\":{\"id\":\"toolbar-settings\",\"title\":\"Menu de Configuracoes\",\"description\":\"Configuração de toolbar.settingsMenu.*\",\"rules\":[\"settingsMenu.options[].type deve ser toggle/select/action.\",\"options deve listar valores validos quando type for select.\"],\"examples\":[\"{ toolbar: { settingsMenu: { enabled: true, options: [{ id: \\\"density\\\", label: \\\"Densidade\\\", type: \\\"select\\\", options: [\\\"compact\\\", \\\"comfortable\\\", \\\"spacious\\\"] }] } } }\"],\"antiPatterns\":[\"{ settingsMenu: { options: [{ type: \\\"dropdown\\\" }] } }\"]},\"row-actions\":{\"id\":\"row-actions\",\"title\":\"Acoes por Linha\",\"description\":\"Configuração de actions.row.*\",\"rules\":[\"enabled deve estar true para mostrar coluna de ações.\",\"display deve ser menu/buttons/icons.\",\"trigger deve ser hover/always/click.\",\"actions[].action deve ser string.\"],\"examples\":[\"{ actions: { row: { enabled: true, display: \\\"menu\\\", trigger: \\\"hover\\\", actions: [{ id: \\\"edit\\\", label: \\\"Editar\\\", action: \\\"edit\\\" }] } } }\"],\"antiPatterns\":[\"{ actions: { row: { display: \\\"dropdown\\\" } } }\"]},\"row-actions-advanced\":{\"id\":\"row-actions-advanced\",\"title\":\"Acoes por Linha Avancadas\",\"description\":\"Header, overflow, menu e comportamento avançado.\",\"rules\":[\"header.align deve ser start/center/end.\",\"behavior.maxInline deve ser numero ou objeto de breakpoints.\",\"menuIcon e menuButtonColor devem ser valores suportados.\",\"discovery.enabled=false mantem apenas as actions configuradas e bloqueia a descoberta contextual por HATEOAS/capabilities.\"],\"examples\":[\"{ actions: { row: { header: { label: \\\"Ações\\\", align: \\\"end\\\" }, maxVisibleActions: 3, behavior: { enabled: true, maxInline: 2 } } } }\",\"{ actions: { row: { enabled: true, display: \\\"buttons\\\", discovery: { enabled: false }, actions: [{ id: \\\"briefing\\\", label: \\\"Briefing\\\", action: \\\"inspect-surfaces\\\" }] } } }\"],\"antiPatterns\":[\"{ row: { header: { align: \\\"middle\\\" } } }\"]},\"bulk-actions\":{\"id\":\"bulk-actions\",\"title\":\"Acoes em Lote\",\"description\":\"Configuração de actions.bulk.*\",\"rules\":[\"bulk.enabled exige selection.enabled.\",\"floating.position deve ser bottom-right/bottom-left/top-right/top-left.\",\"hideWhenEmpty evita botão flutuante quando nada selecionado.\"],\"examples\":[\"{ actions: { bulk: { enabled: true, position: \\\"toolbar\\\", actions: [{ id: \\\"delete\\\", label: \\\"Excluir\\\", action: \\\"bulk-delete\\\", requiresConfirmation: true }], floating: { position: \\\"bottom-right\\\", hideWhenEmpty: true } } } }\"],\"antiPatterns\":[\"{ actions: { bulk: { enabled: true } } } sem selection.enabled\"]},\"context-actions\":{\"id\":\"context-actions\",\"title\":\"Menu de Contexto\",\"description\":\"Configuração de actions.context.*\",\"rules\":[\"trigger deve ser right-click/long-press/both.\",\"actions[].action deve ser string.\"],\"examples\":[\"{ actions: { context: { enabled: true, trigger: \\\"right-click\\\", actions: [{ id: \\\"copy\\\", label: \\\"Copiar\\\", action: \\\"copy\\\" }] } } }\"],\"antiPatterns\":[\"{ context: { trigger: \\\"click\\\" } }\"]}}}",
|
|
30779
30876
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
30780
|
-
"contentHash": "
|
|
30877
|
+
"contentHash": "53d73757e5371b6d7de9c66090fbec49c0866649166fe4e28f040f564b3f07c3",
|
|
30781
30878
|
"sourceKind": "component_definition",
|
|
30782
30879
|
"sourceId": "praxis-table",
|
|
30783
30880
|
"corpusVersion": "1.0.0"
|
|
30784
30881
|
},
|
|
30785
30882
|
{
|
|
30786
|
-
"chunkIndex":
|
|
30883
|
+
"chunkIndex": 146,
|
|
30787
30884
|
"chunkKind": "context_pack",
|
|
30788
30885
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"actions-confirmations\":{\"id\":\"actions-confirmations\",\"title\":\"Confirmacoes de Acoes\",\"description\":\"Configuração de actions.confirmations.*\",\"rules\":[\"default deve conter title, message, confirmText e cancelText.\",\"specific usa actionId como chave.\"],\"examples\":[\"{ actions: { confirmations: { default: { title: \\\"Confirmar\\\", message: \\\"Deseja continuar?\\\", confirmText: \\\"Sim\\\", cancelText: \\\"Nao\\\" }, specific: { \\\"delete\\\": { message: \\\"Excluir item?\\\" } } } } }\"],\"antiPatterns\":[\"{ actions: { confirmations: { default: { title: \\\"\\\" } } } }\"]},\"export-general\":{\"id\":\"export-general\",\"title\":\"Exportacao Geral\",\"description\":\"Configuração de export.general.*\",\"rules\":[\"includeHeaders deve ser boolean.\",\"scope deve ser auto, selected, filtered, currentPage ou all.\",\"maxRows deve limitar volume.\",\"includeColumns deve ser all/visible ou lista de fields.\"],\"examples\":[\"{ export: { enabled: true, formats: [\\\"csv\\\"], general: { includeHeaders: true, scope: \\\"auto\\\", maxRows: 5000, includeColumns: \\\"visible\\\" } } }\"],\"antiPatterns\":[\"{ export: { general: { maxRows: 0 } } }\"]},\"export-excel\":{\"id\":\"export-excel\",\"title\":\"Exportacao Excel\",\"description\":\"Configuração de export.excel.*\",\"rules\":[\"sheetName deve ser curto e sem caracteres invalidos.\",\"autoFitColumns melhora legibilidade.\",\"styling.headerStyle e cellStyle devem ser simples.\"],\"examples\":[\"{ export: { excel: { sheetName: \\\"Dados\\\", autoFitColumns: true, freezeHeaders: true, styling: { headerStyle: { fontWeight: \\\"bold\\\" } } } } }\"],\"antiPatterns\":[\"{ excel: { sheetName: \\\"\\\" } }\"]},\"export-pdf\":{\"id\":\"export-pdf\",\"title\":\"Exportacao PDF\",\"description\":\"Configuração de export.pdf.*\",\"rules\":[\"orientation deve ser portrait/landscape.\",\"pageSize deve ser A4/A3/Letter/Legal.\",\"margins devem conter top/right/bottom/left.\"],\"examples\":[\"{ export: { pdf: { orientation: \\\"landscape\\\", pageSize: \\\"A4\\\", margins: { top: 10, right: 10, bottom: 10, left: 10 }, autoPageBreak: true } } }\"],\"antiPatterns\":[\"{ pdf: { pageSize: \\\"A5\\\" } }\"]},\"export-csv\":{\"id\":\"export-csv\",\"title\":\"Exportacao CSV\",\"description\":\"Configuração de export.csv.*\",\"rules\":[\"delimiter deve ser \\\",\\\", \\\";\\\", \\\"|\\\" ou \\\"\\\\t\\\".\",\"encoding deve ser utf-8/utf-16/iso-8859-1.\",\"escapeChar deve ser um caractere.\"],\"examples\":[\"{ export: { csv: { delimiter: \\\";\\\", encoding: \\\"utf-8\\\", escapeChar: \\\"\\\\\\\" } } }\"],\"antiPatterns\":[\"{ csv: { delimiter: \\\":\\\" } }\"]},\"export-json\":{\"id\":\"export-json\",\"title\":\"Exportacao JSON\",\"description\":\"Configuração de export.json.*\",\"rules\":[\"format deve ser pretty ou compact.\",\"structure deve ser array ou object.\"],\"examples\":[\"{ export: { json: { format: \\\"pretty\\\", includeMetadata: true, structure: \\\"array\\\" } } }\"],\"antiPatterns\":[\"{ json: { format: \\\"full\\\" } }\"]},\"export-templates\":{\"id\":\"export-templates\",\"title\":\"Templates de Exportacao\",\"description\":\"Configuração de export.templates[]\",\"rules\":[\"templates devem ter id, name e format válidos.\",\"config deve seguir o formato correspondente.\"],\"examples\":[\"{ export: { templates: [{ id: \\\"resumo\\\", name: \\\"Resumo\\\", format: \\\"pdf\\\", config: {}, isDefault: false }] } }\"],\"antiPatterns\":[\"{ templates: [{ id: \\\"\\\", format: \\\"xls\\\" }] }\"]},\"messages\":{\"id\":\"messages\",\"title\":\"Mensagens\",\"description\":\"Mensagens de estados, ações, validação e exportação.\",\"rules\":[\"Mensagens devem ser curtas e claras.\",\"Não defina funções inline (use templates ou strings simples).\"],\"examples\":[\"{ messages: { states: { empty: \\\"Sem registros.\\\" }, actions: { confirmations: { delete: \\\"Excluir?\\\" } } } }\"],\"antiPatterns\":[\"{ messages: { states: { loadingWithCount: \\\"(n) => ...\\\" } } }\"]},\"messages-advanced\":{\"id\":\"messages-advanced\",\"title\":\"Mensagens Avancadas\",\"description\":\"custom, templates e formatos por tipo.\",\"rules\":[\"templates[].template deve usar placeholders simples.\",\"custom é um mapa chave -> mensagem.\",\"formats deve seguir excel/pdf/csv/json.\"],\"examples\":[\"{ messages: { export: { formats: { excel: \\\"Excel pronto\\\" } }, templates: [{ id: \\\"t1\\\", template: \\\"Exportado {count} itens\\\" }] } }\"],\"antiPatterns\":[\"{ messages: { templates: [{ id: \\\"t1\\\" }] } }\"]},\"localization-date-time\":{\"id\":\"localization-date-time\",\"title\":\"Localizacao de Datas\",\"description\":\"Configuração de localization.dateTime.*\",\"rules\":[\"dateFormat/timeFormat devem seguir DatePipe.\",\"firstDayOfWeek deve ser 0-6.\",\"monthNames e dayNames devem ter 12 e 7 entradas.\"],\"examples\":[\"{ localization: { dateTime: { dateFormat: \\\"dd/MM/yyyy\\\", timeFormat: \\\"HH:mm\\\", firstDayOfWeek: 0 } } }\"],\"antiPatterns\":[\"{ localization: { dateTime: { firstDayOfWeek: 7 } } }\"]},\"localization-number-currency\":{\"id\":\"localization-number-currency\",\"title\":\"Localizacao de Numeros e Moeda\",\"description\":\"Configuração de localization.number.* e localization.currency.*\",\"rules\":[\"decimalSeparator e thousandsSeparator devem ser 1 caractere.\",\"negativeSignPosition deve ser before/after.\",\"currency.code deve ser ISO 4217.\"],\"examples\":[\"{ localization: { number: { decimalSeparator: \\\",\\\", thousandsSeparator: \\\".\\\", negativeSign: \\\"-\\\", negativeSignPosition: \\\"before\\\" }, currency: { code: \\\"BRL\\\", symbol: \\\"R$\\\" } } }\"],\"antiPatterns\":[\"{ localization: { currency: { code: \\\"REAL\\\" } } }\"]},\"localization-formatting\":{\"id\":\"localization-formatting\",\"title\":\"Formatos Locais\",\"description\":\"Configuração de localization.formatting.*\",\"rules\":[\"percentageFormat e fileSizeFormat devem seguir padrao esperado.\",\"units deve mapear tipo -> unidade -> label.\"],\"examples\":[\"{ localization: { formatting: { percentageFormat: \\\"#0.00%\\\", fileSizeFormat: \\\"decimal\\\" } } }\"],\"antiPatterns\":[\"{ localization: { formatting: { percentageFormat: \\\"percent\\\" } } }\"]},\"localization-translations\":{\"id\":\"localization-translations\",\"title\":\"Traducoes\",\"description\":\"Configuração de localization.availableLocales e translations.*\",\"rules\":[\"availableLocales deve listar locales conhecidos.\",\"translations deve mapear locale -> chaves de texto.\"],\"examples\":[\"{ localization: { availableLocales: [\\\"pt-BR\\\", \\\"en-US\\\"], translations: { \\\"pt-BR\\\": { \\\"table.title\\\": \\\"Pedidos\\\" } } } }\"],\"antiPatterns\":[\"{ translations: \\\"pt-BR\\\" }\"]},\"data-cache\":{\"id\":\"data-cache\",\"title\":\"Cache de Dados\",\"description\":\"Configuração de data.cache.*\",\"rules\":[\"ttl e maxSize devem ser positivos.\",\"invalidationStrategy deve ser ttl/manual/on-update.\"],\"examples\":[\"{ data: { cache: { enabled: true, ttl: 600000, maxSize: 1000, invalidationStrategy: \\\"ttl\\\" } } }\"],\"antiPatterns\":[\"{ cache: { ttl: 0 } }\"]},\"data-sync\":{\"id\":\"data-sync\",\"title\":\"Sincronizacao\",\"description\":\"Configuração de data.sync.*\",\"rules\":[\"interval deve ser em ms.\",\"deltaSync e autoSync devem ser boolean.\",\"conflictResolution deve ser client/server/manual.\"],\"examples\":[\"{ data: { sync: { autoSync: true, interval: 30000, deltaSync: true, conflictResolution: \\\"server\\\" } } }\"],\"antiPatterns\":[\"{ sync: { interval: -1 } }\"]},\"data-validation\":{\"id\":\"data-validation\",\"title\":\"Validacao de Dados\",\"description\":\"Configuração de data.validation.* e rules[]\",\"rules\":[\"rules[].type deve ser required/format/range/custom.\",\"params deve conter dados compatíveis com o tipo.\",\"showInlineErrors deve ser boolean.\"],\"examples\":[\"{ data: { validation: { clientSide: true, serverSide: false, showInlineErrors: true, rules: [{ field: \\\"email\\\", type: \\\"format\\\", params: { format: \\\"email\\\" }, message: \\\"Email invalido\\\" }] } } }\"],\"antiPatterns\":[\"{ validation: { rules: [{ type: \\\"regex\\\" }] } }\"]}}}",
|
|
30789
30886
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30793,7 +30890,7 @@
|
|
|
30793
30890
|
"corpusVersion": "1.0.0"
|
|
30794
30891
|
},
|
|
30795
30892
|
{
|
|
30796
|
-
"chunkIndex":
|
|
30893
|
+
"chunkIndex": 147,
|
|
30797
30894
|
"chunkKind": "context_pack",
|
|
30798
30895
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"data-transformations\":{\"id\":\"data-transformations\",\"title\":\"Transformacoes de Dados\",\"description\":\"Configuração de data.transformations[]\",\"rules\":[\"transform deve ser uma string suportada pelo sistema, não funcao JS.\",\"applyTo deve ser display/data/both.\"],\"examples\":[\"{ data: { transformations: [{ id: \\\"t1\\\", field: \\\"amount\\\", type: \\\"format\\\", transform: \\\"currency\\\", applyTo: \\\"display\\\" }] } }\"],\"antiPatterns\":[\"{ transformations: [{ transform: \\\"row => row.amount\\\" }] }\"]},\"data-polling\":{\"id\":\"data-polling\",\"title\":\"Polling\",\"description\":\"Configuração de data.polling.*\",\"rules\":[\"interval deve ser em ms e razoavel.\",\"exponentialBackoff deve ser boolean.\"],\"examples\":[\"{ data: { polling: { enabled: true, interval: 30000, onlyWhenActive: true, exponentialBackoff: true } } }\"],\"antiPatterns\":[\"{ polling: { interval: 100 } }\"]},\"performance-virtualization\":{\"id\":\"performance-virtualization\",\"title\":\"Performance Virtualization\",\"description\":\"Configuração de performance.virtualization.*\",\"rules\":[\"itemHeight deve ser informado quando enabled.\",\"strategy deve ser fixed/dynamic.\"],\"examples\":[\"{ performance: { virtualization: { enabled: true, itemHeight: 48 } } }\"],\"antiPatterns\":[\"{ performance: { virtualization: { enabled: true } } }\"]},\"performance-debounce\":{\"id\":\"performance-debounce\",\"title\":\"Performance Debounce\",\"description\":\"Configuração de performance.debounce.*\",\"rules\":[\"valores devem estar em ms (ex.: 200-500).\"],\"examples\":[\"{ performance: { debounce: { search: 300, filter: 300, resize: 200, scroll: 200 } } }\"],\"antiPatterns\":[\"{ debounce: { search: -1 } }\"]},\"performance-memory\":{\"id\":\"performance-memory\",\"title\":\"Performance Memory\",\"description\":\"Configuração de performance.memory.*\",\"rules\":[\"maxRows deve limitar o volume em memoria.\",\"cleanupInterval deve ser em ms.\"],\"examples\":[\"{ performance: { memory: { maxRows: 5000, autoCleanup: true, cleanupInterval: 60000 } } }\"],\"antiPatterns\":[\"{ memory: { maxRows: 0 } }\"]},\"performance-rendering\":{\"id\":\"performance-rendering\",\"title\":\"Performance Rendering\",\"description\":\"Configuração de performance.rendering.*\",\"rules\":[\"batchUpdates true requer batchSize coerente.\",\"optimizeReRenders melhora atualizações frequentes.\"],\"examples\":[\"{ performance: { rendering: { useRAF: true, batchUpdates: true, batchSize: 50, optimizeReRenders: true } } }\"],\"antiPatterns\":[\"{ rendering: { batchSize: 0 } }\"]},\"performance-lazy-loading\":{\"id\":\"performance-lazy-loading\",\"title\":\"Performance Lazy Loading\",\"description\":\"Configuração de performance.lazyLoading.*\",\"rules\":[\"threshold deve ser numero positivo.\",\"components e images devem ser boolean.\"],\"examples\":[\"{ performance: { lazyLoading: { images: true, components: true, threshold: 200 } } }\"],\"antiPatterns\":[\"{ lazyLoading: { threshold: -1 } }\"]},\"accessibility-core\":{\"id\":\"accessibility-core\",\"title\":\"Acessibilidade\",\"description\":\"Configuração base de accessibility.*\",\"rules\":[\"enabled deve ser true em apps com requisitos a11y.\",\"reduceMotion deve desativar animacoes nao essenciais.\"],\"examples\":[\"{ accessibility: { enabled: true, reduceMotion: true } }\"],\"antiPatterns\":[\"{ accessibility: { enabled: true, reduceMotion: \\\"yes\\\" } }\"]},\"accessibility-announcements\":{\"id\":\"accessibility-announcements\",\"title\":\"Acessibilidade Anuncios\",\"description\":\"Configuração de accessibility.announcements.*\",\"rules\":[\"dataChanges, userActions e loadingStates devem ser boolean.\",\"liveRegion deve ser polite ou assertive.\"],\"examples\":[\"{ accessibility: { announcements: { dataChanges: true, userActions: true, loadingStates: true, liveRegion: \\\"polite\\\" } } }\"],\"antiPatterns\":[\"{ announcements: { liveRegion: \\\"loud\\\" } }\"]},\"accessibility-keyboard\":{\"id\":\"accessibility-keyboard\",\"title\":\"Acessibilidade Teclado\",\"description\":\"Configuração de accessibility.keyboard.*\",\"rules\":[\"tabNavigation e arrowNavigation devem ser boolean.\",\"shortcuts e skipLinks devem ser boolean.\",\"focusTrap deve ser boolean.\"],\"examples\":[\"{ accessibility: { keyboard: { tabNavigation: true, arrowNavigation: true, shortcuts: true, skipLinks: true, focusTrap: false } } }\"],\"antiPatterns\":[\"{ keyboard: { tabNavigation: \\\"yes\\\" } }\"]},\"accessibility-aria-labels\":{\"id\":\"accessibility-aria-labels\",\"title\":\"Acessibilidade ARIA\",\"description\":\"Configuração de accessibility.ariaLabels.*\",\"rules\":[\"ariaLabels deve mapear chaves conhecidas para textos curtos.\"],\"examples\":[\"{ accessibility: { ariaLabels: { table: \\\"Tabela de pedidos\\\" } } }\"],\"antiPatterns\":[\"{ ariaLabels: { table: \\\"\\\" } }\"]},\"theme-core\":{\"id\":\"theme-core\",\"title\":\"Tema Base\",\"description\":\"Configuração de theme.primary/secondary/darkMode.\",\"rules\":[\"primary e secondary devem ser cores validas (hex ou token).\",\"darkMode deve ser boolean.\"],\"examples\":[\"{ theme: { primary: \\\"#1976d2\\\", secondary: \\\"#ff9800\\\" } }\"],\"antiPatterns\":[\"{ theme: { primary: \\\"blue\\\" } }\"]},\"theme-custom\":{\"id\":\"theme-custom\",\"title\":\"Tema Customizado\",\"description\":\"Configuração de theme.custom e theme.cssVariables.\",\"rules\":[\"cssVariables deve usar nomes CSS validos (ex.: --table-bg).\",\"custom deve ser mapa simples de tokens.\"],\"examples\":[\"{ theme: { custom: { headerBg: \\\"var(--md-sys-color-surface-container)\\\" }, cssVariables: { \\\"--table-bg\\\": \\\"var(--md-sys-color-surface)\\\" } } }\"],\"antiPatterns\":[\"{ theme: { cssVariables: { \\\"table-bg\\\": \\\"var(--md-sys-color-surface)\\\" } } }\"]},\"plugins\":{\"id\":\"plugins\",\"title\":\"Plugins\",\"description\":\"Configuração de plugins[].\",\"rules\":[\"plugins[].id, name e version sao obrigatorios.\",\"hooks deve mapear eventos para handlers conhecidos.\"],\"examples\":[\"{ plugins: [{ id: \\\"audit\\\", name: \\\"Audit Logger\\\", version: \\\"1.2.0\\\", enabled: true }] }\"],\"antiPatterns\":[\"{ plugins: [{ name: \\\"Audit\\\" }] }\"]},\"editor-extras\":{\"id\":\"editor-extras\",\"title\":\"Extras do Editor\",\"description\":\"Envelope de autoria usado pelo editor e pelo playground.\",\"rules\":[\"bindings.resourcePath deve ser path valido da API quando presente.\",\"config.meta.idField deve refletir a chave primaria quando configurado.\",\"bindings.horizontalScroll deve ser auto/wrap/none.\"],\"examples\":[\"{ kind: \\\"praxis.table.editor\\\", version: 1, config: { meta: { idField: \\\"employeeId\\\" }, columns: [] }, bindings: { resourcePath: \\\"/api/employees\\\", horizontalScroll: \\\"auto\\\" } }\"],\"antiPatterns\":[\"{ kind: \\\"praxis.table.editor\\\", version: 1, config: { columns: [] }, bindings: { horizontalScroll: \\\"left\\\" } }\"]}}}",
|
|
30799
30896
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -30803,7 +30900,7 @@
|
|
|
30803
30900
|
"corpusVersion": "1.0.0"
|
|
30804
30901
|
},
|
|
30805
30902
|
{
|
|
30806
|
-
"chunkIndex":
|
|
30903
|
+
"chunkIndex": 148,
|
|
30807
30904
|
"chunkKind": "recipe",
|
|
30808
30905
|
"content": "{\"_comment\":\"Variant focused on row and bulk actions.\",\"templateMeta\":{\"variantId\":\"actions\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"actions\",\"bulk\"],\"useWhen\":\"user asks to add, remove, or adjust row/bulk actions\",\"examplePrompts\":[\"add a bulk delete action\",\"add a row action to open details\"]},\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-full\",\"name\":\"Full Table Recipe\",\"description\":\"Kitchen sink config covering TableConfig v2\",\"tags\":[\"example\",\"full\",\"table\"],\"createdAt\":\"2024-01-01T00:00:00Z\",\"updatedAt\":\"2024-02-01T12:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true,\"derivedFrom\":\"base-template\",\"schemaId\":\"path:/api/orders#response\",\"serverHash\":\"hash-123\",\"idField\":\"id\",\"schemaContext\":{\"path\":\"/api/orders\",\"operation\":\"GET\",\"schemaType\":\"response\",\"internal\":false,\"tenant\":\"default\",\"locale\":\"en-US\"}},\"actions\":{\"row\":{\"enabled\":true,\"position\":\"end\",\"width\":\"64px\",\"sticky\":\"end\",\"actions\":[{\"id\":\"view\",\"label\":\"View\",\"icon\":\"visibility\",\"color\":\"primary\",\"disabled\":false,\"action\":\"viewItem\",\"tooltip\":\"View details\"},{\"id\":\"edit\",\"label\":\"Edit\",\"icon\":\"edit\",\"color\":\"accent\",\"action\":\"editItem\",\"tooltip\":\"Edit item\",\"visibleWhen\":\"canEdit\"},{\"id\":\"delete\",\"label\":\"Delete\",\"icon\":\"delete\",\"color\":\"warn\",\"action\":\"deleteItem\",\"tooltip\":\"Delete item\",\"requiresConfirmation\":true,\"separator\":true,\"autoDelete\":true,\"deleteEndpoint\":\"/api/orders/{id}\"}],\"display\":\"menu\",\"trigger\":\"click\",\"menuIcon\":\"more_vert\",\"menuButtonColor\":\"basic\",\"header\":{\"label\":\"Actions\",\"icon\":\"bolt\",\"tooltip\":\"Row actions\",\"align\":\"center\"},\"maxVisibleActions\":3,\"behavior\":{\"enabled\":true,\"maxInline\":{\"xs\":1,\"sm\":2,\"md\":3,\"lg\":4},\"autoStrategy\":\"breakpoints\"}},\"bulk\":{\"enabled\":true,\"position\":\"toolbar\",\"actions\":[{\"id\":\"bulk-delete\",\"label\":\"Delete\",\"icon\":\"delete\",\"color\":\"warn\",\"action\":\"bulkDelete\",\"requiresConfirmation\":true,\"minSelections\":2,\"maxSelections\":100,\"autoDelete\":true,\"deleteEndpoint\":\"/api/orders/bulk-delete\"}],\"floating\":{\"position\":\"bottom-right\",\"hideWhenEmpty\":true}},\"context\":{\"enabled\":true,\"actions\":[{\"id\":\"context-copy\",\"label\":\"Copy\",\"icon\":\"content_copy\",\"action\":\"copyCell\"},{\"id\":\"context-history\",\"label\":\"History\",\"icon\":\"history\",\"action\":\"openHistory\",\"separator\":true,\"visibleWhen\":\"canViewHistory\"}],\"trigger\":\"right-click\"},\"confirmations\":{\"default\":{\"title\":\"Confirm action\",\"message\":\"Are you sure you want to continue?\",\"confirmText\":\"Confirm\",\"cancelText\":\"Cancel\"},\"specific\":{\"deleteItem\":{\"title\":\"Delete order\",\"message\":\"This action cannot be undone.\",\"confirmText\":\"Delete\"}}}}}",
|
|
30809
30906
|
"sourcePointer": "examples/ai-recipes/praxis-table.actions.json",
|
|
@@ -30813,7 +30910,7 @@
|
|
|
30813
30910
|
"corpusVersion": "1.0.0"
|
|
30814
30911
|
},
|
|
30815
30912
|
{
|
|
30816
|
-
"chunkIndex":
|
|
30913
|
+
"chunkIndex": 149,
|
|
30817
30914
|
"chunkKind": "recipe",
|
|
30818
30915
|
"content": "{\"_comment\":\"Variant focused on behavior settings (pagination, sorting, filtering, selection).\",\"templateMeta\":{\"variantId\":\"behavior\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"behavior\",\"pagination\",\"sorting\",\"filtering\"],\"useWhen\":\"user asks about pagination, sorting, filtering, or selection behavior\",\"examplePrompts\":[\"enable server side pagination with page size 50\",\"turn on multi sort\"]},\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-full\",\"name\":\"Full Table Recipe\",\"description\":\"Kitchen sink config covering TableConfig v2\",\"tags\":[\"example\",\"full\",\"table\"],\"createdAt\":\"2024-01-01T00:00:00Z\",\"updatedAt\":\"2024-02-01T12:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true,\"derivedFrom\":\"base-template\",\"schemaId\":\"path:/api/orders#response\",\"serverHash\":\"hash-123\",\"idField\":\"id\",\"schemaContext\":{\"path\":\"/api/orders\",\"operation\":\"GET\",\"schemaType\":\"response\",\"internal\":false,\"tenant\":\"default\",\"locale\":\"en-US\"}},\"behavior\":{\"pagination\":{\"enabled\":true,\"pageSize\":25,\"pageSizeOptions\":[10,25,50,100],\"showFirstLastButtons\":true,\"showPageNumbers\":true,\"showPageInfo\":true,\"position\":\"bottom\",\"style\":\"advanced\",\"totalItems\":1000,\"strategy\":\"server\",\"advanced\":{\"showJumpToPage\":true,\"allowCustomPageSize\":true,\"maxPageSize\":200}},\"sorting\":{\"enabled\":true,\"defaultSort\":{\"column\":\"createdAt\",\"direction\":\"desc\"},\"multiSort\":true,\"strategy\":\"server\",\"showSortIndicators\":true,\"indicatorPosition\":\"end\",\"allowClearSort\":true,\"advanced\":{\"_comment\":\"customComparators expects functions at runtime; JSON uses string placeholders.\",\"customComparators\":{\"amount\":\"(a: number, b: number) => a - b\"},\"preserveSort\":true}},\"filtering\":{\"enabled\":true,\"columnFilters\":{\"enabled\":true,\"defaultType\":\"text\",\"position\":\"subheader\"},\"advancedFilters\":{\"enabled\":true,\"queryBuilder\":true,\"savePresets\":true,\"settings\":{\"alwaysVisibleFields\":[\"status\",\"priority\"],\"showAdvanced\":true,\"allowSaveTags\":true,\"changeDebounceMs\":300,\"mode\":\"filter\"}},\"strategy\":\"server\",\"debounceTime\":300},\"selection\":{\"enabled\":true,\"type\":\"multiple\",\"mode\":\"checkbox\",\"allowSelectAll\":true,\"checkboxPosition\":\"start\",\"persistSelection\":true,\"persistOnDataUpdate\":true,\"maxSelections\":200,\"visual\":{\"highlightSelected\":true,\"highlightColor\":\"#e0f7fa\",\"showSelectionCount\":true}},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"custom\",\"customAction\":\"openDetail\"},\"rowDoubleClick\":{\"enabled\":true,\"action\":\"edit\",\"customAction\":\"openEditor\"},\"hover\":{\"enabled\":true,\"highlightRow\":true,\"showActionsOnHover\":true},\"keyboard\":{\"enabled\":true,\"arrowNavigation\":true,\"spaceSelection\":true,\"customShortcuts\":{\"Ctrl+F\":\"focusFilter\",\"Ctrl+Shift+R\":\"refreshData\"}}},\"loading\":{\"type\":\"skeleton\",\"position\":\"replace\",\"text\":\"Loading data...\",\"showForQuickOperations\":false,\"delay\":150,\"skeleton\":{\"rows\":8,\"animated\":true,\"baseColor\":\"#eeeeee\",\"highlightColor\":\"#f5f5f5\"}},\"emptyState\":{\"message\":\"No records found\",\"icon\":\"inbox\",\"image\":\"https://example.com/empty.png\",\"actions\":[{\"label\":\"Create\",\"action\":\"createItem\",\"icon\":\"add\",\"primary\":true}],\"customTemplate\":\"empty-state-template\",\"contexts\":{\"initial\":{\"message\":\"Load data to get started\"},\"filtered\":{\"message\":\"No matches for current filters\"},\"searched\":{\"message\":\"No results for your search\"}}},\"virtualization\":{\"enabled\":true,\"itemHeight\":48,\"bufferSize\":10,\"minContainerHeight\":320,\"strategy\":\"fixed\"},\"resizing\":{\"enabled\":true,\"minColumnWidth\":80,\"maxColumnWidth\":360,\"autoFit\":false,\"persistWidths\":true},\"dragging\":{\"columns\":true,\"rows\":false,\"showDragIndicator\":true,\"columnDropZones\":[\"left\",\"right\"]}}}",
|
|
30819
30916
|
"sourcePointer": "examples/ai-recipes/praxis-table.behavior.json",
|
|
@@ -30823,7 +30920,7 @@
|
|
|
30823
30920
|
"corpusVersion": "1.0.0"
|
|
30824
30921
|
},
|
|
30825
30922
|
{
|
|
30826
|
-
"chunkIndex":
|
|
30923
|
+
"chunkIndex": 150,
|
|
30827
30924
|
"chunkKind": "recipe",
|
|
30828
30925
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_comment\",\"_comment\":\"Variant focused on columns and renderers for Praxis Table.\"}",
|
|
30829
30926
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -30833,7 +30930,7 @@
|
|
|
30833
30930
|
"corpusVersion": "1.0.0"
|
|
30834
30931
|
},
|
|
30835
30932
|
{
|
|
30836
|
-
"chunkIndex":
|
|
30933
|
+
"chunkIndex": 151,
|
|
30837
30934
|
"chunkKind": "recipe",
|
|
30838
30935
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"templateMeta\",\"templateMeta\":{\"variantId\":\"columns\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"columns\",\"renderers\"],\"useWhen\":\"user asks to add, remove, or adjust columns\",\"examplePrompts\":[\"add a status column with badge renderer\",\"hide the internal code column\"]}}",
|
|
30839
30936
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -30843,7 +30940,7 @@
|
|
|
30843
30940
|
"corpusVersion": "1.0.0"
|
|
30844
30941
|
},
|
|
30845
30942
|
{
|
|
30846
|
-
"chunkIndex":
|
|
30943
|
+
"chunkIndex": 152,
|
|
30847
30944
|
"chunkKind": "recipe",
|
|
30848
30945
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"meta\",\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-full\",\"name\":\"Full Table Recipe\",\"description\":\"Kitchen sink config covering TableConfig v2\",\"tags\":[\"example\",\"full\",\"table\"],\"createdAt\":\"2024-01-01T00:00:00Z\",\"updatedAt\":\"2024-02-01T12:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true,\"derivedFrom\":\"base-template\",\"schemaId\":\"path:/api/orders#response\",\"serverHash\":\"hash-123\",\"idField\":\"id\",\"schemaContext\":{\"path\":\"/api/orders\",\"operation\":\"GET\",\"schemaType\":\"response\",\"internal\":false,\"tenant\":\"default\",\"locale\":\"en-US\"}}}",
|
|
30849
30946
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -30853,7 +30950,7 @@
|
|
|
30853
30950
|
"corpusVersion": "1.0.0"
|
|
30854
30951
|
},
|
|
30855
30952
|
{
|
|
30856
|
-
"chunkIndex":
|
|
30953
|
+
"chunkIndex": 153,
|
|
30857
30954
|
"chunkKind": "recipe",
|
|
30858
30955
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"columns\",\"columns\":[{\"field\":\"id\",\"header\":\"ID\",\"type\":\"string\",\"width\":\"80px\",\"visible\":true,\"sortable\":true,\"filterable\":true,\"resizable\":true,\"sticky\":\"start\",\"align\":\"left\",\"order\":0,\"sortField\":\"id\",\"style\":\"font-weight: 600;\",\"headerStyle\":\"text-transform: uppercase;\",\"cssClass\":\"col-id\",\"headerCssClass\":\"col-id-header\"},{\"field\":\"createdAt\",\"header\":\"Created At\",\"type\":\"date\",\"width\":\"160px\",\"sortable\":true,\"filterable\":true,\"align\":\"left\",\"order\":1,\"format\":\"yyyy-MM-dd HH:mm\"},{\"field\":\"status\",\"header\":\"Status\",\"type\":\"string\",\"sortable\":true,\"filterable\":true,\"valueMapping\":{\"ACTIVE\":\"Active\",\"INACTIVE\":\"Inactive\",\"PENDING\":\"Pending\"},\"renderer\":{\"typeExpr\":{\"expr\":\"statusRenderer\"},\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"statusLabel\",\"color\":\"success\",\"variant\":\"filled\",\"icon\":\"check\"}},\"conditionalRenderers\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"PENDING\"]},\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Pending\",\"textField\":\"statusLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"hourglass_empty\"}},\"description\":\"Pending state\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Inactive\",\"textField\":\"statusLabel\",\"color\":\"warn\",\"variant\":\"soft\",\"icon\":\"block\"}},\"description\":\"Inactive state\",\"enabled\":true},{\"condition\":{\"!!\":[{\"var\":\"avatarUrl\"}]},\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-conditional.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":28,\"backgroundColor\":\"#D32F2F\",\"textColor\":\"#FFFFFF\"}},\"description\":\"Avatar override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"progressPercent\"},null]},\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},\"description\":\"Progress override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"rating\"},null]},\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Status rating\",\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\"}},\"description\":\"Rating override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"isActive\"},null]},\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"isActive\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle status\",\"action\":{\"id\":\"toggle-status\",\"payloadExpr\":\"{ id: id, active: !isActive }\"}}},\"description\":\"Toggle override\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"COMPOSED\"]},\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\"}},{\"type\":\"chip\",\"chip\":{\"textField\":\"statusLabel\",\"color\":\"accent\"}}],\"layout\":{\"direction\":\"row\",\"gap\":6}}},\"description\":\"Compose override\",\"enabled\":true}],\"conditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"cssClass\":\"status-inactive\",\"style\":{\"color\":\"#d32f2f\",\"fontWeight\":\"600\"},\"description\":\"Inactive style\"}],\"_styleRulesState\":{\"version\":1,\"rules\":[\"status\"]},\"_originalApiType\":\"string\",\"_isApiField\":true},{\"field\":\"priority\",\"header\":\"Priority\",\"type\":\"string\",\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Priority\",\"textField\":\"priorityLabel\",\"color\":\"warn\",\"icon\":\"priority_high\",\"variant\":\"filled\"}}},{\"field\":\"amount\",\"header\":\"Amount\",\"type\":\"currency\",\"width\":\"120px\",\"align\":\"right\",\"sortable\":true,\"filterable\":true,\"format\":\"USD|symbol|2\"},{\"field\":\"discountRate\",\"header\":\"Discount\",\"type\":\"percentage\",\"width\":\"110px\",\"align\":\"right\",\"format\":\"1.2-2\"},{\"field\":\"score\",\"header\":\"Score\",\"type\":\"number\",\"align\":\"right\",\"format\":\"1.0-0\",\"_generatedValueGetter\":\"score = weight * value\",\"_originalApiType\":\"decimal\",\"_isApiField\":false},{\"field\":\"profile\",\"header\":\"Profile\",\"type\":\"custom\",\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":32,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}}},{\"field\":\"progress\",\"header\":\"Progress\",\"type\":\"number\",\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"primary\",\"showLabel\":true}}},{\"field\":\"rating\",\"header\":\"Rating\",\"type\":\"number\",\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"ariaLabel\":\"Rating\",\"readonly\":true}}},{\"field\":\"active\",\"header\":\"Active\",\"type\":\"boolean\",\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle active\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}}},{\"field\":\"profileLink\",\"header\":\"Profile Link\",\"type\":\"string\",\"renderer\":{\"type\":\"link\",\"link\":{\"text\":\"View profile\",\"textField\":\"name\",\"href\":\"https://example.com/profile\",\"hrefField\":\"profileUrl\",\"target\":\"_blank\",\"rel\":\"noopener\"}}},{\"field\":\"thumbnail\",\"header\":\"Thumb\",\"type\":\"custom\",\"renderer\":{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":32,\"height\":32,\"shape\":\"rounded\",\"fit\":\"cover\",\"lazy\":true}}},{\"field\":\"statusIcon\",\"header\":\"Status Icon\",\"type\":\"custom\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"check_circle\",\"nameField\":\"statusIcon\",\"color\":\"success\",\"size\":18,\"ariaLabel\":\"Status icon\"}}},{\"field\":\"actionButton\",\"header\":\"Action\",\"type\":\"custom\",\"renderer\":{\"type\":\"button\",\"button\":{\"label\":\"Edit\",\"labelField\":\"editLabel\",\"icon\":\"edit\",\"color\":\"primary\",\"variant\":\"outlined\",\"size\":\"sm\",\"ariaLabel\":\"Edit row\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"edit-row\",\"payloadExpr\":\"{ id: id }\"}}}},{\"field\":\"menuActions\",\"header\":\"Menu\",\"type\":\"custom\",\"renderer\":{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Row menu\"}}},{\"field\":\"notes\",\"header\":\"Notes\",\"type\":\"string\",\"renderer\":{\"type\":\"html\",\"html\":{\"template\":\"<strong>[[notes]]</strong>\",\"sanitize\":\"strict\",\"emptyFallback\":\"None\"}}},{\"field\":\"composed\",\"header\":\"Composed\",\"type\":\"custom\",\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\",\"nameField\":\"iconName\",\"color\":\"primary\",\"size\":16,\"ariaLabel\":\"Info\"}},{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":20,\"height\":20,\"shape\":\"circle\",\"fit\":\"cover\",\"lazy\":true}},{\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"status\",\"color\":\"info\",\"variant\":\"soft\",\"icon\":\"info\"}},{\"type\":\"link\",\"link\":{\"text\":\"Details\",\"textField\":\"detailLabel\",\"href\":\"https://example.com/orders\",\"hrefField\":\"detailUrl\",\"target\":\"_self\",\"rel\":\"noopener\"}},{\"type\":\"button\",\"button\":{\"label\":\"Open\",\"labelField\":\"actionLabel\",\"icon\":\"open_in_new\",\"color\":\"primary\",\"variant\":\"text\",\"size\":\"sm\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"open-detail\",\"payloadExpr\":\"{ id: id }\"}}},{\"type\":\"chip\",\"chip\":{\"text\":\"Tag\",\"textField\":\"tagLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"label\"}},{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-mini.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":24,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}},{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}},{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Inline menu\"}},{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Rating\"}},{\"type\":\"html\",\"html\":{\"template\":\"<em>[[tagline]]</em>\",\"sanitize\":\"basic\",\"emptyFallback\":\"-\"}}],\"layout\":{\"direction\":\"row\",\"gap\":8,\"align\":\"center\",\"wrap\":true,\"ellipsis\":true}}}},{\"field\":\"internalCode\",\"header\":\"Internal Code\",\"type\":\"string\",\"visible\":false}]}",
|
|
30859
30956
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -30863,7 +30960,7 @@
|
|
|
30863
30960
|
"corpusVersion": "1.0.0"
|
|
30864
30961
|
},
|
|
30865
30962
|
{
|
|
30866
|
-
"chunkIndex":
|
|
30963
|
+
"chunkIndex": 154,
|
|
30867
30964
|
"chunkKind": "recipe",
|
|
30868
30965
|
"content": "{\"_comment\":\"Variant focused on computed columns and conditional styling.\",\"templateMeta\":{\"variantId\":\"computed-columns\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"computed\",\"columns\",\"kpi\",\"finance\"],\"useWhen\":\"user asks to add calculated columns, totals, or KPI columns\",\"examplePrompts\":[\"add a total column = quantity * price\",\"create a margin % column\",\"highlight rows when computed delay is greater than zero\"]},\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-computed-columns\",\"name\":\"Computed Columns Recipe\",\"description\":\"Focused template with calculated columns and conditional styles\",\"tags\":[\"computed\",\"columns\",\"template\"],\"createdAt\":\"2024-03-01T00:00:00Z\",\"updatedAt\":\"2024-03-01T00:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true},\"columns\":[{\"field\":\"quantity\",\"header\":\"Quantity\",\"type\":\"number\",\"align\":\"right\",\"sortable\":true,\"filterable\":true},{\"field\":\"price\",\"header\":\"Price\",\"type\":\"currency\",\"align\":\"right\",\"format\":\"BRL|symbol|2\",\"sortable\":true,\"filterable\":true},{\"field\":\"total\",\"header\":\"Total\",\"type\":\"currency\",\"align\":\"right\",\"computed\":{\"expression\":{\"*\":[{\"var\":\"quantity\"},{\"var\":\"price\"}]},\"outputType\":\"currency\",\"format\":\"BRL|symbol|2\",\"dependencies\":[\"quantity\",\"price\"]},\"conditionalStyles\":[{\"condition\":{\">\":[{\"var\":\"computed.total\"},1000]},\"style\":{\"color\":\"#2e7d32\",\"fontWeight\":\"600\"}}]},{\"field\":\"revenue\",\"header\":\"Revenue\",\"type\":\"number\",\"align\":\"right\",\"sortable\":true},{\"field\":\"cost\",\"header\":\"Cost\",\"type\":\"number\",\"align\":\"right\",\"sortable\":true},{\"field\":\"score\",\"header\":\"Score %\",\"type\":\"percentage\",\"align\":\"right\",\"computed\":{\"expression\":{\"/\":[{\"-\":[{\"var\":\"revenue\"},{\"var\":\"cost\"}]},{\"var\":\"cost\"}]},\"outputType\":\"percentage\",\"format\":\"1.1-1\",\"dependencies\":[\"revenue\",\"cost\"]}},{\"field\":\"delayDays\",\"header\":\"Delay (days)\",\"type\":\"number\",\"align\":\"right\",\"computed\":{\"expression\":{\"max\":[0,{\"var\":\"daysLate\"}]},\"outputType\":\"number\",\"format\":\"1.0-0\",\"dependencies\":[\"daysLate\"]},\"conditionalStyles\":[{\"condition\":{\">\":[{\"var\":\"computed.delayDays\"},0]},\"style\":{\"color\":\"#d32f2f\",\"fontWeight\":\"600\"}}]}],\"rowConditionalStyles\":[{\"condition\":{\">\":[{\"var\":\"computed.delayDays\"},0]},\"cssClass\":\"row--late\"}]}",
|
|
30869
30966
|
"sourcePointer": "examples/ai-recipes/praxis-table.computed.json",
|
|
@@ -30873,7 +30970,7 @@
|
|
|
30873
30970
|
"corpusVersion": "1.0.0"
|
|
30874
30971
|
},
|
|
30875
30972
|
{
|
|
30876
|
-
"chunkIndex":
|
|
30973
|
+
"chunkIndex": 155,
|
|
30877
30974
|
"chunkKind": "recipe",
|
|
30878
30975
|
"content": "{\"_comment\":\"Template to format existing columns as currency without changing their type.\",\"templateMeta\":{\"variantId\":\"format-currency\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"format\",\"column\",\"currency\",\"money\",\"finance\"],\"useWhen\":\"user asks to format an existing column as currency, money, or specific monetary unit\",\"examplePrompts\":[\"format the price column as BRL\",\"show amount in USD with symbol\",\"display total as currency\"]},\"columns\":[{\"field\":\"price\",\"format\":\"BRL|symbol|2\",\"align\":\"right\"}]}",
|
|
30879
30976
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-currency.json",
|
|
@@ -30883,7 +30980,7 @@
|
|
|
30883
30980
|
"corpusVersion": "1.0.0"
|
|
30884
30981
|
},
|
|
30885
30982
|
{
|
|
30886
|
-
"chunkIndex":
|
|
30983
|
+
"chunkIndex": 156,
|
|
30887
30984
|
"chunkKind": "recipe",
|
|
30888
30985
|
"content": "{\"_comment\":\"Template to format existing columns as date/time without changing their type.\",\"templateMeta\":{\"variantId\":\"format-date\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"format\",\"column\",\"date\",\"time\",\"datetime\"],\"useWhen\":\"user asks to format an existing column as date or time\",\"examplePrompts\":[\"format createdAt as dd/MM/yyyy\",\"show date with time\",\"display short date\"]},\"columns\":[{\"field\":\"createdAt\",\"format\":\"yyyy-MM-dd HH:mm\",\"align\":\"left\"}]}",
|
|
30889
30986
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-date.json",
|
|
@@ -30893,7 +30990,7 @@
|
|
|
30893
30990
|
"corpusVersion": "1.0.0"
|
|
30894
30991
|
},
|
|
30895
30992
|
{
|
|
30896
|
-
"chunkIndex":
|
|
30993
|
+
"chunkIndex": 157,
|
|
30897
30994
|
"chunkKind": "recipe",
|
|
30898
30995
|
"content": "{\"_comment\":\"Template to format existing columns as number/integer without changing their type.\",\"templateMeta\":{\"variantId\":\"format-number\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"format\",\"column\",\"number\",\"integer\",\"decimal\"],\"useWhen\":\"user asks to format an existing column as number, integer, or specific decimal places\",\"examplePrompts\":[\"format quantity as integer\",\"show weight with 3 decimal places\",\"display count without decimals\"]},\"columns\":[{\"field\":\"quantity\",\"format\":\"1.0-0\",\"align\":\"right\"}]}",
|
|
30899
30996
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-number.json",
|
|
@@ -30903,7 +31000,7 @@
|
|
|
30903
31000
|
"corpusVersion": "1.0.0"
|
|
30904
31001
|
},
|
|
30905
31002
|
{
|
|
30906
|
-
"chunkIndex":
|
|
31003
|
+
"chunkIndex": 158,
|
|
30907
31004
|
"chunkKind": "recipe",
|
|
30908
31005
|
"content": "{\"_comment\":\"Template to format existing columns as percentages without changing their type.\",\"templateMeta\":{\"variantId\":\"format-percentage\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"format\",\"column\",\"percentage\",\"ratio\"],\"useWhen\":\"user asks to format an existing column as percentage\",\"examplePrompts\":[\"format discount as percentage\",\"show rate with 2 decimal places %\"]},\"columns\":[{\"field\":\"rate\",\"format\":\"1.2-2\",\"align\":\"right\"}]}",
|
|
30909
31006
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-percentage.json",
|
|
@@ -30913,7 +31010,7 @@
|
|
|
30913
31010
|
"corpusVersion": "1.0.0"
|
|
30914
31011
|
},
|
|
30915
31012
|
{
|
|
30916
|
-
"chunkIndex":
|
|
31013
|
+
"chunkIndex": 159,
|
|
30917
31014
|
"chunkKind": "recipe",
|
|
30918
31015
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"templateMeta\",\"templateMeta\":{\"registryKey\":\"praxis-table\",\"defaultVariantId\":\"columns\",\"variants\":[{\"id\":\"columns\",\"registryKey\":\"praxis-table\",\"variantId\":\"columns\",\"aiDescription\":\"Columns and renderers focus.\",\"tags\":[\"columns\",\"renderers\"],\"useWhen\":\"user asks to add, remove, or adjust columns\",\"examplePrompts\":[\"add a status column with badge renderer\",\"hide the internal code column\"]},{\"id\":\"computed-columns\",\"registryKey\":\"praxis-table\",\"variantId\":\"computed-columns\",\"aiDescription\":\"Calculated columns, KPIs, and conditional styling based on computed values.\",\"tags\":[\"computed\",\"columns\",\"kpi\"],\"useWhen\":\"user asks to add calculated columns, totals, or KPI metrics\",\"examplePrompts\":[\"create a total column = quantity * price\",\"highlight rows when computed delay > 0\"]},{\"id\":\"behavior\",\"registryKey\":\"praxis-table\",\"variantId\":\"behavior\",\"aiDescription\":\"Pagination, sorting, filtering, selection.\",\"tags\":[\"behavior\",\"pagination\",\"sorting\",\"filtering\"],\"useWhen\":\"user asks about pagination, sorting, filtering, or selection behavior\",\"examplePrompts\":[\"enable server side pagination with page size 50\",\"turn on multi sort\"]},{\"id\":\"toolbar\",\"registryKey\":\"praxis-table\",\"variantId\":\"toolbar\",\"aiDescription\":\"Toolbar actions and quick commands.\",\"tags\":[\"toolbar\",\"actions\"],\"useWhen\":\"user asks to change toolbar, buttons, or quick actions\",\"examplePrompts\":[\"add export buttons to the toolbar\",\"change the toolbar title\"]},{\"id\":\"table-pagination\",\"registryKey\":\"praxis-table\",\"variantId\":\"table-pagination\",\"aiDescription\":\"Focused pagination settings to reduce context size.\",\"tags\":[\"pagination\",\"performance\"],\"useWhen\":\"user asks to configure pagination only\",\"examplePrompts\":[\"enable pagination\",\"set page size to 20\"]},{\"id\":\"table-actions\",\"registryKey\":\"praxis-table\",\"variantId\":\"table-actions\",\"aiDescription\":\"Focused row and bulk actions settings.\",\"tags\":[\"actions\",\"bulk\",\"row\"],\"useWhen\":\"user asks to configure table actions only\",\"examplePrompts\":[\"add delete action\",\"enable bulk actions\"]},{\"id\":\"table-export\",\"registryKey\":\"praxis-table\",\"variantId\":\"table-export\",\"aiDescription\":\"Configuration for data export (Excel, PDF, CSV).\",\"tags\":[\"export\",\"download\",\"excel\",\"pdf\"],\"useWhen\":\"user asks about export settings\",\"examplePrompts\":[\"enable excel export\",\"configure pdf landscape\"]},{\"id\":\"table-appearance\",\"registryKey\":\"praxis-table\",\"variantId\":\"table-appearance\",\"aiDescription\":\"Visual settings: density, borders, colors, striping.\",\"tags\":[\"appearance\",\"theme\",\"style\",\"density\"],\"useWhen\":\"user asks to change look and feel\",\"examplePrompts\":[\"make it compact\",\"add zebra striping\",\"hide borders\"]}]}}",
|
|
30919
31016
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30923,7 +31020,7 @@
|
|
|
30923
31020
|
"corpusVersion": "1.0.0"
|
|
30924
31021
|
},
|
|
30925
31022
|
{
|
|
30926
|
-
"chunkIndex":
|
|
31023
|
+
"chunkIndex": 160,
|
|
30927
31024
|
"chunkKind": "recipe",
|
|
30928
31025
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"meta\",\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-full\",\"name\":\"Full Table Recipe\",\"description\":\"Kitchen sink config covering TableConfig v2\",\"tags\":[\"example\",\"full\",\"table\"],\"createdAt\":\"2024-01-01T00:00:00Z\",\"updatedAt\":\"2024-02-01T12:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true,\"derivedFrom\":\"base-template\",\"schemaId\":\"path:/api/orders#response\",\"serverHash\":\"hash-123\",\"idField\":\"id\",\"schemaContext\":{\"path\":\"/api/orders\",\"operation\":\"GET\",\"schemaType\":\"response\",\"internal\":false,\"tenant\":\"default\",\"locale\":\"en-US\"}}}",
|
|
30929
31026
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30933,7 +31030,7 @@
|
|
|
30933
31030
|
"corpusVersion": "1.0.0"
|
|
30934
31031
|
},
|
|
30935
31032
|
{
|
|
30936
|
-
"chunkIndex":
|
|
31033
|
+
"chunkIndex": 161,
|
|
30937
31034
|
"chunkKind": "recipe",
|
|
30938
31035
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"columns\",\"columns\":[{\"field\":\"id\",\"header\":\"ID\",\"type\":\"string\",\"width\":\"80px\",\"visible\":true,\"sortable\":true,\"filterable\":true,\"resizable\":true,\"sticky\":\"start\",\"align\":\"left\",\"order\":0,\"sortField\":\"id\",\"style\":\"font-weight: 600;\",\"headerStyle\":\"text-transform: uppercase;\",\"cssClass\":\"col-id\",\"headerCssClass\":\"col-id-header\"},{\"field\":\"createdAt\",\"header\":\"Created At\",\"type\":\"date\",\"width\":\"160px\",\"sortable\":true,\"filterable\":true,\"align\":\"left\",\"order\":1,\"format\":\"yyyy-MM-dd HH:mm\"},{\"field\":\"status\",\"header\":\"Status\",\"type\":\"string\",\"sortable\":true,\"filterable\":true,\"valueMapping\":{\"ACTIVE\":\"Active\",\"INACTIVE\":\"Inactive\",\"PENDING\":\"Pending\"},\"renderer\":{\"typeExpr\":{\"expr\":\"statusRenderer\"},\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"statusLabel\",\"color\":\"success\",\"variant\":\"filled\",\"icon\":\"check\"}},\"conditionalRenderers\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"PENDING\"]},\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Pending\",\"textField\":\"statusLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"hourglass_empty\"}},\"description\":\"Pending state\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Inactive\",\"textField\":\"statusLabel\",\"color\":\"warn\",\"variant\":\"soft\",\"icon\":\"block\"}},\"description\":\"Inactive state\",\"enabled\":true},{\"condition\":{\"!!\":[{\"var\":\"avatarUrl\"}]},\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-conditional.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":28,\"backgroundColor\":\"#D32F2F\",\"textColor\":\"#FFFFFF\"}},\"description\":\"Avatar override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"progressPercent\"},null]},\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},\"description\":\"Progress override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"rating\"},null]},\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Status rating\",\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\"}},\"description\":\"Rating override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"isActive\"},null]},\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"isActive\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle status\",\"action\":{\"id\":\"toggle-status\",\"payloadExpr\":\"{ id: id, active: !isActive }\"}}},\"description\":\"Toggle override\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"COMPOSED\"]},\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\"}},{\"type\":\"chip\",\"chip\":{\"textField\":\"statusLabel\",\"color\":\"accent\"}}],\"layout\":{\"direction\":\"row\",\"gap\":6}}},\"description\":\"Compose override\",\"enabled\":true}],\"conditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"cssClass\":\"status-inactive\",\"style\":{\"color\":\"#d32f2f\",\"fontWeight\":\"600\"},\"description\":\"Inactive style\"}],\"_styleRulesState\":{\"version\":1,\"rules\":[\"status\"]},\"_originalApiType\":\"string\",\"_isApiField\":true},{\"field\":\"priority\",\"header\":\"Priority\",\"type\":\"string\",\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Priority\",\"textField\":\"priorityLabel\",\"color\":\"warn\",\"icon\":\"priority_high\",\"variant\":\"filled\"}}},{\"field\":\"amount\",\"header\":\"Amount\",\"type\":\"currency\",\"width\":\"120px\",\"align\":\"right\",\"sortable\":true,\"filterable\":true,\"format\":\"USD|symbol|2\"},{\"field\":\"total\",\"header\":\"Total\",\"type\":\"currency\",\"align\":\"right\",\"computed\":{\"expression\":\"quantity * price\",\"outputType\":\"currency\",\"format\":\"BRL|symbol|2\",\"dependencies\":[\"quantity\",\"price\"]}},{\"field\":\"delayDays\",\"header\":\"Atraso (dias)\",\"type\":\"number\",\"align\":\"right\",\"computed\":{\"expression\":\"max(0, daysLate)\",\"outputType\":\"number\",\"format\":\"1.0-0\",\"dependencies\":[\"daysLate\"]}},{\"field\":\"discountRate\",\"header\":\"Discount\",\"type\":\"percentage\",\"width\":\"110px\",\"align\":\"right\",\"format\":\"1.2-2\"},{\"field\":\"score\",\"header\":\"Score\",\"type\":\"number\",\"align\":\"right\",\"format\":\"1.0-0\",\"_generatedValueGetter\":\"weight * value\",\"_originalApiType\":\"decimal\",\"_isApiField\":false},{\"field\":\"profile\",\"header\":\"Profile\",\"type\":\"custom\",\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":32,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}}},{\"field\":\"progress\",\"header\":\"Progress\",\"type\":\"number\",\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"primary\",\"showLabel\":true}}},{\"field\":\"rating\",\"header\":\"Rating\",\"type\":\"number\",\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"ariaLabel\":\"Rating\",\"readonly\":true}}},{\"field\":\"active\",\"header\":\"Active\",\"type\":\"boolean\",\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle active\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}}},{\"field\":\"profileLink\",\"header\":\"Profile Link\",\"type\":\"string\",\"renderer\":{\"type\":\"link\",\"link\":{\"text\":\"View profile\",\"textField\":\"name\",\"href\":\"https://example.com/profile\",\"hrefField\":\"profileUrl\",\"target\":\"_blank\",\"rel\":\"noopener\"}}},{\"field\":\"thumbnail\",\"header\":\"Thumb\",\"type\":\"custom\",\"renderer\":{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":32,\"height\":32,\"shape\":\"rounded\",\"fit\":\"cover\",\"lazy\":true}}},{\"field\":\"statusIcon\",\"header\":\"Status Icon\",\"type\":\"custom\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"check_circle\",\"nameField\":\"statusIcon\",\"color\":\"success\",\"size\":18,\"ariaLabel\":\"Status icon\"}}},{\"field\":\"actionButton\",\"header\":\"Action\",\"type\":\"custom\",\"renderer\":{\"type\":\"button\",\"button\":{\"label\":\"Edit\",\"labelField\":\"editLabel\",\"icon\":\"edit\",\"color\":\"primary\",\"variant\":\"outlined\",\"size\":\"sm\",\"ariaLabel\":\"Edit row\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"edit-row\",\"payloadExpr\":\"{ id: id }\"}}}},{\"field\":\"menuActions\",\"header\":\"Menu\",\"type\":\"custom\",\"renderer\":{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Row menu\"}}},{\"field\":\"notes\",\"header\":\"Notes\",\"type\":\"string\",\"renderer\":{\"type\":\"html\",\"html\":{\"template\":\"<strong>[[notes]]</strong>\",\"sanitize\":\"strict\",\"emptyFallback\":\"None\"}}}]}",
|
|
30939
31036
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30943,7 +31040,7 @@
|
|
|
30943
31040
|
"corpusVersion": "1.0.0"
|
|
30944
31041
|
},
|
|
30945
31042
|
{
|
|
30946
|
-
"chunkIndex":
|
|
31043
|
+
"chunkIndex": 162,
|
|
30947
31044
|
"chunkKind": "recipe",
|
|
30948
31045
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"columns\",\"columns\":[{\"field\":\"composed\",\"header\":\"Composed\",\"type\":\"custom\",\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\",\"nameField\":\"iconName\",\"color\":\"primary\",\"size\":16,\"ariaLabel\":\"Info\"}},{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":20,\"height\":20,\"shape\":\"circle\",\"fit\":\"cover\",\"lazy\":true}},{\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"status\",\"color\":\"info\",\"variant\":\"soft\",\"icon\":\"info\"}},{\"type\":\"link\",\"link\":{\"text\":\"Details\",\"textField\":\"detailLabel\",\"href\":\"https://example.com/orders\",\"hrefField\":\"detailUrl\",\"target\":\"_self\",\"rel\":\"noopener\"}},{\"type\":\"button\",\"button\":{\"label\":\"Open\",\"labelField\":\"actionLabel\",\"icon\":\"open_in_new\",\"color\":\"primary\",\"variant\":\"text\",\"size\":\"sm\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"open-detail\",\"payloadExpr\":\"{ id: id }\"}}},{\"type\":\"chip\",\"chip\":{\"text\":\"Tag\",\"textField\":\"tagLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"label\"}},{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-mini.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":24,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}},{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}},{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Inline menu\"}},{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Rating\"}},{\"type\":\"html\",\"html\":{\"template\":\"<em>[[tagline]]</em>\",\"sanitize\":\"basic\",\"emptyFallback\":\"-\"}}],\"layout\":{\"direction\":\"row\",\"gap\":8,\"align\":\"center\",\"wrap\":true,\"ellipsis\":true}}}},{\"field\":\"internalCode\",\"header\":\"Internal Code\",\"type\":\"string\",\"visible\":false}]}",
|
|
30949
31046
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30953,7 +31050,7 @@
|
|
|
30953
31050
|
"corpusVersion": "1.0.0"
|
|
30954
31051
|
},
|
|
30955
31052
|
{
|
|
30956
|
-
"chunkIndex":
|
|
31053
|
+
"chunkIndex": 163,
|
|
30957
31054
|
"chunkKind": "recipe",
|
|
30958
31055
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"behavior\",\"behavior\":{\"pagination\":{\"enabled\":true,\"pageSize\":25,\"pageSizeOptions\":[10,25,50,100],\"showFirstLastButtons\":true,\"showPageNumbers\":true,\"showPageInfo\":true,\"position\":\"bottom\",\"style\":\"advanced\",\"totalItems\":1000,\"strategy\":\"server\",\"advanced\":{\"showJumpToPage\":true,\"allowCustomPageSize\":true,\"maxPageSize\":200}},\"sorting\":{\"enabled\":true,\"defaultSort\":{\"column\":\"createdAt\",\"direction\":\"desc\"},\"multiSort\":true,\"strategy\":\"server\",\"showSortIndicators\":true,\"indicatorPosition\":\"end\",\"allowClearSort\":true,\"advanced\":{\"_comment\":\"customComparators expects functions at runtime; JSON uses string placeholders.\",\"customComparators\":{\"amount\":\"(a: number, b: number) => a - b\"},\"preserveSort\":true}},\"filtering\":{\"enabled\":true,\"columnFilters\":{\"enabled\":true,\"defaultType\":\"text\",\"position\":\"subheader\"},\"advancedFilters\":{\"enabled\":true,\"queryBuilder\":true,\"savePresets\":true,\"settings\":{\"alwaysVisibleFields\":[\"status\",\"priority\"],\"showAdvanced\":true,\"allowSaveTags\":true,\"changeDebounceMs\":300,\"mode\":\"filter\"}},\"strategy\":\"server\",\"debounceTime\":300},\"selection\":{\"enabled\":true,\"type\":\"multiple\",\"mode\":\"checkbox\",\"allowSelectAll\":true,\"checkboxPosition\":\"start\",\"persistSelection\":true,\"persistOnDataUpdate\":true,\"maxSelections\":200,\"visual\":{\"highlightSelected\":true,\"highlightColor\":\"#e0f7fa\",\"showSelectionCount\":true}},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"custom\",\"customAction\":\"openDetail\"},\"rowDoubleClick\":{\"enabled\":true,\"action\":\"edit\",\"customAction\":\"openEditor\"},\"hover\":{\"enabled\":true,\"highlightRow\":true,\"showActionsOnHover\":true},\"keyboard\":{\"enabled\":true,\"arrowNavigation\":true,\"spaceSelection\":true,\"customShortcuts\":{\"Ctrl+F\":\"focusFilter\",\"Ctrl+Shift+R\":\"refreshData\"}}},\"loading\":{\"type\":\"skeleton\",\"position\":\"replace\",\"text\":\"Loading data...\",\"showForQuickOperations\":false,\"delay\":150,\"skeleton\":{\"rows\":8,\"animated\":true,\"baseColor\":\"#eeeeee\",\"highlightColor\":\"#f5f5f5\"}},\"emptyState\":{\"message\":\"No records found\",\"icon\":\"inbox\",\"image\":\"https://example.com/empty.png\",\"actions\":[{\"label\":\"Create\",\"action\":\"createItem\",\"icon\":\"add\",\"primary\":true}],\"customTemplate\":\"empty-state-template\",\"contexts\":{\"initial\":{\"message\":\"Load data to get started\"},\"filtered\":{\"message\":\"No matches for current filters\"},\"searched\":{\"message\":\"No results for your search\"}}},\"virtualization\":{\"enabled\":true,\"itemHeight\":48,\"bufferSize\":10,\"minContainerHeight\":320,\"strategy\":\"fixed\"},\"resizing\":{\"enabled\":true,\"minColumnWidth\":80,\"maxColumnWidth\":360,\"autoFit\":false,\"persistWidths\":true},\"dragging\":{\"columns\":true,\"rows\":false,\"showDragIndicator\":true,\"columnDropZones\":[\"left\",\"right\"]}}}",
|
|
30959
31056
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30963,7 +31060,7 @@
|
|
|
30963
31060
|
"corpusVersion": "1.0.0"
|
|
30964
31061
|
},
|
|
30965
31062
|
{
|
|
30966
|
-
"chunkIndex":
|
|
31063
|
+
"chunkIndex": 164,
|
|
30967
31064
|
"chunkKind": "recipe",
|
|
30968
31065
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"appearance\",\"appearance\":{\"density\":\"comfortable\",\"borders\":{\"showRowBorders\":true,\"showColumnBorders\":false,\"showOuterBorder\":true,\"style\":\"solid\",\"width\":1,\"color\":\"#e0e0e0\",\"specific\":{\"header\":{\"showRowBorders\":true,\"showColumnBorders\":true,\"showOuterBorder\":true,\"style\":\"dashed\",\"width\":1,\"color\":\"#bdbdbd\"},\"footer\":{\"showRowBorders\":true,\"showColumnBorders\":false,\"showOuterBorder\":true,\"style\":\"solid\",\"width\":1,\"color\":\"#e0e0e0\"},\"sticky\":{\"showRowBorders\":true,\"showColumnBorders\":true,\"showOuterBorder\":false,\"style\":\"solid\",\"width\":1,\"color\":\"#c0c0c0\"}}},\"colors\":{\"background\":\"#ffffff\",\"headerBackground\":\"#fafafa\",\"alternateRowBackground\":\"#f7f9fc\",\"hoverBackground\":\"#eef3ff\",\"selectedBackground\":\"#e3f2fd\",\"textColor\":\"#212121\",\"headerTextColor\":\"#424242\",\"states\":{\"error\":\"#d32f2f\",\"warning\":\"#f9a825\",\"success\":\"#2e7d32\",\"info\":\"#0288d1\"}},\"typography\":{\"fontFamily\":\"Segoe UI, Arial, sans-serif\",\"fontSize\":\"14px\",\"headerFontSize\":\"12px\",\"fontWeight\":400,\"headerFontWeight\":600,\"lineHeight\":\"1.4\",\"letterSpacing\":\"0.2px\",\"headerCase\":\"uppercase\"},\"spacing\":{\"cellPadding\":\"8px 12px\",\"headerPadding\":\"10px 12px\",\"rowHeight\":44,\"headerHeight\":48,\"containerSpacing\":\"8px\"},\"animations\":{\"enabled\":true,\"duration\":200,\"easing\":\"ease-in-out\",\"specific\":{\"loading\":true,\"hover\":true,\"selection\":true,\"sorting\":false}},\"responsive\":{\"breakpoints\":{\"mobile\":600,\"tablet\":960,\"desktop\":1280},\"mobile\":{\"horizontalScroll\":true,\"collapseColumns\":true,\"priorityColumns\":[\"id\",\"status\",\"amount\"],\"cardMode\":true},\"autoAdjust\":{\"hideColumns\":true,\"scaleFontSize\":true,\"adjustPadding\":true}},\"elevation\":{\"level\":2,\"shadowColor\":\"rgba(0,0,0,0.2)\",\"hoverElevation\":4}}}",
|
|
30969
31066
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30973,7 +31070,7 @@
|
|
|
30973
31070
|
"corpusVersion": "1.0.0"
|
|
30974
31071
|
},
|
|
30975
31072
|
{
|
|
30976
|
-
"chunkIndex":
|
|
31073
|
+
"chunkIndex": 165,
|
|
30977
31074
|
"chunkKind": "recipe",
|
|
30978
31075
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"toolbar\",\"toolbar\":{\"visible\":true,\"position\":\"top\",\"layout\":{\"alignment\":\"space-between\",\"height\":56,\"padding\":\"0 16px\",\"backgroundColor\":\"#fafafa\",\"showSeparator\":true},\"title\":\"Orders\",\"subtitle\":\"Last sync 5m ago\",\"actions\":[{\"id\":\"create\",\"label\":\"Create\",\"icon\":\"add\",\"type\":\"button\",\"color\":\"primary\",\"appearance\":\"filled\",\"disabled\":false,\"action\":\"createItem\",\"tooltip\":\"Create new item\",\"shortcut\":\"Ctrl+N\",\"position\":\"start\",\"order\":1},{\"id\":\"refresh\",\"label\":\"Refresh\",\"icon\":\"refresh\",\"type\":\"icon\",\"color\":\"accent\",\"appearance\":\"text\",\"action\":\"refreshData\",\"tooltip\":\"Reload data\",\"shortcut\":\"Ctrl+R\",\"position\":\"start\",\"order\":2},{\"id\":\"export\",\"label\":\"Export\",\"icon\":\"download\",\"type\":\"menu\",\"color\":\"primary\",\"appearance\":\"outlined\",\"action\":\"openExportMenu\",\"position\":\"end\",\"order\":1,\"children\":[{\"id\":\"export-csv\",\"label\":\"Export CSV\",\"type\":\"button\",\"action\":\"exportCsv\",\"position\":\"end\"},{\"id\":\"export-pdf\",\"label\":\"Export PDF\",\"type\":\"button\",\"action\":\"exportPdf\",\"position\":\"end\"}]},{\"id\":\"help\",\"label\":\"Help\",\"icon\":\"help\",\"type\":\"fab\",\"color\":\"warn\",\"appearance\":\"tonal\",\"action\":\"openHelp\",\"tooltip\":\"Open help\",\"position\":\"end\",\"order\":99,\"visibleWhen\":\"canHelp\"}],\"filters\":{\"enabled\":true,\"quickFilters\":[{\"id\":\"active\",\"label\":\"Active\",\"filter\":{\"status\":\"ACTIVE\"},\"icon\":\"check\"},{\"id\":\"pending\",\"label\":\"Pending\",\"filter\":{\"status\":\"PENDING\"},\"icon\":\"hourglass_empty\"}],\"showAdvancedButton\":true},\"settingsMenu\":{\"enabled\":true,\"options\":[{\"id\":\"density\",\"label\":\"Density\",\"type\":\"select\",\"value\":\"comfortable\",\"options\":[\"compact\",\"comfortable\",\"spacious\"]},{\"id\":\"wrap\",\"label\":\"Wrap columns\",\"type\":\"toggle\",\"value\":false},{\"id\":\"reset\",\"label\":\"Reset\",\"type\":\"action\"}]}}}",
|
|
30979
31076
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30983,7 +31080,7 @@
|
|
|
30983
31080
|
"corpusVersion": "1.0.0"
|
|
30984
31081
|
},
|
|
30985
31082
|
{
|
|
30986
|
-
"chunkIndex":
|
|
31083
|
+
"chunkIndex": 166,
|
|
30987
31084
|
"chunkKind": "recipe",
|
|
30988
31085
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"actions\",\"actions\":{\"row\":{\"enabled\":true,\"position\":\"end\",\"width\":\"64px\",\"sticky\":\"end\",\"actions\":[{\"id\":\"view\",\"label\":\"View\",\"icon\":\"visibility\",\"color\":\"primary\",\"disabled\":false,\"action\":\"viewItem\",\"tooltip\":\"View details\"},{\"id\":\"edit\",\"label\":\"Edit\",\"icon\":\"edit\",\"color\":\"accent\",\"action\":\"editItem\",\"tooltip\":\"Edit item\",\"visibleWhen\":\"canEdit\"},{\"id\":\"delete\",\"label\":\"Delete\",\"icon\":\"delete\",\"color\":\"warn\",\"action\":\"deleteItem\",\"tooltip\":\"Delete item\",\"requiresConfirmation\":true,\"separator\":true,\"autoDelete\":true,\"deleteEndpoint\":\"/api/orders/{id}\"}],\"display\":\"menu\",\"trigger\":\"click\",\"menuIcon\":\"more_vert\",\"menuButtonColor\":\"basic\",\"header\":{\"label\":\"Actions\",\"icon\":\"bolt\",\"tooltip\":\"Row actions\",\"align\":\"center\"},\"maxVisibleActions\":3,\"behavior\":{\"enabled\":true,\"maxInline\":{\"xs\":1,\"sm\":2,\"md\":3,\"lg\":4},\"autoStrategy\":\"breakpoints\"}},\"bulk\":{\"enabled\":true,\"position\":\"toolbar\",\"actions\":[{\"id\":\"bulk-delete\",\"label\":\"Delete\",\"icon\":\"delete\",\"color\":\"warn\",\"action\":\"bulkDelete\",\"requiresConfirmation\":true,\"minSelections\":2,\"maxSelections\":100,\"autoDelete\":true,\"deleteEndpoint\":\"/api/orders/bulk-delete\"}],\"floating\":{\"position\":\"bottom-right\",\"hideWhenEmpty\":true}},\"context\":{\"enabled\":true,\"actions\":[{\"id\":\"context-copy\",\"label\":\"Copy\",\"icon\":\"content_copy\",\"action\":\"copyCell\"},{\"id\":\"context-history\",\"label\":\"History\",\"icon\":\"history\",\"action\":\"openHistory\",\"separator\":true,\"visibleWhen\":\"canViewHistory\"}],\"trigger\":\"right-click\"},\"confirmations\":{\"default\":{\"title\":\"Confirm action\",\"message\":\"Are you sure you want to continue?\",\"confirmText\":\"Confirm\",\"cancelText\":\"Cancel\"},\"specific\":{\"deleteItem\":{\"title\":\"Delete order\",\"message\":\"This action cannot be undone.\",\"confirmText\":\"Delete\"}}}}}",
|
|
30989
31086
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -30993,7 +31090,7 @@
|
|
|
30993
31090
|
"corpusVersion": "1.0.0"
|
|
30994
31091
|
},
|
|
30995
31092
|
{
|
|
30996
|
-
"chunkIndex":
|
|
31093
|
+
"chunkIndex": 167,
|
|
30997
31094
|
"chunkKind": "recipe",
|
|
30998
31095
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"export\",\"export\":{\"enabled\":true,\"formats\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"],\"general\":{\"includeHeaders\":true,\"respectFilters\":true,\"selectedRowsOnly\":false,\"maxRows\":5000,\"defaultFileName\":\"orders-export\",\"includeColumns\":[\"id\",\"status\",\"amount\"],\"applyFormatting\":true},\"excel\":{\"sheetName\":\"Orders\",\"includeFormulas\":false,\"freezeHeaders\":true,\"autoFitColumns\":true,\"multipleSheets\":false,\"styling\":{\"headerStyle\":{\"backgroundColor\":\"#1976d2\",\"fontColor\":\"#ffffff\",\"fontWeight\":\"bold\",\"fontSize\":12},\"cellStyle\":{\"fontSize\":11,\"borderStyle\":\"thin\"},\"alternateRows\":{\"enabled\":true,\"color\":\"#f7f9fc\"}}},\"pdf\":{\"orientation\":\"landscape\",\"pageSize\":\"A4\",\"margins\":{\"top\":12,\"right\":12,\"bottom\":12,\"left\":12},\"header\":\"Orders Report\",\"footer\":\"Generated by Praxis\",\"watermark\":\"CONFIDENTIAL\",\"font\":{\"family\":\"Helvetica\",\"size\":10},\"autoPageBreak\":true},\"csv\":{\"delimiter\":\";\",\"escapeChar\":\"\\\"\",\"encoding\":\"utf-8\",\"includeBOM\":true},\"json\":{\"format\":\"pretty\",\"includeMetadata\":true,\"structure\":\"array\"},\"templates\":[{\"id\":\"export-default\",\"name\":\"Default Export\",\"description\":\"Standard template\",\"format\":\"csv\",\"config\":{\"delimiter\":\",\",\"includeHeaders\":true},\"isDefault\":true}]}}",
|
|
30999
31096
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31003,7 +31100,7 @@
|
|
|
31003
31100
|
"corpusVersion": "1.0.0"
|
|
31004
31101
|
},
|
|
31005
31102
|
{
|
|
31006
|
-
"chunkIndex":
|
|
31103
|
+
"chunkIndex": 168,
|
|
31007
31104
|
"chunkKind": "recipe",
|
|
31008
31105
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"messages\",\"messages\":{\"states\":{\"loading\":\"Loading records...\",\"empty\":\"No data available\",\"error\":\"Failed to load data\",\"noResults\":\"No results found\",\"loadingMore\":\"Loading more records...\",\"dynamic\":{\"_comment\":\"Functions are represented as strings in JSON examples. Replace with real functions at runtime.\",\"loadingWithCount\":\"(count: number) => `Loading ${count} records...`\",\"emptyWithFilter\":\"(filterCount: number) =>\\n `No results for ${filterCount} active filters`\",\"searchResults\":\"(resultCount: number, searchTerm: string) =>\\n `${resultCount} results for \\\"${searchTerm}\\\"`\"}},\"actions\":{\"confirmations\":{\"delete\":\"Delete this item?\",\"deleteMultiple\":\"Delete selected items?\",\"save\":\"Save changes?\",\"cancel\":\"Cancel changes?\",\"export\":\"Export data now?\"},\"success\":{\"save\":\"Saved successfully\",\"delete\":\"Deleted successfully\",\"export\":\"Export completed\",\"import\":\"Import completed\"},\"progress\":{\"delete\":\"Deleting item...\",\"deleteMultiple\":\"Deleting items...\"},\"canceled\":{\"delete\":\"Delete canceled\",\"deleteMultiple\":\"Bulk delete canceled\"},\"errors\":{\"save\":\"Save failed\",\"delete\":\"Delete failed\",\"export\":\"Export failed\",\"network\":\"Network error\",\"permission\":\"Permission denied\"}},\"validation\":{\"required\":\"Field is required\",\"invalid\":\"Invalid value\",\"tooLong\":\"Value is too long\",\"tooShort\":\"Value is too short\",\"types\":{\"email\":\"Invalid email\",\"url\":\"Invalid URL\",\"number\":\"Invalid number\",\"date\":\"Invalid date\"}},\"export\":{\"starting\":\"Starting export...\",\"processing\":\"Processing data...\",\"ready\":\"Export ready\",\"error\":\"Export error\",\"formats\":{\"excel\":\"Generating Excel file...\",\"pdf\":\"Generating PDF...\",\"csv\":\"Generating CSV...\",\"json\":\"Generating JSON...\"}},\"custom\":{\"customKey\":\"Custom message\"},\"templates\":[{\"id\":\"table.template.export\",\"template\":\"Exported {count} rows\",\"variables\":[\"count\"],\"_comment\":\"interpolate expects a function at runtime; JSON uses a string placeholder.\",\"interpolate\":\"(template: string, data: { count: number }) =>\\n template.replace('{count}', String(data.count))\"}]}}",
|
|
31009
31106
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31013,7 +31110,7 @@
|
|
|
31013
31110
|
"corpusVersion": "1.0.0"
|
|
31014
31111
|
},
|
|
31015
31112
|
{
|
|
31016
|
-
"chunkIndex":
|
|
31113
|
+
"chunkIndex": 169,
|
|
31017
31114
|
"chunkKind": "recipe",
|
|
31018
31115
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"localization\",\"localization\":{\"locale\":\"en-US\",\"availableLocales\":[\"en-US\",\"pt-BR\"],\"direction\":\"ltr\",\"dateTime\":{\"dateFormat\":\"yyyy-MM-dd\",\"timeFormat\":\"HH:mm\",\"dateTimeFormat\":\"yyyy-MM-dd HH:mm\",\"firstDayOfWeek\":0,\"monthNames\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"dayNames\":[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\"relativeTime\":true},\"number\":{\"decimalSeparator\":\".\",\"thousandsSeparator\":\",\",\"defaultPrecision\":2,\"negativeSign\":\"-\",\"negativeSignPosition\":\"before\"},\"currency\":{\"code\":\"USD\",\"symbol\":\"$\",\"position\":\"before\",\"spacing\":false,\"precision\":2},\"translations\":{\"en-US\":{\"tableTitle\":\"Orders\"},\"pt-BR\":{\"tableTitle\":\"Pedidos\"}},\"formatting\":{\"percentageFormat\":\"0.00%\",\"fileSizeFormat\":\"decimal\",\"units\":{\"weight\":{\"kg\":\"kg\",\"lb\":\"lb\"}}}}}",
|
|
31019
31116
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31023,7 +31120,7 @@
|
|
|
31023
31120
|
"corpusVersion": "1.0.0"
|
|
31024
31121
|
},
|
|
31025
31122
|
{
|
|
31026
|
-
"chunkIndex":
|
|
31123
|
+
"chunkIndex": 170,
|
|
31027
31124
|
"chunkKind": "recipe",
|
|
31028
31125
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"data\",\"data\":{\"loadingStrategy\":\"lazy\",\"cache\":{\"enabled\":true,\"ttl\":60000,\"maxSize\":1000,\"invalidationStrategy\":\"ttl\"},\"sync\":{\"autoSync\":true,\"interval\":300000,\"deltaSync\":true,\"conflictResolution\":\"server\"},\"validation\":{\"clientSide\":true,\"serverSide\":true,\"rules\":[{\"field\":\"email\",\"type\":\"format\",\"params\":{\"pattern\":\"^\\\\S+@\\\\S+\\\\.\\\\S+$\"},\"message\":\"Invalid email format\"},{\"field\":\"amount\",\"type\":\"range\",\"params\":{\"min\":0,\"max\":100000},\"message\":\"Amount out of range\"},{\"field\":\"status\",\"type\":\"required\",\"message\":\"Status is required\"},{\"field\":\"customField\",\"type\":\"custom\",\"params\":{\"fn\":\"validateCustomField\"},\"message\":\"Custom validation failed\"}],\"showInlineErrors\":true},\"transformations\":[{\"id\":\"format-date\",\"field\":\"createdAt\",\"type\":\"format\",\"transform\":\"formatDate\",\"applyTo\":\"display\"},{\"id\":\"calc-total\",\"field\":\"amount\",\"type\":\"calculate\",\"transform\":\"calculateTotal\",\"applyTo\":\"data\"},{\"id\":\"agg-status\",\"field\":\"status\",\"type\":\"aggregate\",\"transform\":\"groupByStatus\",\"applyTo\":\"both\"}],\"polling\":{\"enabled\":true,\"interval\":60000,\"onlyWhenActive\":true,\"exponentialBackoff\":true}}}",
|
|
31029
31126
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31033,7 +31130,7 @@
|
|
|
31033
31130
|
"corpusVersion": "1.0.0"
|
|
31034
31131
|
},
|
|
31035
31132
|
{
|
|
31036
|
-
"chunkIndex":
|
|
31133
|
+
"chunkIndex": 171,
|
|
31037
31134
|
"chunkKind": "recipe",
|
|
31038
31135
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"theme\",\"theme\":{\"primary\":\"#1976d2\",\"secondary\":\"#ff9800\",\"darkMode\":false,\"custom\":{\"borderRadius\":\"8px\"},\"cssVariables\":{\"--table-row-hover\":\"#eef3ff\"}}}",
|
|
31039
31136
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31043,7 +31140,7 @@
|
|
|
31043
31140
|
"corpusVersion": "1.0.0"
|
|
31044
31141
|
},
|
|
31045
31142
|
{
|
|
31046
|
-
"chunkIndex":
|
|
31143
|
+
"chunkIndex": 172,
|
|
31047
31144
|
"chunkKind": "recipe",
|
|
31048
31145
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"performance\",\"performance\":{\"virtualization\":{\"enabled\":true,\"itemHeight\":44,\"bufferSize\":8,\"minContainerHeight\":240,\"strategy\":\"dynamic\"},\"debounce\":{\"search\":300,\"filter\":250,\"resize\":200,\"scroll\":50},\"memory\":{\"maxRows\":10000,\"autoCleanup\":true,\"cleanupInterval\":600000},\"rendering\":{\"useRAF\":true,\"batchUpdates\":true,\"batchSize\":50,\"optimizeReRenders\":true},\"lazyLoading\":{\"images\":true,\"components\":true,\"threshold\":200}}}",
|
|
31049
31146
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31053,7 +31150,7 @@
|
|
|
31053
31150
|
"corpusVersion": "1.0.0"
|
|
31054
31151
|
},
|
|
31055
31152
|
{
|
|
31056
|
-
"chunkIndex":
|
|
31153
|
+
"chunkIndex": 173,
|
|
31057
31154
|
"chunkKind": "recipe",
|
|
31058
31155
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"plugins\",\"plugins\":[{\"id\":\"audit\",\"name\":\"AuditPlugin\",\"version\":\"1.0.0\",\"enabled\":true,\"settings\":{\"logLevel\":\"info\"},\"hooks\":{\"onRowClick\":\"trackRowClick\",\"onExport\":\"trackExport\"}}]}",
|
|
31059
31156
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31063,7 +31160,7 @@
|
|
|
31063
31160
|
"corpusVersion": "1.0.0"
|
|
31064
31161
|
},
|
|
31065
31162
|
{
|
|
31066
|
-
"chunkIndex":
|
|
31163
|
+
"chunkIndex": 174,
|
|
31067
31164
|
"chunkKind": "recipe",
|
|
31068
31165
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"accessibility\",\"accessibility\":{\"enabled\":true,\"announcements\":{\"dataChanges\":true,\"userActions\":true,\"loadingStates\":true,\"liveRegion\":\"polite\"},\"keyboard\":{\"tabNavigation\":true,\"arrowNavigation\":true,\"shortcuts\":true,\"skipLinks\":true,\"focusTrap\":false},\"highContrast\":false,\"reduceMotion\":false,\"ariaLabels\":{\"table\":\"Orders table\",\"pagination\":\"Pagination\"}}}",
|
|
31069
31166
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31073,7 +31170,7 @@
|
|
|
31073
31170
|
"corpusVersion": "1.0.0"
|
|
31074
31171
|
},
|
|
31075
31172
|
{
|
|
31076
|
-
"chunkIndex":
|
|
31173
|
+
"chunkIndex": 175,
|
|
31077
31174
|
"chunkKind": "recipe",
|
|
31078
31175
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"rowConditionalStyles\",\"rowConditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"priority\"},\"HIGH\"]},\"cssClass\":\"row-priority-high\",\"style\":{\"backgroundColor\":\"#fff8e1\"},\"description\":\"Highlight high priority rows\"}]}",
|
|
31079
31176
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31083,7 +31180,7 @@
|
|
|
31083
31180
|
"corpusVersion": "1.0.0"
|
|
31084
31181
|
},
|
|
31085
31182
|
{
|
|
31086
|
-
"chunkIndex":
|
|
31183
|
+
"chunkIndex": 176,
|
|
31087
31184
|
"chunkKind": "recipe",
|
|
31088
31185
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_rowStyleRulesState\",\"_rowStyleRulesState\":{\"version\":1,\"rules\":[\"priority\"]}}",
|
|
31089
31186
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31093,7 +31190,7 @@
|
|
|
31093
31190
|
"corpusVersion": "1.0.0"
|
|
31094
31191
|
},
|
|
31095
31192
|
{
|
|
31096
|
-
"chunkIndex":
|
|
31193
|
+
"chunkIndex": 177,
|
|
31097
31194
|
"chunkKind": "recipe",
|
|
31098
31195
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_variants\",\"_variants\":[{\"id\":\"sorting-default-single\",\"description\":\"Use single defaultSort object instead of array.\",\"patch\":{\"behavior\":{\"sorting\":{\"defaultSort\":{\"column\":\"createdAt\",\"direction\":\"desc\"}}}}},{\"id\":\"pagination-client\",\"description\":\"Client-side pagination example.\",\"patch\":{\"behavior\":{\"pagination\":{\"strategy\":\"client\",\"totalItems\":250}}}},{\"id\":\"selection-single-row\",\"description\":\"Single selection with row mode.\",\"patch\":{\"behavior\":{\"selection\":{\"type\":\"single\",\"mode\":\"row\"}}}},{\"id\":\"sticky-boolean\",\"description\":\"Sticky as boolean for simple cases.\",\"patch\":{\"columns\":[{\"field\":\"id\",\"header\":\"ID\",\"sticky\":true}]}},{\"id\":\"typeexpr-string\",\"description\":\"Renderer typeExpr as string instead of object.\",\"patch\":{\"columns\":[{\"field\":\"status\",\"header\":\"Status\",\"renderer\":{\"typeExpr\":\"statusRenderer\"}}]}},{\"id\":\"row-actions-inline-number\",\"description\":\"Row actions maxInline as number.\",\"patch\":{\"actions\":{\"row\":{\"behavior\":{\"maxInline\":2}}}}},{\"id\":\"row-actions-inline-auto\",\"description\":\"Row actions maxInline as auto.\",\"patch\":{\"actions\":{\"row\":{\"behavior\":{\"maxInline\":\"auto\"}}}}},{\"id\":\"virtualization-min-height-string\",\"description\":\"minContainerHeight as CSS string.\",\"patch\":{\"behavior\":{\"virtualization\":{\"minContainerHeight\":\"50vh\"}}}},{\"id\":\"include-columns-list\",\"description\":\"Export includeColumns as explicit array.\",\"patch\":{\"export\":{\"general\":{\"includeColumns\":[\"id\",\"status\",\"amount\"]}}}}]}",
|
|
31099
31196
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -31103,7 +31200,7 @@
|
|
|
31103
31200
|
"corpusVersion": "1.0.0"
|
|
31104
31201
|
},
|
|
31105
31202
|
{
|
|
31106
|
-
"chunkIndex":
|
|
31203
|
+
"chunkIndex": 178,
|
|
31107
31204
|
"chunkKind": "recipe",
|
|
31108
31205
|
"content": "{\"_comment\":\"Template to display column values as badges (tags/chips).\",\"templateMeta\":{\"variantId\":\"renderer-badge\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"renderer\",\"badge\",\"chip\",\"tag\",\"status\",\"appearance\"],\"useWhen\":\"user asks to show a column as a badge, tag, or chip, possibly with colors mapping to values\",\"examplePrompts\":[\"show status as a badge\",\"display priority as colored tags\",\"use badges for the category column\"]},\"columns\":[{\"field\":\"status\",\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"statusLabel\",\"color\":\"primary\",\"variant\":\"filled\"}},\"conditionalRenderers\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"ERROR\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Error\",\"color\":\"warn\",\"icon\":\"error\"}},\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"SUCCESS\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Success\",\"color\":\"success\",\"icon\":\"check\"}},\"enabled\":true}]}]}",
|
|
31109
31206
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-badge.json",
|
|
@@ -31113,7 +31210,7 @@
|
|
|
31113
31210
|
"corpusVersion": "1.0.0"
|
|
31114
31211
|
},
|
|
31115
31212
|
{
|
|
31116
|
-
"chunkIndex":
|
|
31213
|
+
"chunkIndex": 179,
|
|
31117
31214
|
"chunkKind": "recipe",
|
|
31118
31215
|
"content": "{\"_comment\":\"Template to display icons in a column, either static or conditional.\",\"templateMeta\":{\"variantId\":\"renderer-icon\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"renderer\",\"icon\",\"visual\",\"appearance\"],\"useWhen\":\"user asks to display an icon in a column, usually based on a condition\",\"examplePrompts\":[\"show a check icon if active\",\"display a warning icon for late items\",\"add an icon column for status\"]},\"columns\":[{\"field\":\"active\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"check_circle\",\"color\":\"success\"}},\"conditionalRenderers\":[{\"condition\":{\"==\":[{\"var\":\"active\"},false]},\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"cancel\",\"color\":\"warn\"}},\"enabled\":true}]}]}",
|
|
31119
31216
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-icon.json",
|
|
@@ -31123,7 +31220,7 @@
|
|
|
31123
31220
|
"corpusVersion": "1.0.0"
|
|
31124
31221
|
},
|
|
31125
31222
|
{
|
|
31126
|
-
"chunkIndex":
|
|
31223
|
+
"chunkIndex": 180,
|
|
31127
31224
|
"chunkKind": "recipe",
|
|
31128
31225
|
"content": "{\"_comment\":\"Template to display a progress bar in a column.\",\"templateMeta\":{\"variantId\":\"renderer-progress\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"renderer\",\"progress\",\"bar\",\"visual\",\"percentage\"],\"useWhen\":\"user asks to show a progress bar or visual indicator of completion/percentage\",\"examplePrompts\":[\"show completion as a progress bar\",\"display usage with a bar\",\"visualize the percentage\"]},\"columns\":[{\"field\":\"completion\",\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"completion\",\"color\":\"primary\",\"showLabel\":true}}}]}",
|
|
31129
31226
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-progress.json",
|
|
@@ -31133,7 +31230,7 @@
|
|
|
31133
31230
|
"corpusVersion": "1.0.0"
|
|
31134
31231
|
},
|
|
31135
31232
|
{
|
|
31136
|
-
"chunkIndex":
|
|
31233
|
+
"chunkIndex": 181,
|
|
31137
31234
|
"chunkKind": "recipe",
|
|
31138
31235
|
"content": "{\"_comment\":\"Template to apply conditional styling (colors, fonts) to rows or columns based on data values.\",\"templateMeta\":{\"variantId\":\"style-conditional\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"style\",\"animation\",\"appearance\",\"conditional\",\"color\",\"background\",\"highlight\"],\"useWhen\":\"user asks to highlight, color, style, or animate rows/cells based on a condition (e.g., 'red if negative', 'highlight high priority', 'pulse critical rows')\",\"examplePrompts\":[\"highlight rows where status is urgent\",\"make the amount red if less than zero\",\"bold the text for active items\",\"animate salary rows above 30000\",\"pulse the status cell when it is critical\"]},\"columns\":[{\"field\":\"amount\",\"conditionalStyles\":[{\"condition\":{\"<\":[{\"var\":\"amount\"},0]},\"style\":{\"color\":\"#d32f2f\",\"fontWeight\":\"bold\"}}]},{\"field\":\"status\",\"conditionalRenderers\":[{\"id\":\"status-critical-alert\",\"condition\":{\"===\":[{\"var\":\"status\"},\"CRITICAL\"]},\"animation\":{\"preset\":\"critical-alert\",\"trigger\":\"onChange\",\"intensity\":\"strong\",\"repeat\":\"loop\"},\"description\":\"Animate only the status cell for critical rows\",\"enabled\":true}]}],\"rowConditionalStyles\":[{\"id\":\"priority-high-highlight\",\"condition\":{\"==\":[{\"var\":\"priority\"},\"HIGH\"]},\"surfacePresetRef\":{\"id\":\"warning\",\"catalogVersion\":\"0.2.0\"},\"style\":{\"borderLeft\":\"4px solid #f59e0b\"},\"description\":\"Destaca prioridade alta com superfície semântica acessível e marcador lateral visível.\"}],\"rowConditionalRenderers\":[{\"id\":\"priority-high-pulse\",\"condition\":{\"===\":[{\"var\":\"priority\"},\"HIGH\"]},\"animation\":{\"preset\":\"pulse-soft\",\"trigger\":\"onAppear\",\"intensity\":\"subtle\",\"repeat\":\"once\",\"durationMs\":1200},\"description\":\"Animate the full row for high priority records\",\"enabled\":true}]}",
|
|
31139
31236
|
"sourcePointer": "examples/ai-recipes/praxis-table.style-conditional.json",
|
|
@@ -31143,7 +31240,7 @@
|
|
|
31143
31240
|
"corpusVersion": "1.0.0"
|
|
31144
31241
|
},
|
|
31145
31242
|
{
|
|
31146
|
-
"chunkIndex":
|
|
31243
|
+
"chunkIndex": 182,
|
|
31147
31244
|
"chunkKind": "recipe",
|
|
31148
31245
|
"content": "{\"_comment\":\"Variant focused on toolbar configuration and actions.\",\"templateMeta\":{\"variantId\":\"toolbar\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"toolbar\",\"actions\"],\"useWhen\":\"user asks to change toolbar, buttons, or quick actions\",\"examplePrompts\":[\"add export buttons to the toolbar\",\"change the toolbar title\"]},\"meta\":{\"version\":\"2.0.0\",\"id\":\"table-recipe-full\",\"name\":\"Full Table Recipe\",\"description\":\"Kitchen sink config covering TableConfig v2\",\"tags\":[\"example\",\"full\",\"table\"],\"createdAt\":\"2024-01-01T00:00:00Z\",\"updatedAt\":\"2024-02-01T12:00:00Z\",\"author\":\"Praxis UI\",\"isTemplate\":true,\"derivedFrom\":\"base-template\",\"schemaId\":\"path:/api/orders#response\",\"serverHash\":\"hash-123\",\"idField\":\"id\",\"schemaContext\":{\"path\":\"/api/orders\",\"operation\":\"GET\",\"schemaType\":\"response\",\"internal\":false,\"tenant\":\"default\",\"locale\":\"en-US\"}},\"toolbar\":{\"visible\":true,\"position\":\"top\",\"layout\":{\"alignment\":\"space-between\",\"height\":56,\"padding\":\"0 16px\",\"backgroundColor\":\"#fafafa\",\"showSeparator\":true},\"title\":\"Orders\",\"subtitle\":\"Last sync 5m ago\",\"actions\":[{\"id\":\"create\",\"label\":\"Create\",\"icon\":\"add\",\"type\":\"button\",\"color\":\"primary\",\"appearance\":\"filled\",\"disabled\":false,\"action\":\"createItem\",\"tooltip\":\"Create new item\",\"shortcut\":\"Ctrl+N\",\"position\":\"start\",\"order\":1},{\"id\":\"refresh\",\"label\":\"Refresh\",\"icon\":\"refresh\",\"type\":\"icon\",\"color\":\"accent\",\"appearance\":\"text\",\"action\":\"refreshData\",\"tooltip\":\"Reload data\",\"shortcut\":\"Ctrl+R\",\"position\":\"start\",\"order\":2},{\"id\":\"export\",\"label\":\"Export\",\"icon\":\"download\",\"type\":\"menu\",\"color\":\"primary\",\"appearance\":\"outlined\",\"action\":\"openExportMenu\",\"position\":\"end\",\"order\":1,\"children\":[{\"id\":\"export-csv\",\"label\":\"Export CSV\",\"type\":\"button\",\"action\":\"exportCsv\",\"position\":\"end\"},{\"id\":\"export-pdf\",\"label\":\"Export PDF\",\"type\":\"button\",\"action\":\"exportPdf\",\"position\":\"end\"}]},{\"id\":\"help\",\"label\":\"Help\",\"icon\":\"help\",\"type\":\"fab\",\"color\":\"warn\",\"appearance\":\"tonal\",\"action\":\"openHelp\",\"tooltip\":\"Open help\",\"position\":\"end\",\"order\":99,\"visibleWhen\":\"canHelp\"}],\"filters\":{\"enabled\":true,\"quickFilters\":[{\"id\":\"active\",\"label\":\"Active\",\"filter\":{\"status\":\"ACTIVE\"},\"icon\":\"check\"},{\"id\":\"pending\",\"label\":\"Pending\",\"filter\":{\"status\":\"PENDING\"},\"icon\":\"hourglass_empty\"}],\"showAdvancedButton\":true},\"settingsMenu\":{\"enabled\":true,\"options\":[{\"id\":\"density\",\"label\":\"Density\",\"type\":\"select\",\"value\":\"comfortable\",\"options\":[\"compact\",\"comfortable\",\"spacious\"]},{\"id\":\"wrap\",\"label\":\"Wrap columns\",\"type\":\"toggle\",\"value\":false},{\"id\":\"reset\",\"label\":\"Reset\",\"type\":\"action\"}]}}}",
|
|
31149
31246
|
"sourcePointer": "examples/ai-recipes/praxis-table.toolbar.json",
|