@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.
- 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 +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../behaviors/data-management.ts"],"names":[],"mappings":"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","file":"data-management.js","sourcesContent":["/**\n * Data Management Behaviors\n *\n * Standard behaviors for data operations like pagination, selection,\n * sorting, filtering, and search.\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-pagination - Page Navigation\n// ============================================================================\n\n/**\n * std-pagination - Page navigation behavior for large data sets.\n */\nexport const PAGINATION_BEHAVIOR: OrbitalSchema = {\n name: 'std-pagination',\n version: '1.0.0',\n description: 'Page-based navigation for large data sets',\n orbitals: [\n {\n name: 'PaginationOrbital',\n entity: {\n name: 'PaginationState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'page', type: 'number', default: 1 },\n { name: 'pageSize', type: 'number', default: 20 },\n { name: 'totalItems', type: 'number', default: 0 },\n { name: 'defaultPageSize', type: 'number', default: 20 },\n ],\n },\n traits: [\n {\n name: 'Pagination',\n linkedEntity: 'PaginationState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT_PAGE', name: 'Next Page' },\n { key: 'PREV_PAGE', name: 'Previous Page' },\n { key: 'GO_TO_PAGE', name: 'Go to Page' },\n { key: 'SET_PAGE_SIZE', name: 'Set Page Size' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.page', 1],\n ['set', '@entity.pageSize', '@entity.defaultPageSize'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'NEXT_PAGE',\n guard: ['<', '@entity.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]],\n effects: [['set', '@entity.page', ['+', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'PREV_PAGE',\n guard: ['>', '@entity.page', 1],\n effects: [['set', '@entity.page', ['-', '@entity.page', 1]]],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'GO_TO_PAGE',\n guard: ['and',\n ['>=', '@payload.page', 1],\n ['<=', '@payload.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]]],\n effects: [['set', '@entity.page', '@payload.page']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SET_PAGE_SIZE',\n effects: [\n ['set', '@entity.pageSize', '@payload.size'],\n ['set', '@entity.page', 1],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-selection - Single/Multi Selection\n// ============================================================================\n\nexport const SELECTION_BEHAVIOR: OrbitalSchema = {\n name: 'std-selection',\n version: '1.0.0',\n description: 'Single or multi-selection management',\n orbitals: [\n {\n name: 'SelectionOrbital',\n entity: {\n name: 'SelectionState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'selected', type: 'array', default: [] },\n { name: 'lastSelected', type: 'string', default: null },\n { name: 'mode', type: 'string', default: 'multi' },\n { name: 'maxSelection', type: 'number', default: null },\n ],\n },\n traits: [\n {\n name: 'Selection',\n linkedEntity: 'SelectionState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select' },\n { key: 'DESELECT', name: 'Deselect' },\n { key: 'TOGGLE', name: 'Toggle' },\n { key: 'SELECT_ALL', name: 'Select All' },\n { key: 'CLEAR', name: 'Clear' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT',\n effects: [\n ['if', ['=', '@entity.mode', 'single'],\n ['do',\n ['set', '@entity.selected', ['@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['if', ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']],\n ['do',\n ['set', '@entity.selected', ['array/append', '@entity.selected', '@payload.id']],\n ['set', '@entity.lastSelected', '@payload.id']],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'DESELECT',\n effects: [\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE',\n effects: [\n ['if', ['array/includes', '@entity.selected', '@payload.id'],\n ['set', '@entity.selected', ['array/filter', '@entity.selected', ['fn', 'id', ['!=', '@id', '@payload.id']]]],\n ['if', ['or', ['=', '@entity.mode', 'single'], ['or',\n ['not', '@entity.maxSelection'],\n ['<', ['array/len', '@entity.selected'], '@entity.maxSelection']]],\n ['set', '@entity.selected',\n ['if', ['=', '@entity.mode', 'single'],\n ['@payload.id'],\n ['array/append', '@entity.selected', '@payload.id']]],\n ['notify', 'in_app', 'Maximum selection reached']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SELECT_ALL',\n guard: ['=', '@entity.mode', 'multi'],\n effects: [['set', '@entity.selected', '@payload.ids']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR',\n effects: [\n ['set', '@entity.selected', []],\n ['set', '@entity.lastSelected', null],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-sort - Sorting\n// ============================================================================\n\nexport const SORT_BEHAVIOR: OrbitalSchema = {\n name: 'std-sort',\n version: '1.0.0',\n description: 'Sorting by field with direction toggle',\n orbitals: [\n {\n name: 'SortOrbital',\n entity: {\n name: 'SortState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'sortField', type: 'string', default: null },\n { name: 'sortDirection', type: 'string', default: 'asc' },\n { name: 'defaultField', type: 'string', default: null },\n { name: 'defaultDirection', type: 'string', default: 'asc' },\n ],\n },\n traits: [\n {\n name: 'Sort',\n linkedEntity: 'SortState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SORT', name: 'Sort' },\n { key: 'TOGGLE_DIRECTION', name: 'Toggle Direction' },\n { key: 'CLEAR_SORT', name: 'Clear Sort' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['set', '@entity.sortField', '@entity.defaultField'],\n ['set', '@entity.sortDirection', '@entity.defaultDirection'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['if', ['=', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ['do',\n ['set', '@entity.sortField', '@payload.field'],\n ['set', '@entity.sortDirection', 'asc']]],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'TOGGLE_DIRECTION',\n guard: ['!=', '@entity.sortField', null],\n effects: [\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_SORT',\n effects: [\n ['set', '@entity.sortField', null],\n ['set', '@entity.sortDirection', 'asc'],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Query Singleton Pattern for Filtering\n// ============================================================================\n\n/**\n * std-filter - Query Singleton pattern for explicit filtering.\n *\n * This behavior uses a singleton entity to hold filter state, making filtering\n * explicit in the schema rather than implicit in component behavior.\n */\nexport const FILTER_BEHAVIOR: OrbitalSchema = {\n name: 'std-filter',\n version: '1.0.0',\n description: 'Query Singleton pattern for explicit filtering - use with entity-table query prop',\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'QueryState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'status', type: 'string', default: null },\n { name: 'priority', type: 'string', default: null },\n { name: 'search', type: 'string', default: '' },\n { name: 'sortBy', type: 'string', default: 'createdAt' },\n { name: 'sortOrder', type: 'string', default: 'desc' },\n { name: 'entityType', type: 'string', default: '' },\n { name: 'filters', type: 'array', default: [] },\n { name: 'columns', type: 'array', default: [] },\n ],\n },\n traits: [\n {\n name: 'Filter',\n linkedEntity: 'QueryState',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'Active', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FILTER', name: 'Filter' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'SORT', name: 'Sort' },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n ],\n transitions: [\n {\n from: 'Active',\n to: 'Active',\n event: 'INIT',\n effects: [\n ['render-ui', 'sidebar', {\n type: 'filter-group',\n entity: '@entity.entityType',\n query: '@QueryState',\n filters: '@entity.filters',\n }],\n ['render-ui', 'main', {\n type: 'entity-table',\n entity: '@entity.entityType',\n query: '@QueryState',\n columns: '@entity.columns',\n }],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'FILTER',\n effects: [\n ['set', '@QueryState.status', '@payload.status'],\n ['set', '@QueryState.priority', '@payload.priority'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SEARCH',\n effects: [['set', '@QueryState.search', '@payload.searchTerm']],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'SORT',\n effects: [\n ['set', '@QueryState.sortBy', '@payload.field'],\n ['set', '@QueryState.sortOrder', '@payload.order'],\n ],\n },\n {\n from: 'Active',\n to: 'Active',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@QueryState.status', null],\n ['set', '@QueryState.priority', null],\n ['set', '@QueryState.search', ''],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// std-search - Search with Debounce\n// ============================================================================\n\n/**\n * std-search - Search with debounce.\n */\nexport const SEARCH_BEHAVIOR: OrbitalSchema = {\n name: 'std-search',\n version: '1.0.0',\n description: 'Search with debounce - updates QueryState.search field',\n orbitals: [\n {\n name: 'SearchOrbital',\n entity: {\n name: 'SearchState',\n persistence: 'runtime',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'search', type: 'string', default: '' },\n { name: 'isSearching', type: 'boolean', default: false },\n { name: 'minLength', type: 'number', default: 2 },\n { name: 'debounceMs', type: 'number', default: 300 },\n { name: 'placeholder', type: 'string', default: 'Search...' },\n ],\n },\n traits: [\n {\n name: 'Search',\n linkedEntity: 'SearchState',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'Idle', isInitial: true },\n { name: 'Searching' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SEARCH', name: 'Search' },\n { key: 'CLEAR_SEARCH', name: 'Clear Search' },\n { key: 'SEARCH_COMPLETE', name: 'Search Complete' },\n ],\n transitions: [\n {\n from: 'Idle',\n to: 'Idle',\n event: 'INIT',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ['render-ui', 'main', {\n type: 'search-input',\n query: '@SearchState',\n placeholder: '@entity.placeholder',\n }],\n ],\n },\n {\n from: 'Idle',\n to: 'Searching',\n event: 'SEARCH',\n guard: ['>=', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [\n ['set', '@entity.search', '@payload.term'],\n ['set', '@entity.isSearching', true],\n ['async/debounce', '@entity.debounceMs', ['emit', 'SEARCH_COMPLETE']],\n ],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'SEARCH',\n guard: ['<', ['str/len', '@payload.term'], '@entity.minLength'],\n effects: [['set', '@entity.search', '@payload.term']],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'SEARCH_COMPLETE',\n effects: [['set', '@entity.isSearching', false]],\n },\n {\n from: 'Idle',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n {\n from: 'Searching',\n to: 'Idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.search', ''],\n ['set', '@entity.isSearching', false],\n ],\n },\n ],\n },\n },\n ],\n pages: [],\n },\n ],\n};\n\n// ============================================================================\n// Export All Data Management Behaviors\n// ============================================================================\n\nexport const DATA_MANAGEMENT_BEHAVIORS: OrbitalSchema[] = [\n PAGINATION_BEHAVIOR,\n SELECTION_BEHAVIOR,\n SORT_BEHAVIOR,\n FILTER_BEHAVIOR,\n SEARCH_BEHAVIOR,\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["../../behaviors/data-management.ts"],"names":[],"mappings":"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","file":"data-management.js","sourcesContent":["/**\n * Data Management Behaviors\n *\n * Standard behaviors for data operations like pagination, selection,\n * sorting, filtering, and search.\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 * Molecule-first UI: all render-ui effects use atom/molecule compositions\n * (stack, typography, icon, button, badge, divider, data-grid, data-list,\n * search-input, meter, stats, form-section) instead of organism patterns.\n *\n * @packageDocumentation\n */\n\nimport type { BehaviorSchema, BehaviorEffect } from './types.js';\n\n// ============================================================================\n// Theme: data-zinc\n// ============================================================================\n\nconst DATA_ZINC_THEME = {\n name: 'data-zinc',\n tokens: {\n colors: {\n primary: '#3f3f46',\n 'primary-hover': '#27272a',\n 'primary-foreground': '#ffffff',\n accent: '#71717a',\n 'accent-foreground': '#ffffff',\n success: '#22c55e',\n warning: '#f59e0b',\n error: '#ef4444',\n },\n },\n};\n\n// ============================================================================\n// Shared render-ui effect fragments (extracted to avoid repetition)\n// ============================================================================\n\n/** Product main view: header + data-grid with refresh action */\nconst PRODUCT_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'database', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Products' },\n { type: 'badge', label: 'Paginated', variant: 'info' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm',\n children: [\n { type: 'stats', label: 'Page', value: '@entity.page' },\n { type: 'stats', label: 'Page Size', value: '@entity.pageSize' },\n { type: 'stats', label: 'Total', value: '@entity.totalItems' },\n { type: 'stats', label: 'Total Pages', value: '@entity.totalPages' },\n ],\n },\n { type: 'progress-bar', value: '@entity.page', max: '@entity.totalPages', label: 'Page Progress', icon: 'book-open' },\n {\n type: 'data-grid',\n entity: 'Product',\n columns: ['name', 'price'],\n itemActions: [{ label: 'Refresh', event: 'INIT' }],\n },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'center',\n children: [\n { type: 'button', label: 'Previous', action: 'PREV_PAGE', variant: 'secondary', icon: 'arrow-left' },\n { type: 'button', label: 'Next', action: 'NEXT_PAGE', variant: 'secondary', icon: 'arrow-right' },\n ],\n },\n ],\n}];\n\n/** File list main view: header + data-list with select/view actions */\nconst FILE_IDLE_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'folder', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Files' },\n ],\n },\n { type: 'divider' },\n {\n type: 'data-list',\n entity: 'File',\n fields: ['name', 'size'],\n itemActions: [\n { label: 'Select', event: 'SELECT' },\n { label: 'View', event: 'VIEW' },\n ],\n },\n ],\n}];\n\n/** File list main view when items are selected */\nconst FILE_SELECTED_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'folder', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Files' },\n { type: 'badge', label: 'Selected', variant: 'success' },\n ],\n },\n { type: 'divider' },\n {\n type: 'data-list',\n entity: 'File',\n fields: ['name', 'size', 'isSelected'],\n itemActions: [\n { label: 'Deselect', event: 'DESELECT' },\n { label: 'View', event: 'VIEW' },\n ],\n },\n ],\n}];\n\n/** File detail modal view */\nconst FILE_DETAIL_MODAL: BehaviorEffect = ['render-ui', 'modal', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'file', size: 'lg' },\n { type: 'typography', variant: 'h3', content: 'File Details' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'vertical', gap: 'sm',\n children: [\n { type: 'typography', variant: 'body', content: '@entity.name' },\n { type: 'stats', label: 'Size', value: '@entity.size' },\n ],\n },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', justify: 'end',\n children: [\n { type: 'button', label: 'Close', event: 'CLOSE', variant: 'secondary' },\n ],\n },\n ],\n}];\n\n/** Contact table main view: header + data-grid with sortable columns */\nconst CONTACT_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'table', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Contacts' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm',\n children: [\n { type: 'stats', label: 'Sort By', value: '@entity.sortField' },\n { type: 'stats', label: 'Direction', value: '@entity.sortDirection' },\n ],\n },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm',\n children: [\n { type: 'button', label: 'Sort by Name', event: 'SORT', variant: 'secondary', icon: 'arrow-up' },\n { type: 'button', label: 'Toggle Direction', event: 'TOGGLE_DIRECTION', variant: 'secondary', icon: 'filter' },\n { type: 'button', label: 'Clear Sort', event: 'CLEAR_SORT', variant: 'ghost', icon: 'x' },\n ],\n },\n {\n type: 'data-grid',\n entity: 'Contact',\n columns: ['name', 'email'],\n itemActions: [{ label: 'Refresh', event: 'INIT' }],\n },\n ],\n}];\n\n/** Task browsing main view: header + filter controls + data-grid */\nconst TASK_BROWSING_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'table', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Tasks' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm',\n children: [\n { type: 'badge', label: 'All', variant: 'primary', icon: 'filter' },\n { type: 'button', label: 'Filter', action: 'FILTER', variant: 'secondary', icon: 'filter' },\n { type: 'button', label: 'Clear Filters', action: 'CLEAR_FILTERS', variant: 'ghost', icon: 'x' },\n ],\n },\n {\n type: 'data-grid',\n entity: 'Task',\n columns: ['title', 'status', 'priority'],\n itemActions: [{ label: 'Refresh', event: 'INIT' }],\n },\n ],\n}];\n\n/** Task filtered main view: header + active filter badge + data-grid */\nconst TASK_FILTERED_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'filter', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Tasks' },\n { type: 'badge', label: 'Filtered', variant: 'warning' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm',\n children: [\n { type: 'badge', label: 'Filtered', variant: 'warning', icon: 'filter' },\n { type: 'badge', label: '@entity.status', variant: 'info' },\n { type: 'button', label: 'Change Filter', action: 'FILTER', variant: 'secondary', icon: 'filter' },\n { type: 'button', label: 'Clear Filters', action: 'CLEAR_FILTERS', variant: 'ghost', icon: 'x' },\n ],\n },\n {\n type: 'data-grid',\n entity: 'Task',\n columns: ['title', 'status', 'priority'],\n itemActions: [{ label: 'View', event: 'VIEW' }],\n },\n ],\n}];\n\n/** Article search idle view: header + search-input + data-list */\nconst ARTICLE_IDLE_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'search', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Search Articles' },\n ],\n },\n { type: 'divider' },\n { type: 'search-input', placeholder: 'Search articles...', event: 'SEARCH', icon: 'search' },\n {\n type: 'data-list',\n entity: 'Article',\n fields: ['title', 'content'],\n itemActions: [{ label: 'View', event: 'VIEW' }],\n },\n ],\n}];\n\n/** Article search active view: header + search-input + clear + data-list */\nconst ARTICLE_SEARCHING_MAIN_VIEW: BehaviorEffect = ['render-ui', 'main', {\n type: 'stack',\n direction: 'vertical',\n gap: 'md',\n children: [\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'icon', name: 'search', size: 'lg' },\n { type: 'typography', variant: 'h2', content: 'Search Articles' },\n { type: 'badge', label: 'Active Search', variant: 'info' },\n ],\n },\n { type: 'divider' },\n {\n type: 'stack', direction: 'horizontal', gap: 'sm', align: 'center',\n children: [\n { type: 'search-input', placeholder: 'Search articles...', event: 'SEARCH', icon: 'search' },\n { type: 'button', label: 'Clear', event: 'CLEAR_SEARCH', variant: 'ghost', icon: 'x' },\n ],\n },\n {\n type: 'data-list',\n entity: 'Article',\n fields: ['title', 'content'],\n itemActions: [{ label: 'View', event: 'VIEW' }],\n },\n ],\n}];\n\n// ============================================================================\n// std-pagination - Page Navigation\n// ============================================================================\n\n/**\n * std-pagination - Page navigation behavior for large data sets.\n * Uses a concrete Product entity to demonstrate paginated browsing.\n */\nexport const PAGINATION_BEHAVIOR: BehaviorSchema = {\n name: 'std-pagination',\n version: '1.0.0',\n description: 'Page-based navigation for large data sets',\n theme: DATA_ZINC_THEME,\n orbitals: [\n {\n name: 'PaginationOrbital',\n entity: {\n name: 'Product',\n persistence: 'persistent',\n collection: 'products',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'price', type: 'number', default: 0 },\n { name: 'page', type: 'number', default: 1 },\n { name: 'pageSize', type: 'number', default: 20 },\n { name: 'totalItems', type: 'number', default: 0 },\n { name: 'totalPages', type: 'number', default: 1 },\n ],\n },\n traits: [\n {\n name: 'PaginationControl',\n linkedEntity: 'Product',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'browsing', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'NEXT_PAGE', name: 'Next Page' },\n { key: 'PREV_PAGE', name: 'Previous Page' },\n { key: 'GO_TO_PAGE', name: 'Go to Page', payloadSchema: [{ name: 'page', type: 'number', required: true }] },\n { key: 'SET_PAGE_SIZE', name: 'Set Page Size', payloadSchema: [{ name: 'size', type: 'number', required: true }] },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.page', 1],\n PRODUCT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'NEXT_PAGE',\n guard: ['<', '@entity.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]],\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.page', ['+', '@entity.page', 1]],\n PRODUCT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'PREV_PAGE',\n guard: ['>', '@entity.page', 1],\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.page', ['-', '@entity.page', 1]],\n PRODUCT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'GO_TO_PAGE',\n guard: ['and',\n ['>=', '@payload.page', 1],\n ['<=', '@payload.page', ['math/ceil', ['/', '@entity.totalItems', '@entity.pageSize']]]],\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.page', '@payload.page'],\n PRODUCT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'SET_PAGE_SIZE',\n effects: [\n ['fetch', 'Product'],\n ['set', '@entity.pageSize', '@payload.size'],\n ['set', '@entity.page', 1],\n PRODUCT_MAIN_VIEW,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'ProductsPage',\n path: '/products',\n isInitial: true,\n traits: [{ ref: 'PaginationControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-selection - Single/Multi Selection\n// ============================================================================\n\n/**\n * std-selection - Selection management for entity lists.\n * Uses a concrete File entity to demonstrate single/multi selection.\n */\nexport const SELECTION_BEHAVIOR: BehaviorSchema = {\n name: 'std-selection',\n version: '1.0.0',\n description: 'Single or multi-selection management',\n theme: DATA_ZINC_THEME,\n orbitals: [\n {\n name: 'SelectionOrbital',\n entity: {\n name: 'File',\n persistence: 'persistent',\n collection: 'files',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'size', type: 'number', default: 0 },\n { name: 'isSelected', type: 'boolean', default: false },\n ],\n },\n traits: [\n {\n name: 'SelectionControl',\n linkedEntity: 'File',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'selected' },\n { name: 'viewing' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SELECT', name: 'Select', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'DESELECT', name: 'Deselect' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n { key: 'CLOSE', name: 'Close' },\n { key: 'CANCEL', name: 'Cancel' },\n ],\n transitions: [\n {\n from: 'idle',\n to: 'idle',\n event: 'INIT',\n effects: [\n ['fetch', 'File'],\n FILE_IDLE_MAIN_VIEW,\n ],\n },\n {\n from: 'idle',\n to: 'selected',\n event: 'SELECT',\n effects: [\n ['fetch', 'File'],\n ['set', '@entity.isSelected', true],\n FILE_SELECTED_MAIN_VIEW,\n ],\n },\n {\n from: 'selected',\n to: 'selected',\n event: 'SELECT',\n effects: [\n ['fetch', 'File'],\n ['set', '@entity.isSelected', true],\n FILE_SELECTED_MAIN_VIEW,\n ],\n },\n {\n from: 'selected',\n to: 'idle',\n event: 'DESELECT',\n effects: [\n ['fetch', 'File'],\n ['set', '@entity.isSelected', false],\n FILE_IDLE_MAIN_VIEW,\n ],\n },\n {\n from: 'idle',\n to: 'viewing',\n event: 'VIEW',\n effects: [\n ['fetch', 'File'],\n FILE_DETAIL_MODAL,\n ],\n },\n {\n from: 'selected',\n to: 'viewing',\n event: 'VIEW',\n effects: [\n ['fetch', 'File'],\n FILE_DETAIL_MODAL,\n ],\n },\n { from: 'viewing', to: 'idle', event: 'CLOSE', effects: [['render-ui', 'modal', null]] },\n { from: 'viewing', to: 'idle', event: 'CANCEL', effects: [['render-ui', 'modal', null]] },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'FilesPage',\n path: '/files',\n isInitial: true,\n traits: [{ ref: 'SelectionControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-sort - Sorting\n// ============================================================================\n\n/**\n * std-sort - Sorting behavior for entity lists.\n * Uses a concrete Contact entity to demonstrate sortable columns.\n */\nexport const SORT_BEHAVIOR: BehaviorSchema = {\n name: 'std-sort',\n version: '1.0.0',\n description: 'Sorting by field with direction toggle',\n theme: DATA_ZINC_THEME,\n orbitals: [\n {\n name: 'SortOrbital',\n entity: {\n name: 'Contact',\n persistence: 'persistent',\n collection: 'contacts',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'name', type: 'string', default: '' },\n { name: 'email', type: 'string', default: '' },\n { name: 'sortField', type: 'string', default: 'name' },\n { name: 'sortDirection', type: 'string', default: 'asc' },\n ],\n },\n traits: [\n {\n name: 'SortControl',\n linkedEntity: 'Contact',\n category: 'interaction',\n stateMachine: {\n states: [{ name: 'browsing', isInitial: true }],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SORT', name: 'Sort', payloadSchema: [{ name: 'field', type: 'string', required: true }] },\n { key: 'TOGGLE_DIRECTION', name: 'Toggle Direction' },\n { key: 'CLEAR_SORT', name: 'Clear Sort' },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Contact'],\n ['set', '@entity.sortField', 'name'],\n ['set', '@entity.sortDirection', 'asc'],\n CONTACT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'SORT',\n effects: [\n ['fetch', 'Contact'],\n ['set', '@entity.sortField', '@payload.field'],\n CONTACT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'TOGGLE_DIRECTION',\n effects: [\n ['fetch', 'Contact'],\n ['set', '@entity.sortDirection', ['if', ['=', '@entity.sortDirection', 'asc'], 'desc', 'asc']],\n CONTACT_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'browsing',\n event: 'CLEAR_SORT',\n effects: [\n ['fetch', 'Contact'],\n ['set', '@entity.sortField', 'name'],\n ['set', '@entity.sortDirection', 'asc'],\n CONTACT_MAIN_VIEW,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'ContactsPage',\n path: '/contacts',\n isInitial: true,\n traits: [{ ref: 'SortControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-filter - Query Singleton Pattern for Filtering\n// ============================================================================\n\n/**\n * std-filter - Filtering behavior for entity lists.\n * Uses a concrete Task entity to demonstrate filter and search operations.\n */\nexport const FILTER_BEHAVIOR: BehaviorSchema = {\n name: 'std-filter',\n version: '1.0.0',\n description: 'Query Singleton pattern for explicit filtering',\n theme: DATA_ZINC_THEME,\n orbitals: [\n {\n name: 'FilterOrbital',\n entity: {\n name: 'Task',\n persistence: 'persistent',\n collection: 'tasks',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'status', type: 'string', default: 'open' },\n { name: 'priority', type: 'string', default: 'medium' },\n ],\n },\n traits: [\n {\n name: 'FilterControl',\n linkedEntity: 'Task',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'browsing', isInitial: true },\n { name: 'filtered' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'FILTER', name: 'Filter', payloadSchema: [{ name: 'status', type: 'string', required: true }] },\n { key: 'CLEAR_FILTERS', name: 'Clear Filters' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'browsing',\n to: 'browsing',\n event: 'INIT',\n effects: [\n ['fetch', 'Task'],\n TASK_BROWSING_MAIN_VIEW,\n ],\n },\n {\n from: 'browsing',\n to: 'filtered',\n event: 'FILTER',\n effects: [\n ['fetch', 'Task'],\n ['set', '@entity.status', '@payload.status'],\n TASK_FILTERED_MAIN_VIEW,\n ],\n },\n {\n from: 'filtered',\n to: 'filtered',\n event: 'FILTER',\n effects: [\n ['fetch', 'Task'],\n ['set', '@entity.status', '@payload.status'],\n TASK_FILTERED_MAIN_VIEW,\n ],\n },\n {\n from: 'filtered',\n to: 'browsing',\n event: 'CLEAR_FILTERS',\n effects: [\n ['set', '@entity.status', 'open'],\n ['fetch', 'Task'],\n TASK_BROWSING_MAIN_VIEW,\n ],\n },\n // VIEW self-transitions\n {\n from: 'browsing',\n to: 'browsing',\n event: 'VIEW',\n effects: [\n ['fetch', 'Task'],\n TASK_BROWSING_MAIN_VIEW,\n ],\n },\n {\n from: 'filtered',\n to: 'filtered',\n event: 'VIEW',\n effects: [\n ['fetch', 'Task'],\n TASK_FILTERED_MAIN_VIEW,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'TasksPage',\n path: '/tasks',\n isInitial: true,\n traits: [{ ref: 'FilterControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// std-search - Search\n// ============================================================================\n\n/**\n * std-search - Search behavior for entity lists.\n * Uses a concrete Article entity to demonstrate search operations.\n */\nexport const SEARCH_BEHAVIOR: BehaviorSchema = {\n name: 'std-search',\n version: '1.0.0',\n description: 'Search behavior for entity lists',\n theme: DATA_ZINC_THEME,\n orbitals: [\n {\n name: 'SearchOrbital',\n entity: {\n name: 'Article',\n persistence: 'persistent',\n collection: 'articles',\n fields: [\n { name: 'id', type: 'string', required: true },\n { name: 'title', type: 'string', default: '' },\n { name: 'content', type: 'string', default: '' },\n { name: 'searchTerm', type: 'string', default: '' },\n ],\n },\n traits: [\n {\n name: 'SearchControl',\n linkedEntity: 'Article',\n category: 'interaction',\n stateMachine: {\n states: [\n { name: 'idle', isInitial: true },\n { name: 'searching' },\n ],\n events: [\n { key: 'INIT', name: 'Initialize' },\n { key: 'SEARCH', name: 'Search', payloadSchema: [{ name: 'term', type: 'string', required: true }] },\n { key: 'CLEAR_SEARCH', name: 'Clear Search' },\n { key: 'VIEW', name: 'View', payloadSchema: [{ name: 'id', type: 'string', required: true }] },\n ],\n transitions: [\n {\n from: 'idle',\n to: 'idle',\n event: 'INIT',\n effects: [\n ['fetch', 'Article'],\n ARTICLE_IDLE_MAIN_VIEW,\n ],\n },\n {\n from: 'idle',\n to: 'searching',\n event: 'SEARCH',\n effects: [\n ['fetch', 'Article'],\n ['set', '@entity.searchTerm', '@payload.term'],\n ARTICLE_SEARCHING_MAIN_VIEW,\n ],\n },\n {\n from: 'searching',\n to: 'searching',\n event: 'SEARCH',\n effects: [\n ['fetch', 'Article'],\n ['set', '@entity.searchTerm', '@payload.term'],\n ARTICLE_SEARCHING_MAIN_VIEW,\n ],\n },\n {\n from: 'searching',\n to: 'idle',\n event: 'CLEAR_SEARCH',\n effects: [\n ['set', '@entity.searchTerm', ''],\n ['fetch', 'Article'],\n ARTICLE_IDLE_MAIN_VIEW,\n ],\n },\n // VIEW self-transitions\n {\n from: 'idle',\n to: 'idle',\n event: 'VIEW',\n effects: [\n ['fetch', 'Article'],\n ARTICLE_IDLE_MAIN_VIEW,\n ],\n },\n {\n from: 'searching',\n to: 'searching',\n event: 'VIEW',\n effects: [\n ['fetch', 'Article'],\n ARTICLE_SEARCHING_MAIN_VIEW,\n ],\n },\n ],\n },\n },\n ],\n pages: [\n {\n name: 'ArticlesPage',\n path: '/articles',\n isInitial: true,\n traits: [{ ref: 'SearchControl' }],\n },\n ],\n },\n ],\n};\n\n// ============================================================================\n// Export All Data Management Behaviors\n// ============================================================================\n\nexport const DATA_MANAGEMENT_BEHAVIORS: BehaviorSchema[] = [\n PAGINATION_BEHAVIOR,\n SELECTION_BEHAVIOR,\n SORT_BEHAVIOR,\n FILTER_BEHAVIOR,\n SEARCH_BEHAVIOR,\n];\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BehaviorSchema } from '../types.js';
|
|
2
|
+
import '@almadar/core/types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Commerce Domain Behaviors
|
|
6
|
+
*
|
|
7
|
+
* Standard behaviors for e-commerce operations: shopping cart, checkout,
|
|
8
|
+
* product catalog, pricing rules, and order tracking.
|
|
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-cart - Shopping cart behavior.
|
|
21
|
+
* Entity: CartItem with name, price, quantity, productId.
|
|
22
|
+
* States: empty -> hasItems -> checkout. Add/remove items, proceed to checkout.
|
|
23
|
+
*/
|
|
24
|
+
declare const CART_BEHAVIOR: BehaviorSchema;
|
|
25
|
+
/**
|
|
26
|
+
* std-checkout - Wizard-like checkout flow.
|
|
27
|
+
* Entity: Order with total, status, shippingAddress, paymentMethod.
|
|
28
|
+
* States: shipping -> payment -> review -> confirmed.
|
|
29
|
+
*/
|
|
30
|
+
declare const CHECKOUT_BEHAVIOR: BehaviorSchema;
|
|
31
|
+
/**
|
|
32
|
+
* std-catalog - Product catalog with browsing and detail view.
|
|
33
|
+
* Entity: Product with name, description, price, category, inStock.
|
|
34
|
+
* States: browsing -> viewing -> filtering. Standard list+detail.
|
|
35
|
+
*/
|
|
36
|
+
declare const CATALOG_BEHAVIOR: BehaviorSchema;
|
|
37
|
+
/**
|
|
38
|
+
* std-pricing - Price rule management with CRUD operations.
|
|
39
|
+
* Entity: PriceRule with name, type, value, startDate, endDate.
|
|
40
|
+
* States: browsing -> editing -> previewing.
|
|
41
|
+
*/
|
|
42
|
+
declare const PRICING_BEHAVIOR: BehaviorSchema;
|
|
43
|
+
/**
|
|
44
|
+
* std-order-tracking - Read-only order tracking with list+detail view.
|
|
45
|
+
* Entity: OrderStatus with orderId, status, estimatedDelivery, trackingNumber.
|
|
46
|
+
* States: browsing -> viewing.
|
|
47
|
+
*/
|
|
48
|
+
declare const ORDER_TRACKING_BEHAVIOR: BehaviorSchema;
|
|
49
|
+
declare const COMMERCE_BEHAVIORS: BehaviorSchema[];
|
|
50
|
+
|
|
51
|
+
export { CART_BEHAVIOR, CATALOG_BEHAVIOR, CHECKOUT_BEHAVIOR, COMMERCE_BEHAVIORS, ORDER_TRACKING_BEHAVIOR, PRICING_BEHAVIOR };
|