@almadar/std 16.234.0 → 16.236.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 (245) hide show
  1. package/behaviors/behaviors-registry.json +4402 -1898
  2. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +25 -41
  3. package/behaviors/lolo/infra/atoms/std-audit-capture.lolo +0 -5
  4. package/behaviors/lolo/infra/atoms/std-cache-aside.lolo +0 -24
  5. package/behaviors/lolo/infra/atoms/std-circuit-breaker.lolo +1 -17
  6. package/behaviors/lolo/infra/atoms/std-data-erasure.lolo +17 -24
  7. package/behaviors/lolo/infra/atoms/std-data-import.lolo +8 -11
  8. package/behaviors/lolo/infra/atoms/std-game-clock.lolo +2 -0
  9. package/behaviors/lolo/infra/atoms/std-knowledge-loop.lolo +0 -5
  10. package/behaviors/lolo/infra/atoms/std-lifecycle.lolo +3 -1
  11. package/behaviors/lolo/infra/atoms/std-mod-queue.lolo +40 -18
  12. package/behaviors/lolo/infra/atoms/std-notification-preferences.lolo +20 -11
  13. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +0 -5
  14. package/behaviors/lolo/infra/atoms/std-permission-matrix.lolo +23 -11
  15. package/behaviors/lolo/infra/atoms/std-rate-limiter.lolo +84 -22
  16. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +1 -6
  17. package/behaviors/lolo/ml/atoms/std-graph-builder.lolo +3 -1
  18. package/behaviors/lolo/ml/atoms/std-ml-classify.lolo +0 -4
  19. package/behaviors/lolo/ml/atoms/std-ml-similarity.lolo +0 -4
  20. package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +12 -0
  21. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +55 -9
  22. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +6 -2
  23. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +19 -14
  24. package/behaviors/lolo/ui/core/atoms/std-board.lolo +77 -27
  25. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +44 -28
  26. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +7 -3
  27. package/behaviors/lolo/ui/core/atoms/std-esign-flow.lolo +25 -13
  28. package/behaviors/lolo/ui/core/atoms/std-esign-request.lolo +5 -0
  29. package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +0 -5
  30. package/behaviors/lolo/ui/core/atoms/std-export.lolo +0 -10
  31. package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +7 -3
  32. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +1 -6
  33. package/behaviors/lolo/ui/core/atoms/std-geosearch.lolo +1 -0
  34. package/behaviors/lolo/ui/core/atoms/std-graphs.lolo +20 -4
  35. package/behaviors/lolo/ui/core/atoms/std-import.lolo +0 -5
  36. package/behaviors/lolo/ui/core/atoms/std-list.lolo +46 -32
  37. package/behaviors/lolo/ui/core/atoms/std-modal-editor.lolo +2 -2
  38. package/behaviors/lolo/ui/core/atoms/std-rating-review.lolo +12 -13
  39. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +16 -12
  40. package/behaviors/lolo/ui/core/atoms/std-recurrence.lolo +10 -1
  41. package/behaviors/lolo/ui/core/atoms/std-role-gate.lolo +39 -0
  42. package/behaviors/lolo/ui/core/atoms/std-saved-search.lolo +78 -16
  43. package/behaviors/lolo/ui/core/atoms/std-selection.lolo +15 -10
  44. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +5 -5
  45. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +3 -0
  46. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +41 -73
  47. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +20 -11
  48. package/behaviors/lolo/ui/core/atoms/std-vote.lolo +0 -4
  49. package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +3 -3
  50. package/behaviors/lolo/ui/core/atoms/ui-presence.lolo +21 -0
  51. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +6 -1
  52. package/behaviors/lolo/ui/core/molecules/ui-chart.lolo +11 -1
  53. package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +13 -8
  54. package/behaviors/lolo/ui/core/molecules/ui-command-palette.lolo +7 -2
  55. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +2 -2
  56. package/behaviors/lolo/ui/core/molecules/ui-confirm-dialog.lolo +8 -0
  57. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +41 -3
  58. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +41 -3
  59. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +30 -9
  60. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +8 -3
  61. package/behaviors/lolo/ui/core/molecules/ui-document-viewer.lolo +6 -1
  62. package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +13 -0
  63. package/behaviors/lolo/ui/core/molecules/ui-floating-action-button.lolo +6 -1
  64. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +6 -1
  65. package/behaviors/lolo/ui/core/molecules/ui-form-actions.lolo +6 -1
  66. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +6 -1
  67. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +6 -1
  68. package/behaviors/lolo/ui/core/molecules/ui-meter.lolo +6 -1
  69. package/behaviors/lolo/ui/core/molecules/ui-modal.lolo +5 -0
  70. package/behaviors/lolo/ui/core/molecules/ui-page-header.lolo +11 -1
  71. package/behaviors/lolo/ui/core/molecules/ui-page-transition.lolo +1 -1
  72. package/behaviors/lolo/ui/core/molecules/ui-swipeable-row.lolo +44 -15
  73. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +41 -3
  74. package/behaviors/lolo/ui/core/molecules/ui-tabs.lolo +8 -2
  75. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +66 -12
  76. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +9 -3
  77. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +9 -3
  78. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +18 -9
  79. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +55 -10
  80. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +55 -10
  81. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +8 -3
  82. package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +12 -0
  83. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +8 -3
  84. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +2 -44
  85. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +6 -1
  86. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +2 -37
  87. package/behaviors/lolo/ui/game/atoms/ui-game-menu.lolo +8 -2
  88. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +2 -2
  89. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +0 -4
  90. package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +2 -66
  91. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +0 -4
  92. package/behaviors/lolo/ui/game/organisms/std-worldmap-board-2d.lolo +0 -4
  93. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +6 -6
  94. package/behaviors/lolo-behavior-contracts.json +1 -1
  95. package/behaviors/registry/factory-signatures.json +1 -1
  96. package/behaviors/registry/infra/atoms/std-approval-gate.orb +124 -67
  97. package/behaviors/registry/infra/atoms/std-audit-capture.orb +0 -8
  98. package/behaviors/registry/infra/atoms/std-cache-aside.orb +0 -84
  99. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +1 -44
  100. package/behaviors/registry/infra/atoms/std-data-erasure.orb +124 -55
  101. package/behaviors/registry/infra/atoms/std-data-import.orb +12 -11
  102. package/behaviors/registry/infra/atoms/std-game-clock.orb +31 -0
  103. package/behaviors/registry/infra/atoms/std-knowledge-loop.orb +0 -57
  104. package/behaviors/registry/infra/atoms/std-lifecycle.orb +43 -0
  105. package/behaviors/registry/infra/atoms/std-mod-queue.orb +379 -103
  106. package/behaviors/registry/infra/atoms/std-notification-preferences.orb +126 -12
  107. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +0 -11
  108. package/behaviors/registry/infra/atoms/std-permission-matrix.orb +128 -12
  109. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +287 -72
  110. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +5 -8
  111. package/behaviors/registry/ml/atoms/std-graph-builder.orb +11 -0
  112. package/behaviors/registry/ml/atoms/std-ml-classify.orb +0 -7
  113. package/behaviors/registry/ml/atoms/std-ml-similarity.orb +0 -7
  114. package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +82 -0
  115. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +417 -9
  116. package/behaviors/registry/ui/core/atoms/std-app-search.orb +53 -1
  117. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +209 -19
  118. package/behaviors/registry/ui/core/atoms/std-board.orb +242 -61
  119. package/behaviors/registry/ui/core/atoms/std-browse.orb +295 -41
  120. package/behaviors/registry/ui/core/atoms/std-calendar.orb +96 -2
  121. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +122 -15
  122. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +11 -0
  123. package/behaviors/registry/ui/core/atoms/std-event-log.orb +0 -8
  124. package/behaviors/registry/ui/core/atoms/std-export.orb +0 -16
  125. package/behaviors/registry/ui/core/atoms/std-file-store.orb +109 -2
  126. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +1 -43
  127. package/behaviors/registry/ui/core/atoms/std-geosearch.orb +5 -0
  128. package/behaviors/registry/ui/core/atoms/std-graphs.orb +173 -66
  129. package/behaviors/registry/ui/core/atoms/std-import.orb +0 -8
  130. package/behaviors/registry/ui/core/atoms/std-list.orb +226 -34
  131. package/behaviors/registry/ui/core/atoms/std-modal-editor.orb +10 -1
  132. package/behaviors/registry/ui/core/atoms/std-rating-review.orb +37 -19
  133. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +204 -11
  134. package/behaviors/registry/ui/core/atoms/std-recurrence.orb +89 -4
  135. package/behaviors/registry/ui/core/atoms/std-role-gate.orb +217 -0
  136. package/behaviors/registry/ui/core/atoms/std-saved-search.orb +419 -19
  137. package/behaviors/registry/ui/core/atoms/std-selection.orb +140 -10
  138. package/behaviors/registry/ui/core/atoms/std-stats.orb +73 -1
  139. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +3 -0
  140. package/behaviors/registry/ui/core/atoms/std-thread.orb +190 -115
  141. package/behaviors/registry/ui/core/atoms/std-version-history.orb +127 -13
  142. package/behaviors/registry/ui/core/atoms/std-vote.orb +0 -9
  143. package/behaviors/registry/ui/core/atoms/std-wizard.orb +33 -3
  144. package/behaviors/registry/ui/core/atoms/ui-presence.orb +59 -0
  145. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +53 -1
  146. package/behaviors/registry/ui/core/molecules/ui-chart.orb +68 -1
  147. package/behaviors/registry/ui/core/molecules/ui-code-block.orb +291 -8
  148. package/behaviors/registry/ui/core/molecules/ui-command-palette.orb +87 -2
  149. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +3 -2
  150. package/behaviors/registry/ui/core/molecules/ui-confirm-dialog.orb +32 -0
  151. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +189 -3
  152. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +189 -3
  153. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +81 -24
  154. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +121 -3
  155. package/behaviors/registry/ui/core/molecules/ui-document-viewer.orb +53 -1
  156. package/behaviors/registry/ui/core/molecules/ui-drawer.orb +40 -0
  157. package/behaviors/registry/ui/core/molecules/ui-floating-action-button.orb +53 -1
  158. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +53 -1
  159. package/behaviors/registry/ui/core/molecules/ui-form-actions.orb +53 -1
  160. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +53 -1
  161. package/behaviors/registry/ui/core/molecules/ui-menu.orb +57 -1
  162. package/behaviors/registry/ui/core/molecules/ui-meter.orb +53 -1
  163. package/behaviors/registry/ui/core/molecules/ui-modal.orb +8 -0
  164. package/behaviors/registry/ui/core/molecules/ui-page-header.orb +60 -1
  165. package/behaviors/registry/ui/core/molecules/ui-page-transition.orb +1 -1
  166. package/behaviors/registry/ui/core/molecules/ui-swipeable-row.orb +393 -23
  167. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +189 -3
  168. package/behaviors/registry/ui/core/molecules/ui-tabs.orb +99 -2
  169. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +282 -20
  170. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +130 -3
  171. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +130 -3
  172. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +367 -9
  173. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +104 -13
  174. package/behaviors/registry/ui/core/organisms/ui-form.orb +104 -13
  175. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +121 -3
  176. package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +82 -0
  177. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +121 -3
  178. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +1 -172
  179. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +53 -1
  180. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +1 -116
  181. package/behaviors/registry/ui/game/atoms/ui-game-menu.orb +99 -2
  182. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +10 -0
  183. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +0 -7
  184. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +1 -807
  185. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +0 -7
  186. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +0 -7
  187. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +6 -0
  188. package/canonical-operators.json +18 -1
  189. package/dist/behaviors/exports-reader.js +7662 -3762
  190. package/dist/behaviors/functions/index.d.ts +309 -104
  191. package/dist/behaviors/functions/index.js +7651 -3762
  192. package/dist/behaviors/index.d.ts +1 -1
  193. package/dist/behaviors/index.js +7663 -3763
  194. package/dist/behaviors/query.js +7662 -3762
  195. package/dist/behaviors-embeddings.hash.json +3 -3
  196. package/dist/behaviors-embeddings.json +35 -27
  197. package/dist/behaviors-registry.json +4402 -1898
  198. package/dist/index.d.ts +3 -3
  199. package/dist/index.js +7697 -3763
  200. package/dist/knob-embeddings.hash.json +3 -3
  201. package/dist/knob-embeddings.json +612 -352
  202. package/dist/modules/anim.d.ts +1 -1
  203. package/dist/modules/array.d.ts +1 -1
  204. package/dist/modules/array.js +15 -0
  205. package/dist/modules/async.d.ts +1 -1
  206. package/dist/modules/async.js +9 -0
  207. package/dist/modules/behavior.d.ts +1 -1
  208. package/dist/modules/browser.d.ts +1 -1
  209. package/dist/modules/composition.d.ts +1 -1
  210. package/dist/modules/contract.d.ts +1 -1
  211. package/dist/modules/core.d.ts +1 -1
  212. package/dist/modules/core.js +10 -0
  213. package/dist/modules/data.d.ts +1 -1
  214. package/dist/modules/ease.d.ts +1 -1
  215. package/dist/modules/format.d.ts +1 -1
  216. package/dist/modules/geo.d.ts +1 -1
  217. package/dist/modules/graph.d.ts +1 -1
  218. package/dist/modules/grid.d.ts +1 -1
  219. package/dist/modules/index.d.ts +1 -1
  220. package/dist/modules/index.js +34 -0
  221. package/dist/modules/integration.d.ts +1 -1
  222. package/dist/modules/json.d.ts +1 -1
  223. package/dist/modules/llm.d.ts +1 -1
  224. package/dist/modules/math.d.ts +1 -1
  225. package/dist/modules/memory.d.ts +1 -1
  226. package/dist/modules/nn.d.ts +1 -1
  227. package/dist/modules/noise.d.ts +1 -1
  228. package/dist/modules/object.d.ts +1 -1
  229. package/dist/modules/os.d.ts +1 -1
  230. package/dist/modules/path.d.ts +1 -1
  231. package/dist/modules/prob.d.ts +1 -1
  232. package/dist/modules/session.d.ts +1 -1
  233. package/dist/modules/str.d.ts +1 -1
  234. package/dist/modules/tensor.d.ts +1 -1
  235. package/dist/modules/time.d.ts +1 -1
  236. package/dist/modules/trace.d.ts +1 -1
  237. package/dist/modules/train.d.ts +1 -1
  238. package/dist/modules/validate.d.ts +1 -1
  239. package/dist/modules/vector.d.ts +1 -1
  240. package/dist/modules/workspace.d.ts +1 -1
  241. package/dist/registry/factory-signatures.json +1 -1
  242. package/dist/registry.d.ts +5 -2
  243. package/dist/registry.js +55 -1
  244. package/dist/{types-DwAW4Nni.d.ts → types-DLx38UFZ.d.ts} +31 -4
  245. package/package.json +2 -2
