@almadar/std 16.193.0 → 16.195.0

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