@almadar/std 16.179.0 → 16.181.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 (28) hide show
  1. package/behaviors/lolo/ui/core/atoms/std-detail-layout.lolo +82 -0
  2. package/behaviors/lolo/ui/core/atoms/ui-badge.lolo +1 -9
  3. package/behaviors/lolo/ui/core/atoms/ui-filter-pill.lolo +2 -25
  4. package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +20 -2
  5. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +6 -0
  6. package/behaviors/lolo/ui/game/atoms/ui-trait-slot.lolo +2 -36
  7. package/behaviors/registry/ui/core/atoms/std-detail-layout.orb +265 -0
  8. package/behaviors/registry/ui/core/atoms/ui-badge.orb +1 -38
  9. package/behaviors/registry/ui/core/atoms/ui-filter-pill.orb +2 -90
  10. package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +55 -17
  11. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +8 -0
  12. package/behaviors/registry/ui/game/atoms/ui-trait-slot.orb +2 -101
  13. package/canonical-operators.json +14 -2
  14. package/dist/behaviors/exports-reader.js +2519 -2467
  15. package/dist/behaviors/functions/index.d.ts +91 -29
  16. package/dist/behaviors/functions/index.js +2517 -2468
  17. package/dist/behaviors/index.d.ts +1 -1
  18. package/dist/behaviors/index.js +2520 -2468
  19. package/dist/behaviors/query.js +2519 -2467
  20. package/dist/behaviors-embeddings.hash.json +3 -3
  21. package/dist/behaviors-embeddings.json +299 -291
  22. package/dist/behaviors-registry.json +556 -133
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +2520 -2468
  25. package/dist/knob-embeddings.hash.json +3 -3
  26. package/dist/knob-embeddings.json +1 -1
  27. package/dist/registry/factory-signatures.json +1 -1
  28. package/package.json +2 -2
@@ -37,24 +37,6 @@
37
37
  "parent": "trt_01KXG04JXPQ231AMD3EVKSSHJR",
38
38
  "renames": []
39
39
  },
40
- "evt_01KXG04JXT6FZMZ9FPVEM3JED7": {
41
- "bakedName": "REMOVE",
42
- "curName": "REMOVE",
43
- "id": "evt_01KXG04JXT6FZMZ9FPVEM3JED7",
44
- "kind": "event",
45
- "owner": "workspace",
46
- "parent": "trt_01KXG04JXPQ231AMD3EVKSSHJR",
47
- "renames": []
48
- },
49
- "evt_01KXG04JXTE1XAKYA826T36T27": {
50
- "bakedName": "@config.onRemove",
51
- "curName": "@config.onRemove",
52
- "id": "evt_01KXG04JXTE1XAKYA826T36T27",
53
- "kind": "event",
54
- "owner": "workspace",
55
- "parent": "trt_01KXG04JXPQ231AMD3EVKSSHJR",
56
- "renames": []
57
- },
58
40
  "orb_01KXG04JXP8CEQBB782E2BTKKB": {
59
41
  "bakedName": "FilterPillOrbital",
60
42
  "curName": "FilterPillOrbital",
@@ -153,7 +135,7 @@
153
135
  "type": "string"
154
136
  },
155
137
  "onRemove": {
156
- "default": "REMOVE",
138
+ "default": "",
157
139
  "description": "Called when the user clicks the remove (×) button",
158
140
  "label": "On Remove",
159
141
  "tier": "presentation",
@@ -167,7 +149,7 @@
167
149
  "type": "boolean"
168
150
  },
169
151
  "removeEvent": {
170
- "default": "REMOVE",
152
+ "default": "",
171
153
  "description": "Event name dispatched via event bus when the remove (×) button is clicked. Payload: { label }",
172
154
  "label": "Remove Event",
173
155
  "tier": "presentation",
@@ -204,20 +186,6 @@
204
186
  }
205
187
  },