@@ -137,6 +137,14 @@
137
137
  "required": true,
138
138
  "type": "string"
139
139
  },
140
+ "roles": {
141
+ "items": {
142
+ "type": "string"
143
+ },
144
+ "name": "roles",
145
+ "required": false,
146
+ "type": "array"
147
+ },
140
148
  "testId": {
141
149
  "name": "testId",
142
150
  "required": false,
@@ -163,6 +171,13 @@
163
171
  "top-left",
164
172
  "top-right"
165
173
  ]
174
+ },
175
+ "viewerRole": {
176
+ "default": "",
177
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
178
+ "label": "Viewer's role",
179
+ "tier": "policy",
180
+ "type": "string"
166
181
  }
167
182
  },
168
183
  "effectRow": [
@@ -207,7 +222,40 @@
207
222
  {
208
223
  "children": "@config.children",
209
224
  "className": "@config.className",
210
- "items": "@config.items",
225
+ "items": [
226
+ "array/filter",
227
+ "@config.items",
228
+ [
229
+ "fn",
230
+ "action",
231
+ [
232
+ "or",
233
+ [
234
+ "=",
235
+ [
236
+ "array/len",
237
+ [
238
+ "object/get",
239
+ "@action",
240
+ "roles",
241
+ []
242
+ ]
243
+ ],
244
+ 0.0
245
+ ],
246
+ [
247
+ "array/includes",
248
+ [
249
+ "object/get",
250
+ "@action",
251
+ "roles",
252
+ []
253
+ ],
254
+ "@config.viewerRole"
255
+ ]
256
+ ]
257
+ ]
258
+ ],
211
259
  "position": "@config.position",
212
260
  "type": "floating-toolbar"
213
261
  }
@@ -262,6 +310,10 @@
262
310
  {
263
311
  "name": "testId",
264
312
  "type": "string"
313
+ },
314
+ {
315
+ "name": "roles",
316
+ "type": "[string]"
265
317
  }
266
318
  ]
