@almadar/std 16.236.0 → 16.238.0
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/behaviors/behaviors-registry.json +57874 -1895
- package/behaviors/lolo/agent/atoms/std-agent-context.lolo +65 -134
- package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +162 -112
- package/behaviors/lolo/agent/atoms/std-agent-session.lolo +239 -115
- package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +96 -90
- package/behaviors/lolo/agent/atoms/std-agent-trace.lolo +133 -40
- package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +137 -0
- package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +7 -0
- package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +4 -17
- package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
- package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +26 -13
- package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +5 -0
- package/behaviors/lolo/ui/avl/atoms/ui-avl-glyph.lolo +90 -0
- package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +90 -0
- package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +80 -0
- package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +80 -0
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +12 -21
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -32
- package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +19 -11
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +42 -7
- package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +4 -16
- package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +3 -1
- package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +21 -13
- package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +12 -2
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +44 -10
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +35 -72
- package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +29 -14
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +8 -22
- package/behaviors/lolo/ui/core/atoms/std-list.lolo +28 -13
- package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +52 -14
- package/behaviors/lolo/ui/core/atoms/std-prose.lolo +7 -1
- package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +23 -8
- package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +139 -19
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +28 -20
- package/behaviors/lolo/ui/core/atoms/std-related.lolo +36 -25
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +20 -21
- package/behaviors/lolo/ui/core/atoms/std-scoped-list.lolo +143 -0
- package/behaviors/lolo/ui/core/atoms/std-selection.lolo +34 -14
- package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +1 -13
- package/behaviors/lolo/ui/core/atoms/std-slide-deck.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -16
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +24 -80
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +92 -31
- package/behaviors/lolo/ui/core/atoms/std-tree.lolo +18 -22
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +43 -83
- package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -39
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +20 -10
- package/behaviors/lolo/ui/core/atoms/ui-animated-graphic.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-animated-reveal.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +16 -0
- package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +16 -0
- package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +98 -13
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-card.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-center.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +112 -0
- package/behaviors/lolo/ui/core/atoms/ui-confetti-effect.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-dialog.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-divider.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +90 -10
- package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-image.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-input.lolo +11 -1
- package/behaviors/lolo/ui/core/atoms/ui-label.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-law-reference-tooltip.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-pattern-tile.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-progress-bar.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +106 -0
- package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +122 -0
- package/behaviors/lolo/ui/core/atoms/ui-section-header.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-select.lolo +95 -0
- package/behaviors/lolo/ui/core/atoms/ui-spacer.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-sparkline.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-spinner.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +90 -10
- package/behaviors/lolo/ui/core/atoms/ui-status-dot.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-branch.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-connection.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-lobe.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-mesh.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-morph.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-node.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-pulse.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-ring.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-shield.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-svg-stack.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +106 -0
- package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +122 -0
- package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +100 -0
- package/behaviors/lolo/ui/core/atoms/ui-theme-toggle.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +142 -0
- package/behaviors/lolo/ui/core/atoms/ui-trend-indicator.lolo +91 -1
- package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +90 -0
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +96 -6
- package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +90 -10
- package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-activation-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +95 -0
- package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-bloom-quiz-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-change-list.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart-legend.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +93 -3
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +202 -0
- package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +110 -4
- package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +123 -1
- package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-connection-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-container.lolo +92 -2
- package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +97 -7
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +144 -4
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +132 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +109 -3
- package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-breadcrumb.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-pagination.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-search.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-doc-toc.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +139 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-edge-decoration.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-error-boundary.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-feature-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-field.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +96 -6
- package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +131 -1
- package/behaviors/lolo/ui/core/molecules/ui-geometric-pattern.lolo +10 -0
- package/behaviors/lolo/ui/core/molecules/ui-gradient-divider.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +95 -0
- package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +95 -5
- package/behaviors/lolo/ui/core/molecules/ui-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-icon-button.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +93 -2
- package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-jazari-state-machine.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-line-chart.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-loading-state.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +91 -0
- package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-reflection-block.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-scaled-diagram.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-section.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +106 -0
- package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-skeleton.lolo +93 -3
- package/behaviors/lolo/ui/core/molecules/ui-social-proof.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-split.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +122 -0
- package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +138 -0
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +140 -3
- package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-tooltip.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-top-nav-item.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +91 -1
- package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +90 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +138 -0
- package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-code-runner-panel.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +355 -6
- package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-drawer-slot.lolo +10 -0
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +152 -8
- package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +162 -7
- package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +142 -1
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +141 -1
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +141 -1
- package/behaviors/lolo/ui/core/organisms/ui-master-detail-layout.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +123 -1
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +137 -1
- package/behaviors/lolo/ui/core/organisms/ui-modal-slot.lolo +10 -0
- package/behaviors/lolo/ui/core/organisms/ui-runtime-debugger.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +106 -0
- package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +130 -2
- package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +92 -2
- package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +91 -1
- package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +90 -0
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +152 -2
- package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +91 -1
- package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +81 -1
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +92 -2
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +1 -1
- package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +90 -0
- package/behaviors/lolo/ui/game/.hand-authored.json +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +95 -0
- package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +92 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +3 -3
- package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +91 -1
- package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-state-json-view.lolo +90 -0
- package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +123 -1
- package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +90 -0
- package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +112 -0
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +106 -0
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +106 -0
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +299 -826
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +858 -643
- package/behaviors/registry/agent/atoms/std-agent-session.orb +833 -770
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +505 -707
- package/behaviors/registry/agent/atoms/std-agent-trace.orb +680 -195
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +594 -0
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +70 -0
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +172 -299
- package/behaviors/registry/infra/atoms/std-migration-job.orb +26 -1
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +57 -14
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +9 -0
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +236 -0
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +236 -0
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +215 -0
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +215 -0
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +26 -18
- package/behaviors/registry/ui/core/atoms/std-board.orb +10 -34
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +32 -13
- package/behaviors/registry/ui/core/atoms/std-browse.orb +312 -20
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +8 -19
- package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +3 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +48 -11
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +28 -4
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +86 -14
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +68 -59
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +69 -12
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +16 -16
- package/behaviors/registry/ui/core/atoms/std-list.orb +59 -11
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +115 -14
- package/behaviors/registry/ui/core/atoms/std-prose.orb +14 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +79 -8
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +693 -69
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +112 -28
- package/behaviors/registry/ui/core/atoms/std-related.orb +82 -21
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +82 -18
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +993 -0
- package/behaviors/registry/ui/core/atoms/std-selection.orb +101 -12
- package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -16
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +2 -0
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +8 -8
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +48 -64
- package/behaviors/registry/ui/core/atoms/std-thread.orb +863 -141
- package/behaviors/registry/ui/core/atoms/std-tree.orb +40 -18
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +87 -69
- package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -54
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +70 -10
- package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +29 -0
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +29 -0
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-box.orb +231 -10
- package/behaviors/registry/ui/core/atoms/ui-button.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-card.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-center.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +260 -0
- package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-dialog.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-divider.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +225 -3
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-image.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-input.orb +21 -1
- package/behaviors/registry/ui/core/atoms/ui-label.orb +237 -1
- package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +252 -0
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +268 -0
- package/behaviors/registry/ui/core/atoms/ui-section-header.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-select.orb +243 -0
- package/behaviors/registry/ui/core/atoms/ui-spacer.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-spinner.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +225 -3
- package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-switch.orb +252 -0
- package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +268 -0
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +250 -0
- package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +384 -0
- package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +236 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +236 -0
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +236 -6
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +225 -3
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +243 -0
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-change-list.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +236 -3
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +348 -0
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +254 -4
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +268 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-container.orb +236 -2
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +241 -7
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +387 -2
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +351 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +253 -3
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +296 -0
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-flex.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-field.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +241 -6
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +296 -1
- package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +21 -0
- package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +243 -0
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +236 -5
- package/behaviors/registry/ui/core/molecules/ui-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +245 -2
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +253 -0
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-navigation.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +237 -1
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-section.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +252 -0
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +242 -2
- package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-split.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +268 -0
- package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +284 -0
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +425 -3
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +236 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +236 -0
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +284 -0
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1281 -16
- package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +21 -0
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +489 -27
- package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +444 -19
- package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +410 -0
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +312 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +312 -1
- package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +268 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +288 -1
- package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +21 -0
- package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +252 -0
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +326 -2
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +236 -2
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +236 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +236 -0
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +306 -5
- package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +236 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +215 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +236 -2
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +0 -1
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +243 -0
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +237 -1
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +237 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +0 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +0 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +0 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +0 -3
- package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +237 -1
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +236 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +236 -0
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +268 -1
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +236 -0
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +260 -0
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +252 -0
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +252 -0
- package/dist/behaviors/exports-reader.js +15164 -7081
- package/dist/behaviors/functions/index.d.ts +4293 -362
- package/dist/behaviors/functions/index.js +15134 -7043
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +15165 -7082
- package/dist/behaviors/query.js +15164 -7081
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +37 -33
- package/dist/behaviors-registry.json +57874 -1895
- package/dist/index.d.ts +1 -1
- package/dist/index.js +15165 -7082
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +14971 -255
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +4 -4
- package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +0 -301
- package/behaviors/registry/agent/organisms/std-agent-rabit.orb +0 -2181
|
@@ -42,8 +42,10 @@ orbital RecurrenceOrbital {
|
|
|
42
42
|
emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
|
|
43
43
|
})
|
|
44
44
|
(render-ui main {
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
type: stack
|
|
46
|
+
direction: vertical
|
|
47
|
+
gap: lg
|
|
48
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
47
49
|
})
|
|
48
50
|
RecurrenceLoaded -> viewing
|
|
49
51
|
(set @entity.frequency (object/get (array/first ?data) frequency weekly))
|
|
@@ -140,6 +142,10 @@ orbital RecurrenceOrbital {
|
|
|
140
142
|
}, {
|
|
141
143
|
entity: @entity.occurrences
|
|
142
144
|
fields: (title description date status)
|
|
145
|
+
titleField: "title"
|
|
146
|
+
descriptionField: "description"
|
|
147
|
+
dateField: "date"
|
|
148
|
+
statusField: "status"
|
|
143
149
|
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
144
150
|
look: @config.timelineLook
|
|
145
151
|
type: timeline
|
|
@@ -172,8 +178,10 @@ orbital RecurrenceOrbital {
|
|
|
172
178
|
emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
|
|
173
179
|
})
|
|
174
180
|
(render-ui main {
|
|
175
|
-
|
|
176
|
-
|
|
181
|
+
type: stack
|
|
182
|
+
direction: vertical
|
|
183
|
+
gap: lg
|
|
184
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
177
185
|
})
|
|
178
186
|
RecurrenceSaveFailed -> error
|
|
179
187
|
(set @entity.errorMessage ?error)
|
|
@@ -318,17 +326,15 @@ orbital RecurrenceOrbital {
|
|
|
318
326
|
(persist update RecurrenceView ?data {
|
|
319
327
|
emit: { failure: RecurrenceSaveFailed, success: RecurrenceSaved }
|
|
320
328
|
})
|
|
321
|
-
(render-ui main {
|
|
322
|
-
title: "Saving rule…"
|
|
323
|
-
type: loading-state
|
|
324
|
-
})
|
|
325
329
|
CANCEL_RULE -> loading
|
|
326
330
|
(fetch RecurrenceView {
|
|
327
331
|
emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
|
|
328
332
|
})
|
|
329
333
|
(render-ui main {
|
|
330
|
-
|
|
331
|
-
|
|
334
|
+
type: stack
|
|
335
|
+
direction: vertical
|
|
336
|
+
gap: lg
|
|
337
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
332
338
|
})
|
|
333
339
|
}
|
|
334
340
|
|
|
@@ -337,10 +343,6 @@ orbital RecurrenceOrbital {
|
|
|
337
343
|
(persist update RecurrenceView { id: ?id, status: skipped } {
|
|
338
344
|
emit: { failure: RecurrenceSaveFailed, success: RecurrenceSaved }
|
|
339
345
|
})
|
|
340
|
-
(render-ui main {
|
|
341
|
-
title: "Skipping…"
|
|
342
|
-
type: loading-state
|
|
343
|
-
})
|
|
344
346
|
RESCHEDULE_OCCURRENCE -> loading
|
|
345
347
|
(set @entity.rescheduleDate ?newDate)
|
|
346
348
|
(persist update RecurrenceView {
|
|
@@ -359,8 +361,10 @@ orbital RecurrenceOrbital {
|
|
|
359
361
|
emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
|
|
360
362
|
})
|
|
361
363
|
(render-ui main {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
+
type: stack
|
|
365
|
+
direction: vertical
|
|
366
|
+
gap: lg
|
|
367
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
364
368
|
})
|
|
365
369
|
}
|
|
366
370
|
|
|
@@ -370,16 +374,20 @@ orbital RecurrenceOrbital {
|
|
|
370
374
|
emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
|
|
371
375
|
})
|
|
372
376
|
(render-ui main {
|
|
373
|
-
|
|
374
|
-
|
|
377
|
+
type: stack
|
|
378
|
+
direction: vertical
|
|
379
|
+
gap: lg
|
|
380
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
375
381
|
})
|
|
376
382
|
}
|
|
377
383
|
|
|
378
384
|
state error {
|
|
379
385
|
INIT -> loading
|
|
380
386
|
(render-ui main {
|
|
381
|
-
|
|
382
|
-
|
|
387
|
+
type: stack
|
|
388
|
+
direction: vertical
|
|
389
|
+
gap: lg
|
|
390
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
383
391
|
})
|
|
384
392
|
}
|
|
385
393
|
|
|
@@ -33,17 +33,10 @@ orbital RelatedItemOrbital {
|
|
|
33
33
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
34
34
|
})
|
|
35
35
|
(render-ui main {
|
|
36
|
-
align: center
|
|
37
|
-
children: [{ type: spinner }, {
|
|
38
|
-
color: muted
|
|
39
|
-
content: "Loading related…"
|
|
40
|
-
type: typography
|
|
41
|
-
variant: caption
|
|
42
|
-
}]
|
|
43
|
-
className: py-8
|
|
44
|
-
direction: vertical
|
|
45
|
-
gap: sm
|
|
46
36
|
type: stack
|
|
37
|
+
direction: vertical
|
|
38
|
+
gap: lg
|
|
39
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
47
40
|
})
|
|
48
41
|
SHOW_RELATED -> loading
|
|
49
42
|
(fetch RelatedItem {
|
|
@@ -51,17 +44,10 @@ orbital RelatedItemOrbital {
|
|
|
51
44
|
filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
|
|
52
45
|
})
|
|
53
46
|
(render-ui main {
|
|
54
|
-
align: center
|
|
55
|
-
children: [{ type: spinner }, {
|
|
56
|
-
color: muted
|
|
57
|
-
content: "Loading related…"
|
|
58
|
-
type: typography
|
|
59
|
-
variant: caption
|
|
60
|
-
}]
|
|
61
|
-
className: py-8
|
|
62
|
-
direction: vertical
|
|
63
|
-
gap: sm
|
|
64
47
|
type: stack
|
|
48
|
+
direction: vertical
|
|
49
|
+
gap: lg
|
|
50
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
65
51
|
})
|
|
66
52
|
RelatedItemLoaded -> loaded
|
|
67
53
|
(render-ui main {
|
|
@@ -140,7 +126,12 @@ orbital RelatedItemOrbital {
|
|
|
140
126
|
(fetch RelatedItem {
|
|
141
127
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
142
128
|
})
|
|
143
|
-
(render-ui main {
|
|
129
|
+
(render-ui main {
|
|
130
|
+
type: stack
|
|
131
|
+
direction: vertical
|
|
132
|
+
gap: lg
|
|
133
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
134
|
+
})
|
|
144
135
|
SELECT_RELATED -> loaded
|
|
145
136
|
(set @entity.id ?id)
|
|
146
137
|
SHOW_RELATED -> loading
|
|
@@ -148,7 +139,12 @@ orbital RelatedItemOrbital {
|
|
|
148
139
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
149
140
|
filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
|
|
150
141
|
})
|
|
151
|
-
(render-ui main {
|
|
142
|
+
(render-ui main {
|
|
143
|
+
type: stack
|
|
144
|
+
direction: vertical
|
|
145
|
+
gap: lg
|
|
146
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
147
|
+
})
|
|
152
148
|
}
|
|
153
149
|
|
|
154
150
|
state error {
|
|
@@ -156,20 +152,35 @@ orbital RelatedItemOrbital {
|
|
|
156
152
|
(fetch RelatedItem {
|
|
157
153
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
158
154
|
})
|
|
159
|
-
(render-ui main {
|
|
155
|
+
(render-ui main {
|
|
156
|
+
type: stack
|
|
157
|
+
direction: vertical
|
|
158
|
+
gap: lg
|
|
159
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
160
|
+
})
|
|
160
161
|
;; the error screen's Retry button: INIT is lifecycle-only and the bus never
|
|
161
162
|
;; delivers it, so the affordance must target a first-class user event
|
|
162
163
|
RETRY -> loading
|
|
163
164
|
(fetch RelatedItem {
|
|
164
165
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
165
166
|
})
|
|
166
|
-
(render-ui main {
|
|
167
|
+
(render-ui main {
|
|
168
|
+
type: stack
|
|
169
|
+
direction: vertical
|
|
170
|
+
gap: lg
|
|
171
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
172
|
+
})
|
|
167
173
|
SHOW_RELATED -> loading
|
|
168
174
|
(fetch RelatedItem {
|
|
169
175
|
emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
|
|
170
176
|
filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
|
|
171
177
|
})
|
|
172
|
-
(render-ui main {
|
|
178
|
+
(render-ui main {
|
|
179
|
+
type: stack
|
|
180
|
+
direction: vertical
|
|
181
|
+
gap: lg
|
|
182
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
183
|
+
})
|
|
173
184
|
}
|
|
174
185
|
|
|
175
186
|
emits {
|
|
@@ -33,17 +33,10 @@ orbital SavedSearchOrbital {
|
|
|
33
33
|
emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
|
|
34
34
|
})
|
|
35
35
|
(render-ui main {
|
|
36
|
-
align: center
|
|
37
|
-
children: [{ type: spinner }, {
|
|
38
|
-
color: muted
|
|
39
|
-
content: "Loading saved searches…"
|
|
40
|
-
type: typography
|
|
41
|
-
variant: caption
|
|
42
|
-
}]
|
|
43
|
-
className: py-12
|
|
44
|
-
direction: vertical
|
|
45
|
-
gap: md
|
|
46
36
|
type: stack
|
|
37
|
+
direction: vertical
|
|
38
|
+
gap: lg
|
|
39
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
47
40
|
})
|
|
48
41
|
SavedSearchLoaded -> browsing
|
|
49
42
|
(render-ui main {
|
|
@@ -77,6 +70,7 @@ orbital SavedSearchOrbital {
|
|
|
77
70
|
variant: badge
|
|
78
71
|
}]
|
|
79
72
|
gap: sm
|
|
73
|
+
itemClickEvent: @config.itemClickEvent
|
|
80
74
|
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
81
75
|
look: @config.tableLook
|
|
82
76
|
type: data-grid
|
|
@@ -99,17 +93,10 @@ orbital SavedSearchOrbital {
|
|
|
99
93
|
emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
|
|
100
94
|
})
|
|
101
95
|
(render-ui main {
|
|
102
|
-
align: center
|
|
103
|
-
children: [{ type: spinner }, {
|
|
104
|
-
color: muted
|
|
105
|
-
content: "Loading saved searches…"
|
|
106
|
-
type: typography
|
|
107
|
-
variant: caption
|
|
108
|
-
}]
|
|
109
|
-
className: py-12
|
|
110
|
-
direction: vertical
|
|
111
|
-
gap: md
|
|
112
96
|
type: stack
|
|
97
|
+
direction: vertical
|
|
98
|
+
gap: lg
|
|
99
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
113
100
|
})
|
|
114
101
|
TOGGLE_ALERT -> browsing
|
|
115
102
|
(set @entity.id ?id)
|
|
@@ -158,10 +145,12 @@ orbital SavedSearchOrbital {
|
|
|
158
145
|
}, { type: divider }, {
|
|
159
146
|
action: RENAME
|
|
160
147
|
placeholder: Name
|
|
148
|
+
label: "Saved search name"
|
|
161
149
|
type: input
|
|
162
150
|
value: @entity.name
|
|
163
151
|
}, {
|
|
164
152
|
action: CHANGE_FREQUENCY
|
|
153
|
+
aria-label: "Alert frequency"
|
|
165
154
|
options: [{ label: Instant, value: instant }, { label: Daily, value: daily }, { label: Weekly, value: weekly }]
|
|
166
155
|
placeholder: "Alert frequency"
|
|
167
156
|
type: select
|
|
@@ -234,7 +223,12 @@ orbital SavedSearchOrbital {
|
|
|
234
223
|
(fetch SavedSearch {
|
|
235
224
|
emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
|
|
236
225
|
})
|
|
237
|
-
(render-ui main {
|
|
226
|
+
(render-ui main {
|
|
227
|
+
type: stack
|
|
228
|
+
direction: vertical
|
|
229
|
+
gap: lg
|
|
230
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
|
|
231
|
+
})
|
|
238
232
|
}
|
|
239
233
|
|
|
240
234
|
emits {
|
|
@@ -253,6 +247,7 @@ orbital SavedSearchOrbital {
|
|
|
253
247
|
@tier "presentation"
|
|
254
248
|
EDIT {
|
|
255
249
|
id : string!
|
|
250
|
+
row : SavedSearch
|
|
256
251
|
}
|
|
257
252
|
@description "Indicates a saved search is being modified."
|
|
258
253
|
@synonyms "modify, update, change"
|
|
@@ -405,6 +400,10 @@ orbital SavedSearchOrbital {
|
|
|
405
400
|
@label "Default saved-search name"
|
|
406
401
|
@description "Name given to a saved search when the current search has no query text (filters only). Renamable afterwards."
|
|
407
402
|
@tier "presentation"
|
|
403
|
+
itemClickEvent : event = EDIT
|
|
404
|
+
@label "Row click"
|
|
405
|
+
@description "Event emitted when a row is clicked; opens the saved search for editing. Empty disables the row click."
|
|
406
|
+
@tier "presentation"
|
|
408
407
|
itemActions : [ItemAction] = [{
|
|
409
408
|
event: TOGGLE_ALERT
|
|
410
409
|
icon: bell
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
app std-scoped-list "1.0.0"
|
|
2
|
+
"std-scoped-list — the rows that belong to one parent record, scoped at runtime. SET_SCOPE { value } (forward the parent's own loaded event, e.g. a detail page's `TaskDetailLoaded -> SET_SCOPE with { value: ?data.id }`) lists only the rows whose `scopeField` equals that value; the scope is kept, so a later INIT (a reload after a row is created, edited or removed) lists the same parent's rows again. Before a scope arrives the list shows every row, or with `whenUnscoped: nothing` its empty state. Rows render through data-list (fields, row actions filtered by viewerRole, click event, sortBy). Opt in where a list must follow a parent picked elsewhere on the page: the bound entity carries the scope as an @intrinsic field — std-browse stays the general list."
|
|
3
|
+
|
|
4
|
+
type FieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent }
|
|
5
|
+
type ItemAction = { label : string!, event : event, variant : primary | secondary | ghost | danger, icon : string, roles : [string] }
|
|
6
|
+
|
|
7
|
+
orbital ScopedListOrbital {
|
|
8
|
+
type ScopedListLoaded = Event { data : [ScopedListItem] } "Fired when the scoped rows finish loading"
|
|
9
|
+
type ScopedListLoadFailed = Event { error : string } "Fired when the scoped rows fail to load"
|
|
10
|
+
|
|
11
|
+
entity ScopedListItem [runtime] {
|
|
12
|
+
id : string!
|
|
13
|
+
name : string! @description "The row's title." @synonyms "title, label"
|
|
14
|
+
parentId : string @description "The parent record this row belongs to (the default scopeField)." @synonyms "parent, owner id" = ""
|
|
15
|
+
scopeValue : string @intrinsic @description "The parent the list is scoped to; blank until SET_SCOPE." = ""
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
trait ScopedListBrowse -> @rebindable ScopedListItem [interaction, collection] {
|
|
19
|
+
initial: listing
|
|
20
|
+
|
|
21
|
+
state listing {
|
|
22
|
+
INIT -> listing
|
|
23
|
+
(fetch ScopedListItem {
|
|
24
|
+
emit: { failure: ScopedListLoadFailed, success: ScopedListLoaded }
|
|
25
|
+
filter: (or (and ["=", (str/default @entity.scopeValue ""), ""] ["=", @config.whenUnscoped, "everything"]) (and ["!=", (str/default @entity.scopeValue ""), ""] ["=", (object/get @entity @config.scopeField), @entity.scopeValue]))
|
|
26
|
+
})
|
|
27
|
+
SET_SCOPE -> listing
|
|
28
|
+
(set @entity.scopeValue ?value)
|
|
29
|
+
(fetch ScopedListItem {
|
|
30
|
+
emit: { failure: ScopedListLoadFailed, success: ScopedListLoaded }
|
|
31
|
+
filter: (or (and ["=", ?value, ""] ["=", @config.whenUnscoped, "everything"]) (and ["!=", ?value, ""] ["=", (object/get @entity @config.scopeField), ?value]))
|
|
32
|
+
})
|
|
33
|
+
ScopedListLoaded -> listing
|
|
34
|
+
(render-ui main {
|
|
35
|
+
entity: ?data
|
|
36
|
+
fields: @config.fields
|
|
37
|
+
itemActions: (array/filter @config.itemActions (fn item (or (= (array/len (object/get @item roles [])) 0) (array/includes (object/get @item roles []) @config.viewerRole))))
|
|
38
|
+
itemClickEvent: @config.itemClickEvent
|
|
39
|
+
sortBy: @config.sortBy
|
|
40
|
+
sortDirection: @config.sortDirection
|
|
41
|
+
emptyTitle: @config.emptyTitle
|
|
42
|
+
emptyDescription: @config.emptyDescription
|
|
43
|
+
emptyIcon: @config.emptyIcon
|
|
44
|
+
gap: @config.gap
|
|
45
|
+
type: data-list
|
|
46
|
+
})
|
|
47
|
+
ScopedListLoadFailed -> listing
|
|
48
|
+
(render-ui main { message: ?error, title: "Couldn't load this list", type: alert, variant: error })
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
emits {
|
|
52
|
+
ScopedListLoaded -> external {
|
|
53
|
+
data : [ScopedListItem]
|
|
54
|
+
}
|
|
55
|
+
@description "The scoped rows loaded; mirror them in another view (e.g. a sortable list)."
|
|
56
|
+
@synonyms "loaded, rows ready"
|
|
57
|
+
@tier "domain"
|
|
58
|
+
ScopedListLoadFailed -> internal {
|
|
59
|
+
error : string
|
|
60
|
+
}
|
|
61
|
+
@tier "internal"
|
|
62
|
+
VIEW -> external {
|
|
63
|
+
id : string!
|
|
64
|
+
row : ScopedListItem!
|
|
65
|
+
}
|
|
66
|
+
@description "A row was opened."
|
|
67
|
+
@synonyms "open, view, select"
|
|
68
|
+
@tier "presentation"
|
|
69
|
+
EDIT -> external {
|
|
70
|
+
id : string!
|
|
71
|
+
row : ScopedListItem!
|
|
72
|
+
}
|
|
73
|
+
@description "A row's edit action was chosen."
|
|
74
|
+
@synonyms "edit, change"
|
|
75
|
+
@tier "presentation"
|
|
76
|
+
DELETE -> external {
|
|
77
|
+
id : string!
|
|
78
|
+
row : ScopedListItem!
|
|
79
|
+
}
|
|
80
|
+
@description "A row's delete action was chosen."
|
|
81
|
+
@synonyms "remove, delete"
|
|
82
|
+
@tier "presentation"
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
listens {
|
|
86
|
+
SET_SCOPE {
|
|
87
|
+
value : string!
|
|
88
|
+
}
|
|
89
|
+
@description "Scope the list to the rows of this parent; kept for later reloads."
|
|
90
|
+
@synonyms "scope, select parent, open parent"
|
|
91
|
+
@tier "domain"
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
config {
|
|
95
|
+
scopeField : string = "parentId"
|
|
96
|
+
@label "Which field names the parent?"
|
|
97
|
+
@description "The row field holding the parent's id; SET_SCOPE's value is matched against it."
|
|
98
|
+
@synonyms "parent field, foreign key, owner field"
|
|
99
|
+
@tier "domain"
|
|
100
|
+
whenUnscoped : "everything" | "nothing" = everything
|
|
101
|
+
@label "What does the list show before a parent is picked?"
|
|
102
|
+
@description "everything = every row until SET_SCOPE narrows it; nothing = the empty state, so a detail page never shows other parents' rows while it loads."
|
|
103
|
+
@synonyms "unscoped, before selection, default scope"
|
|
104
|
+
@tier "policy"
|
|
105
|
+
fields : [FieldSpec] = [{ name: name, label: Name, variant: h4 }]
|
|
106
|
+
@label "Which fields does each row show?"
|
|
107
|
+
@tier "presentation"
|
|
108
|
+
itemActions : [ItemAction] = []
|
|
109
|
+
@label "Row actions"
|
|
110
|
+
@description "Actions offered on each row; give an item `roles` to show it only to those viewer roles."
|
|
111
|
+
@tier "presentation"
|
|
112
|
+
itemClickEvent : event = VIEW
|
|
113
|
+
@label "Event a row click fires"
|
|
114
|
+
@tier "presentation"
|
|
115
|
+
viewerRole : string = ""
|
|
116
|
+
@label "Viewer's role"
|
|
117
|
+
@description "The signed-in viewer's role that each action's `roles` is checked against (e.g. `viewerRole: @user.role`)."
|
|
118
|
+
@tier "policy"
|
|
119
|
+
sortBy : string = ""
|
|
120
|
+
@label "Sort rows by"
|
|
121
|
+
@description "Field the rows are ordered by; blank keeps the stored order."
|
|
122
|
+
@synonyms "order by, sort field"
|
|
123
|
+
@tier "presentation"
|
|
124
|
+
sortDirection : "asc" | "desc" = asc
|
|
125
|
+
@label "Sort direction"
|
|
126
|
+
@tier "presentation"
|
|
127
|
+
emptyTitle : string = "Nothing here yet"
|
|
128
|
+
@label "Empty-state title"
|
|
129
|
+
@tier "presentation"
|
|
130
|
+
emptyDescription : string = ""
|
|
131
|
+
@label "Empty-state description"
|
|
132
|
+
@tier "presentation"
|
|
133
|
+
emptyIcon : icon = inbox
|
|
134
|
+
@label "Empty-state icon"
|
|
135
|
+
@tier "presentation"
|
|
136
|
+
gap : "none" | "sm" | "md" | "lg" = sm
|
|
137
|
+
@label "Gap between rows"
|
|
138
|
+
@tier "presentation"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
page "/scoped-list" as ScopedListPage -> ScopedListBrowse
|
|
143
|
+
}
|
|
@@ -24,17 +24,10 @@ orbital SelectableItemOrbital {
|
|
|
24
24
|
emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
|
|
25
25
|
})
|
|
26
26
|
(render-ui main {
|
|
27
|
-
align: center
|
|
28
|
-
children: [{ type: spinner }, {
|
|
29
|
-
color: muted
|
|
30
|
-
content: "Loading…"
|
|
31
|
-
type: typography
|
|
32
|
-
variant: caption
|
|
33
|
-
}]
|
|
34
|
-
className: py-12
|
|
35
|
-
direction: vertical
|
|
36
|
-
gap: md
|
|
37
27
|
type: stack
|
|
28
|
+
direction: vertical
|
|
29
|
+
gap: lg
|
|
30
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
38
31
|
})
|
|
39
32
|
SelectableItemLoaded -> idle
|
|
40
33
|
(render-ui main {
|
|
@@ -87,6 +80,7 @@ orbital SelectableItemOrbital {
|
|
|
87
80
|
className: "transition-shadow hover:shadow-md cursor-pointer"
|
|
88
81
|
entity: ?data
|
|
89
82
|
fields: []
|
|
83
|
+
itemClickEvent: @config.itemClickEvent
|
|
90
84
|
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
91
85
|
look: @config.tableLook
|
|
92
86
|
pageSize: @config.displayPageSize
|
|
@@ -217,6 +211,7 @@ orbital SelectableItemOrbital {
|
|
|
217
211
|
className: "transition-shadow hover:shadow-md cursor-pointer"
|
|
218
212
|
entity: ?data
|
|
219
213
|
fields: []
|
|
214
|
+
itemClickEvent: @config.itemClickEvent
|
|
220
215
|
itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
221
216
|
look: @config.tableLook
|
|
222
217
|
pageSize: @config.displayPageSize
|
|
@@ -340,7 +335,12 @@ orbital SelectableItemOrbital {
|
|
|
340
335
|
(fetch SelectableItem {
|
|
341
336
|
emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
|
|
342
337
|
})
|
|
343
|
-
(render-ui main {
|
|
338
|
+
(render-ui main {
|
|
339
|
+
type: stack
|
|
340
|
+
direction: vertical
|
|
341
|
+
gap: lg
|
|
342
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
343
|
+
})
|
|
344
344
|
}
|
|
345
345
|
|
|
346
346
|
state selected {
|
|
@@ -348,7 +348,12 @@ orbital SelectableItemOrbital {
|
|
|
348
348
|
(fetch SelectableItem {
|
|
349
349
|
emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
|
|
350
350
|
})
|
|
351
|
-
(render-ui main {
|
|
351
|
+
(render-ui main {
|
|
352
|
+
type: stack
|
|
353
|
+
direction: vertical
|
|
354
|
+
gap: lg
|
|
355
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
356
|
+
})
|
|
352
357
|
}
|
|
353
358
|
|
|
354
359
|
state error {
|
|
@@ -356,14 +361,24 @@ orbital SelectableItemOrbital {
|
|
|
356
361
|
(fetch SelectableItem {
|
|
357
362
|
emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
|
|
358
363
|
})
|
|
359
|
-
(render-ui main {
|
|
364
|
+
(render-ui main {
|
|
365
|
+
type: stack
|
|
366
|
+
direction: vertical
|
|
367
|
+
gap: lg
|
|
368
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
369
|
+
})
|
|
360
370
|
;; the error screen's Retry button: INIT is lifecycle-only and the bus never
|
|
361
371
|
;; delivers it, so the affordance must target a first-class user event
|
|
362
372
|
RETRY -> loading
|
|
363
373
|
(fetch SelectableItem {
|
|
364
374
|
emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
|
|
365
375
|
})
|
|
366
|
-
(render-ui main {
|
|
376
|
+
(render-ui main {
|
|
377
|
+
type: stack
|
|
378
|
+
direction: vertical
|
|
379
|
+
gap: lg
|
|
380
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
|
|
381
|
+
})
|
|
367
382
|
}
|
|
368
383
|
|
|
369
384
|
emits {
|
|
@@ -380,6 +395,7 @@ orbital SelectableItemOrbital {
|
|
|
380
395
|
listens {
|
|
381
396
|
SELECT {
|
|
382
397
|
id : string!
|
|
398
|
+
row : SelectableItem
|
|
383
399
|
}
|
|
384
400
|
@description "Indicates an item has been chosen."
|
|
385
401
|
@synonyms "chosen, picked, highlighted"
|
|
@@ -460,6 +476,10 @@ orbital SelectableItemOrbital {
|
|
|
460
476
|
@description "Rows visible per page before the data-grid's own pagination control appears — 20 matches the pick-list density sweet spot (Miller's law, 10-25 rows)."
|
|
461
477
|
@synonyms "visible rows, items per page, display limit, show per page"
|
|
462
478
|
@tier "presentation"
|
|
479
|
+
itemClickEvent : event = SELECT
|
|
480
|
+
@label "Row click"
|
|
481
|
+
@description "Event emitted when a row is clicked; clicking a row selects it. Empty disables the row click."
|
|
482
|
+
@tier "presentation"
|
|
463
483
|
itemActions : [ItemAction] = [{
|
|
464
484
|
event: SELECT
|
|
465
485
|
icon: check
|
|
@@ -27,19 +27,7 @@ orbital SignatureCaptureOrbital {
|
|
|
27
27
|
(fetch Signature {
|
|
28
28
|
emit: { failure: SignatureLoadFailed, success: SignatureLoaded }
|
|
29
29
|
})
|
|
30
|
-
(render-ui main {
|
|
31
|
-
align: center
|
|
32
|
-
children: [{ type: spinner }, {
|
|
33
|
-
color: muted
|
|
34
|
-
content: "Loading…"
|
|
35
|
-
type: typography
|
|
36
|
-
variant: caption
|
|
37
|
-
}]
|
|
38
|
-
className: py-12
|
|
39
|
-
direction: vertical
|
|
40
|
-
gap: md
|
|
41
|
-
type: stack
|
|
42
|
-
})
|
|
30
|
+
(render-ui main { type: skeleton, variant: card })
|
|
43
31
|
SignatureLoaded -> idle
|
|
44
32
|
(render-ui main {
|
|
45
33
|
children: [{
|
|
@@ -81,9 +81,9 @@ orbital SlideDeckOrbital {
|
|
|
81
81
|
gap: md
|
|
82
82
|
align: center
|
|
83
83
|
children: [
|
|
84
|
-
(array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.prevIcon, action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (- @entity.slideIndex 1) 0 @n) (math/max 0 (- @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (<= @entity.slideIndex 0)) } null))),
|
|
84
|
+
(array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.prevIcon, aria-label: "Previous slide", action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (- @entity.slideIndex 1) 0 @n) (math/max 0 (- @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (<= @entity.slideIndex 0)) } null))),
|
|
85
85
|
{ type: center, className: "flex-1 min-w-0", minHeight: @config.stageMinHeight, children: (array/map [@entity.slideIndex] (fn i { type: box, className: "w-full", children: [(array/nth @config.slides @i)] })) },
|
|
86
|
-
(array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.nextIcon, action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (+ @entity.slideIndex 1) 0 @n) (math/min (- @n 1) (+ @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (>= @entity.slideIndex (- @n 1))) } null)))
|
|
86
|
+
(array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.nextIcon, aria-label: "Next slide", action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (+ @entity.slideIndex 1) 0 @n) (math/min (- @n 1) (+ @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (>= @entity.slideIndex (- @n 1))) } null)))
|
|
87
87
|
]
|
|
88
88
|
}, (if @config.showProgress {
|
|
89
89
|
type: stack
|
|
@@ -40,10 +40,7 @@ orbital StepFlowOrbital {
|
|
|
40
40
|
(fetch StepFlowView {
|
|
41
41
|
emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
|
|
42
42
|
})
|
|
43
|
-
(render-ui main {
|
|
44
|
-
title: "Loading review…"
|
|
45
|
-
type: loading-state
|
|
46
|
-
})
|
|
43
|
+
(render-ui main { type: skeleton, variant: card })
|
|
47
44
|
StepItemsLoaded -> running
|
|
48
45
|
(set @entity.id (object/get (array/nth ?data 0) id))
|
|
49
46
|
(set @entity.currentStepIndex 0)
|
|
@@ -270,10 +267,7 @@ orbital StepFlowOrbital {
|
|
|
270
267
|
(fetch StepFlowView {
|
|
271
268
|
emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
|
|
272
269
|
})
|
|
273
|
-
(render-ui main {
|
|
274
|
-
title: "Restarting…"
|
|
275
|
-
type: loading-state
|
|
276
|
-
})
|
|
270
|
+
(render-ui main { type: skeleton, variant: card })
|
|
277
271
|
}
|
|
278
272
|
|
|
279
273
|
state rejected {
|
|
@@ -284,10 +278,7 @@ orbital StepFlowOrbital {
|
|
|
284
278
|
(fetch StepFlowView {
|
|
285
279
|
emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
|
|
286
280
|
})
|
|
287
|
-
(render-ui main {
|
|
288
|
-
title: "Restarting…"
|
|
289
|
-
type: loading-state
|
|
290
|
-
})
|
|
281
|
+
(render-ui main { type: skeleton, variant: card })
|
|
291
282
|
}
|
|
292
283
|
|
|
293
284
|
state escalated {
|
|
@@ -297,10 +288,7 @@ orbital StepFlowOrbital {
|
|
|
297
288
|
(fetch StepFlowView {
|
|
298
289
|
emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
|
|
299
290
|
})
|
|
300
|
-
(render-ui main {
|
|
301
|
-
title: "Restarting…"
|
|
302
|
-
type: loading-state
|
|
303
|
-
})
|
|
291
|
+
(render-ui main { type: skeleton, variant: card })
|
|
304
292
|
}
|
|
305
293
|
|
|
306
294
|
state error {
|