206
188
  "emits": [
207
- {
208
- "description": "Called when the user clicks the remove (×) button",
209
- "event": "@config.onRemove",
210
- "eventId": "evt_01KXG04JXTE1XAKYA826T36T27",
211
- "payloadSchema": [
212
- {
213
- "name": "label",
214
- "required": true,
215
- "type": "string"
216
- }
217
- ],
218
- "scope": "external",
219
- "tier": "essential"
220
- },
221
189
  {
222
190
  "description": "Click handler for the body of the pill (filter toggle)",
223
191
  "event": "@config.onClick",
@@ -255,18 +223,6 @@
255
223
  "key": "INIT",
256
224
  "name": "Initialize"
257
225
  },
258
- {
259
- "id": "evt_01KXG04JXT6FZMZ9FPVEM3JED7",
260
- "key": "REMOVE",
261
- "name": "Remove",
262
- "payloadSchema": [
263
- {
264
- "name": "label",
265
- "required": true,
266
- "type": "string"
267
- }
268
- ]
269
- },
270
226
  {
271
227
  "id": "evt_01KXG04JXT46MJ76EJ607RB563",
272
228
  "key": "CLICK",
@@ -279,20 +235,6 @@
279
235
  }
280
236
  ]
281
237
  },
282
- {
283
- "description": "Called when the user clicks the remove (×) button",
284
- "id": "evt_01KXG04JXTE1XAKYA826T36T27",
285
- "key": "@config.onRemove",
286
- "name": "@config.on remove",
287
- "payloadSchema": [
288
- {
289
- "name": "label",
290
- "required": true,
291
- "type": "string"
292
- }
293
- ],
294
- "tier": "essential"
295
- },
296
238
  {
297
239
  "description": "Click handler for the body of the pill (filter toggle)",
298
240
  "id": "evt_01KXG04JXT2CWA0Z099RECHPWV",
@@ -345,36 +287,6 @@
345
287
  "from": "idle",
346
288
  "to": "idle"
347
289
  },
