@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
|
@@ -44,8 +44,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
44
44
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
45
45
|
})
|
|
46
46
|
(render-ui main {
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
type: stack
|
|
48
|
+
direction: vertical
|
|
49
|
+
gap: lg
|
|
50
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
49
51
|
})
|
|
50
52
|
FlowLoaded -> awaiting
|
|
51
53
|
(set @entity.currentPartyIndex 0)
|
|
@@ -259,6 +261,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
259
261
|
}, {
|
|
260
262
|
entity: @entity.audit
|
|
261
263
|
fields: (title description timestamp status)
|
|
264
|
+
titleField: "title"
|
|
265
|
+
descriptionField: "description"
|
|
266
|
+
dateField: "timestamp"
|
|
267
|
+
statusField: "status"
|
|
262
268
|
look: @config.timelineLook
|
|
263
269
|
type: timeline
|
|
264
270
|
}, { type: divider }, {
|
|
@@ -508,6 +514,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
508
514
|
}, {
|
|
509
515
|
entity: @entity.audit
|
|
510
516
|
fields: (title description timestamp status)
|
|
517
|
+
titleField: "title"
|
|
518
|
+
descriptionField: "description"
|
|
519
|
+
dateField: "timestamp"
|
|
520
|
+
statusField: "status"
|
|
511
521
|
look: @config.timelineLook
|
|
512
522
|
type: timeline
|
|
513
523
|
}, { type: divider }, {
|
|
@@ -671,6 +681,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
671
681
|
}, {
|
|
672
682
|
entity: @entity.audit
|
|
673
683
|
fields: (title description timestamp status)
|
|
684
|
+
titleField: "title"
|
|
685
|
+
descriptionField: "description"
|
|
686
|
+
dateField: "timestamp"
|
|
687
|
+
statusField: "status"
|
|
674
688
|
look: @config.timelineLook
|
|
675
689
|
type: timeline
|
|
676
690
|
}]
|
|
@@ -827,6 +841,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
827
841
|
}, {
|
|
828
842
|
entity: @entity.audit
|
|
829
843
|
fields: (title description timestamp status)
|
|
844
|
+
titleField: "title"
|
|
845
|
+
descriptionField: "description"
|
|
846
|
+
dateField: "timestamp"
|
|
847
|
+
statusField: "status"
|
|
830
848
|
look: @config.timelineLook
|
|
831
849
|
type: timeline
|
|
832
850
|
}, {
|
|
@@ -845,8 +863,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
845
863
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
846
864
|
})
|
|
847
865
|
(render-ui main {
|
|
848
|
-
|
|
849
|
-
|
|
866
|
+
type: stack
|
|
867
|
+
direction: vertical
|
|
868
|
+
gap: lg
|
|
869
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
850
870
|
})
|
|
851
871
|
}
|
|
852
872
|
|
|
@@ -905,6 +925,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
905
925
|
}, {
|
|
906
926
|
entity: @entity.audit
|
|
907
927
|
fields: (title description timestamp status)
|
|
928
|
+
titleField: "title"
|
|
929
|
+
descriptionField: "description"
|
|
930
|
+
dateField: "timestamp"
|
|
931
|
+
statusField: "status"
|
|
908
932
|
look: @config.timelineLook
|
|
909
933
|
type: timeline
|
|
910
934
|
}, {
|
|
@@ -923,8 +947,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
923
947
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
924
948
|
})
|
|
925
949
|
(render-ui main {
|
|
926
|
-
|
|
927
|
-
|
|
950
|
+
type: stack
|
|
951
|
+
direction: vertical
|
|
952
|
+
gap: lg
|
|
953
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
928
954
|
})
|
|
929
955
|
}
|
|
930
956
|
|
|
@@ -989,6 +1015,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
989
1015
|
}, {
|
|
990
1016
|
entity: @entity.audit
|
|
991
1017
|
fields: (title description timestamp status)
|
|
1018
|
+
titleField: "title"
|
|
1019
|
+
descriptionField: "description"
|
|
1020
|
+
dateField: "timestamp"
|
|
1021
|
+
statusField: "status"
|
|
992
1022
|
look: @config.timelineLook
|
|
993
1023
|
type: timeline
|
|
994
1024
|
}, {
|
|
@@ -1056,8 +1086,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
1056
1086
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
1057
1087
|
})
|
|
1058
1088
|
(render-ui main {
|
|
1059
|
-
|
|
1060
|
-
|
|
1089
|
+
type: stack
|
|
1090
|
+
direction: vertical
|
|
1091
|
+
gap: lg
|
|
1092
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
1061
1093
|
})
|
|
1062
1094
|
}
|
|
1063
1095
|
|
|
@@ -1067,8 +1099,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
1067
1099
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
1068
1100
|
})
|
|
1069
1101
|
(render-ui main {
|
|
1070
|
-
|
|
1071
|
-
|
|
1102
|
+
type: stack
|
|
1103
|
+
direction: vertical
|
|
1104
|
+
gap: lg
|
|
1105
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
1072
1106
|
})
|
|
1073
1107
|
}
|
|
1074
1108
|
|
|
@@ -1078,8 +1112,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
1078
1112
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
1079
1113
|
})
|
|
1080
1114
|
(render-ui main {
|
|
1081
|
-
|
|
1082
|
-
|
|
1115
|
+
type: stack
|
|
1116
|
+
direction: vertical
|
|
1117
|
+
gap: lg
|
|
1118
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
1083
1119
|
})
|
|
1084
1120
|
}
|
|
1085
1121
|
|
|
@@ -1089,8 +1125,10 @@ orbital MultiPartyFlowOrbital {
|
|
|
1089
1125
|
emit: { failure: FlowLoadFailed, success: FlowLoaded }
|
|
1090
1126
|
})
|
|
1091
1127
|
(render-ui main {
|
|
1092
|
-
|
|
1093
|
-
|
|
1128
|
+
type: stack
|
|
1129
|
+
direction: vertical
|
|
1130
|
+
gap: lg
|
|
1131
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }]
|
|
1094
1132
|
})
|
|
1095
1133
|
}
|
|
1096
1134
|
|
|
@@ -33,7 +33,8 @@ orbital ProseOrbital {
|
|
|
33
33
|
}, {
|
|
34
34
|
type: typography
|
|
35
35
|
content: @config.heading
|
|
36
|
-
variant:
|
|
36
|
+
variant: @config.headingLevel
|
|
37
|
+
size: "3xl"
|
|
37
38
|
weight: bold
|
|
38
39
|
className: (if (== @config.heading "") hidden "tracking-tight text-balance")
|
|
39
40
|
}, {
|
|
@@ -62,6 +63,11 @@ orbital ProseOrbital {
|
|
|
62
63
|
@description "Empty hides it"
|
|
63
64
|
@synonyms "title"
|
|
64
65
|
@tier "presentation"
|
|
66
|
+
headingLevel : "h1" | "h2" = h2
|
|
67
|
+
@label "Heading level"
|
|
68
|
+
@description "h1 when this text is the page's main content (its title names the page); h2 when it is one section among others"
|
|
69
|
+
@synonyms "page title, heading rank, outline level"
|
|
70
|
+
@tier "presentation"
|
|
65
71
|
meta : string = ""
|
|
66
72
|
@label "Meta line"
|
|
67
73
|
@description "Date, author or reading time under the heading; empty hides it"
|
|
@@ -38,8 +38,10 @@ orbital RatingReviewOrbital {
|
|
|
38
38
|
emit: { failure: ReviewsLoadFailed, success: ReviewsLoaded }
|
|
39
39
|
})
|
|
40
40
|
(render-ui main {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
type: stack
|
|
42
|
+
direction: vertical
|
|
43
|
+
gap: lg
|
|
44
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
43
45
|
})
|
|
44
46
|
ReviewsLoaded -> viewing
|
|
45
47
|
(set @entity.reviewsSource (array/map ?data (fn row {
|
|
@@ -252,8 +254,10 @@ orbital RatingReviewOrbital {
|
|
|
252
254
|
emit: { failure: ReviewsLoadFailed, success: ReviewsLoaded }
|
|
253
255
|
})
|
|
254
256
|
(render-ui main {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
+
type: stack
|
|
258
|
+
direction: vertical
|
|
259
|
+
gap: lg
|
|
260
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
257
261
|
})
|
|
258
262
|
ReviewSaveFailed -> error
|
|
259
263
|
(set @entity.errorMessage ?error)
|
|
@@ -299,6 +303,7 @@ orbital RatingReviewOrbital {
|
|
|
299
303
|
}, {
|
|
300
304
|
action: RATE_DRAFT
|
|
301
305
|
max: 5
|
|
306
|
+
label: "Your rating"
|
|
302
307
|
type: star-rating
|
|
303
308
|
value: @entity.draftRating
|
|
304
309
|
}, {
|
|
@@ -1102,6 +1107,7 @@ orbital RatingReviewOrbital {
|
|
|
1102
1107
|
}, {
|
|
1103
1108
|
action: RATE_DRAFT
|
|
1104
1109
|
max: 5
|
|
1110
|
+
label: "Your rating"
|
|
1105
1111
|
type: star-rating
|
|
1106
1112
|
value: @entity.draftRating
|
|
1107
1113
|
}, {
|
|
@@ -1202,8 +1208,10 @@ orbital RatingReviewOrbital {
|
|
|
1202
1208
|
emit: { failure: ReviewsLoadFailed, success: ReviewsLoaded }
|
|
1203
1209
|
})
|
|
1204
1210
|
(render-ui main {
|
|
1205
|
-
|
|
1206
|
-
|
|
1211
|
+
type: stack
|
|
1212
|
+
direction: vertical
|
|
1213
|
+
gap: lg
|
|
1214
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
1207
1215
|
})
|
|
1208
1216
|
}
|
|
1209
1217
|
|
|
@@ -1213,8 +1221,10 @@ orbital RatingReviewOrbital {
|
|
|
1213
1221
|
emit: { failure: ReviewsLoadFailed, success: ReviewsLoaded }
|
|
1214
1222
|
})
|
|
1215
1223
|
(render-ui main {
|
|
1216
|
-
|
|
1217
|
-
|
|
1224
|
+
type: stack
|
|
1225
|
+
direction: vertical
|
|
1226
|
+
gap: lg
|
|
1227
|
+
children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
|
|
1218
1228
|
})
|
|
1219
1229
|
}
|
|
1220
1230
|
|
|
@@ -1423,6 +1433,7 @@ orbital RatingReviewOrbital {
|
|
|
1423
1433
|
}, {
|
|
1424
1434
|
action: RATE_DRAFT
|
|
1425
1435
|
max: @config.maxStars
|
|
1436
|
+
label: "Your rating"
|
|
1426
1437
|
type: star-rating
|
|
1427
1438
|
value: @entity.draftRating
|
|
1428
1439
|
}, {
|
|
@@ -1453,6 +1464,7 @@ orbital RatingReviewOrbital {
|
|
|
1453
1464
|
}, {
|
|
1454
1465
|
action: RATE_DRAFT
|
|
1455
1466
|
max: @config.maxStars
|
|
1467
|
+
label: "Your rating"
|
|
1456
1468
|
type: star-rating
|
|
1457
1469
|
value: @entity.draftRating
|
|
1458
1470
|
}, {
|
|
@@ -1503,6 +1515,7 @@ orbital RatingReviewOrbital {
|
|
|
1503
1515
|
}, {
|
|
1504
1516
|
action: RATE_DRAFT
|
|
1505
1517
|
max: @config.maxStars
|
|
1518
|
+
label: "Your rating"
|
|
1506
1519
|
type: star-rating
|
|
1507
1520
|
value: 0
|
|
1508
1521
|
}, {
|
|
@@ -1569,6 +1582,7 @@ orbital RatingReviewOrbital {
|
|
|
1569
1582
|
}, {
|
|
1570
1583
|
action: RATE_DRAFT
|
|
1571
1584
|
max: @config.maxStars
|
|
1585
|
+
label: "Your rating"
|
|
1572
1586
|
type: star-rating
|
|
1573
1587
|
value: 0
|
|
1574
1588
|
}, {
|
|
@@ -1601,6 +1615,7 @@ orbital RatingReviewOrbital {
|
|
|
1601
1615
|
}, {
|
|
1602
1616
|
action: RATE_DRAFT
|
|
1603
1617
|
max: @config.maxStars
|
|
1618
|
+
label: "Your rating"
|
|
1604
1619
|
type: star-rating
|
|
1605
1620
|
value: 0
|
|
1606
1621
|
}, {
|
|
@@ -3,9 +3,13 @@ app std-record-detail "1.0.0"
|
|
|
3
3
|
;; @capabilities "record detail, single record view, entity detail panel, drill-down record, show one record, record profile, detail page, view details, document editor, wiki page, note taking, article body, rich text editing, write and edit content"
|
|
4
4
|
orbital RecordItemOrbital {
|
|
5
5
|
type RecordAction = { label : string!, event : event!, icon : string, variant : primary | secondary | ghost | danger, roles : [string], when : SExpr }
|
|
6
|
-
type
|
|
6
|
+
type BadgeColor = "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "error" | "info" | "neutral" | "destructive"
|
|
7
|
+
type RecordFieldSpec = { key : string!, header : string, format : date | currency | number | boolean | percent, variant : h3 | h4 | body | caption | badge | small | progress, colorMap : Map string BadgeColor, labels : Map string string }
|
|
7
8
|
type MetaFieldSpec = { key : string!, label : string, kind : text | boolean | select | readonly, options : [string], icon : string, format : date | currency | number | boolean | percent }
|
|
8
9
|
type RecordSection = { title : string!, fields : [string] }
|
|
10
|
+
type RecordStage = { value : string!, label : string! }
|
|
11
|
+
type RecordTab = { id : string!, label : string!, fields : [string], content : render-ui }
|
|
12
|
+
type LineItemColumn = { key : string!, header : string, align : left | center | right, format : badge | date | currency | number | percent | boolean }
|
|
9
13
|
|
|
10
14
|
type RecordItemLoaded = Event { data : RecordItem, totalCount : number } "Fired when the single record finishes loading; payload.data holds the record. totalCount is accepted so a fetch emitter shared with collection atoms still validates."
|
|
11
15
|
|
|
@@ -45,7 +49,7 @@ orbital RecordItemOrbital {
|
|
|
45
49
|
id: ?id
|
|
46
50
|
include: @config.include
|
|
47
51
|
})
|
|
48
|
-
(render-ui main
|
|
52
|
+
(render-ui main @config.loadingContent)
|
|
49
53
|
;; Slug-routed open (/things/:slug): no id on the payload, so fetch by
|
|
50
54
|
;; the slug field instead. Filtered rather than by-id, so the success
|
|
51
55
|
;; payload is a collection — its own event keeps the two shapes honest.
|
|
@@ -57,7 +61,7 @@ orbital RecordItemOrbital {
|
|
|
57
61
|
emit: { failure: RecordItemLoadFailed, success: RecordItemSlugLoaded }
|
|
58
62
|
include: @config.include
|
|
59
63
|
})
|
|
60
|
-
(render-ui main
|
|
64
|
+
(render-ui main @config.loadingContent)
|
|
61
65
|
;; Fallback: an init-opened surface whose INIT carried neither key —
|
|
62
66
|
;; fetch by the (missing) id so the failure surfaces as the error
|
|
63
67
|
;; state's alert + Retry instead of a silent blank page. This is the
|
|
@@ -69,7 +73,7 @@ orbital RecordItemOrbital {
|
|
|
69
73
|
id: ?id
|
|
70
74
|
include: @config.include
|
|
71
75
|
})
|
|
72
|
-
(render-ui main
|
|
76
|
+
(render-ui main @config.loadingContent)
|
|
73
77
|
;; Event-opened overlay (openOn: event): stays blank until OPEN_VIEW,
|
|
74
78
|
;; but renders the blank EXPLICITLY — an embedded @trait.X reference to
|
|
75
79
|
;; a trait with no indexed content is flagged by the compiled client's
|
|
@@ -101,7 +105,7 @@ orbital RecordItemOrbital {
|
|
|
101
105
|
id: ?id
|
|
102
106
|
include: @config.include
|
|
103
107
|
})
|
|
104
|
-
(render-ui main
|
|
108
|
+
(render-ui main @config.loadingContent)
|
|
105
109
|
}
|
|
106
110
|
|
|
107
111
|
state loading {
|
|
@@ -115,7 +119,7 @@ orbital RecordItemOrbital {
|
|
|
115
119
|
})
|
|
116
120
|
;; Skeleton, not a blank frame: the hand-authored detail traits this
|
|
117
121
|
;; atom replaces rendered nothing until the record arrived.
|
|
118
|
-
(render-ui main
|
|
122
|
+
(render-ui main @config.loadingContent)
|
|
119
123
|
INIT -> loading when (and ["=", (str/default ?id ""), ""] ["!=", (str/default ?slug ""), ""])
|
|
120
124
|
(set @entity.slug ?slug)
|
|
121
125
|
(set @entity.openDraft (str/default ?draft ""))
|
|
@@ -124,7 +128,7 @@ orbital RecordItemOrbital {
|
|
|
124
128
|
emit: { failure: RecordItemLoadFailed, success: RecordItemSlugLoaded }
|
|
125
129
|
include: @config.include
|
|
126
130
|
})
|
|
127
|
-
(render-ui main
|
|
131
|
+
(render-ui main @config.loadingContent)
|
|
128
132
|
;; A record minted blank by a document-first create arrives with
|
|
129
133
|
;; draft=1 and lands straight in the editor — a distinct target state,
|
|
130
134
|
;; not a flag on the render, so the machine stays honest about being
|
|
@@ -133,7 +137,7 @@ orbital RecordItemOrbital {
|
|
|
133
137
|
;; (object/merge … {}) is a type adapter only: type_compat lacks "declared object accepts a named row type" (ledgered)
|
|
134
138
|
(set @entity.loadedRow (object/merge ?data {}))
|
|
135
139
|
(set @entity.id (object/get ?data id))
|
|
136
|
-
(set @entity.name (object/get ?data @config.titleField))
|
|
140
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get ?data @f) ""))) " ") (object/get ?data @config.titleField)))
|
|
137
141
|
(set @entity.description (str/default (object/get ?data @config.subtitleField) ""))
|
|
138
142
|
(set @entity.content (object/get ?data @config.contentField))
|
|
139
143
|
(set @entity.coverUrl (str/default (object/get ?data @config.coverField) ""))
|
|
@@ -143,7 +147,7 @@ orbital RecordItemOrbital {
|
|
|
143
147
|
;; (object/merge … {}) is a type adapter only: type_compat lacks "declared object accepts a named row type" (ledgered)
|
|
144
148
|
(set @entity.loadedRow (object/merge ?data {}))
|
|
145
149
|
(set @entity.id (object/get ?data id))
|
|
146
|
-
(set @entity.name (object/get ?data @config.titleField))
|
|
150
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get ?data @f) ""))) " ") (object/get ?data @config.titleField)))
|
|
147
151
|
(set @entity.description (str/default (object/get ?data @config.subtitleField) ""))
|
|
148
152
|
(set @entity.content (object/get ?data @config.contentField))
|
|
149
153
|
(set @entity.coverUrl (str/default (object/get ?data @config.coverField) ""))
|
|
@@ -158,7 +162,7 @@ orbital RecordItemOrbital {
|
|
|
158
162
|
RecordItemSlugLoaded -> editing when (and [">", (array/len ?data), 0] ["=", (str/default (object/get @entity openDraft) ""), "1"])
|
|
159
163
|
(set @entity.loadedRow (array/first ?data))
|
|
160
164
|
(set @entity.id (object/get (array/first ?data) id))
|
|
161
|
-
(set @entity.name (object/get (array/first ?data) @config.titleField))
|
|
165
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get (array/first ?data) @f) ""))) " ") (object/get (array/first ?data) @config.titleField)))
|
|
162
166
|
(set @entity.description (str/default (object/get (array/first ?data) @config.subtitleField) ""))
|
|
163
167
|
(set @entity.content (object/get (array/first ?data) @config.contentField))
|
|
164
168
|
(set @entity.coverUrl (str/default (object/get (array/first ?data) @config.coverField) ""))
|
|
@@ -167,7 +171,7 @@ orbital RecordItemOrbital {
|
|
|
167
171
|
RecordItemSlugLoaded -> viewing when (and [">", (array/len ?data), 0] ["!=", (str/default (object/get @entity openDraft) ""), "1"])
|
|
168
172
|
(set @entity.loadedRow (array/first ?data))
|
|
169
173
|
(set @entity.id (object/get (array/first ?data) id))
|
|
170
|
-
(set @entity.name (object/get (array/first ?data) @config.titleField))
|
|
174
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get (array/first ?data) @f) ""))) " ") (object/get (array/first ?data) @config.titleField)))
|
|
171
175
|
(set @entity.description (str/default (object/get (array/first ?data) @config.subtitleField) ""))
|
|
172
176
|
(set @entity.content (object/get (array/first ?data) @config.contentField))
|
|
173
177
|
(set @entity.coverUrl (str/default (object/get (array/first ?data) @config.coverField) ""))
|
|
@@ -204,7 +208,7 @@ orbital RecordItemOrbital {
|
|
|
204
208
|
id: ?id
|
|
205
209
|
include: @config.include
|
|
206
210
|
})
|
|
207
|
-
(render-ui main
|
|
211
|
+
(render-ui main @config.loadingContent)
|
|
208
212
|
INIT -> loading when (and ["=", (str/default ?id ""), ""] ["!=", (str/default ?slug ""), ""] ["!=", ?slug, @entity.slug])
|
|
209
213
|
(set @entity.slug ?slug)
|
|
210
214
|
(set @entity.openDraft (str/default ?draft ""))
|
|
@@ -213,7 +217,7 @@ orbital RecordItemOrbital {
|
|
|
213
217
|
emit: { failure: RecordItemLoadFailed, success: RecordItemSlugLoaded }
|
|
214
218
|
include: @config.include
|
|
215
219
|
})
|
|
216
|
-
(render-ui main
|
|
220
|
+
(render-ui main @config.loadingContent)
|
|
217
221
|
CONTENT_CHANGE -> editing
|
|
218
222
|
(set @entity.content ?value)
|
|
219
223
|
(set @entity.loadedRow (object/set @entity.loadedRow @config.contentField ?value))
|
|
@@ -258,7 +262,7 @@ orbital RecordItemOrbital {
|
|
|
258
262
|
;; (object/merge … {}) is a type adapter only: type_compat lacks "declared object accepts a named row type" (ledgered)
|
|
259
263
|
(set @entity.loadedRow (object/merge ?data {}))
|
|
260
264
|
(set @entity.id (object/get ?data id))
|
|
261
|
-
(set @entity.name (object/get ?data @config.titleField))
|
|
265
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get ?data @f) ""))) " ") (object/get ?data @config.titleField)))
|
|
262
266
|
(set @entity.description (str/default (object/get ?data @config.subtitleField) ""))
|
|
263
267
|
(set @entity.content (object/get ?data @config.contentField))
|
|
264
268
|
(set @entity.coverUrl (str/default (object/get ?data @config.coverField) ""))
|
|
@@ -273,7 +277,7 @@ orbital RecordItemOrbital {
|
|
|
273
277
|
RecordItemSlugLoaded -> viewing when [">", (array/len ?data), 0]
|
|
274
278
|
(set @entity.loadedRow (array/first ?data))
|
|
275
279
|
(set @entity.id (object/get (array/first ?data) id))
|
|
276
|
-
(set @entity.name (object/get (array/first ?data) @config.titleField))
|
|
280
|
+
(set @entity.name (if [">", (array/len @config.titleFields), 0] (str/join (array/map @config.titleFields (fn f (str/default (object/get (array/first ?data) @f) ""))) " ") (object/get (array/first ?data) @config.titleField)))
|
|
277
281
|
(set @entity.description (str/default (object/get (array/first ?data) @config.subtitleField) ""))
|
|
278
282
|
(set @entity.content (object/get (array/first ?data) @config.contentField))
|
|
279
283
|
(set @entity.coverUrl (str/default (object/get (array/first ?data) @config.coverField) ""))
|
|
@@ -310,7 +314,7 @@ orbital RecordItemOrbital {
|
|
|
310
314
|
id: ?id
|
|
311
315
|
include: @config.include
|
|
312
316
|
})
|
|
313
|
-
(render-ui main
|
|
317
|
+
(render-ui main @config.loadingContent)
|
|
314
318
|
INIT -> loading when (and ["=", (str/default ?id ""), ""] ["!=", (str/default ?slug ""), ""])
|
|
315
319
|
(set @entity.slug ?slug)
|
|
316
320
|
(set @entity.openDraft (str/default ?draft ""))
|
|
@@ -319,7 +323,7 @@ orbital RecordItemOrbital {
|
|
|
319
323
|
emit: { failure: RecordItemLoadFailed, success: RecordItemSlugLoaded }
|
|
320
324
|
include: @config.include
|
|
321
325
|
})
|
|
322
|
-
(render-ui main
|
|
326
|
+
(render-ui main @config.loadingContent)
|
|
323
327
|
;; The hand-authored traits sent a failed load back to `loading` with no
|
|
324
328
|
;; effect, so the page stayed blank forever with no way out. RETRY is the
|
|
325
329
|
;; way out.
|
|
@@ -329,7 +333,7 @@ orbital RecordItemOrbital {
|
|
|
329
333
|
id: @entity.id
|
|
330
334
|
include: @config.include
|
|
331
335
|
})
|
|
332
|
-
(render-ui main
|
|
336
|
+
(render-ui main @config.loadingContent)
|
|
333
337
|
}
|
|
334
338
|
|
|
335
339
|
emits {
|
|
@@ -448,12 +452,15 @@ orbital RecordItemOrbital {
|
|
|
448
452
|
fields : [RecordFieldSpec] = [{
|
|
449
453
|
header: Name
|
|
450
454
|
key: name
|
|
455
|
+
variant: h4
|
|
451
456
|
}, {
|
|
452
457
|
header: Description
|
|
453
458
|
key: description
|
|
459
|
+
variant: body
|
|
454
460
|
}, {
|
|
455
461
|
header: Status
|
|
456
462
|
key: status
|
|
463
|
+
variant: badge
|
|
457
464
|
}, {
|
|
458
465
|
format: date
|
|
459
466
|
header: Created
|
|
@@ -463,6 +470,11 @@ orbital RecordItemOrbital {
|
|
|
463
470
|
@description "Each entry maps one entity field to a labelled row in the panel. Unlike a list row, a detail panel SHOULD label every field — the value stands alone here with no column header or repeated row position to name it."
|
|
464
471
|
@synonyms "detail fields, record fields, panel fields, shown fields"
|
|
465
472
|
@tier "presentation"
|
|
473
|
+
closeEvent : event = ""
|
|
474
|
+
@label "Which action closes the record?"
|
|
475
|
+
@description "The `actions` entry whose event matches renders as the panel's close (×) button. Empty = no close button (a routed detail page navigates back instead)."
|
|
476
|
+
@synonyms "close event, dismiss event, close button"
|
|
477
|
+
@tier "presentation"
|
|
466
478
|
sections : [RecordSection] = []
|
|
467
479
|
@label "How should the fields be grouped?"
|
|
468
480
|
@description "Optional titled groups over `fields`, e.g. [{title: Contact, fields: [email, phone]}]. Group into sections of 3-5 once a record carries more than about seven fields — a flat list past that is the cognitive-load problem Almadar_UX.md §1.4 (Miller) describes. Empty = one ungrouped list, the default."
|
|
@@ -506,6 +518,11 @@ orbital RecordItemOrbital {
|
|
|
506
518
|
@description "Name of the field on the loaded record shown as the panel title (e.g. contactName, subject, title)."
|
|
507
519
|
@synonyms "title field, heading field, name field, label field"
|
|
508
520
|
@tier "presentation"
|
|
521
|
+
titleFields : [string] = []
|
|
522
|
+
@label "Which fields make up the title, in order?"
|
|
523
|
+
@description "For records whose name is split across fields (firstName + lastName): the listed fields' values joined with spaces become the title, and override titleField. Empty = titleField alone, the default."
|
|
524
|
+
@synonyms "full name, name parts, composite title, first and last name"
|
|
525
|
+
@tier "presentation"
|
|
509
526
|
subtitleField : string = description
|
|
510
527
|
@label "Which field is the subtitle?"
|
|
511
528
|
@description "Name of the field shown under the title (e.g. company, category). Set to \"\" for no subtitle at all — the right choice for the document look, whose metadata lives in the properties strip, not a second line."
|
|
@@ -526,6 +543,63 @@ orbital RecordItemOrbital {
|
|
|
526
543
|
@description "Visual treatment for the record surface. panel = an inline detail-panel in the page flow (bodyContent); slide-over = the same panel as a right-hand drawer over the list behind it (slideOverBodyContent); page = a full-width record page with roomier spacing (pageBodyContent); document = a wiki-page/note/article surface — big editable title over a rich-text body, no labelled field rows, click-to-edit with autosave (documentBodyContent / documentEditingContent). Selecting a look swaps which body tree renders after the record loads; any body may still be overridden directly at the call site."
|
|
527
544
|
@synonyms "detail style, drawer, slide over, full page, document, wiki page, note, article"
|
|
528
545
|
@tier "presentation"
|
|
546
|
+
recordLook : "panel" | "profile" | "showcase" | "workflow" | "map" | "ledger" | "conversation" | "workspace" = panel
|
|
547
|
+
@label "Record look"
|
|
548
|
+
@description "How the record itself is arranged inside the panel/slide-over/page frame, so not every app reads as an admin form. panel = labelled field grid (default); profile = a person or member: avatar + cover hero (avatarField, coverField); showcase = image-first product or listing with a gallery (mediaField); workflow = a lifecycle stepper over the record (stageField, stages); map = a place: location map hero (latitudeField, longitudeField); ledger = an invoice/order document: line items then totals (lineItemsField, lineItemColumns, totals); conversation = a ticket or thread: the messages beside the record facts (threadField); workspace = a hub record with tabs (tabs). Regions with no data simply do not render. A region fed by a separate trait (replies with their composer, editable order lines, activity history) is composed by overriding the body and passing detail-panel's threadContent / lineItemsContent / activityContent."
|
|
549
|
+
@synonyms "record style, profile page, product page, listing page, invoice view, ticket view, timeline view, tabbed record, location page"
|
|
550
|
+
@tier "presentation"
|
|
551
|
+
avatarField : string = ""
|
|
552
|
+
@label "Which field is the avatar?"
|
|
553
|
+
@description "Name of the image field shown as the profile look's avatar; the title supplies initials when it is empty."
|
|
554
|
+
@synonyms "photo field, avatar field, picture field"
|
|
555
|
+
@tier "presentation"
|
|
556
|
+
mediaField : string = ""
|
|
557
|
+
@label "Which field holds the images?"
|
|
558
|
+
@description "Name of the field the showcase look leads with: one image URL, a list of URLs, or a list of { src, caption }."
|
|
559
|
+
@synonyms "gallery field, photos field, images field, media field"
|
|
560
|
+
@tier "presentation"
|
|
561
|
+
stageField : string = ""
|
|
562
|
+
@label "Which field is the lifecycle stage?"
|
|
563
|
+
@description "Name of the field holding the record's current stage; the workflow look marks it on the stepper."
|
|
564
|
+
@synonyms "stage field, status field, phase field, step field"
|
|
565
|
+
@tier "presentation"
|
|
566
|
+
stages : [RecordStage] = []
|
|
567
|
+
@label "What is the lifecycle, in order?"
|
|
568
|
+
@description "The workflow look's stepper: one { value, label } per stage, value matching stageField's enum."
|
|
569
|
+
@synonyms "lifecycle, pipeline stages, steps, phases"
|
|
570
|
+
@tier "presentation"
|
|
571
|
+
latitudeField : string = ""
|
|
572
|
+
@label "Which field is the latitude?"
|
|
573
|
+
@description "Name of the latitude field the map look pins."
|
|
574
|
+
@tier "presentation"
|
|
575
|
+
longitudeField : string = ""
|
|
576
|
+
@label "Which field is the longitude?"
|
|
577
|
+
@description "Name of the longitude field the map look pins."
|
|
578
|
+
@tier "presentation"
|
|
579
|
+
lineItemsField : string = ""
|
|
580
|
+
@label "Which relation holds the line items?"
|
|
581
|
+
@description "Name of the hydrated relation (list it in include) whose rows the ledger look tables."
|
|
582
|
+
@synonyms "line items field, order lines, invoice lines, child rows"
|
|
583
|
+
@tier "presentation"
|
|
584
|
+
lineItemColumns : [LineItemColumn] = []
|
|
585
|
+
@label "Which line-item columns?"
|
|
586
|
+
@description "Columns of the ledger look's line-items table."
|
|
587
|
+
@tier "presentation"
|
|
588
|
+
totals : [RecordFieldSpec] = []
|
|
589
|
+
@label "Which fields are the totals?"
|
|
590
|
+
@description "Record fields shown under the line items in order (e.g. subtotal, tax, total); the last is emphasised."
|
|
591
|
+
@synonyms "totals, subtotal, grand total, amount due"
|
|
592
|
+
@tier "presentation"
|
|
593
|
+
threadField : string = ""
|
|
594
|
+
@label "Which relation holds the thread?"
|
|
595
|
+
@description "Name of the hydrated relation (list it in include) whose messages the conversation look shows."
|
|
596
|
+
@synonyms "messages field, replies field, comments field, thread field"
|
|
597
|
+
@tier "presentation"
|
|
598
|
+
tabs : [RecordTab] = []
|
|
599
|
+
@label "Which tabs follow the overview?"
|
|
600
|
+
@description "The workspace look's tabs after Overview: each lists field names, or composes a related trait as content (e.g. a company's deals list)."
|
|
601
|
+
@synonyms "tabs, record tabs, sub pages, related lists"
|
|
602
|
+
@tier "presentation"
|
|
529
603
|
contentField : string = content
|
|
530
604
|
@label "Which field holds the document body?"
|
|
531
605
|
@description "Name of the field on the loaded record that carries the rich-text HTML body the document look renders and edits (e.g. content, body, articleText)."
|
|
@@ -533,7 +607,7 @@ orbital RecordItemOrbital {
|
|
|
533
607
|
@tier "presentation"
|
|
534
608
|
coverField : string = ""
|
|
535
609
|
@label "Which field is the cover image?"
|
|
536
|
-
@description "Name of the image-typed field on the loaded record painted as the document look
|
|
610
|
+
@description "Name of the image-typed field on the loaded record painted as the hero banner of the document look and of the profile record look (e.g. coverImage, heroImage). Empty = no banner, the default."
|
|
537
611
|
@synonyms "cover field, hero image field, banner field"
|
|
538
612
|
@tier "presentation"
|
|
539
613
|
iconField : string = ""
|
|
@@ -562,17 +636,35 @@ orbital RecordItemOrbital {
|
|
|
562
636
|
@label "Placeholder text"
|
|
563
637
|
@description "Placeholder shown in the document body when it is empty."
|
|
564
638
|
@tier "presentation"
|
|
639
|
+
loadingContent : render-ui = { type: skeleton, variant: detail }
|
|
640
|
+
@label "Loading placeholder"
|
|
641
|
+
@description "Shown while the record loads, shaped like what replaces it so the page does not jump: the detail skeleton for the panel/slide-over/page looks; a document-look consumer sets { type: skeleton, variant: text, rows: 8 }."
|
|
642
|
+
@tier "internal"
|
|
565
643
|
bodyContent : render-ui = {
|
|
566
644
|
children: [{
|
|
567
645
|
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
568
646
|
entity: @entity.loadedRow
|
|
569
647
|
fields: @config.fields
|
|
648
|
+
closeEvent: @config.closeEvent
|
|
570
649
|
initialData: @entity.loadedRow
|
|
571
650
|
maxInlineActions: @config.maxInlineActions
|
|
572
651
|
sections: @config.sections
|
|
573
652
|
showActions: @config.showActions
|
|
574
653
|
subtitle: @entity.description
|
|
575
654
|
title: @entity.name
|
|
655
|
+
look: @config.recordLook
|
|
656
|
+
avatarField: @config.avatarField
|
|
657
|
+
coverField: @config.coverField
|
|
658
|
+
mediaField: @config.mediaField
|
|
659
|
+
stageField: @config.stageField
|
|
660
|
+
stages: @config.stages
|
|
661
|
+
latitudeField: @config.latitudeField
|
|
662
|
+
longitudeField: @config.longitudeField
|
|
663
|
+
lineItems: (object/get @entity.loadedRow @config.lineItemsField)
|
|
664
|
+
lineItemColumns: @config.lineItemColumns
|
|
665
|
+
totals: @config.totals
|
|
666
|
+
thread: (object/get @entity.loadedRow @config.threadField)
|
|
667
|
+
tabs: @config.tabs
|
|
576
668
|
type: detail-panel
|
|
577
669
|
}]
|
|
578
670
|
direction: vertical
|
|
@@ -587,6 +679,7 @@ orbital RecordItemOrbital {
|
|
|
587
679
|
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
588
680
|
entity: @entity.loadedRow
|
|
589
681
|
fields: @config.fields
|
|
682
|
+
closeEvent: @config.closeEvent
|
|
590
683
|
initialData: @entity.loadedRow
|
|
591
684
|
maxInlineActions: @config.maxInlineActions
|
|
592
685
|
sections: @config.sections
|
|
@@ -594,6 +687,19 @@ orbital RecordItemOrbital {
|
|
|
594
687
|
slideOver: true
|
|
595
688
|
subtitle: @entity.description
|
|
596
689
|
title: @entity.name
|
|
690
|
+
look: @config.recordLook
|
|
691
|
+
avatarField: @config.avatarField
|
|
692
|
+
coverField: @config.coverField
|
|
693
|
+
mediaField: @config.mediaField
|
|
694
|
+
stageField: @config.stageField
|
|
695
|
+
stages: @config.stages
|
|
696
|
+
latitudeField: @config.latitudeField
|
|
697
|
+
longitudeField: @config.longitudeField
|
|
698
|
+
lineItems: (object/get @entity.loadedRow @config.lineItemsField)
|
|
699
|
+
lineItemColumns: @config.lineItemColumns
|
|
700
|
+
totals: @config.totals
|
|
701
|
+
thread: (object/get @entity.loadedRow @config.threadField)
|
|
702
|
+
tabs: @config.tabs
|
|
597
703
|
type: detail-panel
|
|
598
704
|
}]
|
|
599
705
|
direction: vertical
|
|
@@ -608,12 +714,26 @@ orbital RecordItemOrbital {
|
|
|
608
714
|
actions: (array/filter @config.actions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
|
|
609
715
|
entity: @entity.loadedRow
|
|
610
716
|
fields: @config.fields
|
|
717
|
+
closeEvent: @config.closeEvent
|
|
611
718
|
initialData: @entity.loadedRow
|
|
612
719
|
maxInlineActions: @config.maxInlineActions
|
|
613
720
|
sections: @config.sections
|
|
614
721
|
showActions: @config.showActions
|
|
615
722
|
subtitle: @entity.description
|
|
616
723
|
title: @entity.name
|
|
724
|
+
look: @config.recordLook
|
|
725
|
+
avatarField: @config.avatarField
|
|
726
|
+
coverField: @config.coverField
|
|
727
|
+
mediaField: @config.mediaField
|
|
728
|
+
stageField: @config.stageField
|
|
729
|
+
stages: @config.stages
|
|
730
|
+
latitudeField: @config.latitudeField
|
|
731
|
+
longitudeField: @config.longitudeField
|
|
732
|
+
lineItems: (object/get @entity.loadedRow @config.lineItemsField)
|
|
733
|
+
lineItemColumns: @config.lineItemColumns
|
|
734
|
+
totals: @config.totals
|
|
735
|
+
thread: (object/get @entity.loadedRow @config.threadField)
|
|
736
|
+
tabs: @config.tabs
|
|
617
737
|
type: detail-panel
|
|
618
738
|
}]
|
|
619
739
|
className: "w-full max-w-4xl"
|