@almadar/std 16.254.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 +10 -10
- package/behaviors/lolo/agent/evals/eval-agent-builder.lolo +15 -8
- package/behaviors/lolo/agent/organisms/std-agent-builder.lolo +6 -5
- package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-fix-loop.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
- package/behaviors/registry/agent/atoms/std-agent-pool.orb +1 -1
- 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 -1
- 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-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-detail-layout.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-market-flow.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 +1 -1
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/knob-embeddings.hash.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"std-browse","version":"2.5.0","description":"std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery / master-detail / triage) selects one of six render bodies; dense/feed/gallery were folded in from std-browse-dense/-feed/-gallery (Phase 5.B); master-detail (split record view driven by the guarded VIEW/CLOSE self-transitions) and triage (inbox rows) were folded in 2026-07-26. Consumers retarget by setting browseLook.","orbitals":[{"name":"BrowseItemOrbital","id":"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C","uses":[{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-data-list","as":"DataList"}],"entity":{"name":"BrowseItem","id":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The item's identifier or title.","synonyms":"title, label, itemName"},{"name":"description","type":"string","description":"A textual explanation or summary of the item.","synonyms":"summary, details, notes, explanation"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Indicates the current operational state of the item.","synonyms":"state, condition, flag"},{"name":"createdAt","type":"string"}]},"traits":[{"ref":"DataList.traits.DataListRender","id":"trt_73F4FB1T6GX38BYTQRS9ND505Y","name":"MasterListView","linkedEntity":"BrowseItem","linkedEntityId":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","config":{"selfFetch":{"type":"unknown","default":false},"maxInlineActions":{"type":"unknown","default":0},"surface":{"type":"unknown","default":"none"},"variant":{"type":"unknown","default":"compact"},"viewerRole":{"type":"unknown","default":"@config.viewerRole"},"itemClickEvent":{"type":"unknown","default":"@config.itemClickEvent"},"itemActions":{"type":"unknown","default":"@config.itemActions"},"fields":{"type":"unknown","default":"@config.fields"}},"listens":[{"event":"BrowseItemLoaded","triggers":"DataListLoaded","source":{"kind":"trait","trait":"BrowseItemBrowse"}}]},{"name":"BrowseItemBrowse","id":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"fetch","resource":"BrowseItem"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"BrowseItem","linkedEntityId":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","entityRefIds":{"BrowseItem":"ent_VXRDXBPEYG7F86RT2C3EG30A6A"},"traitEmbedIds":{"MasterListView":"trt_73F4FB1T6GX38BYTQRS9ND505Y"},"emits":[{"event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","description":"Signals that a browse item has been successfully loaded.","synonyms":"loaded, received, populated","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"},{"name":"totalCount","type":"number"}]},{"event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","description":"Indicates a failure to load a browse item.","synonyms":"error, failed, problem, unsuccessful","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"VIEW","eventId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","description":"Signals a grid view has been displayed or updated.","synonyms":"display, show, update, render","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"event":"EDIT","eventId":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","description":"Signals a request to edit the selected item.","synonyms":"modify, update, change","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"event":"DELETE","eventId":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","description":"Signals a request to remove an item from the dataset.","synonyms":"remove, discard, delete, purge","tier":"presentation","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","name":"Initialize"},{"key":"BrowseItemLoaded","id":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","name":"BrowseItem loaded","description":"Signals that a browse item has been successfully loaded.","synonyms":"loaded, received, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"},{"name":"totalCount","type":"number"}]},{"key":"BrowseItemLoadFailed","id":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","name":"BrowseItem load failed","description":"Indicates a failure to load a browse item.","synonyms":"error, failed, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"REFETCH_QUERY","id":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","name":"Refetch Query","description":"Triggers a data refresh based on the current query.","synonyms":"refresh, reload, update, re-query","tier":"domain","payloadSchema":[{"name":"searchTerm","type":"string","required":true}],"listened":true},{"key":"REFETCH_FILTER","id":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","name":"Refetch Filter","description":"Triggers a data refresh based on current filter criteria.","synonyms":"refresh, filter, update, reload","tier":"domain","payloadSchema":[{"name":"entity","type":"string","required":true},{"name":"field","type":"string","required":true},{"name":"value","type":"string","required":true},{"name":"query","type":"string"}],"listened":true},{"key":"REFETCH_PAGE","id":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","name":"Refetch Page","description":"Triggers a data grid page refresh.","synonyms":"reload, refresh, update, paginate","tier":"domain","payloadSchema":[{"name":"page","type":"number","required":true}],"listened":true},{"key":"VIEW","id":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","name":"View","description":"Signals a grid view has been displayed or updated.","synonyms":"display, show, update, render","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"key":"CLOSE","id":"evt_V0QF2J52C3H61RB70R5HF0321J","name":"Close"},{"key":"EDIT","id":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","name":"Edit","description":"Signals a request to edit the selected item.","synonyms":"modify, update, change","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"key":"DELETE","id":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","name":"Delete","description":"Signals a request to remove an item from the dataset.","synonyms":"remove, discard, delete, purge","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}],["if",["=","@config.browseLook","gallery"],["render-ui","main",{"type":"skeleton","variant":"grid","rows":6}],["if",["or",["=","@config.browseLook","feed"],["=","@config.browseLook","master-detail"],["=","@config.browseLook","triage"]],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}],["render-ui","main",{"type":"skeleton","variant":"table","rows":6}]]]]},{"from":"loading","to":"browsing","event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","effects":[["if",["=","@config.browseLook","dense"],["render-ui","main","@config.denseBodyContent"],["if",["=","@config.browseLook","feed"],["render-ui","main","@config.feedBodyContent"],["if",["=","@config.browseLook","gallery"],["render-ui","main","@config.galleryBodyContent"],["if",["=","@config.browseLook","master-detail"],["render-ui","main","@config.masterDetailBodyContent"],["if",["=","@config.browseLook","triage"],["render-ui","main","@config.triageBodyContent"],["render-ui","main","@config.bodyContent"]]]]]]]},{"from":"loading","to":"error","event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","effects":[["render-ui","main",{"message":"@payload.error","title":"Couldn't load this list","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_QUERY","eventId":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@payload.searchTerm",""],["str/includes",["object/get","@entity","@config.searchField"],"@payload.searchTerm"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_FILTER","eventId":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@payload.value",""],["=",["object/get","@entity","@payload.field"],"@payload.value"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_PAGE","eventId":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":["*",["-","@payload.page",1],"@config.pageSize"]}]]},{"from":"browsing","to":"browsing","event":"VIEW","eventId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","guard":["=","@config.browseLook","master-detail"],"effects":[["render-ui","main","@config.masterDetailRecordBodyContent"]]},{"from":"browsing","to":"browsing","event":"CLOSE","eventId":"evt_V0QF2J52C3H61RB70R5HF0321J","guard":["=","@config.browseLook","master-detail"],"effects":[["render-ui","main","@config.masterDetailBodyContent"]]},{"from":"browsing","to":"browsing","event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","effects":[["if",["=","@config.browseLook","dense"],["render-ui","main","@config.denseBodyContent"],["if",["=","@config.browseLook","feed"],["render-ui","main","@config.feedBodyContent"],["if",["=","@config.browseLook","gallery"],["render-ui","main","@config.galleryBodyContent"],["if",["=","@config.browseLook","master-detail"],["render-ui","main","@config.masterDetailBodyContent"],["if",["=","@config.browseLook","triage"],["render-ui","main","@config.triageBodyContent"],["render-ui","main","@config.bodyContent"]]]]]]]},{"from":"browsing","to":"browsing","event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't refresh the list — ","@payload.error"],"dismissible":true}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}],["if",["=","@config.browseLook","gallery"],["render-ui","main",{"type":"skeleton","variant":"grid","rows":6}],["if",["or",["=","@config.browseLook","feed"],["=","@config.browseLook","master-detail"],["=","@config.browseLook","triage"]],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}],["render-ui","main",{"type":"skeleton","variant":"table","rows":6}]]]]}]},"config":{"surface":{"type":"string","default":"auto","label":"Paint a surface behind the list?","description":"auto (default) draws the theme's content surface behind every look — on a patterned page background the list reads as one block; the theme decides how that surface looks. none places the list directly on the page (e.g. a list already inside a card or panel you composed).","synonyms":"card background, panel, container, list background, no background, transparent, bare","tier":"presentation","values":["auto","none"]},"emptyDescription":{"type":"string","default":"","label":"Empty-state description","description":"What will appear here once rows exist.","synonyms":"empty text, no data message, empty hint","tier":"presentation"},"browseLook":{"type":"string","default":"table","label":"Browse look","description":"Layer 2 visual treatment for the whole browse surface. table = the default data-grid (bodyContent); dense = spreadsheet-style table with toolbar search (denseBodyContent); feed = chronological card stream (feedBodyContent); gallery = image-first responsive card grid (galleryBodyContent); master-detail = record-work split view — dense list left, clicked record's detail right (masterDetailBodyContent); triage = inbox-register compact rows for queue work (triageBodyContent). Selecting a non-table look swaps which body tree renders after rows load; any body may still be overridden directly at the call site for a one-off layout.","tier":"presentation","values":["table","dense","feed","gallery","master-detail","triage"]},"include":{"type":"[string]","default":[],"label":"Which relation fields to hydrate?","description":"Entity relation field names to hydrate on fetch (e.g. a `tag : Category` field named `tag`), so grid columns can use dot-paths like tag.name. Empty = no hydration, the default.","synonyms":"relation hydration, populate relations, joined fields, hydrate relations","tier":"internal","items":{"type":"string"}},"filters":{"type":"[FilterSpec]","default":[],"label":"Which filters should appear above the list?","description":"Dropdown filter facets by field, rendered as an embedded filter bar above the rows; each selection fires REFETCH_FILTER on this trait. Empty (the default) = no filter bar, which is the right setting whenever the page already composes std-filter beside this list and routes `XFilter.FILTER -> REFETCH_FILTER` — that is the wired owner and remains the primary path. Use this knob only for a standalone list with no page-level filter affordance, so the surface shows one filter bar instead of two.","synonyms":"filter bar, faceted filters, field filters, column filters, dropdowns","tier":"presentation","items":{"type":"object","properties":{"options":{"name":"options","type":"array","required":false,"items":{"type":"string"}},"label":{"name":"label","type":"string","required":false},"field":{"name":"field","type":"string","required":true}}}},"selectable":{"type":"boolean","default":false,"label":"Show row selection checkboxes?","description":"Adds a checkbox column with select-all to the dense table. Enable only when the surface offers bulk actions — checkboxes with nothing to act on are a dead affordance.","synonyms":"row checkboxes, multi-select, bulk select, selection column","tier":"presentation"},"cols":{"type":"number","default":1,"label":"How many columns in the grid?","description":"Number of columns in the responsive card/grid layout.","synonyms":"columns, grid width, card columns, num columns","tier":"presentation"},"bodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"cols":"@config.cols","entity":"@payload.data","fields":"@config.fields","gap":"@config.gap","imageField":"@config.imageField","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","pageSize":"@config.displayPageSize","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","surface":"@config.surface","type":"data-grid","itemEnter":"@config.itemEnter"}],"direction":"vertical","gap":"md","type":"stack"},"label":"Body content tree","description":"Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens. Inlined directly (not via a composed sibling trait) 2026-09-08 — a separately-listening DataGrid1 sibling fired unconditionally on every BrowseItemLoaded regardless of browseLook, racing the correct body for slot main (a listens guard can't gate this: both the Rust interpreter and the TS codegen path restrict a listens guard's context to @payload only, so a browseLook config check there always evaluates undefined)."},"fields":{"type":"[FieldSpec]","default":[{"label":"Name","name":"name","variant":"h4"},{"label":"Description","name":"description","variant":"caption"},{"label":"Status","name":"status","variant":"badge"}],"label":"Which fields should appear as columns?","description":"Each entry maps one entity field to a display column with an optional label and variant.","synonyms":"visible columns, displayed fields, card fields, column list","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"name":{"name":"name","type":"string","required":true},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"format":{"name":"format","type":"string","required":false,"values":["date","time","datetime","currency","number","boolean","percent"]},"label":{"name":"label","type":"string","required":false},"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"header":{"name":"header","type":"string","required":false},"key":{"name":"key","type":"string","required":false}}}},"feedBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"align":"center","children":[{"className":"w-full","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@payload.data","fields":"@config.fields","gap":"none","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"look":["if",["=","@config.feedSurface","cards"],"card-rows","borderless"],"maxInlineActions":"@config.maxInlineActions","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","pageSize":"@config.displayPageSize","surface":["if",["=","@config.feedSurface","plain"],"none","@config.surface"],"type":"data-list","itemEnter":"@config.itemEnter","variant":["if",["=","@config.feedSurface","divided"],"card","default"]}],"className":"w-full","direction":"vertical","gap":"lg","type":"stack"},"label":"Feed look body","description":"Render-ui SExpr rendered after rows load when browseLook = feed. Chronological item stream on the same `fields` contract every look reads (roles: overline, h3/h4, caption, small/body, badge, avatar), separated per feedSurface. Folded from std-browse-feed (Phase 5.B).","tier":"internal"},"searchPlaceholder":{"type":"string","default":"Search…","label":"Search box placeholder text","description":"Hint text inside the list search box (e.g. 'Search orders…').","synonyms":"search hint, placeholder, search box text, search label","tier":"presentation"},"maxInlineActions":{"type":"number","default":3,"label":"How many row actions to show before collapsing?","description":"Actions beyond this count collapse into a '⋯' overflow menu. Set 2–3 for dense tables.","synonyms":"inline actions limit, overflow threshold, max buttons per row","tier":"presentation"},"searchField":{"type":"string","default":"name","label":"Which column does the search box match against?","description":"Name the field on this entity the search box's str/includes filter matches against. Declared, never inferred: an entity with no `name` column must set this to a real field (e.g. title, content) or the search box can never match a row.","synonyms":"search column, search on field, match field, search key","tier":"policy"},"orderBy":{"type":"string","default":"","label":"Which field orders the list?","description":"A field name, or field:desc for newest or largest first (e.g. createdAt:desc). Applied before paging. Empty keeps the stored order.","synonyms":"sort, sort by, order by, newest first, latest first, sort order","tier":"presentation"},"masterDetailRecordBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"detail":{"actions":["array/filter","@config.detailActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"fields":"@config.detailFields","closeEvent":"@config.detailCloseEvent","initialData":"@payload.row","showActions":true,"surface":"none","type":"detail-panel"},"hasSelection":true,"master":{"children":["@trait.MasterListView"],"className":"overflow-y-auto","direction":"vertical","gap":"none","type":"stack"},"type":"master-detail-layout"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Master-detail look body (record open)","description":"Render-ui SExpr rendered by the VIEW transition when browseLook = master-detail: the same split view with the clicked record's detail panel on the right, fed by the VIEW payload row and detailFields.","tier":"internal"},"itemEnter":{"type":"string","default":"none","label":"Row entrance","description":"How a row arrives in the list; a row that changes place glides there (dense, feed, gallery and triage looks)","synonyms":"animate rows, row animation, list motion","tier":"presentation","values":["none","fade","rise","scale","slide"]},"bodySearch":{"type":"boolean","default":true,"label":"Show the list's own search box?","description":"The dense/feed/gallery looks embed their own search box above the rows. Set false when the page already provides a search affordance (a toolbar Search molecule), so the surface shows one search box instead of two.","synonyms":"inline search, list search, built-in search, show search, duplicate search","tier":"presentation"},"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each row action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"},"itemActions":{"type":"[ItemAction]","default":[],"label":"What actions can users take on each row?","description":"Buttons rendered on each row (e.g. Edit, Delete, View).","synonyms":"row buttons, row actions, item actions, per-row buttons, table actions","tier":"presentation","items":{"type":"object","properties":{"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"variant":{"name":"variant","type":"string","required":false,"values":["primary","secondary","ghost","danger"]},"when":{"name":"when","type":"SExpr","required":false},"event":{"name":"event","type":"event","required":false},"navigatesTo":{"name":"navigatesTo","type":"string","required":false}}}},"scopeField":{"type":"string","default":"","label":"Only show records owned by the signed-in user?","description":"Name the field on this entity that holds the viewer's id (e.g. memberId, patientId, assignee). When set, the list loads ONLY rows whose that field equals @user.id — the 'my bookings' / 'my appointments' shape. Left blank the list loads every row, which is the default. Declared, never inferred: guessing the column from its name would silently scope the wrong one.","synonyms":"owner field, my records, only mine, only my own, scope to user, per-user list, mine only, owned by me","tier":"policy"},"detailActions":{"type":"[BrowseDetailAction]","default":[{"event":"CLOSE","label":"Close"}],"label":"Master-detail record pane actions","description":"Action buttons on the master-detail record pane (detail-panel `actions` descriptors: label/event/icon/variant). Consumers add their own record actions (Edit/Delete/…) alongside or instead of Close.","synonyms":"record actions, detail actions, pane actions","tier":"presentation","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":true},"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"event":{"name":"event","type":"event","required":true},"variant":{"name":"variant","type":"string","required":false},"when":{"name":"when","type":"SExpr","required":false},"icon":{"name":"icon","type":"string","required":false}}}},"gap":{"type":"string","default":"md","label":"Spacing between rows","description":"Gap between grid cells: sm, md, or lg.","synonyms":"row gap, cell spacing, grid gap, padding between items","tier":"presentation"},"denseBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"children":[{"columns":"@config.columns","entity":"@payload.data","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"itemClickEvent":"@config.itemClickEvent","look":"dense","maxInlineActions":"@config.maxInlineActions","surface":"none","pageSize":"@config.displayPageSize","selectable":"@config.selectable","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","type":"table-view"}],"className":"overflow-x-auto","direction":"vertical","gap":"none","type":"stack"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Dense look body","description":"Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B). Inlined directly (not via a composed sibling trait) 2026-09-08 — see the table-default body's note for why.","tier":"internal"},"columns":{"type":"[ColumnSpec]","default":[{"align":"left","field":"name","header":"Name","key":"name","weight":"medium"},{"align":"left","field":"description","header":"Detail","key":"description"},{"align":"center","field":"status","format":"badge","header":"Status","key":"status"}],"label":"Table columns","description":"Column definitions for table-style variants (dense). Each maps an entity field to a column with optional width / align / weight / format.","tier":"presentation","items":{"type":"object","properties":{"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4"]},"align":{"name":"align","type":"string","required":false,"values":["left","center","right"]},"format":{"name":"format","type":"string","required":false,"values":["badge","date","currency","number","percent","boolean"]},"width":{"name":"width","type":"string","required":false},"className":{"name":"className","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"weight":{"name":"weight","type":"string","required":false,"values":["normal","medium","semibold"]},"key":{"name":"key","type":"string","required":true},"header":{"name":"header","type":"string","required":false},"field":{"name":"field","type":"string","required":false}}}},"feedSurface":{"type":"string","default":"cards","label":"How are feed items separated?","description":"browseLook = feed only. cards = each item its own raised card with space between (community posts, listings); divided = one surface with hairline rows (inboxes, answer lists, notes); plain = no chrome, items on the page background (editorial article lists, changelogs). What each item shows comes from `fields`: overline = eyebrow above the title, h3/h4 = title (its `icon` becomes a leading tile), caption = prose, small/body = meta line, badge = pill, avatar = leading initials.","synonyms":"feed style, item chrome, card per item, divided list, editorial list, rows or cards","tier":"presentation","values":["cards","divided","plain"]},"triageBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"children":[{"entity":"@payload.data","fields":"@config.fields","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","pageSize":"@config.displayPageSize","surface":"none","type":"data-list","itemEnter":"@config.itemEnter","variant":"compact"}],"className":"overflow-x-auto","direction":"vertical","gap":"none","type":"stack"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Triage look body","description":"Render-ui SExpr rendered after rows load when browseLook = triage. Inbox-register queue: one surface with a toolbar search and compact list rows (title + badges + inline meta) built for keyboard-pace queue work; row actions collapse per maxInlineActions. Composes fields/itemActions/searchPlaceholder/bodySearch.","tier":"internal"},"emptyTitle":{"type":"string","default":"","label":"Empty-state title","description":"Specific title shown when there are no rows (\"No orders yet\"). Left blank, a generic line shows.","synonyms":"empty title, no data title, empty heading","tier":"presentation"},"filterBarLook":{"type":"string","default":"toolbar","label":"Filter bar look","description":"Visual treatment for the embedded filter bar, mirroring std-filter's own enum. Only applies when `filters` is non-empty.","synonyms":"filter bar style, facet style, chips, pills","tier":"presentation","values":["toolbar","chips","pills","popover-trigger","inline-column-header"]},"imageField":{"type":"string","default":"","label":"Which field holds the row image?","description":"Entity field containing the thumbnail URL for each row.","synonyms":"image field, thumbnail field, photo field, picture column","tier":"presentation"},"initialFilterField":{"type":"string","default":"","label":"Which field does the first load filter on?","description":"Name the field the INITIAL load filters on, paired with initialFilterValue. This is the detail half of a list-detail pair: a thread that must wait for a conversation to be picked sets the field to its parent key and leaves the value blank, so the first load matches nothing and the empty state shows instead of every record in the table. REFETCH_FILTER then supplies the real selection. Left blank the first load is unfiltered, which is the default.","synonyms":"initial filter, first load filter, wait for selection, detail pane filter, requires selection, start empty","tier":"policy"},"emptyIcon":{"type":"icon","default":"inbox","label":"Empty-state icon","description":"Domain icon shown when there are no rows.","synonyms":"empty icon, no data icon","tier":"presentation"},"galleryBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"align":"center","children":[{"className":"w-full","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"sticky top-0 z-10 py-3 bg-[var(--color-surface)]/95 backdrop-blur","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@payload.data","fields":"@config.fields","gap":"lg","imageField":"@config.imageField","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","minCardWidth":260,"emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","surface":"@config.surface","type":"data-grid","itemEnter":"@config.itemEnter"}],"className":"w-full","direction":"vertical","gap":"lg","type":"stack"},"label":"Gallery look body","description":"Render-ui SExpr rendered after rows load when browseLook = gallery. Image-first responsive card grid (auto-fit minCardWidth) on the data-grid fields path: imageField renders the card photo when set (falsy-safe when empty), fields drive title/badges/meta. One tree, no renderItem lambda — lambdas do not survive inside (if) arms (2026-07-27).","tier":"internal"},"displayPageSize":{"type":"number","default":10,"label":"How many rows to show at once?","description":"Rows visible per page before the pagination control appears.","synonyms":"visible rows, items per page, display limit, show per page","tier":"presentation"},"pageSize":{"type":"number","default":10,"label":"How many rows to fetch per page?","description":"Records fetched from the server per page request.","synonyms":"fetch limit, records per page, batch size, page limit","tier":"presentation"},"initialFilterValue":{"type":"string","default":"","label":"What value does the first load filter for?","description":"The value initialFilterField must equal on the first load. Blank is meaningful: it matches only records whose field is itself blank, which for a detail pane is normally none — that is how a thread stays empty until its parent is selected.","synonyms":"initial filter value, first load value, default selection","tier":"policy"},"masterDetailBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"detail":{"children":[],"gap":"none","type":"stack"},"emptyDetail":{"description":"Select a record from the list to see its details.","icon":"mouse-pointer-click","title":"Nothing selected","type":"empty-state"},"hasSelection":false,"master":{"children":["@trait.MasterListView"],"className":"overflow-y-auto","direction":"vertical","gap":"none","type":"stack"},"type":"master-detail-layout"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Master-detail look body (no selection)","description":"Render-ui SExpr rendered after rows load when browseLook = master-detail: record-work split view — toolbar, dense list left, empty-state pane right until a row is opened. Opening a row renders masterDetailRecordBodyContent. The toolbar honours bodySearch and filters like every other look; it used to render its search box unconditionally, which put a second search box on any page that already composed std-search (observed in std-crm ContactOrbital).","tier":"internal"},"detailCloseEvent":{"type":"event","default":"CLOSE","label":"Which pane action closes the record?","description":"The detailActions entry whose event matches renders as the pane's close (×) button.","synonyms":"close event, dismiss event, pane close","tier":"presentation","refId":"evt_V0QF2J52C3H61RB70R5HF0321J"},"detailFields":{"type":"[FieldSpec]","default":[{"label":"Name","name":"name","variant":"h4"},{"label":"Description","name":"description","variant":"body"},{"label":"Status","name":"status","variant":"badge"},{"format":"date","label":"Created","name":"createdAt"}],"label":"Which fields appear in the master-detail record pane?","description":"Fields shown in the detail panel when browseLook = master-detail; the field declared variant h3/h4 is the pane title. Consumers overriding columns/fields should override this list to match their entity.","synonyms":"detail columns, record fields, detail pane fields","tier":"presentation","items":{"type":"object","properties":{"name":{"name":"name","type":"string","required":true},"key":{"name":"key","type":"string","required":false},"format":{"name":"format","type":"string","required":false,"values":["date","time","datetime","currency","number","boolean","percent"]},"header":{"name":"header","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},"label":{"name":"label","type":"string","required":false},"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"icon":{"name":"icon","type":"string","required":false}}}},"itemClickEvent":{"type":"event","default":"VIEW","label":"Which event does clicking a row fire?","description":"Row-click channel. Retarget when two browse lists coexist in one orbital and their VIEW payloads differ, so each gets its own typed channel.","synonyms":"row click event, item click, open event, select event","tier":"presentation","refId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1"}},"scope":"collection"}],"pages":[{"name":"BrowseItemPage","id":"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS","path":"/browseitems","traits":[{"ref":"BrowseItemBrowse","refId":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"}]}],"types":{"BrowseDetailAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event","required":true},{"name":"icon","type":"string"},{"name":"variant","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}],"ColumnSpec":[{"name":"key","type":"string","required":true},{"name":"field","type":"string"},{"name":"header","type":"string"},{"name":"width","type":"string"},{"name":"align","type":"string","values":["left","center","right"]},{"name":"className","type":"string"},{"name":"weight","type":"string","values":["normal","medium","semibold"]},{"name":"format","type":"string","values":["badge","date","currency","number","percent","boolean"]},{"name":"icon","type":"string"},{"name":"colorMap","type":"Map<string,BadgeColor>"},{"name":"labels","type":"Map<string,string>"},{"name":"variant","type":"string","values":["h3","h4"]}],"FieldSpec":[{"name":"name","type":"string","required":true},{"name":"label","type":"string"},{"name":"variant","type":"string","values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["date","time","datetime","currency","number","boolean","percent"]},{"name":"key","type":"string"},{"name":"header","type":"string"},{"name":"colorMap","type":"Map<string,BadgeColor>"},{"name":"labels","type":"Map<string,string>"}],"FilterSpec":[{"name":"field","type":"string","required":true},{"name":"label","type":"string"},{"name":"options","type":"[string]"}],"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"navigatesTo","type":"string"},{"name":"variant","type":"string","values":["primary","secondary","ghost","danger"]},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_VXRDXBPEYG7F86RT2C3EG30A6A":{"id":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","kind":"entity","bakedName":"BrowseItem","curName":"BrowseItem","renames":[],"owner":"workspace"},"evt_6X9CQP2YMSFACPV9TWR2VVPSES":{"id":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","kind":"event","bakedName":"BrowseItemLoaded","curName":"BrowseItemLoaded","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_9NZS9SX9G6MR3CJMQC5C2956Q1":{"id":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","kind":"event","bakedName":"BrowseItemLoadFailed","curName":"BrowseItemLoadFailed","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V":{"id":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","kind":"event","bakedName":"REFETCH_PAGE","curName":"REFETCH_PAGE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX":{"id":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","kind":"event","bakedName":"REFETCH_QUERY","curName":"REFETCH_QUERY","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C":{"id":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA":{"id":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","kind":"event","bakedName":"EDIT","curName":"EDIT","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_SV55GV7WGKY89P90F0FVA3V1FZ":{"id":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","kind":"event","bakedName":"REFETCH_FILTER","curName":"REFETCH_FILTER","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_V0QF2J52C3H61RB70R5HF0321J":{"id":"evt_V0QF2J52C3H61RB70R5HF0321J","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1":{"id":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","kind":"event","bakedName":"VIEW","curName":"VIEW","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_ZBBRFZNDX8PYME2SPN85YQTDC7":{"id":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","kind":"event","bakedName":"DELETE","curName":"DELETE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C":{"id":"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C","kind":"orbital","bakedName":"BrowseItemOrbital","curName":"BrowseItemOrbital","renames":[],"owner":"workspace"},"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS":{"id":"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS","kind":"page","bakedName":"BrowseItemPage","curName":"BrowseItemPage","renames":[],"owner":"workspace"},"trt_73F4FB1T6GX38BYTQRS9ND505Y":{"id":"trt_73F4FB1T6GX38BYTQRS9ND505Y","kind":"trait","bakedName":"MasterListView","curName":"MasterListView","renames":[],"owner":"workspace"},"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY":{"id":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY","kind":"trait","bakedName":"BrowseItemBrowse","curName":"BrowseItemBrowse","renames":[],"owner":"workspace"}}}}
|
|
1
|
+
{"name":"std-browse","version":"2.5.0","description":"std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery / master-detail / triage) selects one of six render bodies; dense/feed/gallery were folded in from std-browse-dense/-feed/-gallery (Phase 5.B); master-detail (split record view driven by the guarded VIEW/CLOSE self-transitions) and triage (inbox rows) were folded in 2026-07-26. Consumers retarget by setting browseLook.","orbitals":[{"name":"BrowseItemOrbital","id":"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C","uses":[{"from":"std/behaviors/ui-typography","as":"Typography"},{"from":"std/behaviors/ui-data-list","as":"DataList"}],"entity":{"name":"BrowseItem","id":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The item's identifier or title.","synonyms":"title, label, itemName"},{"name":"description","type":"string","description":"A textual explanation or summary of the item.","synonyms":"summary, details, notes, explanation"},{"name":"status","type":"string","default":"active","values":["active","inactive","pending"],"description":"Indicates the current operational state of the item.","synonyms":"state, condition, flag"},{"name":"createdAt","type":"string"}]},"traits":[{"ref":"DataList.traits.DataListRender","id":"trt_73F4FB1T6GX38BYTQRS9ND505Y","name":"MasterListView","linkedEntity":"BrowseItem","linkedEntityId":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","config":{"fields":{"type":"unknown","default":"@config.fields"},"selfFetch":{"type":"unknown","default":false},"itemClickEvent":{"type":"unknown","default":"@config.itemClickEvent"},"maxInlineActions":{"type":"unknown","default":0},"surface":{"type":"unknown","default":"none"},"viewerRole":{"type":"unknown","default":"@config.viewerRole"},"variant":{"type":"unknown","default":"compact"},"itemActions":{"type":"unknown","default":"@config.itemActions"}},"listens":[{"event":"BrowseItemLoaded","triggers":"DataListLoaded","source":{"kind":"trait","trait":"BrowseItemBrowse"}}]},{"name":"BrowseItemBrowse","id":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"fetch","resource":"BrowseItem"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"}],"category":"interaction","linkedEntity":"BrowseItem","linkedEntityId":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","entityRefIds":{"BrowseItem":"ent_VXRDXBPEYG7F86RT2C3EG30A6A"},"traitEmbedIds":{"MasterListView":"trt_73F4FB1T6GX38BYTQRS9ND505Y"},"emits":[{"event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","description":"Signals that a browse item has been successfully loaded.","synonyms":"loaded, received, populated","tier":"internal","scope":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"},{"name":"totalCount","type":"number"}]},{"event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","description":"Indicates a failure to load a browse item.","synonyms":"error, failed, problem, unsuccessful","tier":"internal","scope":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"VIEW","eventId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","description":"Signals a grid view has been displayed or updated.","synonyms":"display, show, update, render","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"event":"EDIT","eventId":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","description":"Signals a request to edit the selected item.","synonyms":"modify, update, change","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"event":"DELETE","eventId":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","description":"Signals a request to remove an item from the dataset.","synonyms":"remove, discard, delete, purge","tier":"presentation","scope":"external","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"error"}],"events":[{"key":"INIT","id":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","name":"Initialize"},{"key":"BrowseItemLoaded","id":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","name":"BrowseItem loaded","description":"Signals that a browse item has been successfully loaded.","synonyms":"loaded, received, populated","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"},{"name":"totalCount","type":"number"}]},{"key":"BrowseItemLoadFailed","id":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","name":"BrowseItem load failed","description":"Indicates a failure to load a browse item.","synonyms":"error, failed, problem, unsuccessful","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"REFETCH_QUERY","id":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","name":"Refetch Query","description":"Triggers a data refresh based on the current query.","synonyms":"refresh, reload, update, re-query","tier":"domain","payloadSchema":[{"name":"searchTerm","type":"string","required":true}],"listened":true},{"key":"REFETCH_FILTER","id":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","name":"Refetch Filter","description":"Triggers a data refresh based on current filter criteria.","synonyms":"refresh, filter, update, reload","tier":"domain","payloadSchema":[{"name":"entity","type":"string","required":true},{"name":"field","type":"string","required":true},{"name":"value","type":"string","required":true},{"name":"query","type":"string"}],"listened":true},{"key":"REFETCH_PAGE","id":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","name":"Refetch Page","description":"Triggers a data grid page refresh.","synonyms":"reload, refresh, update, paginate","tier":"domain","payloadSchema":[{"name":"page","type":"number","required":true}],"listened":true},{"key":"VIEW","id":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","name":"View","description":"Signals a grid view has been displayed or updated.","synonyms":"display, show, update, render","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"key":"CLOSE","id":"evt_V0QF2J52C3H61RB70R5HF0321J","name":"Close"},{"key":"EDIT","id":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","name":"Edit","description":"Signals a request to edit the selected item.","synonyms":"modify, update, change","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]},{"key":"DELETE","id":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","name":"Delete","description":"Signals a request to remove an item from the dataset.","synonyms":"remove, discard, delete, purge","tier":"presentation","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"row","type":"object","required":true,"properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"description","type":"string"},{"name":"status","type":"string","values":["active","inactive","pending"]},{"name":"createdAt","type":"string"}],"entity":"BrowseItem"}]}],"transitions":[{"from":"loading","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}],["if",["=","@config.browseLook","gallery"],["render-ui","main",{"type":"skeleton","variant":"grid","rows":6}],["if",["or",["=","@config.browseLook","feed"],["=","@config.browseLook","master-detail"],["=","@config.browseLook","triage"]],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}],["render-ui","main",{"type":"skeleton","variant":"table","rows":6}]]]]},{"from":"loading","to":"browsing","event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","effects":[["if",["=","@config.browseLook","dense"],["render-ui","main","@config.denseBodyContent"],["if",["=","@config.browseLook","feed"],["render-ui","main","@config.feedBodyContent"],["if",["=","@config.browseLook","gallery"],["render-ui","main","@config.galleryBodyContent"],["if",["=","@config.browseLook","master-detail"],["render-ui","main","@config.masterDetailBodyContent"],["if",["=","@config.browseLook","triage"],["render-ui","main","@config.triageBodyContent"],["render-ui","main","@config.bodyContent"]]]]]]]},{"from":"loading","to":"error","event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","effects":[["render-ui","main",{"message":"@payload.error","title":"Couldn't load this list","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_QUERY","eventId":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@payload.searchTerm",""],["str/includes",["object/get","@entity","@config.searchField"],"@payload.searchTerm"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_FILTER","eventId":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@payload.value",""],["=",["object/get","@entity","@payload.field"],"@payload.value"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}]]},{"from":"browsing","to":"browsing","event":"REFETCH_PAGE","eventId":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":["*",["-","@payload.page",1],"@config.pageSize"]}]]},{"from":"browsing","to":"browsing","event":"VIEW","eventId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","guard":["=","@config.browseLook","master-detail"],"effects":[["render-ui","main","@config.masterDetailRecordBodyContent"]]},{"from":"browsing","to":"browsing","event":"CLOSE","eventId":"evt_V0QF2J52C3H61RB70R5HF0321J","guard":["=","@config.browseLook","master-detail"],"effects":[["render-ui","main","@config.masterDetailBodyContent"]]},{"from":"browsing","to":"browsing","event":"BrowseItemLoaded","eventId":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","effects":[["if",["=","@config.browseLook","dense"],["render-ui","main","@config.denseBodyContent"],["if",["=","@config.browseLook","feed"],["render-ui","main","@config.feedBodyContent"],["if",["=","@config.browseLook","gallery"],["render-ui","main","@config.galleryBodyContent"],["if",["=","@config.browseLook","master-detail"],["render-ui","main","@config.masterDetailBodyContent"],["if",["=","@config.browseLook","triage"],["render-ui","main","@config.triageBodyContent"],["render-ui","main","@config.bodyContent"]]]]]]]},{"from":"browsing","to":"browsing","event":"BrowseItemLoadFailed","eventId":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't refresh the list — ","@payload.error"],"dismissible":true}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","effects":[["fetch","BrowseItem",{"emit":{"failure":"BrowseItemLoadFailed","success":"BrowseItemLoaded"},"filter":["and",["or",["=","@config.scopeField",""],["=",["object/get","@entity","@config.scopeField"],"@user.id"]],["or",["=","@config.initialFilterField",""],["=",["object/get","@entity","@config.initialFilterField"],"@config.initialFilterValue"]]],"include":"@config.include","limit":"@config.pageSize","orderBy":"@config.orderBy","offset":0}],["if",["=","@config.browseLook","gallery"],["render-ui","main",{"type":"skeleton","variant":"grid","rows":6}],["if",["or",["=","@config.browseLook","feed"],["=","@config.browseLook","master-detail"],["=","@config.browseLook","triage"]],["render-ui","main",{"type":"skeleton","variant":"list","rows":6}],["render-ui","main",{"type":"skeleton","variant":"table","rows":6}]]]]}]},"config":{"filterBarLook":{"type":"string","default":"toolbar","label":"Filter bar look","description":"Visual treatment for the embedded filter bar, mirroring std-filter's own enum. Only applies when `filters` is non-empty.","synonyms":"filter bar style, facet style, chips, pills","tier":"presentation","values":["toolbar","chips","pills","popover-trigger","inline-column-header"]},"filters":{"type":"[FilterSpec]","default":[],"label":"Which filters should appear above the list?","description":"Dropdown filter facets by field, rendered as an embedded filter bar above the rows; each selection fires REFETCH_FILTER on this trait. Empty (the default) = no filter bar, which is the right setting whenever the page already composes std-filter beside this list and routes `XFilter.FILTER -> REFETCH_FILTER` — that is the wired owner and remains the primary path. Use this knob only for a standalone list with no page-level filter affordance, so the surface shows one filter bar instead of two.","synonyms":"filter bar, faceted filters, field filters, column filters, dropdowns","tier":"presentation","items":{"type":"object","properties":{"options":{"name":"options","type":"array","required":false,"items":{"type":"string"}},"field":{"name":"field","type":"string","required":true},"label":{"name":"label","type":"string","required":false}}}},"scopeField":{"type":"string","default":"","label":"Only show records owned by the signed-in user?","description":"Name the field on this entity that holds the viewer's id (e.g. memberId, patientId, assignee). When set, the list loads ONLY rows whose that field equals @user.id — the 'my bookings' / 'my appointments' shape. Left blank the list loads every row, which is the default. Declared, never inferred: guessing the column from its name would silently scope the wrong one.","synonyms":"owner field, my records, only mine, only my own, scope to user, per-user list, mine only, owned by me","tier":"policy"},"include":{"type":"[string]","default":[],"label":"Which relation fields to hydrate?","description":"Entity relation field names to hydrate on fetch (e.g. a `tag : Category` field named `tag`), so grid columns can use dot-paths like tag.name. Empty = no hydration, the default.","synonyms":"relation hydration, populate relations, joined fields, hydrate relations","tier":"internal","items":{"type":"string"}},"itemEnter":{"type":"string","default":"none","label":"Row entrance","description":"How a row arrives in the list; a row that changes place glides there (dense, feed, gallery and triage looks)","synonyms":"animate rows, row animation, list motion","tier":"presentation","values":["none","fade","rise","scale","slide"]},"selectable":{"type":"boolean","default":false,"label":"Show row selection checkboxes?","description":"Adds a checkbox column with select-all to the dense table. Enable only when the surface offers bulk actions — checkboxes with nothing to act on are a dead affordance.","synonyms":"row checkboxes, multi-select, bulk select, selection column","tier":"presentation"},"galleryBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"align":"center","children":[{"className":"w-full","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"sticky top-0 z-10 py-3 bg-[var(--color-surface)]/95 backdrop-blur","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"className":"w-full","entity":"@payload.data","fields":"@config.fields","gap":"lg","imageField":"@config.imageField","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","minCardWidth":260,"emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","surface":"@config.surface","type":"data-grid","itemEnter":"@config.itemEnter"}],"className":"w-full","direction":"vertical","gap":"lg","type":"stack"},"label":"Gallery look body","description":"Render-ui SExpr rendered after rows load when browseLook = gallery. Image-first responsive card grid (auto-fit minCardWidth) on the data-grid fields path: imageField renders the card photo when set (falsy-safe when empty), fields drive title/badges/meta. One tree, no renderItem lambda — lambdas do not survive inside (if) arms (2026-07-27).","tier":"internal"},"cols":{"type":"number","default":1,"label":"How many columns in the grid?","description":"Number of columns in the responsive card/grid layout.","synonyms":"columns, grid width, card columns, num columns","tier":"presentation"},"searchField":{"type":"string","default":"name","label":"Which column does the search box match against?","description":"Name the field on this entity the search box's str/includes filter matches against. Declared, never inferred: an entity with no `name` column must set this to a real field (e.g. title, content) or the search box can never match a row.","synonyms":"search column, search on field, match field, search key","tier":"policy"},"initialFilterValue":{"type":"string","default":"","label":"What value does the first load filter for?","description":"The value initialFilterField must equal on the first load. Blank is meaningful: it matches only records whose field is itself blank, which for a detail pane is normally none — that is how a thread stays empty until its parent is selected.","synonyms":"initial filter value, first load value, default selection","tier":"policy"},"masterDetailBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"detail":{"children":[],"gap":"none","type":"stack"},"emptyDetail":{"description":"Select a record from the list to see its details.","icon":"mouse-pointer-click","title":"Nothing selected","type":"empty-state"},"hasSelection":false,"master":{"children":["@trait.MasterListView"],"className":"overflow-y-auto","direction":"vertical","gap":"none","type":"stack"},"type":"master-detail-layout"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Master-detail look body (no selection)","description":"Render-ui SExpr rendered after rows load when browseLook = master-detail: record-work split view — toolbar, dense list left, empty-state pane right until a row is opened. Opening a row renders masterDetailRecordBodyContent. The toolbar honours bodySearch and filters like every other look; it used to render its search box unconditionally, which put a second search box on any page that already composed std-search (observed in std-crm ContactOrbital).","tier":"internal"},"searchPlaceholder":{"type":"string","default":"Search…","label":"Search box placeholder text","description":"Hint text inside the list search box (e.g. 'Search orders…').","synonyms":"search hint, placeholder, search box text, search label","tier":"presentation"},"feedSurface":{"type":"string","default":"cards","label":"How are feed items separated?","description":"browseLook = feed only. cards = each item its own raised card with space between (community posts, listings); divided = one surface with hairline rows (inboxes, answer lists, notes); plain = no chrome, items on the page background (editorial article lists, changelogs). What each item shows comes from `fields`: overline = eyebrow above the title, h3/h4 = title (its `icon` becomes a leading tile), caption = prose, small/body = meta line, badge = pill, avatar = leading initials.","synonyms":"feed style, item chrome, card per item, divided list, editorial list, rows or cards","tier":"presentation","values":["cards","divided","plain"]},"bodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"cols":"@config.cols","entity":"@payload.data","fields":"@config.fields","gap":"@config.gap","imageField":"@config.imageField","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","pageSize":"@config.displayPageSize","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","surface":"@config.surface","type":"data-grid","itemEnter":"@config.itemEnter"}],"direction":"vertical","gap":"md","type":"stack"},"label":"Body content tree","description":"Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens. Inlined directly (not via a composed sibling trait) 2026-09-08 — a separately-listening DataGrid1 sibling fired unconditionally on every BrowseItemLoaded regardless of browseLook, racing the correct body for slot main (a listens guard can't gate this: both the Rust interpreter and the TS codegen path restrict a listens guard's context to @payload only, so a browseLook config check there always evaluates undefined)."},"maxInlineActions":{"type":"number","default":3,"label":"How many row actions to show before collapsing?","description":"Actions beyond this count collapse into a '⋯' overflow menu. Set 2–3 for dense tables.","synonyms":"inline actions limit, overflow threshold, max buttons per row","tier":"presentation"},"emptyTitle":{"type":"string","default":"","label":"Empty-state title","description":"Specific title shown when there are no rows (\"No orders yet\"). Left blank, a generic line shows.","synonyms":"empty title, no data title, empty heading","tier":"presentation"},"emptyDescription":{"type":"string","default":"","label":"Empty-state description","description":"What will appear here once rows exist.","synonyms":"empty text, no data message, empty hint","tier":"presentation"},"displayPageSize":{"type":"number","default":10,"label":"How many rows to show at once?","description":"Rows visible per page before the pagination control appears.","synonyms":"visible rows, items per page, display limit, show per page","tier":"presentation"},"surface":{"type":"string","default":"auto","label":"Paint a surface behind the list?","description":"auto (default) draws the theme's content surface behind every look — on a patterned page background the list reads as one block; the theme decides how that surface looks. none places the list directly on the page (e.g. a list already inside a card or panel you composed).","synonyms":"card background, panel, container, list background, no background, transparent, bare","tier":"presentation","values":["auto","none"]},"masterDetailRecordBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"detail":{"actions":["array/filter","@config.detailActions",["fn","action",["or",["=",["array/len",["object/get","@action","roles",[]]],0],["array/includes",["object/get","@action","roles",[]],"@config.viewerRole"]]]],"fields":"@config.detailFields","closeEvent":"@config.detailCloseEvent","initialData":"@payload.row","showActions":true,"surface":"none","type":"detail-panel"},"hasSelection":true,"master":{"children":["@trait.MasterListView"],"className":"overflow-y-auto","direction":"vertical","gap":"none","type":"stack"},"type":"master-detail-layout"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Master-detail look body (record open)","description":"Render-ui SExpr rendered by the VIEW transition when browseLook = master-detail: the same split view with the clicked record's detail panel on the right, fed by the VIEW payload row and detailFields.","tier":"internal"},"emptyIcon":{"type":"icon","default":"inbox","label":"Empty-state icon","description":"Domain icon shown when there are no rows.","synonyms":"empty icon, no data icon","tier":"presentation"},"columns":{"type":"[ColumnSpec]","default":[{"align":"left","field":"name","header":"Name","key":"name","weight":"medium"},{"align":"left","field":"description","header":"Detail","key":"description"},{"align":"center","field":"status","format":"badge","header":"Status","key":"status"}],"label":"Table columns","description":"Column definitions for table-style variants (dense). Each maps an entity field to a column with optional width / align / weight / format.","tier":"presentation","items":{"type":"object","properties":{"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"format":{"name":"format","type":"string","required":false,"values":["badge","date","currency","number","percent","boolean"]},"weight":{"name":"weight","type":"string","required":false,"values":["normal","medium","semibold"]},"width":{"name":"width","type":"string","required":false},"field":{"name":"field","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4"]},"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"key":{"name":"key","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false},"className":{"name":"className","type":"string","required":false},"header":{"name":"header","type":"string","required":false},"align":{"name":"align","type":"string","required":false,"values":["left","center","right"]}}}},"orderBy":{"type":"string","default":"","label":"Which field orders the list?","description":"A field name, or field:desc for newest or largest first (e.g. createdAt:desc). Applied before paging. Empty keeps the stored order.","synonyms":"sort, sort by, order by, newest first, latest first, sort order","tier":"presentation"},"detailFields":{"type":"[FieldSpec]","default":[{"label":"Name","name":"name","variant":"h4"},{"label":"Description","name":"description","variant":"body"},{"label":"Status","name":"status","variant":"badge"},{"format":"date","label":"Created","name":"createdAt"}],"label":"Which fields appear in the master-detail record pane?","description":"Fields shown in the detail panel when browseLook = master-detail; the field declared variant h3/h4 is the pane title. Consumers overriding columns/fields should override this list to match their entity.","synonyms":"detail columns, record fields, detail pane fields","tier":"presentation","items":{"type":"object","properties":{"header":{"name":"header","type":"string","required":false},"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"name":{"name":"name","type":"string","required":true},"format":{"name":"format","type":"string","required":false,"values":["date","time","datetime","currency","number","boolean","percent"]},"key":{"name":"key","type":"string","required":false},"label":{"name":"label","type":"string","required":false},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"icon":{"name":"icon","type":"string","required":false}}}},"itemActions":{"type":"[ItemAction]","default":[],"label":"What actions can users take on each row?","description":"Buttons rendered on each row (e.g. Edit, Delete, View).","synonyms":"row buttons, row actions, item actions, per-row buttons, table actions","tier":"presentation","items":{"type":"object","properties":{"navigatesTo":{"name":"navigatesTo","type":"string","required":false},"event":{"name":"event","type":"event","required":false},"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"variant":{"name":"variant","type":"string","required":false,"values":["primary","secondary","ghost","danger"]},"label":{"name":"label","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false},"when":{"name":"when","type":"SExpr","required":false}}}},"viewerRole":{"type":"string","default":"","label":"Viewer's role","description":"The signed-in viewer's role that each row action's `roles` is checked against. Bind it explicitly at the call site (e.g. `viewerRole: @user.role`) in an app whose identity carries a role; left empty, only actions with no `roles` show.","tier":"policy"},"itemClickEvent":{"type":"event","default":"VIEW","label":"Which event does clicking a row fire?","description":"Row-click channel. Retarget when two browse lists coexist in one orbital and their VIEW payloads differ, so each gets its own typed channel.","synonyms":"row click event, item click, open event, select event","tier":"presentation","refId":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1"},"detailCloseEvent":{"type":"event","default":"CLOSE","label":"Which pane action closes the record?","description":"The detailActions entry whose event matches renders as the pane's close (×) button.","synonyms":"close event, dismiss event, pane close","tier":"presentation","refId":"evt_V0QF2J52C3H61RB70R5HF0321J"},"fields":{"type":"[FieldSpec]","default":[{"label":"Name","name":"name","variant":"h4"},{"label":"Description","name":"description","variant":"caption"},{"label":"Status","name":"status","variant":"badge"}],"label":"Which fields should appear as columns?","description":"Each entry maps one entity field to a display column with an optional label and variant.","synonyms":"visible columns, displayed fields, card fields, column list","tier":"presentation","items":{"type":"object","properties":{"label":{"name":"label","type":"string","required":false},"header":{"name":"header","type":"string","required":false},"icon":{"name":"icon","type":"string","required":false},"name":{"name":"name","type":"string","required":true},"labels":{"name":"labels","type":"object","required":false,"items":{"type":"string"}},"key":{"name":"key","type":"string","required":false},"colorMap":{"name":"colorMap","type":"object","required":false,"items":{"type":"string","values":["default","primary","secondary","success","warning","danger","error","info","neutral","destructive"]}},"variant":{"name":"variant","type":"string","required":false,"values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},"format":{"name":"format","type":"string","required":false,"values":["date","time","datetime","currency","number","boolean","percent"]}}}},"bodySearch":{"type":"boolean","default":true,"label":"Show the list's own search box?","description":"The dense/feed/gallery looks embed their own search box above the rows. Set false when the page already provides a search affordance (a toolbar Search molecule), so the surface shows one search box instead of two.","synonyms":"inline search, list search, built-in search, show search, duplicate search","tier":"presentation"},"initialFilterField":{"type":"string","default":"","label":"Which field does the first load filter on?","description":"Name the field the INITIAL load filters on, paired with initialFilterValue. This is the detail half of a list-detail pair: a thread that must wait for a conversation to be picked sets the field to its parent key and leaves the value blank, so the first load matches nothing and the empty state shows instead of every record in the table. REFETCH_FILTER then supplies the real selection. Left blank the first load is unfiltered, which is the default.","synonyms":"initial filter, first load filter, wait for selection, detail pane filter, requires selection, start empty","tier":"policy"},"denseBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"children":[{"columns":"@config.columns","entity":"@payload.data","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"itemClickEvent":"@config.itemClickEvent","look":"dense","maxInlineActions":"@config.maxInlineActions","surface":"none","pageSize":"@config.displayPageSize","selectable":"@config.selectable","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","type":"table-view"}],"className":"overflow-x-auto","direction":"vertical","gap":"none","type":"stack"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Dense look body","description":"Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B). Inlined directly (not via a composed sibling trait) 2026-09-08 — see the table-default body's note for why.","tier":"internal"},"detailActions":{"type":"[BrowseDetailAction]","default":[{"event":"CLOSE","label":"Close"}],"label":"Master-detail record pane actions","description":"Action buttons on the master-detail record pane (detail-panel `actions` descriptors: label/event/icon/variant). Consumers add their own record actions (Edit/Delete/…) alongside or instead of Close.","synonyms":"record actions, detail actions, pane actions","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"roles":{"name":"roles","type":"array","required":false,"items":{"type":"string"}},"variant":{"name":"variant","type":"string","required":false},"when":{"name":"when","type":"SExpr","required":false},"event":{"name":"event","type":"event","required":true}}}},"triageBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"children":[{"className":"w-full max-w-md","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"px-card-md py-card-sm border-b border-[var(--color-border)]","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"children":[{"entity":"@payload.data","fields":"@config.fields","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"maxInlineActions":"@config.maxInlineActions","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","pageSize":"@config.displayPageSize","surface":"none","type":"data-list","itemEnter":"@config.itemEnter","variant":"compact"}],"className":"overflow-x-auto","direction":"vertical","gap":"none","type":"stack"}],"className":["if",["=","@config.surface","auto"],"surface-content overflow-hidden",""],"direction":"vertical","gap":"none","type":"stack"},"label":"Triage look body","description":"Render-ui SExpr rendered after rows load when browseLook = triage. Inbox-register queue: one surface with a toolbar search and compact list rows (title + badges + inline meta) built for keyboard-pace queue work; row actions collapse per maxInlineActions. Composes fields/itemActions/searchPlaceholder/bodySearch.","tier":"internal"},"feedBodyContent":{"type":"render-ui","default":{"children":[["if","@config.bodySearch",{"align":"center","children":[{"className":"w-full","clearable":true,"event":"REFETCH_QUERY","placeholder":"@config.searchPlaceholder","type":"search-input"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],["if",[">",["array/len","@config.filters"],0],{"children":[{"entity":"BrowseItem","event":"REFETCH_FILTER","filters":"@config.filters","look":"@config.filterBarLook","type":"filter-group"}],"className":"w-full","direction":"horizontal","gap":"sm","type":"stack"},{"children":[],"gap":"none","type":"stack"}],{"entity":"@payload.data","fields":"@config.fields","gap":"none","itemClickEvent":"@config.itemClickEvent","itemActions":["array/filter","@config.itemActions",["fn","item",["or",["=",["array/len",["object/get","@item","roles",[]]],0],["array/includes",["object/get","@item","roles",[]],"@config.viewerRole"]]]],"look":["if",["=","@config.feedSurface","cards"],"card-rows","borderless"],"maxInlineActions":"@config.maxInlineActions","emptyDescription":"@config.emptyDescription","emptyIcon":"@config.emptyIcon","emptyTitle":"@config.emptyTitle","pageSize":"@config.displayPageSize","surface":["if",["=","@config.feedSurface","plain"],"none","@config.surface"],"type":"data-list","itemEnter":"@config.itemEnter","variant":["if",["=","@config.feedSurface","divided"],"card","default"]}],"className":"w-full","direction":"vertical","gap":"lg","type":"stack"},"label":"Feed look body","description":"Render-ui SExpr rendered after rows load when browseLook = feed. Chronological item stream on the same `fields` contract every look reads (roles: overline, h3/h4, caption, small/body, badge, avatar), separated per feedSurface. Folded from std-browse-feed (Phase 5.B).","tier":"internal"},"gap":{"type":"string","default":"md","label":"Spacing between rows","description":"Gap between grid cells: sm, md, or lg.","synonyms":"row gap, cell spacing, grid gap, padding between items","tier":"presentation"},"imageField":{"type":"string","default":"","label":"Which field holds the row image?","description":"Entity field containing the thumbnail URL for each row.","synonyms":"image field, thumbnail field, photo field, picture column","tier":"presentation"},"browseLook":{"type":"string","default":"table","label":"Browse look","description":"Layer 2 visual treatment for the whole browse surface. table = the default data-grid (bodyContent); dense = spreadsheet-style table with toolbar search (denseBodyContent); feed = chronological card stream (feedBodyContent); gallery = image-first responsive card grid (galleryBodyContent); master-detail = record-work split view — dense list left, clicked record's detail right (masterDetailBodyContent); triage = inbox-register compact rows for queue work (triageBodyContent). Selecting a non-table look swaps which body tree renders after rows load; any body may still be overridden directly at the call site for a one-off layout.","tier":"presentation","values":["table","dense","feed","gallery","master-detail","triage"]},"pageSize":{"type":"number","default":10,"label":"How many rows to fetch per page?","description":"Records fetched from the server per page request.","synonyms":"fetch limit, records per page, batch size, page limit","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"BrowseItemPage","id":"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS","path":"/browseitems","traits":[{"ref":"BrowseItemBrowse","refId":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"}]}],"types":{"BrowseDetailAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event","required":true},{"name":"icon","type":"string"},{"name":"variant","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}],"ColumnSpec":[{"name":"key","type":"string","required":true},{"name":"field","type":"string"},{"name":"header","type":"string"},{"name":"width","type":"string"},{"name":"align","type":"string","values":["left","center","right"]},{"name":"className","type":"string"},{"name":"weight","type":"string","values":["normal","medium","semibold"]},{"name":"format","type":"string","values":["badge","date","currency","number","percent","boolean"]},{"name":"icon","type":"string"},{"name":"colorMap","type":"Map<string,BadgeColor>"},{"name":"labels","type":"Map<string,string>"},{"name":"variant","type":"string","values":["h3","h4"]}],"FieldSpec":[{"name":"name","type":"string","required":true},{"name":"label","type":"string"},{"name":"variant","type":"string","values":["h3","h4","overline","avatar","body","caption","badge","small","progress"]},{"name":"icon","type":"string"},{"name":"format","type":"string","values":["date","time","datetime","currency","number","boolean","percent"]},{"name":"key","type":"string"},{"name":"header","type":"string"},{"name":"colorMap","type":"Map<string,BadgeColor>"},{"name":"labels","type":"Map<string,string>"}],"FilterSpec":[{"name":"field","type":"string","required":true},{"name":"label","type":"string"},{"name":"options","type":"[string]"}],"ItemAction":[{"name":"label","type":"string","required":true},{"name":"event","type":"event"},{"name":"navigatesTo","type":"string"},{"name":"variant","type":"string","values":["primary","secondary","ghost","danger"]},{"name":"icon","type":"string"},{"name":"roles","type":"[string]"},{"name":"when","type":"SExpr"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_VXRDXBPEYG7F86RT2C3EG30A6A":{"id":"ent_VXRDXBPEYG7F86RT2C3EG30A6A","kind":"entity","bakedName":"BrowseItem","curName":"BrowseItem","renames":[],"owner":"workspace"},"evt_6X9CQP2YMSFACPV9TWR2VVPSES":{"id":"evt_6X9CQP2YMSFACPV9TWR2VVPSES","kind":"event","bakedName":"BrowseItemLoaded","curName":"BrowseItemLoaded","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_9NZS9SX9G6MR3CJMQC5C2956Q1":{"id":"evt_9NZS9SX9G6MR3CJMQC5C2956Q1","kind":"event","bakedName":"BrowseItemLoadFailed","curName":"BrowseItemLoadFailed","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V":{"id":"evt_AJ2Q4S9GY8RF418XC5XV6BDJ4V","kind":"event","bakedName":"REFETCH_PAGE","curName":"REFETCH_PAGE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX":{"id":"evt_GMYFQ3ZH46RJ3F91HTZHZ7WSMX","kind":"event","bakedName":"REFETCH_QUERY","curName":"REFETCH_QUERY","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C":{"id":"evt_SRK7H4B2R5HC2G3YDCAY0CHP2C","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA":{"id":"evt_ST9ZV3W3X01YGD7G24VE3C7ZTA","kind":"event","bakedName":"EDIT","curName":"EDIT","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_SV55GV7WGKY89P90F0FVA3V1FZ":{"id":"evt_SV55GV7WGKY89P90F0FVA3V1FZ","kind":"event","bakedName":"REFETCH_FILTER","curName":"REFETCH_FILTER","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_V0QF2J52C3H61RB70R5HF0321J":{"id":"evt_V0QF2J52C3H61RB70R5HF0321J","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1":{"id":"evt_VHM5CNFK8ZSMFZGRJ0Q5KNZ0C1","kind":"event","bakedName":"VIEW","curName":"VIEW","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"evt_ZBBRFZNDX8PYME2SPN85YQTDC7":{"id":"evt_ZBBRFZNDX8PYME2SPN85YQTDC7","kind":"event","bakedName":"DELETE","curName":"DELETE","renames":[],"owner":"workspace","parent":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY"},"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C":{"id":"orb_47Q8ZQ8DPR6VC7RPQRGYJ0TH4C","kind":"orbital","bakedName":"BrowseItemOrbital","curName":"BrowseItemOrbital","renames":[],"owner":"workspace"},"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS":{"id":"pag_EJS2MQGFZS7ZWVMDEW1AKJ1MYS","kind":"page","bakedName":"BrowseItemPage","curName":"BrowseItemPage","renames":[],"owner":"workspace"},"trt_73F4FB1T6GX38BYTQRS9ND505Y":{"id":"trt_73F4FB1T6GX38BYTQRS9ND505Y","kind":"trait","bakedName":"MasterListView","curName":"MasterListView","renames":[],"owner":"workspace"},"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY":{"id":"trt_GSA9ZC8CJ5692NB2CRMN3GA8MY","kind":"trait","bakedName":"BrowseItemBrowse","curName":"BrowseItemBrowse","renames":[],"owner":"workspace"}}}}
|