@praxisui/list 10.0.0-rc.38 → 10.0.0-rc.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-10-23T20:24:09.136Z",
3
+ "generatedAt": "2026-10-26T17:40:14.409Z",
4
4
  "packageName": "@praxisui/list",
5
- "packageVersion": "10.0.0-rc.38",
5
+ "packageVersion": "10.0.0-rc.39",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 1,
@@ -1604,6 +1604,12 @@
1604
1604
  ],
1605
1605
  "description": "Action placement in row layout actions or trailing slot."
1606
1606
  },
1607
+ {
1608
+ "path": "actions[].quickView",
1609
+ "category": "actions",
1610
+ "valueKind": "object",
1611
+ "description": "Declarative ResourceQuickViewBinding for contextual read-only preview triggered by the list item action."
1612
+ },
1607
1613
  {
1608
1614
  "path": "actions[].confirmation",
1609
1615
  "category": "actions",
@@ -4490,6 +4496,9 @@
4490
4496
  ]
4491
4497
  }
4492
4498
  }
4499
+ },
4500
+ "quickView": {
4501
+ "type": "object"
4493
4502
  }
4494
4503
  }
4495
4504
  },
@@ -4787,6 +4796,9 @@
4787
4796
  ]
4788
4797
  }
4789
4798
  }
4799
+ },
4800
+ "quickView": {
4801
+ "type": "object"
4790
4802
  }
4791
4803
  }
4792
4804
  },
@@ -5224,6 +5236,9 @@
5224
5236
  ]
5225
5237
  }
5226
5238
  }
5239
+ },
5240
+ "quickView": {
5241
+ "type": "object"
5227
5242
  }
5228
5243
  }
5229
5244
  }
@@ -5541,6 +5556,9 @@
5541
5556
  ]
5542
5557
  }
5543
5558
  }
5559
+ },
5560
+ "quickView": {
5561
+ "type": "object"
5544
5562
  }
5545
5563
  }
5546
5564
  }
@@ -5661,6 +5679,9 @@
5661
5679
  "menu"
5662
5680
  ]
5663
5681
  },
5682
+ "quickView": {
5683
+ "type": "object"
5684
+ },
5664
5685
  "confirmation": {
5665
5686
  "type": "object",
5666
5687
  "properties": {
@@ -6860,6 +6881,9 @@
6860
6881
  ]
6861
6882
  }
6862
6883
  }
6884
+ },
6885
+ "quickView": {
6886
+ "type": "object"
6863
6887
  }
6864
6888
  }
6865
6889
  },
@@ -7144,6 +7168,9 @@
7144
7168
  ]
7145
7169
  }
7146
7170
  }
7171
+ },
7172
+ "quickView": {
7173
+ "type": "object"
7147
7174
  }
7148
7175
  }
7149
7176
  },
@@ -7469,6 +7496,9 @@
7469
7496
  ]
7470
7497
  }
7471
7498
  }
7499
+ },
7500
+ "quickView": {
7501
+ "type": "object"
7472
7502
  }
7473
7503
  }
7474
7504
  },
@@ -8000,6 +8030,9 @@
8000
8030
  ]
8001
8031
  }
8002
8032
  }
8033
+ },
8034
+ "quickView": {
8035
+ "type": "object"
8003
8036
  }
8004
8037
  }
8005
8038
  },
@@ -8265,6 +8298,9 @@
8265
8298
  ]
8266
8299
  }
8267
8300
  }
8301
+ },
8302
+ "quickView": {
8303
+ "type": "object"
8268
8304
  }
8269
8305
  }
8270
8306
  }
