@almadar/std 16.183.0 → 16.185.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 (44) hide show
  1. package/behaviors/lolo/ui/core/.hand-authored.json +4 -0
  2. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +11 -0
  3. package/behaviors/lolo/ui/core/atoms/std-related.lolo +86 -9
  4. package/behaviors/lolo/ui/core/atoms/std-rich-editor.lolo +368 -1
  5. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +62 -2
  6. package/behaviors/lolo/ui/core/atoms/std-thread.lolo +43 -2
  7. package/behaviors/lolo/ui/core/atoms/std-tree.lolo +247 -0
  8. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +110 -2
  9. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +18 -2
  10. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +12 -2
  11. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +2 -2
  12. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +2 -2
  13. package/behaviors/lolo/ui/game/atoms/std-tutorial-autodemo.lolo +136 -0
  14. package/behaviors/lolo/ui/game/atoms/std-tutorial-overlay.lolo +41 -8
  15. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +3 -3
  16. package/behaviors/registry/ui/core/atoms/std-browse.orb +17 -0
  17. package/behaviors/registry/ui/core/atoms/std-related.orb +256 -3
  18. package/behaviors/registry/ui/core/atoms/std-rich-editor.orb +898 -1
  19. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +240 -8
  20. package/behaviors/registry/ui/core/atoms/std-thread.orb +254 -4
  21. package/behaviors/registry/ui/core/atoms/std-tree.orb +656 -0
  22. package/behaviors/registry/ui/core/atoms/std-version-history.orb +479 -6
  23. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +43 -19
  24. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +37 -3
  25. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +8 -2
  26. package/behaviors/registry/ui/core/organisms/ui-form.orb +8 -2
  27. package/behaviors/registry/ui/game/atoms/std-tutorial-autodemo.orb +732 -0
  28. package/behaviors/registry/ui/game/atoms/std-tutorial-overlay.orb +305 -153
  29. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +26 -0
  30. package/dist/behaviors/exports-reader.js +5132 -2398
  31. package/dist/behaviors/functions/index.d.ts +261 -44
  32. package/dist/behaviors/functions/index.js +5118 -2396
  33. package/dist/behaviors/index.d.ts +1 -1
  34. package/dist/behaviors/index.js +5133 -2399
  35. package/dist/behaviors/query.js +5132 -2398
  36. package/dist/behaviors-embeddings.hash.json +3 -3
  37. package/dist/behaviors-embeddings.json +310 -302
  38. package/dist/behaviors-registry.json +820 -35
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.js +5133 -2399
  41. package/dist/knob-embeddings.hash.json +3 -3
  42. package/dist/knob-embeddings.json +1 -1
  43. package/dist/registry/factory-signatures.json +1 -1
  44. package/package.json +2 -2
@@ -102,6 +102,38 @@
102
102
  "tier": "presentation",
103
103
  "type": "number"
104
104
  },
105
+ "items": {
106
+ "default": [],
107
+ "description": "Flat node list, nested by `parentId` at render time — takes precedence over `tree` when provided. A `parentId` with no matching row renders that node as a root rather than dropping it.",
108
+ "items": {
109
+ "properties": {
110
+ "icon": {
111
+ "name": "icon",
112
+ "required": false,
113
+ "type": "string"
114
+ },
115
+ "id": {
116
+ "name": "id",
117
+ "required": true,
118
+ "type": "string"
119
+ },
120
+ "label": {
121
+ "name": "label",
122
+ "required": true,
123
+ "type": "string"
124
+ },
125
+ "parentId": {
126
+ "name": "parentId",
127
+ "required": false,
128
+ "type": "string"
129
+ }
130
+ },
131
+ "type": "object"
132
+ },
133
+ "label": "Items",
134
+ "tier": "presentation",
135
+ "type": "[FileTreeItemsItem]"
136
+ },
105
137
  "onFileSelect": {
106
138
  "default": "FILE_SELECT",
107
139
  "description": "Called when a file is clicked",
@@ -109,6 +141,13 @@
109
141
  "tier": "presentation",
110
142
  "type": "string"
111
143
  },
144
+ "onNodeSelect": {
145
+ "default": "",
146
+ "description": "Called when a node is clicked, in flat `items` mode; carries the selected node's id. Presence-gated: binding this prop is what turns on the click-to-select affordance, mirroring Badge's `onRemove`.",
147
+ "label": "On Node Select",
148
+ "tier": "presentation",
149
+ "type": "string"
150
+ },
112
151
  "selectedPath": {
113
152
  "description": "Currently selected file path",
114
153
  "label": "Selected Path",
@@ -116,25 +155,8 @@
116
155
  "type": "string"
117
156
  },