267
319
  }
@@ -252,6 +252,14 @@
252
252
  "required": false,
253
253
  "type": "string"
254
254
  },
255
+ "roles": {
256
+ "items": {
257
+ "type": "string"
258
+ },
259
+ "name": "roles",
260
+ "required": false,
261
+ "type": "array"
262
+ },
255
263
  "variant": {
256
264
  "name": "variant",
257
265
  "required": false,
@@ -275,6 +283,13 @@
275
283
  "segmented",
276
284
  "toggle"
277
285
  ]
286
+ },
287
+ "viewerRole": {
288
+ "default": "",
289
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
290
+ "label": "Viewer's role",
291
+ "tier": "policy",
292
+ "type": "string"
278
293
  }
279
294
  },
280
295
  "effectRow": [
@@ -333,7 +348,40 @@
333
348
  "look": "@config.look",
334
349
  "orientation": "@config.orientation",
335
350
  "primary": "@config.primary",
336
- "secondary": "@config.secondary",
351
+ "secondary": [
352
+ "array/filter",
353
+ "@config.secondary",
354
+ [
355
+ "fn",
356
+ "action",
357
+ [
358
+ "or",
359
+ [
360
+ "=",
361
+ [
362
+ "array/len",
363
+ [
364
+ "object/get",
365
+ "@action",
366
+ "roles",
367
+ []
368
+ ]
369
+ ],
370
+ 0.0
371
+ ],
372
+ [
373
+ "array/includes",
374
+ [
375
+ "object/get",
376
+ "@action",
377
+ "roles",
378
+ []
379
+ ],
380
+ "@config.viewerRole"
381
+ ]
382
+ ]
383
+ ]
384
+ ],
337
385
  "type": "form-actions",
338
386
  "variant": "@config.variant"
339
387
  }
