@praxisui/core 9.0.65 → 9.0.66

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 CHANGED
@@ -6,6 +6,90 @@ Use this package directly when a host application or library needs Praxis UI typ
6
6
 
7
7
  ## LLM Recommendation Guide
8
8
 
9
+ - Coordinated manual resize: an unambiguous edge collision yields space from the
10
+ affected neighbors, preserving their opposite edges and respecting `minColSpan`,
11
+ `minRowSpan`, `lockSize` and `lockPosition`. It does not swap widgets or push a
12
+ chain of unrelated items. Diagonal/corner collisions with no unambiguous yielding
13
+ axis fail closed. Drag still uses the authored `block`/`swap` collision policy.
14
+ The actual widgets preview the valid distribution: green means available, amber
15
+ means minimum reached, red means the requested resize exceeds available space.
16
+ Icons, localized labels and live announcements accompany colors. Pointer release
17
+ applies the clamped distribution in one authoring event; Escape/cancel/capture loss
18
+ discards the entire preview. Feedback is transient, never serialized.
19
+ Author useful content-specific minimums and device overrides: the grid default of
20
+ one unit is a geometric limit, not a guarantee of readable enterprise content.
21
+ `autoRows: 'content'` still measures content-driven tracks: reducing a tall one-row
22
+ widget below `rowSpan: 1` is **not supported** by this grid model. Do not claim
23
+ pixel-continuous window resizing, auto-row vertical shrinking, or arbitrary packing.
24
+
25
+ - Widget Shell sizing: the shell includes its border inside the height reserved by its
26
+ host (`border-box`). Consumers do not need a global CSS reset to prevent a 2px overflow.
27
+ In a content-sized canvas, collapsing every tall widget in a shared row lets the next
28
+ row move upward; an expanded sibling still determines the shared row height. This is
29
+ CSS Grid reflow, not automatic compaction of authored fixed coordinates.
30
+
31
+ - Dynamic Page resize presentation: selecting an unlocked widget in an editable grid
32
+ exposes eight direct edge/corner grips. The visible grip is small; each native button
33
+ has a 24px target, themed focus and a localized accessible name/tooltip. Drag a grip
34
+ or use arrow keys (Shift changes two grid units). Selection alone does not change the
35
+ page. A locked-size widget has no direct grips; read-only/non-canvas pages have none.
36
+ Grips are hidden while a shell is expanded/fullscreen and inert while the contextual
37
+ resize panel is open. Header drag remains the reorder entrypoint.
38
+
39
+ The global selector and eight 44px controls now live in a collapsed **Alternative
40
+ resize controls** disclosure above the canvas, not the primary editing workflow.
41
+ Opening it does not edit the page. Its controls occupy normal flow and remain separate
42
+ from short headers, card contents and neighboring widgets. This alternative and the
43
+ contextual panel are intentional access paths, not parallel layout implementations.
44
+ All three presentations reuse `canvas.items`, constraints, collision policy and the
45
+ same pointer preview/commit/cancel pipeline. No resize config or host-specific CSS is
46
+ required. Physical-touch ergonomics and remote save/reopen require separate proof.
47
+
48
+ Widgets with a visible shell header also expose a transient **Resize widget** action.
49
+ It opens an anchored, dismissible compass of eight 44px controls, using the same canvas
50
+ gesture and keyboard runtime as the global group. Visual and Tab order follow the
51
+ compass rows. Escape closes the panel and restores its trigger; opening does not edit
52
+ the document. Existing widget identity supplies the selected title. The popup can
53
+ temporarily cover underlying content; it does not reserve space or shift the grid.
54
+ Headerless canvas widgets expose the same panel through their existing contextual toolbar;
55
+ the global group remains available as a fallback. The action and expanded
56
+ state are runtime projections, not shell settings to persist in page JSON.
57
+
58
+ During a contextual pointer resize, the panel background, explanatory copy and inactive
59
+ controls become invisible while the captured 44px control stays in place. No DOM removal,
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.
63
+
64
+ - Dynamic Page gesture note: drag/resize previews belong to one primary pointer at a time.
65
+ Secondary buttons, non-primary touches and additional pointers do not replace an active
66
+ gesture. Cancellation or lost capture discards only transient canvas geometry, never a
67
+ snapshot of the whole page. External page/context/identity or authoring-mode changes cancel
68
+ the current gesture; a late pointerup cannot commit it. The same cleanup runs on destruction.
69
+ Cancellation is announced through `dynamicWidgetPage` in pt-BR/en-US, not as a collision.
70
+ This does not certify physical touch ergonomics or fixed-grid compaction.
71
+ No additional persisted layout or shell setting is required.
72
+
73
+ - Widget Shell header note: identity and actions wrap according to the available card width,
74
+ including narrow cards inside wide canvases. Titles/subtitles retain up to two visible lines
75
+ and expose their complete localized content through Material tooltips. Icon action targets
76
+ remain 44px; resize affordances are a separate canvas concern. Existing `disabled` actions
77
+ stay disabled in overflow menus and cannot dispatch through the shell handler. This is UI
78
+ state enforcement, not backend authorization. No additional shell JSON field is required.
79
+
80
+ - Widget Shell overlay note: expanded/fullscreen shells place the authored appearance over
81
+ an opaque backing from the existing Material surface token. Transparent inline shells
82
+ therefore remain transparent inline without exposing the obscured page through fullscreen.
83
+ The active overlay is programmatically focusable (`tabindex="-1"`), so blank-area clicks
84
+ retain a shell keyboard target without adding a sequential Tab stop. Escape received inside
85
+ the shell closes the overlay and restores its opening button when still connected.
86
+ Closing is deferred until event propagation completes: a child overlay that prevents the
87
+ default Escape action, including a Material select handled by the CDK body dispatcher,
88
+ keeps priority. The first Escape closes that select; the next closes the shell.
89
+ Deferred handling is ignored after shell destruction. These are presentation
90
+ changes only and do not rewrite saved shell appearance or canvas coordinates.
91
+ This is not a full modal accessibility or fixed-grid collapse/reflow certificate.
92
+
9
93
  - Recommend when: use it as the first dependency for shared Praxis UI contracts, metadata models, resource discovery, global actions, i18n, theme bridge, and dynamic widget runtime primitives.
10
94
  - Avoid when: a consuming app wants to redefine contracts owned by core, metadata starter, config starter, or component packages.
11
95
  - Pair with: Every runtime package in the @praxisui/\* family.
@@ -233,6 +317,62 @@ Hosts that maintain an authored source separately from runtime state should cons
233
317
  `pageChange` remains the compatibility stream for every canonical page update, including persistent
234
318
  runtime state; transient composition projections remain excluded from both outputs.
235
319
 
