@almadar/std 16.253.0 → 16.255.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/agent/atoms/std-agent-pool.lolo +355 -0
- package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +159 -0
- package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +321 -26
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-memory.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -0
- package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
- package/behaviors/registry/agent/evals/eval-agent-builder.orb +1 -0
- package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
- package/behaviors/registry/agent/organisms/std-agent-builder.orb +1 -1
- package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
- package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
- package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
- package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
- package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
- package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
- package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
- package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
- package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
- package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
- package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
- package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
- package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
- package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
- package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
- package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
- package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
- package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
- package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
- package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-exact-check.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-lookup.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
- package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
- package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
- package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
- package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
- package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
- package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-date-range.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-geosearch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-role-gate.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-search.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
- 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-center.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-image.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 +1 -1
- package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-svg-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 +1 -1
- package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
- 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 +1 -1
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.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/organisms/ui-toast-slot.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
- package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
- package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
- package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
- 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 +1 -1
- 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/dist/behaviors-embeddings.hash.json +2 -2
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +2 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-graphs","version":"2.0.0","description":"std-graphs — embeddable chart atom. ITEMS_LOADED keeps the rows whose @config.filterField equals @config.filterValue (blank = all), groups them by @config.categoryField, or (timeAxis=true) by the @config.period bucket of @config.timeField — rows without a time value (or, by category, without a category value) have no bucket to land in and are left out — and aggregates per bucket. Multi-series rendering via @config.series (preformatted ChartSeries shape). Histograms via chartType=histogram pass pre-binned @payload.data through unchanged. Stacked / 100% stacked bars via @config.stack. Post-process sort + limit. Clicking a data point emits UI:@config.drillEvent with { label, value, seriesLabel? }. Drop into a dashboard alongside std-stats / std-browse.","orbitals":[{"name":"GraphItemOrbital","id":"orb_6WKFQDBPEZV7FVE6E055TQRGBX","entity":{"name":"GraphItem","id":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","default":""},{"name":"chartData","type":"array","default":[{"label":"Active","value":6},{"label":"Pending","value":3},{"label":"Inactive","value":1}],"items":{"type":"object","properties":{"value":{"name":"value","type":"number","required":true},"label":{"name":"label","type":"string","required":true}}},"intrinsic":true,"description":"The data points used to render the chart.","synonyms":"data, values, points"}]},"traits":[{"name":"GraphItemGraph","id":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z","entityRebindable":true,"entityContract":{"requires":[],"provides":["chartData"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.chartData"}],"category":"interaction","linkedEntity":"GraphItem","linkedEntityId":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","entityRefIds":{"GraphItem":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","name":"Initialize"},{"key":"ITEMS_LOADED","id":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","name":"Items Loaded","description":"Data has been retrieved and processed for display.","synonyms":"data ready, update, refresh, loaded","tier":"domain","payloadSchema":[{"name":"data","type":"[@entity(rowEntity)]"},{"name":"totalCount","type":"number"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","effects":[["render-ui","main",{"chartType":"@config.chartType","data":["array/map","@entity.chartData",["fn","p",{"label":["object/get","@config.categoryLabels","@p.label","@p.label"],"value":"@p.value"}]],"drillEvent":"@config.drillEvent","height":"@config.height","series":"@config.series","showLegend":"@config.showLegend","showValues":"@config.showValues","stack":"@config.stack","subtitle":"@config.subtitle","timeAxis":"@config.timeAxis","period":"@config.period","title":"@config.title","type":"@config.viewPattern"}]]},{"from":"idle","to":"idle","event":"ITEMS_LOADED","eventId":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","effects":[["let",[["rows",["if",["=","@config.filterField",""],"@payload.data",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.filterField"],"@config.filterValue"]]]]]],["set","@entity.chartData",["if",["=","@config.chartType","histogram"],["array/map","@rows",["fn","p",{"label":["object/get","@p","label"],"value":["object/get","@p","value"]}]],["array/map",["object/entries",["if","@config.timeAxis",["array/groupBy",["array/map",["array/filter","@rows",["fn","row",["validate/required",["object/get","@row","@config.timeField"]]]],["fn","row",["object/set","@row","periodStart",["time/startOf",["time/parse",["object/get","@row","@config.timeField"]],"@config.period"]]]],"periodStart"],["array/groupBy",["array/filter","@rows",["fn","row",["validate/required",["object/get","@row","@config.categoryField"]]]],"@config.categoryField"]]],["fn","entry",{"label":["object/get","@entry","0"],"value":["if",["=","@config.aggregation","sum"],["array/sum",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","avg"],["array/avg",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","min"],["array/min",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","max"],["array/max",["object/get","@entry","1"],"@config.valueField"],["array/len",["object/get","@entry","1"]]]]]]}]]]]],["set","@entity.chartData",["if","@config.timeAxis",["array/sort","@entity.chartData","label","asc"],"@entity.chartData"]],["set","@entity.chartData",["if",["!=","@config.sortField","none"],["array/sort","@entity.chartData","@config.sortField","@config.sortDir"],"@entity.chartData"]],["set","@entity.chartData",["if",[">","@config.limit",0],["array/take","@entity.chartData","@config.limit"],"@entity.chartData"]],["render-ui","main",{"chartType":"@config.chartType","data":["array/map","@entity.chartData",["fn","p",{"label":["object/get","@config.categoryLabels","@p.label","@p.label"],"value":"@p.value"}]],"drillEvent":"@config.drillEvent","height":"@config.height","series":"@config.series","showLegend":"@config.showLegend","showValues":"@config.showValues","stack":"@config.stack","subtitle":"@config.subtitle","timeAxis":"@config.timeAxis","period":"@config.period","title":"@config.title","type":"@config.viewPattern"}]]}]},"config":{"subtitle":{"type":"string","default":"Counts per category","label":"Subtitle","description":"Secondary line below the title","synonyms":"secondary header below the title. user phrases: 'with subtitle X' / 'set subtitle to X' -> X","tier":"presentation"},"showLegend":{"type":"boolean","default":true,"label":"Show legend","description":"Display the series legend","synonyms":"true shows the color key. user phrases: 'show legend' / 'show the legend' / 'show key' / 'with legend' / 'with a legend' -> true; 'hide legend' / 'no legend' / 'without legend' / 'remove legend' -> false","tier":"presentation"},"categoryField":{"type":"string","default":"status","label":"Group / categorize / bucket / split by field","description":"Entity field whose values become the chart's category buckets. Set this when the user voices 'group by X' / 'categorize by X' / 'bucket by X' / 'split by X' / 'break down by X' for any non-time field X (for time-units, set period + timeAxis=true instead).","synonyms":"regroup / rebucket / categorize / breakdown by / split by / segment by. user phrases: 'group by status' -> categoryField=status; 'group by region' / 'by region' -> categoryField=region; 'group by category' / 'by category' -> categoryField=category; 'group by product' / 'by product' -> categoryField=product; 'group by month' / 'by month' -> categoryField=month (when explicitly requested as a category, not a time bucket); 'split by X' / 'break down by X' / 'segment by X' / 'bucket by X' -> categoryField=X","tier":"presentation"},"drillEvent":{"type":"event","default":"","label":"Drill event","description":"Event emitted when a user clicks a chart point","synonyms":"click-through navigation event. user phrases: 'on click navigate to X' / 'drill into X' / 'when clicked open X' -> X event name","tier":"internal"},"title":{"type":"string","default":"Distribution","label":"Title","description":"Heading shown above the chart","synonyms":"the chart's header text. user phrases: 'rename to X' / 'title it X' / 'change the title to X' / 'call it X' -> X","tier":"presentation"},"showValues":{"type":"boolean","default":false,"label":"Show values","description":"Render the numeric value on top of each data point","synonyms":"user phrases: 'show values' / 'show numbers on bars' / 'with data labels' / 'label the bars' -> true; 'hide values' / 'no labels' -> false","tier":"presentation"},"series":{"type":"[SeriesSpec]","default":[],"label":"Series","description":"Pre-formatted multi-series spec for stacked or layered charts","synonyms":"multiple lines / bars per category. user phrases: 'compare X and Y' -> add two series entries","tier":"presentation","items":{"type":"object","properties":{"dashed":{"name":"dashed","type":"boolean","required":false},"color":{"name":"color","type":"string","required":false},"name":{"name":"name","type":"string","required":true},"data":{"name":"data","type":"array","required":true,"items":{"type":"object","properties":{"value":{"name":"value","type":"number","required":true},"label":{"name":"label","type":"string","required":true}}}}}}},"valueField":{"type":"string","default":"","label":"Value field","description":"Numeric field aggregated per bucket (blank = row count)","synonyms":"the numeric column to aggregate. empty string counts rows. user phrases: 'sum revenue' -> valueField=revenue + aggregation=sum","tier":"presentation"},"timeField":{"type":"string","default":"date","label":"Date field","description":"Entity field used as the time axis when timeAxis is on","synonyms":"the date / timestamp / created-at column. set when timeAxis=true","tier":"presentation"},"period":{"type":"string","default":"month","label":"Group by month / quarter / week / day / year","description":"Group by month, quarter, week, day, or year — the calendar bucket the chart groups data into. Set ALONGSIDE timeAxis=true whenever the user says 'group by <time-unit>' or 'by <time-unit>' or 'rebucket to <time-unit>' or 'instead of <other-time-unit>'.","synonyms":"regroup / rebucket / change bucket / group differently. user phrases: 'group by month' / 'by month' / 'monthly' / 'monthly buckets' / 'switch to monthly' / 'instead of quarter' -> month; 'group by quarter' / 'by quarter' / 'quarterly' -> quarter; 'group by week' / 'by week' / 'weekly' / 'weekly buckets' -> week; 'group by day' / 'by day' / 'daily' / 'daily buckets' -> day; 'group by year' / 'by year' / 'yearly' / 'annually' -> year. Whenever the user voices 'group by <time-unit>' BOTH period AND timeAxis=true should be set.","tier":"presentation","values":["day","week","month","quarter","year"]},"categoryLabels":{"type":"Map<string,string>","default":{},"label":"Category labels","description":"Display name for each category key (such as a stage key to its translated name); read only when rendering, so the names may be translated. A key without an entry shows as itself","tier":"presentation","items":{"type":"string"}},"filterField":{"type":"string","default":"","label":"Only count rows where field","description":"Row field a row must match to be charted (blank = every row), compared with filterValue — e.g. status + paid charts paid invoices only","synonyms":"only include, where, filter by, restrict to. user phrases: 'only paid invoices' -> filterField=status + filterValue=paid; 'just the open deals' -> filterField=status + filterValue=open","tier":"presentation"},"chartType":{"type":"string","default":"bar","label":"Chart type","description":"Visual format for the rendered chart","synonyms":"bar = vertical bars, line = connected line, pie = pie chart, donut = pie with hole, area = filled area chart, histogram = frequency distribution, scatter = XY scatter. user phrases: 'switch to donut' / 'make it a donut' / 'as a donut chart' -> donut; 'use a pie chart' -> pie; 'show as line' / 'line chart' -> line; 'as bars' / 'bar chart' -> bar","tier":"presentation","values":["bar","line","pie","area","donut","histogram","scatter"]},"sortField":{"type":"string","default":"none","label":"Sort by","description":"Order points by value, label, or leave unsorted","synonyms":"user phrases: 'sort by value' / 'order by amount' -> value; 'sort alphabetically' / 'sort by name' -> label; 'no sort' / 'leave order' -> none","tier":"presentation","values":["value","label","none"]},"limit":{"type":"number","default":0,"label":"Top N","description":"Keep only the first N points after sorting (0 = all)","synonyms":"user phrases: 'top 5' -> 5; 'top 10' -> 10; 'first 3' -> 3; 'all' / 'no limit' -> 0; 'show all' -> 0","tier":"presentation"},"height":{"type":"number","default":280,"label":"Chart height","description":"Pixel height of the rendered chart","synonyms":"vertical size in pixels. user phrases: 'taller' / 'make it taller' / 'increase height' / 'bigger vertically' -> larger number (e.g. 300, 400); 'shorter' / 'smaller' -> smaller; 'set height to 300' / '300px tall' -> 300","tier":"presentation"},"viewPattern":{"type":"pattern","default":"chart","label":"Render pattern","description":"UI pattern used to draw the chart","synonyms":"internal pattern selector. user prompts rarely target this directly — pattern selection is upstream","tier":"internal"},"sortDir":{"type":"string","default":"desc","label":"Sort direction","description":"Ascending or descending order for the sort field","synonyms":"asc = ascending = lowest-to-highest = low-to-high = smallest-first. desc = descending = highest-to-lowest = high-to-low = largest-first. user phrases: 'highest to lowest' / 'largest first' / 'descending' -> desc; 'lowest to highest' / 'smallest first' / 'ascending' -> asc","tier":"presentation","values":["asc","desc"]},"aggregation":{"type":"string","default":"count","label":"Aggregation","description":"How values within a bucket combine into one number","synonyms":"user phrases: 'count' / 'how many' -> count; 'total' / 'sum of' -> sum; 'average' / 'mean' -> avg; 'minimum' / 'lowest' -> min; 'maximum' / 'highest' -> max","tier":"presentation","values":["count","sum","avg","min","max"]},"stack":{"type":"string","default":"none","label":"Stacking","description":"Stack bars, normalize to 100%, or render side-by-side","synonyms":"user phrases: 'side by side' / 'grouped' -> none; 'stacked' / 'stack the bars' -> stack; 'percent stacked' / '100% stacked' / 'normalized' -> normalize","tier":"presentation","values":["none","stack","normalize"]},"timeAxis":{"type":"boolean","default":false,"label":"Time axis","description":"Group by timeField bucketed by period instead of categoryField","synonyms":"true means group by date / month / time. user phrases: 'group by month / week / year / date' -> set timeAxis=true; 'group by status / category' -> timeAxis=false","tier":"presentation"},"filterValue":{"type":"string","default":"","label":"Equals","description":"The value filterField must equal for a row to be charted","synonyms":"the kept value. user phrases: 'only paid' -> paid; 'just active ones' -> active","tier":"presentation"},"rowEntity":{"type":"entity","default":"GraphItem","label":"Entity of the rows","description":"The entity whose rows ITEMS_LOADED delivers; categoryField, timeField, filterField and valueField name fields of it","synonyms":"source entity, rows of, data entity","tier":"internal","refId":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT"}},"scope":"instance"}],"pages":[{"name":"GraphItemGraphPage","id":"pag_M7H148WYQHFBRY366GHFAZJ06V","path":"/graphitems","traits":[{"ref":"GraphItemGraph","refId":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"}]}],"types":{"ChartPoint":[{"name":"label","type":"string","required":true},{"name":"value","type":"number","required":true}],"SeriesSpec":[{"name":"name","type":"string","required":true},{"name":"data","type":"[object]","required":true,"properties":[{"name":"label","type":"string","required":true},{"name":"value","type":"number","required":true}]},{"name":"color","type":"string"},{"name":"dashed","type":"boolean"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_CH2BVH8WM4EA20H1YBGW6XH0BT":{"id":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","kind":"entity","bakedName":"GraphItem","curName":"GraphItem","renames":[],"owner":"workspace"},"evt_6D0R28J6NP3AVDBT8QN6CA43HZ":{"id":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","kind":"event","bakedName":"ITEMS_LOADED","curName":"ITEMS_LOADED","renames":[],"owner":"workspace","parent":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"},"evt_X7VJX2KF36QHKAW15AZ6DRPFH3":{"id":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"},"orb_6WKFQDBPEZV7FVE6E055TQRGBX":{"id":"orb_6WKFQDBPEZV7FVE6E055TQRGBX","kind":"orbital","bakedName":"GraphItemOrbital","curName":"GraphItemOrbital","renames":[],"owner":"workspace"},"pag_M7H148WYQHFBRY366GHFAZJ06V":{"id":"pag_M7H148WYQHFBRY366GHFAZJ06V","kind":"page","bakedName":"GraphItemGraphPage","curName":"GraphItemGraphPage","renames":[],"owner":"workspace"},"trt_H829K2T8PJ4B9FA6KE2A55WT7Z":{"id":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z","kind":"trait","bakedName":"GraphItemGraph","curName":"GraphItemGraph","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-graphs","version":"2.0.0","description":"std-graphs — embeddable chart atom. ITEMS_LOADED keeps the rows whose @config.filterField equals @config.filterValue (blank = all), groups them by @config.categoryField, or (timeAxis=true) by the @config.period bucket of @config.timeField — rows without a time value (or, by category, without a category value) have no bucket to land in and are left out — and aggregates per bucket. Multi-series rendering via @config.series (preformatted ChartSeries shape). Histograms via chartType=histogram pass pre-binned @payload.data through unchanged. Stacked / 100% stacked bars via @config.stack. Post-process sort + limit. Clicking a data point emits UI:@config.drillEvent with { label, value, seriesLabel? }. Drop into a dashboard alongside std-stats / std-browse.","orbitals":[{"name":"GraphItemOrbital","id":"orb_6WKFQDBPEZV7FVE6E055TQRGBX","entity":{"name":"GraphItem","id":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"status","type":"string","default":""},{"name":"chartData","type":"array","default":[{"label":"Active","value":6},{"label":"Pending","value":3},{"label":"Inactive","value":1}],"items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"value":{"name":"value","type":"number","required":true}}},"intrinsic":true,"description":"The data points used to render the chart.","synonyms":"data, values, points"}]},"traits":[{"name":"GraphItemGraph","id":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z","entityRebindable":true,"entityContract":{"requires":[],"provides":["chartData"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.chartData"}],"category":"interaction","linkedEntity":"GraphItem","linkedEntityId":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","entityRefIds":{"GraphItem":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","name":"Initialize"},{"key":"ITEMS_LOADED","id":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","name":"Items Loaded","description":"Data has been retrieved and processed for display.","synonyms":"data ready, update, refresh, loaded","tier":"domain","payloadSchema":[{"name":"data","type":"[@entity(rowEntity)]"},{"name":"totalCount","type":"number"}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","effects":[["render-ui","main",{"chartType":"@config.chartType","data":["array/map","@entity.chartData",["fn","p",{"label":["object/get","@config.categoryLabels","@p.label","@p.label"],"value":"@p.value"}]],"drillEvent":"@config.drillEvent","height":"@config.height","series":"@config.series","showLegend":"@config.showLegend","showValues":"@config.showValues","stack":"@config.stack","subtitle":"@config.subtitle","timeAxis":"@config.timeAxis","period":"@config.period","title":"@config.title","type":"@config.viewPattern"}]]},{"from":"idle","to":"idle","event":"ITEMS_LOADED","eventId":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","effects":[["let",[["rows",["if",["=","@config.filterField",""],"@payload.data",["array/filter","@payload.data",["fn","row",["=",["object/get","@row","@config.filterField"],"@config.filterValue"]]]]]],["set","@entity.chartData",["if",["=","@config.chartType","histogram"],["array/map","@rows",["fn","p",{"label":["object/get","@p","label"],"value":["object/get","@p","value"]}]],["array/map",["object/entries",["if","@config.timeAxis",["array/groupBy",["array/map",["array/filter","@rows",["fn","row",["validate/required",["object/get","@row","@config.timeField"]]]],["fn","row",["object/set","@row","periodStart",["time/startOf",["time/parse",["object/get","@row","@config.timeField"]],"@config.period"]]]],"periodStart"],["array/groupBy",["array/filter","@rows",["fn","row",["validate/required",["object/get","@row","@config.categoryField"]]]],"@config.categoryField"]]],["fn","entry",{"label":["object/get","@entry","0"],"value":["if",["=","@config.aggregation","sum"],["array/sum",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","avg"],["array/avg",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","min"],["array/min",["object/get","@entry","1"],"@config.valueField"],["if",["=","@config.aggregation","max"],["array/max",["object/get","@entry","1"],"@config.valueField"],["array/len",["object/get","@entry","1"]]]]]]}]]]]],["set","@entity.chartData",["if","@config.timeAxis",["array/sort","@entity.chartData","label","asc"],"@entity.chartData"]],["set","@entity.chartData",["if",["!=","@config.sortField","none"],["array/sort","@entity.chartData","@config.sortField","@config.sortDir"],"@entity.chartData"]],["set","@entity.chartData",["if",[">","@config.limit",0],["array/take","@entity.chartData","@config.limit"],"@entity.chartData"]],["render-ui","main",{"chartType":"@config.chartType","data":["array/map","@entity.chartData",["fn","p",{"label":["object/get","@config.categoryLabels","@p.label","@p.label"],"value":"@p.value"}]],"drillEvent":"@config.drillEvent","height":"@config.height","series":"@config.series","showLegend":"@config.showLegend","showValues":"@config.showValues","stack":"@config.stack","subtitle":"@config.subtitle","timeAxis":"@config.timeAxis","period":"@config.period","title":"@config.title","type":"@config.viewPattern"}]]}]},"config":{"period":{"type":"string","default":"month","label":"Group by month / quarter / week / day / year","description":"Group by month, quarter, week, day, or year — the calendar bucket the chart groups data into. Set ALONGSIDE timeAxis=true whenever the user says 'group by <time-unit>' or 'by <time-unit>' or 'rebucket to <time-unit>' or 'instead of <other-time-unit>'.","synonyms":"regroup / rebucket / change bucket / group differently. user phrases: 'group by month' / 'by month' / 'monthly' / 'monthly buckets' / 'switch to monthly' / 'instead of quarter' -> month; 'group by quarter' / 'by quarter' / 'quarterly' -> quarter; 'group by week' / 'by week' / 'weekly' / 'weekly buckets' -> week; 'group by day' / 'by day' / 'daily' / 'daily buckets' -> day; 'group by year' / 'by year' / 'yearly' / 'annually' -> year. Whenever the user voices 'group by <time-unit>' BOTH period AND timeAxis=true should be set.","tier":"presentation","values":["day","week","month","quarter","year"]},"showLegend":{"type":"boolean","default":true,"label":"Show legend","description":"Display the series legend","synonyms":"true shows the color key. user phrases: 'show legend' / 'show the legend' / 'show key' / 'with legend' / 'with a legend' -> true; 'hide legend' / 'no legend' / 'without legend' / 'remove legend' -> false","tier":"presentation"},"stack":{"type":"string","default":"none","label":"Stacking","description":"Stack bars, normalize to 100%, or render side-by-side","synonyms":"user phrases: 'side by side' / 'grouped' -> none; 'stacked' / 'stack the bars' -> stack; 'percent stacked' / '100% stacked' / 'normalized' -> normalize","tier":"presentation","values":["none","stack","normalize"]},"timeField":{"type":"string","default":"date","label":"Date field","description":"Entity field used as the time axis when timeAxis is on","synonyms":"the date / timestamp / created-at column. set when timeAxis=true","tier":"presentation"},"height":{"type":"number","default":280,"label":"Chart height","description":"Pixel height of the rendered chart","synonyms":"vertical size in pixels. user phrases: 'taller' / 'make it taller' / 'increase height' / 'bigger vertically' -> larger number (e.g. 300, 400); 'shorter' / 'smaller' -> smaller; 'set height to 300' / '300px tall' -> 300","tier":"presentation"},"filterValue":{"type":"string","default":"","label":"Equals","description":"The value filterField must equal for a row to be charted","synonyms":"the kept value. user phrases: 'only paid' -> paid; 'just active ones' -> active","tier":"presentation"},"aggregation":{"type":"string","default":"count","label":"Aggregation","description":"How values within a bucket combine into one number","synonyms":"user phrases: 'count' / 'how many' -> count; 'total' / 'sum of' -> sum; 'average' / 'mean' -> avg; 'minimum' / 'lowest' -> min; 'maximum' / 'highest' -> max","tier":"presentation","values":["count","sum","avg","min","max"]},"sortField":{"type":"string","default":"none","label":"Sort by","description":"Order points by value, label, or leave unsorted","synonyms":"user phrases: 'sort by value' / 'order by amount' -> value; 'sort alphabetically' / 'sort by name' -> label; 'no sort' / 'leave order' -> none","tier":"presentation","values":["value","label","none"]},"sortDir":{"type":"string","default":"desc","label":"Sort direction","description":"Ascending or descending order for the sort field","synonyms":"asc = ascending = lowest-to-highest = low-to-high = smallest-first. desc = descending = highest-to-lowest = high-to-low = largest-first. user phrases: 'highest to lowest' / 'largest first' / 'descending' -> desc; 'lowest to highest' / 'smallest first' / 'ascending' -> asc","tier":"presentation","values":["asc","desc"]},"categoryLabels":{"type":"Map<string,string>","default":{},"label":"Category labels","description":"Display name for each category key (such as a stage key to its translated name); read only when rendering, so the names may be translated. A key without an entry shows as itself","tier":"presentation","items":{"type":"string"}},"chartType":{"type":"string","default":"bar","label":"Chart type","description":"Visual format for the rendered chart","synonyms":"bar = vertical bars, line = connected line, pie = pie chart, donut = pie with hole, area = filled area chart, histogram = frequency distribution, scatter = XY scatter. user phrases: 'switch to donut' / 'make it a donut' / 'as a donut chart' -> donut; 'use a pie chart' -> pie; 'show as line' / 'line chart' -> line; 'as bars' / 'bar chart' -> bar","tier":"presentation","values":["bar","line","pie","area","donut","histogram","scatter"]},"limit":{"type":"number","default":0,"label":"Top N","description":"Keep only the first N points after sorting (0 = all)","synonyms":"user phrases: 'top 5' -> 5; 'top 10' -> 10; 'first 3' -> 3; 'all' / 'no limit' -> 0; 'show all' -> 0","tier":"presentation"},"rowEntity":{"type":"entity","default":"GraphItem","label":"Entity of the rows","description":"The entity whose rows ITEMS_LOADED delivers; categoryField, timeField, filterField and valueField name fields of it","synonyms":"source entity, rows of, data entity","tier":"internal","refId":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT"},"subtitle":{"type":"string","default":"Counts per category","label":"Subtitle","description":"Secondary line below the title","synonyms":"secondary header below the title. user phrases: 'with subtitle X' / 'set subtitle to X' -> X","tier":"presentation"},"drillEvent":{"type":"event","default":"","label":"Drill event","description":"Event emitted when a user clicks a chart point","synonyms":"click-through navigation event. user phrases: 'on click navigate to X' / 'drill into X' / 'when clicked open X' -> X event name","tier":"internal"},"viewPattern":{"type":"pattern","default":"chart","label":"Render pattern","description":"UI pattern used to draw the chart","synonyms":"internal pattern selector. user prompts rarely target this directly — pattern selection is upstream","tier":"internal"},"series":{"type":"[SeriesSpec]","default":[],"label":"Series","description":"Pre-formatted multi-series spec for stacked or layered charts","synonyms":"multiple lines / bars per category. user phrases: 'compare X and Y' -> add two series entries","tier":"presentation","items":{"type":"object","properties":{"dashed":{"name":"dashed","type":"boolean","required":false},"data":{"name":"data","type":"array","required":true,"items":{"type":"object","properties":{"value":{"name":"value","type":"number","required":true},"label":{"name":"label","type":"string","required":true}}}},"name":{"name":"name","type":"string","required":true},"color":{"name":"color","type":"string","required":false}}}},"categoryField":{"type":"string","default":"status","label":"Group / categorize / bucket / split by field","description":"Entity field whose values become the chart's category buckets. Set this when the user voices 'group by X' / 'categorize by X' / 'bucket by X' / 'split by X' / 'break down by X' for any non-time field X (for time-units, set period + timeAxis=true instead).","synonyms":"regroup / rebucket / categorize / breakdown by / split by / segment by. user phrases: 'group by status' -> categoryField=status; 'group by region' / 'by region' -> categoryField=region; 'group by category' / 'by category' -> categoryField=category; 'group by product' / 'by product' -> categoryField=product; 'group by month' / 'by month' -> categoryField=month (when explicitly requested as a category, not a time bucket); 'split by X' / 'break down by X' / 'segment by X' / 'bucket by X' -> categoryField=X","tier":"presentation"},"filterField":{"type":"string","default":"","label":"Only count rows where field","description":"Row field a row must match to be charted (blank = every row), compared with filterValue — e.g. status + paid charts paid invoices only","synonyms":"only include, where, filter by, restrict to. user phrases: 'only paid invoices' -> filterField=status + filterValue=paid; 'just the open deals' -> filterField=status + filterValue=open","tier":"presentation"},"title":{"type":"string","default":"Distribution","label":"Title","description":"Heading shown above the chart","synonyms":"the chart's header text. user phrases: 'rename to X' / 'title it X' / 'change the title to X' / 'call it X' -> X","tier":"presentation"},"timeAxis":{"type":"boolean","default":false,"label":"Time axis","description":"Group by timeField bucketed by period instead of categoryField","synonyms":"true means group by date / month / time. user phrases: 'group by month / week / year / date' -> set timeAxis=true; 'group by status / category' -> timeAxis=false","tier":"presentation"},"showValues":{"type":"boolean","default":false,"label":"Show values","description":"Render the numeric value on top of each data point","synonyms":"user phrases: 'show values' / 'show numbers on bars' / 'with data labels' / 'label the bars' -> true; 'hide values' / 'no labels' -> false","tier":"presentation"},"valueField":{"type":"string","default":"","label":"Value field","description":"Numeric field aggregated per bucket (blank = row count)","synonyms":"the numeric column to aggregate. empty string counts rows. user phrases: 'sum revenue' -> valueField=revenue + aggregation=sum","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"GraphItemGraphPage","id":"pag_M7H148WYQHFBRY366GHFAZJ06V","path":"/graphitems","traits":[{"ref":"GraphItemGraph","refId":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"}]}],"types":{"ChartPoint":[{"name":"label","type":"string","required":true},{"name":"value","type":"number","required":true}],"SeriesSpec":[{"name":"name","type":"string","required":true},{"name":"data","type":"[object]","required":true,"properties":[{"name":"label","type":"string","required":true},{"name":"value","type":"number","required":true}]},{"name":"color","type":"string"},{"name":"dashed","type":"boolean"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_CH2BVH8WM4EA20H1YBGW6XH0BT":{"id":"ent_CH2BVH8WM4EA20H1YBGW6XH0BT","kind":"entity","bakedName":"GraphItem","curName":"GraphItem","renames":[],"owner":"workspace"},"evt_6D0R28J6NP3AVDBT8QN6CA43HZ":{"id":"evt_6D0R28J6NP3AVDBT8QN6CA43HZ","kind":"event","bakedName":"ITEMS_LOADED","curName":"ITEMS_LOADED","renames":[],"owner":"workspace","parent":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"},"evt_X7VJX2KF36QHKAW15AZ6DRPFH3":{"id":"evt_X7VJX2KF36QHKAW15AZ6DRPFH3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z"},"orb_6WKFQDBPEZV7FVE6E055TQRGBX":{"id":"orb_6WKFQDBPEZV7FVE6E055TQRGBX","kind":"orbital","bakedName":"GraphItemOrbital","curName":"GraphItemOrbital","renames":[],"owner":"workspace"},"pag_M7H148WYQHFBRY366GHFAZJ06V":{"id":"pag_M7H148WYQHFBRY366GHFAZJ06V","kind":"page","bakedName":"GraphItemGraphPage","curName":"GraphItemGraphPage","renames":[],"owner":"workspace"},"trt_H829K2T8PJ4B9FA6KE2A55WT7Z":{"id":"trt_H829K2T8PJ4B9FA6KE2A55WT7Z","kind":"trait","bakedName":"GraphItemGraph","curName":"GraphItemGraph","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-hero","version":"1.0.0","description":"std-hero — the headline block at the top of a page, or a call-to-action banner further down. Optional eyebrow badge, headline, supporting text, up to two link actions, an optional copyable command, optional media below or beside the copy, and an optional backdrop scene behind it all. `look: banner` turns it into a contained call-to-action card. Links follow `href` (in-app path, #anchor, or absolute URL); each click also emits CTA_PRIMARY / CTA_SECONDARY with the href. Pick for landing, product, pricing and campaign pages.","orbitals":[{"name":"HeroOrbital","id":"orb_MBVGQYB2XGHEREFB3H81M35D5A","entity":{"name":"HeroView","id":"ent_BT65XAWW27E13PYJCA8MV78FZ2","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"HeroRender","id":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"CTA_PRIMARY"},{"kind":"emit","resource":"CTA_SECONDARY"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"HeroView","linkedEntityId":"ent_BT65XAWW27E13PYJCA8MV78FZ2","entityRefIds":{"HeroView":"ent_BT65XAWW27E13PYJCA8MV78FZ2"},"emits":[{"event":"CTA_PRIMARY","eventId":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","description":"The primary action was clicked; carries its href.","synonyms":"primary cta, main button, get started click","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]},{"event":"CTA_SECONDARY","eventId":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","description":"The secondary action was clicked; carries its href.","synonyms":"secondary cta, second button, learn more click","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","name":"Initialize"},{"key":"HERO_PRIMARY","id":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","name":"Hero Primary","description":"Primary action button click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"HERO_SECONDARY","id":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","name":"Hero Secondary","description":"Secondary action button click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"CTA_PRIMARY","id":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","name":"Cta Primary","description":"The primary action was clicked; carries its href.","synonyms":"primary cta, main button, get started click","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]},{"key":"CTA_SECONDARY","id":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","name":"Cta Secondary","description":"The secondary action was clicked; carries its href.","synonyms":"secondary cta, second button, learn more click","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","effects":[["if",["==","@config.mediaPosition","side"],["render-ui","main","@config.sideContent"],["render-ui","main","@config.stackedContent"]]]},{"from":"idle","to":"idle","event":"HERO_PRIMARY","eventId":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","effects":[["emit","CTA_PRIMARY",{"href":"@payload.href"}]]},{"from":"idle","to":"idle","event":"HERO_SECONDARY","eventId":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","effects":[["emit","CTA_SECONDARY",{"href":"@payload.href"}]]}]},"config":{"alignment":{"type":"string","default":"center","label":"Alignment","description":"Center the copy, or align it to the start edge","tier":"presentation","values":["center","start"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the block","tier":"presentation"},"copyContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","align":["if",["==","@config.alignment","center"],"center","start"],"children":[{"type":"badge","label":"@config.eyebrow","variant":"primary","size":"md"},{"type":"typography","content":"@config.headline","variant":["if",["==","@config.look","hero"],"h1","h2"],"weight":"bold","align":["if",["==","@config.alignment","center"],"center","left"],"className":"tracking-tight text-balance"},{"type":"typography","content":"@config.lede","variant":"large","color":["if",["==","@config.look","header"],"primary","muted"],"align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.lede",""],"hidden","max-w-2xl text-pretty"]},{"type":"stack","direction":"horizontal","gap":"md","wrap":true,"justify":["if",["==","@config.alignment","center"],"center","start"],"className":["if",["==","@config.primaryLabel",""],["if",["==","@config.secondaryLabel",""],"hidden","pt-2"],"pt-2"],"children":[{"type":"button","label":"@config.primaryLabel","href":"@config.primaryHref","variant":"primary","size":"lg","action":"HERO_PRIMARY","actionPayload":{"href":"@config.primaryHref"},"className":["if",["==","@config.primaryLabel",""],"hidden",""]},{"type":"button","label":"@config.secondaryLabel","href":"@config.secondaryHref","variant":"secondary","size":"lg","action":"HERO_SECONDARY","actionPayload":{"href":"@config.secondaryHref"},"className":["if",["==","@config.secondaryLabel",""],"hidden",""]}]},{"type":"box","fullWidth":true,"className":["if",["==","@config.command",""],"hidden","max-w-xl"],"children":[{"type":"code-block","code":"@config.command","language":"bash","showLanguageBadge":false,"showCopyButton":true}]}]},"label":"Copy block","tier":"internal"},"headline":{"type":"string","default":"Build what you mean","label":"Headline","description":"Main headline","synonyms":"title, heading","tier":"presentation"},"height":{"type":"string","default":"auto","label":"Height","description":"auto fits the copy; tall fills most of the screen with the copy centred, for a hero over a backdrop scene","tier":"presentation","values":["auto","tall"]},"mediaSrc":{"type":"string","default":"","label":"Media image","description":"Screenshot or illustration URL; empty hides it","synonyms":"hero image, screenshot, picture","tier":"presentation"},"lede":{"type":"string","default":"","label":"Supporting text","description":"One or two sentences under the headline; empty hides it","synonyms":"subtitle, subheading, description, tagline","tier":"presentation"},"illustration":{"type":"string","default":"","label":"Illustration","description":"Inline SVG shown beside or below the copy instead of the media image; empty uses the media image","synonyms":"artwork, graphic, drawing, svg","tier":"presentation"},"backgroundPosition":{"type":"string","default":"center","label":"Background photo focus","description":"Which part of the photo stays visible when it is cropped","tier":"presentation","values":["center","top","bottom","left","right"]},"primaryHref":{"type":"string","default":"#","label":"Primary action link","description":"In-app path, #anchor, or absolute URL","tier":"presentation"},"backdropContent":{"type":"render-ui","default":{"type":"box","className":"hidden"},"label":"Backdrop","description":"A scene behind the whole block, such as an animated canvas; it fills the block, never takes clicks, and the copy stays on top. Empty by default.","tier":"presentation"},"surface":{"type":"string","default":"plain","label":"Surface","description":"Background behind the block: plain, muted, a soft theme gradient (accent), inverted colors (inverse), or a photo (image, set Background photo)","tier":"presentation","values":["plain","muted","accent","inverse","image"]},"secondaryHref":{"type":"string","default":"","label":"Secondary action link","description":"In-app path, #anchor, or absolute URL","tier":"presentation"},"command":{"type":"string","default":"","label":"Command","description":"A shell command shown in a copyable code box under the actions, e.g. an install one-liner; empty hides it","synonyms":"install command, cli, terminal snippet","tier":"presentation"},"secondaryLabel":{"type":"string","default":"","label":"Secondary action label","description":"Empty hides the secondary action","tier":"presentation"},"sideContent":{"type":"render-ui","default":{"type":"box","paddingY":["if",["==","@config.look","hero"],"2xl",["if",["==","@config.look","banner"],"xl","lg"]],"bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["or",["==","@config.surface","inverse"],["==","@config.surface","image"]],"inverse","transparent"]]],"rounded":["if",["==","@config.look","header"],"2xl","none"],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"position":"relative","overflow":"hidden","className":["if",["==","@config.height","tall"],"flex min-h-[80vh] items-center",""],"children":[{"type":"box","position":"absolute","className":"inset-0 pointer-events-none","aria-hidden":true,"children":[{"type":"image","src":"@config.backgroundSrc","alt":"","fit":"cover","position":"@config.backgroundPosition","priority":["==","@config.look","hero"],"className":"h-full"},{"type":"box","className":["if",["==","@config.surface","image"],"band-scrim","hidden"]},"@config.backdropContent"]},{"type":"box","position":"relative","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"box","padding":["if",["==","@config.look","banner"],"xl","none"],"rounded":["if",["==","@config.look","banner"],"2xl","none"],"border":["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"bg":["if",["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"muted","transparent"],"children":[{"type":"split","ratio":"1:1","gap":"xl","align":"center","children":["@config.copyContent",["if",["==","@config.illustration",""],"@config.mediaContent","@config.illustrationContent"]]}]}]}]}]},"label":"Side-by-side body","tier":"internal"},"mediaContent":{"type":"render-ui","default":{"type":"image","src":"@config.mediaSrc","alt":"@config.mediaAlt","rounded":"xl","bordered":true,"loading":"eager"},"label":"Media block","tier":"internal"},"look":{"type":"string","default":"hero","label":"Look","description":"hero = full-width page opener with an h1; banner = contained call-to-action with an h2, drawn as a card on a plain band, and straight on the band when `surface` colors it; header = compact opener at the top of an app page","synonyms":"cta banner, call to action, callout, page header, masthead","tier":"presentation","values":["hero","banner","header"]},"stackedContent":{"type":"render-ui","default":{"type":"box","paddingY":["if",["==","@config.look","hero"],"2xl",["if",["==","@config.look","banner"],"xl","lg"]],"bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["or",["==","@config.surface","inverse"],["==","@config.surface","image"]],"inverse","transparent"]]],"rounded":["if",["==","@config.look","header"],"2xl","none"],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"position":"relative","overflow":"hidden","className":["if",["==","@config.height","tall"],"flex min-h-[80vh] items-center",""],"children":[{"type":"box","position":"absolute","className":"inset-0 pointer-events-none","aria-hidden":true,"children":[{"type":"image","src":"@config.backgroundSrc","alt":"","fit":"cover","position":"@config.backgroundPosition","priority":["==","@config.look","hero"],"className":"h-full"},{"type":"box","className":["if",["==","@config.surface","image"],"band-scrim","hidden"]},"@config.backdropContent"]},{"type":"box","position":"relative","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"box","padding":["if",["==","@config.look","banner"],"xl","none"],"rounded":["if",["==","@config.look","banner"],"2xl","none"],"border":["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"bg":["if",["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"muted","transparent"],"children":[{"type":"stack","direction":"vertical","gap":"2xl","align":["if",["==","@config.alignment","center"],"center","stretch"],"children":["@config.copyContent",["if",["==","@config.illustration",""],"@config.mediaContent","@config.illustrationContent"]]}]}]}]}]},"label":"Stacked body","tier":"internal"},"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the block; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"mediaPosition":{"type":"string","default":"below","label":"Media position","description":"Below the copy, or beside it on wide screens","tier":"presentation","values":["below","side"]},"backgroundSrc":{"type":"string","default":"","label":"Background photo","description":"Photo URL filling the block behind the copy when the surface is image","synonyms":"background image, hero photo, cover photo","tier":"presentation"},"primaryLabel":{"type":"string","default":"Get started","label":"Primary action label","description":"Empty hides the primary action","tier":"presentation"},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the block; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"illustrationContent":{"type":"render-ui","default":{"type":"animated-graphic","svgContent":"@config.illustration","animation":"draw","animate":true,"width":"100%","height":["if",["==","@config.look","header"],200,380],"alt":""},"label":"Illustration block","tier":"internal"},"mediaAlt":{"type":"string","default":"","label":"Media alt text","tier":"presentation"},"eyebrow":{"type":"string","default":"","label":"Eyebrow","description":"Small badge above the headline; empty hides it","synonyms":"tag, kicker, label above title","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"HeroPage","id":"pag_06PK8H7JWJSE93JJV2DWRYZ268","path":"/hero","traits":[{"ref":"HeroRender","refId":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BT65XAWW27E13PYJCA8MV78FZ2":{"id":"ent_BT65XAWW27E13PYJCA8MV78FZ2","kind":"entity","bakedName":"HeroView","curName":"HeroView","renames":[],"owner":"workspace"},"evt_5QJNA2NH65RK2QS626SSGZ1MZA":{"id":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","kind":"event","bakedName":"CTA_PRIMARY","curName":"CTA_PRIMARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ":{"id":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","kind":"event","bakedName":"HERO_PRIMARY","curName":"HERO_PRIMARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_CSQY5ZHP19V0MM9S697TVHQF1W":{"id":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_KD0A42KSQ3WVHHF36VPCP62HYB":{"id":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","kind":"event","bakedName":"CTA_SECONDARY","curName":"CTA_SECONDARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_MPTJAPZFZBQZNTJDKARF1KKFP5":{"id":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","kind":"event","bakedName":"HERO_SECONDARY","curName":"HERO_SECONDARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"orb_MBVGQYB2XGHEREFB3H81M35D5A":{"id":"orb_MBVGQYB2XGHEREFB3H81M35D5A","kind":"orbital","bakedName":"HeroOrbital","curName":"HeroOrbital","renames":[],"owner":"workspace"},"pag_06PK8H7JWJSE93JJV2DWRYZ268":{"id":"pag_06PK8H7JWJSE93JJV2DWRYZ268","kind":"page","bakedName":"HeroPage","curName":"HeroPage","renames":[],"owner":"workspace"},"trt_BZYJF0H7DAKPNEAKEZREQGKFVE":{"id":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE","kind":"trait","bakedName":"HeroRender","curName":"HeroRender","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-hero","version":"1.0.0","description":"std-hero — the headline block at the top of a page, or a call-to-action banner further down. Optional eyebrow badge, headline, supporting text, up to two link actions, an optional copyable command, optional media below or beside the copy, and an optional backdrop scene behind it all. `look: banner` turns it into a contained call-to-action card. Links follow `href` (in-app path, #anchor, or absolute URL); each click also emits CTA_PRIMARY / CTA_SECONDARY with the href. Pick for landing, product, pricing and campaign pages.","orbitals":[{"name":"HeroOrbital","id":"orb_MBVGQYB2XGHEREFB3H81M35D5A","entity":{"name":"HeroView","id":"ent_BT65XAWW27E13PYJCA8MV78FZ2","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"HeroRender","id":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"emit","resource":"CTA_PRIMARY"},{"kind":"emit","resource":"CTA_SECONDARY"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"HeroView","linkedEntityId":"ent_BT65XAWW27E13PYJCA8MV78FZ2","entityRefIds":{"HeroView":"ent_BT65XAWW27E13PYJCA8MV78FZ2"},"emits":[{"event":"CTA_PRIMARY","eventId":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","description":"The primary action was clicked; carries its href.","synonyms":"primary cta, main button, get started click","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]},{"event":"CTA_SECONDARY","eventId":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","description":"The secondary action was clicked; carries its href.","synonyms":"secondary cta, second button, learn more click","tier":"domain","scope":"external","payloadSchema":[{"name":"href","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","name":"Initialize"},{"key":"HERO_PRIMARY","id":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","name":"Hero Primary","description":"Primary action button click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"HERO_SECONDARY","id":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","name":"Hero Secondary","description":"Secondary action button click.","tier":"internal","payloadSchema":[{"name":"href","type":"string"}],"listened":true},{"key":"CTA_PRIMARY","id":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","name":"Cta Primary","description":"The primary action was clicked; carries its href.","synonyms":"primary cta, main button, get started click","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]},{"key":"CTA_SECONDARY","id":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","name":"Cta Secondary","description":"The secondary action was clicked; carries its href.","synonyms":"secondary cta, second button, learn more click","tier":"domain","payloadSchema":[{"name":"href","type":"string"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","effects":[["if",["==","@config.mediaPosition","side"],["render-ui","main","@config.sideContent"],["render-ui","main","@config.stackedContent"]]]},{"from":"idle","to":"idle","event":"HERO_PRIMARY","eventId":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","effects":[["emit","CTA_PRIMARY",{"href":"@payload.href"}]]},{"from":"idle","to":"idle","event":"HERO_SECONDARY","eventId":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","effects":[["emit","CTA_SECONDARY",{"href":"@payload.href"}]]}]},"config":{"secondaryLabel":{"type":"string","default":"","label":"Secondary action label","description":"Empty hides the secondary action","tier":"presentation"},"illustrationContent":{"type":"render-ui","default":{"type":"animated-graphic","svgContent":"@config.illustration","animation":"draw","animate":true,"width":"100%","height":["if",["==","@config.look","header"],200,380],"alt":""},"label":"Illustration block","tier":"internal"},"command":{"type":"string","default":"","label":"Command","description":"A shell command shown in a copyable code box under the actions, e.g. an install one-liner; empty hides it","synonyms":"install command, cli, terminal snippet","tier":"presentation"},"surface":{"type":"string","default":"plain","label":"Surface","description":"Background behind the block: plain, muted, a soft theme gradient (accent), inverted colors (inverse), or a photo (image, set Background photo)","tier":"presentation","values":["plain","muted","accent","inverse","image"]},"alignment":{"type":"string","default":"center","label":"Alignment","description":"Center the copy, or align it to the start edge","tier":"presentation","values":["center","start"]},"look":{"type":"string","default":"hero","label":"Look","description":"hero = full-width page opener with an h1; banner = contained call-to-action with an h2, drawn as a card on a plain band, and straight on the band when `surface` colors it; header = compact opener at the top of an app page","synonyms":"cta banner, call to action, callout, page header, masthead","tier":"presentation","values":["hero","banner","header"]},"mediaAlt":{"type":"string","default":"","label":"Media alt text","tier":"presentation"},"backgroundSrc":{"type":"string","default":"","label":"Background photo","description":"Photo URL filling the block behind the copy when the surface is image","synonyms":"background image, hero photo, cover photo","tier":"presentation"},"backgroundPosition":{"type":"string","default":"center","label":"Background photo focus","description":"Which part of the photo stays visible when it is cropped","tier":"presentation","values":["center","top","bottom","left","right"]},"primaryLabel":{"type":"string","default":"Get started","label":"Primary action label","description":"Empty hides the primary action","tier":"presentation"},"backdropContent":{"type":"render-ui","default":{"type":"box","className":"hidden"},"label":"Backdrop","description":"A scene behind the whole block, such as an animated canvas; it fills the block, never takes clicks, and the copy stays on top. Empty by default.","tier":"presentation"},"lede":{"type":"string","default":"","label":"Supporting text","description":"One or two sentences under the headline; empty hides it","synonyms":"subtitle, subheading, description, tagline","tier":"presentation"},"sideContent":{"type":"render-ui","default":{"type":"box","paddingY":["if",["==","@config.look","hero"],"2xl",["if",["==","@config.look","banner"],"xl","lg"]],"bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["or",["==","@config.surface","inverse"],["==","@config.surface","image"]],"inverse","transparent"]]],"rounded":["if",["==","@config.look","header"],"2xl","none"],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"position":"relative","overflow":"hidden","className":["if",["==","@config.height","tall"],"flex min-h-[80vh] items-center",""],"children":[{"type":"box","position":"absolute","className":"inset-0 pointer-events-none","aria-hidden":true,"children":[{"type":"image","src":"@config.backgroundSrc","alt":"","fit":"cover","position":"@config.backgroundPosition","priority":["==","@config.look","hero"],"className":"h-full"},{"type":"box","className":["if",["==","@config.surface","image"],"band-scrim","hidden"]},"@config.backdropContent"]},{"type":"box","position":"relative","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"box","padding":["if",["==","@config.look","banner"],"xl","none"],"rounded":["if",["==","@config.look","banner"],"2xl","none"],"border":["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"bg":["if",["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"muted","transparent"],"children":[{"type":"split","ratio":"1:1","gap":"xl","align":"center","children":["@config.copyContent",["if",["==","@config.illustration",""],"@config.mediaContent","@config.illustrationContent"]]}]}]}]}]},"label":"Side-by-side body","tier":"internal"},"height":{"type":"string","default":"auto","label":"Height","description":"auto fits the copy; tall fills most of the screen with the copy centred, for a hero over a backdrop scene","tier":"presentation","values":["auto","tall"]},"illustration":{"type":"string","default":"","label":"Illustration","description":"Inline SVG shown beside or below the copy instead of the media image; empty uses the media image","synonyms":"artwork, graphic, drawing, svg","tier":"presentation"},"eyebrow":{"type":"string","default":"","label":"Eyebrow","description":"Small badge above the headline; empty hides it","synonyms":"tag, kicker, label above title","tier":"presentation"},"mediaPosition":{"type":"string","default":"below","label":"Media position","description":"Below the copy, or beside it on wide screens","tier":"presentation","values":["below","side"]},"headline":{"type":"string","default":"Build what you mean","label":"Headline","description":"Main headline","synonyms":"title, heading","tier":"presentation"},"mediaContent":{"type":"render-ui","default":{"type":"image","src":"@config.mediaSrc","alt":"@config.mediaAlt","rounded":"xl","bordered":true,"loading":"eager"},"label":"Media block","tier":"internal"},"secondaryHref":{"type":"string","default":"","label":"Secondary action link","description":"In-app path, #anchor, or absolute URL","tier":"presentation"},"primaryHref":{"type":"string","default":"#","label":"Primary action link","description":"In-app path, #anchor, or absolute URL","tier":"presentation"},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the block; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"stackedContent":{"type":"render-ui","default":{"type":"box","paddingY":["if",["==","@config.look","hero"],"2xl",["if",["==","@config.look","banner"],"xl","lg"]],"bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["or",["==","@config.surface","inverse"],["==","@config.surface","image"]],"inverse","transparent"]]],"rounded":["if",["==","@config.look","header"],"2xl","none"],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"position":"relative","overflow":"hidden","className":["if",["==","@config.height","tall"],"flex min-h-[80vh] items-center",""],"children":[{"type":"box","position":"absolute","className":"inset-0 pointer-events-none","aria-hidden":true,"children":[{"type":"image","src":"@config.backgroundSrc","alt":"","fit":"cover","position":"@config.backgroundPosition","priority":["==","@config.look","hero"],"className":"h-full"},{"type":"box","className":["if",["==","@config.surface","image"],"band-scrim","hidden"]},"@config.backdropContent"]},{"type":"box","position":"relative","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"box","padding":["if",["==","@config.look","banner"],"xl","none"],"rounded":["if",["==","@config.look","banner"],"2xl","none"],"border":["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"bg":["if",["and",["==","@config.look","banner"],["==","@config.surface","plain"]],"muted","transparent"],"children":[{"type":"stack","direction":"vertical","gap":"2xl","align":["if",["==","@config.alignment","center"],"center","stretch"],"children":["@config.copyContent",["if",["==","@config.illustration",""],"@config.mediaContent","@config.illustrationContent"]]}]}]}]}]},"label":"Stacked body","tier":"internal"},"copyContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","align":["if",["==","@config.alignment","center"],"center","start"],"children":[{"type":"badge","label":"@config.eyebrow","variant":"primary","size":"md"},{"type":"typography","content":"@config.headline","variant":["if",["==","@config.look","hero"],"h1","h2"],"weight":"bold","align":["if",["==","@config.alignment","center"],"center","left"],"className":"tracking-tight text-balance"},{"type":"typography","content":"@config.lede","variant":"large","color":["if",["==","@config.look","header"],"primary","muted"],"align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.lede",""],"hidden","max-w-2xl text-pretty"]},{"type":"stack","direction":"horizontal","gap":"md","wrap":true,"justify":["if",["==","@config.alignment","center"],"center","start"],"className":["if",["==","@config.primaryLabel",""],["if",["==","@config.secondaryLabel",""],"hidden","pt-2"],"pt-2"],"children":[{"type":"button","label":"@config.primaryLabel","href":"@config.primaryHref","variant":"primary","size":"lg","action":"HERO_PRIMARY","actionPayload":{"href":"@config.primaryHref"},"className":["if",["==","@config.primaryLabel",""],"hidden",""]},{"type":"button","label":"@config.secondaryLabel","href":"@config.secondaryHref","variant":"secondary","size":"lg","action":"HERO_SECONDARY","actionPayload":{"href":"@config.secondaryHref"},"className":["if",["==","@config.secondaryLabel",""],"hidden",""]}]},{"type":"box","fullWidth":true,"className":["if",["==","@config.command",""],"hidden","max-w-xl"],"children":[{"type":"code-block","code":"@config.command","language":"bash","showLanguageBadge":false,"showCopyButton":true}]}]},"label":"Copy block","tier":"internal"},"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the block; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the block","tier":"presentation"},"mediaSrc":{"type":"string","default":"","label":"Media image","description":"Screenshot or illustration URL; empty hides it","synonyms":"hero image, screenshot, picture","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"HeroPage","id":"pag_06PK8H7JWJSE93JJV2DWRYZ268","path":"/hero","traits":[{"ref":"HeroRender","refId":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_BT65XAWW27E13PYJCA8MV78FZ2":{"id":"ent_BT65XAWW27E13PYJCA8MV78FZ2","kind":"entity","bakedName":"HeroView","curName":"HeroView","renames":[],"owner":"workspace"},"evt_5QJNA2NH65RK2QS626SSGZ1MZA":{"id":"evt_5QJNA2NH65RK2QS626SSGZ1MZA","kind":"event","bakedName":"CTA_PRIMARY","curName":"CTA_PRIMARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ":{"id":"evt_7CMXAJP2QH1BRRH4443ZAP4RJJ","kind":"event","bakedName":"HERO_PRIMARY","curName":"HERO_PRIMARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_CSQY5ZHP19V0MM9S697TVHQF1W":{"id":"evt_CSQY5ZHP19V0MM9S697TVHQF1W","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_KD0A42KSQ3WVHHF36VPCP62HYB":{"id":"evt_KD0A42KSQ3WVHHF36VPCP62HYB","kind":"event","bakedName":"CTA_SECONDARY","curName":"CTA_SECONDARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"evt_MPTJAPZFZBQZNTJDKARF1KKFP5":{"id":"evt_MPTJAPZFZBQZNTJDKARF1KKFP5","kind":"event","bakedName":"HERO_SECONDARY","curName":"HERO_SECONDARY","renames":[],"owner":"workspace","parent":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE"},"orb_MBVGQYB2XGHEREFB3H81M35D5A":{"id":"orb_MBVGQYB2XGHEREFB3H81M35D5A","kind":"orbital","bakedName":"HeroOrbital","curName":"HeroOrbital","renames":[],"owner":"workspace"},"pag_06PK8H7JWJSE93JJV2DWRYZ268":{"id":"pag_06PK8H7JWJSE93JJV2DWRYZ268","kind":"page","bakedName":"HeroPage","curName":"HeroPage","renames":[],"owner":"workspace"},"trt_BZYJF0H7DAKPNEAKEZREQGKFVE":{"id":"trt_BZYJF0H7DAKPNEAKEZREQGKFVE","kind":"trait","bakedName":"HeroRender","curName":"HeroRender","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-home","version":"1.0.0","description":"std-home — the home page of an app: a welcome header, then an actionable overview gathered from the app's other pages. `homeLook` picks one of five layouts. Every look puts the headline figures directly under the greeting. For staff running the business: command (then actions, sections and shortcut tiles), briefing (then sections in the main column with actions and shortcut links in a side rail), launchpad (then big shortcut tiles before the sections). For customers: spotlight (a photo or gradient hero with a curved edge, then actions, shortcut tiles and their own items) and concierge (a centred greeting, then a grid of shortcut tiles and their items). Everything is actionable: `shortcuts` are links to other pages, `actions` are the organism's own operation triggers (open a create form, start a flow), and `sections` are lists whose rows act. When there are no sections yet the page shows an empty state that still offers every shortcut. Pick as the first page of any back office or customer experience.","orbitals":[{"name":"HomeOrbital","id":"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ","uses":[{"from":"std/behaviors/std-hero","as":"Hero"}],"entity":{"name":"HomeView","id":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"ref":"Hero.traits.HeroRender","id":"trt_SB0EBD408Q04BNE8A8P46C8N8J","name":"HomeHeader","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"lede":{"type":"unknown","default":"@config.summary"},"headline":{"type":"unknown","default":"@config.greeting"},"alignment":{"type":"unknown","default":"start"},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"surface":{"type":"unknown","default":"plain"},"look":{"type":"unknown","default":"header"},"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"},"texture":{"type":"unknown","default":true}}},{"ref":"Hero.traits.HeroRender","id":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ","name":"HomeHero","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"edgeBottom":{"type":"unknown","default":"curve"},"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"},"surface":{"type":"unknown","default":"@config.heroSurface"},"mediaPosition":{"type":"unknown","default":"side"},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"backgroundPosition":{"type":"unknown","default":"@config.backgroundPosition"},"look":{"type":"unknown","default":"hero"},"lede":{"type":"unknown","default":"@config.summary"},"edgeColor":{"type":"unknown","default":"background"},"backgroundSrc":{"type":"unknown","default":"@config.backgroundSrc"},"alignment":{"type":"unknown","default":"start"},"headline":{"type":"unknown","default":"@config.greeting"},"illustration":{"type":"unknown","default":"@config.illustration"}}},{"ref":"Hero.traits.HeroRender","id":"trt_2V8980WY3RF1W6M8K7QSVHK887","name":"HomeWelcome","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"},"surface":{"type":"unknown","default":"accent"},"look":{"type":"unknown","default":"banner"},"illustration":{"type":"unknown","default":"@config.illustration"},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"headline":{"type":"unknown","default":"@config.greeting"},"alignment":{"type":"unknown","default":"center"},"lede":{"type":"unknown","default":"@config.summary"}}},{"name":"HomeRender","id":"trt_J96FENH223H11JH8NEKT812Q5K","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","entityRefIds":{"HomeView":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC"},"traitEmbedIds":{"HomeWelcome":"trt_2V8980WY3RF1W6M8K7QSVHK887","HomeHeader":"trt_SB0EBD408Q04BNE8A8P46C8N8J","HomeHero":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","effects":[["if",["==","@config.homeLook","briefing"],["render-ui","main","@config.briefingContent"],["if",["==","@config.homeLook","launchpad"],["render-ui","main","@config.launchpadContent"],["if",["==","@config.homeLook","spotlight"],["render-ui","main","@config.spotlightContent"],["if",["==","@config.homeLook","concierge"],["render-ui","main","@config.conciergeContent"],["render-ui","main","@config.commandContent"]]]]]]}]},"config":{"heroSurface":{"type":"string","default":"accent","label":"Hero background","description":"spotlight only: accent = the theme's gradient; image = the hero photo under a scrim","tier":"presentation","values":["accent","image"]},"summary":{"type":"string","default":"","label":"Summary","description":"One sentence under the greeting; empty hides it","tier":"presentation"},"shortcutList":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"xs","className":["if",["==",["array/len","@config.shortcuts"],0],"hidden",""],"children":["array/map","@config.shortcuts",["fn","s",{"type":"button","label":["object/get","@s","label",""],"href":["object/get","@s","href","#"],"icon":["object/get","@s","icon","arrow-right"],"variant":["if",["object/get","@s","primary",false],"primary","ghost"],"size":"md"}]]},"label":"Shortcut list","tier":"internal"},"backgroundSrc":{"type":"string","default":"","label":"Hero photo","description":"spotlight only: photo URL behind the greeting when the hero background is image","synonyms":"hero image, cover photo, background image","tier":"presentation"},"sectionColumn":{"type":"render-ui","default":{"type":"box","fullWidth":true,"children":[{"type":"empty-state","icon":"layout-dashboard","title":"@config.emptyTitle","description":"@config.emptyDescription","className":["if",["==",["array/len","@config.sections"],0],"","hidden"]},{"type":"stack","direction":"vertical","gap":"lg","className":["if",["==",["array/len","@config.sections"],0],"hidden",""],"children":"@config.sections"}]},"label":"Sections column","tier":"internal"},"spotlightContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHero","@config.kpiRow","@config.actionRow","@config.shortcutTiles","@config.sectionGrid"]},"label":"Spotlight layout","tier":"internal"},"shortcuts":{"type":"[HomeShortcut]","default":[],"label":"Shortcuts","description":"Links to the pages people go to most: label, href, optional icon, one-line description, button label and whether it is the primary one","synonyms":"quick links, go to, jump to, navigation tiles","tier":"domain","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"description":{"name":"description","type":"string","required":false},"primary":{"name":"primary","type":"boolean","required":false},"actionLabel":{"name":"actionLabel","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"href":{"name":"href","type":"string","required":true}}}},"kpis":{"type":"[trait]","default":[],"label":"Headline figures","description":"Stat tiles summarising the app, most important first (keep to about five); each entry is a @trait reference","synonyms":"kpis, metrics, stats, numbers","tier":"domain","items":{"type":"trait"}},"emptyTitle":{"type":"string","default":"Nothing here yet","label":"Empty title","description":"Shown in place of the sections while there are none","tier":"presentation"},"sections":{"type":"[trait]","default":[],"label":"Overview sections","description":"Short actionable lists and panels gathered from the app's pages (needs attention, recent, upcoming); each entry is a @trait reference","synonyms":"widgets, panels, recent, upcoming, activity, needs attention","tier":"domain","items":{"type":"trait"}},"homeLook":{"type":"string","default":"command","label":"Home look","description":"Figures always sit right under the greeting. Staff: command = then actions and sections; briefing = then sections in the main column with actions and shortcut links in a side rail; launchpad = then big shortcut tiles. Customers: spotlight = photo or gradient hero, then actions, tiles and their items; concierge = centred greeting, then shortcut tiles.","synonyms":"dashboard style, home layout, overview layout, admin home, customer home","tier":"presentation","values":["command","briefing","launchpad","spotlight","concierge"]},"conciergeContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeWelcome","@config.kpiRow","@config.shortcutTiles","@config.actionRow","@config.sectionGrid"]},"label":"Concierge layout","tier":"internal"},"shortcutTiles":{"type":"render-ui","default":{"type":"simple-grid","minChildWidth":"220px","gap":"md","className":["if",["==",["array/len","@config.shortcuts"],0],"hidden",""],"children":["array/map","@config.shortcuts",["fn","s",{"type":"card","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"sm","align":"start","children":[{"type":"icon","name":["object/get","@s","icon","arrow-right"],"size":"lg","color":"primary"},{"type":"typography","variant":"h4","content":["object/get","@s","label",""]},{"type":"typography","variant":"body2","color":"muted","content":["object/get","@s","description",""]},{"type":"button","label":["object/get","@s","actionLabel","Open"],"href":["object/get","@s","href","#"],"variant":["if",["object/get","@s","primary",false],"primary","secondary"],"size":"sm","iconRight":"arrow-right"}]}]}]]},"label":"Shortcut tiles","tier":"internal"},"kpiRow":{"type":"render-ui","default":{"type":"simple-grid","minChildWidth":"180px","gap":"md","className":["if",["==",["array/len","@config.kpis"],0],"hidden",""],"children":"@config.kpis"},"label":"Figures row","tier":"internal"},"greeting":{"type":"string","default":"Welcome back","label":"Greeting","description":"Headline at the top of the home page","synonyms":"welcome, title, headline","tier":"presentation"},"launchpadContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow","@config.actionRow","@config.shortcutTiles","@config.sectionGrid"]},"label":"Launchpad layout","tier":"internal"},"commandContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow","@config.actionRow","@config.sectionGrid","@config.shortcutTiles"]},"label":"Command layout","tier":"internal"},"actionRow":{"type":"render-ui","default":{"type":"stack","direction":"horizontal","gap":"sm","wrap":true,"className":["if",["==",["array/len","@config.actions"],0],"hidden",""],"children":"@config.actions"},"label":"Action row","tier":"internal"},"primaryActionHref":{"type":"string","default":"","label":"Main action link","description":"Page the main action opens (in-app path or #anchor)","tier":"presentation"},"illustration":{"type":"string","default":"","label":"Illustration","description":"spotlight and concierge: inline SVG beside the greeting; empty hides it","tier":"presentation"},"actions":{"type":"[trait]","default":[],"label":"Actions","description":"The organism's own operation triggers, such as a button that opens a create form; each entry is a @trait reference","synonyms":"quick actions, create, new, start","tier":"domain","items":{"type":"trait"}},"sectionGrid":{"type":"render-ui","default":{"type":"box","fullWidth":true,"children":[{"type":"empty-state","icon":"layout-dashboard","title":"@config.emptyTitle","description":"@config.emptyDescription","className":["if",["==",["array/len","@config.sections"],0],"","hidden"]},{"type":"simple-grid","minChildWidth":"360px","gap":"lg","className":["if",["==",["array/len","@config.sections"],0],"hidden",""],"children":"@config.sections"}]},"label":"Sections grid","tier":"internal"},"emptyDescription":{"type":"string","default":"Start with one of the shortcuts above.","label":"Empty description","description":"Tells people what will appear here and how to start","tier":"presentation"},"briefingContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow",{"type":"split","ratio":"2:1","gap":"lg","align":"start","children":["@config.sectionColumn",{"type":"stack","direction":"vertical","gap":"lg","children":["@config.actionRow","@config.shortcutList"]}]}]},"label":"Briefing layout","tier":"internal"},"primaryActionLabel":{"type":"string","default":"","label":"Main action","description":"Label of the one most important thing to do next, shown in the header; empty hides it","synonyms":"cta, primary button, get started","tier":"presentation"},"backgroundPosition":{"type":"string","default":"center","label":"Hero photo focus","description":"Which part of the photo stays visible when it is cropped","tier":"presentation","values":["center","top","bottom","left","right"]}},"scope":"instance"}],"pages":[{"name":"HomePage","id":"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8","path":"/home","traits":[{"ref":"HomeRender","refId":"trt_J96FENH223H11JH8NEKT812Q5K"}]}],"types":{"HomeShortcut":[{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true},{"name":"icon","type":"string"},{"name":"description","type":"string"},{"name":"actionLabel","type":"string"},{"name":"primary","type":"boolean"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC":{"id":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","kind":"entity","bakedName":"HomeView","curName":"HomeView","renames":[],"owner":"workspace"},"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4":{"id":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_J96FENH223H11JH8NEKT812Q5K"},"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ":{"id":"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ","kind":"orbital","bakedName":"HomeOrbital","curName":"HomeOrbital","renames":[],"owner":"workspace"},"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8":{"id":"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8","kind":"page","bakedName":"HomePage","curName":"HomePage","renames":[],"owner":"workspace"},"trt_2V8980WY3RF1W6M8K7QSVHK887":{"id":"trt_2V8980WY3RF1W6M8K7QSVHK887","kind":"trait","bakedName":"HomeWelcome","curName":"HomeWelcome","renames":[],"owner":"workspace"},"trt_J96FENH223H11JH8NEKT812Q5K":{"id":"trt_J96FENH223H11JH8NEKT812Q5K","kind":"trait","bakedName":"HomeRender","curName":"HomeRender","renames":[],"owner":"workspace"},"trt_SB0EBD408Q04BNE8A8P46C8N8J":{"id":"trt_SB0EBD408Q04BNE8A8P46C8N8J","kind":"trait","bakedName":"HomeHeader","curName":"HomeHeader","renames":[],"owner":"workspace"},"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ":{"id":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ","kind":"trait","bakedName":"HomeHero","curName":"HomeHero","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-home","version":"1.0.0","description":"std-home — the home page of an app: a welcome header, then an actionable overview gathered from the app's other pages. `homeLook` picks one of five layouts. Every look puts the headline figures directly under the greeting. For staff running the business: command (then actions, sections and shortcut tiles), briefing (then sections in the main column with actions and shortcut links in a side rail), launchpad (then big shortcut tiles before the sections). For customers: spotlight (a photo or gradient hero with a curved edge, then actions, shortcut tiles and their own items) and concierge (a centred greeting, then a grid of shortcut tiles and their items). Everything is actionable: `shortcuts` are links to other pages, `actions` are the organism's own operation triggers (open a create form, start a flow), and `sections` are lists whose rows act. When there are no sections yet the page shows an empty state that still offers every shortcut. Pick as the first page of any back office or customer experience.","orbitals":[{"name":"HomeOrbital","id":"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ","uses":[{"from":"std/behaviors/std-hero","as":"Hero"}],"entity":{"name":"HomeView","id":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"ref":"Hero.traits.HeroRender","id":"trt_SB0EBD408Q04BNE8A8P46C8N8J","name":"HomeHeader","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"lede":{"type":"unknown","default":"@config.summary"},"texture":{"type":"unknown","default":true},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"surface":{"type":"unknown","default":"plain"},"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"},"look":{"type":"unknown","default":"header"},"alignment":{"type":"unknown","default":"start"},"headline":{"type":"unknown","default":"@config.greeting"}}},{"ref":"Hero.traits.HeroRender","id":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ","name":"HomeHero","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"alignment":{"type":"unknown","default":"start"},"edgeColor":{"type":"unknown","default":"background"},"illustration":{"type":"unknown","default":"@config.illustration"},"look":{"type":"unknown","default":"hero"},"backgroundPosition":{"type":"unknown","default":"@config.backgroundPosition"},"backgroundSrc":{"type":"unknown","default":"@config.backgroundSrc"},"lede":{"type":"unknown","default":"@config.summary"},"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"headline":{"type":"unknown","default":"@config.greeting"},"mediaPosition":{"type":"unknown","default":"side"},"surface":{"type":"unknown","default":"@config.heroSurface"},"edgeBottom":{"type":"unknown","default":"curve"}}},{"ref":"Hero.traits.HeroRender","id":"trt_2V8980WY3RF1W6M8K7QSVHK887","name":"HomeWelcome","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","config":{"surface":{"type":"unknown","default":"accent"},"look":{"type":"unknown","default":"banner"},"headline":{"type":"unknown","default":"@config.greeting"},"illustration":{"type":"unknown","default":"@config.illustration"},"alignment":{"type":"unknown","default":"center"},"primaryHref":{"type":"unknown","default":"@config.primaryActionHref"},"lede":{"type":"unknown","default":"@config.summary"},"primaryLabel":{"type":"unknown","default":"@config.primaryActionLabel"}}},{"name":"HomeRender","id":"trt_J96FENH223H11JH8NEKT812Q5K","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"HomeView","linkedEntityId":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","entityRefIds":{"HomeView":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC"},"traitEmbedIds":{"HomeHero":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ","HomeWelcome":"trt_2V8980WY3RF1W6M8K7QSVHK887","HomeHeader":"trt_SB0EBD408Q04BNE8A8P46C8N8J"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","effects":[["if",["==","@config.homeLook","briefing"],["render-ui","main","@config.briefingContent"],["if",["==","@config.homeLook","launchpad"],["render-ui","main","@config.launchpadContent"],["if",["==","@config.homeLook","spotlight"],["render-ui","main","@config.spotlightContent"],["if",["==","@config.homeLook","concierge"],["render-ui","main","@config.conciergeContent"],["render-ui","main","@config.commandContent"]]]]]]}]},"config":{"summary":{"type":"string","default":"","label":"Summary","description":"One sentence under the greeting; empty hides it","tier":"presentation"},"kpis":{"type":"[trait]","default":[],"label":"Headline figures","description":"Stat tiles summarising the app, most important first (keep to about five); each entry is a @trait reference","synonyms":"kpis, metrics, stats, numbers","tier":"domain","items":{"type":"trait"}},"commandContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow","@config.actionRow","@config.sectionGrid","@config.shortcutTiles"]},"label":"Command layout","tier":"internal"},"shortcuts":{"type":"[HomeShortcut]","default":[],"label":"Shortcuts","description":"Links to the pages people go to most: label, href, optional icon, one-line description, button label and whether it is the primary one","synonyms":"quick links, go to, jump to, navigation tiles","tier":"domain","items":{"type":"object","properties":{"href":{"name":"href","type":"string","required":true},"primary":{"name":"primary","type":"boolean","required":false},"actionLabel":{"name":"actionLabel","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"description":{"name":"description","type":"string","required":false},"label":{"name":"label","type":"string","required":true}}}},"primaryActionHref":{"type":"string","default":"","label":"Main action link","description":"Page the main action opens (in-app path or #anchor)","tier":"presentation"},"briefingContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow",{"type":"split","ratio":"2:1","gap":"lg","align":"start","children":["@config.sectionColumn",{"type":"stack","direction":"vertical","gap":"lg","children":["@config.actionRow","@config.shortcutList"]}]}]},"label":"Briefing layout","tier":"internal"},"backgroundPosition":{"type":"string","default":"center","label":"Hero photo focus","description":"Which part of the photo stays visible when it is cropped","tier":"presentation","values":["center","top","bottom","left","right"]},"sections":{"type":"[trait]","default":[],"label":"Overview sections","description":"Short actionable lists and panels gathered from the app's pages (needs attention, recent, upcoming); each entry is a @trait reference","synonyms":"widgets, panels, recent, upcoming, activity, needs attention","tier":"domain","items":{"type":"trait"}},"launchpadContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHeader","@config.kpiRow","@config.actionRow","@config.shortcutTiles","@config.sectionGrid"]},"label":"Launchpad layout","tier":"internal"},"actions":{"type":"[trait]","default":[],"label":"Actions","description":"The organism's own operation triggers, such as a button that opens a create form; each entry is a @trait reference","synonyms":"quick actions, create, new, start","tier":"domain","items":{"type":"trait"}},"conciergeContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeWelcome","@config.kpiRow","@config.shortcutTiles","@config.actionRow","@config.sectionGrid"]},"label":"Concierge layout","tier":"internal"},"shortcutList":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"xs","className":["if",["==",["array/len","@config.shortcuts"],0],"hidden",""],"children":["array/map","@config.shortcuts",["fn","s",{"type":"button","label":["object/get","@s","label",""],"href":["object/get","@s","href","#"],"icon":["object/get","@s","icon","arrow-right"],"variant":["if",["object/get","@s","primary",false],"primary","ghost"],"size":"md"}]]},"label":"Shortcut list","tier":"internal"},"primaryActionLabel":{"type":"string","default":"","label":"Main action","description":"Label of the one most important thing to do next, shown in the header; empty hides it","synonyms":"cta, primary button, get started","tier":"presentation"},"emptyDescription":{"type":"string","default":"Start with one of the shortcuts above.","label":"Empty description","description":"Tells people what will appear here and how to start","tier":"presentation"},"shortcutTiles":{"type":"render-ui","default":{"type":"simple-grid","minChildWidth":"220px","gap":"md","className":["if",["==",["array/len","@config.shortcuts"],0],"hidden",""],"children":["array/map","@config.shortcuts",["fn","s",{"type":"card","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"sm","align":"start","children":[{"type":"icon","name":["object/get","@s","icon","arrow-right"],"size":"lg","color":"primary"},{"type":"typography","variant":"h4","content":["object/get","@s","label",""]},{"type":"typography","variant":"body2","color":"muted","content":["object/get","@s","description",""]},{"type":"button","label":["object/get","@s","actionLabel","Open"],"href":["object/get","@s","href","#"],"variant":["if",["object/get","@s","primary",false],"primary","secondary"],"size":"sm","iconRight":"arrow-right"}]}]}]]},"label":"Shortcut tiles","tier":"internal"},"spotlightContent":{"type":"render-ui","default":{"type":"stack","direction":"vertical","gap":"lg","children":["@trait.HomeHero","@config.kpiRow","@config.actionRow","@config.shortcutTiles","@config.sectionGrid"]},"label":"Spotlight layout","tier":"internal"},"illustration":{"type":"string","default":"","label":"Illustration","description":"spotlight and concierge: inline SVG beside the greeting; empty hides it","tier":"presentation"},"homeLook":{"type":"string","default":"command","label":"Home look","description":"Figures always sit right under the greeting. Staff: command = then actions and sections; briefing = then sections in the main column with actions and shortcut links in a side rail; launchpad = then big shortcut tiles. Customers: spotlight = photo or gradient hero, then actions, tiles and their items; concierge = centred greeting, then shortcut tiles.","synonyms":"dashboard style, home layout, overview layout, admin home, customer home","tier":"presentation","values":["command","briefing","launchpad","spotlight","concierge"]},"actionRow":{"type":"render-ui","default":{"type":"stack","direction":"horizontal","gap":"sm","wrap":true,"className":["if",["==",["array/len","@config.actions"],0],"hidden",""],"children":"@config.actions"},"label":"Action row","tier":"internal"},"emptyTitle":{"type":"string","default":"Nothing here yet","label":"Empty title","description":"Shown in place of the sections while there are none","tier":"presentation"},"sectionColumn":{"type":"render-ui","default":{"type":"box","fullWidth":true,"children":[{"type":"empty-state","icon":"layout-dashboard","title":"@config.emptyTitle","description":"@config.emptyDescription","className":["if",["==",["array/len","@config.sections"],0],"","hidden"]},{"type":"stack","direction":"vertical","gap":"lg","className":["if",["==",["array/len","@config.sections"],0],"hidden",""],"children":"@config.sections"}]},"label":"Sections column","tier":"internal"},"sectionGrid":{"type":"render-ui","default":{"type":"box","fullWidth":true,"children":[{"type":"empty-state","icon":"layout-dashboard","title":"@config.emptyTitle","description":"@config.emptyDescription","className":["if",["==",["array/len","@config.sections"],0],"","hidden"]},{"type":"simple-grid","minChildWidth":"360px","gap":"lg","className":["if",["==",["array/len","@config.sections"],0],"hidden",""],"children":"@config.sections"}]},"label":"Sections grid","tier":"internal"},"heroSurface":{"type":"string","default":"accent","label":"Hero background","description":"spotlight only: accent = the theme's gradient; image = the hero photo under a scrim","tier":"presentation","values":["accent","image"]},"greeting":{"type":"string","default":"Welcome back","label":"Greeting","description":"Headline at the top of the home page","synonyms":"welcome, title, headline","tier":"presentation"},"backgroundSrc":{"type":"string","default":"","label":"Hero photo","description":"spotlight only: photo URL behind the greeting when the hero background is image","synonyms":"hero image, cover photo, background image","tier":"presentation"},"kpiRow":{"type":"render-ui","default":{"type":"simple-grid","minChildWidth":"180px","gap":"md","className":["if",["==",["array/len","@config.kpis"],0],"hidden",""],"children":"@config.kpis"},"label":"Figures row","tier":"internal"}},"scope":"instance"}],"pages":[{"name":"HomePage","id":"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8","path":"/home","traits":[{"ref":"HomeRender","refId":"trt_J96FENH223H11JH8NEKT812Q5K"}]}],"types":{"HomeShortcut":[{"name":"label","type":"string","required":true},{"name":"href","type":"string","required":true},{"name":"icon","type":"string"},{"name":"description","type":"string"},{"name":"actionLabel","type":"string"},{"name":"primary","type":"boolean"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC":{"id":"ent_49QAPMSJZ1SFGMZ7KJTMG59WVC","kind":"entity","bakedName":"HomeView","curName":"HomeView","renames":[],"owner":"workspace"},"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4":{"id":"evt_TVEV29BFNQQTVPBXDN5Z5DNQX4","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_J96FENH223H11JH8NEKT812Q5K"},"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ":{"id":"orb_RRSM4C3N2ZTHFRFJBNBDTQ9FKQ","kind":"orbital","bakedName":"HomeOrbital","curName":"HomeOrbital","renames":[],"owner":"workspace"},"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8":{"id":"pag_2DG1FQ9M9JT4SB1MZB7W1HFFP8","kind":"page","bakedName":"HomePage","curName":"HomePage","renames":[],"owner":"workspace"},"trt_2V8980WY3RF1W6M8K7QSVHK887":{"id":"trt_2V8980WY3RF1W6M8K7QSVHK887","kind":"trait","bakedName":"HomeWelcome","curName":"HomeWelcome","renames":[],"owner":"workspace"},"trt_J96FENH223H11JH8NEKT812Q5K":{"id":"trt_J96FENH223H11JH8NEKT812Q5K","kind":"trait","bakedName":"HomeRender","curName":"HomeRender","renames":[],"owner":"workspace"},"trt_SB0EBD408Q04BNE8A8P46C8N8J":{"id":"trt_SB0EBD408Q04BNE8A8P46C8N8J","kind":"trait","bakedName":"HomeHeader","curName":"HomeHeader","renames":[],"owner":"workspace"},"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ":{"id":"trt_VDPRN8YCSE6CQ3ZFSJ4WZMFRNQ","kind":"trait","bakedName":"HomeHero","curName":"HomeHero","renames":[],"owner":"workspace"}}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-image-upload-multi","version":"1.0.0","description":"std-image-upload-multi — multi-image upload with drop zone, gallery preview, and per-batch progress.","orbitals":[{"name":"UploadedImageOrbital","id":"orb_GS76CWBA9PN4VFB23BYEHX3Q1C","entity":{"name":"UploadedImage","id":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","collection":"uploadedimages","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true,"description":"The accessible address for retrieving the image data.","synonyms":"link, path, address"},{"name":"name","type":"string","description":"The filename or identifier for the uploaded image.","synonyms":"filename, originalName, identifier"},{"name":"sizeBytes","type":"number","description":"The file size in bytes.","synonyms":"length, filesize, bytes"},{"name":"mimeType","type":"string","description":"The file's internet media type.","synonyms":"type, format, media type"},{"name":"width","type":"number","description":"The image's width in pixels.","synonyms":"imageWidth, pixelWidth"},{"name":"height","type":"number","description":"The vertical dimension of the image, in pixels.","synonyms":"vertical, y, dimension"},{"name":"parentId","type":"string","description":"Identifier of the parent resource this image belongs to.","synonyms":"parent, reference, source"},{"name":"parentType","type":"string","description":"Identifies the type of the parent entity.","synonyms":"parent, type, category"},{"name":"uploadedAt","type":"datetime","description":"Timestamp indicating when the image was uploaded.","synonyms":"date, timestamp, upload time"}]},"traits":[{"name":"UploadedImageUpload","id":"trt_A2WANS4KCM9PA9KKY4244QWZD1","effectRow":[{"kind":"call-service","resource":"storage.uploadMany"},{"kind":"fetch","resource":"UploadedImage"},{"kind":"persist","resource":"UploadedImage"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"UploadedImage","linkedEntityId":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","entityRefIds":{"UploadedImage":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5"},"emits":[{"event":"UPLOAD","eventId":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","description":"Signals that an image upload process has begun.","synonyms":"start, initiate, begin","tier":"domain","payloadSchema":[{"name":"files","type":"[object]","required":true,"properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}],"entity":"UploadBatchFile"}]},{"event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","description":"Signals a single image has finished loading.","synonyms":"loaded, received, parsed","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"entity":"UploadedImage"}]},{"event":"UploadedImageLoadFailed","eventId":"evt_ERQZ25VREJW793S5836F4AFMGM","description":"Indicates an image failed to load during the upload process.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"UploadedImageCreated","eventId":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","description":"A new image has been successfully uploaded.","synonyms":"added, new, received","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"payloadEntity":"UploadedImage"},{"event":"UploadedImageStored","eventId":"evt_C9P6JJ08024011QD3REKZ2FQW4","description":"The storage service accepted the whole batch; items carry each file's stored address and metadata, ready to persist.","synonyms":"uploaded, stored, saved to storage","tier":"internal","payloadSchema":[{"name":"items","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}],"entity":"StoredImageItem"},{"name":"count","type":"number"}]},{"event":"UploadedImageUploadFailed","eventId":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","description":"Indicates a single image upload encountered an error.","synonyms":"error, failure, problem, rejected","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"UploadedImageDeleted","eventId":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","description":"Signals an image has been removed from the upload queue.","synonyms":"removed, discarded, taken out","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"UploadedImageDeleteFailed","eventId":"evt_8SH4CX55CHJP8VNHKM66121XH1","description":"Indicates an image deletion operation failed.","synonyms":"failed delete, deletion error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"uploading"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_AQMV46214X0JEJVZ175JKVK4JF","name":"Initialize"},{"key":"UploadedImageLoaded","id":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","name":"UploadedImage loaded","description":"Signals a single image has finished loading.","synonyms":"loaded, received, parsed","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"entity":"UploadedImage"}],"listened":true},{"key":"UploadedImageLoadFailed","id":"evt_ERQZ25VREJW793S5836F4AFMGM","name":"UploadedImage load failed","description":"Indicates an image failed to load during the upload process.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"UPLOAD","id":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","name":"Upload","description":"Signals that an image upload process has begun.","synonyms":"start, initiate, begin","tier":"domain","payloadSchema":[{"name":"files","type":"[object]","required":true,"properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}]}],"listened":true},{"key":"DELETE","id":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","name":"Delete","description":"Indicates a selected image has been removed.","synonyms":"remove, discard, clear","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"UploadedImageDeleted","id":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","name":"UploadedImage deleted","description":"Signals an image has been removed from the upload queue.","synonyms":"removed, discarded, taken out","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"UploadedImageDeleteFailed","id":"evt_8SH4CX55CHJP8VNHKM66121XH1","name":"UploadedImage delete failed","description":"Indicates an image deletion operation failed.","synonyms":"failed delete, deletion error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"UploadedImageStored","id":"evt_C9P6JJ08024011QD3REKZ2FQW4","name":"UploadedImage stored","description":"The storage service accepted the whole batch; items carry each file's stored address and metadata, ready to persist.","synonyms":"uploaded, stored, saved to storage","tier":"internal","payloadSchema":[{"name":"items","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}]},{"name":"count","type":"number"}],"listened":true},{"key":"UploadedImageCreated","id":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","name":"UploadedImage created","description":"A new image has been successfully uploaded.","synonyms":"added, new, received","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"payloadEntity":"UploadedImage","listened":true},{"key":"UploadedImageUploadFailed","id":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","name":"UploadedImage upload failed","description":"Indicates a single image upload encountered an error.","synonyms":"error, failure, problem, rejected","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"loading","to":"browsing","event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"name":"image-plus","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"accept":"@config.accept","action":"UPLOAD","description":"or click to browse","icon":"image-plus","label":"Drop images here","maxFiles":"@config.maxImages","maxSize":"@config.maxBytesPerImage","type":"upload-drop-zone"},{"captionField":"name","entity":"@payload.data","srcField":"url","type":"media-gallery"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"UploadedImageLoadFailed","eventId":"evt_ERQZ25VREJW793S5836F4AFMGM","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"uploading","event":"UPLOAD","eventId":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","effects":[["call-service","storage","uploadMany",{"acl":"public","bucket":"@config.bucket","files":"@payload.files","maxSize":"@config.maxBytesPerImage"},{"emit":{"failure":"UploadedImageUploadFailed","success":"UploadedImageStored"}}],["render-ui","main",{"align":"center","children":[{"content":"Uploading images…","type":"typography","variant":"h3"},{"max":100,"progressType":"linear","type":"progress-bar","value":0}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"browsing","event":"DELETE","eventId":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","effects":[["persist","delete","UploadedImage","@payload.id",{"emit":{"failure":"UploadedImageDeleteFailed","success":"UploadedImageDeleted"}}]]},{"from":"browsing","to":"loading","event":"UploadedImageDeleted","eventId":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}]]},{"from":"browsing","to":"error","event":"UploadedImageDeleteFailed","eventId":"evt_8SH4CX55CHJP8VNHKM66121XH1","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"uploading","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"uploading","to":"uploading","event":"UploadedImageStored","eventId":"evt_C9P6JJ08024011QD3REKZ2FQW4","effects":[["persist","create","UploadedImage","@payload.items",{"emit":{"failure":"UploadedImageUploadFailed","success":"UploadedImageCreated"}}]]},{"from":"uploading","to":"loading","event":"UploadedImageCreated","eventId":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"align":"center","children":[{"color":"success","name":"check-circle","size":"lg","type":"icon"},{"content":"Upload complete","type":"typography","variant":"h3"}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"uploading","to":"error","event":"UploadedImageUploadFailed","eventId":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"error","to":"browsing","event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"name":"image-plus","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"accept":"@config.accept","action":"UPLOAD","description":"or click to browse","icon":"image-plus","label":"Drop images here","maxFiles":"@config.maxImages","maxSize":"@config.maxBytesPerImage","type":"upload-drop-zone"},{"captionField":"name","entity":"@payload.data","srcField":"url","type":"media-gallery"}],"direction":"vertical","gap":"md","type":"stack"}]]}]},"config":{"maxBytesPerImage":{"type":"number","default":10485760,"label":"Size limit (bytes)","description":"Per-image upload size cap","tier":"domain"},"title":{"type":"string","default":"Upload Images","label":"Section title","description":"Heading shown above the upload zone","tier":"presentation"},"maxImages":{"type":"number","default":10,"label":"Max images","description":"Maximum number of images accepted per upload batch","tier":"domain"},"accept":{"type":"string","default":"image/*","label":"MIME filter","description":"Browser accept filter for the file picker","tier":"domain"},"bucket":{"type":"string","default":"images","label":"Storage bucket","description":"Object-storage bucket the batch uploads into","tier":"domain"}},"scope":"collection"}],"pages":[{"name":"UploadedImageUploadPage","id":"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE","path":"/uploadedimages/upload","traits":[{"ref":"UploadedImageUpload","refId":"trt_A2WANS4KCM9PA9KKY4244QWZD1"}]}],"types":{"StoredImageItem":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}],"UploadBatchFile":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5":{"id":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","kind":"entity","bakedName":"UploadedImage","curName":"UploadedImage","renames":[],"owner":"workspace"},"evt_68GCBJVTQWXBY5Z956WW3S1KXY":{"id":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","kind":"event","bakedName":"UPLOAD","curName":"UPLOAD","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_8SH4CX55CHJP8VNHKM66121XH1":{"id":"evt_8SH4CX55CHJP8VNHKM66121XH1","kind":"event","bakedName":"UploadedImageDeleteFailed","curName":"UploadedImageDeleteFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_AQMV46214X0JEJVZ175JKVK4JF":{"id":"evt_AQMV46214X0JEJVZ175JKVK4JF","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_C9P6JJ08024011QD3REKZ2FQW4":{"id":"evt_C9P6JJ08024011QD3REKZ2FQW4","kind":"event","bakedName":"UploadedImageStored","curName":"UploadedImageStored","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_ERQZ25VREJW793S5836F4AFMGM":{"id":"evt_ERQZ25VREJW793S5836F4AFMGM","kind":"event","bakedName":"UploadedImageLoadFailed","curName":"UploadedImageLoadFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_FE01R99X3PYHVAW6H2CEHRRK0C":{"id":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","kind":"event","bakedName":"DELETE","curName":"DELETE","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_GXJAAH6CCT66D3WQF7VQ30XSQN":{"id":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","kind":"event","bakedName":"UploadedImageCreated","curName":"UploadedImageCreated","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG":{"id":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","kind":"event","bakedName":"UploadedImageDeleted","curName":"UploadedImageDeleted","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z":{"id":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","kind":"event","bakedName":"UploadedImageUploadFailed","curName":"UploadedImageUploadFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ":{"id":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","kind":"event","bakedName":"UploadedImageLoaded","curName":"UploadedImageLoaded","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"orb_GS76CWBA9PN4VFB23BYEHX3Q1C":{"id":"orb_GS76CWBA9PN4VFB23BYEHX3Q1C","kind":"orbital","bakedName":"UploadedImageOrbital","curName":"UploadedImageOrbital","renames":[],"owner":"workspace"},"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE":{"id":"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE","kind":"page","bakedName":"UploadedImageUploadPage","curName":"UploadedImageUploadPage","renames":[],"owner":"workspace"},"trt_A2WANS4KCM9PA9KKY4244QWZD1":{"id":"trt_A2WANS4KCM9PA9KKY4244QWZD1","kind":"trait","bakedName":"UploadedImageUpload","curName":"UploadedImageUpload","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-image-upload-multi","version":"1.0.0","description":"std-image-upload-multi — multi-image upload with drop zone, gallery preview, and per-batch progress.","orbitals":[{"name":"UploadedImageOrbital","id":"orb_GS76CWBA9PN4VFB23BYEHX3Q1C","entity":{"name":"UploadedImage","id":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","collection":"uploadedimages","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true,"description":"The accessible address for retrieving the image data.","synonyms":"link, path, address"},{"name":"name","type":"string","description":"The filename or identifier for the uploaded image.","synonyms":"filename, originalName, identifier"},{"name":"sizeBytes","type":"number","description":"The file size in bytes.","synonyms":"length, filesize, bytes"},{"name":"mimeType","type":"string","description":"The file's internet media type.","synonyms":"type, format, media type"},{"name":"width","type":"number","description":"The image's width in pixels.","synonyms":"imageWidth, pixelWidth"},{"name":"height","type":"number","description":"The vertical dimension of the image, in pixels.","synonyms":"vertical, y, dimension"},{"name":"parentId","type":"string","description":"Identifier of the parent resource this image belongs to.","synonyms":"parent, reference, source"},{"name":"parentType","type":"string","description":"Identifies the type of the parent entity.","synonyms":"parent, type, category"},{"name":"uploadedAt","type":"datetime","description":"Timestamp indicating when the image was uploaded.","synonyms":"date, timestamp, upload time"}]},"traits":[{"name":"UploadedImageUpload","id":"trt_A2WANS4KCM9PA9KKY4244QWZD1","effectRow":[{"kind":"call-service","resource":"storage.uploadMany"},{"kind":"fetch","resource":"UploadedImage"},{"kind":"persist","resource":"UploadedImage"},{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"UploadedImage","linkedEntityId":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","entityRefIds":{"UploadedImage":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5"},"emits":[{"event":"UPLOAD","eventId":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","description":"Signals that an image upload process has begun.","synonyms":"start, initiate, begin","tier":"domain","payloadSchema":[{"name":"files","type":"[object]","required":true,"properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}],"entity":"UploadBatchFile"}]},{"event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","description":"Signals a single image has finished loading.","synonyms":"loaded, received, parsed","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"entity":"UploadedImage"}]},{"event":"UploadedImageLoadFailed","eventId":"evt_ERQZ25VREJW793S5836F4AFMGM","description":"Indicates an image failed to load during the upload process.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"UploadedImageCreated","eventId":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","description":"A new image has been successfully uploaded.","synonyms":"added, new, received","tier":"domain","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"payloadEntity":"UploadedImage"},{"event":"UploadedImageStored","eventId":"evt_C9P6JJ08024011QD3REKZ2FQW4","description":"The storage service accepted the whole batch; items carry each file's stored address and metadata, ready to persist.","synonyms":"uploaded, stored, saved to storage","tier":"internal","payloadSchema":[{"name":"items","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}],"entity":"StoredImageItem"},{"name":"count","type":"number"}]},{"event":"UploadedImageUploadFailed","eventId":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","description":"Indicates a single image upload encountered an error.","synonyms":"error, failure, problem, rejected","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"UploadedImageDeleted","eventId":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","description":"Signals an image has been removed from the upload queue.","synonyms":"removed, discarded, taken out","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}]},{"event":"UploadedImageDeleteFailed","eventId":"evt_8SH4CX55CHJP8VNHKM66121XH1","description":"Indicates an image deletion operation failed.","synonyms":"failed delete, deletion error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"uploading"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_AQMV46214X0JEJVZ175JKVK4JF","name":"Initialize"},{"key":"UploadedImageLoaded","id":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","name":"UploadedImage loaded","description":"Signals a single image has finished loading.","synonyms":"loaded, received, parsed","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"entity":"UploadedImage"}],"listened":true},{"key":"UploadedImageLoadFailed","id":"evt_ERQZ25VREJW793S5836F4AFMGM","name":"UploadedImage load failed","description":"Indicates an image failed to load during the upload process.","synonyms":"error, failure, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"UPLOAD","id":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","name":"Upload","description":"Signals that an image upload process has begun.","synonyms":"start, initiate, begin","tier":"domain","payloadSchema":[{"name":"files","type":"[object]","required":true,"properties":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}]}],"listened":true},{"key":"DELETE","id":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","name":"Delete","description":"Indicates a selected image has been removed.","synonyms":"remove, discard, clear","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"UploadedImageDeleted","id":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","name":"UploadedImage deleted","description":"Signals an image has been removed from the upload queue.","synonyms":"removed, discarded, taken out","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true}],"listened":true},{"key":"UploadedImageDeleteFailed","id":"evt_8SH4CX55CHJP8VNHKM66121XH1","name":"UploadedImage delete failed","description":"Indicates an image deletion operation failed.","synonyms":"failed delete, deletion error","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"UploadedImageStored","id":"evt_C9P6JJ08024011QD3REKZ2FQW4","name":"UploadedImage stored","description":"The storage service accepted the whole batch; items carry each file's stored address and metadata, ready to persist.","synonyms":"uploaded, stored, saved to storage","tier":"internal","payloadSchema":[{"name":"items","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}]},{"name":"count","type":"number"}],"listened":true},{"key":"UploadedImageCreated","id":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","name":"UploadedImage created","description":"A new image has been successfully uploaded.","synonyms":"added, new, received","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"url","type":"url","required":true},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"},{"name":"width","type":"number"},{"name":"height","type":"number"},{"name":"parentId","type":"string"},{"name":"parentType","type":"string"},{"name":"uploadedAt","type":"datetime"}],"payloadEntity":"UploadedImage","listened":true},{"key":"UploadedImageUploadFailed","id":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","name":"UploadedImage upload failed","description":"Indicates a single image upload encountered an error.","synonyms":"error, failure, problem, rejected","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"loading","to":"browsing","event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"name":"image-plus","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"accept":"@config.accept","action":"UPLOAD","description":"or click to browse","icon":"image-plus","label":"Drop images here","maxFiles":"@config.maxImages","maxSize":"@config.maxBytesPerImage","type":"upload-drop-zone"},{"captionField":"name","entity":"@payload.data","srcField":"url","type":"media-gallery"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"UploadedImageLoadFailed","eventId":"evt_ERQZ25VREJW793S5836F4AFMGM","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"uploading","event":"UPLOAD","eventId":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","effects":[["call-service","storage","uploadMany",{"acl":"public","bucket":"@config.bucket","files":"@payload.files","maxSize":"@config.maxBytesPerImage"},{"emit":{"failure":"UploadedImageUploadFailed","success":"UploadedImageStored"}}],["render-ui","main",{"align":"center","children":[{"content":"Uploading images…","type":"typography","variant":"h3"},{"max":100,"progressType":"linear","type":"progress-bar","value":0}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"browsing","event":"DELETE","eventId":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","effects":[["persist","delete","UploadedImage","@payload.id",{"emit":{"failure":"UploadedImageDeleteFailed","success":"UploadedImageDeleted"}}]]},{"from":"browsing","to":"loading","event":"UploadedImageDeleted","eventId":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}]]},{"from":"browsing","to":"error","event":"UploadedImageDeleteFailed","eventId":"evt_8SH4CX55CHJP8VNHKM66121XH1","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"uploading","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"uploading","to":"uploading","event":"UploadedImageStored","eventId":"evt_C9P6JJ08024011QD3REKZ2FQW4","effects":[["persist","create","UploadedImage","@payload.items",{"emit":{"failure":"UploadedImageUploadFailed","success":"UploadedImageCreated"}}]]},{"from":"uploading","to":"loading","event":"UploadedImageCreated","eventId":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"align":"center","children":[{"color":"success","name":"check-circle","size":"lg","type":"icon"},{"content":"Upload complete","type":"typography","variant":"h3"}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}]]},{"from":"uploading","to":"error","event":"UploadedImageUploadFailed","eventId":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_AQMV46214X0JEJVZ175JKVK4JF","effects":[["fetch","UploadedImage",{"emit":{"failure":"UploadedImageLoadFailed","success":"UploadedImageLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"error","to":"browsing","event":"UploadedImageLoaded","eventId":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","effects":[["render-ui","main",{"children":[{"align":"center","children":[{"name":"image-plus","size":"lg","type":"icon"},{"content":"@config.title","type":"typography","variant":"h3"}],"direction":"horizontal","gap":"sm","type":"stack"},{"type":"divider"},{"accept":"@config.accept","action":"UPLOAD","description":"or click to browse","icon":"image-plus","label":"Drop images here","maxFiles":"@config.maxImages","maxSize":"@config.maxBytesPerImage","type":"upload-drop-zone"},{"captionField":"name","entity":"@payload.data","srcField":"url","type":"media-gallery"}],"direction":"vertical","gap":"md","type":"stack"}]]}]},"config":{"title":{"type":"string","default":"Upload Images","label":"Section title","description":"Heading shown above the upload zone","tier":"presentation"},"maxImages":{"type":"number","default":10,"label":"Max images","description":"Maximum number of images accepted per upload batch","tier":"domain"},"maxBytesPerImage":{"type":"number","default":10485760,"label":"Size limit (bytes)","description":"Per-image upload size cap","tier":"domain"},"bucket":{"type":"string","default":"images","label":"Storage bucket","description":"Object-storage bucket the batch uploads into","tier":"domain"},"accept":{"type":"string","default":"image/*","label":"MIME filter","description":"Browser accept filter for the file picker","tier":"domain"}},"scope":"collection"}],"pages":[{"name":"UploadedImageUploadPage","id":"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE","path":"/uploadedimages/upload","traits":[{"ref":"UploadedImageUpload","refId":"trt_A2WANS4KCM9PA9KKY4244QWZD1"}]}],"types":{"StoredImageItem":[{"name":"id","type":"string","required":true},{"name":"key","type":"string"},{"name":"url","type":"string"},{"name":"name","type":"string"},{"name":"sizeBytes","type":"number"},{"name":"mimeType","type":"string"}],"UploadBatchFile":[{"name":"name","type":"string","required":true},{"name":"size","type":"number"},{"name":"type","type":"string"},{"name":"content","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5":{"id":"ent_E2KW5QYGZ08FG28SJ8YG5FY1K5","kind":"entity","bakedName":"UploadedImage","curName":"UploadedImage","renames":[],"owner":"workspace"},"evt_68GCBJVTQWXBY5Z956WW3S1KXY":{"id":"evt_68GCBJVTQWXBY5Z956WW3S1KXY","kind":"event","bakedName":"UPLOAD","curName":"UPLOAD","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_8SH4CX55CHJP8VNHKM66121XH1":{"id":"evt_8SH4CX55CHJP8VNHKM66121XH1","kind":"event","bakedName":"UploadedImageDeleteFailed","curName":"UploadedImageDeleteFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_AQMV46214X0JEJVZ175JKVK4JF":{"id":"evt_AQMV46214X0JEJVZ175JKVK4JF","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_C9P6JJ08024011QD3REKZ2FQW4":{"id":"evt_C9P6JJ08024011QD3REKZ2FQW4","kind":"event","bakedName":"UploadedImageStored","curName":"UploadedImageStored","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_ERQZ25VREJW793S5836F4AFMGM":{"id":"evt_ERQZ25VREJW793S5836F4AFMGM","kind":"event","bakedName":"UploadedImageLoadFailed","curName":"UploadedImageLoadFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_FE01R99X3PYHVAW6H2CEHRRK0C":{"id":"evt_FE01R99X3PYHVAW6H2CEHRRK0C","kind":"event","bakedName":"DELETE","curName":"DELETE","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_GXJAAH6CCT66D3WQF7VQ30XSQN":{"id":"evt_GXJAAH6CCT66D3WQF7VQ30XSQN","kind":"event","bakedName":"UploadedImageCreated","curName":"UploadedImageCreated","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG":{"id":"evt_HACTCVQT9EX4Q25YWJ6JNM7RNG","kind":"event","bakedName":"UploadedImageDeleted","curName":"UploadedImageDeleted","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z":{"id":"evt_MHQC4WTARV5CDVDG0TP89GBQ2Z","kind":"event","bakedName":"UploadedImageUploadFailed","curName":"UploadedImageUploadFailed","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ":{"id":"evt_YGGJZK08QY4BZBJ51KD5W1Y3MJ","kind":"event","bakedName":"UploadedImageLoaded","curName":"UploadedImageLoaded","renames":[],"owner":"workspace","parent":"trt_A2WANS4KCM9PA9KKY4244QWZD1"},"orb_GS76CWBA9PN4VFB23BYEHX3Q1C":{"id":"orb_GS76CWBA9PN4VFB23BYEHX3Q1C","kind":"orbital","bakedName":"UploadedImageOrbital","curName":"UploadedImageOrbital","renames":[],"owner":"workspace"},"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE":{"id":"pag_5YK9ZHFSN8WTM9D08GSA7JZGTE","kind":"page","bakedName":"UploadedImageUploadPage","curName":"UploadedImageUploadPage","renames":[],"owner":"workspace"},"trt_A2WANS4KCM9PA9KKY4244QWZD1":{"id":"trt_A2WANS4KCM9PA9KKY4244QWZD1","kind":"trait","bakedName":"UploadedImageUpload","curName":"UploadedImageUpload","renames":[],"owner":"workspace"}}}}
|