@praxisui/core 9.0.66 → 9.0.67
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 +67 -34
- package/ai/component-registry.json +10 -9
- package/fesm2022/praxisui-core.mjs +1065 -462
- package/package.json +1 -1
- package/theme-bridge.css +9 -0
- package/types/praxisui-core.d.ts +255 -34
package/README.md
CHANGED
|
@@ -4,8 +4,38 @@ Shared contracts, tokens, services, metadata models, widget runtime primitives,
|
|
|
4
4
|
|
|
5
5
|
Use this package directly when a host application or library needs Praxis UI types, global actions, metadata registries, schema clients, resource discovery, i18n, theme bridge, dynamic widget contracts, or shared runtime services.
|
|
6
6
|
|
|
7
|
+
## Governed color palettes
|
|
8
|
+
|
|
9
|
+
`materializeGovernedPaletteEntries(palette, purposes)` returns `MaterializedGovernedColorToken[]`, pairing each original `entry` with its resolved `color`. It preserves distinct token IDs even when CSS references/colors match, applies purpose filtering, and resolves fallback dependencies against the complete palette. Use this projection for identified swatches; do not zip color arrays to entries or infer identity from color equality. `materializeGovernedPaletteColors` remains the string-only projection of the same resolver.
|
|
10
|
+
|
|
11
|
+
`GovernedColorPaletteService` is the canonical Angular client for color-palette projections published by Praxis Config. Published palettes carry a stable `familyKey`, an explicit `variant` identity and token-level `displayName`/`aliases`; incomplete legacy projections are rejected before caching. The service supports list/read/capabilities/preview, exact `list(familyKey)` queries, tenant/environment-isolated caching, conditional ETag revalidation and deterministic `version`/`etag` pins. Consumers may use names and aliases for presentation and discovery only: `paletteKey` and `tokenId` remain the persisted identities, and local metadata must not become a second source of governance. `GovernedColorTokenSelection` carries the exact palette/version/ETag/token observation beside the existing CSS-string field value; applications persist it only through an explicit domain field or mapping.
|
|
12
|
+
|
|
7
13
|
## LLM Recommendation Guide
|
|
8
14
|
|
|
15
|
+
- `WidgetShellConfig.stickyHeader: true` retains the existing composition-derived
|
|
16
|
+
header within its widget during page scrolling. Omission/false keeps normal flow.
|
|
17
|
+
This differs from `bodyLayout: 'scroll'`, which governs body scrolling. No second
|
|
18
|
+
selection state, cloned header or page geometry is persisted.
|
|
19
|
+
- Hosts with fixed chrome may set `--pdx-shell-sticky-header-offset` (CSS length,
|
|
20
|
+
default `0px`). Measure responsive chrome; do not assume a desktop-only height.
|
|
21
|
+
The lab uses a lifecycle-owned ResizeObserver for its functional heading.
|
|
22
|
+
- Pinning releases at the widget boundary and is suspended during drag authoring,
|
|
23
|
+
collapse, hidden/disabled headers, expanded/fullscreen windows and scroll recovery.
|
|
24
|
+
This is not a global selected-record bar. Transparent/gradient header appearances
|
|
25
|
+
are painted over an opaque Material surface so data does not bleed through.
|
|
26
|
+
Keyboard focus is revealed below pinned chrome without changing its target.
|
|
27
|
+
- Nested sticky shells add the measured height of sticky ancestor headers in the
|
|
28
|
+
same scrollport. This is transient geometry, not a saved offset or another
|
|
29
|
+
selection context. The stack stops at an independent scrolling container;
|
|
30
|
+
hidden/inactive headers cease contributing. Ancestor resize observation is
|
|
31
|
+
disconnected on destruction. Body scrolling/fill and window-layout rules apply
|
|
32
|
+
to the owning shell's direct body, not to every nested widget body.
|
|
33
|
+
- An invisible shell (`kind: 'none'`) removes padding only from its own body.
|
|
34
|
+
Nested dashboard shells retain their authored body spacing. Hiding a header
|
|
35
|
+
with `showHeader: false` does not hide child headers or reset child spacing.
|
|
36
|
+
- The Page Builder shell editor exposes the option. Existing saved layouts are
|
|
37
|
+
preserved; changing the source recipe does not silently migrate saved pages.
|
|
38
|
+
|
|
9
39
|
- Coordinated manual resize: an unambiguous edge collision yields space from the
|
|
10
40
|
affected neighbors, preserving their opposite edges and respecting `minColSpan`,
|
|
11
41
|
`minRowSpan`, `lockSize` and `lockPosition`. It does not swap widgets or push a
|
|
@@ -18,9 +48,9 @@ Use this package directly when a host application or library needs Praxis UI typ
|
|
|
18
48
|
discards the entire preview. Feedback is transient, never serialized.
|
|
19
49
|
Author useful content-specific minimums and device overrides: the grid default of
|
|
20
50
|
one unit is a geometric limit, not a guarantee of readable enterprise content.
|
|
21
|
-
`autoRows: 'content'`
|
|
22
|
-
|
|
23
|
-
|
|
51
|
+
`autoRows: 'content'` measures content-driven tracks and uses independent pixel
|
|
52
|
+
`contentSize` for vertical resizing; `rowSpan` remains at least one. Resizing does not
|
|
53
|
+
imply automatic packing or moving unrelated widgets to a new row.
|
|
24
54
|
|
|
25
55
|
- Widget Shell sizing: the shell includes its border inside the height reserved by its
|
|
26
56
|
host (`border-box`). Consumers do not need a global CSS reset to prevent a 2px overflow.
|
|
@@ -29,37 +59,34 @@ Use this package directly when a host application or library needs Praxis UI typ
|
|
|
29
59
|
CSS Grid reflow, not automatic compaction of authored fixed coordinates.
|
|
30
60
|
|
|
31
61
|
- Dynamic Page resize presentation: selecting an unlocked widget in an editable grid
|
|
32
|
-
exposes eight
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
grid reflow or separate gesture state is introduced. Ending/cancelling restores the panel;
|
|
61
|
-
Escape cancels and closes it. This reduces obstruction during the gesture, not while choosing
|
|
62
|
-
a direction before it. Physical-touch ergonomics remain a separate validation gate.
|
|
62
|
+
exposes eight edge/corner grips with 24px targets, themed focus and localized names.
|
|
63
|
+
The widget wrapper is keyboard focusable: focus selects it, Tab reaches its controls,
|
|
64
|
+
arrow keys resize, and Escape from a grip returns focus to the wrapper. Selection alone
|
|
65
|
+
does not change the document. Header drag remains the reorder entrypoint.
|
|
66
|
+
|
|
67
|
+
**More actions → Size…** offers width in grid columns and height in rows (fixed grid)
|
|
68
|
+
or pixels (content rows). An optional fixed-corner choice preserves the opposite edges.
|
|
69
|
+
Valid changes preview the same constrained distribution as the grips; Apply commits once,
|
|
70
|
+
Cancel/Escape discard the preview and restore widget focus. Out-of-range or blocked sizes
|
|
71
|
+
disable Apply rather than silently changing the requested numbers. The dialog identifies
|
|
72
|
+
whether the edit targets the base layout or a device override. Opening it preserves
|
|
73
|
+
automatic height; changing only width does not create a fixed height.
|
|
74
|
+
|
|
75
|
+
This menu is available with canvas authoring permission, including headerless widgets
|
|
76
|
+
and hosts that disable removal or shell configuration. Size-locked widgets disable it.
|
|
77
|
+
There is no dedicated Resize widget icon, global selector or detached directional panel.
|
|
78
|
+
The size action is transient and never persisted in page JSON. Shell actions can explicitly
|
|
79
|
+
use `placement: 'menu'` to stay in More actions even when header slots are free; the shell
|
|
80
|
+
editor and capability catalog share that value. Existing header/window placements retain
|
|
81
|
+
their behavior. All sizing reuses canonical canvas items, constraints and device targeting.
|
|
82
|
+
The editor offers exact grid-width presets (⅓, ½, ⅔, 100%) when the column count
|
|
83
|
+
can represent them without rounding. They change the width draft, preserve the fixed
|
|
84
|
+
corner and require Apply; an unavailable full width is rejected, never silently clamped.
|
|
85
|
+
After a committed resize, reopen Size… on that widget to undo the last resize in this
|
|
86
|
+
session, including yielded neighbors. Recovery restores prior device inheritance and
|
|
87
|
+
keeps unrelated content edits. It refuses changed affected geometry/limits, new collisions,
|
|
88
|
+
a different device scope or page identity. This is one-operation recovery, not a general
|
|
89
|
+
history or redo stack. Double-click shortcuts remain a usability-study hypothesis.
|
|
63
90
|
|
|
64
91
|
- Dynamic Page gesture note: drag/resize previews belong to one primary pointer at a time.
|
|
65
92
|
Secondary buttons, non-primary touches and additional pointers do not replace an active
|
|
@@ -537,3 +564,9 @@ Action-bearing components must use the semantic `--praxis-action-control-*` vari
|
|
|
537
564
|
- Do not use consuming apps to redefine contracts owned by core, metadata starter, config starter, or a component package.
|
|
538
565
|
- Prefer `composition.links` for page wiring and `valuePresentation` for scalar display semantics.
|
|
539
566
|
- Use the official documentation for full recipes on schema flow, option sources, analytics, global actions, dynamic pages, and governed AI flows.
|
|
567
|
+
|
|
568
|
+
### Catálogo no quick connect e isolamento do editor de página
|
|
569
|
+
|
|
570
|
+
`ResourceQuickConnectComponent` apresenta recursos publicados em `/schemas/catalog` usando o seletor `pdx-material-select` registrado em `ComponentMetadataRegistry`. O host deve registrar os descritores oficiais de DynamicFields. O controle é inicializado pelo protocolo `setInputMetadata` e ControlValueAccessor; Core não importa a biblioteca de campos. A conexão avançada por rota continua disponível.
|
|
571
|
+
|
|
572
|
+
O editor de configurações da página recebe uma cópia da definição autoral. Dados carregados e entradas transitórias dos widgets não devem virar configuração ao alterar o layout.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"generatedAt": "2026-09-07T00:54:55.301Z",
|
|
4
4
|
"packageName": "@praxisui/core",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.67",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 4,
|
|
@@ -1535,7 +1535,8 @@
|
|
|
1535
1535
|
"valueKind": "enum",
|
|
1536
1536
|
"allowedValues": [
|
|
1537
1537
|
"header",
|
|
1538
|
-
"window"
|
|
1538
|
+
"window",
|
|
1539
|
+
"menu"
|
|
1539
1540
|
],
|
|
1540
1541
|
"description": "Posicionamento da ação."
|
|
1541
1542
|
},
|
|
@@ -4264,9 +4265,9 @@
|
|
|
4264
4265
|
{
|
|
4265
4266
|
"chunkIndex": 124,
|
|
4266
4267
|
"chunkKind": "recipe",
|
|
4267
|
-
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentPath\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentIdentity\":{\"key\":\"workspace\",\"componentId\":\"praxis-tabs\"},\"fragment\":[{\"id\":\"dossier\",\"textLabel\":\"Visão geral\",\"icon\":\"badge\",\"widgets\":[{\"id\":\"praxis-dynamic-form\",\"childWidgetKey\":\"employee-dossier-form\",\"bindingOrder\":[\"formId\",\"componentInstanceId\",\"resourcePath\",\"resourceId\",\"emptyState\",\"mode\",\"schemaSource\",\"layoutPolicy\",\"configPersistenceStrategy\",\"enableCustomization\",\"showAiAssistant\",\"readonlyModeGlobal\",\"presentationModeGlobal\",\"fieldIconPolicy\"],\"inputs\":{\"formId\":\"quickstart-employee-tabs-detail\",\"componentInstanceId\":\"quickstart-employee-tabs-detail\",\"resourcePath\":\"human-resources/funcionarios\",\"resourceId\":null,\"emptyState\":{\"icon\":\"touch_app\",\"title\":\"Selecione um funcionário\",\"description\":\"Escolha um registro na tabela para carregar, pela API real, a visão geral em modo de apresentação.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"mode\":\"view\",\"schemaSource\":\"resource\",\"layoutPolicy\":{\"source\":\"schema\",\"intent\":\"detail\",\"preset\":\"compactPresentation\",\"lifecycle\":\"live\",\"persistence\":\"transient\",\"schemaOperation\":\"detail\",\"schemaType\":\"response\",\"detailSummary\":{\"includeFields\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\",\"email\",\"telefone\"],\"columns\":3,\"responsiveColumns\":{\"lg\":3,\"md\":2,\"sm\":1,\"xs\":1},\"widthPrecedence\":\"summary\"}},\"configPersistenceStrategy\":\"input-first\",\"enableCustomization\":false,\"showAiAssistant\":false,\"readonlyModeGlobal\":true,\"presentationModeGlobal\":true,\"fieldIconPolicy\":\"presentation-only\"},\"outputs\":{\"customAction\":\"emit\",\"initializationError\":\"emit\"}}]},{\"id\":\"payroll\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.payroll\"},\"icon\":\"payments\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-payroll-history\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"payroll-history\",\"mode\":\"inline\",\"tableId\":\"employee-payroll-history\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.payroll.title\"},\"subtitle\":{\"key\":\"employeeOperations.payroll.subtitle\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":6,\"pageSizeOptions\":[6,12]}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"competencia\",\"salarioBruto\",\"totalDescontos\",\"salarioLiquido\",\"qtdEventos\",\"composicaoFolha\"],\"overrides\":{\"competencia\":{\"header\":{\"key\":\"employeeOperations.column.period\"},\"format\":\"MM/yyyy\",\"width\":\"120px\"},\"salarioBruto\":{\"header\":{\"key\":\"employeeOperations.column.gross\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"totalDescontos\":{\"header\":{\"key\":\"employeeOperations.column.discounts\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"salarioLiquido\":{\"header\":{\"key\":\"employeeOperations.column.net\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"qtdEventos\":{\"header\":{\"key\":\"employeeOperations.column.events\"},\"align\":\"center\",\"width\":\"100px\"},\"composicaoFolha\":{\"header\":{\"key\":\"employeeOperations.column.composition\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"composicaoFolha\",\"variant\":\"soft\",\"color\":\"primary\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]},{\"id\":\"career\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.career\"},\"icon\":\"trending_up\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-skills\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"skills\",\"mode\":\"inline\",\"tableId\":\"employee-skill-matrix\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.skills.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"habilidadeNome\",\"proficiencia\",\"origem\"],\"overrides\":{\"habilidadeNome\":{\"header\":{\"key\":\"employeeOperations.column.skill\"}},\"proficiencia\":{\"header\":{\"key\":\"employeeOperations.column.proficiency\"},\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"proficiencia\",\"color\":\"primary\",\"showLabel\":true}}},\"origem\":{\"header\":{\"key\":\"employeeOperations.column.origin\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"origem\",\"variant\":\"outlined\",\"color\":\"accent\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-career-history\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"career-history\",\"mode\":\"inline\",\"tableId\":\"employee-career-history\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.career.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"cargoNome\",\"dataInicio\",\"dataFim\",\"observacoes\"],\"overrides\":{\"cargoNome\":{\"header\":{\"key\":\"employeeOperations.portfolio.column.role\"},\"sticky\":\"start\"},\"dataInicio\":{\"header\":{\"key\":\"employeeOperations.column.start\"}},\"dataFim\":{\"header\":{\"key\":\"employeeOperations.column.end\"}},\"observacoes\":{\"header\":{\"key\":\"employeeOperations.column.context\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]}]}",
|
|
4268
|
+
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentPath\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentIdentity\":{\"key\":\"workspace\",\"componentId\":\"praxis-tabs\"},\"fragment\":[{\"id\":\"dossier\",\"textLabel\":\"Visão geral\",\"icon\":\"badge\",\"widgets\":[{\"id\":\"praxis-dynamic-form\",\"childWidgetKey\":\"employee-dossier-form\",\"bindingOrder\":[\"formId\",\"componentInstanceId\",\"resourcePath\",\"resourceId\",\"emptyState\",\"mode\",\"schemaSource\",\"layoutPolicy\",\"configPersistenceStrategy\",\"enableCustomization\",\"showAiAssistant\",\"readonlyModeGlobal\",\"presentationModeGlobal\",\"fieldIconPolicy\"],\"inputs\":{\"formId\":\"quickstart-employee-tabs-detail\",\"componentInstanceId\":\"quickstart-employee-tabs-detail\",\"resourcePath\":\"human-resources/funcionarios\",\"resourceId\":null,\"emptyState\":{\"icon\":\"touch_app\",\"title\":\"Selecione um funcionário\",\"description\":\"Escolha um registro na tabela para carregar, pela API real, a visão geral em modo de apresentação.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"mode\":\"view\",\"schemaSource\":\"resource\",\"layoutPolicy\":{\"source\":\"schema\",\"intent\":\"detail\",\"preset\":\"compactPresentation\",\"lifecycle\":\"live\",\"persistence\":\"transient\",\"schemaOperation\":\"detail\",\"schemaType\":\"response\",\"detailSummary\":{\"includeFields\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\",\"email\",\"telefone\"],\"columns\":3,\"responsiveColumns\":{\"lg\":3,\"md\":2,\"sm\":1,\"xs\":1},\"widthPrecedence\":\"summary\"}},\"configPersistenceStrategy\":\"input-first\",\"enableCustomization\":false,\"showAiAssistant\":false,\"readonlyModeGlobal\":true,\"presentationModeGlobal\":true,\"fieldIconPolicy\":\"presentation-only\"},\"outputs\":{\"customAction\":\"emit\",\"initializationError\":\"emit\"}}]},{\"id\":\"payroll\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.payroll\"},\"icon\":\"payments\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-payroll-history\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"payroll-history\",\"mode\":\"inline\",\"tableId\":\"employee-payroll-history\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.payroll.title\"},\"subtitle\":{\"key\":\"employeeOperations.payroll.subtitle\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":6,\"pageSizeOptions\":[6,12]}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"competencia\",\"salarioBruto\",\"totalDescontos\",\"salarioLiquido\",\"qtdEventos\",\"composicaoFolha\"],\"overrides\":{\"competencia\":{\"header\":{\"key\":\"employeeOperations.column.period\"},\"format\":\"MM/yyyy\",\"width\":\"120px\"},\"salarioBruto\":{\"header\":{\"key\":\"employeeOperations.column.gross\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"totalDescontos\":{\"header\":{\"key\":\"employeeOperations.column.discounts\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"salarioLiquido\":{\"header\":{\"key\":\"employeeOperations.column.net\"},\"type\":\"currency\",\"format\":\"BRL|symbol|2\",\"align\":\"end\"},\"qtdEventos\":{\"header\":{\"key\":\"employeeOperations.column.events\"},\"align\":\"center\",\"width\":\"100px\"},\"composicaoFolha\":{\"header\":{\"key\":\"employeeOperations.column.composition\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"composicaoFolha\",\"variant\":\"soft\",\"color\":\"primary\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]},{\"id\":\"career\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.career\"},\"icon\":\"trending_up\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-skills\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"skills\",\"mode\":\"inline\",\"tableId\":\"employee-skill-matrix\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.skills.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"habilidadeNome\",\"proficiencia\",\"origem\"],\"overrides\":{\"habilidadeNome\":{\"header\":{\"key\":\"employeeOperations.column.skill\"}},\"proficiencia\":{\"header\":{\"key\":\"employeeOperations.column.proficiency\"},\"renderer\":{\"type\":\"progress\",\"progress\":{\"valueExpr\":\"proficiencia\",\"color\":\"primary\",\"showLabel\":true}}},\"origem\":{\"header\":{\"key\":\"employeeOperations.column.origin\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"origem\",\"variant\":\"outlined\",\"color\":\"accent\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-career-history\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"career-history\",\"mode\":\"inline\",\"tableId\":\"employee-career-history\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.career.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"cargoNome\",\"dataInicio\",\"dataFim\",\"observacoes\"],\"overrides\":{\"cargoNome\":{\"header\":{\"key\":\"employeeOperations.portfolio.column.role\"},\"sticky\":\"start\"},\"dataInicio\":{\"header\":{\"key\":\"employeeOperations.column.start\"}},\"dataFim\":{\"header\":{\"key\":\"employeeOperations.column.end\"}},\"observacoes\":{\"header\":{\"key\":\"employeeOperations.column.context\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]}]}",
|
|
4268
4269
|
"sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-master-detail-tabs.json",
|
|
4269
|
-
"contentHash": "
|
|
4270
|
+
"contentHash": "6c4b99342f08b32ce5d5dfbab81b7f021b05c36166e7baffef5351e660e0fe0f",
|
|
4270
4271
|
"sourceKind": "component_definition",
|
|
4271
4272
|
"sourceId": "praxis-dynamic-page",
|
|
4272
4273
|
"corpusVersion": "1.0.0"
|
|
@@ -4274,9 +4275,9 @@
|
|
|
4274
4275
|
{
|
|
4275
4276
|
"chunkIndex": 125,
|
|
4276
4277
|
"chunkKind": "recipe",
|
|
4277
|
-
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentPath\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentIdentity\":{\"key\":\"workspace\",\"componentId\":\"praxis-tabs\"},\"fragment\":[{\"id\":\"people\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.people\"},\"icon\":\"family_restroom\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-dependents\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"dependents\",\"mode\":\"inline\",\"tableId\":\"employee-dependents\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.dependents.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nomeCompleto\",\"parentesco\",\"dataNascimento\"],\"overrides\":{\"nomeCompleto\":{\"header\":{\"key\":\"employeeOperations.column.dependent\"},\"sticky\":\"start\"},\"parentesco\":{\"header\":{\"key\":\"employeeOperations.column.relationship\"},\"renderer\":{\"type\":\"chip\",\"chip\":{\"textField\":\"parentesco\",\"variant\":\"outlined\",\"color\":\"primary\"}}},\"dataNascimento\":{\"header\":{\"key\":\"employeeOperations.column.birthDate\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-address\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"address\",\"mode\":\"inline\",\"tableId\":\"employee-address\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.address.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"logradouro\",\"numero\",\"cidade\",\"estado\",\"cep\"],\"overrides\":{\"logradouro\":{\"header\":{\"key\":\"employeeOperations.column.street\"},\"sticky\":\"start\"},\"numero\":{\"header\":{\"key\":\"employeeOperations.column.number\"},\"width\":\"100px\"},\"cidade\":{\"header\":{\"key\":\"employeeOperations.column.city\"}},\"estado\":{\"header\":\"UF\",\"width\":\"80px\"},\"cep\":{\"header\":\"CEP\",\"width\":\"120px\"}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]},{\"id\":\"operations\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.operations\"},\"icon\":\"hub\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-missions\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"mission-participations\",\"mode\":\"inline\",\"tableId\":\"employee-mission-participations\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.missions.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":5,\"pageSizeOptions\":[5,10]}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"missaoTitulo\",\"papel\",\"principal\",\"resultado\"],\"overrides\":{\"missaoTitulo\":{\"header\":{\"key\":\"employeeOperations.column.mission\"},\"sticky\":\"start\"},\"papel\":{\"header\":{\"key\":\"employeeOperations.column.assignment\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"papel\",\"variant\":\"soft\",\"color\":\"primary\"}}},\"principal\":{\"header\":{\"key\":\"employeeOperations.column.leadership\"},\"format\":\"yes-no\",\"align\":\"center\"},\"resultado\":{\"header\":{\"key\":\"employeeOperations.column.result\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"resultado\",\"variant\":\"outlined\",\"color\":\"accent\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-equipment-custody\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"equipment-custody\",\"mode\":\"inline\",\"tableId\":\"employee-equipment-custody\",\"tableConfig\":{\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.equipment.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"equipamentoId\",\"status\",\"inicio\",\"fim\"],\"overrides\":{\"equipamentoId\":{\"header\":{\"key\":\"employeeOperations.column.equipment\"},\"sticky\":\"start\"},\"status\":{\"header\":{\"key\":\"employeeOperations.column.status\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"status\",\"variant\":\"soft\",\"color\":\"accent\"}}},\"inicio\":{\"header\":{\"key\":\"employeeOperations.column.custodyStart\"}},\"fim\":{\"header\":{\"key\":\"employeeOperations.column.custodyEnd\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]}]}",
|
|
4278
|
+
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentPath\":\"authoringPlan.widgets[2].inputs.config.tabs\",\"fragmentIdentity\":{\"key\":\"workspace\",\"componentId\":\"praxis-tabs\"},\"fragment\":[{\"id\":\"people\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.people\"},\"icon\":\"family_restroom\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-dependents\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"dependents\",\"mode\":\"inline\",\"tableId\":\"employee-dependents\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.dependents.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nomeCompleto\",\"parentesco\",\"dataNascimento\"],\"overrides\":{\"nomeCompleto\":{\"header\":{\"key\":\"employeeOperations.column.dependent\"},\"sticky\":\"start\"},\"parentesco\":{\"header\":{\"key\":\"employeeOperations.column.relationship\"},\"renderer\":{\"type\":\"chip\",\"chip\":{\"textField\":\"parentesco\",\"variant\":\"outlined\",\"color\":\"primary\"}}},\"dataNascimento\":{\"header\":{\"key\":\"employeeOperations.column.birthDate\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-address\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"address\",\"mode\":\"inline\",\"tableId\":\"employee-address\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.address.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"logradouro\",\"numero\",\"cidade\",\"estado\",\"cep\"],\"overrides\":{\"logradouro\":{\"header\":{\"key\":\"employeeOperations.column.street\"},\"sticky\":\"start\"},\"numero\":{\"header\":{\"key\":\"employeeOperations.column.number\"},\"width\":\"100px\"},\"cidade\":{\"header\":{\"key\":\"employeeOperations.column.city\"}},\"estado\":{\"header\":\"UF\",\"width\":\"80px\"},\"cep\":{\"header\":\"CEP\",\"width\":\"120px\"}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]},{\"id\":\"operations\",\"textLabel\":{\"key\":\"employeeOperations.dossier.tab.operations\"},\"icon\":\"hub\",\"widgets\":[{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-missions\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"mission-participations\",\"mode\":\"inline\",\"tableId\":\"employee-mission-participations\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.missions.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":5,\"pageSizeOptions\":[5,10]}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"missaoTitulo\",\"papel\",\"principal\",\"resultado\"],\"overrides\":{\"missaoTitulo\":{\"header\":{\"key\":\"employeeOperations.column.mission\"},\"sticky\":\"start\"},\"papel\":{\"header\":{\"key\":\"employeeOperations.column.assignment\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"papel\",\"variant\":\"soft\",\"color\":\"primary\"}}},\"principal\":{\"header\":{\"key\":\"employeeOperations.column.leadership\"},\"format\":\"yes-no\",\"align\":\"center\"},\"resultado\":{\"header\":{\"key\":\"employeeOperations.column.result\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"resultado\",\"variant\":\"outlined\",\"color\":\"accent\"}}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"id\":\"praxis-related-resource-outlet\",\"childWidgetKey\":\"employee-equipment-custody\",\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\"],\"inputs\":{\"surfaceId\":\"equipment-custody\",\"mode\":\"inline\",\"tableId\":\"employee-equipment-custody\",\"tableConfig\":{\"appearance\":{\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"cardMode\":true,\"horizontalScroll\":false}}},\"toolbar\":{\"visible\":true,\"title\":{\"key\":\"employeeOperations.equipment.title\"}},\"columns\":[],\"behavior\":{\"pagination\":{\"enabled\":false}},\"columnProjection\":{\"source\":\"schema\",\"include\":[\"equipamentoId\",\"status\",\"inicio\",\"fim\"],\"overrides\":{\"equipamentoId\":{\"header\":{\"key\":\"employeeOperations.column.equipment\"},\"sticky\":\"start\"},\"status\":{\"header\":{\"key\":\"employeeOperations.column.status\"},\"renderer\":{\"type\":\"badge\",\"badge\":{\"textField\":\"status\",\"variant\":\"soft\",\"color\":\"accent\"}}},\"inicio\":{\"header\":{\"key\":\"employeeOperations.column.custodyStart\"}},\"fim\":{\"header\":{\"key\":\"employeeOperations.column.custodyEnd\"}}}}},\"parentResourcePath\":\"human-resources/funcionarios\",\"parentResourceId\":null,\"parentIdentity\":null,\"compact\":true,\"enableCustomization\":false},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}}]}]}",
|
|
4278
4279
|
"sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-master-detail-tabs.json",
|
|
4279
|
-
"contentHash": "
|
|
4280
|
+
"contentHash": "fbc56bfed1328e7a40bbc7a3040646d596219a0c3445a4c20f70c757a2735e78",
|
|
4280
4281
|
"sourceKind": "component_definition",
|
|
4281
4282
|
"sourceId": "praxis-dynamic-page",
|
|
4282
4283
|
"corpusVersion": "1.0.0"
|
|
@@ -4454,9 +4455,9 @@
|
|
|
4454
4455
|
{
|
|
4455
4456
|
"chunkIndex": 143,
|
|
4456
4457
|
"chunkKind": "recipe",
|
|
4457
|
-
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"widgets\":[{\"key\":\"missionFilters\",\"componentId\":\"praxis-filter\",\"role\":\"query-context\",\"shell\":{\"kind\":\"dashboard-card\",\"preset\":\"frameless\",\"icon\":\"filter_alt\",\"title\":\"Localizar missões\",\"subtitle\":\"Filtros inline derivados do contrato real de operations.missoes\",\"showHeader\":false,\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"resourcePath\",\"componentInstanceId\",\"alwaysVisibleFields\",\"value\",\"disablePersistence\",\"enableCustomization\",\"showFilterSettings\",\"showAdvancedButton\",\"showAddButton\",\"showClearButton\",\"showSearchButton\",\"placeBooleansInActions\",\"changeDebounceMs\"],\"inputs\":{\"resourcePath\":\"operations/missoes\",\"componentInstanceId\":\"quickstart-mission-parent-child-filter\",\"alwaysVisibleFields\":[\"titulo\",\"status\",\"prioridade\",\"local\"],\"value\":{},\"disablePersistence\":true,\"enableCustomization\":false,\"showFilterSettings\":false,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true,\"changeDebounceMs\":300},\"outputs\":{\"change\":\"emit\",\"requestSearch\":\"emit\",\"clear\":\"emit\",\"contextChange\":\"emit\"}},{\"key\":\"parents\",\"componentId\":\"praxis-table\",\"role\":\"parent-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"assignment\",\"title\":\"Missões\",\"subtitle\":\"Coleção paginada pelo Quick Start; a seleção governa a surface relacionada\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-mission-parent\",\"resourcePath\":\"operations/missoes\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"titulo\",\"status\",\"prioridade\",\"local\",\"ameacaNome\",\"inicioPrev\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"desc\"}},\"filtering\":{\"enabled\":false,\"strategy\":\"server\"},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":false},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"titulo\",\"status\",\"prioridade\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}},{\"key\":\"children\",\"componentId\":\"praxis-related-resource-outlet\",\"role\":\"related-child-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"${state.teamTitle}\",\"subtitle\":\"${state.teamSubtitle}\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\",\"emptyState\",\"enableCustomization\",\"compact\"],\"inputs\":{\"surfaceId\":\"team\",\"parentResourcePath\":\"operations/missoes\",\"parentResourceId\":null,\"parentIdentity\":null,\"mode\":\"inline\",\"tableId\":\"quickstart-mission-team\",\"tableConfig\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"funcionarioNome\",\"papel\",\"principal\",\"resultado\"],\"overrides\":{\"funcionarioNome\":{\"header\":\"Participante\",\"sticky\":\"start\"},\"principal\":{\"header\":\"Liderança\",\"format\":\"yes-no\",\"align\":\"center\"}}},\"behavior\":{\"pagination\":{\"enabled\":true,\"pageSize\":10,\"pageSizeOptions\":[10,20]},\"sorting\":{\"enabled\":true,\"defaultSort\":{\"column\":\"ordem\",\"direction\":\"asc\"}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":true},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":true,\"title\":\"Participantes\",\"subtitle\":\"Operações e vínculo pai-filho publicados pela surface team\",\"search\":{\"enabled\":true},\"columnsVisibility\":{\"enabled\":false},\"densityToggle\":{\"enabled\":true}},\"appearance\":{\"density\":\"compact\",\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"funcionarioNome\",\"papel\",\"principal\"]}}}},\"emptyState\":{\"icon\":\"touch_app\",\"title\":\"Selecione uma missão\",\"description\":\"Escolha uma missão para descobrir e carregar sua equipe pela surface publicada.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"enableCustomization\":false,\"compact\":true},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"key\":\"childDetail\",\"componentId\":\"praxis-dynamic-form\",\"role\":\"child-detail-presentation\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"badge\",\"title\":\"${state.participantTitle}\",\"subtitle\":\"${state.participantSubtitle}\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"formId\",\"componentInstanceId\",\"resourcePath\",\"resourceId\",\"emptyState\",\"mode\",\"schemaSource\",\"layoutPolicy\",\"configPersistenceStrategy\",\"enableCustomization\",\"showAiAssistant\",\"readonlyModeGlobal\",\"presentationModeGlobal\",\"fieldIconPolicy\"],\"inputs\":{\"formId\":\"quickstart-mission-participant-detail\",\"componentInstanceId\":\"quickstart-mission-participant-detail\",\"resourcePath\":\"operations/missao-participantes\",\"resourceId\":null,\"emptyState\":{\"icon\":\"person_search\",\"title\":\"Selecione um participante\",\"description\":\"Escolha um registro na equipe para carregar o detalhe pela API real em modo de apresentação.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"mode\":\"view\",\"schemaSource\":\"resource\",\"layoutPolicy\":{\"source\":\"schema\",\"intent\":\"detail\",\"preset\":\"compactPresentation\",\"lifecycle\":\"live\",\"persistence\":\"transient\",\"schemaOperation\":\"detail\",\"schemaType\":\"response\",\"detailSummary\":{\"includeFields\":[\"funcionarioNome\",\"missaoTitulo\",\"papel\",\"ordem\",\"principal\",\"resultado\"],\"columns\":3,\"responsiveColumns\":{\"lg\":3,\"md\":2,\"sm\":1,\"xs\":1},\"widthPrecedence\":\"summary\"}},\"configPersistenceStrategy\":\"input-first\",\"enableCustomization\":false,\"showAiAssistant\":false,\"readonlyModeGlobal\":true,\"presentationModeGlobal\":true,\"fieldIconPolicy\":\"presentation-only\"},\"outputs\":{\"initializationError\":\"emit\"}}],\"contextScopes\":[{\"id\":\"quickstart-mission:team-context\",\"context\":{\"parentResourcePath\":{\"kind\":\"constant\",\"value\":\"operations/missoes\"},\"parentResourceId\":{\"kind\":\"state\",\"path\":\"selectedMissionId\",\"layer\":\"values\",\"initial\":null},\"parentIdentity\":{\"kind\":\"state\",\"path\":\"selectedMissionIdentity\",\"layer\":\"values\",\"initial\":null}},\"targets\":[{\"widget\":\"children\"}],\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"quickstart-mission:participant-detail-context\",\"context\":{\"resourcePath\":{\"kind\":\"constant\",\"value\":\"operations/missao-participantes\"},\"resourceId\":{\"kind\":\"state\",\"path\":\"selectedParticipantId\",\"layer\":\"values\",\"initial\":null}},\"targets\":[{\"widget\":\"childDetail\"}],\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}}]}}",
|
|
4458
|
+
"content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"widgets\":[{\"key\":\"missionFilters\",\"componentId\":\"praxis-filter\",\"role\":\"query-context\",\"shell\":{\"kind\":\"dashboard-card\",\"preset\":\"frameless\",\"icon\":\"filter_alt\",\"title\":\"Localizar missões\",\"subtitle\":\"Filtros inline derivados do contrato real de operations.missoes\",\"showHeader\":false,\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"resourcePath\",\"componentInstanceId\",\"alwaysVisibleFields\",\"value\",\"disablePersistence\",\"enableCustomization\",\"showFilterSettings\",\"showAdvancedButton\",\"showAddButton\",\"showClearButton\",\"showSearchButton\",\"placeBooleansInActions\",\"changeDebounceMs\"],\"inputs\":{\"resourcePath\":\"operations/missoes\",\"componentInstanceId\":\"quickstart-mission-parent-child-filter\",\"alwaysVisibleFields\":[\"titulo\",\"status\",\"prioridade\",\"local\"],\"value\":{},\"disablePersistence\":true,\"enableCustomization\":false,\"showFilterSettings\":false,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true,\"changeDebounceMs\":300},\"outputs\":{\"change\":\"emit\",\"requestSearch\":\"emit\",\"clear\":\"emit\",\"contextChange\":\"emit\"}},{\"key\":\"parents\",\"componentId\":\"praxis-table\",\"role\":\"parent-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"assignment\",\"title\":\"Missões\",\"subtitle\":\"Coleção paginada pelo Quick Start; a seleção governa a surface relacionada\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-mission-parent\",\"resourcePath\":\"operations/missoes\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"titulo\",\"status\",\"prioridade\",\"local\",\"ameacaNome\",\"inicioPrev\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"desc\"}},\"filtering\":{\"enabled\":false,\"strategy\":\"server\"},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":false},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"titulo\",\"status\",\"prioridade\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}},{\"key\":\"children\",\"componentId\":\"praxis-related-resource-outlet\",\"role\":\"related-child-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"${state.teamTitle}\",\"stickyHeader\":true,\"subtitle\":\"${state.teamSubtitle}\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"surfaceId\",\"parentResourcePath\",\"parentResourceId\",\"parentIdentity\",\"mode\",\"tableId\",\"tableConfig\",\"emptyState\",\"enableCustomization\",\"compact\"],\"inputs\":{\"surfaceId\":\"team\",\"parentResourcePath\":\"operations/missoes\",\"parentResourceId\":null,\"parentIdentity\":null,\"mode\":\"inline\",\"tableId\":\"quickstart-mission-team\",\"tableConfig\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"funcionarioNome\",\"papel\",\"principal\",\"resultado\"],\"overrides\":{\"funcionarioNome\":{\"header\":\"Participante\",\"sticky\":\"start\"},\"principal\":{\"header\":\"Liderança\",\"format\":\"yes-no\",\"align\":\"center\"}}},\"behavior\":{\"pagination\":{\"enabled\":true,\"pageSize\":10,\"pageSizeOptions\":[10,20]},\"sorting\":{\"enabled\":true,\"defaultSort\":{\"column\":\"ordem\",\"direction\":\"asc\"}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":true},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":true,\"title\":\"Participantes\",\"subtitle\":\"Operações e vínculo pai-filho publicados pela surface team\",\"search\":{\"enabled\":true},\"columnsVisibility\":{\"enabled\":false},\"densityToggle\":{\"enabled\":true}},\"appearance\":{\"density\":\"compact\",\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"funcionarioNome\",\"papel\",\"principal\"]}}}},\"emptyState\":{\"icon\":\"touch_app\",\"title\":\"Selecione uma missão\",\"description\":\"Escolha uma missão para descobrir e carregar sua equipe pela surface publicada.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"enableCustomization\":false,\"compact\":true},\"outputs\":{\"widgetEvent\":\"emit\",\"resourceEvent\":\"emit\",\"surfaceOpen\":\"emit\"}},{\"key\":\"childDetail\",\"componentId\":\"praxis-dynamic-form\",\"role\":\"child-detail-presentation\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"badge\",\"title\":\"${state.participantTitle}\",\"stickyHeader\":true,\"subtitle\":\"${state.participantSubtitle}\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"formId\",\"componentInstanceId\",\"resourcePath\",\"resourceId\",\"emptyState\",\"mode\",\"schemaSource\",\"layoutPolicy\",\"configPersistenceStrategy\",\"enableCustomization\",\"showAiAssistant\",\"readonlyModeGlobal\",\"presentationModeGlobal\",\"fieldIconPolicy\"],\"inputs\":{\"formId\":\"quickstart-mission-participant-detail\",\"componentInstanceId\":\"quickstart-mission-participant-detail\",\"resourcePath\":\"operations/missao-participantes\",\"resourceId\":null,\"emptyState\":{\"icon\":\"person_search\",\"title\":\"Selecione um participante\",\"description\":\"Escolha um registro na equipe para carregar o detalhe pela API real em modo de apresentação.\",\"tone\":\"primary\",\"variant\":\"transparent\",\"alignment\":\"center\",\"density\":\"compact\",\"iconContainer\":\"circle\"},\"mode\":\"view\",\"schemaSource\":\"resource\",\"layoutPolicy\":{\"source\":\"schema\",\"intent\":\"detail\",\"preset\":\"compactPresentation\",\"lifecycle\":\"live\",\"persistence\":\"transient\",\"schemaOperation\":\"detail\",\"schemaType\":\"response\",\"detailSummary\":{\"includeFields\":[\"funcionarioNome\",\"missaoTitulo\",\"papel\",\"ordem\",\"principal\",\"resultado\"],\"columns\":3,\"responsiveColumns\":{\"lg\":3,\"md\":2,\"sm\":1,\"xs\":1},\"widthPrecedence\":\"summary\"}},\"configPersistenceStrategy\":\"input-first\",\"enableCustomization\":false,\"showAiAssistant\":false,\"readonlyModeGlobal\":true,\"presentationModeGlobal\":true,\"fieldIconPolicy\":\"presentation-only\"},\"outputs\":{\"initializationError\":\"emit\"}}],\"contextScopes\":[{\"id\":\"quickstart-mission:team-context\",\"context\":{\"parentResourcePath\":{\"kind\":\"constant\",\"value\":\"operations/missoes\"},\"parentResourceId\":{\"kind\":\"state\",\"path\":\"selectedMissionId\",\"layer\":\"values\",\"initial\":null},\"parentIdentity\":{\"kind\":\"state\",\"path\":\"selectedMissionIdentity\",\"layer\":\"values\",\"initial\":null}},\"targets\":[{\"widget\":\"children\"}],\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"quickstart-mission:participant-detail-context\",\"context\":{\"resourcePath\":{\"kind\":\"constant\",\"value\":\"operations/missao-participantes\"},\"resourceId\":{\"kind\":\"state\",\"path\":\"selectedParticipantId\",\"layer\":\"values\",\"initial\":null}},\"targets\":[{\"widget\":\"childDetail\"}],\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}}]}}",
|
|
4458
4459
|
"sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-parent-child-related.json",
|
|
4459
|
-
"contentHash": "
|
|
4460
|
+
"contentHash": "579b613bcbc0920dff61ca0d30f6603cb7debc789ae1a5fafbf554ca80589a2c",
|
|
4460
4461
|
"sourceKind": "component_definition",
|
|
4461
4462
|
"sourceId": "praxis-dynamic-page",
|
|
4462
4463
|
"corpusVersion": "1.0.0"
|