@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../behaviors/async.ts"],"names":[],"mappings":"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","file":"async.js","sourcesContent":["/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.\n *\n * @packageDocumentation\n */\n\nimport type { OrbitalSchema } from './types.js';\n\n// ============================================================================\n// std-loading - Loading State Management\n// ============================================================================\n\nexport const LOADING_BEHAVIOR: OrbitalSchema = {\n name: 'std-loading',\n version: '1.0.0',\n description: 'Loading state management with success/error handling',\n orbitals: [\n {\n name: 'LoadingOrbital',\n entity: {\n name: 'LoadingState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isLoading', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'data', type: 'object', default: null },\n { name: 'startTime', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Loading',\n linkedEntity: 'LoadingState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Loading' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'SUCCESS', name: 'Success' },\n { key: 'ERROR', name: 'Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Loading',\n event: 'START',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Loading',\n to: 'Success',\n event: 'SUCCESS',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.data', '@payload.data'],\n ],\n },\n {\n from: 'Loading',\n to: 'Error',\n event: 'ERROR',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', '@payload.error'],\n ['render-ui', 'content', {\n type: 'error-state',\n message: '@entity.error',\n onRetry: 'RETRY',\n }],\n ],\n },\n {\n from: 'Error',\n to: 'Loading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isLoading', true],\n ['set', '@entity.error', null],\n ['set', '@entity.startTime', ['time/now']],\n ['render-ui', 'content', {\n type: 'loading-state',\n }],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isLoading', false],\n ['set', '@entity.error', null],\n ['set', '@entity.data', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-fetch - Data Fetching\n// ============================================================================\n\nexport const FETCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-fetch',\n version: '1.0.0',\n description: 'Data fetching with caching and refresh capabilities',\n orbitals: [\n {\n name: 'FetchOrbital',\n entity: {\n name: 'FetchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'data', type: 'object', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'isFetching', type: 'boolean', default: false },\n { name: 'lastFetchedAt', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Fetch',\n linkedEntity: 'FetchState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Fetching' },\n { name: 'Stale' },\n { name: 'Fresh' },\n { name: 'Error' },\n ],\n events: [\n { key: 'FETCH', name: 'Fetch' },\n { key: 'FETCH_SUCCESS', name: 'Fetch Success' },\n { key: 'FETCH_ERROR', name: 'Fetch Error' },\n { key: 'REFRESH', name: 'Refresh' },\n { key: 'INVALIDATE', name: 'Invalidate' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'FETCH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Fetching',\n to: 'Fresh',\n event: 'FETCH_SUCCESS',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.data', '@payload.data'],\n ['set', '@entity.lastFetchedAt', ['time/now']],\n ],\n },\n {\n from: 'Fetching',\n to: 'Error',\n event: 'FETCH_ERROR',\n effects: [\n ['set', '@entity.isFetching', false],\n ['set', '@entity.error', '@payload.error'],\n ],\n },\n {\n from: 'Fresh',\n to: 'Stale',\n event: 'INVALIDATE',\n effects: [['set', '@entity.lastFetchedAt', null]],\n },\n {\n from: 'Fresh',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Stale',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Error',\n to: 'Fetching',\n event: 'REFRESH',\n effects: [\n ['set', '@entity.isFetching', true],\n ['set', '@entity.error', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-submit - Form Submission\n// ============================================================================\n\nexport const SUBMIT_BEHAVIOR: OrbitalSchema = {\n name: 'std-submit',\n version: '1.0.0',\n description: 'Async submission with retry capabilities',\n orbitals: [\n {\n name: 'SubmitOrbital',\n entity: {\n name: 'SubmitState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isSubmitting', type: 'boolean', default: false },\n { name: 'error', type: 'object', default: null },\n { name: 'lastSubmittedData', type: 'object', default: null },\n { name: 'successMessage', type: 'string', default: 'Submitted successfully' },\n { name: 'errorMessage', type: 'string', default: 'Submission failed' },\n { name: 'resetOnSuccess', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Submit',\n linkedEntity: 'SubmitState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Submitting' },\n { name: 'Success' },\n { name: 'Error' },\n ],\n events: [\n { key: 'SUBMIT', name: 'Submit' },\n { key: 'SUBMIT_SUCCESS', name: 'Submit Success' },\n { key: 'SUBMIT_ERROR', name: 'Submit Error' },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Submitting',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', '@payload.data'],\n ],\n },\n {\n from: 'Submitting',\n to: 'Success',\n event: 'SUBMIT_SUCCESS',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['notify', 'in_app', '@entity.successMessage'],\n ['when', '@entity.resetOnSuccess', ['emit', 'RESET']],\n ],\n },\n {\n from: 'Submitting',\n to: 'Error',\n event: 'SUBMIT_ERROR',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', '@entity.errorMessage'],\n ],\n },\n {\n from: 'Error',\n to: 'Submitting',\n event: 'RETRY',\n effects: [\n ['set', '@entity.isSubmitting', true],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n {\n from: 'Error',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.isSubmitting', false],\n ['set', '@entity.error', null],\n ['set', '@entity.lastSubmittedData', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-retry - Automatic Retry\n// ============================================================================\n\nexport const RETRY_BEHAVIOR: OrbitalSchema = {\n name: 'std-retry',\n version: '1.0.0',\n description: 'Automatic retry with exponential backoff',\n orbitals: [\n {\n name: 'RetryOrbital',\n entity: {\n name: 'RetryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'error', type: 'object', default: null },\n { name: 'nextRetryAt', type: 'number', default: null },\n { name: 'maxAttempts', type: 'number', default: 3 },\n { name: 'initialDelayMs', type: 'number', default: 1000 },\n { name: 'backoffMultiplier', type: 'number', default: 2 },\n { name: 'maxDelayMs', type: 'number', default: 30000 },\n ],\n },\n traits: [\n {\n name: 'Retry',\n linkedEntity: 'RetryState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Attempting' },\n { name: 'Waiting' },\n { name: 'Success', isTerminal: true },\n { name: 'Failed', isTerminal: true },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'ATTEMPT_SUCCESS', name: 'Attempt Success' },\n { key: 'ATTEMPT_ERROR', name: 'Attempt Error' },\n { key: 'RETRY_TICK', name: 'Retry Tick' },\n { key: 'GIVE_UP', name: 'Give Up' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Attempting',\n event: 'START',\n effects: [\n ['set', '@entity.attempt', 1],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Attempting',\n to: 'Success',\n event: 'ATTEMPT_SUCCESS',\n effects: [],\n },\n {\n from: 'Attempting',\n to: 'Waiting',\n event: 'ATTEMPT_ERROR',\n guard: ['<', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['let', [['delay', ['math/min',\n ['*', '@entity.initialDelayMs', ['math/pow', '@entity.backoffMultiplier', '@entity.attempt']],\n '@entity.maxDelayMs']]],\n ['set', '@entity.nextRetryAt', ['+', ['time/now'], '@delay']],\n ['async/delay', '@delay', ['emit', 'RETRY_TICK']]],\n ],\n },\n {\n from: 'Attempting',\n to: 'Failed',\n event: 'ATTEMPT_ERROR',\n guard: ['>=', '@entity.attempt', '@entity.maxAttempts'],\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['notify', 'in_app', 'All retry attempts failed'],\n ],\n },\n {\n from: 'Waiting',\n to: 'Attempting',\n event: 'RETRY_TICK',\n effects: [['set', '@entity.attempt', ['+', '@entity.attempt', 1]]],\n },\n {\n from: 'Waiting',\n to: 'Failed',\n event: 'GIVE_UP',\n effects: [['notify', 'in_app', 'Retry cancelled']],\n },\n {\n from: 'Success',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n {\n from: 'Failed',\n to: 'Idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.attempt', 0],\n ['set', '@entity.error', null],\n ['set', '@entity.nextRetryAt', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-poll - Periodic Polling\n// ============================================================================\n\nexport const POLL_BEHAVIOR: OrbitalSchema = {\n name: 'std-poll',\n version: '1.0.0',\n description: 'Periodic polling with start/stop control',\n orbitals: [\n {\n name: 'PollOrbital',\n entity: {\n name: 'PollState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'isPolling', type: 'boolean', default: false },\n { name: 'pollCount', type: 'number', default: 0 },\n { name: 'lastPollAt', type: 'number', default: null },\n { name: 'error', type: 'object', default: null },\n { name: 'intervalMs', type: 'number', default: 5000 },\n { name: 'maxPolls', type: 'number', default: null },\n { name: 'stopOnError', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'Poll',\n linkedEntity: 'PollState',\n category: 'lifecycle',\n stateMachine: {\n states: [\n { name: 'Stopped', isInitial: true },\n { name: 'Polling' },\n { name: 'Paused' },\n ],\n events: [\n { key: 'START', name: 'Start' },\n { key: 'STOP', name: 'Stop' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'RESUME', name: 'Resume' },\n { key: 'POLL_TICK', name: 'Poll Tick' },\n { key: 'POLL_SUCCESS', name: 'Poll Success' },\n { key: 'POLL_ERROR', name: 'Poll Error' },\n ],\n transitions: [\n {\n from: 'Stopped',\n to: 'Polling',\n event: 'START',\n effects: [\n ['set', '@entity.isPolling', true],\n ['set', '@entity.pollCount', 0],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_TICK',\n guard: ['or', ['=', '@entity.maxPolls', null], ['<', '@entity.pollCount', '@entity.maxPolls']],\n effects: [['set', '@entity.lastPollAt', ['time/now']]],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_SUCCESS',\n effects: [\n ['set', '@entity.pollCount', ['+', '@entity.pollCount', 1]],\n ['set', '@entity.error', null],\n ],\n },\n {\n from: 'Polling',\n to: 'Polling',\n event: 'POLL_ERROR',\n effects: [\n ['set', '@entity.error', '@payload.error'],\n ['when', '@entity.stopOnError', ['emit', 'STOP']],\n ],\n },\n {\n from: 'Polling',\n to: 'Paused',\n event: 'PAUSE',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Polling',\n event: 'RESUME',\n effects: [\n ['set', '@entity.isPolling', true],\n ['async/interval', '@entity.intervalMs', ['emit', 'POLL_TICK']],\n ],\n },\n {\n from: 'Polling',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n {\n from: 'Paused',\n to: 'Stopped',\n event: 'STOP',\n effects: [['set', '@entity.isPolling', false]],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: OrbitalSchema[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n"]}
1
+ {"version":3,"sources":["../../behaviors/async.ts"],"names":[],"mappings":"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","file":"async.js","sourcesContent":["/**\n * Async Behaviors\n *\n * Standard behaviors for asynchronous operations like loading,\n * fetching, submission, retry, and polling.\n * Each behavior is a self-contained OrbitalSchema that can function 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 * stack wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema, BehaviorEffect } from './types.js';\n\n// ── Shared Async Theme ─────────────────────────────────────────────\n\nconst ASYNC_THEME = {\n name: 'async-blue',\n tokens: {\n colors: {\n primary: '#2563eb',\n 'primary-hover': '#1d4ed8',\n 'primary-foreground': '#ffffff',\n accent: '#3b82f6',\n 'accent-foreground': '#ffffff',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-loading - Loading Dashboard\n// ============================================================================\n\n// ── Reusable main-view effects (loading: idle dashboard) ───────────\n\nconst loadingDashboardEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'loader', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Loading Dashboard' },\n ]},\n { type: 'button', label: 'Start', icon: 'play', variant: 'primary', action: 'START' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'LoadingRecord' },\n { type: 'stats', label: 'Status', icon: 'activity', entity: 'LoadingRecord' },\n ]},\n { type: 'divider' },\n // Data grid\n { type: 'data-grid', entity: 'LoadingRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'label', label: 'Label', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Loading in-progress view ───────────────────────────────────────\n\nconst loadingInProgressEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: spinner + title\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'loader', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Loading...' },\n ]},\n { type: 'divider' },\n // Loading indicator with icon and descriptive text\n { type: 'stack', direction: 'vertical', gap: 'sm', align: 'center', children: [\n { type: 'icon', name: 'loader', size: 'xl' },\n { type: 'typography', variant: 'body', content: 'Please wait while your data is being loaded.' },\n ]},\n { type: 'progress-bar', value: 0, label: 'Processing', icon: 'clock' },\n { type: 'divider' },\n // Data grid\n { type: 'data-grid', entity: 'LoadingRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'label', label: 'Label', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Loading success view ───────────────────────────────────────────\n\nconst loadingSuccessEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: success icon + title + reset\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Loaded' },\n ]},\n { type: 'button', label: 'Reset', icon: 'refresh-cw', variant: 'secondary', action: 'RESET' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Complete', variant: 'success', icon: 'check' },\n { type: 'divider' },\n // Data grid\n { type: 'data-grid', entity: 'LoadingRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'label', label: 'Label', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Loading error view ─────────────────────────────────────────────\n\nconst loadingErrorEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: error icon + title + reset\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Error' },\n ]},\n { type: 'button', label: 'Reset', icon: 'refresh-cw', variant: 'secondary', action: 'RESET' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Failed', variant: 'error', icon: 'x-circle' },\n { type: 'divider' },\n // Data grid\n { type: 'data-grid', entity: 'LoadingRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'label', label: 'Label', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Loading view-only (no header actions, shared across VIEW self-transitions) ──\n\nconst loadingViewEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'loader', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Loading Dashboard' },\n ]},\n { type: 'divider' },\n { type: 'data-grid', entity: 'LoadingRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'label', label: 'Label', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\nexport const LOADING_BEHAVIOR: BehaviorSchema = {\n name: 'std-loading',\n version: '1.0.0',\n description: 'Loading state management with success/error handling',\n theme: ASYNC_THEME,\n orbitals: [\n {\n name: 'LoadingOrbital',\n entity: {\n name: 'LoadingRecord',\n persistence: 'persistent',\n collection: 'loading_records',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'label', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'idle' },\n { name: 'message', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'LoadingManagement',\n linkedEntity: 'LoadingRecord',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'loading' },\n { name: 'loaded' },\n { name: 'error' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START', name: 'Start Loading' },\n { key: 'COMPLETE', name: 'Complete' },\n { key: 'FAIL', name: 'Fail', payloadSchema: [{ name: 'message', type: 'string', required: true }] },\n { key: 'RESET', name: 'Reset' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'idle', to: 'idle', event: 'INIT',\n effects: [\n ['fetch', 'LoadingRecord'],\n ...loadingDashboardEffects,\n ],\n },\n {\n from: 'idle', to: 'loading', event: 'START',\n effects: [\n ['fetch', 'LoadingRecord'],\n ['set', '@entity.status', 'loading'],\n ...loadingInProgressEffects,\n ],\n },\n {\n from: 'loading', to: 'loaded', event: 'COMPLETE',\n effects: [\n ['fetch', 'LoadingRecord'],\n ['set', '@entity.status', 'loaded'],\n ...loadingSuccessEffects,\n ],\n },\n {\n from: 'loading', to: 'error', event: 'FAIL',\n effects: [\n ['fetch', 'LoadingRecord'],\n ['set', '@entity.status', 'error'],\n ['set', '@entity.message', '@payload.message'],\n ...loadingErrorEffects,\n ],\n },\n {\n from: 'loaded', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'LoadingRecord'],\n ['set', '@entity.status', 'idle'],\n ...loadingDashboardEffects,\n ],\n },\n {\n from: 'error', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'LoadingRecord'],\n ['set', '@entity.status', 'idle'],\n ['set', '@entity.message', ''],\n ...loadingDashboardEffects,\n ],\n },\n // VIEW self-transitions for each state\n { from: 'idle', to: 'idle', event: 'VIEW', effects: [['fetch', 'LoadingRecord'], ...loadingViewEffects] },\n { from: 'loading', to: 'loading', event: 'VIEW', effects: [['fetch', 'LoadingRecord'], ...loadingViewEffects] },\n { from: 'loaded', to: 'loaded', event: 'VIEW', effects: [['fetch', 'LoadingRecord'], ...loadingViewEffects] },\n { from: 'error', to: 'error', event: 'VIEW', effects: [['fetch', 'LoadingRecord'], ...loadingViewEffects] },\n ],\n },\n },\n ],\n pages: [{ name: 'LoadingPage', path: '/loading', isInitial: true, traits: [{ ref: 'LoadingManagement' }] }],\n },\n ],\n};\n\n// ============================================================================\n// std-fetch - Data Browser\n// ============================================================================\n\n// ── Reusable main-view effects (fetch: idle) ───────────────────────\n\nconst fetchIdleEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + fetch button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'download-cloud', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Data Browser' },\n ]},\n { type: 'button', label: 'Fetch', icon: 'download', variant: 'primary', action: 'FETCH' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'FetchRecord' },\n { type: 'stats', label: 'Status', icon: 'activity', entity: 'FetchRecord' },\n ]},\n { type: 'divider' },\n // Data list\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Fetching in-progress view ──────────────────────────────────────\n\nconst fetchingEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'download-cloud', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Fetching...' },\n ]},\n { type: 'divider' },\n { type: 'progress-bar', value: 0, label: 'Fetching data', icon: 'clock' },\n { type: 'divider' },\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Fresh data view ────────────────────────────────────────────────\n\nconst fetchFreshEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Data Browser' },\n ]},\n { type: 'button', label: 'Refresh', icon: 'refresh-cw', variant: 'secondary', action: 'REFRESH' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Fresh', variant: 'success', icon: 'check' },\n { type: 'divider' },\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Stale data view ────────────────────────────────────────────────\n\nconst fetchStaleEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'clock', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Data Stale' },\n ]},\n { type: 'button', label: 'Refresh', icon: 'refresh-cw', variant: 'primary', action: 'REFRESH' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Stale', variant: 'warning', icon: 'alert-triangle' },\n { type: 'divider' },\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Fetch error view ───────────────────────────────────────────────\n\nconst fetchErrorEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Fetch Error' },\n ]},\n { type: 'button', label: 'Refresh', icon: 'refresh-cw', variant: 'secondary', action: 'REFRESH' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Error', variant: 'error', icon: 'x-circle' },\n { type: 'divider' },\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Fetch view-only (shared across VIEW self-transitions) ──────────\n\nconst fetchViewEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'download-cloud', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Data Browser' },\n ]},\n { type: 'divider' },\n { type: 'data-list', entity: 'FetchRecord',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\nexport const FETCH_BEHAVIOR: BehaviorSchema = {\n name: 'std-fetch',\n version: '1.0.0',\n description: 'Data fetching with refresh capabilities',\n theme: ASYNC_THEME,\n orbitals: [\n {\n name: 'FetchOrbital',\n entity: {\n name: 'FetchRecord',\n persistence: 'persistent',\n collection: 'fetch_records',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'idle' },\n { name: 'message', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'FetchManagement',\n linkedEntity: 'FetchRecord',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'fetching' },\n { name: 'fresh' },\n { name: 'stale' },\n { name: 'error' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FETCH', name: 'Fetch Data' },\n { key: 'COMPLETE', name: 'Fetch Complete' },\n { key: 'FAIL', name: 'Fetch Fail', payloadSchema: [{ name: 'message', type: 'string', required: true }] },\n { key: 'INVALIDATE', name: 'Invalidate' },\n { key: 'REFRESH', name: 'Refresh' },\n { key: 'RESET', name: 'Reset' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'idle', to: 'idle', event: 'INIT',\n effects: [\n ['fetch', 'FetchRecord'],\n ...fetchIdleEffects,\n ],\n },\n {\n from: 'idle', to: 'fetching', event: 'FETCH',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'fetching'],\n ...fetchingEffects,\n ],\n },\n {\n from: 'fetching', to: 'fresh', event: 'COMPLETE',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'fresh'],\n ...fetchFreshEffects,\n ],\n },\n {\n from: 'fetching', to: 'error', event: 'FAIL',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'error'],\n ['set', '@entity.message', '@payload.message'],\n ...fetchErrorEffects,\n ],\n },\n {\n from: 'fresh', to: 'stale', event: 'INVALIDATE',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'stale'],\n ...fetchStaleEffects,\n ],\n },\n {\n from: 'fresh', to: 'fetching', event: 'REFRESH',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'fetching'],\n ...fetchingEffects,\n ],\n },\n {\n from: 'stale', to: 'fetching', event: 'REFRESH',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'fetching'],\n ...fetchingEffects,\n ],\n },\n {\n from: 'error', to: 'fetching', event: 'REFRESH',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'fetching'],\n ['set', '@entity.message', ''],\n ...fetchingEffects,\n ],\n },\n {\n from: 'error', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'FetchRecord'],\n ['set', '@entity.status', 'idle'],\n ['set', '@entity.message', ''],\n ...fetchIdleEffects,\n ],\n },\n // VIEW self-transitions for each state\n { from: 'idle', to: 'idle', event: 'VIEW', effects: [['fetch', 'FetchRecord'], ...fetchViewEffects] },\n { from: 'fetching', to: 'fetching', event: 'VIEW', effects: [['fetch', 'FetchRecord'], ...fetchViewEffects] },\n { from: 'fresh', to: 'fresh', event: 'VIEW', effects: [['fetch', 'FetchRecord'], ...fetchViewEffects] },\n { from: 'stale', to: 'stale', event: 'VIEW', effects: [['fetch', 'FetchRecord'], ...fetchViewEffects] },\n { from: 'error', to: 'error', event: 'VIEW', effects: [['fetch', 'FetchRecord'], ...fetchViewEffects] },\n ],\n },\n },\n ],\n pages: [{ name: 'DataBrowserPage', path: '/data-browser', isInitial: true, traits: [{ ref: 'FetchManagement' }] }],\n },\n ],\n};\n\n// ============================================================================\n// std-submit - Form Submission\n// ============================================================================\n\n// ── Reusable main-view effects (submit: idle) ──────────────────────\n\nconst submitIdleEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'send', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Submissions' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total', icon: 'hash', entity: 'Submission' },\n { type: 'stats', label: 'Status', icon: 'activity', entity: 'Submission' },\n ]},\n { type: 'divider' },\n // Submission list\n { type: 'data-list', entity: 'Submission',\n fields: [\n { name: 'name', label: 'Name', icon: 'file-text', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Submitting in-progress view ────────────────────────────────────\n\nconst submittingEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'send', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Submitting...' },\n ]},\n { type: 'divider' },\n { type: 'progress-bar', value: 0, label: 'Sending', icon: 'upload' },\n { type: 'divider' },\n { type: 'data-list', entity: 'Submission',\n fields: [\n { name: 'name', label: 'Name', icon: 'file-text', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Submit success view ────────────────────────────────────────────\n\nconst submitSuccessEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Success' },\n ]},\n { type: 'button', label: 'Reset', icon: 'refresh-cw', variant: 'secondary', action: 'RESET' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Submitted', variant: 'success', icon: 'check' },\n { type: 'divider' },\n { type: 'data-list', entity: 'Submission',\n fields: [\n { name: 'name', label: 'Name', icon: 'file-text', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Submit error view ──────────────────────────────────────────────\n\nconst submitErrorEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Submission Failed' },\n ]},\n { type: 'button', label: 'Reset', icon: 'refresh-cw', variant: 'secondary', action: 'RESET' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Error', variant: 'error', icon: 'x-circle' },\n { type: 'divider' },\n { type: 'data-list', entity: 'Submission',\n fields: [\n { name: 'name', label: 'Name', icon: 'file-text', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Submit view-only (shared across VIEW self-transitions) ─────────\n\nconst submitViewEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'send', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Submissions' },\n ]},\n { type: 'divider' },\n { type: 'data-list', entity: 'Submission',\n fields: [\n { name: 'name', label: 'Name', icon: 'file-text', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\nexport const SUBMIT_BEHAVIOR: BehaviorSchema = {\n name: 'std-submit',\n version: '1.0.0',\n description: 'Form submission with success/error handling',\n theme: ASYNC_THEME,\n orbitals: [\n {\n name: 'SubmitOrbital',\n entity: {\n name: 'Submission',\n persistence: 'persistent',\n collection: 'submissions',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'idle' },\n { name: 'message', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'SubmitManagement',\n linkedEntity: 'Submission',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'submitting' },\n { name: 'success' },\n { name: 'error' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SUBMIT', name: 'Submit', payloadSchema: [{ name: 'name', type: 'string', required: true }] },\n { key: 'COMPLETE', name: 'Submit Complete' },\n { key: 'FAIL', name: 'Submit Fail', payloadSchema: [{ name: 'message', type: 'string', required: true }] },\n { key: 'RESET', name: 'Reset' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'idle', to: 'idle', event: 'INIT',\n effects: [\n ['fetch', 'Submission'],\n ...submitIdleEffects,\n ],\n },\n {\n from: 'idle', to: 'submitting', event: 'SUBMIT',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'submitting'],\n ['set', '@entity.name', '@payload.name'],\n ...submittingEffects,\n ],\n },\n {\n from: 'submitting', to: 'success', event: 'COMPLETE',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'success'],\n ['persist', 'create', 'Submission', { name: '@entity.name', status: 'success' }],\n ...submitSuccessEffects,\n ],\n },\n {\n from: 'submitting', to: 'error', event: 'FAIL',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'error'],\n ['set', '@entity.message', '@payload.message'],\n ...submitErrorEffects,\n ],\n },\n {\n from: 'success', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'idle'],\n ...submitIdleEffects,\n ],\n },\n {\n from: 'error', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'idle'],\n ['set', '@entity.message', ''],\n ...submitIdleEffects,\n ],\n },\n {\n from: 'success', to: 'idle', event: 'CLOSE',\n effects: [\n ['fetch', 'Submission'],\n ['set', '@entity.status', 'idle'],\n ...submitIdleEffects,\n ],\n },\n // VIEW self-transitions for each state\n { from: 'idle', to: 'idle', event: 'VIEW', effects: [['fetch', 'Submission'], ...submitViewEffects] },\n { from: 'submitting', to: 'submitting', event: 'VIEW', effects: [['fetch', 'Submission'], ...submitViewEffects] },\n { from: 'success', to: 'success', event: 'VIEW', effects: [['fetch', 'Submission'], ...submitViewEffects] },\n { from: 'error', to: 'error', event: 'VIEW', effects: [['fetch', 'Submission'], ...submitViewEffects] },\n ],\n },\n },\n ],\n pages: [{ name: 'SubmissionsPage', path: '/submissions', isInitial: true, traits: [{ ref: 'SubmitManagement' }] }],\n },\n ],\n};\n\n// ============================================================================\n// std-retry - Operation with Retry\n// ============================================================================\n\n// ── Reusable main-view effects (retry: idle) ───────────────────────\n\nconst retryIdleEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + start button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'repeat', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Operations' },\n ]},\n { type: 'button', label: 'Start', icon: 'play', variant: 'primary', action: 'START' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'RetryRecord' },\n { type: 'stats', label: 'Attempts', icon: 'repeat', entity: 'RetryRecord' },\n ]},\n { type: 'divider' },\n // Data grid\n { type: 'data-grid', entity: 'RetryRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'attempt', label: 'Attempt', icon: 'hash', variant: 'body', format: 'number' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Attempting view ────────────────────────────────────────────────\n\nconst retryAttemptingEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'repeat', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Attempting...' },\n ]},\n { type: 'divider' },\n { type: 'progress-bar', value: 0, label: 'Processing', icon: 'clock' },\n { type: 'divider' },\n { type: 'data-grid', entity: 'RetryRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'attempt', label: 'Attempt', icon: 'hash', variant: 'body', format: 'number' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Retry success view ─────────────────────────────────────────────\n\nconst retrySuccessEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Success' },\n ]},\n { type: 'button', label: 'Reset', icon: 'refresh-cw', variant: 'secondary', action: 'RESET' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Complete', variant: 'success', icon: 'check' },\n { type: 'divider' },\n { type: 'data-grid', entity: 'RetryRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'attempt', label: 'Attempt', icon: 'hash', variant: 'body', format: 'number' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Retry failed view ──────────────────────────────────────────────\n\nconst retryFailedEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Failed' },\n ]},\n { type: 'button', label: 'Retry', icon: 'repeat', variant: 'primary', action: 'RETRY' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Failed', variant: 'error', icon: 'x-circle' },\n { type: 'divider' },\n { type: 'data-grid', entity: 'RetryRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'attempt', label: 'Attempt', icon: 'hash', variant: 'body', format: 'number' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Retry view-only (shared across VIEW self-transitions) ──────────\n\nconst retryViewEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'repeat', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Operations' },\n ]},\n { type: 'divider' },\n { type: 'data-grid', entity: 'RetryRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'attempt', label: 'Attempt', icon: 'hash', variant: 'body', format: 'number' },\n { name: 'message', label: 'Message', icon: 'message-square', variant: 'body' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\nexport const RETRY_BEHAVIOR: BehaviorSchema = {\n name: 'std-retry',\n version: '1.0.0',\n description: 'Operation with retry capability',\n theme: ASYNC_THEME,\n orbitals: [\n {\n name: 'RetryOrbital',\n entity: {\n name: 'RetryRecord',\n persistence: 'persistent',\n collection: 'retry_records',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'idle' },\n { name: 'attempt', type: 'number', default: 0 },\n { name: 'message', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'RetryManagement',\n linkedEntity: 'RetryRecord',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'attempting' },\n { name: 'success' },\n { name: 'failed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START', name: 'Start Operation' },\n { key: 'COMPLETE', name: 'Operation Complete' },\n { key: 'FAIL', name: 'Operation Fail', payloadSchema: [{ name: 'message', type: 'string', required: true }] },\n { key: 'RETRY', name: 'Retry' },\n { key: 'RESET', name: 'Reset' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'idle', to: 'idle', event: 'INIT',\n effects: [\n ['fetch', 'RetryRecord'],\n ...retryIdleEffects,\n ],\n },\n {\n from: 'idle', to: 'attempting', event: 'START',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'attempting'],\n ['set', '@entity.attempt', 1],\n ...retryAttemptingEffects,\n ],\n },\n {\n from: 'attempting', to: 'success', event: 'COMPLETE',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'success'],\n ...retrySuccessEffects,\n ],\n },\n {\n from: 'attempting', to: 'failed', event: 'FAIL',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'failed'],\n ['set', '@entity.message', '@payload.message'],\n ...retryFailedEffects,\n ],\n },\n {\n from: 'failed', to: 'attempting', event: 'RETRY',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'attempting'],\n ['set', '@entity.message', ''],\n ...retryAttemptingEffects,\n ],\n },\n {\n from: 'success', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'idle'],\n ['set', '@entity.attempt', 0],\n ...retryIdleEffects,\n ],\n },\n {\n from: 'failed', to: 'idle', event: 'RESET',\n effects: [\n ['fetch', 'RetryRecord'],\n ['set', '@entity.status', 'idle'],\n ['set', '@entity.attempt', 0],\n ['set', '@entity.message', ''],\n ...retryIdleEffects,\n ],\n },\n // VIEW self-transitions for each state\n { from: 'idle', to: 'idle', event: 'VIEW', effects: [['fetch', 'RetryRecord'], ...retryViewEffects] },\n { from: 'attempting', to: 'attempting', event: 'VIEW', effects: [['fetch', 'RetryRecord'], ...retryViewEffects] },\n { from: 'success', to: 'success', event: 'VIEW', effects: [['fetch', 'RetryRecord'], ...retryViewEffects] },\n { from: 'failed', to: 'failed', event: 'VIEW', effects: [['fetch', 'RetryRecord'], ...retryViewEffects] },\n ],\n },\n },\n ],\n pages: [{ name: 'OperationsPage', path: '/operations', isInitial: true, traits: [{ ref: 'RetryManagement' }] }],\n },\n ],\n};\n\n// ============================================================================\n// std-poll - Polling Monitor\n// ============================================================================\n\n// ── Reusable main-view effects (poll: stopped) ─────────────────────\n\nconst pollStoppedEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + start button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'radio', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Poll Monitor' },\n ]},\n { type: 'button', label: 'Start', icon: 'play', variant: 'primary', action: 'START' },\n ]},\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'PollRecord' },\n { type: 'stats', label: 'Poll Count', icon: 'hash', entity: 'PollRecord' },\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Stopped', variant: 'secondary', icon: 'square' },\n { type: 'divider' },\n // Data grid for poll records\n { type: 'data-grid', entity: 'PollRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'count', label: 'Count', icon: 'hash', variant: 'body', format: 'number' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Polling active view ────────────────────────────────────────────\n\nconst pollActiveEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + pause/stop buttons\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'radio', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Polling...' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Pause', icon: 'pause', variant: 'secondary', action: 'PAUSE' },\n { type: 'button', label: 'Stop', icon: 'square', variant: 'ghost', action: 'STOP' },\n ]},\n ]},\n { type: 'divider' },\n { type: 'progress-bar', value: 0, label: 'Polling active', icon: 'activity' },\n { type: 'divider' },\n // Stats\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'PollRecord' },\n { type: 'stats', label: 'Poll Count', icon: 'hash', entity: 'PollRecord' },\n ]},\n { type: 'divider' },\n { type: 'data-grid', entity: 'PollRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'count', label: 'Count', icon: 'hash', variant: 'body', format: 'number' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Polling paused view ────────────────────────────────────────────\n\nconst pollPausedEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: icon + title + resume/stop buttons\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'pause-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Paused' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Resume', icon: 'play', variant: 'primary', action: 'RESUME' },\n { type: 'button', label: 'Stop', icon: 'square', variant: 'ghost', action: 'STOP' },\n ]},\n ]},\n { type: 'divider' },\n { type: 'badge', label: 'Paused', variant: 'warning', icon: 'pause' },\n { type: 'divider' },\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Records', icon: 'database', entity: 'PollRecord' },\n { type: 'stats', label: 'Poll Count', icon: 'hash', entity: 'PollRecord' },\n ]},\n { type: 'divider' },\n { type: 'data-grid', entity: 'PollRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'count', label: 'Count', icon: 'hash', variant: 'body', format: 'number' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\n// ── Poll view-only (shared across VIEW self-transitions) ───────────\n\nconst pollViewEffects: BehaviorEffect[] = [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'radio', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Poll Monitor' },\n ]},\n { type: 'divider' },\n { type: 'data-grid', entity: 'PollRecord', cols: 2, gap: 'md',\n fields: [\n { name: 'name', label: 'Name', icon: 'tag', variant: 'h4' },\n { name: 'status', label: 'Status', icon: 'circle', variant: 'badge' },\n { name: 'count', label: 'Count', icon: 'hash', variant: 'body', format: 'number' },\n ],\n actions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'ghost' },\n ],\n },\n ]}],\n];\n\nexport const POLL_BEHAVIOR: BehaviorSchema = {\n name: 'std-poll',\n version: '1.0.0',\n description: 'Polling monitor with start/stop/pause control',\n theme: ASYNC_THEME,\n orbitals: [\n {\n name: 'PollOrbital',\n entity: {\n name: 'PollRecord',\n persistence: 'persistent',\n collection: 'poll_records',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'stopped' },\n { name: 'count', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'PollManagement',\n linkedEntity: 'PollRecord',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'stopped', isInitial: true },\n { name: 'polling' },\n { name: 'paused' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START', name: 'Start Polling' },\n { key: 'STOP', name: 'Stop Polling' },\n { key: 'PAUSE', name: 'Pause Polling' },\n { key: 'RESUME', name: 'Resume Polling' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'stopped', to: 'stopped', event: 'INIT',\n effects: [\n ['fetch', 'PollRecord'],\n ...pollStoppedEffects,\n ],\n },\n {\n from: 'stopped', to: 'polling', event: 'START',\n effects: [\n ['fetch', 'PollRecord'],\n ['set', '@entity.status', 'polling'],\n ['set', '@entity.count', 0],\n ...pollActiveEffects,\n ],\n },\n {\n from: 'polling', to: 'paused', event: 'PAUSE',\n effects: [\n ['fetch', 'PollRecord'],\n ['set', '@entity.status', 'paused'],\n ...pollPausedEffects,\n ],\n },\n {\n from: 'paused', to: 'polling', event: 'RESUME',\n effects: [\n ['fetch', 'PollRecord'],\n ['set', '@entity.status', 'polling'],\n ...pollActiveEffects,\n ],\n },\n {\n from: 'polling', to: 'stopped', event: 'STOP',\n effects: [\n ['fetch', 'PollRecord'],\n ['set', '@entity.status', 'stopped'],\n ...pollStoppedEffects,\n ],\n },\n {\n from: 'paused', to: 'stopped', event: 'STOP',\n effects: [\n ['fetch', 'PollRecord'],\n ['set', '@entity.status', 'stopped'],\n ...pollStoppedEffects,\n ],\n },\n // VIEW self-transitions for each state\n { from: 'stopped', to: 'stopped', event: 'VIEW', effects: [['fetch', 'PollRecord'], ...pollViewEffects] },\n { from: 'polling', to: 'polling', event: 'VIEW', effects: [['fetch', 'PollRecord'], ...pollViewEffects] },\n { from: 'paused', to: 'paused', event: 'VIEW', effects: [['fetch', 'PollRecord'], ...pollViewEffects] },\n ],\n },\n },\n ],\n pages: [{ name: 'PollMonitorPage', path: '/poll-monitor', isInitial: true, traits: [{ ref: 'PollManagement' }] }],\n },\n ],\n};\n\n// ============================================================================\n// Export All Async Behaviors\n// ============================================================================\n\nexport const ASYNC_BEHAVIORS: BehaviorSchema[] = [\n LOADING_BEHAVIOR,\n FETCH_BEHAVIOR,\n SUBMIT_BEHAVIOR,\n RETRY_BEHAVIOR,\n POLL_BEHAVIOR,\n];\n"]}
@@ -1,32 +1,46 @@
1
- import { OrbitalSchema } from '@almadar/core/types';
1
+ import { BehaviorSchema } from './types.js';
2
+ import '@almadar/core/types';
2
3
 