@@ -9524,9 +9560,9 @@
9524
9560
  {
9525
9561
  "chunkIndex": 2,
9526
9562
  "chunkKind": "capabilities",
9527
- "content": "Component Capability:\n - Path: export.general.maxRows\n Category: export\n Kind: number\n Description: Maximum rows to include in local export.\n\nComponent Capability:\n - Path: export.general.defaultFileName\n Category: export\n Kind: string\n Description: Default export file name.\n\nComponent Capability:\n - Path: export.general.includeFields\n Category: export\n Kind: array\n Description: Field paths to include, or \"all\" for inferred object keys.\n\nComponent Capability:\n - Path: export.general.applyFormatting\n Category: export\n Kind: boolean\n Description: Apply configured field formatting when available.\n\nComponent Capability:\n - Path: interaction\n Category: interaction\n Kind: object\n Description: Expandable row interaction settings.\n\nComponent Capability:\n - Path: interaction.expandable\n Category: interaction\n Kind: boolean\n Description: Enable inline row expansion.\n\nComponent Capability:\n - Path: interaction.expandTrigger\n Category: interaction\n Kind: enum\n Description: How expansion is triggered.\n\nComponent Capability:\n - Path: interaction.expandMode\n Category: interaction\n Kind: enum\n Description: Whether one or many rows may be expanded.\n\nComponent Capability:\n - Path: interaction.expandPlacement\n Category: interaction\n Kind: enum\n Description: Where the expansion control is rendered.\n\nComponent Capability:\n - Path: templating\n Category: templating\n Kind: object\n Description: Templating settings.\n\nComponent Capability:\n - Path: templating.metaPlacement\n Category: templating\n Kind: enum\n Description: Meta placement in list variant.\n\nComponent Capability:\n - Path: templating.metaPrefixIcon\n Category: templating\n Kind: string\n Description: Prefix icon for meta.\n\nComponent Capability:\n - Path: templating.statusPosition\n Category: templating\n Kind: enum\n Description: Status position in cards/tiles.\n\nComponent Capability:\n - Path: templating.chipColorMap\n Category: templating\n Kind: object\n Description: Map value -> chip color.\n\nComponent Capability:\n - Path: templating.chipLabelMap\n Category: templating\n Kind: object\n Description: Map value -> label.\n\nComponent Capability:\n - Path: templating.iconColorMap\n Category: templating\n Kind: object\n Description: Map value/icon -> color.\n\nComponent Capability:\n - Path: templating.features\n Category: templating\n Kind: array\n Description: Extra feature line entries.\n\nComponent Capability:\n - Path: templating.features[].icon\n Category: templating\n Kind: string\n Description: Feature icon.\n\nComponent Capability:\n - Path: templating.features[].expr\n Category: templating\n Kind: expression\n Description: Templating expression for feature label; not Json Logic.\n\nComponent Capability:\n - Path: templating.features[].class\n Category: templating\n Kind: string\n Description: Feature CSS class.\n\nComponent Capability:\n - Path: templating.features[].style\n Category: templating\n Kind: string\n Description: Feature inline CSS.\n\nComponent Capability:\n - Path: templating.featuresVisible\n Category: templating\n Kind: boolean\n Description: Show features line.\n\nComponent Capability:\n - Path: templating.featuresMode\n Category: templating\n Kind: enum\n Description: Features render mode.\n\nComponent Capability:\n - Path: templating.skeleton\n Category: templating\n Kind: object\n Description: Skeleton loading config.\n\nComponent Capability:\n - Path: templating.skeleton.count\n Category: templating\n Kind: number\n Description: Skeleton items count.\n\nComponent Capability:\n - Path: actions\n Category: actions\n Kind: array\n Description: Item actions array.\n\nComponent Capability:\n - Path: actions[]\n Category: actions\n Kind: object\n Description: Single item action entry.\n\nComponent Capability:\n - Path: actions[].id\n Category: actions\n Kind: string\n Description: Action id.\n\nComponent Capability:\n - Path: actions[].icon\n Category: actions\n Kind: string\n Description: Action icon.\n\nComponent Capability:\n - Path: actions[].label\n Category: actions\n Kind: string\n Description: Action label.\n\nComponent Capability:\n - Path: actions[].color\n Category: actions\n Kind: string\n Description: Action color.\n\nComponent Capability:\n - Path: actions[].kind\n Category: actions\n Kind: enum\n Description: Action render kind.\n\nComponent Capability:\n - Path: actions[].buttonVariant\n Category: actions\n Kind: enum\n Description: Action button variant.\n\nComponent Capability:\n - Path: actions[].showIf\n Category: actions\n Kind: expression\n Description: Json Logic visibility condition for the current row.\n\nComponent Capability:\n - Path: actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Canonical global app action id (ex.: \"toast.success\" ou \"navigation.openRoute\").\n\nComponent Capability:\n - Path: actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Structured payload for the global app action (JSON/template), including internal route payloads resolved from item context.\n\nComponent Capability:\n - Path: actions[].globalAction.payloadExpr\n Category: actions\n Kind: expression\n Description: Advanced payload expression for the global app action when structured payload is not authored.\n\nComponent Capability:\n - Path: actions[].emitLocal\n Category: actions\n Kind: boolean\n Description: Emit local actionClick even when globalAction is set.\n\nComponent Capability:\n - Path: actions[].showLoading\n Category: actions\n Kind: boolean\n Description: Show loading state while a global action executes.\n\nComponent Capability:\n - Path: actions[].placement\n Category: actions\n Kind: enum\n Description: Action placement in row layout actions or trailing slot.\n\nComponent Capability:\n - Path: actions[].confirmation\n Category: actions\n Kind: object\n Description: Confirmation prompt before executing the action.\n\nComponent Capability:\n - Path: actions[].confirmation.title\n Category: actions\n Kind: string\n Description: Confirmation title.\n\nComponent Capability:\n - Path: actions[].confirmation.message\n Category: actions\n Kind: string\n Description: Confirmation message.\n\nComponent Capability:\n - Path: actions[].confirmation.type\n Category: actions\n Kind: enum\n Description: Confirmation severity.\n\nComponent Capability:\n - Path: rules\n Category: rules\n Kind: object\n Description: Conditional list item styling and slot override rules.\n\nComponent Capability:\n - Path: rules.itemStyles\n Category: rules\n Kind: array\n Description: Conditional item style rules.\n\nComponent Capability:\n - Path: rules.itemStyles[].id\n Category: rules\n Kind: string\n Description: Stable item style rule id.\n\nComponent Capability:\n - Path: rules.itemStyles[].condition\n Category: rules\n Kind: expression\n Description: Json Logic condition in row context.\n\nComponent Capability:\n - Path: rules.itemStyles[].tone\n Category: rules\n Kind: enum\n Description: Semantic tone applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].class\n Category: rules\n Kind: string\n Description: CSS class applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].style\n Category: rules\n Kind: string\n Description: Inline style applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].border\n Category: rules\n Kind: string\n Description: Border style override applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].background\n Category: rules\n Kind: string\n Description: Background style override applied when the rule matches.",
9563
+ "content": "Component Capability:\n - Path: export.general.maxRows\n Category: export\n Kind: number\n Description: Maximum rows to include in local export.\n\nComponent Capability:\n - Path: export.general.defaultFileName\n Category: export\n Kind: string\n Description: Default export file name.\n\nComponent Capability:\n - Path: export.general.includeFields\n Category: export\n Kind: array\n Description: Field paths to include, or \"all\" for inferred object keys.\n\nComponent Capability:\n - Path: export.general.applyFormatting\n Category: export\n Kind: boolean\n Description: Apply configured field formatting when available.\n\nComponent Capability:\n - Path: interaction\n Category: interaction\n Kind: object\n Description: Expandable row interaction settings.\n\nComponent Capability:\n - Path: interaction.expandable\n Category: interaction\n Kind: boolean\n Description: Enable inline row expansion.\n\nComponent Capability:\n - Path: interaction.expandTrigger\n Category: interaction\n Kind: enum\n Description: How expansion is triggered.\n\nComponent Capability:\n - Path: interaction.expandMode\n Category: interaction\n Kind: enum\n Description: Whether one or many rows may be expanded.\n\nComponent Capability:\n - Path: interaction.expandPlacement\n Category: interaction\n Kind: enum\n Description: Where the expansion control is rendered.\n\nComponent Capability:\n - Path: templating\n Category: templating\n Kind: object\n Description: Templating settings.\n\nComponent Capability:\n - Path: templating.metaPlacement\n Category: templating\n Kind: enum\n Description: Meta placement in list variant.\n\nComponent Capability:\n - Path: templating.metaPrefixIcon\n Category: templating\n Kind: string\n Description: Prefix icon for meta.\n\nComponent Capability:\n - Path: templating.statusPosition\n Category: templating\n Kind: enum\n Description: Status position in cards/tiles.\n\nComponent Capability:\n - Path: templating.chipColorMap\n Category: templating\n Kind: object\n Description: Map value -> chip color.\n\nComponent Capability:\n - Path: templating.chipLabelMap\n Category: templating\n Kind: object\n Description: Map value -> label.\n\nComponent Capability:\n - Path: templating.iconColorMap\n Category: templating\n Kind: object\n Description: Map value/icon -> color.\n\nComponent Capability:\n - Path: templating.features\n Category: templating\n Kind: array\n Description: Extra feature line entries.\n\nComponent Capability:\n - Path: templating.features[].icon\n Category: templating\n Kind: string\n Description: Feature icon.\n\nComponent Capability:\n - Path: templating.features[].expr\n Category: templating\n Kind: expression\n Description: Templating expression for feature label; not Json Logic.\n\nComponent Capability:\n - Path: templating.features[].class\n Category: templating\n Kind: string\n Description: Feature CSS class.\n\nComponent Capability:\n - Path: templating.features[].style\n Category: templating\n Kind: string\n Description: Feature inline CSS.\n\nComponent Capability:\n - Path: templating.featuresVisible\n Category: templating\n Kind: boolean\n Description: Show features line.\n\nComponent Capability:\n - Path: templating.featuresMode\n Category: templating\n Kind: enum\n Description: Features render mode.\n\nComponent Capability:\n - Path: templating.skeleton\n Category: templating\n Kind: object\n Description: Skeleton loading config.\n\nComponent Capability:\n - Path: templating.skeleton.count\n Category: templating\n Kind: number\n Description: Skeleton items count.\n\nComponent Capability:\n - Path: actions\n Category: actions\n Kind: array\n Description: Item actions array.\n\nComponent Capability:\n - Path: actions[]\n Category: actions\n Kind: object\n Description: Single item action entry.\n\nComponent Capability:\n - Path: actions[].id\n Category: actions\n Kind: string\n Description: Action id.\n\nComponent Capability:\n - Path: actions[].icon\n Category: actions\n Kind: string\n Description: Action icon.\n\nComponent Capability:\n - Path: actions[].label\n Category: actions\n Kind: string\n Description: Action label.\n\nComponent Capability:\n - Path: actions[].color\n Category: actions\n Kind: string\n Description: Action color.\n\nComponent Capability:\n - Path: actions[].kind\n Category: actions\n Kind: enum\n Description: Action render kind.\n\nComponent Capability:\n - Path: actions[].buttonVariant\n Category: actions\n Kind: enum\n Description: Action button variant.\n\nComponent Capability:\n - Path: actions[].showIf\n Category: actions\n Kind: expression\n Description: Json Logic visibility condition for the current row.\n\nComponent Capability:\n - Path: actions[].globalAction.[actionId]\n Category: actions\n Kind: string\n Description: Canonical global app action id (ex.: \"toast.success\" ou \"navigation.openRoute\").\n\nComponent Capability:\n - Path: actions[].globalAction.payload\n Category: actions\n Kind: object\n Description: Structured payload for the global app action (JSON/template), including internal route payloads resolved from item context.\n\nComponent Capability:\n - Path: actions[].globalAction.payloadExpr\n Category: actions\n Kind: expression\n Description: Advanced payload expression for the global app action when structured payload is not authored.\n\nComponent Capability:\n - Path: actions[].emitLocal\n Category: actions\n Kind: boolean\n Description: Emit local actionClick even when globalAction is set.\n\nComponent Capability:\n - Path: actions[].showLoading\n Category: actions\n Kind: boolean\n Description: Show loading state while a global action executes.\n\nComponent Capability:\n - Path: actions[].placement\n Category: actions\n Kind: enum\n Description: Action placement in row layout actions or trailing slot.\n\nComponent Capability:\n - Path: actions[].quickView\n Category: actions\n Kind: object\n Description: Declarative ResourceQuickViewBinding for contextual read-only preview triggered by the list item action.\n\nComponent Capability:\n - Path: actions[].confirmation\n Category: actions\n Kind: object\n Description: Confirmation prompt before executing the action.\n\nComponent Capability:\n - Path: actions[].confirmation.title\n Category: actions\n Kind: string\n Description: Confirmation title.\n\nComponent Capability:\n - Path: actions[].confirmation.message\n Category: actions\n Kind: string\n Description: Confirmation message.\n\nComponent Capability:\n - Path: actions[].confirmation.type\n Category: actions\n Kind: enum\n Description: Confirmation severity.\n\nComponent Capability:\n - Path: rules\n Category: rules\n Kind: object\n Description: Conditional list item styling and slot override rules.\n\nComponent Capability:\n - Path: rules.itemStyles\n Category: rules\n Kind: array\n Description: Conditional item style rules.\n\nComponent Capability:\n - Path: rules.itemStyles[].id\n Category: rules\n Kind: string\n Description: Stable item style rule id.\n\nComponent Capability:\n - Path: rules.itemStyles[].condition\n Category: rules\n Kind: expression\n Description: Json Logic condition in row context.\n\nComponent Capability:\n - Path: rules.itemStyles[].tone\n Category: rules\n Kind: enum\n Description: Semantic tone applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].class\n Category: rules\n Kind: string\n Description: CSS class applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].style\n Category: rules\n Kind: string\n Description: Inline style applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].border\n Category: rules\n Kind: string\n Description: Border style override applied when the rule matches.",
9528
9564
  "sourcePointer": "projects/praxis-list/src/lib/ai/list-ai-capabilities.ts",
9529
- "contentHash": "1b4b7ef585e8ca86dc0dfefa2befd047339c4f90c9feaf77fa6552977cf1a96c",
9565
+ "contentHash": "0869e064f1b12d17a6ea93d46a36429cc44c30800c8bda70fe3002963f756ba5",
9530
9566
  "sourceKind": "component_definition",
9531
9567
  "sourceId": "praxis-list",
9532
9568
  "corpusVersion": "1.0.0"
@@ -9534,9 +9570,9 @@
9534
9570
  {
9535
9571
  "chunkIndex": 3,
9536
9572
  "chunkKind": "capabilities",
9537
- "content": "Component Capability:\n - Path: rules.itemStyles[].effects\n Category: rules\n Kind: array\n Description: Canonical conditional effect array aligned with PraxisRuntimeConditionalEffectRule<ListItemStyleEffect>.\n\nComponent Capability:\n - Path: rules.itemStyles[].effects[].kind\n Category: rules\n Kind: enum\n Description: Discriminator for list item style effects.\n\nComponent Capability:\n - Path: rules.slotOverrides\n Category: rules\n Kind: array\n Description: Conditional slot template override rules.\n\nComponent Capability:\n - Path: rules.slotOverrides[].id\n Category: rules\n Kind: string\n Description: Stable slot override rule id.\n\nComponent Capability:\n - Path: rules.slotOverrides[].slot\n Category: rules\n Kind: enum\n Description: Templating slot affected by the override.\n\nComponent Capability:\n - Path: rules.slotOverrides[].condition\n Category: rules\n Kind: expression\n Description: Json Logic condition in row context.\n\nComponent Capability:\n - Path: rules.slotOverrides[].template\n Category: rules\n Kind: object\n Description: Template override applied when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].class\n Category: rules\n Kind: string\n Description: CSS class appended when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].style\n Category: rules\n Kind: string\n Description: Inline style appended when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].hide\n Category: rules\n Kind: boolean\n Description: Hide the slot when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].effects\n Category: rules\n Kind: array\n Description: Canonical conditional effect array aligned with PraxisRuntimeConditionalEffectRule<ListSlotOverrideEffect>.\n\nComponent Capability:\n - Path: rules.slotOverrides[].effects[].kind\n Category: rules\n Kind: enum\n Description: Discriminator for list slot override effects.\n\nComponent Capability:\n - Path: expansion\n Category: expansion\n Kind: object\n Description: Inline expansion sections and remote detail contract.\n\nComponent Capability:\n - Path: expansion.sections\n Category: expansion\n Kind: array\n Description: Expansion detail sections.\n\nComponent Capability:\n - Path: expansion.sections[].id\n Category: expansion\n Kind: string\n Description: Stable expansion section id.\n\nComponent Capability:\n - Path: expansion.sections[].title\n Category: expansion\n Kind: string\n Description: Expansion section title.\n\nComponent Capability:\n - Path: expansion.sections[].type\n Category: expansion\n Kind: enum\n Description: Expansion section renderer type.\n\nComponent Capability:\n - Path: expansion.sections[].itemsExpr\n Category: expansion\n Kind: expression\n Description: Expression used to resolve section items from the row.\n\nComponent Capability:\n - Path: expansion.sections[].document\n Category: expansion\n Kind: object\n Description: Canonical RichContentDocument rendered when type=rich-content.\n\nComponent Capability:\n - Path: expansion.sections[].documentExpr\n Category: expansion\n Kind: expression\n Description: Expression resolving to a RichContentDocument for type=rich-content.\n\nComponent Capability:\n - Path: expansion.sections[].emptyLabel\n Category: expansion\n Kind: string\n Description: Empty label for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].metadata\n Category: expansion\n Kind: object\n Description: Metadata rendering options for metadata expansion sections.\n\nComponent Capability:\n - Path: expansion.sections[].component\n Category: expansion\n Kind: object\n Description: Runtime component rendering options for component expansion sections.\n\nComponent Capability:\n - Path: expansion.sections[].class\n Category: expansion\n Kind: string\n Description: CSS class for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].style\n Category: expansion\n Kind: string\n Description: Inline style for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].showIf\n Category: expansion\n Kind: expression\n Description: Json Logic visibility condition for an expansion section.\n\nComponent Capability:\n - Path: expansion.dataSource\n Category: expansion\n Kind: object\n Description: Expansion detail data source.\n\nComponent Capability:\n - Path: expansion.dataSource.mode\n Category: expansion\n Kind: enum\n Description: Expansion data source mode.\n\nComponent Capability:\n - Path: expansion.dataSource.resource\n Category: expansion\n Kind: object\n Description: Canonical resource descriptor for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.kind\n Category: expansion\n Kind: string\n Description: Canonical expansion resource kind.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.id\n Category: expansion\n Kind: string\n Description: Canonical expansion resource id.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.version\n Category: expansion\n Kind: string\n Description: Canonical expansion resource version.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath\n Category: expansion\n Kind: object\n Description: Dynamic resource path descriptor for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.path\n Category: expansion\n Kind: string\n Description: Expression-backed remote path for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.method\n Category: expansion\n Kind: enum\n Description: HTTP method for dynamic expansion resource path.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.paramsMap\n Category: expansion\n Kind: object\n Description: Parameter map for dynamic expansion resource path.\n\nComponent Capability:\n - Path: expansion.dataSource.resourceAllowList\n Category: expansion\n Kind: array\n Description: Allowlist for dynamic expansion resource paths.\n\nComponent Capability:\n - Path: expansion.dataSource.fallbackMode\n Category: expansion\n Kind: enum\n Description: Fallback mode for expansion detail loading.\n\nComponent Capability:\n - Path: expansion.dataSource.cache\n Category: expansion\n Kind: object\n Description: Expansion detail cache configuration.\n\nComponent Capability:\n - Path: expansion.dataSource.cache.enabled\n Category: expansion\n Kind: boolean\n Description: Enable expansion detail cache.\n\nComponent Capability:\n - Path: expansion.dataSource.cancelOnCollapse\n Category: expansion\n Kind: boolean\n Description: Cancel expansion detail loading when a row collapses.\n\nComponent Capability:\n - Path: expansion.schemaContract\n Category: expansion\n Kind: object\n Description: Fail-closed schema contract for remote expansion details.\n\nComponent Capability:\n - Path: expansion.schemaContract.kind\n Category: expansion\n Kind: string\n Description: Expansion schema contract kind.\n\nComponent Capability:\n - Path: expansion.schemaContract.version\n Category: expansion\n Kind: string\n Description: Expansion schema contract version.\n\nComponent Capability:\n - Path: expansion.schemaContract.allowedNodes\n Category: expansion\n Kind: array\n Description: Allowed remote expansion node types.\n\nComponent Capability:\n - Path: expansion.schemaContract.maxSections\n Category: expansion\n Kind: number\n Description: Maximum number of remote expansion sections.\n\nComponent Capability:\n - Path: expansion.schemaContract.maxItemsPerSection\n Category: expansion\n Kind: number\n Description: Maximum number of items per remote expansion section.",
9573
+ "content": "Component Capability:\n - Path: rules.itemStyles[].background\n Category: rules\n Kind: string\n Description: Background style override applied when the rule matches.\n\nComponent Capability:\n - Path: rules.itemStyles[].effects\n Category: rules\n Kind: array\n Description: Canonical conditional effect array aligned with PraxisRuntimeConditionalEffectRule<ListItemStyleEffect>.\n\nComponent Capability:\n - Path: rules.itemStyles[].effects[].kind\n Category: rules\n Kind: enum\n Description: Discriminator for list item style effects.\n\nComponent Capability:\n - Path: rules.slotOverrides\n Category: rules\n Kind: array\n Description: Conditional slot template override rules.\n\nComponent Capability:\n - Path: rules.slotOverrides[].id\n Category: rules\n Kind: string\n Description: Stable slot override rule id.\n\nComponent Capability:\n - Path: rules.slotOverrides[].slot\n Category: rules\n Kind: enum\n Description: Templating slot affected by the override.\n\nComponent Capability:\n - Path: rules.slotOverrides[].condition\n Category: rules\n Kind: expression\n Description: Json Logic condition in row context.\n\nComponent Capability:\n - Path: rules.slotOverrides[].template\n Category: rules\n Kind: object\n Description: Template override applied when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].class\n Category: rules\n Kind: string\n Description: CSS class appended when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].style\n Category: rules\n Kind: string\n Description: Inline style appended when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].hide\n Category: rules\n Kind: boolean\n Description: Hide the slot when the rule matches.\n\nComponent Capability:\n - Path: rules.slotOverrides[].effects\n Category: rules\n Kind: array\n Description: Canonical conditional effect array aligned with PraxisRuntimeConditionalEffectRule<ListSlotOverrideEffect>.\n\nComponent Capability:\n - Path: rules.slotOverrides[].effects[].kind\n Category: rules\n Kind: enum\n Description: Discriminator for list slot override effects.\n\nComponent Capability:\n - Path: expansion\n Category: expansion\n Kind: object\n Description: Inline expansion sections and remote detail contract.\n\nComponent Capability:\n - Path: expansion.sections\n Category: expansion\n Kind: array\n Description: Expansion detail sections.\n\nComponent Capability:\n - Path: expansion.sections[].id\n Category: expansion\n Kind: string\n Description: Stable expansion section id.\n\nComponent Capability:\n - Path: expansion.sections[].title\n Category: expansion\n Kind: string\n Description: Expansion section title.\n\nComponent Capability:\n - Path: expansion.sections[].type\n Category: expansion\n Kind: enum\n Description: Expansion section renderer type.\n\nComponent Capability:\n - Path: expansion.sections[].itemsExpr\n Category: expansion\n Kind: expression\n Description: Expression used to resolve section items from the row.\n\nComponent Capability:\n - Path: expansion.sections[].document\n Category: expansion\n Kind: object\n Description: Canonical RichContentDocument rendered when type=rich-content.\n\nComponent Capability:\n - Path: expansion.sections[].documentExpr\n Category: expansion\n Kind: expression\n Description: Expression resolving to a RichContentDocument for type=rich-content.\n\nComponent Capability:\n - Path: expansion.sections[].emptyLabel\n Category: expansion\n Kind: string\n Description: Empty label for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].metadata\n Category: expansion\n Kind: object\n Description: Metadata rendering options for metadata expansion sections.\n\nComponent Capability:\n - Path: expansion.sections[].component\n Category: expansion\n Kind: object\n Description: Runtime component rendering options for component expansion sections.\n\nComponent Capability:\n - Path: expansion.sections[].class\n Category: expansion\n Kind: string\n Description: CSS class for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].style\n Category: expansion\n Kind: string\n Description: Inline style for an expansion section.\n\nComponent Capability:\n - Path: expansion.sections[].showIf\n Category: expansion\n Kind: expression\n Description: Json Logic visibility condition for an expansion section.\n\nComponent Capability:\n - Path: expansion.dataSource\n Category: expansion\n Kind: object\n Description: Expansion detail data source.\n\nComponent Capability:\n - Path: expansion.dataSource.mode\n Category: expansion\n Kind: enum\n Description: Expansion data source mode.\n\nComponent Capability:\n - Path: expansion.dataSource.resource\n Category: expansion\n Kind: object\n Description: Canonical resource descriptor for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.kind\n Category: expansion\n Kind: string\n Description: Canonical expansion resource kind.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.id\n Category: expansion\n Kind: string\n Description: Canonical expansion resource id.\n\nComponent Capability:\n - Path: expansion.dataSource.resource.version\n Category: expansion\n Kind: string\n Description: Canonical expansion resource version.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath\n Category: expansion\n Kind: object\n Description: Dynamic resource path descriptor for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.path\n Category: expansion\n Kind: string\n Description: Expression-backed remote path for expansion details.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.method\n Category: expansion\n Kind: enum\n Description: HTTP method for dynamic expansion resource path.\n\nComponent Capability:\n - Path: expansion.dataSource.resourcePath.paramsMap\n Category: expansion\n Kind: object\n Description: Parameter map for dynamic expansion resource path.\n\nComponent Capability:\n - Path: expansion.dataSource.resourceAllowList\n Category: expansion\n Kind: array\n Description: Allowlist for dynamic expansion resource paths.\n\nComponent Capability:\n - Path: expansion.dataSource.fallbackMode\n Category: expansion\n Kind: enum\n Description: Fallback mode for expansion detail loading.\n\nComponent Capability:\n - Path: expansion.dataSource.cache\n Category: expansion\n Kind: object\n Description: Expansion detail cache configuration.\n\nComponent Capability:\n - Path: expansion.dataSource.cache.enabled\n Category: expansion\n Kind: boolean\n Description: Enable expansion detail cache.\n\nComponent Capability:\n - Path: expansion.dataSource.cancelOnCollapse\n Category: expansion\n Kind: boolean\n Description: Cancel expansion detail loading when a row collapses.\n\nComponent Capability:\n - Path: expansion.schemaContract\n Category: expansion\n Kind: object\n Description: Fail-closed schema contract for remote expansion details.\n\nComponent Capability:\n - Path: expansion.schemaContract.kind\n Category: expansion\n Kind: string\n Description: Expansion schema contract kind.\n\nComponent Capability:\n - Path: expansion.schemaContract.version\n Category: expansion\n Kind: string\n Description: Expansion schema contract version.\n\nComponent Capability:\n - Path: expansion.schemaContract.allowedNodes\n Category: expansion\n Kind: array\n Description: Allowed remote expansion node types.\n\nComponent Capability:\n - Path: expansion.schemaContract.maxSections\n Category: expansion\n Kind: number\n Description: Maximum number of remote expansion sections.",
9538
9574
  "sourcePointer": "projects/praxis-list/src/lib/ai/list-ai-capabilities.ts",
9539
- "contentHash": "2db4ac7e488b989f04cc3f80698ffbad53dd71e2249a79cc17cf28ae10e3216c",
9575
+ "contentHash": "8f63a0defcabe6582f7c1e3485a434cf4b6798a16ecc676aa2f1d22122690724",
9540
9576
  "sourceKind": "component_definition",
9541
9577
  "sourceId": "praxis-list",
9542
9578
  "corpusVersion": "1.0.0"
@@ -9544,9 +9580,9 @@
9544
9580
  {
9545
9581
  "chunkIndex": 4,
9546
9582
  "chunkKind": "capabilities",
9547
- "content": "Component Capability:\n - Path: expansion.schemaContract.requireSectionIds\n Category: expansion\n Kind: boolean\n Description: Require explicit ids for remote expansion sections.\n\nComponent Capability:\n - Path: expansion.rendering\n Category: expansion\n Kind: object\n Description: Expansion shell rendering configuration.\n\nComponent Capability:\n - Path: expansion.rendering.shell\n Category: expansion\n Kind: enum\n Description: Expansion shell attachment mode.\n\nComponent Capability:\n - Path: expansion.rendering.columns\n Category: expansion\n Kind: enum\n Description: Expansion detail column count.\n\nComponent Capability:\n - Path: expansion.rendering.gap\n Category: expansion\n Kind: string\n Description: Gap between expansion sections.\n\nComponent Capability:\n - Path: expansion.rendering.padding\n Category: expansion\n Kind: string\n Description: Padding inside the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.class\n Category: expansion\n Kind: string\n Description: CSS class for the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.style\n Category: expansion\n Kind: string\n Description: Inline style for the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.loadingTemplate\n Category: expansion\n Kind: object\n Description: Template rendered while expansion detail loads.\n\nComponent Capability:\n - Path: expansion.rendering.errorTemplate\n Category: expansion\n Kind: object\n Description: Template rendered when expansion detail loading fails.\n\nComponent Capability:\n - Path: ui\n Category: ui\n Kind: object\n Description: Lightweight toolbar UI.\n\nComponent Capability:\n - Path: ui.showSearch\n Category: ui\n Kind: boolean\n Description: Show search input.\n\nComponent Capability:\n - Path: ui.searchField\n Category: ui\n Kind: string\n Description: Search field.\n\nComponent Capability:\n - Path: ui.searchPlaceholder\n Category: ui\n Kind: string\n Description: Search placeholder.\n\nComponent Capability:\n - Path: ui.showSort\n Category: ui\n Kind: boolean\n Description: Show sort selector.\n\nComponent Capability:\n - Path: ui.sortOptions\n Category: ui\n Kind: array\n Description: Sort options (string or {label,value}).\n\nComponent Capability:\n - Path: ui.sortOptions[].label\n Category: ui\n Kind: string\n Description: Sort option label.\n\nComponent Capability:\n - Path: ui.sortOptions[].value\n Category: ui\n Kind: string\n Description: Sort option value.\n\nComponent Capability:\n - Path: ui.showRange\n Category: ui\n Kind: boolean\n Description: Show range in footer.\n\nComponent Capability:\n - Path: i18n\n Category: i18n\n Kind: object\n Description: i18n map.\n\nComponent Capability:\n - Path: i18n.locale\n Category: i18n\n Kind: string\n Description: Locale (ex.: pt-BR).\n\nComponent Capability:\n - Path: i18n.currency\n Category: i18n\n Kind: string\n Description: Currency code (ex.: BRL).\n\nComponent Capability:\n - Path: i18n.localization\n Category: i18n\n Kind: object\n Description: Core localization defaults reused by list template pipes.\n\nComponent Capability:\n - Path: a11y\n Category: a11y\n Kind: object\n Description: Accessibility settings.\n\nComponent Capability:\n - Path: a11y.ariaLabel\n Category: a11y\n Kind: string\n Description: aria-label for container.\n\nComponent Capability:\n - Path: a11y.ariaLabelledBy\n Category: a11y\n Kind: string\n Description: aria-labelledby for container.\n\nComponent Capability:\n - Path: a11y.highContrast\n Category: a11y\n Kind: boolean\n Description: High contrast mode.\n\nComponent Capability:\n - Path: a11y.reduceMotion\n Category: a11y\n Kind: boolean\n Description: Reduce motion.\n\nComponent Capability:\n - Path: events\n Category: events\n Kind: object\n Description: Event mappings.\n\nComponent Capability:\n - Path: events.itemClick\n Category: events\n Kind: string\n Description: Mapped itemClick event name.\n\nComponent Capability:\n - Path: events.actionClick\n Category: events\n Kind: string\n Description: Mapped actionClick event name.\n\nComponent Capability:\n - Path: events.selectionChange\n Category: events\n Kind: string\n Description: Mapped selectionChange event name.\n\nComponent Capability:\n - Path: events.exportAction\n Category: events\n Kind: string\n Description: Mapped exportAction event name.\n\nComponent Capability:\n - Path: events.loaded\n Category: events\n Kind: string\n Description: Mapped loaded event name.\n\nCapability Note:\n - Template expressions support only ${item.path} and simple pipes: bool/date/map/number.\n\nCapability Note:\n - Taxonomia editorial: templating.*.expr continua no dominio de template; conditions booleanas de acoes, rules e expansion usam Json Logic canonico.\n\nCapability Note:\n - actions[].showIf uses Json Logic, for example {\"==\":[{\"var\":\"row.status\"},\"done\"]}.\n\nCapability Note:\n - Arrays should be merged by id/expr to avoid replacing existing items.\n\nCapability Note:\n - dataSource.data overrides resourcePath when provided.\n\nCapability Note:\n - layout.variant supports list, cards and tiles.\n\nCapability Note:\n - Colors accept theme tokens (primary/accent/warn), M3 tokens (var(--md-sys-color-*)), or custom CSS colors.",
9583
+ "content": "Component Capability:\n - Path: expansion.schemaContract.maxItemsPerSection\n Category: expansion\n Kind: number\n Description: Maximum number of items per remote expansion section.\n\nComponent Capability:\n - Path: expansion.schemaContract.requireSectionIds\n Category: expansion\n Kind: boolean\n Description: Require explicit ids for remote expansion sections.\n\nComponent Capability:\n - Path: expansion.rendering\n Category: expansion\n Kind: object\n Description: Expansion shell rendering configuration.\n\nComponent Capability:\n - Path: expansion.rendering.shell\n Category: expansion\n Kind: enum\n Description: Expansion shell attachment mode.\n\nComponent Capability:\n - Path: expansion.rendering.columns\n Category: expansion\n Kind: enum\n Description: Expansion detail column count.\n\nComponent Capability:\n - Path: expansion.rendering.gap\n Category: expansion\n Kind: string\n Description: Gap between expansion sections.\n\nComponent Capability:\n - Path: expansion.rendering.padding\n Category: expansion\n Kind: string\n Description: Padding inside the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.class\n Category: expansion\n Kind: string\n Description: CSS class for the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.style\n Category: expansion\n Kind: string\n Description: Inline style for the expansion shell.\n\nComponent Capability:\n - Path: expansion.rendering.loadingTemplate\n Category: expansion\n Kind: object\n Description: Template rendered while expansion detail loads.\n\nComponent Capability:\n - Path: expansion.rendering.errorTemplate\n Category: expansion\n Kind: object\n Description: Template rendered when expansion detail loading fails.\n\nComponent Capability:\n - Path: ui\n Category: ui\n Kind: object\n Description: Lightweight toolbar UI.\n\nComponent Capability:\n - Path: ui.showSearch\n Category: ui\n Kind: boolean\n Description: Show search input.\n\nComponent Capability:\n - Path: ui.searchField\n Category: ui\n Kind: string\n Description: Search field.\n\nComponent Capability:\n - Path: ui.searchPlaceholder\n Category: ui\n Kind: string\n Description: Search placeholder.\n\nComponent Capability:\n - Path: ui.showSort\n Category: ui\n Kind: boolean\n Description: Show sort selector.\n\nComponent Capability:\n - Path: ui.sortOptions\n Category: ui\n Kind: array\n Description: Sort options (string or {label,value}).\n\nComponent Capability:\n - Path: ui.sortOptions[].label\n Category: ui\n Kind: string\n Description: Sort option label.\n\nComponent Capability:\n - Path: ui.sortOptions[].value\n Category: ui\n Kind: string\n Description: Sort option value.\n\nComponent Capability:\n - Path: ui.showRange\n Category: ui\n Kind: boolean\n Description: Show range in footer.\n\nComponent Capability:\n - Path: i18n\n Category: i18n\n Kind: object\n Description: i18n map.\n\nComponent Capability:\n - Path: i18n.locale\n Category: i18n\n Kind: string\n Description: Locale (ex.: pt-BR).\n\nComponent Capability:\n - Path: i18n.currency\n Category: i18n\n Kind: string\n Description: Currency code (ex.: BRL).\n\nComponent Capability:\n - Path: i18n.localization\n Category: i18n\n Kind: object\n Description: Core localization defaults reused by list template pipes.\n\nComponent Capability:\n - Path: a11y\n Category: a11y\n Kind: object\n Description: Accessibility settings.\n\nComponent Capability:\n - Path: a11y.ariaLabel\n Category: a11y\n Kind: string\n Description: aria-label for container.\n\nComponent Capability:\n - Path: a11y.ariaLabelledBy\n Category: a11y\n Kind: string\n Description: aria-labelledby for container.\n\nComponent Capability:\n - Path: a11y.highContrast\n Category: a11y\n Kind: boolean\n Description: High contrast mode.\n\nComponent Capability:\n - Path: a11y.reduceMotion\n Category: a11y\n Kind: boolean\n Description: Reduce motion.\n\nComponent Capability:\n - Path: events\n Category: events\n Kind: object\n Description: Event mappings.\n\nComponent Capability:\n - Path: events.itemClick\n Category: events\n Kind: string\n Description: Mapped itemClick event name.\n\nComponent Capability:\n - Path: events.actionClick\n Category: events\n Kind: string\n Description: Mapped actionClick event name.\n\nComponent Capability:\n - Path: events.selectionChange\n Category: events\n Kind: string\n Description: Mapped selectionChange event name.\n\nComponent Capability:\n - Path: events.exportAction\n Category: events\n Kind: string\n Description: Mapped exportAction event name.\n\nComponent Capability:\n - Path: events.loaded\n Category: events\n Kind: string\n Description: Mapped loaded event name.\n\nCapability Note:\n - Template expressions support only ${item.path} and simple pipes: bool/date/map/number.\n\nCapability Note:\n - Taxonomia editorial: templating.*.expr continua no dominio de template; conditions booleanas de acoes, rules e expansion usam Json Logic canonico.\n\nCapability Note:\n - actions[].showIf uses Json Logic, for example {\"==\":[{\"var\":\"row.status\"},\"done\"]}.\n\nCapability Note:\n - Arrays should be merged by id/expr to avoid replacing existing items.\n\nCapability Note:\n - dataSource.data overrides resourcePath when provided.\n\nCapability Note:\n - layout.variant supports list, cards and tiles.\n\nCapability Note:\n - Colors accept theme tokens (primary/accent/warn), M3 tokens (var(--md-sys-color-*)), or custom CSS colors.",
9548
9584
  "sourcePointer": "projects/praxis-list/src/lib/ai/list-ai-capabilities.ts",
9549
- "contentHash": "0668dfac9039ea932fc06a9a3e9c1055eca801824b3c79d8bb093ff0fc4e43e0",
9585
+ "contentHash": "d6f85a4beb4f78f2e8d77f072d05be7f1fda9835499c58fed42facb73ff11514",
9550
9586
  "sourceKind": "component_definition",
9551
9587
  "sourceId": "praxis-list",
9552
9588
  "corpusVersion": "1.0.0"
@@ -9564,9 +9600,9 @@
9564
9600
  {
9565
9601
  "chunkIndex": 6,
9566
9602
  "chunkKind": "authoring_manifest",
9567
- "content": "{\"operationId\":\"item.primaryText.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set primary item text Effects: merge-object. Use name as title and department as subtitle. Use missingField as the list title.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"primaryText\",\"resolver\":\"templating-primary\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\",\"props.metric.progress.valueExpr\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.primary\"],\"validators\":[{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"bind-title-subtitle-fields\",\"request\":\"Use name as title and department as subtitle.\",\"operationId\":\"item.primaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.name}\"},\"isPositive\":true}],\"negativeExamples\":[{\"id\":\"reject-missing-field-binding\",\"request\":\"Use missingField as the list title.\",\"operationId\":\"item.primaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.missingField}\"},\"isPositive\":false}]}",
9603
+ "content": "{\"operationId\":\"item.primaryText.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set primary item text Effects: merge-object. Use name as title and department as subtitle. Use missingField as the list title.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"primaryText\",\"resolver\":\"templating-primary\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.primary\"],\"validators\":[{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"bind-title-subtitle-fields\",\"request\":\"Use name as title and department as subtitle.\",\"operationId\":\"item.primaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.name}\"},\"isPositive\":true}],\"negativeExamples\":[{\"id\":\"reject-missing-field-binding\",\"request\":\"Use missingField as the list title.\",\"operationId\":\"item.primaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.missingField}\"},\"isPositive\":false}]}",
9568
9604
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9569
- "contentHash": "6d564bf756c1c64ba6ac976c562de45c93dbd52653063662fc0b6df9c5f8835a",
9605
+ "contentHash": "a3d23888fb8087bdbaf8dce62925386a7e6aa0fdb171927ee695290cb0631bbd",
9570
9606
  "sourceKind": "component_definition",
9571
9607
  "sourceId": "praxis-list",
9572
9608
  "corpusVersion": "1.0.0"
@@ -9574,9 +9610,9 @@
9574
9610
  {
9575
9611
  "chunkIndex": 7,
9576
9612
  "chunkKind": "authoring_manifest",
9577
- "content": "{\"operationId\":\"item.secondaryText.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set secondary item text Effects: merge-object. Show department below the title.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"secondaryText\",\"resolver\":\"templating-secondary\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\",\"props.metric.progress.valueExpr\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.secondary\"],\"validators\":[{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"bind-secondary-field\",\"request\":\"Show department below the title.\",\"operationId\":\"item.secondaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.department}\"},\"isPositive\":true}],\"negativeExamples\":[]}",
9613
+ "content": "{\"operationId\":\"item.secondaryText.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set secondary item text Effects: merge-object. Show department below the title.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"secondaryText\",\"resolver\":\"templating-secondary\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.secondary\"],\"validators\":[{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"bind-secondary-field\",\"request\":\"Show department below the title.\",\"operationId\":\"item.secondaryText.set\",\"params\":{\"type\":\"text\",\"expr\":\"${item.department}\"},\"isPositive\":true}],\"negativeExamples\":[]}",
9578
9614
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9579
- "contentHash": "0b6738bc0050f4b4d65eb2b2061308f00fadcc3fbb403f9d5c36cc03da3b7ea3",
9615
+ "contentHash": "5a1577b5c322f80ce41cf383a4136a20b019788720c0f0b5553c02022dcf95d6",
9580
9616
  "sourceKind": "component_definition",
9581
9617
  "sourceId": "praxis-list",
9582
9618
  "corpusVersion": "1.0.0"
@@ -9604,9 +9640,9 @@
9604
9640
  {
9605
9641
  "chunkIndex": 10,
9606
9642
  "chunkKind": "authoring_manifest",
9607
- "content": "{\"operationId\":\"template.slot.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set any list template slot Effects: compile-domain-patch. Set the meta slot to show the employee score.\",\"scope\":\"templating\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"list-template-slot\",\"required\":true},\"inputContract\":{\"required\":[\"slot\",\"template\"],\"properties\":[\"slot\",\"template\"],\"semanticTerms\":[\"slot\",\"template\",\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\",\"template.type\",\"template.expr\",\"template.class\",\"template.style\",\"template.color\",\"template.variant\",\"template.imageAlt\",\"template.props\",\"template.badge\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"template.props.rating\",\"template.props.metric\",\"template.props.compose\",\"template.props.component\",\"template.badge.expr\",\"template.badge.color\",\"template.badge.variant\",\"template.props.rating.max\",\"template.props.rating.size\",\"template.props.rating.color\",\"template.props.metric.label\",\"template.props.metric.valueExpr\",\"template.props.metric.caption\",\"template.props.metric.subcaption\",\"template.props.metric.captionPosition\",\"template.props.metric.icon\",\"template.props.metric.iconExpr\",\"template.props.metric.tone\",\"template.props.metric.toneExpr\",\"template.props.metric.layout\",\"template.props.metric.align\",\"template.props.metric.progress\",\"template.props.metric.valueClass\",\"template.props.metric.valueStyle\",\"template.props.metric.showBar\",\"template.props.metric.barValueExpr\",\"template.props.metric.barColor\",\"template.props.metric.barVariant\",\"template.props.metric.legendExpr\",\"template.props.metric.iconPosition\",\"template.props.metric.iconColorExpr\",\"template.props.compose.items\",\"template.props.compose.nodes\",\"template.props.compose.direction\",\"template.props.compose.orientation\",\"template.props.compose.align\",\"template.props.compose.gap\",\"template.props.compose.wrap\",\"template.props.compose.separator\",\"template.props.compose.class\",\"template.props.compose.style\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"validators\":[{\"validatorId\":\"template-slot-supported\",\"level\":\"error\",\"code\":\"PL013\",\"description\":\"Template slot names must be one of the runtime-supported catalog slots.\"},{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"set-template-slot\",\"request\":\"Set the meta slot to show the employee score.\",\"operationId\":\"template.slot.set\",\"params\":{\"slot\":\"meta\",\"template\":{\"type\":\"metric\",\"expr\":\"${item.score}\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
9643
+ "content": "{\"operationId\":\"template.slot.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set any list template slot Effects: compile-domain-patch. Set the meta slot to show the employee score.\",\"scope\":\"templating\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"list-template-slot\",\"required\":true},\"inputContract\":{\"required\":[\"slot\",\"template\"],\"properties\":[\"slot\",\"template\"],\"semanticTerms\":[\"slot\",\"template\",\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\",\"template.type\",\"template.expr\",\"template.class\",\"template.style\",\"template.color\",\"template.variant\",\"template.imageAlt\",\"template.props\",\"template.badge\",\"template.quickView\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"template.props.rating\",\"template.props.metric\",\"template.props.compose\",\"template.props.component\",\"template.badge.expr\",\"template.badge.color\",\"template.badge.variant\",\"template.props.rating.max\",\"template.props.rating.size\",\"template.props.rating.color\",\"template.props.metric.label\",\"template.props.metric.valueExpr\",\"template.props.metric.caption\",\"template.props.metric.subcaption\",\"template.props.metric.captionPosition\",\"template.props.metric.icon\",\"template.props.metric.iconExpr\",\"template.props.metric.tone\",\"template.props.metric.toneExpr\",\"template.props.metric.layout\",\"template.props.metric.align\",\"template.props.metric.progress\",\"template.props.metric.valueClass\",\"template.props.metric.valueStyle\",\"template.props.metric.showBar\",\"template.props.metric.barValueExpr\",\"template.props.metric.barColor\",\"template.props.metric.barVariant\",\"template.props.metric.legendExpr\",\"template.props.metric.iconPosition\",\"template.props.metric.iconColorExpr\",\"template.props.compose.items\",\"template.props.compose.nodes\",\"template.props.compose.direction\",\"template.props.compose.orientation\",\"template.props.compose.align\",\"template.props.compose.gap\",\"template.props.compose.wrap\",\"template.props.compose.separator\",\"template.props.compose.class\"]},\"effects\":[\"compile-domain-patch\"],\"affectedPaths\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"validators\":[{\"validatorId\":\"template-slot-supported\",\"level\":\"error\",\"code\":\"PL013\",\"description\":\"Template slot names must be one of the runtime-supported catalog slots.\"},{\"validatorId\":\"bound-field-exists\",\"level\":\"error\",\"code\":\"PL001\",\"description\":\"Bound template and selection fields must exist in local data or schema context when available.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"set-template-slot\",\"request\":\"Set the meta slot to show the employee score.\",\"operationId\":\"template.slot.set\",\"params\":{\"slot\":\"meta\",\"template\":{\"type\":\"metric\",\"expr\":\"${item.score}\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
9608
9644
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9609
- "contentHash": "5b6a7556611f290c543c41c0bc6053e2ddc41bd765e014dd931766359bcbecbf",
9645
+ "contentHash": "a9a57887e4aaeba402b77e5a1f209edf36e7764a3d54c1b208a9b5a73f6472bd",
9610
9646
  "sourceKind": "component_definition",
9611
9647
  "sourceId": "praxis-list",
9612
9648
  "corpusVersion": "1.0.0"
@@ -9614,9 +9650,9 @@
9614
9650
  {
9615
9651
  "chunkIndex": 11,
9616
9652
  "chunkKind": "authoring_manifest",
9617
- "content": "{\"operationId\":\"item.action.add\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Add item action Effects: append-unique. Add an edit action to every item. Add an item action that opens the guide route with the selected employee id.\",\"scope\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"required\":false},\"inputContract\":{\"required\":[\"id\",\"label\"],\"properties\":[\"id\",\"label\",\"icon\",\"color\",\"kind\",\"buttonVariant\",\"showIf\",\"globalAction\",\"emitLocal\",\"showLoading\",\"placement\",\"confirmation\"],\"semanticTerms\":[\"id\",\"label\",\"icon\",\"color\",\"kind\",\"buttonVariant\",\"showIf\",\"globalAction\",\"emitLocal\",\"showLoading\",\"placement\",\"confirmation\",\"button\",\"menu-item\",\"stroked\",\"raised\",\"flat\",\"globalAction.actionId\",\"globalAction.payload\",\"globalAction.payloadExpr\",\"globalAction.meta\",\"actions\",\"trailing\",\"menu\",\"confirmation.title\",\"confirmation.message\",\"confirmation.type\",\"danger\",\"warning\",\"info\"]},\"effects\":[\"append-unique\"],\"affectedPaths\":[\"actions[]\"],\"validators\":[{\"validatorId\":\"action-id-stable\",\"level\":\"error\",\"code\":\"PL003\",\"description\":\"Item actions must declare stable unique ids.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"global-action-ref-valid\",\"level\":\"warning\",\"code\":\"PL011\",\"description\":\"Structured globalAction refs must use a registered action id when registry context is available.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"add-item-action\",\"request\":\"Add an edit action to every item.\",\"operationId\":\"item.action.add\",\"params\":{\"id\":\"edit\",\"label\":\"Edit\",\"icon\":\"edit\",\"kind\":\"icon\"},\"isPositive\":true},{\"id\":\"add-navigation-open-route-action\",\"request\":\"Add an item action that opens the guide route with the selected employee id.\",\"operationId\":\"item.action.add\",\"params\":{\"id\":\"open-guide-route\",\"label\":\"Abrir Guia\",\"icon\":\"travel_explore\",\"kind\":\"button\",\"buttonVariant\":\"stroked\",\"globalAction\":{\"actionId\":\"navigation.openRoute\",\"payload\":{\"path\":\"/components-showcase/surface-open-guide\",\"query\":{\"funcionarioId\":\"${item.id}\"},\"state\":{\"funcionarioId\":\"${item.id}\",\"source\":\"surface-open-list-demo\"}}},\"emitLocal\":false,\"showLoading\":true},\"isPositive\":true}],\"negativeExamples\":[]}",
9653
+ "content": "{\"operationId\":\"item.action.add\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Add item action Effects: append-unique. Add an edit action to every item. Add an item action that opens the guide route with the selected employee id.\",\"scope\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"required\":false},\"inputContract\":{\"required\":[\"id\",\"label\"],\"properties\":[\"id\",\"label\",\"icon\",\"color\",\"kind\",\"buttonVariant\",\"showIf\",\"globalAction\",\"emitLocal\",\"showLoading\",\"placement\",\"quickView\",\"confirmation\"],\"semanticTerms\":[\"id\",\"label\",\"icon\",\"color\",\"kind\",\"buttonVariant\",\"showIf\",\"globalAction\",\"emitLocal\",\"showLoading\",\"placement\",\"quickView\",\"confirmation\",\"button\",\"menu-item\",\"stroked\",\"raised\",\"flat\",\"globalAction.actionId\",\"globalAction.payload\",\"globalAction.payloadExpr\",\"globalAction.meta\",\"actions\",\"trailing\",\"menu\",\"confirmation.title\",\"confirmation.message\",\"confirmation.type\",\"danger\",\"warning\",\"info\"]},\"effects\":[\"append-unique\"],\"affectedPaths\":[\"actions[]\"],\"validators\":[{\"validatorId\":\"action-id-stable\",\"level\":\"error\",\"code\":\"PL003\",\"description\":\"Item actions must declare stable unique ids.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"global-action-ref-valid\",\"level\":\"warning\",\"code\":\"PL011\",\"description\":\"Structured globalAction refs must use a registered action id when registry context is available.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"config-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"add-item-action\",\"request\":\"Add an edit action to every item.\",\"operationId\":\"item.action.add\",\"params\":{\"id\":\"edit\",\"label\":\"Edit\",\"icon\":\"edit\",\"kind\":\"icon\"},\"isPositive\":true},{\"id\":\"add-navigation-open-route-action\",\"request\":\"Add an item action that opens the guide route with the selected employee id.\",\"operationId\":\"item.action.add\",\"params\":{\"id\":\"open-guide-route\",\"label\":\"Abrir Guia\",\"icon\":\"travel_explore\",\"kind\":\"button\",\"buttonVariant\":\"stroked\",\"globalAction\":{\"actionId\":\"navigation.openRoute\",\"payload\":{\"path\":\"/components-showcase/surface-open-guide\",\"query\":{\"funcionarioId\":\"${item.id}\"},\"state\":{\"funcionarioId\":\"${item.id}\",\"source\":\"surface-open-list-demo\"}}},\"emitLocal\":false,\"showLoading\":true},\"isPositive\":true}],\"negativeExamples\":[]}",
9618
9654
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9619
- "contentHash": "5eeae36402e2a7239b449059f404766ca9fc9df3e60b63a321569c6f3808afa6",
9655
+ "contentHash": "49acbad2b0d24120d210423ace979e6448d6fe407a540857b50343a9bad3f18d",
9620
9656
  "sourceKind": "component_definition",
9621
9657
  "sourceId": "praxis-list",
9622
9658
  "corpusVersion": "1.0.0"
@@ -9734,9 +9770,9 @@
9734
9770
  {
9735
9771
  "chunkIndex": 23,
9736
9772
  "chunkKind": "authoring_manifest",
9737
- "content": "{\"operationId\":\"rules.slotOverride.upsert\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Upsert slot override rule Effects: merge-by-key. Show a warning icon in the risk slot for high-risk rows.\",\"scope\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"required\":false},\"inputContract\":{\"required\":[\"id\",\"slot\"],\"properties\":[\"id\",\"slot\",\"condition\",\"template\",\"class\",\"style\",\"hide\",\"effects\"],\"semanticTerms\":[\"id\",\"slot\",\"condition\",\"template\",\"class\",\"style\",\"hide\",\"effects\",\"template.type\",\"template.expr\",\"template.class\",\"template.style\",\"template.color\",\"template.variant\",\"template.imageAlt\",\"template.props\",\"template.badge\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"template.props.rating\",\"template.props.metric\",\"template.props.compose\",\"template.props.component\",\"template.badge.expr\",\"template.badge.color\",\"template.badge.variant\",\"effects.kind\",\"effects.template\",\"effects.class\",\"effects.style\",\"effects.hide\",\"template.props.rating.max\",\"template.props.rating.size\",\"template.props.rating.color\",\"template.props.metric.label\",\"template.props.metric.valueExpr\",\"template.props.metric.caption\",\"template.props.metric.subcaption\",\"template.props.metric.captionPosition\",\"template.props.metric.icon\",\"template.props.metric.iconExpr\",\"template.props.metric.tone\",\"template.props.metric.toneExpr\",\"template.props.metric.layout\",\"template.props.metric.align\",\"template.props.metric.progress\",\"template.props.metric.valueClass\",\"template.props.metric.valueStyle\",\"template.props.metric.showBar\",\"template.props.metric.barValueExpr\",\"template.props.metric.barColor\",\"template.props.metric.barVariant\",\"template.props.metric.legendExpr\",\"template.props.metric.iconPosition\",\"template.props.metric.iconColorExpr\",\"template.props.compose.items\",\"template.props.compose.nodes\",\"template.props.compose.direction\",\"template.props.compose.orientation\",\"template.props.compose.align\",\"template.props.compose.gap\",\"template.props.compose.wrap\",\"template.props.compose.separator\",\"template.props.compose.class\",\"template.props.compose.style\",\"template.props.component.id\",\"template.props.component.inputs\"]},\"effects\":[\"merge-by-key\"],\"affectedPaths\":[\"rules\",\"rules.slotOverrides\",\"rules.slotOverrides[].id\",\"rules.slotOverrides[].slot\",\"rules.slotOverrides[].condition\",\"rules.slotOverrides[].template\",\"rules.slotOverrides[].class\",\"rules.slotOverrides[].style\",\"rules.slotOverrides[].hide\",\"rules.slotOverrides[].effects\",\"rules.slotOverrides[].effects[].kind\"],\"validators\":[{\"validatorId\":\"rule-id-stable\",\"level\":\"error\",\"code\":\"PL027\",\"description\":\"List style and slot override rules must declare stable unique ids.\"},{\"validatorId\":\"template-slot-supported\",\"level\":\"error\",\"code\":\"PL013\",\"description\":\"Template slot names must be one of the runtime-supported catalog slots.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"style-value-safe\",\"level\":\"warning\",\"code\":\"PL015\",\"description\":\"Inline styles and classes must be safe for the host sanitization policy.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"override-risk-slot\",\"request\":\"Show a warning icon in the risk slot for high-risk rows.\",\"operationId\":\"rules.slotOverride.upsert\",\"params\":{\"id\":\"high-risk-icon\",\"slot\":\"risk\",\"condition\":{\"==\":[{\"var\":\"row.risk\"},\"high\"]},\"template\":{\"type\":\"icon\",\"expr\":\"warning\",\"color\":\"warn\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
9773
+ "content": "{\"operationId\":\"rules.slotOverride.upsert\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Upsert slot override rule Effects: merge-by-key. Show a warning icon in the risk slot for high-risk rows.\",\"scope\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"required\":false},\"inputContract\":{\"required\":[\"id\",\"slot\"],\"properties\":[\"id\",\"slot\",\"condition\",\"template\",\"class\",\"style\",\"hide\",\"effects\"],\"semanticTerms\":[\"id\",\"slot\",\"condition\",\"template\",\"class\",\"style\",\"hide\",\"effects\",\"template.type\",\"template.expr\",\"template.class\",\"template.style\",\"template.color\",\"template.variant\",\"template.imageAlt\",\"template.props\",\"template.badge\",\"template.quickView\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"template.props.rating\",\"template.props.metric\",\"template.props.compose\",\"template.props.component\",\"template.badge.expr\",\"template.badge.color\",\"template.badge.variant\",\"effects.kind\",\"effects.template\",\"effects.class\",\"effects.style\",\"effects.hide\",\"template.props.rating.max\",\"template.props.rating.size\",\"template.props.rating.color\",\"template.props.metric.label\",\"template.props.metric.valueExpr\",\"template.props.metric.caption\",\"template.props.metric.subcaption\",\"template.props.metric.captionPosition\",\"template.props.metric.icon\",\"template.props.metric.iconExpr\",\"template.props.metric.tone\",\"template.props.metric.toneExpr\",\"template.props.metric.layout\",\"template.props.metric.align\",\"template.props.metric.progress\",\"template.props.metric.valueClass\",\"template.props.metric.valueStyle\",\"template.props.metric.showBar\",\"template.props.metric.barValueExpr\",\"template.props.metric.barColor\",\"template.props.metric.barVariant\",\"template.props.metric.legendExpr\",\"template.props.metric.iconPosition\",\"template.props.metric.iconColorExpr\",\"template.props.compose.items\",\"template.props.compose.nodes\",\"template.props.compose.direction\",\"template.props.compose.orientation\",\"template.props.compose.align\",\"template.props.compose.gap\",\"template.props.compose.wrap\",\"template.props.compose.separator\",\"template.props.compose.class\",\"template.props.compose.style\",\"template.props.component.id\"]},\"effects\":[\"merge-by-key\"],\"affectedPaths\":[\"rules\",\"rules.slotOverrides\",\"rules.slotOverrides[].id\",\"rules.slotOverrides[].slot\",\"rules.slotOverrides[].condition\",\"rules.slotOverrides[].template\",\"rules.slotOverrides[].class\",\"rules.slotOverrides[].style\",\"rules.slotOverrides[].hide\",\"rules.slotOverrides[].effects\",\"rules.slotOverrides[].effects[].kind\"],\"validators\":[{\"validatorId\":\"rule-id-stable\",\"level\":\"error\",\"code\":\"PL027\",\"description\":\"List style and slot override rules must declare stable unique ids.\"},{\"validatorId\":\"template-slot-supported\",\"level\":\"error\",\"code\":\"PL013\",\"description\":\"Template slot names must be one of the runtime-supported catalog slots.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"style-value-safe\",\"level\":\"warning\",\"code\":\"PL015\",\"description\":\"Inline styles and classes must be safe for the host sanitization policy.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"override-risk-slot\",\"request\":\"Show a warning icon in the risk slot for high-risk rows.\",\"operationId\":\"rules.slotOverride.upsert\",\"params\":{\"id\":\"high-risk-icon\",\"slot\":\"risk\",\"condition\":{\"==\":[{\"var\":\"row.risk\"},\"high\"]},\"template\":{\"type\":\"icon\",\"expr\":\"warning\",\"color\":\"warn\"}},\"isPositive\":true}],\"negativeExamples\":[]}",
9738
9774
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9739
- "contentHash": "78def2e399d93f5d21302c27d07c0c6f3a3c8245c2023627ba82035c89f5fc91",
9775
+ "contentHash": "69624a9531cd0d9f439fd7aa130179290289e2f18a661b27dce3b51250684fca",
9740
9776
  "sourceKind": "component_definition",
9741
9777
  "sourceId": "praxis-list",
9742
9778
  "corpusVersion": "1.0.0"
@@ -9744,9 +9780,9 @@
9744
9780
  {
9745
9781
  "chunkIndex": 24,
9746
9782
  "chunkKind": "authoring_manifest",
9747
- "content": "{\"operationId\":\"emptyState.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set empty state Effects: merge-object. Show an empty employee message.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"templating-empty-state\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\",\"props.metric.progress.valueExpr\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.emptyState\"],\"validators\":[{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"set-empty-state\",\"request\":\"Show an empty employee message.\",\"operationId\":\"emptyState.set\",\"params\":{\"type\":\"text\",\"expr\":\"No employees found\"},\"isPositive\":true}],\"negativeExamples\":[]}",
9783
+ "content": "{\"operationId\":\"emptyState.set\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Set empty state Effects: merge-object. Show an empty employee message.\",\"scope\":\"itemTemplate\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"templating-empty-state\",\"required\":false},\"inputContract\":{\"required\":[\"type\",\"expr\"],\"properties\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\"],\"semanticTerms\":[\"type\",\"expr\",\"class\",\"style\",\"color\",\"variant\",\"imageAlt\",\"props\",\"badge\",\"quickView\",\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\",\"filled\",\"outlined\",\"props.rating\",\"props.metric\",\"props.compose\",\"props.component\",\"badge.expr\",\"badge.color\",\"badge.variant\",\"props.rating.max\",\"props.rating.size\",\"props.rating.color\",\"props.metric.label\",\"props.metric.valueExpr\",\"props.metric.caption\",\"props.metric.subcaption\",\"props.metric.captionPosition\",\"props.metric.icon\",\"props.metric.iconExpr\",\"props.metric.tone\",\"props.metric.toneExpr\",\"props.metric.layout\",\"props.metric.align\",\"props.metric.progress\",\"props.metric.valueClass\",\"props.metric.valueStyle\",\"props.metric.showBar\",\"props.metric.barValueExpr\",\"props.metric.barColor\",\"props.metric.barVariant\",\"props.metric.legendExpr\",\"props.metric.iconPosition\",\"props.metric.iconColorExpr\",\"props.compose.items\",\"props.compose.nodes\",\"props.compose.direction\",\"props.compose.orientation\",\"props.compose.align\",\"props.compose.gap\",\"props.compose.wrap\",\"props.compose.separator\",\"props.compose.class\",\"props.compose.style\",\"props.component.id\",\"props.component.inputs\",\"props.component.class\",\"props.component.style\",\"below-value\",\"below-progress\",\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\",\"start\",\"center\",\"end\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"templating.emptyState\"],\"validators\":[{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"visual-only\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"set-empty-state\",\"request\":\"Show an empty employee message.\",\"operationId\":\"emptyState.set\",\"params\":{\"type\":\"text\",\"expr\":\"No employees found\"},\"isPositive\":true}],\"negativeExamples\":[]}",
9748
9784
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9749
- "contentHash": "750d14ea57e48b5da0bb8f07e70a5290419ba4598422955d64ed92df7eef88d8",
9785
+ "contentHash": "fedadc4ecbf429a5887670f4de6db1a0419bac71b5f75f783e0fb3579323f71b",
9750
9786
  "sourceKind": "component_definition",
9751
9787
  "sourceId": "praxis-list",
9752
9788
  "corpusVersion": "1.0.0"
@@ -9754,9 +9790,9 @@
9754
9790
  {
9755
9791
  "chunkIndex": 25,
9756
9792
  "chunkKind": "authoring_manifest",
9757
- "content": "{\"operationId\":\"expansion.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configure list expansion Effects: merge-object. Add a detail expansion section backed by item details.\",\"scope\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"sections\",\"dataSource\",\"schemaContract\",\"rendering\"],\"semanticTerms\":[\"sections\",\"dataSource\",\"schemaContract\",\"rendering\",\"dataSource.mode\",\"dataSource.resource\",\"dataSource.resourcePath\",\"dataSource.resourceAllowList\",\"dataSource.fallbackMode\",\"dataSource.cache\",\"dataSource.cancelOnCollapse\",\"schemaContract.kind\",\"schemaContract.version\",\"schemaContract.allowedNodes\",\"schemaContract.maxSections\",\"schemaContract.maxItemsPerSection\",\"schemaContract.requireSectionIds\",\"rendering.shell\",\"rendering.columns\",\"rendering.gap\",\"rendering.padding\",\"rendering.class\",\"rendering.style\",\"rendering.loadingTemplate\",\"rendering.errorTemplate\",\"sections.id\",\"sections.title\",\"sections.type\",\"sections.itemsExpr\",\"sections.document\",\"sections.documentExpr\",\"sections.emptyLabel\",\"sections.metadata\",\"sections.component\",\"sections.class\",\"sections.style\",\"sections.showIf\",\"inline\",\"resource\",\"resourcePath\",\"dataSource.resource.kind\",\"dataSource.resource.id\",\"dataSource.resource.version\",\"dataSource.resourcePath.path\",\"dataSource.resourcePath.method\",\"dataSource.resourcePath.paramsMap\",\"none\",\"dataSource.cache.enabled\",\"praxis.detail.schema\",\"attached\",\"detached\",\"modal\",\"1\",\"2\",\"3\",\"rendering.loadingTemplate.type\",\"rendering.loadingTemplate.expr\",\"rendering.loadingTemplate.class\",\"rendering.loadingTemplate.style\",\"rendering.loadingTemplate.color\",\"rendering.loadingTemplate.variant\",\"rendering.loadingTemplate.imageAlt\",\"rendering.loadingTemplate.props\",\"rendering.loadingTemplate.badge\",\"rendering.errorTemplate.type\",\"rendering.errorTemplate.expr\",\"rendering.errorTemplate.class\",\"rendering.errorTemplate.style\",\"rendering.errorTemplate.color\",\"rendering.errorTemplate.variant\",\"rendering.errorTemplate.imageAlt\",\"rendering.errorTemplate.props\",\"rendering.errorTemplate.badge\",\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\",\"component\",\"rich-content\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"expansion\",\"expansion.sections\",\"expansion.sections[].id\",\"expansion.sections[].title\",\"expansion.sections[].type\",\"expansion.sections[].itemsExpr\",\"expansion.sections[].document\",\"expansion.sections[].documentExpr\",\"expansion.sections[].emptyLabel\",\"expansion.sections[].metadata\",\"expansion.sections[].component\",\"expansion.sections[].class\",\"expansion.sections[].style\",\"expansion.sections[].showIf\",\"expansion.dataSource\",\"expansion.dataSource.mode\",\"expansion.dataSource.resource\",\"expansion.dataSource.resource.kind\",\"expansion.dataSource.resource.id\",\"expansion.dataSource.resource.version\",\"expansion.dataSource.resourcePath\",\"expansion.dataSource.resourcePath.path\",\"expansion.dataSource.resourcePath.method\",\"expansion.dataSource.resourcePath.paramsMap\",\"expansion.dataSource.resourceAllowList\",\"expansion.dataSource.fallbackMode\",\"expansion.dataSource.cache\",\"expansion.dataSource.cache.enabled\",\"expansion.dataSource.cancelOnCollapse\",\"expansion.schemaContract\",\"expansion.schemaContract.kind\",\"expansion.schemaContract.version\",\"expansion.schemaContract.allowedNodes\",\"expansion.schemaContract.maxSections\",\"expansion.schemaContract.maxItemsPerSection\",\"expansion.schemaContract.requireSectionIds\",\"expansion.rendering\",\"expansion.rendering.shell\",\"expansion.rendering.columns\",\"expansion.rendering.gap\",\"expansion.rendering.padding\",\"expansion.rendering.class\",\"expansion.rendering.style\",\"expansion.rendering.loadingTemplate\",\"expansion.rendering.errorTemplate\"],\"validators\":[{\"validatorId\":\"expansion-section-id-stable\",\"level\":\"error\",\"code\":\"PL028\",\"description\":\"Expansion sections must declare stable unique ids.\"},{\"validatorId\":\"expansion-value-supported\",\"level\":\"error\",\"code\":\"PL029\",\"description\":\"Expansion section, data source, schema contract and rendering values must match the runtime contract.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"remote-resource-binding-safe\",\"level\":\"error\",\"code\":\"PL006\",\"description\":\"Remote resource binding must use canonical resource metadata and safe resourcePath values.\"},{\"validatorId\":\"style-value-safe\",\"level\":\"warning\",\"code\":\"PL015\",\"description\":\"Inline styles and classes must be safe for the host sanitization policy.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"affects-remote-binding\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"add-expansion-section\",\"request\":\"Add a detail expansion section backed by item details.\",\"operationId\":\"expansion.configure\",\"params\":{\"sections\":[{\"id\":\"details\",\"type\":\"metadata\",\"title\":\"Details\",\"itemsExpr\":\"${item.details}\"}]},\"isPositive\":true}],\"negativeExamples\":[]}",
9793
+ "content": "{\"operationId\":\"expansion.configure\",\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operation_card\",\"semanticSummary\":\"Configure list expansion Effects: merge-object. Add a detail expansion section backed by item details.\",\"scope\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"required\":false},\"inputContract\":{\"required\":[],\"properties\":[\"sections\",\"dataSource\",\"schemaContract\",\"rendering\"],\"semanticTerms\":[\"sections\",\"dataSource\",\"schemaContract\",\"rendering\",\"dataSource.mode\",\"dataSource.resource\",\"dataSource.resourcePath\",\"dataSource.resourceAllowList\",\"dataSource.fallbackMode\",\"dataSource.cache\",\"dataSource.cancelOnCollapse\",\"schemaContract.kind\",\"schemaContract.version\",\"schemaContract.allowedNodes\",\"schemaContract.maxSections\",\"schemaContract.maxItemsPerSection\",\"schemaContract.requireSectionIds\",\"rendering.shell\",\"rendering.columns\",\"rendering.gap\",\"rendering.padding\",\"rendering.class\",\"rendering.style\",\"rendering.loadingTemplate\",\"rendering.errorTemplate\",\"sections.id\",\"sections.title\",\"sections.type\",\"sections.itemsExpr\",\"sections.document\",\"sections.documentExpr\",\"sections.emptyLabel\",\"sections.metadata\",\"sections.component\",\"sections.class\",\"sections.style\",\"sections.showIf\",\"inline\",\"resource\",\"resourcePath\",\"dataSource.resource.kind\",\"dataSource.resource.id\",\"dataSource.resource.version\",\"dataSource.resourcePath.path\",\"dataSource.resourcePath.method\",\"dataSource.resourcePath.paramsMap\",\"none\",\"dataSource.cache.enabled\",\"praxis.detail.schema\",\"attached\",\"detached\",\"modal\",\"1\",\"2\",\"3\",\"rendering.loadingTemplate.type\",\"rendering.loadingTemplate.expr\",\"rendering.loadingTemplate.class\",\"rendering.loadingTemplate.style\",\"rendering.loadingTemplate.color\",\"rendering.loadingTemplate.variant\",\"rendering.loadingTemplate.imageAlt\",\"rendering.loadingTemplate.props\",\"rendering.loadingTemplate.badge\",\"rendering.loadingTemplate.quickView\",\"rendering.errorTemplate.type\",\"rendering.errorTemplate.expr\",\"rendering.errorTemplate.class\",\"rendering.errorTemplate.style\",\"rendering.errorTemplate.color\",\"rendering.errorTemplate.variant\",\"rendering.errorTemplate.imageAlt\",\"rendering.errorTemplate.props\",\"rendering.errorTemplate.badge\",\"rendering.errorTemplate.quickView\",\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\"]},\"effects\":[\"merge-object\"],\"affectedPaths\":[\"expansion\",\"expansion.sections\",\"expansion.sections[].id\",\"expansion.sections[].title\",\"expansion.sections[].type\",\"expansion.sections[].itemsExpr\",\"expansion.sections[].document\",\"expansion.sections[].documentExpr\",\"expansion.sections[].emptyLabel\",\"expansion.sections[].metadata\",\"expansion.sections[].component\",\"expansion.sections[].class\",\"expansion.sections[].style\",\"expansion.sections[].showIf\",\"expansion.dataSource\",\"expansion.dataSource.mode\",\"expansion.dataSource.resource\",\"expansion.dataSource.resource.kind\",\"expansion.dataSource.resource.id\",\"expansion.dataSource.resource.version\",\"expansion.dataSource.resourcePath\",\"expansion.dataSource.resourcePath.path\",\"expansion.dataSource.resourcePath.method\",\"expansion.dataSource.resourcePath.paramsMap\",\"expansion.dataSource.resourceAllowList\",\"expansion.dataSource.fallbackMode\",\"expansion.dataSource.cache\",\"expansion.dataSource.cache.enabled\",\"expansion.dataSource.cancelOnCollapse\",\"expansion.schemaContract\",\"expansion.schemaContract.kind\",\"expansion.schemaContract.version\",\"expansion.schemaContract.allowedNodes\",\"expansion.schemaContract.maxSections\",\"expansion.schemaContract.maxItemsPerSection\",\"expansion.schemaContract.requireSectionIds\",\"expansion.rendering\",\"expansion.rendering.shell\",\"expansion.rendering.columns\",\"expansion.rendering.gap\",\"expansion.rendering.padding\",\"expansion.rendering.class\",\"expansion.rendering.style\",\"expansion.rendering.loadingTemplate\",\"expansion.rendering.errorTemplate\"],\"validators\":[{\"validatorId\":\"expansion-section-id-stable\",\"level\":\"error\",\"code\":\"PL028\",\"description\":\"Expansion sections must declare stable unique ids.\"},{\"validatorId\":\"expansion-value-supported\",\"level\":\"error\",\"code\":\"PL029\",\"description\":\"Expansion section, data source, schema contract and rendering values must match the runtime contract.\"},{\"validatorId\":\"json-logic-valid\",\"level\":\"error\",\"code\":\"PL010\",\"description\":\"Action visibility conditions must be serializable Json Logic.\"},{\"validatorId\":\"template-expression-safe\",\"level\":\"error\",\"code\":\"PL002\",\"description\":\"Template expressions must use supported ${item.path} syntax and allowed pipes.\"},{\"validatorId\":\"remote-resource-binding-safe\",\"level\":\"error\",\"code\":\"PL006\",\"description\":\"Remote resource binding must use canonical resource metadata and safe resourcePath values.\"},{\"validatorId\":\"style-value-safe\",\"level\":\"warning\",\"code\":\"PL015\",\"description\":\"Inline styles and classes must be safe for the host sanitization policy.\"},{\"validatorId\":\"editor-round-trip-preserve\",\"level\":\"error\",\"code\":\"PL012\",\"description\":\"The list config editor and JSON editor must preserve the saved shape without drift.\"}],\"preconditions\":[\"config-initialized\"],\"submissionImpact\":\"affects-remote-binding\",\"presentationAffordances\":[],\"positiveExamples\":[{\"id\":\"add-expansion-section\",\"request\":\"Add a detail expansion section backed by item details.\",\"operationId\":\"expansion.configure\",\"params\":{\"sections\":[{\"id\":\"details\",\"type\":\"metadata\",\"title\":\"Details\",\"itemsExpr\":\"${item.details}\"}]},\"isPositive\":true}],\"negativeExamples\":[]}",
9758
9794
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9759
- "contentHash": "384d0bbd3360eb787a975bb06c49e11f5c3a1b6d426d6ed047dcb4b6396b0327",
9795
+ "contentHash": "34fdb894325d49d1a4cc62f843db17352ba372bb0a0d4487c77d798e97e00c9e",
9760
9796
  "sourceKind": "component_definition",
9761
9797
  "sourceId": "praxis-list",
9762
9798
  "corpusVersion": "1.0.0"
@@ -9884,9 +9920,9 @@
9884
9920
  {
9885
9921
  "chunkIndex": 38,
9886
9922
  "chunkKind": "authoring_manifest",
9887
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"list.id.set\",\"title\":\"Set list id\",\"scope\":\"meta\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"list-root-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"id\"}],\"validators\":[\"list-id-stable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"id\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.primaryText.set\",\"title\":\"Set primary item text\",\"scope\":\"itemTemplate\",\"targetKind\":\"primaryText\",\"target\":{\"kind\":\"primaryText\",\"resolver\":\"templating-primary\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.primary\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.primary\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.secondaryText.set\",\"title\":\"Set secondary item text\",\"scope\":\"itemTemplate\",\"targetKind\":\"secondaryText\",\"target\":{\"kind\":\"secondaryText\",\"resolver\":\"templating-secondary\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.secondary\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.secondary\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.avatar.configure\",\"title\":\"Configure item avatar\",\"scope\":\"itemTemplate\",\"targetKind\":\"avatar\",\"target\":{\"kind\":\"avatar\",\"resolver\":\"templating-leading\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"required\":[\"type\"]},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.leading\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.leading\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.badge.configure\",\"title\":\"Configure item badge\",\"scope\":\"itemTemplate\",\"targetKind\":\"badge\",\"target\":{\"kind\":\"badge\",\"resolver\":\"templating-trailing-chip\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"expr\"],\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"statusPosition\":{\"enum\":[\"inline\",\"top-right\"]},\"labelMap\":{\"type\":\"object\"},\"colorMap\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.trailing\"},{\"kind\":\"set-value\",\"path\":\"templating.statusPosition\"},{\"kind\":\"merge-object\",\"path\":\"templating.chipLabelMap\"},{\"kind\":\"merge-object\",\"path\":\"templating.chipColorMap\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.trailing\",\"templating.statusPosition\",\"templating.chipLabelMap\",\"templating.chipColorMap\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9923
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"list.id.set\",\"title\":\"Set list id\",\"scope\":\"meta\",\"targetKind\":\"meta\",\"target\":{\"kind\":\"meta\",\"resolver\":\"list-root-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"id\"}],\"validators\":[\"list-id-stable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"id\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.primaryText.set\",\"title\":\"Set primary item text\",\"scope\":\"itemTemplate\",\"targetKind\":\"primaryText\",\"target\":{\"kind\":\"primaryText\",\"resolver\":\"templating-primary\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.primary\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.primary\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.secondaryText.set\",\"title\":\"Set secondary item text\",\"scope\":\"itemTemplate\",\"targetKind\":\"secondaryText\",\"target\":{\"kind\":\"secondaryText\",\"resolver\":\"templating-secondary\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.secondary\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.secondary\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.avatar.configure\",\"title\":\"Configure item avatar\",\"scope\":\"itemTemplate\",\"targetKind\":\"avatar\",\"target\":{\"kind\":\"avatar\",\"resolver\":\"templating-leading\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"required\":[\"type\"]},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.leading\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.leading\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9888
9924
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9889
- "contentHash": "9699c3cb6b1888ea742ae9836c957c7eb2d2c3d0e69d35e814924f8b880bf446",
9925
+ "contentHash": "4c0808d39eb11fba87d75d300bb9f31f9d9c06d9acf51b9ba56480b9fb3a225a",
9890
9926
  "sourceKind": "component_definition",
9891
9927
  "sourceId": "praxis-list",
9892
9928
  "corpusVersion": "1.0.0"
@@ -9894,9 +9930,9 @@
9894
9930
  {
9895
9931
  "chunkIndex": 39,
9896
9932
  "chunkKind": "authoring_manifest",
9897
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"template.slot.set\",\"title\":\"Set any list template slot\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"list-template-slot\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"slot\",\"template\"],\"properties\":{\"slot\":{\"enum\":[\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"list-template-slot-set\",\"handlerContract\":{\"reads\":[\"templating\"],\"writes\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"identityKeys\":[\"slot\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"slot\",\"template\"],\"properties\":{\"slot\":{\"enum\":[\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}}}},\"failureModes\":[\"unsupported-template-slot\",\"invalid-template-expression\",\"ambiguous-template-slot\"],\"description\":\"Writes the requested template into one supported templating slot; slot is the stable identity, not array position.\"}}],\"validators\":[\"template-slot-supported\",\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.action.add\",\"title\":\"Add item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"icon\",\"button\",\"menu-item\"]},\"buttonVariant\":{\"enum\":[\"stroked\",\"raised\",\"flat\"]},\"showIf\":{\"type\":\"object\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\"},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"},\"meta\":{\"type\":\"object\"}}},\"emitLocal\":{\"type\":\"boolean\"},\"showLoading\":{\"type\":\"boolean\"},\"placement\":{\"enum\":[\"actions\",\"trailing\",\"menu\"]},\"confirmation\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"type\":{\"enum\":[\"danger\",\"warning\",\"info\"]}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions[]\",\"key\":\"id\"}],\"validators\":[\"action-id-stable\",\"json-logic-valid\",\"global-action-ref-valid\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions[]\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9933
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"item.badge.configure\",\"title\":\"Configure item badge\",\"scope\":\"itemTemplate\",\"targetKind\":\"badge\",\"target\":{\"kind\":\"badge\",\"resolver\":\"templating-trailing-chip\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"expr\"],\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"statusPosition\":{\"enum\":[\"inline\",\"top-right\"]},\"labelMap\":{\"type\":\"object\"},\"colorMap\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.trailing\"},{\"kind\":\"set-value\",\"path\":\"templating.statusPosition\"},{\"kind\":\"merge-object\",\"path\":\"templating.chipLabelMap\"},{\"kind\":\"merge-object\",\"path\":\"templating.chipColorMap\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.trailing\",\"templating.statusPosition\",\"templating.chipLabelMap\",\"templating.chipColorMap\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"template.slot.set\",\"title\":\"Set any list template slot\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"list-template-slot\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"slot\",\"template\"],\"properties\":{\"slot\":{\"enum\":[\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}}}},\"effects\":[{\"kind\":\"compile-domain-patch\",\"handler\":\"list-template-slot-set\",\"handlerContract\":{\"reads\":[\"templating\"],\"writes\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"identityKeys\":[\"slot\"],\"inputSchema\":{\"type\":\"object\",\"required\":[\"slot\",\"template\"],\"properties\":{\"slot\":{\"enum\":[\"leading\",\"primary\",\"secondary\",\"meta\",\"trailing\",\"identity\",\"balance\",\"limit\",\"risk\",\"alerts\",\"owner\",\"sectionHeader\",\"emptyState\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}}}},\"failureModes\":[\"unsupported-template-slot\",\"invalid-template-expression\",\"ambiguous-template-slot\"],\"description\":\"Writes the requested template into one supported templating slot; slot is the stable identity, not array position.\"}}],\"validators\":[\"template-slot-supported\",\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.leading\",\"templating.primary\",\"templating.secondary\",\"templating.meta\",\"templating.trailing\",\"templating.identity\",\"templating.balance\",\"templating.limit\",\"templating.risk\",\"templating.alerts\",\"templating.owner\",\"templating.sectionHeader\",\"templating.emptyState\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9898
9934
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9899
- "contentHash": "1db799c95fffad4fb8c90d814f791eec0958d7d4026eded62ba091af262a28c4",
9935
+ "contentHash": "e14f4a3f557e077872804f1fbd1d40119c5381c0fe9e95f24b28e2176571ff4c",
9900
9936
  "sourceKind": "component_definition",
9901
9937
  "sourceId": "praxis-list",
9902
9938
  "corpusVersion": "1.0.0"
@@ -9904,9 +9940,9 @@
9904
9940
  {
9905
9941
  "chunkIndex": 40,
9906
9942
  "chunkKind": "authoring_manifest",
9907
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"item.action.update\",\"title\":\"Update item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"required\":[\"id\"]},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"actions[]\",\"key\":\"id\"}],\"validators\":[\"action-exists\",\"action-id-stable\",\"json-logic-valid\",\"global-action-ref-valid\",\"declared-only-runtime-warning\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions\",\"actions[].id\",\"actions[].icon\",\"actions[].label\",\"actions[].color\",\"actions[].kind\",\"actions[].buttonVariant\",\"actions[].showIf\",\"actions[].globalAction.[actionId]\",\"actions[].globalAction.payload\",\"actions[].globalAction.payloadExpr\",\"actions[].emitLocal\",\"actions[].showLoading\",\"actions[].placement\",\"actions[].confirmation\",\"actions[].confirmation.title\",\"actions[].confirmation.message\",\"actions[].confirmation.type\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"item.action.remove\",\"title\":\"Remove item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"remove-by-key\",\"path\":\"actions[]\",\"key\":\"id\"}],\"destructive\":true,\"requiresConfirmation\":true,\"validators\":[\"action-exists\",\"destructive-removal-confirmation\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions[]\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"selection.mode.set\",\"title\":\"Set selection mode\",\"scope\":\"selection\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"mode\"],\"properties\":{\"mode\":{\"enum\":[\"none\",\"single\",\"multiple\"]},\"compareBy\":{\"type\":\"string\"},\"return\":{\"enum\":[\"value\",\"item\",\"id\"]},\"formControlName\":{\"type\":\"string\"},\"formControlPath\":{\"type\":\"string\"},\"showControl\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"selection\"}],\"validators\":[\"selection-mode-supported\",\"bound-field-exists\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"selection\",\"selection.mode\",\"selection.formControlName\",\"selection.formControlPath\",\"selection.compareBy\",\"selection.return\",\"selection.showControl\"],\"submissionImpact\":\"affects-submission\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"interaction.expansion.configure\",\"title\":\"Configure expandable row interaction\",\"scope\":\"interaction\",\"targetKind\":\"interaction\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"expandable\":{\"type\":\"boolean\"},\"expandTrigger\":{\"enum\":[\"row\",\"icon\",\"row+icon\"]},\"expandMode\":{\"enum\":[\"single\",\"multiple\"]},\"expandPlacement\":{\"enum\":[\"expand\",\"trailing\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"interaction\"}],\"validators\":[\"interaction-value-supported\",\"row-layout-placement-reachable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"interaction\",\"interaction.expandable\",\"interaction.expandTrigger\",\"interaction.expandMode\",\"interaction.expandPlacement\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"layout.density.set\",\"title\":\"Set list density\",\"scope\":\"layout\",\"targetKind\":\"layout\",\"target\":{\"kind\":\"layout\",\"resolver\":\"layout-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"density\":{\"enum\":[\"default\",\"comfortable\",\"compact\"]},\"variant\":{\"enum\":[\"list\",\"cards\",\"tiles\"]},\"itemSpacing\":{\"enum\":[\"none\",\"tight\",\"default\",\"relaxed\"]},\"lines\":{\"enum\":[1,2,3]},\"dividers\":{\"enum\":[\"none\",\"between\",\"all\"]},\"model\":{\"enum\":[\"standard\",\"media\",\"hotel\"]},\"groupBy\":{\"type\":\"string\"},\"stickySectionHeader\":{\"type\":\"boolean\"},\"virtualScroll\":{\"type\":\"boolean\"},\"pageSize\":{\"type\":\"number\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"layout\"}],\"validators\":[\"layout-value-supported\",\"bound-field-exists\",\"declared-only-runtime-warning\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"layout\",\"layout.variant\",\"layout.density\",\"layout.itemSpacing\",\"layout.lines\",\"layout.dividers\",\"layout.model\",\"layout.groupBy\",\"layout.stickySectionHeader\",\"layout.virtualScroll\",\"layout.pageSize\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"layout.rowLayout.configure\",\"title\":\"Configure list row layout\",\"scope\":\"rowLayout\",\"targetKind\":\"rowLayout\",\"target\":{\"kind\":\"rowLayout\",\"resolver\":\"row-layout-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"enum\":[\"grid\",\"flex\"]},\"columns\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"slot\"],\"properties\":{\"slot\":{\"enum\":[null,\"actions\",\"expand\"]},\"width\":{\"type\":\"string\"},\"minWidth\":{\"type\":\"string\"},\"maxWidth\":{\"type\":\"string\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"justify\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}},\"gap\":{\"type\":\"string\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"itemAlignY\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"layout.rowLayout\"}],\"validators\":[\"row-layout-supported\",\"row-layout-placement-reachable\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"layout.rowLayout\",\"layout.rowLayout.type\",\"layout.rowLayout.columns\",\"layout.rowLayout.columns[].slot\",\"layout.rowLayout.columns[].width\",\"layout.rowLayout.columns[].minWidth\",\"layout.rowLayout.columns[].maxWidth\",\"layout.rowLayout.columns[].align\",\"layout.rowLayout.columns[].justify\",\"layout.rowLayout.columns[].class\",\"layout.rowLayout.columns[].style\",\"layout.rowLayout.gap\",\"layout.rowLayout.align\",\"layout.rowLayout.itemAlignY\",\"layout.rowLayout.class\",\"layout.rowLayout.style\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"skin.configure\",\"title\":\"Configure list skin\",\"scope\":\"skin\",\"targetKind\":\"skin\",\"target\":{\"kind\":\"skin\",\"resolver\":\"skin-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"enum\":[\"pill-soft\",\"gradient-tile\",\"glass\",\"elevated\",\"outline\",\"flat\",\"neumorphism\",\"custom\"]},\"gradient\":{\"type\":\"object\",\"properties\":{\"from\":{\"type\":\"string\"},\"to\":{\"type\":\"string\"},\"angle\":{\"type\":\"number\"}}},\"radius\":{\"type\":\"string\"},\"shadow\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"backdropBlur\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"skin\"}],\"validators\":[\"skin-value-supported\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"skin\",\"skin.type\",\"skin.gradient\",\"skin.gradient.from\",\"skin.gradient.to\",\"skin.gradient.angle\",\"skin.radius\",\"skin.shadow\",\"skin.border\",\"skin.backdropBlur\",\"skin.class\",\"skin.inlineStyle\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9943
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"item.action.add\",\"title\":\"Add item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"label\"],\"properties\":{\"id\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"icon\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"kind\":{\"enum\":[\"icon\",\"button\",\"menu-item\"]},\"buttonVariant\":{\"enum\":[\"stroked\",\"raised\",\"flat\"]},\"showIf\":{\"type\":\"object\"},\"globalAction\":{\"type\":\"object\",\"additionalProperties\":false,\"properties\":{\"actionId\":{\"type\":\"string\"},\"payload\":{\"type\":\"object\"},\"payloadExpr\":{\"type\":\"string\"},\"meta\":{\"type\":\"object\"}}},\"emitLocal\":{\"type\":\"boolean\"},\"showLoading\":{\"type\":\"boolean\"},\"placement\":{\"enum\":[\"actions\",\"trailing\",\"menu\"]},\"quickView\":{\"type\":\"object\"},\"confirmation\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"type\":{\"enum\":[\"danger\",\"warning\",\"info\"]}}}}},\"effects\":[{\"kind\":\"append-unique\",\"path\":\"actions[]\",\"key\":\"id\"}],\"validators\":[\"action-id-stable\",\"json-logic-valid\",\"global-action-ref-valid\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions[]\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"item.action.update\",\"title\":\"Update item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"required\":[\"id\"]},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"actions[]\",\"key\":\"id\"}],\"validators\":[\"action-exists\",\"action-id-stable\",\"json-logic-valid\",\"global-action-ref-valid\",\"declared-only-runtime-warning\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions\",\"actions[].id\",\"actions[].icon\",\"actions[].label\",\"actions[].color\",\"actions[].kind\",\"actions[].buttonVariant\",\"actions[].showIf\",\"actions[].globalAction.[actionId]\",\"actions[].globalAction.payload\",\"actions[].globalAction.payloadExpr\",\"actions[].emitLocal\",\"actions[].showLoading\",\"actions[].placement\",\"actions[].confirmation\",\"actions[].confirmation.title\",\"actions[].confirmation.message\",\"actions[].confirmation.type\"],\"submissionImpact\":\"config-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"item.action.remove\",\"title\":\"Remove item action\",\"scope\":\"itemAction\",\"targetKind\":\"itemAction\",\"target\":{\"kind\":\"itemAction\",\"resolver\":\"actions-by-id\",\"ambiguityPolicy\":\"fail\",\"required\":true},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"remove-by-key\",\"path\":\"actions[]\",\"key\":\"id\"}],\"destructive\":true,\"requiresConfirmation\":true,\"validators\":[\"action-exists\",\"destructive-removal-confirmation\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"actions[]\"],\"submissionImpact\":\"config-only\",\"preconditions\":[\"config-initialized\",\"target-exists\"]},{\"operationId\":\"selection.mode.set\",\"title\":\"Set selection mode\",\"scope\":\"selection\",\"targetKind\":\"selection\",\"target\":{\"kind\":\"selection\",\"resolver\":\"selection-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"mode\"],\"properties\":{\"mode\":{\"enum\":[\"none\",\"single\",\"multiple\"]},\"compareBy\":{\"type\":\"string\"},\"return\":{\"enum\":[\"value\",\"item\",\"id\"]},\"formControlName\":{\"type\":\"string\"},\"formControlPath\":{\"type\":\"string\"},\"showControl\":{\"type\":\"boolean\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"selection\"}],\"validators\":[\"selection-mode-supported\",\"bound-field-exists\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"selection\",\"selection.mode\",\"selection.formControlName\",\"selection.formControlPath\",\"selection.compareBy\",\"selection.return\",\"selection.showControl\"],\"submissionImpact\":\"affects-submission\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"interaction.expansion.configure\",\"title\":\"Configure expandable row interaction\",\"scope\":\"interaction\",\"targetKind\":\"interaction\",\"target\":{\"kind\":\"interaction\",\"resolver\":\"interaction-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"expandable\":{\"type\":\"boolean\"},\"expandTrigger\":{\"enum\":[\"row\",\"icon\",\"row+icon\"]},\"expandMode\":{\"enum\":[\"single\",\"multiple\"]},\"expandPlacement\":{\"enum\":[\"expand\",\"trailing\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"interaction\"}],\"validators\":[\"interaction-value-supported\",\"row-layout-placement-reachable\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"interaction\",\"interaction.expandable\",\"interaction.expandTrigger\",\"interaction.expandMode\",\"interaction.expandPlacement\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"layout.density.set\",\"title\":\"Set list density\",\"scope\":\"layout\",\"targetKind\":\"layout\",\"target\":{\"kind\":\"layout\",\"resolver\":\"layout-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"density\":{\"enum\":[\"default\",\"comfortable\",\"compact\"]},\"variant\":{\"enum\":[\"list\",\"cards\",\"tiles\"]},\"itemSpacing\":{\"enum\":[\"none\",\"tight\",\"default\",\"relaxed\"]},\"lines\":{\"enum\":[1,2,3]},\"dividers\":{\"enum\":[\"none\",\"between\",\"all\"]},\"model\":{\"enum\":[\"standard\",\"media\",\"hotel\"]},\"groupBy\":{\"type\":\"string\"},\"stickySectionHeader\":{\"type\":\"boolean\"},\"virtualScroll\":{\"type\":\"boolean\"},\"pageSize\":{\"type\":\"number\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"layout\"}],\"validators\":[\"layout-value-supported\",\"bound-field-exists\",\"declared-only-runtime-warning\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"layout\",\"layout.variant\",\"layout.density\",\"layout.itemSpacing\",\"layout.lines\",\"layout.dividers\",\"layout.model\",\"layout.groupBy\",\"layout.stickySectionHeader\",\"layout.virtualScroll\",\"layout.pageSize\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"layout.rowLayout.configure\",\"title\":\"Configure list row layout\",\"scope\":\"rowLayout\",\"targetKind\":\"rowLayout\",\"target\":{\"kind\":\"rowLayout\",\"resolver\":\"row-layout-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"enum\":[\"grid\",\"flex\"]},\"columns\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"slot\"],\"properties\":{\"slot\":{\"enum\":[null,\"actions\",\"expand\"]},\"width\":{\"type\":\"string\"},\"minWidth\":{\"type\":\"string\"},\"maxWidth\":{\"type\":\"string\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"justify\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}},\"gap\":{\"type\":\"string\"},\"align\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"itemAlignY\":{\"enum\":[\"start\",\"center\",\"end\",\"stretch\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"layout.rowLayout\"}],\"validators\":[\"row-layout-supported\",\"row-layout-placement-reachable\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"layout.rowLayout\",\"layout.rowLayout.type\",\"layout.rowLayout.columns\",\"layout.rowLayout.columns[].slot\",\"layout.rowLayout.columns[].width\",\"layout.rowLayout.columns[].minWidth\",\"layout.rowLayout.columns[].maxWidth\",\"layout.rowLayout.columns[].align\",\"layout.rowLayout.columns[].justify\",\"layout.rowLayout.columns[].class\",\"layout.rowLayout.columns[].style\",\"layout.rowLayout.gap\",\"layout.rowLayout.align\",\"layout.rowLayout.itemAlignY\",\"layout.rowLayout.class\",\"layout.rowLayout.style\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9908
9944
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9909
- "contentHash": "b011f63991b452d27624d143dc172dbadb013373dc844fbd8e5741acf9bbe3c0",
9945
+ "contentHash": "2cc82070045ac51133de3e3780fd11eb8029d4b0041e93842c40376b9c444e27",
9910
9946
  "sourceKind": "component_definition",
9911
9947
  "sourceId": "praxis-list",
9912
9948
  "corpusVersion": "1.0.0"
@@ -9914,9 +9950,9 @@
9914
9950
  {
9915
9951
  "chunkIndex": 41,
9916
9952
  "chunkKind": "authoring_manifest",
9917
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"templating.display.configure\",\"title\":\"Configure list template display options\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-display-options\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"metaPlacement\":{\"enum\":[\"side\",\"line\"]},\"metaPrefixIcon\":{\"type\":\"string\"},\"statusPosition\":{\"enum\":[\"inline\",\"top-right\"]},\"chipColorMap\":{\"type\":\"object\"},\"chipLabelMap\":{\"type\":\"object\"},\"iconColorMap\":{\"type\":\"object\"},\"featuresVisible\":{\"type\":\"boolean\"},\"featuresMode\":{\"enum\":[\"icons+labels\",\"icons-only\",\"labels-only\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating\"}],\"validators\":[\"template-display-supported\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating\",\"templating.metaPlacement\",\"templating.metaPrefixIcon\",\"templating.statusPosition\",\"templating.chipColorMap\",\"templating.chipLabelMap\",\"templating.iconColorMap\",\"templating.featuresVisible\",\"templating.featuresMode\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"templating.features.set\",\"title\":\"Set list feature line\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-features\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"features\"],\"properties\":{\"features\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"expr\"],\"properties\":{\"icon\":{\"type\":\"string\"},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"templating.features\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.features\",\"templating.features[].icon\",\"templating.features[].expr\",\"templating.features[].class\",\"templating.features[].style\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"templating.skeleton.configure\",\"title\":\"Configure list skeleton\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-skeleton\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"count\"],\"properties\":{\"count\":{\"type\":\"number\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.skeleton\"}],\"validators\":[\"skeleton-value-supported\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.skeleton\",\"templating.skeleton.count\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"rules.itemStyle.upsert\",\"title\":\"Upsert item style rule\",\"scope\":\"rules\",\"targetKind\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"condition\":{\"type\":\"object\"},\"tone\":{\"enum\":[\"primary\",\"success\",\"warning\",\"danger\",\"muted\",\"neutral\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"item-style\"]},\"tone\":{\"enum\":[\"primary\",\"success\",\"warning\",\"danger\",\"muted\",\"neutral\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"rules.itemStyles[]\",\"key\":\"id\"}],\"validators\":[\"rule-id-stable\",\"json-logic-valid\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"rules\",\"rules.itemStyles\",\"rules.itemStyles[].id\",\"rules.itemStyles[].condition\",\"rules.itemStyles[].tone\",\"rules.itemStyles[].class\",\"rules.itemStyles[].style\",\"rules.itemStyles[].border\",\"rules.itemStyles[].background\",\"rules.itemStyles[].effects\",\"rules.itemStyles[].effects[].kind\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9953
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"skin.configure\",\"title\":\"Configure list skin\",\"scope\":\"skin\",\"targetKind\":\"skin\",\"target\":{\"kind\":\"skin\",\"resolver\":\"skin-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"type\":{\"enum\":[\"pill-soft\",\"gradient-tile\",\"glass\",\"elevated\",\"outline\",\"flat\",\"neumorphism\",\"custom\"]},\"gradient\":{\"type\":\"object\",\"properties\":{\"from\":{\"type\":\"string\"},\"to\":{\"type\":\"string\"},\"angle\":{\"type\":\"number\"}}},\"radius\":{\"type\":\"string\"},\"shadow\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"backdropBlur\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"inlineStyle\":{\"type\":\"string\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"skin\"}],\"validators\":[\"skin-value-supported\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"skin\",\"skin.type\",\"skin.gradient\",\"skin.gradient.from\",\"skin.gradient.to\",\"skin.gradient.angle\",\"skin.radius\",\"skin.shadow\",\"skin.border\",\"skin.backdropBlur\",\"skin.class\",\"skin.inlineStyle\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"templating.display.configure\",\"title\":\"Configure list template display options\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-display-options\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"metaPlacement\":{\"enum\":[\"side\",\"line\"]},\"metaPrefixIcon\":{\"type\":\"string\"},\"statusPosition\":{\"enum\":[\"inline\",\"top-right\"]},\"chipColorMap\":{\"type\":\"object\"},\"chipLabelMap\":{\"type\":\"object\"},\"iconColorMap\":{\"type\":\"object\"},\"featuresVisible\":{\"type\":\"boolean\"},\"featuresMode\":{\"enum\":[\"icons+labels\",\"icons-only\",\"labels-only\"]}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating\"}],\"validators\":[\"template-display-supported\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating\",\"templating.metaPlacement\",\"templating.metaPrefixIcon\",\"templating.statusPosition\",\"templating.chipColorMap\",\"templating.chipLabelMap\",\"templating.iconColorMap\",\"templating.featuresVisible\",\"templating.featuresMode\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"templating.features.set\",\"title\":\"Set list feature line\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-features\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"features\"],\"properties\":{\"features\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"expr\"],\"properties\":{\"icon\":{\"type\":\"string\"},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"set-value\",\"path\":\"templating.features\"}],\"validators\":[\"bound-field-exists\",\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.features\",\"templating.features[].icon\",\"templating.features[].expr\",\"templating.features[].class\",\"templating.features[].style\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"templating.skeleton.configure\",\"title\":\"Configure list skeleton\",\"scope\":\"templating\",\"targetKind\":\"itemTemplate\",\"target\":{\"kind\":\"itemTemplate\",\"resolver\":\"templating-skeleton\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"count\"],\"properties\":{\"count\":{\"type\":\"number\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.skeleton\"}],\"validators\":[\"skeleton-value-supported\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.skeleton\",\"templating.skeleton.count\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]},{\"operationId\":\"rules.itemStyle.upsert\",\"title\":\"Upsert item style rule\",\"scope\":\"rules\",\"targetKind\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"condition\":{\"type\":\"object\"},\"tone\":{\"enum\":[\"primary\",\"success\",\"warning\",\"danger\",\"muted\",\"neutral\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"item-style\"]},\"tone\":{\"enum\":[\"primary\",\"success\",\"warning\",\"danger\",\"muted\",\"neutral\"]},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"border\":{\"type\":\"string\"},\"background\":{\"type\":\"string\"}}}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"rules.itemStyles[]\",\"key\":\"id\"}],\"validators\":[\"rule-id-stable\",\"json-logic-valid\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"rules\",\"rules.itemStyles\",\"rules.itemStyles[].id\",\"rules.itemStyles[].condition\",\"rules.itemStyles[].tone\",\"rules.itemStyles[].class\",\"rules.itemStyles[].style\",\"rules.itemStyles[].border\",\"rules.itemStyles[].background\",\"rules.itemStyles[].effects\",\"rules.itemStyles[].effects[].kind\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9918
9954
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9919
- "contentHash": "3b9d9ccfcf9dad11ecfb96394210418855c309a18dde25ac0ac68fe5f0809d89",
9955
+ "contentHash": "ce3ed78ebafca4ca4584784ede98c20f55569ef6e752d2016ab16c711eae47f2",
9920
9956
  "sourceKind": "component_definition",
9921
9957
  "sourceId": "praxis-list",
9922
9958
  "corpusVersion": "1.0.0"
@@ -9924,9 +9960,9 @@
9924
9960
  {
9925
9961
  "chunkIndex": 42,
9926
9962
  "chunkKind": "authoring_manifest",
9927
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"rules.slotOverride.upsert\",\"title\":\"Upsert slot override rule\",\"scope\":\"rules\",\"targetKind\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"slot\"],\"properties\":{\"id\":{\"type\":\"string\"},\"slot\":{},\"condition\":{\"type\":\"object\"},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"hide\":{\"type\":\"boolean\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"slot-override\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"hide\":{\"type\":\"boolean\"}}}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"rules.slotOverrides[]\",\"key\":\"id\"}],\"validators\":[\"rule-id-stable\",\"template-slot-supported\",\"json-logic-valid\",\"template-expression-safe\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"rules\",\"rules.slotOverrides\",\"rules.slotOverrides[].id\",\"rules.slotOverrides[].slot\",\"rules.slotOverrides[].condition\",\"rules.slotOverrides[].template\",\"rules.slotOverrides[].class\",\"rules.slotOverrides[].style\",\"rules.slotOverrides[].hide\",\"rules.slotOverrides[].effects\",\"rules.slotOverrides[].effects[].kind\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9963
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"rules.slotOverride.upsert\",\"title\":\"Upsert slot override rule\",\"scope\":\"rules\",\"targetKind\":\"rules\",\"target\":{\"kind\":\"rules\",\"resolver\":\"rules-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"id\",\"slot\"],\"properties\":{\"id\":{\"type\":\"string\"},\"slot\":{},\"condition\":{\"type\":\"object\"},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"hide\":{\"type\":\"boolean\"},\"effects\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"slot-override\"]},\"template\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"hide\":{\"type\":\"boolean\"}}}}}},\"effects\":[{\"kind\":\"merge-by-key\",\"path\":\"rules.slotOverrides[]\",\"key\":\"id\"}],\"validators\":[\"rule-id-stable\",\"template-slot-supported\",\"json-logic-valid\",\"template-expression-safe\",\"style-value-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"rules\",\"rules.slotOverrides\",\"rules.slotOverrides[].id\",\"rules.slotOverrides[].slot\",\"rules.slotOverrides[].condition\",\"rules.slotOverrides[].template\",\"rules.slotOverrides[].class\",\"rules.slotOverrides[].style\",\"rules.slotOverrides[].hide\",\"rules.slotOverrides[].effects\",\"rules.slotOverrides[].effects[].kind\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9928
9964
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9929
- "contentHash": "ffa262199fd6a592ae40447275ac141264287c575a93a0709711f4725321351b",
9965
+ "contentHash": "273bae81cd004e65ee219081f21a04ea69ee52df9fb7313ed617f85c86d71d6c",
9930
9966
  "sourceKind": "component_definition",
9931
9967
  "sourceId": "praxis-list",
9932
9968
  "corpusVersion": "1.0.0"
@@ -9934,9 +9970,9 @@
9934
9970
  {
9935
9971
  "chunkIndex": 43,
9936
9972
  "chunkKind": "authoring_manifest",
9937
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"emptyState.set\",\"title\":\"Set empty state\",\"scope\":\"itemTemplate\",\"targetKind\":\"emptyState\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"templating-empty-state\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.emptyState\"}],\"validators\":[\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.emptyState\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9973
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations\",\"operations\":[{\"operationId\":\"emptyState.set\",\"title\":\"Set empty state\",\"scope\":\"itemTemplate\",\"targetKind\":\"emptyState\",\"target\":{\"kind\":\"emptyState\",\"resolver\":\"templating-empty-state\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"templating.emptyState\"}],\"validators\":[\"template-expression-safe\",\"editor-round-trip-preserve\"],\"affectedPaths\":[\"templating.emptyState\"],\"submissionImpact\":\"visual-only\",\"destructive\":false,\"requiresConfirmation\":false,\"preconditions\":[\"config-initialized\"]}]}",
9938
9974
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9939
- "contentHash": "e4cf18405f896bd9efd3013aff29a3b00a3148c4a2abb48dd3e754b9c6a9b83e",
9975
+ "contentHash": "fa51a338d3e31327088aca5298e7b518ee7b119c1f5ca1d4c364916340888390",
9940
9976
  "sourceKind": "component_definition",
9941
9977
  "sourceId": "praxis-list",
9942
9978
  "corpusVersion": "1.0.0"
@@ -9944,9 +9980,9 @@
9944
9980
  {
9945
9981
  "chunkIndex": 44,
9946
9982
  "chunkKind": "authoring_manifest",
9947
- "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations[20]\",\"fragmentPath\":\"operations[20]\",\"fragmentIdentity\":{\"operationId\":\"expansion.configure\"},\"fragment\":{\"operationId\":\"expansion.configure\",\"title\":\"Configure list expansion\",\"scope\":\"expansion\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"sections\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"type\"],\"properties\":{\"id\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"},\"type\":{\"enum\":[\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\",\"component\",\"rich-content\"]},\"itemsExpr\":{\"type\":\"string\"},\"document\":{\"type\":\"object\"},\"documentExpr\":{\"type\":\"string\"},\"emptyLabel\":{\"type\":\"string\"},\"metadata\":{\"type\":\"object\",\"properties\":{\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"columns\":{\"enum\":[1,2,3]},\"gap\":{\"type\":\"string\"},\"keyClass\":{\"type\":\"string\"},\"valueClass\":{\"type\":\"string\"},\"keyStyle\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"showIf\":{\"type\":\"object\"}}}},\"dataSource\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"inline\",\"resource\",\"resourcePath\"]},\"resource\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"resourcePath\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"method\":{\"enum\":[\"GET\",\"POST\"]},\"paramsMap\":{\"type\":\"object\"}}},\"resourceAllowList\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"fallbackMode\":{\"enum\":[\"none\",\"inline\",\"resource\"]},\"cache\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"cancelOnCollapse\":{\"type\":\"boolean\"}}},\"schemaContract\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"praxis.detail.schema\"]},\"version\":{\"type\":\"string\"},\"allowedNodes\":{\"type\":\"array\",\"items\":{\"enum\":[\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\",\"component\",\"rich-content\"]}},\"maxSections\":{\"type\":\"number\"},\"maxItemsPerSection\":{\"type\":\"number\"},\"requireSectionIds\":{\"type\":\"boolean\"}}},\"rendering\":{\"type\":\"object\",\"properties\":{\"shell\":{\"enum\":[\"attached\",\"detached\",\"modal\"]},\"columns\":{\"enum\":[1,2,3]},\"gap\":{\"type\":\"string\"},\"padding\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"loadingTemplate\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}},\"errorTemplate\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"expansion\"}],\"validators\":[\"expansion-section-id-stable\",\"expansion-value-supported\",\"json-logic-valid\",\"template-expression-safe\",\"remote-resource-binding-safe\",\"style-value-safe\",\"editor-round-trip-preserve\"]}}",
9983
+ "content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.1.0\",\"componentId\":\"praxis-list\",\"ownerPackage\":\"@praxisui/list\",\"configSchemaId\":\"PraxisListConfig\",\"chunkSection\":\"operations[20]\",\"fragmentPath\":\"operations[20]\",\"fragmentIdentity\":{\"operationId\":\"expansion.configure\"},\"fragment\":{\"operationId\":\"expansion.configure\",\"title\":\"Configure list expansion\",\"scope\":\"expansion\",\"targetKind\":\"expansion\",\"target\":{\"kind\":\"expansion\",\"resolver\":\"expansion-config\",\"ambiguityPolicy\":\"fail\",\"required\":false},\"inputSchema\":{\"type\":\"object\",\"properties\":{\"sections\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"required\":[\"id\",\"type\"],\"properties\":{\"id\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"},\"type\":{\"enum\":[\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\",\"component\",\"rich-content\"]},\"itemsExpr\":{\"type\":\"string\"},\"document\":{\"type\":\"object\"},\"documentExpr\":{\"type\":\"string\"},\"emptyLabel\":{\"type\":\"string\"},\"metadata\":{\"type\":\"object\",\"properties\":{\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"columns\":{\"enum\":[1,2,3]},\"gap\":{\"type\":\"string\"},\"keyClass\":{\"type\":\"string\"},\"valueClass\":{\"type\":\"string\"},\"keyStyle\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"showIf\":{\"type\":\"object\"}}}},\"dataSource\":{\"type\":\"object\",\"properties\":{\"mode\":{\"enum\":[\"inline\",\"resource\",\"resourcePath\"]},\"resource\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"version\":{\"type\":\"string\"}}},\"resourcePath\":{\"type\":\"object\",\"properties\":{\"path\":{\"type\":\"string\"},\"method\":{\"enum\":[\"GET\",\"POST\"]},\"paramsMap\":{\"type\":\"object\"}}},\"resourceAllowList\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"fallbackMode\":{\"enum\":[\"none\",\"inline\",\"resource\"]},\"cache\":{\"type\":\"object\",\"properties\":{\"enabled\":{\"type\":\"boolean\"}}},\"cancelOnCollapse\":{\"type\":\"boolean\"}}},\"schemaContract\":{\"type\":\"object\",\"properties\":{\"kind\":{\"enum\":[\"praxis.detail.schema\"]},\"version\":{\"type\":\"string\"},\"allowedNodes\":{\"type\":\"array\",\"items\":{\"enum\":[\"info-list\",\"chip-list\",\"timeline\",\"key-value\",\"metadata\",\"component\",\"rich-content\"]}},\"maxSections\":{\"type\":\"number\"},\"maxItemsPerSection\":{\"type\":\"number\"},\"requireSectionIds\":{\"type\":\"boolean\"}}},\"rendering\":{\"type\":\"object\",\"properties\":{\"shell\":{\"enum\":[\"attached\",\"detached\",\"modal\"]},\"columns\":{\"enum\":[1,2,3]},\"gap\":{\"type\":\"string\"},\"padding\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"loadingTemplate\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}},\"errorTemplate\":{\"type\":\"object\",\"required\":[\"type\",\"expr\"],\"properties\":{\"type\":{\"enum\":[\"text\",\"icon\",\"image\",\"chip\",\"rating\",\"currency\",\"date\",\"datetime\",\"relative\",\"html\",\"slot\",\"metric\",\"compose\",\"component\"]},\"expr\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]},\"imageAlt\":{\"type\":\"string\"},\"props\":{\"type\":\"object\",\"properties\":{\"rating\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\"},\"size\":{\"type\":\"number\"},\"color\":{\"type\":\"string\"}}},\"metric\":{\"type\":\"object\",\"properties\":{\"label\":{\"type\":\"string\"},\"valueExpr\":{\"type\":\"string\"},\"caption\":{\"type\":\"string\"},\"subcaption\":{\"type\":\"string\"},\"captionPosition\":{\"enum\":[\"below-value\",\"below-progress\"]},\"icon\":{\"type\":\"string\"},\"iconExpr\":{\"type\":\"string\"},\"tone\":{\"type\":\"string\"},\"toneExpr\":{\"type\":\"string\"},\"layout\":{\"enum\":[\"value-only\",\"value+caption\",\"icon+value+caption\",\"stacked-center\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"progress\":{\"type\":\"object\",\"properties\":{\"valueExpr\":{\"type\":\"string\"},\"max\":{\"type\":\"number\"},\"mode\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"color\":{\"type\":\"string\"},\"colorExpr\":{\"type\":\"string\"},\"trackColor\":{\"type\":\"string\"}}},\"valueClass\":{\"type\":\"string\"},\"valueStyle\":{\"type\":\"string\"},\"showBar\":{\"type\":\"boolean\"},\"barValueExpr\":{\"type\":\"string\"},\"barColor\":{\"type\":\"string\"},\"barVariant\":{\"enum\":[\"determinate\",\"indeterminate\"]},\"legendExpr\":{\"type\":\"string\"},\"iconPosition\":{\"enum\":[\"left\",\"right\",\"top\"]},\"iconColorExpr\":{\"type\":\"string\"}}},\"compose\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"nodes\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}},\"direction\":{\"enum\":[\"row\",\"column\"]},\"orientation\":{\"enum\":[\"horizontal\",\"vertical\"]},\"align\":{\"enum\":[\"start\",\"center\",\"end\"]},\"gap\":{\"type\":\"string\"},\"wrap\":{\"type\":\"boolean\"},\"separator\":{\"type\":\"string\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}},\"component\":{\"type\":\"object\",\"required\":[\"id\"],\"properties\":{\"id\":{\"type\":\"string\"},\"inputs\":{\"type\":\"object\"},\"class\":{\"type\":\"string\"},\"style\":{\"type\":\"string\"}}}}},\"badge\":{\"type\":\"object\",\"properties\":{\"expr\":{\"type\":\"string\"},\"color\":{\"type\":\"string\"},\"variant\":{\"enum\":[\"filled\",\"outlined\"]}}},\"quickView\":{\"type\":\"object\"}}}}}}},\"effects\":[{\"kind\":\"merge-object\",\"path\":\"expansion\"}],\"validators\":[\"expansion-section-id-stable\",\"expansion-value-supported\",\"json-logic-valid\",\"template-expression-safe\",\"remote-resource-binding-safe\",\"style-value-safe\",\"editor-round-trip-preserve\"]}}",
9948
9984
  "sourcePointer": "projects/praxis-list/src/lib/ai/praxis-list-authoring-manifest.ts",
9949
- "contentHash": "b703584b674747432945c7c4ead4df689d5e2a52ccaaaf22353726524c6c9a9e",
9985
+ "contentHash": "10933156b697ef8a9ac55c8941b15e1c7b187b7ac7d7fff95f56c58181feec73",
9950
9986
  "sourceKind": "component_definition",
9951
9987
  "sourceId": "praxis-list",
9952
9988
  "corpusVersion": "1.0.0"
@@ -10054,9 +10090,9 @@
10054
10090
  {
10055
10091
  "chunkIndex": 55,
10056
10092
  "chunkKind": "recipe",
10057
- "content": "{\"_comment\":\"Receita completa de configuração para o Praxis List baseada no PraxisListConfig real, com features + metaPlacement.\",\"templateMeta\":{\"registryKey\":\"praxis-list\",\"variantId\":\"base\",\"useWhen\":\"Base list configuration.\",\"examplePrompts\":[\"create a list with selection\",\"configure list layout and item templates\"]},\"config\":{\"dataSource\":{\"resourcePath\":\"api/products\",\"sort\":[\"name,asc\"]},\"selection\":{\"mode\":\"multiple\",\"showControl\":true,\"compareBy\":\"id\",\"return\":\"id\"},\"layout\":{\"variant\":\"list\",\"density\":\"comfortable\",\"itemAppearance\":\"card\",\"itemSpacing\":\"compact\",\"lines\":3,\"dividers\":\"between\",\"pageSize\":20},\"templating\":{\"leading\":{\"type\":\"icon\",\"expr\":\"inventory_2\"},\"primary\":{\"type\":\"text\",\"expr\":\"${item.name}\"},\"secondary\":{\"type\":\"text\",\"expr\":\"${item.category}\"},\"meta\":{\"type\":\"date\",\"expr\":\"${item.updatedAt}|pt-BR:short\"},\"metaPlacement\":\"line\",\"metaPrefixIcon\":\"schedule\",\"trailing\":{\"type\":\"chip\",\"expr\":\"${item.status}\"},\"chipColorMap\":{\"active\":\"primary\",\"inactive\":\"warn\"},\"chipLabelMap\":{\"active\":\"Ativo\",\"inactive\":\"Inativo\"},\"features\":[{\"icon\":\"inventory_2\",\"expr\":\"Estoque: ${item.stock|number:pt-BR}\"},{\"icon\":\"local_shipping\",\"expr\":\"${item.shipping|map:free=Frete grátis,paid=Frete pago}\"}],\"featuresVisible\":true,\"featuresMode\":\"icons+labels\",\"emptyState\":{\"type\":\"text\",\"expr\":\"Nenhum produto encontrado\"}},\"rules\":{\"itemStyles\":[{\"id\":\"low-stock-warning\",\"condition\":{\"<=\":[{\"var\":\"row.stock\"},5]},\"tone\":\"warning\"}]},\"actions\":[{\"id\":\"edit\",\"label\":\"Editar\",\"icon\":\"edit\",\"kind\":\"icon\",\"placement\":\"trailing\"},{\"id\":\"delete\",\"label\":\"Excluir\",\"icon\":\"delete\",\"color\":\"warn\",\"kind\":\"menu-item\",\"placement\":\"menu\"}],\"ui\":{\"showSearch\":true,\"searchField\":\"name\",\"searchPlaceholder\":\"Buscar produto\",\"showSort\":true,\"sortOptions\":[{\"label\":\"Nome (A-Z)\",\"value\":\"name,asc\"},{\"label\":\"Nome (Z-A)\",\"value\":\"name,desc\"},{\"label\":\"Mais caros\",\"value\":\"price,desc\"}],\"showRange\":true},\"i18n\":{\"locale\":\"pt-BR\",\"currency\":\"BRL\"},\"a11y\":{\"ariaLabel\":\"Lista de produtos\"}}}",
10093
+ "content": "{\"_comment\":\"Receita completa de configuração para o Praxis List baseada no PraxisListConfig real, com features + metaPlacement.\",\"templateMeta\":{\"registryKey\":\"praxis-list\",\"variantId\":\"base\",\"useWhen\":\"Base list configuration.\",\"examplePrompts\":[\"create a list with selection\",\"configure list layout and item templates\"]},\"config\":{\"dataSource\":{\"resourcePath\":\"api/products\",\"sort\":[\"name,asc\"]},\"selection\":{\"mode\":\"multiple\",\"showControl\":true,\"compareBy\":\"id\",\"return\":\"id\"},\"layout\":{\"variant\":\"list\",\"density\":\"comfortable\",\"itemAppearance\":\"card\",\"itemSpacing\":\"compact\",\"lines\":3,\"dividers\":\"between\",\"pageSize\":20},\"templating\":{\"leading\":{\"type\":\"icon\",\"expr\":\"inventory_2\"},\"primary\":{\"type\":\"text\",\"expr\":\"${item.name}\",\"quickView\":{\"recordOpen\":{\"sourceIdentityField\":\"id\",\"target\":{\"resourceKey\":\"catalog.products\",\"surfaceId\":\"view\"}},\"detailPresentation\":\"drawer\"}},\"secondary\":{\"type\":\"text\",\"expr\":\"${item.category}\"},\"meta\":{\"type\":\"date\",\"expr\":\"${item.updatedAt}|pt-BR:short\"},\"metaPlacement\":\"line\",\"metaPrefixIcon\":\"schedule\",\"trailing\":{\"type\":\"chip\",\"expr\":\"${item.status}\"},\"chipColorMap\":{\"active\":\"primary\",\"inactive\":\"warn\"},\"chipLabelMap\":{\"active\":\"Ativo\",\"inactive\":\"Inativo\"},\"features\":[{\"icon\":\"inventory_2\",\"expr\":\"Estoque: ${item.stock|number:pt-BR}\"},{\"icon\":\"local_shipping\",\"expr\":\"${item.shipping|map:free=Frete grátis,paid=Frete pago}\"}],\"featuresVisible\":true,\"featuresMode\":\"icons+labels\",\"emptyState\":{\"type\":\"text\",\"expr\":\"Nenhum produto encontrado\"}},\"rules\":{\"itemStyles\":[{\"id\":\"low-stock-warning\",\"condition\":{\"<=\":[{\"var\":\"row.stock\"},5]},\"tone\":\"warning\"}]},\"actions\":[{\"id\":\"edit\",\"label\":\"Editar\",\"icon\":\"edit\",\"kind\":\"icon\",\"placement\":\"trailing\"},{\"id\":\"delete\",\"label\":\"Excluir\",\"icon\":\"delete\",\"color\":\"warn\",\"kind\":\"menu-item\",\"placement\":\"menu\"}],\"ui\":{\"showSearch\":true,\"searchField\":\"name\",\"searchPlaceholder\":\"Buscar produto\",\"showSort\":true,\"sortOptions\":[{\"label\":\"Nome (A-Z)\",\"value\":\"name,asc\"},{\"label\":\"Nome (Z-A)\",\"value\":\"name,desc\"},{\"label\":\"Mais caros\",\"value\":\"price,desc\"}],\"showRange\":true},\"i18n\":{\"locale\":\"pt-BR\",\"currency\":\"BRL\"},\"a11y\":{\"ariaLabel\":\"Lista de produtos\"}}}",
10058
10094
  "sourcePointer": "examples/ai-recipes/praxis-list.json",
10059
- "contentHash": "7b71749f7e7044a19073e0be6ad0fc1009362e41cd8fac65c82db63c2fed6e3f",
10095
+ "contentHash": "029020417599784d624077e26d04ac0bc6fc8535640e22eda41f3e8ed060e957",
10060
10096
  "sourceKind": "component_definition",
10061
10097
  "sourceId": "praxis-list",
10062
10098
  "corpusVersion": "1.0.0"