118
157
  "tree": {
119
- "default": [
120
- {
121
- "children": [],
122
- "language": "Language",
123
- "name": "Name",
124
- "path": "Path",
125
- "size": 1.0,
126
- "type": "file"
127
- },
128
- {
129
- "children": [],
130
- "language": "Language 2",
131
- "name": "Name 2",
132
- "path": "Path 2",
133
- "size": 2.0,
134
- "type": "dir"
135
- }
136
- ],
137
- "description": "The tree data",
158
+ "default": [],
159
+ "description": "The tree data (pre-nested). Ignored when `items` is provided.",
138
160
  "items": {
139
161
  "properties": {
140
162
  "children": {
@@ -246,7 +268,9 @@
246
268
  {
247
269
  "className": "@config.className",
248
270
  "indent": "@config.indent",
271
+ "items": "@config.items",
249
272
  "onFileSelect": "@config.onFileSelect",
273
+ "onNodeSelect": "@config.onNodeSelect",
250
274
  "selectedPath": "@config.selectedPath",
251
275
  "tree": "@config.tree",
252
276
  "type": "file-tree"
@@ -246,7 +246,10 @@
246
246
  {
247
247
  "header": "Header",
248
248
  "key": "Key",
249
- "relation": "Relation",
249
+ "relation": {
250
+ "cardinality": "one",
251
+ "entity": "Entity"
252
+ },
250
253
  "type": "Type",
251
254
  "values": [
252
255
  "Item",
@@ -256,7 +259,10 @@
256
259
  {
257
260
  "header": "Header 2",
258
261
  "key": "Key 2",
259
- "relation": "Relation 2",
262
+ "relation": {
263
+ "cardinality": "many",
264
+ "entity": "Entity 2"
265
+ },
260
266
  "type": "Type 2",
261
267
  "values": [
262
268
  "Item",
@@ -279,8 +285,27 @@
279
285
  },
280
286
  "relation": {
281
287
  "name": "relation",
288
+ "properties": {
289
+ "cardinality": {
290
+ "name": "cardinality",
291
+ "required": false,
292
+ "type": "string",
293
+ "values": [
294
+ "one",
295
+ "many",
296
+ "one-to-many",
297
+ "many-to-one",
298
+ "many-to-many"
299
+ ]
300
+ },
301
+ "entity": {
302
+ "name": "entity",
303
+ "required": true,
304
+ "type": "string"
305
+ }
306
+ },
282
307
  "required": false,
283
- "type": "string"
308
+ "type": "object"
284
309
  },
285
310
  "type": {
286
311
  "name": "type",
@@ -328,6 +353,13 @@
328
353
  "tier": "presentation",
329
354
  "type": "string"
330
355
  },
356
+ "onTitleCommit": {
357
+ "default": "",
358
+ "description": "When bound, the title becomes editable in place: clicking it swaps the heading for an input, Enter or blur commits, Escape reverts. Receives the committed title and the record's id so the host can persist a partial update. Unbound, the title stays a plain heading.",
359
+ "label": "On Title Commit",
360
+ "tier": "presentation",
361
+ "type": "string"
362
+ },
331
363
  "pageProp": {
332
364
  "description": "Current page number",
333
365
  "label": "Page",
@@ -619,6 +651,7 @@
619
651
  "isLoading": "@config.isLoading",
620
652
  "maxInlineActions": "@config.maxInlineActions",
621
653
  "mode": "@config.mode",
654
+ "onTitleCommit": "@config.onTitleCommit",
622
655
  "page": "@config.pageProp",
623
656
  "pageSize": "@config.pageSize",
624
657
  "position": "@config.position",
@@ -665,6 +698,7 @@
665
698
  "isLoading": "@config.isLoading",
666
699
  "maxInlineActions": "@config.maxInlineActions",
667
700
  "mode": "@config.mode",
701
+ "onTitleCommit": "@config.onTitleCommit",
668
702
  "page": "@config.pageProp",
669
703
  "pageSize": "@config.pageSize",
670
704
  "position": "@config.position",
@@ -432,7 +432,10 @@
432
432
  "type": "string",
433
433
  "values": [
434
434
  "one",
435
- "many"
435
+ "many",
436
+ "one-to-many",
437
+ "many-to-one",
438
+ "many-to-many"
436
439
  ]
437
440
  },
438
441
  "displayField": {
@@ -738,7 +741,10 @@
738
741
  "type": "string",
739
742
  "values": [
740
743
  "one",
741
- "many"
744
+ "many",
745
+ "one-to-many",
746
+ "many-to-one",
747
+ "many-to-many"
742
748
  ]
743
749
  },
744
750
  "displayField": {
@@ -432,7 +432,10 @@
432
432
  "type": "string",
433
433
  "values": [
434
434
  "one",
435
- "many"
435
+ "many",
436
+ "one-to-many",
437
+ "many-to-one",
438
+ "many-to-many"
436
439
  ]
437
440
  },
438
441
  "displayField": {
@@ -738,7 +741,10 @@
738
741
  "type": "string",
739
742
  "values": [
740
743
  "one",
741
- "many"
744
+ "many",
745
+ "one-to-many",
746
+ "many-to-one",
747
+ "many-to-many"
742
748
  ]
743
749
  },
744
750
  "displayField": {