@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.
- package/dist/behaviors/async.d.ts +12 -7
- package/dist/behaviors/async.js +1085 -312
- package/dist/behaviors/async.js.map +1 -1
- package/dist/behaviors/data-management.d.ts +27 -13
- package/dist/behaviors/data-management.js +600 -244
- package/dist/behaviors/data-management.js.map +1 -1
- package/dist/behaviors/domain/commerce.d.ts +51 -0
- package/dist/behaviors/domain/commerce.js +1093 -0
- package/dist/behaviors/domain/commerce.js.map +1 -0
- package/dist/behaviors/domain/content.d.ts +51 -0
- package/dist/behaviors/domain/content.js +1294 -0
- package/dist/behaviors/domain/content.js.map +1 -0
- package/dist/behaviors/domain/dashboard.d.ts +45 -0
- package/dist/behaviors/domain/dashboard.js +783 -0
- package/dist/behaviors/domain/dashboard.js.map +1 -0
- package/dist/behaviors/domain/education.d.ts +41 -0
- package/dist/behaviors/domain/education.js +738 -0
- package/dist/behaviors/domain/education.js.map +1 -0
- package/dist/behaviors/domain/finance.d.ts +49 -0
- package/dist/behaviors/domain/finance.js +660 -0
- package/dist/behaviors/domain/finance.js.map +1 -0
- package/dist/behaviors/domain/game-2d-platformer.d.ts +50 -0
- package/dist/behaviors/domain/game-2d-platformer.js +810 -0
- package/dist/behaviors/domain/game-2d-platformer.js.map +1 -0
- package/dist/behaviors/domain/game-2d-puzzle.d.ts +42 -0
- package/dist/behaviors/domain/game-2d-puzzle.js +622 -0
- package/dist/behaviors/domain/game-2d-puzzle.js.map +1 -0
- package/dist/behaviors/domain/game-2d-rpg.d.ts +48 -0
- package/dist/behaviors/domain/game-2d-rpg.js +860 -0
- package/dist/behaviors/domain/game-2d-rpg.js.map +1 -0
- package/dist/behaviors/domain/game-2d-strategy.d.ts +48 -0
- package/dist/behaviors/domain/game-2d-strategy.js +692 -0
- package/dist/behaviors/domain/game-2d-strategy.js.map +1 -0
- package/dist/behaviors/domain/geospatial.d.ts +35 -0
- package/dist/behaviors/domain/geospatial.js +634 -0
- package/dist/behaviors/domain/geospatial.js.map +1 -0
- package/dist/behaviors/domain/healthcare.d.ts +36 -0
- package/dist/behaviors/domain/healthcare.js +1068 -0
- package/dist/behaviors/domain/healthcare.js.map +1 -0
- package/dist/behaviors/domain/iot.d.ts +45 -0
- package/dist/behaviors/domain/iot.js +589 -0
- package/dist/behaviors/domain/iot.js.map +1 -0
- package/dist/behaviors/domain/media.d.ts +41 -0
- package/dist/behaviors/domain/media.js +771 -0
- package/dist/behaviors/domain/media.js.map +1 -0
- package/dist/behaviors/domain/scheduling.d.ts +41 -0
- package/dist/behaviors/domain/scheduling.js +930 -0
- package/dist/behaviors/domain/scheduling.js.map +1 -0
- package/dist/behaviors/domain/simulation.d.ts +36 -0
- package/dist/behaviors/domain/simulation.js +706 -0
- package/dist/behaviors/domain/simulation.js.map +1 -0
- package/dist/behaviors/domain/social.d.ts +41 -0
- package/dist/behaviors/domain/social.js +840 -0
- package/dist/behaviors/domain/social.js.map +1 -0
- package/dist/behaviors/domain/workflow.d.ts +41 -0
- package/dist/behaviors/domain/workflow.js +879 -0
- package/dist/behaviors/domain/workflow.js.map +1 -0
- package/dist/behaviors/feedback.d.ts +10 -5
- package/dist/behaviors/feedback.js +279 -194
- package/dist/behaviors/feedback.js.map +1 -1
- package/dist/behaviors/game-core.d.ts +15 -8
- package/dist/behaviors/game-core.js +412 -80
- package/dist/behaviors/game-core.js.map +1 -1
- package/dist/behaviors/game-entity.d.ts +17 -10
- package/dist/behaviors/game-entity.js +544 -237
- package/dist/behaviors/game-entity.js.map +1 -1
- package/dist/behaviors/game-ui.d.ts +16 -8
- package/dist/behaviors/game-ui.js +451 -316
- package/dist/behaviors/game-ui.js.map +1 -1
- package/dist/behaviors/index.d.ts +18 -1
- package/dist/behaviors/index.js +18905 -2140
- package/dist/behaviors/index.js.map +1 -1
- package/dist/behaviors/infrastructure.d.ts +9 -8
- package/dist/behaviors/infrastructure.js +597 -169
- package/dist/behaviors/infrastructure.js.map +1 -1
- package/dist/behaviors/registry.d.ts +11 -11
- package/dist/behaviors/registry.js +18904 -2139
- package/dist/behaviors/registry.js.map +1 -1
- package/dist/behaviors/types.d.ts +19 -2
- package/dist/behaviors/types.js.map +1 -1
- package/dist/behaviors/ui-interaction.d.ts +20 -14
- package/dist/behaviors/ui-interaction.js +928 -518
- package/dist/behaviors/ui-interaction.js.map +1 -1
- package/dist/index.js +18906 -2141
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../behaviors/domain/scheduling.ts"],"names":[],"mappings":"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","file":"scheduling.js","sourcesContent":["/**\n * Scheduling Domain Behaviors\n *\n * Standard behaviors for scheduling operations: calendars, bookings,\n * availability management, and reminders.\n * Each behavior is a self-contained OrbitalSchema that passes orbital validate\n * with 0 errors and 0 warnings when exported as a standalone .orb file.\n *\n * UI Composition: molecule-first (atoms + molecules only, no organisms).\n * Each behavior has unique, domain-appropriate layouts composed with\n * VStack/HStack/Box wrappers around atoms and molecules.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema } from '../types.js';\n\n// ── Shared Scheduling Theme ────────────────────────────────────────\n\nconst SCHEDULING_THEME = {\n name: 'scheduling-violet',\n tokens: {\n colors: {\n primary: '#7c3aed',\n 'primary-hover': '#6d28d9',\n 'primary-foreground': '#ffffff',\n accent: '#a78bfa',\n 'accent-foreground': '#000000',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// std-calendar - Calendar View\n// ============================================================================\n\n// ── Reusable main-view effects (calendar browsing) ─────────────────\n\nconst calendarBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header row: calendar icon + title + create button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Calendar' },\n ]},\n { type: 'button', label: 'New Event', icon: 'calendar-plus', variant: 'primary', action: 'CREATE' },\n ]},\n { type: 'divider' },\n // Stats row\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total Events', icon: 'calendar', value: '@entity.id' },\n { type: 'stats', label: 'All Day', icon: 'clock', value: '@entity.isAllDay' },\n ]},\n { type: 'divider' },\n // Calendar grid view\n { type: 'calendar-grid', entity: 'CalendarEvent',\n dateField: 'startDate',\n titleField: 'title',\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye' },\n ],\n },\n // Search bar\n { type: 'search-input', placeholder: 'Search events...', icon: 'search', entity: 'CalendarEvent' },\n // Data list below calendar\n { type: 'data-list', entity: 'CalendarEvent', variant: 'card',\n fields: [\n { name: 'title', label: 'Event', icon: 'calendar-check', variant: 'h4' },\n { name: 'startDate', label: 'Start', icon: 'clock', variant: 'body' },\n { name: 'endDate', label: 'End', icon: 'clock', variant: 'caption' },\n { name: 'location', label: 'Location', icon: 'map-pin', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye' },\n ],\n },\n]}];\n\n/**\n * std-calendar - Calendar event management with CRUD operations.\n * Supports browsing, creating, viewing, and editing calendar events.\n */\nexport const CALENDAR_BEHAVIOR: BehaviorSchema = {\n name: 'std-calendar',\n version: '1.0.0',\n description: 'Calendar event management with CRUD operations',\n theme: SCHEDULING_THEME,\n orbitals: [\n {\n name: 'CalendarOrbital',\n entity: {\n name: 'CalendarEvent',\n persistence: 'persistent',\n collection: 'calendar_events',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'startDate', type: 'string', default: '' },\n { name: 'endDate', type: 'string', default: '' },\n { name: 'location', type: 'string', default: '' },\n { name: 'isAllDay', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'CalendarManager',\n linkedEntity: 'CalendarEvent',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'creating' },\n { name: 'viewing' },\n { name: 'editing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'CREATE', name: 'Create Event' },\n { key: 'SUBMIT', name: 'Submit Event', payloadSchema: [\n { name: 'title', type: 'string', required: true },\n { name: 'startDate', type: 'string', required: true },\n { name: 'endDate', type: 'string', required: true },\n { name: 'location', type: 'string', required: true },\n { name: 'isAllDay', type: 'boolean', required: true },\n ] },\n { key: 'VIEW', name: 'View Event', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'EDIT', name: 'Edit Event' },\n { key: 'UPDATE', name: 'Update Event', payloadSchema: [\n { name: 'title', type: 'string', required: true },\n { name: 'startDate', type: 'string', required: true },\n { name: 'endDate', type: 'string', required: true },\n { name: 'location', type: 'string', required: true },\n { name: 'isAllDay', type: 'boolean', required: true },\n ] },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'CLOSE', name: 'Close' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'CalendarEvent'],\n calendarBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'creating',\n event: 'CREATE',\n effects: [\n ['fetch', 'CalendarEvent'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar-plus', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'New Event' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'CalendarEvent',\n title: 'Event Details',\n submitEvent: 'SUBMIT',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.startDate', '@payload.startDate'],\n ['set', '@entity.endDate', '@payload.endDate'],\n ['set', '@entity.location', '@payload.location'],\n ['set', '@entity.isAllDay', '@payload.isAllDay'],\n ['render-ui', 'modal', null],\n ['fetch', 'CalendarEvent'],\n calendarBrowsingMainEffect,\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\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 // Event title with icon\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar-check', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'divider' },\n // Detail fields\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'clock', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.startDate' },\n { type: 'typography', variant: 'caption', content: 'to' },\n { type: 'typography', variant: 'body', content: '@entity.endDate' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'map-pin', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.location' },\n ]},\n ]},\n { type: 'divider' },\n // Actions\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'end', children: [\n { type: 'button', label: 'Edit', icon: 'edit', variant: 'secondary', action: 'EDIT' },\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'editing',\n event: 'EDIT',\n effects: [\n ['fetch', 'CalendarEvent'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'edit', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Edit Event' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'CalendarEvent',\n title: 'Update Details',\n submitEvent: 'UPDATE',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'UPDATE',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.startDate', '@payload.startDate'],\n ['set', '@entity.endDate', '@payload.endDate'],\n ['set', '@entity.location', '@payload.location'],\n ['set', '@entity.isAllDay', '@payload.isAllDay'],\n ['render-ui', 'modal', null],\n ['fetch', 'CalendarEvent'],\n calendarBrowsingMainEffect,\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\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 },\n },\n ],\n pages: [\n {\n name: 'CalendarPage',\n path: '/calendar',\n isInitial: true,\n traits: [{ ref: 'CalendarManager' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-booking - Booking System\n// ============================================================================\n\n// ── Reusable main-view effects (booking browsing) ──────────────────\n\nconst bookingBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: users icon + title + new booking button\n { type: 'stack', direction: 'horizontal', justify: 'space-between', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'users', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Bookings' },\n ]},\n { type: 'button', label: 'New Booking', icon: 'calendar-plus', variant: 'primary', action: 'SELECT' },\n ]},\n { type: 'divider' },\n // Stats row: total bookings + status breakdown\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total Bookings', icon: 'calendar', value: '@entity.id' },\n { type: 'stats', label: 'Status', icon: 'check-circle', value: '@entity.status' },\n ]},\n { type: 'divider' },\n // Search\n { type: 'search-input', placeholder: 'Search bookings...', icon: 'search', entity: 'Booking' },\n // Data grid with booking details\n { type: 'data-grid', entity: 'Booking',\n columns: [\n { name: 'service', label: 'Service', icon: 'briefcase' },\n { name: 'clientName', label: 'Client', icon: 'user' },\n { name: 'date', label: 'Date', icon: 'calendar' },\n { name: 'time', label: 'Time', icon: 'clock' },\n { name: 'status', label: 'Status', icon: 'activity', variant: 'badge' },\n ],\n itemActions: [\n { label: 'Select', event: 'SELECT', icon: 'arrow-right' },\n ],\n },\n // Timeline of upcoming bookings\n { type: 'line-chart', entity: 'Booking', label: 'Booking Trend', icon: 'trending-up',\n xField: 'date', yField: 'id',\n },\n]}];\n\n/**\n * std-booking - Booking system with service selection and confirmation flow.\n * Supports browsing, selecting, confirming, and viewing confirmed bookings.\n */\nexport const BOOKING_BEHAVIOR: BehaviorSchema = {\n name: 'std-booking',\n version: '1.0.0',\n description: 'Booking system with service selection and confirmation',\n theme: SCHEDULING_THEME,\n orbitals: [\n {\n name: 'BookingOrbital',\n entity: {\n name: 'Booking',\n persistence: 'persistent',\n collection: 'bookings',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'service', type: 'string', default: '' },\n { name: 'date', type: 'string', default: '' },\n { name: 'time', type: 'string', default: '' },\n { name: 'clientName', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'pending' },\n ],\n },\n traits: [\n {\n name: 'BookingFlow',\n linkedEntity: 'Booking',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'selecting' },\n { name: 'confirming' },\n { name: 'confirmed' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select Booking', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'FILL_DETAILS', name: 'Fill Details', payloadSchema: [\n { name: 'service', type: 'string', required: true },\n { name: 'date', type: 'string', required: true },\n { name: 'time', type: 'string', required: true },\n { name: 'clientName', type: 'string', required: true },\n ] },\n { key: 'CONFIRM', name: 'Confirm Booking' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'CLOSE', name: 'Close' },\n { key: 'BACK', name: 'Go Back' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Booking'],\n bookingBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'selecting',\n event: 'SELECT',\n effects: [\n ['fetch', 'Booking'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar-plus', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Book a Service' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'Booking',\n title: 'Service Details',\n submitEvent: 'FILL_DETAILS',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'selecting',\n to: 'confirming',\n event: 'FILL_DETAILS',\n effects: [\n ['set', '@entity.service', '@payload.service'],\n ['set', '@entity.date', '@payload.date'],\n ['set', '@entity.time', '@payload.time'],\n ['set', '@entity.clientName', '@payload.clientName'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Confirm Booking' },\n ]},\n { type: 'divider' },\n // Booking summary\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'briefcase', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.service' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'user', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.clientName' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.date' },\n { type: 'icon', name: 'clock', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.time' },\n ]},\n ]},\n { type: 'divider' },\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'end', children: [\n { type: 'button', label: 'Confirm', icon: 'check', variant: 'primary', action: 'CONFIRM' },\n { type: 'button', label: 'Back', icon: 'arrow-left', variant: 'ghost', action: 'BACK' },\n ]},\n ]}],\n ],\n },\n {\n from: 'confirming',\n to: 'confirmed',\n event: 'CONFIRM',\n effects: [\n ['set', '@entity.status', 'confirmed'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', align: 'center', children: [\n { type: 'icon', name: 'check-circle', size: 'xl' },\n { type: 'typography', variant: 'h3', content: 'Booking Confirmed' },\n { type: 'typography', variant: 'body', content: 'Your appointment has been scheduled.' },\n { type: 'divider' },\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'briefcase', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.service' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.date' },\n ]},\n { type: 'badge', label: 'Confirmed', variant: 'success', icon: 'check' },\n ]},\n { type: 'divider' },\n { type: 'button', label: 'Close', icon: 'x', variant: 'secondary', action: 'CLOSE' },\n ]}],\n ],\n },\n {\n from: 'confirming',\n to: 'selecting',\n event: 'BACK',\n effects: [\n ['fetch', 'Booking'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar-plus', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Book a Service' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'Booking',\n title: 'Service Details',\n submitEvent: 'FILL_DETAILS',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'selecting',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'confirming',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'confirmed',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ['fetch', 'Booking'],\n bookingBrowsingMainEffect,\n ],\n },\n {\n from: 'confirmed',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ['fetch', 'Booking'],\n bookingBrowsingMainEffect,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'BookingsPage',\n path: '/bookings',\n isInitial: true,\n traits: [{ ref: 'BookingFlow' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-availability - Availability Management\n// ============================================================================\n\n// ── Reusable main-view effects (availability browsing) ─────────────\n\nconst availabilityBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: clock icon + title\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: 'Availability' },\n ]},\n ]},\n { type: 'divider' },\n // Stats: available vs total slots\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total Slots', icon: 'timer', value: '@entity.id' },\n { type: 'stats', label: 'Available', icon: 'check-circle', value: '@entity.isAvailable' },\n ]},\n // Availability meter\n { type: 'meter', label: 'Availability Rate', icon: 'activity', value: '@entity.isAvailable', max: 100, variant: 'success' },\n { type: 'divider' },\n // Weekly grid of time slots\n { type: 'data-grid', entity: 'TimeSlot',\n columns: [\n { name: 'dayOfWeek', label: 'Day', icon: 'calendar' },\n { name: 'startTime', label: 'Start', icon: 'clock' },\n { name: 'endTime', label: 'End', icon: 'clock' },\n { name: 'isAvailable', label: 'Available', icon: 'check-circle', variant: 'badge' },\n ],\n itemActions: [\n { label: 'Edit', event: 'EDIT', icon: 'edit' },\n ],\n },\n]}];\n\n/**\n * std-availability - Manage available time slots.\n * Supports browsing and editing time slot availability.\n */\nexport const AVAILABILITY_BEHAVIOR: BehaviorSchema = {\n name: 'std-availability',\n version: '1.0.0',\n description: 'Availability time slot management',\n theme: SCHEDULING_THEME,\n orbitals: [\n {\n name: 'AvailabilityOrbital',\n entity: {\n name: 'TimeSlot',\n persistence: 'persistent',\n collection: 'time_slots',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'dayOfWeek', type: 'string', default: '' },\n { name: 'startTime', type: 'string', default: '' },\n { name: 'endTime', type: 'string', default: '' },\n { name: 'isAvailable', type: 'boolean', default: true },\n ],\n },\n traits: [\n {\n name: 'AvailabilityManager',\n linkedEntity: 'TimeSlot',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'editing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'EDIT', name: 'Edit Slot', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'UPDATE', name: 'Update Slot', payloadSchema: [\n { name: 'dayOfWeek', type: 'string', required: true },\n { name: 'startTime', type: 'string', required: true },\n { name: 'endTime', type: 'string', required: true },\n { name: 'isAvailable', type: 'boolean', required: true },\n ] },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'CLOSE', name: 'Close' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'TimeSlot'],\n availabilityBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'editing',\n event: 'EDIT',\n effects: [\n ['fetch', 'TimeSlot'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'edit', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'Edit Time Slot' },\n ]},\n { type: 'divider' },\n // Current slot info\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'badge', label: '@entity.dayOfWeek', variant: 'default', icon: 'calendar' },\n { type: 'typography', variant: 'caption', content: '@entity.startTime' },\n { type: 'typography', variant: 'caption', content: '-' },\n { type: 'typography', variant: 'caption', content: '@entity.endTime' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'TimeSlot',\n title: 'Slot Details',\n submitEvent: 'UPDATE',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'UPDATE',\n effects: [\n ['set', '@entity.dayOfWeek', '@payload.dayOfWeek'],\n ['set', '@entity.startTime', '@payload.startTime'],\n ['set', '@entity.endTime', '@payload.endTime'],\n ['set', '@entity.isAvailable', '@payload.isAvailable'],\n ['render-ui', 'modal', null],\n ['fetch', 'TimeSlot'],\n availabilityBrowsingMainEffect,\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n {\n from: 'editing',\n to: 'browsing',\n event: 'CLOSE',\n effects: [\n ['render-ui', 'modal', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'AvailabilityPage',\n path: '/availability',\n isInitial: true,\n traits: [{ ref: 'AvailabilityManager' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-reminder - Reminder System\n// ============================================================================\n\n// ── Reusable main-view effects (reminder browsing) ─────────────────\n\nconst reminderBrowsingMainEffect = ['render-ui', 'main', { type: 'stack', direction: 'vertical', gap: 'lg', children: [\n // Header: bell icon + title + create 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: 'Reminders' },\n ]},\n { type: 'button', label: 'New Reminder', icon: 'calendar-plus', variant: 'primary', action: 'CREATE' },\n ]},\n { type: 'divider' },\n // Stats: total + completed + by priority\n { type: 'stack', direction: 'horizontal', gap: 'md', children: [\n { type: 'stats', label: 'Total', icon: 'list', value: '@entity.id' },\n { type: 'stats', label: 'Completed', icon: 'check-circle', value: '@entity.isCompleted' },\n { type: 'stats', label: 'Priority', icon: 'alert-triangle', value: '@entity.priority' },\n ]},\n { type: 'divider' },\n // Search\n { type: 'search-input', placeholder: 'Search reminders...', icon: 'search', entity: 'Reminder' },\n // Reminder data list\n { type: 'data-list', entity: 'Reminder', variant: 'card',\n fields: [\n { name: 'title', label: 'Reminder', icon: 'repeat', variant: 'h4' },\n { name: 'dueDate', label: 'Due', icon: 'calendar', variant: 'body' },\n { name: 'priority', label: 'Priority', icon: 'alert-triangle', variant: 'badge' },\n { name: 'isCompleted', label: 'Done', icon: 'check-circle', variant: 'badge' },\n ],\n itemActions: [\n { label: 'View', event: 'VIEW', icon: 'eye' },\n ],\n },\n // Timeline chart\n { type: 'line-chart', entity: 'Reminder', label: 'Due Date Timeline', icon: 'trending-up',\n xField: 'dueDate', yField: 'id',\n },\n]}];\n\n/**\n * std-reminder - Simple reminder system with CRUD operations.\n * Supports browsing, creating, and viewing reminders.\n */\nexport const REMINDER_BEHAVIOR: BehaviorSchema = {\n name: 'std-reminder',\n version: '1.0.0',\n description: 'Reminder system with priority tracking',\n theme: SCHEDULING_THEME,\n orbitals: [\n {\n name: 'ReminderOrbital',\n entity: {\n name: 'Reminder',\n persistence: 'persistent',\n collection: 'reminders',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'dueDate', type: 'string', default: '' },\n { name: 'priority', type: 'string', default: 'medium' },\n { name: 'isCompleted', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'ReminderManager',\n linkedEntity: 'Reminder',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'creating' },\n { name: 'viewing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'CREATE', name: 'Create Reminder' },\n { key: 'SUBMIT', name: 'Submit Reminder', payloadSchema: [\n { name: 'title', type: 'string', required: true },\n { name: 'dueDate', type: 'string', required: true },\n { name: 'priority', type: 'string', required: true },\n ] },\n { key: 'VIEW', name: 'View Reminder', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'COMPLETE', name: 'Complete Reminder' },\n { key: 'CANCEL', name: 'Cancel' },\n { key: 'CLOSE', name: 'Close' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Reminder'],\n reminderBrowsingMainEffect,\n ],\n },\n {\n from: 'browsing',\n to: 'creating',\n event: 'CREATE',\n effects: [\n ['fetch', 'Reminder'],\n ['render-ui', 'modal', { type: 'stack', direction: 'vertical', gap: 'md', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar-plus', size: 'md' },\n { type: 'typography', variant: 'h3', content: 'New Reminder' },\n ]},\n { type: 'divider' },\n { type: 'form-section',\n entity: 'Reminder',\n title: 'Reminder Details',\n submitEvent: 'SUBMIT',\n cancelEvent: 'CANCEL',\n },\n ]}],\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'SUBMIT',\n effects: [\n ['set', '@entity.title', '@payload.title'],\n ['set', '@entity.dueDate', '@payload.dueDate'],\n ['set', '@entity.priority', '@payload.priority'],\n ['render-ui', 'modal', null],\n ['fetch', 'Reminder'],\n reminderBrowsingMainEffect,\n ],\n },\n {\n from: 'creating',\n to: 'browsing',\n event: 'CANCEL',\n effects: [\n ['render-ui', 'modal', null],\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 // Title with icon\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'repeat', size: 'md' },\n { type: 'typography', variant: 'h3', content: '@entity.title' },\n ]},\n { type: 'divider' },\n // Detail fields\n { type: 'stack', direction: 'vertical', gap: 'sm', children: [\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'calendar', size: 'sm' },\n { type: 'typography', variant: 'body', content: '@entity.dueDate' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'alert-triangle', size: 'sm' },\n { type: 'badge', label: '@entity.priority', variant: 'warning' },\n ]},\n { type: 'stack', direction: 'horizontal', gap: 'sm', children: [\n { type: 'icon', name: 'check-circle', size: 'sm' },\n { type: 'badge', label: '@entity.isCompleted', variant: 'default' },\n ]},\n ]},\n { type: 'divider' },\n // Actions\n { type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'end', children: [\n { type: 'button', label: 'Complete', icon: 'check', variant: 'primary', action: 'COMPLETE' },\n { type: 'button', label: 'Close', icon: 'x', variant: 'ghost', action: 'CLOSE' },\n ]},\n ]}],\n ],\n },\n {\n from: 'viewing',\n to: 'browsing',\n event: 'COMPLETE',\n effects: [\n ['set', '@entity.isCompleted', true],\n ['render-ui', 'modal', null],\n ['fetch', 'Reminder'],\n reminderBrowsingMainEffect,\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 },\n },\n ],\n pages: [\n {\n name: 'RemindersPage',\n path: '/reminders',\n isInitial: true,\n traits: [{ ref: 'ReminderManager' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Scheduling Behaviors\n// ============================================================================\n\nexport const SCHEDULING_BEHAVIORS: BehaviorSchema[] = [\n CALENDAR_BEHAVIOR,\n BOOKING_BEHAVIOR,\n AVAILABILITY_BEHAVIOR,\n REMINDER_BEHAVIOR,\n];\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BehaviorSchema } from '../types.js';
|
|
2
|
+
import '@almadar/core/types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Simulation Domain Behaviors
|
|
6
|
+
*
|
|
7
|
+
* Standard behaviors for agent simulations, rule engines,
|
|
8
|
+
* and time-step controls.
|
|
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-agent-sim - Agent-based simulation with tick updates.
|
|
21
|
+
* States: idle -> running -> paused -> completed
|
|
22
|
+
*/
|
|
23
|
+
declare const AGENT_SIM_BEHAVIOR: BehaviorSchema;
|
|
24
|
+
/**
|
|
25
|
+
* std-rule-engine - Rule CRUD for simulation engines.
|
|
26
|
+
* States: browsing -> creating -> editing
|
|
27
|
+
*/
|
|
28
|
+
declare const RULE_ENGINE_BEHAVIOR: BehaviorSchema;
|
|
29
|
+
/**
|
|
30
|
+
* std-time-step - Time-step control for simulations.
|
|
31
|
+
* States: idle -> running -> paused -> completed
|
|
32
|
+
*/
|
|
33
|
+
declare const TIME_STEP_BEHAVIOR: BehaviorSchema;
|
|
34
|
+
declare const SIMULATION_BEHAVIORS: BehaviorSchema[];
|
|
35
|
+
|
|
36
|
+
export { AGENT_SIM_BEHAVIOR, RULE_ENGINE_BEHAVIOR, SIMULATION_BEHAVIORS, TIME_STEP_BEHAVIOR };
|