@almadar/std 16.236.0 → 16.238.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/behaviors/behaviors-registry.json +57874 -1895
  2. package/behaviors/lolo/agent/atoms/std-agent-context.lolo +65 -134
  3. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +162 -112
  4. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +239 -115
  5. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +96 -90
  6. package/behaviors/lolo/agent/atoms/std-agent-trace.lolo +133 -40
  7. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +137 -0
  8. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +7 -0
  9. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +4 -17
  10. package/behaviors/lolo/infra/atoms/std-migration-job.lolo +2 -2
  11. package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +26 -13
  12. package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +5 -0
  13. package/behaviors/lolo/ui/avl/atoms/ui-avl-glyph.lolo +90 -0
  14. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +90 -0
  15. package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +80 -0
  16. package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +80 -0
  17. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +12 -21
  18. package/behaviors/lolo/ui/core/atoms/std-board.lolo +5 -32
  19. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +19 -11
  20. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +42 -7
  21. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +4 -16
  22. package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +3 -1
  23. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +21 -13
  24. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +12 -2
  25. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +44 -10
  26. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +35 -72
  27. package/behaviors/lolo/ui/core/atoms/std-gantt-schedule.lolo +29 -14
  28. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +8 -22
  29. package/behaviors/lolo/ui/core/atoms/std-list.lolo +28 -13
  30. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +52 -14
  31. package/behaviors/lolo/ui/core/atoms/std-prose.lolo +7 -1
  32. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +23 -8
  33. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +139 -19
  34. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +28 -20
  35. package/behaviors/lolo/ui/core/atoms/std-related.lolo +36 -25
  36. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +20 -21
  37. package/behaviors/lolo/ui/core/atoms/std-scoped-list.lolo +143 -0
  38. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +34 -14
  39. package/behaviors/lolo/ui/core/atoms/std-signature-capture.lolo +1 -13
  40. package/behaviors/lolo/ui/core/atoms/std-slide-deck.lolo +2 -2
  41. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +4 -16
  42. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +24 -80
  43. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +92 -31
  44. package/behaviors/lolo/ui/core/atoms/std-tree.lolo +18 -22
  45. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +43 -83
  46. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +2 -39
  47. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +20 -10
  48. package/behaviors/lolo/ui/core/atoms/ui-animated-graphic.lolo +90 -0
  49. package/behaviors/lolo/ui/core/atoms/ui-animated-reveal.lolo +90 -0
  50. package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +90 -0
  51. package/behaviors/lolo/ui/core/atoms/ui-atlas-image.lolo +16 -0
  52. package/behaviors/lolo/ui/core/atoms/ui-atlas-panel.lolo +16 -0
  53. package/behaviors/lolo/ui/core/atoms/ui-avatar.lolo +91 -1
  54. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +90 -0
  55. package/behaviors/lolo/ui/core/atoms/ui-box.lolo +98 -13
  56. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +90 -0
  57. package/behaviors/lolo/ui/core/atoms/ui-card.lolo +91 -1
  58. package/behaviors/lolo/ui/core/atoms/ui-center.lolo +90 -0
  59. package/behaviors/lolo/ui/core/atoms/ui-checkbox.lolo +112 -0
  60. package/behaviors/lolo/ui/core/atoms/ui-confetti-effect.lolo +90 -0
  61. package/behaviors/lolo/ui/core/atoms/ui-day-cell.lolo +90 -0
  62. package/behaviors/lolo/ui/core/atoms/ui-dialog.lolo +90 -0
  63. package/behaviors/lolo/ui/core/atoms/ui-divider.lolo +90 -0
  64. package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +90 -0
  65. package/behaviors/lolo/ui/core/atoms/ui-flip-container.lolo +90 -0
  66. package/behaviors/lolo/ui/core/atoms/ui-game-icon.lolo +90 -0
  67. package/behaviors/lolo/ui/core/atoms/ui-hstack.lolo +90 -10
  68. package/behaviors/lolo/ui/core/atoms/ui-icon.lolo +90 -0
  69. package/behaviors/lolo/ui/core/atoms/ui-image.lolo +90 -0
  70. package/behaviors/lolo/ui/core/atoms/ui-infinite-scroll-sentinel.lolo +90 -0
  71. package/behaviors/lolo/ui/core/atoms/ui-input.lolo +11 -1
  72. package/behaviors/lolo/ui/core/atoms/ui-label.lolo +91 -1
  73. package/behaviors/lolo/ui/core/atoms/ui-law-reference-tooltip.lolo +90 -0
  74. package/behaviors/lolo/ui/core/atoms/ui-overlay.lolo +90 -0
  75. package/behaviors/lolo/ui/core/atoms/ui-pattern-tile.lolo +90 -0
  76. package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +90 -0
  77. package/behaviors/lolo/ui/core/atoms/ui-progress-bar.lolo +91 -1
  78. package/behaviors/lolo/ui/core/atoms/ui-radio.lolo +106 -0
  79. package/behaviors/lolo/ui/core/atoms/ui-range-slider.lolo +122 -0
  80. package/behaviors/lolo/ui/core/atoms/ui-section-header.lolo +90 -0
  81. package/behaviors/lolo/ui/core/atoms/ui-select.lolo +95 -0
  82. package/behaviors/lolo/ui/core/atoms/ui-spacer.lolo +90 -0
  83. package/behaviors/lolo/ui/core/atoms/ui-sparkline.lolo +90 -0
  84. package/behaviors/lolo/ui/core/atoms/ui-spinner.lolo +90 -0
  85. package/behaviors/lolo/ui/core/atoms/ui-stack.lolo +90 -10
  86. package/behaviors/lolo/ui/core/atoms/ui-status-dot.lolo +90 -0
  87. package/behaviors/lolo/ui/core/atoms/ui-svg-branch.lolo +90 -0
  88. package/behaviors/lolo/ui/core/atoms/ui-svg-connection.lolo +90 -0
  89. package/behaviors/lolo/ui/core/atoms/ui-svg-flow.lolo +90 -0
  90. package/behaviors/lolo/ui/core/atoms/ui-svg-grid.lolo +90 -0
  91. package/behaviors/lolo/ui/core/atoms/ui-svg-lobe.lolo +90 -0
  92. package/behaviors/lolo/ui/core/atoms/ui-svg-mesh.lolo +90 -0
  93. package/behaviors/lolo/ui/core/atoms/ui-svg-morph.lolo +90 -0
  94. package/behaviors/lolo/ui/core/atoms/ui-svg-node.lolo +90 -0
  95. package/behaviors/lolo/ui/core/atoms/ui-svg-pulse.lolo +90 -0
  96. package/behaviors/lolo/ui/core/atoms/ui-svg-ring.lolo +90 -0
  97. package/behaviors/lolo/ui/core/atoms/ui-svg-shield.lolo +90 -0
  98. package/behaviors/lolo/ui/core/atoms/ui-svg-stack.lolo +90 -0
  99. package/behaviors/lolo/ui/core/atoms/ui-switch.lolo +106 -0
  100. package/behaviors/lolo/ui/core/atoms/ui-text-highlight.lolo +122 -0
  101. package/behaviors/lolo/ui/core/atoms/ui-textarea.lolo +100 -0
  102. package/behaviors/lolo/ui/core/atoms/ui-theme-toggle.lolo +90 -0
  103. package/behaviors/lolo/ui/core/atoms/ui-time-slot-cell.lolo +142 -0
  104. package/behaviors/lolo/ui/core/atoms/ui-trend-indicator.lolo +91 -1
  105. package/behaviors/lolo/ui/core/atoms/ui-typewriter-text.lolo +90 -0
  106. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +96 -6
  107. package/behaviors/lolo/ui/core/atoms/ui-vstack.lolo +90 -10
  108. package/behaviors/lolo/ui/core/molecules/ui-accordion.lolo +90 -0
  109. package/behaviors/lolo/ui/core/molecules/ui-activation-block.lolo +90 -0
  110. package/behaviors/lolo/ui/core/molecules/ui-alert.lolo +95 -0
  111. package/behaviors/lolo/ui/core/molecules/ui-animated-counter.lolo +91 -1
  112. package/behaviors/lolo/ui/core/molecules/ui-bloom-quiz-block.lolo +90 -0
  113. package/behaviors/lolo/ui/core/molecules/ui-branching-logic-builder.lolo +90 -0
  114. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +90 -0
  115. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +122 -0
  116. package/behaviors/lolo/ui/core/molecules/ui-carousel.lolo +90 -0
  117. package/behaviors/lolo/ui/core/molecules/ui-change-list.lolo +90 -0
  118. package/behaviors/lolo/ui/core/molecules/ui-chart-legend.lolo +90 -0
  119. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +93 -3
  120. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +202 -0
  121. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +110 -4
  122. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +123 -1
  123. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +90 -0
  124. package/behaviors/lolo/ui/core/molecules/ui-connection-block.lolo +90 -0
  125. package/behaviors/lolo/ui/core/molecules/ui-container.lolo +92 -2
  126. package/behaviors/lolo/ui/core/molecules/ui-content-renderer.lolo +97 -7
  127. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +144 -4
  128. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +132 -3
  129. package/behaviors/lolo/ui/core/molecules/ui-date-range-picker.lolo +109 -3
  130. package/behaviors/lolo/ui/core/molecules/ui-date-range-selector.lolo +90 -0
  131. package/behaviors/lolo/ui/core/molecules/ui-doc-breadcrumb.lolo +90 -0
  132. package/behaviors/lolo/ui/core/molecules/ui-doc-pagination.lolo +90 -0
  133. package/behaviors/lolo/ui/core/molecules/ui-doc-search.lolo +90 -0
  134. package/behaviors/lolo/ui/core/molecules/ui-doc-sidebar.lolo +90 -0
  135. package/behaviors/lolo/ui/core/molecules/ui-doc-toc.lolo +90 -0
  136. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +139 -0
  137. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +122 -0
  138. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +90 -0
  139. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +90 -0
  140. package/behaviors/lolo/ui/core/molecules/ui-edge-decoration.lolo +10 -0
  141. package/behaviors/lolo/ui/core/molecules/ui-emoji-picker.lolo +91 -1
  142. package/behaviors/lolo/ui/core/molecules/ui-empty-state.lolo +91 -1
  143. package/behaviors/lolo/ui/core/molecules/ui-error-boundary.lolo +10 -0
  144. package/behaviors/lolo/ui/core/molecules/ui-error-state.lolo +90 -0
  145. package/behaviors/lolo/ui/core/molecules/ui-feature-card.lolo +91 -1
  146. package/behaviors/lolo/ui/core/molecules/ui-feature-grid.lolo +90 -0
  147. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +90 -0
  148. package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +122 -0
  149. package/behaviors/lolo/ui/core/molecules/ui-flex.lolo +90 -0
  150. package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +90 -0
  151. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +91 -1
  152. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +90 -0
  153. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +90 -0
  154. package/behaviors/lolo/ui/core/molecules/ui-form-field.lolo +90 -0
  155. package/behaviors/lolo/ui/core/molecules/ui-form-layout.lolo +96 -6
  156. package/behaviors/lolo/ui/core/molecules/ui-form-section-header.lolo +90 -0
  157. package/behaviors/lolo/ui/core/molecules/ui-fx-overlay.lolo +90 -0
  158. package/behaviors/lolo/ui/core/molecules/ui-gantt.lolo +131 -1
  159. package/behaviors/lolo/ui/core/molecules/ui-geometric-pattern.lolo +10 -0
  160. package/behaviors/lolo/ui/core/molecules/ui-gradient-divider.lolo +90 -0
  161. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +95 -0
  162. package/behaviors/lolo/ui/core/molecules/ui-graph-view.lolo +90 -0
  163. package/behaviors/lolo/ui/core/molecules/ui-grid.lolo +95 -5
  164. package/behaviors/lolo/ui/core/molecules/ui-header.lolo +90 -0
  165. package/behaviors/lolo/ui/core/molecules/ui-icon-button.lolo +90 -0
  166. package/behaviors/lolo/ui/core/molecules/ui-import-preview-tree.lolo +93 -2
  167. package/behaviors/lolo/ui/core/molecules/ui-import-progress.lolo +90 -0
  168. package/behaviors/lolo/ui/core/molecules/ui-import-source-picker.lolo +90 -0
  169. package/behaviors/lolo/ui/core/molecules/ui-input-group.lolo +91 -1
  170. package/behaviors/lolo/ui/core/molecules/ui-jazari-state-machine.lolo +90 -0
  171. package/behaviors/lolo/ui/core/molecules/ui-lightbox.lolo +90 -0
  172. package/behaviors/lolo/ui/core/molecules/ui-likert-scale.lolo +91 -1
  173. package/behaviors/lolo/ui/core/molecules/ui-line-chart.lolo +90 -0
  174. package/behaviors/lolo/ui/core/molecules/ui-loading-state.lolo +90 -0
  175. package/behaviors/lolo/ui/core/molecules/ui-map-view.lolo +90 -0
  176. package/behaviors/lolo/ui/core/molecules/ui-markdown-content.lolo +90 -0
  177. package/behaviors/lolo/ui/core/molecules/ui-matrix-question.lolo +90 -0
  178. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +91 -0
  179. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +90 -0
  180. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +90 -0
  181. package/behaviors/lolo/ui/core/molecules/ui-navigation.lolo +90 -0
  182. package/behaviors/lolo/ui/core/molecules/ui-notification.lolo +91 -1
  183. package/behaviors/lolo/ui/core/molecules/ui-number-stepper.lolo +122 -0
  184. package/behaviors/lolo/ui/core/molecules/ui-option-constraint-group.lolo +90 -0
  185. package/behaviors/lolo/ui/core/molecules/ui-orbital-visualization.lolo +90 -0
  186. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +90 -0
  187. package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +90 -0
  188. package/behaviors/lolo/ui/core/molecules/ui-pagination.lolo +106 -0
  189. package/behaviors/lolo/ui/core/molecules/ui-popover.lolo +106 -0
  190. package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +122 -0
  191. package/behaviors/lolo/ui/core/molecules/ui-progress-dots.lolo +90 -0
  192. package/behaviors/lolo/ui/core/molecules/ui-pull-to-refresh.lolo +90 -0
  193. package/behaviors/lolo/ui/core/molecules/ui-qr-scanner.lolo +90 -0
  194. package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +90 -0
  195. package/behaviors/lolo/ui/core/molecules/ui-reflection-block.lolo +90 -0
  196. package/behaviors/lolo/ui/core/molecules/ui-relation-select.lolo +106 -0
  197. package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +90 -0
  198. package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +122 -0
  199. package/behaviors/lolo/ui/core/molecules/ui-rich-text-editor.lolo +106 -0
  200. package/behaviors/lolo/ui/core/molecules/ui-scaled-diagram.lolo +90 -0
  201. package/behaviors/lolo/ui/core/molecules/ui-search-input.lolo +106 -0
  202. package/behaviors/lolo/ui/core/molecules/ui-section.lolo +90 -0
  203. package/behaviors/lolo/ui/core/molecules/ui-side-panel.lolo +90 -0
  204. package/behaviors/lolo/ui/core/molecules/ui-sidebar.lolo +106 -0
  205. package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +90 -0
  206. package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +90 -0
  207. package/behaviors/lolo/ui/core/molecules/ui-skeleton.lolo +93 -3
  208. package/behaviors/lolo/ui/core/molecules/ui-social-proof.lolo +90 -0
  209. package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +122 -0
  210. package/behaviors/lolo/ui/core/molecules/ui-split.lolo +90 -0
  211. package/behaviors/lolo/ui/core/molecules/ui-star-rating.lolo +122 -0
  212. package/behaviors/lolo/ui/core/molecules/ui-stat-display.lolo +90 -0
  213. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +138 -0
  214. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +140 -3
  215. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +90 -0
  216. package/behaviors/lolo/ui/core/molecules/ui-tag-input.lolo +90 -0
  217. package/behaviors/lolo/ui/core/molecules/ui-tooltip.lolo +90 -0
  218. package/behaviors/lolo/ui/core/molecules/ui-top-nav-item.lolo +90 -0
  219. package/behaviors/lolo/ui/core/molecules/ui-upload-drop-zone.lolo +90 -0
  220. package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +90 -0
  221. package/behaviors/lolo/ui/core/molecules/ui-violation-alert.lolo +91 -1
  222. package/behaviors/lolo/ui/core/molecules/ui-vote-stack.lolo +91 -1
  223. package/behaviors/lolo/ui/core/molecules/ui-wizard-container.lolo +90 -0
  224. package/behaviors/lolo/ui/core/molecules/ui-wizard-navigation.lolo +138 -0
  225. package/behaviors/lolo/ui/core/molecules/ui-wizard-progress.lolo +90 -0
  226. package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +91 -1
  227. package/behaviors/lolo/ui/core/organisms/ui-code-runner-panel.lolo +90 -0
  228. package/behaviors/lolo/ui/core/organisms/ui-dashboard-grid.lolo +91 -1
  229. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +355 -6
  230. package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +90 -0
  231. package/behaviors/lolo/ui/core/organisms/ui-drawer-slot.lolo +10 -0
  232. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +152 -8
  233. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +162 -7
  234. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +142 -1
  235. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +141 -1
  236. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +141 -1
  237. package/behaviors/lolo/ui/core/organisms/ui-master-detail-layout.lolo +90 -0
  238. package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +123 -1
  239. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +137 -1
  240. package/behaviors/lolo/ui/core/organisms/ui-modal-slot.lolo +10 -0
  241. package/behaviors/lolo/ui/core/organisms/ui-runtime-debugger.lolo +90 -0
  242. package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +90 -0
  243. package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +106 -0
  244. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +130 -2
  245. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +92 -2
  246. package/behaviors/lolo/ui/core/organisms/ui-subagent-trace-panel.lolo +91 -1
  247. package/behaviors/lolo/ui/core/organisms/ui-tabbed-container.lolo +90 -0
  248. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +152 -2
  249. package/behaviors/lolo/ui/core/organisms/ui-toast-slot.lolo +91 -1
  250. package/behaviors/lolo/ui/core/templates/ui-auth-layout.lolo +81 -1
  251. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +92 -2
  252. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +1 -1
  253. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +90 -0
  254. package/behaviors/lolo/ui/game/.hand-authored.json +2 -2
  255. package/behaviors/lolo/ui/game/atoms/ui-action-palette.lolo +90 -0
  256. package/behaviors/lolo/ui/game/atoms/ui-action-tile.lolo +91 -1
  257. package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +95 -0
  258. package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +91 -1
  259. package/behaviors/lolo/ui/game/atoms/ui-choice-button.lolo +91 -1
  260. package/behaviors/lolo/ui/game/atoms/ui-control-button.lolo +90 -0
  261. package/behaviors/lolo/ui/game/atoms/ui-control-grid.lolo +90 -0
  262. package/behaviors/lolo/ui/game/atoms/ui-dialogue-bubble.lolo +92 -2
  263. package/behaviors/lolo/ui/game/atoms/ui-draw-mesh.lolo +1 -1
  264. package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +2 -2
  265. package/behaviors/lolo/ui/game/atoms/ui-draw-sprite.lolo +1 -1
  266. package/behaviors/lolo/ui/game/atoms/ui-draw-text.lolo +3 -3
  267. package/behaviors/lolo/ui/game/atoms/ui-game-audio-toggle.lolo +90 -0
  268. package/behaviors/lolo/ui/game/atoms/ui-game-hud.lolo +90 -0
  269. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +91 -1
  270. package/behaviors/lolo/ui/game/atoms/ui-health-bar.lolo +90 -0
  271. package/behaviors/lolo/ui/game/atoms/ui-score-display.lolo +91 -1
  272. package/behaviors/lolo/ui/game/atoms/ui-sequence-bar.lolo +90 -0
  273. package/behaviors/lolo/ui/game/atoms/ui-stat-badge.lolo +90 -0
  274. package/behaviors/lolo/ui/game/atoms/ui-state-graph.lolo +90 -0
  275. package/behaviors/lolo/ui/game/atoms/ui-state-json-view.lolo +90 -0
  276. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +123 -1
  277. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +90 -0
  278. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +106 -0
  279. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +106 -0
  280. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +106 -0
  281. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +112 -0
  282. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +106 -0
  283. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +106 -0
  284. package/behaviors/lolo-behavior-contracts.json +1 -1
  285. package/behaviors/registry/agent/atoms/std-agent-context.orb +299 -826
  286. package/behaviors/registry/agent/atoms/std-agent-memory.orb +858 -643
  287. package/behaviors/registry/agent/atoms/std-agent-session.orb +833 -770
  288. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +505 -707
  289. package/behaviors/registry/agent/atoms/std-agent-trace.orb +680 -195
  290. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +594 -0
  291. package/behaviors/registry/factory-signatures.json +1 -1
  292. package/behaviors/registry/infra/atoms/std-approval-gate.orb +70 -0
  293. package/behaviors/registry/infra/atoms/std-cache-aside.orb +172 -299
  294. package/behaviors/registry/infra/atoms/std-migration-job.orb +26 -1
  295. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +57 -14
  296. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +9 -0
  297. package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +236 -0
  298. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +236 -0
  299. package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +215 -0
  300. package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +215 -0
  301. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +26 -18
  302. package/behaviors/registry/ui/core/atoms/std-board.orb +10 -34
  303. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +32 -13
  304. package/behaviors/registry/ui/core/atoms/std-browse.orb +312 -20
  305. package/behaviors/registry/ui/core/atoms/std-calendar.orb +8 -19
  306. package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +3 -1
  307. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +48 -11
  308. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +28 -4
  309. package/behaviors/registry/ui/core/atoms/std-event-log.orb +86 -14
  310. package/behaviors/registry/ui/core/atoms/std-file-store.orb +68 -59
  311. package/behaviors/registry/ui/core/atoms/std-gantt-schedule.orb +69 -12
  312. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +16 -16
  313. package/behaviors/registry/ui/core/atoms/std-list.orb +59 -11
  314. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +115 -14
  315. package/behaviors/registry/ui/core/atoms/std-prose.orb +14 -1
  316. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +79 -8
  317. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +693 -69
  318. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +112 -28
  319. package/behaviors/registry/ui/core/atoms/std-related.orb +82 -21
  320. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +82 -18
  321. package/behaviors/registry/ui/core/atoms/std-scoped-list.orb +993 -0
  322. package/behaviors/registry/ui/core/atoms/std-selection.orb +101 -12
  323. package/behaviors/registry/ui/core/atoms/std-signature-capture.orb +2 -16
  324. package/behaviors/registry/ui/core/atoms/std-slide-deck.orb +2 -0
  325. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +8 -8
  326. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +48 -64
  327. package/behaviors/registry/ui/core/atoms/std-thread.orb +863 -141
  328. package/behaviors/registry/ui/core/atoms/std-tree.orb +40 -18
  329. package/behaviors/registry/ui/core/atoms/std-version-history.orb +87 -69
  330. package/behaviors/registry/ui/core/atoms/std-vote.orb +4 -54
  331. package/behaviors/registry/ui/core/atoms/std-wizard.orb +70 -10
  332. package/behaviors/registry/ui/core/atoms/ui-animated-graphic.orb +236 -0
  333. package/behaviors/registry/ui/core/atoms/ui-animated-reveal.orb +236 -0
  334. package/behaviors/registry/ui/core/atoms/ui-aside.orb +236 -0
  335. package/behaviors/registry/ui/core/atoms/ui-atlas-image.orb +29 -0
  336. package/behaviors/registry/ui/core/atoms/ui-atlas-panel.orb +29 -0
  337. package/behaviors/registry/ui/core/atoms/ui-avatar.orb +236 -1
  338. package/behaviors/registry/ui/core/atoms/ui-badge.orb +236 -0
  339. package/behaviors/registry/ui/core/atoms/ui-box.orb +231 -10
  340. package/behaviors/registry/ui/core/atoms/ui-button.orb +236 -0
  341. package/behaviors/registry/ui/core/atoms/ui-card.orb +236 -1
  342. package/behaviors/registry/ui/core/atoms/ui-center.orb +236 -0
  343. package/behaviors/registry/ui/core/atoms/ui-checkbox.orb +260 -0
  344. package/behaviors/registry/ui/core/atoms/ui-confetti-effect.orb +236 -0
  345. package/behaviors/registry/ui/core/atoms/ui-day-cell.orb +236 -0
  346. package/behaviors/registry/ui/core/atoms/ui-dialog.orb +236 -0
  347. package/behaviors/registry/ui/core/atoms/ui-divider.orb +236 -0
  348. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +236 -0
  349. package/behaviors/registry/ui/core/atoms/ui-flip-container.orb +236 -0
  350. package/behaviors/registry/ui/core/atoms/ui-game-icon.orb +236 -0
  351. package/behaviors/registry/ui/core/atoms/ui-hstack.orb +225 -3
  352. package/behaviors/registry/ui/core/atoms/ui-icon.orb +236 -0
  353. package/behaviors/registry/ui/core/atoms/ui-image.orb +236 -0
  354. package/behaviors/registry/ui/core/atoms/ui-infinite-scroll-sentinel.orb +236 -0
  355. package/behaviors/registry/ui/core/atoms/ui-input.orb +21 -1
  356. package/behaviors/registry/ui/core/atoms/ui-label.orb +237 -1
  357. package/behaviors/registry/ui/core/atoms/ui-law-reference-tooltip.orb +236 -0
  358. package/behaviors/registry/ui/core/atoms/ui-overlay.orb +236 -0
  359. package/behaviors/registry/ui/core/atoms/ui-pattern-tile.orb +236 -0
  360. package/behaviors/registry/ui/core/atoms/ui-presence.orb +236 -0
  361. package/behaviors/registry/ui/core/atoms/ui-progress-bar.orb +236 -1
  362. package/behaviors/registry/ui/core/atoms/ui-radio.orb +252 -0
  363. package/behaviors/registry/ui/core/atoms/ui-range-slider.orb +268 -0
  364. package/behaviors/registry/ui/core/atoms/ui-section-header.orb +236 -0
  365. package/behaviors/registry/ui/core/atoms/ui-select.orb +243 -0
  366. package/behaviors/registry/ui/core/atoms/ui-spacer.orb +236 -0
  367. package/behaviors/registry/ui/core/atoms/ui-sparkline.orb +236 -0
  368. package/behaviors/registry/ui/core/atoms/ui-spinner.orb +236 -0
  369. package/behaviors/registry/ui/core/atoms/ui-stack.orb +225 -3
  370. package/behaviors/registry/ui/core/atoms/ui-status-dot.orb +236 -0
  371. package/behaviors/registry/ui/core/atoms/ui-svg-branch.orb +236 -0
  372. package/behaviors/registry/ui/core/atoms/ui-svg-connection.orb +236 -0
  373. package/behaviors/registry/ui/core/atoms/ui-svg-flow.orb +236 -0
  374. package/behaviors/registry/ui/core/atoms/ui-svg-grid.orb +236 -0
  375. package/behaviors/registry/ui/core/atoms/ui-svg-lobe.orb +236 -0
  376. package/behaviors/registry/ui/core/atoms/ui-svg-mesh.orb +236 -0
  377. package/behaviors/registry/ui/core/atoms/ui-svg-morph.orb +236 -0
  378. package/behaviors/registry/ui/core/atoms/ui-svg-node.orb +236 -0
  379. package/behaviors/registry/ui/core/atoms/ui-svg-pulse.orb +236 -0
  380. package/behaviors/registry/ui/core/atoms/ui-svg-ring.orb +236 -0
  381. package/behaviors/registry/ui/core/atoms/ui-svg-shield.orb +236 -0
  382. package/behaviors/registry/ui/core/atoms/ui-svg-stack.orb +236 -0
  383. package/behaviors/registry/ui/core/atoms/ui-switch.orb +252 -0
  384. package/behaviors/registry/ui/core/atoms/ui-text-highlight.orb +268 -0
  385. package/behaviors/registry/ui/core/atoms/ui-textarea.orb +250 -0
  386. package/behaviors/registry/ui/core/atoms/ui-theme-toggle.orb +236 -0
  387. package/behaviors/registry/ui/core/atoms/ui-time-slot-cell.orb +384 -0
  388. package/behaviors/registry/ui/core/atoms/ui-trend-indicator.orb +236 -1
  389. package/behaviors/registry/ui/core/atoms/ui-typewriter-text.orb +236 -0
  390. package/behaviors/registry/ui/core/atoms/ui-typography.orb +236 -6
  391. package/behaviors/registry/ui/core/atoms/ui-vstack.orb +225 -3
  392. package/behaviors/registry/ui/core/molecules/ui-accordion.orb +236 -0
  393. package/behaviors/registry/ui/core/molecules/ui-activation-block.orb +236 -0
  394. package/behaviors/registry/ui/core/molecules/ui-alert.orb +243 -0
  395. package/behaviors/registry/ui/core/molecules/ui-animated-counter.orb +237 -1
  396. package/behaviors/registry/ui/core/molecules/ui-bloom-quiz-block.orb +236 -0
  397. package/behaviors/registry/ui/core/molecules/ui-branching-logic-builder.orb +236 -0
  398. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +236 -0
  399. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +268 -0
  400. package/behaviors/registry/ui/core/molecules/ui-carousel.orb +236 -0
  401. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +236 -0
  402. package/behaviors/registry/ui/core/molecules/ui-chart-legend.orb +236 -0
  403. package/behaviors/registry/ui/core/molecules/ui-chart.orb +236 -3
  404. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +348 -0
  405. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +254 -4
  406. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +268 -1
  407. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +236 -0
  408. package/behaviors/registry/ui/core/molecules/ui-connection-block.orb +236 -0
  409. package/behaviors/registry/ui/core/molecules/ui-container.orb +236 -2
  410. package/behaviors/registry/ui/core/molecules/ui-content-renderer.orb +241 -7
  411. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +387 -2
  412. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +351 -1
  413. package/behaviors/registry/ui/core/molecules/ui-date-range-picker.orb +253 -3
  414. package/behaviors/registry/ui/core/molecules/ui-date-range-selector.orb +236 -0
  415. package/behaviors/registry/ui/core/molecules/ui-doc-breadcrumb.orb +236 -0
  416. package/behaviors/registry/ui/core/molecules/ui-doc-pagination.orb +236 -0
  417. package/behaviors/registry/ui/core/molecules/ui-doc-search.orb +236 -0
  418. package/behaviors/registry/ui/core/molecules/ui-doc-sidebar.orb +236 -0
  419. package/behaviors/registry/ui/core/molecules/ui-doc-toc.orb +236 -0
  420. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +296 -0
  421. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +268 -0
  422. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +236 -0
  423. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +236 -0
  424. package/behaviors/registry/ui/core/molecules/ui-edge-decoration.orb +21 -0
  425. package/behaviors/registry/ui/core/molecules/ui-emoji-picker.orb +236 -1
  426. package/behaviors/registry/ui/core/molecules/ui-empty-state.orb +236 -1
  427. package/behaviors/registry/ui/core/molecules/ui-error-boundary.orb +21 -0
  428. package/behaviors/registry/ui/core/molecules/ui-error-state.orb +236 -0
  429. package/behaviors/registry/ui/core/molecules/ui-feature-card.orb +236 -1
  430. package/behaviors/registry/ui/core/molecules/ui-feature-grid.orb +236 -0
  431. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +236 -0
  432. package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +268 -0
  433. package/behaviors/registry/ui/core/molecules/ui-flex.orb +236 -0
  434. package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +236 -0
  435. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +236 -1
  436. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +236 -0
  437. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +236 -0
  438. package/behaviors/registry/ui/core/molecules/ui-form-field.orb +236 -0
  439. package/behaviors/registry/ui/core/molecules/ui-form-layout.orb +241 -6
  440. package/behaviors/registry/ui/core/molecules/ui-form-section-header.orb +236 -0
  441. package/behaviors/registry/ui/core/molecules/ui-fx-overlay.orb +236 -0
  442. package/behaviors/registry/ui/core/molecules/ui-gantt.orb +296 -1
  443. package/behaviors/registry/ui/core/molecules/ui-geometric-pattern.orb +21 -0
  444. package/behaviors/registry/ui/core/molecules/ui-gradient-divider.orb +236 -0
  445. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +243 -0
  446. package/behaviors/registry/ui/core/molecules/ui-graph-view.orb +236 -0
  447. package/behaviors/registry/ui/core/molecules/ui-grid.orb +236 -5
  448. package/behaviors/registry/ui/core/molecules/ui-header.orb +236 -0
  449. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +236 -0
  450. package/behaviors/registry/ui/core/molecules/ui-import-preview-tree.orb +245 -2
  451. package/behaviors/registry/ui/core/molecules/ui-import-progress.orb +236 -0
  452. package/behaviors/registry/ui/core/molecules/ui-import-source-picker.orb +236 -0
  453. package/behaviors/registry/ui/core/molecules/ui-input-group.orb +236 -1
  454. package/behaviors/registry/ui/core/molecules/ui-jazari-state-machine.orb +236 -0
  455. package/behaviors/registry/ui/core/molecules/ui-lightbox.orb +236 -0
  456. package/behaviors/registry/ui/core/molecules/ui-likert-scale.orb +237 -1
  457. package/behaviors/registry/ui/core/molecules/ui-line-chart.orb +236 -0
  458. package/behaviors/registry/ui/core/molecules/ui-loading-state.orb +236 -0
  459. package/behaviors/registry/ui/core/molecules/ui-map-view.orb +236 -0
  460. package/behaviors/registry/ui/core/molecules/ui-markdown-content.orb +236 -0
  461. package/behaviors/registry/ui/core/molecules/ui-matrix-question.orb +236 -0
  462. package/behaviors/registry/ui/core/molecules/ui-menu.orb +253 -0
  463. package/behaviors/registry/ui/core/molecules/ui-meter.orb +236 -0
  464. package/behaviors/registry/ui/core/molecules/ui-modal.orb +236 -0
  465. package/behaviors/registry/ui/core/molecules/ui-navigation.orb +236 -0
  466. package/behaviors/registry/ui/core/molecules/ui-notification.orb +237 -1
  467. package/behaviors/registry/ui/core/molecules/ui-number-stepper.orb +268 -0
  468. package/behaviors/registry/ui/core/molecules/ui-option-constraint-group.orb +236 -0
  469. package/behaviors/registry/ui/core/molecules/ui-orbital-visualization.orb +236 -0
  470. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +236 -0
  471. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +236 -0
  472. package/behaviors/registry/ui/core/molecules/ui-pagination.orb +252 -0
  473. package/behaviors/registry/ui/core/molecules/ui-popover.orb +252 -0
  474. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +268 -0
  475. package/behaviors/registry/ui/core/molecules/ui-progress-dots.orb +236 -0
  476. package/behaviors/registry/ui/core/molecules/ui-pull-to-refresh.orb +236 -0
  477. package/behaviors/registry/ui/core/molecules/ui-qr-scanner.orb +236 -0
  478. package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +236 -0
  479. package/behaviors/registry/ui/core/molecules/ui-reflection-block.orb +236 -0
  480. package/behaviors/registry/ui/core/molecules/ui-relation-select.orb +252 -0
  481. package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +236 -0
  482. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +268 -0
  483. package/behaviors/registry/ui/core/molecules/ui-rich-text-editor.orb +252 -0
  484. package/behaviors/registry/ui/core/molecules/ui-scaled-diagram.orb +236 -0
  485. package/behaviors/registry/ui/core/molecules/ui-search-input.orb +252 -0
  486. package/behaviors/registry/ui/core/molecules/ui-section.orb +236 -0
  487. package/behaviors/registry/ui/core/molecules/ui-side-panel.orb +236 -0
  488. package/behaviors/registry/ui/core/molecules/ui-sidebar.orb +252 -0
  489. package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +236 -0
  490. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +236 -0
  491. package/behaviors/registry/ui/core/molecules/ui-skeleton.orb +242 -2
  492. package/behaviors/registry/ui/core/molecules/ui-social-proof.orb +236 -0
  493. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +268 -0
  494. package/behaviors/registry/ui/core/molecules/ui-split.orb +236 -0
  495. package/behaviors/registry/ui/core/molecules/ui-star-rating.orb +268 -0
  496. package/behaviors/registry/ui/core/molecules/ui-stat-display.orb +236 -0
  497. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +284 -0
  498. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +425 -3
  499. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +236 -0
  500. package/behaviors/registry/ui/core/molecules/ui-tag-input.orb +236 -0
  501. package/behaviors/registry/ui/core/molecules/ui-tooltip.orb +236 -0
  502. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +236 -0
  503. package/behaviors/registry/ui/core/molecules/ui-upload-drop-zone.orb +236 -0
  504. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +236 -0
  505. package/behaviors/registry/ui/core/molecules/ui-violation-alert.orb +236 -1
  506. package/behaviors/registry/ui/core/molecules/ui-vote-stack.orb +236 -1
  507. package/behaviors/registry/ui/core/molecules/ui-wizard-container.orb +236 -0
  508. package/behaviors/registry/ui/core/molecules/ui-wizard-navigation.orb +284 -0
  509. package/behaviors/registry/ui/core/molecules/ui-wizard-progress.orb +236 -0
  510. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +236 -1
  511. package/behaviors/registry/ui/core/organisms/ui-code-runner-panel.orb +236 -0
  512. package/behaviors/registry/ui/core/organisms/ui-dashboard-grid.orb +236 -1
  513. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +1281 -16
  514. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +236 -0
  515. package/behaviors/registry/ui/core/organisms/ui-drawer-slot.orb +21 -0
  516. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +489 -27
  517. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +444 -19
  518. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +410 -0
  519. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +312 -1
  520. package/behaviors/registry/ui/core/organisms/ui-form.orb +312 -1
  521. package/behaviors/registry/ui/core/organisms/ui-master-detail-layout.orb +236 -0
  522. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +268 -1
  523. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +288 -1
  524. package/behaviors/registry/ui/core/organisms/ui-modal-slot.orb +21 -0
  525. package/behaviors/registry/ui/core/organisms/ui-runtime-debugger.orb +236 -0
  526. package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +236 -0
  527. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +252 -0
  528. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +326 -2
  529. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +236 -2
  530. package/behaviors/registry/ui/core/organisms/ui-subagent-trace-panel.orb +236 -1
  531. package/behaviors/registry/ui/core/organisms/ui-tabbed-container.orb +236 -0
  532. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +306 -5
  533. package/behaviors/registry/ui/core/organisms/ui-toast-slot.orb +236 -1
  534. package/behaviors/registry/ui/core/templates/ui-auth-layout.orb +215 -1
  535. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +236 -2
  536. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +0 -1
  537. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +236 -0
  538. package/behaviors/registry/ui/game/atoms/ui-action-palette.orb +236 -0
  539. package/behaviors/registry/ui/game/atoms/ui-action-tile.orb +236 -1
  540. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +243 -0
  541. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +236 -1
  542. package/behaviors/registry/ui/game/atoms/ui-choice-button.orb +237 -1
  543. package/behaviors/registry/ui/game/atoms/ui-control-button.orb +236 -0
  544. package/behaviors/registry/ui/game/atoms/ui-control-grid.orb +236 -0
  545. package/behaviors/registry/ui/game/atoms/ui-dialogue-bubble.orb +237 -2
  546. package/behaviors/registry/ui/game/atoms/ui-draw-mesh.orb +0 -1
  547. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +0 -2
  548. package/behaviors/registry/ui/game/atoms/ui-draw-sprite.orb +0 -1
  549. package/behaviors/registry/ui/game/atoms/ui-draw-text.orb +0 -3
  550. package/behaviors/registry/ui/game/atoms/ui-game-audio-toggle.orb +236 -0
  551. package/behaviors/registry/ui/game/atoms/ui-game-hud.orb +236 -0
  552. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +237 -1
  553. package/behaviors/registry/ui/game/atoms/ui-health-bar.orb +236 -0
  554. package/behaviors/registry/ui/game/atoms/ui-score-display.orb +236 -1
  555. package/behaviors/registry/ui/game/atoms/ui-sequence-bar.orb +236 -0
  556. package/behaviors/registry/ui/game/atoms/ui-stat-badge.orb +236 -0
  557. package/behaviors/registry/ui/game/atoms/ui-state-graph.orb +236 -0
  558. package/behaviors/registry/ui/game/atoms/ui-state-json-view.orb +236 -0
  559. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +268 -1
  560. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +236 -0
  561. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +252 -0
  562. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +252 -0
  563. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +252 -0
  564. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +260 -0
  565. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +252 -0
  566. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +252 -0
  567. package/dist/behaviors/exports-reader.js +15164 -7081
  568. package/dist/behaviors/functions/index.d.ts +4293 -362
  569. package/dist/behaviors/functions/index.js +15134 -7043
  570. package/dist/behaviors/index.d.ts +1 -1
  571. package/dist/behaviors/index.js +15165 -7082
  572. package/dist/behaviors/query.js +15164 -7081
  573. package/dist/behaviors-embeddings.hash.json +3 -3
  574. package/dist/behaviors-embeddings.json +37 -33
  575. package/dist/behaviors-registry.json +57874 -1895
  576. package/dist/index.d.ts +1 -1
  577. package/dist/index.js +15165 -7082
  578. package/dist/knob-embeddings.hash.json +3 -3
  579. package/dist/knob-embeddings.json +14971 -255
  580. package/dist/registry/factory-signatures.json +1 -1
  581. package/package.json +4 -4
  582. package/behaviors/lolo/agent/organisms/std-agent-rabit.lolo +0 -301
  583. package/behaviors/registry/agent/organisms/std-agent-rabit.orb +0 -2181
