@praxisui/table 10.0.0-rc.0 → 10.0.0-rc.11
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 +105 -0
- package/ai/component-registry.json +849 -305
- package/docs/adr/table-detail-presentation.md +45 -0
- package/docs/dynamic-filter-backend-contract-cheatsheet.md +1 -1
- package/docs/dynamic-filter-troubleshooting-guide.md +1 -1
- package/docs/local-data-mode-precedence.md +3 -0
- package/docs/table-bottom-detail-progress.md +205 -0
- package/docs/table-bottom-detail-review.md +159 -0
- package/fesm2022/praxisui-table-authoring.mjs +1463 -0
- package/fesm2022/{praxisui-table-praxisui-table-fOG6oo9f.mjs → praxisui-table-praxisui-table-ConSKl5g.mjs} +6551 -1754
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-CF9bUWOK.mjs → praxisui-table-table-agentic-authoring-turn-flow-DmnNx_fm.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-C6MRHQab.mjs → praxisui-table-table-ai.adapter-vtpAb33s.mjs} +31 -30
- package/fesm2022/praxisui-table.mjs +2 -1
- package/package.json +14 -10
- package/src/lib/praxis-table.json-api.md +36 -15
- package/types/praxisui-table-authoring.d.ts +104 -0
- package/types/praxisui-table.d.ts +597 -32
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-
|
|
3
|
+
"generatedAt": "2026-10-13T19:31:57.571Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.11",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -7621,6 +7621,20 @@
|
|
|
7621
7621
|
"type": "LoadingState",
|
|
7622
7622
|
"required": false,
|
|
7623
7623
|
"description": "Emitido quando a tabela muda de fase de carregamento no runtime"
|
|
7624
|
+
},
|
|
7625
|
+
{
|
|
7626
|
+
"name": "queryContextClear",
|
|
7627
|
+
"type": "PraxisTableQueryContextClearEvent",
|
|
7628
|
+
"required": false,
|
|
7629
|
+
"description": "Emitido quando um filtro cruzado ou queryContext ativo é removido na toolbar da tabela",
|
|
7630
|
+
"label": "Filtro cruzado limpo"
|
|
7631
|
+
},
|
|
7632
|
+
{
|
|
7633
|
+
"name": "queryContextChange",
|
|
7634
|
+
"type": "PraxisDataQueryContext",
|
|
7635
|
+
"required": false,
|
|
7636
|
+
"description": "Emitido quando o queryContext interno da tabela é modificado por interações locais ou remoção de filtros",
|
|
7637
|
+
"label": "Query Context alterado"
|
|
7624
7638
|
}
|
|
7625
7639
|
],
|
|
7626
7640
|
"configSchemaId": "TableConfig",
|
|
@@ -8006,6 +8020,23 @@
|
|
|
8006
8020
|
"public": true,
|
|
8007
8021
|
"group": "status"
|
|
8008
8022
|
}
|
|
8023
|
+
},
|
|
8024
|
+
{
|
|
8025
|
+
"id": "queryContextClear",
|
|
8026
|
+
"label": "Query Context Clear",
|
|
8027
|
+
"direction": "output",
|
|
8028
|
+
"semanticKind": "event",
|
|
8029
|
+
"schema": {
|
|
8030
|
+
"id": "PraxisTableQueryContextClearEvent",
|
|
8031
|
+
"kind": "structural-shape",
|
|
8032
|
+
"ref": "{ tableId?: string; clearedFields: string[]; remainingFilterCount: number }"
|
|
8033
|
+
},
|
|
8034
|
+
"cardinality": "stream",
|
|
8035
|
+
"description": "Evento emitido quando filtros externos ou cruzados vinculados ao queryContext sao removidos da toolbar.",
|
|
8036
|
+
"exposure": {
|
|
8037
|
+
"public": true,
|
|
8038
|
+
"group": "data"
|
|
8039
|
+
}
|
|
8009
8040
|
}
|
|
8010
8041
|
],
|
|
8011
8042
|
"runtimeProfiles": [
|
|
@@ -8057,9 +8088,20 @@
|
|
|
8057
8088
|
"operator": "not-true"
|
|
8058
8089
|
},
|
|
8059
8090
|
{
|
|
8060
|
-
"path": "config.behavior.
|
|
8091
|
+
"path": "config.behavior.detail.source.mode",
|
|
8092
|
+
"operator": "none-of",
|
|
8093
|
+
"values": [
|
|
8094
|
+
"resource",
|
|
8095
|
+
"resourcePath",
|
|
8096
|
+
"hypermedia",
|
|
8097
|
+
"surface"
|
|
8098
|
+
]
|
|
8099
|
+
},
|
|
8100
|
+
{
|
|
8101
|
+
"path": "config.behavior.detail.source.fallbackMode",
|
|
8061
8102
|
"operator": "none-of",
|
|
8062
8103
|
"values": [
|
|
8104
|
+
"resource",
|
|
8063
8105
|
"resourcePath",
|
|
8064
8106
|
"hypermedia",
|
|
8065
8107
|
"surface"
|
|
@@ -8129,9 +8171,20 @@
|
|
|
8129
8171
|
"operator": "not-true"
|
|
8130
8172
|
},
|
|
8131
8173
|
{
|
|
8132
|
-
"path": "config.behavior.
|
|
8174
|
+
"path": "config.behavior.detail.source.mode",
|
|
8175
|
+
"operator": "none-of",
|
|
8176
|
+
"values": [
|
|
8177
|
+
"resource",
|
|
8178
|
+
"resourcePath",
|
|
8179
|
+
"hypermedia",
|
|
8180
|
+
"surface"
|
|
8181
|
+
]
|
|
8182
|
+
},
|
|
8183
|
+
{
|
|
8184
|
+
"path": "config.behavior.detail.source.fallbackMode",
|
|
8133
8185
|
"operator": "none-of",
|
|
8134
8186
|
"values": [
|
|
8187
|
+
"resource",
|
|
8135
8188
|
"resourcePath",
|
|
8136
8189
|
"hypermedia",
|
|
8137
8190
|
"surface"
|
|
@@ -11453,25 +11506,129 @@
|
|
|
11453
11506
|
"dependsOn": "behavior.expansion.enabled"
|
|
11454
11507
|
},
|
|
11455
11508
|
{
|
|
11456
|
-
"path": "behavior.expansion
|
|
11509
|
+
"path": "behavior.expansion",
|
|
11510
|
+
"category": "interaction",
|
|
11511
|
+
"valueKind": "object",
|
|
11512
|
+
"description": "Interação da expansão por linha; ativação explícita seleciona a apresentação row do detalhe."
|
|
11513
|
+
},
|
|
11514
|
+
{
|
|
11515
|
+
"path": "behavior.detail",
|
|
11516
|
+
"category": "interaction",
|
|
11517
|
+
"valueKind": "object",
|
|
11518
|
+
"description": "Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica."
|
|
11519
|
+
},
|
|
11520
|
+
{
|
|
11521
|
+
"path": "behavior.detail.source",
|
|
11522
|
+
"category": "interaction",
|
|
11523
|
+
"valueKind": "object",
|
|
11524
|
+
"description": "Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica."
|
|
11525
|
+
},
|
|
11526
|
+
{
|
|
11527
|
+
"path": "behavior.detail.presentation",
|
|
11528
|
+
"category": "interaction",
|
|
11529
|
+
"valueKind": "object",
|
|
11530
|
+
"description": "Configuração canônica de detalhe; apresentação é acoplada à expansão e seleção pela operação semântica."
|
|
11531
|
+
},
|
|
11532
|
+
{
|
|
11533
|
+
"path": "behavior.detail.enabled",
|
|
11534
|
+
"category": "interaction",
|
|
11535
|
+
"valueKind": "boolean",
|
|
11536
|
+
"description": "Habilita detalhe sem apagar conteúdo authorado."
|
|
11537
|
+
},
|
|
11538
|
+
{
|
|
11539
|
+
"path": "behavior.detail.presentation.placement",
|
|
11540
|
+
"category": "interaction",
|
|
11541
|
+
"valueKind": "enum",
|
|
11542
|
+
"allowedValues": [
|
|
11543
|
+
"row",
|
|
11544
|
+
"bottom"
|
|
11545
|
+
],
|
|
11546
|
+
"description": "Apresentação do detalhe por expansão de linha ou seleção."
|
|
11547
|
+
},
|
|
11548
|
+
{
|
|
11549
|
+
"path": "behavior.detail.presentation.initiallyCollapsed",
|
|
11550
|
+
"category": "interaction",
|
|
11551
|
+
"valueKind": "boolean",
|
|
11552
|
+
"description": "Recolhimento inicial do detalhe inferior."
|
|
11553
|
+
},
|
|
11554
|
+
{
|
|
11555
|
+
"path": "behavior.detail.presentation.bottomStackPosition",
|
|
11556
|
+
"category": "interaction",
|
|
11557
|
+
"valueKind": "enum",
|
|
11558
|
+
"allowedValues": [
|
|
11559
|
+
"beforeControls",
|
|
11560
|
+
"afterControls"
|
|
11561
|
+
],
|
|
11562
|
+
"description": "Posição do painel contextual em relação aos controles inferiores da coleção."
|
|
11563
|
+
},
|
|
11564
|
+
{
|
|
11565
|
+
"path": "behavior.detail.presentation.emptyBehavior",
|
|
11566
|
+
"category": "interaction",
|
|
11567
|
+
"valueKind": "enum",
|
|
11568
|
+
"allowedValues": [
|
|
11569
|
+
"message",
|
|
11570
|
+
"hide"
|
|
11571
|
+
],
|
|
11572
|
+
"description": "Mantém uma mensagem instrucional ou remove o painel quando não há registro selecionado."
|
|
11573
|
+
},
|
|
11574
|
+
{
|
|
11575
|
+
"path": "behavior.detail.schemaContract.kind",
|
|
11457
11576
|
"category": "interaction",
|
|
11458
11577
|
"valueKind": "string",
|
|
11459
11578
|
"description": "Namespace do schema de detail row.",
|
|
11460
|
-
"dependsOn": "behavior.
|
|
11579
|
+
"dependsOn": "behavior.detail",
|
|
11461
11580
|
"critical": true,
|
|
11462
11581
|
"example": "\"praxis.detail.schema\""
|
|
11463
11582
|
},
|
|
11464
11583
|
{
|
|
11465
|
-
"path": "behavior.
|
|
11584
|
+
"path": "behavior.detail.schemaContract.version",
|
|
11466
11585
|
"category": "interaction",
|
|
11467
11586
|
"valueKind": "string",
|
|
11468
11587
|
"description": "Versão do contrato de schema detail.",
|
|
11469
|
-
"dependsOn": "behavior.
|
|
11588
|
+
"dependsOn": "behavior.detail",
|
|
11470
11589
|
"critical": true,
|
|
11471
11590
|
"example": "\"1.0.0\""
|
|
11472
11591
|
},
|
|
11473
11592
|
{
|
|
11474
|
-
"path": "behavior.
|
|
11593
|
+
"path": "behavior.detail.schemaContract.allowedNodes",
|
|
11594
|
+
"category": "interaction",
|
|
11595
|
+
"valueKind": "array",
|
|
11596
|
+
"allowedValues": [
|
|
11597
|
+
"layout",
|
|
11598
|
+
"stack",
|
|
11599
|
+
"tabs",
|
|
11600
|
+
"tab",
|
|
11601
|
+
"text",
|
|
11602
|
+
"icon",
|
|
11603
|
+
"image",
|
|
11604
|
+
"badge",
|
|
11605
|
+
"avatar",
|
|
11606
|
+
"metric",
|
|
11607
|
+
"progress",
|
|
11608
|
+
"compose",
|
|
11609
|
+
"card",
|
|
11610
|
+
"mediaBlock",
|
|
11611
|
+
"cardGrid",
|
|
11612
|
+
"timeline",
|
|
11613
|
+
"value",
|
|
11614
|
+
"action",
|
|
11615
|
+
"actionBar",
|
|
11616
|
+
"list",
|
|
11617
|
+
"detailList",
|
|
11618
|
+
"formRef",
|
|
11619
|
+
"tableRef",
|
|
11620
|
+
"chartRef",
|
|
11621
|
+
"diagramEmbed",
|
|
11622
|
+
"richText",
|
|
11623
|
+
"richContent",
|
|
11624
|
+
"templateRef"
|
|
11625
|
+
],
|
|
11626
|
+
"description": "Tipos de node admitidos pelo schema de detalhe.",
|
|
11627
|
+
"dependsOn": "behavior.detail",
|
|
11628
|
+
"safetyNotes": "Use richContent para incorporar o documento canônico de callout/card; os nodes internos são validados pelo contrato praxis.rich-content."
|
|
11629
|
+
},
|
|
11630
|
+
{
|
|
11631
|
+
"path": "behavior.detail.source.mode",
|
|
11475
11632
|
"category": "interaction",
|
|
11476
11633
|
"valueKind": "enum",
|
|
11477
11634
|
"allowedValues": [
|
|
@@ -11481,19 +11638,19 @@
|
|
|
11481
11638
|
"hypermedia"
|
|
11482
11639
|
],
|
|
11483
11640
|
"description": "Fonte do schema de detail (inline/resource/resourcePath/hypermedia).",
|
|
11484
|
-
"dependsOn": "behavior.
|
|
11641
|
+
"dependsOn": "behavior.detail",
|
|
11485
11642
|
"critical": true
|
|
11486
11643
|
},
|
|
11487
11644
|
{
|
|
11488
|
-
"path": "behavior.
|
|
11645
|
+
"path": "behavior.detail.source.inlineSchema",
|
|
11489
11646
|
"category": "interaction",
|
|
11490
11647
|
"valueKind": "object",
|
|
11491
11648
|
"description": "Schema inline completo para detail row quando source.mode=inline.",
|
|
11492
|
-
"dependsOn": "behavior.
|
|
11649
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11493
11650
|
"safetyNotes": "O payload é schema-driven e deve respeitar schemaContract.allowedNodes."
|
|
11494
11651
|
},
|
|
11495
11652
|
{
|
|
11496
|
-
"path": "behavior.
|
|
11653
|
+
"path": "behavior.detail.source.resource.kind",
|
|
11497
11654
|
"category": "interaction",
|
|
11498
11655
|
"valueKind": "enum",
|
|
11499
11656
|
"allowedValues": [
|
|
@@ -11503,32 +11660,32 @@
|
|
|
11503
11660
|
"dashboard-schema"
|
|
11504
11661
|
],
|
|
11505
11662
|
"description": "Tipo de recurso quando source.mode=resource.",
|
|
11506
|
-
"dependsOn": "behavior.
|
|
11663
|
+
"dependsOn": "behavior.detail.source.mode"
|
|
11507
11664
|
},
|
|
11508
11665
|
{
|
|
11509
|
-
"path": "behavior.
|
|
11666
|
+
"path": "behavior.detail.source.resource.id",
|
|
11510
11667
|
"category": "interaction",
|
|
11511
11668
|
"valueKind": "string",
|
|
11512
11669
|
"description": "ID do resource de detail schema.",
|
|
11513
|
-
"dependsOn": "behavior.
|
|
11670
|
+
"dependsOn": "behavior.detail.source.mode"
|
|
11514
11671
|
},
|
|
11515
11672
|
{
|
|
11516
|
-
"path": "behavior.
|
|
11673
|
+
"path": "behavior.detail.source.resource.version",
|
|
11517
11674
|
"category": "interaction",
|
|
11518
11675
|
"valueKind": "string",
|
|
11519
11676
|
"description": "Versão do resource de detail schema.",
|
|
11520
|
-
"dependsOn": "behavior.
|
|
11677
|
+
"dependsOn": "behavior.detail.source.mode"
|
|
11521
11678
|
},
|
|
11522
11679
|
{
|
|
11523
|
-
"path": "behavior.
|
|
11680
|
+
"path": "behavior.detail.source.resourcePath.path",
|
|
11524
11681
|
"category": "interaction",
|
|
11525
11682
|
"valueKind": "string",
|
|
11526
11683
|
"description": "Endpoint para resolver schema/detail data quando source.mode=resourcePath.",
|
|
11527
|
-
"dependsOn": "behavior.
|
|
11528
|
-
"safetyNotes": "Use rota relativa
|
|
11684
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11685
|
+
"safetyNotes": "Use rota relativa à origem do host + allowlist. O runtime compara o pathname efetivo canonicalizado e bloqueia URL absoluta, redirects, backslashes, controles e segmentos codificados ambíguos."
|
|
11529
11686
|
},
|
|
11530
11687
|
{
|
|
11531
|
-
"path": "behavior.
|
|
11688
|
+
"path": "behavior.detail.source.resourcePath.method",
|
|
11532
11689
|
"category": "interaction",
|
|
11533
11690
|
"valueKind": "enum",
|
|
11534
11691
|
"allowedValues": [
|
|
@@ -11536,53 +11693,54 @@
|
|
|
11536
11693
|
"POST"
|
|
11537
11694
|
],
|
|
11538
11695
|
"description": "Método HTTP para resolver o detail schema/data.",
|
|
11539
|
-
"dependsOn": "behavior.
|
|
11696
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11697
|
+
"safetyNotes": "resourceAllowList não concede autorização nem diferencia GET de POST. O backend deve autorizar o método e o objeto efetivo."
|
|
11540
11698
|
},
|
|
11541
11699
|
{
|
|
11542
|
-
"path": "behavior.
|
|
11700
|
+
"path": "behavior.detail.source.resourcePath.paramsMap",
|
|
11543
11701
|
"category": "interaction",
|
|
11544
11702
|
"valueKind": "object",
|
|
11545
11703
|
"description": "Mapeia placeholders do resourcePath para expressões de contexto por linha (ex.: { id: \"$row.id\" }).",
|
|
11546
|
-
"dependsOn": "behavior.
|
|
11704
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11547
11705
|
"safetyNotes": "JSON deve ser objeto simples; em runtime inválido aplica fail-closed."
|
|
11548
11706
|
},
|
|
11549
11707
|
{
|
|
11550
|
-
"path": "behavior.
|
|
11708
|
+
"path": "behavior.detail.source.resourceAllowList[]",
|
|
11551
11709
|
"category": "interaction",
|
|
11552
11710
|
"valueKind": "array",
|
|
11553
|
-
"description": "Allowlist obrigatória de
|
|
11554
|
-
"dependsOn": "behavior.
|
|
11711
|
+
"description": "Allowlist obrigatória de pathnames canonicalizados para source.mode=resourcePath.",
|
|
11712
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11555
11713
|
"critical": true,
|
|
11556
|
-
"safetyNotes": "Sem allowlist o runtime bloqueia carregamento (fail-closed)."
|
|
11714
|
+
"safetyNotes": "Sem allowlist ou com divergência após resolução contra document.baseURI, o runtime bloqueia carregamento (fail-closed). A allowlist é guardrail do documento, não autorização, não diferencia método e não governa query params."
|
|
11557
11715
|
},
|
|
11558
11716
|
{
|
|
11559
|
-
"path": "behavior.
|
|
11717
|
+
"path": "behavior.detail.source.hypermedia",
|
|
11560
11718
|
"category": "interaction",
|
|
11561
11719
|
"valueKind": "object",
|
|
11562
11720
|
"description": "Configuração opcional do modo hypermedia; usa _links.capabilities como ponto único de descoberta canônica.",
|
|
11563
|
-
"dependsOn": "behavior.
|
|
11721
|
+
"dependsOn": "behavior.detail.source.mode",
|
|
11564
11722
|
"safetyNotes": "O runtime continua fail-closed quando o item não expõe rel capabilities."
|
|
11565
11723
|
},
|
|
11566
11724
|
{
|
|
11567
|
-
"path": "behavior.
|
|
11725
|
+
"path": "behavior.detail.rendering.strategy",
|
|
11568
11726
|
"category": "interaction",
|
|
11569
11727
|
"valueKind": "enum",
|
|
11570
11728
|
"allowedValues": [
|
|
11571
11729
|
"registry"
|
|
11572
11730
|
],
|
|
11573
11731
|
"description": "Estratégia de render do schema de detail.",
|
|
11574
|
-
"dependsOn": "behavior.
|
|
11732
|
+
"dependsOn": "behavior.detail"
|
|
11575
11733
|
},
|
|
11576
11734
|
{
|
|
11577
|
-
"path": "behavior.
|
|
11735
|
+
"path": "behavior.detail.rendering.registryId",
|
|
11578
11736
|
"category": "interaction",
|
|
11579
11737
|
"valueKind": "string",
|
|
11580
11738
|
"description": "ID do registry de renderers para detail row.",
|
|
11581
|
-
"dependsOn": "behavior.
|
|
11739
|
+
"dependsOn": "behavior.detail.rendering.strategy",
|
|
11582
11740
|
"critical": true
|
|
11583
11741
|
},
|
|
11584
11742
|
{
|
|
11585
|
-
"path": "behavior.
|
|
11743
|
+
"path": "behavior.detail.rendering.hostLayout",
|
|
11586
11744
|
"category": "interaction",
|
|
11587
11745
|
"valueKind": "enum",
|
|
11588
11746
|
"allowedValues": [
|
|
@@ -11591,10 +11749,10 @@
|
|
|
11591
11749
|
"tabs"
|
|
11592
11750
|
],
|
|
11593
11751
|
"description": "Layout hospedeiro preferencial do detail.",
|
|
11594
|
-
"dependsOn": "behavior.
|
|
11752
|
+
"dependsOn": "behavior.detail.rendering.strategy"
|
|
11595
11753
|
},
|
|
11596
11754
|
{
|
|
11597
|
-
"path": "behavior.
|
|
11755
|
+
"path": "behavior.detail.rendering.fallbackNodePolicy",
|
|
11598
11756
|
"category": "interaction",
|
|
11599
11757
|
"valueKind": "enum",
|
|
11600
11758
|
"allowedValues": [
|
|
@@ -11602,11 +11760,11 @@
|
|
|
11602
11760
|
"renderPlaceholder"
|
|
11603
11761
|
],
|
|
11604
11762
|
"description": "Política para nós sem renderer registrado.",
|
|
11605
|
-
"dependsOn": "behavior.
|
|
11763
|
+
"dependsOn": "behavior.detail.rendering.strategy",
|
|
11606
11764
|
"safetyNotes": "Use failClosed em ambiente corporativo."
|
|
11607
11765
|
},
|
|
11608
11766
|
{
|
|
11609
|
-
"path": "behavior.
|
|
11767
|
+
"path": "behavior.detail.height.mode",
|
|
11610
11768
|
"category": "performance",
|
|
11611
11769
|
"valueKind": "enum",
|
|
11612
11770
|
"allowedValues": [
|
|
@@ -11614,14 +11772,14 @@
|
|
|
11614
11772
|
"dynamic"
|
|
11615
11773
|
],
|
|
11616
11774
|
"description": "Modo de altura do detail row.",
|
|
11617
|
-
"dependsOn": "behavior.
|
|
11775
|
+
"dependsOn": "behavior.detail"
|
|
11618
11776
|
},
|
|
11619
11777
|
{
|
|
11620
|
-
"path": "behavior.
|
|
11778
|
+
"path": "behavior.detail.height.px",
|
|
11621
11779
|
"category": "performance",
|
|
11622
11780
|
"valueKind": "number",
|
|
11623
11781
|
"description": "Altura fixa (px) quando height.mode=fixed.",
|
|
11624
|
-
"dependsOn": "behavior.
|
|
11782
|
+
"dependsOn": "behavior.detail.height.mode",
|
|
11625
11783
|
"example": "160"
|
|
11626
11784
|
},
|
|
11627
11785
|
{
|
|
@@ -13817,7 +13975,7 @@
|
|
|
13817
13975
|
}
|
|
13818
13976
|
]
|
|
13819
13977
|
},
|
|
13820
|
-
"behavior.
|
|
13978
|
+
"behavior.detail.source.mode": {
|
|
13821
13979
|
"mode": "enum",
|
|
13822
13980
|
"options": [
|
|
13823
13981
|
{
|
|
@@ -13831,10 +13989,14 @@
|
|
|
13831
13989
|
{
|
|
13832
13990
|
"value": "resourcePath",
|
|
13833
13991
|
"label": "Resource Path"
|
|
13992
|
+
},
|
|
13993
|
+
{
|
|
13994
|
+
"value": "hypermedia",
|
|
13995
|
+
"label": "Hypermedia"
|
|
13834
13996
|
}
|
|
13835
13997
|
]
|
|
13836
13998
|
},
|
|
13837
|
-
"behavior.
|
|
13999
|
+
"behavior.detail.source.resource.kind": {
|
|
13838
14000
|
"mode": "enum",
|
|
13839
14001
|
"options": [
|
|
13840
14002
|
{
|
|
@@ -13855,7 +14017,7 @@
|
|
|
13855
14017
|
}
|
|
13856
14018
|
]
|
|
13857
14019
|
},
|
|
13858
|
-
"behavior.
|
|
14020
|
+
"behavior.detail.source.resourcePath.method": {
|
|
13859
14021
|
"mode": "enum",
|
|
13860
14022
|
"options": [
|
|
13861
14023
|
{
|
|
@@ -13868,7 +14030,7 @@
|
|
|
13868
14030
|
}
|
|
13869
14031
|
]
|
|
13870
14032
|
},
|
|
13871
|
-
"behavior.
|
|
14033
|
+
"behavior.detail.source.resourcePath.paramsMap": {
|
|
13872
14034
|
"mode": "suggested",
|
|
13873
14035
|
"options": [
|
|
13874
14036
|
{
|
|
@@ -13881,7 +14043,7 @@
|
|
|
13881
14043
|
}
|
|
13882
14044
|
]
|
|
13883
14045
|
},
|
|
13884
|
-
"behavior.
|
|
14046
|
+
"behavior.detail.source.resourceAllowList[]": {
|
|
13885
14047
|
"mode": "suggested",
|
|
13886
14048
|
"options": [
|
|
13887
14049
|
{
|
|
@@ -13894,7 +14056,7 @@
|
|
|
13894
14056
|
}
|
|
13895
14057
|
]
|
|
13896
14058
|
},
|
|
13897
|
-
"behavior.
|
|
14059
|
+
"behavior.detail.rendering.strategy": {
|
|
13898
14060
|
"mode": "enum",
|
|
13899
14061
|
"options": [
|
|
13900
14062
|
{
|
|
@@ -13903,7 +14065,7 @@
|
|
|
13903
14065
|
}
|
|
13904
14066
|
]
|
|
13905
14067
|
},
|
|
13906
|
-
"behavior.
|
|
14068
|
+
"behavior.detail.rendering.hostLayout": {
|
|
13907
14069
|
"mode": "enum",
|
|
13908
14070
|
"options": [
|
|
13909
14071
|
{
|
|
@@ -13920,7 +14082,7 @@
|
|
|
13920
14082
|
}
|
|
13921
14083
|
]
|
|
13922
14084
|
},
|
|
13923
|
-
"behavior.
|
|
14085
|
+
"behavior.detail.rendering.fallbackNodePolicy": {
|
|
13924
14086
|
"mode": "enum",
|
|
13925
14087
|
"options": [
|
|
13926
14088
|
{
|
|
@@ -13933,7 +14095,7 @@
|
|
|
13933
14095
|
}
|
|
13934
14096
|
]
|
|
13935
14097
|
},
|
|
13936
|
-
"behavior.
|
|
14098
|
+
"behavior.detail.height.mode": {
|
|
13937
14099
|
"mode": "enum",
|
|
13938
14100
|
"options": [
|
|
13939
14101
|
{
|
|
@@ -15939,6 +16101,23 @@
|
|
|
15939
16101
|
"defaultValue": true,
|
|
15940
16102
|
"patchTemplate": {
|
|
15941
16103
|
"behavior": {
|
|
16104
|
+
"detail": {
|
|
16105
|
+
"schemaContract": {
|
|
16106
|
+
"kind": "praxis.detail.schema",
|
|
16107
|
+
"version": "1.0.0"
|
|
16108
|
+
},
|
|
16109
|
+
"source": {
|
|
16110
|
+
"mode": "inline",
|
|
16111
|
+
"inlineSchema": {
|
|
16112
|
+
"layout": "stack",
|
|
16113
|
+
"items": []
|
|
16114
|
+
}
|
|
16115
|
+
},
|
|
16116
|
+
"rendering": {
|
|
16117
|
+
"strategy": "registry",
|
|
16118
|
+
"registryId": "praxis.detail.default"
|
|
16119
|
+
}
|
|
16120
|
+
},
|
|
15942
16121
|
"expansion": {
|
|
15943
16122
|
"enabled": true,
|
|
15944
16123
|
"contractVersion": "1.0.0",
|
|
@@ -15952,23 +16131,6 @@
|
|
|
15952
16131
|
"allowMultiple": false,
|
|
15953
16132
|
"maxExpandedRows": 1,
|
|
15954
16133
|
"onOverflow": "collapseOldest"
|
|
15955
|
-
},
|
|
15956
|
-
"detail": {
|
|
15957
|
-
"schemaContract": {
|
|
15958
|
-
"kind": "praxis.detail.schema",
|
|
15959
|
-
"version": "1.0.0"
|
|
15960
|
-
},
|
|
15961
|
-
"source": {
|
|
15962
|
-
"mode": "inline",
|
|
15963
|
-
"inlineSchema": {
|
|
15964
|
-
"layout": "stack",
|
|
15965
|
-
"items": []
|
|
15966
|
-
}
|
|
15967
|
-
},
|
|
15968
|
-
"rendering": {
|
|
15969
|
-
"strategy": "registry",
|
|
15970
|
-
"registryId": "praxis.detail.default"
|
|
15971
|
-
}
|
|
15972
16134
|
}
|
|
15973
16135
|
}
|
|
15974
16136
|
}
|
|
@@ -15989,13 +16151,12 @@
|
|
|
15989
16151
|
"requiresExistingTarget": false,
|
|
15990
16152
|
"patchTemplate": {
|
|
15991
16153
|
"behavior": {
|
|
15992
|
-
"
|
|
15993
|
-
"
|
|
15994
|
-
"
|
|
15995
|
-
"mode": "{{value}}"
|
|
15996
|
-
}
|
|
16154
|
+
"detail": {
|
|
16155
|
+
"source": {
|
|
16156
|
+
"mode": "{{value}}"
|
|
15997
16157
|
}
|
|
15998
|
-
}
|
|
16158
|
+
},
|
|
16159
|
+
"expansion": {}
|
|
15999
16160
|
}
|
|
16000
16161
|
}
|
|
16001
16162
|
},
|
|
@@ -16013,18 +16174,17 @@
|
|
|
16013
16174
|
"requiresExistingTarget": false,
|
|
16014
16175
|
"patchTemplate": {
|
|
16015
16176
|
"behavior": {
|
|
16016
|
-
"
|
|
16017
|
-
"
|
|
16018
|
-
"
|
|
16019
|
-
|
|
16020
|
-
"
|
|
16021
|
-
|
|
16022
|
-
|
|
16023
|
-
"version": "{{params.version}}"
|
|
16024
|
-
}
|
|
16177
|
+
"detail": {
|
|
16178
|
+
"source": {
|
|
16179
|
+
"mode": "resource",
|
|
16180
|
+
"resource": {
|
|
16181
|
+
"kind": "{{params.kind}}",
|
|
16182
|
+
"id": "{{params.id}}",
|
|
16183
|
+
"version": "{{params.version}}"
|
|
16025
16184
|
}
|
|
16026
16185
|
}
|
|
16027
|
-
}
|
|
16186
|
+
},
|
|
16187
|
+
"expansion": {}
|
|
16028
16188
|
}
|
|
16029
16189
|
}
|
|
16030
16190
|
},
|
|
@@ -16429,9 +16589,9 @@
|
|
|
16429
16589
|
"DOC: Widget purpose: data table with sorting, filtering, pagination, and actions.",
|
|
16430
16590
|
"DOC: Host inputs: tableId (required), resourcePath (optional), config (optional).",
|
|
16431
16591
|
"DOC: config defaults to createDefaultTableConfig(); columns may start empty.",
|
|
16432
|
-
"DOC: behavior.
|
|
16592
|
+
"DOC: behavior.detail é schema-driven; altere source.mode (inline/resource/resourcePath), não use detail.type.",
|
|
16433
16593
|
"DOC: Para detail.source.mode=resource, sempre informar resource.kind + resource.id + resource.version.",
|
|
16434
|
-
"DOC: Para detail.source.mode=resourcePath, sempre informar resourcePath.paramsMap + resourceAllowList[]; URL absoluta/scheme
|
|
16594
|
+
"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.",
|
|
16435
16595
|
"DOC: collapseOn ativo no runtime P0A: sortChange, pageChange, filterChange e dataRefresh.",
|
|
16436
16596
|
"DOC: When resourcePath is available, the table can load schema and data; ask the user to pick an API resource when missing.",
|
|
16437
16597
|
"DOC: resourcePath must be the base resource path only (no /filter, /all, /{id}). CRUD endpoints are handled internally.",
|
|
@@ -17920,7 +18080,12 @@
|
|
|
17920
18080
|
{
|
|
17921
18081
|
"kind": "expansion",
|
|
17922
18082
|
"resolver": "expansion-config",
|
|
17923
|
-
"description": "
|
|
18083
|
+
"description": "Interação de expansão por linha"
|
|
18084
|
+
},
|
|
18085
|
+
{
|
|
18086
|
+
"kind": "detail",
|
|
18087
|
+
"resolver": "behavior-config",
|
|
18088
|
+
"description": "Conteúdo e apresentação do detalhe contextual"
|
|
17924
18089
|
},
|
|
17925
18090
|
{
|
|
17926
18091
|
"kind": "rule",
|
|
@@ -27205,15 +27370,46 @@
|
|
|
27205
27370
|
},
|
|
27206
27371
|
"effects": [
|
|
27207
27372
|
{
|
|
27208
|
-
"kind": "
|
|
27209
|
-
"
|
|
27373
|
+
"kind": "compile-domain-patch",
|
|
27374
|
+
"handler": "table-detail-configure",
|
|
27375
|
+
"path": "behavior",
|
|
27376
|
+
"handlerContract": {
|
|
27377
|
+
"reads": [
|
|
27378
|
+
"behavior.detail",
|
|
27379
|
+
"behavior.expansion",
|
|
27380
|
+
"behavior.selection"
|
|
27381
|
+
],
|
|
27382
|
+
"writes": [
|
|
27383
|
+
"behavior.detail",
|
|
27384
|
+
"behavior.expansion",
|
|
27385
|
+
"behavior.selection"
|
|
27386
|
+
],
|
|
27387
|
+
"identityKeys": [],
|
|
27388
|
+
"failureModes": [
|
|
27389
|
+
"invalid-presentation",
|
|
27390
|
+
"conflicting-detail-activation",
|
|
27391
|
+
"selection-required",
|
|
27392
|
+
"invalid-height",
|
|
27393
|
+
"invalid-source-fallback",
|
|
27394
|
+
"invalid-inline-content",
|
|
27395
|
+
"undeclared-detail-action"
|
|
27396
|
+
],
|
|
27397
|
+
"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."
|
|
27398
|
+
}
|
|
27210
27399
|
}
|
|
27211
27400
|
],
|
|
27212
27401
|
"validators": [
|
|
27213
27402
|
"editor-round-trip-preserve"
|
|
27214
27403
|
],
|
|
27215
27404
|
"affectedPaths": [
|
|
27216
|
-
"behavior
|
|
27405
|
+
"behavior",
|
|
27406
|
+
"behavior.detail",
|
|
27407
|
+
"behavior.detail.presentation",
|
|
27408
|
+
"behavior.detail.presentation.bottomStackPosition",
|
|
27409
|
+
"behavior.detail.presentation.emptyBehavior",
|
|
27410
|
+
"behavior.detail.enabled",
|
|
27411
|
+
"behavior.expansion",
|
|
27412
|
+
"behavior.selection"
|
|
27217
27413
|
],
|
|
27218
27414
|
"submissionImpact": "config-only",
|
|
27219
27415
|
"preconditions": [
|
|
@@ -27221,13 +27417,13 @@
|
|
|
27221
27417
|
]
|
|
27222
27418
|
},
|
|
27223
27419
|
{
|
|
27224
|
-
"operationId": "
|
|
27225
|
-
"title": "Configurar fonte
|
|
27420
|
+
"operationId": "detail.source.configure",
|
|
27421
|
+
"title": "Configurar fonte do detalhe contextual",
|
|
27226
27422
|
"scope": "global",
|
|
27227
|
-
"targetKind": "
|
|
27423
|
+
"targetKind": "detail",
|
|
27228
27424
|
"target": {
|
|
27229
|
-
"kind": "
|
|
27230
|
-
"resolver": "
|
|
27425
|
+
"kind": "detail",
|
|
27426
|
+
"resolver": "behavior-config",
|
|
27231
27427
|
"ambiguityPolicy": "fail",
|
|
27232
27428
|
"required": false
|
|
27233
27429
|
},
|
|
@@ -27290,25 +27486,72 @@
|
|
|
27290
27486
|
},
|
|
27291
27487
|
"hypermedia": {
|
|
27292
27488
|
"type": "object"
|
|
27489
|
+
},
|
|
27490
|
+
"contextMap": {
|
|
27491
|
+
"type": "object",
|
|
27492
|
+
"additionalProperties": {
|
|
27493
|
+
"type": "string"
|
|
27494
|
+
}
|
|
27495
|
+
},
|
|
27496
|
+
"fallbackMode": {
|
|
27497
|
+
"enum": [
|
|
27498
|
+
"none",
|
|
27499
|
+
"inline",
|
|
27500
|
+
"resource"
|
|
27501
|
+
]
|
|
27293
27502
|
}
|
|
27294
27503
|
}
|
|
27295
27504
|
},
|
|
27296
27505
|
"effects": [
|
|
27297
27506
|
{
|
|
27298
|
-
"kind": "
|
|
27299
|
-
"
|
|
27507
|
+
"kind": "compile-domain-patch",
|
|
27508
|
+
"handler": "table-detail-configure",
|
|
27509
|
+
"path": "behavior",
|
|
27510
|
+
"handlerContract": {
|
|
27511
|
+
"reads": [
|
|
27512
|
+
"behavior.detail",
|
|
27513
|
+
"behavior.expansion",
|
|
27514
|
+
"behavior.selection"
|
|
27515
|
+
],
|
|
27516
|
+
"writes": [
|
|
27517
|
+
"behavior.detail",
|
|
27518
|
+
"behavior.expansion",
|
|
27519
|
+
"behavior.selection"
|
|
27520
|
+
],
|
|
27521
|
+
"identityKeys": [],
|
|
27522
|
+
"failureModes": [
|
|
27523
|
+
"invalid-presentation",
|
|
27524
|
+
"conflicting-detail-activation",
|
|
27525
|
+
"selection-required",
|
|
27526
|
+
"invalid-height",
|
|
27527
|
+
"invalid-source-fallback",
|
|
27528
|
+
"invalid-inline-content",
|
|
27529
|
+
"undeclared-detail-action"
|
|
27530
|
+
],
|
|
27531
|
+
"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."
|
|
27532
|
+
}
|
|
27300
27533
|
}
|
|
27301
27534
|
],
|
|
27302
27535
|
"validators": [
|
|
27303
27536
|
"remote-resource-binding-safe",
|
|
27537
|
+
"detail-source-fallback-valid",
|
|
27538
|
+
"detail-inline-rich-content-valid",
|
|
27539
|
+
"detail-action-reference-declared",
|
|
27304
27540
|
"editor-round-trip-preserve"
|
|
27305
27541
|
],
|
|
27306
27542
|
"affectedPaths": [
|
|
27307
|
-
"behavior
|
|
27308
|
-
"behavior.
|
|
27309
|
-
"behavior.
|
|
27310
|
-
"behavior.
|
|
27311
|
-
"behavior.
|
|
27543
|
+
"behavior",
|
|
27544
|
+
"behavior.detail",
|
|
27545
|
+
"behavior.detail.source",
|
|
27546
|
+
"behavior.detail.source.resourcePath",
|
|
27547
|
+
"behavior.detail.source.resourceAllowList",
|
|
27548
|
+
"behavior.detail.source.hypermedia",
|
|
27549
|
+
"behavior.detail.source.contextMap",
|
|
27550
|
+
"behavior.detail.source.fallbackMode",
|
|
27551
|
+
"behavior.detail.presentation",
|
|
27552
|
+
"behavior.detail.enabled",
|
|
27553
|
+
"behavior.expansion",
|
|
27554
|
+
"behavior.selection"
|
|
27312
27555
|
],
|
|
27313
27556
|
"submissionImpact": "affects-remote-binding",
|
|
27314
27557
|
"preconditions": [
|
|
@@ -27316,13 +27559,13 @@
|
|
|
27316
27559
|
]
|
|
27317
27560
|
},
|
|
27318
27561
|
{
|
|
27319
|
-
"operationId": "
|
|
27320
|
-
"title": "Configurar
|
|
27562
|
+
"operationId": "detail.configure",
|
|
27563
|
+
"title": "Configurar detalhe contextual",
|
|
27321
27564
|
"scope": "global",
|
|
27322
|
-
"targetKind": "
|
|
27565
|
+
"targetKind": "detail",
|
|
27323
27566
|
"target": {
|
|
27324
|
-
"kind": "
|
|
27325
|
-
"resolver": "
|
|
27567
|
+
"kind": "detail",
|
|
27568
|
+
"resolver": "behavior-config",
|
|
27326
27569
|
"ambiguityPolicy": "fail",
|
|
27327
27570
|
"required": false
|
|
27328
27571
|
},
|
|
@@ -27330,6 +27573,112 @@
|
|
|
27330
27573
|
"type": "object",
|
|
27331
27574
|
"minProperties": 1,
|
|
27332
27575
|
"properties": {
|
|
27576
|
+
"enabled": {
|
|
27577
|
+
"type": "boolean"
|
|
27578
|
+
},
|
|
27579
|
+
"presentation": {
|
|
27580
|
+
"type": "object",
|
|
27581
|
+
"minProperties": 1,
|
|
27582
|
+
"properties": {
|
|
27583
|
+
"placement": {
|
|
27584
|
+
"type": "string",
|
|
27585
|
+
"enum": [
|
|
27586
|
+
"row",
|
|
27587
|
+
"bottom"
|
|
27588
|
+
]
|
|
27589
|
+
},
|
|
27590
|
+
"initiallyCollapsed": {
|
|
27591
|
+
"type": "boolean"
|
|
27592
|
+
},
|
|
27593
|
+
"bottomStackPosition": {
|
|
27594
|
+
"enum": [
|
|
27595
|
+
"beforeControls",
|
|
27596
|
+
"afterControls"
|
|
27597
|
+
]
|
|
27598
|
+
},
|
|
27599
|
+
"emptyBehavior": {
|
|
27600
|
+
"enum": [
|
|
27601
|
+
"message",
|
|
27602
|
+
"hide"
|
|
27603
|
+
]
|
|
27604
|
+
}
|
|
27605
|
+
}
|
|
27606
|
+
},
|
|
27607
|
+
"source": {
|
|
27608
|
+
"type": "object",
|
|
27609
|
+
"minProperties": 1,
|
|
27610
|
+
"properties": {
|
|
27611
|
+
"mode": {
|
|
27612
|
+
"enum": [
|
|
27613
|
+
"inline",
|
|
27614
|
+
"resource",
|
|
27615
|
+
"resourcePath",
|
|
27616
|
+
"hypermedia"
|
|
27617
|
+
]
|
|
27618
|
+
},
|
|
27619
|
+
"inlineSchema": {
|
|
27620
|
+
"type": "object"
|
|
27621
|
+
},
|
|
27622
|
+
"resource": {
|
|
27623
|
+
"type": "object",
|
|
27624
|
+
"properties": {
|
|
27625
|
+
"kind": {
|
|
27626
|
+
"enum": [
|
|
27627
|
+
"ui-composition",
|
|
27628
|
+
"form-schema",
|
|
27629
|
+
"table-schema",
|
|
27630
|
+
"dashboard-schema"
|
|
27631
|
+
]
|
|
27632
|
+
},
|
|
27633
|
+
"id": {
|
|
27634
|
+
"type": "string"
|
|
27635
|
+
},
|
|
27636
|
+
"version": {
|
|
27637
|
+
"type": "string"
|
|
27638
|
+
}
|
|
27639
|
+
}
|
|
27640
|
+
},
|
|
27641
|
+
"resourcePath": {
|
|
27642
|
+
"type": "object",
|
|
27643
|
+
"properties": {
|
|
27644
|
+
"path": {
|
|
27645
|
+
"type": "string"
|
|
27646
|
+
},
|
|
27647
|
+
"method": {
|
|
27648
|
+
"enum": [
|
|
27649
|
+
"GET",
|
|
27650
|
+
"POST"
|
|
27651
|
+
]
|
|
27652
|
+
},
|
|
27653
|
+
"paramsMap": {
|
|
27654
|
+
"type": "object"
|
|
27655
|
+
}
|
|
27656
|
+
}
|
|
27657
|
+
},
|
|
27658
|
+
"resourceAllowList": {
|
|
27659
|
+
"type": "array",
|
|
27660
|
+
"items": {
|
|
27661
|
+
"type": "string"
|
|
27662
|
+
}
|
|
27663
|
+
},
|
|
27664
|
+
"hypermedia": {
|
|
27665
|
+
"type": "object"
|
|
27666
|
+
},
|
|
27667
|
+
"contextMap": {
|
|
27668
|
+
"type": "object",
|
|
27669
|
+
"additionalProperties": {
|
|
27670
|
+
"type": "string"
|
|
27671
|
+
}
|
|
27672
|
+
},
|
|
27673
|
+
"fallbackMode": {
|
|
27674
|
+
"enum": [
|
|
27675
|
+
"none",
|
|
27676
|
+
"inline",
|
|
27677
|
+
"resource"
|
|
27678
|
+
]
|
|
27679
|
+
}
|
|
27680
|
+
}
|
|
27681
|
+
},
|
|
27333
27682
|
"schemaContract": {
|
|
27334
27683
|
"type": "object",
|
|
27335
27684
|
"properties": {
|
|
@@ -27338,6 +27687,41 @@
|
|
|
27338
27687
|
},
|
|
27339
27688
|
"version": {
|
|
27340
27689
|
"type": "string"
|
|
27690
|
+
},
|
|
27691
|
+
"allowedNodes": {
|
|
27692
|
+
"type": "array",
|
|
27693
|
+
"items": {
|
|
27694
|
+
"enum": [
|
|
27695
|
+
"layout",
|
|
27696
|
+
"stack",
|
|
27697
|
+
"tabs",
|
|
27698
|
+
"tab",
|
|
27699
|
+
"text",
|
|
27700
|
+
"icon",
|
|
27701
|
+
"image",
|
|
27702
|
+
"badge",
|
|
27703
|
+
"avatar",
|
|
27704
|
+
"metric",
|
|
27705
|
+
"progress",
|
|
27706
|
+
"compose",
|
|
27707
|
+
"card",
|
|
27708
|
+
"mediaBlock",
|
|
27709
|
+
"cardGrid",
|
|
27710
|
+
"timeline",
|
|
27711
|
+
"value",
|
|
27712
|
+
"action",
|
|
27713
|
+
"actionBar",
|
|
27714
|
+
"list",
|
|
27715
|
+
"detailList",
|
|
27716
|
+
"formRef",
|
|
27717
|
+
"tableRef",
|
|
27718
|
+
"chartRef",
|
|
27719
|
+
"diagramEmbed",
|
|
27720
|
+
"richText",
|
|
27721
|
+
"richContent",
|
|
27722
|
+
"templateRef"
|
|
27723
|
+
]
|
|
27724
|
+
}
|
|
27341
27725
|
}
|
|
27342
27726
|
}
|
|
27343
27727
|
},
|
|
@@ -27378,7 +27762,7 @@
|
|
|
27378
27762
|
},
|
|
27379
27763
|
"px": {
|
|
27380
27764
|
"type": "number",
|
|
27381
|
-
"
|
|
27765
|
+
"exclusiveMinimum": 0
|
|
27382
27766
|
}
|
|
27383
27767
|
}
|
|
27384
27768
|
}
|
|
@@ -27386,32 +27770,69 @@
|
|
|
27386
27770
|
},
|
|
27387
27771
|
"effects": [
|
|
27388
27772
|
{
|
|
27389
|
-
"kind": "
|
|
27390
|
-
"
|
|
27773
|
+
"kind": "compile-domain-patch",
|
|
27774
|
+
"handler": "table-detail-configure",
|
|
27775
|
+
"path": "behavior",
|
|
27776
|
+
"handlerContract": {
|
|
27777
|
+
"reads": [
|
|
27778
|
+
"behavior.detail",
|
|
27779
|
+
"behavior.expansion",
|
|
27780
|
+
"behavior.selection"
|
|
27781
|
+
],
|
|
27782
|
+
"writes": [
|
|
27783
|
+
"behavior.detail",
|
|
27784
|
+
"behavior.expansion",
|
|
27785
|
+
"behavior.selection"
|
|
27786
|
+
],
|
|
27787
|
+
"identityKeys": [],
|
|
27788
|
+
"failureModes": [
|
|
27789
|
+
"invalid-presentation",
|
|
27790
|
+
"conflicting-detail-activation",
|
|
27791
|
+
"selection-required",
|
|
27792
|
+
"invalid-height",
|
|
27793
|
+
"invalid-source-fallback",
|
|
27794
|
+
"invalid-inline-content",
|
|
27795
|
+
"undeclared-detail-action"
|
|
27796
|
+
],
|
|
27797
|
+
"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."
|
|
27798
|
+
}
|
|
27391
27799
|
}
|
|
27392
27800
|
],
|
|
27393
27801
|
"validators": [
|
|
27802
|
+
"remote-resource-binding-safe",
|
|
27803
|
+
"detail-source-fallback-valid",
|
|
27804
|
+
"detail-inline-rich-content-valid",
|
|
27805
|
+
"detail-action-reference-declared",
|
|
27394
27806
|
"editor-round-trip-preserve"
|
|
27395
27807
|
],
|
|
27396
27808
|
"affectedPaths": [
|
|
27397
|
-
"behavior
|
|
27398
|
-
"behavior.
|
|
27399
|
-
"behavior.
|
|
27400
|
-
"behavior.
|
|
27809
|
+
"behavior",
|
|
27810
|
+
"behavior.detail",
|
|
27811
|
+
"behavior.detail.source",
|
|
27812
|
+
"behavior.detail.source.resourcePath",
|
|
27813
|
+
"behavior.detail.source.resourceAllowList",
|
|
27814
|
+
"behavior.detail.source.hypermedia",
|
|
27815
|
+
"behavior.detail.source.contextMap",
|
|
27816
|
+
"behavior.detail.source.fallbackMode",
|
|
27817
|
+
"behavior.detail.presentation",
|
|
27818
|
+
"behavior.detail.enabled",
|
|
27819
|
+
"behavior.expansion",
|
|
27820
|
+
"behavior.selection"
|
|
27401
27821
|
],
|
|
27402
|
-
"submissionImpact": "
|
|
27822
|
+
"submissionImpact": "config-only",
|
|
27403
27823
|
"preconditions": [
|
|
27404
27824
|
"config-initialized"
|
|
27405
27825
|
]
|
|
27406
27826
|
},
|
|
27407
27827
|
{
|
|
27408
|
-
"operationId": "
|
|
27409
|
-
"title": "Configurar
|
|
27828
|
+
"operationId": "detail.presentation.configure",
|
|
27829
|
+
"title": "Configurar apresentação do detalhe",
|
|
27830
|
+
"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.",
|
|
27410
27831
|
"scope": "global",
|
|
27411
|
-
"targetKind": "
|
|
27832
|
+
"targetKind": "detail",
|
|
27412
27833
|
"target": {
|
|
27413
|
-
"kind": "
|
|
27414
|
-
"resolver": "
|
|
27834
|
+
"kind": "detail",
|
|
27835
|
+
"resolver": "behavior-config",
|
|
27415
27836
|
"ambiguityPolicy": "fail",
|
|
27416
27837
|
"required": false
|
|
27417
27838
|
},
|
|
@@ -27419,19 +27840,103 @@
|
|
|
27419
27840
|
"type": "object",
|
|
27420
27841
|
"minProperties": 1,
|
|
27421
27842
|
"properties": {
|
|
27422
|
-
"
|
|
27423
|
-
"type": "string"
|
|
27843
|
+
"placement": {
|
|
27844
|
+
"type": "string",
|
|
27845
|
+
"enum": [
|
|
27846
|
+
"row",
|
|
27847
|
+
"bottom"
|
|
27848
|
+
]
|
|
27424
27849
|
},
|
|
27425
|
-
"
|
|
27426
|
-
"type": "
|
|
27850
|
+
"initiallyCollapsed": {
|
|
27851
|
+
"type": "boolean"
|
|
27427
27852
|
},
|
|
27428
|
-
"
|
|
27429
|
-
"
|
|
27430
|
-
|
|
27431
|
-
"
|
|
27432
|
-
|
|
27853
|
+
"bottomStackPosition": {
|
|
27854
|
+
"enum": [
|
|
27855
|
+
"beforeControls",
|
|
27856
|
+
"afterControls"
|
|
27857
|
+
]
|
|
27433
27858
|
},
|
|
27434
|
-
"
|
|
27859
|
+
"emptyBehavior": {
|
|
27860
|
+
"enum": [
|
|
27861
|
+
"message",
|
|
27862
|
+
"hide"
|
|
27863
|
+
]
|
|
27864
|
+
}
|
|
27865
|
+
}
|
|
27866
|
+
},
|
|
27867
|
+
"effects": [
|
|
27868
|
+
{
|
|
27869
|
+
"kind": "compile-domain-patch",
|
|
27870
|
+
"handler": "table-detail-configure",
|
|
27871
|
+
"path": "behavior",
|
|
27872
|
+
"handlerContract": {
|
|
27873
|
+
"reads": [
|
|
27874
|
+
"behavior.detail",
|
|
27875
|
+
"behavior.expansion",
|
|
27876
|
+
"behavior.selection"
|
|
27877
|
+
],
|
|
27878
|
+
"writes": [
|
|
27879
|
+
"behavior.detail",
|
|
27880
|
+
"behavior.expansion",
|
|
27881
|
+
"behavior.selection"
|
|
27882
|
+
],
|
|
27883
|
+
"identityKeys": [],
|
|
27884
|
+
"failureModes": [
|
|
27885
|
+
"invalid-presentation",
|
|
27886
|
+
"conflicting-detail-activation",
|
|
27887
|
+
"selection-required",
|
|
27888
|
+
"invalid-height"
|
|
27889
|
+
],
|
|
27890
|
+
"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."
|
|
27891
|
+
}
|
|
27892
|
+
}
|
|
27893
|
+
],
|
|
27894
|
+
"validators": [
|
|
27895
|
+
"editor-round-trip-preserve"
|
|
27896
|
+
],
|
|
27897
|
+
"affectedPaths": [
|
|
27898
|
+
"behavior",
|
|
27899
|
+
"behavior.detail",
|
|
27900
|
+
"behavior.detail.presentation",
|
|
27901
|
+
"behavior.detail.presentation.bottomStackPosition",
|
|
27902
|
+
"behavior.detail.presentation.emptyBehavior",
|
|
27903
|
+
"behavior.detail.enabled",
|
|
27904
|
+
"behavior.expansion",
|
|
27905
|
+
"behavior.selection"
|
|
27906
|
+
],
|
|
27907
|
+
"submissionImpact": "config-only",
|
|
27908
|
+
"preconditions": [
|
|
27909
|
+
"config-initialized"
|
|
27910
|
+
]
|
|
27911
|
+
},
|
|
27912
|
+
{
|
|
27913
|
+
"operationId": "meta.configure",
|
|
27914
|
+
"title": "Configurar metadados",
|
|
27915
|
+
"scope": "global",
|
|
27916
|
+
"targetKind": "meta",
|
|
27917
|
+
"target": {
|
|
27918
|
+
"kind": "meta",
|
|
27919
|
+
"resolver": "table-meta-config",
|
|
27920
|
+
"ambiguityPolicy": "fail",
|
|
27921
|
+
"required": false
|
|
27922
|
+
},
|
|
27923
|
+
"inputSchema": {
|
|
27924
|
+
"type": "object",
|
|
27925
|
+
"minProperties": 1,
|
|
27926
|
+
"properties": {
|
|
27927
|
+
"name": {
|
|
27928
|
+
"type": "string"
|
|
27929
|
+
},
|
|
27930
|
+
"description": {
|
|
27931
|
+
"type": "string"
|
|
27932
|
+
},
|
|
27933
|
+
"tags": {
|
|
27934
|
+
"type": "array",
|
|
27935
|
+
"items": {
|
|
27936
|
+
"type": "string"
|
|
27937
|
+
}
|
|
27938
|
+
},
|
|
27939
|
+
"schemaId": {
|
|
27435
27940
|
"type": "string"
|
|
27436
27941
|
}
|
|
27437
27942
|
}
|
|
@@ -29723,13 +30228,32 @@
|
|
|
29723
30228
|
"level": "error",
|
|
29724
30229
|
"code": "TB024",
|
|
29725
30230
|
"description": "Overrides de projecao podem alterar apresentacao e comportamento, mas nunca a identidade canonica field."
|
|
30231
|
+
},
|
|
30232
|
+
{
|
|
30233
|
+
"validatorId": "detail-source-fallback-valid",
|
|
30234
|
+
"level": "error",
|
|
30235
|
+
"code": "TB025",
|
|
30236
|
+
"description": "O fallback do detalhe deve apontar para uma fonte completa e diferente da fonte principal, evitando ciclos e configurações inalcançáveis."
|
|
30237
|
+
},
|
|
30238
|
+
{
|
|
30239
|
+
"validatorId": "detail-inline-rich-content-valid",
|
|
30240
|
+
"level": "error",
|
|
30241
|
+
"code": "TB026",
|
|
30242
|
+
"description": "Rich Content embutido no detalhe deve passar pelo validador canônico de documento e pela política de classes raiz."
|
|
30243
|
+
},
|
|
30244
|
+
{
|
|
30245
|
+
"validatorId": "detail-action-reference-declared",
|
|
30246
|
+
"level": "error",
|
|
30247
|
+
"code": "TB027",
|
|
30248
|
+
"description": "Toda actionId embutida no detalhe local deve corresponder a uma ação declarada em actions.row.actions[]."
|
|
29726
30249
|
}
|
|
29727
30250
|
],
|
|
29728
30251
|
"roundTripRequirements": [
|
|
29729
30252
|
"preserve-column-order",
|
|
29730
30253
|
"normalize-enum-values",
|
|
29731
30254
|
"maintain-renderer-precedence",
|
|
29732
|
-
"preserve-meta-ids"
|
|
30255
|
+
"preserve-meta-ids",
|
|
30256
|
+
"preserve-detail-source-fallback-and-rich-content"
|
|
29733
30257
|
],
|
|
29734
30258
|
"presentationAffordances": {
|
|
29735
30259
|
"version": "0.2.0",
|
|
@@ -30808,9 +31332,9 @@
|
|
|
30808
31332
|
{
|
|
30809
31333
|
"chunkIndex": 0,
|
|
30810
31334
|
"chunkKind": "summary",
|
|
30811
|
-
"content": "Component ID: praxis-table\nSelector: praxis-table\nFriendly Name: Praxis Table\nDescription: Tabela interativa com paginação, ordenação e ações em massa.\nCategory: table\nLib/Package: @praxisui/table\nTags: widget, table, configurable, hasWizard, stable\nInputs:\n - config (TableConfig)\n - resourcePath (string)\n - data (any[])\n - configPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - queryContext (PraxisDataQueryContext | null)\n - aiContext (TableAiContext | null)\n - aiAssistantVoiceInputMode ('disabled' | 'browser-speech')\n - aiAssistantVoiceLanguage (string)\n - filterCriteria (Record<string, any>)\n - autoDelete (boolean)\n - enableCustomization (boolean)\n - authoringCapability (string)\n - dense (boolean)\n - horizontalScroll ('auto' | 'wrap' | 'none')\n - tableId (string)\n - componentInstanceId (string)\n - title (string)\n - subtitle (string)\n - icon (string)\n - notifyIfOutdated ('inline' | 'snackbar' | 'both' | 'none')\n - snoozeMs (number)\n - autoOpenSettingsOnOutdated (boolean)\n - crudContext (any)\nOutputs:\n - rowClick ({ row: any; index: number })\n - widgetEvent (WidgetEventEnvelope)\n - resourceEvent (PraxisResourceEvent)\n - rowDoubleClick ({ action: string; row: any })\n - rowExpansionChange (RowExpansionChangeEvent)\n - selectionChange ({ trigger: string; row?: any; selectedRows: any[]; selectedCount: number; tableId?: string })\n - rowAction ({ action: string; row: any })\n - toolbarAction ({ action: string })\n - bulkAction ({ action: string; rows: any[] })\n - columnReorder ({ action: string; trigger: \"drag\" | \"keyboard\" | \"undo\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; previousOrder: string[]; currentOrder: string[]; persisted: boolean })\n - columnReorderAttempt ({ action: \"columnReorderAttempt\"; trigger: \"drag\" | \"keyboard\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; result: \"blocked\"; reasonCode: \"drop-zone-policy-blocked\"; configuredColumnDropZones: string[] })\n - beforeDelete (any)\n - afterDelete (any)\n - deleteError ({ row: any; error: unknown })\n - beforeBulkDelete (any[])\n - afterBulkDelete (any[])\n - bulkDeleteError ({ rows: any[]; error: unknown })\n - schemaStatusChange ({ outdated: boolean; serverHash?: string; lastVerifiedAt?: string; trigger?: string; tableId?: string })\n - metadataChange ({ trigger: string; meta: any; tableId?: string })\n - configChange (TableConfig)\n - loadingStateChange (LoadingState)\nInsertion Presets:\n - page-table: Tabela da página - Configuração autorada no Page Builder, com prioridade sobre preferências anteriores da tabela.\n",
|
|
31335
|
+
"content": "Component ID: praxis-table\nSelector: praxis-table\nFriendly Name: Praxis Table\nDescription: Tabela interativa com paginação, ordenação e ações em massa.\nCategory: table\nLib/Package: @praxisui/table\nTags: widget, table, configurable, hasWizard, stable\nInputs:\n - config (TableConfig)\n - resourcePath (string)\n - data (any[])\n - configPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - queryContext (PraxisDataQueryContext | null)\n - aiContext (TableAiContext | null)\n - aiAssistantVoiceInputMode ('disabled' | 'browser-speech')\n - aiAssistantVoiceLanguage (string)\n - filterCriteria (Record<string, any>)\n - autoDelete (boolean)\n - enableCustomization (boolean)\n - authoringCapability (string)\n - dense (boolean)\n - horizontalScroll ('auto' | 'wrap' | 'none')\n - tableId (string)\n - componentInstanceId (string)\n - title (string)\n - subtitle (string)\n - icon (string)\n - notifyIfOutdated ('inline' | 'snackbar' | 'both' | 'none')\n - snoozeMs (number)\n - autoOpenSettingsOnOutdated (boolean)\n - crudContext (any)\nOutputs:\n - rowClick ({ row: any; index: number })\n - widgetEvent (WidgetEventEnvelope)\n - resourceEvent (PraxisResourceEvent)\n - rowDoubleClick ({ action: string; row: any })\n - rowExpansionChange (RowExpansionChangeEvent)\n - selectionChange ({ trigger: string; row?: any; selectedRows: any[]; selectedCount: number; tableId?: string })\n - rowAction ({ action: string; row: any })\n - toolbarAction ({ action: string })\n - bulkAction ({ action: string; rows: any[] })\n - columnReorder ({ action: string; trigger: \"drag\" | \"keyboard\" | \"undo\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; previousOrder: string[]; currentOrder: string[]; persisted: boolean })\n - columnReorderAttempt ({ action: \"columnReorderAttempt\"; trigger: \"drag\" | \"keyboard\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; result: \"blocked\"; reasonCode: \"drop-zone-policy-blocked\"; configuredColumnDropZones: string[] })\n - beforeDelete (any)\n - afterDelete (any)\n - deleteError ({ row: any; error: unknown })\n - beforeBulkDelete (any[])\n - afterBulkDelete (any[])\n - bulkDeleteError ({ rows: any[]; error: unknown })\n - schemaStatusChange ({ outdated: boolean; serverHash?: string; lastVerifiedAt?: string; trigger?: string; tableId?: string })\n - metadataChange ({ trigger: string; meta: any; tableId?: string })\n - configChange (TableConfig)\n - loadingStateChange (LoadingState)\n - queryContextClear (PraxisTableQueryContextClearEvent)\n - queryContextChange (PraxisDataQueryContext)\nInsertion Presets:\n - page-table: Tabela da página - Configuração autorada no Page Builder, com prioridade sobre preferências anteriores da tabela.\n",
|
|
30812
31336
|
"sourcePointer": "projects/praxis-table/src/lib/praxis-table.metadata.ts",
|
|
30813
|
-
"contentHash": "
|
|
31337
|
+
"contentHash": "190f781b06cc93cae5292f354b0a1a09ae4fd0ee9007180e6f1e21ceb82a45ad",
|
|
30814
31338
|
"sourceKind": "component_definition",
|
|
30815
31339
|
"sourceId": "praxis-table",
|
|
30816
31340
|
"corpusVersion": "1.0.0"
|
|
@@ -30888,9 +31412,9 @@
|
|
|
30888
31412
|
{
|
|
30889
31413
|
"chunkIndex": 8,
|
|
30890
31414
|
"chunkKind": "capabilities",
|
|
30891
|
-
"content": "Schema 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.\n\nSchema Capability:\n - Path: behavior.emptyState.message\n Category: behavior\n Kind: string\n Description: Mensagem de estado vazio padrão.\n\nSchema Capability:\n - Path: behavior.emptyState.actions\n Category: behavior\n Kind: array\n Description: Ações contextuais explícitas do estado vazio.\n\nSchema Capability:\n - Path: behavior.resizing.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita redimensionamento de colunas.\n\nSchema Capability:\n - Path: behavior.resizing.minColumnWidth\n Category: behavior\n Kind: number\n Description: Largura mínima das colunas (px).\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
|
|
31415
|
+
"content": "Schema 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.\n\nSchema Capability:\n - Path: behavior.emptyState.message\n Category: behavior\n Kind: string\n Description: Mensagem de estado vazio padrão.\n\nSchema Capability:\n - Path: behavior.emptyState.actions\n Category: behavior\n Kind: array\n Description: Ações contextuais explícitas do estado vazio.\n\nSchema Capability:\n - Path: behavior.resizing.enabled\n Category: behavior\n Kind: boolean\n Description: Habilita redimensionamento de colunas.\n\nSchema Capability:\n - Path: behavior.resizing.minColumnWidth\n Category: behavior\n Kind: number\n Description: Largura mínima das colunas (px).\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.",
|
|
30892
31416
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30893
|
-
"contentHash": "
|
|
31417
|
+
"contentHash": "465cce65fc5e4dec14aa7b4441e0f218a839d51e1d941494accffd9676e9137e",
|
|
30894
31418
|
"sourceKind": "component_definition",
|
|
30895
31419
|
"sourceId": "praxis-table",
|
|
30896
31420
|
"corpusVersion": "1.0.0"
|
|
@@ -30898,9 +31422,9 @@
|
|
|
30898
31422
|
{
|
|
30899
31423
|
"chunkIndex": 9,
|
|
30900
31424
|
"chunkKind": "capabilities",
|
|
30901
|
-
"content": "Schema Capability:\n - Path: behavior.
|
|
31425
|
+
"content": "Schema 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.\n\nSchema 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.",
|
|
30902
31426
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30903
|
-
"contentHash": "
|
|
31427
|
+
"contentHash": "493f775e8cd3ed000a43880b902dcb6914aaf5e1290090f006bc35995b7d150e",
|
|
30904
31428
|
"sourceKind": "component_definition",
|
|
30905
31429
|
"sourceId": "praxis-table",
|
|
30906
31430
|
"corpusVersion": "1.0.0"
|
|
@@ -30908,9 +31432,9 @@
|
|
|
30908
31432
|
{
|
|
30909
31433
|
"chunkIndex": 10,
|
|
30910
31434
|
"chunkKind": "capabilities",
|
|
30911
|
-
"content": "Schema 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\")
|
|
31435
|
+
"content": "Schema Capability:\n - Path: appearance.animations.enabled\n Category: appearance\n Kind: boolean\n Description: Habilita animações de hover/seleção/superfície da tabela.\n\nSchema Capability:\n - Path: appearance.elevation.level\n Category: appearance\n Kind: number\n Description: Nível de sombra/elevação da superfície da tabela.\n\nSchema Capability:\n - Path: toolbar\n Category: toolbar\n Kind: object\n Description: Configuração global da barra de ferramentas.\n\nSchema Capability:\n - Path: toolbar.visible\n Category: toolbar\n Kind: boolean\n Description: Exibe a barra de ferramentas acima da tabela.\n\nSchema Capability:\n - Path: toolbar.position\n Category: toolbar\n Kind: enum\n Description: Posiciona a toolbar.\n\nSchema Capability:\n - Path: toolbar.actionsPosition\n Category: toolbar\n Kind: enum\n Description: Posiciona a barra de ações (top/bottom/both).\n\nSchema Capability:\n - Path: toolbar.actionsBackgroundColor\n Category: toolbar\n Kind: string\n Description: Cor de fundo da barra de ações (token/hex).\n\nSchema Capability:\n - Path: toolbar.appearance.preset\n Category: toolbar\n Kind: string\n Description: Preset visual publico registrado para a toolbar. Use \"table-integrated\" para compor toolbar e tabela como um unico bloco operacional, sem CSS de host mirando classes internas.\n\nSchema Capability:\n - Path: toolbar.appearance.variant\n Category: toolbar\n Kind: enum\n Description: Variante visual canônica da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.density\n Category: toolbar\n Kind: enum\n Description: Densidade visual da toolbar e de seus botões.\n\nSchema Capability:\n - Path: toolbar.appearance.shape\n Category: toolbar\n Kind: enum\n Description: Forma canônica do container e dos botões da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.divider\n Category: toolbar\n Kind: enum\n Description: Política de divisores entre regiões semânticas da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens\n Category: toolbar\n Kind: object\n Description: Tokens CSS públicos da toolbar materializados pelo runtime. Use para personalização visual do host sem redefinir a semântica das ações.\n\nSchema Capability:\n - Path: toolbar.title\n Category: toolbar\n Kind: string\n Description: Título principal na toolbar.\n\nSchema Capability:\n - Path: toolbar.subtitle\n Category: toolbar\n Kind: string\n Description: Subtítulo/descrição curta na toolbar.\n\nSchema Capability:\n - Path: toolbar.icon\n Category: toolbar\n Kind: string\n Description: Ícone semântico exibido ao lado do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.textAlign\n Category: toolbar\n Kind: enum\n Description: Alinhamento textual do bloco de título/subtítulo da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.titleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do título da toolbar.\n\nSchema Capability:\n - Path: toolbar.appearance.tokens.subtitleFg\n Category: toolbar\n Kind: string\n Description: Token CSS para a cor do subtítulo da toolbar.\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\").",
|
|
30912
31436
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30913
|
-
"contentHash": "
|
|
31437
|
+
"contentHash": "b6c1bc0c8b451059c30b7916ad5b5ae41252d52c649226e848550ce8b9135918",
|
|
30914
31438
|
"sourceKind": "component_definition",
|
|
30915
31439
|
"sourceId": "praxis-table",
|
|
30916
31440
|
"corpusVersion": "1.0.0"
|
|
@@ -30918,9 +31442,9 @@
|
|
|
30918
31442
|
{
|
|
30919
31443
|
"chunkIndex": 11,
|
|
30920
31444
|
"chunkKind": "capabilities",
|
|
30921
|
-
"content": "Schema 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
|
|
31445
|
+
"content": "Schema Capability:\n - Path: actions.row.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action por linha. Para `navigation.openRoute`, templates como `${row.id}` são resolvidos antes da navegação; para ações como `surface.open`, `payload.*` continua sendo o envelope canônico do evento consumido pelo destino.\n\nSchema Capability:\n - Path: actions.row.actions[].visibleWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para exibir a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].disabledWhen\n Category: actions\n Kind: expression\n Description: Condicao canonica em JSON Logic para desabilitar a acao por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao por linha, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao por linha. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.row.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime por linha.\n\nSchema Capability:\n - Path: actions.bulk.enabled\n Category: actions\n Kind: boolean\n Description: Habilita ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.position\n Category: actions\n Kind: enum\n Description: Posição das ações em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[]\n Category: actions\n Kind: array\n Description: Ações curadas para operar sobre a seleção atual da tabela. Use para criar botões em lote com GlobalActionRef governada.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canônico de global action para a ação em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da global action em lote. Deve permanecer alinhado ao schema da action escolhida e ao contexto da seleção atual; para `navigation.openRoute`, use templates como `${runtime.selectedIds}` quando precisar enviar os IDs selecionados.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects\n Category: actions\n Kind: array\n Description: Array canonico de efeitos runtime da acao em lote, alinhado com PraxisRuntimeGlobalActionEffect.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].kind\n Category: actions\n Kind: enum\n Description: Tipo de efeito runtime da acao em lote. Neste corte, apenas global-action e suportado.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Identificador canonico da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.bulk.actions[].effects[].globalAction.payload\n Category: actions\n Kind: object\n Description: Payload estruturado da GlobalActionRef dentro do efeito runtime em lote.\n\nSchema Capability:\n - Path: actions.context.enabled\n Category: actions\n Kind: boolean\n Description: Habilita menu de contexto (clique direito/long press).\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.",
|
|
30922
31446
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30923
|
-
"contentHash": "
|
|
31447
|
+
"contentHash": "f7ea3d6abf0fc4e95dcafafe487e8ce3091cd9de1e3ba635dab4e8b6ae6c6cd0",
|
|
30924
31448
|
"sourceKind": "component_definition",
|
|
30925
31449
|
"sourceId": "praxis-table",
|
|
30926
31450
|
"corpusVersion": "1.0.0"
|
|
@@ -30928,9 +31452,9 @@
|
|
|
30928
31452
|
{
|
|
30929
31453
|
"chunkIndex": 12,
|
|
30930
31454
|
"chunkKind": "capabilities",
|
|
30931
|
-
"content": "Schema 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
|
|
31455
|
+
"content": "Schema Capability:\n - Path: tableRuntimeOperations.operations[].input.format\n Category: runtime\n Kind: enum\n Description: Formato da exportacao runtime.\n\nSchema Capability:\n - Path: tableRuntimeOperations.operations[].input.scope\n Category: runtime\n Kind: enum\n Description: Escopo da exportacao runtime: selected, filtered, currentPage, all ou auto.\n\nSchema Capability:\n - Path: messages.states.empty\n Category: messages\n Kind: string\n Description: Mensagem para estado vazio.\n\nSchema Capability:\n - Path: messages.states.loading\n Category: messages\n Kind: string\n Description: Mensagem de loading.\n\nSchema Capability:\n - Path: messages.actions.confirmations.delete\n Category: messages\n Kind: string\n Description: Texto de confirmação de exclusão.\n\nSchema Capability:\n - Path: localization.locale\n Category: localization\n Kind: string\n Description: Locale principal (ex.: pt-BR, en-US).\n\nSchema Capability:\n - Path: localization.direction\n Category: localization\n Kind: enum\n Description: Direção do texto (ltr/rtl).\n\nSchema Capability:\n - Path: localization.dateTime.dateFormat\n Category: localization\n Kind: string\n Description: Formato padrao de datas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.timeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de horas (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.dateTimeFormat\n Category: localization\n Kind: string\n Description: Formato padrao de data e hora (DatePipe).\n\nSchema Capability:\n - Path: localization.dateTime.firstDayOfWeek\n Category: localization\n Kind: number\n Description: Primeiro dia da semana (0=domingo).\n\nSchema Capability:\n - Path: localization.dateTime.relativeTime\n Category: localization\n Kind: boolean\n Description: Habilita formato relativo (ex.: ha 2 dias).\n\nSchema Capability:\n - Path: localization.dateTime.monthNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos meses.\n\nSchema Capability:\n - Path: localization.dateTime.dayNames\n Category: localization\n Kind: array\n Description: Lista de nomes dos dias da semana.\n\nSchema Capability:\n - Path: localization.number.decimalSeparator\n Category: localization\n Kind: string\n Description: Separador decimal.\n\nSchema Capability:\n - Path: localization.number.thousandsSeparator\n Category: localization\n Kind: string\n Description: Separador de milhares.\n\nSchema Capability:\n - Path: localization.number.defaultPrecision\n Category: localization\n Kind: number\n Description: Casas decimais padrao.\n\nSchema Capability:\n - Path: localization.number.negativeSign\n Category: localization\n Kind: string\n Description: Simbolo de negativo.\n\nSchema Capability:\n - Path: localization.number.negativeSignPosition\n Category: localization\n Kind: enum\n Description: Posicao do sinal negativo.\n\nSchema Capability:\n - Path: localization.currency.code\n Category: localization\n Kind: string\n Description: Codigo da moeda (ISO 4217).\n\nSchema Capability:\n - Path: localization.currency.symbol\n Category: localization\n Kind: string\n Description: Simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.position\n Category: localization\n Kind: enum\n Description: Posicao do simbolo da moeda.\n\nSchema Capability:\n - Path: localization.currency.spacing\n Category: localization\n Kind: boolean\n Description: Espaco entre simbolo e valor.\n\nSchema Capability:\n - Path: localization.currency.precision\n Category: localization\n Kind: number\n Description: Precisao padrao da moeda.\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.",
|
|
30932
31456
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30933
|
-
"contentHash": "
|
|
31457
|
+
"contentHash": "f0d272a52abe6b78c5d9107467bc384bb4a50767a94e57bbc30f703b373c23bf",
|
|
30934
31458
|
"sourceKind": "component_definition",
|
|
30935
31459
|
"sourceId": "praxis-table",
|
|
30936
31460
|
"corpusVersion": "1.0.0"
|
|
@@ -30938,9 +31462,9 @@
|
|
|
30938
31462
|
{
|
|
30939
31463
|
"chunkIndex": 13,
|
|
30940
31464
|
"chunkKind": "capabilities",
|
|
30941
|
-
"content": "Component 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).",
|
|
31465
|
+
"content": "Component Capability:\n - Path: outputs.rowAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao em uma linha.\n\nComponent Capability:\n - Path: outputs.toolbarAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao acionar uma acao da toolbar.\n\nComponent Capability:\n - Path: outputs.bulkAction\n Category: outputs\n Kind: object\n Description: Evento emitido ao executar acoes em massa.\n\nComponent Capability:\n - Path: outputs.columnReorder\n Category: outputs\n Kind: object\n Description: Evento emitido quando a reordenacao de colunas e concluida (trigger: drag, keyboard ou undo; inclui operationId monotônico).\n\nComponent Capability:\n - Path: outputs.columnReorderAttempt\n Category: outputs\n Kind: object\n Description: Evento emitido para tentativa bloqueada de reordenacao de colunas (inclui operationId monotônico para correlacao).\n\nComponent Capability:\n - Path: outputs.columnResize\n Category: outputs\n Kind: object\n Description: Evento emitido quando uma coluna e redimensionada por ponteiro, 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).",
|
|
30942
31466
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-component-ai-capabilities.ts",
|
|
30943
|
-
"contentHash": "
|
|
31467
|
+
"contentHash": "a909d520e5fa1b7408d4c46ad28932b00a4fadc545d8e156da420420e4bb3390",
|
|
30944
31468
|
"sourceKind": "component_definition",
|
|
30945
31469
|
"sourceId": "praxis-table",
|
|
30946
31470
|
"corpusVersion": "1.0.0"
|
|
@@ -31328,9 +31852,9 @@
|
|
|
31328
31852
|
{
|
|
31329
31853
|
"chunkIndex": 52,
|
|
31330
31854
|
"chunkKind": "authoring_manifest",
|
|
31331
|
-
"content": "{\"operationId\":\"expansion.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar expansão de linha Effects:
|
|
31855
|
+
"content": "{\"operationId\":\"expansion.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar expansão de linha Effects: compile-domain-patch.\",\"scope\":\"global\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"contractVersion\",\"state\",\"interaction\",\"limits\",\"collapseOn\",\"virtualization\",\"persistence\",\"security\",\"deepLink\"],\"semanticTerms\":[\"enabled\",\"contractVersion\",\"state\",\"interaction\",\"limits\",\"collapseOn\",\"virtualization\",\"persistence\",\"security\",\"deepLink\",\"state.mode\",\"interaction.trigger\",\"interaction.toggleIcon\",\"interaction.motion\",\"interaction.keyboard\",\"limits.allowMultiple\",\"limits.maxExpandedRows\",\"limits.onOverflow\",\"collapseOn.sortChange\",\"collapseOn.pageChange\",\"collapseOn.filterChange\",\"collapseOn.dataRefresh\",\"virtualization.policy\",\"persistence.enabled\",\"persistence.storageKeyStrategy\",\"security.eventExposureDefault\",\"deepLink.enabled\",\"deepLink.encoding\",\"deepLink.parsing\",\"deepLink.integrity\",\"deepLink.privacy\",\"controlled\",\"uncontrolled\",\"icon\",\"row\",\"both\",\"interaction.toggleIcon.collapsed\",\"interaction.toggleIcon.expanded\",\"interaction.toggleIcon.ariaLabelCollapsed\",\"interaction.toggleIcon.ariaLabelExpanded\",\"interaction.motion.preset\",\"interaction.motion.durationMs\",\"interaction.motion.easing\",\"interaction.keyboard.profile\",\"collapseOldest\",\"denyNew\",\"collapseAll\",\"fixed-height-only\",\"allow-dynamic-under-flag\",\"persistence.storageKeyStrategy.namespace\",\"security.eventExposureDefault.rowId\",\"security.eventExposureDefault.expandedKeys\",\"csv\",\"deepLink.parsing.duplicateParams\",\"deepLink.integrity.mode\",\"deepLink.privacy.mode\",\"none\",\"subtle-slide\",\"accordion\",\"fade-scale\",\"standard\",\"emphasized\",\"decelerate\",\"disclosure\",\"grid\",\"redacted\",\"hashed\",\"raw\",\"firstWins\",\"reject\",\"opaqueToken\",\"denyByDefault\",\"allowByDefault\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.presentation\",\"behavior.detail.presentation.bottomStackPosition\",\"behavior.detail.presentation.emptyBehavior\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31332
31856
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31333
|
-
"contentHash": "
|
|
31857
|
+
"contentHash": "7537b3dc3248289074e709dd61521c9ac17e37d3da8dc70ab47633f2f9fb817a",
|
|
31334
31858
|
"sourceKind": "component_definition",
|
|
31335
31859
|
"sourceId": "praxis-table",
|
|
31336
31860
|
"corpusVersion": "1.0.0"
|
|
@@ -31338,9 +31862,9 @@
|
|
|
31338
31862
|
{
|
|
31339
31863
|
"chunkIndex": 53,
|
|
31340
31864
|
"chunkKind": "authoring_manifest",
|
|
31341
|
-
"content": "{\"operationId\":\"
|
|
31865
|
+
"content": "{\"operationId\":\"detail.source.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar fonte do detalhe contextual Effects: compile-domain-patch.\",\"scope\":\"global\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"mode\",\"inlineSchema\",\"resource\",\"resourcePath\",\"resourceAllowList\",\"hypermedia\",\"contextMap\",\"fallbackMode\"],\"semanticTerms\":[\"mode\",\"inlineSchema\",\"resource\",\"resourcePath\",\"resourceAllowList\",\"hypermedia\",\"contextMap\",\"fallbackMode\",\"inline\",\"resource.kind\",\"resource.id\",\"resource.version\",\"resourcePath.path\",\"resourcePath.method\",\"resourcePath.paramsMap\",\"none\",\"ui-composition\",\"form-schema\",\"table-schema\",\"dashboard-schema\",\"GET\",\"POST\"]},\"effects\":[\"compile-domain-patch\"],\"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\"],\"validators\":[{\"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\":\"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[].\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"affects-remote-binding\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31342
31866
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31343
|
-
"contentHash": "
|
|
31867
|
+
"contentHash": "812c3dc7e39df53dc01aa95b0cdf2d4da4a9b20e18a48460286dd282153188ef",
|
|
31344
31868
|
"sourceKind": "component_definition",
|
|
31345
31869
|
"sourceId": "praxis-table",
|
|
31346
31870
|
"corpusVersion": "1.0.0"
|
|
@@ -31348,9 +31872,9 @@
|
|
|
31348
31872
|
{
|
|
31349
31873
|
"chunkIndex": 54,
|
|
31350
31874
|
"chunkKind": "authoring_manifest",
|
|
31351
|
-
"content": "{\"operationId\":\"
|
|
31875
|
+
"content": "{\"operationId\":\"detail.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar detalhe contextual Effects: compile-domain-patch.\",\"scope\":\"global\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"presentation\",\"source\",\"schemaContract\",\"rendering\",\"height\"],\"semanticTerms\":[\"enabled\",\"presentation\",\"source\",\"schemaContract\",\"rendering\",\"height\",\"presentation.placement\",\"presentation.initiallyCollapsed\",\"presentation.bottomStackPosition\",\"presentation.emptyBehavior\",\"source.mode\",\"source.inlineSchema\",\"source.resource\",\"source.resourcePath\",\"source.resourceAllowList\",\"source.hypermedia\",\"source.contextMap\",\"source.fallbackMode\",\"schemaContract.kind\",\"schemaContract.version\",\"schemaContract.allowedNodes\",\"rendering.strategy\",\"rendering.registryId\",\"rendering.hostLayout\",\"rendering.fallbackNodePolicy\",\"height.mode\",\"height.px\",\"row\",\"bottom\",\"beforeControls\",\"afterControls\",\"message\",\"hide\",\"inline\",\"resource\",\"resourcePath\",\"hypermedia\",\"source.resource.kind\",\"source.resource.id\",\"source.resource.version\",\"source.resourcePath.path\",\"source.resourcePath.method\",\"source.resourcePath.paramsMap\",\"none\",\"registry\",\"auto\",\"stack\",\"tabs\",\"failClosed\",\"renderPlaceholder\",\"fixed\",\"dynamic\",\"ui-composition\",\"form-schema\",\"table-schema\",\"dashboard-schema\",\"GET\",\"POST\",\"layout\",\"tab\",\"text\",\"icon\",\"image\",\"badge\",\"avatar\",\"metric\",\"progress\",\"compose\",\"card\",\"mediaBlock\",\"cardGrid\",\"timeline\",\"value\",\"action\",\"actionBar\",\"list\",\"detailList\",\"formRef\",\"tableRef\",\"chartRef\"]},\"effects\":[\"compile-domain-patch\"],\"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\"],\"validators\":[{\"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\":\"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[].\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31352
31876
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31353
|
-
"contentHash": "
|
|
31877
|
+
"contentHash": "f3a5feeaceaa6033d8c3a3281aa07694c2b6e95bcb2d469d0f9bbe737c24bf3d",
|
|
31354
31878
|
"sourceKind": "component_definition",
|
|
31355
31879
|
"sourceId": "praxis-table",
|
|
31356
31880
|
"corpusVersion": "1.0.0"
|
|
@@ -31358,6 +31882,16 @@
|
|
|
31358
31882
|
{
|
|
31359
31883
|
"chunkIndex": 55,
|
|
31360
31884
|
"chunkKind": "authoring_manifest",
|
|
31885
|
+
"content": "{\"operationId\":\"detail.presentation.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar apresentação do detalhe 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. Effects: compile-domain-patch.\",\"scope\":\"global\",\"target\":{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"placement\",\"initiallyCollapsed\",\"bottomStackPosition\",\"emptyBehavior\"],\"semanticTerms\":[\"placement\",\"initiallyCollapsed\",\"bottomStackPosition\",\"emptyBehavior\",\"row\",\"bottom\",\"beforeControls\",\"afterControls\",\"message\",\"hide\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"behavior\",\"behavior.detail\",\"behavior.detail.presentation\",\"behavior.detail.presentation.bottomStackPosition\",\"behavior.detail.presentation.emptyBehavior\",\"behavior.detail.enabled\",\"behavior.expansion\",\"behavior.selection\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31886
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31887
|
+
"contentHash": "9bfcd9ff5c7e00c1cdbea4a325e36ccd27682640dbc814bbb9c403782869e245",
|
|
31888
|
+
"sourceKind": "component_definition",
|
|
31889
|
+
"sourceId": "praxis-table",
|
|
31890
|
+
"corpusVersion": "1.0.0"
|
|
31891
|
+
},
|
|
31892
|
+
{
|
|
31893
|
+
"chunkIndex": 56,
|
|
31894
|
+
"chunkKind": "authoring_manifest",
|
|
31361
31895
|
"content": "{\"operationId\":\"meta.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar metadados Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"name\",\"description\",\"tags\",\"schemaId\"],\"semanticTerms\":[\"name\",\"description\",\"tags\",\"schemaId\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"meta\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31362
31896
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31363
31897
|
"contentHash": "934bd0080f477ba356cde2ed6739cb1a9d539df574c31da6a3bb5be97aadf158",
|
|
@@ -31366,7 +31900,7 @@
|
|
|
31366
31900
|
"corpusVersion": "1.0.0"
|
|
31367
31901
|
},
|
|
31368
31902
|
{
|
|
31369
|
-
"chunkIndex":
|
|
31903
|
+
"chunkIndex": 57,
|
|
31370
31904
|
"chunkKind": "authoring_manifest",
|
|
31371
31905
|
"content": "{\"operationId\":\"meta.idField.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Definir campo de identidade Effects: set-value.\",\"scope\":\"global\",\"target\":{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"required\":false},\"inputContract\":{\"required\":[\"idField\"],\"properties\":[\"idField\"],\"semanticTerms\":[\"idField\"]},\"effects\":[\"set-value\"],\"affectedPaths\":[\"meta.idField\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"affects-schema-backed-data\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31372
31906
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31376,7 +31910,7 @@
|
|
|
31376
31910
|
"corpusVersion": "1.0.0"
|
|
31377
31911
|
},
|
|
31378
31912
|
{
|
|
31379
|
-
"chunkIndex":
|
|
31913
|
+
"chunkIndex": 58,
|
|
31380
31914
|
"chunkKind": "authoring_manifest",
|
|
31381
31915
|
"content": "{\"operationId\":\"column.resizable.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Definir redimensionamento da coluna Effects: merge-by-key.\",\"scope\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"required\":true},\"inputContract\":{\"required\":[\"resizable\"],\"properties\":[\"resizable\"],\"semanticTerms\":[\"resizable\"]},\"effects\":[\"merge-by-key\"],\"affectedPaths\":[\"columns[].resizable\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"}],\"preconditions\":[\"config-initialized\",\"target-exists\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[{\"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}],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31382
31916
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31386,7 +31920,7 @@
|
|
|
31386
31920
|
"corpusVersion": "1.0.0"
|
|
31387
31921
|
},
|
|
31388
31922
|
{
|
|
31389
|
-
"chunkIndex":
|
|
31923
|
+
"chunkIndex": 59,
|
|
31390
31924
|
"chunkKind": "authoring_manifest",
|
|
31391
31925
|
"content": "{\"operationId\":\"column.sortField.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Definir campo de ordenacao da coluna Effects: merge-by-key.\",\"scope\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"required\":true},\"inputContract\":{\"required\":[\"sortField\"],\"properties\":[\"sortField\"],\"semanticTerms\":[\"sortField\"]},\"effects\":[\"merge-by-key\"],\"affectedPaths\":[\"columns[].sortField\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"}],\"preconditions\":[\"config-initialized\",\"target-exists\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[{\"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}],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31392
31926
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31396,7 +31930,7 @@
|
|
|
31396
31930
|
"corpusVersion": "1.0.0"
|
|
31397
31931
|
},
|
|
31398
31932
|
{
|
|
31399
|
-
"chunkIndex":
|
|
31933
|
+
"chunkIndex": 60,
|
|
31400
31934
|
"chunkKind": "authoring_manifest",
|
|
31401
31935
|
"content": "{\"operationId\":\"column.computed.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar coluna calculada Effects: merge-by-key.\",\"scope\":\"column\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"required\":true},\"inputContract\":{\"required\":[\"expression\"],\"properties\":[\"expression\",\"outputType\",\"format\",\"dependencies\"],\"semanticTerms\":[\"expression\",\"outputType\",\"format\",\"dependencies\",\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\",\"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\"]},\"effects\":[\"merge-by-key\"],\"affectedPaths\":[\"columns[].computed\"],\"validators\":[{\"validatorId\":\"target-column-exists\",\"level\":\"error\",\"code\":\"TB001\",\"description\":\"A coluna alvo deve existir na configuração.\"},{\"validatorId\":\"computed-expression-valid\",\"level\":\"error\",\"code\":\"TB007\",\"description\":\"A expressão de cálculo deve ser um AST Json Logic válido.\"},{\"validatorId\":\"format-preset-supported\",\"level\":\"error\",\"code\":\"TB012\",\"description\":\"O formato deve usar um preset canonico publicado em table-ai-capabilities.ts.\"}],\"preconditions\":[\"config-initialized\",\"target-exists\"],\"submissionImpact\":\"affects-schema-backed-data\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31402
31936
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31406,7 +31940,7 @@
|
|
|
31406
31940
|
"corpusVersion": "1.0.0"
|
|
31407
31941
|
},
|
|
31408
31942
|
{
|
|
31409
|
-
"chunkIndex":
|
|
31943
|
+
"chunkIndex": 61,
|
|
31410
31944
|
"chunkKind": "authoring_manifest",
|
|
31411
31945
|
"content": "{\"operationId\":\"behavior.pagination.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar paginacao Effects: merge-object. Usar paginacao no servidor com 50 linhas por pagina\",\"scope\":\"global\",\"target\":{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"strategy\",\"pageSize\",\"pageSizeOptions\",\"position\",\"style\",\"advanced\"],\"semanticTerms\":[\"enabled\",\"strategy\",\"pageSize\",\"pageSizeOptions\",\"position\",\"style\",\"advanced\",\"client\",\"server\",\"top\",\"bottom\",\"both\",\"default\",\"simple\",\"compact\",\"advanced.maxPageSize\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.pagination\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-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}],\"negativeExamples\":[]}",
|
|
31412
31946
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31416,7 +31950,7 @@
|
|
|
31416
31950
|
"corpusVersion": "1.0.0"
|
|
31417
31951
|
},
|
|
31418
31952
|
{
|
|
31419
|
-
"chunkIndex":
|
|
31953
|
+
"chunkIndex": 62,
|
|
31420
31954
|
"chunkKind": "authoring_manifest",
|
|
31421
31955
|
"content": "{\"operationId\":\"behavior.sorting.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar ordenacao Effects: merge-object. Ordenar inicialmente por data de criacao decrescente\",\"scope\":\"global\",\"target\":{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"strategy\",\"defaultSort\",\"allowClearSort\"],\"semanticTerms\":[\"enabled\",\"strategy\",\"defaultSort\",\"allowClearSort\",\"client\",\"server\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.sorting\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-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}],\"negativeExamples\":[]}",
|
|
31422
31956
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31426,7 +31960,7 @@
|
|
|
31426
31960
|
"corpusVersion": "1.0.0"
|
|
31427
31961
|
},
|
|
31428
31962
|
{
|
|
31429
|
-
"chunkIndex":
|
|
31963
|
+
"chunkIndex": 63,
|
|
31430
31964
|
"chunkKind": "authoring_manifest",
|
|
31431
31965
|
"content": "{\"operationId\":\"behavior.filtering.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar filtragem Effects: merge-object. Habilite os filtros dinâmicos da tabela\",\"scope\":\"global\",\"target\":{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\"],\"semanticTerms\":[\"enabled\",\"strategy\",\"columnFilters\",\"advancedFilters\",\"debounceTime\",\"client\",\"server\",\"columnFilters.enabled\",\"columnFilters.defaultType\",\"columnFilters.position\",\"advancedFilters.enabled\",\"advancedFilters.settings\",\"text\",\"select\",\"date\",\"number\",\"boolean\",\"header\",\"subheader\",\"sidebar\",\"advancedFilters.settings.mode\",\"advancedFilters.settings.showAdvanced\",\"advancedFilters.settings.allowSaveTags\",\"advancedFilters.settings.tags\",\"advancedFilters.settings.alwaysVisibleFields\",\"advancedFilters.settings.selectedFieldIds\",\"advancedFilters.settings.alwaysVisibleFieldMetadataOverrides\",\"advancedFilters.settings.changeDebounceMs\",\"advancedFilters.settings.useInlineSearchableSelectVariant\",\"advancedFilters.settings.useInlineRangeVariant\",\"advancedFilters.settings.useInlineDateVariant\",\"advancedFilters.settings.useInlineDateRangeVariant\",\"filter\",\"advancedFilters.settings.tags.id\",\"advancedFilters.settings.tags.label\",\"advancedFilters.settings.tags.patch\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.filtering\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"enable-table-filters-human\",\"request\":\"Habilite os filtros dinâmicos da tabela\",\"operationId\":\"behavior.filtering.configure\",\"params\":{\"enabled\":true,\"strategy\":\"client\",\"debounceMs\":250},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
31432
31966
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31436,7 +31970,7 @@
|
|
|
31436
31970
|
"corpusVersion": "1.0.0"
|
|
31437
31971
|
},
|
|
31438
31972
|
{
|
|
31439
|
-
"chunkIndex":
|
|
31973
|
+
"chunkIndex": 64,
|
|
31440
31974
|
"chunkKind": "authoring_manifest",
|
|
31441
31975
|
"content": "{\"operationId\":\"behavior.selection.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar selecao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"type\",\"mode\",\"allowSelectAll\",\"persistSelection\",\"maxSelections\"],\"semanticTerms\":[\"enabled\",\"type\",\"mode\",\"allowSelectAll\",\"persistSelection\",\"maxSelections\",\"single\",\"multiple\",\"checkbox\",\"row\",\"both\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.selection\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31442
31976
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31446,7 +31980,7 @@
|
|
|
31446
31980
|
"corpusVersion": "1.0.0"
|
|
31447
31981
|
},
|
|
31448
31982
|
{
|
|
31449
|
-
"chunkIndex":
|
|
31983
|
+
"chunkIndex": 65,
|
|
31450
31984
|
"chunkKind": "authoring_manifest",
|
|
31451
31985
|
"content": "{\"operationId\":\"behavior.interaction.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar interacao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"rowClick\",\"keyboard\",\"hover\"],\"semanticTerms\":[\"rowClick\",\"keyboard\",\"hover\",\"rowClick.enabled\",\"rowClick.action\",\"keyboard.enabled\",\"hover.enabled\",\"hover.highlightRow\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.interaction\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31452
31986
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31456,7 +31990,7 @@
|
|
|
31456
31990
|
"corpusVersion": "1.0.0"
|
|
31457
31991
|
},
|
|
31458
31992
|
{
|
|
31459
|
-
"chunkIndex":
|
|
31993
|
+
"chunkIndex": 66,
|
|
31460
31994
|
"chunkKind": "authoring_manifest",
|
|
31461
31995
|
"content": "{\"operationId\":\"behavior.loading.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar loading Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"type\",\"position\",\"text\",\"delay\",\"showForQuickOperations\",\"requestTimeoutMs\",\"allowCancel\",\"skeleton\"],\"semanticTerms\":[\"type\",\"position\",\"text\",\"delay\",\"showForQuickOperations\",\"requestTimeoutMs\",\"allowCancel\",\"skeleton\",\"spinner\",\"progress\",\"overlay\",\"inline\",\"replace\",\"skeleton.rows\",\"skeleton.animated\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.loading\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31462
31996
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31466,7 +32000,7 @@
|
|
|
31466
32000
|
"corpusVersion": "1.0.0"
|
|
31467
32001
|
},
|
|
31468
32002
|
{
|
|
31469
|
-
"chunkIndex":
|
|
32003
|
+
"chunkIndex": 67,
|
|
31470
32004
|
"chunkKind": "authoring_manifest",
|
|
31471
32005
|
"content": "{\"operationId\":\"behavior.emptyState.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar estado vazio Configura copy, apresentação e ações contextuais explícitas do estado vazio. Não duplica CREATE capability-governado, que permanece como ação primária estável da toolbar. Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"required\":false},\"inputContract\":{\"required\":[\"message\"],\"properties\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\"],\"semanticTerms\":[\"title\",\"message\",\"description\",\"icon\",\"tone\",\"variant\",\"alignment\",\"density\",\"iconContainer\",\"actions\",\"contexts\",\"neutral\",\"primary\",\"secondary\",\"card\",\"inline\",\"panel\",\"transparent\",\"start\",\"center\",\"compact\",\"comfortable\",\"none\",\"circle\",\"soft\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.emptyState\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31472
32006
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31476,7 +32010,7 @@
|
|
|
31476
32010
|
"corpusVersion": "1.0.0"
|
|
31477
32011
|
},
|
|
31478
32012
|
{
|
|
31479
|
-
"chunkIndex":
|
|
32013
|
+
"chunkIndex": 68,
|
|
31480
32014
|
"chunkKind": "authoring_manifest",
|
|
31481
32015
|
"content": "{\"operationId\":\"behavior.resizing.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar redimensionamento Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"resizing\",\"resolver\":\"resizing-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"minColumnWidth\",\"maxColumnWidth\",\"autoFit\",\"persistWidths\"],\"semanticTerms\":[\"enabled\",\"minColumnWidth\",\"maxColumnWidth\",\"autoFit\",\"persistWidths\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.resizing\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31482
32016
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31486,7 +32020,7 @@
|
|
|
31486
32020
|
"corpusVersion": "1.0.0"
|
|
31487
32021
|
},
|
|
31488
32022
|
{
|
|
31489
|
-
"chunkIndex":
|
|
32023
|
+
"chunkIndex": 69,
|
|
31490
32024
|
"chunkKind": "authoring_manifest",
|
|
31491
32025
|
"content": "{\"operationId\":\"behavior.dragging.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar drag and drop Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"dragging\",\"resolver\":\"dragging-config\",\"required\":false},\"inputContract\":{\"required\":[\"columns\"],\"properties\":[\"columns\"],\"semanticTerms\":[\"columns\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.dragging\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31492
32026
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31496,7 +32030,7 @@
|
|
|
31496
32030
|
"corpusVersion": "1.0.0"
|
|
31497
32031
|
},
|
|
31498
32032
|
{
|
|
31499
|
-
"chunkIndex":
|
|
32033
|
+
"chunkIndex": 70,
|
|
31500
32034
|
"chunkKind": "authoring_manifest",
|
|
31501
32035
|
"content": "{\"operationId\":\"behavior.editing.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar edicao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"editing\",\"resolver\":\"editing-config\",\"required\":false},\"inputContract\":{\"required\":[\"mode\"],\"properties\":[\"mode\"],\"semanticTerms\":[\"mode\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"behavior.editing\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31502
32036
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31506,7 +32040,7 @@
|
|
|
31506
32040
|
"corpusVersion": "1.0.0"
|
|
31507
32041
|
},
|
|
31508
32042
|
{
|
|
31509
|
-
"chunkIndex":
|
|
32043
|
+
"chunkIndex": 71,
|
|
31510
32044
|
"chunkKind": "authoring_manifest",
|
|
31511
32045
|
"content": "{\"operationId\":\"toolbar.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar barra e título global da tabela 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. Effects: merge-object. Mostre busca e botão de atualizar na toolbar Altere o titulo da tabela para Folha operacional revisada Altere o título da coluna Salário Líquido para Valor líquido Habilite um botão para exportar apenas as linhas selecionadas\",\"scope\":\"global\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"visible\",\"position\",\"actionsPosition\",\"actionsBackgroundColor\",\"appearance\",\"title\",\"subtitle\",\"icon\",\"textAlign\",\"layout\",\"filters\",\"settingsMenu\",\"columnsVisibility\",\"densityToggle\"],\"semanticTerms\":[\"visible\",\"position\",\"actionsPosition\",\"actionsBackgroundColor\",\"appearance\",\"title\",\"subtitle\",\"icon\",\"textAlign\",\"layout\",\"filters\",\"settingsMenu\",\"columnsVisibility\",\"densityToggle\",\"top\",\"bottom\",\"both\",\"appearance.preset\",\"appearance.variant\",\"appearance.density\",\"appearance.shape\",\"appearance.divider\",\"appearance.tokens\",\"start\",\"center\",\"end\",\"layout.alignment\",\"filters.enabled\",\"filters.showAdvancedButton\",\"filters.quickFilters\",\"settingsMenu.enabled\",\"columnsVisibility.enabled\",\"densityToggle.enabled\",\"densityToggle.values\",\"flat\",\"outlined\",\"elevated\",\"integrated\",\"compact\",\"comfortable\",\"spacious\",\"square\",\"rounded\",\"pill\",\"none\",\"between-groups\",\"appearance.tokens.titleFg\",\"appearance.tokens.subtitleFg\",\"appearance.tokens.iconFg\",\"appearance.tokens.titleFontSize\",\"appearance.tokens.subtitleFontSize\",\"appearance.tokens.titleFontWeight\",\"appearance.tokens.identityGap\",\"appearance.tokens.identityFilterGap\",\"appearance.tokens.identityMinHeight\",\"appearance.tokens.identityMarginBottom\",\"appearance.tokens.identityIconSize\",\"appearance.tokens.identityIconRadius\",\"space-between\",\"filters.quickFilters.id\",\"filters.quickFilters.label\",\"filters.quickFilters.icon\",\"filters.quickFilters.filter\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"toolbar\",\"toolbar.title\",\"toolbar.subtitle\",\"toolbar.icon\",\"toolbar.textAlign\",\"toolbar.appearance\",\"toolbar.appearance.tokens\"],\"validators\":[{\"validatorId\":\"css-style-safe\",\"level\":\"error\",\"code\":\"TB014\",\"description\":\"Estilos inline devem permanecer em CSS simples e seguro, sem scripts, URLs perigosas ou expressoes dinamicas.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"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}],\"negativeExamples\":[{\"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}]}",
|
|
31512
32046
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31516,7 +32050,7 @@
|
|
|
31516
32050
|
"corpusVersion": "1.0.0"
|
|
31517
32051
|
},
|
|
31518
32052
|
{
|
|
31519
|
-
"chunkIndex":
|
|
32053
|
+
"chunkIndex": 72,
|
|
31520
32054
|
"chunkKind": "authoring_manifest",
|
|
31521
32055
|
"content": "{\"operationId\":\"actions.collection.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar descoberta de acoes da colecao Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"required\":false},\"inputContract\":{\"required\":[\"discovery\"],\"properties\":[\"discovery\"],\"semanticTerms\":[\"discovery\",\"discovery.enabled\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.collection\",\"actions.collection.discovery.enabled\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31522
32056
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31526,7 +32060,7 @@
|
|
|
31526
32060
|
"corpusVersion": "1.0.0"
|
|
31527
32061
|
},
|
|
31528
32062
|
{
|
|
31529
|
-
"chunkIndex":
|
|
32063
|
+
"chunkIndex": 73,
|
|
31530
32064
|
"chunkKind": "authoring_manifest",
|
|
31531
32065
|
"content": "{\"operationId\":\"actions.row.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acoes de linha Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"display\",\"trigger\",\"discovery\"],\"semanticTerms\":[\"enabled\",\"display\",\"trigger\",\"discovery\",\"menu\",\"buttons\",\"icons\",\"hover\",\"always\",\"click\",\"discovery.enabled\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.row\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31532
32066
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31536,7 +32070,7 @@
|
|
|
31536
32070
|
"corpusVersion": "1.0.0"
|
|
31537
32071
|
},
|
|
31538
32072
|
{
|
|
31539
|
-
"chunkIndex":
|
|
32073
|
+
"chunkIndex": 74,
|
|
31540
32074
|
"chunkKind": "authoring_manifest",
|
|
31541
32075
|
"content": "{\"operationId\":\"actions.bulk.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acoes em lote Effects: merge-object. Habilitar acoes em lote na toolbar\",\"scope\":\"global\",\"target\":{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"position\"],\"semanticTerms\":[\"enabled\",\"position\",\"toolbar\",\"floating\",\"both\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.bulk\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-bulk-actions\",\"request\":\"Habilitar acoes em lote na toolbar\",\"operationId\":\"actions.bulk.configure\",\"params\":{\"enabled\":true,\"position\":\"toolbar\"},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
31542
32076
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31546,7 +32080,7 @@
|
|
|
31546
32080
|
"corpusVersion": "1.0.0"
|
|
31547
32081
|
},
|
|
31548
32082
|
{
|
|
31549
|
-
"chunkIndex":
|
|
32083
|
+
"chunkIndex": 75,
|
|
31550
32084
|
"chunkKind": "authoring_manifest",
|
|
31551
32085
|
"content": "{\"operationId\":\"actions.context.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar menu contextual Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"trigger\"],\"semanticTerms\":[\"enabled\",\"trigger\",\"right-click\",\"long-press\",\"both\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.context\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31552
32086
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31556,7 +32090,7 @@
|
|
|
31556
32090
|
"corpusVersion": "1.0.0"
|
|
31557
32091
|
},
|
|
31558
32092
|
{
|
|
31559
|
-
"chunkIndex":
|
|
32093
|
+
"chunkIndex": 76,
|
|
31560
32094
|
"chunkKind": "authoring_manifest",
|
|
31561
32095
|
"content": "{\"operationId\":\"actions.confirmations.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar confirmacoes Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"required\":false},\"inputContract\":{\"required\":[\"default\"],\"properties\":[\"default\"],\"semanticTerms\":[\"default\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"actions.confirmations.default\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31562
32096
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31566,7 +32100,7 @@
|
|
|
31566
32100
|
"corpusVersion": "1.0.0"
|
|
31567
32101
|
},
|
|
31568
32102
|
{
|
|
31569
|
-
"chunkIndex":
|
|
32103
|
+
"chunkIndex": 77,
|
|
31570
32104
|
"chunkKind": "authoring_manifest",
|
|
31571
32105
|
"content": "{\"operationId\":\"export.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar exportacao 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. Effects: merge-object. Habilite em uma tabela o botão para exportar apenas as linhas selecionadas\",\"scope\":\"global\",\"target\":{\"kind\":\"export\",\"resolver\":\"export-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"formats\",\"general\",\"excel\",\"pdf\",\"csv\"],\"semanticTerms\":[\"enabled\",\"formats\",\"general\",\"excel\",\"pdf\",\"csv\",\"general.includeHeaders\",\"general.scope\",\"general.maxRows\",\"excel.autoFitColumns\",\"excel.visibleCurrentPage\",\"pdf.orientation\",\"pdf.pageSize\",\"csv.delimiter\",\"json\",\"print\",\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\",\"portrait\",\"landscape\",\"A4\",\"A3\",\"Letter\",\"Legal\",\",\",\";\",\"|\",\"\\\\t\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"export\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"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}],\"negativeExamples\":[]}",
|
|
31572
32106
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31576,7 +32110,7 @@
|
|
|
31576
32110
|
"corpusVersion": "1.0.0"
|
|
31577
32111
|
},
|
|
31578
32112
|
{
|
|
31579
|
-
"chunkIndex":
|
|
32113
|
+
"chunkIndex": 78,
|
|
31580
32114
|
"chunkKind": "authoring_manifest",
|
|
31581
32115
|
"content": "{\"operationId\":\"tableRuntimeOperations.plan\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Planejar operacoes runtime da tabela Effects: set-value.\",\"scope\":\"global\",\"target\":{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"required\":false},\"inputContract\":{\"required\":[\"operations\"],\"properties\":[\"operations\"],\"semanticTerms\":[\"operations\",\"operations.operationId\",\"operations.input\",\"operations.description\",\"table.filter.apply\",\"table.export.run\",\"operations.input.criteria\",\"operations.input.format\",\"operations.input.scope\",\"excel\",\"pdf\",\"csv\",\"json\",\"print\",\"auto\",\"selected\",\"filtered\",\"currentPage\",\"all\"]},\"effects\":[\"set-value\"],\"affectedPaths\":[\"tableRuntimeOperations\"],\"validators\":[{\"validatorId\":\"runtime-operation-declared\",\"level\":\"error\",\"code\":\"TB019\",\"description\":\"Operacoes runtime devem usar operationId e input declarados em tableRuntimeOperations sem alterar a configuracao persistida.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"none\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31582
32116
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31586,7 +32120,7 @@
|
|
|
31586
32120
|
"corpusVersion": "1.0.0"
|
|
31587
32121
|
},
|
|
31588
32122
|
{
|
|
31589
|
-
"chunkIndex":
|
|
32123
|
+
"chunkIndex": 79,
|
|
31590
32124
|
"chunkKind": "authoring_manifest",
|
|
31591
32125
|
"content": "{\"operationId\":\"appearance.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar aparencia Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"density\",\"borders\",\"colors\",\"typography\",\"spacing\",\"responsive\",\"animations\",\"elevation\"],\"semanticTerms\":[\"density\",\"borders\",\"colors\",\"typography\",\"spacing\",\"responsive\",\"animations\",\"elevation\",\"compact\",\"comfortable\",\"spacious\",\"borders.showRowBorders\",\"borders.showColumnBorders\",\"borders.showOuterBorder\",\"borders.style\",\"colors.alternateRowBackground\",\"colors.hoverBackground\",\"typography.fontSize\",\"typography.headerFontWeight\",\"spacing.cellPadding\",\"responsive.mobile\",\"responsive.breakpoints\",\"animations.enabled\",\"elevation.level\",\"solid\",\"dashed\",\"dotted\",\"responsive.mobile.horizontalScroll\",\"responsive.mobile.cardMode\",\"responsive.mobile.priorityColumns\",\"responsive.breakpoints.mobile\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"appearance\"],\"validators\":[{\"validatorId\":\"css-style-safe\",\"level\":\"error\",\"code\":\"TB014\",\"description\":\"Estilos inline devem permanecer em CSS simples e seguro, sem scripts, URLs perigosas ou expressoes dinamicas.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31592
32126
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31596,7 +32130,7 @@
|
|
|
31596
32130
|
"corpusVersion": "1.0.0"
|
|
31597
32131
|
},
|
|
31598
32132
|
{
|
|
31599
|
-
"chunkIndex":
|
|
32133
|
+
"chunkIndex": 80,
|
|
31600
32134
|
"chunkKind": "authoring_manifest",
|
|
31601
32135
|
"content": "{\"operationId\":\"messages.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar mensagens Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"states\",\"actions\"],\"semanticTerms\":[\"states\",\"actions\",\"states.empty\",\"states.loading\",\"actions.confirmations\",\"actions.confirmations.delete\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"messages\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31602
32136
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31606,7 +32140,7 @@
|
|
|
31606
32140
|
"corpusVersion": "1.0.0"
|
|
31607
32141
|
},
|
|
31608
32142
|
{
|
|
31609
|
-
"chunkIndex":
|
|
32143
|
+
"chunkIndex": 81,
|
|
31610
32144
|
"chunkKind": "authoring_manifest",
|
|
31611
32145
|
"content": "{\"operationId\":\"localization.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar localizacao Effects: merge-object. Configurar a tabela para portugues do Brasil\",\"scope\":\"global\",\"target\":{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"locale\",\"direction\",\"dateTime\",\"number\",\"currency\",\"formatting\"],\"semanticTerms\":[\"locale\",\"direction\",\"dateTime\",\"number\",\"currency\",\"formatting\",\"ltr\",\"rtl\",\"dateTime.dateFormat\",\"dateTime.timeFormat\",\"dateTime.dateTimeFormat\",\"dateTime.firstDayOfWeek\",\"dateTime.relativeTime\",\"dateTime.monthNames\",\"dateTime.dayNames\",\"number.decimalSeparator\",\"number.thousandsSeparator\",\"number.defaultPrecision\",\"number.negativeSign\",\"number.negativeSignPosition\",\"currency.code\",\"currency.symbol\",\"currency.position\",\"currency.spacing\",\"currency.precision\",\"formatting.percentageFormat\",\"formatting.fileSizeFormat\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"before\",\"after\",\"binary\",\"decimal\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"localization\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-localization\",\"request\":\"Configurar a tabela para portugues do Brasil\",\"operationId\":\"localization.configure\",\"params\":{\"locale\":\"pt-BR\",\"direction\":\"ltr\",\"dateTime\":{\"dateFormat\":\"dd/MM/yyyy\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
31612
32146
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31616,7 +32150,7 @@
|
|
|
31616
32150
|
"corpusVersion": "1.0.0"
|
|
31617
32151
|
},
|
|
31618
32152
|
{
|
|
31619
|
-
"chunkIndex":
|
|
32153
|
+
"chunkIndex": 82,
|
|
31620
32154
|
"chunkKind": "authoring_manifest",
|
|
31621
32155
|
"content": "{\"operationId\":\"performance.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar performance Effects: merge-object.\",\"scope\":\"global\",\"target\":{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"virtualization\",\"debounce\",\"lazyLoading\"],\"semanticTerms\":[\"virtualization\",\"debounce\",\"lazyLoading\",\"virtualization.enabled\",\"virtualization.itemHeight\",\"debounce.search\",\"debounce.filter\",\"lazyLoading.images\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"performance\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31622
32156
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31626,7 +32160,7 @@
|
|
|
31626
32160
|
"corpusVersion": "1.0.0"
|
|
31627
32161
|
},
|
|
31628
32162
|
{
|
|
31629
|
-
"chunkIndex":
|
|
32163
|
+
"chunkIndex": 83,
|
|
31630
32164
|
"chunkKind": "authoring_manifest",
|
|
31631
32165
|
"content": "{\"operationId\":\"data.loadingStrategy.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Definir estrategia de carregamento Effects: set-value.\",\"scope\":\"global\",\"target\":{\"kind\":\"data\",\"resolver\":\"data-config\",\"required\":false},\"inputContract\":{\"required\":[\"loadingStrategy\"],\"properties\":[\"loadingStrategy\"],\"semanticTerms\":[\"loadingStrategy\",\"eager\",\"lazy\",\"on-demand\"]},\"effects\":[\"set-value\"],\"affectedPaths\":[\"data.loadingStrategy\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[],\"negativeExamples\":[]}",
|
|
31632
32166
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31636,7 +32170,7 @@
|
|
|
31636
32170
|
"corpusVersion": "1.0.0"
|
|
31637
32171
|
},
|
|
31638
32172
|
{
|
|
31639
|
-
"chunkIndex":
|
|
32173
|
+
"chunkIndex": 84,
|
|
31640
32174
|
"chunkKind": "authoring_manifest",
|
|
31641
32175
|
"content": "{\"operationId\":\"accessibility.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configurar acessibilidade Effects: merge-object. Ativar alto contraste e reduzir animacoes\",\"scope\":\"global\",\"target\":{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"enabled\",\"highContrast\",\"reduceMotion\",\"announcements\",\"keyboard\"],\"semanticTerms\":[\"enabled\",\"highContrast\",\"reduceMotion\",\"announcements\",\"keyboard\",\"announcements.liveRegion\",\"keyboard.shortcuts\",\"polite\",\"assertive\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"accessibility\"],\"validators\":[{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"TB009\",\"description\":\"A edição não deve corromper propriedades críticas necessárias para o round-trip do editor.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"configure-accessibility\",\"request\":\"Ativar alto contraste e reduzir animacoes\",\"operationId\":\"accessibility.configure\",\"params\":{\"enabled\":true,\"highContrast\":true,\"reduceMotion\":true,\"announcements\":{\"liveRegion\":\"polite\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
|
|
31642
32176
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31646,7 +32180,7 @@
|
|
|
31646
32180
|
"corpusVersion": "1.0.0"
|
|
31647
32181
|
},
|
|
31648
32182
|
{
|
|
31649
|
-
"chunkIndex":
|
|
32183
|
+
"chunkIndex": 85,
|
|
31650
32184
|
"chunkKind": "authoring_manifest",
|
|
31651
32185
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"identity\"}",
|
|
31652
32186
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31656,7 +32190,7 @@
|
|
|
31656
32190
|
"corpusVersion": "1.0.0"
|
|
31657
32191
|
},
|
|
31658
32192
|
{
|
|
31659
|
-
"chunkIndex":
|
|
32193
|
+
"chunkIndex": 86,
|
|
31660
32194
|
"chunkKind": "authoring_manifest",
|
|
31661
32195
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"runtimeInputs\",\"runtimeInputs\":[{\"name\":\"config\",\"type\":\"TableConfig\",\"description\":\"Configuração completa da tabela\"},{\"name\":\"data\",\"type\":\"any[]\",\"description\":\"Dados a serem exibidos (modo client-side)\"},{\"name\":\"resourcePath\",\"type\":\"string\",\"description\":\"Caminho do recurso (API base)\"},{\"name\":\"queryContext\",\"type\":\"PraxisDataQueryContext\",\"description\":\"Contexto de consulta declarativo\"},{\"name\":\"title\",\"type\":\"string\",\"description\":\"Título da tabela\"},{\"name\":\"subtitle\",\"type\":\"string\",\"description\":\"Subtítulo da tabela\"},{\"name\":\"enableCustomization\",\"type\":\"boolean\",\"description\":\"Habilita modo de edição\"},{\"name\":\"authoringCapability\",\"type\":\"string\",\"description\":\"Capability pública do contexto corporativo exigida para materializar authoring governado.\"}]}",
|
|
31662
32196
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31666,17 +32200,17 @@
|
|
|
31666
32200
|
"corpusVersion": "1.0.0"
|
|
31667
32201
|
},
|
|
31668
32202
|
{
|
|
31669
|
-
"chunkIndex":
|
|
32203
|
+
"chunkIndex": 87,
|
|
31670
32204
|
"chunkKind": "authoring_manifest",
|
|
31671
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"editableTargets\",\"editableTargets\":[{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"description\":\"Colunas base da tabela\"},{\"kind\":\"columnProjection\",\"resolver\":\"schema-column-projection\",\"description\":\"Projecao de colunas derivada do schema com overrides editoriais\"},{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"description\":\"Colunas calculadas\"},{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"description\":\"Renderizador de célula\"},{\"kind\":\"conditionalRenderer\",\"resolver\":\"conditional-renderer-in-column\",\"description\":\"Renderizadores condicionais\"},{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"description\":\"Ações por linha\"},{\"kind\":\"toolbarAction\",\"resolver\":\"action-in-toolbar-config\",\"description\":\"Ações na barra de ferramentas\"},{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"description\":\"Configuração da barra de ferramentas\"},{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"description\":\"Configuração de filtragem\"},{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"description\":\"Configuração de agrupamento\"},{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"description\":\"Configuração de seleção\"},{\"kind\":\"export\",\"resolver\":\"export-config\",\"description\":\"Configuração de exportação\"},{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"description\":\"Configurações visuais\"},{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"description\":\"
|
|
32205
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"editableTargets\",\"editableTargets\":[{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"description\":\"Colunas base da tabela\"},{\"kind\":\"columnProjection\",\"resolver\":\"schema-column-projection\",\"description\":\"Projecao de colunas derivada do schema com overrides editoriais\"},{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"description\":\"Colunas calculadas\"},{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"description\":\"Renderizador de célula\"},{\"kind\":\"conditionalRenderer\",\"resolver\":\"conditional-renderer-in-column\",\"description\":\"Renderizadores condicionais\"},{\"kind\":\"rowAction\",\"resolver\":\"action-in-row-config\",\"description\":\"Ações por linha\"},{\"kind\":\"toolbarAction\",\"resolver\":\"action-in-toolbar-config\",\"description\":\"Ações na barra de ferramentas\"},{\"kind\":\"toolbar\",\"resolver\":\"toolbar-config\",\"description\":\"Configuração da barra de ferramentas\"},{\"kind\":\"filter\",\"resolver\":\"filter-config\",\"description\":\"Configuração de filtragem\"},{\"kind\":\"grouping\",\"resolver\":\"grouping-config\",\"description\":\"Configuração de agrupamento\"},{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"description\":\"Configuração de seleção\"},{\"kind\":\"export\",\"resolver\":\"export-config\",\"description\":\"Configuração de exportação\"},{\"kind\":\"appearance\",\"resolver\":\"appearance-config\",\"description\":\"Configurações visuais\"},{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"description\":\"Interação de expansão por linha\"},{\"kind\":\"detail\",\"resolver\":\"behavior-config\",\"description\":\"Conteúdo e apresentação do detalhe contextual\"},{\"kind\":\"rule\",\"resolver\":\"style-rule-in-column-or-row\",\"description\":\"Regras de estilo ou comportamento\"},{\"kind\":\"meta\",\"resolver\":\"table-meta-config\",\"description\":\"Metadados da configuracao\"},{\"kind\":\"bulkAction\",\"resolver\":\"action-in-bulk-config\",\"description\":\"Acoes em lote\"},{\"kind\":\"contextAction\",\"resolver\":\"action-in-context-config\",\"description\":\"Acoes de menu contextual\"},{\"kind\":\"pagination\",\"resolver\":\"pagination-config\",\"description\":\"Configuracao de paginacao\"},{\"kind\":\"sorting\",\"resolver\":\"sorting-config\",\"description\":\"Configuracao de ordenacao\"},{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"description\":\"Configuracao de interacao\"},{\"kind\":\"loading\",\"resolver\":\"loading-config\",\"description\":\"Estados de carregamento\"},{\"kind\":\"emptyState\",\"resolver\":\"empty-state-config\",\"description\":\"Estado vazio\"},{\"kind\":\"aiAssistant\",\"resolver\":\"ai-assistant-config\",\"description\":\"Config path ai.assistant.enabled controlling the embedded table AI assistant entrypoint and session.\"},{\"kind\":\"resizing\",\"resolver\":\"resizing-config\",\"description\":\"Redimensionamento de colunas\"},{\"kind\":\"dragging\",\"resolver\":\"dragging-config\",\"description\":\"Reorganizacao por drag and drop\"},{\"kind\":\"editing\",\"resolver\":\"editing-config\",\"description\":\"Modo de edicao\"},{\"kind\":\"messages\",\"resolver\":\"messages-config\",\"description\":\"Mensagens da tabela\"},{\"kind\":\"localization\",\"resolver\":\"localization-config\",\"description\":\"Localizacao e formatos regionais\"},{\"kind\":\"performance\",\"resolver\":\"performance-config\",\"description\":\"Configuracoes de performance\"},{\"kind\":\"data\",\"resolver\":\"data-config\",\"description\":\"Configuracoes de dados\"},{\"kind\":\"runtimeOperation\",\"resolver\":\"table-runtime-operation-contract\",\"description\":\"Operacoes runtime revisaveis sem mutar a configuracao persistida\"},{\"kind\":\"accessibility\",\"resolver\":\"accessibility-config\",\"description\":\"Acessibilidade\"}]}",
|
|
31672
32206
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
31673
|
-
"contentHash": "
|
|
32207
|
+
"contentHash": "d03b14c2eced98a26477fab476951ae3531eb8f4a324a713ac6bc368704e978b",
|
|
31674
32208
|
"sourceKind": "component_definition",
|
|
31675
32209
|
"sourceId": "praxis-table",
|
|
31676
32210
|
"corpusVersion": "1.0.0"
|
|
31677
32211
|
},
|
|
31678
32212
|
{
|
|
31679
|
-
"chunkIndex":
|
|
32213
|
+
"chunkIndex": 88,
|
|
31680
32214
|
"chunkKind": "authoring_manifest",
|
|
31681
32215
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.projection.configure\",\"title\":\"Usar colunas governadas pelo schema\",\"description\":\"Mantem /schemas/filtered como fonte estrutural das colunas e registra somente diferencas editoriais por nome canonico de campo. Nao use para inventar campos ou contornar metadata ausente.\",\"scope\":\"global\",\"targetKind\":\"columnProjection\",\"target\":{\"kind\":\"columnProjection\",\"resolver\":\"schema-column-projection\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"source\"],\"additionalProperties\":false,\"properties\":{\"source\":{\"const\":\"schema\"},\"include\":{\"type\":\"array\",\"uniqueItems\":true,\"items\":{\"type\":\"string\",\"minLength\":1},\"description\":\"Allowlist ordenada de campos canonicos. Recomendada para dados sensiveis ou quando a pagina precisa de uma projecao focada.\"},\"overrides\":{\"type\":\"object\",\"description\":\"Mapa indexado pelo nome canonico do campo. O objeto de override nao pode conter field.\",\"additionalProperties\":{\"type\":\"object\",\"not\":{\"required\":[\"field\"]}}},\"additions\":{\"type\":\"array\",\"description\":\"Colunas editoriais sem correspondente no schema, normalmente derivadas pelo round-trip de colunas computadas. Uma adicao nunca substitui um campo canonico.\",\"items\":{\"type\":\"object\",\"required\":[\"field\"],\"properties\":{\"field\":{\"type\":\"string\",\"minLength\":1},\"header\":{\"type\":[\"string\",\"object\"]},\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"columnProjection\"}],\"validators\":[\"schema-column-override-field-immutable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columnProjection\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.add\",\"title\":\"Adicionar coluna\",\"scope\":\"global\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"field\",\"header\"],\"properties\":{\"field\":{\"type\":\"string\"},\"header\":{\"type\":\"string\"},\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"],\"default\":\"string\"}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"column-field-unique\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"column.remove\",\"title\":\"Remover coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"properties\":{}},\"effects\":[{\"kind\":\"remove-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"destructive\":true,\"requiresConfirmation\":true,\"validators\":[\"destructive-removal-confirmation\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.header.set\",\"title\":\"Renomear o título da coluna sem alterar valores das células\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"header\"],\"properties\":{\"header\":{\"type\":\"string\",\"minLength\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].header\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.type.set\",\"title\":\"Definir tipo de dado\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\"],\"properties\":{\"type\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].type\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.format.set\",\"title\":\"Definir formato\",\"description\":\"Define o preset de apresentação e materializa o tipo visual compatível quando o formato é moeda, percentual, data ou booleano, preservando os demais atributos da coluna.\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"format\"],\"properties\":{\"format\":{\"type\":\"string\",\"enum\":[\"shortDate\",\"mediumDate\",\"longDate\",\"fullDate\",\"MMM/yyyy\",\"shortTime\",\"short\",\"yyyy-MM-dd\",\"dd/MM/yyyy\",\"yyyy-MM-dd HH:mm\",\"1.0-0\",\"1.1-1\",\"1.2-2\",\"1.0-3\",\"1.0-0|nosep\",\"BRL|symbol|2\",\"USD|symbol|2\",\"EUR|symbol|2\",\"BRL|code|2\",\"USD|code|0\",\"BRL|symbol|2|nosep\",\"EUR|symbol|2|nosep\",\"1.0-0|x100\",\"1.1-1|x100\",\"1.2-2|x100\",\"none\",\"uppercase\",\"lowercase\",\"titlecase\",\"capitalize\",\"uppercase|truncate|50|...\",\"000.000.000-00\",\"true-false\",\"yes-no\",\"active-inactive\",\"on-off\",\"enabled-disabled\",\"custom|Sim|Nao\"],\"description\":\"Preset canônico do DataFormattingService.\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-column-format-set\",\"path\":\"columns[]\"}],\"validators\":[\"target-column-exists\",\"format-preset-supported\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columns[].format\",\"columns[].type\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.width.set\",\"title\":\"Definir largura da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"width\"],\"properties\":{\"width\":{\"type\":\"string\",\"pattern\":\"^(auto|\\\\d+(px|%|rem|em))$\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"column-width-valid\"],\"affectedPaths\":[\"columns[].width\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.align.set\",\"title\":\"Definir alinhamento da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"align\"],\"properties\":{\"align\":{\"enum\":[\"left\",\"center\",\"right\"]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].align\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.sticky.set\",\"title\":\"Fixar coluna durante a rolagem sem reordená-la\",\"description\":\"Mantém a coluna visível em uma extremidade durante a rolagem horizontal. Não altera sua posição na sequência de colunas; pedidos para mover, reordenar ou colocar uma coluna no início pertencem a column.order.set.\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sticky\"],\"properties\":{\"sticky\":{\"enum\":[\"start\",\"end\",true,false]}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sticky\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]}]}",
|
|
31682
32216
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31686,7 +32220,7 @@
|
|
|
31686
32220
|
"corpusVersion": "1.0.0"
|
|
31687
32221
|
},
|
|
31688
32222
|
{
|
|
31689
|
-
"chunkIndex":
|
|
32223
|
+
"chunkIndex": 89,
|
|
31690
32224
|
"chunkKind": "authoring_manifest",
|
|
31691
32225
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"column.sortable.set\",\"title\":\"Definir ordenação da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"sortable\"],\"properties\":{\"sortable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].sortable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.filterable.set\",\"title\":\"Definir filtro da coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"filterable\"],\"properties\":{\"filterable\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].filterable\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.style.set\",\"title\":\"Definir estilo da célula\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"style\"],\"properties\":{\"style\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"css-style-safe\"],\"affectedPaths\":[\"columns[].style\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.headerStyle.set\",\"title\":\"Definir estilo do cabeçalho\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"headerStyle\"],\"properties\":{\"headerStyle\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"css-style-safe\"],\"affectedPaths\":[\"columns[].headerStyle\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.valueMapping.set\",\"title\":\"Mapear valores exibidos nas células sem renomear a coluna\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"valueMapping\"],\"properties\":{\"valueMapping\":{\"type\":\"object\",\"minProperties\":1}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\",\"value-mapping-valid\"],\"affectedPaths\":[\"columns[].valueMapping\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.order.set\",\"title\":\"Mover coluna inteira sem alterar o conteúdo da célula\",\"description\":\"Altera a posição visual da coluna na sequência. Use order 0 para colocá-la no início; use esta operação para mover ou reordenar ao início, ao fim, antes ou depois de outra coluna. Não fixa a coluna durante a rolagem; essa é a responsabilidade de column.sticky.set.\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"order\"],\"properties\":{\"order\":{\"type\":\"integer\",\"minimum\":0,\"description\":\"Índice visual absoluto da coluna; 0 representa a primeira posição.\"}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"table-column-order-set\",\"path\":\"columns[]\"}],\"validators\":[\"target-column-exists\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"columns[].order\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.visibility.set\",\"title\":\"Mostrar ou ocultar coluna independente sem excluí-la\",\"description\":\"Altera somente a visibilidade da coluna-alvo. Quando um pedido incorpora o conteúdo de uma coluna em outra célula e também diz que a coluna de origem não deve continuar separada, esta operação complementa a composição do renderer.\",\"scope\":\"column\",\"targetKind\":\"column\",\"target\":{\"kind\":\"column\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"visible\"],\"properties\":{\"visible\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"target-column-exists\"],\"affectedPaths\":[\"columns[].visible\"],\"submissionImpact\":\"visual-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"column.computed.add\",\"title\":\"Adicionar coluna calculada\",\"scope\":\"global\",\"targetKind\":\"computedColumn\",\"target\":{\"kind\":\"computedColumn\",\"resolver\":\"column-by-field\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"field\",\"header\",\"expression\"],\"properties\":{\"field\":{\"type\":\"string\",\"description\":\"Stable camelCase field id for the new computed column. When the user supplies a header/name, derive this id from that header instead of asking for clarification.\"},\"header\":{\"type\":\"string\",\"description\":\"User-facing label for the computed column.\"},\"expression\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"outputType\":{\"enum\":[\"string\",\"number\",\"date\",\"boolean\",\"currency\",\"percentage\",\"custom\"]}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"columns[]\",\"key\":\"field\"}],\"validators\":[\"column-field-unique\",\"computed-expression-valid\"],\"affectedPaths\":[\"columns[]\"],\"submissionImpact\":\"affects-schema-backed-data\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
31692
32226
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31696,7 +32230,7 @@
|
|
|
31696
32230
|
"corpusVersion": "1.0.0"
|
|
31697
32231
|
},
|
|
31698
32232
|
{
|
|
31699
|
-
"chunkIndex":
|
|
32233
|
+
"chunkIndex": 90,
|
|
31700
32234
|
"chunkKind": "authoring_manifest",
|
|
31701
32235
|
"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\":{\"operationId\":\"column.renderer.set\",\"title\":\"Compor ou definir o conteúdo visual dentro da célula\",\"description\":\"Define ou substitui o renderer raiz da célula. Para mudar somente direção, alinhamento, espaçamento ou quebra de um compose existente, use column.renderer.composeLayout.set. Para mudar somente tamanho, forma ou outra propriedade de um item existente, use column.renderer.composeItem.set. Esta operação não oculta uma coluna de origem; quando o mesmo pedido exige que essa origem deixe de aparecer separadamente, combine-a com column.visibility.set.\",\"scope\":\"column\",\"targetKind\":\"renderer\",\"target\":{\"kind\":\"renderer\",\"resolver\":\"renderer-in-column\",\"ambiguityPolicy\":\"fail\",\"required\":true}}}",
|
|
31702
32236
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31706,7 +32240,7 @@
|
|
|
31706
32240
|
"corpusVersion": "1.0.0"
|
|
31707
32241
|
},
|
|
31708
32242
|
{
|
|
31709
|
-
"chunkIndex":
|
|
32243
|
+
"chunkIndex": 91,
|
|
31710
32244
|
"chunkKind": "authoring_manifest",
|
|
31711
32245
|
"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\":{\"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\"]}}",
|
|
31712
32246
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31716,7 +32250,7 @@
|
|
|
31716
32250
|
"corpusVersion": "1.0.0"
|
|
31717
32251
|
},
|
|
31718
32252
|
{
|
|
31719
|
-
"chunkIndex":
|
|
32253
|
+
"chunkIndex": 92,
|
|
31720
32254
|
"chunkKind": "authoring_manifest",
|
|
31721
32255
|
"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\"}}}}}",
|
|
31722
32256
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31726,7 +32260,7 @@
|
|
|
31726
32260
|
"corpusVersion": "1.0.0"
|
|
31727
32261
|
},
|
|
31728
32262
|
{
|
|
31729
|
-
"chunkIndex":
|
|
32263
|
+
"chunkIndex": 93,
|
|
31730
32264
|
"chunkKind": "authoring_manifest",
|
|
31731
32265
|
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations[17].inputSchema.properties.compose\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"object\"},\"fragment\":{\"type\":\"object\",\"description\":\"Composição de vários itens dentro da mesma célula. Em refinamentos, preserve os itens atuais e altere somente o atributo solicitado.\",\"required\":[\"items\"]}}",
|
|
31732
32266
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31736,7 +32270,7 @@
|
|
|
31736
32270
|
"corpusVersion": "1.0.0"
|
|
31737
32271
|
},
|
|
31738
32272
|
{
|
|
31739
|
-
"chunkIndex":
|
|
32273
|
+
"chunkIndex": 94,
|
|
31740
32274
|
"chunkKind": "authoring_manifest",
|
|
31741
32275
|
"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\",\"fragmentPath\":\"operations[17].inputSchema.properties.compose.properties.items\",\"fragmentIdentity\":{\"operationId\":\"column.renderer.set\",\"type\":\"array\"},\"fragment\":{\"type\":\"array\",\"minItems\":1}}",
|
|
31742
32276
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31746,7 +32280,7 @@
|
|
|
31746
32280
|
"corpusVersion": "1.0.0"
|
|
31747
32281
|
},
|
|
31748
32282
|
{
|
|
31749
|
-
"chunkIndex":
|
|
32283
|
+
"chunkIndex": 95,
|
|
31750
32284
|
"chunkKind": "authoring_manifest",
|
|
31751
32285
|
"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\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
31752
32286
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31756,7 +32290,7 @@
|
|
|
31756
32290
|
"corpusVersion": "1.0.0"
|
|
31757
32291
|
},
|
|
31758
32292
|
{
|
|
31759
|
-
"chunkIndex":
|
|
32293
|
+
"chunkIndex": 96,
|
|
31760
32294
|
"chunkKind": "authoring_manifest",
|
|
31761
32295
|
"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\"]}}]}}",
|
|
31762
32296
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31766,7 +32300,7 @@
|
|
|
31766
32300
|
"corpusVersion": "1.0.0"
|
|
31767
32301
|
},
|
|
31768
32302
|
{
|
|
31769
|
-
"chunkIndex":
|
|
32303
|
+
"chunkIndex": 97,
|
|
31770
32304
|
"chunkKind": "authoring_manifest",
|
|
31771
32305
|
"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\"],\"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\"}}}}}",
|
|
31772
32306
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31776,7 +32310,7 @@
|
|
|
31776
32310
|
"corpusVersion": "1.0.0"
|
|
31777
32311
|
},
|
|
31778
32312
|
{
|
|
31779
|
-
"chunkIndex":
|
|
32313
|
+
"chunkIndex": 98,
|
|
31780
32314
|
"chunkKind": "authoring_manifest",
|
|
31781
32315
|
"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\"]}}]}}",
|
|
31782
32316
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31786,7 +32320,7 @@
|
|
|
31786
32320
|
"corpusVersion": "1.0.0"
|
|
31787
32321
|
},
|
|
31788
32322
|
{
|
|
31789
|
-
"chunkIndex":
|
|
32323
|
+
"chunkIndex": 99,
|
|
31790
32324
|
"chunkKind": "authoring_manifest",
|
|
31791
32325
|
"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\"]}}",
|
|
31792
32326
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31796,7 +32330,7 @@
|
|
|
31796
32330
|
"corpusVersion": "1.0.0"
|
|
31797
32331
|
},
|
|
31798
32332
|
{
|
|
31799
|
-
"chunkIndex":
|
|
32333
|
+
"chunkIndex": 100,
|
|
31800
32334
|
"chunkKind": "authoring_manifest",
|
|
31801
32335
|
"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\"]}]}",
|
|
31802
32336
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31806,7 +32340,7 @@
|
|
|
31806
32340
|
"corpusVersion": "1.0.0"
|
|
31807
32341
|
},
|
|
31808
32342
|
{
|
|
31809
|
-
"chunkIndex":
|
|
32343
|
+
"chunkIndex": 101,
|
|
31810
32344
|
"chunkKind": "authoring_manifest",
|
|
31811
32345
|
"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}}}",
|
|
31812
32346
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31816,7 +32350,7 @@
|
|
|
31816
32350
|
"corpusVersion": "1.0.0"
|
|
31817
32351
|
},
|
|
31818
32352
|
{
|
|
31819
|
-
"chunkIndex":
|
|
32353
|
+
"chunkIndex": 102,
|
|
31820
32354
|
"chunkKind": "authoring_manifest",
|
|
31821
32355
|
"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\"]}}",
|
|
31822
32356
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31826,7 +32360,7 @@
|
|
|
31826
32360
|
"corpusVersion": "1.0.0"
|
|
31827
32361
|
},
|
|
31828
32362
|
{
|
|
31829
|
-
"chunkIndex":
|
|
32363
|
+
"chunkIndex": 103,
|
|
31830
32364
|
"chunkKind": "authoring_manifest",
|
|
31831
32365
|
"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.\"}}}",
|
|
31832
32366
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31836,7 +32370,7 @@
|
|
|
31836
32370
|
"corpusVersion": "1.0.0"
|
|
31837
32371
|
},
|
|
31838
32372
|
{
|
|
31839
|
-
"chunkIndex":
|
|
32373
|
+
"chunkIndex": 104,
|
|
31840
32374
|
"chunkKind": "authoring_manifest",
|
|
31841
32375
|
"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\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
31842
32376
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31846,7 +32380,7 @@
|
|
|
31846
32380
|
"corpusVersion": "1.0.0"
|
|
31847
32381
|
},
|
|
31848
32382
|
{
|
|
31849
|
-
"chunkIndex":
|
|
32383
|
+
"chunkIndex": 105,
|
|
31850
32384
|
"chunkKind": "authoring_manifest",
|
|
31851
32385
|
"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\"]}}]}}",
|
|
31852
32386
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31856,7 +32390,7 @@
|
|
|
31856
32390
|
"corpusVersion": "1.0.0"
|
|
31857
32391
|
},
|
|
31858
32392
|
{
|
|
31859
|
-
"chunkIndex":
|
|
32393
|
+
"chunkIndex": 106,
|
|
31860
32394
|
"chunkKind": "authoring_manifest",
|
|
31861
32395
|
"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\"]}}",
|
|
31862
32396
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31866,7 +32400,7 @@
|
|
|
31866
32400
|
"corpusVersion": "1.0.0"
|
|
31867
32401
|
},
|
|
31868
32402
|
{
|
|
31869
|
-
"chunkIndex":
|
|
32403
|
+
"chunkIndex": 107,
|
|
31870
32404
|
"chunkKind": "authoring_manifest",
|
|
31871
32405
|
"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}}}",
|
|
31872
32406
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31876,7 +32410,7 @@
|
|
|
31876
32410
|
"corpusVersion": "1.0.0"
|
|
31877
32411
|
},
|
|
31878
32412
|
{
|
|
31879
|
-
"chunkIndex":
|
|
32413
|
+
"chunkIndex": 108,
|
|
31880
32414
|
"chunkKind": "authoring_manifest",
|
|
31881
32415
|
"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\"]}}",
|
|
31882
32416
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31886,7 +32420,7 @@
|
|
|
31886
32420
|
"corpusVersion": "1.0.0"
|
|
31887
32421
|
},
|
|
31888
32422
|
{
|
|
31889
|
-
"chunkIndex":
|
|
32423
|
+
"chunkIndex": 109,
|
|
31890
32424
|
"chunkKind": "authoring_manifest",
|
|
31891
32425
|
"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\"}}}",
|
|
31892
32426
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31896,7 +32430,7 @@
|
|
|
31896
32430
|
"corpusVersion": "1.0.0"
|
|
31897
32431
|
},
|
|
31898
32432
|
{
|
|
31899
|
-
"chunkIndex":
|
|
32433
|
+
"chunkIndex": 110,
|
|
31900
32434
|
"chunkKind": "authoring_manifest",
|
|
31901
32435
|
"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\"]}}",
|
|
31902
32436
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31906,7 +32440,7 @@
|
|
|
31906
32440
|
"corpusVersion": "1.0.0"
|
|
31907
32441
|
},
|
|
31908
32442
|
{
|
|
31909
|
-
"chunkIndex":
|
|
32443
|
+
"chunkIndex": 111,
|
|
31910
32444
|
"chunkKind": "authoring_manifest",
|
|
31911
32445
|
"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\"}}}}}",
|
|
31912
32446
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31916,7 +32450,7 @@
|
|
|
31916
32450
|
"corpusVersion": "1.0.0"
|
|
31917
32451
|
},
|
|
31918
32452
|
{
|
|
31919
|
-
"chunkIndex":
|
|
32453
|
+
"chunkIndex": 112,
|
|
31920
32454
|
"chunkKind": "authoring_manifest",
|
|
31921
32455
|
"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\"]}}",
|
|
31922
32456
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31926,7 +32460,7 @@
|
|
|
31926
32460
|
"corpusVersion": "1.0.0"
|
|
31927
32461
|
},
|
|
31928
32462
|
{
|
|
31929
|
-
"chunkIndex":
|
|
32463
|
+
"chunkIndex": 113,
|
|
31930
32464
|
"chunkKind": "authoring_manifest",
|
|
31931
32465
|
"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}}",
|
|
31932
32466
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31936,7 +32470,7 @@
|
|
|
31936
32470
|
"corpusVersion": "1.0.0"
|
|
31937
32471
|
},
|
|
31938
32472
|
{
|
|
31939
|
-
"chunkIndex":
|
|
32473
|
+
"chunkIndex": 114,
|
|
31940
32474
|
"chunkKind": "authoring_manifest",
|
|
31941
32475
|
"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\"],\"properties\":{\"type\":{\"enum\":[\"value\",\"icon\",\"image\",\"badge\",\"link\",\"button\",\"chip\",\"progress\",\"avatar\",\"toggle\",\"menu\",\"rating\",\"microVisualization\",\"html\"]},\"field\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"valueField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"emphasis\":{\"enum\":[\"strong\",\"subtle\"],\"description\":\"Semantic hierarchy for a value item. Use strong for the primary value and subtle for supporting context; arbitrary CSS is not part of the compose contract.\"},\"button\":{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"label\":{\"type\":\"string\"},\"labelField\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"text\"]},\"size\":{\"enum\":[\"sm\",\"md\",\"lg\"]},\"ariaLabel\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"menu\":{\"type\":\"object\",\"required\":[\"itemsExpr\"],\"properties\":{\"itemsExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"}}},\"link\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"href\"]},{\"required\":[\"hrefField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"href\":{\"type\":\"string\"},\"hrefField\":{\"type\":\"string\"},\"target\":{\"enum\":[\"_blank\",\"_self\",\"_parent\",\"_top\"]},\"rel\":{\"type\":\"string\"}}},\"progress\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"showLabel\":{\"type\":\"boolean\"}}},\"badge\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\",\"soft\",\"plain\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"chip\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"text\"]},{\"required\":[\"textField\"]}],\"properties\":{\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"color\":{\"enum\":[\"primary\",\"accent\",\"warn\",\"danger\",\"success\",\"info\",\"basic\"]},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"icon\":{\"type\":\"string\"},\"tooltip\":{\"type\":\"object\",\"properties\":{\"text\":{\"type\":\"string\"},\"position\":{\"enum\":[\"top\",\"right\",\"bottom\",\"left\"]},\"bgColor\":{\"type\":\"string\"},\"delayMs\":{\"type\":\"number\"}}}}},\"icon\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"name\"]},{\"required\":[\"nameField\"]}],\"properties\":{\"name\":{\"type\":\"string\"},\"nameField\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"textField\":{\"type\":\"string\"},\"prefix\":{\"type\":\"string\"},\"suffix\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"size\":{\"type\":\"number\"},\"ariaLabel\":{\"type\":\"string\"}}},\"image\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"width\":{\"type\":\"number\",\"description\":\"Largura visual em pixels; altere apenas quando o pedido mudar o tamanho da imagem.\"},\"height\":{\"type\":\"number\",\"description\":\"Altura visual em pixels; para imagem quadrada, mantenha igual a width.\"},\"shape\":{\"enum\":[\"square\",\"rounded\",\"circle\"],\"description\":\"square não arredonda, rounded usa cantos arredondados e circle materializa um círculo.\"},\"fit\":{\"enum\":[\"cover\",\"contain\"]},\"lazy\":{\"type\":\"boolean\"}}},\"avatar\":{\"type\":\"object\",\"anyOf\":[{\"required\":[\"src\"]},{\"required\":[\"srcField\"]},{\"required\":[\"initialsField\"]},{\"required\":[\"initialsExpr\"]}],\"properties\":{\"src\":{\"type\":\"string\"},\"srcField\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"},\"altField\":{\"type\":\"string\"},\"initialsField\":{\"type\":\"string\"},\"initialsExpr\":{\"type\":\"string\"},\"shape\":{\"enum\":[\"circle\",\"square\",\"rounded\"],\"description\":\"circle é circular, square é quadrado e rounded é quadrado com cantos arredondados.\"},\"size\":{\"type\":\"number\",\"description\":\"Tamanho visual do avatar em pixels; preserve os demais campos e itens do compose ao mudar apenas o tamanho.\"},\"backgroundColor\":{\"type\":\"string\"},\"textColor\":{\"type\":\"string\"}}},\"toggle\":{\"type\":\"object\",\"required\":[\"stateExpr\",\"action\"],\"properties\":{\"stateExpr\":{\"type\":\"string\"},\"disabledCondition\":{\"type\":\"object\",\"description\":\"AST Json Logic\"},\"ariaLabel\":{\"type\":\"string\"},\"action\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"payloadExpr\":{\"type\":\"string\"}}}}},\"rating\":{\"type\":\"object\",\"required\":[\"valueExpr\"],\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"},\"outlineColor\":{\"type\":\"string\"},\"size\":{\"enum\":[\"small\",\"medium\",\"large\"]},\"ariaLabel\":{\"type\":\"string\"}}},\"microVisualization\":{\"type\":\"object\",\"required\":[\"visualization\"],\"properties\":{\"visualization\":{\"type\":\"object\",\"description\":\"Expression properties accept a row path such as row.sla or a controlled formula prefixed with =, such as = row.sla.\",\"required\":[\"kind\",\"fallbackText\"],\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\",\"stackedBar\",\"radial\",\"harveyBall\",\"bullet\",\"delta\",\"processFlow\"],\"description\":\"Table-cell guidance: recommended for rapid scanning: delta, bullet, radial, harveyBall, stackedBar. Conditional: line, area and column require horizontal space; comparison increases row height; processFlow needs recognizable steps.\"},\"surface\":{\"const\":\"table-cell\"},\"size\":{\"enum\":[\"xs\",\"sm\",\"md\",\"lg\",\"responsive\"]},\"value\":{},\"valueExpr\":{\"type\":\"string\"},\"valueSuffix\":{\"type\":\"string\"},\"valueSuffixExpr\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"},\"totalExpr\":{\"type\":\"string\"},\"target\":{\"type\":\"number\"},\"targetExpr\":{\"type\":\"string\"},\"baseline\":{\"type\":\"number\"},\"baselineExpr\":{\"type\":\"string\"},\"segments\":{\"type\":\"array\"},\"segmentsExpr\":{\"type\":\"string\"},\"points\":{\"type\":\"array\"},\"pointsExpr\":{\"type\":\"string\"},\"thresholds\":{\"type\":\"array\"},\"thresholdsExpr\":{\"type\":\"string\"},\"items\":{\"type\":\"array\"},\"itemsExpr\":{\"type\":\"string\"},\"tone\":{\"enum\":[\"neutral\",\"info\",\"success\",\"warning\",\"danger\",\"critical\"]},\"toneExpr\":{\"type\":\"string\"},\"ariaLabel\":{\"type\":\"string\"},\"ariaLabelExpr\":{\"type\":\"string\"},\"fallbackText\":{\"type\":\"string\"},\"fallbackTextExpr\":{\"type\":\"string\"}},\"allOf\":[{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"delta\",\"bullet\",\"radial\",\"harveyBall\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"value\"]},{\"required\":[\"valueExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"enum\":[\"line\",\"area\",\"column\",\"comparison\"]}}},\"then\":{\"anyOf\":[{\"required\":[\"points\"]},{\"required\":[\"pointsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"stackedBar\"}}},\"then\":{\"anyOf\":[{\"required\":[\"segments\"]},{\"required\":[\"segmentsExpr\"]}]}},{\"if\":{\"properties\":{\"kind\":{\"const\":\"processFlow\"}}},\"then\":{\"anyOf\":[{\"required\":[\"items\"]},{\"required\":[\"itemsExpr\"]}]}}]}}},\"html\":{\"type\":\"object\",\"required\":[\"template\"],\"properties\":{\"template\":{\"type\":\"string\"},\"sanitize\":{\"enum\":[\"strict\",\"basic\"]},\"emptyFallback\":{\"type\":\"string\"}}}}}}",
|
|
31942
32476
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31946,7 +32480,7 @@
|
|
|
31946
32480
|
"corpusVersion": "1.0.0"
|
|
31947
32481
|
},
|
|
31948
32482
|
{
|
|
31949
|
-
"chunkIndex":
|
|
32483
|
+
"chunkIndex": 115,
|
|
31950
32484
|
"chunkKind": "authoring_manifest",
|
|
31951
32485
|
"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\"]}}]}}",
|
|
31952
32486
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31956,7 +32490,7 @@
|
|
|
31956
32490
|
"corpusVersion": "1.0.0"
|
|
31957
32491
|
},
|
|
31958
32492
|
{
|
|
31959
|
-
"chunkIndex":
|
|
32493
|
+
"chunkIndex": 116,
|
|
31960
32494
|
"chunkKind": "authoring_manifest",
|
|
31961
32495
|
"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\"}}}}}",
|
|
31962
32496
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31966,7 +32500,7 @@
|
|
|
31966
32500
|
"corpusVersion": "1.0.0"
|
|
31967
32501
|
},
|
|
31968
32502
|
{
|
|
31969
|
-
"chunkIndex":
|
|
32503
|
+
"chunkIndex": 117,
|
|
31970
32504
|
"chunkKind": "authoring_manifest",
|
|
31971
32505
|
"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\"]}}]}}",
|
|
31972
32506
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31976,7 +32510,7 @@
|
|
|
31976
32510
|
"corpusVersion": "1.0.0"
|
|
31977
32511
|
},
|
|
31978
32512
|
{
|
|
31979
|
-
"chunkIndex":
|
|
32513
|
+
"chunkIndex": 118,
|
|
31980
32514
|
"chunkKind": "authoring_manifest",
|
|
31981
32515
|
"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\"}}}",
|
|
31982
32516
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31986,7 +32520,7 @@
|
|
|
31986
32520
|
"corpusVersion": "1.0.0"
|
|
31987
32521
|
},
|
|
31988
32522
|
{
|
|
31989
|
-
"chunkIndex":
|
|
32523
|
+
"chunkIndex": 119,
|
|
31990
32524
|
"chunkKind": "authoring_manifest",
|
|
31991
32525
|
"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\"]}]}}",
|
|
31992
32526
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -31996,7 +32530,7 @@
|
|
|
31996
32530
|
"corpusVersion": "1.0.0"
|
|
31997
32531
|
},
|
|
31998
32532
|
{
|
|
31999
|
-
"chunkIndex":
|
|
32533
|
+
"chunkIndex": 120,
|
|
32000
32534
|
"chunkKind": "authoring_manifest",
|
|
32001
32535
|
"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\"]}}",
|
|
32002
32536
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32006,7 +32540,7 @@
|
|
|
32006
32540
|
"corpusVersion": "1.0.0"
|
|
32007
32541
|
},
|
|
32008
32542
|
{
|
|
32009
|
-
"chunkIndex":
|
|
32543
|
+
"chunkIndex": 121,
|
|
32010
32544
|
"chunkKind": "authoring_manifest",
|
|
32011
32545
|
"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\"]}]}",
|
|
32012
32546
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32016,7 +32550,7 @@
|
|
|
32016
32550
|
"corpusVersion": "1.0.0"
|
|
32017
32551
|
},
|
|
32018
32552
|
{
|
|
32019
|
-
"chunkIndex":
|
|
32553
|
+
"chunkIndex": 122,
|
|
32020
32554
|
"chunkKind": "authoring_manifest",
|
|
32021
32555
|
"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\"]}]}",
|
|
32022
32556
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32026,7 +32560,7 @@
|
|
|
32026
32560
|
"corpusVersion": "1.0.0"
|
|
32027
32561
|
},
|
|
32028
32562
|
{
|
|
32029
|
-
"chunkIndex":
|
|
32563
|
+
"chunkIndex": 123,
|
|
32030
32564
|
"chunkKind": "authoring_manifest",
|
|
32031
32565
|
"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\"]}]}",
|
|
32032
32566
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32036,7 +32570,7 @@
|
|
|
32036
32570
|
"corpusVersion": "1.0.0"
|
|
32037
32571
|
},
|
|
32038
32572
|
{
|
|
32039
|
-
"chunkIndex":
|
|
32573
|
+
"chunkIndex": 124,
|
|
32040
32574
|
"chunkKind": "authoring_manifest",
|
|
32041
32575
|
"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\"]}]}",
|
|
32042
32576
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32046,7 +32580,7 @@
|
|
|
32046
32580
|
"corpusVersion": "1.0.0"
|
|
32047
32581
|
},
|
|
32048
32582
|
{
|
|
32049
|
-
"chunkIndex":
|
|
32583
|
+
"chunkIndex": 125,
|
|
32050
32584
|
"chunkKind": "authoring_manifest",
|
|
32051
32585
|
"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\"]}]}",
|
|
32052
32586
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32055,22 +32589,12 @@
|
|
|
32055
32589
|
"sourceId": "praxis-table",
|
|
32056
32590
|
"corpusVersion": "1.0.0"
|
|
32057
32591
|
},
|
|
32058
|
-
{
|
|
32059
|
-
"chunkIndex": 125,
|
|
32060
|
-
"chunkKind": "authoring_manifest",
|
|
32061
|
-
"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\":\"merge-object\",\"path\":\"behavior.expansion\"}],\"validators\":[\"editor-round-trip-preserve\"],\"affectedPaths\":[\"behavior.expansion\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\"]}]}",
|
|
32062
|
-
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32063
|
-
"contentHash": "14d0530e6fbc118c17d20c85a99eea9ef0bef2ef61d230f5b103d26326c5875b",
|
|
32064
|
-
"sourceKind": "component_definition",
|
|
32065
|
-
"sourceId": "praxis-table",
|
|
32066
|
-
"corpusVersion": "1.0.0"
|
|
32067
|
-
},
|
|
32068
32592
|
{
|
|
32069
32593
|
"chunkIndex": 126,
|
|
32070
32594
|
"chunkKind": "authoring_manifest",
|
|
32071
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"
|
|
32595
|
+
"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\"]}]}",
|
|
32072
32596
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32073
|
-
"contentHash": "
|
|
32597
|
+
"contentHash": "b8bf942647f045cdca2b3a8b81160986c51a958bed742f28e33662ba2cf3dc91",
|
|
32074
32598
|
"sourceKind": "component_definition",
|
|
32075
32599
|
"sourceId": "praxis-table",
|
|
32076
32600
|
"corpusVersion": "1.0.0"
|
|
@@ -32078,9 +32602,9 @@
|
|
|
32078
32602
|
{
|
|
32079
32603
|
"chunkIndex": 127,
|
|
32080
32604
|
"chunkKind": "authoring_manifest",
|
|
32081
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"
|
|
32605
|
+
"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\"]}]}",
|
|
32082
32606
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32083
|
-
"contentHash": "
|
|
32607
|
+
"contentHash": "e51873332e4f02d187582fbba07ef04a7bdd13e8535a929db84068d40dc9aaf3",
|
|
32084
32608
|
"sourceKind": "component_definition",
|
|
32085
32609
|
"sourceId": "praxis-table",
|
|
32086
32610
|
"corpusVersion": "1.0.0"
|
|
@@ -32088,9 +32612,9 @@
|
|
|
32088
32612
|
{
|
|
32089
32613
|
"chunkIndex": 128,
|
|
32090
32614
|
"chunkKind": "authoring_manifest",
|
|
32091
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"
|
|
32615
|
+
"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\"]}]}",
|
|
32092
32616
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32093
|
-
"contentHash": "
|
|
32617
|
+
"contentHash": "0a9ed3fb2fa2f24042a448969212a87254ba419162f4b4a677520f89d34eab1a",
|
|
32094
32618
|
"sourceKind": "component_definition",
|
|
32095
32619
|
"sourceId": "praxis-table",
|
|
32096
32620
|
"corpusVersion": "1.0.0"
|
|
@@ -32098,9 +32622,9 @@
|
|
|
32098
32622
|
{
|
|
32099
32623
|
"chunkIndex": 129,
|
|
32100
32624
|
"chunkKind": "authoring_manifest",
|
|
32101
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"
|
|
32625
|
+
"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\"]}]}",
|
|
32102
32626
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32103
|
-
"contentHash": "
|
|
32627
|
+
"contentHash": "ed1f5a0639d8a0fada092bcb38edb62c540183aaa95f76e7d9620f5abc6ded95",
|
|
32104
32628
|
"sourceKind": "component_definition",
|
|
32105
32629
|
"sourceId": "praxis-table",
|
|
32106
32630
|
"corpusVersion": "1.0.0"
|
|
@@ -32108,9 +32632,9 @@
|
|
|
32108
32632
|
{
|
|
32109
32633
|
"chunkIndex": 130,
|
|
32110
32634
|
"chunkKind": "authoring_manifest",
|
|
32111
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"
|
|
32635
|
+
"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\"]}]}",
|
|
32112
32636
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32113
|
-
"contentHash": "
|
|
32637
|
+
"contentHash": "d75ad5025f2ac4911370a93aa5a352a07a21650db9502d1b33f9eea368c931a3",
|
|
32114
32638
|
"sourceKind": "component_definition",
|
|
32115
32639
|
"sourceId": "praxis-table",
|
|
32116
32640
|
"corpusVersion": "1.0.0"
|
|
@@ -32118,9 +32642,9 @@
|
|
|
32118
32642
|
{
|
|
32119
32643
|
"chunkIndex": 131,
|
|
32120
32644
|
"chunkKind": "authoring_manifest",
|
|
32121
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"2.2.5\",\"componentId\":\"praxis-table\",\"ownerPackage\":\"@praxisui/table\",\"configSchemaId\":\"TableConfig\",\"chunkSection\":\"
|
|
32645
|
+
"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\"]}]}",
|
|
32122
32646
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32123
|
-
"contentHash": "
|
|
32647
|
+
"contentHash": "f3b3a638a4608fa0fb399df8838988039d3f56c5740d2487c5312dbe4c1ffab6",
|
|
32124
32648
|
"sourceKind": "component_definition",
|
|
32125
32649
|
"sourceId": "praxis-table",
|
|
32126
32650
|
"corpusVersion": "1.0.0"
|
|
@@ -32128,6 +32652,26 @@
|
|
|
32128
32652
|
{
|
|
32129
32653
|
"chunkIndex": 132,
|
|
32130
32654
|
"chunkKind": "authoring_manifest",
|
|
32655
|
+
"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[].\"}]}",
|
|
32656
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32657
|
+
"contentHash": "e22c15d288dc6f86c2de1b9ad23109cabaa31d5a3cbe1b6dbc740d4a63059bc4",
|
|
32658
|
+
"sourceKind": "component_definition",
|
|
32659
|
+
"sourceId": "praxis-table",
|
|
32660
|
+
"corpusVersion": "1.0.0"
|
|
32661
|
+
},
|
|
32662
|
+
{
|
|
32663
|
+
"chunkIndex": 133,
|
|
32664
|
+
"chunkKind": "authoring_manifest",
|
|
32665
|
+
"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\"]}",
|
|
32666
|
+
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32667
|
+
"contentHash": "4b85eaa275d4aa592f70c576ac1728a8292d35b0d02af472841a38c2d850b8da",
|
|
32668
|
+
"sourceKind": "component_definition",
|
|
32669
|
+
"sourceId": "praxis-table",
|
|
32670
|
+
"corpusVersion": "1.0.0"
|
|
32671
|
+
},
|
|
32672
|
+
{
|
|
32673
|
+
"chunkIndex": 134,
|
|
32674
|
+
"chunkKind": "authoring_manifest",
|
|
32131
32675
|
"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}]}}",
|
|
32132
32676
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
32133
32677
|
"contentHash": "83601d222f4db5011951929006a6ce61e925dac3f11d15886aae653b6eeaa27e",
|
|
@@ -32136,7 +32680,7 @@
|
|
|
32136
32680
|
"corpusVersion": "1.0.0"
|
|
32137
32681
|
},
|
|
32138
32682
|
{
|
|
32139
|
-
"chunkIndex":
|
|
32683
|
+
"chunkIndex": 135,
|
|
32140
32684
|
"chunkKind": "authoring_manifest",
|
|
32141
32685
|
"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}]}",
|
|
32142
32686
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32146,7 +32690,7 @@
|
|
|
32146
32690
|
"corpusVersion": "1.0.0"
|
|
32147
32691
|
},
|
|
32148
32692
|
{
|
|
32149
|
-
"chunkIndex":
|
|
32693
|
+
"chunkIndex": 136,
|
|
32150
32694
|
"chunkKind": "authoring_manifest",
|
|
32151
32695
|
"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}]}",
|
|
32152
32696
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32156,7 +32700,7 @@
|
|
|
32156
32700
|
"corpusVersion": "1.0.0"
|
|
32157
32701
|
},
|
|
32158
32702
|
{
|
|
32159
|
-
"chunkIndex":
|
|
32703
|
+
"chunkIndex": 137,
|
|
32160
32704
|
"chunkKind": "authoring_manifest",
|
|
32161
32705
|
"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}]}",
|
|
32162
32706
|
"sourcePointer": "projects/praxis-table/src/lib/ai/praxis-table-authoring-manifest.ts",
|
|
@@ -32166,7 +32710,7 @@
|
|
|
32166
32710
|
"corpusVersion": "1.0.0"
|
|
32167
32711
|
},
|
|
32168
32712
|
{
|
|
32169
|
-
"chunkIndex":
|
|
32713
|
+
"chunkIndex": 138,
|
|
32170
32714
|
"chunkKind": "context_pack",
|
|
32171
32715
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext\",\"componentContext\":{\"version\":\"v1\"}}",
|
|
32172
32716
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32176,7 +32720,7 @@
|
|
|
32176
32720
|
"corpusVersion": "1.0.0"
|
|
32177
32721
|
},
|
|
32178
32722
|
{
|
|
32179
|
-
"chunkIndex":
|
|
32723
|
+
"chunkIndex": 139,
|
|
32180
32724
|
"chunkKind": "context_pack",
|
|
32181
32725
|
"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\"}]}}}}",
|
|
32182
32726
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32186,27 +32730,27 @@
|
|
|
32186
32730
|
"corpusVersion": "1.0.0"
|
|
32187
32731
|
},
|
|
32188
32732
|
{
|
|
32189
|
-
"chunkIndex":
|
|
32733
|
+
"chunkIndex": 140,
|
|
32190
32734
|
"chunkKind": "context_pack",
|
|
32191
|
-
"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.
|
|
32735
|
+
"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\"}]}}}}",
|
|
32192
32736
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
32193
|
-
"contentHash": "
|
|
32737
|
+
"contentHash": "50ddeb63bc4774c01296009aa572e592051c074af9d4baf8c6aec04a235ef29c",
|
|
32194
32738
|
"sourceKind": "component_definition",
|
|
32195
32739
|
"sourceId": "praxis-table",
|
|
32196
32740
|
"corpusVersion": "1.0.0"
|
|
32197
32741
|
},
|
|
32198
32742
|
{
|
|
32199
|
-
"chunkIndex":
|
|
32743
|
+
"chunkIndex": 141,
|
|
32200
32744
|
"chunkKind": "context_pack",
|
|
32201
|
-
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"componentContext.optionsByPath\",\"componentContext\":{\"optionsByPath\":{\"columns[].conditionalRenderers[].renderer.
|
|
32745
|
+
"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\"}]}}}}",
|
|
32202
32746
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
32203
|
-
"contentHash": "
|
|
32747
|
+
"contentHash": "4874835c9acdb7f99d3f4b9e2ce88843bd70a7d8cb29ac0d7a313570baaee975",
|
|
32204
32748
|
"sourceKind": "component_definition",
|
|
32205
32749
|
"sourceId": "praxis-table",
|
|
32206
32750
|
"corpusVersion": "1.0.0"
|
|
32207
32751
|
},
|
|
32208
32752
|
{
|
|
32209
|
-
"chunkIndex":
|
|
32753
|
+
"chunkIndex": 142,
|
|
32210
32754
|
"chunkKind": "context_pack",
|
|
32211
32755
|
"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\"}]}}}]}}]}}",
|
|
32212
32756
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32216,7 +32760,7 @@
|
|
|
32216
32760
|
"corpusVersion": "1.0.0"
|
|
32217
32761
|
},
|
|
32218
32762
|
{
|
|
32219
|
-
"chunkIndex":
|
|
32763
|
+
"chunkIndex": 143,
|
|
32220
32764
|
"chunkKind": "context_pack",
|
|
32221
32765
|
"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}}}}]}}",
|
|
32222
32766
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32226,27 +32770,27 @@
|
|
|
32226
32770
|
"corpusVersion": "1.0.0"
|
|
32227
32771
|
},
|
|
32228
32772
|
{
|
|
32229
|
-
"chunkIndex":
|
|
32773
|
+
"chunkIndex": 144,
|
|
32230
32774
|
"chunkKind": "context_pack",
|
|
32231
|
-
"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\":{\"
|
|
32775
|
+
"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}}\"}}}]}]}}]}}",
|
|
32232
32776
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
32233
|
-
"contentHash": "
|
|
32777
|
+
"contentHash": "edb791271aa264f62cb500e86b20a45c4329ba875c5c68e28297fed3d8137f85",
|
|
32234
32778
|
"sourceKind": "component_definition",
|
|
32235
32779
|
"sourceId": "praxis-table",
|
|
32236
32780
|
"corpusVersion": "1.0.0"
|
|
32237
32781
|
},
|
|
32238
32782
|
{
|
|
32239
|
-
"chunkIndex":
|
|
32783
|
+
"chunkIndex": 145,
|
|
32240
32784
|
"chunkKind": "context_pack",
|
|
32241
|
-
"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.
|
|
32785
|
+
"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.\"]}}",
|
|
32242
32786
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
32243
|
-
"contentHash": "
|
|
32787
|
+
"contentHash": "a532e4f81c0b052bfa4aa0ed1c5e395239bbe35cbde75fb5d72625fe5064cd7e",
|
|
32244
32788
|
"sourceKind": "component_definition",
|
|
32245
32789
|
"sourceId": "praxis-table",
|
|
32246
32790
|
"corpusVersion": "1.0.0"
|
|
32247
32791
|
},
|
|
32248
32792
|
{
|
|
32249
|
-
"chunkIndex":
|
|
32793
|
+
"chunkIndex": 146,
|
|
32250
32794
|
"chunkKind": "context_pack",
|
|
32251
32795
|
"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\"]}}}",
|
|
32252
32796
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32256,7 +32800,7 @@
|
|
|
32256
32800
|
"corpusVersion": "1.0.0"
|
|
32257
32801
|
},
|
|
32258
32802
|
{
|
|
32259
|
-
"chunkIndex":
|
|
32803
|
+
"chunkIndex": 147,
|
|
32260
32804
|
"chunkKind": "context_pack",
|
|
32261
32805
|
"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\\\" } }] }\"]}}}",
|
|
32262
32806
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32266,7 +32810,7 @@
|
|
|
32266
32810
|
"corpusVersion": "1.0.0"
|
|
32267
32811
|
},
|
|
32268
32812
|
{
|
|
32269
|
-
"chunkIndex":
|
|
32813
|
+
"chunkIndex": 148,
|
|
32270
32814
|
"chunkKind": "context_pack",
|
|
32271
32815
|
"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 } } }\"]}}}",
|
|
32272
32816
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32276,7 +32820,7 @@
|
|
|
32276
32820
|
"corpusVersion": "1.0.0"
|
|
32277
32821
|
},
|
|
32278
32822
|
{
|
|
32279
|
-
"chunkIndex":
|
|
32823
|
+
"chunkIndex": 149,
|
|
32280
32824
|
"chunkKind": "context_pack",
|
|
32281
32825
|
"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\\\" } } }\"]}}}",
|
|
32282
32826
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32286,7 +32830,7 @@
|
|
|
32286
32830
|
"corpusVersion": "1.0.0"
|
|
32287
32831
|
},
|
|
32288
32832
|
{
|
|
32289
|
-
"chunkIndex":
|
|
32833
|
+
"chunkIndex": 150,
|
|
32290
32834
|
"chunkKind": "context_pack",
|
|
32291
32835
|
"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 } }\"]}}}",
|
|
32292
32836
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32296,7 +32840,7 @@
|
|
|
32296
32840
|
"corpusVersion": "1.0.0"
|
|
32297
32841
|
},
|
|
32298
32842
|
{
|
|
32299
|
-
"chunkIndex":
|
|
32843
|
+
"chunkIndex": 151,
|
|
32300
32844
|
"chunkKind": "context_pack",
|
|
32301
32845
|
"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\\\" } }\"]}}}",
|
|
32302
32846
|
"sourcePointer": "projects/praxis-table/src/lib/ai/table-context-pack.ts",
|
|
@@ -32306,7 +32850,7 @@
|
|
|
32306
32850
|
"corpusVersion": "1.0.0"
|
|
32307
32851
|
},
|
|
32308
32852
|
{
|
|
32309
|
-
"chunkIndex":
|
|
32853
|
+
"chunkIndex": 152,
|
|
32310
32854
|
"chunkKind": "recipe",
|
|
32311
32855
|
"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\"}}}}}",
|
|
32312
32856
|
"sourcePointer": "examples/ai-recipes/praxis-table.actions.json",
|
|
@@ -32316,7 +32860,7 @@
|
|
|
32316
32860
|
"corpusVersion": "1.0.0"
|
|
32317
32861
|
},
|
|
32318
32862
|
{
|
|
32319
|
-
"chunkIndex":
|
|
32863
|
+
"chunkIndex": 153,
|
|
32320
32864
|
"chunkKind": "recipe",
|
|
32321
32865
|
"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\"]}}}",
|
|
32322
32866
|
"sourcePointer": "examples/ai-recipes/praxis-table.behavior.json",
|
|
@@ -32326,7 +32870,7 @@
|
|
|
32326
32870
|
"corpusVersion": "1.0.0"
|
|
32327
32871
|
},
|
|
32328
32872
|
{
|
|
32329
|
-
"chunkIndex":
|
|
32873
|
+
"chunkIndex": 154,
|
|
32330
32874
|
"chunkKind": "recipe",
|
|
32331
32875
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_comment\",\"_comment\":\"Variant focused on columns and renderers for Praxis Table.\"}",
|
|
32332
32876
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -32336,7 +32880,7 @@
|
|
|
32336
32880
|
"corpusVersion": "1.0.0"
|
|
32337
32881
|
},
|
|
32338
32882
|
{
|
|
32339
|
-
"chunkIndex":
|
|
32883
|
+
"chunkIndex": 155,
|
|
32340
32884
|
"chunkKind": "recipe",
|
|
32341
32885
|
"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\"]}}",
|
|
32342
32886
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -32346,7 +32890,7 @@
|
|
|
32346
32890
|
"corpusVersion": "1.0.0"
|
|
32347
32891
|
},
|
|
32348
32892
|
{
|
|
32349
|
-
"chunkIndex":
|
|
32893
|
+
"chunkIndex": 156,
|
|
32350
32894
|
"chunkKind": "recipe",
|
|
32351
32895
|
"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\"}}}",
|
|
32352
32896
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -32356,7 +32900,7 @@
|
|
|
32356
32900
|
"corpusVersion": "1.0.0"
|
|
32357
32901
|
},
|
|
32358
32902
|
{
|
|
32359
|
-
"chunkIndex":
|
|
32903
|
+
"chunkIndex": 157,
|
|
32360
32904
|
"chunkKind": "recipe",
|
|
32361
32905
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"columns\",\"columns\":[{\"field\":\"id\",\"header\":\"ID\",\"type\":\"string\",\"width\":\"80px\",\"visible\":true,\"sortable\":true,\"filterable\":true,\"resizable\":true,\"sticky\":\"start\",\"align\":\"left\",\"order\":0,\"sortField\":\"id\",\"style\":\"font-weight: 600;\",\"headerStyle\":\"text-transform: uppercase;\",\"cssClass\":\"col-id\",\"headerCssClass\":\"col-id-header\"},{\"field\":\"createdAt\",\"header\":\"Created At\",\"type\":\"date\",\"width\":\"160px\",\"sortable\":true,\"filterable\":true,\"align\":\"left\",\"order\":1,\"format\":\"yyyy-MM-dd HH:mm\"},{\"field\":\"status\",\"header\":\"Status\",\"type\":\"string\",\"sortable\":true,\"filterable\":true,\"valueMapping\":{\"ACTIVE\":\"Active\",\"INACTIVE\":\"Inactive\",\"PENDING\":\"Pending\"},\"renderer\":{\"typeExpr\":{\"expr\":\"statusRenderer\"},\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"statusLabel\",\"color\":\"success\",\"variant\":\"filled\",\"icon\":\"check\"}},\"conditionalRenderers\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"PENDING\"]},\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Pending\",\"textField\":\"statusLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"hourglass_empty\"}},\"description\":\"Pending state\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"renderer\":{\"type\":\"badge\",\"badge\":{\"text\":\"Inactive\",\"textField\":\"statusLabel\",\"color\":\"warn\",\"variant\":\"soft\",\"icon\":\"block\"}},\"description\":\"Inactive state\",\"enabled\":true},{\"condition\":{\"!!\":[{\"var\":\"avatarUrl\"}]},\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-conditional.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":28,\"backgroundColor\":\"#D32F2F\",\"textColor\":\"#FFFFFF\"}},\"description\":\"Avatar override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"progressPercent\"},null]},\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},\"description\":\"Progress override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"rating\"},null]},\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Status rating\",\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\"}},\"description\":\"Rating override\",\"enabled\":true},{\"condition\":{\"!=\":[{\"var\":\"isActive\"},null]},\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"isActive\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle status\",\"action\":{\"id\":\"toggle-status\",\"payloadExpr\":\"{ id: id, active: !isActive }\"}}},\"description\":\"Toggle override\",\"enabled\":true},{\"condition\":{\"==\":[{\"var\":\"status\"},\"COMPOSED\"]},\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\"}},{\"type\":\"chip\",\"chip\":{\"textField\":\"statusLabel\",\"color\":\"accent\"}}],\"layout\":{\"direction\":\"row\",\"gap\":6}}},\"description\":\"Compose override\",\"enabled\":true}],\"conditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"status\"},\"INACTIVE\"]},\"cssClass\":\"status-inactive\",\"style\":{\"color\":\"#d32f2f\",\"fontWeight\":\"600\"},\"description\":\"Inactive style\"}],\"_styleRulesState\":{\"version\":1,\"rules\":[\"status\"]},\"_originalApiType\":\"string\",\"_isApiField\":true},{\"field\":\"priority\",\"header\":\"Priority\",\"type\":\"string\",\"renderer\":{\"type\":\"chip\",\"chip\":{\"text\":\"Priority\",\"textField\":\"priorityLabel\",\"color\":\"warn\",\"icon\":\"priority_high\",\"variant\":\"filled\"}}},{\"field\":\"amount\",\"header\":\"Amount\",\"type\":\"currency\",\"width\":\"120px\",\"align\":\"right\",\"sortable\":true,\"filterable\":true,\"format\":\"USD|symbol|2\"},{\"field\":\"discountRate\",\"header\":\"Discount\",\"type\":\"percentage\",\"width\":\"110px\",\"align\":\"right\",\"format\":\"1.2-2\"},{\"field\":\"score\",\"header\":\"Score\",\"type\":\"number\",\"align\":\"right\",\"format\":\"1.0-0\",\"_generatedValueGetter\":\"score = weight * value\",\"_originalApiType\":\"decimal\",\"_isApiField\":false},{\"field\":\"profile\",\"header\":\"Profile\",\"type\":\"custom\",\"renderer\":{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":32,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}}},{\"field\":\"progress\",\"header\":\"Progress\",\"type\":\"number\",\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"primary\",\"showLabel\":true}}},{\"field\":\"rating\",\"header\":\"Rating\",\"type\":\"number\",\"renderer\":{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"ariaLabel\":\"Rating\",\"readonly\":true}}},{\"field\":\"active\",\"header\":\"Active\",\"type\":\"boolean\",\"renderer\":{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"ariaLabel\":\"Toggle active\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}}},{\"field\":\"profileLink\",\"header\":\"Profile Link\",\"type\":\"string\",\"renderer\":{\"type\":\"link\",\"link\":{\"text\":\"View profile\",\"textField\":\"name\",\"href\":\"https://example.com/profile\",\"hrefField\":\"profileUrl\",\"target\":\"_blank\",\"rel\":\"noopener\"}}},{\"field\":\"thumbnail\",\"header\":\"Thumb\",\"type\":\"custom\",\"renderer\":{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":32,\"height\":32,\"shape\":\"rounded\",\"fit\":\"cover\",\"lazy\":true}}},{\"field\":\"statusIcon\",\"header\":\"Status Icon\",\"type\":\"custom\",\"renderer\":{\"type\":\"icon\",\"icon\":{\"name\":\"check_circle\",\"nameField\":\"statusIcon\",\"color\":\"success\",\"size\":18,\"ariaLabel\":\"Status icon\"}}},{\"field\":\"actionButton\",\"header\":\"Action\",\"type\":\"custom\",\"renderer\":{\"type\":\"button\",\"button\":{\"label\":\"Edit\",\"labelField\":\"editLabel\",\"icon\":\"edit\",\"color\":\"primary\",\"variant\":\"outlined\",\"size\":\"sm\",\"ariaLabel\":\"Edit row\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"edit-row\",\"payloadExpr\":\"{ id: id }\"}}}},{\"field\":\"menuActions\",\"header\":\"Menu\",\"type\":\"custom\",\"renderer\":{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Row menu\"}}},{\"field\":\"notes\",\"header\":\"Notes\",\"type\":\"string\",\"renderer\":{\"type\":\"html\",\"html\":{\"template\":\"<strong>[[notes]]</strong>\",\"sanitize\":\"strict\",\"emptyFallback\":\"None\"}}},{\"field\":\"composed\",\"header\":\"Composed\",\"type\":\"custom\",\"renderer\":{\"type\":\"compose\",\"compose\":{\"items\":[{\"type\":\"icon\",\"icon\":{\"name\":\"info\",\"nameField\":\"iconName\",\"color\":\"primary\",\"size\":16,\"ariaLabel\":\"Info\"}},{\"type\":\"image\",\"image\":{\"src\":\"https://example.com/thumb.png\",\"srcField\":\"thumbnailUrl\",\"alt\":\"Thumbnail\",\"altField\":\"name\",\"width\":20,\"height\":20,\"shape\":\"circle\",\"fit\":\"cover\",\"lazy\":true}},{\"type\":\"badge\",\"badge\":{\"text\":\"Status\",\"textField\":\"status\",\"color\":\"info\",\"variant\":\"soft\",\"icon\":\"info\"}},{\"type\":\"link\",\"link\":{\"text\":\"Details\",\"textField\":\"detailLabel\",\"href\":\"https://example.com/orders\",\"hrefField\":\"detailUrl\",\"target\":\"_self\",\"rel\":\"noopener\"}},{\"type\":\"button\",\"button\":{\"label\":\"Open\",\"labelField\":\"actionLabel\",\"icon\":\"open_in_new\",\"color\":\"primary\",\"variant\":\"text\",\"size\":\"sm\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"open-detail\",\"payloadExpr\":\"{ id: id }\"}}},{\"type\":\"chip\",\"chip\":{\"text\":\"Tag\",\"textField\":\"tagLabel\",\"color\":\"accent\",\"variant\":\"outlined\",\"icon\":\"label\"}},{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"progressPercent\",\"color\":\"accent\",\"showLabel\":false}},{\"type\":\"avatar\",\"avatar\":{\"src\":\"https://example.com/avatar-mini.png\",\"srcField\":\"avatarUrl\",\"alt\":\"Avatar\",\"altField\":\"name\",\"initialsField\":\"name\",\"shape\":\"circle\",\"size\":24,\"backgroundColor\":\"#E3F2FD\",\"textColor\":\"#0D47A1\"}},{\"type\":\"toggle\",\"toggle\":{\"stateExpr\":\"active\",\"disabledCondition\":\"locked == true\",\"action\":{\"id\":\"toggle-active\",\"payloadExpr\":\"{ id: id, active: !active }\"}}},{\"type\":\"menu\",\"menu\":{\"itemsExpr\":\"menuItems\",\"ariaLabel\":\"Inline menu\"}},{\"type\":\"rating\",\"rating\":{\"valueExpr\":\"rating\",\"max\":5,\"color\":\"gold\",\"outlineColor\":\"#bdbdbd\",\"size\":\"small\",\"readonly\":true,\"ariaLabel\":\"Rating\"}},{\"type\":\"html\",\"html\":{\"template\":\"<em>[[tagline]]</em>\",\"sanitize\":\"basic\",\"emptyFallback\":\"-\"}}],\"layout\":{\"direction\":\"row\",\"gap\":8,\"align\":\"center\",\"wrap\":true,\"ellipsis\":true}}}},{\"field\":\"internalCode\",\"header\":\"Internal Code\",\"type\":\"string\",\"visible\":false}]}",
|
|
32362
32906
|
"sourcePointer": "examples/ai-recipes/praxis-table.columns.json",
|
|
@@ -32366,7 +32910,7 @@
|
|
|
32366
32910
|
"corpusVersion": "1.0.0"
|
|
32367
32911
|
},
|
|
32368
32912
|
{
|
|
32369
|
-
"chunkIndex":
|
|
32913
|
+
"chunkIndex": 158,
|
|
32370
32914
|
"chunkKind": "recipe",
|
|
32371
32915
|
"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\"}]}",
|
|
32372
32916
|
"sourcePointer": "examples/ai-recipes/praxis-table.computed.json",
|
|
@@ -32376,7 +32920,7 @@
|
|
|
32376
32920
|
"corpusVersion": "1.0.0"
|
|
32377
32921
|
},
|
|
32378
32922
|
{
|
|
32379
|
-
"chunkIndex":
|
|
32923
|
+
"chunkIndex": 159,
|
|
32380
32924
|
"chunkKind": "recipe",
|
|
32381
32925
|
"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\"}]}",
|
|
32382
32926
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-currency.json",
|
|
@@ -32386,7 +32930,7 @@
|
|
|
32386
32930
|
"corpusVersion": "1.0.0"
|
|
32387
32931
|
},
|
|
32388
32932
|
{
|
|
32389
|
-
"chunkIndex":
|
|
32933
|
+
"chunkIndex": 160,
|
|
32390
32934
|
"chunkKind": "recipe",
|
|
32391
32935
|
"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\"}]}",
|
|
32392
32936
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-date.json",
|
|
@@ -32396,7 +32940,7 @@
|
|
|
32396
32940
|
"corpusVersion": "1.0.0"
|
|
32397
32941
|
},
|
|
32398
32942
|
{
|
|
32399
|
-
"chunkIndex":
|
|
32943
|
+
"chunkIndex": 161,
|
|
32400
32944
|
"chunkKind": "recipe",
|
|
32401
32945
|
"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\"}]}",
|
|
32402
32946
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-number.json",
|
|
@@ -32406,7 +32950,7 @@
|
|
|
32406
32950
|
"corpusVersion": "1.0.0"
|
|
32407
32951
|
},
|
|
32408
32952
|
{
|
|
32409
|
-
"chunkIndex":
|
|
32953
|
+
"chunkIndex": 162,
|
|
32410
32954
|
"chunkKind": "recipe",
|
|
32411
32955
|
"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\"}]}",
|
|
32412
32956
|
"sourcePointer": "examples/ai-recipes/praxis-table.format-percentage.json",
|
|
@@ -32416,7 +32960,7 @@
|
|
|
32416
32960
|
"corpusVersion": "1.0.0"
|
|
32417
32961
|
},
|
|
32418
32962
|
{
|
|
32419
|
-
"chunkIndex":
|
|
32963
|
+
"chunkIndex": 163,
|
|
32420
32964
|
"chunkKind": "recipe",
|
|
32421
32965
|
"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\"]}]}}",
|
|
32422
32966
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32426,7 +32970,7 @@
|
|
|
32426
32970
|
"corpusVersion": "1.0.0"
|
|
32427
32971
|
},
|
|
32428
32972
|
{
|
|
32429
|
-
"chunkIndex":
|
|
32973
|
+
"chunkIndex": 164,
|
|
32430
32974
|
"chunkKind": "recipe",
|
|
32431
32975
|
"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\"}}}",
|
|
32432
32976
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32436,7 +32980,7 @@
|
|
|
32436
32980
|
"corpusVersion": "1.0.0"
|
|
32437
32981
|
},
|
|
32438
32982
|
{
|
|
32439
|
-
"chunkIndex":
|
|
32983
|
+
"chunkIndex": 165,
|
|
32440
32984
|
"chunkKind": "recipe",
|
|
32441
32985
|
"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\"}}}]}",
|
|
32442
32986
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32446,7 +32990,7 @@
|
|
|
32446
32990
|
"corpusVersion": "1.0.0"
|
|
32447
32991
|
},
|
|
32448
32992
|
{
|
|
32449
|
-
"chunkIndex":
|
|
32993
|
+
"chunkIndex": 166,
|
|
32450
32994
|
"chunkKind": "recipe",
|
|
32451
32995
|
"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}]}",
|
|
32452
32996
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32456,7 +33000,7 @@
|
|
|
32456
33000
|
"corpusVersion": "1.0.0"
|
|
32457
33001
|
},
|
|
32458
33002
|
{
|
|
32459
|
-
"chunkIndex":
|
|
33003
|
+
"chunkIndex": 167,
|
|
32460
33004
|
"chunkKind": "recipe",
|
|
32461
33005
|
"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\"]}}}",
|
|
32462
33006
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32466,7 +33010,7 @@
|
|
|
32466
33010
|
"corpusVersion": "1.0.0"
|
|
32467
33011
|
},
|
|
32468
33012
|
{
|
|
32469
|
-
"chunkIndex":
|
|
33013
|
+
"chunkIndex": 168,
|
|
32470
33014
|
"chunkKind": "recipe",
|
|
32471
33015
|
"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}}}",
|
|
32472
33016
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32476,7 +33020,7 @@
|
|
|
32476
33020
|
"corpusVersion": "1.0.0"
|
|
32477
33021
|
},
|
|
32478
33022
|
{
|
|
32479
|
-
"chunkIndex":
|
|
33023
|
+
"chunkIndex": 169,
|
|
32480
33024
|
"chunkKind": "recipe",
|
|
32481
33025
|
"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\"}]}}}",
|
|
32482
33026
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32486,7 +33030,7 @@
|
|
|
32486
33030
|
"corpusVersion": "1.0.0"
|
|
32487
33031
|
},
|
|
32488
33032
|
{
|
|
32489
|
-
"chunkIndex":
|
|
33033
|
+
"chunkIndex": 170,
|
|
32490
33034
|
"chunkKind": "recipe",
|
|
32491
33035
|
"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\"}}}}}",
|
|
32492
33036
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32496,7 +33040,7 @@
|
|
|
32496
33040
|
"corpusVersion": "1.0.0"
|
|
32497
33041
|
},
|
|
32498
33042
|
{
|
|
32499
|
-
"chunkIndex":
|
|
33043
|
+
"chunkIndex": 171,
|
|
32500
33044
|
"chunkKind": "recipe",
|
|
32501
33045
|
"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}]}}",
|
|
32502
33046
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32506,7 +33050,7 @@
|
|
|
32506
33050
|
"corpusVersion": "1.0.0"
|
|
32507
33051
|
},
|
|
32508
33052
|
{
|
|
32509
|
-
"chunkIndex":
|
|
33053
|
+
"chunkIndex": 172,
|
|
32510
33054
|
"chunkKind": "recipe",
|
|
32511
33055
|
"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))\"}]}}",
|
|
32512
33056
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32516,7 +33060,7 @@
|
|
|
32516
33060
|
"corpusVersion": "1.0.0"
|
|
32517
33061
|
},
|
|
32518
33062
|
{
|
|
32519
|
-
"chunkIndex":
|
|
33063
|
+
"chunkIndex": 173,
|
|
32520
33064
|
"chunkKind": "recipe",
|
|
32521
33065
|
"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\"}}}}}",
|
|
32522
33066
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32526,7 +33070,7 @@
|
|
|
32526
33070
|
"corpusVersion": "1.0.0"
|
|
32527
33071
|
},
|
|
32528
33072
|
{
|
|
32529
|
-
"chunkIndex":
|
|
33073
|
+
"chunkIndex": 174,
|
|
32530
33074
|
"chunkKind": "recipe",
|
|
32531
33075
|
"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}}}",
|
|
32532
33076
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32536,7 +33080,7 @@
|
|
|
32536
33080
|
"corpusVersion": "1.0.0"
|
|
32537
33081
|
},
|
|
32538
33082
|
{
|
|
32539
|
-
"chunkIndex":
|
|
33083
|
+
"chunkIndex": 175,
|
|
32540
33084
|
"chunkKind": "recipe",
|
|
32541
33085
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"theme\",\"theme\":{\"primary\":\"#1976d2\",\"secondary\":\"#ff9800\",\"darkMode\":false,\"custom\":{\"borderRadius\":\"8px\"},\"cssVariables\":{\"--table-row-hover\":\"#eef3ff\"}}}",
|
|
32542
33086
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32546,7 +33090,7 @@
|
|
|
32546
33090
|
"corpusVersion": "1.0.0"
|
|
32547
33091
|
},
|
|
32548
33092
|
{
|
|
32549
|
-
"chunkIndex":
|
|
33093
|
+
"chunkIndex": 176,
|
|
32550
33094
|
"chunkKind": "recipe",
|
|
32551
33095
|
"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}}}",
|
|
32552
33096
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32556,7 +33100,7 @@
|
|
|
32556
33100
|
"corpusVersion": "1.0.0"
|
|
32557
33101
|
},
|
|
32558
33102
|
{
|
|
32559
|
-
"chunkIndex":
|
|
33103
|
+
"chunkIndex": 177,
|
|
32560
33104
|
"chunkKind": "recipe",
|
|
32561
33105
|
"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\"}}]}",
|
|
32562
33106
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32566,7 +33110,7 @@
|
|
|
32566
33110
|
"corpusVersion": "1.0.0"
|
|
32567
33111
|
},
|
|
32568
33112
|
{
|
|
32569
|
-
"chunkIndex":
|
|
33113
|
+
"chunkIndex": 178,
|
|
32570
33114
|
"chunkKind": "recipe",
|
|
32571
33115
|
"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\"}}}",
|
|
32572
33116
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32576,7 +33120,7 @@
|
|
|
32576
33120
|
"corpusVersion": "1.0.0"
|
|
32577
33121
|
},
|
|
32578
33122
|
{
|
|
32579
|
-
"chunkIndex":
|
|
33123
|
+
"chunkIndex": 179,
|
|
32580
33124
|
"chunkKind": "recipe",
|
|
32581
33125
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"rowConditionalStyles\",\"rowConditionalStyles\":[{\"condition\":{\"==\":[{\"var\":\"priority\"},\"HIGH\"]},\"cssClass\":\"row-priority-high\",\"style\":{\"backgroundColor\":\"#fff8e1\"},\"description\":\"Highlight high priority rows\"}]}",
|
|
32582
33126
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32586,7 +33130,7 @@
|
|
|
32586
33130
|
"corpusVersion": "1.0.0"
|
|
32587
33131
|
},
|
|
32588
33132
|
{
|
|
32589
|
-
"chunkIndex":
|
|
33133
|
+
"chunkIndex": 180,
|
|
32590
33134
|
"chunkKind": "recipe",
|
|
32591
33135
|
"content": "{\"componentId\":\"praxis-table\",\"chunkSection\":\"_rowStyleRulesState\",\"_rowStyleRulesState\":{\"version\":1,\"rules\":[\"priority\"]}}",
|
|
32592
33136
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32596,7 +33140,7 @@
|
|
|
32596
33140
|
"corpusVersion": "1.0.0"
|
|
32597
33141
|
},
|
|
32598
33142
|
{
|
|
32599
|
-
"chunkIndex":
|
|
33143
|
+
"chunkIndex": 181,
|
|
32600
33144
|
"chunkKind": "recipe",
|
|
32601
33145
|
"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\"]}}}}]}",
|
|
32602
33146
|
"sourcePointer": "examples/ai-recipes/praxis-table.json",
|
|
@@ -32606,7 +33150,7 @@
|
|
|
32606
33150
|
"corpusVersion": "1.0.0"
|
|
32607
33151
|
},
|
|
32608
33152
|
{
|
|
32609
|
-
"chunkIndex":
|
|
33153
|
+
"chunkIndex": 182,
|
|
32610
33154
|
"chunkKind": "recipe",
|
|
32611
33155
|
"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}]}]}",
|
|
32612
33156
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-badge.json",
|
|
@@ -32616,7 +33160,7 @@
|
|
|
32616
33160
|
"corpusVersion": "1.0.0"
|
|
32617
33161
|
},
|
|
32618
33162
|
{
|
|
32619
|
-
"chunkIndex":
|
|
33163
|
+
"chunkIndex": 183,
|
|
32620
33164
|
"chunkKind": "recipe",
|
|
32621
33165
|
"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}]}]}",
|
|
32622
33166
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-icon.json",
|
|
@@ -32626,7 +33170,7 @@
|
|
|
32626
33170
|
"corpusVersion": "1.0.0"
|
|
32627
33171
|
},
|
|
32628
33172
|
{
|
|
32629
|
-
"chunkIndex":
|
|
33173
|
+
"chunkIndex": 184,
|
|
32630
33174
|
"chunkKind": "recipe",
|
|
32631
33175
|
"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}}}]}",
|
|
32632
33176
|
"sourcePointer": "examples/ai-recipes/praxis-table.renderer-progress.json",
|
|
@@ -32636,7 +33180,7 @@
|
|
|
32636
33180
|
"corpusVersion": "1.0.0"
|
|
32637
33181
|
},
|
|
32638
33182
|
{
|
|
32639
|
-
"chunkIndex":
|
|
33183
|
+
"chunkIndex": 185,
|
|
32640
33184
|
"chunkKind": "recipe",
|
|
32641
33185
|
"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}]}",
|
|
32642
33186
|
"sourcePointer": "examples/ai-recipes/praxis-table.style-conditional.json",
|
|
@@ -32646,7 +33190,7 @@
|
|
|
32646
33190
|
"corpusVersion": "1.0.0"
|
|
32647
33191
|
},
|
|
32648
33192
|
{
|
|
32649
|
-
"chunkIndex":
|
|
33193
|
+
"chunkIndex": 186,
|
|
32650
33194
|
"chunkKind": "recipe",
|
|
32651
33195
|
"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\"}]}}}",
|
|
32652
33196
|
"sourcePointer": "examples/ai-recipes/praxis-table.toolbar.json",
|