@almadar/std 16.252.0 → 16.253.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.
Files changed (448) hide show
  1. package/behaviors/lolo/agent/atoms/std-agent-suggestions.lolo +16 -2
  2. package/behaviors/lolo/ui/learning/atoms/std-learn-generate.lolo +6 -4
  3. package/behaviors/registry/agent/atoms/std-agent-context.orb +1 -1
  4. package/behaviors/registry/agent/atoms/std-agent-memory.orb +1 -1
  5. package/behaviors/registry/agent/atoms/std-agent-planner.orb +1 -1
  6. package/behaviors/registry/agent/atoms/std-agent-proposal.orb +1 -1
  7. package/behaviors/registry/agent/atoms/std-agent-session.orb +1 -1
  8. package/behaviors/registry/agent/atoms/std-agent-suggestions.orb +1 -1
  9. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +1 -1
  10. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +1 -1
  11. package/behaviors/registry/agent/atoms/std-agent-trace.orb +1 -1
  12. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1 -1
  13. package/behaviors/registry/infra/atoms/std-analytics.orb +1 -1
  14. package/behaviors/registry/infra/atoms/std-approval-gate.orb +1 -1
  15. package/behaviors/registry/infra/atoms/std-audit-capture.orb +1 -1
  16. package/behaviors/registry/infra/atoms/std-cache-aside.orb +1 -1
  17. package/behaviors/registry/infra/atoms/std-calendar-sync.orb +1 -1
  18. package/behaviors/registry/infra/atoms/std-cascade-on-delete.orb +1 -1
  19. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -1
  20. package/behaviors/registry/infra/atoms/std-cross-reference.orb +1 -1
  21. package/behaviors/registry/infra/atoms/std-data-erasure.orb +1 -1
  22. package/behaviors/registry/infra/atoms/std-data-import.orb +1 -1
  23. package/behaviors/registry/infra/atoms/std-global-search.orb +1 -1
  24. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +1 -1
  25. package/behaviors/registry/infra/atoms/std-lifecycle.orb +1 -1
  26. package/behaviors/registry/infra/atoms/std-migration-job.orb +1 -1
  27. package/behaviors/registry/infra/atoms/std-mod-queue.orb +1 -1
  28. package/behaviors/registry/infra/atoms/std-notification-center.orb +1 -1
  29. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +1 -1
  30. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +1 -1
  31. package/behaviors/registry/infra/atoms/std-page-search.orb +1 -1
  32. package/behaviors/registry/infra/atoms/std-page-watch.orb +1 -1
  33. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +1 -1
  34. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +1 -1
  35. package/behaviors/registry/infra/atoms/std-reminder-scheduler.orb +1 -1
  36. package/behaviors/registry/infra/atoms/std-review-cycle.orb +1 -1
  37. package/behaviors/registry/infra/atoms/std-row-access-control.orb +1 -1
  38. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +1 -1
  39. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +1 -1
  40. package/behaviors/registry/ml/atoms/std-data-collector.orb +1 -1
  41. package/behaviors/registry/ml/atoms/std-graph-builder.orb +1 -1
  42. package/behaviors/registry/ml/atoms/std-ml-classify.orb +1 -1
  43. package/behaviors/registry/ml/atoms/std-ml-infer.orb +1 -1
  44. package/behaviors/registry/ml/atoms/std-ml-label-capture.orb +1 -1
  45. package/behaviors/registry/ml/atoms/std-ml-posterior.orb +1 -1
  46. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +1 -1
  47. package/behaviors/registry/ml/atoms/std-tokenizer.orb +1 -1
  48. package/behaviors/registry/ml/atoms/std-weight-validator.orb +1 -1
  49. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +1 -1
  50. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +1 -1
  51. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  52. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +1 -1
  53. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +1 -1
  54. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-detail.orb +1 -1
  55. package/behaviors/registry/ui/avl/atoms/ui-avl-transition-explainer.orb +1 -1
  56. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +1 -1
  57. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +1 -1
  58. package/behaviors/registry/ui/avl/organisms/ui-flow-canvas.orb +1 -1
  59. package/behaviors/registry/ui/avl/organisms/ui-layers-panel.orb +1 -1
  60. package/behaviors/registry/ui/avl/organisms/ui-orb-inspector.orb +1 -1
  61. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +1 -1
  62. package/behaviors/registry/ui/core/atoms/std-app-search.orb +1 -1
  63. package/behaviors/registry/ui/core/atoms/std-behavior-catalog.orb +1 -1
  64. package/behaviors/registry/ui/core/atoms/std-behavior-tour.orb +1 -1
  65. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +1 -1
  66. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  67. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1 -1
  68. package/behaviors/registry/ui/core/atoms/std-browse.orb +1 -1
  69. package/behaviors/registry/ui/core/atoms/std-calendar.orb +1 -1
  70. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +1 -1
  71. package/behaviors/registry/ui/core/atoms/std-confirmation.orb +1 -1
  72. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +1 -1
  73. package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +1 -1
  74. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +1 -1
  75. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +1 -1
  76. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +1 -1
  77. package/behaviors/registry/ui/core/atoms/std-event-log.orb +1 -1
  78. package/behaviors/registry/ui/core/atoms/std-export.orb +1 -1
  79. package/behaviors/registry/ui/core/atoms/std-file-store.orb +1 -1
  80. package/behaviors/registry/ui/core/atoms/std-filter.orb +1 -1
  81. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -1
  82. package/behaviors/registry/ui/core/atoms/std-gallery.orb +1 -1
  83. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +1 -1
  84. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +1 -1
  85. package/behaviors/registry/ui/core/atoms/std-graphs.orb +1 -1
  86. package/behaviors/registry/ui/core/atoms/std-hero.orb +1 -1
  87. package/behaviors/registry/ui/core/atoms/std-home.orb +1 -1
  88. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +1 -1
  89. package/behaviors/registry/ui/core/atoms/std-import.orb +1 -1
  90. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +1 -1
  91. package/behaviors/registry/ui/core/atoms/std-media-section.orb +1 -1
  92. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +1 -1
  93. package/behaviors/registry/ui/core/atoms/std-modal.orb +1 -1
  94. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +1 -1
  95. package/behaviors/registry/ui/core/atoms/std-notification-panel.orb +1 -1
  96. package/behaviors/registry/ui/core/atoms/std-panel-launcher.orb +1 -1
  97. package/behaviors/registry/ui/core/atoms/std-pricing.orb +1 -1
  98. package/behaviors/registry/ui/core/atoms/std-proof.orb +1 -1
  99. package/behaviors/registry/ui/core/atoms/std-prose.orb +1 -1
  100. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +1 -1
  101. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +1 -1
  102. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +1 -1
  103. package/behaviors/registry/ui/core/atoms/std-related.orb +1 -1
  104. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +1 -1
  105. package/behaviors/registry/ui/core/atoms/std-scatter.orb +1 -1
  106. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +1 -1
  107. package/behaviors/registry/ui/core/atoms/std-selection.orb +1 -1
  108. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +1 -1
  109. package/behaviors/registry/ui/core/atoms/std-site-header.orb +1 -1
  110. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +1 -1
  111. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +1 -1
  112. package/behaviors/registry/ui/core/atoms/std-stats.orb +1 -1
  113. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +1 -1
  114. package/behaviors/registry/ui/core/atoms/std-steps.orb +1 -1
  115. package/behaviors/registry/ui/core/atoms/std-tabs.orb +1 -1
  116. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1 -1
  117. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +1 -1
  118. package/behaviors/registry/ui/core/atoms/std-thread.orb +1 -1
  119. package/behaviors/registry/ui/core/atoms/std-tree.orb +1 -1
  120. package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -1
  121. package/behaviors/registry/ui/core/atoms/std-wizard.orb +1 -1
  122. package/behaviors/registry/ui/core/atoms/std-workspace-layout.orb +1 -1
  123. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +1 -1
  124. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +1 -1
  125. package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
  126. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +1 -1
  127. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +1 -1
  128. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +1 -1
  129. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -1
  130. package/behaviors/registry/ui/core/atoms/ui-box.orb +1 -1
  131. package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -1
  132. package/behaviors/registry/ui/core/atoms/ui-card.orb +1 -1
  133. package/behaviors/registry/ui/core/atoms/ui-center.orb +1 -1
  134. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +1 -1
  135. package/behaviors/registry/ui/core/atoms/ui-conditional-wrapper.orb +1 -1
  136. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +1 -1
  137. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +1 -1
  138. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +1 -1
  139. package/behaviors/registry/ui/core/atoms/ui-divider.orb +1 -1
  140. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +1 -1
  141. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +1 -1
  142. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +1 -1
  143. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +1 -1
  144. package/behaviors/registry/ui/core/atoms/ui-icon.orb +1 -1
  145. package/behaviors/registry/ui/core/atoms/ui-image.orb +1 -1
  146. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +1 -1
  147. package/behaviors/registry/ui/core/atoms/ui-input.orb +1 -1
  148. package/behaviors/registry/ui/core/atoms/ui-label.orb +1 -1
  149. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +1 -1
  150. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +1 -1
  151. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +1 -1
  152. package/behaviors/registry/ui/core/atoms/ui-presence.orb +1 -1
  153. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +1 -1
  154. package/behaviors/registry/ui/core/atoms/ui-radio.orb +1 -1
  155. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +1 -1
  156. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +1 -1
  157. package/behaviors/registry/ui/core/atoms/ui-select.orb +1 -1
  158. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +1 -1
  159. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +1 -1
  160. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +1 -1
  161. package/behaviors/registry/ui/core/atoms/ui-stack.orb +1 -1
  162. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +1 -1
  163. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +1 -1
  164. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +1 -1
  165. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +1 -1
  166. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +1 -1
  167. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +1 -1
  168. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +1 -1
  169. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +1 -1
  170. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +1 -1
  171. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +1 -1
  172. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +1 -1
  173. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +1 -1
  174. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +1 -1
  175. package/behaviors/registry/ui/core/atoms/ui-switch.orb +1 -1
  176. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +1 -1
  177. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +1 -1
  178. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +1 -1
  179. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +1 -1
  180. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +1 -1
  181. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +1 -1
  182. package/behaviors/registry/ui/core/atoms/ui-typography.orb +1 -1
  183. package/behaviors/registry/ui/core/atoms/ui-video-embed.orb +1 -1
  184. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +1 -1
  185. package/behaviors/registry/ui/core/molecules/std-stat-rows.orb +1 -1
  186. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +1 -1
  187. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +1 -1
  188. package/behaviors/registry/ui/core/molecules/ui-activity-rail.orb +1 -1
  189. package/behaviors/registry/ui/core/molecules/ui-agent-activity-feed.orb +1 -1
  190. package/behaviors/registry/ui/core/molecules/ui-agent-activity-row.orb +1 -1
  191. package/behaviors/registry/ui/core/molecules/ui-agent-chat-feed.orb +1 -1
  192. package/behaviors/registry/ui/core/molecules/ui-alert.orb +1 -1
  193. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +1 -1
  194. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +1 -1
  195. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +1 -1
  196. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +1 -1
  197. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +1 -1
  198. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +1 -1
  199. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +1 -1
  200. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +1 -1
  201. package/behaviors/registry/ui/core/molecules/ui-chart.orb +1 -1
  202. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +1 -1
  203. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +1 -1
  204. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +1 -1
  205. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +1 -1
  206. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +1 -1
  207. package/behaviors/registry/ui/core/molecules/ui-container.orb +1 -1
  208. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +1 -1
  209. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
  210. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +1 -1
  211. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +1 -1
  212. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +1 -1
  213. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +1 -1
  214. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +1 -1
  215. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +1 -1
  216. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +1 -1
  217. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +1 -1
  218. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +1 -1
  219. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +1 -1
  220. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +1 -1
  221. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +1 -1
  222. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +1 -1
  223. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +1 -1
  224. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +1 -1
  225. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +1 -1
  226. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +1 -1
  227. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +1 -1
  228. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +1 -1
  229. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +1 -1
  230. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
  231. package/behaviors/registry/ui/core/molecules/ui-flex.orb +1 -1
  232. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
  233. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +1 -1
  234. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +1 -1
  235. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +1 -1
  236. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +1 -1
  237. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +1 -1
  238. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +1 -1
  239. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +1 -1
  240. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +1 -1
  241. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +1 -1
  242. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +1 -1
  243. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +1 -1
  244. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +1 -1
  245. package/behaviors/registry/ui/core/molecules/ui-grid.orb +1 -1
  246. package/behaviors/registry/ui/core/molecules/ui-header.orb +1 -1
  247. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +1 -1
  248. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +1 -1
  249. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +1 -1
  250. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +1 -1
  251. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +1 -1
  252. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +1 -1
  253. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +1 -1
  254. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +1 -1
  255. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +1 -1
  256. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +1 -1
  257. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +1 -1
  258. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +1 -1
  259. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +1 -1
  260. package/behaviors/registry/ui/core/molecules/ui-menu.orb +1 -1
  261. package/behaviors/registry/ui/core/molecules/ui-meter.orb +1 -1
  262. package/behaviors/registry/ui/core/molecules/ui-modal.orb +1 -1
  263. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +1 -1
  264. package/behaviors/registry/ui/core/molecules/ui-notification.orb +1 -1
  265. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +1 -1
  266. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +1 -1
  267. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +1 -1
  268. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +1 -1
  269. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  270. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +1 -1
  271. package/behaviors/registry/ui/core/molecules/ui-popover.orb +1 -1
  272. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +1 -1
  273. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +1 -1
  274. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +1 -1
  275. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +1 -1
  276. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
  277. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +1 -1
  278. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +1 -1
  279. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
  280. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +1 -1
  281. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +1 -1
  282. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +1 -1
  283. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +1 -1
  284. package/behaviors/registry/ui/core/molecules/ui-section.orb +1 -1
  285. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +1 -1
  286. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +1 -1
  287. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
  288. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +1 -1
  289. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +1 -1
  290. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +1 -1
  291. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
  292. package/behaviors/registry/ui/core/molecules/ui-split.orb +1 -1
  293. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +1 -1
  294. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +1 -1
  295. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +1 -1
  296. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
  297. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +1 -1
  298. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +1 -1
  299. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +1 -1
  300. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +1 -1
  301. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +1 -1
  302. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +1 -1
  303. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +1 -1
  304. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +1 -1
  305. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +1 -1
  306. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +1 -1
  307. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +1 -1
  308. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +1 -1
  309. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +1 -1
  310. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +1 -1
  311. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1 -1
  312. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +1 -1
  313. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +1 -1
  314. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +1 -1
  315. package/behaviors/registry/ui/core/organisms/ui-form.orb +1 -1
  316. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +1 -1
  317. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +1 -1
  318. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +1 -1
  319. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +1 -1
  320. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +1 -1
  321. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +1 -1
  322. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +1 -1
  323. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +1 -1
  324. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +1 -1
  325. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +1 -1
  326. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +1 -1
  327. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +1 -1
  328. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +1 -1
  329. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -1
  330. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +1 -1
  331. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -1
  332. package/behaviors/registry/ui/game/atoms/std-arcade-play.orb +1 -1
  333. package/behaviors/registry/ui/game/atoms/std-area-fill.orb +1 -1
  334. package/behaviors/registry/ui/game/atoms/std-audio-cue.orb +1 -1
  335. package/behaviors/registry/ui/game/atoms/std-camera-rig.orb +1 -1
  336. package/behaviors/registry/ui/game/atoms/std-chase-ai.orb +1 -1
  337. package/behaviors/registry/ui/game/atoms/std-choice-gate.orb +1 -1
  338. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +1 -1
  339. package/behaviors/registry/ui/game/atoms/std-curve-fog.orb +1 -1
  340. package/behaviors/registry/ui/game/atoms/std-dungeon-combat.orb +1 -1
  341. package/behaviors/registry/ui/game/atoms/std-fx-narrative.orb +1 -1
  342. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  343. package/behaviors/registry/ui/game/atoms/std-fx-trail.orb +1 -1
  344. package/behaviors/registry/ui/game/atoms/std-gate-lock.orb +1 -1
  345. package/behaviors/registry/ui/game/atoms/std-gather.orb +1 -1
  346. package/behaviors/registry/ui/game/atoms/std-gold.orb +1 -1
  347. package/behaviors/registry/ui/game/atoms/std-grid-tactics.orb +1 -1
  348. package/behaviors/registry/ui/game/atoms/std-hero-nav.orb +1 -1
  349. package/behaviors/registry/ui/game/atoms/std-lives.orb +1 -1
  350. package/behaviors/registry/ui/game/atoms/std-loop-lock.orb +1 -1
  351. package/behaviors/registry/ui/game/atoms/std-market-flow.orb +1 -1
  352. package/behaviors/registry/ui/game/atoms/std-motion-body.orb +1 -1
  353. package/behaviors/registry/ui/game/atoms/std-objective-reach.orb +1 -1
  354. package/behaviors/registry/ui/game/atoms/std-pad-lock.orb +1 -1
  355. package/behaviors/registry/ui/game/atoms/std-patience.orb +1 -1
  356. package/behaviors/registry/ui/game/atoms/std-patrol-hazard.orb +1 -1
  357. package/behaviors/registry/ui/game/atoms/std-pickup.orb +1 -1
  358. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +1 -1
  359. package/behaviors/registry/ui/game/atoms/std-production.orb +1 -1
  360. package/behaviors/registry/ui/game/atoms/std-score.orb +1 -1
  361. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +1 -1
  362. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +1 -1
  363. package/behaviors/registry/ui/game/atoms/std-velocity-gate.orb +1 -1
  364. package/behaviors/registry/ui/game/atoms/std-xp.orb +1 -1
  365. package/behaviors/registry/ui/game/atoms/std-zone-card.orb +1 -1
  366. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +1 -1
  367. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +1 -1
  368. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  369. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +1 -1
  370. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +1 -1
  371. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +1 -1
  372. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +1 -1
  373. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +1 -1
  374. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  375. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +1 -1
  376. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +1 -1
  377. package/behaviors/registry/ui/game/atoms/ui-draw-shape-layer.orb +1 -1
  378. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +1 -1
  379. package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -1
  380. package/behaviors/registry/ui/game/atoms/ui-draw-sprite-layer.orb +1 -1
  381. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +1 -1
  382. package/behaviors/registry/ui/game/atoms/ui-draw-text-layer.orb +1 -1
  383. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +1 -1
  384. package/behaviors/registry/ui/game/atoms/ui-game-audio-cue.orb +1 -1
  385. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +1 -1
  386. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +1 -1
  387. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +1 -1
  388. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +1 -1
  389. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +1 -1
  390. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +1 -1
  391. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +1 -1
  392. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +1 -1
  393. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +1 -1
  394. package/behaviors/registry/ui/game/atoms/ui-timer-display.orb +1 -1
  395. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +1 -1
  396. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +1 -1
  397. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +1 -1
  398. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +1 -1
  399. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +1 -1
  400. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +1 -1
  401. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +1 -1
  402. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -1
  403. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +1 -1
  404. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +1 -1
  405. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +1 -1
  406. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +1 -1
  407. package/behaviors/registry/ui/game/templates/ui-game-shell.orb +1 -1
  408. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +1 -1
  409. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1 -1
  410. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +1 -1
  411. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +1 -1
  412. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +1 -1
  413. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +1 -1
  414. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1 -1
  415. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +1 -1
  416. package/behaviors/registry/ui/learning/atoms/std-learn-fx-cues.orb +1 -1
  417. package/behaviors/registry/ui/learning/atoms/std-learn-generate.orb +1 -1
  418. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1 -1
  419. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +1 -1
  420. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +1 -1
  421. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1 -1
  422. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +1 -1
  423. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +1 -1
  424. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +1 -1
  425. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +1 -1
  426. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +1 -1
  427. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +1 -1
  428. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1 -1
  429. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +1 -1
  430. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +1 -1
  431. package/behaviors/registry/ui/learning/atoms/std-learn-slope-probe.orb +1 -1
  432. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +1 -1
  433. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +1 -1
  434. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +1 -1
  435. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +1 -1
  436. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1 -1
  437. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +1 -1
  438. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +1 -1
  439. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +1 -1
  440. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +1 -1
  441. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +1 -1
  442. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +1 -1
  443. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +1 -1
  444. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +1 -1
  445. package/dist/behaviors-embeddings.hash.json +1 -1
  446. package/dist/behaviors-embeddings.json +1 -1
  447. package/dist/knob-embeddings.hash.json +1 -1
  448. package/package.json +1 -1