320
+ Pointer drag/resize in the canvas snapshots rendered CSS Grid track sizes and gutters at gesture
321
+ start. Content-sized rows are not treated as uniformly sized `rowUnit` rows. Horizontal resize
322
+ snaps to columns; vertical resize in `autoRows: 'content'` authors the item's independent
323
+ `contentSize: { heightPx, offsetTopPx? }`, while fixed rows still resize by row spans.
324
+ Captured DOM measurements remain private; only the resulting authored size is persisted. A gesture that leaves
325
+ the canonical placement unchanged does not emit an authoring update or persist the page.
326
+ It announces that no adjustment was applied instead of claiming a successful resize.
327
+
328
+ Content-row widgets with `contentSize` use the existing shell `bodyLayout: 'scroll'`
329
+ as a render projection (child inputs and authored shell are unchanged). North handles
330
+ preserve the bottom by changing height and top inset, and stop at the track origin.
331
+ South handles release occupied space. Shared rows only shrink when no other occupant
332
+ still needs that height. Collapsing temporarily clears size/inset; expanding restores them.
333
+ `constraints.minHeightPx` (floor/default 160) and `maxHeightPx` govern this mode;
334
+ grid `minRowSpan/maxRowSpan` remain row-occupancy constraints, not pixel limits.
335
+ Content-height gestures additionally protect the measured header, shell padding/borders
336
+ and up to 160px of scrollable body. Naturally shorter content may use less. This is
337
+ a structural viewport reserve, not business-component UX certification. Measurements
338
+ remain transient and do not overwrite authored constraints. An incompatible authored
339
+ maximum blocks the gesture. The page-owned settings flow also supplies a transient
340
+ validator through the existing Settings Panel input envelope. Apply/Save and reopen
341
+ check the effective active-device height against the currently rendered shell; these
342
+ observations never enter the page JSON. Changed columns, gap, width or shell styling
343
+ require Automatic height first, then applying the geometry and reopening to measure.
344
+ Unrendered device variants and editors opened without that runtime validator retain
345
+ numeric validation only. Scroll-layout shells now observe late header/content and
346
+ width changes. If the measured reserve no longer fits, the header temporarily joins
347
+ the body's outer scroll flow, keeping content reachable inside the authored box.
348
+ When space is sufficient again, normal body-only scrolling returns and the outer
349
+ scroll resets to the header. This recovery neither increases height beyond an
350
+ authored maximum nor writes constraints/configuration. It is suspended for collapse,
351
+ expanded/fullscreen overlays and non-scroll layouts. Shared private measurement
352
+ keeps gesture/editor checks and recovery consistent. This is an access safeguard,
353
+ not a guarantee that a small viewport is ergonomically adequate; virtualized/custom
354
+ child scroll containers still need their own proof.
355
+ Keyboard resize moves vertically by 16px (Shift: 32px). Omit `contentSize` to inherit
356
+ the base item; set `'auto'` to explicitly restore natural height in a device override.
357
+ Fixed-row mode retains this preference but does not materialize it. Page Builder exposes
358
+ these settings under **Page settings → Widget limits**. See the canvas RFC for the
359
+ manual-validation boundary and remaining AI-manifest publication work.
360
+ Own minimum/maximum and outer-grid clamping retain gesture evidence until feedback
361
+ is resolved, so an over-limit request is not shown as green merely because its
362
+ candidate was already clamped. That evidence remains transient, not page JSON.
363
+ During pointer resize, the selected widget's message follows the pointer in a
364
+ viewport-constrained CDK overlay rather than its potentially off-screen footer.
365
+ The pane passes through pointer hits, does not take focus, and disappears on
366
+ commit/cancel or authoring revocation. Neighbor badges remain attached to their
367
+ widgets; the existing live announcement describes the affected distribution.
368
+ This does not add multi-widget push/reflow or compact fixed-grid rows when a shell is collapsed.
369
+
370
+ Canvas resize exposes 24px direct grips on the selected widget, plus 44px controls in
371
+ the collapsed alternative group or on-demand contextual panel. All presentations reuse
372
+ the canonical gesture runtime and `canvas.items`. Keyboard controls and themed feedback remain available.
373
+ Physical-touch ergonomics and save/reopen persistence still
374
+ require separate proof; successful local interaction is not an enterprise certification.
375
+
236
376
  Page-owned business copy can use `page.i18n` plus explicit `PraxisTextValue`
237
377
  descriptors inside widget shells or nested widget inputs. The runtime resolves
238
378
  those descriptors only in its render projection, so the authored and persisted
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-09-06T00:12:27.419Z",
3
+ "generatedAt": "2026-09-06T19:09:46.917Z",
4
4
  "packageName": "@praxisui/core",