3
4
  /**
4
5
  * Data Management Behaviors
5
6
  *
6
7
  * Standard behaviors for data operations like pagination, selection,
7
8
  * sorting, filtering, and search.
8
- * Each behavior is a self-contained OrbitalSchema that can function as a standalone .orb file.
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, divider, data-grid, data-list,
14
+ * search-input, meter, stats, form-section) instead of organism patterns.
9
15
  *
10
16
  * @packageDocumentation
11
17
  */
12
18
 
13
19
  /**
14
20
  * std-pagination - Page navigation behavior for large data sets.
21
+ * Uses a concrete Product entity to demonstrate paginated browsing.
15
22
  */
16
- declare const PAGINATION_BEHAVIOR: OrbitalSchema;
17
- declare const SELECTION_BEHAVIOR: OrbitalSchema;
18
- declare const SORT_BEHAVIOR: OrbitalSchema;
23
+ declare const PAGINATION_BEHAVIOR: BehaviorSchema;
19
24
  /**
20
- * std-filter - Query Singleton pattern for explicit filtering.
21
- *
22
- * This behavior uses a singleton entity to hold filter state, making filtering
23
- * explicit in the schema rather than implicit in component behavior.
25
+ * std-selection - Selection management for entity lists.
26
+ * Uses a concrete File entity to demonstrate single/multi selection.
27
+ */
28
+ declare const SELECTION_BEHAVIOR: BehaviorSchema;
29
+ /**
30
+ * std-sort - Sorting behavior for entity lists.
31
+ * Uses a concrete Contact entity to demonstrate sortable columns.
32
+ */
33
+ declare const SORT_BEHAVIOR: BehaviorSchema;
34
+ /**
35
+ * std-filter - Filtering behavior for entity lists.
36
+ * Uses a concrete Task entity to demonstrate filter and search operations.
24
37
  */
25
- declare const FILTER_BEHAVIOR: OrbitalSchema;
38
+ declare const FILTER_BEHAVIOR: BehaviorSchema;
26
39
  /**
27
- * std-search - Search with debounce.
40
+ * std-search - Search behavior for entity lists.
41
+ * Uses a concrete Article entity to demonstrate search operations.
28
42
  */
29
- declare const SEARCH_BEHAVIOR: OrbitalSchema;
30
- declare const DATA_MANAGEMENT_BEHAVIORS: OrbitalSchema[];
43
+ declare const SEARCH_BEHAVIOR: BehaviorSchema;
44
+ declare const DATA_MANAGEMENT_BEHAVIORS: BehaviorSchema[];
31
45
 
32
46
  export { DATA_MANAGEMENT_BEHAVIORS, FILTER_BEHAVIOR, PAGINATION_BEHAVIOR, SEARCH_BEHAVIOR, SELECTION_BEHAVIOR, SORT_BEHAVIOR };