@@ -1 +1 @@
1
- {"name":"std-steps","version":"1.0.0","description":"std-steps — a numbered 'how it works' sequence from a config list: a numbered marker (or icon), a title and a short description per step, laid out as a row of columns or a vertical list, under an optional heading. Display only — for an interactive stepper use std-step-flow or std-wizard. Pick for onboarding explainers, process overviews and learning paths.","orbitals":[{"name":"StepsOrbital","id":"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ","entity":{"name":"StepsView","id":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"StepsRender","id":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"StepsView","linkedEntityId":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","entityRefIds":{"StepsView":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"xl","children":[{"type":"stack","direction":"vertical","gap":"sm","align":["if",["==","@config.alignment","center"],"center","start"],"className":["if",["==","@config.heading",""],["if",["==","@config.lede",""],"hidden",""],""],"children":[{"type":"typography","content":"@config.heading","variant":"h2","weight":"bold","align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.heading",""],"hidden","tracking-tight text-balance"]},{"type":"typography","content":"@config.lede","variant":"large","color":"muted","align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.lede",""],"hidden","max-w-2xl text-pretty"]}]},{"type":"simple-grid","cols":["if",["==","@config.layout","vertical"],1,["math/min",["math/max",["array/len","@config.steps"],1],4]],"gap":"lg","children":["array/map","@config.steps",["fn","step",{"type":"stack","direction":["if",["==","@config.layout","vertical"],"horizontal","vertical"],"gap":"md","align":"start","children":[{"type":"box","rounded":"full","bg":"primary","className":"flex h-10 w-10 shrink-0 items-center justify-center text-primary-foreground","children":[{"type":"typography","content":["if",["==",["object/get","@step","icon",""],""],["str/concat","",["+","@index",1]],""],"variant":"label","weight":"bold","color":"inherit","className":["if",["==",["object/get","@step","icon",""],""],"","hidden"]},{"type":"icon","name":["object/get","@step","icon",""],"size":"sm","className":["if",["==",["object/get","@step","icon",""],""],"hidden",""]}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","content":["object/get","@step","title",""],"variant":["if",["==","@config.heading",""],"h2","h3"],"size":"lg","weight":"semibold"},{"type":"typography","content":["object/get","@step","description",""],"variant":"body","color":"muted","className":["if",["==",["object/get","@step","description",""],""],"hidden","text-pretty"]}]}]}]]}]}]}]}]]}]},"config":{"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"layout":{"type":"string","default":"row","label":"Layout","description":"row = side-by-side columns, vertical = a top-to-bottom list","tier":"presentation","values":["row","vertical"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"surface":{"type":"string","default":"plain","label":"Surface","tier":"presentation","values":["plain","muted","accent","inverse"]},"alignment":{"type":"string","default":"center","label":"Heading alignment","tier":"presentation","values":["center","start"]},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"steps":{"type":"[StepItem]","default":[{"title":"Describe it","description":"Say what you want in plain words."},{"title":"Review it","description":"Check the plan before anything is built."},{"title":"Ship it","description":"Publish when it looks right."}],"label":"Steps","description":"One entry per step: title, optional description and icon (an icon replaces the step number)","synonyms":"how it works, process, stages, phases, path","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"title":{"name":"title","type":"string","required":true},"description":{"name":"description","type":"string","required":false}}}},"lede":{"type":"string","default":"","label":"Supporting text","tier":"presentation"},"heading":{"type":"string","default":"","label":"Heading","description":"Section heading above the steps; empty hides it","synonyms":"title","tier":"presentation"},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"}},"scope":"instance"}],"pages":[{"name":"StepsPage","id":"pag_5878WE04R12C0ZRB2XE4P98BD6","path":"/steps","traits":[{"ref":"StepsRender","refId":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K"}]}],"types":{"StepItem":[{"name":"title","type":"string","required":true},{"name":"description","type":"string"},{"name":"icon","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_XAZMZZNB35NHJPV3NMTCEB4PYD":{"id":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","kind":"entity","bakedName":"StepsView","curName":"StepsView","renames":[],"owner":"workspace"},"evt_16EPX66RSACCN5C4ANH3M7ZR2H":{"id":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K"},"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ":{"id":"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ","kind":"orbital","bakedName":"StepsOrbital","curName":"StepsOrbital","renames":[],"owner":"workspace"},"pag_5878WE04R12C0ZRB2XE4P98BD6":{"id":"pag_5878WE04R12C0ZRB2XE4P98BD6","kind":"page","bakedName":"StepsPage","curName":"StepsPage","renames":[],"owner":"workspace"},"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K":{"id":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K","kind":"trait","bakedName":"StepsRender","curName":"StepsRender","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-steps","version":"1.0.0","description":"std-steps — a numbered 'how it works' sequence from a config list: a numbered marker (or icon), a title and a short description per step, laid out as a row of columns or a vertical list, under an optional heading. Display only — for an interactive stepper use std-step-flow or std-wizard. Pick for onboarding explainers, process overviews and learning paths.","orbitals":[{"name":"StepsOrbital","id":"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ","entity":{"name":"StepsView","id":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","persistence":"runtime","fields":[{"name":"id","type":"string","required":true}]},"traits":[{"name":"StepsRender","id":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K","entityRebindable":true,"entityContract":{"requires":[],"provides":[]},"effectRow":[{"kind":"render-ui","resource":"main"}],"category":"interaction","linkedEntity":"StepsView","linkedEntityId":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","entityRefIds":{"StepsView":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD"},"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","name":"Initialize"}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","effects":[["render-ui","main",{"type":"box","paddingY":"xl","bg":["if",["==","@config.surface","muted"],"muted",["if",["==","@config.surface","accent"],"gradient",["if",["==","@config.surface","inverse"],"inverse","transparent"]]],"edgeTop":"@config.edgeTop","edgeBottom":"@config.edgeBottom","edgeColor":"@config.edgeColor","texture":"@config.texture","fullWidth":true,"children":[{"type":"container","size":"xl","maxWidth":"xl","padding":"lg","children":[{"type":"stack","direction":"vertical","gap":"xl","children":[{"type":"stack","direction":"vertical","gap":"sm","align":["if",["==","@config.alignment","center"],"center","start"],"className":["if",["==","@config.heading",""],["if",["==","@config.lede",""],"hidden",""],""],"children":[{"type":"typography","content":"@config.heading","variant":"h2","weight":"bold","align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.heading",""],"hidden","tracking-tight text-balance"]},{"type":"typography","content":"@config.lede","variant":"large","color":"muted","align":["if",["==","@config.alignment","center"],"center","left"],"className":["if",["==","@config.lede",""],"hidden","max-w-2xl text-pretty"]}]},{"type":"simple-grid","cols":["if",["==","@config.layout","vertical"],1,["math/min",["math/max",["array/len","@config.steps"],1],4]],"gap":"lg","children":["array/map","@config.steps",["fn","step",{"type":"stack","direction":["if",["==","@config.layout","vertical"],"horizontal","vertical"],"gap":"md","align":"start","children":[{"type":"box","rounded":"full","bg":"primary","className":"flex h-10 w-10 shrink-0 items-center justify-center text-primary-foreground","children":[{"type":"typography","content":["if",["==",["object/get","@step","icon",""],""],["str/concat","",["+","@index",1]],""],"variant":"label","weight":"bold","color":"inherit","className":["if",["==",["object/get","@step","icon",""],""],"","hidden"]},{"type":"icon","name":["object/get","@step","icon",""],"size":"sm","className":["if",["==",["object/get","@step","icon",""],""],"hidden",""]}]},{"type":"stack","direction":"vertical","gap":"xs","children":[{"type":"typography","content":["object/get","@step","title",""],"variant":["if",["==","@config.heading",""],"h2","h3"],"size":"lg","weight":"semibold"},{"type":"typography","content":["object/get","@step","description",""],"variant":"body","color":"muted","className":["if",["==",["object/get","@step","description",""],""],"hidden","text-pretty"]}]}]}]]}]}]}]}]]}]},"config":{"surface":{"type":"string","default":"plain","label":"Surface","tier":"presentation","values":["plain","muted","accent","inverse"]},"texture":{"type":"boolean","default":false,"label":"Texture","description":"Lay the theme's texture over the section","tier":"presentation"},"alignment":{"type":"string","default":"center","label":"Heading alignment","tier":"presentation","values":["center","start"]},"edgeTop":{"type":"string","default":"none","label":"Top edge","description":"Shape cut into the top of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"lede":{"type":"string","default":"","label":"Supporting text","tier":"presentation"},"layout":{"type":"string","default":"row","label":"Layout","description":"row = side-by-side columns, vertical = a top-to-bottom list","tier":"presentation","values":["row","vertical"]},"edgeColor":{"type":"string","default":"background","label":"Edge fill","description":"The surface of the neighbouring section, which fills the cut","tier":"presentation","values":["background","muted","surface","gradient","inverse"]},"edgeBottom":{"type":"string","default":"none","label":"Bottom edge","description":"Shape cut into the bottom of the section; curve uses the theme's shape","tier":"presentation","values":["none","curve","wave","arc","tilt","step","scallop"]},"heading":{"type":"string","default":"","label":"Heading","description":"Section heading above the steps; empty hides it","synonyms":"title","tier":"presentation"},"steps":{"type":"[StepItem]","default":[{"title":"Describe it","description":"Say what you want in plain words."},{"title":"Review it","description":"Check the plan before anything is built."},{"title":"Ship it","description":"Publish when it looks right."}],"label":"Steps","description":"One entry per step: title, optional description and icon (an icon replaces the step number)","synonyms":"how it works, process, stages, phases, path","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"title":{"name":"title","type":"string","required":true},"description":{"name":"description","type":"string","required":false}}}}},"scope":"instance"}],"pages":[{"name":"StepsPage","id":"pag_5878WE04R12C0ZRB2XE4P98BD6","path":"/steps","traits":[{"ref":"StepsRender","refId":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K"}]}],"types":{"StepItem":[{"name":"title","type":"string","required":true},{"name":"description","type":"string"},{"name":"icon","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_XAZMZZNB35NHJPV3NMTCEB4PYD":{"id":"ent_XAZMZZNB35NHJPV3NMTCEB4PYD","kind":"entity","bakedName":"StepsView","curName":"StepsView","renames":[],"owner":"workspace"},"evt_16EPX66RSACCN5C4ANH3M7ZR2H":{"id":"evt_16EPX66RSACCN5C4ANH3M7ZR2H","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K"},"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ":{"id":"orb_5CNN20K6ZRKFWCMFNW35XP1PFJ","kind":"orbital","bakedName":"StepsOrbital","curName":"StepsOrbital","renames":[],"owner":"workspace"},"pag_5878WE04R12C0ZRB2XE4P98BD6":{"id":"pag_5878WE04R12C0ZRB2XE4P98BD6","kind":"page","bakedName":"StepsPage","curName":"StepsPage","renames":[],"owner":"workspace"},"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K":{"id":"trt_D6QHXS8BRE5W74Y8KGZ30EVG5K","kind":"trait","bakedName":"StepsRender","curName":"StepsRender","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-tabs","version":"2.1.0","description":"std-tabs — embeddable tab-navigation atom. Renders a tabs strip from @config.tabs ([{id, label, icon?, badge?, content?}]); clicking a tab updates @entity.activeTab so only the matching @trait.X content shows. Events remap at the call site for routing, persistence, analytics.","orbitals":[{"name":"TabsItemOrbital","id":"orb_WV9E204Q83BM1Z28GXW71JA9HB","entity":{"name":"TabsItem","id":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"activeTab","type":"string","default":"","description":"The currently selected tab's identifier.","synonyms":"selection, currentTab, highlightedTab"},{"name":"items","type":"array","default":[],"items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"id":{"name":"id","type":"string","required":true},"content":{"name":"content","type":"trait","required":false},"label":{"name":"label","type":"string","required":true},"badge":{"name":"badge","type":"string","required":false}}},"description":"A collection of tab specifications defining the tab structure.","synonyms":"tabs, tab list, tab definitions"}]},"traits":[{"name":"TabsItemTabs","id":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3","entityRebindable":true,"entityContract":{"requires":[],"provides":["activeTab","items"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.activeTab"},{"kind":"set","resource":"@entity.items"}],"category":"interaction","linkedEntity":"TabsItem","linkedEntityId":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","entityRefIds":{"TabsItem":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ"},"emits":[{"event":"TAB_CHANGED","eventId":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","description":"Signals a tab selection has occurred.","synonyms":"selected, activated, switched","tier":"domain","scope":"external","payloadSchema":[{"name":"tabId","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","name":"Initialize"},{"key":"TAB_CHANGED","id":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","name":"Tab Changed","description":"Signals a tab selection has occurred.","synonyms":"selected, activated, switched","tier":"domain","payloadSchema":[{"name":"tabId","type":"string","required":true}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","effects":[["set","@entity.items","@config.tabs"],["set","@entity.activeTab","@config.defaultTab"],["render-ui","main","@config.bodyContent"]]},{"from":"idle","to":"idle","event":"TAB_CHANGED","eventId":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","effects":[["set","@entity.items","@config.tabs"],["set","@entity.activeTab","@payload.tabId"],["render-ui","main","@config.bodyContent"]]}]},"config":{"orientation":{"type":"string","default":"horizontal","label":"Orientation","description":"Horizontal strip or vertical rail layout","tier":"presentation","values":["horizontal","vertical"]},"bodyContent":{"type":"render-ui","default":{"activeTab":"@entity.activeTab","items":"@entity.items","orientation":"@config.orientation","tabChangeEvent":"TAB_CHANGED","type":"tabs","variant":"@config.variant"},"label":"Body content tree","description":"Render-ui SExpr rendered for the tabs surface. Default is the canonical tabs pattern bound to @entity.items / @entity.activeTab. Layer 3 variants override this with their own tree (segmented-pill bar, vertical sidebar rail, etc.) while inheriting the same trait, state machine, emits, and listens.","tier":"internal"},"defaultTab":{"type":"string","default":"overview","label":"Default tab","description":"Tab id selected on first render","tier":"presentation"},"variant":{"type":"string","default":"default","label":"Tab style","description":"Visual style of the tab strip","tier":"presentation","values":["default","pills","underline"]},"tabs":{"type":"[TabSpec]","default":[{"icon":"info","id":"overview","label":"Overview"},{"icon":"list","id":"details","label":"Details"},{"icon":"settings","id":"settings","label":"Settings"}],"label":"Tabs","description":"Tab entries with id, label, icon, badge, and optional content trait","tier":"presentation","items":{"type":"object","properties":{"icon":{"name":"icon","type":"string","required":false},"id":{"name":"id","type":"string","required":true},"label":{"name":"label","type":"string","required":true},"badge":{"name":"badge","type":"string","required":false},"content":{"name":"content","type":"trait","required":false}}}}},"scope":"instance"}],"pages":[{"name":"TabsItemTabsPage","id":"pag_G94READQ9FVMQMT4JK8TKM7JZT","path":"/tabsitems","traits":[{"ref":"TabsItemTabs","refId":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"}]}],"types":{"TabSpec":[{"name":"id","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"icon","type":"string"},{"name":"badge","type":"string"},{"name":"content","type":"trait"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_8H405N5W6DY36Y2WVTVNYG7MWZ":{"id":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","kind":"entity","bakedName":"TabsItem","curName":"TabsItem","renames":[],"owner":"workspace"},"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ":{"id":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","kind":"event","bakedName":"TAB_CHANGED","curName":"TAB_CHANGED","renames":[],"owner":"workspace","parent":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"},"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ":{"id":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"},"orb_WV9E204Q83BM1Z28GXW71JA9HB":{"id":"orb_WV9E204Q83BM1Z28GXW71JA9HB","kind":"orbital","bakedName":"TabsItemOrbital","curName":"TabsItemOrbital","renames":[],"owner":"workspace"},"pag_G94READQ9FVMQMT4JK8TKM7JZT":{"id":"pag_G94READQ9FVMQMT4JK8TKM7JZT","kind":"page","bakedName":"TabsItemTabsPage","curName":"TabsItemTabsPage","renames":[],"owner":"workspace"},"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3":{"id":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3","kind":"trait","bakedName":"TabsItemTabs","curName":"TabsItemTabs","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-tabs","version":"2.1.0","description":"std-tabs — embeddable tab-navigation atom. Renders a tabs strip from @config.tabs ([{id, label, icon?, badge?, content?}]); clicking a tab updates @entity.activeTab so only the matching @trait.X content shows. Events remap at the call site for routing, persistence, analytics.","orbitals":[{"name":"TabsItemOrbital","id":"orb_WV9E204Q83BM1Z28GXW71JA9HB","entity":{"name":"TabsItem","id":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","persistence":"runtime","fields":[{"name":"id","type":"string","required":true},{"name":"activeTab","type":"string","default":"","description":"The currently selected tab's identifier.","synonyms":"selection, currentTab, highlightedTab"},{"name":"items","type":"array","default":[],"items":{"type":"object","properties":{"id":{"name":"id","type":"string","required":true},"content":{"name":"content","type":"trait","required":false},"badge":{"name":"badge","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false}}},"description":"A collection of tab specifications defining the tab structure.","synonyms":"tabs, tab list, tab definitions"}]},"traits":[{"name":"TabsItemTabs","id":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3","entityRebindable":true,"entityContract":{"requires":[],"provides":["activeTab","items"]},"effectRow":[{"kind":"render-ui","resource":"main"},{"kind":"set","resource":"@entity.activeTab"},{"kind":"set","resource":"@entity.items"}],"category":"interaction","linkedEntity":"TabsItem","linkedEntityId":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","entityRefIds":{"TabsItem":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ"},"emits":[{"event":"TAB_CHANGED","eventId":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","description":"Signals a tab selection has occurred.","synonyms":"selected, activated, switched","tier":"domain","scope":"external","payloadSchema":[{"name":"tabId","type":"string","required":true}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true}],"events":[{"key":"INIT","id":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","name":"Initialize"},{"key":"TAB_CHANGED","id":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","name":"Tab Changed","description":"Signals a tab selection has occurred.","synonyms":"selected, activated, switched","tier":"domain","payloadSchema":[{"name":"tabId","type":"string","required":true}],"listened":true}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","effects":[["set","@entity.items","@config.tabs"],["set","@entity.activeTab","@config.defaultTab"],["render-ui","main","@config.bodyContent"]]},{"from":"idle","to":"idle","event":"TAB_CHANGED","eventId":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","effects":[["set","@entity.items","@config.tabs"],["set","@entity.activeTab","@payload.tabId"],["render-ui","main","@config.bodyContent"]]}]},"config":{"orientation":{"type":"string","default":"horizontal","label":"Orientation","description":"Horizontal strip or vertical rail layout","tier":"presentation","values":["horizontal","vertical"]},"bodyContent":{"type":"render-ui","default":{"activeTab":"@entity.activeTab","items":"@entity.items","orientation":"@config.orientation","tabChangeEvent":"TAB_CHANGED","type":"tabs","variant":"@config.variant"},"label":"Body content tree","description":"Render-ui SExpr rendered for the tabs surface. Default is the canonical tabs pattern bound to @entity.items / @entity.activeTab. Layer 3 variants override this with their own tree (segmented-pill bar, vertical sidebar rail, etc.) while inheriting the same trait, state machine, emits, and listens.","tier":"internal"},"defaultTab":{"type":"string","default":"overview","label":"Default tab","description":"Tab id selected on first render","tier":"presentation"},"tabs":{"type":"[TabSpec]","default":[{"icon":"info","id":"overview","label":"Overview"},{"icon":"list","id":"details","label":"Details"},{"icon":"settings","id":"settings","label":"Settings"}],"label":"Tabs","description":"Tab entries with id, label, icon, badge, and optional content trait","tier":"presentation","items":{"type":"object","properties":{"badge":{"name":"badge","type":"string","required":false},"id":{"name":"id","type":"string","required":true},"icon":{"name":"icon","type":"string","required":false},"label":{"name":"label","type":"string","required":true},"content":{"name":"content","type":"trait","required":false}}}},"variant":{"type":"string","default":"default","label":"Tab style","description":"Visual style of the tab strip","tier":"presentation","values":["default","pills","underline"]}},"scope":"instance"}],"pages":[{"name":"TabsItemTabsPage","id":"pag_G94READQ9FVMQMT4JK8TKM7JZT","path":"/tabsitems","traits":[{"ref":"TabsItemTabs","refId":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"}]}],"types":{"TabSpec":[{"name":"id","type":"string","required":true},{"name":"label","type":"string","required":true},{"name":"icon","type":"string"},{"name":"badge","type":"string"},{"name":"content","type":"trait"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_8H405N5W6DY36Y2WVTVNYG7MWZ":{"id":"ent_8H405N5W6DY36Y2WVTVNYG7MWZ","kind":"entity","bakedName":"TabsItem","curName":"TabsItem","renames":[],"owner":"workspace"},"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ":{"id":"evt_PK3N0WDDYMPZAFCTT4KDCJ5NWJ","kind":"event","bakedName":"TAB_CHANGED","curName":"TAB_CHANGED","renames":[],"owner":"workspace","parent":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"},"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ":{"id":"evt_YE331VQ0ZCGFPBWV7YV7AVMDMJ","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3"},"orb_WV9E204Q83BM1Z28GXW71JA9HB":{"id":"orb_WV9E204Q83BM1Z28GXW71JA9HB","kind":"orbital","bakedName":"TabsItemOrbital","curName":"TabsItemOrbital","renames":[],"owner":"workspace"},"pag_G94READQ9FVMQMT4JK8TKM7JZT":{"id":"pag_G94READQ9FVMQMT4JK8TKM7JZT","kind":"page","bakedName":"TabsItemTabsPage","curName":"TabsItemTabsPage","renames":[],"owner":"workspace"},"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3":{"id":"trt_1PGVWKQCYWPFE2Y3QQACRYR3Y3","kind":"trait","bakedName":"TabsItemTabs","curName":"TabsItemTabs","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-tag-strip","version":"1.0.0","description":"std-tag-strip — inline tag editing ON the document surface: the record's tags render as removable chips with a type-to-add input (a typed name that matches an existing tag attaches it; an unknown name is created in the shared taxonomy first), plus one-click chips for every existing tag not yet attached. Emits TAGS_CHANGED { id, tagIds } — the host organism routes it into its persistor's update; the document's refetch re-scopes the strip. Binds any record carrying a tagIds relation array; the tag store is the shared `tags` collection (std-tag-taxonomy's).","orbitals":[{"name":"TagStripOrbital","id":"orb_64HPRGMBPN5VAPVX52NQV9GGDT","entity":{"name":"StripTag","id":"ent_9FVTEXV87WM3YCD44DMP8641PK","collection":"tags","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The descriptive label for this tag.","synonyms":"label, title"},{"name":"parentId","type":"relation","relation":{"entity":"StripTag","entityId":"ent_9FVTEXV87WM3YCD44DMP8641PK","cardinality":"one"},"description":"Reference to the parent tag in the hierarchy; empty marks a root.","synonyms":"parent, ancestor"},{"name":"createdAt","type":"string","default":""},{"name":"pendingId","type":"string","default":""},{"name":"docId","type":"string","default":"","intrinsic":true,"description":"The open record's id, stashed at SHOW_TAG_STRIP so commits know which row to update.","synonyms":"record id, scope id"},{"name":"docTagIds","type":"array","default":[],"items":{"type":"string"},"intrinsic":true,"description":"The open record's current tag ids, stashed at SHOW_TAG_STRIP for membership tests.","synonyms":"attached tags, current tags"},{"name":"pendingTagName","type":"string","default":"","intrinsic":true,"description":"The tag name typed or clicked on add, held across the resolve fetch.","synonyms":"typed tag, adding tag"},{"name":"pendingNames","type":"array","default":[],"items":{"type":"string"},"intrinsic":true,"description":"The chip names remaining after a remove, held across the resolve fetch.","synonyms":"remaining tags, kept names"}]},"traits":[{"name":"TagStrip","id":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG","entityRebindable":true,"entityContract":{"requires":[],"provides":["docId","docTagIds","pendingNames","pendingTagName"]},"effectRow":[{"kind":"emit","resource":"TAGS_CHANGED"},{"kind":"fetch","resource":"StripTag"},{"kind":"persist","resource":"StripTag"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.docId"},{"kind":"set","resource":"@entity.docTagIds"},{"kind":"set","resource":"@entity.pendingNames"},{"kind":"set","resource":"@entity.pendingTagName"}],"category":"interaction","linkedEntity":"StripTag","linkedEntityId":"ent_9FVTEXV87WM3YCD44DMP8641PK","entityRefIds":{"StripTag":"ent_9FVTEXV87WM3YCD44DMP8641PK"},"emits":[{"event":"TAGS_CHANGED","eventId":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","description":"The record's tag set changed (chip added or removed); the host routes this into its persistor's update so the write and the refetch stay the organism's.","synonyms":"tags updated, tag set changed, retagged","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string"},{"name":"tagIds","type":"[string]"}]},{"event":"ADD_TAG","eventId":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","description":"A tag name was typed into the strip or an existing tag's suggestion chip was clicked.","synonyms":"attach tag, add label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string","required":true},{"name":"value","type":"[string]"}]},{"event":"REMOVE_TAG","eventId":"evt_DARN42J89044G44SPN3TFS61ZA","description":"A chip's remove affordance was clicked; value carries the names that remain.","synonyms":"detach tag, remove label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string"},{"name":"index","type":"number"},{"name":"value","type":"[string]"}]},{"event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA","description":"The shared tag store loaded for the display pass.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","description":"The shared tag store loaded to resolve a typed name on add.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripRemoveOptions","eventId":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","description":"The shared tag store loaded to resolve the remaining names on remove.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","description":"A typed name had no existing tag; a fresh row was created in the shared taxonomy.","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"payloadEntity":"StripTag"},{"event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","description":"The tag store fetch or create failed.","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"loading"},{"name":"ready"},{"name":"adding"},{"name":"creating"},{"name":"removing"}],"events":[{"key":"INIT","id":"evt_YQBV8P89NC4TP21BM2J3NV17XR","name":"Initialize"},{"key":"TagStripOptions","id":"evt_FTBVG121620K131BDTVEBBKZRA","name":"Tag strip options","description":"The shared tag store loaded for the display pass.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TagStripLoadFailed","id":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","name":"Tag strip load failed","description":"The tag store fetch or create failed.","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"SHOW_TAG_STRIP","id":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","name":"Show Tag Strip","description":"Scope the strip to the open record — routed from the document's load events; carries the record's id and current tag ids (hydrated tag rows are normalized to their ids at stash time, so include-hydrated fetches route straight through).","synonyms":"load tags, scope tag strip, show tags","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"tagIds","type":"[string]"}],"listened":true},{"key":"ADD_TAG","id":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","name":"Add Tag","description":"A tag name was typed into the strip or an existing tag's suggestion chip was clicked.","synonyms":"attach tag, add label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string","required":true},{"name":"value","type":"[string]"}],"listened":true},{"key":"REMOVE_TAG","id":"evt_DARN42J89044G44SPN3TFS61ZA","name":"Remove Tag","description":"A chip's remove affordance was clicked; value carries the names that remain.","synonyms":"detach tag, remove label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string"},{"name":"index","type":"number"},{"name":"value","type":"[string]"}],"listened":true},{"key":"TagStripTagCreated","id":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","name":"Tag strip tag created","description":"A typed name had no existing tag; a fresh row was created in the shared taxonomy.","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"payloadEntity":"StripTag","listened":true},{"key":"TagStripAddOptions","id":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","name":"Tag strip add options","description":"The shared tag store loaded to resolve a typed name on add.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TagStripRemoveOptions","id":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","name":"Tag strip remove options","description":"The shared tag store loaded to resolve the remaining names on remove.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TAGS_CHANGED","id":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","name":"Tags Changed","description":"The record's tag set changed (chip added or removed); the host routes this into its persistor's update so the write and the refetch stay the organism's.","synonyms":"tags updated, tag set changed, retagged","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"tagIds","type":"[string]"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"idle","to":"idle","event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA"},{"from":"idle","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load tags — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"ready","event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA","effects":[["render-ui","main",{"children":[["if",["or","@config.readOnly",["=","@config.title",""]],null,{"color":"muted","content":"@config.title","type":"typography","variant":"caption"}],["if","@config.readOnly",null,{"addEvent":"ADD_TAG","helperText":"@config.helperText","placeholder":"@config.placeholder","removeEvent":"REMOVE_TAG","type":"tag-input","value":["array/map",["array/filter","@payload.data",["fn","t",["array/includes","@entity.docTagIds",["object/get","@t","id"]]]],["fn","t",["object/get","@t","name"]]],"variant":"secondary"}],["if",["or","@config.readOnly",["=",["array/len",["array/filter","@payload.data",["fn","t",["if",["array/includes","@entity.docTagIds",["object/get","@t","id"]],false,true]]]],0]],null,{"children":["array/map",["array/filter","@payload.data",["fn","t",["if",["array/includes","@entity.docTagIds",["object/get","@t","id"]],false,true]]],["fn","t",{"action":"ADD_TAG","actionPayload":{"tag":"@t.name"},"icon":"tag","label":"@t.name","size":"sm","type":"button","variant":"ghost"}]],"className":"flex-wrap","direction":"horizontal","gap":"xs","type":"stack"}]],"direction":"vertical","gap":"xs","type":"stack"}]]},{"from":"loading","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"ready","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"ready","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"ready","to":"adding","event":"ADD_TAG","eventId":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","effects":[["set","@entity.pendingTagName","@payload.tag"],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripAddOptions"}}],["render-ui","main",{"align":"center","children":[{"size":"sm","type":"spinner"}],"direction":"horizontal","gap":"xs","type":"stack"}]]},{"from":"ready","to":"removing","event":"REMOVE_TAG","eventId":"evt_DARN42J89044G44SPN3TFS61ZA","effects":[["set","@entity.pendingNames","@payload.value"],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripRemoveOptions"}}],["render-ui","main",{"align":"center","children":[{"size":"sm","type":"spinner"}],"direction":"horizontal","gap":"xs","type":"stack"}]]},{"from":"ready","to":"ready","event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS"},{"from":"adding","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"adding","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"adding","to":"ready","event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","guard":["array/includes",["array/map","@payload.data",["fn","t",["object/get","@t","name"]]],"@entity.pendingTagName"],"effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/append","@entity.docTagIds",["object/get",["array/first",["array/filter","@payload.data",["fn","t",["=",["object/get","@t","name"],"@entity.pendingTagName"]]]],"id"]]}]]},{"from":"adding","to":"creating","event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","effects":[["persist","create","StripTag",{"name":"@entity.pendingTagName"},{"emit":{"failure":"TagStripLoadFailed","success":"TagStripTagCreated"}}]]},{"from":"adding","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"creating","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"creating","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"creating","to":"ready","event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","guard":["!=",["str/default","@payload.id",""],""],"effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/append","@entity.docTagIds","@payload.id"]}]]},{"from":"creating","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"removing","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"removing","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"removing","to":"ready","event":"TagStripRemoveOptions","eventId":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/map",["array/filter","@payload.data",["fn","t",["array/includes","@entity.pendingNames",["object/get","@t","name"]]]],["fn","t",["object/get","@t","id"]]]}]]},{"from":"removing","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]}]},"config":{"title":{"type":"string","default":"Tags","label":"Strip caption","description":"Small caption above the chips; empty hides it","tier":"presentation"},"helperText":{"type":"string","default":"","label":"Helper text","description":"Optional helper line under the input","tier":"presentation"},"readOnly":{"type":"boolean","default":false,"label":"Read-only?","description":"When true the strip renders nothing — no add input, no remove, no suggestion chips. Hosts pass a role condition here so read-only viewers rely on the record's read-only rails (which keep showing the tags) instead of an editing surface.","synonyms":"read only tags, viewer mode, no tag editing, hide tag input","tier":"policy"},"placeholder":{"type":"string","default":"Add a tag…","label":"Input placeholder","description":"Placeholder in the type-to-add input","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"TagStripDemoPage","id":"pag_FJA83K9WX9YEMNDTMAYYMQ941P","path":"/tagstrip/demo","traits":[{"ref":"TagStrip","refId":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_9FVTEXV87WM3YCD44DMP8641PK":{"id":"ent_9FVTEXV87WM3YCD44DMP8641PK","kind":"entity","bakedName":"StripTag","curName":"StripTag","renames":[],"owner":"workspace"},"evt_17GSTGRKA29N1B72SJTZXPK6PZ":{"id":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","kind":"event","bakedName":"SHOW_TAG_STRIP","curName":"SHOW_TAG_STRIP","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_6PHP75QHA9RN4PD0PC3X7MJS1M":{"id":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","kind":"event","bakedName":"TagStripLoadFailed","curName":"TagStripLoadFailed","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH":{"id":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","kind":"event","bakedName":"TagStripRemoveOptions","curName":"TagStripRemoveOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_DARN42J89044G44SPN3TFS61ZA":{"id":"evt_DARN42J89044G44SPN3TFS61ZA","kind":"event","bakedName":"REMOVE_TAG","curName":"REMOVE_TAG","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_ERV7S5HFV6QXK4CM89JSE6JM3N":{"id":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","kind":"event","bakedName":"ADD_TAG","curName":"ADD_TAG","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_FTBVG121620K131BDTVEBBKZRA":{"id":"evt_FTBVG121620K131BDTVEBBKZRA","kind":"event","bakedName":"TagStripOptions","curName":"TagStripOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B":{"id":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","kind":"event","bakedName":"TagStripAddOptions","curName":"TagStripAddOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT":{"id":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","kind":"event","bakedName":"TAGS_CHANGED","curName":"TAGS_CHANGED","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS":{"id":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","kind":"event","bakedName":"TagStripTagCreated","curName":"TagStripTagCreated","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_YQBV8P89NC4TP21BM2J3NV17XR":{"id":"evt_YQBV8P89NC4TP21BM2J3NV17XR","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"orb_64HPRGMBPN5VAPVX52NQV9GGDT":{"id":"orb_64HPRGMBPN5VAPVX52NQV9GGDT","kind":"orbital","bakedName":"TagStripOrbital","curName":"TagStripOrbital","renames":[],"owner":"workspace"},"pag_FJA83K9WX9YEMNDTMAYYMQ941P":{"id":"pag_FJA83K9WX9YEMNDTMAYYMQ941P","kind":"page","bakedName":"TagStripDemoPage","curName":"TagStripDemoPage","renames":[],"owner":"workspace"},"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG":{"id":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG","kind":"trait","bakedName":"TagStrip","curName":"TagStrip","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-tag-strip","version":"1.0.0","description":"std-tag-strip — inline tag editing ON the document surface: the record's tags render as removable chips with a type-to-add input (a typed name that matches an existing tag attaches it; an unknown name is created in the shared taxonomy first), plus one-click chips for every existing tag not yet attached. Emits TAGS_CHANGED { id, tagIds } — the host organism routes it into its persistor's update; the document's refetch re-scopes the strip. Binds any record carrying a tagIds relation array; the tag store is the shared `tags` collection (std-tag-taxonomy's).","orbitals":[{"name":"TagStripOrbital","id":"orb_64HPRGMBPN5VAPVX52NQV9GGDT","entity":{"name":"StripTag","id":"ent_9FVTEXV87WM3YCD44DMP8641PK","collection":"tags","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The descriptive label for this tag.","synonyms":"label, title"},{"name":"parentId","type":"relation","relation":{"entity":"StripTag","entityId":"ent_9FVTEXV87WM3YCD44DMP8641PK","cardinality":"one"},"description":"Reference to the parent tag in the hierarchy; empty marks a root.","synonyms":"parent, ancestor"},{"name":"createdAt","type":"string","default":""},{"name":"pendingId","type":"string","default":""},{"name":"docId","type":"string","default":"","intrinsic":true,"description":"The open record's id, stashed at SHOW_TAG_STRIP so commits know which row to update.","synonyms":"record id, scope id"},{"name":"docTagIds","type":"array","default":[],"items":{"type":"string"},"intrinsic":true,"description":"The open record's current tag ids, stashed at SHOW_TAG_STRIP for membership tests.","synonyms":"attached tags, current tags"},{"name":"pendingTagName","type":"string","default":"","intrinsic":true,"description":"The tag name typed or clicked on add, held across the resolve fetch.","synonyms":"typed tag, adding tag"},{"name":"pendingNames","type":"array","default":[],"items":{"type":"string"},"intrinsic":true,"description":"The chip names remaining after a remove, held across the resolve fetch.","synonyms":"remaining tags, kept names"}]},"traits":[{"name":"TagStrip","id":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG","entityRebindable":true,"entityContract":{"requires":[],"provides":["docId","docTagIds","pendingNames","pendingTagName"]},"effectRow":[{"kind":"emit","resource":"TAGS_CHANGED"},{"kind":"fetch","resource":"StripTag"},{"kind":"persist","resource":"StripTag"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"toast"},{"kind":"set","resource":"@entity.docId"},{"kind":"set","resource":"@entity.docTagIds"},{"kind":"set","resource":"@entity.pendingNames"},{"kind":"set","resource":"@entity.pendingTagName"}],"category":"interaction","linkedEntity":"StripTag","linkedEntityId":"ent_9FVTEXV87WM3YCD44DMP8641PK","entityRefIds":{"StripTag":"ent_9FVTEXV87WM3YCD44DMP8641PK"},"emits":[{"event":"TAGS_CHANGED","eventId":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","description":"The record's tag set changed (chip added or removed); the host routes this into its persistor's update so the write and the refetch stay the organism's.","synonyms":"tags updated, tag set changed, retagged","tier":"domain","scope":"external","payloadSchema":[{"name":"id","type":"string"},{"name":"tagIds","type":"[string]"}]},{"event":"ADD_TAG","eventId":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","description":"A tag name was typed into the strip or an existing tag's suggestion chip was clicked.","synonyms":"attach tag, add label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string","required":true},{"name":"value","type":"[string]"}]},{"event":"REMOVE_TAG","eventId":"evt_DARN42J89044G44SPN3TFS61ZA","description":"A chip's remove affordance was clicked; value carries the names that remain.","synonyms":"detach tag, remove label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string"},{"name":"index","type":"number"},{"name":"value","type":"[string]"}]},{"event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA","description":"The shared tag store loaded for the display pass.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","description":"The shared tag store loaded to resolve a typed name on add.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripRemoveOptions","eventId":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","description":"The shared tag store loaded to resolve the remaining names on remove.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}]},{"event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","description":"A typed name had no existing tag; a fresh row was created in the shared taxonomy.","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"payloadEntity":"StripTag"},{"event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","description":"The tag store fetch or create failed.","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"idle","isInitial":true},{"name":"loading"},{"name":"ready"},{"name":"adding"},{"name":"creating"},{"name":"removing"}],"events":[{"key":"INIT","id":"evt_YQBV8P89NC4TP21BM2J3NV17XR","name":"Initialize"},{"key":"TagStripOptions","id":"evt_FTBVG121620K131BDTVEBBKZRA","name":"Tag strip options","description":"The shared tag store loaded for the display pass.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TagStripLoadFailed","id":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","name":"Tag strip load failed","description":"The tag store fetch or create failed.","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"SHOW_TAG_STRIP","id":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","name":"Show Tag Strip","description":"Scope the strip to the open record — routed from the document's load events; carries the record's id and current tag ids (hydrated tag rows are normalized to their ids at stash time, so include-hydrated fetches route straight through).","synonyms":"load tags, scope tag strip, show tags","tier":"domain","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"tagIds","type":"[string]"}],"listened":true},{"key":"ADD_TAG","id":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","name":"Add Tag","description":"A tag name was typed into the strip or an existing tag's suggestion chip was clicked.","synonyms":"attach tag, add label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string","required":true},{"name":"value","type":"[string]"}],"listened":true},{"key":"REMOVE_TAG","id":"evt_DARN42J89044G44SPN3TFS61ZA","name":"Remove Tag","description":"A chip's remove affordance was clicked; value carries the names that remain.","synonyms":"detach tag, remove label","tier":"presentation","payloadSchema":[{"name":"tag","type":"string"},{"name":"index","type":"number"},{"name":"value","type":"[string]"}],"listened":true},{"key":"TagStripTagCreated","id":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","name":"Tag strip tag created","description":"A typed name had no existing tag; a fresh row was created in the shared taxonomy.","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"payloadEntity":"StripTag","listened":true},{"key":"TagStripAddOptions","id":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","name":"Tag strip add options","description":"The shared tag store loaded to resolve a typed name on add.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TagStripRemoveOptions","id":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","name":"Tag strip remove options","description":"The shared tag store loaded to resolve the remaining names on remove.","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"StripTag"},{"name":"createdAt","type":"string"},{"name":"pendingId","type":"string"},{"name":"docId","type":"string"},{"name":"docTagIds","type":"[string]"},{"name":"pendingTagName","type":"string"},{"name":"pendingNames","type":"[string]"}],"entity":"StripTag"}],"listened":true},{"key":"TAGS_CHANGED","id":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","name":"Tags Changed","description":"The record's tag set changed (chip added or removed); the host routes this into its persistor's update so the write and the refetch stay the organism's.","synonyms":"tags updated, tag set changed, retagged","tier":"domain","payloadSchema":[{"name":"id","type":"string"},{"name":"tagIds","type":"[string]"}]}],"transitions":[{"from":"idle","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"idle","to":"idle","event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA"},{"from":"idle","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","toast",{"type":"alert","variant":"error","message":["str/concat","Couldn't load tags — ","@payload.error"],"dismissible":true}]]},{"from":"idle","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"loading","to":"ready","event":"TagStripOptions","eventId":"evt_FTBVG121620K131BDTVEBBKZRA","effects":[["render-ui","main",{"children":[["if",["or","@config.readOnly",["=","@config.title",""]],null,{"color":"muted","content":"@config.title","type":"typography","variant":"caption"}],["if","@config.readOnly",null,{"addEvent":"ADD_TAG","helperText":"@config.helperText","placeholder":"@config.placeholder","removeEvent":"REMOVE_TAG","type":"tag-input","value":["array/map",["array/filter","@payload.data",["fn","t",["array/includes","@entity.docTagIds",["object/get","@t","id"]]]],["fn","t",["object/get","@t","name"]]],"variant":"secondary"}],["if",["or","@config.readOnly",["=",["array/len",["array/filter","@payload.data",["fn","t",["if",["array/includes","@entity.docTagIds",["object/get","@t","id"]],false,true]]]],0]],null,{"children":["array/map",["array/filter","@payload.data",["fn","t",["if",["array/includes","@entity.docTagIds",["object/get","@t","id"]],false,true]]],["fn","t",{"action":"ADD_TAG","actionPayload":{"tag":"@t.name"},"icon":"tag","label":"@t.name","size":"sm","type":"button","variant":"ghost"}]],"className":"flex-wrap","direction":"horizontal","gap":"xs","type":"stack"}]],"direction":"vertical","gap":"xs","type":"stack"}]]},{"from":"loading","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"ready","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"ready","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"ready","to":"adding","event":"ADD_TAG","eventId":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","effects":[["set","@entity.pendingTagName","@payload.tag"],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripAddOptions"}}],["render-ui","main",{"align":"center","children":[{"size":"sm","type":"spinner"}],"direction":"horizontal","gap":"xs","type":"stack"}]]},{"from":"ready","to":"removing","event":"REMOVE_TAG","eventId":"evt_DARN42J89044G44SPN3TFS61ZA","effects":[["set","@entity.pendingNames","@payload.value"],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripRemoveOptions"}}],["render-ui","main",{"align":"center","children":[{"size":"sm","type":"spinner"}],"direction":"horizontal","gap":"xs","type":"stack"}]]},{"from":"ready","to":"ready","event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS"},{"from":"adding","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"adding","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"adding","to":"ready","event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","guard":["array/includes",["array/map","@payload.data",["fn","t",["object/get","@t","name"]]],"@entity.pendingTagName"],"effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/append","@entity.docTagIds",["object/get",["array/first",["array/filter","@payload.data",["fn","t",["=",["object/get","@t","name"],"@entity.pendingTagName"]]]],"id"]]}]]},{"from":"adding","to":"creating","event":"TagStripAddOptions","eventId":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","effects":[["persist","create","StripTag",{"name":"@entity.pendingTagName"},{"emit":{"failure":"TagStripLoadFailed","success":"TagStripTagCreated"}}]]},{"from":"adding","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"creating","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"creating","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"creating","to":"ready","event":"TagStripTagCreated","eventId":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","guard":["!=",["str/default","@payload.id",""],""],"effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/append","@entity.docTagIds","@payload.id"]}]]},{"from":"creating","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"removing","to":"idle","event":"INIT","eventId":"evt_YQBV8P89NC4TP21BM2J3NV17XR","effects":[["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"removing","to":"loading","event":"SHOW_TAG_STRIP","eventId":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","effects":[["set","@entity.docId","@payload.id"],["set","@entity.docTagIds",["array/map","@payload.tagIds",["fn","t",["str/default",["object/get","@t","id"],"@t"]]]],["fetch","StripTag",{"emit":{"failure":"TagStripLoadFailed","success":"TagStripOptions"}}]]},{"from":"removing","to":"ready","event":"TagStripRemoveOptions","eventId":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","effects":[["emit","TAGS_CHANGED",{"id":"@entity.docId","tagIds":["array/map",["array/filter","@payload.data",["fn","t",["array/includes","@entity.pendingNames",["object/get","@t","name"]]]],["fn","t",["object/get","@t","id"]]]}]]},{"from":"removing","to":"idle","event":"TagStripLoadFailed","eventId":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]}]},"config":{"readOnly":{"type":"boolean","default":false,"label":"Read-only?","description":"When true the strip renders nothing — no add input, no remove, no suggestion chips. Hosts pass a role condition here so read-only viewers rely on the record's read-only rails (which keep showing the tags) instead of an editing surface.","synonyms":"read only tags, viewer mode, no tag editing, hide tag input","tier":"policy"},"helperText":{"type":"string","default":"","label":"Helper text","description":"Optional helper line under the input","tier":"presentation"},"placeholder":{"type":"string","default":"Add a tag…","label":"Input placeholder","description":"Placeholder in the type-to-add input","tier":"presentation"},"title":{"type":"string","default":"Tags","label":"Strip caption","description":"Small caption above the chips; empty hides it","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"TagStripDemoPage","id":"pag_FJA83K9WX9YEMNDTMAYYMQ941P","path":"/tagstrip/demo","traits":[{"ref":"TagStrip","refId":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"}]}]}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_9FVTEXV87WM3YCD44DMP8641PK":{"id":"ent_9FVTEXV87WM3YCD44DMP8641PK","kind":"entity","bakedName":"StripTag","curName":"StripTag","renames":[],"owner":"workspace"},"evt_17GSTGRKA29N1B72SJTZXPK6PZ":{"id":"evt_17GSTGRKA29N1B72SJTZXPK6PZ","kind":"event","bakedName":"SHOW_TAG_STRIP","curName":"SHOW_TAG_STRIP","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_6PHP75QHA9RN4PD0PC3X7MJS1M":{"id":"evt_6PHP75QHA9RN4PD0PC3X7MJS1M","kind":"event","bakedName":"TagStripLoadFailed","curName":"TagStripLoadFailed","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH":{"id":"evt_70KRMJ8DEZ6QFP98Z5W8G1ZNNH","kind":"event","bakedName":"TagStripRemoveOptions","curName":"TagStripRemoveOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_DARN42J89044G44SPN3TFS61ZA":{"id":"evt_DARN42J89044G44SPN3TFS61ZA","kind":"event","bakedName":"REMOVE_TAG","curName":"REMOVE_TAG","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_ERV7S5HFV6QXK4CM89JSE6JM3N":{"id":"evt_ERV7S5HFV6QXK4CM89JSE6JM3N","kind":"event","bakedName":"ADD_TAG","curName":"ADD_TAG","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_FTBVG121620K131BDTVEBBKZRA":{"id":"evt_FTBVG121620K131BDTVEBBKZRA","kind":"event","bakedName":"TagStripOptions","curName":"TagStripOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B":{"id":"evt_G8QF4P4VDPDPVA0DR4EVM5NE3B","kind":"event","bakedName":"TagStripAddOptions","curName":"TagStripAddOptions","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT":{"id":"evt_MR1CDJXS2XWHEXF0DP7KJCMEMT","kind":"event","bakedName":"TAGS_CHANGED","curName":"TAGS_CHANGED","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS":{"id":"evt_X6WZFXKS9XWMYG87F6Q7MVC3HS","kind":"event","bakedName":"TagStripTagCreated","curName":"TagStripTagCreated","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"evt_YQBV8P89NC4TP21BM2J3NV17XR":{"id":"evt_YQBV8P89NC4TP21BM2J3NV17XR","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG"},"orb_64HPRGMBPN5VAPVX52NQV9GGDT":{"id":"orb_64HPRGMBPN5VAPVX52NQV9GGDT","kind":"orbital","bakedName":"TagStripOrbital","curName":"TagStripOrbital","renames":[],"owner":"workspace"},"pag_FJA83K9WX9YEMNDTMAYYMQ941P":{"id":"pag_FJA83K9WX9YEMNDTMAYYMQ941P","kind":"page","bakedName":"TagStripDemoPage","curName":"TagStripDemoPage","renames":[],"owner":"workspace"},"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG":{"id":"trt_JDYWC1A3JJ1S96BB2SYRBZS1SG","kind":"trait","bakedName":"TagStrip","curName":"TagStrip","renames":[],"owner":"workspace"}}}}
@@ -1 +1 @@
1
- {"name":"std-tag-taxonomy","version":"1.1.0","description":"std-tag-taxonomy — hierarchical category tag tree (parent/child). TagBrowse fetches root-level Tag rows (parentId = \"\") on INIT and renders the active level via data-grid; SELECT_TAG drills into the chosen tag's children by fetching rows whose parentId matches it, binding @entity.id to that parent so the level is remembered; SHOW_ROOT resets back to the root level, surfaced as a back affordance while drilled in. Flat taxonomies (all parentId \"\") render exactly one level, unchanged. TagSelected is emitted on selection for consumers to filter content by tag.","orbitals":[{"name":"TagTaxonomyOrbital","id":"orb_6QRCNS89114GGZA67J8G7T72HK","entity":{"name":"Tag","id":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","collection":"tags","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The descriptive label for this item.","synonyms":"label, title, description"},{"name":"parentId","type":"relation","relation":{"entity":"Tag","entityId":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","cardinality":"one"},"description":"Reference to the parent tag in the hierarchy; empty marks a root.","synonyms":"parent, superior, ancestor"},{"name":"slug","type":"string","description":"A unique, URL-friendly identifier.","synonyms":"identifier, key, code"},{"name":"color","type":"string","description":"A visual identifier, often used for categorization.","synonyms":"hue, shade, tint, category color"},{"name":"count","type":"number","default":0,"description":"The number of items associated with this entry.","synonyms":"quantity, total, size, amount"},{"name":"createdAt","type":"string"}]},"traits":[{"name":"TagBrowse","id":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF","effectRow":[{"kind":"emit","resource":"LEVEL_RELOAD"},{"kind":"emit","resource":"TagSelected"},{"kind":"fetch","resource":"Tag"},{"kind":"persist","resource":"Tag"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"modal"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.parentId"}],"category":"interaction","linkedEntity":"Tag","linkedEntityId":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","entityRefIds":{"Tag":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ"},"emits":[{"event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","description":"Signals a tag has been chosen for navigation.","synonyms":"choose, pick, activate, navigate","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","description":"Signals that the tag data has been successfully retrieved.","synonyms":"loaded, fetched, received, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"entity":"Tag"}]},{"event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","description":"Indicates failure to load tag data.","synonyms":"error, failed, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"TagSelected","eventId":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","description":"Signals a tag has been chosen for further exploration.","synonyms":"chosen, picked, activated, highlighted","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"COMMIT_TAG","eventId":"evt_VY3P42E74W3JE7C4RX47FMPEQF","description":"The new-category form committed; data carries the name and the parent level.","synonyms":"save tag, create tag","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}]},{"event":"CANCEL_TAG","eventId":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","description":"The new-category form was dismissed without creating.","synonyms":"cancel, back","tier":"internal"},{"event":"LEVEL_RELOAD","eventId":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","description":"Internal hop that refetches the open level after the new-category form closes (a fetch filter cannot read trait state, so the level travels by payload).","synonyms":"reload level, refresh","tier":"internal","payloadSchema":[{"name":"tagId","type":"string","projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"TagCreated","eventId":"evt_J1CX03C3EW1QE624H3AB2BZA96","description":"A new tag row persisted; the open level refetches to show it.","synonyms":"created, added","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"payloadEntity":"Tag"},{"event":"TagCreateFailed","eventId":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","description":"The tag create failed.","synonyms":"error, failure","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"creating"},{"name":"editing"},{"name":"error"}],"events":[{"key":"LEVEL_RELOAD","id":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","name":"Level Reload","description":"Internal hop that refetches the open level after the new-category form closes (a fetch filter cannot read trait state, so the level travels by payload).","synonyms":"reload level, refresh","tier":"internal","payloadSchema":[{"name":"tagId","type":"string","projectedFrom":{"type":"Tag","field":"id"}}],"listened":true},{"key":"INIT","id":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","name":"Initialize"},{"key":"TagLoaded","id":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","name":"Tag loaded","description":"Signals that the tag data has been successfully retrieved.","synonyms":"loaded, fetched, received, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"entity":"Tag"}],"listened":true},{"key":"TagLoadFailed","id":"evt_YQEW2928J7493M96EGPMHQZ3FQ","name":"Tag load failed","description":"Indicates failure to load tag data.","synonyms":"error, failed, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"SELECT_TAG","id":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","name":"Select Tag","description":"Signals a tag has been chosen for navigation.","synonyms":"choose, pick, activate, navigate","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}],"listened":true},{"key":"SHOW_ROOT","id":"evt_D97BA1NSETWQD70QAWD96MRHX7","name":"Show Root"},{"key":"NEW_TAG","id":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","name":"New Tag","description":"The New-category affordance was clicked.","synonyms":"add tag, create category","tier":"domain","listened":true},{"key":"COMMIT_TAG","id":"evt_VY3P42E74W3JE7C4RX47FMPEQF","name":"Commit Tag","description":"The new-category form committed; data carries the name and the parent level.","synonyms":"save tag, create tag","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}],"listened":true},{"key":"CANCEL_TAG","id":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","name":"Cancel Tag","description":"The new-category form was dismissed without creating.","synonyms":"cancel, back","tier":"internal","listened":true},{"key":"CLOSE","id":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","name":"Close"},{"key":"TagCreated","id":"evt_J1CX03C3EW1QE624H3AB2BZA96","name":"Tag created","description":"A new tag row persisted; the open level refetches to show it.","synonyms":"created, added","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"payloadEntity":"Tag","listened":true},{"key":"TagCreateFailed","id":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","name":"Tag create failed","description":"The tag create failed.","synonyms":"error, failure","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"TagSelected","id":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","name":"Tag selected","description":"Signals a tag has been chosen for further exploration.","synonyms":"chosen, picked, activated, highlighted","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"LEVEL_RELOAD","eventId":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","effects":[["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],["str/default","@payload.tagId",""]],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}]]},{"from":"loading","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"loading","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"editing","event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"],["emit","TagSelected",{"tagId":"@payload.tagId"}],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],"@payload.tagId"],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"loading","event":"SHOW_ROOT","eventId":"evt_D97BA1NSETWQD70QAWD96MRHX7","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"creating","event":"NEW_TAG","eventId":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","guard":"@config.allowEdit","effects":[["render-ui","modal",{"children":[{"content":"@config.createLabel","type":"typography","variant":"h3"},{"color":"muted","content":["if",["!=","@entity.id",""],"Created inside the open category.","Created at the top level."],"type":"typography","variant":"caption"},{"type":"divider"},{"cancelEvent":"CANCEL_TAG","entity":{"parentId":"@entity.id"},"fields":["name"],"mode":"create","submitEvent":"COMMIT_TAG","type":"form-section"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"creating","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["render-ui","modal",null],["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"creating","to":"creating","event":"COMMIT_TAG","eventId":"evt_VY3P42E74W3JE7C4RX47FMPEQF","effects":[["persist","create","Tag",{"name":["object/get","@payload.data","name"],"parentId":["str/default",["object/get","@payload.data","parentId"],""]},{"emit":{"failure":"TagCreateFailed","success":"TagCreated"}}]]},{"from":"creating","to":"loading","event":"CANCEL_TAG","eventId":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","effects":[["render-ui","modal",null],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}],["emit","LEVEL_RELOAD",{"tagId":"@entity.id"}]]},{"from":"creating","to":"loading","event":"CLOSE","eventId":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","effects":[["render-ui","modal",null],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}],["emit","LEVEL_RELOAD",{"tagId":"@entity.id"}]]},{"from":"creating","to":"loading","event":"TagCreated","eventId":"evt_J1CX03C3EW1QE624H3AB2BZA96","effects":[["render-ui","modal",null],["render-ui","main",{"align":"center","children":[{"type":"spinner"},{"color":"muted","content":"Loading…","type":"typography","variant":"caption"}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],["str/default","@payload.parentId",""]],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}]]},{"from":"creating","to":"creating","event":"TagCreateFailed","eventId":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","effects":[["render-ui","modal",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"editing","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"editing","to":"editing","event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"],["emit","TagSelected",{"tagId":"@payload.tagId"}]]},{"from":"editing","to":"editing","event":"TagSelected","eventId":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"]]},{"from":"editing","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"editing","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]}]},"config":{"allowEdit":{"type":"boolean","default":false,"label":"Allow editing","description":"Render the create-tag affordance: creations land at the level currently open (top level, or inside the drilled-into category). Rename is a follow-up (ledgered).","tier":"domain"},"rootLabel":{"type":"string","default":"All tags","label":"Back-to-root label","description":"Label on the back affordance that returns from a drilled-in level to the root — phrase it in this taxonomy's vocabulary (All tags, All categories).","synonyms":"back label, root caption, all label","tier":"presentation"},"tableLook":{"type":"string","default":"dense","label":"Table look","description":"Layer 2 visual treatment for the data table rendered by this atom.","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]},"createLabel":{"type":"string","default":"New tag","label":"Create-button label","description":"Label on the create affordance and its form heading — say what this taxonomy calls its entries (New tag, New category, New topic).","synonyms":"add label, new tag label, create caption","tier":"presentation"},"title":{"type":"string","default":"Categories","label":"Section title","description":"Heading shown above the tag tree","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"TagBrowsePage","id":"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M","path":"/tags/browse","traits":[{"ref":"TagBrowse","refId":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"}]}],"types":{"TagCommit":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ":{"id":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","kind":"entity","bakedName":"Tag","curName":"Tag","renames":[],"owner":"workspace"},"evt_0D85DCJ2QJ1BS29W76FQQE1JHP":{"id":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","kind":"event","bakedName":"TagLoaded","curName":"TagLoaded","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_7Z4S02HPQCVBPC64JP7CGF6WP8":{"id":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","kind":"event","bakedName":"LEVEL_RELOAD","curName":"LEVEL_RELOAD","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7":{"id":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","kind":"event","bakedName":"CANCEL_TAG","curName":"CANCEL_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP":{"id":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","kind":"event","bakedName":"NEW_TAG","curName":"NEW_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_D97BA1NSETWQD70QAWD96MRHX7":{"id":"evt_D97BA1NSETWQD70QAWD96MRHX7","kind":"event","bakedName":"SHOW_ROOT","curName":"SHOW_ROOT","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_DBSK97AQS4BWJ48GZHSSD62MZJ":{"id":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_FS5QZK6ET77D3XJJK1BET5B1A1":{"id":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_HPVXKBJ4JA295DM42WGPKTYJ2J":{"id":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","kind":"event","bakedName":"TagCreateFailed","curName":"TagCreateFailed","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_J1CX03C3EW1QE624H3AB2BZA96":{"id":"evt_J1CX03C3EW1QE624H3AB2BZA96","kind":"event","bakedName":"TagCreated","curName":"TagCreated","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_MAWD43PJZE9FQ63VX3TXJBYW7A":{"id":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","kind":"event","bakedName":"SELECT_TAG","curName":"SELECT_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M":{"id":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","kind":"event","bakedName":"TagSelected","curName":"TagSelected","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_VY3P42E74W3JE7C4RX47FMPEQF":{"id":"evt_VY3P42E74W3JE7C4RX47FMPEQF","kind":"event","bakedName":"COMMIT_TAG","curName":"COMMIT_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_YQEW2928J7493M96EGPMHQZ3FQ":{"id":"evt_YQEW2928J7493M96EGPMHQZ3FQ","kind":"event","bakedName":"TagLoadFailed","curName":"TagLoadFailed","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"orb_6QRCNS89114GGZA67J8G7T72HK":{"id":"orb_6QRCNS89114GGZA67J8G7T72HK","kind":"orbital","bakedName":"TagTaxonomyOrbital","curName":"TagTaxonomyOrbital","renames":[],"owner":"workspace"},"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M":{"id":"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M","kind":"page","bakedName":"TagBrowsePage","curName":"TagBrowsePage","renames":[],"owner":"workspace"},"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF":{"id":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF","kind":"trait","bakedName":"TagBrowse","curName":"TagBrowse","renames":[],"owner":"workspace"}}}}
1
+ {"name":"std-tag-taxonomy","version":"1.1.0","description":"std-tag-taxonomy — hierarchical category tag tree (parent/child). TagBrowse fetches root-level Tag rows (parentId = \"\") on INIT and renders the active level via data-grid; SELECT_TAG drills into the chosen tag's children by fetching rows whose parentId matches it, binding @entity.id to that parent so the level is remembered; SHOW_ROOT resets back to the root level, surfaced as a back affordance while drilled in. Flat taxonomies (all parentId \"\") render exactly one level, unchanged. TagSelected is emitted on selection for consumers to filter content by tag.","orbitals":[{"name":"TagTaxonomyOrbital","id":"orb_6QRCNS89114GGZA67J8G7T72HK","entity":{"name":"Tag","id":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","collection":"tags","persistence":"persistent","fields":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true,"description":"The descriptive label for this item.","synonyms":"label, title, description"},{"name":"parentId","type":"relation","relation":{"entity":"Tag","entityId":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","cardinality":"one"},"description":"Reference to the parent tag in the hierarchy; empty marks a root.","synonyms":"parent, superior, ancestor"},{"name":"slug","type":"string","description":"A unique, URL-friendly identifier.","synonyms":"identifier, key, code"},{"name":"color","type":"string","description":"A visual identifier, often used for categorization.","synonyms":"hue, shade, tint, category color"},{"name":"count","type":"number","default":0,"description":"The number of items associated with this entry.","synonyms":"quantity, total, size, amount"},{"name":"createdAt","type":"string"}]},"traits":[{"name":"TagBrowse","id":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF","effectRow":[{"kind":"emit","resource":"LEVEL_RELOAD"},{"kind":"emit","resource":"TagSelected"},{"kind":"fetch","resource":"Tag"},{"kind":"persist","resource":"Tag"},{"kind":"render-ui","resource":"main"},{"kind":"render-ui","resource":"modal"},{"kind":"set","resource":"@entity.id"},{"kind":"set","resource":"@entity.parentId"}],"category":"interaction","linkedEntity":"Tag","linkedEntityId":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","entityRefIds":{"Tag":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ"},"emits":[{"event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","description":"Signals a tag has been chosen for navigation.","synonyms":"choose, pick, activate, navigate","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","description":"Signals that the tag data has been successfully retrieved.","synonyms":"loaded, fetched, received, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"entity":"Tag"}]},{"event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","description":"Indicates failure to load tag data.","synonyms":"error, failed, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]},{"event":"TagSelected","eventId":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","description":"Signals a tag has been chosen for further exploration.","synonyms":"chosen, picked, activated, highlighted","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"COMMIT_TAG","eventId":"evt_VY3P42E74W3JE7C4RX47FMPEQF","description":"The new-category form committed; data carries the name and the parent level.","synonyms":"save tag, create tag","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}]},{"event":"CANCEL_TAG","eventId":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","description":"The new-category form was dismissed without creating.","synonyms":"cancel, back","tier":"internal"},{"event":"LEVEL_RELOAD","eventId":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","description":"Internal hop that refetches the open level after the new-category form closes (a fetch filter cannot read trait state, so the level travels by payload).","synonyms":"reload level, refresh","tier":"internal","payloadSchema":[{"name":"tagId","type":"string","projectedFrom":{"type":"Tag","field":"id"}}]},{"event":"TagCreated","eventId":"evt_J1CX03C3EW1QE624H3AB2BZA96","description":"A new tag row persisted; the open level refetches to show it.","synonyms":"created, added","tier":"internal","scope":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"payloadEntity":"Tag"},{"event":"TagCreateFailed","eventId":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","description":"The tag create failed.","synonyms":"error, failure","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}]}],"stateMachine":{"states":[{"name":"loading","isInitial":true},{"name":"browsing"},{"name":"creating"},{"name":"editing"},{"name":"error"}],"events":[{"key":"LEVEL_RELOAD","id":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","name":"Level Reload","description":"Internal hop that refetches the open level after the new-category form closes (a fetch filter cannot read trait state, so the level travels by payload).","synonyms":"reload level, refresh","tier":"internal","payloadSchema":[{"name":"tagId","type":"string","projectedFrom":{"type":"Tag","field":"id"}}],"listened":true},{"key":"INIT","id":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","name":"Initialize"},{"key":"TagLoaded","id":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","name":"Tag loaded","description":"Signals that the tag data has been successfully retrieved.","synonyms":"loaded, fetched, received, ready","tier":"internal","payloadSchema":[{"name":"data","type":"[object]","properties":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"entity":"Tag"}],"listened":true},{"key":"TagLoadFailed","id":"evt_YQEW2928J7493M96EGPMHQZ3FQ","name":"Tag load failed","description":"Indicates failure to load tag data.","synonyms":"error, failed, problem, issue","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"SELECT_TAG","id":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","name":"Select Tag","description":"Signals a tag has been chosen for navigation.","synonyms":"choose, pick, activate, navigate","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}],"listened":true},{"key":"SHOW_ROOT","id":"evt_D97BA1NSETWQD70QAWD96MRHX7","name":"Show Root"},{"key":"NEW_TAG","id":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","name":"New Tag","description":"The New-category affordance was clicked.","synonyms":"add tag, create category","tier":"domain","listened":true},{"key":"COMMIT_TAG","id":"evt_VY3P42E74W3JE7C4RX47FMPEQF","name":"Commit Tag","description":"The new-category form committed; data carries the name and the parent level.","synonyms":"save tag, create tag","tier":"internal","payloadSchema":[{"name":"data","type":"object","properties":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}],"listened":true},{"key":"CANCEL_TAG","id":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","name":"Cancel Tag","description":"The new-category form was dismissed without creating.","synonyms":"cancel, back","tier":"internal","listened":true},{"key":"CLOSE","id":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","name":"Close"},{"key":"TagCreated","id":"evt_J1CX03C3EW1QE624H3AB2BZA96","name":"Tag created","description":"A new tag row persisted; the open level refetches to show it.","synonyms":"created, added","tier":"internal","payloadSchema":[{"name":"id","type":"string","required":true},{"name":"name","type":"string","required":true},{"name":"parentId","type":"Tag"},{"name":"slug","type":"string"},{"name":"color","type":"string"},{"name":"count","type":"number"},{"name":"createdAt","type":"string"}],"payloadEntity":"Tag","listened":true},{"key":"TagCreateFailed","id":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","name":"Tag create failed","description":"The tag create failed.","synonyms":"error, failure","tier":"internal","payloadSchema":[{"name":"error","type":"string"},{"name":"code","type":"string"}],"listened":true},{"key":"TagSelected","id":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","name":"Tag selected","description":"Signals a tag has been chosen for further exploration.","synonyms":"chosen, picked, activated, highlighted","tier":"domain","payloadSchema":[{"name":"tagId","type":"string","required":true,"projectedFrom":{"type":"Tag","field":"id"}}],"listened":true}],"transitions":[{"from":"loading","to":"loading","event":"LEVEL_RELOAD","eventId":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","effects":[["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],["str/default","@payload.tagId",""]],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}]]},{"from":"loading","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"loading","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"loading","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"browsing","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"editing","event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"],["emit","TagSelected",{"tagId":"@payload.tagId"}],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],"@payload.tagId"],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"loading","event":"SHOW_ROOT","eventId":"evt_D97BA1NSETWQD70QAWD96MRHX7","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"browsing","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"creating","event":"NEW_TAG","eventId":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","guard":"@config.allowEdit","effects":[["render-ui","modal",{"children":[{"content":"@config.createLabel","type":"typography","variant":"h3"},{"color":"muted","content":["if",["!=","@entity.id",""],"Created inside the open category.","Created at the top level."],"type":"typography","variant":"caption"},{"type":"divider"},{"cancelEvent":"CANCEL_TAG","entity":{"parentId":"@entity.id"},"fields":["name"],"mode":"create","submitEvent":"COMMIT_TAG","type":"form-section"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"browsing","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"creating","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["render-ui","modal",null],["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"creating","to":"creating","event":"COMMIT_TAG","eventId":"evt_VY3P42E74W3JE7C4RX47FMPEQF","effects":[["persist","create","Tag",{"name":["object/get","@payload.data","name"],"parentId":["str/default",["object/get","@payload.data","parentId"],""]},{"emit":{"failure":"TagCreateFailed","success":"TagCreated"}}]]},{"from":"creating","to":"loading","event":"CANCEL_TAG","eventId":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","effects":[["render-ui","modal",null],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}],["emit","LEVEL_RELOAD",{"tagId":"@entity.id"}]]},{"from":"creating","to":"loading","event":"CLOSE","eventId":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","effects":[["render-ui","modal",null],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}],["emit","LEVEL_RELOAD",{"tagId":"@entity.id"}]]},{"from":"creating","to":"loading","event":"TagCreated","eventId":"evt_J1CX03C3EW1QE624H3AB2BZA96","effects":[["render-ui","modal",null],["render-ui","main",{"align":"center","children":[{"type":"spinner"},{"color":"muted","content":"Loading…","type":"typography","variant":"caption"}],"className":"py-12","direction":"vertical","gap":"md","type":"stack"}],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],["str/default","@payload.parentId",""]],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}]]},{"from":"creating","to":"creating","event":"TagCreateFailed","eventId":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","effects":[["render-ui","modal",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"editing","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]},{"from":"editing","to":"editing","event":"SELECT_TAG","eventId":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"],["emit","TagSelected",{"tagId":"@payload.tagId"}]]},{"from":"editing","to":"editing","event":"TagSelected","eventId":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","effects":[["set","@entity.id","@payload.tagId"],["set","@entity.parentId","@payload.tagId"]]},{"from":"editing","to":"browsing","event":"TagLoaded","eventId":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","effects":[["render-ui","main",{"children":[{"action":"SHOW_ROOT","disabled":["if",["!=","@entity.id",""],false,true],"icon":"arrow-left","label":"@config.rootLabel","size":"sm","type":"button","variant":"ghost"},{"content":"@config.title","type":"typography","variant":"h3"},["if","@config.allowEdit",{"action":"NEW_TAG","icon":"plus","label":"@config.createLabel","size":"sm","type":"button","variant":"secondary"},null],{"entity":"@payload.data","fields":[],"gap":"sm","minCardWidth":180,"renderItem":["fn","tag",{"children":[{"children":[{"align":"center","children":[{"align":"center","children":[{"name":"tag","size":"sm","type":"icon"},{"className":"truncate","content":"@tag.name","type":"typography","variant":"body","weight":"medium"}],"className":"min-w-0","direction":"horizontal","gap":"sm","type":"stack"},{"label":"@tag.count","size":"sm","type":"badge","variant":"neutral"}],"direction":"horizontal","gap":"sm","justify":"between","type":"stack"},{"action":"SELECT_TAG","actionPayload":{"tagId":"@tag.id"},"className":"w-full justify-center","icon":"chevron-right","label":"Open","size":"sm","type":"button","variant":"ghost"}],"direction":"vertical","gap":"xs","type":"stack"}],"className":"cursor-pointer hover:shadow-md transition-shadow","look":"flat-bordered","padding":"sm","type":"card"}],"look":"@config.tableLook","type":"data-grid"}],"direction":"vertical","gap":"md","type":"stack"}]]},{"from":"editing","to":"error","event":"TagLoadFailed","eventId":"evt_YQEW2928J7493M96EGPMHQZ3FQ","effects":[["render-ui","main",{"message":"@payload.error","type":"alert","variant":"error"}]]},{"from":"error","to":"loading","event":"INIT","eventId":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","effects":[["set","@entity.id",""],["set","@entity.parentId",""],["fetch","Tag",{"filter":["=",["object/get","@entity","parentId"],""],"emit":{"failure":"TagLoadFailed","success":"TagLoaded"}}],["render-ui","main",{"type":"stack","direction":"vertical","gap":"lg","children":[{"type":"skeleton","variant":"header"},{"type":"skeleton","variant":"grid","rows":6}]}]]}]},"config":{"allowEdit":{"type":"boolean","default":false,"label":"Allow editing","description":"Render the create-tag affordance: creations land at the level currently open (top level, or inside the drilled-into category). Rename is a follow-up (ledgered).","tier":"domain"},"title":{"type":"string","default":"Categories","label":"Section title","description":"Heading shown above the tag tree","tier":"presentation"},"createLabel":{"type":"string","default":"New tag","label":"Create-button label","description":"Label on the create affordance and its form heading — say what this taxonomy calls its entries (New tag, New category, New topic).","synonyms":"add label, new tag label, create caption","tier":"presentation"},"tableLook":{"type":"string","default":"dense","label":"Table look","description":"Layer 2 visual treatment for the data table rendered by this atom.","tier":"presentation","values":["dense","spacious","striped","borderless","card-rows"]},"rootLabel":{"type":"string","default":"All tags","label":"Back-to-root label","description":"Label on the back affordance that returns from a drilled-in level to the root — phrase it in this taxonomy's vocabulary (All tags, All categories).","synonyms":"back label, root caption, all label","tier":"presentation"}},"scope":"collection"}],"pages":[{"name":"TagBrowsePage","id":"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M","path":"/tags/browse","traits":[{"ref":"TagBrowse","refId":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"}]}],"types":{"TagCommit":[{"name":"name","type":"string","required":true},{"name":"parentId","type":"string"}]}}],"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ":{"id":"ent_Z9PD0K8EE7773TK2DDB0TC9NQJ","kind":"entity","bakedName":"Tag","curName":"Tag","renames":[],"owner":"workspace"},"evt_0D85DCJ2QJ1BS29W76FQQE1JHP":{"id":"evt_0D85DCJ2QJ1BS29W76FQQE1JHP","kind":"event","bakedName":"TagLoaded","curName":"TagLoaded","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_7Z4S02HPQCVBPC64JP7CGF6WP8":{"id":"evt_7Z4S02HPQCVBPC64JP7CGF6WP8","kind":"event","bakedName":"LEVEL_RELOAD","curName":"LEVEL_RELOAD","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7":{"id":"evt_ACEHDMZZCSZPCGQTW7DNZBDCG7","kind":"event","bakedName":"CANCEL_TAG","curName":"CANCEL_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP":{"id":"evt_BFXSRZZY2ZZ1FQ9KR7TQYWM1PP","kind":"event","bakedName":"NEW_TAG","curName":"NEW_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_D97BA1NSETWQD70QAWD96MRHX7":{"id":"evt_D97BA1NSETWQD70QAWD96MRHX7","kind":"event","bakedName":"SHOW_ROOT","curName":"SHOW_ROOT","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_DBSK97AQS4BWJ48GZHSSD62MZJ":{"id":"evt_DBSK97AQS4BWJ48GZHSSD62MZJ","kind":"event","bakedName":"CLOSE","curName":"CLOSE","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_FS5QZK6ET77D3XJJK1BET5B1A1":{"id":"evt_FS5QZK6ET77D3XJJK1BET5B1A1","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_HPVXKBJ4JA295DM42WGPKTYJ2J":{"id":"evt_HPVXKBJ4JA295DM42WGPKTYJ2J","kind":"event","bakedName":"TagCreateFailed","curName":"TagCreateFailed","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_J1CX03C3EW1QE624H3AB2BZA96":{"id":"evt_J1CX03C3EW1QE624H3AB2BZA96","kind":"event","bakedName":"TagCreated","curName":"TagCreated","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_MAWD43PJZE9FQ63VX3TXJBYW7A":{"id":"evt_MAWD43PJZE9FQ63VX3TXJBYW7A","kind":"event","bakedName":"SELECT_TAG","curName":"SELECT_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M":{"id":"evt_T8QDGEJ7N13TGZ8TTTQ49MYP6M","kind":"event","bakedName":"TagSelected","curName":"TagSelected","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_VY3P42E74W3JE7C4RX47FMPEQF":{"id":"evt_VY3P42E74W3JE7C4RX47FMPEQF","kind":"event","bakedName":"COMMIT_TAG","curName":"COMMIT_TAG","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"evt_YQEW2928J7493M96EGPMHQZ3FQ":{"id":"evt_YQEW2928J7493M96EGPMHQZ3FQ","kind":"event","bakedName":"TagLoadFailed","curName":"TagLoadFailed","renames":[],"owner":"workspace","parent":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF"},"orb_6QRCNS89114GGZA67J8G7T72HK":{"id":"orb_6QRCNS89114GGZA67J8G7T72HK","kind":"orbital","bakedName":"TagTaxonomyOrbital","curName":"TagTaxonomyOrbital","renames":[],"owner":"workspace"},"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M":{"id":"pag_3ZPT4Y5MHFT8QKRK6HVCVKKQ2M","kind":"page","bakedName":"TagBrowsePage","curName":"TagBrowsePage","renames":[],"owner":"workspace"},"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF":{"id":"trt_XPRWHP8YPZFBFWVXX4QPQFPKMF","kind":"trait","bakedName":"TagBrowse","curName":"TagBrowse","renames":[],"owner":"workspace"}}}}