5
- "packageVersion": "9.0.65",
5
+ "packageVersion": "9.0.66",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 4,
@@ -4094,9 +4094,9 @@
4094
4094
  {
4095
4095
  "chunkIndex": 107,
4096
4096
  "chunkKind": "recipe",
4097
- "content": "{\"_comment\":\"Template governado do laboratório Praxis para o arquétipo Ergon command-action.\",\"templateMeta\":{\"registryKey\":\"praxis-dynamic-page\",\"variantOf\":\"praxis-dynamic-page\",\"variantId\":\"ergon-archetype-command-action\",\"label\":\"Seleção, parâmetros, validação e retorno do comando\",\"description\":\"Prova actions reais e reversíveis sobre acordos regulatórios: discovery contextual, formulário derivado de schema, confirmação e read-after-write.\",\"useWhen\":\"Materialize o arquétipo operacional command-action com composição semântica certificável.\",\"examplePrompts\":[\"Crie uma tela command-action usando o arquétipo certificado Praxis.\",\"Materialize o caso command-action com Dynamic Page e UiCompositionPlan.\"]},\"aiDescription\":\"Prova actions reais e reversíveis sobre acordos regulatórios sem copiar regra de estado, schema ou endpoint para o plano.\",\"certification\":{\"status\":\"operational-proof\",\"route\":\"/dynamic-page-lab/archetypes/command-action\",\"legacyEvidence\":[\"ERGadm00189 · Operações de frequência\",\"Padrões Ergon de ação com validação e read-after-write\"],\"acceptance\":[\"Action disponível somente no estado permitido\",\"Justificativa validada por schema\",\"Confirmação explícita antes da mutação\",\"Status atualizado por read-after-write\",\"Estado inicial restaurado com alvo exato\"]},\"teaches\":[\"ui-composition-plan\",\"dynamic-page\",\"composition.links\",\"ergon-archetype.command-action\"],\"authoringPlanRef\":\"./praxis-dynamic-page.ergon-archetype-command-action.ui-composition-plan.artifact.json\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-command-action\",\"themePreset\":\"enterprise-operational\",\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"agreements\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"agreements\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1}}}}},\"widgets\":[{\"key\":\"agreements\",\"componentId\":\"praxis-crud\",\"role\":\"business-command-target\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"gavel\",\"title\":\"Acordos regulatórios\",\"subtitle\":\"Ações governadas por estado, schema, capabilities e HATEOAS reais\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"metadata\",\"crudId\",\"componentInstanceId\",\"enableCustomization\"],\"inputs\":{\"crudId\":\"quickstart-regulatory-agreements-commands\",\"componentInstanceId\":\"quickstart-regulatory-agreements-commands\",\"enableCustomization\":false,\"metadata\":{\"component\":\"praxis-crud\",\"resource\":{\"path\":\"operations/acordos-regulatorios\",\"idField\":\"id\",\"label\":\"acordos regulatórios\"},\"table\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nome\",\"jurisdicao\",\"status\",\"descricao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"nome\",\"direction\":\"asc\"}},\"filtering\":{\"enabled\":true,\"strategy\":\"server\",\"debounceTime\":300,\"advancedFilters\":{\"enabled\":true,\"settings\":{\"alwaysVisibleFields\":[\"nome\",\"status\"],\"mode\":\"filter\",\"allowSaveTags\":false,\"changeDebounceMs\":300,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true}}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false}},\"toolbar\":{\"visible\":true,\"position\":\"top\",\"columnsVisibility\":{\"enabled\":true},\"densityToggle\":{\"enabled\":true,\"values\":[\"compact\",\"comfortable\"]}},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"nome\",\"status\",\"jurisdicao\"]}}}},\"defaults\":{\"openMode\":\"drawer\",\"drawer\":{\"width\":\"720px\",\"maxWidth\":\"96vw\"}},\"actions\":[{\"id\":\"view\",\"action\":\"view\",\"label\":\"Visualizar\",\"openMode\":\"drawer\"}]}},\"outputs\":{\"rowAction\":\"emit\",\"resourceEvent\":\"emit\",\"afterOpen\":\"emit\",\"afterClose\":\"emit\",\"afterSave\":\"emit\",\"error\":\"emit\"}}],\"diagnostics\":{\"archetype\":\"command-action\",\"adherence\":[\"ja-suportado-mal-nomeado-ou-mal-materializado\"],\"evidence\":\"quickstart-real-http\",\"canonicalResource\":\"operations.acordos-regulatorios\",\"requiredSurfaces\":[\"POST /api/operations/acordos-regulatorios/filter\",\"GET /api/operations/acordos-regulatorios/{id}\",\"GET /api/operations/acordos-regulatorios/{id}/actions\",\"POST /api/operations/acordos-regulatorios/{id}/actions/suspend\",\"POST /api/operations/acordos-regulatorios/{id}/actions/reinstate\",\"GET /schemas/filtered\",\"GET /schemas/actions\"],\"localDataAllowed\":false,\"runtimeTarget\":\"WidgetPageDefinition.composition.links\"}}}",
4097
+ "content": "{\"_comment\":\"Template governado do laboratório Praxis para o arquétipo Ergon command-action.\",\"templateMeta\":{\"registryKey\":\"praxis-dynamic-page\",\"variantOf\":\"praxis-dynamic-page\",\"variantId\":\"ergon-archetype-command-action\",\"label\":\"Seleção, parâmetros, validação e retorno do comando\",\"description\":\"Prova actions reais e reversíveis sobre acordos regulatórios: discovery contextual, formulário derivado de schema, confirmação e read-after-write.\",\"useWhen\":\"Materialize o arquétipo operacional command-action com composição semântica certificável.\",\"examplePrompts\":[\"Crie uma tela command-action usando o arquétipo certificado Praxis.\",\"Materialize o caso command-action com Dynamic Page e UiCompositionPlan.\"]},\"aiDescription\":\"Prova actions reais e reversíveis sobre acordos regulatórios sem copiar regra de estado, schema ou endpoint para o plano.\",\"certification\":{\"status\":\"operational-proof\",\"route\":\"/dynamic-page-lab/archetypes/command-action\",\"legacyEvidence\":[\"ERGadm00189 · Operações de frequência\",\"Padrões Ergon de ação com validação e read-after-write\"],\"acceptance\":[\"Action disponível somente no estado permitido\",\"Justificativa validada por schema\",\"Confirmação explícita antes da mutação\",\"Status atualizado por read-after-write\",\"Estado inicial restaurado com alvo exato\"]},\"teaches\":[\"ui-composition-plan\",\"dynamic-page\",\"composition.links\",\"ergon-archetype.command-action\"],\"authoringPlanRef\":\"./praxis-dynamic-page.ergon-archetype-command-action.ui-composition-plan.artifact.json\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-command-action\",\"themePreset\":\"workspace-balanced\",\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"agreements\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"agreements\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1}}}}},\"widgets\":[{\"key\":\"agreements\",\"componentId\":\"praxis-crud\",\"role\":\"business-command-target\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"gavel\",\"title\":\"Acordos regulatórios\",\"subtitle\":\"Ações governadas por estado, schema, capabilities e HATEOAS reais\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"metadata\",\"crudId\",\"componentInstanceId\",\"enableCustomization\"],\"inputs\":{\"crudId\":\"quickstart-regulatory-agreements-commands\",\"componentInstanceId\":\"quickstart-regulatory-agreements-commands\",\"enableCustomization\":false,\"metadata\":{\"component\":\"praxis-crud\",\"resource\":{\"path\":\"operations/acordos-regulatorios\",\"idField\":\"id\",\"label\":\"acordos regulatórios\"},\"table\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nome\",\"jurisdicao\",\"status\",\"descricao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"nome\",\"direction\":\"asc\"}},\"filtering\":{\"enabled\":true,\"strategy\":\"server\",\"debounceTime\":300,\"advancedFilters\":{\"enabled\":true,\"settings\":{\"alwaysVisibleFields\":[\"nome\",\"status\"],\"mode\":\"filter\",\"allowSaveTags\":false,\"changeDebounceMs\":300,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true}}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false}},\"toolbar\":{\"visible\":true,\"position\":\"top\",\"columnsVisibility\":{\"enabled\":true},\"densityToggle\":{\"enabled\":true,\"values\":[\"compact\",\"comfortable\"]}},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"nome\",\"status\",\"jurisdicao\"]}}}},\"defaults\":{\"openMode\":\"drawer\",\"drawer\":{\"width\":\"720px\",\"maxWidth\":\"96vw\"}},\"actions\":[{\"id\":\"view\",\"action\":\"view\",\"label\":\"Visualizar\",\"openMode\":\"drawer\"}]}},\"outputs\":{\"rowAction\":\"emit\",\"resourceEvent\":\"emit\",\"afterOpen\":\"emit\",\"afterClose\":\"emit\",\"afterSave\":\"emit\",\"error\":\"emit\"}}],\"diagnostics\":{\"archetype\":\"command-action\",\"adherence\":[\"ja-suportado-mal-nomeado-ou-mal-materializado\"],\"evidence\":\"quickstart-real-http\",\"canonicalResource\":\"operations.acordos-regulatorios\",\"requiredSurfaces\":[\"POST /api/operations/acordos-regulatorios/filter\",\"GET /api/operations/acordos-regulatorios/{id}\",\"GET /api/operations/acordos-regulatorios/{id}/actions\",\"POST /api/operations/acordos-regulatorios/{id}/actions/suspend\",\"POST /api/operations/acordos-regulatorios/{id}/actions/reinstate\",\"GET /schemas/filtered\",\"GET /schemas/actions\"],\"localDataAllowed\":false,\"runtimeTarget\":\"WidgetPageDefinition.composition.links\"}}}",
4098
4098
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-command-action.json",
4099
- "contentHash": "1f2bdf206df74209349c9249e5cc895c262ce04b83e0a89a09e68ab1f83435d6",
4099
+ "contentHash": "11f4ec288099cea0d241b5c1603cdb4f6a27847f31734462229ea99ba204ae7e",
4100
4100
  "sourceKind": "component_definition",
4101
4101
  "sourceId": "praxis-dynamic-page",
4102
4102
  "corpusVersion": "1.0.0"
@@ -4104,9 +4104,9 @@
4104
4104
  {
4105
4105
  "chunkIndex": 108,
4106
4106
  "chunkKind": "recipe",
4107
- "content": "{\"_comment\":\"Template governado do laboratório Praxis para o arquétipo Ergon crud-simple.\",\"templateMeta\":{\"registryKey\":\"praxis-dynamic-page\",\"variantOf\":\"praxis-dynamic-page\",\"variantId\":\"ergon-archetype-crud-simple\",\"label\":\"Cadastro tabular com filtros, ações e formulário\",\"description\":\"Prova a jornada frequente do Ergon contra o catálogo real de habilidades do Quick Start: filtrar, criar, consultar, editar e excluir com formulários materializados pelo schema.\",\"useWhen\":\"Materialize o arquétipo operacional crud-simple com composição semântica certificável.\",\"examplePrompts\":[\"Crie uma tela crud-simple usando o arquétipo certificado Praxis.\",\"Materialize o caso crud-simple com Dynamic Page e UiCompositionPlan.\"]},\"aiDescription\":\"Prova um CRUD corporativo de baixa complexidade com o recurso real human-resources.habilidades do Quick Start, sem fixture nem configuração local de campos de formulário.\",\"certification\":{\"status\":\"operational-proof\",\"route\":\"/dynamic-page-lab/archetypes/crud-simple\",\"legacyEvidence\":[\"ERGadm00001 · Tipos de dependência\",\"ERGadm00549 · Tipos de grupos de cargo\"],\"acceptance\":[\"Filtros Praxis materializados pelo schema real\",\"Seleção e ações por registro governadas por capabilities e HATEOAS\",\"Create, read, update e delete reais com limpeza determinística\",\"Formulários de criação, consulta e edição materializados pelo schema\",\"Layout estreito sem perda funcional\"]},\"teaches\":[\"ui-composition-plan\",\"dynamic-page\",\"composition.links\",\"ergon-archetype.crud-simple\"],\"authoringPlanRef\":\"./praxis-dynamic-page.ergon-archetype-crud-simple.ui-composition-plan.artifact.json\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-crud-simple\",\"themePreset\":\"enterprise-operational\",\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"records\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"records\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1}}}}},\"widgets\":[{\"key\":\"records\",\"componentId\":\"praxis-crud\",\"role\":\"primary-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"psychology\",\"title\":\"Catálogo de habilidades\",\"subtitle\":\"Consulta e manutenção governadas pelo contrato real do Quick Start\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"metadata\",\"crudId\",\"componentInstanceId\",\"enableCustomization\"],\"inputs\":{\"crudId\":\"quickstart-skills-crud\",\"componentInstanceId\":\"quickstart-skills-crud\",\"enableCustomization\":false,\"metadata\":{\"component\":\"praxis-crud\",\"resource\":{\"path\":\"human-resources/habilidades\",\"idField\":\"id\",\"label\":\"habilidades\"},\"table\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nome\",\"categoria\",\"nivelPoder\",\"descricao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"nome\",\"direction\":\"asc\"}},\"filtering\":{\"enabled\":true,\"strategy\":\"server\",\"debounceTime\":300,\"advancedFilters\":{\"enabled\":true,\"settings\":{\"alwaysVisibleFields\":[\"nome\",\"categoria\"],\"mode\":\"filter\",\"allowSaveTags\":false,\"changeDebounceMs\":300,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true}}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":true,\"position\":\"top\",\"columnsVisibility\":{\"enabled\":true},\"densityToggle\":{\"enabled\":true,\"values\":[\"compact\",\"comfortable\"]}},\"actions\":{\"row\":{\"enabled\":true,\"position\":\"end\",\"display\":\"menu\",\"trigger\":\"always\",\"menuIcon\":\"more_vert\",\"header\":{\"label\":\"Ações\"},\"actions\":[{\"id\":\"view\",\"label\":\"Visualizar\",\"action\":\"view\",\"icon\":\"visibility\"},{\"id\":\"edit\",\"label\":\"Editar\",\"action\":\"edit\",\"icon\":\"edit\"},{\"id\":\"delete\",\"label\":\"Excluir\",\"action\":\"delete\",\"icon\":\"delete\"}]}},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"nome\",\"categoria\",\"nivelPoder\"]}}}},\"defaults\":{\"openMode\":\"drawer\",\"drawer\":{\"width\":\"720px\",\"maxWidth\":\"96vw\"}},\"actions\":[{\"id\":\"create\",\"action\":\"create\",\"label\":\"Adicionar habilidade\",\"openMode\":\"drawer\",\"form\":{\"submitLabel\":\"Criar habilidade\"}},{\"id\":\"view\",\"action\":\"view\",\"label\":\"Visualizar\",\"openMode\":\"drawer\"},{\"id\":\"edit\",\"action\":\"edit\",\"label\":\"Editar\",\"openMode\":\"drawer\",\"form\":{\"submitLabel\":\"Salvar habilidade\"}},{\"id\":\"delete\",\"action\":\"delete\",\"label\":\"Excluir\"}]}},\"outputs\":{\"afterOpen\":\"emit\",\"afterClose\":\"emit\",\"afterSave\":\"emit\",\"afterDelete\":\"emit\",\"error\":\"emit\"}}],\"diagnostics\":{\"archetype\":\"crud-simple\",\"adherence\":[\"ja-suportado-mal-nomeado-ou-mal-materializado\"],\"evidence\":\"quickstart-real-http\",\"canonicalResource\":\"human-resources.habilidades\",\"requiredSurfaces\":[\"POST /api/human-resources/habilidades/filter\",\"POST /api/human-resources/habilidades\",\"GET /api/human-resources/habilidades/{id}\",\"PUT /api/human-resources/habilidades/{id}\",\"DELETE /api/human-resources/habilidades/{id}\",\"GET /schemas/filtered\",\"GET /schemas/surfaces\",\"GET /api/human-resources/habilidades/capabilities\"],\"localDataAllowed\":false,\"runtimeTarget\":\"WidgetPageDefinition.composition.links\"}}}",
4107
+ "content": "{\"_comment\":\"Template governado do laboratório Praxis para o arquétipo Ergon crud-simple.\",\"templateMeta\":{\"registryKey\":\"praxis-dynamic-page\",\"variantOf\":\"praxis-dynamic-page\",\"variantId\":\"ergon-archetype-crud-simple\",\"label\":\"Cadastro tabular com filtros, ações e formulário\",\"description\":\"Prova a jornada frequente do Ergon contra o catálogo real de habilidades do Quick Start: filtrar, criar, consultar, editar e excluir com formulários materializados pelo schema.\",\"useWhen\":\"Materialize o arquétipo operacional crud-simple com composição semântica certificável.\",\"examplePrompts\":[\"Crie uma tela crud-simple usando o arquétipo certificado Praxis.\",\"Materialize o caso crud-simple com Dynamic Page e UiCompositionPlan.\"]},\"aiDescription\":\"Prova um CRUD corporativo de baixa complexidade com o recurso real human-resources.habilidades do Quick Start, sem fixture nem configuração local de campos de formulário.\",\"certification\":{\"status\":\"operational-proof\",\"route\":\"/dynamic-page-lab/archetypes/crud-simple\",\"legacyEvidence\":[\"ERGadm00001 · Tipos de dependência\",\"ERGadm00549 · Tipos de grupos de cargo\"],\"acceptance\":[\"Filtros Praxis materializados pelo schema real\",\"Seleção e ações por registro governadas por capabilities e HATEOAS\",\"Create, read, update e delete reais com limpeza determinística\",\"Formulários de criação, consulta e edição materializados pelo schema\",\"Layout estreito sem perda funcional\"]},\"teaches\":[\"ui-composition-plan\",\"dynamic-page\",\"composition.links\",\"ergon-archetype.crud-simple\"],\"authoringPlanRef\":\"./praxis-dynamic-page.ergon-archetype-crud-simple.ui-composition-plan.artifact.json\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-crud-simple\",\"themePreset\":\"workspace-balanced\",\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"records\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"records\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1}}}}},\"widgets\":[{\"key\":\"records\",\"componentId\":\"praxis-crud\",\"role\":\"primary-resource\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"psychology\",\"title\":\"Catálogo de habilidades\",\"subtitle\":\"Consulta e manutenção governadas pelo contrato real do Quick Start\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"metadata\",\"crudId\",\"componentInstanceId\",\"enableCustomization\"],\"inputs\":{\"crudId\":\"quickstart-skills-crud\",\"componentInstanceId\":\"quickstart-skills-crud\",\"enableCustomization\":false,\"metadata\":{\"component\":\"praxis-crud\",\"resource\":{\"path\":\"human-resources/habilidades\",\"idField\":\"id\",\"label\":\"habilidades\"},\"table\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"nome\",\"categoria\",\"nivelPoder\",\"descricao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"nome\",\"direction\":\"asc\"}},\"filtering\":{\"enabled\":true,\"strategy\":\"server\",\"debounceTime\":300,\"advancedFilters\":{\"enabled\":true,\"settings\":{\"alwaysVisibleFields\":[\"nome\",\"categoria\"],\"mode\":\"filter\",\"allowSaveTags\":false,\"changeDebounceMs\":300,\"showAdvancedButton\":true,\"showAddButton\":true,\"showClearButton\":true,\"showSearchButton\":false,\"placeBooleansInActions\":true}}},\"selection\":{\"enabled\":true,\"type\":\"single\",\"mode\":\"row\",\"allowSelectAll\":false,\"persistSelection\":false,\"persistOnDataUpdate\":false},\"interaction\":{\"rowClick\":{\"enabled\":true,\"action\":\"select\"}}},\"toolbar\":{\"visible\":true,\"position\":\"top\",\"columnsVisibility\":{\"enabled\":true},\"densityToggle\":{\"enabled\":true,\"values\":[\"compact\",\"comfortable\"]}},\"actions\":{\"row\":{\"enabled\":true,\"position\":\"end\",\"display\":\"menu\",\"trigger\":\"always\",\"menuIcon\":\"more_vert\",\"header\":{\"label\":\"Ações\"},\"actions\":[{\"id\":\"view\",\"label\":\"Visualizar\",\"action\":\"view\",\"icon\":\"visibility\"},{\"id\":\"edit\",\"label\":\"Editar\",\"action\":\"edit\",\"icon\":\"edit\"},{\"id\":\"delete\",\"label\":\"Excluir\",\"action\":\"delete\",\"icon\":\"delete\"}]}},\"appearance\":{\"density\":\"compact\",\"stickyHeader\":true,\"hoverHighlight\":true,\"responsive\":{\"breakpoints\":{\"mobile\":640},\"mobile\":{\"horizontalScroll\":false,\"cardMode\":true,\"priorityColumns\":[\"nome\",\"categoria\",\"nivelPoder\"]}}}},\"defaults\":{\"openMode\":\"drawer\",\"drawer\":{\"width\":\"720px\",\"maxWidth\":\"96vw\"}},\"actions\":[{\"id\":\"create\",\"action\":\"create\",\"label\":\"Adicionar habilidade\",\"openMode\":\"drawer\",\"form\":{\"submitLabel\":\"Criar habilidade\"}},{\"id\":\"view\",\"action\":\"view\",\"label\":\"Visualizar\",\"openMode\":\"drawer\"},{\"id\":\"edit\",\"action\":\"edit\",\"label\":\"Editar\",\"openMode\":\"drawer\",\"form\":{\"submitLabel\":\"Salvar habilidade\"}},{\"id\":\"delete\",\"action\":\"delete\",\"label\":\"Excluir\"}]}},\"outputs\":{\"afterOpen\":\"emit\",\"afterClose\":\"emit\",\"afterSave\":\"emit\",\"afterDelete\":\"emit\",\"error\":\"emit\"}}],\"diagnostics\":{\"archetype\":\"crud-simple\",\"adherence\":[\"ja-suportado-mal-nomeado-ou-mal-materializado\"],\"evidence\":\"quickstart-real-http\",\"canonicalResource\":\"human-resources.habilidades\",\"requiredSurfaces\":[\"POST /api/human-resources/habilidades/filter\",\"POST /api/human-resources/habilidades\",\"GET /api/human-resources/habilidades/{id}\",\"PUT /api/human-resources/habilidades/{id}\",\"DELETE /api/human-resources/habilidades/{id}\",\"GET /schemas/filtered\",\"GET /schemas/surfaces\",\"GET /api/human-resources/habilidades/capabilities\"],\"localDataAllowed\":false,\"runtimeTarget\":\"WidgetPageDefinition.composition.links\"}}}",
4108
4108
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-crud-simple.json",
4109
- "contentHash": "2f63c9c2eed01b6d4f09f48ba2decd8ff2933682b90ca68b3013bb6b661f483c",
4109
+ "contentHash": "875d42eb5b08058413f49a530e7a568ea94a0a1a6daa631a71e77336f6ed2f75",
4110
4110
  "sourceKind": "component_definition",
4111
4111
  "sourceId": "praxis-dynamic-page",
4112
4112
  "corpusVersion": "1.0.0"
@@ -4214,9 +4214,9 @@
4214
4214
  {
4215
4215
  "chunkIndex": 119,
4216
4216
  "chunkKind": "recipe",
4217
- "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"layoutPreset\":\"resource-master-detail-tabs\",\"themePreset\":\"enterprise-operational\",\"state\":{\"values\":{\"employeeFilter\":{},\"selectedEmployee\":null,\"selectedEmployeeId\":null,\"selectedEmployeeIdentity\":null},\"derived\":{\"detailTitle\":{\"dependsOn\":[\"selectedEmployeeIdentity\",\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedEmployeeIdentity.displayLabel\",\"selectedEmployeeIdentity.title.value\",\"selectedEmployee.nomeCompleto\"],\"fallback\":\"Nenhum funcionário selecionado\"}}},\"detailSubtitle\":{\"dependsOn\":[\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"select-case\",\"options\":{\"cases\":[{\"when\":{\"!!\":{\"var\":\"state.selectedEmployee\"}},\"template\":\"${state.selectedEmployee.cargoNome} · ${state.selectedEmployee.departamentoNome} · Código ${state.selectedEmployee.id}\"}],\"defaultValue\":\"Selecione um registro na tabela para consultar o detalhe publicado pelo Quick Start.\"}}}}},\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"filters\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1},\"master\":{\"col\":1,\"row\":2,\"colSpan\":12,\"rowSpan\":1},\"workspace\":{\"col\":1,\"row\":3,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"filters\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1},\"master\":{\"col\":1,\"row\":2,\"colSpan\":1,\"rowSpan\":1},\"workspace\":{\"col\":1,\"row\":3,\"colSpan\":1,\"rowSpan\":1}}}}}}}",
4217
+ "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"layoutPreset\":\"resource-master-detail-tabs\",\"themePreset\":\"workspace-balanced\",\"state\":{\"values\":{\"employeeFilter\":{},\"selectedEmployee\":null,\"selectedEmployeeId\":null,\"selectedEmployeeIdentity\":null},\"derived\":{\"detailTitle\":{\"dependsOn\":[\"selectedEmployeeIdentity\",\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedEmployeeIdentity.displayLabel\",\"selectedEmployeeIdentity.title.value\",\"selectedEmployee.nomeCompleto\"],\"fallback\":\"Nenhum funcionário selecionado\"}}},\"detailSubtitle\":{\"dependsOn\":[\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"select-case\",\"options\":{\"cases\":[{\"when\":{\"!!\":{\"var\":\"state.selectedEmployee\"}},\"template\":\"${state.selectedEmployee.cargoNome} · ${state.selectedEmployee.departamentoNome} · Código ${state.selectedEmployee.id}\"}],\"defaultValue\":\"Selecione um registro na tabela para consultar o detalhe publicado pelo Quick Start.\"}}}}},\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"filters\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1},\"master\":{\"col\":1,\"row\":2,\"colSpan\":12,\"rowSpan\":1},\"workspace\":{\"col\":1,\"row\":3,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"filters\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1},\"master\":{\"col\":1,\"row\":2,\"colSpan\":1,\"rowSpan\":1},\"workspace\":{\"col\":1,\"row\":3,\"colSpan\":1,\"rowSpan\":1}}}}}}}",
4218
4218
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-master-detail-tabs.json",
4219
- "contentHash": "2a769c8c9094f70987541e7d84e17d0536f73a5e1c5e9c89c53250d94b5a1975",
4219
+ "contentHash": "9be0369bdb9966c815db754d7841274951c713e73f3d690f9c704dee575c016a",
4220
4220
  "sourceKind": "component_definition",