@@ -42,8 +42,10 @@ orbital RecurrenceOrbital {
42
42
  emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
43
43
  })
44
44
  (render-ui main {
45
- title: "Loading schedule…"
46
- type: loading-state
45
+ type: stack
46
+ direction: vertical
47
+ gap: lg
48
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
47
49
  })
48
50
  RecurrenceLoaded -> viewing
49
51
  (set @entity.frequency (object/get (array/first ?data) frequency weekly))
@@ -140,6 +142,10 @@ orbital RecurrenceOrbital {
140
142
  }, {
141
143
  entity: @entity.occurrences
142
144
  fields: (title description date status)
145
+ titleField: "title"
146
+ descriptionField: "description"
147
+ dateField: "date"
148
+ statusField: "status"
143
149
  itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
144
150
  look: @config.timelineLook
145
151
  type: timeline
@@ -172,8 +178,10 @@ orbital RecurrenceOrbital {
172
178
  emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
173
179
  })
174
180
  (render-ui main {
175
- title: "Refreshing…"
176
- type: loading-state
181
+ type: stack
182
+ direction: vertical
183
+ gap: lg
184
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
177
185
  })
178
186
  RecurrenceSaveFailed -> error
179
187
  (set @entity.errorMessage ?error)
@@ -318,17 +326,15 @@ orbital RecurrenceOrbital {
318
326
  (persist update RecurrenceView ?data {
319
327
  emit: { failure: RecurrenceSaveFailed, success: RecurrenceSaved }
320
328
  })
321
- (render-ui main {
322
- title: "Saving rule…"
323
- type: loading-state
324
- })
325
329
  CANCEL_RULE -> loading
326
330
  (fetch RecurrenceView {
327
331
  emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
328
332
  })
329
333
  (render-ui main {
330
- title: "Cancelling…"
331
- type: loading-state
334
+ type: stack
335
+ direction: vertical
336
+ gap: lg
337
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
332
338
  })
333
339
  }
