@almadar/std 2.1.1 → 2.4.1

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.
Files changed (86) hide show
  1. package/dist/behaviors/async.d.ts +12 -7
  2. package/dist/behaviors/async.js +1085 -312
  3. package/dist/behaviors/async.js.map +1 -1
  4. package/dist/behaviors/data-management.d.ts +27 -13
  5. package/dist/behaviors/data-management.js +600 -244
  6. package/dist/behaviors/data-management.js.map +1 -1
  7. package/dist/behaviors/domain/commerce.d.ts +51 -0
  8. package/dist/behaviors/domain/commerce.js +1093 -0
  9. package/dist/behaviors/domain/commerce.js.map +1 -0
  10. package/dist/behaviors/domain/content.d.ts +51 -0
  11. package/dist/behaviors/domain/content.js +1294 -0
  12. package/dist/behaviors/domain/content.js.map +1 -0
  13. package/dist/behaviors/domain/dashboard.d.ts +45 -0
  14. package/dist/behaviors/domain/dashboard.js +783 -0
  15. package/dist/behaviors/domain/dashboard.js.map +1 -0
  16. package/dist/behaviors/domain/education.d.ts +41 -0
  17. package/dist/behaviors/domain/education.js +738 -0
  18. package/dist/behaviors/domain/education.js.map +1 -0
  19. package/dist/behaviors/domain/finance.d.ts +49 -0
  20. package/dist/behaviors/domain/finance.js +660 -0
  21. package/dist/behaviors/domain/finance.js.map +1 -0
  22. package/dist/behaviors/domain/game-2d-platformer.d.ts +50 -0
  23. package/dist/behaviors/domain/game-2d-platformer.js +810 -0
  24. package/dist/behaviors/domain/game-2d-platformer.js.map +1 -0
  25. package/dist/behaviors/domain/game-2d-puzzle.d.ts +42 -0
  26. package/dist/behaviors/domain/game-2d-puzzle.js +622 -0
  27. package/dist/behaviors/domain/game-2d-puzzle.js.map +1 -0
  28. package/dist/behaviors/domain/game-2d-rpg.d.ts +48 -0
  29. package/dist/behaviors/domain/game-2d-rpg.js +860 -0
  30. package/dist/behaviors/domain/game-2d-rpg.js.map +1 -0
  31. package/dist/behaviors/domain/game-2d-strategy.d.ts +48 -0
  32. package/dist/behaviors/domain/game-2d-strategy.js +692 -0
  33. package/dist/behaviors/domain/game-2d-strategy.js.map +1 -0
  34. package/dist/behaviors/domain/geospatial.d.ts +35 -0
  35. package/dist/behaviors/domain/geospatial.js +634 -0
  36. package/dist/behaviors/domain/geospatial.js.map +1 -0
  37. package/dist/behaviors/domain/healthcare.d.ts +36 -0
  38. package/dist/behaviors/domain/healthcare.js +1068 -0
  39. package/dist/behaviors/domain/healthcare.js.map +1 -0
  40. package/dist/behaviors/domain/iot.d.ts +45 -0
  41. package/dist/behaviors/domain/iot.js +589 -0
  42. package/dist/behaviors/domain/iot.js.map +1 -0
  43. package/dist/behaviors/domain/media.d.ts +41 -0
  44. package/dist/behaviors/domain/media.js +771 -0
  45. package/dist/behaviors/domain/media.js.map +1 -0
  46. package/dist/behaviors/domain/scheduling.d.ts +41 -0
  47. package/dist/behaviors/domain/scheduling.js +930 -0
  48. package/dist/behaviors/domain/scheduling.js.map +1 -0
  49. package/dist/behaviors/domain/simulation.d.ts +36 -0
  50. package/dist/behaviors/domain/simulation.js +706 -0
  51. package/dist/behaviors/domain/simulation.js.map +1 -0
  52. package/dist/behaviors/domain/social.d.ts +41 -0
  53. package/dist/behaviors/domain/social.js +840 -0
  54. package/dist/behaviors/domain/social.js.map +1 -0
  55. package/dist/behaviors/domain/workflow.d.ts +41 -0
  56. package/dist/behaviors/domain/workflow.js +879 -0
  57. package/dist/behaviors/domain/workflow.js.map +1 -0
  58. package/dist/behaviors/feedback.d.ts +10 -5
  59. package/dist/behaviors/feedback.js +279 -194
  60. package/dist/behaviors/feedback.js.map +1 -1
  61. package/dist/behaviors/game-core.d.ts +15 -8
  62. package/dist/behaviors/game-core.js +412 -80
  63. package/dist/behaviors/game-core.js.map +1 -1
  64. package/dist/behaviors/game-entity.d.ts +17 -10
  65. package/dist/behaviors/game-entity.js +544 -237
  66. package/dist/behaviors/game-entity.js.map +1 -1
  67. package/dist/behaviors/game-ui.d.ts +16 -8
  68. package/dist/behaviors/game-ui.js +451 -316
  69. package/dist/behaviors/game-ui.js.map +1 -1
  70. package/dist/behaviors/index.d.ts +18 -1
  71. package/dist/behaviors/index.js +18905 -2140
  72. package/dist/behaviors/index.js.map +1 -1
  73. package/dist/behaviors/infrastructure.d.ts +9 -8
  74. package/dist/behaviors/infrastructure.js +597 -169
  75. package/dist/behaviors/infrastructure.js.map +1 -1
  76. package/dist/behaviors/registry.d.ts +11 -11
  77. package/dist/behaviors/registry.js +18904 -2139
  78. package/dist/behaviors/registry.js.map +1 -1
  79. package/dist/behaviors/types.d.ts +19 -2
  80. package/dist/behaviors/types.js.map +1 -1
  81. package/dist/behaviors/ui-interaction.d.ts +20 -14
  82. package/dist/behaviors/ui-interaction.js +928 -518
  83. package/dist/behaviors/ui-interaction.js.map +1 -1
  84. package/dist/index.js +18906 -2141
  85. package/dist/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../behaviors/domain/commerce.ts"],"names":[],"mappings":"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","file":"commerce.js","sourcesContent":["/**\n * Commerce Domain Behaviors\n *\n * Standard behaviors for e-commerce operations: shopping cart, checkout,\n * product catalog, pricing rules, and order tracking.\n * Each behavior is a self-contained OrbitalSchema that passes orbital validate\n * with 0 errors and 0 warnings when exported as a standalone .orb file.\n *\n * UI Composition: molecule-first (atoms + molecules only, no organisms).\n * Each behavior has unique, domain-appropriate layouts composed with\n * VStack/HStack/Box wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema } from '../types.js';\n\n// ── Shared Commerce Theme ───────────────────────────────────────────\n\nconst COMMERCE_THEME = {\n name: 'commerce-indigo',\n tokens: {\n colors: {\n primary: '#6366f1',\n 'primary-hover': '#4f46e5',\n 'primary-foreground': '#ffffff',\n accent: '#ec4899',\n 'accent-foreground': '#ffffff',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-cart - Shopping Cart\n// ============================================================================\n\n// ── Reusable main-view effects (cart with items) ────────────────────\n\nconst cartHasItemsMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: cart icon + title + checkout button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'shopping-cart', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Shopping Cart' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Add Item', icon: 'plus', variant: 'secondary', action: 'ADD_ITEM' },\n { type: 'button', label: 'Checkout', icon: 'credit-card', variant: 'primary', action: 'PROCEED_CHECKOUT' },\n ]},\n ]},\n { type: 'divider' },\n // Stats: cart total\n { type: 'stats', label: 'Cart Total', icon: 'dollar-sign', value: '@entity.price' },\n { type: 'divider' },\n // Item list\n { type: 'data-list', entity: 'CartItem', variant: 'card',\n fields: [\n { name: 'name', label: 'Item', icon: 'package', variant: 'h4' },\n { name: 'price', label: 'Price', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'quantity', label: 'Qty', icon: 'hash', variant: 'badge' },\n { name: 'productId', label: 'Product ID', variant: 'caption' },\n ],\n itemActions: [\n { label: 'Remove', event: 'REMOVE_ITEM', icon: 'trash-2', variant: 'danger' },\n ],\n },\n]}];\n\n/**\n * std-cart - Shopping cart behavior.\n * Entity: CartItem with name, price, quantity, productId.\n * States: empty -> hasItems -> checkout. Add/remove items, proceed to checkout.\n */\nexport const CART_BEHAVIOR: BehaviorSchema = {\n name: 'std-cart',\n version: '1.0.0',\n description: 'Shopping cart with add/remove items and checkout',\n theme: COMMERCE_THEME,\n orbitals: [\n {\n name: 'CartOrbital',\n entity: {\n name: 'CartItem',\n persistence: 'persistent',\n collection: 'cart_items',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'price', type: 'number', default: 0 },\n { name: 'quantity', type: 'number', default: 1 },\n { name: 'productId', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'CartControl',\n linkedEntity: 'CartItem',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'empty', isInitial: true },\n { name: 'hasItems' },\n { name: 'creating' },\n { name: 'checkout' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'ADD_ITEM', name: 'Add Item' },\n { key: 'REMOVE_ITEM', name: 'Remove Item', payloadSchema: [\n { name: 'id', type: 'string', required: true },\n ] },\n { key: 'SAVE', name: 'Save Item', payloadSchema: [\n { name: 'data', type: 'object', required: true },\n ] },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'PROCEED_CHECKOUT', name: 'Proceed to Checkout' },\n { key: 'BACK_TO_CART', name: 'Back to Cart' },\n { key: 'VIEW', name: 'View Item', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'empty',\n to: 'empty',\n event: 'INIT',\n effects: [\n ['fetch', 'CartItem'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'shopping-cart', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Shopping Cart' },\n ]},\n { type: 'button', label: 'Add Item', icon: 'plus', variant: 'primary', action: 'ADD_ITEM' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stats', label: 'Total', icon: 'dollar-sign', value: '@entity.price' },\n { type: 'divider' },\n // Empty state: icon + message\n { type: 'stack', direction: 'vertical', gap: 'md', align: 'center', children: [\n { type: 'icon', name: 'shopping-cart', size: 'xl' },\n { type: 'typography', variant: 'h3', content: 'Your cart is empty' },\n { type: 'typography', variant: 'body', content: 'Add items to get started' },\n ]},\n ]}],\n ],\n },\n {\n from: 'hasItems',\n to: 'hasItems',\n event: 'INIT',\n effects: [\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ],\n },\n {\n from: 'empty',\n to: 'creating',\n event: 'ADD_ITEM',\n effects: [\n ['render-ui', 'modal', { type: 'form-section', entity: 'CartItem', fields: [\n { name: 'name', label: 'Item Name', type: 'string', required: true },\n { name: 'price', label: 'Price', type: 'number', required: true },\n { name: 'quantity', label: 'Quantity', type: 'number', required: true },\n { name: 'productId', label: 'Product ID', type: 'string', required: true },\n ], submitEvent: 'SAVE', cancelEvent: 'CANCEL' }],\n ],\n },\n {\n from: 'hasItems',\n to: 'creating',\n event: 'ADD_ITEM',\n effects: [\n ['render-ui', 'modal', { type: 'form-section', entity: 'CartItem', fields: [\n { name: 'name', label: 'Item Name', type: 'string', required: true },\n { name: 'price', label: 'Price', type: 'number', required: true },\n { name: 'quantity', label: 'Quantity', type: 'number', required: true },\n { name: 'productId', label: 'Product ID', type: 'string', required: true },\n ], submitEvent: 'SAVE', cancelEvent: 'CANCEL' }],\n ],\n },\n {\n from: 'creating',\n to: 'hasItems',\n event: 'SAVE',\n effects: [\n ['persist', 'create', 'CartItem', '@payload.data'],\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'creating',\n to: 'hasItems',\n event: 'CANCEL',\n effects: [\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'creating',\n to: 'hasItems',\n event: 'CLOSE',\n effects: [\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'hasItems',\n to: 'hasItems',\n event: 'REMOVE_ITEM',\n effects: [\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ],\n },\n {\n from: 'hasItems',\n to: 'checkout',\n event: 'PROCEED_CHECKOUT',\n effects: [\n ['fetch', 'CartItem'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: credit-card icon + title + back\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'credit-card', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Checkout' },\n ]},\n { type: 'button', label: 'Back to Cart', icon: 'arrow-left', variant: 'secondary', action: 'BACK_TO_CART' },\n ]},\n { type: 'divider' },\n // Order summary\n { type: 'typography', variant: 'h3', content: 'Order Summary' },\n { type: 'stats', label: 'Cart Total', icon: 'dollar-sign', value: '@entity.price' },\n { type: 'divider' },\n // Order items (read-only)\n { type: 'data-list', entity: 'CartItem', variant: 'compact',\n fields: [\n { name: 'name', label: 'Item', icon: 'package', variant: 'h4' },\n { name: 'price', label: 'Price', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'quantity', label: 'Qty', icon: 'hash', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye' },\n ],\n },\n ]}],\n ],\n },\n {\n from: 'checkout',\n to: 'checkout',\n event: 'VIEW',\n effects: [\n ['fetch', 'CartItem'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'credit-card', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Checkout' },\n ]},\n { type: 'divider' },\n { type: 'data-list', entity: 'CartItem', variant: 'compact',\n fields: [\n { name: 'name', label: 'Item', icon: 'package', variant: 'h4' },\n { name: 'price', label: 'Price', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'quantity', label: 'Qty', icon: 'hash', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye' },\n ],\n },\n ]}],\n ],\n },\n {\n from: 'checkout',\n to: 'hasItems',\n event: 'BACK_TO_CART',\n effects: [\n ['fetch', 'CartItem'],\n ...[cartHasItemsMainEffect],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'CartPage',\n path: '/cart',\n isInitial: true,\n traits: [{ ref: 'CartControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-checkout - Checkout Flow\n// ============================================================================\n\nconst checkoutWizardSteps = [\n { label: 'Shipping', icon: 'truck' },\n { label: 'Payment', icon: 'credit-card' },\n { label: 'Review', icon: 'clipboard-check' },\n];\n\n// ── Reusable: shipping step main effect ─────────────────────────────\n\nconst checkoutShippingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Wizard progress\n { type: 'wizard-progress', currentStep: 0, steps: checkoutWizardSteps },\n { type: 'divider' },\n // Step header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'truck', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Shipping Address' },\n ]},\n // Form\n { type: 'form-section', entity: 'Order', submitEvent: 'SET_SHIPPING',\n fields: [\n { name: 'shippingAddress', label: 'Shipping Address', icon: 'map-pin' },\n ],\n },\n]}];\n\n// ── Reusable: payment step main effect ──────────────────────────────\n\nconst checkoutPaymentMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Wizard progress\n { type: 'wizard-progress', currentStep: 1, steps: checkoutWizardSteps },\n { type: 'divider' },\n // Step header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'credit-card', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Payment Method' },\n ]},\n // Back button\n { type: 'button', label: 'Back to Shipping', icon: 'arrow-left', variant: 'ghost', action: 'BACK_TO_SHIPPING' },\n // Form\n { type: 'form-section', entity: 'Order', submitEvent: 'SET_PAYMENT',\n fields: [\n { name: 'paymentMethod', label: 'Payment Method', icon: 'wallet' },\n ],\n },\n]}];\n\n/**\n * std-checkout - Wizard-like checkout flow.\n * Entity: Order with total, status, shippingAddress, paymentMethod.\n * States: shipping -> payment -> review -> confirmed.\n */\nexport const CHECKOUT_BEHAVIOR: BehaviorSchema = {\n name: 'std-checkout',\n version: '1.0.0',\n description: 'Multi-step checkout flow with shipping, payment, and review',\n theme: COMMERCE_THEME,\n orbitals: [\n {\n name: 'CheckoutOrbital',\n entity: {\n name: 'Order',\n persistence: 'persistent',\n collection: 'orders',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'total', type: 'number', default: 0 },\n { name: 'status', type: 'string', default: 'pending' },\n { name: 'shippingAddress', type: 'string', default: '' },\n { name: 'paymentMethod', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'CheckoutFlow',\n linkedEntity: 'Order',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'shipping', isInitial: true },\n { name: 'payment' },\n { name: 'review' },\n { name: 'confirmed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SET_SHIPPING', name: 'Set Shipping', payloadSchema: [\n { name: 'shippingAddress', type: 'string', required: true },\n ] },\n { key: 'SET_PAYMENT', name: 'Set Payment', payloadSchema: [\n { name: 'paymentMethod', type: 'string', required: true },\n ] },\n { key: 'CONFIRM', name: 'Confirm Order' },\n { key: 'BACK_TO_SHIPPING', name: 'Back to Shipping' },\n { key: 'BACK_TO_PAYMENT', name: 'Back to Payment' },\n { key: 'NEW_ORDER', name: 'New Order' },\n ],\n transitions: [\n {\n from: 'shipping',\n to: 'shipping',\n event: 'INIT',\n effects: [\n ['fetch', 'Order'],\n ...[checkoutShippingMainEffect],\n ],\n },\n {\n from: 'shipping',\n to: 'payment',\n event: 'SET_SHIPPING',\n effects: [\n ['fetch', 'Order'],\n ['set', '@entity.shippingAddress', '@payload.shippingAddress'],\n ...[checkoutPaymentMainEffect],\n ],\n },\n {\n from: 'payment',\n to: 'review',\n event: 'SET_PAYMENT',\n effects: [\n ['fetch', 'Order'],\n ['set', '@entity.paymentMethod', '@payload.paymentMethod'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Wizard progress\n { type: 'wizard-progress', currentStep: 2, steps: checkoutWizardSteps },\n { type: 'divider' },\n // Step header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'clipboard-check', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Review Order' },\n ]},\n // Summary fields\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'dollar-sign', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Total' },\n { type: 'typography', variant: 'body', content: '@entity.total' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'map-pin', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Shipping' },\n { type: 'typography', variant: 'body', content: '@entity.shippingAddress' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'wallet', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Payment' },\n { type: 'typography', variant: 'body', content: '@entity.paymentMethod' },\n ]},\n ]},\n { type: 'divider' },\n // Actions\n { type: 'stack', direction: 'horizontal', gap: 'md', justify: 'space-between', children: [\n { type: 'button', label: 'Back to Payment', icon: 'arrow-left', variant: 'ghost', action: 'BACK_TO_PAYMENT' },\n { type: 'button', label: 'Confirm Order', icon: 'check', variant: 'primary', action: 'CONFIRM' },\n ]},\n ]}],\n ],\n },\n {\n from: 'payment',\n to: 'shipping',\n event: 'BACK_TO_SHIPPING',\n effects: [\n ['fetch', 'Order'],\n ...[checkoutShippingMainEffect],\n ],\n },\n {\n from: 'review',\n to: 'confirmed',\n event: 'CONFIRM',\n effects: [\n ['fetch', 'Order'],\n ['set', '@entity.status', 'confirmed'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', align: 'center', children: [\n // Success icon\n { type: 'icon', name: 'check-circle', size: 'xl' },\n { type: 'typography', variant: 'h2', content: 'Order Confirmed' },\n { type: 'divider' },\n // Detail fields\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'hash', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Status' },\n { type: 'badge', content: '@entity.status', variant: 'success' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'dollar-sign', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Total' },\n { type: 'typography', variant: 'body', content: '@entity.total' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'map-pin', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Shipping' },\n { type: 'typography', variant: 'body', content: '@entity.shippingAddress' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'wallet', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Payment' },\n { type: 'typography', variant: 'body', content: '@entity.paymentMethod' },\n ]},\n ]},\n { type: 'divider' },\n { type: 'button', label: 'Place New Order', icon: 'plus', variant: 'primary', action: 'NEW_ORDER' },\n ]}],\n ],\n },\n {\n from: 'review',\n to: 'payment',\n event: 'BACK_TO_PAYMENT',\n effects: [\n ['fetch', 'Order'],\n ...[checkoutPaymentMainEffect],\n ],\n },\n {\n from: 'confirmed',\n to: 'shipping',\n event: 'NEW_ORDER',\n effects: [\n ['fetch', 'Order'],\n ...[checkoutShippingMainEffect],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'CheckoutPage',\n path: '/checkout',\n isInitial: true,\n traits: [{ ref: 'CheckoutFlow' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-catalog - Product Catalog\n// ============================================================================\n\n// ── Reusable: catalog browsing main effect ──────────────────────────\n\nconst catalogBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: package icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'package', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Product Catalog' },\n ]},\n ]},\n { type: 'divider' },\n // Search input\n { type: 'search-input', placeholder: 'Search products by category...', event: 'APPLY_FILTER', icon: 'search' },\n // Product grid\n { type: 'data-grid', entity: 'Product', cols: 3, gap: 'md',\n fields: [\n { name: 'name', label: 'Product', icon: 'box', variant: 'h4' },\n { name: 'price', label: 'Price', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'category', label: 'Category', icon: 'tag', variant: 'badge' },\n { name: 'inStock', label: 'Availability', icon: 'check-circle', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW_PRODUCT', icon: 'eye' },\n ],\n },\n]}];\n\n// ── Reusable: filtered catalog main effect ──────────────────────────\n\nconst catalogFilteredMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header with clear filter\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'filter', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Filtered Results' },\n ]},\n { type: 'button', label: 'Clear Filter', icon: 'x', variant: 'ghost', action: 'CLEAR_FILTER' },\n ]},\n { type: 'divider' },\n { type: 'search-input', placeholder: 'Refine search...', event: 'APPLY_FILTER', icon: 'search' },\n // Product grid\n { type: 'data-grid', entity: 'Product', cols: 3, gap: 'md',\n fields: [\n { name: 'name', label: 'Product', icon: 'box', variant: 'h4' },\n { name: 'price', label: 'Price', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'category', label: 'Category', icon: 'tag', variant: 'badge' },\n { name: 'inStock', label: 'Availability', icon: 'check-circle', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW_PRODUCT', icon: 'eye' },\n ],\n },\n]}];\n\n// ── Reusable: product detail modal effect ───────────────────────────\n\nconst catalogDetailModalEffect = ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Product detail header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'box', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Product Details' },\n ]},\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n { type: 'divider' },\n // Product info in horizontal stacks\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'package', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Name' },\n { type: 'typography', variant: 'body', content: '@entity.name' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'file-text', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Description' },\n { type: 'typography', variant: 'body', content: '@entity.description' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'dollar-sign', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Price' },\n { type: 'typography', variant: 'body', content: '@entity.price' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'tag', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Category' },\n { type: 'badge', content: '@entity.category' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'check-circle', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'In Stock' },\n { type: 'badge', content: '@entity.inStock', variant: 'success' },\n ]},\n ]},\n]}];\n\n/**\n * std-catalog - Product catalog with browsing and detail view.\n * Entity: Product with name, description, price, category, inStock.\n * States: browsing -> viewing -> filtering. Standard list+detail.\n */\nexport const CATALOG_BEHAVIOR: BehaviorSchema = {\n name: 'std-catalog',\n version: '1.0.0',\n description: 'Product catalog with browsing, filtering, and detail view',\n theme: COMMERCE_THEME,\n orbitals: [\n {\n name: 'CatalogOrbital',\n entity: {\n name: 'Product',\n persistence: 'persistent',\n collection: 'products',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'description', type: 'string', default: '' },\n { name: 'price', type: 'number', default: 0 },\n { name: 'category', type: 'string', default: '' },\n { name: 'inStock', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'CatalogBrowse',\n linkedEntity: 'Product',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'viewing' },\n { name: 'filtering' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'VIEW_PRODUCT', name: 'View Product', payloadSchema: [\n { name: 'id', type: 'string', required: true },\n ] },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'APPLY_FILTER', name: 'Apply Filter', payloadSchema: [\n { name: 'category', type: 'string', required: true },\n ] },\n { key: 'CLEAR_FILTER', name: 'Clear Filter' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Product'],\n ...[catalogBrowsingMainEffect],\n ],\n },\n {\n from: 'browsing',\n to: 'viewing',\n event: 'VIEW_PRODUCT',\n effects: [\n ['fetch', 'Product'],\n ...[catalogDetailModalEffect],\n ],\n },\n { from: 'viewing', to: 'browsing', event: 'CLOSE', effects: [['render-ui', 'modal', null]] },\n { from: 'viewing', to: 'browsing', event: 'CANCEL', effects: [['render-ui', 'modal', null]] },\n {\n from: 'browsing',\n to: 'filtering',\n event: 'APPLY_FILTER',\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.category', '@payload.category'],\n ...[catalogFilteredMainEffect],\n ],\n },\n {\n from: 'filtering',\n to: 'filtering',\n event: 'APPLY_FILTER',\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.category', '@payload.category'],\n ...[catalogFilteredMainEffect],\n ],\n },\n {\n from: 'filtering',\n to: 'viewing',\n event: 'VIEW_PRODUCT',\n effects: [\n ['fetch', 'Product'],\n ...[catalogDetailModalEffect],\n ],\n },\n {\n from: 'filtering',\n to: 'browsing',\n event: 'CLEAR_FILTER',\n effects: [\n ['set', '@entity.category', ''],\n ['fetch', 'Product'],\n ...[catalogBrowsingMainEffect],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'CatalogPage',\n path: '/catalog',\n isInitial: true,\n traits: [{ ref: 'CatalogBrowse' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-pricing - Price Management\n// ============================================================================\n\n// ── Reusable: pricing browsing main effect ──────────────────────────\n\nconst pricingBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: tag icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'tag', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Price Rules' },\n ]},\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total Rules', icon: 'layers', entity: 'PriceRule' },\n { type: 'line-chart', entity: 'PriceRule' },\n ]},\n { type: 'divider' },\n // Rules list\n { type: 'data-list', entity: 'PriceRule', variant: 'card',\n fields: [\n { name: 'name', label: 'Rule Name', icon: 'bookmark', variant: 'h4' },\n { name: 'type', label: 'Type', icon: 'sliders', variant: 'badge' },\n { name: 'value', label: 'Value', icon: 'dollar-sign', variant: 'body', format: 'currency' },\n { name: 'startDate', label: 'Start', icon: 'calendar', variant: 'caption', format: 'date' },\n { name: 'endDate', label: 'End', icon: 'calendar', variant: 'caption', format: 'date' },\n ],\n itemActions: [\n { label: 'Edit', event: 'EDIT_RULE', icon: 'pencil' },\n { label: 'Preview', event: 'PREVIEW_RULE', icon: 'eye' },\n ],\n },\n]}];\n\n/**\n * std-pricing - Price rule management with CRUD operations.\n * Entity: PriceRule with name, type, value, startDate, endDate.\n * States: browsing -> editing -> previewing.\n */\nexport const PRICING_BEHAVIOR: BehaviorSchema = {\n name: 'std-pricing',\n version: '1.0.0',\n description: 'Price rule management with CRUD and preview',\n theme: COMMERCE_THEME,\n orbitals: [\n {\n name: 'PricingOrbital',\n entity: {\n name: 'PriceRule',\n persistence: 'persistent',\n collection: 'price_rules',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'type', type: 'string', default: 'percentage' },\n { name: 'value', type: 'number', default: 0 },\n { name: 'startDate', type: 'string', default: '' },\n { name: 'endDate', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'PricingManagement',\n linkedEntity: 'PriceRule',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'editing' },\n { name: 'previewing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'EDIT_RULE', name: 'Edit Rule', payloadSchema: [\n { name: 'id', type: 'string', required: true },\n ] },\n { key: 'SAVE_RULE', name: 'Save Rule', payloadSchema: [\n { name: 'name', type: 'string', required: true },\n { name: 'value', type: 'number', required: true },\n ] },\n { key: 'PREVIEW_RULE', name: 'Preview Rule' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'BACK_TO_LIST', name: 'Back to List' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'PriceRule'],\n ...[pricingBrowsingMainEffect],\n ],\n },\n {\n from: 'browsing',\n to: 'editing',\n event: 'EDIT_RULE',\n effects: [\n ['fetch', 'PriceRule'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Modal header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'pencil', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Edit Price Rule' },\n ]},\n { type: 'divider' },\n // Edit form\n { type: 'form-section', entity: 'PriceRule', submitEvent: 'SAVE_RULE', cancelEvent: 'CANCEL',\n fields: [\n { name: 'name', label: 'Rule Name', icon: 'bookmark' },\n { name: 'value', label: 'Value', icon: 'dollar-sign' },\n ],\n },\n ]}],\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'SAVE_RULE',\n effects: [\n ['fetch', 'PriceRule'],\n ['set', '@entity.name', '@payload.name'],\n ['set', '@entity.value', '@payload.value'],\n ['render-ui', 'modal', null],\n ...[pricingBrowsingMainEffect],\n ],\n },\n { from: 'editing', to: 'browsing', event: 'CLOSE', effects: [['render-ui', 'modal', null]] },\n { from: 'editing', to: 'browsing', event: 'CANCEL', effects: [['render-ui', 'modal', null]] },\n {\n from: 'browsing',\n to: 'previewing',\n event: 'PREVIEW_RULE',\n effects: [\n ['fetch', 'PriceRule'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Preview header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'eye', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Rule Preview' },\n ]},\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n { type: 'divider' },\n // Rule details in stacks\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'bookmark', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Name' },\n { type: 'typography', variant: 'body', content: '@entity.name' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'sliders', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Type' },\n { type: 'badge', content: '@entity.type' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'dollar-sign', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Value' },\n { type: 'typography', variant: 'body', content: '@entity.value' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Start Date' },\n { type: 'typography', variant: 'body', content: '@entity.startDate' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'End Date' },\n { type: 'typography', variant: 'body', content: '@entity.endDate' },\n ]},\n ]},\n ]}],\n ],\n },\n { from: 'previewing', to: 'browsing', event: 'CLOSE', effects: [['render-ui', 'modal', null]] },\n { from: 'previewing', to: 'browsing', event: 'CANCEL', effects: [['render-ui', 'modal', null]] },\n {\n from: 'previewing',\n to: 'browsing',\n event: 'BACK_TO_LIST',\n effects: [\n ['fetch', 'PriceRule'],\n ['render-ui', 'modal', null],\n ...[pricingBrowsingMainEffect],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'PricingPage',\n path: '/pricing',\n isInitial: true,\n traits: [{ ref: 'PricingManagement' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-order-tracking - Order Tracking\n// ============================================================================\n\n// ── Reusable: order tracking browsing main effect ───────────────────\n\nconst orderTrackingBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: truck icon + title\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'truck', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Order Tracking' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total Orders', icon: 'clipboard-list', entity: 'OrderStatus' },\n { type: 'stats', label: 'Status', icon: 'activity', value: '@entity.status' },\n ]},\n { type: 'divider' },\n // Search\n { type: 'search-input', placeholder: 'Search by order ID or tracking number...', entity: 'OrderStatus', icon: 'search' },\n // Order list with status badges and tracking info\n { type: 'data-list', entity: 'OrderStatus', variant: 'card',\n fields: [\n { name: 'orderId', label: 'Order ID', icon: 'hash', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'loader', variant: 'badge' },\n { name: 'trackingNumber', label: 'Tracking #', icon: 'map-pin', variant: 'body' },\n { name: 'estimatedDelivery', label: 'Est. Delivery', icon: 'calendar', variant: 'caption', format: 'date' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW_ORDER', icon: 'eye' },\n ],\n },\n]}];\n\n/**\n * std-order-tracking - Read-only order tracking with list+detail view.\n * Entity: OrderStatus with orderId, status, estimatedDelivery, trackingNumber.\n * States: browsing -> viewing.\n */\nexport const ORDER_TRACKING_BEHAVIOR: BehaviorSchema = {\n name: 'std-order-tracking',\n version: '1.0.0',\n description: 'Order tracking with status and delivery estimates',\n theme: COMMERCE_THEME,\n orbitals: [\n {\n name: 'OrderTrackingOrbital',\n entity: {\n name: 'OrderStatus',\n persistence: 'persistent',\n collection: 'order_statuses',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'orderId', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'pending' },\n { name: 'estimatedDelivery', type: 'string', default: '' },\n { name: 'trackingNumber', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'OrderTrackingView',\n linkedEntity: 'OrderStatus',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'viewing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'VIEW_ORDER', name: 'View Order', payloadSchema: [\n { name: 'id', type: 'string', required: true },\n ] },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'OrderStatus'],\n ...[orderTrackingBrowsingMainEffect],\n ],\n },\n {\n from: 'browsing',\n to: 'viewing',\n event: 'VIEW_ORDER',\n effects: [\n ['fetch', 'OrderStatus'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Modal header\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'truck', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Order Details' },\n ]},\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n { type: 'divider' },\n // Progress indicator for order status\n { type: 'meter', value: '@entity.status', label: 'Order Progress', icon: 'loader' },\n { type: 'divider' },\n // Order detail fields\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'hash', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Order ID' },\n { type: 'typography', variant: 'body', content: '@entity.orderId' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'activity', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Status' },\n { type: 'badge', content: '@entity.status' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'map-pin', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Tracking Number' },\n { type: 'typography', variant: 'body', content: '@entity.trackingNumber' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'label', content: 'Estimated Delivery' },\n { type: 'typography', variant: 'body', content: '@entity.estimatedDelivery' },\n ]},\n ]},\n ]}],\n ],\n },\n { from: 'viewing', to: 'browsing', event: 'CLOSE', effects: [['render-ui', 'modal', null]] },\n { from: 'viewing', to: 'browsing', event: 'CANCEL', effects: [['render-ui', 'modal', null]] },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'OrderTrackingPage',\n path: '/order-tracking',\n isInitial: true,\n traits: [{ ref: 'OrderTrackingView' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Commerce Behaviors\n// ============================================================================\n\nexport const COMMERCE_BEHAVIORS: BehaviorSchema[] = [\n CART_BEHAVIOR,\n CHECKOUT_BEHAVIOR,\n CATALOG_BEHAVIOR,\n PRICING_BEHAVIOR,\n ORDER_TRACKING_BEHAVIOR,\n];\n"]}
@@ -0,0 +1,51 @@
1
+ import { BehaviorSchema } from '../types.js';
2
+ import '@almadar/core/types';
3
+
4
+ /**
5
+ * Content Domain Behaviors
6
+ *
7
+ * Standard behaviors for content management: articles, reading experience,
8
+ * bookmarks, annotations, and content feeds.
9
+ * Each behavior is a self-contained OrbitalSchema that passes orbital validate
10
+ * with 0 errors and 0 warnings when exported as a standalone .orb file.
11
+ *
12
+ * Molecule-first UI: all render-ui effects use atom/molecule compositions
13
+ * (stack, typography, icon, button, badge, etc.) instead of organism-level
14
+ * patterns (entity-cards, entity-table, entity-list, detail-panel, page-header).
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+
19
+ /**
20
+ * std-article - Article management with content workflow.
21
+ * Entity: Article with title, body, status, author, publishedAt.
22
+ * States: browsing -> editing -> previewing -> published.
23
+ */
24
+ declare const ARTICLE_BEHAVIOR: BehaviorSchema;
25
+ /**
26
+ * std-reader - Reading experience with list-to-detail navigation.
27
+ * Entity: ReadingState with articleId, scrollPosition, fontSize, theme.
28
+ * States: browsing -> reading.
29
+ */
30
+ declare const READER_BEHAVIOR: BehaviorSchema;
31
+ /**
32
+ * std-bookmark - Bookmark management with CRUD operations.
33
+ * Entity: Bookmark with title, url, category, createdAt.
34
+ * States: browsing -> creating -> viewing.
35
+ */
36
+ declare const BOOKMARK_BEHAVIOR: BehaviorSchema;
37
+ /**
38
+ * std-annotation - Text annotation management with highlight and note.
39
+ * Entity: Annotation with text, note, color, pageNumber.
40
+ * States: browsing -> annotating -> viewing.
41
+ */
42
+ declare const ANNOTATION_BEHAVIOR: BehaviorSchema;
43
+ /**
44
+ * std-content-feed - Content feed consumption with read and archive.
45
+ * Entity: FeedItem with title, summary, source, publishedAt, isRead.
46
+ * States: browsing -> reading -> archiving.
47
+ */
48
+ declare const CONTENT_FEED_BEHAVIOR: BehaviorSchema;
49
+ declare const CONTENT_BEHAVIORS: BehaviorSchema[];
50
+
51
+ export { ANNOTATION_BEHAVIOR, ARTICLE_BEHAVIOR, BOOKMARK_BEHAVIOR, CONTENT_BEHAVIORS, CONTENT_FEED_BEHAVIOR, READER_BEHAVIOR };