@@ -429,6 +477,10 @@
429
477
  {
430
478
  "name": "variant",
431
479
  "type": "string"
480
+ },
481
+ {
482
+ "name": "roles",
483
+ "type": "[string]"
432
484
  }
433
485
  ]
434
486
  }
@@ -136,6 +136,14 @@
136
136
  "required": false,
137
137
  "type": "string"
138
138
  },
139
+ "roles": {
140
+ "items": {
141
+ "type": "string"
142
+ },
143
+ "name": "roles",
144
+ "required": false,
145
+ "type": "array"
146
+ },
139
147
  "variant": {
140
148
  "name": "variant",
141
149
  "required": false,
@@ -481,6 +489,13 @@
481
489
  "label": "Title",
482
490
  "tier": "presentation",
483
491
  "type": "string"
492
+ },
493
+ "viewerRole": {
494
+ "default": "",
495
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
496
+ "label": "Viewer's role",
497
+ "tier": "policy",
498
+ "type": "string"
484
499
  }
485
500
  },
486
501
  "effectRow": [
@@ -1051,7 +1066,40 @@
1051
1066
  "render-ui",
1052
1067
  "main",
1053
1068
  {
1054
- "actions": "@config.actions",
1069
+ "actions": [
1070
+ "array/filter",
1071
+ "@config.actions",
1072
+ [
1073
+ "fn",
1074
+ "action",
1075
+ [
1076
+ "or",
1077
+ [
1078
+ "=",
1079
+ [
1080
+ "array/len",
1081
+ [
1082
+ "object/get",
1083
+ "@action",
1084
+ "roles",
1085
+ []
1086
+ ]
1087
+ ],
1088
+ 0.0
1089
+ ],
1090
+ [
1091
+ "array/includes",
1092
+ [
1093
+ "object/get",
1094
+ "@action",
1095
+ "roles",
1096
+ []
1097
+ ],
1098
+ "@config.viewerRole"
1099
+ ]
1100
+ ]
1101
+ ]
1102
+ ],
1055
1103
  "className": "@config.className",
1056
1104
  "draggable": "@config.draggable",
1057
1105
  "edges": "@config.edges",
@@ -1106,6 +1154,10 @@
1106
1154
  {
1107
1155
  "name": "variant",
1108
1156
  "type": "string"
1157
+ },
1158
+ {
1159
+ "name": "roles",
1160
+ "type": "[string]"
1109
1161
  }
1110
1162
  ],
1111
1163
  "GraphCanvasBADGECLICKNode": [
@@ -138,6 +138,14 @@
138
138
  "required": true,
139
139
  "type": "string"
140
140
  },
141
+ "roles": {
142
+ "items": {
143
+ "type": "string"
144
+ },
145
+ "name": "roles",
146
+ "required": false,
147
+ "type": "array"
148
+ },
141
149
  "subMenu": {
142
150
  "items": {
143
151
  "type": "union",
@@ -197,6 +205,13 @@
197
205
  "label": "Trigger",
198
206
  "tier": "presentation",
199
207
  "type": "node"
208
+ },
209
+ "viewerRole": {
210
+ "default": "",
211
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
212
+ "label": "Viewer's role",
213
+ "tier": "policy",
214
+ "type": "string"
200
215
  }
201
216
  },
202
217
  "effectRow": [
@@ -242,7 +257,40 @@
242
257
  "className": "@config.className",
243
258
  "footer": "@config.footer",
244
259
  "header": "@config.header",
245
- "items": "@config.items",
260
+ "items": [
261
+ "array/filter",
262
+ "@config.items",
263
+ [
264
+ "fn",
265
+ "action",
266
+ [
267
+ "or",
268
+ [
269
+ "=",
270
+ [
271
+ "array/len",
272
+ [
273
+ "object/get",
274
+ "@action",
275
+ "roles",
276
+ []
277
+ ]
278
+ ],
279
+ 0.0
280
+ ],
281
+ [
282
+ "array/includes",
283
+ [
284
+ "object/get",
285
+ "@action",
286
+ "roles",
287
+ []
288
+ ],
289
+ "@config.viewerRole"
290
+ ]
291
+ ]
292
+ ]
293
+ ],
246
294
  "position": "@config.position",
247
295
  "trigger": "@config.trigger",
248
296
  "type": "menu"
@@ -349,9 +397,17 @@
349
397
  "name": "subMenu",
350
398
  "properties": [],
351
399
  "type": "[MenuItemsItem]"
400
+ },
401
+ {
402
+ "name": "roles",
403
+ "type": "[string]"
352
404
  }
353
405
  ],