334
340
 
@@ -337,10 +343,6 @@ orbital RecurrenceOrbital {
337
343
  (persist update RecurrenceView { id: ?id, status: skipped } {
338
344
  emit: { failure: RecurrenceSaveFailed, success: RecurrenceSaved }
339
345
  })
340
- (render-ui main {
341
- title: "Skipping…"
342
- type: loading-state
343
- })
344
346
  RESCHEDULE_OCCURRENCE -> loading
345
347
  (set @entity.rescheduleDate ?newDate)
346
348
  (persist update RecurrenceView {
@@ -359,8 +361,10 @@ orbital RecurrenceOrbital {
359
361
  emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
360
362
  })
361
363
  (render-ui main {
362
- title: "Closing…"
363
- type: loading-state
364
+ type: stack
365
+ direction: vertical
366
+ gap: lg
367
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
364
368
  })
365
369
  }
366
370
 
@@ -370,16 +374,20 @@ orbital RecurrenceOrbital {
370
374
  emit: { failure: RecurrenceLoadFailed, success: RecurrenceLoaded }
371
375
  })
372
376
  (render-ui main {
373
- title: "Restarting…"
374
- type: loading-state
377
+ type: stack
378
+ direction: vertical
379
+ gap: lg
380
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
375
381
  })
376
382
  }