348
- {
349
- "effects": [
350
- [
351
- "set",
352
- "@entity.label",
353
- "@payload.label"
354
- ],
355
- [
356
- "render-ui",
357
- "main",
358
- {
359
- "className": "@config.className",
360
- "clickEvent": "@config.clickEvent",
361
- "icon": "@config.icon",
362
- "label": "@entity.label",
363
- "onClick": "@config.onClick",
364
- "onRemove": "@config.onRemove",
365
- "removable": "@config.removable",
366
- "removeEvent": "@config.removeEvent",
367
- "size": "@config.size",
368
- "type": "filter-pill",
369
- "variant": "@config.variant"
370
- }
371
- ]
372
- ],
373
- "event": "REMOVE",
374
- "eventId": "evt_01KXG04JXT6FZMZ9FPVEM3JED7",
375
- "from": "idle",
376
- "to": "idle"
377
- },
378
290
  {
379
291
  "effects": [
380
292
  [
@@ -19,6 +19,15 @@
19
19
  "parent": "trt_01KXG04MX6C96QT73HKMXSSXW9",
20
20
  "renames": []
21
21
  },
22
+ "evt_01M0HZ7JXZT1B3WE2JVP75FDGK": {
23
+ "bakedName": "@config.itemEvent",
24
+ "curName": "@config.itemEvent",
25
+ "id": "evt_01M0HZ7JXZT1B3WE2JVP75FDGK",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01KXG04MX6C96QT73HKMXSSXW9",
29
+ "renames": []
30
+ },
22
31
  "orb_01KXG04MX6C39A82D7NECQJ0X8": {
23
32
  "bakedName": "BreadcrumbOrbital",
24
33
  "curName": "BreadcrumbOrbital",
@@ -86,24 +95,23 @@
86
95
  "tier": "presentation",
87
96
  "type": "string"
88
97
  },
98
+ "fromNavStack": {
99
+ "default": false,
100
+ "description": "Render the current orbital's navigation stack (NavStackProvider) as the trail: one crumb per visited/declared level, last entry current. The stack is client-session state both execution paths maintain; outside a provider this renders nothing.",
101
+ "label": "From Nav Stack",
102
+ "tier": "presentation",
103
+ "type": "boolean"
104
+ },
105
+ "itemEvent": {
106
+ "default": "ITEM",
107
+ "description": "Event emitted when a non-current crumb is clicked, with payload `{ label, href, index }` — the trait handles it with `(navigate ?href)`. Without it, stack crumbs navigate directly.",
108
+ "label": "Item Event",
109
+ "tier": "presentation",
110
+ "type": "string"
111
+ },
89
112
  "items": {
90
- "default": [
91
- {
92
- "href": "Href",
93
- "icon": "circle",
94
- "isCurrent": false,
95
- "label": "Label",
96
- "path": "Path"
97
- },
98
- {
99
- "href": "Href 2",
100
- "icon": "circle",
101
- "isCurrent": true,
102
- "label": "Label 2",
103
- "path": "Path 2"
104
- }
105
- ],
106
- "description": "Breadcrumb items",
113
+ "default": [],
114
+ "description": "Breadcrumb items. Omit together with `fromNavStack` to render the orbital-scoped navigation stack instead of an authored trail.",
107
115
  "items": {
108
116
  "properties": {
109
117
  "event": {
@@ -156,6 +164,21 @@
156
164
  "type": "icon"
157
165
  }
158
166
  },
167
+ "emits": [
168
+ {
169
+ "description": "Event emitted when a non-current crumb is clicked, with payload `{ label, href, index }` — the trait handles it with `(navigate ?href)`. Without it, stack crumbs navigate directly.",
170
+ "event": "@config.itemEvent",
171
+ "eventId": "evt_01M0HZ7JXZT1B3WE2JVP75FDGK",
172
+ "payloadSchema": [
173
+ {
174
+ "name": "id",
175
+ "type": "string"
176
+ }
177
+ ],
178
+ "scope": "external",
179
+ "tier": "essential"
180
+ }
181
+ ],
159
182
  "entityContract": {
160
183
  "provides": [],
161
184
  "requires": []
@@ -175,6 +198,19 @@
175
198
  "id": "evt_01KXG04MX61JX4AMH0MQK0YQ6W",
176
199
  "key": "INIT",
177
200
  "name": "Initialize"
201
+ },
202
+ {
203
+ "description": "Event emitted when a non-current crumb is clicked, with payload `{ label, href, index }` — the trait handles it with `(navigate ?href)`. Without it, stack crumbs navigate directly.",
204
+ "id": "evt_01M0HZ7JXZT1B3WE2JVP75FDGK",
205
+ "key": "@config.itemEvent",
206
+ "name": "@config.item event",
207
+ "payloadSchema": [
208
+ {
209
+ "name": "id",
210
+ "type": "string"
211
+ }
212
+ ],
213
+ "tier": "essential"
178
214
  }
179
215
  ],
180
216
  "states": [
@@ -191,6 +227,8 @@
191
227
  "main",
192
228
  {
193
229
  "className": "@config.className",
230
+ "fromNavStack": "@config.fromNavStack",
231
+ "itemEvent": "@config.itemEvent",
194
232
  "items": "@config.items",
195
233
  "maxItems": "@config.maxItems",
196
234
  "separator": "@config.separator",
@@ -315,6 +315,12 @@
315
315
  "tier": "presentation",
316
316
  "type": "boolean"
317
317
  },
318
+ "maxInlineActions": {
319
+ "description": "Max inline action buttons before the rest collapse into a '⋯' overflow menu (mirrors DataGrid's maxInlineActions). Omit = all inline.",
320
+ "label": "Max Inline Actions",
321
+ "tier": "presentation",
322
+ "type": "number"
323
+ },
318
324
  "mode": {
319
325
  "description": "Display mode (passed by compiler)",
320
326
  "label": "Mode",
@@ -609,6 +615,7 @@
609
615
  "footer": "@config.footer",
610
616
  "initialData": "@entity",
611
617
  "isLoading": "@config.isLoading",
618
+ "maxInlineActions": "@config.maxInlineActions",
612
619
  "mode": "@config.mode",
613
620
  "page": "@config.pageProp",
614
621
  "pageSize": "@config.pageSize",
@@ -654,6 +661,7 @@
654
661
  "footer": "@config.footer",
655
662
  "initialData": "@payload.data",
656
663
  "isLoading": "@config.isLoading",
664
+ "maxInlineActions": "@config.maxInlineActions",
657
665
  "mode": "@config.mode",
658
666
  "page": "@config.pageProp",
659
667
  "pageSize": "@config.pageSize",
@@ -19,24 +19,6 @@
19
19
  "parent": "trt_01M055GPHABDTBHZ52E8SBD0RK",
20
20
  "renames": []
21
21
  },
22
- "evt_01M055GPHB0ETADQFZMSVPH57Z": {
23
- "bakedName": "REMOVE",
24
- "curName": "REMOVE",
25
- "id": "evt_01M055GPHB0ETADQFZMSVPH57Z",
26
- "kind": "event",
27
- "owner": "workspace",
28
- "parent": "trt_01M055GPHABDTBHZ52E8SBD0RK",
29
- "renames": []
30
- },
31
- "evt_01M055GPHB4MTS6QY6X1G67VMS": {
32
- "bakedName": "@config.onRemove",
33
- "curName": "@config.onRemove",
34
- "id": "evt_01M055GPHB4MTS6QY6X1G67VMS",
35
- "kind": "event",
36
- "owner": "workspace",
37
- "parent": "trt_01M055GPHABDTBHZ52E8SBD0RK",
38
- "renames": []
39
- },
40
22
  "evt_01M055GPHB635J0W15V724EWKQ": {
41
23
  "bakedName": "@config.dropEvent",
42
24
  "curName": "@config.dropEvent",
@@ -411,14 +393,14 @@
411
393
  "type": "string"
412
394
  },
413
395
  "onRemove": {
414
- "default": "REMOVE",
396
+ "default": "",
415
397
  "description": "Remove handler",
416
398
  "label": "On Remove",
417
399
  "tier": "presentation",
418
400
  "type": "string"
419
401
  },
420
402
  "removeEvent": {
421
- "default": "REMOVE",
403
+ "default": "",
422
404
  "description": "Emits UI:{removeEvent} with { slotNumber }",
423
405
  "label": "Remove Event",
424
406
  "tier": "presentation",
@@ -759,20 +741,6 @@
759
741
  "scope": "external",
760
742
  "tier": "essential"
761
743
  },
762
- {
763
- "description": "Remove handler",
764
- "event": "@config.onRemove",
765
- "eventId": "evt_01M055GPHB4MTS6QY6X1G67VMS",
766
- "payloadSchema": [
767
- {
768
- "name": "slotNumber",
769
- "required": true,
770
- "type": "number"
771
- }
772
- ],
773
- "scope": "external",
774
- "tier": "essential"
775
- },
776
744
  {
777
745
  "description": "Emits UI:{dropEvent} with { slotNumber, itemId } when an item is dropped into this slot",
778
746
  "event": "@config.dropEvent",
@@ -827,18 +795,6 @@
827
795
  }
828
796
  ]
829
797
  },
830
- {
831
- "id": "evt_01M055GPHB0ETADQFZMSVPH57Z",
832
- "key": "REMOVE",
833
- "name": "Remove",
834
- "payloadSchema": [
835
- {
836
- "name": "slotNumber",
837
- "required": true,
838
- "type": "number"
839
- }
840
- ]
841
- },
842
798
  {
843
799
  "id": "evt_01M055GPHBWR5CHPCS4X7Z9JV2",
844
800
  "key": "DROP",
@@ -1068,20 +1024,6 @@
1068
1024
  ],
1069
1025
  "tier": "essential"
1070
1026
  },
1071
- {
1072
- "description": "Remove handler",
1073
- "id": "evt_01M055GPHB4MTS6QY6X1G67VMS",
1074
- "key": "@config.onRemove",
1075
- "name": "@config.on remove",
1076
- "payloadSchema": [
1077
- {
1078
- "name": "slotNumber",
1079
- "required": true,
1080
- "type": "number"
1081
- }
1082
- ],
1083
- "tier": "essential"
1084
- },
1085
1027
  {
1086
1028
  "description": "Emits UI:{dropEvent} with { slotNumber, itemId } when an item is dropped into this slot",
1087
1029
  "id": "evt_01M055GPHB635J0W15V724EWKQ",
@@ -1191,47 +1133,6 @@
1191
1133
  "from": "idle",
1192
1134
  "to": "idle"
1193
1135
  },
1194
- {
1195
- "effects": [
1196
- [
1197
- "set",
1198
- "@entity.slotNumber",
1199
- "@payload.slotNumber"
1200
- ],
1201
- [
1202
- "render-ui",
1203
- "main",
1204
- {
1205
- "categoryColors": "@config.categoryColors",
1206
- "className": "@config.className",
1207
- "clickEvent": "@config.clickEvent",
1208
- "draggable": "@config.draggable",
1209
- "dropEvent": "@config.dropEvent",
1210
- "equippedItem": "@config.equippedItem",
1211
- "error": "@config.error",
1212
- "feedback": "@config.feedback",
1213
- "isLoading": "@config.isLoading",
1214
- "lockLabel": "@config.lockLabel",
1215
- "locked": "@config.locked",
1216
- "onClick": "@config.onClick",
1217
- "onDragStart": "@config.onDragStart",
1218
- "onItemDrop": "@config.onItemDrop",
1219
- "onRemove": "@config.onRemove",
1220
- "removeEvent": "@config.removeEvent",
1221
- "selected": "@config.selected",
1222
- "showTooltip": "@config.showTooltip",
1223
- "size": "@config.size",
1224
- "slotNumber": "@entity.slotNumber",
1225
- "tooltipFrameUrl": "@config.tooltipFrameUrl",
1226
- "type": "trait-slot"
1227
- }
1228
- ]
1229
- ],
1230
- "event": "REMOVE",
1231
- "eventId": "evt_01M055GPHB0ETADQFZMSVPH57Z",
1232
- "from": "idle",
1233
- "to": "idle"
1234
- },
1235
1136
  {
1236
1137
  "effects": [
1237
1138
  [
@@ -1929,15 +1929,27 @@
1929
1929
  "navigate": {
1930
1930
  "category": "effect",
1931
1931
  "minArity": 1,
1932
- "maxArity": 2,
1932
+ "maxArity": 3,
1933
1933
  "returnType": "void",
1934
- "description": "Navigate to a route",
1934
+ "description": "Navigate to a route: (navigate path payload? options?) — options carries { crumb } labelling the navigation-stack entry for the target page",
1935
1935
  "module": "core",
1936
1936
  "hasSideEffects": true,
1937
1937
  "effect": {
1938
1938
  "kind": "navigate"
1939
1939
  }
1940
1940
  },
1941
+ "navigate-back": {
1942
+ "category": "effect",
1943
+ "minArity": 0,
1944
+ "maxArity": 0,
1945
+ "returnType": "void",
1946
+ "description": "Pop the orbital-scoped navigation stack and return to the previous entry",
1947
+ "module": "core",
1948
+ "hasSideEffects": true,
1949
+ "effect": {
1950
+ "kind": "navigate-back"
1951
+ }
1952
+ },
1941
1953
  "nn/batchnorm": {
1942
1954
  "category": "ml-arch",
1943
1955
  "minArity": 1,