@almadar/std 2.1.0 → 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 +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../behaviors/domain/media.ts"],"names":[],"mappings":"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","file":"media.js","sourcesContent":["/**\n * Media Domain Behaviors\n *\n * Standard behaviors for media: galleries, playback, playlists,\n * and file uploads.\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 * stack wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema } from '../types.js';\n\n// ── Shared Media Theme ──────────────────────────────────────────────\n\nconst MEDIA_THEME = {\n name: 'media-fuchsia',\n tokens: {\n colors: {\n primary: '#c026d3',\n 'primary-hover': '#a21caf',\n 'primary-foreground': '#ffffff',\n accent: '#e879f9',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-gallery - Media Gallery\n// ============================================================================\n\n// ── Reusable main-view effects (gallery browsing) ───────────────────\n\nconst galleryBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: image icon + title + upload button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'image', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Media Gallery' },\n ]},\n { type: 'button', label: 'Upload', icon: 'upload', variant: 'primary', action: 'UPLOAD' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stats', label: 'Total Media', icon: 'image', entity: 'MediaItem' },\n { type: 'divider' },\n // Empty state guidance\n { type: 'stack', direction: 'vertical', gap: 'sm', align: 'center', children: [\n { type: 'icon', name: 'image', size: 'xl' },\n { type: 'typography', variant: 'body', content: 'Upload your first image to get started' },\n ]},\n // Search\n { type: 'search-input', placeholder: 'Search media...', icon: 'search' },\n // Gallery grid\n { type: 'data-grid', entity: 'MediaItem', variant: 'card', columns: 3,\n fields: [\n { name: 'title', label: 'Title', icon: 'film', variant: 'h4' },\n { name: 'type', label: 'Type', icon: 'folder', variant: 'badge' },\n { name: 'createdAt', label: 'Added', variant: 'caption' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'primary' },\n ],\n },\n]}];\n\n/**\n * std-gallery - Media gallery with lightbox viewing and upload.\n * States: browsing -> viewing -> uploading\n */\nexport const GALLERY_BEHAVIOR: BehaviorSchema = {\n name: 'std-gallery',\n version: '1.0.0',\n description: 'Media gallery with lightbox viewing and upload',\n theme: MEDIA_THEME,\n orbitals: [\n {\n name: 'GalleryOrbital',\n entity: {\n name: 'MediaItem',\n persistence: 'persistent',\n collection: 'media_items',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'url', type: 'string', default: '' },\n { name: 'type', type: 'string', default: 'image' },\n { name: 'thumbnailUrl', type: 'string', default: '' },\n { name: 'createdAt', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'GalleryControl',\n linkedEntity: 'MediaItem',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'viewing' },\n { name: 'uploading' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'VIEW', name: 'View Item', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'UPLOAD', name: 'Start Upload' },\n { key: 'SAVE', name: 'Save Upload', payloadSchema: [{ name: 'title', type: 'string', required: true }, { name: 'url', type: 'string', required: true }] },\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', 'MediaItem'],\n galleryBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'viewing',\n event: 'VIEW',\n effects: [\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n // Header with close\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'camera', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n { type: 'divider' },\n // Detail fields\n { type: 'data-list', entity: 'MediaItem', variant: 'detail',\n fields: [\n { name: 'title', label: 'Title', icon: 'film', variant: 'h4' },\n { name: 'type', label: 'Type', icon: 'folder', variant: 'badge' },\n { name: 'url', label: 'URL', variant: 'body' },\n { name: 'createdAt', label: 'Created', variant: 'caption' },\n ],\n },\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'browsing',\n to: 'uploading',\n event: 'UPLOAD',\n effects: [\n ['fetch', 'MediaItem'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'upload', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Upload Media' },\n ]},\n { type: 'divider' },\n { type: 'form-section', entity: 'MediaItem', submitEvent: 'SAVE', cancelEvent: 'CANCEL' },\n ]}],\n ],\n },\n {\n from: 'uploading',\n to: 'browsing',\n event: 'SAVE',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.url', '@payload.url'],\n ['render-ui', 'modal', null],\n ['fetch', 'MediaItem'],\n galleryBrowsingMainEffect,\n ],\n },\n {\n from: 'uploading',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'uploading',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'GalleryPage',\n path: '/gallery',\n isInitial: true,\n traits: [{ ref: 'GalleryControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-player - Media Player\n// ============================================================================\n\n// ── Reusable main-view effects (player idle) ────────────────────────\n\nconst playerIdleMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: play icon + title\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'play', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Media Player' },\n ]},\n { type: 'divider' },\n // Track info card\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'music', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'badge', label: 'Stopped', variant: 'default' },\n ]},\n { type: 'divider' },\n // Volume meter\n { type: 'meter', value: 0, label: 'Volume', icon: 'volume-2' },\n // Controls\n { type: 'stack', direction: 'horizontal', gap: 'md', justify: 'center', children: [\n { type: 'button', label: 'Play', icon: 'play', variant: 'primary', action: 'PLAY' },\n ]},\n]}];\n\n// ── Reusable main-view effects (player playing) ─────────────────────\n\nconst playerPlayingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'play', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Now Playing' },\n ]},\n { type: 'divider' },\n // Track info\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'music', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'badge', label: 'Playing', variant: 'success' },\n ]},\n { type: 'divider' },\n // Playback progress\n { type: 'meter', value: '@entity.currentTime', label: 'Playback', icon: 'clock' },\n // Controls\n { type: 'stack', direction: 'horizontal', gap: 'md', justify: 'center', 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\n// ── Reusable main-view effects (player paused) ─────────────────────\n\nconst playerPausedMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'pause', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Paused' },\n ]},\n { type: 'divider' },\n // Track info\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'music', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'badge', label: 'Paused', variant: 'warning' },\n ]},\n { type: 'divider' },\n // Playback progress (frozen)\n { type: 'meter', value: '@entity.currentTime', label: 'Paused', icon: 'clock' },\n // Controls\n { type: 'stack', direction: 'horizontal', gap: 'md', justify: 'center', children: [\n { type: 'button', label: 'Resume', icon: 'play', variant: 'primary', action: 'PLAY' },\n { type: 'button', label: 'Stop', icon: 'square', variant: 'ghost', action: 'STOP' },\n ]},\n]}];\n\n/**\n * std-player - Media playback with play/pause controls.\n * States: idle -> playing -> paused\n */\nexport const PLAYER_BEHAVIOR: BehaviorSchema = {\n name: 'std-player',\n version: '1.0.0',\n description: 'Media player with playback controls',\n theme: MEDIA_THEME,\n orbitals: [\n {\n name: 'PlayerOrbital',\n entity: {\n name: 'PlayerState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'url', type: 'string', default: '' },\n { name: 'duration', type: 'number', default: 0 },\n { name: 'currentTime', type: 'number', default: 0 },\n { name: 'isPlaying', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'PlayerControl',\n linkedEntity: 'PlayerState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'playing' },\n { name: 'paused' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'PLAY', name: 'Play' },\n { key: 'PAUSE', name: 'Pause' },\n { key: 'STOP', name: 'Stop' },\n ],\n transitions: [\n {\n from: 'idle',\n to: 'idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.currentTime', 0],\n ['set', '@entity.isPlaying', false],\n playerIdleMainEffect,\n ],\n },\n {\n from: 'idle',\n to: 'playing',\n event: 'PLAY',\n effects: [\n ['set', '@entity.isPlaying', true],\n playerPlayingMainEffect,\n ],\n },\n {\n from: 'playing',\n to: 'paused',\n event: 'PAUSE',\n effects: [\n ['set', '@entity.isPlaying', false],\n playerPausedMainEffect,\n ],\n },\n {\n from: 'paused',\n to: 'playing',\n event: 'PLAY',\n effects: [\n ['set', '@entity.isPlaying', true],\n playerPlayingMainEffect,\n ],\n },\n {\n from: 'playing',\n to: 'idle',\n event: 'STOP',\n effects: [\n ['set', '@entity.isPlaying', false],\n ['set', '@entity.currentTime', 0],\n playerIdleMainEffect,\n ],\n },\n {\n from: 'paused',\n to: 'idle',\n event: 'STOP',\n effects: [\n ['set', '@entity.isPlaying', false],\n ['set', '@entity.currentTime', 0],\n playerIdleMainEffect,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'PlayerPage',\n path: '/player',\n isInitial: true,\n traits: [{ ref: 'PlayerControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-playlist - Playlist Management\n// ============================================================================\n\n// ── Reusable main-view effects (playlist browsing) ──────────────────\n\nconst playlistBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: music icon + title\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'music', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Playlist' },\n ]},\n ]},\n { type: 'divider' },\n // Playlist stats\n { type: 'stats', label: 'Tracks', icon: 'music', entity: 'PlaylistItem' },\n { type: 'divider' },\n // Search\n { type: 'search-input', placeholder: 'Search tracks...', icon: 'search' },\n // Track list\n { type: 'data-list', entity: 'PlaylistItem', variant: 'row',\n fields: [\n { name: 'title', label: 'Title', icon: 'music', variant: 'h4' },\n { name: 'artist', label: 'Artist', icon: 'user', variant: 'body' },\n { name: 'duration', label: 'Duration', icon: 'clock', variant: 'badge', format: 'duration' },\n { name: 'order', label: '#', variant: 'caption' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye', variant: 'primary' },\n ],\n },\n]}];\n\n/**\n * std-playlist - Playlist management with ordering.\n * States: browsing -> viewing -> editing\n */\nexport const PLAYLIST_BEHAVIOR: BehaviorSchema = {\n name: 'std-playlist',\n version: '1.0.0',\n description: 'Playlist management with track ordering',\n theme: MEDIA_THEME,\n orbitals: [\n {\n name: 'PlaylistOrbital',\n entity: {\n name: 'PlaylistItem',\n persistence: 'persistent',\n collection: 'playlist_items',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'artist', type: 'string', default: '' },\n { name: 'duration', type: 'number', default: 0 },\n { name: 'order', type: 'number', default: 0 },\n ],\n },\n traits: [\n {\n name: 'PlaylistControl',\n linkedEntity: 'PlaylistItem',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'viewing' },\n { name: 'editing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'VIEW', name: 'View Track', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'EDIT', name: 'Edit Track' },\n { key: 'SAVE', name: 'Save Track', payloadSchema: [{ name: 'title', type: 'string', required: true }, { name: 'artist', type: 'string', required: true }] },\n { key: 'BACK', name: 'Back to Playlist' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'PlaylistItem'],\n playlistBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'viewing',\n event: 'VIEW',\n effects: [\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header with back\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'music', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Track Details' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'button', label: 'Edit', icon: 'edit', variant: 'primary', action: 'EDIT' },\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'ghost', action: 'BACK' },\n ]},\n ]},\n { type: 'divider' },\n // Track detail\n { type: 'data-list', entity: 'PlaylistItem', variant: 'detail',\n fields: [\n { name: 'title', label: 'Title', icon: 'music', variant: 'h4' },\n { name: 'artist', label: 'Artist', icon: 'user', variant: 'body' },\n { name: 'duration', label: 'Duration', icon: 'clock', variant: 'badge', format: 'duration' },\n { name: 'order', label: 'Track #', variant: 'caption' },\n ],\n },\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'editing',\n event: 'EDIT',\n effects: [\n ['fetch', 'PlaylistItem'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header with back\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'edit', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Edit Track' },\n ]},\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'ghost', action: 'BACK' },\n ]},\n { type: 'divider' },\n { type: 'form-section', entity: 'PlaylistItem' },\n ]}],\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'SAVE',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.artist', '@payload.artist'],\n ['fetch', 'PlaylistItem'],\n playlistBrowsingMainEffect,\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'BACK',\n effects: [\n ['fetch', 'PlaylistItem'],\n playlistBrowsingMainEffect,\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'BACK',\n effects: [\n ['fetch', 'PlaylistItem'],\n playlistBrowsingMainEffect,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'PlaylistPage',\n path: '/playlist',\n isInitial: true,\n traits: [{ ref: 'PlaylistControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-upload - File Upload\n// ============================================================================\n\n// ── Reusable main-view effects (upload idle) ────────────────────────\n\nconst uploadIdleMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: upload icon + title\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'upload', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'File Upload' },\n ]},\n { type: 'divider' },\n // Guidance text\n { type: 'stack', direction: 'vertical', gap: 'sm', align: 'center', children: [\n { type: 'icon', name: 'file-plus', size: 'xl' },\n { type: 'typography', variant: 'body', content: 'Select a file to upload' },\n ]},\n // Upload form\n { type: 'form-section', entity: 'UploadState', submitEvent: 'START_UPLOAD' },\n // Explicit start button\n { type: 'button', label: 'Start Upload', action: 'START_UPLOAD', icon: 'upload', variant: 'primary' },\n]}];\n\n// ── Reusable main-view effects (uploading in progress) ──────────────\n\nconst uploadProgressMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'upload', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Uploading...' },\n ]},\n { type: 'divider' },\n // File info\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'file', size: 'md' },\n { type: 'typography', variant: 'h4', content: '@entity.fileName' },\n ]},\n // Progress\n { type: 'meter', value: 0, label: 'Upload Progress', icon: 'upload' },\n { type: 'badge', label: 'Uploading', variant: 'warning' },\n]}];\n\n/**\n * std-upload - File upload tracking with progress.\n * States: idle -> uploading -> completed -> failed\n */\nexport const UPLOAD_BEHAVIOR: BehaviorSchema = {\n name: 'std-upload',\n version: '1.0.0',\n description: 'File upload tracking with progress indicator',\n theme: MEDIA_THEME,\n orbitals: [\n {\n name: 'UploadOrbital',\n entity: {\n name: 'UploadState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'fileName', type: 'string', default: '' },\n { name: 'fileSize', type: 'number', default: 0 },\n { name: 'progress', type: 'number', default: 0 },\n { name: 'status', type: 'string', default: 'idle' },\n ],\n },\n traits: [\n {\n name: 'UploadControl',\n linkedEntity: 'UploadState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'uploading' },\n { name: 'completed' },\n { name: 'failed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'START_UPLOAD', name: 'Start Upload', payloadSchema: [{ name: 'fileName', type: 'string', required: true }] },\n { key: 'COMPLETE', name: 'Upload Complete' },\n { key: 'FAIL', name: 'Upload Failed' },\n { key: 'RETRY', name: 'Retry Upload' },\n { key: 'RESET', name: 'Reset' },\n ],\n transitions: [\n {\n from: 'idle',\n to: 'idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.progress', 0],\n ['set', '@entity.status', 'idle'],\n ['fetch', 'UploadState'],\n uploadIdleMainEffect,\n ],\n },\n {\n from: 'idle',\n to: 'uploading',\n event: 'START_UPLOAD',\n effects: [\n ['set', '@entity.fileName', '@payload.fileName'],\n ['set', '@entity.progress', 0],\n ['set', '@entity.status', 'uploading'],\n uploadProgressMainEffect,\n ],\n },\n {\n from: 'uploading',\n to: 'completed',\n event: 'COMPLETE',\n effects: [\n ['set', '@entity.progress', 100],\n ['set', '@entity.status', 'completed'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Upload Complete' },\n ]},\n { type: 'divider' },\n // File info\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'file', size: 'md' },\n { type: 'typography', variant: 'h4', content: '@entity.fileName' },\n ]},\n // Progress full\n { type: 'meter', value: 100, label: 'Complete', icon: 'check' },\n { type: 'badge', label: 'Completed', variant: 'success' },\n { type: 'divider' },\n // Reset\n { type: 'button', label: 'Upload Another', icon: 'upload', variant: 'primary', action: 'RESET' },\n ]}],\n ],\n },\n {\n from: 'uploading',\n to: 'failed',\n event: 'FAIL',\n effects: [\n ['set', '@entity.status', 'failed'],\n ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-triangle', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Upload Failed' },\n ]},\n { type: 'divider' },\n // File info\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'file', size: 'md' },\n { type: 'typography', variant: 'h4', content: '@entity.fileName' },\n ]},\n { type: 'badge', label: 'Failed', variant: 'error' },\n { type: 'divider' },\n // Retry / Reset\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'button', label: 'Retry', icon: 'refresh-cw', variant: 'primary', action: 'RETRY' },\n { type: 'button', label: 'Reset', icon: 'x', variant: 'ghost', action: 'RESET' },\n ]},\n ]}],\n ],\n },\n {\n from: 'failed',\n to: 'uploading',\n event: 'RETRY',\n effects: [\n ['set', '@entity.progress', 0],\n ['set', '@entity.status', 'uploading'],\n uploadProgressMainEffect,\n ],\n },\n {\n from: 'completed',\n to: 'idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.progress', 0],\n ['set', '@entity.status', 'idle'],\n ['fetch', 'UploadState'],\n uploadIdleMainEffect,\n ],\n },\n {\n from: 'failed',\n to: 'idle',\n event: 'RESET',\n effects: [\n ['set', '@entity.progress', 0],\n ['set', '@entity.status', 'idle'],\n ['fetch', 'UploadState'],\n uploadIdleMainEffect,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'UploadPage',\n path: '/upload',\n isInitial: true,\n traits: [{ ref: 'UploadControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Media Behaviors\n// ============================================================================\n\nexport const MEDIA_BEHAVIORS: BehaviorSchema[] = [\n GALLERY_BEHAVIOR,\n PLAYER_BEHAVIOR,\n PLAYLIST_BEHAVIOR,\n UPLOAD_BEHAVIOR,\n];\n"]}
@@ -0,0 +1,41 @@
1
+ import { BehaviorSchema } from '../types.js';
2
+ import '@almadar/core/types';
3
+
4
+ /**
5
+ * Scheduling Domain Behaviors
6
+ *
7
+ * Standard behaviors for scheduling operations: calendars, bookings,
8
+ * availability management, and reminders.
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
+ * UI Composition: molecule-first (atoms + molecules only, no organisms).
13
+ * Each behavior has unique, domain-appropriate layouts composed with
14
+ * VStack/HStack/Box wrappers around atoms and molecules.
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+
19
+ /**
20
+ * std-calendar - Calendar event management with CRUD operations.
21
+ * Supports browsing, creating, viewing, and editing calendar events.
22
+ */
23
+ declare const CALENDAR_BEHAVIOR: BehaviorSchema;
24
+ /**
25
+ * std-booking - Booking system with service selection and confirmation flow.
26
+ * Supports browsing, selecting, confirming, and viewing confirmed bookings.
27
+ */
28
+ declare const BOOKING_BEHAVIOR: BehaviorSchema;
29
+ /**
30
+ * std-availability - Manage available time slots.
31
+ * Supports browsing and editing time slot availability.
32
+ */
33
+ declare const AVAILABILITY_BEHAVIOR: BehaviorSchema;
34
+ /**
35
+ * std-reminder - Simple reminder system with CRUD operations.
36
+ * Supports browsing, creating, and viewing reminders.
37
+ */
38
+ declare const REMINDER_BEHAVIOR: BehaviorSchema;
39
+ declare const SCHEDULING_BEHAVIORS: BehaviorSchema[];
40
+
41
+ export { AVAILABILITY_BEHAVIOR, BOOKING_BEHAVIOR, CALENDAR_BEHAVIOR, REMINDER_BEHAVIOR, SCHEDULING_BEHAVIORS };