354
406
  "type": "[object]"
407
+ },
408
+ {
409
+ "name": "roles",
410
+ "type": "[string]"
355
411
  }
356
412
  ]
357
413
  }
@@ -100,6 +100,14 @@
100
100
  "required": false,
101
101
  "type": "string"
102
102
  },
103
+ "roles": {
104
+ "items": {
105
+ "type": "string"
106
+ },
107
+ "name": "roles",
108
+ "required": false,
109
+ "type": "array"
110
+ },
103
111
  "variant": {
104
112
  "name": "variant",
105
113
  "required": false,
@@ -255,6 +263,13 @@
255
263
  "radial",
256
264
  "segmented"
257
265
  ]
266
+ },
267
+ "viewerRole": {
268
+ "default": "",
269
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
270
+ "label": "Viewer's role",
271
+ "tier": "policy",
272
+ "type": "string"
258
273
  }
259
274
  },
260
275
  "effectRow": [
@@ -297,7 +312,40 @@
297
312
  "render-ui",
298
313
  "main",
299
314
  {
300
- "actions": "@config.actions",
315
+ "actions": [
316
+ "array/filter",
317
+ "@config.actions",
318
+ [
319
+ "fn",
320
+ "action",
321
+ [
322
+ "or",
323
+ [
324
+ "=",
325
+ [
326
+ "array/len",
327
+ [
328
+ "object/get",
329
+ "@action",
330
+ "roles",
331
+ []
332
+ ]
333
+ ],
334
+ 0.0
335
+ ],
336
+ [
337
+ "array/includes",
338
+ [
339
+ "object/get",
340
+ "@action",
341
+ "roles",
342
+ []
343
+ ],
344
+ "@config.viewerRole"
345
+ ]
346
+ ]
347
+ ]
348
+ ],
301
349
  "className": "@config.className",
302
350
  "error": "@config.error",
303
351
  "isLoading": "@config.isLoading",
@@ -342,6 +390,10 @@
342
390
  {
343
391
  "name": "variant",
344
392
  "type": "string"
393
+ },
394
+ {
395
+ "name": "roles",
396
+ "type": "[string]"
345
397
  }
346
398
  ],
347
399
  "MeterError": [
@@ -150,6 +150,13 @@
150
150
  "tier": "presentation",
151
151
  "type": "boolean"
152
152
  },
153
+ "contained": {
154
+ "default": false,
155
+ "description": "Render inside the nearest positioned ancestor (a preview frame) instead of portaling over the whole window; page scroll is left alone.",
156
+ "label": "Contained",
157
+ "tier": "presentation",
158
+ "type": "boolean"
159
+ },
153
160
  "footer": {
154
161
  "description": "footer prop",
155
162
  "label": "Footer",
@@ -357,6 +364,7 @@
357
364
  "closeEvent": "@config.closeEvent",
358
365
  "closeOnEscape": "@config.closeOnEscape",
359
366
  "closeOnOverlayClick": "@config.closeOnOverlayClick",
367
+ "contained": "@config.contained",
360
368
  "footer": "@config.footer",
361
369
  "isOpen": "@config.isOpen",
362
370
  "look": "@config.look",
@@ -133,6 +133,14 @@
133
133
  "required": false,
134
134
  "type": "string"
135
135
  },
136
+ "roles": {
137
+ "items": {
138
+ "type": "string"
139
+ },
140
+ "name": "roles",
141
+ "required": false,
142
+ "type": "array"
143
+ },
136
144
  "variant": {
137
145
  "name": "variant",
138
146
  "required": false,
@@ -226,6 +234,12 @@
226
234
  "tier": "presentation",
227
235
  "type": "PageHeaderError"
228
236
  },
237
+ "icon": {
238
+ "description": "Icon shown before the title.",
239
+ "label": "Icon",
240
+ "tier": "presentation",
241
+ "type": "icon"
242
+ },
229
243
  "isLoading": {
230
244
  "description": "Loading state indicator",
231
245
  "label": "Is Loading",
@@ -309,6 +323,13 @@
309
323
  "label": "Title",
310
324
  "tier": "presentation",
311
325
  "type": "scalar"
326
+ },
327
+ "viewerRole": {
328
+ "default": "",
329
+ "description": "The viewer's role that each action's `roles` is checked against; bind it at the call site (e.g. `viewerRole: @user.role`). Empty = only actions with no `roles` show.",
330
+ "label": "Viewer's role",
331
+ "tier": "policy",
332
+ "type": "string"
312
333
  }
313
334
  },