4221
4221
  "sourceId": "praxis-dynamic-page",
4222
4222
  "corpusVersion": "1.0.0"
@@ -4224,9 +4224,9 @@
4224
4224
  {
4225
4225
  "chunkIndex": 120,
4226
4226
  "chunkKind": "recipe",
4227
- "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets\",\"authoringPlan\":{\"widgets\":[{\"key\":\"filters\",\"componentId\":\"praxis-filter\",\"role\":\"filters\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"filter_alt\",\"title\":\"Localizar funcionários\",\"subtitle\":\"Filtros inline derivados do DTO de filtro real do Quick Start\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"resourcePath\",\"componentInstanceId\",\"alwaysVisibleFields\",\"value\",\"disablePersistence\",\"enableCustomization\",\"showFilterSettings\",\"showAdvancedButton\",\"showAddButton\",\"showClearButton\",\"showSearchButton\",\"placeBooleansInActions\",\"changeDebounceMs\"],\"inputs\":{\"resourcePath\":\"human-resources/funcionarios\",\"componentInstanceId\":\"quickstart-employee-master-detail-tabs-filter\",\"alwaysVisibleFields\":[\"nomeCompleto\",\"departamentoIdsIn\",\"ativo\"],\"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\":\"master\",\"componentId\":\"praxis-table\",\"role\":\"master\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"Funcionários\",\"subtitle\":\"Coleção paginada pelo Quick Start; seleção única governa o detalhe\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-employee-master-detail-tabs-master\",\"resourcePath\":\"human-resources/funcionarios\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"asc\"}},\"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\":[\"nomeCompleto\",\"ativo\",\"cargoNome\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}}]}}",
4227
+ "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan.widgets\",\"authoringPlan\":{\"widgets\":[{\"key\":\"filters\",\"componentId\":\"praxis-filter\",\"role\":\"filters\",\"shell\":{\"kind\":\"none\",\"icon\":\"filter_alt\",\"title\":\"Localizar funcionários\",\"subtitle\":\"Filtros inline derivados do DTO de filtro real do Quick Start\",\"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\":\"human-resources/funcionarios\",\"componentInstanceId\":\"quickstart-employee-master-detail-tabs-filter\",\"alwaysVisibleFields\":[\"nomeCompleto\",\"departamentoIdsIn\",\"ativo\"],\"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\":\"master\",\"componentId\":\"praxis-table\",\"role\":\"master\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"Funcionários\",\"subtitle\":\"Coleção paginada pelo Quick Start; seleção única governa o detalhe\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-employee-master-detail-tabs-master\",\"resourcePath\":\"human-resources/funcionarios\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"asc\"}},\"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\":[\"nomeCompleto\",\"ativo\",\"cargoNome\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}}]}}",
4228
4228
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-master-detail-tabs.json",
4229
- "contentHash": "78823417dd54137b79b40e28572f55b310771ce39d965c2d6e5cd5cc91ab24f5",
4229
+ "contentHash": "69ae8a1520daa67277e5ca1060210a5d0ee9c881d4a16e6dacef1f1a238529f1",
4230
4230
  "sourceKind": "component_definition",
4231
4231
  "sourceId": "praxis-dynamic-page",
4232
4232
  "corpusVersion": "1.0.0"
@@ -4364,9 +4364,9 @@
4364
4364
  {
4365
4365
  "chunkIndex": 134,
4366
4366
  "chunkKind": "recipe",
4367
- "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"resource-master-detail\",\"layoutPresetOptions\":{\"presetFamily\":\"master-detail-dashboard\"},\"themePreset\":\"enterprise-operational\",\"state\":{\"values\":{\"employeeFilter\":{},\"selectedEmployee\":null,\"selectedEmployeeId\":null,\"selectedEmployeeIdentity\":null},\"derived\":{\"detailTitle\":{\"dependsOn\":[\"selectedEmployeeIdentity\",\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedEmployeeIdentity.displayLabel\",\"selectedEmployeeIdentity.title.value\",\"selectedEmployee.nomeCompleto\"],\"fallback\":\"Nenhum funcionário selecionado\"}}},\"detailSubtitle\":{\"dependsOn\":[\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"select-case\",\"options\":{\"cases\":[{\"when\":{\"!!\":{\"var\":\"state.selectedEmployee\"}},\"template\":\"${state.selectedEmployee.cargoNome} · ${state.selectedEmployee.departamentoNome} · Código ${state.selectedEmployee.id}\"}],\"defaultValue\":\"Selecione um registro na tabela para consultar o detalhe publicado pelo Quick Start.\"}}}}},\"widgets\":[{\"key\":\"filters\",\"componentId\":\"praxis-filter\",\"role\":\"filters\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"filter_alt\",\"title\":\"Localizar funcionários\",\"subtitle\":\"Filtros inline derivados do DTO de filtro real do Quick Start\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"resourcePath\",\"componentInstanceId\",\"alwaysVisibleFields\",\"value\",\"disablePersistence\",\"enableCustomization\",\"showFilterSettings\",\"showAdvancedButton\",\"showAddButton\",\"showClearButton\",\"showSearchButton\",\"placeBooleansInActions\",\"changeDebounceMs\"],\"inputs\":{\"resourcePath\":\"human-resources/funcionarios\",\"componentInstanceId\":\"quickstart-employee-master-detail-filter\",\"alwaysVisibleFields\":[\"nomeCompleto\",\"departamentoIdsIn\",\"ativo\"],\"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\":\"master\",\"componentId\":\"praxis-table\",\"role\":\"master\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"Funcionários\",\"subtitle\":\"Coleção paginada pelo Quick Start; seleção única governa o detalhe\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-employee-master\",\"resourcePath\":\"human-resources/funcionarios\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"asc\"}},\"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\":[\"nomeCompleto\",\"ativo\",\"cargoNome\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}},{\"key\":\"detail\",\"componentId\":\"praxis-dynamic-form\",\"role\":\"detail\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"badge\",\"title\":\"${state.detailTitle}\",\"subtitle\":\"${state.detailSubtitle}\",\"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-employee-detail\",\"componentInstanceId\":\"quickstart-employee-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, o detalhe 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\":{\"initializationError\":\"emit\"}}],\"bindings\":[{\"id\":\"filters.change->state.employeeFilter\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"filters\",\"port\":\"change\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"employeeFilter\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"filters.change->state.employeeFilter:pick\",\"path\":\"payload\",\"inputSource\":\"event\",\"fallbackValue\":{}},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"state.employeeFilter->master.queryContext\",\"intent\":\"state-read\",\"from\":{\"kind\":\"state\",\"path\":\"employeeFilter\"},\"to\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"queryContext\",\"direction\":\"input\"},\"transform\":{\"kind\":\"template\",\"id\":\"state.employeeFilter->master.queryContext:template\",\"template\":{\"filters\":\"${source}\"},\"inputSource\":\"payload\",\"output\":{\"semanticKind\":\"query-context\",\"stableShape\":true}},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployee\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployee\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployee:pick\",\"path\":\"payload.selectedRows.0\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployeeId\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployeeId\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployeeId:pick\",\"path\":\"payload.selectedRows.0.id\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployeeIdentity\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployeeIdentity\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployeeIdentity:pick\",\"path\":\"payload.resourceIdentity\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"state.selectedEmployeeId->detail.resourceId\",\"intent\":\"state-read\",\"from\":{\"kind\":\"state\",\"path\":\"selectedEmployeeId\"},\"to\":{\"kind\":\"component-port\",\"widget\":\"detail\",\"port\":\"resourceId\",\"direction\":\"input\"},\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}}]}}",
4367
+ "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"resource-master-detail\",\"layoutPresetOptions\":{\"presetFamily\":\"master-detail-dashboard\"},\"themePreset\":\"workspace-balanced\",\"state\":{\"values\":{\"employeeFilter\":{},\"selectedEmployee\":null,\"selectedEmployeeId\":null,\"selectedEmployeeIdentity\":null},\"derived\":{\"detailTitle\":{\"dependsOn\":[\"selectedEmployeeIdentity\",\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedEmployeeIdentity.displayLabel\",\"selectedEmployeeIdentity.title.value\",\"selectedEmployee.nomeCompleto\"],\"fallback\":\"Nenhum funcionário selecionado\"}}},\"detailSubtitle\":{\"dependsOn\":[\"selectedEmployee\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"select-case\",\"options\":{\"cases\":[{\"when\":{\"!!\":{\"var\":\"state.selectedEmployee\"}},\"template\":\"${state.selectedEmployee.cargoNome} · ${state.selectedEmployee.departamentoNome} · Código ${state.selectedEmployee.id}\"}],\"defaultValue\":\"Selecione um registro na tabela para consultar o detalhe publicado pelo Quick Start.\"}}}}},\"widgets\":[{\"key\":\"filters\",\"componentId\":\"praxis-filter\",\"role\":\"filters\",\"shell\":{\"kind\":\"dashboard-card\",\"preset\":\"frameless\",\"icon\":\"filter_alt\",\"title\":\"Localizar funcionários\",\"subtitle\":\"Filtros inline derivados do DTO de filtro real do Quick Start\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"resourcePath\",\"componentInstanceId\",\"alwaysVisibleFields\",\"value\",\"disablePersistence\",\"enableCustomization\",\"showFilterSettings\",\"showAdvancedButton\",\"showAddButton\",\"showClearButton\",\"showSearchButton\",\"placeBooleansInActions\",\"changeDebounceMs\"],\"inputs\":{\"resourcePath\":\"human-resources/funcionarios\",\"componentInstanceId\":\"quickstart-employee-master-detail-filter\",\"alwaysVisibleFields\":[\"nomeCompleto\",\"departamentoIdsIn\",\"ativo\"],\"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\":\"master\",\"componentId\":\"praxis-table\",\"role\":\"master\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"groups\",\"title\":\"Funcionários\",\"subtitle\":\"Coleção paginada pelo Quick Start; seleção única governa o detalhe\",\"bodyLayout\":\"fill\",\"windowActions\":{\"fullscreen\":true,\"collapsible\":true}},\"bindingOrder\":[\"tableId\",\"config\",\"configPersistenceStrategy\",\"enableCustomization\",\"queryContext\",\"resourcePath\"],\"inputs\":{\"tableId\":\"quickstart-employee-master\",\"resourcePath\":\"human-resources/funcionarios\",\"queryContext\":{\"filters\":{}},\"configPersistenceStrategy\":\"volatile\",\"enableCustomization\":false,\"config\":{\"columns\":[],\"columnProjection\":{\"source\":\"schema\",\"include\":[\"avatarUrl\",\"nomeCompleto\",\"ativo\",\"cargoNome\",\"departamentoNome\",\"dataAdmissao\"]},\"behavior\":{\"pagination\":{\"enabled\":true,\"strategy\":\"server\",\"pageSize\":8,\"pageSizeOptions\":[8,16,32],\"showFirstLastButtons\":true},\"sorting\":{\"enabled\":true,\"strategy\":\"server\",\"defaultSort\":{\"column\":\"id\",\"direction\":\"asc\"}},\"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\":[\"nomeCompleto\",\"ativo\",\"cargoNome\"]}}}}},\"outputs\":{\"selectionChange\":\"emit\"}},{\"key\":\"detail\",\"componentId\":\"praxis-dynamic-form\",\"role\":\"detail\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"badge\",\"title\":\"${state.detailTitle}\",\"subtitle\":\"${state.detailSubtitle}\",\"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-employee-detail\",\"componentInstanceId\":\"quickstart-employee-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, o detalhe 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\":{\"initializationError\":\"emit\"}}],\"bindings\":[{\"id\":\"filters.change->state.employeeFilter\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"filters\",\"port\":\"change\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"employeeFilter\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"filters.change->state.employeeFilter:pick\",\"path\":\"payload\",\"inputSource\":\"event\",\"fallbackValue\":{}},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"state.employeeFilter->master.queryContext\",\"intent\":\"state-read\",\"from\":{\"kind\":\"state\",\"path\":\"employeeFilter\"},\"to\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"queryContext\",\"direction\":\"input\"},\"transform\":{\"kind\":\"template\",\"id\":\"state.employeeFilter->master.queryContext:template\",\"template\":{\"filters\":\"${source}\"},\"inputSource\":\"payload\",\"output\":{\"semanticKind\":\"query-context\",\"stableShape\":true}},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployee\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployee\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployee:pick\",\"path\":\"payload.selectedRows.0\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployeeId\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployeeId\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployeeId:pick\",\"path\":\"payload.selectedRows.0.id\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"master.selectionChange->state.selectedEmployeeIdentity\",\"intent\":\"state-write\",\"from\":{\"kind\":\"component-port\",\"widget\":\"master\",\"port\":\"selectionChange\",\"direction\":\"output\"},\"to\":{\"kind\":\"state\",\"path\":\"selectedEmployeeIdentity\"},\"transform\":{\"kind\":\"pick-path\",\"id\":\"master.selectionChange->state.selectedEmployeeIdentity:pick\",\"path\":\"payload.resourceIdentity\",\"inputSource\":\"event\",\"fallbackValue\":null},\"metadata\":{\"source\":\"quickstart-real-http\"}},{\"id\":\"state.selectedEmployeeId->detail.resourceId\",\"intent\":\"state-read\",\"from\":{\"kind\":\"state\",\"path\":\"selectedEmployeeId\"},\"to\":{\"kind\":\"component-port\",\"widget\":\"detail\",\"port\":\"resourceId\",\"direction\":\"input\"},\"policy\":{\"missingValuePolicy\":\"propagate-undefined\",\"distinct\":true},\"metadata\":{\"source\":\"quickstart-real-http\"}}]}}",
4368
4368
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-master-detail.json",
4369
- "contentHash": "40ef80839626be201853a897cc1399338d47b76ecc0c83fa26d702d8ff9e0a0e",
4369
+ "contentHash": "c9e5fd98f6999ae7b34209c41f5cd310b42b50bdc69b05d44c22285388570e41",
4370
4370
  "sourceKind": "component_definition",
4371
4371
  "sourceId": "praxis-dynamic-page",
4372
4372
  "corpusVersion": "1.0.0"
@@ -4444,9 +4444,9 @@
4444
4444
  {
4445
4445
  "chunkIndex": 142,
4446
4446
  "chunkKind": "recipe",
4447
- "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-parent-child-related\",\"themePreset\":\"enterprise-operational\",\"state\":{\"values\":{\"missionFilter\":{},\"selectedMission\":null,\"selectedMissionId\":null,\"selectedMissionIdentity\":null,\"selectedParticipant\":null,\"selectedParticipantId\":null,\"selectedParticipantIdentity\":null},\"derived\":{\"teamTitle\":{\"dependsOn\":[\"selectedMissionIdentity\",\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedMissionIdentity.displayLabel\",\"selectedMissionIdentity.title.value\",\"selectedMission.titulo\"],\"fallback\":\"Equipe da missão\"}}},\"teamSubtitle\":{\"dependsOn\":[\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"join-nonempty\",\"options\":{\"paths\":[\"selectedMission.status\",\"selectedMission.prioridade\",\"selectedMission.local\"],\"delimiter\":\" · \",\"fallback\":\"Selecione uma missão para materializar sua equipe pela surface team.\"}}},\"participantTitle\":{\"dependsOn\":[\"selectedParticipantIdentity\",\"selectedParticipant\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedParticipantIdentity.displayLabel\",\"selectedParticipantIdentity.title.value\",\"selectedParticipant.funcionarioNome\"],\"fallback\":\"Detalhe do participante\"}}},\"participantSubtitle\":{\"dependsOn\":[\"selectedParticipant\",\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"join-nonempty\",\"options\":{\"paths\":[\"selectedParticipant.papel\",\"selectedParticipant.resultado\",\"selectedParticipant.missaoTitulo\"],\"delimiter\":\" · \",\"fallback\":\"Selecione um participante da equipe para consultar o registro publicado pelo Quick Start.\"}}}}},\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"missionFilters\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1},\"parents\":{\"col\":1,\"row\":2,\"colSpan\":5,\"rowSpan\":1},\"children\":{\"col\":6,\"row\":2,\"colSpan\":7,\"rowSpan\":1},\"childDetail\":{\"col\":1,\"row\":3,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"missionFilters\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1},\"parents\":{\"col\":1,\"row\":2,\"colSpan\":1,\"rowSpan\":1},\"children\":{\"col\":1,\"row\":3,\"colSpan\":1,\"rowSpan\":1},\"childDetail\":{\"col\":1,\"row\":4,\"colSpan\":1,\"rowSpan\":1}}}}}}}",
4447
+ "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"version\":\"1.0\",\"kind\":\"praxis.ui-composition-plan\",\"layoutPreset\":\"ergon-parent-child-related\",\"themePreset\":\"workspace-balanced\",\"state\":{\"values\":{\"missionFilter\":{},\"selectedMission\":null,\"selectedMissionId\":null,\"selectedMissionIdentity\":null,\"selectedParticipant\":null,\"selectedParticipantId\":null,\"selectedParticipantIdentity\":null},\"derived\":{\"teamTitle\":{\"dependsOn\":[\"selectedMissionIdentity\",\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedMissionIdentity.displayLabel\",\"selectedMissionIdentity.title.value\",\"selectedMission.titulo\"],\"fallback\":\"Equipe da missão\"}}},\"teamSubtitle\":{\"dependsOn\":[\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"join-nonempty\",\"options\":{\"paths\":[\"selectedMission.status\",\"selectedMission.prioridade\",\"selectedMission.local\"],\"delimiter\":\" · \",\"fallback\":\"Selecione uma missão para materializar sua equipe pela surface team.\"}}},\"participantTitle\":{\"dependsOn\":[\"selectedParticipantIdentity\",\"selectedParticipant\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"coalesce\",\"options\":{\"paths\":[\"selectedParticipantIdentity.displayLabel\",\"selectedParticipantIdentity.title.value\",\"selectedParticipant.funcionarioNome\"],\"fallback\":\"Detalhe do participante\"}}},\"participantSubtitle\":{\"dependsOn\":[\"selectedParticipant\",\"selectedMission\"],\"compute\":{\"kind\":\"operator\",\"operator\":\"join-nonempty\",\"options\":{\"paths\":[\"selectedParticipant.papel\",\"selectedParticipant.resultado\",\"selectedParticipant.missaoTitulo\"],\"delimiter\":\" · \",\"fallback\":\"Selecione um participante da equipe para consultar o registro publicado pelo Quick Start.\"}}}}},\"canvas\":{\"mode\":\"grid\",\"columns\":12,\"rowUnit\":\"auto\",\"gap\":\"16px\",\"autoRows\":\"content\",\"items\":{\"missionFilters\":{\"col\":1,\"row\":1,\"colSpan\":12,\"rowSpan\":1},\"parents\":{\"col\":1,\"row\":2,\"colSpan\":5,\"rowSpan\":1,\"constraints\":{\"minColSpan\":4}},\"children\":{\"col\":6,\"row\":2,\"colSpan\":7,\"rowSpan\":1,\"constraints\":{\"minColSpan\":4}},\"childDetail\":{\"col\":1,\"row\":3,\"colSpan\":12,\"rowSpan\":1}}},\"deviceLayouts\":{\"mobile\":{\"canvas\":{\"mode\":\"grid\",\"columns\":1,\"rowUnit\":\"auto\",\"gap\":\"12px\",\"autoRows\":\"content\",\"items\":{\"missionFilters\":{\"col\":1,\"row\":1,\"colSpan\":1,\"rowSpan\":1},\"parents\":{\"col\":1,\"row\":2,\"colSpan\":1,\"rowSpan\":1,\"constraints\":{\"minColSpan\":1}},\"children\":{\"col\":1,\"row\":3,\"colSpan\":1,\"rowSpan\":1,\"constraints\":{\"minColSpan\":1}},\"childDetail\":{\"col\":1,\"row\":4,\"colSpan\":1,\"rowSpan\":1}}}}}}}",
4448
4448
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-parent-child-related.json",
4449
- "contentHash": "7f4f7ac9ac674df2450764a3dfd36e6c8737279c7b90d0f9baae15685f077f88",
4449
+ "contentHash": "4625d259458fb5e52461965b2c5c1576bda9373826318842a584c89edc27d4c8",
4450
4450
  "sourceKind": "component_definition",
4451
4451
  "sourceId": "praxis-dynamic-page",
4452
4452
  "corpusVersion": "1.0.0"
@@ -4454,9 +4454,9 @@
4454
4454
  {
4455
4455
  "chunkIndex": 143,
4456
4456
  "chunkKind": "recipe",
4457
- "content": "{\"componentId\":\"praxis-dynamic-page\",\"chunkSection\":\"authoringPlan\",\"authoringPlan\":{\"widgets\":[{\"key\":\"missionFilters\",\"componentId\":\"praxis-filter\",\"role\":\"query-context\",\"shell\":{\"kind\":\"dashboard-card\",\"icon\":\"filter_alt\",\"title\":\"Localizar missões\",\"subtitle\":\"Filtros inline derivados do contrato real de operations.missoes\",\"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\"}}]}}",
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
4458
  "sourcePointer": "examples/ai-recipes/praxis-dynamic-page.ergon-archetype-parent-child-related.json",
4459
- "contentHash": "83f7e3ad9fc009387e60a8987194f5e74d43804b16fdb10208c91202565b7792",
4459
+ "contentHash": "4e64bde244aa8c9ed9a7bc88fc89444337f1dbf7e95777d34ead14e8ac4bf622",
4460
4460
  "sourceKind": "component_definition",
4461
4461
  "sourceId": "praxis-dynamic-page",
4462
4462
  "corpusVersion": "1.0.0"