@praxisui/table 10.0.0-rc.37 → 10.0.0-rc.39
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 +4 -0
- package/ai/component-registry.json +387 -151
- package/docs/governed-page-widget-adapter.md +55 -0
- package/fesm2022/praxisui-table-authoring.mjs +467 -27
- package/fesm2022/{praxisui-table-filter-form-dialog-host.component-CN4pADPh.mjs → praxisui-table-filter-form-dialog-host.component-DlGomgO3.mjs} +2 -2
- package/fesm2022/{praxisui-table-praxisui-table-WJvWsf3B.mjs → praxisui-table-praxisui-table-C6NaFjJJ.mjs} +2932 -585
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-CNFpSoP9.mjs → praxisui-table-table-agentic-authoring-turn-flow-CB4ne1nl.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-CGb2n3wx.mjs → praxisui-table-table-ai.adapter-DPC3MX0Y.mjs} +6 -5
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +8 -0
- package/types/praxisui-table-authoring.d.ts +30 -2
- package/types/praxisui-table.d.ts +124 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-26T17:40:14.409Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.39",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -9023,6 +9023,16 @@
|
|
|
9023
9023
|
"dependencias da coluna calculada"
|
|
9024
9024
|
]
|
|
9025
9025
|
},
|
|
9026
|
+
{
|
|
9027
|
+
"path": "columns[].quickView",
|
|
9028
|
+
"category": "columns",
|
|
9029
|
+
"valueKind": "object",
|
|
9030
|
+
"description": "Binding declarativo ResourceQuickViewBinding para visualização rápida read-only ao passar o mouse ou acionar gatilho na célula.",
|
|
9031
|
+
"intentExamples": [
|
|
9032
|
+
"habilitar quick view na coluna",
|
|
9033
|
+
"preview do colaborador ao passar o mouse"
|
|
9034
|
+
]
|
|
9035
|
+
},
|
|
9026
9036
|
{
|
|
9027
9037
|
"path": "columns[].renderer.type",
|
|
9028
9038
|
"category": "renderer",
|
|
@@ -9223,6 +9233,13 @@
|
|
|
9223
9233
|
"description": "Atributo rel do link.",
|
|
9224
9234
|
"dependsOn": "columns[].renderer.link"
|
|
9225
9235
|
},
|
|
9236
|
+
{
|
|
9237
|
+
"path": "columns[].renderer.link.quickView",
|
|
9238
|
+
"category": "renderer",
|
|
9239
|
+
"valueKind": "object",
|
|
9240
|
+
"description": "Binding ResourceQuickViewBinding acoplado ao renderer link.",
|
|
9241
|
+
"dependsOn": "columns[].renderer.link"
|
|
9242
|
+
},
|
|
9226
9243
|
{
|
|
9227
9244
|
"path": "columns[].renderer.icon",
|
|
9228
9245
|
"category": "renderer",
|
|
@@ -9486,6 +9503,13 @@
|
|
|
9486
9503
|
"description": "Ícone opcional dentro do badge.",
|
|
9487
9504
|
"dependsOn": "columns[].renderer.badge"
|
|
9488
9505
|
},
|
|
9506
|
+
{
|
|
9507
|
+
"path": "columns[].renderer.badge.quickView",
|
|
9508
|
+
"category": "renderer",
|
|
9509
|
+
"valueKind": "object",
|
|
9510
|
+
"description": "Binding ResourceQuickViewBinding acoplado ao renderer badge.",
|
|
9511
|
+
"dependsOn": "columns[].renderer.badge"
|
|
9512
|
+
},
|
|
9489
9513
|
{
|
|
9490
9514
|
"path": "columns[].renderer.chip",
|
|
9491
9515
|
"category": "renderer",
|
|
@@ -9539,6 +9563,13 @@
|
|
|
9539
9563
|
"description": "Ícone do chip.",
|
|
9540
9564
|
"dependsOn": "columns[].renderer.chip"
|
|
9541
9565
|
},
|
|
9566
|
+
{
|
|
9567
|
+
"path": "columns[].renderer.chip.quickView",
|
|
9568
|
+
"category": "renderer",
|
|
9569
|
+
"valueKind": "object",
|
|
9570
|
+
"description": "Binding ResourceQuickViewBinding acoplado ao renderer chip.",
|
|
9571
|
+
"dependsOn": "columns[].renderer.chip"
|
|
9572
|
+
},
|
|
9542
9573
|
{
|
|
9543
9574
|
"path": "columns[].renderer.progress",
|
|
9544
9575
|
"category": "renderer",
|
|
@@ -10063,7 +10094,8 @@
|
|
|
10063
10094
|
"valueKind": "enum",
|
|
10064
10095
|
"allowedValues": [
|
|
10065
10096
|
"row",
|
|
10066
|
-
"column"
|
|
10097
|
+
"column",
|
|
10098
|
+
"media"
|
|
10067
10099
|
],
|
|
10068
10100
|
"description": "Direção do layout.",
|
|
10069
10101
|
"dependsOn": "columns[].renderer.compose"
|
|
@@ -11005,7 +11037,8 @@
|
|
|
11005
11037
|
"valueKind": "enum",
|
|
11006
11038
|
"allowedValues": [
|
|
11007
11039
|
"row",
|
|
11008
|
-
"column"
|
|
11040
|
+
"column",
|
|
11041
|
+
"media"
|
|
11009
11042
|
],
|
|
11010
11043
|
"description": "Direção.",
|
|
11011
11044
|
"dependsOn": "columns[].conditionalRenderers[].renderer.compose"
|
|
@@ -13162,6 +13195,16 @@
|
|
|
13162
13195
|
"ação por linha para abrir timeline relacionada"
|
|
13163
13196
|
]
|
|
13164
13197
|
},
|
|
13198
|
+
{
|
|
13199
|
+
"path": "actions.row.actions[].quickView",
|
|
13200
|
+
"category": "actions",
|
|
13201
|
+
"valueKind": "object",
|
|
13202
|
+
"description": "Binding declarativo ResourceQuickViewBinding para uma ação de linha abrir a visualização rápida read-only ancorada ao botão da ação.",
|
|
13203
|
+
"dependsOn": "actions.row.actions[]",
|
|
13204
|
+
"intentExamples": [
|
|
13205
|
+
"ação de linha para visualizar resumo rápido"
|
|
13206
|
+
]
|
|
13207
|
+
},
|
|
13165
13208
|
{
|
|
13166
13209
|
"path": "actions.row.actions[].globalAction.[actionId]",
|
|
13167
13210
|
"category": "actions",
|
|
@@ -20417,6 +20460,36 @@
|
|
|
20417
20460
|
},
|
|
20418
20461
|
"fallbackTextExpr": {
|
|
20419
20462
|
"type": "string"
|
|
20463
|
+
},
|
|
20464
|
+
"min": {
|
|
20465
|
+
"type": "number"
|
|
20466
|
+
},
|
|
20467
|
+
"minExpr": {
|
|
20468
|
+
"type": "string"
|
|
20469
|
+
},
|
|
20470
|
+
"max": {
|
|
20471
|
+
"type": "number"
|
|
20472
|
+
},
|
|
20473
|
+
"maxExpr": {
|
|
20474
|
+
"type": "string"
|
|
20475
|
+
},
|
|
20476
|
+
"scaleScope": {
|
|
20477
|
+
"enum": [
|
|
20478
|
+
"row",
|
|
20479
|
+
"page"
|
|
20480
|
+
],
|
|
20481
|
+
"description": "row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página."
|
|
20482
|
+
},
|
|
20483
|
+
"compactValue": {
|
|
20484
|
+
"type": "boolean",
|
|
20485
|
+
"description": "Formata valores grandes em notação compacta (1.2M, 45.3K)."
|
|
20486
|
+
},
|
|
20487
|
+
"stepLabelLineClamp": {
|
|
20488
|
+
"enum": [
|
|
20489
|
+
1,
|
|
20490
|
+
2
|
|
20491
|
+
],
|
|
20492
|
+
"description": "Máximo de linhas para rótulos de etapas em processFlow."
|
|
20420
20493
|
}
|
|
20421
20494
|
},
|
|
20422
20495
|
"allOf": [
|
|
@@ -21203,6 +21276,36 @@
|
|
|
21203
21276
|
},
|
|
21204
21277
|
"fallbackTextExpr": {
|
|
21205
21278
|
"type": "string"
|
|
21279
|
+
},
|
|
21280
|
+
"min": {
|
|
21281
|
+
"type": "number"
|
|
21282
|
+
},
|
|
21283
|
+
"minExpr": {
|
|
21284
|
+
"type": "string"
|
|
21285
|
+
},
|
|
21286
|
+
"max": {
|
|
21287
|
+
"type": "number"
|
|
21288
|
+
},
|
|
21289
|
+
"maxExpr": {
|
|
21290
|
+
"type": "string"
|
|
21291
|
+
},
|
|
21292
|
+
"scaleScope": {
|
|
21293
|
+
"enum": [
|
|
21294
|
+
"row",
|
|
21295
|
+
"page"
|
|
21296
|
+
],
|
|
21297
|
+
"description": "row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página."
|
|
21298
|
+
},
|
|
21299
|
+
"compactValue": {
|
|
21300
|
+
"type": "boolean",
|
|
21301
|
+
"description": "Formata valores grandes em notação compacta (1.2M, 45.3K)."
|
|
21302
|
+
},
|
|
21303
|
+
"stepLabelLineClamp": {
|
|
21304
|
+
"enum": [
|
|
21305
|
+
1,
|
|
21306
|
+
2
|
|
21307
|
+
],
|
|
21308
|
+
"description": "Máximo de linhas para rótulos de etapas em processFlow."
|
|
21206
21309
|
}
|
|
21207
21310
|
},
|
|
21208
21311
|
"allOf": [
|
|
@@ -21529,9 +21632,10 @@
|
|
|
21529
21632
|
"direction": {
|
|
21530
21633
|
"enum": [
|
|
21531
21634
|
"row",
|
|
21532
|
-
"column"
|
|
21635
|
+
"column",
|
|
21636
|
+
"media"
|
|
21533
21637
|
],
|
|
21534
|
-
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo."
|
|
21638
|
+
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome."
|
|
21535
21639
|
},
|
|
21536
21640
|
"align": {
|
|
21537
21641
|
"enum": [
|
|
@@ -21794,9 +21898,10 @@
|
|
|
21794
21898
|
"direction": {
|
|
21795
21899
|
"enum": [
|
|
21796
21900
|
"row",
|
|
21797
|
-
"column"
|
|
21901
|
+
"column",
|
|
21902
|
+
"media"
|
|
21798
21903
|
],
|
|
21799
|
-
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo."
|
|
21904
|
+
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome."
|
|
21800
21905
|
},
|
|
21801
21906
|
"align": {
|
|
21802
21907
|
"enum": [
|
|
@@ -22522,6 +22627,36 @@
|
|
|
22522
22627
|
},
|
|
22523
22628
|
"fallbackTextExpr": {
|
|
22524
22629
|
"type": "string"
|
|
22630
|
+
},
|
|
22631
|
+
"min": {
|
|
22632
|
+
"type": "number"
|
|
22633
|
+
},
|
|
22634
|
+
"minExpr": {
|
|
22635
|
+
"type": "string"
|
|
22636
|
+
},
|
|
22637
|
+
"max": {
|
|
22638
|
+
"type": "number"
|
|
22639
|
+
},
|
|
22640
|
+
"maxExpr": {
|
|
22641
|
+
"type": "string"
|
|
22642
|
+
},
|
|
22643
|
+
"scaleScope": {
|
|
22644
|
+
"enum": [
|
|
22645
|
+
"row",
|
|
22646
|
+
"page"
|
|
22647
|
+
],
|
|
22648
|
+
"description": "row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página."
|
|
22649
|
+
},
|
|
22650
|
+
"compactValue": {
|
|
22651
|
+
"type": "boolean",
|
|
22652
|
+
"description": "Formata valores grandes em notação compacta (1.2M, 45.3K)."
|
|
22653
|
+
},
|
|
22654
|
+
"stepLabelLineClamp": {
|
|
22655
|
+
"enum": [
|
|
22656
|
+
1,
|
|
22657
|
+
2
|
|
22658
|
+
],
|
|
22659
|
+
"description": "Máximo de linhas para rótulos de etapas em processFlow."
|
|
22525
22660
|
}
|
|
22526
22661
|
},
|
|
22527
22662
|
"allOf": [
|
|
@@ -23520,6 +23655,36 @@
|
|
|
23520
23655
|
},
|
|
23521
23656
|
"fallbackTextExpr": {
|
|
23522
23657
|
"type": "string"
|
|
23658
|
+
},
|
|
23659
|
+
"min": {
|
|
23660
|
+
"type": "number"
|
|
23661
|
+
},
|
|
23662
|
+
"minExpr": {
|
|
23663
|
+
"type": "string"
|
|
23664
|
+
},
|
|
23665
|
+
"max": {
|
|
23666
|
+
"type": "number"
|
|
23667
|
+
},
|
|
23668
|
+
"maxExpr": {
|
|
23669
|
+
"type": "string"
|
|
23670
|
+
},
|
|
23671
|
+
"scaleScope": {
|
|
23672
|
+
"enum": [
|
|
23673
|
+
"row",
|
|
23674
|
+
"page"
|
|
23675
|
+
],
|
|
23676
|
+
"description": "row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página."
|
|
23677
|
+
},
|
|
23678
|
+
"compactValue": {
|
|
23679
|
+
"type": "boolean",
|
|
23680
|
+
"description": "Formata valores grandes em notação compacta (1.2M, 45.3K)."
|
|
23681
|
+
},
|
|
23682
|
+
"stepLabelLineClamp": {
|
|
23683
|
+
"enum": [
|
|
23684
|
+
1,
|
|
23685
|
+
2
|
|
23686
|
+
],
|
|
23687
|
+
"description": "Máximo de linhas para rótulos de etapas em processFlow."
|
|
23523
23688
|
}
|
|
23524
23689
|
},
|
|
23525
23690
|
"allOf": [
|
|
@@ -24306,6 +24471,36 @@
|
|
|
24306
24471
|
},
|
|
24307
24472
|
"fallbackTextExpr": {
|
|
24308
24473
|
"type": "string"
|
|
24474
|
+
},
|
|
24475
|
+
"min": {
|
|
24476
|
+
"type": "number"
|
|
24477
|
+
},
|
|
24478
|
+
"minExpr": {
|
|
24479
|
+
"type": "string"
|
|
24480
|
+
},
|
|
24481
|
+
"max": {
|
|
24482
|
+
"type": "number"
|
|
24483
|
+
},
|
|
24484
|
+
"maxExpr": {
|
|
24485
|
+
"type": "string"
|
|
24486
|
+
},
|
|
24487
|
+
"scaleScope": {
|
|
24488
|
+
"enum": [
|
|
24489
|
+
"row",
|
|
24490
|
+
"page"
|
|
24491
|
+
],
|
|
24492
|
+
"description": "row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página."
|
|
24493
|
+
},
|
|
24494
|
+
"compactValue": {
|
|
24495
|
+
"type": "boolean",
|
|
24496
|
+
"description": "Formata valores grandes em notação compacta (1.2M, 45.3K)."
|
|
24497
|
+
},
|
|
24498
|
+
"stepLabelLineClamp": {
|
|
24499
|
+
"enum": [
|
|
24500
|
+
1,
|
|
24501
|
+
2
|
|
24502
|
+
],
|
|
24503
|
+
"description": "Máximo de linhas para rótulos de etapas em processFlow."
|
|
24309
24504
|
}
|
|
24310
24505
|
},
|
|
24311
24506
|
"allOf": [
|
|
@@ -24632,9 +24827,10 @@
|
|
|
24632
24827
|
"direction": {
|
|
24633
24828
|
"enum": [
|
|
24634
24829
|
"row",
|
|
24635
|
-
"column"
|
|
24830
|
+
"column",
|
|
24831
|
+
"media"
|
|
24636
24832
|
],
|
|
24637
|
-
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo."
|
|
24833
|
+
"description": "row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome."
|
|
24638
24834
|
},
|
|
24639
24835
|
"align": {
|
|
24640
24836
|
"enum": [
|
|
@@ -32073,9 +32269,9 @@
|
|
|
32073
32269
|
{
|
|
32074
32270
|
"chunkIndex": 1,
|
|
32075
32271
|
"chunkKind": "capabilities",
|
|
32076
|
-
"content": "Schema Capability:\n - Path: meta.name\n Category: meta\n Kind: string\n Description: Nome amigável da configuração para exibição em tooltips ou relatórios.\n\nSchema Capability:\n - Path: meta.description\n Category: meta\n Kind: string\n Description: Descrição breve do propósito da tabela.\n\nSchema Capability:\n - Path: meta.tags\n Category: meta\n Kind: array\n Description: Tags para busca, presets e telemetria.\n\nSchema Capability:\n - Path: meta.idField\n Category: meta\n Kind: string\n Description: Campo usado como chave primária operacional da tabela.\n\nSchema Capability:\n - Path: meta.schemaId\n Category: meta\n Kind: string\n Description: Identidade do schema de origem para reconciliação.\n\nSchema Capability:\n - Path: columns[].field\n Category: columns\n Kind: string\n Description: Identificador técnico no dataset. Deve ser único.\n\nSchema Capability:\n - Path: columns[].header\n Category: columns\n Kind: string\n Description: Texto exibido no cabeçalho da coluna.\n\nSchema Capability:\n - Path: columns[].visible\n Category: columns\n Kind: boolean\n Description: Controla a visibilidade da coluna. Crítico para UX.\n\nSchema Capability:\n - Path: columns[].order\n Category: columns\n Kind: number\n Description: Ordem visual. Menor número = mais à esquerda.\n\nSchema Capability:\n - Path: columns[].width\n Category: columns\n Kind: string\n Description: Largura da coluna (ex.: 100px, 10%, auto).\n\nSchema Capability:\n - Path: columns[].align\n Category: columns\n Kind: enum\n Description: Alinhamento do conteúdo e cabeçalho.\n\nSchema Capability:\n - Path: columns[].sticky\n Category: columns\n Kind: enum\n Description: Fixa a coluna no início (start/true) ou fim (end) da rolagem; false desativa sticky.\n\nSchema Capability:\n - Path: columns[].sortable\n Category: columns\n Kind: boolean\n Description: Habilita ordenação nesta coluna específica.\n\nSchema Capability:\n - Path: columns[].filterable\n Category: columns\n Kind: boolean\n Description: Habilita filtro nesta coluna específica.\n\nSchema Capability:\n - Path: columns[].resizable\n Category: columns\n Kind: boolean\n Description: Permite redimensionar a largura desta coluna.\n\nSchema Capability:\n - Path: columns[].type\n Category: columns\n Kind: enum\n Description: Tipo de dado base para formatação padrão.\n\nSchema Capability:\n - Path: columns[].sortField\n Category: columns\n Kind: string\n Description: Campo usado para ordenação no backend, se diferente de \"field\".\n\nSchema Capability:\n - Path: columns[].style\n Category: columns\n Kind: string\n Description: Estilos CSS inline aplicados à célula.\n\nSchema Capability:\n - Path: columns[].headerStyle\n Category: columns\n Kind: string\n Description: Estilos CSS para o cabeçalho da coluna.\n\nSchema Capability:\n - Path: columns[].valueMapping\n Category: mapping\n Kind: object\n Description: Mapeia valores crus para rótulos amigáveis.\n\nSchema Capability:\n - Path: columns[].format\n Category: format\n Kind: string\n Description: Formato de exibicao especifico (DataFormattingService). Presets em allowedValues; aceita DatePipe (dd/MM/yyyy, yyyy-MM-dd, yyyy-MM-dd HH:mm) e formatos numericos \"1.2-2\".\n\nSchema Capability:\n - Path: columns[].computed\n Category: columns\n Kind: object\n Description: Configuração de coluna calculada (expression + tipo/format).\n\nSchema Capability:\n - Path: columns[].computed.expression\n Category: columns\n Kind: expression\n Description: AST Json Logic canônico para derivar valores computados da linha.\n\nSchema Capability:\n - Path: columns[].computed.outputType\n Category: format\n Kind: enum\n Description: Tipo de saída do cálculo para formatação.\n\nSchema Capability:\n - Path: columns[].computed.format\n Category: format\n Kind: string\n Description: Formato de exibição do resultado calculado.\n\nSchema Capability:\n - Path: columns[].computed.dependencies\n Category: columns\n Kind: array\n Description: Campos usados na expressão (opcional).\n\nSchema Capability:\n - Path: columns[].renderer.type\n Category: renderer\n Kind: enum\n Description: Tipo de renderizador customizado (icon, badge, button etc.).\n\nSchema Capability:\n - Path: columns[].renderer.typeExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para decidir o tipo do renderer; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.button\n Category: renderer\n Kind: object\n Description: Configuração do botão por linha.\n\nSchema Capability:\n - Path: columns[].renderer.button.label\n Category: renderer\n Kind: string\n Description: Texto fixo do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.labelField\n Category: renderer\n Kind: string\n Description: Campo do row para texto do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.icon\n Category: renderer\n Kind: string\n Description: Icone do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.color\n Category: renderer\n Kind: enum\n Description: Cor do botao (ou token CSS).\n\nSchema Capability:\n - Path: columns[].renderer.button.variant\n Category: renderer\n Kind: enum\n Description: Variante visual do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.size\n Category: renderer\n Kind: enum\n Description: Tamanho do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.disabledCondition\n Category: renderer\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic para desabilitar.\n\nSchema Capability:\n - Path: columns[].renderer.button.action\n Category: renderer\n Kind: object\n Description: Acao disparada pelo botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.action.id\n Category: renderer\n Kind: string\n Description: Identificador da acao do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.action.payloadExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.link\n Category: renderer\n Kind: object\n Description: Link sanitizado com href fixo ou field.\n\nSchema Capability:\n - Path: columns[].renderer.link.text\n Category: renderer\n Kind: string\n Description: Texto fixo do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.textField\n Category: renderer\n Kind: string\n Description: Campo para texto do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.href\n Category: renderer\n Kind: string\n Description: Href fixo do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.hrefField\n Category: renderer\n Kind: string\n Description: Campo para href do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.target\n Category: renderer\n Kind: enum\n Description: Target do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.rel\n Category: renderer\n Kind: string\n Description: Atributo rel do link.\n\nSchema Capability:\n - Path: columns[].renderer.
|
|
32272
|
+
"content": "Schema Capability:\n - Path: meta.name\n Category: meta\n Kind: string\n Description: Nome amigável da configuração para exibição em tooltips ou relatórios.\n\nSchema Capability:\n - Path: meta.description\n Category: meta\n Kind: string\n Description: Descrição breve do propósito da tabela.\n\nSchema Capability:\n - Path: meta.tags\n Category: meta\n Kind: array\n Description: Tags para busca, presets e telemetria.\n\nSchema Capability:\n - Path: meta.idField\n Category: meta\n Kind: string\n Description: Campo usado como chave primária operacional da tabela.\n\nSchema Capability:\n - Path: meta.schemaId\n Category: meta\n Kind: string\n Description: Identidade do schema de origem para reconciliação.\n\nSchema Capability:\n - Path: columns[].field\n Category: columns\n Kind: string\n Description: Identificador técnico no dataset. Deve ser único.\n\nSchema Capability:\n - Path: columns[].header\n Category: columns\n Kind: string\n Description: Texto exibido no cabeçalho da coluna.\n\nSchema Capability:\n - Path: columns[].visible\n Category: columns\n Kind: boolean\n Description: Controla a visibilidade da coluna. Crítico para UX.\n\nSchema Capability:\n - Path: columns[].order\n Category: columns\n Kind: number\n Description: Ordem visual. Menor número = mais à esquerda.\n\nSchema Capability:\n - Path: columns[].width\n Category: columns\n Kind: string\n Description: Largura da coluna (ex.: 100px, 10%, auto).\n\nSchema Capability:\n - Path: columns[].align\n Category: columns\n Kind: enum\n Description: Alinhamento do conteúdo e cabeçalho.\n\nSchema Capability:\n - Path: columns[].sticky\n Category: columns\n Kind: enum\n Description: Fixa a coluna no início (start/true) ou fim (end) da rolagem; false desativa sticky.\n\nSchema Capability:\n - Path: columns[].sortable\n Category: columns\n Kind: boolean\n Description: Habilita ordenação nesta coluna específica.\n\nSchema Capability:\n - Path: columns[].filterable\n Category: columns\n Kind: boolean\n Description: Habilita filtro nesta coluna específica.\n\nSchema Capability:\n - Path: columns[].resizable\n Category: columns\n Kind: boolean\n Description: Permite redimensionar a largura desta coluna.\n\nSchema Capability:\n - Path: columns[].type\n Category: columns\n Kind: enum\n Description: Tipo de dado base para formatação padrão.\n\nSchema Capability:\n - Path: columns[].sortField\n Category: columns\n Kind: string\n Description: Campo usado para ordenação no backend, se diferente de \"field\".\n\nSchema Capability:\n - Path: columns[].style\n Category: columns\n Kind: string\n Description: Estilos CSS inline aplicados à célula.\n\nSchema Capability:\n - Path: columns[].headerStyle\n Category: columns\n Kind: string\n Description: Estilos CSS para o cabeçalho da coluna.\n\nSchema Capability:\n - Path: columns[].valueMapping\n Category: mapping\n Kind: object\n Description: Mapeia valores crus para rótulos amigáveis.\n\nSchema Capability:\n - Path: columns[].format\n Category: format\n Kind: string\n Description: Formato de exibicao especifico (DataFormattingService). Presets em allowedValues; aceita DatePipe (dd/MM/yyyy, yyyy-MM-dd, yyyy-MM-dd HH:mm) e formatos numericos \"1.2-2\".\n\nSchema Capability:\n - Path: columns[].computed\n Category: columns\n Kind: object\n Description: Configuração de coluna calculada (expression + tipo/format).\n\nSchema Capability:\n - Path: columns[].computed.expression\n Category: columns\n Kind: expression\n Description: AST Json Logic canônico para derivar valores computados da linha.\n\nSchema Capability:\n - Path: columns[].computed.outputType\n Category: format\n Kind: enum\n Description: Tipo de saída do cálculo para formatação.\n\nSchema Capability:\n - Path: columns[].computed.format\n Category: format\n Kind: string\n Description: Formato de exibição do resultado calculado.\n\nSchema Capability:\n - Path: columns[].computed.dependencies\n Category: columns\n Kind: array\n Description: Campos usados na expressão (opcional).\n\nSchema Capability:\n - Path: columns[].quickView\n Category: columns\n Kind: object\n Description: Binding declarativo ResourceQuickViewBinding para visualização rápida read-only ao passar o mouse ou acionar gatilho na célula.\n\nSchema Capability:\n - Path: columns[].renderer.type\n Category: renderer\n Kind: enum\n Description: Tipo de renderizador customizado (icon, badge, button etc.).\n\nSchema Capability:\n - Path: columns[].renderer.typeExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para decidir o tipo do renderer; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.button\n Category: renderer\n Kind: object\n Description: Configuração do botão por linha.\n\nSchema Capability:\n - Path: columns[].renderer.button.label\n Category: renderer\n Kind: string\n Description: Texto fixo do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.labelField\n Category: renderer\n Kind: string\n Description: Campo do row para texto do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.icon\n Category: renderer\n Kind: string\n Description: Icone do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.color\n Category: renderer\n Kind: enum\n Description: Cor do botao (ou token CSS).\n\nSchema Capability:\n - Path: columns[].renderer.button.variant\n Category: renderer\n Kind: enum\n Description: Variante visual do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.size\n Category: renderer\n Kind: enum\n Description: Tamanho do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.disabledCondition\n Category: renderer\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic para desabilitar.\n\nSchema Capability:\n - Path: columns[].renderer.button.action\n Category: renderer\n Kind: object\n Description: Acao disparada pelo botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.action.id\n Category: renderer\n Kind: string\n Description: Identificador da acao do botao.\n\nSchema Capability:\n - Path: columns[].renderer.button.action.payloadExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.link\n Category: renderer\n Kind: object\n Description: Link sanitizado com href fixo ou field.\n\nSchema Capability:\n - Path: columns[].renderer.link.text\n Category: renderer\n Kind: string\n Description: Texto fixo do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.textField\n Category: renderer\n Kind: string\n Description: Campo para texto do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.href\n Category: renderer\n Kind: string\n Description: Href fixo do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.hrefField\n Category: renderer\n Kind: string\n Description: Campo para href do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.target\n Category: renderer\n Kind: enum\n Description: Target do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.rel\n Category: renderer\n Kind: string\n Description: Atributo rel do link.\n\nSchema Capability:\n - Path: columns[].renderer.link.quickView\n Category: renderer\n Kind: object\n Description: Binding ResourceQuickViewBinding acoplado ao renderer link.\n\nSchema Capability:\n - Path: columns[].renderer.icon\n Category: renderer\n Kind: object\n Description: Icone material/SVG com cor, tamanho e texto opcional ao lado do valor.",
|
|
32077
32273
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32078
|
-
"contentHash": "
|
|
32274
|
+
"contentHash": "f87ba7d44d9b39578b4e81039eff247324860385f0cd5627165b0a414876e321",
|
|
32079
32275
|
"sourceKind": "component_definition",
|
|
32080
32276
|
"sourceId": "praxis-table",
|
|
32081
32277
|
"corpusVersion": "1.0.0"
|
|
@@ -32083,9 +32279,9 @@
|
|
|
32083
32279
|
{
|
|
32084
32280
|
"chunkIndex": 2,
|
|
32085
32281
|
"chunkKind": "capabilities",
|
|
32086
|
-
"content": "Schema Capability:\n - Path: columns[].renderer.icon.text\n Category: renderer\n Kind: string\n Description: Texto fixo renderizado junto ao icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.textField\n Category: renderer\n Kind: string\n Description: Campo de linha usado como texto renderizado junto ao icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.prefix\n Category: renderer\n Kind: string\n Description: Prefixo visual aplicado somente ao texto exibido pelo renderer de icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.suffix\n Category: renderer\n Kind: string\n Description: Sufixo visual aplicado somente ao texto exibido pelo renderer de icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.color\n Category: renderer\n Kind: string\n Description: Cor do icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.size\n Category: renderer\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].renderer.icon.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do icone.\n\nSchema Capability:\n - Path: columns[].renderer.image\n Category: renderer\n Kind: object\n Description: Imagem com src fixo ou field.\n\nSchema Capability:\n - Path: columns[].renderer.image.src\n Category: renderer\n Kind: string\n Description: URL fixa da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.srcField\n Category: renderer\n Kind: string\n Description: Campo com URL da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.alt\n Category: renderer\n Kind: string\n Description: Alt fixo da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.altField\n Category: renderer\n Kind: string\n Description: Campo com alt da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.width\n Category: renderer\n Kind: number\n Description: Largura em px.\n\nSchema Capability:\n - Path: columns[].renderer.image.height\n Category: renderer\n Kind: number\n Description: Altura em px.\n\nSchema Capability:\n - Path: columns[].renderer.image.shape\n Category: renderer\n Kind: enum\n Description: Formato da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.fit\n Category: renderer\n Kind: enum\n Description: Ajuste da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.lazy\n Category: renderer\n Kind: boolean\n Description: Ativa lazy loading.\n\nSchema Capability:\n - Path: columns[].renderer.html\n Category: renderer\n Kind: object\n Description: HTML sanitizado com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].renderer.html.template\n Category: renderer\n Kind: string\n Description: Template HTML com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].renderer.html.sanitize\n Category: renderer\n Kind: enum\n Description: Nivel de sanitizacao.\n\nSchema Capability:\n - Path: columns[].renderer.html.emptyFallback\n Category: renderer\n Kind: string\n Description: Fallback quando campo esta vazio.\n\nSchema Capability:\n - Path: columns[].renderer.menu\n Category: renderer\n Kind: object\n Description: Menu de ações por linha.\n\nSchema Capability:\n - Path: columns[].renderer.menu.itemsExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar itens do menu; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.menu.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do menu.\n\nSchema Capability:\n - Path: columns[].renderer.badge\n Category: renderer\n Kind: object\n Description: Badge simples (texto curto/status). Exige textField ou text.\n\nSchema Capability:\n - Path: columns[].renderer.badge.text\n Category: renderer\n Kind: string\n Description: Texto fixo do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.textField\n Category: renderer\n Kind: string\n Description: Campo de onde ler o texto do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.color\n Category: renderer\n Kind: string\n Description: Cor do badge (primary/accent/warn/success/etc).\n\nSchema Capability:\n - Path: columns[].renderer.badge.variant\n Category: renderer\n Kind: enum\n Description: Estilo visual do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.icon\n Category: renderer\n Kind: string\n Description: Ícone opcional dentro do badge.\n\nSchema Capability:\n - Path: columns[].renderer.chip\n Category: renderer\n Kind: object\n Description: Chip interativo ou de status.\n\nSchema Capability:\n - Path: columns[].renderer.chip.text\n Category: renderer\n Kind: string\n Description: Texto fixo do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.textField\n Category: renderer\n Kind: string\n Description: Campo de texto do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.color\n Category: renderer\n Kind: string\n Description: Cor do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.variant\n Category: renderer\n Kind: enum\n Description: Variante do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.icon\n Category: renderer\n Kind: string\n Description: Ícone do chip.\n\nSchema Capability:\n - Path: columns[].renderer.progress\n Category: renderer\n Kind: object\n Description: Barra de progresso.\n\nSchema Capability:\n - Path: columns[].renderer.progress.valueExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor (0-100); nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.progress.color\n Category: renderer\n Kind: string\n Description: Cor da barra.\n\nSchema Capability:\n - Path: columns[].renderer.progress.showLabel\n Category: renderer\n Kind: boolean\n Description: Mostra valor numérico ao lado.\n\nSchema Capability:\n - Path: columns[].renderer.avatar\n Category: renderer\n Kind: object\n Description: Avatar de usuário ou entidade.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.src\n Category: renderer\n Kind: string\n Description: URL fixa da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.srcField\n Category: renderer\n Kind: string\n Description: Campo contendo URL da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.alt\n Category: renderer\n Kind: string\n Description: Texto alternativo fixo.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.altField\n Category: renderer\n Kind: string\n Description: Campo para texto alternativo.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.initialsField\n Category: renderer\n Kind: string\n Description: Campo textual bruto para derivar iniciais automaticamente.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.initialsExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para derivar iniciais; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.shape\n Category: renderer\n Kind: string\n Description: Formato do avatar
|
|
32282
|
+
"content": "Schema Capability:\n - Path: columns[].renderer.icon.name\n Category: renderer\n Kind: string\n Description: Nome fixo do icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.nameField\n Category: renderer\n Kind: string\n Description: Campo com nome do icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.text\n Category: renderer\n Kind: string\n Description: Texto fixo renderizado junto ao icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.textField\n Category: renderer\n Kind: string\n Description: Campo de linha usado como texto renderizado junto ao icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.prefix\n Category: renderer\n Kind: string\n Description: Prefixo visual aplicado somente ao texto exibido pelo renderer de icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.suffix\n Category: renderer\n Kind: string\n Description: Sufixo visual aplicado somente ao texto exibido pelo renderer de icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.color\n Category: renderer\n Kind: string\n Description: Cor do icone.\n\nSchema Capability:\n - Path: columns[].renderer.icon.size\n Category: renderer\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].renderer.icon.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do icone.\n\nSchema Capability:\n - Path: columns[].renderer.image\n Category: renderer\n Kind: object\n Description: Imagem com src fixo ou field.\n\nSchema Capability:\n - Path: columns[].renderer.image.src\n Category: renderer\n Kind: string\n Description: URL fixa da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.srcField\n Category: renderer\n Kind: string\n Description: Campo com URL da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.alt\n Category: renderer\n Kind: string\n Description: Alt fixo da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.altField\n Category: renderer\n Kind: string\n Description: Campo com alt da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.width\n Category: renderer\n Kind: number\n Description: Largura em px.\n\nSchema Capability:\n - Path: columns[].renderer.image.height\n Category: renderer\n Kind: number\n Description: Altura em px.\n\nSchema Capability:\n - Path: columns[].renderer.image.shape\n Category: renderer\n Kind: enum\n Description: Formato da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.fit\n Category: renderer\n Kind: enum\n Description: Ajuste da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.image.lazy\n Category: renderer\n Kind: boolean\n Description: Ativa lazy loading.\n\nSchema Capability:\n - Path: columns[].renderer.html\n Category: renderer\n Kind: object\n Description: HTML sanitizado com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].renderer.html.template\n Category: renderer\n Kind: string\n Description: Template HTML com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].renderer.html.sanitize\n Category: renderer\n Kind: enum\n Description: Nivel de sanitizacao.\n\nSchema Capability:\n - Path: columns[].renderer.html.emptyFallback\n Category: renderer\n Kind: string\n Description: Fallback quando campo esta vazio.\n\nSchema Capability:\n - Path: columns[].renderer.menu\n Category: renderer\n Kind: object\n Description: Menu de ações por linha.\n\nSchema Capability:\n - Path: columns[].renderer.menu.itemsExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar itens do menu; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.menu.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessivel do menu.\n\nSchema Capability:\n - Path: columns[].renderer.badge\n Category: renderer\n Kind: object\n Description: Badge simples (texto curto/status). Exige textField ou text.\n\nSchema Capability:\n - Path: columns[].renderer.badge.text\n Category: renderer\n Kind: string\n Description: Texto fixo do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.textField\n Category: renderer\n Kind: string\n Description: Campo de onde ler o texto do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.color\n Category: renderer\n Kind: string\n Description: Cor do badge (primary/accent/warn/success/etc).\n\nSchema Capability:\n - Path: columns[].renderer.badge.variant\n Category: renderer\n Kind: enum\n Description: Estilo visual do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.icon\n Category: renderer\n Kind: string\n Description: Ícone opcional dentro do badge.\n\nSchema Capability:\n - Path: columns[].renderer.badge.quickView\n Category: renderer\n Kind: object\n Description: Binding ResourceQuickViewBinding acoplado ao renderer badge.\n\nSchema Capability:\n - Path: columns[].renderer.chip\n Category: renderer\n Kind: object\n Description: Chip interativo ou de status.\n\nSchema Capability:\n - Path: columns[].renderer.chip.text\n Category: renderer\n Kind: string\n Description: Texto fixo do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.textField\n Category: renderer\n Kind: string\n Description: Campo de texto do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.color\n Category: renderer\n Kind: string\n Description: Cor do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.variant\n Category: renderer\n Kind: enum\n Description: Variante do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.icon\n Category: renderer\n Kind: string\n Description: Ícone do chip.\n\nSchema Capability:\n - Path: columns[].renderer.chip.quickView\n Category: renderer\n Kind: object\n Description: Binding ResourceQuickViewBinding acoplado ao renderer chip.\n\nSchema Capability:\n - Path: columns[].renderer.progress\n Category: renderer\n Kind: object\n Description: Barra de progresso.\n\nSchema Capability:\n - Path: columns[].renderer.progress.valueExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor (0-100); nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.progress.color\n Category: renderer\n Kind: string\n Description: Cor da barra.\n\nSchema Capability:\n - Path: columns[].renderer.progress.showLabel\n Category: renderer\n Kind: boolean\n Description: Mostra valor numérico ao lado.\n\nSchema Capability:\n - Path: columns[].renderer.avatar\n Category: renderer\n Kind: object\n Description: Avatar de usuário ou entidade.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.src\n Category: renderer\n Kind: string\n Description: URL fixa da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.srcField\n Category: renderer\n Kind: string\n Description: Campo contendo URL da imagem.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.alt\n Category: renderer\n Kind: string\n Description: Texto alternativo fixo.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.altField\n Category: renderer\n Kind: string\n Description: Campo para texto alternativo.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.initialsField\n Category: renderer\n Kind: string\n Description: Campo textual bruto para derivar iniciais automaticamente.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.initialsExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para derivar iniciais; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.shape\n Category: renderer\n Kind: string\n Description: Formato do avatar.",
|
|
32087
32283
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32088
|
-
"contentHash": "
|
|
32284
|
+
"contentHash": "99fd2334bd8e027ff75bdd708a7ce998754bea2ef6c9a0aa388b2c3027db6f3b",
|
|
32089
32285
|
"sourceKind": "component_definition",
|
|
32090
32286
|
"sourceId": "praxis-table",
|
|
32091
32287
|
"corpusVersion": "1.0.0"
|
|
@@ -32093,9 +32289,9 @@
|
|
|
32093
32289
|
{
|
|
32094
32290
|
"chunkIndex": 3,
|
|
32095
32291
|
"chunkKind": "capabilities",
|
|
32096
|
-
"content": "Schema Capability:\n - Path: columns[].renderer.toggle.stateExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para definir o estado checked; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.disabledCondition\n Category: renderer\n Kind: expression\n Description: Condicao canonica em Json Logic para desabilitacao.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action\n Category: renderer\n Kind: object\n Description: Ação disparada ao mudar.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action.id\n Category: renderer\n Kind: string\n Description: Identificador da ação para toggle.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action.payloadExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.rating\n Category: renderer\n Kind: object\n Description: Estrelas de avaliação.\n\nSchema Capability:\n - Path: columns[].renderer.rating.valueExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor numerico; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.rating.max\n Category: renderer\n Kind: number\n Description: Máximo de estrelas (default 5).\n\nSchema Capability:\n - Path: columns[].renderer.rating.color\n Category: renderer\n Kind: string\n Description: Cor das estrelas ativas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.outlineColor\n Category: renderer\n Kind: string\n Description: Cor das bordas das estrelas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.size\n Category: renderer\n Kind: enum\n Description: Tamanho das estrelas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessível para a avaliação.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization\n Category: renderer\n Kind: object\n Description: Microvisualização compacta em célula (bullet, sparkline/line, area, column, comparison, stackedBar, radial, harveyBall, delta, processFlow).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization\n Category: renderer\n Kind: object\n Description: Contrato semântico renderer-neutral da microvisualização.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.kind\n Category: renderer\n Kind: enum\n Description: Tipo semântico da microvisualização.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.surface\n Category: renderer\n Kind: enum\n Description: Superfície alvo (padrão table-cell na tabela).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.size\n Category: renderer\n Kind: enum\n Description: Densidade visual da microvisualização (xs, sm, md, lg, responsive).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.scaleScope\n Category: renderer\n Kind: enum\n Description: Escopo de normalização de escala: row (independente por linha) ou page (sincronizado entre todas as linhas visíveis da página).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.tone\n Category: renderer\n Kind: enum\n Description: Tom semântico fixo (neutral, info, success, warning, danger, critical).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.toneExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou expressão Json Logic para resolver o tom semântico por linha.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.valueExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou expressão Json Logic para o valor principal da célula.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.valueSuffix\n Category: renderer\n Kind: string\n Description: Sufixo de unidade anexado ao valor (ex.: \"%\", \" pts\", \" ms\", \" d\").\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.compactValue\n Category: renderer\n Kind: boolean\n Description: Formata valores grandes em notação compacta (1.2M, 45.3K).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.min\n Category: renderer\n Kind: number\n Description: Limite mínimo explícito da escala.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.max\n Category: renderer\n Kind: number\n Description: Limite máximo explícito da escala.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.total\n Category: renderer\n Kind: number\n Description: Total explícito para proporcionalidade em stackedBar ou radial.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.target\n Category: renderer\n Kind: number\n Description: Meta fixa para bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.targetExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para meta dinâmica por linha em bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.baseline\n Category: renderer\n Kind: number\n Description: Valor base fixo para comparison ou delta.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.baselineExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para valor base dinâmico em comparison ou delta.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.pointsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para série de pontos em line, area ou column.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.segmentsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para segmentos em stackedBar.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.itemsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para etapas em processFlow.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.thresholds\n Category: renderer\n Kind: array\n Description: Faixas e limiares declarativos ({ value, min, max, tone, label }) para tom automático e faixas qualitativas de bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.stepLabelLineClamp\n Category: renderer\n Kind: number\n Description: Máximo de linhas (1 ou 2) para rótulos de etapas em processFlow
|
|
32292
|
+
"content": "Schema Capability:\n - Path: columns[].renderer.avatar.size\n Category: renderer\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.backgroundColor\n Category: renderer\n Kind: string\n Description: Cor de fundo do círculo do avatar. Use com conditionalRenderers para variar por linha.\n\nSchema Capability:\n - Path: columns[].renderer.avatar.textColor\n Category: renderer\n Kind: string\n Description: Cor das iniciais do avatar. Use contraste adequado com backgroundColor.\n\nSchema Capability:\n - Path: columns[].renderer.toggle\n Category: renderer\n Kind: object\n Description: Switch/Toggle booleano interativo.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.stateExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para definir o estado checked; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.disabledCondition\n Category: renderer\n Kind: expression\n Description: Condicao canonica em Json Logic para desabilitacao.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action\n Category: renderer\n Kind: object\n Description: Ação disparada ao mudar.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action.id\n Category: renderer\n Kind: string\n Description: Identificador da ação para toggle.\n\nSchema Capability:\n - Path: columns[].renderer.toggle.action.payloadExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.rating\n Category: renderer\n Kind: object\n Description: Estrelas de avaliação.\n\nSchema Capability:\n - Path: columns[].renderer.rating.valueExpr\n Category: renderer\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor numerico; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].renderer.rating.max\n Category: renderer\n Kind: number\n Description: Máximo de estrelas (default 5).\n\nSchema Capability:\n - Path: columns[].renderer.rating.color\n Category: renderer\n Kind: string\n Description: Cor das estrelas ativas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.outlineColor\n Category: renderer\n Kind: string\n Description: Cor das bordas das estrelas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.size\n Category: renderer\n Kind: enum\n Description: Tamanho das estrelas.\n\nSchema Capability:\n - Path: columns[].renderer.rating.ariaLabel\n Category: renderer\n Kind: string\n Description: Label acessível para a avaliação.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization\n Category: renderer\n Kind: object\n Description: Microvisualização compacta em célula (bullet, sparkline/line, area, column, comparison, stackedBar, radial, harveyBall, delta, processFlow).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization\n Category: renderer\n Kind: object\n Description: Contrato semântico renderer-neutral da microvisualização.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.kind\n Category: renderer\n Kind: enum\n Description: Tipo semântico da microvisualização.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.surface\n Category: renderer\n Kind: enum\n Description: Superfície alvo (padrão table-cell na tabela).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.size\n Category: renderer\n Kind: enum\n Description: Densidade visual da microvisualização (xs, sm, md, lg, responsive).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.scaleScope\n Category: renderer\n Kind: enum\n Description: Escopo de normalização de escala: row (independente por linha) ou page (sincronizado entre todas as linhas visíveis da página).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.tone\n Category: renderer\n Kind: enum\n Description: Tom semântico fixo (neutral, info, success, warning, danger, critical).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.toneExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou expressão Json Logic para resolver o tom semântico por linha.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.valueExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou expressão Json Logic para o valor principal da célula.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.valueSuffix\n Category: renderer\n Kind: string\n Description: Sufixo de unidade anexado ao valor (ex.: \"%\", \" pts\", \" ms\", \" d\").\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.compactValue\n Category: renderer\n Kind: boolean\n Description: Formata valores grandes em notação compacta (1.2M, 45.3K).\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.min\n Category: renderer\n Kind: number\n Description: Limite mínimo explícito da escala.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.max\n Category: renderer\n Kind: number\n Description: Limite máximo explícito da escala.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.total\n Category: renderer\n Kind: number\n Description: Total explícito para proporcionalidade em stackedBar ou radial.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.target\n Category: renderer\n Kind: number\n Description: Meta fixa para bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.targetExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para meta dinâmica por linha em bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.baseline\n Category: renderer\n Kind: number\n Description: Valor base fixo para comparison ou delta.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.baselineExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para valor base dinâmico em comparison ou delta.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.pointsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para série de pontos em line, area ou column.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.segmentsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para segmentos em stackedBar.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.itemsExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para etapas em processFlow.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.thresholds\n Category: renderer\n Kind: array\n Description: Faixas e limiares declarativos ({ value, min, max, tone, label }) para tom automático e faixas qualitativas de bullet.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.stepLabelLineClamp\n Category: renderer\n Kind: number\n Description: Máximo de linhas (1 ou 2) para rótulos de etapas em processFlow.",
|
|
32097
32293
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32098
|
-
"contentHash": "
|
|
32294
|
+
"contentHash": "028591e0537b7ae75e6cd03525f5e7e1151d46a7c154bef9b2f611e3f679d689",
|
|
32099
32295
|
"sourceKind": "component_definition",
|
|
32100
32296
|
"sourceId": "praxis-table",
|
|
32101
32297
|
"corpusVersion": "1.0.0"
|
|
@@ -32103,9 +32299,9 @@
|
|
|
32103
32299
|
{
|
|
32104
32300
|
"chunkIndex": 4,
|
|
32105
32301
|
"chunkKind": "capabilities",
|
|
32106
|
-
"content": "Schema Capability:\n - Path: columns[].renderer.microVisualization.visualization.fallbackTextExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para fallback textual dinâmico.\n\nSchema Capability:\n - Path: columns[].renderer.compose\n Category: renderer\n Kind: object\n Description: Composição de múltiplos renderers na mesma célula.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items\n Category: renderer\n Kind: array\n Description: Lista de renderers aninhados.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items[].type\n Category: renderer\n Kind: enum\n Description: Tipo do item de compose.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items[]\n Category: renderer\n Kind: object\n Description: Item do compose (ex.: { type: \"badge\", badge: {...} }, { type: \"icon\", icon: {...} }, { type: \"link\", link: {...} }).\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.gap\n Category: renderer\n Kind: number\n Description: Espacamento entre itens (px).\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.direction\n Category: renderer\n Kind: enum\n Description: Direção do layout.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.align\n Category: renderer\n Kind: enum\n Description: Alinhamento do layout.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.wrap\n Category: renderer\n Kind: boolean\n Description: Permite quebra de linha.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.ellipsis\n Category: renderer\n Kind: boolean\n Description: Aplica ellipsis quando overflow.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].enabled\n Category: conditional\n Kind: boolean\n Description: Habilita/desabilita a regra.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer\n Category: conditional\n Kind: object\n Description: Configuração do renderizador a ser usado se a condição for true.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization\n Category: conditional\n Kind: object\n Description: Configuração de microvisualização condicional. A visualização precisa usar surface table-cell, fallbackText acessível e os dados exigidos pelo kind.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.kind\n Category: conditional\n Kind: enum\n Description: Kind da microvisualização condicional. Prefira delta, bullet, radial, harveyBall ou stackedBar para leitura rápida; os demais exigem revisão de largura ou densidade.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.scaleScope\n Category: conditional\n Kind: enum\n Description: Escopo de escala da microvisualização condicional (row ou page).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.valueSuffix\n Category: conditional\n Kind: string\n Description: Sufixo de unidade anexado ao valor exibido.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.compactValue\n Category: conditional\n Kind: boolean\n Description: Formata números em notação compacta (1.2M, 45.3K).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.thresholds\n Category: conditional\n Kind: array\n Description: Faixas e limiares declarativos ({ value, min, max, tone, label }).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.fallbackText\n Category: conditional\n Kind: string\n Description: Fallback acessível obrigatório da microvisualização condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado quando a regra condicional vencer.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].tooltip.text\n Category: conditional\n Kind: string\n Description: Texto do tooltip da regra condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos capazes de produzir renderer, tooltip ou animacao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.type\n Category: conditional\n Kind: enum\n Description: Tipo do renderizador condicional (badge, chip, etc.).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.typeExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para decidir o tipo do renderer condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon\n Category: conditional\n Kind: object\n Description: Configuracao de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.name\n Category: conditional\n Kind: string\n Description: Nome fixo do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.nameField\n Category: conditional\n Kind: string\n Description: Campo com nome do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.text\n Category: conditional\n Kind: string\n Description: Texto fixo renderizado junto ao icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.textField\n Category: conditional\n Kind: string\n Description: Campo de linha usado como texto renderizado junto ao icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.prefix\n Category: conditional\n Kind: string\n Description: Prefixo visual aplicado somente ao texto exibido pelo renderer de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.suffix\n Category: conditional\n Kind: string\n Description: Sufixo visual aplicado somente ao texto exibido pelo renderer de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.color\n Category: conditional\n Kind: string\n Description: Cor do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.size\n Category: conditional\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image\n Category: conditional\n Kind: object\n Description: Configuracao de imagem condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.src\n Category: conditional\n Kind: string\n Description: URL fixa da imagem
|
|
32302
|
+
"content": "Schema Capability:\n - Path: columns[].renderer.microVisualization.visualization.ariaLabel\n Category: renderer\n Kind: string\n Description: Rótulo acessível estático da microvisualização.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.ariaLabelExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para rótulo acessível dinâmico.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.fallbackText\n Category: renderer\n Kind: string\n Description: Fallback textual acessível obrigatório.\n\nSchema Capability:\n - Path: columns[].renderer.microVisualization.visualization.fallbackTextExpr\n Category: renderer\n Kind: expression\n Description: Caminho row.<campo> ou Json Logic para fallback textual dinâmico.\n\nSchema Capability:\n - Path: columns[].renderer.compose\n Category: renderer\n Kind: object\n Description: Composição de múltiplos renderers na mesma célula.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items\n Category: renderer\n Kind: array\n Description: Lista de renderers aninhados.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items[].type\n Category: renderer\n Kind: enum\n Description: Tipo do item de compose.\n\nSchema Capability:\n - Path: columns[].renderer.compose.items[]\n Category: renderer\n Kind: object\n Description: Item do compose (ex.: { type: \"badge\", badge: {...} }, { type: \"icon\", icon: {...} }, { type: \"link\", link: {...} }).\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.gap\n Category: renderer\n Kind: number\n Description: Espacamento entre itens (px).\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.direction\n Category: renderer\n Kind: enum\n Description: Direção do layout.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.align\n Category: renderer\n Kind: enum\n Description: Alinhamento do layout.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.wrap\n Category: renderer\n Kind: boolean\n Description: Permite quebra de linha.\n\nSchema Capability:\n - Path: columns[].renderer.compose.layout.ellipsis\n Category: renderer\n Kind: boolean\n Description: Aplica ellipsis quando overflow.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].enabled\n Category: conditional\n Kind: boolean\n Description: Habilita/desabilita a regra.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer\n Category: conditional\n Kind: object\n Description: Configuração do renderizador a ser usado se a condição for true.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization\n Category: conditional\n Kind: object\n Description: Configuração de microvisualização condicional. A visualização precisa usar surface table-cell, fallbackText acessível e os dados exigidos pelo kind.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.kind\n Category: conditional\n Kind: enum\n Description: Kind da microvisualização condicional. Prefira delta, bullet, radial, harveyBall ou stackedBar para leitura rápida; os demais exigem revisão de largura ou densidade.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.scaleScope\n Category: conditional\n Kind: enum\n Description: Escopo de escala da microvisualização condicional (row ou page).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.valueSuffix\n Category: conditional\n Kind: string\n Description: Sufixo de unidade anexado ao valor exibido.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.compactValue\n Category: conditional\n Kind: boolean\n Description: Formata números em notação compacta (1.2M, 45.3K).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.thresholds\n Category: conditional\n Kind: array\n Description: Faixas e limiares declarativos ({ value, min, max, tone, label }).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.microVisualization.visualization.fallbackText\n Category: conditional\n Kind: string\n Description: Fallback acessível obrigatório da microvisualização condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado quando a regra condicional vencer.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].tooltip.text\n Category: conditional\n Kind: string\n Description: Texto do tooltip da regra condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos capazes de produzir renderer, tooltip ou animacao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.type\n Category: conditional\n Kind: enum\n Description: Tipo do renderizador condicional (badge, chip, etc.).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.typeExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para decidir o tipo do renderer condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon\n Category: conditional\n Kind: object\n Description: Configuracao de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.name\n Category: conditional\n Kind: string\n Description: Nome fixo do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.nameField\n Category: conditional\n Kind: string\n Description: Campo com nome do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.text\n Category: conditional\n Kind: string\n Description: Texto fixo renderizado junto ao icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.textField\n Category: conditional\n Kind: string\n Description: Campo de linha usado como texto renderizado junto ao icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.prefix\n Category: conditional\n Kind: string\n Description: Prefixo visual aplicado somente ao texto exibido pelo renderer de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.suffix\n Category: conditional\n Kind: string\n Description: Sufixo visual aplicado somente ao texto exibido pelo renderer de icone condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.color\n Category: conditional\n Kind: string\n Description: Cor do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.size\n Category: conditional\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.icon.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do icone.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image\n Category: conditional\n Kind: object\n Description: Configuracao de imagem condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.src\n Category: conditional\n Kind: string\n Description: URL fixa da imagem.",
|
|
32107
32303
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32108
|
-
"contentHash": "
|
|
32304
|
+
"contentHash": "438fc8c597dbfb89926b7d8709702fcd299e26fc38604f68e5f4941efc3c3d90",
|
|
32109
32305
|
"sourceKind": "component_definition",
|
|
32110
32306
|
"sourceId": "praxis-table",
|
|
32111
32307
|
"corpusVersion": "1.0.0"
|
|
@@ -32113,9 +32309,9 @@
|
|
|
32113
32309
|
{
|
|
32114
32310
|
"chunkIndex": 5,
|
|
32115
32311
|
"chunkKind": "capabilities",
|
|
32116
|
-
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.width\n Category: conditional\n Kind: number\n Description: Largura em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.height\n Category: conditional\n Kind: number\n Description: Altura em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.shape\n Category: conditional\n Kind: enum\n Description: Formato da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.fit\n Category: conditional\n Kind: enum\n Description: Ajuste da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.lazy\n Category: conditional\n Kind: boolean\n Description: Ativa lazy loading.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link\n Category: conditional\n Kind: object\n Description: Configuracao de link condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.text\n Category: conditional\n Kind: string\n Description: Texto fixo do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.textField\n Category: conditional\n Kind: string\n Description: Campo para texto do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.href\n Category: conditional\n Kind: string\n Description: Href fixo do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.hrefField\n Category: conditional\n Kind: string\n Description: Campo para href do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.target\n Category: conditional\n Kind: enum\n Description: Target do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.rel\n Category: conditional\n Kind: string\n Description: Atributo rel do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button\n Category: conditional\n Kind: object\n Description: Configuracao de botao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.label\n Category: conditional\n Kind: string\n Description: Texto fixo do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.labelField\n Category: conditional\n Kind: string\n Description: Campo do row para texto do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.icon\n Category: conditional\n Kind: string\n Description: Icone do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.color\n Category: conditional\n Kind: enum\n Description: Cor do botao (ou token CSS).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.variant\n Category: conditional\n Kind: enum\n Description: Variante visual do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.size\n Category: conditional\n Kind: enum\n Description: Tamanho do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.disabledCondition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic para desabilitar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action\n Category: conditional\n Kind: object\n Description: Acao do botao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action.id\n Category: conditional\n Kind: string\n Description: ID da acao do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action.payloadExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu\n Category: conditional\n Kind: object\n Description: Configuracao de menu condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu.itemsExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar itens do menu condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do menu.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html\n Category: conditional\n Kind: object\n Description: HTML condicional sanitizado.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.template\n Category: conditional\n Kind: string\n Description: Template HTML com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.sanitize\n Category: conditional\n Kind: enum\n Description: Nivel de sanitizacao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.emptyFallback\n Category: conditional\n Kind: string\n Description: Fallback quando campo esta vazio.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge\n Category: conditional\n Kind: object\n Description: Configuração de badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.text\n Category: conditional\n Kind: string\n Description: Texto do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.textField\n Category: conditional\n Kind: string\n Description: Campo de texto do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.color\n Category: conditional\n Kind: string\n Description: Cor do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.variant\n Category: conditional\n Kind: enum\n Description: Variante do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.icon\n Category: conditional\n Kind: string\n Description: Ícone do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.tooltip\n Category: conditional\n Kind: object\n Description: Tooltip acoplado ao badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip\n Category: conditional\n Kind: object\n Description: Configuração de chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.text\n Category: conditional\n Kind: string\n Description: Texto do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.textField\n Category: conditional\n Kind: string\n Description: Campo de texto do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.color\n Category: conditional\n Kind: string\n Description: Cor do chip condicional
|
|
32312
|
+
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.srcField\n Category: conditional\n Kind: string\n Description: Campo com URL da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.alt\n Category: conditional\n Kind: string\n Description: Alt fixo da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.altField\n Category: conditional\n Kind: string\n Description: Campo com alt da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.width\n Category: conditional\n Kind: number\n Description: Largura em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.height\n Category: conditional\n Kind: number\n Description: Altura em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.shape\n Category: conditional\n Kind: enum\n Description: Formato da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.fit\n Category: conditional\n Kind: enum\n Description: Ajuste da imagem.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.image.lazy\n Category: conditional\n Kind: boolean\n Description: Ativa lazy loading.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link\n Category: conditional\n Kind: object\n Description: Configuracao de link condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.text\n Category: conditional\n Kind: string\n Description: Texto fixo do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.textField\n Category: conditional\n Kind: string\n Description: Campo para texto do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.href\n Category: conditional\n Kind: string\n Description: Href fixo do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.hrefField\n Category: conditional\n Kind: string\n Description: Campo para href do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.target\n Category: conditional\n Kind: enum\n Description: Target do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.link.rel\n Category: conditional\n Kind: string\n Description: Atributo rel do link.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button\n Category: conditional\n Kind: object\n Description: Configuracao de botao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.label\n Category: conditional\n Kind: string\n Description: Texto fixo do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.labelField\n Category: conditional\n Kind: string\n Description: Campo do row para texto do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.icon\n Category: conditional\n Kind: string\n Description: Icone do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.color\n Category: conditional\n Kind: enum\n Description: Cor do botao (ou token CSS).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.variant\n Category: conditional\n Kind: enum\n Description: Variante visual do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.size\n Category: conditional\n Kind: enum\n Description: Tamanho do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.disabledCondition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic para desabilitar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action\n Category: conditional\n Kind: object\n Description: Acao do botao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action.id\n Category: conditional\n Kind: string\n Description: ID da acao do botao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.button.action.payloadExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu\n Category: conditional\n Kind: object\n Description: Configuracao de menu condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu.itemsExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar itens do menu condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.menu.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessivel do menu.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html\n Category: conditional\n Kind: object\n Description: HTML condicional sanitizado.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.template\n Category: conditional\n Kind: string\n Description: Template HTML com placeholders [[field]].\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.sanitize\n Category: conditional\n Kind: enum\n Description: Nivel de sanitizacao.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.html.emptyFallback\n Category: conditional\n Kind: string\n Description: Fallback quando campo esta vazio.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge\n Category: conditional\n Kind: object\n Description: Configuração de badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.text\n Category: conditional\n Kind: string\n Description: Texto do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.textField\n Category: conditional\n Kind: string\n Description: Campo de texto do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.color\n Category: conditional\n Kind: string\n Description: Cor do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.variant\n Category: conditional\n Kind: enum\n Description: Variante do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.icon\n Category: conditional\n Kind: string\n Description: Ícone do badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.badge.tooltip\n Category: conditional\n Kind: object\n Description: Tooltip acoplado ao badge condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip\n Category: conditional\n Kind: object\n Description: Configuração de chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.text\n Category: conditional\n Kind: string\n Description: Texto do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.textField\n Category: conditional\n Kind: string\n Description: Campo de texto do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.color\n Category: conditional\n Kind: string\n Description: Cor do chip condicional.",
|
|
32117
32313
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32118
|
-
"contentHash": "
|
|
32314
|
+
"contentHash": "7f85d864eccdba9db3c0752b3e80dda190474812bbe11d96a8bc649f15cdf5db",
|
|
32119
32315
|
"sourceKind": "component_definition",
|
|
32120
32316
|
"sourceId": "praxis-table",
|
|
32121
32317
|
"corpusVersion": "1.0.0"
|
|
@@ -32123,9 +32319,9 @@
|
|
|
32123
32319
|
{
|
|
32124
32320
|
"chunkIndex": 6,
|
|
32125
32321
|
"chunkKind": "capabilities",
|
|
32126
|
-
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress\n Category: conditional\n Kind: object\n Description: Configuração de progress condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.valueExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.color\n Category: conditional\n Kind: string\n Description: Cor da barra condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.showLabel\n Category: conditional\n Kind: boolean\n Description: Mostrar label condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar\n Category: conditional\n Kind: object\n Description: Configuração de avatar condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.src\n Category: conditional\n Kind: string\n Description: Src do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.srcField\n Category: conditional\n Kind: string\n Description: Campo src do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.alt\n Category: conditional\n Kind: string\n Description: Alt do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.altField\n Category: conditional\n Kind: string\n Description: Campo alt do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.initialsField\n Category: conditional\n Kind: string\n Description: Campo textual para derivar iniciais do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.initialsExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para retornar as iniciais do avatar; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.shape\n Category: conditional\n Kind: string\n Description: Shape do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.size\n Category: conditional\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.backgroundColor\n Category: conditional\n Kind: string\n Description: Cor de fundo do círculo do avatar quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.textColor\n Category: conditional\n Kind: string\n Description: Cor das iniciais do avatar quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle\n Category: conditional\n Kind: object\n Description: Configuração de toggle condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.stateExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para definir o estado checked condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.disabledCondition\n Category: conditional\n Kind: expression\n Description: Condicao canonica em Json Logic para desabilitacao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action\n Category: conditional\n Kind: object\n Description: Ação do toggle condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action.id\n Category: conditional\n Kind: string\n Description: ID da ação condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action.payloadExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating\n Category: conditional\n Kind: object\n Description: Configuração de rating condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.valueExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor do rating condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.max\n Category: conditional\n Kind: number\n Description: Max estrelas.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.color\n Category: conditional\n Kind: string\n Description: Cor das estrelas.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.outlineColor\n Category: conditional\n Kind: string\n Description: Cor da borda.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.size\n Category: conditional\n Kind: enum\n Description: Tamanho.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose\n Category: conditional\n Kind: object\n Description: Compose condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items\n Category: conditional\n Kind: array\n Description: Itens do compose condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items[].type\n Category: conditional\n Kind: enum\n Description: Tipo do item de compose.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items[]\n Category: conditional\n Kind: object\n Description: Item de compose condicional (ex.: { type: \"badge\", badge: {...} }, { type: \"icon\", icon: {...} }).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.gap\n Category: conditional\n Kind: number\n Description: Gap (px).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.direction\n Category: conditional\n Kind: enum\n Description: Direção.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.align\n Category: conditional\n Kind: enum\n Description: Alinhamento.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.wrap\n Category: conditional\n Kind: boolean\n Description: Permite quebra de linha.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.ellipsis\n Category: conditional\n Kind: boolean\n Description: Aplica ellipsis quando overflow.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation\n Category: conditional\n Kind: object\n Description: Animacao aplicada ao conteudo da célula quando a condição for verdadeira. Use para animar uma parte/coluna especifica da tabela
|
|
32322
|
+
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.variant\n Category: conditional\n Kind: enum\n Description: Variante do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.icon\n Category: conditional\n Kind: string\n Description: Ícone do chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.chip.tooltip\n Category: conditional\n Kind: object\n Description: Tooltip acoplado ao chip condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress\n Category: conditional\n Kind: object\n Description: Configuração de progress condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.valueExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.color\n Category: conditional\n Kind: string\n Description: Cor da barra condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.progress.showLabel\n Category: conditional\n Kind: boolean\n Description: Mostrar label condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar\n Category: conditional\n Kind: object\n Description: Configuração de avatar condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.src\n Category: conditional\n Kind: string\n Description: Src do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.srcField\n Category: conditional\n Kind: string\n Description: Campo src do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.alt\n Category: conditional\n Kind: string\n Description: Alt do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.altField\n Category: conditional\n Kind: string\n Description: Campo alt do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.initialsField\n Category: conditional\n Kind: string\n Description: Campo textual para derivar iniciais do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.initialsExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para retornar as iniciais do avatar; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.shape\n Category: conditional\n Kind: string\n Description: Shape do avatar.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.size\n Category: conditional\n Kind: number\n Description: Tamanho em px.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.backgroundColor\n Category: conditional\n Kind: string\n Description: Cor de fundo do círculo do avatar quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.avatar.textColor\n Category: conditional\n Kind: string\n Description: Cor das iniciais do avatar quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle\n Category: conditional\n Kind: object\n Description: Configuração de toggle condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.stateExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para definir o estado checked condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.disabledCondition\n Category: conditional\n Kind: expression\n Description: Condicao canonica em Json Logic para desabilitacao condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action\n Category: conditional\n Kind: object\n Description: Ação do toggle condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action.id\n Category: conditional\n Kind: string\n Description: ID da ação condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.toggle.action.payloadExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para montar o payload da acao condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating\n Category: conditional\n Kind: object\n Description: Configuração de rating condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.valueExpr\n Category: conditional\n Kind: expression\n Description: Expressao computada do dominio da tabela para obter o valor do rating condicional; nao e Json Logic.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.max\n Category: conditional\n Kind: number\n Description: Max estrelas.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.color\n Category: conditional\n Kind: string\n Description: Cor das estrelas.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.outlineColor\n Category: conditional\n Kind: string\n Description: Cor da borda.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.size\n Category: conditional\n Kind: enum\n Description: Tamanho.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.rating.ariaLabel\n Category: conditional\n Kind: string\n Description: Label acessível.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose\n Category: conditional\n Kind: object\n Description: Compose condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items\n Category: conditional\n Kind: array\n Description: Itens do compose condicional.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items[].type\n Category: conditional\n Kind: enum\n Description: Tipo do item de compose.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.items[]\n Category: conditional\n Kind: object\n Description: Item de compose condicional (ex.: { type: \"badge\", badge: {...} }, { type: \"icon\", icon: {...} }).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.gap\n Category: conditional\n Kind: number\n Description: Gap (px).\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.direction\n Category: conditional\n Kind: enum\n Description: Direção.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.align\n Category: conditional\n Kind: enum\n Description: Alinhamento.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.wrap\n Category: conditional\n Kind: boolean\n Description: Permite quebra de linha.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].renderer.compose.layout.ellipsis\n Category: conditional\n Kind: boolean\n Description: Aplica ellipsis quando overflow.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation\n Category: conditional\n Kind: object\n Description: Animacao aplicada ao conteudo da célula quando a condição for verdadeira. Use para animar uma parte/coluna especifica da tabela.",
|
|
32127
32323
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32128
|
-
"contentHash": "
|
|
32324
|
+
"contentHash": "d031ff1ef95c23aa02567178f99018d699c22d916f2baf59f929fd95425ea2d0",
|
|
32129
32325
|
"sourceKind": "component_definition",
|
|
32130
32326
|
"sourceId": "praxis-table",
|
|
32131
32327
|
"corpusVersion": "1.0.0"
|
|
@@ -32133,9 +32329,9 @@
|
|
|
32133
32329
|
{
|
|
32134
32330
|
"chunkIndex": 7,
|
|
32135
32331
|
"chunkKind": "capabilities",
|
|
32136
|
-
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].animation.trigger\n Category: conditional\n Kind: enum\n Description: Gatilho da animação. onConditionEnter/onConditionExit/onDataRefresh são normalizados como onChange no runtime.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.repeat\n Category: conditional\n Kind: string\n Description: once, loop, infinite ou número de repetições.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.intensity\n Category: conditional\n Kind: enum\n Description: Intensidade visual da animação.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.durationMs\n Category: conditional\n Kind: number\n Description: Duração da animação em milissegundos.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.delayMs\n Category: conditional\n Kind: number\n Description: Atraso da animação em milissegundos.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].description\n Category: conditional\n Kind: string\n Description: Descrição humana da regra.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].cssClass\n Category: conditional\n Kind: string\n Description: Classe CSS a aplicar.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].style\n Category: conditional\n Kind: object\n Description: Estilos inline seguros. Fundo sólido sem color usa foreground automático acessível no runtime; foreground explícito continua sujeito ao contraste AA.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado na célula quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos da regra, alinhados ao RuleEffectDefinition do Table Rule Builder.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].description\n Category: conditional\n Kind: string\n Description: Descrição da regra de estilo.\n\nSchema Capability:\n - Path: rowConditionalStyles[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: rowConditionalStyles[].cssClass\n Category: conditional\n Kind: string\n Description: Classe CSS para a linha.\n\nSchema Capability:\n - Path: rowConditionalStyles[].style\n Category: conditional\n Kind: object\n Description: Estilos inline seguros aplicados na linha. Fundo sólido sem color materializa foreground automático sem persistir a cor derivada.\n\nSchema Capability:\n - Path: rowConditionalStyles[].surfacePresetRef\n Category: conditional\n Kind: object\n Description: Referencia semantica versionada para uma superficie CSP-safe; a classe CSS permanece privada do runtime.\n\nSchema Capability:\n - Path: rowConditionalStyles[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos da regra de linha, alinhados ao RuleEffectDefinition do Table Rule Builder.\n\nSchema Capability:\n - Path: rowConditionalStyles[].description\n Category: conditional\n Kind: string\n Description: Descrição semântica da regra de estilo da linha; deve acompanhar refinamentos visuais para não contradizer o efeito materializado.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].condition\n Category: conditional\n Kind: expression\n Description: Condicao canonica em JSON Logic para tooltip ou animacao de linha.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado na linha quando a condicao for verdadeira.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation\n Category: conditional\n Kind: object\n Description: Animacao aplicada na linha quando a condicao for verdadeira.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.preset\n Category: conditional\n Kind: enum\n Description: Preset semântico recomendado para animação condicional de linha.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.type\n Category: conditional\n Kind: enum\n Description: Tipo bruto de animação quando preset não for suficiente.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.trigger\n Category: conditional\n Kind: enum\n Description: Gatilho da animação. onConditionEnter/onConditionExit/onDataRefresh são normalizados como onChange no runtime.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.repeat\n Category: conditional\n Kind: string\n Description: once, loop, infinite ou número de repetições.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.intensity\n Category: conditional\n Kind: enum\n Description: Intensidade visual da animação.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.durationMs\n Category: conditional\n Kind: number\n Description: Duração da animação em milissegundos.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.delayMs\n Category: conditional\n Kind: number\n Description: Atraso da animação em milissegundos.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos capazes de produzir tooltip ou animacao de linha.\n\nSchema Capability:\n - Path: behavior.pagination\n Category: pagination\n Kind: object\n Description: Configuração global de paginação da tabela.\n\nSchema Capability:\n - Path: behavior.pagination.enabled\n Category: pagination\n Kind: boolean\n Description: Habilita paginação. Crítico para performance.\n\nSchema Capability:\n - Path: behavior.pagination.strategy\n Category: pagination\n Kind: enum\n Description: Define se a paginação é feita no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.pagination.pageSize\n Category: pagination\n Kind: number\n Description: Número de itens por página inicial.\n\nSchema Capability:\n - Path: behavior.pagination.pageSizeOptions\n Category: pagination\n Kind: array\n Description: Lista de tamanhos permitidos no selector.\n\nSchema Capability:\n - Path: behavior.pagination.position\n Category: pagination\n Kind: enum\n Description: Posiciona os controles de paginação.\n\nSchema Capability:\n - Path: behavior.pagination.style\n Category: pagination\n Kind: enum\n Description: Variações visuais: default/simple/compact/advanced.\n\nSchema 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
|
|
32332
|
+
"content": "Schema Capability:\n - Path: columns[].conditionalRenderers[].animation.preset\n Category: conditional\n Kind: enum\n Description: Preset semântico recomendado para animação condicional de célula.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.type\n Category: conditional\n Kind: enum\n Description: Tipo bruto de animação quando preset não for suficiente.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.trigger\n Category: conditional\n Kind: enum\n Description: Gatilho da animação. onConditionEnter/onConditionExit/onDataRefresh são normalizados como onChange no runtime.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.repeat\n Category: conditional\n Kind: string\n Description: once, loop, infinite ou número de repetições.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.intensity\n Category: conditional\n Kind: enum\n Description: Intensidade visual da animação.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.durationMs\n Category: conditional\n Kind: number\n Description: Duração da animação em milissegundos.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].animation.delayMs\n Category: conditional\n Kind: number\n Description: Atraso da animação em milissegundos.\n\nSchema Capability:\n - Path: columns[].conditionalRenderers[].description\n Category: conditional\n Kind: string\n Description: Descrição humana da regra.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].cssClass\n Category: conditional\n Kind: string\n Description: Classe CSS a aplicar.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].style\n Category: conditional\n Kind: object\n Description: Estilos inline seguros. Fundo sólido sem color usa foreground automático acessível no runtime; foreground explícito continua sujeito ao contraste AA.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado na célula quando a condição for verdadeira.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos da regra, alinhados ao RuleEffectDefinition do Table Rule Builder.\n\nSchema Capability:\n - Path: columns[].conditionalStyles[].description\n Category: conditional\n Kind: string\n Description: Descrição da regra de estilo.\n\nSchema Capability:\n - Path: rowConditionalStyles[].condition\n Category: conditional\n Kind: expression\n Description: Expressao condicional canonica em JSON Logic. Ex.: {\"===\":[{\"var\":\"status\"},\"Active\"]}. Nao use JS puro nem \"row.\".\n\nSchema Capability:\n - Path: rowConditionalStyles[].cssClass\n Category: conditional\n Kind: string\n Description: Classe CSS para a linha.\n\nSchema Capability:\n - Path: rowConditionalStyles[].style\n Category: conditional\n Kind: object\n Description: Estilos inline seguros aplicados na linha. Fundo sólido sem color materializa foreground automático sem persistir a cor derivada.\n\nSchema Capability:\n - Path: rowConditionalStyles[].surfacePresetRef\n Category: conditional\n Kind: object\n Description: Referencia semantica versionada para uma superficie CSP-safe; a classe CSS permanece privada do runtime.\n\nSchema Capability:\n - Path: rowConditionalStyles[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos da regra de linha, alinhados ao RuleEffectDefinition do Table Rule Builder.\n\nSchema Capability:\n - Path: rowConditionalStyles[].description\n Category: conditional\n Kind: string\n Description: Descrição semântica da regra de estilo da linha; deve acompanhar refinamentos visuais para não contradizer o efeito materializado.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].condition\n Category: conditional\n Kind: expression\n Description: Condicao canonica em JSON Logic para tooltip ou animacao de linha.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].tooltip\n Category: conditional\n Kind: object\n Description: Tooltip aplicado na linha quando a condicao for verdadeira.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation\n Category: conditional\n Kind: object\n Description: Animacao aplicada na linha quando a condicao for verdadeira.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.preset\n Category: conditional\n Kind: enum\n Description: Preset semântico recomendado para animação condicional de linha.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.type\n Category: conditional\n Kind: enum\n Description: Tipo bruto de animação quando preset não for suficiente.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.trigger\n Category: conditional\n Kind: enum\n Description: Gatilho da animação. onConditionEnter/onConditionExit/onDataRefresh são normalizados como onChange no runtime.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.repeat\n Category: conditional\n Kind: string\n Description: once, loop, infinite ou número de repetições.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.intensity\n Category: conditional\n Kind: enum\n Description: Intensidade visual da animação.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.durationMs\n Category: conditional\n Kind: number\n Description: Duração da animação em milissegundos.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].animation.delayMs\n Category: conditional\n Kind: number\n Description: Atraso da animação em milissegundos.\n\nSchema Capability:\n - Path: rowConditionalRenderers[].effects\n Category: conditional\n Kind: array\n Description: Efeitos visuais canonicos capazes de produzir tooltip ou animacao de linha.\n\nSchema Capability:\n - Path: behavior.pagination\n Category: pagination\n Kind: object\n Description: Configuração global de paginação da tabela.\n\nSchema Capability:\n - Path: behavior.pagination.enabled\n Category: pagination\n Kind: boolean\n Description: Habilita paginação. Crítico para performance.\n\nSchema Capability:\n - Path: behavior.pagination.strategy\n Category: pagination\n Kind: enum\n Description: Define se a paginação é feita no cliente ou servidor.\n\nSchema Capability:\n - Path: behavior.pagination.pageSize\n Category: pagination\n Kind: number\n Description: Número de itens por página inicial.\n\nSchema Capability:\n - Path: behavior.pagination.pageSizeOptions\n Category: pagination\n Kind: array\n Description: Lista de tamanhos permitidos no selector.\n\nSchema Capability:\n - Path: behavior.pagination.position\n Category: pagination\n Kind: enum\n Description: Posiciona os controles de paginação.\n\nSchema Capability:\n - Path: behavior.pagination.style\n Category: pagination\n Kind: enum\n Description: Variações visuais: default/simple/compact/advanced.\n\nSchema 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.",
|
|
32137
32333
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32138
|
-
"contentHash": "
|
|
32334
|
+
"contentHash": "00aa163c52bfe6e9536c6cbb1b35ca78951736a5df66222a6286fd96d9d3a5b9",
|
|
32139
32335
|
"sourceKind": "component_definition",
|
|
32140
32336
|
"sourceId": "praxis-table",
|
|
32141
32337
|
"corpusVersion": "1.0.0"
|
|
@@ -32143,9 +32339,9 @@
|
|
|
32143
32339
|
{
|
|
32144
32340
|
"chunkIndex": 8,
|
|
32145
32341
|
"chunkKind": "capabilities",
|
|
32146
|
-
"content": "Schema 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.presentation\n Category: filtering\n Kind: object\n Description: Apresentação do cabeçalho opcional e da ação de filtros avançados; usa FilterPresentationConfig 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.loading.showForQuickOperations\n Category: behavior\n Kind: boolean\n Description: Ignora o delay visual e mostra o indicador imediatamente para operacoes rapidas.\n\nSchema Capability:\n - Path: behavior.loading.requestTimeoutMs\n Category: behavior\n Kind: number\n Description: Tempo limite (ms) para requests remotos de schema e dados; zero delega a politica ao host.\n\nSchema Capability:\n - Path: behavior.loading.allowCancel\n Category: behavior\n Kind: boolean\n Description: Permite cancelamento explicito do request remoto em andamento.\n\nSchema Capability:\n - Path: behavior.loading.skeleton.rows\n Category: behavior\n Kind: number\n Description: Quantidade de linhas do skeleton, limitada pelo runtime.\n\nSchema Capability:\n - Path: behavior.loading.skeleton.animated\n Category: behavior\n Kind: boolean\n Description: Ativa a animacao do skeleton
|
|
32342
|
+
"content": "Schema 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.presentation\n Category: filtering\n Kind: object\n Description: Apresentação do cabeçalho opcional e da ação de filtros avançados; usa FilterPresentationConfig 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.loading.showForQuickOperations\n Category: behavior\n Kind: boolean\n Description: Ignora o delay visual e mostra o indicador imediatamente para operacoes rapidas.\n\nSchema Capability:\n - Path: behavior.loading.requestTimeoutMs\n Category: behavior\n Kind: number\n Description: Tempo limite (ms) para requests remotos de schema e dados; zero delega a politica ao host.\n\nSchema Capability:\n - Path: behavior.loading.allowCancel\n Category: behavior\n Kind: boolean\n Description: Permite cancelamento explicito do request remoto em andamento.\n\nSchema Capability:\n - Path: behavior.loading.skeleton.rows\n Category: behavior\n Kind: number\n Description: Quantidade de linhas do skeleton, limitada pelo runtime.\n\nSchema Capability:\n - Path: behavior.loading.skeleton.animated\n Category: behavior\n Kind: boolean\n Description: Ativa a animacao do skeleton.",
|
|
32147
32343
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32148
|
-
"contentHash": "
|
|
32344
|
+
"contentHash": "ffe3a9fdeee9252bd1e7cd008e58fdcfd7a48094575994f4e0f6c3d29ce2da0d",
|
|
32149
32345
|
"sourceKind": "component_definition",
|
|
32150
32346
|
"sourceId": "praxis-table",
|
|
32151
32347
|
"corpusVersion": "1.0.0"
|
|
@@ -32153,9 +32349,9 @@
|
|
|
32153
32349
|
{
|
|
32154
32350
|
"chunkIndex": 9,
|
|
32155
32351
|
"chunkKind": "capabilities",
|
|
32156
|
-
"content": "Schema Capability:\n - Path: behavior.resizing.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita redimensionamento de colunas.\n\nSchema Capability:\n - Path: behavior.resizing.minColumnWidth\n Category: behavior\n Kind: number\n Description: Largura mínima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.maxColumnWidth\n Category: behavior\n Kind: number\n Description: Largura máxima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.autoFit\n Category: behavior\n Kind: boolean\n Description: Permite autoajustar uma coluna ao conteúdo renderizado com duplo clique no separador.\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\n Category: interaction\n Kind: object\n Description: Interação da expansão por linha; ativação explícita seleciona a apresentação row do detalhe.\n\nSchema Capability:\n - Path: behavior.detail\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.source\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.presentation\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita detalhe sem apagar conteúdo authorado.\n\nSchema Capability:\n - Path: behavior.detail.presentation.placement\n Category: interaction\n Kind: enum\n Description: Apresentação do detalhe por expansão de linha ou seleção.\n\nSchema Capability:\n - Path: behavior.detail.presentation.initiallyCollapsed\n Category: interaction\n Kind: boolean\n Description: Recolhimento inicial do detalhe inferior.\n\nSchema Capability:\n - Path: behavior.detail.presentation.bottomStackPosition\n Category: interaction\n Kind: enum\n Description: Posição do painel contextual em relação aos controles inferiores da coleção.\n\nSchema Capability:\n - Path: behavior.detail.presentation.emptyBehavior\n Category: interaction\n Kind: enum\n Description: Mantém uma mensagem instrucional ou remove o painel quando não há registro selecionado.\n\nSchema Capability:\n - Path: behavior.detail.schemaContract.kind\n Category: interaction\n Kind: string\n Description: Namespace do schema de detail row
|
|
32352
|
+
"content": "Schema 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).\n\nSchema Capability:\n - Path: behavior.resizing.maxColumnWidth\n Category: behavior\n Kind: number\n Description: Largura máxima das colunas (px).\n\nSchema Capability:\n - Path: behavior.resizing.autoFit\n Category: behavior\n Kind: boolean\n Description: Permite autoajustar uma coluna ao conteúdo renderizado com duplo clique no separador.\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\n Category: interaction\n Kind: object\n Description: Interação da expansão por linha; ativação explícita seleciona a apresentação row do detalhe.\n\nSchema Capability:\n - Path: behavior.detail\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.source\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.presentation\n Category: interaction\n Kind: object\n Description: Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica.\n\nSchema Capability:\n - Path: behavior.detail.enabled\n Category: interaction\n Kind: boolean\n Description: Habilita detalhe sem apagar conteúdo authorado.\n\nSchema Capability:\n - Path: behavior.detail.presentation.placement\n Category: interaction\n Kind: enum\n Description: Apresentação do detalhe por expansão de linha ou seleção.\n\nSchema Capability:\n - Path: behavior.detail.presentation.initiallyCollapsed\n Category: interaction\n Kind: boolean\n Description: Recolhimento inicial do detalhe inferior.\n\nSchema Capability:\n - Path: behavior.detail.presentation.bottomStackPosition\n Category: interaction\n Kind: enum\n Description: Posição do painel contextual em relação aos controles inferiores da coleção.\n\nSchema Capability:\n - Path: behavior.detail.presentation.emptyBehavior\n Category: interaction\n Kind: enum\n Description: Mantém uma mensagem instrucional ou remove o painel quando não há registro selecionado.\n\nSchema Capability:\n - Path: behavior.detail.schemaContract.kind\n Category: interaction\n Kind: string\n Description: Namespace do schema de detail row.",
|
|
32157
32353
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32158
|
-
"contentHash": "
|
|
32354
|
+
"contentHash": "6a3508e39e79eea4b4240cea436d5445d3ed419ae7c3bd4ca640b2f13af38f22",
|
|
32159
32355
|
"sourceKind": "component_definition",
|
|
32160
32356
|
"sourceId": "praxis-table",
|
|
32161
32357
|
"corpusVersion": "1.0.0"
|
|
@@ -32163,9 +32359,9 @@
|
|
|
32163
32359
|
{
|
|
32164
32360
|
"chunkIndex": 10,
|
|
32165
32361
|
"chunkKind": "capabilities",
|
|
32166
|
-
"content": "Schema Capability:\n - Path: behavior.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.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.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.detail.source.resource.id\n Category: interaction\n Kind: string\n Description: ID do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.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.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.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.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.detail.source.resourceAllowList[]\n Category: interaction\n Kind: array\n Description: Allowlist obrigatória de pathnames canonicalizados para source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.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.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.detail.rendering.registryId\n Category: interaction\n Kind: string\n Description: ID do registry de renderers para detail row.\n\nSchema Capability:\n - Path: behavior.detail.rendering.hostLayout\n Category: interaction\n Kind: enum\n Description: Layout hospedeiro preferencial do detail.\n\nSchema Capability:\n - Path: behavior.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.detail.height.mode\n Category: performance\n Kind: enum\n Description: Modo de altura do detail row.\n\nSchema Capability:\n - Path: behavior.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
|
|
32362
|
+
"content": "Schema Capability:\n - Path: behavior.detail.schemaContract.version\n Category: interaction\n Kind: string\n Description: Versão do contrato de schema detail.\n\nSchema Capability:\n - Path: behavior.detail.schemaContract.allowedNodes\n Category: interaction\n Kind: array\n Description: Tipos de node admitidos pelo schema de detalhe.\n\nSchema Capability:\n - Path: behavior.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.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.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.detail.source.resource.id\n Category: interaction\n Kind: string\n Description: ID do resource de detail schema.\n\nSchema Capability:\n - Path: behavior.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.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.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.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.detail.source.resourceAllowList[]\n Category: interaction\n Kind: array\n Description: Allowlist obrigatória de pathnames canonicalizados para source.mode=resourcePath.\n\nSchema Capability:\n - Path: behavior.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.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.detail.rendering.registryId\n Category: interaction\n Kind: string\n Description: ID do registry de renderers para detail row.\n\nSchema Capability:\n - Path: behavior.detail.rendering.hostLayout\n Category: interaction\n Kind: enum\n Description: Layout hospedeiro preferencial do detail.\n\nSchema Capability:\n - Path: behavior.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.detail.height.mode\n Category: performance\n Kind: enum\n Description: Modo de altura do detail row.\n\nSchema Capability:\n - Path: behavior.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.",
|
|
32167
32363
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32168
|
-
"contentHash": "
|
|
32364
|
+
"contentHash": "17b65248344352baf9cf9cc139a24f3f858af6d36c219ca6a4d71672ef9a32aa",
|
|
32169
32365
|
"sourceKind": "component_definition",
|
|
32170
32366
|
"sourceId": "praxis-table",
|
|
32171
32367
|
"corpusVersion": "1.0.0"
|
|
@@ -32173,9 +32369,9 @@
|
|
|
32173
32369
|
{
|
|
32174
32370
|
"chunkIndex": 11,
|
|
32175
32371
|
"chunkKind": "capabilities",
|
|
32176
|
-
"content": "Schema Capability:\n - Path: toolbar.position\n Category: toolbar\n Kind: enum\n Description: Posiciona a toolbar.\n\nSchema Capability:\n - Path: toolbar.actionsPosition\n Category: toolbar\n Kind: enum\n Description: Posiciona a barra de ações (top/bottom/both).\n\nSchema Capability:\n - Path: toolbar.actionsBackgroundColor\n Category: toolbar\n Kind: string\n Description: Cor de fundo da barra de ações (token/hex).\n\nSchema Capability:\n - Path: toolbar.appearance.preset\n Category: toolbar\n Kind: string\n Description: Preset visual publico registrado para a toolbar. Use \"table-integrated\" para compor toolbar e tabela como um unico bloco operacional, sem CSS de host mirando classes internas.\n\nSchema Capability:\n - Path: toolbar.appearance.variant\n Category: toolbar\n Kind: enum\n Description: Variante visual canônica da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.density\n Category: toolbar\n Kind: enum\n Description: Densidade visual da toolbar e de seus botões.\n\nSchema Capability:\n - Path: toolbar.appearance.shape\n Category: toolbar\n Kind: enum\n Description: Forma canônica do container e dos botões da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.divider\n Category: toolbar\n Kind: enum\n Description: Política de divisores entre regiões semânticas da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens\n Category: toolbar\n Kind: object\n Description: Tokens CSS públicos da toolbar materializados pelo runtime. Use para personalização visual do host sem redefinir a semântica das ações.\n\nSchema Capability:\n - Path: toolbar.title\n Category: toolbar\n Kind: string\n Description: Título principal na toolbar.\n\nSchema Capability:\n - Path: toolbar.subtitle\n Category: toolbar\n Kind: string\n Description: Subtítulo/descrição curta na toolbar.\n\nSchema Capability:\n - Path: toolbar.icon\n Category: toolbar\n Kind: string\n Description: Ícone semântico exibido ao lado do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.textAlign\n Category: toolbar\n Kind: enum\n Description: Alinhamento textual do bloco de título/subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do subtítulo da toolbar.\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
|
|
32372
|
+
"content": "Schema Capability:\n - Path: toolbar\n Category: toolbar\n Kind: object\n Description: Configuração global da barra de ferramentas.\n\nSchema Capability:\n - Path: toolbar.visible\n Category: toolbar\n Kind: boolean\n Description: Exibe a barra de ferramentas acima da tabela.\n\nSchema Capability:\n - Path: toolbar.position\n Category: toolbar\n Kind: enum\n Description: Posiciona a toolbar.\n\nSchema Capability:\n - Path: toolbar.actionsPosition\n Category: toolbar\n Kind: enum\n Description: Posiciona a barra de ações (top/bottom/both).\n\nSchema Capability:\n - Path: toolbar.actionsBackgroundColor\n Category: toolbar\n Kind: string\n Description: Cor de fundo da barra de ações (token/hex).\n\nSchema Capability:\n - Path: toolbar.appearance.preset\n Category: toolbar\n Kind: string\n Description: Preset visual publico registrado para a toolbar. Use \"table-integrated\" para compor toolbar e tabela como um unico bloco operacional, sem CSS de host mirando classes internas.\n\nSchema Capability:\n - Path: toolbar.appearance.variant\n Category: toolbar\n Kind: enum\n Description: Variante visual canônica da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.density\n Category: toolbar\n Kind: enum\n Description: Densidade visual da toolbar e de seus botões.\n\nSchema Capability:\n - Path: toolbar.appearance.shape\n Category: toolbar\n Kind: enum\n Description: Forma canônica do container e dos botões da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.divider\n Category: toolbar\n Kind: enum\n Description: Política de divisores entre regiões semânticas da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens\n Category: toolbar\n Kind: object\n Description: Tokens CSS públicos da toolbar materializados pelo runtime. Use para personalização visual do host sem redefinir a semântica das ações.\n\nSchema Capability:\n - Path: toolbar.title\n Category: toolbar\n Kind: string\n Description: Título principal na toolbar.\n\nSchema Capability:\n - Path: toolbar.subtitle\n Category: toolbar\n Kind: string\n Description: Subtítulo/descrição curta na toolbar.\n\nSchema Capability:\n - Path: toolbar.icon\n Category: toolbar\n Kind: string\n Description: Ícone semântico exibido ao lado do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.textAlign\n Category: toolbar\n Kind: enum\n Description: Alinhamento textual do bloco de título/subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do subtítulo da toolbar.\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[].quickView\n Category: actions\n Kind: object\n Description: Binding declarativo ResourceQuickViewBinding para uma ação de linha abrir a visualização rápida read-only ancorada ao botão da ação.\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.",
|
|
32177
32373
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32178
|
-
"contentHash": "
|
|
32374
|
+
"contentHash": "c731889b0ab03e88b913e715202c47ebd784deea27a4f33649beb338b5460b1d",
|
|
32179
32375
|
"sourceKind": "component_definition",
|
|
32180
32376
|
"sourceId": "praxis-table",
|
|
32181
32377
|
"corpusVersion": "1.0.0"
|
|
@@ -32183,9 +32379,9 @@
|
|
|
32183
32379
|
{
|
|
32184
32380
|
"chunkIndex": 12,
|
|
32185
32381
|
"chunkKind": "capabilities",
|
|
32186
|
-
"content": "Schema Capability:\n - Path: actions.row.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao por linha. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.bulk.enabled\n Category: actions\n Kind: boolean\n Description: Habilita ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.position\n Category: actions\n Kind: enum\n Description: Posição das ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas para operar sobre a seleção atual da tabela. Use para criar botões em lote com GlobalActionRef governada.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action em lote. Deve permanecer alinhado ao schema da action escolhida e ao contexto da seleção atual; para `navigation.openRoute`, use templates como `${runtime.selectedIds}` quando precisar enviar os IDs selecionados.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao em lote, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao em lote. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.context.enabled\n Category: actions\n Kind: boolean\n Description: Habilita menu de contexto (clique direito/long press).\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
|
|
32382
|
+
"content": "Schema Capability:\n - Path: actions.row.actions[].visibleWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].disabledWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para desabilitar a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao por linha, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao por linha. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.bulk.enabled\n Category: actions\n Kind: boolean\n Description: Habilita ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.position\n Category: actions\n Kind: enum\n Description: Posição das ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas para operar sobre a seleção atual da tabela. Use para criar botões em lote com GlobalActionRef governada.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action em lote. Deve permanecer alinhado ao schema da action escolhida e ao contexto da seleção atual; para `navigation.openRoute`, use templates como `${runtime.selectedIds}` quando precisar enviar os IDs selecionados.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao em lote, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao em lote. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.context.enabled\n Category: actions\n Kind: boolean\n Description: Habilita menu de contexto (clique direito/long press).\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.",
|
|
32187
32383
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32188
|
-
"contentHash": "
|
|
32384
|
+
"contentHash": "95b367d80de522f80588f7dbb6e937c277a7ee76e86e14f3f89b1a29c3b8c109",
|
|
32189
32385
|
"sourceKind": "component_definition",
|
|
32190
32386
|
"sourceId": "praxis-table",
|
|
32191
32387
|
"corpusVersion": "1.0.0"
|
|
@@ -32193,9 +32389,9 @@
|
|
|
32193
32389
|
{
|
|
32194
32390
|
"chunkIndex": 13,
|
|
32195
32391
|
"chunkKind": "capabilities",
|
|
32196
|
-
"content": "Schema Capability:\n - Path: localization.direction\n Category: localization\n Kind: enum\n Description: Direção do texto (ltr/rtl).\n\nSchema Capability:\n - Path: localization.dateTime.dateFormat\n Category: localization\n Kind: string\n Description: Formato padrao de datas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.timeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de horas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.dateTimeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de data e hora (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.firstDayOfWeek\n Category: localization\n Kind: number\n Description: Primeiro dia da semana (0=domingo).\n\nSchema Capability:\n - Path: localization.dateTime.relativeTime\n Category: localization\n Kind: boolean\n Description: Habilita formato relativo (ex.: ha 2 dias).\n\nSchema Capability:\n - Path: localization.dateTime.monthNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos meses.\n\nSchema Capability:\n - Path: localization.dateTime.dayNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos dias da semana.\n\nSchema Capability:\n - Path: localization.number.decimalSeparator\n Category: localization\n Kind: string\n Description: Separador decimal.\n\nSchema Capability:\n - Path: localization.number.thousandsSeparator\n Category: localization\n Kind: string\n Description: Separador de milhares.\n\nSchema Capability:\n - Path: localization.number.defaultPrecision\n Category: localization\n Kind: number\n Description: Casas decimais padrao.\n\nSchema Capability:\n - Path: localization.number.negativeSign\n Category: localization\n Kind: string\n Description: Simbolo de negativo.\n\nSchema Capability:\n - Path: localization.number.negativeSignPosition\n Category: localization\n Kind: enum\n Description: Posicao do sinal negativo.\n\nSchema Capability:\n - Path: localization.currency.code\n Category: localization\n Kind: string\n Description: Codigo da moeda (ISO 4217).\n\nSchema Capability:\n - Path: localization.currency.symbol\n Category: localization\n Kind: string\n Description: Simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.position\n Category: localization\n Kind: enum\n Description: Posicao do simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.spacing\n Category: localization\n Kind: boolean\n Description: Espaco entre simbolo e valor.\n\nSchema Capability:\n - Path: localization.currency.precision\n Category: localization\n Kind: number\n Description: Precisao padrao da moeda.\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
|
|
32392
|
+
"content": "Schema Capability:\n - Path: messages.states.empty\n Category: messages\n Kind: string\n Description: Mensagem para estado vazio.\n\nSchema Capability:\n - Path: messages.states.loading\n Category: messages\n Kind: string\n Description: Mensagem de loading.\n\nSchema Capability:\n - Path: messages.actions.confirmations.delete\n Category: messages\n Kind: string\n Description: Texto de confirmação de exclusão.\n\nSchema Capability:\n - Path: localization.locale\n Category: localization\n Kind: string\n Description: Locale principal (ex.: pt-BR, en-US).\n\nSchema Capability:\n - Path: localization.direction\n Category: localization\n Kind: enum\n Description: Direção do texto (ltr/rtl).\n\nSchema Capability:\n - Path: localization.dateTime.dateFormat\n Category: localization\n Kind: string\n Description: Formato padrao de datas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.timeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de horas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.dateTimeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de data e hora (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.firstDayOfWeek\n Category: localization\n Kind: number\n Description: Primeiro dia da semana (0=domingo).\n\nSchema Capability:\n - Path: localization.dateTime.relativeTime\n Category: localization\n Kind: boolean\n Description: Habilita formato relativo (ex.: ha 2 dias).\n\nSchema Capability:\n - Path: localization.dateTime.monthNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos meses.\n\nSchema Capability:\n - Path: localization.dateTime.dayNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos dias da semana.\n\nSchema Capability:\n - Path: localization.number.decimalSeparator\n Category: localization\n Kind: string\n Description: Separador decimal.\n\nSchema Capability:\n - Path: localization.number.thousandsSeparator\n Category: localization\n Kind: string\n Description: Separador de milhares.\n\nSchema Capability:\n - Path: localization.number.defaultPrecision\n Category: localization\n Kind: number\n Description: Casas decimais padrao.\n\nSchema Capability:\n - Path: localization.number.negativeSign\n Category: localization\n Kind: string\n Description: Simbolo de negativo.\n\nSchema Capability:\n - Path: localization.number.negativeSignPosition\n Category: localization\n Kind: enum\n Description: Posicao do sinal negativo.\n\nSchema Capability:\n - Path: localization.currency.code\n Category: localization\n Kind: string\n Description: Codigo da moeda (ISO 4217).\n\nSchema Capability:\n - Path: localization.currency.symbol\n Category: localization\n Kind: string\n Description: Simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.position\n Category: localization\n Kind: enum\n Description: Posicao do simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.spacing\n Category: localization\n Kind: boolean\n Description: Espaco entre simbolo e valor.\n\nSchema Capability:\n - Path: localization.currency.precision\n Category: localization\n Kind: number\n Description: Precisao padrao da moeda.\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.",
|
|
32197
32393
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32198
|
-
"contentHash": "
|
|
32394
|
+
"contentHash": "abd39d4f02e3314d48731014bd8167a0e315210640842fb31b564e08410e1dcc",
|
|
32199
32395
|
"sourceKind": "component_definition",
|
|
32200
32396
|
"sourceId": "praxis-table",
|
|
32201
32397
|
"corpusVersion": "1.0.0"
|
|
@@ -32203,9 +32399,9 @@
|
|
|
32203
32399
|
{
|
|
32204
32400
|
"chunkIndex": 14,
|
|
32205
32401
|
"chunkKind": "capabilities",
|
|
32206
|
-
"content": "Component Capability:\n - Path: outputs.columnResize\n Category: outputs\n Kind: object\n Description: Evento emitido quando uma coluna e redimensionada por ponteiro, teclado ou auto-fit (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).",
|
|
32402
|
+
"content": "Component 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, teclado ou auto-fit (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).",
|
|
32207
32403
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
32208
|
-
"contentHash": "
|
|
32404
|
+
"contentHash": "2e45455c3f7fa3a10dd05c51c4751da434a40bd3d672047879fd900947ece615",
|
|
32209
32405
|
"sourceKind": "component_definition",
|
|
32210
32406
|
"sourceId": "praxis-table",
|
|
32211
32407
|
"corpusVersion": "1.0.0"
|
|
@@ -32393,9 +32589,9 @@
|
|
|
32393
32589
|
{
|
|
32394
32590
|
"chunkIndex": 33,
|
|
32395
32591
|
"chunkKind": "authoring_manifest",
|
|
32396
|
-
"content": "{\"operationId\":\"column.renderer.composeLayout.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Refinar somente o layout de uma célula composta 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. Effects: compile-domain-patch. No composto anterior, deixe em duas linhas: foto em cima e código embaixo\",\"scope\":\"column\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"required\":true},\"inputContract\":{\"required\":[],\"properties\":[\"gap\",\"direction\",\"align\",\"wrap\",\"ellipsis\"],\"semanticTerms\":[\"gap\",\"direction\",\"align\",\"wrap\",\"ellipsis\",\"row\",\"column\",\"start\",\"center\",\"end\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"columns[].renderer.compose.layout\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"},{\"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\":\"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\",\"target-exists\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"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}],\"negativeExamples\":[]}",
|
|
32592
|
+
"content": "{\"operationId\":\"column.renderer.composeLayout.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Refinar somente o layout de uma célula composta 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. Effects: compile-domain-patch. No composto anterior, deixe em duas linhas: foto em cima e código embaixo\",\"scope\":\"column\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"required\":true},\"inputContract\":{\"required\":[],\"properties\":[\"gap\",\"direction\",\"align\",\"wrap\",\"ellipsis\"],\"semanticTerms\":[\"gap\",\"direction\",\"align\",\"wrap\",\"ellipsis\",\"row\",\"column\",\"media\",\"start\",\"center\",\"end\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"columns[].renderer.compose.layout\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"},{\"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\":\"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\",\"target-exists\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"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}],\"negativeExamples\":[]}",
|
|
32397
32593
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32398
|
-
"contentHash": "
|
|
32594
|
+
"contentHash": "be71d59ac2bffd6c0a83493f2641ec53979bae64bb9097293aaf535fab4d0907",
|
|
32399
32595
|
"sourceKind": "component_definition",
|
|
32400
32596
|
"sourceId": "praxis-table",
|
|
32401
32597
|
"corpusVersion": "1.0.0"
|
|
@@ -32993,9 +33189,9 @@
|
|
|
32993
33189
|
{
|
|
32994
33190
|
"chunkIndex": 93,
|
|
32995
33191
|
"chunkKind": "authoring_manifest",
|
|
32996
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"}}}}}",
|
|
33192
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"},\"min\":{\"type\":\"number\"},\"minExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"maxExpr\":{\"type\":\"string\"},\"scaleScope\":{\"enum\":[\"row\",\"page\"],\"description\":\"row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página.\"},\"compactValue\":{\"type\":\"boolean\",\"description\":\"Formata valores grandes em notação compacta (1.2M, 45.3K).\"},\"stepLabelLineClamp\":{\"enum\":[1,2],\"description\":\"Máximo de linhas para rótulos de etapas em processFlow.\"}},\"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\"}}}}}",
|
|
32997
33193
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32998
|
-
"contentHash": "
|
|
33194
|
+
"contentHash": "6643a2a1137c43af35c87a947ee7cf4eb659a8b0184368d34acf9fdc47d3aabd",
|
|
32999
33195
|
"sourceKind": "component_definition",
|
|
33000
33196
|
"sourceId": "praxis-table",
|
|
33001
33197
|
"corpusVersion": "1.0.0"
|
|
@@ -33023,9 +33219,9 @@
|
|
|
33023
33219
|
{
|
|
33024
33220
|
"chunkIndex": 96,
|
|
33025
33221
|
"chunkKind": "authoring_manifest",
|
|
33026
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]
|
|
33222
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33027
33223
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33028
|
-
"contentHash": "
|
|
33224
|
+
"contentHash": "55096f418d07172a30860d1289d882da488b3639a0401fff7aa4203660444755",
|
|
33029
33225
|
"sourceKind": "component_definition",
|
|
33030
33226
|
"sourceId": "praxis-table",
|
|
33031
33227
|
"corpusVersion": "1.0.0"
|
|
@@ -33033,9 +33229,9 @@
|
|
|
33033
33229
|
{
|
|
33034
33230
|
"chunkIndex": 97,
|
|
33035
33231
|
"chunkKind": "authoring_manifest",
|
|
33036
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"
|
|
33232
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"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\"},\"min\":{\"type\":\"number\"},\"minExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"maxExpr\":{\"type\":\"string\"},\"scaleScope\":{\"enum\":[\"row\",\"page\"],\"description\":\"row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página.\"},\"compactValue\":{\"type\":\"boolean\",\"description\":\"Formata valores grandes em notação compacta (1.2M, 45.3K).\"},\"stepLabelLineClamp\":{\"enum\":[1,2],\"description\":\"Máximo de linhas para rótulos de etapas em processFlow.\"}},\"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\"}}}}}}",
|
|
33037
33233
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33038
|
-
"contentHash": "
|
|
33234
|
+
"contentHash": "aac228bbc345e48fbefab36f046cfd554014bd49521c313b0530e25127faa32a",
|
|
33039
33235
|
"sourceKind": "component_definition",
|
|
33040
33236
|
"sourceId": "praxis-table",
|
|
33041
33237
|
"corpusVersion": "1.0.0"
|
|
@@ -33043,9 +33239,9 @@
|
|
|
33043
33239
|
{
|
|
33044
33240
|
"chunkIndex": 98,
|
|
33045
33241
|
"chunkKind": "authoring_manifest",
|
|
33046
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"
|
|
33242
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}]}}",
|
|
33047
33243
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33048
|
-
"contentHash": "
|
|
33244
|
+
"contentHash": "05aa70bc6012ad5a11a15159542348d6318da57140cc12dc6f96c36da4416725",
|
|
33049
33245
|
"sourceKind": "component_definition",
|
|
33050
33246
|
"sourceId": "praxis-table",
|
|
33051
33247
|
"corpusVersion": "1.0.0"
|
|
@@ -33053,6 +33249,16 @@
|
|
|
33053
33249
|
{
|
|
33054
33250
|
"chunkIndex": 99,
|
|
33055
33251
|
"chunkKind": "authoring_manifest",
|
|
33252
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\",\"media\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome.\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"wrap\":{\"type\":\"boolean\"},\"ellipsis\":{\"type\":\"boolean\"}}}}}",
|
|
33253
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33254
|
+
"contentHash": "6dc26c717e382db4dca132221c70ff4a54b2c5c7af949dc0e18a3f73a27764fb",
|
|
33255
|
+
"sourceKind": "component_definition",
|
|
33256
|
+
"sourceId": "praxis-table",
|
|
33257
|
+
"corpusVersion": "1.0.0"
|
|
33258
|
+
},
|
|
33259
|
+
{
|
|
33260
|
+
"chunkIndex": 100,
|
|
33261
|
+
"chunkKind": "authoring_manifest",
|
|
33056
33262
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}]}}",
|
|
33057
33263
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33058
33264
|
"contentHash": "700ffc3a575c53410e8aa6203412e647d3c1241851dc84827ad843fb007c5783",
|
|
@@ -33061,7 +33267,7 @@
|
|
|
33061
33267
|
"corpusVersion": "1.0.0"
|
|
33062
33268
|
},
|
|
33063
33269
|
{
|
|
33064
|
-
"chunkIndex":
|
|
33270
|
+
"chunkIndex": 101,
|
|
33065
33271
|
"chunkKind": "authoring_manifest",
|
|
33066
33272
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33067
33273
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33071,17 +33277,17 @@
|
|
|
33071
33277
|
"corpusVersion": "1.0.0"
|
|
33072
33278
|
},
|
|
33073
33279
|
{
|
|
33074
|
-
"chunkIndex":
|
|
33280
|
+
"chunkIndex": 102,
|
|
33075
33281
|
"chunkKind": "authoring_manifest",
|
|
33076
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}",
|
|
33282
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\",\"media\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome.\"},\"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\"]}]}",
|
|
33077
33283
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33078
|
-
"contentHash": "
|
|
33284
|
+
"contentHash": "0bd5b6255bcb84883a4c34268b6d9bec5c86344b61811334675c36ef54cc2818",
|
|
33079
33285
|
"sourceKind": "component_definition",
|
|
33080
33286
|
"sourceId": "praxis-table",
|
|
33081
33287
|
"corpusVersion": "1.0.0"
|
|
33082
33288
|
},
|
|
33083
33289
|
{
|
|
33084
|
-
"chunkIndex":
|
|
33290
|
+
"chunkIndex": 103,
|
|
33085
33291
|
"chunkKind": "authoring_manifest",
|
|
33086
33292
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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}}}",
|
|
33087
33293
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33091,7 +33297,7 @@
|
|
|
33091
33297
|
"corpusVersion": "1.0.0"
|
|
33092
33298
|
},
|
|
33093
33299
|
{
|
|
33094
|
-
"chunkIndex":
|
|
33300
|
+
"chunkIndex": 104,
|
|
33095
33301
|
"chunkKind": "authoring_manifest",
|
|
33096
33302
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33097
33303
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33101,7 +33307,7 @@
|
|
|
33101
33307
|
"corpusVersion": "1.0.0"
|
|
33102
33308
|
},
|
|
33103
33309
|
{
|
|
33104
|
-
"chunkIndex":
|
|
33310
|
+
"chunkIndex": 105,
|
|
33105
33311
|
"chunkKind": "authoring_manifest",
|
|
33106
33312
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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.\"}}}",
|
|
33107
33313
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33111,17 +33317,27 @@
|
|
|
33111
33317
|
"corpusVersion": "1.0.0"
|
|
33112
33318
|
},
|
|
33113
33319
|
{
|
|
33114
|
-
"chunkIndex":
|
|
33320
|
+
"chunkIndex": 106,
|
|
33115
33321
|
"chunkKind": "authoring_manifest",
|
|
33116
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]
|
|
33322
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33117
33323
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33118
|
-
"contentHash": "
|
|
33324
|
+
"contentHash": "74168301c8536886f360531a4546efcbbcb2933ae2a8c9f7a1c6c251650697d1",
|
|
33119
33325
|
"sourceKind": "component_definition",
|
|
33120
33326
|
"sourceId": "praxis-table",
|
|
33121
33327
|
"corpusVersion": "1.0.0"
|
|
33122
33328
|
},
|
|
33123
33329
|
{
|
|
33124
|
-
"chunkIndex":
|
|
33330
|
+
"chunkIndex": 107,
|
|
33331
|
+
"chunkKind": "authoring_manifest",
|
|
33332
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"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\"},\"min\":{\"type\":\"number\"},\"minExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"maxExpr\":{\"type\":\"string\"},\"scaleScope\":{\"enum\":[\"row\",\"page\"],\"description\":\"row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página.\"},\"compactValue\":{\"type\":\"boolean\",\"description\":\"Formata valores grandes em notação compacta (1.2M, 45.3K).\"},\"stepLabelLineClamp\":{\"enum\":[1,2],\"description\":\"Máximo de linhas para rótulos de etapas em processFlow.\"}},\"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\"}}}}}}",
|
|
33333
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33334
|
+
"contentHash": "6fe10ddb7e0d05f7db82256c18684ab63393a7293fdb2a46ae2cb9111500a308",
|
|
33335
|
+
"sourceKind": "component_definition",
|
|
33336
|
+
"sourceId": "praxis-table",
|
|
33337
|
+
"corpusVersion": "1.0.0"
|
|
33338
|
+
},
|
|
33339
|
+
{
|
|
33340
|
+
"chunkIndex": 108,
|
|
33125
33341
|
"chunkKind": "authoring_manifest",
|
|
33126
33342
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}]}}",
|
|
33127
33343
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33131,7 +33347,7 @@
|
|
|
33131
33347
|
"corpusVersion": "1.0.0"
|
|
33132
33348
|
},
|
|
33133
33349
|
{
|
|
33134
|
-
"chunkIndex":
|
|
33350
|
+
"chunkIndex": 109,
|
|
33135
33351
|
"chunkKind": "authoring_manifest",
|
|
33136
33352
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33137
33353
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33141,7 +33357,7 @@
|
|
|
33141
33357
|
"corpusVersion": "1.0.0"
|
|
33142
33358
|
},
|
|
33143
33359
|
{
|
|
33144
|
-
"chunkIndex":
|
|
33360
|
+
"chunkIndex": 110,
|
|
33145
33361
|
"chunkKind": "authoring_manifest",
|
|
33146
33362
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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}}}",
|
|
33147
33363
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33151,7 +33367,7 @@
|
|
|
33151
33367
|
"corpusVersion": "1.0.0"
|
|
33152
33368
|
},
|
|
33153
33369
|
{
|
|
33154
|
-
"chunkIndex":
|
|
33370
|
+
"chunkIndex": 111,
|
|
33155
33371
|
"chunkKind": "authoring_manifest",
|
|
33156
33372
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33157
33373
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33161,7 +33377,7 @@
|
|
|
33161
33377
|
"corpusVersion": "1.0.0"
|
|
33162
33378
|
},
|
|
33163
33379
|
{
|
|
33164
|
-
"chunkIndex":
|
|
33380
|
+
"chunkIndex": 112,
|
|
33165
33381
|
"chunkKind": "authoring_manifest",
|
|
33166
33382
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"}}}",
|
|
33167
33383
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33171,7 +33387,7 @@
|
|
|
33171
33387
|
"corpusVersion": "1.0.0"
|
|
33172
33388
|
},
|
|
33173
33389
|
{
|
|
33174
|
-
"chunkIndex":
|
|
33390
|
+
"chunkIndex": 113,
|
|
33175
33391
|
"chunkKind": "authoring_manifest",
|
|
33176
33392
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33177
33393
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33181,17 +33397,17 @@
|
|
|
33181
33397
|
"corpusVersion": "1.0.0"
|
|
33182
33398
|
},
|
|
33183
33399
|
{
|
|
33184
|
-
"chunkIndex":
|
|
33400
|
+
"chunkIndex": 114,
|
|
33185
33401
|
"chunkKind": "authoring_manifest",
|
|
33186
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"}}}}}",
|
|
33402
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"},\"min\":{\"type\":\"number\"},\"minExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"maxExpr\":{\"type\":\"string\"},\"scaleScope\":{\"enum\":[\"row\",\"page\"],\"description\":\"row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página.\"},\"compactValue\":{\"type\":\"boolean\",\"description\":\"Formata valores grandes em notação compacta (1.2M, 45.3K).\"},\"stepLabelLineClamp\":{\"enum\":[1,2],\"description\":\"Máximo de linhas para rótulos de etapas em processFlow.\"}},\"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\"}}}}}",
|
|
33187
33403
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33188
|
-
"contentHash": "
|
|
33404
|
+
"contentHash": "1d5c1ad9cae92e8912c60f1ae55bc6366ccc3eeba69009ac5eeaa721bbc99b4a",
|
|
33189
33405
|
"sourceKind": "component_definition",
|
|
33190
33406
|
"sourceId": "praxis-table",
|
|
33191
33407
|
"corpusVersion": "1.0.0"
|
|
33192
33408
|
},
|
|
33193
33409
|
{
|
|
33194
|
-
"chunkIndex":
|
|
33410
|
+
"chunkIndex": 115,
|
|
33195
33411
|
"chunkKind": "authoring_manifest",
|
|
33196
33412
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33197
33413
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33201,7 +33417,7 @@
|
|
|
33201
33417
|
"corpusVersion": "1.0.0"
|
|
33202
33418
|
},
|
|
33203
33419
|
{
|
|
33204
|
-
"chunkIndex":
|
|
33420
|
+
"chunkIndex": 116,
|
|
33205
33421
|
"chunkKind": "authoring_manifest",
|
|
33206
33422
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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}}",
|
|
33207
33423
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33211,17 +33427,27 @@
|
|
|
33211
33427
|
"corpusVersion": "1.0.0"
|
|
33212
33428
|
},
|
|
33213
33429
|
{
|
|
33214
|
-
"chunkIndex":
|
|
33430
|
+
"chunkIndex": 117,
|
|
33215
33431
|
"chunkKind": "authoring_manifest",
|
|
33216
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]
|
|
33432
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33217
33433
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33218
|
-
"contentHash": "
|
|
33434
|
+
"contentHash": "9bb7e4211727423222c98e13a60512a9f172b89bd18870d4d1774f43483b4f68",
|
|
33219
33435
|
"sourceKind": "component_definition",
|
|
33220
33436
|
"sourceId": "praxis-table",
|
|
33221
33437
|
"corpusVersion": "1.0.0"
|
|
33222
33438
|
},
|
|
33223
33439
|
{
|
|
33224
|
-
"chunkIndex":
|
|
33440
|
+
"chunkIndex": 118,
|
|
33441
|
+
"chunkKind": "authoring_manifest",
|
|
33442
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"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\"},\"min\":{\"type\":\"number\"},\"minExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"maxExpr\":{\"type\":\"string\"},\"scaleScope\":{\"enum\":[\"row\",\"page\"],\"description\":\"row normaliza a escala por linha; page sincroniza min/max entre as linhas visíveis da página.\"},\"compactValue\":{\"type\":\"boolean\",\"description\":\"Formata valores grandes em notação compacta (1.2M, 45.3K).\"},\"stepLabelLineClamp\":{\"enum\":[1,2],\"description\":\"Máximo de linhas para rótulos de etapas em processFlow.\"}},\"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\"}}}}}}",
|
|
33443
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33444
|
+
"contentHash": "616c6e08089fa04f69eba9046d6b322ff3cc4530503defab079dc4545a5b7f11",
|
|
33445
|
+
"sourceKind": "component_definition",
|
|
33446
|
+
"sourceId": "praxis-table",
|
|
33447
|
+
"corpusVersion": "1.0.0"
|
|
33448
|
+
},
|
|
33449
|
+
{
|
|
33450
|
+
"chunkIndex": 119,
|
|
33225
33451
|
"chunkKind": "authoring_manifest",
|
|
33226
33452
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}]}}",
|
|
33227
33453
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33231,17 +33457,17 @@
|
|
|
33231
33457
|
"corpusVersion": "1.0.0"
|
|
33232
33458
|
},
|
|
33233
33459
|
{
|
|
33234
|
-
"chunkIndex":
|
|
33460
|
+
"chunkIndex": 120,
|
|
33235
33461
|
"chunkKind": "authoring_manifest",
|
|
33236
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"}}}}}",
|
|
33462
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\",\"media\"],\"description\":\"row coloca os itens lado a lado na mesma linha; column empilha verticalmente, por exemplo foto em cima e código embaixo; media ancora o primeiro item (avatar, imagem ou ícone) à esquerda e empilha os demais em linhas ao lado, por exemplo foto + nome em destaque + código abaixo do nome.\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"wrap\":{\"type\":\"boolean\"},\"ellipsis\":{\"type\":\"boolean\"}}}}}",
|
|
33237
33463
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
33238
|
-
"contentHash": "
|
|
33464
|
+
"contentHash": "76787ebd1216165ffbffa669b36001afc7c4d923fbf83ff118401615e3616688",
|
|
33239
33465
|
"sourceKind": "component_definition",
|
|
33240
33466
|
"sourceId": "praxis-table",
|
|
33241
33467
|
"corpusVersion": "1.0.0"
|
|
33242
33468
|
},
|
|
33243
33469
|
{
|
|
33244
|
-
"chunkIndex":
|
|
33470
|
+
"chunkIndex": 121,
|
|
33245
33471
|
"chunkKind": "authoring_manifest",
|
|
33246
33472
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}]}}",
|
|
33247
33473
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33251,7 +33477,7 @@
|
|
|
33251
33477
|
"corpusVersion": "1.0.0"
|
|
33252
33478
|
},
|
|
33253
33479
|
{
|
|
33254
|
-
"chunkIndex":
|
|
33480
|
+
"chunkIndex": 122,
|
|
33255
33481
|
"chunkKind": "authoring_manifest",
|
|
33256
33482
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"}}}",
|
|
33257
33483
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33261,7 +33487,7 @@
|
|
|
33261
33487
|
"corpusVersion": "1.0.0"
|
|
33262
33488
|
},
|
|
33263
33489
|
{
|
|
33264
|
-
"chunkIndex":
|
|
33490
|
+
"chunkIndex": 123,
|
|
33265
33491
|
"chunkKind": "authoring_manifest",
|
|
33266
33492
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}}",
|
|
33267
33493
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33271,7 +33497,7 @@
|
|
|
33271
33497
|
"corpusVersion": "1.0.0"
|
|
33272
33498
|
},
|
|
33273
33499
|
{
|
|
33274
|
-
"chunkIndex":
|
|
33500
|
+
"chunkIndex": 124,
|
|
33275
33501
|
"chunkKind": "authoring_manifest",
|
|
33276
33502
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}}",
|
|
33277
33503
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33281,7 +33507,7 @@
|
|
|
33281
33507
|
"corpusVersion": "1.0.0"
|
|
33282
33508
|
},
|
|
33283
33509
|
{
|
|
33284
|
-
"chunkIndex":
|
|
33510
|
+
"chunkIndex": 125,
|
|
33285
33511
|
"chunkKind": "authoring_manifest",
|
|
33286
33512
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}",
|
|
33287
33513
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33291,7 +33517,7 @@
|
|
|
33291
33517
|
"corpusVersion": "1.0.0"
|
|
33292
33518
|
},
|
|
33293
33519
|
{
|
|
33294
|
-
"chunkIndex":
|
|
33520
|
+
"chunkIndex": 126,
|
|
33295
33521
|
"chunkKind": "authoring_manifest",
|
|
33296
33522
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}",
|
|
33297
33523
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33301,7 +33527,7 @@
|
|
|
33301
33527
|
"corpusVersion": "1.0.0"
|
|
33302
33528
|
},
|
|
33303
33529
|
{
|
|
33304
|
-
"chunkIndex":
|
|
33530
|
+
"chunkIndex": 127,
|
|
33305
33531
|
"chunkKind": "authoring_manifest",
|
|
33306
33532
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}",
|
|
33307
33533
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33311,7 +33537,7 @@
|
|
|
33311
33537
|
"corpusVersion": "1.0.0"
|
|
33312
33538
|
},
|
|
33313
33539
|
{
|
|
33314
|
-
"chunkIndex":
|
|
33540
|
+
"chunkIndex": 128,
|
|
33315
33541
|
"chunkKind": "authoring_manifest",
|
|
33316
33542
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\"]}]}",
|
|
33317
33543
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33321,7 +33547,7 @@
|
|
|
33321
33547
|
"corpusVersion": "1.0.0"
|
|
33322
33548
|
},
|
|
33323
33549
|
{
|
|
33324
|
-
"chunkIndex":
|
|
33550
|
+
"chunkIndex": 129,
|
|
33325
33551
|
"chunkKind": "authoring_manifest",
|
|
33326
33552
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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\":{\"presentation\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"header\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"visible\":{\"type\":\"boolean\"},\"text\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"position\":{\"enum\":[\"above\",\"inline\"]},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]}}},\"advancedAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"display\":{\"enum\":[\"icon\",\"text\",\"icon-text\"]},\"text\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"size\":{\"enum\":[\"compact\",\"standard\"]},\"position\":{\"enum\":[\"start\",\"end\"]}}},\"tokens\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"gap\":{\"type\":\"string\"},\"headerGap\":{\"type\":\"string\"},\"headerColor\":{\"type\":\"string\"},\"headerFontSize\":{\"type\":\"string\"},\"headerFontWeight\":{\"type\":\"string\"},\"iconSize\":{\"type\":\"string\"},\"actionGap\":{\"type\":\"string\"},\"actionFontSize\":{\"type\":\"string\"},\"actionFontWeight\":{\"type\":\"string\"}}}}},\"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.presentation\",\"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\"]}]}",
|
|
33327
33553
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33331,7 +33557,7 @@
|
|
|
33331
33557
|
"corpusVersion": "1.0.0"
|
|
33332
33558
|
},
|
|
33333
33559
|
{
|
|
33334
|
-
"chunkIndex":
|
|
33560
|
+
"chunkIndex": 130,
|
|
33335
33561
|
"chunkKind": "authoring_manifest",
|
|
33336
33562
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"filter.advanced.fields.remove\",\"title\":\"Remover campos dos filtros avançados\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"fields\"],\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"minItems\":1},\"selected\":{\"type\":\"boolean\"},\"alwaysVisible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"behavior.filtering.enabled\",\"value\":true},{\"kind\":\"merge-object\",\"path\":\"behavior.filtering.advancedFilters\"}],\"affectedPaths\":[\"behavior.filtering.enabled\",\"behavior.filtering.advancedFilters.enabled\",\"behavior.filtering.advancedFilters.settings\"],\"validators\":[\"filter-fields-exist\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"grouping.set\",\"title\":\"Definir agrupamento\",\"scope\":\"global\",\"targetKind\":\"grouping\",\"target\":{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"enabled\"],\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"expanded\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.grouping\"}],\"validators\":[\"grouping-fields-exist\"],\"affectedPaths\":[\"behavior.grouping\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"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\":\"compile-domain-patch\",\"handler\":\"table-detail-configure\",\"path\":\"behavior\",\"handlerContract\":{\"reads\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"writes\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"identityKeys\":[],\"failureModes\":[\"invalid-presentation\",\"conflicting-detail-activation\",\"selection-required\",\"invalid-height\",\"invalid-source-fallback\",\"invalid-inline-content\",\"undeclared-detail-action\"],\"description\":\"Aplica a operação declarada e acopla apresentação, expansão e seleção somente quando o controle correspondente é alterado explicitamente. Preserva conteúdo e grupos não editados.\"}}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.presentation\",\"behavior.detail.presentation.bottomStackPosition\",\"behavior.detail.presentation.emptyBehavior\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
33337
33563
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33341,7 +33567,7 @@
|
|
|
33341
33567
|
"corpusVersion": "1.0.0"
|
|
33342
33568
|
},
|
|
33343
33569
|
{
|
|
33344
|
-
"chunkIndex":
|
|
33570
|
+
"chunkIndex": 131,
|
|
33345
33571
|
"chunkKind": "authoring_manifest",
|
|
33346
33572
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"detail.source.configure\",\"title\":\"Configurar fonte do detalhe contextual\",\"scope\":\"global\",\"targetKind\":\"detail\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-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\"},\"contextMap\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"}},\"fallbackMode\":{\"enum\":[\"none\",\"inline\",\"resource\"]}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-detail-configure\",\"path\":\"behavior\",\"handlerContract\":{\"reads\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"writes\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"identityKeys\":[],\"failureModes\":[\"invalid-presentation\",\"conflicting-detail-activation\",\"selection-required\",\"invalid-height\",\"invalid-source-fallback\",\"invalid-inline-content\",\"undeclared-detail-action\"],\"description\":\"Aplica a operação declarada e acopla apresentação, expansão e seleção somente quando o controle correspondente é alterado explicitamente. Preserva conteúdo e grupos não editados.\"}}],\"validators\":[\"remote-resource-binding-safe\",\"detail-source-fallback-valid\",\"detail-inline-rich-content-valid\",\"detail-action-reference-declared\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.source\",\"behavior.detail.source.resourcePath\",\"behavior.detail.source.resourceAllowList\",\"behavior.detail.source.hypermedia\",\"behavior.detail.source.contextMap\",\"behavior.detail.source.fallbackMode\",\"behavior.detail.presentation\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"submissionImpact\":\"affects-remote-binding\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"detail.configure\",\"title\":\"Configurar detalhe contextual\",\"scope\":\"global\",\"targetKind\":\"detail\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"presentation\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"placement\":{\"type\":\"string\",\"enum\":[\"row\",\"bottom\"]},\"initiallyCollapsed\":{\"type\":\"boolean\"},\"bottomStackPosition\":{\"enum\":[\"beforeControls\",\"afterControls\"]},\"emptyBehavior\":{\"enum\":[\"message\",\"hide\"]}}},\"source\":{\"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\"},\"contextMap\":{\"type\":\"object\",\"additionalProperties\":{\"type\":\"string\"}},\"fallbackMode\":{\"enum\":[\"none\",\"inline\",\"resource\"]}}},\"schemaContract\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"},\"allowedNodes\":{\"type\":\"array\",\"items\":{\"enum\":[\"layout\",\"stack\",\"tabs\",\"tab\",\"text\",\"icon\",\"image\",\"badge\",\"avatar\",\"metric\",\"progress\",\"compose\",\"card\",\"mediaBlock\",\"cardGrid\",\"timeline\",\"value\",\"action\",\"actionBar\",\"list\",\"detailList\",\"formRef\",\"tableRef\",\"chartRef\",\"diagramEmbed\",\"richText\",\"richContent\",\"templateRef\"]}}}},\"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\",\"exclusiveMinimum\":0}}}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-detail-configure\",\"path\":\"behavior\",\"handlerContract\":{\"reads\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"writes\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"identityKeys\":[],\"failureModes\":[\"invalid-presentation\",\"conflicting-detail-activation\",\"selection-required\",\"invalid-height\",\"invalid-source-fallback\",\"invalid-inline-content\",\"undeclared-detail-action\"],\"description\":\"Aplica a operação declarada e acopla apresentação, expansão e seleção somente quando o controle correspondente é alterado explicitamente. Preserva conteúdo e grupos não editados.\"}}],\"validators\":[\"remote-resource-binding-safe\",\"detail-source-fallback-valid\",\"detail-inline-rich-content-valid\",\"detail-action-reference-declared\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.source\",\"behavior.detail.source.resourcePath\",\"behavior.detail.source.resourceAllowList\",\"behavior.detail.source.hypermedia\",\"behavior.detail.source.contextMap\",\"behavior.detail.source.fallbackMode\",\"behavior.detail.presentation\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"detail.presentation.configure\",\"title\":\"Configurar apresentação do detalhe\",\"description\":\"Bottom desabilita expansão e habilita seleção simples se estiver desabilitada; preserva seleção múltipla ativa. Row reabilita expansão. Somente um selecionado materializa o detalhe inferior.\",\"scope\":\"global\",\"targetKind\":\"detail\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"placement\":{\"type\":\"string\",\"enum\":[\"row\",\"bottom\"]},\"initiallyCollapsed\":{\"type\":\"boolean\"},\"bottomStackPosition\":{\"enum\":[\"beforeControls\",\"afterControls\"]},\"emptyBehavior\":{\"enum\":[\"message\",\"hide\"]}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-detail-configure\",\"path\":\"behavior\",\"handlerContract\":{\"reads\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"writes\":[\"behavior.detail\",\"behavior.expansion\",\"behavior.selection\"],\"identityKeys\":[],\"failureModes\":[\"invalid-presentation\",\"conflicting-detail-activation\",\"selection-required\",\"invalid-height\"],\"description\":\"Aplica a operação declarada e acopla apresentação, expansão e seleção somente quando o controle correspondente é alterado explicitamente. Preserva conteúdo e grupos não editados.\"}}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.presentation\",\"behavior.detail.presentation.bottomStackPosition\",\"behavior.detail.presentation.emptyBehavior\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"submissionImpact\":\"config-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\"]}]}",
|
|
33347
33573
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33351,7 +33577,7 @@
|
|
|
33351
33577
|
"corpusVersion": "1.0.0"
|
|
33352
33578
|
},
|
|
33353
33579
|
{
|
|
33354
|
-
"chunkIndex":
|
|
33580
|
+
"chunkIndex": 132,
|
|
33355
33581
|
"chunkKind": "authoring_manifest",
|
|
33356
33582
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"meta.idField.set\",\"title\":\"Definir campo de identidade\",\"scope\":\"global\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"idField\"],\"properties\":{\"idField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"meta.idField\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"meta.idField\"],\"validators\":[\"target-column-exists\",\"editor-round-trip-preserve\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.resizable.set\",\"title\":\"Definir redimensionamento da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"resizable\"],\"properties\":{\"resizable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].resizable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sortField.set\",\"title\":\"Definir campo de ordenacao da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sortField\"],\"properties\":{\"sortField\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sortField\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.computed.configure\",\"title\":\"Configurar coluna calculada\",\"scope\":\"column\",\"targetKind\":\"computedColumn\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"expression\"],\"properties\":{\"expression\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"outputType\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]},\"format\":{\"type\":\"string\",\"enum\":[\"shortDate\",\"mediumDate\",\"longDate\",\"fullDate\",\"MMM/yyyy\",\"shortTime\",\"short\",\"yyyy-MM-dd\",\"dd/MM/yyyy\",\"yyyy-MM-dd HH:mm\",\"1.0-0\",\"1.1-1\",\"1.2-2\",\"1.0-3\",\"1.0-0|nosep\",\"BRL|symbol|2\",\"USD|symbol|2\",\"EUR|symbol|2\",\"BRL|code|2\",\"USD|code|0\",\"BRL|symbol|2|nosep\",\"EUR|symbol|2|nosep\",\"1.0-0|x100\",\"1.1-1|x100\",\"1.2-2|x100\",\"none\",\"uppercase\",\"lowercase\",\"titlecase\",\"capitalize\",\"uppercase|truncate|50|...\",\"000.000.000-00\",\"true-false\",\"yes-no\",\"active-inactive\",\"on-off\",\"enabled-disabled\",\"custom|Sim|Nao\"]},\"dependencies\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"computed-expression-valid\",\"format-preset-supported\"],\"affectedPaths\":[\"columns[].computed\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"behavior.pagination.configure\",\"title\":\"Configurar paginacao\",\"scope\":\"global\",\"targetKind\":\"pagination\",\"target\":{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"pageSize\":{\"type\":\"number\",\"minimum\":1},\"pageSizeOptions\":{\"type\":\"array\",\"items\":{\"type\":\"number\",\"minimum\":1}},\"position\":{\"enum\":[\"top\",\"bottom\",\"both\"]},\"style\":{\"enum\":[\"default\",\"simple\",\"advanced\",\"compact\"]},\"advanced\":{\"type\":\"object\",\"properties\":{\"maxPageSize\":{\"type\":\"number\",\"minimum\":1}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.pagination\"}],\"affectedPaths\":[\"behavior.pagination\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.sorting.configure\",\"title\":\"Configurar ordenacao\",\"scope\":\"global\",\"targetKind\":\"sorting\",\"target\":{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"defaultSort\":{\"type\":\"object\"},\"allowClearSort\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.sorting\"}],\"affectedPaths\":[\"behavior.sorting\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.filtering.configure\",\"title\":\"Configurar filtragem\",\"scope\":\"global\",\"targetKind\":\"filter\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"strategy\":{\"enum\":[\"client\",\"server\"]},\"columnFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"defaultType\":{\"enum\":[\"text\",\"select\",\"date\",\"number\",\"boolean\"]},\"position\":{\"enum\":[\"header\",\"subheader\",\"sidebar\"]}}},\"advancedFilters\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"settings\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"filter\"]},\"showAdvanced\":{\"type\":\"boolean\"},\"allowSaveTags\":{\"type\":\"boolean\"},\"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\"]}]}",
|
|
33357
33583
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33361,7 +33587,7 @@
|
|
|
33361
33587
|
"corpusVersion": "1.0.0"
|
|
33362
33588
|
},
|
|
33363
33589
|
{
|
|
33364
|
-
"chunkIndex":
|
|
33590
|
+
"chunkIndex": 133,
|
|
33365
33591
|
"chunkKind": "authoring_manifest",
|
|
33366
33592
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"behavior.interaction.configure\",\"title\":\"Configurar interacao\",\"scope\":\"global\",\"targetKind\":\"interaction\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"rowClick\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"action\":{\"type\":\"string\"}}},\"keyboard\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"hover\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"highlightRow\":{\"type\":\"boolean\"}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"behavior.interaction\"}],\"affectedPaths\":[\"behavior.interaction\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"behavior.loading.configure\",\"title\":\"Configurar loading\",\"scope\":\"global\",\"targetKind\":\"loading\",\"target\":{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"type\":{\"enum\":[\"spinner\",\"skeleton\",\"progress\"]},\"position\":{\"enum\":[\"overlay\",\"inline\",\"replace\"]},\"text\":{\"type\":\"string\"},\"delay\":{\"type\":\"number\",\"minimum\":0},\"showForQuickOperations\":{\"type\":\"boolean\"},\"requestTimeoutMs\":{\"type\":\"number\",\"minimum\":0},\"allowCancel\":{\"type\":\"boolean\"},\"skeleton\":{\"type\":\"object\",\"properties\":{\"rows\":{\"type\":\"number\",\"minimum\":1,\"maximum\":12},\"animated\":{\"type\":\"boolean\"}}}}},\"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\"]},{\"operationId\":\"toolbar.configure\",\"title\":\"Configurar barra e título global da tabela\",\"description\":\"Configura a barra da tabela, incluindo o título global em toolbar.title. Não use para renomear o cabeçalho de uma coluna; nesse caso use column.header.set.\",\"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\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"toolbar\",\"toolbar.title\",\"toolbar.subtitle\",\"toolbar.icon\",\"toolbar.textAlign\",\"toolbar.appearance\",\"toolbar.appearance.tokens\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
33367
33593
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33371,7 +33597,7 @@
|
|
|
33371
33597
|
"corpusVersion": "1.0.0"
|
|
33372
33598
|
},
|
|
33373
33599
|
{
|
|
33374
|
-
"chunkIndex":
|
|
33600
|
+
"chunkIndex": 134,
|
|
33375
33601
|
"chunkKind": "authoring_manifest",
|
|
33376
33602
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"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\",\"description\":\"Configura a exportação governada da tabela, inclusive formatos e escopo. Para exportar apenas as linhas selecionadas, a decisão precisa manter a exportação habilitada, permitir seleção e executar a exportação usando apenas as linhas marcadas.\",\"scope\":\"global\",\"targetKind\":\"export\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"enabled\":{\"type\":\"boolean\"},\"formats\":{\"type\":\"array\",\"items\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]}},\"general\":{\"type\":\"object\",\"properties\":{\"includeHeaders\":{\"type\":\"boolean\"},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]},\"maxRows\":{\"type\":\"number\",\"minimum\":1}}},\"excel\":{\"type\":\"object\",\"properties\":{\"autoFitColumns\":{\"type\":\"boolean\"},\"visibleCurrentPage\":{\"type\":\"boolean\"}}},\"pdf\":{\"type\":\"object\",\"properties\":{\"orientation\":{\"enum\":[\"portrait\",\"landscape\"]},\"pageSize\":{\"enum\":[\"A4\",\"A3\",\"Letter\",\"Legal\"]}}},\"csv\":{\"type\":\"object\",\"properties\":{\"delimiter\":{\"enum\":[\",\",\";\",\"|\",\"\\\\t\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"export\"}],\"requiresConfirmation\":true,\"affectedPaths\":[\"export\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"tableRuntimeOperations.plan\",\"title\":\"Planejar operacoes runtime da tabela\",\"scope\":\"global\",\"targetKind\":\"runtimeOperation\",\"target\":{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"operations\"],\"properties\":{\"operations\":{\"type\":\"array\",\"minItems\":1,\"items\":{\"type\":\"object\",\"required\":[\"operationId\",\"input\"],\"properties\":{\"operationId\":{\"enum\":[\"table.filter.apply\",\"table.export.run\"]},\"input\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"criteria\":{\"type\":\"object\"},\"format\":{\"enum\":[\"excel\",\"pdf\",\"csv\",\"json\",\"print\"]},\"scope\":{\"enum\":[\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]}}},\"description\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"tableRuntimeOperations\"}],\"affectedPaths\":[\"tableRuntimeOperations\"],\"validators\":[\"runtime-operation-declared\"],\"submissionImpact\":\"none\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"appearance.configure\",\"title\":\"Configurar aparencia\",\"scope\":\"global\",\"targetKind\":\"appearance\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"density\":{\"enum\":[\"compact\",\"comfortable\",\"spacious\"]},\"borders\":{\"type\":\"object\",\"properties\":{\"showRowBorders\":{\"type\":\"boolean\"},\"showColumnBorders\":{\"type\":\"boolean\"},\"showOuterBorder\":{\"type\":\"boolean\"},\"style\":{\"enum\":[\"solid\",\"dashed\",\"dotted\"]}}},\"colors\":{\"type\":\"object\",\"properties\":{\"alternateRowBackground\":{\"type\":\"string\"},\"hoverBackground\":{\"type\":\"string\"}}},\"typography\":{\"type\":\"object\",\"properties\":{\"fontSize\":{\"type\":\"string\"},\"headerFontWeight\":{\"type\":\"string\"}}},\"spacing\":{\"type\":\"object\",\"properties\":{\"cellPadding\":{\"type\":\"string\"}}},\"responsive\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"object\",\"properties\":{\"horizontalScroll\":{\"type\":\"boolean\"},\"cardMode\":{\"type\":\"boolean\"},\"priorityColumns\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"breakpoints\":{\"type\":\"object\",\"properties\":{\"mobile\":{\"type\":\"number\",\"minimum\":0}}}}},\"animations\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"elevation\":{\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"number\",\"minimum\":0}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"appearance\"}],\"validators\":[\"css-style-safe\"],\"affectedPaths\":[\"appearance\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"messages.configure\",\"title\":\"Configurar mensagens\",\"scope\":\"global\",\"targetKind\":\"messages\",\"target\":{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"minProperties\":1,\"properties\":{\"states\":{\"type\":\"object\",\"properties\":{\"empty\":{\"type\":\"string\"},\"loading\":{\"type\":\"string\"}}},\"actions\":{\"type\":\"object\",\"properties\":{\"confirmations\":{\"type\":\"object\",\"properties\":{\"delete\":{\"type\":\"string\"}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"messages\"}],\"affectedPaths\":[\"messages\"],\"validators\":[\"editor-round-trip-preserve\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
33377
33603
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33381,7 +33607,7 @@
|
|
|
33381
33607
|
"corpusVersion": "1.0.0"
|
|
33382
33608
|
},
|
|
33383
33609
|
{
|
|
33384
|
-
"chunkIndex":
|
|
33610
|
+
"chunkIndex": 135,
|
|
33385
33611
|
"chunkKind": "authoring_manifest",
|
|
33386
33612
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"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\"]}]}",
|
|
33387
33613
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33391,7 +33617,7 @@
|
|
|
33391
33617
|
"corpusVersion": "1.0.0"
|
|
33392
33618
|
},
|
|
33393
33619
|
{
|
|
33394
|
-
"chunkIndex":
|
|
33620
|
+
"chunkIndex": 136,
|
|
33395
33621
|
"chunkKind": "authoring_manifest",
|
|
33396
33622
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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.\"},{\"validatorId\":\"detail-source-fallback-valid\",\"level\":\"error\",\"code\":\"TB025\",\"description\":\"O fallback do detalhe deve apontar para uma fonte completa e diferente da fonte principal, evitando ciclos e configurações inalcançáveis.\"},{\"validatorId\":\"detail-inline-rich-content-valid\",\"level\":\"error\",\"code\":\"TB026\",\"description\":\"Rich Content embutido no detalhe deve passar pelo validador canônico de documento e pela política de classes raiz.\"},{\"validatorId\":\"detail-action-reference-declared\",\"level\":\"error\",\"code\":\"TB027\",\"description\":\"Toda actionId embutida no detalhe local deve corresponder a uma ação declarada em actions.row.actions[].\"}]}",
|
|
33397
33623
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33401,7 +33627,7 @@
|
|
|
33401
33627
|
"corpusVersion": "1.0.0"
|
|
33402
33628
|
},
|
|
33403
33629
|
{
|
|
33404
|
-
"chunkIndex":
|
|
33630
|
+
"chunkIndex": 137,
|
|
33405
33631
|
"chunkKind": "authoring_manifest",
|
|
33406
33632
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"roundTripRequirements\",\"roundTripRequirements\":[\"preserve-column-order\",\"normalize-enum-values\",\"maintain-renderer-precedence\",\"preserve-meta-ids\",\"preserve-detail-source-fallback-and-rich-content\"]}",
|
|
33407
33633
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33411,7 +33637,7 @@
|
|
|
33411
33637
|
"corpusVersion": "1.0.0"
|
|
33412
33638
|
},
|
|
33413
33639
|
{
|
|
33414
|
-
"chunkIndex":
|
|
33640
|
+
"chunkIndex": 138,
|
|
33415
33641
|
"chunkKind": "authoring_manifest",
|
|
33416
33642
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"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}]}}",
|
|
33417
33643
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33421,7 +33647,7 @@
|
|
|
33421
33647
|
"corpusVersion": "1.0.0"
|
|
33422
33648
|
},
|
|
33423
33649
|
{
|
|
33424
|
-
"chunkIndex":
|
|
33650
|
+
"chunkIndex": 139,
|
|
33425
33651
|
"chunkKind": "authoring_manifest",
|
|
33426
33652
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"examples\",\"examples\":[{\"id\":\"configure-table-filter-heading-and-action\",\"request\":\"Show a Filtros heading above the table filters and label the advanced action Mais filtros.\",\"operationId\":\"filter.advanced.configure\",\"params\":{\"enabled\":true,\"settings\":{\"presentation\":{\"header\":{\"visible\":true,\"text\":\"Filtros\",\"position\":\"above\"},\"advancedAction\":{\"display\":\"icon-text\",\"text\":\"Mais filtros\",\"position\":\"end\"}}}},\"isPositive\":true},{\"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\":\"add-email-column-imperative\",\"request\":\"Adicione a coluna e-mail à tabela de funcionários e mantenha as demais colunas\",\"operationId\":\"column.add\",\"params\":{\"field\":\"email\",\"header\":\"E-mail\",\"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}]}",
|
|
33427
33653
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33431,7 +33657,7 @@
|
|
|
33431
33657
|
"corpusVersion": "1.0.0"
|
|
33432
33658
|
},
|
|
33433
33659
|
{
|
|
33434
|
-
"chunkIndex":
|
|
33660
|
+
"chunkIndex": 140,
|
|
33435
33661
|
"chunkKind": "authoring_manifest",
|
|
33436
33662
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"examples\",\"examples\":[{\"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\":\"moving-column-to-start-is-not-sticky\",\"request\":\"Mova a coluna salário líquido da tabela para o início\",\"operationId\":\"column.sticky.set\",\"target\":\"salarioLiquido\",\"isPositive\":false},{\"id\":\"disable-cpf-sorting\",\"request\":\"Não permita ordenar pela coluna CPF\",\"operationId\":\"column.sortable.set\",\"target\":\"cpf\",\"params\":{\"sortable\":false},\"isPositive\":true},{\"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\":\"move-net-salary-column-to-start\",\"request\":\"Mova a coluna salário líquido da tabela para o início\",\"operationId\":\"column.order.set\",\"target\":\"salarioLiquido\",\"params\":{\"order\":0},\"isPositive\":true},{\"id\":\"pinning-column-is-not-reordering\",\"request\":\"Fixe a coluna funcionário no início durante a rolagem horizontal\",\"operationId\":\"column.order.set\",\"target\":\"funcionario\",\"isPositive\":false},{\"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\":\"rename-global-table-title-human\",\"request\":\"Altere o titulo da tabela para Folha operacional revisada\",\"operationId\":\"toolbar.configure\",\"params\":{\"title\":\"Folha operacional revisada\"},\"isPositive\":true},{\"id\":\"column-title-is-not-global-table-title-human\",\"request\":\"Altere o título da coluna Salário Líquido para Valor líquido\",\"operationId\":\"toolbar.configure\",\"target\":\"salarioLiquido\",\"isPositive\":false},{\"id\":\"selected-rows-export-is-not-toolbar-presentation\",\"request\":\"Habilite um botão para exportar apenas as linhas selecionadas\",\"operationId\":\"toolbar.configure\",\"isPositive\":false},{\"id\":\"configure-selected-rows-export\",\"request\":\"Habilite em uma tabela o botão para exportar apenas as linhas selecionadas\",\"operationId\":\"export.configure\",\"params\":{\"enabled\":true,\"general\":{\"scope\":\"selected\"}},\"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}]}",
|
|
33437
33663
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33441,7 +33667,7 @@
|
|
|
33441
33667
|
"corpusVersion": "1.0.0"
|
|
33442
33668
|
},
|
|
33443
33669
|
{
|
|
33444
|
-
"chunkIndex":
|
|
33670
|
+
"chunkIndex": 141,
|
|
33445
33671
|
"chunkKind": "authoring_manifest",
|
|
33446
33672
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"examples\",\"examples\":[{\"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}]}",
|
|
33447
33673
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -33451,7 +33677,7 @@
|
|
|
33451
33677
|
"corpusVersion": "1.0.0"
|
|
33452
33678
|
},
|
|
33453
33679
|
{
|
|
33454
|
-
"chunkIndex":
|
|
33680
|
+
"chunkIndex": 142,
|
|
33455
33681
|
"chunkKind": "context_pack",
|
|
33456
33682
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext\",\"componentContext\":{\"version\":\"v1\"}}",
|
|
33457
33683
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33461,7 +33687,7 @@
|
|
|
33461
33687
|
"corpusVersion": "1.0.0"
|
|
33462
33688
|
},
|
|
33463
33689
|
{
|
|
33464
|
-
"chunkIndex":
|
|
33690
|
+
"chunkIndex": 143,
|
|
33465
33691
|
"chunkKind": "context_pack",
|
|
33466
33692
|
"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\"}]}}}}",
|
|
33467
33693
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33471,7 +33697,7 @@
|
|
|
33471
33697
|
"corpusVersion": "1.0.0"
|
|
33472
33698
|
},
|
|
33473
33699
|
{
|
|
33474
|
-
"chunkIndex":
|
|
33700
|
+
"chunkIndex": 144,
|
|
33475
33701
|
"chunkKind": "context_pack",
|
|
33476
33702
|
"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.detail.source.mode\":{\"mode\":\"enum\",\"options\":[{\"value\":\"inline\",\"label\":\"Inline\"},{\"value\":\"resource\",\"label\":\"Resource\"},{\"value\":\"resourcePath\",\"label\":\"Resource Path\"},{\"value\":\"hypermedia\",\"label\":\"Hypermedia\"}]},\"behavior.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.detail.source.resourcePath.method\":{\"mode\":\"enum\",\"options\":[{\"value\":\"GET\",\"label\":\"GET\"},{\"value\":\"POST\",\"label\":\"POST\"}]},\"behavior.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.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.detail.rendering.strategy\":{\"mode\":\"enum\",\"options\":[{\"value\":\"registry\",\"label\":\"Registry\"}]},\"behavior.detail.rendering.hostLayout\":{\"mode\":\"enum\",\"options\":[{\"value\":\"auto\",\"label\":\"Auto\"},{\"value\":\"stack\",\"label\":\"Stack\"},{\"value\":\"tabs\",\"label\":\"Tabs\"}]},\"behavior.detail.rendering.fallbackNodePolicy\":{\"mode\":\"enum\",\"options\":[{\"value\":\"failClosed\",\"label\":\"Fail Closed\"},{\"value\":\"renderPlaceholder\",\"label\":\"Render Placeholder\"}]},\"behavior.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\"}]},\"columns[].conditionalRenderers[].renderer.image.fit\":{\"mode\":\"enum\",\"options\":[{\"value\":\"cover\",\"label\":\"Cover\"},{\"value\":\"contain\",\"label\":\"Contain\"}]}}}}",
|
|
33477
33703
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33481,7 +33707,7 @@
|
|
|
33481
33707
|
"corpusVersion": "1.0.0"
|
|
33482
33708
|
},
|
|
33483
33709
|
{
|
|
33484
|
-
"chunkIndex":
|
|
33710
|
+
"chunkIndex": 145,
|
|
33485
33711
|
"chunkKind": "context_pack",
|
|
33486
33712
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.optionsByPath\",\"componentContext\":{\"optionsByPath\":{\"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\"}]}}}}",
|
|
33487
33713
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33491,7 +33717,7 @@
|
|
|
33491
33717
|
"corpusVersion": "1.0.0"
|
|
33492
33718
|
},
|
|
33493
33719
|
{
|
|
33494
|
-
"chunkIndex":
|
|
33720
|
+
"chunkIndex": 146,
|
|
33495
33721
|
"chunkKind": "context_pack",
|
|
33496
33722
|
"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\"}]}}}]}}]}}",
|
|
33497
33723
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33501,7 +33727,7 @@
|
|
|
33501
33727
|
"corpusVersion": "1.0.0"
|
|
33502
33728
|
},
|
|
33503
33729
|
{
|
|
33504
|
-
"chunkIndex":
|
|
33730
|
+
"chunkIndex": 147,
|
|
33505
33731
|
"chunkKind": "context_pack",
|
|
33506
33732
|
"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}}}}]}}",
|
|
33507
33733
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33511,7 +33737,7 @@
|
|
|
33511
33737
|
"corpusVersion": "1.0.0"
|
|
33512
33738
|
},
|
|
33513
33739
|
{
|
|
33514
|
-
"chunkIndex":
|
|
33740
|
+
"chunkIndex": 148,
|
|
33515
33741
|
"chunkKind": "context_pack",
|
|
33516
33742
|
"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\":{\"detail\":{\"schemaContract\":{\"kind\":\"praxis.detail.schema\",\"version\":\"1.0.0\"},\"source\":{\"mode\":\"inline\",\"inlineSchema\":{\"layout\":\"stack\",\"items\":[]}},\"rendering\":{\"strategy\":\"registry\",\"registryId\":\"praxis.detail.default\"}},\"expansion\":{\"enabled\":true,\"contractVersion\":\"1.0.0\",\"interaction\":{\"trigger\":\"icon\",\"keyboard\":{\"profile\":\"disclosure\"}},\"limits\":{\"allowMultiple\":false,\"maxExpandedRows\":1,\"onOverflow\":\"collapseOldest\"}}}}},{\"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\":{\"detail\":{\"source\":{\"mode\":\"{{value}}\"}},\"expansion\":{}}}},{\"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\":{\"detail\":{\"source\":{\"mode\":\"resource\",\"resource\":{\"kind\":\"{{params.kind}}\",\"id\":\"{{params.id}}\",\"version\":\"{{params.version}}\"}}},\"expansion\":{}}}},{\"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}}\"}}}]}]}}]}}",
|
|
33517
33743
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33521,7 +33747,7 @@
|
|
|
33521
33747
|
"corpusVersion": "1.0.0"
|
|
33522
33748
|
},
|
|
33523
33749
|
{
|
|
33524
|
-
"chunkIndex":
|
|
33750
|
+
"chunkIndex": 149,
|
|
33525
33751
|
"chunkKind": "context_pack",
|
|
33526
33752
|
"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.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[] de pathname; o runtime resolve contra document.baseURI, exige origem do host, compara o pathname canonicalizado e bloqueia URL absoluta/scheme, redirects e representações ambíguas. A allowlist é guardrail do documento, não autorização nem política por método; o backend continua responsável por autorizar GET/POST.\",\"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.\"]}}",
|
|
33527
33753
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33531,7 +33757,7 @@
|
|
|
33531
33757
|
"corpusVersion": "1.0.0"
|
|
33532
33758
|
},
|
|
33533
33759
|
{
|
|
33534
|
-
"chunkIndex":
|
|
33760
|
+
"chunkIndex": 150,
|
|
33535
33761
|
"chunkKind": "context_pack",
|
|
33536
33762
|
"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\"]}}}",
|
|
33537
33763
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33541,7 +33767,7 @@
|
|
|
33541
33767
|
"corpusVersion": "1.0.0"
|
|
33542
33768
|
},
|
|
33543
33769
|
{
|
|
33544
|
-
"chunkIndex":
|
|
33770
|
+
"chunkIndex": 151,
|
|
33545
33771
|
"chunkKind": "context_pack",
|
|
33546
33772
|
"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\\\" } }] }\"]}}}",
|
|
33547
33773
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33551,7 +33777,7 @@
|
|
|
33551
33777
|
"corpusVersion": "1.0.0"
|
|
33552
33778
|
},
|
|
33553
33779
|
{
|
|
33554
|
-
"chunkIndex":
|
|
33780
|
+
"chunkIndex": 152,
|
|
33555
33781
|
"chunkKind": "context_pack",
|
|
33556
33782
|
"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 nao possui renderer canonico no runtime.\",\"position deve ser overlay/inline/replace e e materializada pelo runtime.\",\"delay evita flicker; showForQuickOperations=true ignora o delay visual.\",\"requestTimeoutMs evita espera indefinida e materializa erro recuperavel.\",\"allowCancel aborta o request remoto sem descartar dados estaveis ja renderizados.\",\"skeleton.rows deve ser numero positivo.\"],\"examples\":[\"{ behavior: { loading: { type: \\\"skeleton\\\", position: \\\"replace\\\", delay: 200, showForQuickOperations: false, requestTimeoutMs: 30000, allowCancel: true, 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 } } }\"]}}}",
|
|
33557
33783
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33561,7 +33787,7 @@
|
|
|
33561
33787
|
"corpusVersion": "1.0.0"
|
|
33562
33788
|
},
|
|
33563
33789
|
{
|
|
33564
|
-
"chunkIndex":
|
|
33790
|
+
"chunkIndex": 153,
|
|
33565
33791
|
"chunkKind": "context_pack",
|
|
33566
33792
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"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.\",\"autoFit habilita duplo clique no separador para ajustar a coluna ao conteúdo renderizado.\",\"persistWidths salva ajustes do usuario.\"],\"examples\":[\"{ behavior: { resizing: { enabled: true, minColumnWidth: 80, maxColumnWidth: 520, autoFit: true, 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\\\" } } }\"]},\"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\\\" } } }\"]}}}",
|
|
33567
33793
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33571,7 +33797,7 @@
|
|
|
33571
33797
|
"corpusVersion": "1.0.0"
|
|
33572
33798
|
},
|
|
33573
33799
|
{
|
|
33574
|
-
"chunkIndex":
|
|
33800
|
+
"chunkIndex": 154,
|
|
33575
33801
|
"chunkKind": "context_pack",
|
|
33576
33802
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"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\\\" } }\"]},\"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 } }\"]}}}",
|
|
33577
33803
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33581,7 +33807,7 @@
|
|
|
33581
33807
|
"corpusVersion": "1.0.0"
|
|
33582
33808
|
},
|
|
33583
33809
|
{
|
|
33584
|
-
"chunkIndex":
|
|
33810
|
+
"chunkIndex": 155,
|
|
33585
33811
|
"chunkKind": "context_pack",
|
|
33586
33812
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"aiConcepts\",\"aiConcepts\":{\"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\\\" }] } }\"]},\"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\\\" } }\"]}}}",
|
|
33587
33813
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -33591,7 +33817,7 @@
|
|
|
33591
33817
|
"corpusVersion": "1.0.0"
|
|
33592
33818
|
},
|
|
33593
33819
|
{
|
|
33594
|
-
"chunkIndex":
|
|
33820
|
+
"chunkIndex": 156,
|
|
33595
33821
|
"chunkKind": "recipe",
|
|
33596
33822
|
"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\"}}}}}",
|
|
33597
33823
|
"sourcePointer": "examples/ai-recipes/praxis-table.actions.json",
|
|
@@ -33601,7 +33827,7 @@
|
|
|
33601
33827
|
"corpusVersion": "1.0.0"
|
|
33602
33828
|
},
|
|
33603
33829
|
{
|
|
33604
|
-
"chunkIndex":
|
|
33830
|
+
"chunkIndex": 157,
|
|
33605
33831
|
"chunkKind": "recipe",
|
|
33606
33832
|
"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\"]}}}",
|
|
33607
33833
|
"sourcePointer": "examples/ai-recipes/praxis-table.behavior.json",
|
|
@@ -33611,7 +33837,7 @@
|
|
|
33611
33837
|
"corpusVersion": "1.0.0"
|
|
33612
33838
|
},
|
|
33613
33839
|
{
|
|
33614
|
-
"chunkIndex":
|
|
33840
|
+
"chunkIndex": 158,
|
|
33615
33841
|
"chunkKind": "recipe",
|
|
33616
33842
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_comment\",\"_comment\":\"Variant focused on columns and renderers for Praxis Table.\"}",
|
|
33617
33843
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -33621,7 +33847,7 @@
|
|
|
33621
33847
|
"corpusVersion": "1.0.0"
|
|
33622
33848
|
},
|
|
33623
33849
|
{
|
|
33624
|
-
"chunkIndex":
|
|
33850
|
+
"chunkIndex": 159,
|
|
33625
33851
|
"chunkKind": "recipe",
|
|
33626
33852
|
"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\"]}}",
|
|
33627
33853
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -33631,7 +33857,7 @@
|
|
|
33631
33857
|
"corpusVersion": "1.0.0"
|
|
33632
33858
|
},
|
|
33633
33859
|
{
|
|
33634
|
-
"chunkIndex":
|
|
33860
|
+
"chunkIndex": 160,
|
|
33635
33861
|
"chunkKind": "recipe",
|
|
33636
33862
|
"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\"}}}",
|
|
33637
33863
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -33641,17 +33867,27 @@
|
|
|
33641
33867
|
"corpusVersion": "1.0.0"
|
|
33642
33868
|
},
|
|
33643
33869
|
{
|
|
33644
|
-
"chunkIndex":
|
|
33870
|
+
"chunkIndex": 161,
|
|
33645
33871
|
"chunkKind": "recipe",
|
|
33646
|
-
"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\"}}}
|
|
33872
|
+
"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\",\"quickView\":{\"recordOpen\":{\"sourceIdentityField\":\"customerId\",\"target\":{\"resourceKey\":\"crm.customers\",\"surfaceId\":\"view\"}},\"detailPresentation\":\"drawer\"},\"renderer\":{\"type\":\"link\",\"link\":{\"text\":\"View profile\",\"textField\":\"name\",\"href\":\"https://example.com/profile\",\"hrefField\":\"profileUrl\",\"target\":\"_blank\",\"rel\":\"noopener\",\"quickView\":{\"recordOpen\":{\"sourceIdentityField\":\"customerId\",\"target\":{\"resourceKey\":\"crm.customers\",\"surfaceId\":\"view\"}},\"detailPresentation\":\"drawer\"}}}},{\"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\"}}}]}",
|
|
33647
33873
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
33648
|
-
"contentHash": "
|
|
33874
|
+
"contentHash": "c16fff690e26a9374f85ff1f5267386787ada431f34d0017a20a336cf6167d34",
|
|
33649
33875
|
"sourceKind": "component_definition",
|
|
33650
33876
|
"sourceId": "praxis-table",
|
|
33651
33877
|
"corpusVersion": "1.0.0"
|
|
33652
33878
|
},
|
|
33653
33879
|
{
|
|
33654
|
-
"chunkIndex":
|
|
33880
|
+
"chunkIndex": 162,
|
|
33881
|
+
"chunkKind": "recipe",
|
|
33882
|
+
"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}]}",
|
|
33883
|
+
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
33884
|
+
"contentHash": "fdf3c2e78b3dcde53c30d0eef99e9de394cc0d15e701f4545c1c53d013f7930a",
|
|
33885
|
+
"sourceKind": "component_definition",
|
|
33886
|
+
"sourceId": "praxis-table",
|
|
33887
|
+
"corpusVersion": "1.0.0"
|
|
33888
|
+
},
|
|
33889
|
+
{
|
|
33890
|
+
"chunkIndex": 163,
|
|
33655
33891
|
"chunkKind": "recipe",
|
|
33656
33892
|
"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\"}]}",
|
|
33657
33893
|
"sourcePointer": "examples/ai-recipes/praxis-table.computed.json",
|
|
@@ -33661,7 +33897,7 @@
|
|
|
33661
33897
|
"corpusVersion": "1.0.0"
|
|
33662
33898
|
},
|
|
33663
33899
|
{
|
|
33664
|
-
"chunkIndex":
|
|
33900
|
+
"chunkIndex": 164,
|
|
33665
33901
|
"chunkKind": "recipe",
|
|
33666
33902
|
"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\"}]}",
|
|
33667
33903
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-currency.json",
|
|
@@ -33671,7 +33907,7 @@
|
|
|
33671
33907
|
"corpusVersion": "1.0.0"
|
|
33672
33908
|
},
|
|
33673
33909
|
{
|
|
33674
|
-
"chunkIndex":
|
|
33910
|
+
"chunkIndex": 165,
|
|
33675
33911
|
"chunkKind": "recipe",
|
|
33676
33912
|
"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\"}]}",
|
|
33677
33913
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-date.json",
|
|
@@ -33681,7 +33917,7 @@
|
|
|
33681
33917
|
"corpusVersion": "1.0.0"
|
|
33682
33918
|
},
|
|
33683
33919
|
{
|
|
33684
|
-
"chunkIndex":
|
|
33920
|
+
"chunkIndex": 166,
|
|
33685
33921
|
"chunkKind": "recipe",
|
|
33686
33922
|
"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\"}]}",
|
|
33687
33923
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-number.json",
|
|
@@ -33691,7 +33927,7 @@
|
|
|
33691
33927
|
"corpusVersion": "1.0.0"
|
|
33692
33928
|
},
|
|
33693
33929
|
{
|
|
33694
|
-
"chunkIndex":
|
|
33930
|
+
"chunkIndex": 167,
|
|
33695
33931
|
"chunkKind": "recipe",
|
|
33696
33932
|
"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\"}]}",
|
|
33697
33933
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-percentage.json",
|
|
@@ -33701,7 +33937,7 @@
|
|
|
33701
33937
|
"corpusVersion": "1.0.0"
|
|
33702
33938
|
},
|
|
33703
33939
|
{
|
|
33704
|
-
"chunkIndex":
|
|
33940
|
+
"chunkIndex": 168,
|
|
33705
33941
|
"chunkKind": "recipe",
|
|
33706
33942
|
"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\"]},{\"id\":\"renderer-micro-visualization\",\"registryKey\":\"praxis-table\",\"variantId\":\"renderer-micro-visualization\",\"aiDescription\":\"Compact cell micro-visualizations: bullet, line/sparkline, comparison, stackedBar, radial, harveyBall, delta, and processFlow.\",\"tags\":[\"renderer\",\"microVisualization\",\"bullet\",\"sparkline\",\"comparison\",\"processFlow\",\"kpi\"],\"useWhen\":\"user asks to render compact charts, sparklines, SLA bullets, budget comparisons, or process flows inside table cells\",\"examplePrompts\":[\"show SLA as a bullet chart with target and thresholds\",\"add a page-scaled sparkline trend column\",\"compare paid vs planned budget with compact values\"]}]}}",
|
|
33707
33943
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33711,7 +33947,7 @@
|
|
|
33711
33947
|
"corpusVersion": "1.0.0"
|
|
33712
33948
|
},
|
|
33713
33949
|
{
|
|
33714
|
-
"chunkIndex":
|
|
33950
|
+
"chunkIndex": 169,
|
|
33715
33951
|
"chunkKind": "recipe",
|
|
33716
33952
|
"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\"}}}",
|
|
33717
33953
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33721,7 +33957,7 @@
|
|
|
33721
33957
|
"corpusVersion": "1.0.0"
|
|
33722
33958
|
},
|
|
33723
33959
|
{
|
|
33724
|
-
"chunkIndex":
|
|
33960
|
+
"chunkIndex": 170,
|
|
33725
33961
|
"chunkKind": "recipe",
|
|
33726
33962
|
"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\"}}}]}",
|
|
33727
33963
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33731,7 +33967,7 @@
|
|
|
33731
33967
|
"corpusVersion": "1.0.0"
|
|
33732
33968
|
},
|
|
33733
33969
|
{
|
|
33734
|
-
"chunkIndex":
|
|
33970
|
+
"chunkIndex": 171,
|
|
33735
33971
|
"chunkKind": "recipe",
|
|
33736
33972
|
"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}]}",
|
|
33737
33973
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33741,7 +33977,7 @@
|
|
|
33741
33977
|
"corpusVersion": "1.0.0"
|
|
33742
33978
|
},
|
|
33743
33979
|
{
|
|
33744
|
-
"chunkIndex":
|
|
33980
|
+
"chunkIndex": 172,
|
|
33745
33981
|
"chunkKind": "recipe",
|
|
33746
33982
|
"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\"]}}}",
|
|
33747
33983
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33751,7 +33987,7 @@
|
|
|
33751
33987
|
"corpusVersion": "1.0.0"
|
|
33752
33988
|
},
|
|
33753
33989
|
{
|
|
33754
|
-
"chunkIndex":
|
|
33990
|
+
"chunkIndex": 173,
|
|
33755
33991
|
"chunkKind": "recipe",
|
|
33756
33992
|
"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}}}",
|
|
33757
33993
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33761,7 +33997,7 @@
|
|
|
33761
33997
|
"corpusVersion": "1.0.0"
|
|
33762
33998
|
},
|
|
33763
33999
|
{
|
|
33764
|
-
"chunkIndex":
|
|
34000
|
+
"chunkIndex": 174,
|
|
33765
34001
|
"chunkKind": "recipe",
|
|
33766
34002
|
"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\"}]}}}",
|
|
33767
34003
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33771,7 +34007,7 @@
|
|
|
33771
34007
|
"corpusVersion": "1.0.0"
|
|
33772
34008
|
},
|
|
33773
34009
|
{
|
|
33774
|
-
"chunkIndex":
|
|
34010
|
+
"chunkIndex": 175,
|
|
33775
34011
|
"chunkKind": "recipe",
|
|
33776
34012
|
"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\"}}}}}",
|
|
33777
34013
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33781,7 +34017,7 @@
|
|
|
33781
34017
|
"corpusVersion": "1.0.0"
|
|
33782
34018
|
},
|
|
33783
34019
|
{
|
|
33784
|
-
"chunkIndex":
|
|
34020
|
+
"chunkIndex": 176,
|
|
33785
34021
|
"chunkKind": "recipe",
|
|
33786
34022
|
"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}]}}",
|
|
33787
34023
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33791,7 +34027,7 @@
|
|
|
33791
34027
|
"corpusVersion": "1.0.0"
|
|
33792
34028
|
},
|
|
33793
34029
|
{
|
|
33794
|
-
"chunkIndex":
|
|
34030
|
+
"chunkIndex": 177,
|
|
33795
34031
|
"chunkKind": "recipe",
|
|
33796
34032
|
"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))\"}]}}",
|
|
33797
34033
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33801,7 +34037,7 @@
|
|
|
33801
34037
|
"corpusVersion": "1.0.0"
|
|
33802
34038
|
},
|
|
33803
34039
|
{
|
|
33804
|
-
"chunkIndex":
|
|
34040
|
+
"chunkIndex": 178,
|
|
33805
34041
|
"chunkKind": "recipe",
|
|
33806
34042
|
"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\"}}}}}",
|
|
33807
34043
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33811,7 +34047,7 @@
|
|
|
33811
34047
|
"corpusVersion": "1.0.0"
|
|
33812
34048
|
},
|
|
33813
34049
|
{
|
|
33814
|
-
"chunkIndex":
|
|
34050
|
+
"chunkIndex": 179,
|
|
33815
34051
|
"chunkKind": "recipe",
|
|
33816
34052
|
"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}}}",
|
|
33817
34053
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33821,7 +34057,7 @@
|
|
|
33821
34057
|
"corpusVersion": "1.0.0"
|
|
33822
34058
|
},
|
|
33823
34059
|
{
|
|
33824
|
-
"chunkIndex":
|
|
34060
|
+
"chunkIndex": 180,
|
|
33825
34061
|
"chunkKind": "recipe",
|
|
33826
34062
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"theme\",\"theme\":{\"primary\":\"#1976d2\",\"secondary\":\"#ff9800\",\"darkMode\":false,\"custom\":{\"borderRadius\":\"8px\"},\"cssVariables\":{\"--table-row-hover\":\"#eef3ff\"}}}",
|
|
33827
34063
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33831,7 +34067,7 @@
|
|
|
33831
34067
|
"corpusVersion": "1.0.0"
|
|
33832
34068
|
},
|
|
33833
34069
|
{
|
|
33834
|
-
"chunkIndex":
|
|
34070
|
+
"chunkIndex": 181,
|
|
33835
34071
|
"chunkKind": "recipe",
|
|
33836
34072
|
"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}}}",
|
|
33837
34073
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33841,7 +34077,7 @@
|
|
|
33841
34077
|
"corpusVersion": "1.0.0"
|
|
33842
34078
|
},
|
|
33843
34079
|
{
|
|
33844
|
-
"chunkIndex":
|
|
34080
|
+
"chunkIndex": 182,
|
|
33845
34081
|
"chunkKind": "recipe",
|
|
33846
34082
|
"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\"}}]}",
|
|
33847
34083
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33851,7 +34087,7 @@
|
|
|
33851
34087
|
"corpusVersion": "1.0.0"
|
|
33852
34088
|
},
|
|
33853
34089
|
{
|
|
33854
|
-
"chunkIndex":
|
|
34090
|
+
"chunkIndex": 183,
|
|
33855
34091
|
"chunkKind": "recipe",
|
|
33856
34092
|
"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\"}}}",
|
|
33857
34093
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33861,7 +34097,7 @@
|
|
|
33861
34097
|
"corpusVersion": "1.0.0"
|
|
33862
34098
|
},
|
|
33863
34099
|
{
|
|
33864
|
-
"chunkIndex":
|
|
34100
|
+
"chunkIndex": 184,
|
|
33865
34101
|
"chunkKind": "recipe",
|
|
33866
34102
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"rowConditionalStyles\",\"rowConditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"priority\"},\"HIGH\"]},\"cssClass\":\"row-priority-high\",\"style\":{\"backgroundColor\":\"#fff8e1\"},\"description\":\"Highlight high priority rows\"}]}",
|
|
33867
34103
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33871,7 +34107,7 @@
|
|
|
33871
34107
|
"corpusVersion": "1.0.0"
|
|
33872
34108
|
},
|
|
33873
34109
|
{
|
|
33874
|
-
"chunkIndex":
|
|
34110
|
+
"chunkIndex": 185,
|
|
33875
34111
|
"chunkKind": "recipe",
|
|
33876
34112
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_rowStyleRulesState\",\"_rowStyleRulesState\":{\"version\":1,\"rules\":[\"priority\"]}}",
|
|
33877
34113
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33881,7 +34117,7 @@
|
|
|
33881
34117
|
"corpusVersion": "1.0.0"
|
|
33882
34118
|
},
|
|
33883
34119
|
{
|
|
33884
|
-
"chunkIndex":
|
|
34120
|
+
"chunkIndex": 186,
|
|
33885
34121
|
"chunkKind": "recipe",
|
|
33886
34122
|
"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\"]}}}}]}",
|
|
33887
34123
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -33891,7 +34127,7 @@
|
|
|
33891
34127
|
"corpusVersion": "1.0.0"
|
|
33892
34128
|
},
|
|
33893
34129
|
{
|
|
33894
|
-
"chunkIndex":
|
|
34130
|
+
"chunkIndex": 187,
|
|
33895
34131
|
"chunkKind": "recipe",
|
|
33896
34132
|
"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}]}]}",
|
|
33897
34133
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-badge.json",
|
|
@@ -33901,7 +34137,7 @@
|
|
|
33901
34137
|
"corpusVersion": "1.0.0"
|
|
33902
34138
|
},
|
|
33903
34139
|
{
|
|
33904
|
-
"chunkIndex":
|
|
34140
|
+
"chunkIndex": 188,
|
|
33905
34141
|
"chunkKind": "recipe",
|
|
33906
34142
|
"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}]}]}",
|
|
33907
34143
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-icon.json",
|
|
@@ -33911,17 +34147,17 @@
|
|
|
33911
34147
|
"corpusVersion": "1.0.0"
|
|
33912
34148
|
},
|
|
33913
34149
|
{
|
|
33914
|
-
"chunkIndex":
|
|
34150
|
+
"chunkIndex": 189,
|
|
33915
34151
|
"chunkKind": "recipe",
|
|
33916
|
-
"content": "{\"_comment\":\"Template to display compact enterprise micro-visualizations (bullet, sparkline/line, comparison, stackedBar, radial, harveyBall, processFlow) inside table cells.\",\"templateMeta\":{\"variantId\":\"renderer-micro-visualization\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"renderer\",\"microVisualization\",\"micro-chart\",\"bullet\",\"sparkline\",\"comparison\",\"processFlow\",\"sla\",\"kpi\"],\"useWhen\":\"user asks to render a compact chart, sparkline, SLA bullet vs target, budget vs actual comparison, radial gauge, Harvey Ball, or approval process flow inside table cells\",\"examplePrompts\":[\"mostre o SLA como bullet chart com meta e faixas de alerta\",\"adicione um sparkline de tendência sincronizado na página\",\"compare o valor pago com o orçamento previsto usando notação compacta\",\"exiba as etapas de aprovação como fluxo compacto na célula\"]},\"columns\":[{\"field\":\"slaValue\",\"header\":\"SLA vs Meta\",\"width\":\"200px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"bullet\",\"surface\":\"table-cell\",\"size\":\"sm\",\"min\":0,\"max\":100,\"valueExpr\":\"row.slaValue\",\"targetExpr\":\"row.slaTarget\",\"valueSuffix\":\"%\",\"thresholds\":[{\"label\":\"Crítico\",\"value\":0,\"tone\":\"danger\"},{\"label\":\"Atenção\",\"value\":60,\"tone\":\"warning\"},{\"label\":\"Seguro\",\"value\":85,\"tone\":\"success\"}],\"fallbackText\":\"SLA operacional\",\"fallbackTextExpr\":{\"cat\":[\"SLA \",{\"var\":\"row.slaValue\"},\"% vs meta \",{\"var\":\"row.slaTarget\"},\"%\"]}}}}},{\"field\":\"trend\",\"header\":\"Tendência (Escala da Página)\",\"width\":\"180px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"line\",\"surface\":\"table-cell\",\"size\":\"sm\",\"scaleScope\":\"page\",\"pointsExpr\":\"row.trend\",\"valueExpr\":\"row.currentVolume\",\"tone\":\"info\",\"fallbackText\":\"Tendência recente\",\"fallbackTextExpr\":\"row.trendSummary\"}}}},{\"field\":\"totalPago\",\"header\":\"Pago vs Previsto\",\"width\":\"190px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"comparison\",\"surface\":\"table-cell\",\"size\":\"sm\",\"valueExpr\":\"row.totalPago\",\"baselineExpr\":\"row.orcamentoPrevisto\",\"compactValue\":true,\"fallbackText\":\"Comparativo financeiro\",\"fallbackTextExpr\":{\"cat\":[\"Pago \",{\"var\":\"row.totalPago\"},\" vs previsto \",{\"var\":\"row.orcamentoPrevisto\"}]}}}}},{\"field\":\"flowSteps\",\"header\":\"Fluxo de Aprovação\",\"width\":\"240px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"processFlow\",\"surface\":\"table-cell\",\"size\":\"xs\",\"itemsExpr\":\"row.flowSteps\",\"stepLabelLineClamp\":2,\"fallbackText\":\"Fluxo operacional\",\"fallbackTextExpr\":\"row.flowSummary\"}}}}]}",
|
|
34152
|
+
"content": "{\"_comment\":\"Template to display compact enterprise micro-visualizations (bullet, sparkline/line, comparison, stackedBar, radial, harveyBall, processFlow) inside table cells.\",\"templateMeta\":{\"variantId\":\"renderer-micro-visualization\",\"variantOf\":\"praxis-table\",\"registryKey\":\"praxis-table\",\"tags\":[\"renderer\",\"microVisualization\",\"micro-chart\",\"bullet\",\"sparkline\",\"comparison\",\"processFlow\",\"sla\",\"kpi\"],\"useWhen\":\"user asks to render a compact chart, sparkline, SLA bullet vs target, budget vs actual comparison, radial gauge, Harvey Ball, or approval process flow inside table cells\",\"examplePrompts\":[\"mostre o SLA como bullet chart com meta e faixas de alerta\",\"adicione um sparkline de tendência sincronizado na página\",\"compare o valor pago com o orçamento previsto usando notação compacta\",\"exiba dois indicadores circulares (radial ring) com limiares de domínio na linha da tabela\",\"exiba as etapas de aprovação como fluxo compacto na célula\"]},\"authoringGuidance\":[\"Choose praxis-table when rows require column-aligned comparison, per-column sort/filter, export and compact radial/bullet micro-visualizations.\",\"Choose praxis-list when rendering a responsive object/card stream with multi-slot rowLayout and linear metric progress; compact radial rings belong to praxis-table microVisualization (or RichContent statGroup ring in expanded detail).\",\"Domain meaning comes from explicit thresholds (danger/warning/success) and ariaLabel/fallbackText, never from raw ring geometry alone.\",\"Absence of measurement or deploy (null/undefined) renders fallbackText without fabricating 0%, while numeric 0 renders 0% (0 / 100).\"],\"columns\":[{\"field\":\"qualityScore\",\"header\":\"Qualidade da Release\",\"width\":\"150px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"radial\",\"surface\":\"table-cell\",\"size\":\"sm\",\"valueExpr\":\"row.qualityScore\",\"total\":100,\"thresholds\":[{\"label\":\"Crítico\",\"min\":0,\"max\":59,\"tone\":\"danger\"},{\"label\":\"Atenção\",\"min\":60,\"max\":84,\"tone\":\"warning\"},{\"label\":\"Saudável\",\"min\":85,\"max\":100,\"tone\":\"success\"}],\"fallbackText\":\"Sem deploy publicado\"}}}},{\"field\":\"slaValue\",\"header\":\"SLA vs Meta\",\"width\":\"200px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"bullet\",\"surface\":\"table-cell\",\"size\":\"sm\",\"min\":0,\"max\":100,\"valueExpr\":\"row.slaValue\",\"targetExpr\":\"row.slaTarget\",\"valueSuffix\":\"%\",\"thresholds\":[{\"label\":\"Crítico\",\"value\":0,\"tone\":\"danger\"},{\"label\":\"Atenção\",\"value\":60,\"tone\":\"warning\"},{\"label\":\"Seguro\",\"value\":85,\"tone\":\"success\"}],\"fallbackText\":\"SLA operacional\",\"fallbackTextExpr\":{\"cat\":[\"SLA \",{\"var\":\"row.slaValue\"},\"% vs meta \",{\"var\":\"row.slaTarget\"},\"%\"]}}}}},{\"field\":\"trend\",\"header\":\"Tendência (Escala da Página)\",\"width\":\"180px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"line\",\"surface\":\"table-cell\",\"size\":\"sm\",\"scaleScope\":\"page\",\"pointsExpr\":\"row.trend\",\"valueExpr\":\"row.currentVolume\",\"tone\":\"info\",\"fallbackText\":\"Tendência recente\",\"fallbackTextExpr\":\"row.trendSummary\"}}}},{\"field\":\"totalPago\",\"header\":\"Pago vs Previsto\",\"width\":\"190px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"comparison\",\"surface\":\"table-cell\",\"size\":\"sm\",\"valueExpr\":\"row.totalPago\",\"baselineExpr\":\"row.orcamentoPrevisto\",\"compactValue\":true,\"fallbackText\":\"Comparativo financeiro\",\"fallbackTextExpr\":{\"cat\":[\"Pago \",{\"var\":\"row.totalPago\"},\" vs previsto \",{\"var\":\"row.orcamentoPrevisto\"}]}}}}},{\"field\":\"flowSteps\",\"header\":\"Fluxo de Aprovação\",\"width\":\"240px\",\"renderer\":{\"type\":\"microVisualization\",\"microVisualization\":{\"visualization\":{\"kind\":\"processFlow\",\"surface\":\"table-cell\",\"size\":\"xs\",\"itemsExpr\":\"row.flowSteps\",\"stepLabelLineClamp\":2,\"fallbackText\":\"Fluxo operacional\",\"fallbackTextExpr\":\"row.flowSummary\"}}}}]}",
|
|
33917
34153
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-micro-visualization.json",
|
|
33918
|
-
"contentHash": "
|
|
34154
|
+
"contentHash": "28fa0a10c53c3b59eb9b90b1d520ee04e5d356333aa7573b3243ebda7e617464",
|
|
33919
34155
|
"sourceKind": "component_definition",
|
|
33920
34156
|
"sourceId": "praxis-table",
|
|
33921
34157
|
"corpusVersion": "1.0.0"
|
|
33922
34158
|
},
|
|
33923
34159
|
{
|
|
33924
|
-
"chunkIndex":
|
|
34160
|
+
"chunkIndex": 190,
|
|
33925
34161
|
"chunkKind": "recipe",
|
|
33926
34162
|
"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}}}]}",
|
|
33927
34163
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-progress.json",
|
|
@@ -33931,7 +34167,7 @@
|
|
|
33931
34167
|
"corpusVersion": "1.0.0"
|
|
33932
34168
|
},
|
|
33933
34169
|
{
|
|
33934
|
-
"chunkIndex":
|
|
34170
|
+
"chunkIndex": 191,
|
|
33935
34171
|
"chunkKind": "recipe",
|
|
33936
34172
|
"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}]}",
|
|
33937
34173
|
"sourcePointer": "examples/ai-recipes/praxis-table.style-conditional.json",
|
|
@@ -33941,7 +34177,7 @@
|
|
|
33941
34177
|
"corpusVersion": "1.0.0"
|
|
33942
34178
|
},
|
|
33943
34179
|
{
|
|
33944
|
-
"chunkIndex":
|
|
34180
|
+
"chunkIndex": 192,
|
|
33945
34181
|
"chunkKind": "recipe",
|
|
33946
34182
|
"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\"}]}}}",
|
|
33947
34183
|
"sourcePointer": "examples/ai-recipes/praxis-table.toolbar.json",
|