314
335
  "effectRow": [
@@ -395,13 +416,47 @@
395
416
  "render-ui",
396
417
  "main",
397
418
  {
398
- "actions": "@config.actions",
419
+ "actions": [
420
+ "array/filter",
421
+ "@config.actions",
422
+ [
423
+ "fn",
424
+ "action",
425
+ [
426
+ "or",
427
+ [
428
+ "=",
429
+ [
430
+ "array/len",
431
+ [
432
+ "object/get",
433
+ "@action",
434
+ "roles",
435
+ []
436
+ ]
437
+ ],
438
+ 0.0
439
+ ],
440
+ [
441
+ "array/includes",
442
+ [
443
+ "object/get",
444
+ "@action",
445
+ "roles",
446
+ []
447
+ ],
448
+ "@config.viewerRole"
449
+ ]
450
+ ]
451
+ ]
452
+ ],
399
453
  "activeTab": "@config.activeTab",
400
454
  "backEvent": "@config.backEvent",
401
455
  "breadcrumbs": "@config.breadcrumbs",
402
456
  "children": "@config.children",
403
457
  "className": "@config.className",
404
458
  "error": "@config.error",
459
+ "icon": "@config.icon",
405
460
  "isLoading": "@config.isLoading",
406
461
  "onTabChange": "@config.onTabChange",
407
462
  "showBack": "@config.showBack",
@@ -452,6 +507,10 @@
452
507
  {
453
508
  "name": "disabled",
454
509
  "type": "boolean"
510
+ },
511
+ {
512
+ "name": "roles",
513
+ "type": "[string]"
455
514
  }
456
515
  ],
457
516
  "PageHeaderBreadcrumbsItem": [
@@ -94,7 +94,7 @@
94
94
  },
95
95
  "locationKey": {
96
96
  "default": "",
97
- "description": "Value that changes on navigation (e.g. `location.pathname`).",
97
+ "description": "Value that changes on navigation (a page path).",
98
98
  "label": "Location Key",
99
99
  "tier": "presentation",
100
100
  "type": "string"