377
383
 
378
384
  state error {
379
385
  INIT -> loading
380
386
  (render-ui main {
381
- title: "Retrying…"
382
- type: loading-state
387
+ type: stack
388
+ direction: vertical
389
+ gap: lg
390
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: card }, { type: skeleton, variant: list, rows: 6 }]
383
391
  })
384
392
  }
385
393
 
@@ -33,17 +33,10 @@ orbital RelatedItemOrbital {
33
33
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
34
34
  })
35
35
  (render-ui main {
36
- align: center
37
- children: [{ type: spinner }, {
38
- color: muted
39
- content: "Loading related…"
40
- type: typography
41
- variant: caption
42
- }]
43
- className: py-8
44
- direction: vertical
45
- gap: sm
46
36
  type: stack
37
+ direction: vertical
38
+ gap: lg
39
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
47
40
  })
48
41
  SHOW_RELATED -> loading
49
42
  (fetch RelatedItem {
@@ -51,17 +44,10 @@ orbital RelatedItemOrbital {
51
44
  filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
52
45
  })
53
46
  (render-ui main {
54
- align: center
55
- children: [{ type: spinner }, {
56
- color: muted
57
- content: "Loading related…"
58
- type: typography
59
- variant: caption
60
- }]
61
- className: py-8
62
- direction: vertical
63
- gap: sm
64
47
  type: stack
48
+ direction: vertical
49
+ gap: lg
50
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
65
51
  })
66
52
  RelatedItemLoaded -> loaded
67
53
  (render-ui main {
@@ -140,7 +126,12 @@ orbital RelatedItemOrbital {
140
126
  (fetch RelatedItem {
141
127
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
142
128
  })
143
- (render-ui main { type: spinner })
129
+ (render-ui main {
130
+ type: stack
131
+ direction: vertical
132
+ gap: lg
133
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
134
+ })
144
135
  SELECT_RELATED -> loaded
145
136
  (set @entity.id ?id)
146
137
  SHOW_RELATED -> loading
@@ -148,7 +139,12 @@ orbital RelatedItemOrbital {
148
139
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
149
140
  filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
150
141
  })
151
- (render-ui main { type: spinner })
142
+ (render-ui main {
143
+ type: stack
144
+ direction: vertical
145
+ gap: lg
146
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
147
+ })
152
148
  }
153
149
 
154
150
  state error {
@@ -156,20 +152,35 @@ orbital RelatedItemOrbital {
156
152
  (fetch RelatedItem {
157
153
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
158
154
  })
159
- (render-ui main { type: spinner })
155
+ (render-ui main {
156
+ type: stack
157
+ direction: vertical
158
+ gap: lg
159
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
160
+ })
160
161
  ;; the error screen's Retry button: INIT is lifecycle-only and the bus never
161
162
  ;; delivers it, so the affordance must target a first-class user event
162
163
  RETRY -> loading
163
164
  (fetch RelatedItem {
164
165
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
165
166
  })
166
- (render-ui main { type: spinner })
167
+ (render-ui main {
168
+ type: stack
169
+ direction: vertical
170
+ gap: lg
171
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
172
+ })
167
173
  SHOW_RELATED -> loading
168
174
  (fetch RelatedItem {
169
175
  emit: { failure: RelatedItemLoadFailed, success: RelatedItemLoaded }
170
176
  filter: (or ["=", @config.relationField, ""] ["=", (object/get @entity @config.relationField), ?key])
171
177
  })
172
- (render-ui main { type: spinner })
178
+ (render-ui main {
179
+ type: stack
180
+ direction: vertical
181
+ gap: lg
182
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
183
+ })
173
184
  }
174
185
 
175
186
  emits {
@@ -33,17 +33,10 @@ orbital SavedSearchOrbital {
33
33
  emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
34
34
  })
35
35
  (render-ui main {
36
- align: center
37
- children: [{ type: spinner }, {
38
- color: muted
39
- content: "Loading saved searches…"
40
- type: typography
41
- variant: caption
42
- }]
43
- className: py-12
44
- direction: vertical
45
- gap: md
46
36
  type: stack
37
+ direction: vertical
38
+ gap: lg
39
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
47
40
  })
48
41
  SavedSearchLoaded -> browsing
49
42
  (render-ui main {
@@ -77,6 +70,7 @@ orbital SavedSearchOrbital {
77
70
  variant: badge
78
71
  }]
79
72
  gap: sm
73
+ itemClickEvent: @config.itemClickEvent
80
74
  itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
81
75
  look: @config.tableLook
82
76
  type: data-grid
@@ -99,17 +93,10 @@ orbital SavedSearchOrbital {
99
93
  emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
100
94
  })
101
95
  (render-ui main {
102
- align: center
103
- children: [{ type: spinner }, {
104
- color: muted
105
- content: "Loading saved searches…"
106
- type: typography
107
- variant: caption
108
- }]
109
- className: py-12
110
- direction: vertical
111
- gap: md
112
96
  type: stack
97
+ direction: vertical
98
+ gap: lg
99
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
113
100
  })
114
101
  TOGGLE_ALERT -> browsing
115
102
  (set @entity.id ?id)
@@ -158,10 +145,12 @@ orbital SavedSearchOrbital {
158
145
  }, { type: divider }, {
159
146
  action: RENAME
160
147
  placeholder: Name
148
+ label: "Saved search name"
161
149
  type: input
162
150
  value: @entity.name
163
151
  }, {
164
152
  action: CHANGE_FREQUENCY
153
+ aria-label: "Alert frequency"
165
154
  options: [{ label: Instant, value: instant }, { label: Daily, value: daily }, { label: Weekly, value: weekly }]
166
155
  placeholder: "Alert frequency"
167
156
  type: select
@@ -234,7 +223,12 @@ orbital SavedSearchOrbital {
234
223
  (fetch SavedSearch {
235
224
  emit: { failure: SavedSearchLoadFailed, success: SavedSearchLoaded }
236
225
  })
237
- (render-ui main { size: sm, type: spinner })
226
+ (render-ui main {
227
+ type: stack
228
+ direction: vertical
229
+ gap: lg
230
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: grid, rows: 6 }]
231
+ })
238
232
  }
239
233
 
240
234
  emits {
@@ -253,6 +247,7 @@ orbital SavedSearchOrbital {
253
247
  @tier "presentation"
254
248
  EDIT {
255
249
  id : string!
250
+ row : SavedSearch
256
251
  }
257
252
  @description "Indicates a saved search is being modified."
258
253
  @synonyms "modify, update, change"
@@ -405,6 +400,10 @@ orbital SavedSearchOrbital {
405
400
  @label "Default saved-search name"
406
401
  @description "Name given to a saved search when the current search has no query text (filters only). Renamable afterwards."
407
402
  @tier "presentation"
403
+ itemClickEvent : event = EDIT
404
+ @label "Row click"
405
+ @description "Event emitted when a row is clicked; opens the saved search for editing. Empty disables the row click."
406
+ @tier "presentation"
408
407
  itemActions : [ItemAction] = [{
409
408
  event: TOGGLE_ALERT
410
409
  icon: bell
@@ -0,0 +1,143 @@
1
+ app std-scoped-list "1.0.0"
2
+ "std-scoped-list — the rows that belong to one parent record, scoped at runtime. SET_SCOPE { value } (forward the parent's own loaded event, e.g. a detail page's `TaskDetailLoaded -> SET_SCOPE with { value: ?data.id }`) lists only the rows whose `scopeField` equals that value; the scope is kept, so a later INIT (a reload after a row is created, edited or removed) lists the same parent's rows again. Before a scope arrives the list shows every row, or with `whenUnscoped: nothing` its empty state. Rows render through data-list (fields, row actions filtered by viewerRole, click event, sortBy). Opt in where a list must follow a parent picked elsewhere on the page: the bound entity carries the scope as an @intrinsic field — std-browse stays the general list."
3
+
4
+ type FieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent }
5
+ type ItemAction = { label : string!, event : event, variant : primary | secondary | ghost | danger, icon : string, roles : [string] }
6
+
7
+ orbital ScopedListOrbital {
8
+ type ScopedListLoaded = Event { data : [ScopedListItem] } "Fired when the scoped rows finish loading"
9
+ type ScopedListLoadFailed = Event { error : string } "Fired when the scoped rows fail to load"
10
+
11
+ entity ScopedListItem [runtime] {
12
+ id : string!
13
+ name : string! @description "The row's title." @synonyms "title, label"
14
+ parentId : string @description "The parent record this row belongs to (the default scopeField)." @synonyms "parent, owner id" = ""
15
+ scopeValue : string @intrinsic @description "The parent the list is scoped to; blank until SET_SCOPE." = ""
16
+ }
17
+
18
+ trait ScopedListBrowse -> @rebindable ScopedListItem [interaction, collection] {
19
+ initial: listing
20
+
21
+ state listing {
22
+ INIT -> listing
23
+ (fetch ScopedListItem {
24
+ emit: { failure: ScopedListLoadFailed, success: ScopedListLoaded }
25
+ filter: (or (and ["=", (str/default @entity.scopeValue ""), ""] ["=", @config.whenUnscoped, "everything"]) (and ["!=", (str/default @entity.scopeValue ""), ""] ["=", (object/get @entity @config.scopeField), @entity.scopeValue]))
26
+ })
27
+ SET_SCOPE -> listing
28
+ (set @entity.scopeValue ?value)
29
+ (fetch ScopedListItem {
30
+ emit: { failure: ScopedListLoadFailed, success: ScopedListLoaded }
31
+ filter: (or (and ["=", ?value, ""] ["=", @config.whenUnscoped, "everything"]) (and ["!=", ?value, ""] ["=", (object/get @entity @config.scopeField), ?value]))
32
+ })
33
+ ScopedListLoaded -> listing
34
+ (render-ui main {
35
+ entity: ?data
36
+ fields: @config.fields
37
+ itemActions: (array/filter @config.itemActions (fn item (or (= (array/len (object/get @item roles [])) 0) (array/includes (object/get @item roles []) @config.viewerRole))))
38
+ itemClickEvent: @config.itemClickEvent
39
+ sortBy: @config.sortBy
40
+ sortDirection: @config.sortDirection
41
+ emptyTitle: @config.emptyTitle
42
+ emptyDescription: @config.emptyDescription
43
+ emptyIcon: @config.emptyIcon
44
+ gap: @config.gap
45
+ type: data-list
46
+ })
47
+ ScopedListLoadFailed -> listing
48
+ (render-ui main { message: ?error, title: "Couldn't load this list", type: alert, variant: error })
49
+ }
50
+
51
+ emits {
52
+ ScopedListLoaded -> external {
53
+ data : [ScopedListItem]
54
+ }
55
+ @description "The scoped rows loaded; mirror them in another view (e.g. a sortable list)."
56
+ @synonyms "loaded, rows ready"
57
+ @tier "domain"
58
+ ScopedListLoadFailed -> internal {
59
+ error : string
60
+ }
61
+ @tier "internal"
62
+ VIEW -> external {
63
+ id : string!
64
+ row : ScopedListItem!
65
+ }
66
+ @description "A row was opened."
67
+ @synonyms "open, view, select"
68
+ @tier "presentation"
69
+ EDIT -> external {
70
+ id : string!
71
+ row : ScopedListItem!
72
+ }
73
+ @description "A row's edit action was chosen."
74
+ @synonyms "edit, change"
75
+ @tier "presentation"
76
+ DELETE -> external {
77
+ id : string!
78
+ row : ScopedListItem!
79
+ }
80
+ @description "A row's delete action was chosen."
81
+ @synonyms "remove, delete"
82
+ @tier "presentation"
83
+ }
84
+
85
+ listens {
86
+ SET_SCOPE {
87
+ value : string!
88
+ }
89
+ @description "Scope the list to the rows of this parent; kept for later reloads."
90
+ @synonyms "scope, select parent, open parent"
91
+ @tier "domain"
92
+ }
93
+
94
+ config {
95
+ scopeField : string = "parentId"
96
+ @label "Which field names the parent?"
97
+ @description "The row field holding the parent's id; SET_SCOPE's value is matched against it."
98
+ @synonyms "parent field, foreign key, owner field"
99
+ @tier "domain"
100
+ whenUnscoped : "everything" | "nothing" = everything
101
+ @label "What does the list show before a parent is picked?"
102
+ @description "everything = every row until SET_SCOPE narrows it; nothing = the empty state, so a detail page never shows other parents' rows while it loads."
103
+ @synonyms "unscoped, before selection, default scope"
104
+ @tier "policy"
105
+ fields : [FieldSpec] = [{ name: name, label: Name, variant: h4 }]
106
+ @label "Which fields does each row show?"
107
+ @tier "presentation"
108
+ itemActions : [ItemAction] = []
109
+ @label "Row actions"
110
+ @description "Actions offered on each row; give an item `roles` to show it only to those viewer roles."
111
+ @tier "presentation"
112
+ itemClickEvent : event = VIEW
113
+ @label "Event a row click fires"
114
+ @tier "presentation"
115
+ viewerRole : string = ""
116
+ @label "Viewer's role"
117
+ @description "The signed-in viewer's role that each action's `roles` is checked against (e.g. `viewerRole: @user.role`)."
118
+ @tier "policy"
119
+ sortBy : string = ""
120
+ @label "Sort rows by"
121
+ @description "Field the rows are ordered by; blank keeps the stored order."
122
+ @synonyms "order by, sort field"
123
+ @tier "presentation"
124
+ sortDirection : "asc" | "desc" = asc
125
+ @label "Sort direction"
126
+ @tier "presentation"
127
+ emptyTitle : string = "Nothing here yet"
128
+ @label "Empty-state title"
129
+ @tier "presentation"
130
+ emptyDescription : string = ""
131
+ @label "Empty-state description"
132
+ @tier "presentation"
133
+ emptyIcon : icon = inbox
134
+ @label "Empty-state icon"
135
+ @tier "presentation"
136
+ gap : "none" | "sm" | "md" | "lg" = sm
137
+ @label "Gap between rows"
138
+ @tier "presentation"
139
+ }
140
+ }
141
+
142
+ page "/scoped-list" as ScopedListPage -> ScopedListBrowse
143
+ }
@@ -24,17 +24,10 @@ orbital SelectableItemOrbital {
24
24
  emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
25
25
  })
26
26
  (render-ui main {
27
- align: center
28
- children: [{ type: spinner }, {
29
- color: muted
30
- content: "Loading…"
31
- type: typography
32
- variant: caption
33
- }]
34
- className: py-12
35
- direction: vertical
36
- gap: md
37
27
  type: stack
28
+ direction: vertical
29
+ gap: lg
30
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
38
31
  })
39
32
  SelectableItemLoaded -> idle
40
33
  (render-ui main {
@@ -87,6 +80,7 @@ orbital SelectableItemOrbital {
87
80
  className: "transition-shadow hover:shadow-md cursor-pointer"
88
81
  entity: ?data
89
82
  fields: []
83
+ itemClickEvent: @config.itemClickEvent
90
84
  itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
91
85
  look: @config.tableLook
92
86
  pageSize: @config.displayPageSize
@@ -217,6 +211,7 @@ orbital SelectableItemOrbital {
217
211
  className: "transition-shadow hover:shadow-md cursor-pointer"
218
212
  entity: ?data
219
213
  fields: []
214
+ itemClickEvent: @config.itemClickEvent
220
215
  itemActions: (array/filter @config.itemActions (fn action (or (= (array/len (object/get @action roles [])) 0) (array/includes (object/get @action roles []) @config.viewerRole))))
221
216
  look: @config.tableLook
222
217
  pageSize: @config.displayPageSize
@@ -340,7 +335,12 @@ orbital SelectableItemOrbital {
340
335
  (fetch SelectableItem {
341
336
  emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
342
337
  })
343
- (render-ui main { type: spinner })
338
+ (render-ui main {
339
+ type: stack
340
+ direction: vertical
341
+ gap: lg
342
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
343
+ })
344
344
  }
345
345
 
346
346
  state selected {
@@ -348,7 +348,12 @@ orbital SelectableItemOrbital {
348
348
  (fetch SelectableItem {
349
349
  emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
350
350
  })
351
- (render-ui main { type: spinner })
351
+ (render-ui main {
352
+ type: stack
353
+ direction: vertical
354
+ gap: lg
355
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
356
+ })
352
357
  }
353
358
 
354
359
  state error {
@@ -356,14 +361,24 @@ orbital SelectableItemOrbital {
356
361
  (fetch SelectableItem {
357
362
  emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
358
363
  })
359
- (render-ui main { type: spinner })
364
+ (render-ui main {
365
+ type: stack
366
+ direction: vertical
367
+ gap: lg
368
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
369
+ })
360
370
  ;; the error screen's Retry button: INIT is lifecycle-only and the bus never
361
371
  ;; delivers it, so the affordance must target a first-class user event
362
372
  RETRY -> loading
363
373
  (fetch SelectableItem {
364
374
  emit: { failure: SelectableItemLoadFailed, success: SelectableItemLoaded }
365
375
  })
366
- (render-ui main { type: spinner })
376
+ (render-ui main {
377
+ type: stack
378
+ direction: vertical
379
+ gap: lg
380
+ children: [{ type: skeleton, variant: header }, { type: skeleton, variant: list, rows: 6 }]
381
+ })
367
382
  }
368
383
 
369
384
  emits {
@@ -380,6 +395,7 @@ orbital SelectableItemOrbital {
380
395
  listens {
381
396
  SELECT {
382
397
  id : string!
398
+ row : SelectableItem
383
399
  }
384
400
  @description "Indicates an item has been chosen."
385
401
  @synonyms "chosen, picked, highlighted"
@@ -460,6 +476,10 @@ orbital SelectableItemOrbital {
460
476
  @description "Rows visible per page before the data-grid's own pagination control appears — 20 matches the pick-list density sweet spot (Miller's law, 10-25 rows)."
461
477
  @synonyms "visible rows, items per page, display limit, show per page"
462
478
  @tier "presentation"
479
+ itemClickEvent : event = SELECT
480
+ @label "Row click"
481
+ @description "Event emitted when a row is clicked; clicking a row selects it. Empty disables the row click."
482
+ @tier "presentation"
463
483
  itemActions : [ItemAction] = [{
464
484
  event: SELECT
465
485
  icon: check
@@ -27,19 +27,7 @@ orbital SignatureCaptureOrbital {
27
27
  (fetch Signature {
28
28
  emit: { failure: SignatureLoadFailed, success: SignatureLoaded }
29
29
  })
30
- (render-ui main {
31
- align: center
32
- children: [{ type: spinner }, {
33
- color: muted
34
- content: "Loading…"
35
- type: typography
36
- variant: caption
37
- }]
38
- className: py-12
39
- direction: vertical
40
- gap: md
41
- type: stack
42
- })
30
+ (render-ui main { type: skeleton, variant: card })
43
31
  SignatureLoaded -> idle
44
32
  (render-ui main {
45
33
  children: [{
@@ -81,9 +81,9 @@ orbital SlideDeckOrbital {
81
81
  gap: md
82
82
  align: center
83
83
  children: [
84
- (array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.prevIcon, action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (- @entity.slideIndex 1) 0 @n) (math/max 0 (- @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (<= @entity.slideIndex 0)) } null))),
84
+ (array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.prevIcon, aria-label: "Previous slide", action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (- @entity.slideIndex 1) 0 @n) (math/max 0 (- @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (<= @entity.slideIndex 0)) } null))),
85
85
  { type: center, className: "flex-1 min-w-0", minHeight: @config.stageMinHeight, children: (array/map [@entity.slideIndex] (fn i { type: box, className: "w-full", children: [(array/nth @config.slides @i)] })) },
86
- (array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.nextIcon, action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (+ @entity.slideIndex 1) 0 @n) (math/min (- @n 1) (+ @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (>= @entity.slideIndex (- @n 1))) } null)))
86
+ (array/map [(array/len @config.slides)] (fn n (if @config.showArrows { type: button, variant: ghost, size: lg, icon: @config.nextIcon, aria-label: "Next slide", action: GO_TO, actionPayload: { index: (if @config.loop (math/wrap (+ @entity.slideIndex 1) 0 @n) (math/min (- @n 1) (+ @entity.slideIndex 1))) }, disabled: (and (== @config.loop false) (>= @entity.slideIndex (- @n 1))) } null)))
87
87
  ]
88
88
  }, (if @config.showProgress {
89
89
  type: stack
@@ -40,10 +40,7 @@ orbital StepFlowOrbital {
40
40
  (fetch StepFlowView {
41
41
  emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
42
42
  })
43
- (render-ui main {
44
- title: "Loading review…"
45
- type: loading-state
46
- })
43
+ (render-ui main { type: skeleton, variant: card })
47
44
  StepItemsLoaded -> running
48
45
  (set @entity.id (object/get (array/nth ?data 0) id))
49
46
  (set @entity.currentStepIndex 0)
@@ -270,10 +267,7 @@ orbital StepFlowOrbital {
270
267
  (fetch StepFlowView {
271
268
  emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
272
269
  })
273
- (render-ui main {
274
- title: "Restarting…"
275
- type: loading-state
276
- })
270
+ (render-ui main { type: skeleton, variant: card })
277
271
  }
278
272
 
279
273
  state rejected {
@@ -284,10 +278,7 @@ orbital StepFlowOrbital {
284
278
  (fetch StepFlowView {
285
279
  emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
286
280
  })
287
- (render-ui main {
288
- title: "Restarting…"
289
- type: loading-state
290
- })
281
+ (render-ui main { type: skeleton, variant: card })
291
282
  }
292
283
 
293
284
  state escalated {
@@ -297,10 +288,7 @@ orbital StepFlowOrbital {
297
288
  (fetch StepFlowView {
298
289
  emit: { failure: StepItemsLoadFailed, success: StepItemsLoaded }
299
290
  })
300
- (render-ui main {
301
- title: "Restarting…"
302
- type: loading-state
303
- })
291
+ (render-ui main { type: skeleton, variant: card })
304
292
  }
305
293
 
306
294
  state error {