@almadar/std 16.193.0 → 16.195.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/lolo/infra/atoms/std-approval-gate.lolo +12 -10
- package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +1 -1
- package/behaviors/lolo/infra/atoms/std-cross-reference.lolo +5 -5
- package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +3 -7
- package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +3 -7
- package/behaviors/lolo/infra/atoms/std-notification-center.lolo +8 -6
- package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +5 -9
- package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +30 -4
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-date-range.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-filter.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-modal.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-pagination.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +5 -5
- package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +13 -2
- package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-scatter.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-search.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +11 -12
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +5 -7
- package/behaviors/lolo/ui/core/atoms/std-thread.lolo +91 -28
- package/behaviors/lolo/ui/core/atoms/std-tree.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +5 -9
- package/behaviors/lolo/ui/core/atoms/std-vote.lolo +3 -7
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-card.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +4 -4
- package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-input.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/ui-select.lolo +3 -3
- package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +5 -5
- package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +6 -6
- package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +7 -7
- package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +5 -5
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +5 -5
- package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-header.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +8 -8
- package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +4 -4
- package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +6 -6
- package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +5 -5
- package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +6 -6
- package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +2 -2
- package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +3 -3
- package/behaviors/lolo/ui/core/organisms/ui-form.lolo +3 -3
- package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +1 -1
- package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +6 -6
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +6 -6
- package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +4 -4
- package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +5 -5
- package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +4 -4
- package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +4 -4
- package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +4 -4
- package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +1 -1
- package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +7 -7
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +1 -1
- package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +2 -2
- package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +1 -1
- package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +1 -1
- package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +1 -1
- package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +2 -2
- package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +1 -1
- package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +154 -70
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +64 -63
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +20 -92
- package/behaviors/registry/infra/atoms/std-cross-reference.orb +9 -8
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +119 -60
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +209 -64
- package/behaviors/registry/infra/atoms/std-notification-center.orb +25 -37
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +14 -28
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +10 -17
- package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -2
- package/behaviors/registry/ml/organisms/std-escalating-decision.orb +5 -10
- package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +2 -4
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +5 -3
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +51 -2
- package/behaviors/registry/ui/core/atoms/std-board.orb +74 -3
- package/behaviors/registry/ui/core/atoms/std-browse.orb +3 -2
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +2 -2
- package/behaviors/registry/ui/core/atoms/std-confirmation.orb +27 -1
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -2
- package/behaviors/registry/ui/core/atoms/std-date-range.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +3 -3
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +104 -6
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +3 -6
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +3 -2
- package/behaviors/registry/ui/core/atoms/std-export.orb +2 -4
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +92 -4
- package/behaviors/registry/ui/core/atoms/std-filter.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +4 -84
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +29 -1
- package/behaviors/registry/ui/core/atoms/std-geosearch.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +81 -48
- package/behaviors/registry/ui/core/atoms/std-import.orb +2 -4
- package/behaviors/registry/ui/core/atoms/std-list.orb +58 -2
- package/behaviors/registry/ui/core/atoms/std-modal.orb +59 -3
- package/behaviors/registry/ui/core/atoms/std-pagination.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +158 -8
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +283 -7
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +3 -2
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +72 -43
- package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-search.orb +2 -1
- package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +63 -39
- package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +139 -97
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +57 -40
- package/behaviors/registry/ui/core/atoms/std-thread.orb +296 -109
- package/behaviors/registry/ui/core/atoms/std-tree.orb +20 -2
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +147 -58
- package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -29
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +3 -2
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-box.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +5 -4
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-input.orb +3 -3
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-select.orb +3 -3
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +5 -5
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +6 -6
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +7 -7
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +5 -5
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +3 -2
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +5 -5
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-header.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +4 -3
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +5 -4
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +8 -8
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +3 -2
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +3 -2
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +4 -4
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +3 -3
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +6 -6
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +5 -5
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +6 -6
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +2 -2
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +3 -3
- package/behaviors/registry/ui/core/organisms/ui-form.orb +3 -3
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +6 -6
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +6 -6
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +4 -4
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +5 -5
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +2 -2
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +4 -4
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +4 -4
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +4 -4
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +8 -7
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +4 -8
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +3 -6
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +5 -10
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +4 -8
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +4 -8
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +4 -8
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +7 -13
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +4 -8
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +3 -6
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +2 -2
- package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +2 -2
- package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
- package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +1 -2
- package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +1 -2
- package/canonical-operators.json +37 -23
- package/dist/behaviors/exports-reader.js +2326 -885
- package/dist/behaviors/functions/index.d.ts +109 -45
- package/dist/behaviors/functions/index.js +2326 -885
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +2326 -885
- package/dist/behaviors/query.js +2326 -885
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +7 -7
- package/dist/behaviors-registry.json +11 -9
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2326 -885
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app std-approval-gate "1.1.0"
|
|
2
|
-
"std-approval-gate — generic approval gate / approver workflow. Use when a user voices that an action must be reviewed, approved, signed off, or authorized by a privileged role before it proceeds (admin approval, supervisor sign-off, manager approval, gatekeeper review, editor approval, senior editor approval, reviewer approval, publishing approval, draft approval, content review, submit drafts then editors review and approve or reject, needs approval before going live, requires sign-off before publish). Persists ApprovalRequest rows + surfaces the PENDING ones in a review queue showing what is being approved and who asked, with Approve / Deny actions — Deny captures a written reason. approverRoles is ENFORCED by the review transitions themselves: an APPROVE/DENY from a viewer whose role is not listed does not fire. On approval emits ApprovalGranted; on denial emits ApprovalDenied (with the reason). Hosts that replay the gated action MUST route a failed replay back via APPROVAL_REPLAY_FAILED so the request reopens instead of being silently consumed. Compose onto any orbital whose action you want to gate: the target orbital emits an external event, an ApprovalRequest row is created (stamp subjectLabel/subjectId/requestedBy so reviewers see what they are judging), and downstream effects wait on ApprovalGranted. Differs from std-mod-queue, which is content-moderation-specific."
|
|
2
|
+
"std-approval-gate — generic approval gate / approver workflow. Use when a user voices that an action must be reviewed, approved, signed off, or authorized by a privileged role before it proceeds (admin approval, supervisor sign-off, manager approval, gatekeeper review, editor approval, senior editor approval, reviewer approval, publishing approval, draft approval, content review, submit drafts then editors review and approve or reject, needs approval before going live, requires sign-off before publish). Persists ApprovalRequest rows + surfaces the PENDING ones in a review queue showing what is being approved and who asked, with Approve / Deny actions — Deny captures a written reason. approverRoles is ENFORCED by the review transitions themselves: an APPROVE/DENY from a viewer whose role is not listed does not fire. blockSelfApproval additionally stops a reviewer approving their own request (four-eyes) — DENY stays allowed as self-withdrawal. On approval emits ApprovalGranted; on denial emits ApprovalDenied (with the reason). Hosts that replay the gated action MUST route a failed replay back via APPROVAL_REPLAY_FAILED so the request reopens instead of being silently consumed. Compose onto any orbital whose action you want to gate: the target orbital emits an external event, an ApprovalRequest row is created (stamp subjectLabel/subjectId/requestedBy so reviewers see what they are judging), and downstream effects wait on ApprovalGranted. Differs from std-mod-queue, which is content-moderation-specific."
|
|
3
3
|
orbital ApprovalGateOrbital {
|
|
4
4
|
uses Spinner from "std/behaviors/ui-spinner"
|
|
5
5
|
uses Typography from "std/behaviors/ui-typography"
|
|
@@ -12,7 +12,7 @@ orbital ApprovalGateOrbital {
|
|
|
12
12
|
|
|
13
13
|
type ApprovalRequestLoadFailed = Event { error : string, code : string } "Fired when the approval queue fails to load"
|
|
14
14
|
|
|
15
|
-
type ApprovalRequestReviewed = Event
|
|
15
|
+
type ApprovalRequestReviewed = Event @entity "Fired after a row's status persists (approve / deny)"
|
|
16
16
|
|
|
17
17
|
type ApprovalRequestReviewFailed = Event { error : string, code : string } "Fired when the persist fails"
|
|
18
18
|
|
|
@@ -227,8 +227,9 @@ orbital ApprovalGateOrbital {
|
|
|
227
227
|
;; The role guard IS the enforcement (both execution paths honor
|
|
228
228
|
;; transition guards, for the button and for a bus-delivered event
|
|
229
229
|
;; alike): empty approverRoles = ungated, otherwise the viewer's role
|
|
230
|
-
;; must be listed or the decision does not fire.
|
|
231
|
-
|
|
230
|
+
;; must be listed or the decision does not fire. blockSelfApproval
|
|
231
|
+
;; additionally blocks APPROVE when ?row.requestedBy is the viewer.
|
|
232
|
+
APPROVE -> reviewing when (and (or ["=", (array/len @config.approverRoles), 0] (array/includes @config.approverRoles @user.role)) (or ["=", @config.blockSelfApproval, false] ["!=", (object/get ?row requestedBy), @user.id]))
|
|
232
233
|
(set @entity.id ?id)
|
|
233
234
|
(set @entity.status approved)
|
|
234
235
|
(set @entity.reviewer @user.id)
|
|
@@ -396,9 +397,7 @@ orbital ApprovalGateOrbital {
|
|
|
396
397
|
@description "Indicates failure to load an approval request."
|
|
397
398
|
@synonyms "load error, failed load, request failure"
|
|
398
399
|
@tier "internal"
|
|
399
|
-
ApprovalRequestReviewed
|
|
400
|
-
row : ApprovalRequest
|
|
401
|
-
}
|
|
400
|
+
ApprovalRequestReviewed
|
|
402
401
|
@description "Signals that an approval request has been reviewed."
|
|
403
402
|
@synonyms "reviewed, processed, examined"
|
|
404
403
|
@tier "internal"
|
|
@@ -473,9 +472,7 @@ orbital ApprovalGateOrbital {
|
|
|
473
472
|
@description "Indicates failure to load an approval request."
|
|
474
473
|
@synonyms "load error, failed load, request failure"
|
|
475
474
|
@tier "internal"
|
|
476
|
-
ApprovalRequestReviewed
|
|
477
|
-
row : ApprovalRequest
|
|
478
|
-
}
|
|
475
|
+
ApprovalRequestReviewed
|
|
479
476
|
@description "Indicates an approval request has been reviewed."
|
|
480
477
|
@synonyms "reviewed, checked, processed"
|
|
481
478
|
@tier "domain"
|
|
@@ -499,6 +496,11 @@ orbital ApprovalGateOrbital {
|
|
|
499
496
|
@description "Roles eligible to decide. ENFORCED by the APPROVE/DENY transition guards: a viewer whose @user.role is not listed cannot fire a decision, from the button or from the bus. Empty = every signed-in viewer may decide (ungated)."
|
|
500
497
|
@synonyms "approver, reviewer, authorized roles, sign-off roles, who approves"
|
|
501
498
|
@tier "policy"
|
|
499
|
+
blockSelfApproval : boolean = false
|
|
500
|
+
@label "Block approving your own requests?"
|
|
501
|
+
@description "When on, a reviewer cannot APPROVE a request they submitted themselves (requestedBy = the viewer's id) — enforced by the APPROVE transition guard, from the button or from the bus. Requires hosts to stamp requestedBy at request creation. DENY stays allowed on your own request (denying your own request withdraws it). Off by default."
|
|
502
|
+
@synonyms "self approval, self-approval, four eyes, four-eyes, separation of duties, cannot approve own, no self sign-off, dual control"
|
|
503
|
+
@tier "policy"
|
|
502
504
|
threshold : number = 0
|
|
503
505
|
@label "Auto-approve below this value"
|
|
504
506
|
@description "Requests whose gated value is below this threshold are auto-approved. v1.0 declarative only."
|
|
@@ -11,7 +11,7 @@ orbital ServiceNodeOrbital {
|
|
|
11
11
|
uses Divider from "std/behaviors/ui-divider"
|
|
12
12
|
uses SimpleGrid from "std/behaviors/ui-simple-grid"
|
|
13
13
|
|
|
14
|
-
type ServiceNodeLoaded = Event ServiceNode "Fired when ServiceNode finishes loading"
|
|
14
|
+
type ServiceNodeLoaded = Event { data : [ServiceNode] } "Fired when ServiceNode finishes loading"
|
|
15
15
|
|
|
16
16
|
type ServiceNodeLoadFailed = Event { message : string } "Fired when ServiceNode fails to load"
|
|
17
17
|
|
|
@@ -9,9 +9,9 @@ orbital CrossReferenceOrbital {
|
|
|
9
9
|
|
|
10
10
|
type FETCH_LINKS_FOR = Event { leftId : string } "Request the link set for a given leftId."
|
|
11
11
|
|
|
12
|
-
type LinkCreated = Event
|
|
12
|
+
type LinkCreated = Event @entity "Fired after a junction row is persisted."
|
|
13
13
|
|
|
14
|
-
type LinkRemoved = Event {
|
|
14
|
+
type LinkRemoved = Event { id : string, deleted : boolean } "Fired after a junction row is deleted — persist delete emits the deleted row's id and a deleted flag, not the link's leftId/rightId."
|
|
15
15
|
|
|
16
16
|
type LinksLoaded = Event { leftId : string, data : [ObjectSpec] } "Fired after junction rows for leftId are fetched."
|
|
17
17
|
|
|
@@ -50,10 +50,10 @@ orbital CrossReferenceOrbital {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
emits {
|
|
53
|
-
LinkCreated -> external
|
|
53
|
+
LinkCreated -> external
|
|
54
54
|
LinkRemoved -> external {
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
id : string
|
|
56
|
+
deleted : boolean
|
|
57
57
|
}
|
|
58
58
|
LinksLoaded -> external {
|
|
59
59
|
leftId : string
|
|
@@ -12,7 +12,7 @@ orbital DataErasureOrbital {
|
|
|
12
12
|
|
|
13
13
|
type ErasureLoadFailed = Event { error : string, code : string } "Fired when the erasure queue fails to load."
|
|
14
14
|
|
|
15
|
-
type ErasureSaved = Event
|
|
15
|
+
type ErasureSaved = Event ErasureRequest "Fired after an ErasureRequest row persists."
|
|
16
16
|
|
|
17
17
|
type ErasureSaveFailed = Event { error : string, code : string } "Fired when an ErasureRequest persist fails."
|
|
18
18
|
|
|
@@ -272,9 +272,7 @@ orbital DataErasureOrbital {
|
|
|
272
272
|
@description "Indicates failure to load erasure request data."
|
|
273
273
|
@synonyms "load error, failed load, data error"
|
|
274
274
|
@tier "internal"
|
|
275
|
-
ErasureSaved
|
|
276
|
-
row : ErasureRequest
|
|
277
|
-
}
|
|
275
|
+
ErasureSaved
|
|
278
276
|
@description "Indicates a new erasure request has been successfully saved."
|
|
279
277
|
@synonyms "created, added, persisted"
|
|
280
278
|
@tier "domain"
|
|
@@ -363,9 +361,7 @@ orbital DataErasureOrbital {
|
|
|
363
361
|
@description "Indicates a failure to load erasure request data."
|
|
364
362
|
@synonyms "load error, failed load, data error"
|
|
365
363
|
@tier "internal"
|
|
366
|
-
ErasureSaved
|
|
367
|
-
row : ErasureRequest
|
|
368
|
-
}
|
|
364
|
+
ErasureSaved
|
|
369
365
|
@description "A new erasure request has been successfully saved."
|
|
370
366
|
@synonyms "created, added, persisted"
|
|
371
367
|
@tier "domain"
|
|
@@ -12,7 +12,7 @@ orbital ModQueueItemOrbital {
|
|
|
12
12
|
|
|
13
13
|
type ModQueueItemLoadFailed = Event { error : string, code : string } "Fired when the moderation queue collection fails to load"
|
|
14
14
|
|
|
15
|
-
type ModQueueItemReviewed = Event
|
|
15
|
+
type ModQueueItemReviewed = Event ModQueueItem "Fired after a queue row's status persists (approve / reject / escalate)"
|
|
16
16
|
|
|
17
17
|
type ModQueueItemReviewFailed = Event { error : string, code : string } "Fired when a queue row's status update fails to persist"
|
|
18
18
|
|
|
@@ -259,9 +259,7 @@ orbital ModQueueItemOrbital {
|
|
|
259
259
|
@description "Indicates failure to load moderation queue items."
|
|
260
260
|
@synonyms "error, failure, problem, failed"
|
|
261
261
|
@tier "internal"
|
|
262
|
-
ModQueueItemReviewed
|
|
263
|
-
row : ModQueueItem
|
|
264
|
-
}
|
|
262
|
+
ModQueueItemReviewed
|
|
265
263
|
@description "Signals a moderation queue item has been reviewed and a verdict recorded."
|
|
266
264
|
@synonyms "reviewed, processed, judged, completed"
|
|
267
265
|
@tier "domain"
|
|
@@ -318,9 +316,7 @@ orbital ModQueueItemOrbital {
|
|
|
318
316
|
@description "Indicates failure to load a moderation queue item."
|
|
319
317
|
@synonyms "error, failure, problem, issue"
|
|
320
318
|
@tier "internal"
|
|
321
|
-
ModQueueItemReviewed
|
|
322
|
-
row : ModQueueItem
|
|
323
|
-
}
|
|
319
|
+
ModQueueItemReviewed
|
|
324
320
|
@description "A moderation queue item's review status has been updated."
|
|
325
321
|
@synonyms "reviewed, updated, verdict, decision"
|
|
326
322
|
@tier "domain"
|
|
@@ -3,7 +3,7 @@ app std-notification-center "1.0.0"
|
|
|
3
3
|
type NotifRow = { id : string, recipient : string, channel : string, message : string, severity : string, dispatched : boolean, error : string, recordedAt : number }
|
|
4
4
|
type PushCreds = { endpoint : string, p256dh : string, auth : string }
|
|
5
5
|
orbital NotificationCenterOrbital {
|
|
6
|
-
type PUSH_SUBSCRIBED = Event {
|
|
6
|
+
type PUSH_SUBSCRIBED = Event { endpoint : string, p256dh : string, auth : string } "browser/push-subscribe resolved — the credentials arrive FLAT on the payload (?endpoint, ?p256dh, ?auth), not wrapped in a `result` field."
|
|
7
7
|
|
|
8
8
|
entity NotificationPreference [persistent: notificationPreferences] {
|
|
9
9
|
id : string!
|
|
@@ -54,10 +54,10 @@ orbital NotificationCenterOrbital {
|
|
|
54
54
|
PUSH_SUBSCRIBED -> idle
|
|
55
55
|
(set @entity.lastError "")
|
|
56
56
|
(persist create PushSubscription {
|
|
57
|
-
auth: ?
|
|
57
|
+
auth: ?auth
|
|
58
58
|
createdAt: @now
|
|
59
|
-
endpoint: ?
|
|
60
|
-
p256dh: ?
|
|
59
|
+
endpoint: ?endpoint
|
|
60
|
+
p256dh: ?p256dh
|
|
61
61
|
userId: @user.id
|
|
62
62
|
} { emit: { failure: PUSH_SAVE_FAILED, success: PUSH_SAVED } })
|
|
63
63
|
PUSH_SAVED -> idle
|
|
@@ -72,9 +72,11 @@ orbital NotificationCenterOrbital {
|
|
|
72
72
|
|
|
73
73
|
emits {
|
|
74
74
|
PUSH_SUBSCRIBED {
|
|
75
|
-
|
|
75
|
+
endpoint : string
|
|
76
|
+
p256dh : string
|
|
77
|
+
auth : string
|
|
76
78
|
}
|
|
77
|
-
@description "browser/push-subscribe resolved
|
|
79
|
+
@description "browser/push-subscribe resolved; the subscription credentials arrive flat on the payload"
|
|
78
80
|
@tier "secondary"
|
|
79
81
|
PUSH_SUBSCRIBE_FAILED {
|
|
80
82
|
error : string!
|
|
@@ -7,6 +7,8 @@ orbital StatusLifecycleOrbital {
|
|
|
7
7
|
|
|
8
8
|
type StatusChanged = Event { entityId : string, status : string } "Re-emitted per record after a legal transition; rename to wire downstream reactions (notify, audit, archive)."
|
|
9
9
|
|
|
10
|
+
type StatusPersisted = Event StatusRecord "Internal: the status write landed; carries the persisted row flat."
|
|
11
|
+
|
|
10
12
|
type StatusChangeFailed = Event { error : string, code : string } "Internal: persist of the new status failed."
|
|
11
13
|
|
|
12
14
|
entity StatusRecord [persistent: status_records] {
|
|
@@ -27,7 +29,7 @@ orbital StatusLifecycleOrbital {
|
|
|
27
29
|
;; synchronous emit fired even when the write failed, so a denied
|
|
28
30
|
;; mutation still looked like a completed transition downstream.
|
|
29
31
|
StatusPersisted -> idle when ["!=", (str/default ?id ""), ""]
|
|
30
|
-
(emit StatusChanged { entityId: ?id, status: (str/default (object/get
|
|
32
|
+
(emit StatusChanged { entityId: ?id, status: (str/default (object/get @payload @config.statusField) "") })
|
|
31
33
|
StatusChangeFailed -> idle
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -36,10 +38,7 @@ orbital StatusLifecycleOrbital {
|
|
|
36
38
|
entityId : string
|
|
37
39
|
status : string
|
|
38
40
|
}
|
|
39
|
-
StatusPersisted
|
|
40
|
-
id : string
|
|
41
|
-
row : StatusRecord
|
|
42
|
-
}
|
|
41
|
+
StatusPersisted
|
|
43
42
|
StatusChangeFailed -> external {
|
|
44
43
|
error : string
|
|
45
44
|
code : string
|
|
@@ -52,10 +51,7 @@ orbital StatusLifecycleOrbital {
|
|
|
52
51
|
from : string
|
|
53
52
|
to : string
|
|
54
53
|
}
|
|
55
|
-
StatusPersisted
|
|
56
|
-
id : string
|
|
57
|
-
row : StatusRecord
|
|
58
|
-
}
|
|
54
|
+
StatusPersisted
|
|
59
55
|
StatusChangeFailed {
|
|
60
56
|
error : string
|
|
61
57
|
code : string
|
|
@@ -2,7 +2,7 @@ app std-app-layout "1.4.1"
|
|
|
2
2
|
"std-app-layout — dashboard-layout chrome (sidebar nav + top bar with search + topBarActions + notifications) wrapping a single contentTrait slot. Use for list-style apps (CMS / helpdesk / CRM) and account/settings pages: the chrome stays stable while the consumer's content trait renders the data, and the consumer can add domain icons (cart / profile / help) via topBarActions. Bind once per orbital — the consumer rebinds linkedEntity via `XAppLayout = AppShell.traits.AppLayout -> XEntity` so multiple orbitals in one file each get their own chrome without colliding on a shared atom entity."
|
|
3
3
|
;; @capabilities "settings page shell, preferences page, account settings layout, profile settings, admin console shell"
|
|
4
4
|
type NavItem = { label : string!, href : string!, icon : string, badge : string, children : [json] }
|
|
5
|
-
type ItemAction = { label : string!, event :
|
|
5
|
+
type ItemAction = { label : string!, event : event, navigatesTo : string, variant : string, icon : string }
|
|
6
6
|
type NotificationSpec = { id : string, message : string, variant : string }
|
|
7
7
|
orbital AppLayoutOrbital {
|
|
8
8
|
type AppLayoutStateLoaded = Event { data : [AppLayoutData] }
|
|
@@ -119,7 +119,7 @@ orbital AppLayoutOrbital {
|
|
|
119
119
|
@description "Top-level navigation links shown on the left rail."
|
|
120
120
|
@synonyms "nav links, menu items, sidebar sections, navigation entries, pages"
|
|
121
121
|
@tier "presentation"
|
|
122
|
-
searchEvent :
|
|
122
|
+
searchEvent : event = SEARCH
|
|
123
123
|
@label "Search event"
|
|
124
124
|
@description "Event emitted when the user runs a global search"
|
|
125
125
|
@tier "internal"
|
|
@@ -133,7 +133,7 @@ orbital AppLayoutOrbital {
|
|
|
133
133
|
@description "Items shown in the notifications dropdown."
|
|
134
134
|
@synonyms "alerts, messages, notices, notification items, bell items"
|
|
135
135
|
@tier "presentation"
|
|
136
|
-
notificationClickEvent :
|
|
136
|
+
notificationClickEvent : event = NOTIFY_CLICK
|
|
137
137
|
@label "Notification click event"
|
|
138
138
|
@description "Event emitted when the user picks a notification"
|
|
139
139
|
@tier "internal"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
app std-app-search "1.0.0"
|
|
2
2
|
"std-app-search — reusable global search: wraps a host content view and, on a SEARCH trigger, fetches the linked entity filtered by @config.searchField and renders the matching results, then CLEAR_SEARCH returns to the host view. Rebind to any entity; point @config.idleContent at the normal view and wire a trigger (e.g. AppLayout SEARCH) into SEARCH."
|
|
3
3
|
type AppSearchFieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent, event : string, href : string, payload : string, disabled : boolean, confirm : string, hidden : boolean }
|
|
4
|
-
type AppSearchActionSpec = { label : string!, event :
|
|
4
|
+
type AppSearchActionSpec = { label : string!, event : event!, variant : primary | secondary | ghost | danger, icon : string, href : string, payload : string, disabled : boolean, confirm : string, hidden : boolean }
|
|
5
5
|
orbital AppSearchOrbital {
|
|
6
6
|
type AppSearchLoaded = Event { data : [AppSearchTarget] } "Filtered search results loaded"
|
|
7
7
|
type AppSearchFailed = Event { error : string } "Search fetch failed"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
app std-billable-hour "1.0.0"
|
|
2
2
|
"std-billable-hour — generic billable-hour timesheet primitive for legal, agency, and consulting domains. Lists entries in `browsing`; opens entry detail in `viewing_single` with Invoice / Write Off actions."
|
|
3
|
-
type ItemAction = { label : string!, event :
|
|
3
|
+
type ItemAction = { label : string!, event : event, navigatesTo : string, variant : string, icon : string }
|
|
4
4
|
type ColumnSpec = { key : string!, field : string, header : string, width : string, align : string, className : string, weight : string, format : string, icon : string }
|
|
5
5
|
orbital BillableHourOrbital {
|
|
6
6
|
uses TableView from "std/behaviors/ui-table-view"
|
|
@@ -12,7 +12,9 @@ orbital BoardOrbital {
|
|
|
12
12
|
|
|
13
13
|
type BoardItemsLoadFailed = Event { error : string, code : string } "Fired when the upstream fetch fails"
|
|
14
14
|
|
|
15
|
-
type BoardItemsSaved = Event
|
|
15
|
+
type BoardItemsSaved = Event @entity "Fired when a board item has been persisted"
|
|
16
|
+
|
|
17
|
+
type BoardItemDeleted = Event { id : string, deleted : boolean } "Fired when a board item has been deleted — persist delete emits the id and a deleted flag, never the row, so this cannot share BoardItemsSaved's contract"
|
|
16
18
|
|
|
17
19
|
type BoardItemsSaveFailed = Event { error : string, code : string } "Fired when a persist intent fails"
|
|
18
20
|
|
|
@@ -75,6 +77,16 @@ orbital BoardOrbital {
|
|
|
75
77
|
title: "Refreshing board…"
|
|
76
78
|
type: loading-state
|
|
77
79
|
})
|
|
80
|
+
;; Same refresh, different contract: a delete emits { id, deleted }, not
|
|
81
|
+
;; the row, so it cannot ride BoardItemsSaved's payload.
|
|
82
|
+
BoardItemDeleted -> loading
|
|
83
|
+
(fetch BoardView {
|
|
84
|
+
emit: { failure: BoardItemsLoadFailed, success: BoardItemsLoaded }
|
|
85
|
+
})
|
|
86
|
+
(render-ui main {
|
|
87
|
+
title: "Refreshing board…"
|
|
88
|
+
type: loading-state
|
|
89
|
+
})
|
|
78
90
|
BoardItemsSaveFailed -> error
|
|
79
91
|
(set @entity.errorMessage ?error)
|
|
80
92
|
(render-ui main {
|
|
@@ -277,7 +289,7 @@ orbital BoardOrbital {
|
|
|
277
289
|
})
|
|
278
290
|
DELETE_CARD -> loading
|
|
279
291
|
(persist delete BoardView ?id {
|
|
280
|
-
emit: { failure: BoardItemsSaveFailed, success:
|
|
292
|
+
emit: { failure: BoardItemsSaveFailed, success: BoardItemDeleted }
|
|
281
293
|
})
|
|
282
294
|
(render-ui main {
|
|
283
295
|
title: "Deleting item…"
|
|
@@ -378,10 +390,17 @@ orbital BoardOrbital {
|
|
|
378
390
|
@description "Indicates a failure to load board items."
|
|
379
391
|
@synonyms "error, failed, problem, loading failure"
|
|
380
392
|
@tier "internal"
|
|
381
|
-
BoardItemsSaved
|
|
393
|
+
BoardItemsSaved
|
|
382
394
|
@description "Signals that board items have been successfully saved."
|
|
383
395
|
@synonyms "saved, persisted, updated"
|
|
384
396
|
@tier "domain"
|
|
397
|
+
BoardItemDeleted {
|
|
398
|
+
id : string
|
|
399
|
+
deleted : boolean
|
|
400
|
+
}
|
|
401
|
+
@description "Signals a board item has been deleted; carries the deleted row's id, not the row."
|
|
402
|
+
@synonyms "deleted, removed, discarded"
|
|
403
|
+
@tier "domain"
|
|
385
404
|
BoardItemsSaveFailed {
|
|
386
405
|
error : string
|
|
387
406
|
code : string
|
|
@@ -482,10 +501,17 @@ orbital BoardOrbital {
|
|
|
482
501
|
@description "Indicates a failure to load board items."
|
|
483
502
|
@synonyms "error, failed, problem, loading issue"
|
|
484
503
|
@tier "internal"
|
|
485
|
-
BoardItemsSaved
|
|
504
|
+
BoardItemsSaved
|
|
486
505
|
@description "Indicates board items have been successfully saved."
|
|
487
506
|
@synonyms "saved, updated, persisted"
|
|
488
507
|
@tier "presentation"
|
|
508
|
+
BoardItemDeleted {
|
|
509
|
+
id : string
|
|
510
|
+
deleted : boolean
|
|
511
|
+
}
|
|
512
|
+
@description "Indicates a board item has been deleted; carries the deleted row's id, not the row."
|
|
513
|
+
@synonyms "deleted, removed, discarded"
|
|
514
|
+
@tier "presentation"
|
|
489
515
|
BoardItemsSaveFailed {
|
|
490
516
|
error : string
|
|
491
517
|
code : string
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
app std-browse "2.5.0"
|
|
2
2
|
"std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery / master-detail / triage) selects one of six render bodies; dense/feed/gallery were folded in from std-browse-dense/-feed/-gallery (Phase 5.B); master-detail (split record view driven by the guarded VIEW/CLOSE self-transitions) and triage (inbox rows) were folded in 2026-07-26. Consumers retarget by setting browseLook."
|
|
3
3
|
type FieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent, key : string, header : string }
|
|
4
|
-
type ItemAction = { label : string!, event :
|
|
4
|
+
type ItemAction = { label : string!, event : event, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
|
|
5
5
|
type ColumnSpec = { key : string!, field : string, header : string, width : string, align : left | center | right, className : string, weight : normal | medium | semibold, format : badge | date | currency | number | percent | boolean, icon : string }
|
|
6
6
|
type FilterSpec = { field : string!, label : string, options : [string] }
|
|
7
7
|
orbital BrowseItemOrbital {
|
|
@@ -370,7 +370,7 @@ orbital BrowseItemOrbital {
|
|
|
370
370
|
@description "Actions beyond this count collapse into a '⋯' overflow menu. Set 2–3 for dense tables."
|
|
371
371
|
@synonyms "inline actions limit, overflow threshold, max buttons per row"
|
|
372
372
|
@tier "presentation"
|
|
373
|
-
itemClickEvent :
|
|
373
|
+
itemClickEvent : event = VIEW
|
|
374
374
|
@label "Which event does clicking a row fire?"
|
|
375
375
|
@description "Row-click channel. Retarget when two browse lists coexist in one orbital and their VIEW payloads differ, so each gets its own typed channel."
|
|
376
376
|
@synonyms "row click event, item click, open event, select event"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
app std-calendar "1.4.0"
|
|
2
2
|
"std-calendar as a Function — owns the fetch + SELECT_DAY state machine; default bodyContent renders the month-grid + upcoming-events tree. `config.calendarLook` switches the body between the default month-grid ('month'), a day-grouped agenda list ('agenda-list'), and a 7-column week timeline ('week-timeline') while inheriting the same trait, state machine, emits, and listens."
|
|
3
|
-
type ItemAction = { label : string!, event :
|
|
3
|
+
type ItemAction = { label : string!, event : event, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
|
|
4
4
|
type FilterSpec = { field : string!, label : string, options : [string] }
|
|
5
5
|
orbital CalendarEventOrbital {
|
|
6
6
|
type CalendarEventLoaded = Event { data : [CalendarEvent] } "Fired when CalendarEvent finishes loading; payload.data holds the events"
|
|
@@ -234,7 +234,7 @@ orbital CalendarEventOrbital {
|
|
|
234
234
|
@description "Row column holding the timestamp the calendar grid places each chip by. Rebound hosts point this at their own column (e.g. startTime, startsAt, dueAt); the chip's LABEL comes from titleBinding, not from here."
|
|
235
235
|
@synonyms "start column, date column, when field, timestamp field"
|
|
236
236
|
@tier "presentation"
|
|
237
|
-
onEventClick :
|
|
237
|
+
onEventClick : event = ""
|
|
238
238
|
@label "On Event Click"
|
|
239
239
|
@description "Event emitted when a calendar chip is clicked: UI:{onEventClick} with { event } carrying the clicked row. Empty means chips are not clickable."
|
|
240
240
|
@synonyms "open event, event click, select event, chip click"
|
|
@@ -18,9 +18,9 @@ orbital DetailLayoutOrbital {
|
|
|
18
18
|
className: "w-full"
|
|
19
19
|
children: [{
|
|
20
20
|
type: stack
|
|
21
|
-
direction:
|
|
22
|
-
align:
|
|
23
|
-
gap:
|
|
21
|
+
direction: vertical
|
|
22
|
+
align: start
|
|
23
|
+
gap: xs
|
|
24
24
|
className: "w-full border-b border-border pb-3"
|
|
25
25
|
children: [{
|
|
26
26
|
type: button
|
|
@@ -14,7 +14,7 @@ orbital EventLogOrbital {
|
|
|
14
14
|
|
|
15
15
|
type EventLogLoadFailed = Event { error : string, code : string } "Fired when fetch fails"
|
|
16
16
|
|
|
17
|
-
type EventLogSaved = Event
|
|
17
|
+
type EventLogSaved = Event @entity "Fired when an entry has been persisted"
|
|
18
18
|
|
|
19
19
|
type EventLogSaveFailed = Event { error : string, code : string } "Fired when persist fails"
|
|
20
20
|
|
|
@@ -500,7 +500,7 @@ orbital EventLogOrbital {
|
|
|
500
500
|
@description "Indicates that loading the event log failed."
|
|
501
501
|
@synonyms "error, failure, failed, problem"
|
|
502
502
|
@tier "internal"
|
|
503
|
-
EventLogSaved
|
|
503
|
+
EventLogSaved
|
|
504
504
|
@description "Indicates a new event has been successfully logged."
|
|
505
505
|
@synonyms "saved, added, created, recorded"
|
|
506
506
|
@tier "domain"
|
|
@@ -547,7 +547,7 @@ orbital EventLogOrbital {
|
|
|
547
547
|
@description "Indicates the event log failed to load."
|
|
548
548
|
@synonyms "error, failure, failed, loading error"
|
|
549
549
|
@tier "internal"
|
|
550
|
-
EventLogSaved
|
|
550
|
+
EventLogSaved
|
|
551
551
|
@description "Indicates a new event has been successfully recorded."
|
|
552
552
|
@synonyms "saved, added, created, persisted"
|
|
553
553
|
@tier "domain"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
app std-file-store "2.0.0"
|
|
2
2
|
"std-file-store — the generic file/page tree primitive. A file-tree + config-driven data table over a hierarchical collection; opens a row in `viewing_single` with config-driven detail actions. Rebindable: pass `fields`/`itemActions`/`detailActions`/`tree` to retarget it at any hierarchical entity (files, wiki pages, note trees). Folds in the former std-page-tree via `reorderable` + a page field/action set."
|
|
3
3
|
type FieldSpec = { name : string!, label : string, variant : "h3" | "h4" | "body" | "caption" | "badge" | "small" | "progress", icon : string, format : "date" | "currency" | "number" | "boolean" | "percent", key : string, header : string }
|
|
4
|
-
type ItemAction = { label : string!, event :
|
|
4
|
+
type ItemAction = { label : string!, event : event!, variant : "primary" | "secondary" | "ghost" | "danger", icon : string }
|
|
5
5
|
type TreeNode = { name : string!, path : string!, type : "file" | "dir"!, children : [object] }
|
|
6
6
|
orbital StoredFileOrbital {
|
|
7
7
|
type StoredFileLoaded = Event { data : [StoredFile] } "Fired when the collection finishes loading"
|
|
@@ -82,7 +82,7 @@ orbital FilterTargetOrbital {
|
|
|
82
82
|
@description "Field, label, control type, and options for each filter input. numberrange renders a min/max slider pair (bounded by min/max/step) and emits one FILTER per side as `<field>_min` / `<field>_max`, mirroring daterange's `<field>_from` / `<field>_to` convention."
|
|
83
83
|
@synonyms "numeric range, price range, min max, slider filter, range filter, threshold filter"
|
|
84
84
|
@tier "presentation"
|
|
85
|
-
event :
|
|
85
|
+
event : event = FILTER
|
|
86
86
|
@label "Filter event"
|
|
87
87
|
@description "Event emitted when the user changes a filter selection"
|
|
88
88
|
@tier "internal"
|
|
@@ -3,7 +3,7 @@ app std-form-advanced "1.2.0"
|
|
|
3
3
|
type FieldSpec = { name : string!, label : string, variant : string, icon : string, format : string, key : string, header : string }
|
|
4
4
|
type ValidationSpec = { field : string!, rule : string, message : string }
|
|
5
5
|
orbital FormEntryOrbital {
|
|
6
|
-
type FormEntryLoaded = Event FormEntry "Fired when FormEntry finishes loading"
|
|
6
|
+
type FormEntryLoaded = Event { data : [FormEntry] } "Fired when FormEntry finishes loading"
|
|
7
7
|
|
|
8
8
|
type FormEntryLoadFailed = Event { message : string } "Fired when FormEntry fails to load"
|
|
9
9
|
|
|
@@ -112,7 +112,7 @@ orbital GeoSearchResultOrbital {
|
|
|
112
112
|
@label "Default radius (km)"
|
|
113
113
|
@description "Initial search radius around the chosen center"
|
|
114
114
|
@tier "presentation"
|
|
115
|
-
event :
|
|
115
|
+
event : event = GEO_SEARCH
|
|
116
116
|
@label "Search event"
|
|
117
117
|
@description "Event emitted when the user runs a geo search"
|
|
118
118
|
@tier "internal"
|
|
@@ -128,7 +128,7 @@ orbital GraphItemOrbital {
|
|
|
128
128
|
@description "Keep only the first N points after sorting (0 = all)"
|
|
129
129
|
@synonyms "user phrases: 'top 5' -> 5; 'top 10' -> 10; 'first 3' -> 3; 'all' / 'no limit' -> 0; 'show all' -> 0"
|
|
130
130
|
@tier "presentation"
|
|
131
|
-
drillEvent :
|
|
131
|
+
drillEvent : event = ""
|
|
132
132
|
@label "Drill event"
|
|
133
133
|
@description "Event emitted when a user clicks a chart point"
|
|
134
134
|
@synonyms "click-through navigation event. user phrases: 'on click navigate to X' / 'drill into X' / 'when clicked open X' -> X event name"
|
|
@@ -9,7 +9,7 @@ orbital UploadedImageOrbital {
|
|
|
9
9
|
|
|
10
10
|
type UploadedImageLoadFailed = Event { error : string, code : string } "Fired when the uploaded-image collection fails to load"
|
|
11
11
|
|
|
12
|
-
type UploadedImageCreated = Event
|
|
12
|
+
type UploadedImageCreated = Event UploadedImage "Fired after a new uploaded image persists successfully"
|
|
13
13
|
|
|
14
14
|
type UploadedImageDeleted = Event { id : string! } "Fired after an uploaded image is removed"
|
|
15
15
|
|
|
@@ -225,9 +225,7 @@ orbital UploadedImageOrbital {
|
|
|
225
225
|
@description "Indicates an image failed to load during the upload process."
|
|
226
226
|
@synonyms "error, failure, problem, unsuccessful"
|
|
227
227
|
@tier "internal"
|
|
228
|
-
UploadedImageCreated
|
|
229
|
-
row : UploadedImage
|
|
230
|
-
}
|
|
228
|
+
UploadedImageCreated
|
|
231
229
|
@description "A new image has been successfully uploaded."
|
|
232
230
|
@synonyms "added, new, received"
|
|
233
231
|
@tier "domain"
|
|
@@ -286,9 +284,7 @@ orbital UploadedImageOrbital {
|
|
|
286
284
|
@description "Indicates an image failed to load during the upload process."
|
|
287
285
|
@synonyms "error, failure, problem, unsuccessful"
|
|
288
286
|
@tier "internal"
|
|
289
|
-
UploadedImageCreated
|
|
290
|
-
row : UploadedImage
|
|
291
|
-
}
|
|
287
|
+
UploadedImageCreated
|
|
292
288
|
@description "A new image has been successfully uploaded."
|
|
293
289
|
@synonyms "added, received, new image"
|
|
294
290
|
@tier "domain"
|
|
@@ -154,7 +154,7 @@ orbital ModalRecordOrbital {
|
|
|
154
154
|
@description "Per-field label/placeholder/hint overrides, keyed by field name. Types, options and required-ness stay entity-schema-driven (declare once on the entity); override only display copy the entity's @description doesn't fit."
|
|
155
155
|
@synonyms "field labels, custom labels, help text overrides, placeholder text"
|
|
156
156
|
@tier "presentation"
|
|
157
|
-
mode :
|
|
157
|
+
mode : "create" | "edit" = create
|
|
158
158
|
@label "Is this for creating or editing?"
|
|
159
159
|
@description "create = blank form; edit = pre-filled from the selected row."
|
|
160
160
|
@synonyms "form mode, create or edit, new or update, add or modify"
|
|
@@ -97,7 +97,7 @@ orbital PagedItemOrbital {
|
|
|
97
97
|
@label "Page size"
|
|
98
98
|
@description "Rows per page used to derive total page count"
|
|
99
99
|
@tier "presentation"
|
|
100
|
-
event :
|
|
100
|
+
event : event = PAGE
|
|
101
101
|
@label "Page-change event"
|
|
102
102
|
@description "Event emitted when the user picks a new page"
|
|
103
103
|
@tier "internal"
|
|
@@ -12,7 +12,7 @@ orbital RatingReviewOrbital {
|
|
|
12
12
|
|
|
13
13
|
type ReviewsLoadFailed = Event { error : string, code : string } "Fired when reviews fetch fails"
|
|
14
14
|
|
|
15
|
-
type ReviewSaved = Event
|
|
15
|
+
type ReviewSaved = Event ReviewView "Fired after a new review persists successfully"
|
|
16
16
|
|
|
17
17
|
type ReviewSaveFailed = Event { error : string, code : string } "Fired when persist fails"
|
|
18
18
|
|
|
@@ -1086,7 +1086,7 @@ orbital RatingReviewOrbital {
|
|
|
1086
1086
|
@description "Indicates that loading reviews was unsuccessful."
|
|
1087
1087
|
@synonyms "failed, error, problem, unsuccessful"
|
|
1088
1088
|
@tier "internal"
|
|
1089
|
-
ReviewSaved
|
|
1089
|
+
ReviewSaved
|
|
1090
1090
|
@description "Indicates a review has been successfully saved."
|
|
1091
1091
|
@synonyms "saved, persisted, updated"
|
|
1092
1092
|
@tier "domain"
|
|
@@ -1149,7 +1149,7 @@ orbital RatingReviewOrbital {
|
|
|
1149
1149
|
@description "Indicates that loading reviews was unsuccessful."
|
|
1150
1150
|
@synonyms "failure, error, problem, unsuccessful"
|
|
1151
1151
|
@tier "internal"
|
|
1152
|
-
ReviewSaved
|
|
1152
|
+
ReviewSaved
|
|
1153
1153
|
@description "Indicates a review has been successfully stored."
|
|
1154
1154
|
@synonyms "saved, persisted, updated"
|
|
1155
1155
|
@tier "presentation"
|
|
@@ -1456,7 +1456,7 @@ orbital RatingReviewOrbital {
|
|
|
1456
1456
|
@description "Triggers a refresh of the review data and UI."
|
|
1457
1457
|
@synonyms "refresh, reload, reset"
|
|
1458
1458
|
@tier "internal"
|
|
1459
|
-
ReviewSaved
|
|
1459
|
+
ReviewSaved
|
|
1460
1460
|
@description "Indicates a review has been successfully stored."
|
|
1461
1461
|
@synonyms "saved, persisted, updated"
|
|
1462
1462
|
@tier "presentation"
|
|
@@ -1490,7 +1490,7 @@ orbital RatingReviewOrbital {
|
|
|
1490
1490
|
@description "Triggers a refresh of the review data and UI."
|
|
1491
1491
|
@synonyms "refresh, reload, reset"
|
|
1492
1492
|
@tier "internal"
|
|
1493
|
-
ReviewSaved
|
|
1493
|
+
ReviewSaved
|
|
1494
1494
|
@description "Indicates a review has been successfully stored."
|
|
1495
1495
|
@synonyms "saved, persisted, updated"
|
|
1496
1496
|
@tier "presentation"
|