@almadar/std 16.200.0 → 16.201.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 (64) hide show
  1. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +5 -0
  2. package/behaviors/lolo/ui/core/molecules/ui-floating-toolbar.lolo +54 -0
  3. package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +186 -0
  4. package/behaviors/lolo/ui/core/organisms/ui-split-pane.lolo +37 -1
  5. package/behaviors/lolo/ui/game/atoms/std-coef-pad.lolo +5 -3
  6. package/behaviors/lolo/ui/game/atoms/std-platformer-body.lolo +14 -5
  7. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +12 -0
  8. package/behaviors/registry/infra/atoms/std-approval-gate.orb +20 -10
  9. package/behaviors/registry/infra/atoms/std-cache-aside.orb +62 -31
  10. package/behaviors/registry/infra/atoms/std-circuit-breaker.orb +32 -16
  11. package/behaviors/registry/infra/atoms/std-data-erasure.orb +16 -8
  12. package/behaviors/registry/infra/atoms/std-mod-queue.orb +16 -8
  13. package/behaviors/registry/infra/atoms/std-rate-limiter.orb +28 -14
  14. package/behaviors/registry/infra/organisms/std-status-lifecycle-control.orb +2 -1
  15. package/behaviors/registry/ml/organisms/std-escalating-decision.orb +10 -5
  16. package/behaviors/registry/ml/organisms/std-knowledge-tracing.orb +4 -2
  17. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +2 -1
  18. package/behaviors/registry/ui/core/atoms/std-browse.orb +6 -3
  19. package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +2 -1
  20. package/behaviors/registry/ui/core/atoms/std-esign-flow.orb +4 -2
  21. package/behaviors/registry/ui/core/atoms/std-esign-request.orb +6 -3
  22. package/behaviors/registry/ui/core/atoms/std-export.orb +4 -2
  23. package/behaviors/registry/ui/core/atoms/std-gallery.orb +18 -9
  24. package/behaviors/registry/ui/core/atoms/std-import.orb +4 -2
  25. package/behaviors/registry/ui/core/atoms/std-list.orb +6 -3
  26. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +8 -0
  27. package/behaviors/registry/ui/core/molecules/ui-floating-toolbar.orb +274 -0
  28. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +521 -0
  29. package/behaviors/registry/ui/core/organisms/ui-split-pane.orb +109 -2
  30. package/behaviors/registry/ui/game/atoms/std-coef-pad.orb +170 -4
  31. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +84 -7
  32. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +8 -4
  33. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +6 -3
  34. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +10 -5
  35. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +8 -4
  36. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +8 -4
  37. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +6 -3
  38. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +8 -4
  39. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +12 -6
  40. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +8 -4
  41. package/behaviors/registry/ui/game/organisms/std-worldmap-board-2d.orb +6 -3
  42. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +18 -0
  43. package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +2 -1
  44. package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +2 -1
  45. package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +2 -1
  46. package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +2 -1
  47. package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +2 -1
  48. package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +2 -1
  49. package/dist/behaviors/exports-reader.js +1099 -485
  50. package/dist/behaviors/functions/index.d.ts +268 -3
  51. package/dist/behaviors/functions/index.js +1093 -486
  52. package/dist/behaviors/index.d.ts +2 -2
  53. package/dist/behaviors/index.js +1110 -486
  54. package/dist/behaviors/query.d.ts +88 -4
  55. package/dist/behaviors/query.js +1110 -486
  56. package/dist/behaviors-embeddings.hash.json +3 -3
  57. package/dist/behaviors-embeddings.json +11 -3
  58. package/dist/behaviors-registry.json +121784 -2638
  59. package/dist/index.d.ts +2 -2
  60. package/dist/index.js +1110 -486
  61. package/dist/knob-embeddings.hash.json +3 -3
  62. package/dist/knob-embeddings.json +1 -1
  63. package/dist/registry/factory-signatures.json +1 -1
  64. package/package.json +3 -3
@@ -0,0 +1,521 @@
1
+ {
2
+ "description": "DockLayout — UI factory (1:1 with the @almadar/ui dock-layout pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M1JMH80EX2T34WXWMHXFCBNA": {
6
+ "bakedName": "DockLayoutItem",
7
+ "curName": "DockLayoutItem",
8
+ "id": "ent_01M1JMH80EX2T34WXWMHXFCBNA",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M1JMH80E1T1QHWW9EH6GR8P5": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M1JMH80E1T1QHWW9EH6GR8P5",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
20
+ "renames": []
21
+ },
22
+ "evt_01M1JMH80E77DP5G44HKZR4YX7": {
23
+ "bakedName": "@config.onBottomPanelCollapsedChange",
24
+ "curName": "@config.onBottomPanelCollapsedChange",
25
+ "id": "evt_01M1JMH80E77DP5G44HKZR4YX7",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
29
+ "renames": []
30
+ },
31
+ "evt_01M1JMH80EHN4T32MAW809THGC": {
32
+ "bakedName": "@config.onBottomPanelHeightChange",
33
+ "curName": "@config.onBottomPanelHeightChange",
34
+ "id": "evt_01M1JMH80EHN4T32MAW809THGC",
35
+ "kind": "event",
36
+ "owner": "workspace",
37
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
38
+ "renames": []
39
+ },
40
+ "evt_01M1JMH80ESFPDX9DJYCFSS4R1": {
41
+ "bakedName": "@config.onSidebarWidthChange",
42
+ "curName": "@config.onSidebarWidthChange",
43
+ "id": "evt_01M1JMH80ESFPDX9DJYCFSS4R1",
44
+ "kind": "event",
45
+ "owner": "workspace",
46
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
47
+ "renames": []
48
+ },
49
+ "evt_01M1JMH80ETHHX7ZXYD68H0RM3": {
50
+ "bakedName": "@config.onSidebarCollapsedChange",
51
+ "curName": "@config.onSidebarCollapsedChange",
52
+ "id": "evt_01M1JMH80ETHHX7ZXYD68H0RM3",
53
+ "kind": "event",
54
+ "owner": "workspace",
55
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
56
+ "renames": []
57
+ },
58
+ "evt_01M1JMH80EXYMF5E5X9M9EDVNQ": {
59
+ "bakedName": "@config.onSecondarySidebarCollapsedChange",
60
+ "curName": "@config.onSecondarySidebarCollapsedChange",
61
+ "id": "evt_01M1JMH80EXYMF5E5X9M9EDVNQ",
62
+ "kind": "event",
63
+ "owner": "workspace",
64
+ "parent": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
65
+ "renames": []
66
+ },
67
+ "orb_01M1JMH80E834DKQR4Y5VPXQ3W": {
68
+ "bakedName": "DockLayoutOrbital",
69
+ "curName": "DockLayoutOrbital",
70
+ "id": "orb_01M1JMH80E834DKQR4Y5VPXQ3W",
71
+ "kind": "orbital",
72
+ "owner": "workspace",
73
+ "renames": []
74
+ },
75
+ "pag_01M1JMH80ET524GW0953SAJGG0": {
76
+ "bakedName": "DockLayoutPage",
77
+ "curName": "DockLayoutPage",
78
+ "id": "pag_01M1JMH80ET524GW0953SAJGG0",
79
+ "kind": "page",
80
+ "owner": "workspace",
81
+ "renames": []
82
+ },
83
+ "trt_01M1JMH80EFEHFZRD9GXCC10NX": {
84
+ "bakedName": "DockLayoutRender",
85
+ "curName": "DockLayoutRender",
86
+ "id": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
87
+ "kind": "trait",
88
+ "owner": "workspace",
89
+ "renames": []
90
+ }
91
+ },
92
+ "schemaVersion": 1
93
+ },
94
+ "name": "ui-dock-layout",
95
+ "orbitals": [
96
+ {
97
+ "entity": {
98
+ "fields": [
99
+ {
100
+ "name": "id",
101
+ "required": true,
102
+ "type": "string"
103
+ }
104
+ ],
105
+ "id": "ent_01M1JMH80EX2T34WXWMHXFCBNA",
106
+ "name": "DockLayoutItem",
107
+ "persistence": "runtime"
108
+ },
109
+ "id": "orb_01M1JMH80E834DKQR4Y5VPXQ3W",
110
+ "name": "DockLayoutOrbital",
111
+ "pages": [
112
+ {
113
+ "id": "pag_01M1JMH80ET524GW0953SAJGG0",
114
+ "name": "DockLayoutPage",
115
+ "path": "/dock-layout",
116
+ "traits": [
117
+ {
118
+ "ref": "DockLayoutRender",
119
+ "refId": "trt_01M1JMH80EFEHFZRD9GXCC10NX"
120
+ }
121
+ ]
122
+ }
123
+ ],
124
+ "traits": [
125
+ {
126
+ "category": "interaction",
127
+ "config": {
128
+ "bottomPanel": {
129
+ "description": "Collapsible, resizable-height bottom panel.",
130
+ "label": "Bottom Panel",
131
+ "tier": "presentation",
132
+ "type": "node"
133
+ },
134
+ "bottomPanelClassName": {
135
+ "description": "bottomPanelClassName prop",
136
+ "label": "Bottom Panel Class Name",
137
+ "tier": "presentation",
138
+ "type": "string"
139
+ },
140
+ "bottomPanelCollapsed": {
141
+ "default": false,
142
+ "description": "Whether `bottomPanel` is collapsed. @default false",
143
+ "label": "Bottom Panel Collapsed",
144
+ "tier": "presentation",
145
+ "type": "boolean"
146
+ },
147
+ "bottomPanelHeight": {
148
+ "default": 30.0,
149
+ "description": "Bottom panel size as a SplitPane ratio (0-100, percentage given to the panel). @default 30",
150
+ "label": "Bottom Panel Height",
151
+ "tier": "presentation",
152
+ "type": "number"
153
+ },
154
+ "bottomPanelMinSize": {
155
+ "default": 120.0,
156
+ "description": "Minimum bottom panel size in pixels, forwarded to SplitPane's `minSize`. @default 120",
157
+ "label": "Bottom Panel Min Size",
158
+ "tier": "presentation",
159
+ "type": "number"
160
+ },
161
+ "className": {
162
+ "description": "Additional CSS classes on the root frame.",
163
+ "label": "Class Name",
164
+ "tier": "presentation",
165
+ "type": "string"
166
+ },
167
+ "main": {
168
+ "default": [],
169
+ "description": "Required center region.",
170
+ "label": "Main",
171
+ "tier": "presentation",
172
+ "type": "node"
173
+ },
174
+ "mainClassName": {
175
+ "description": "mainClassName prop",
176
+ "label": "Main Class Name",
177
+ "tier": "presentation",
178
+ "type": "string"
179
+ },
180
+ "onBottomPanelCollapsedChange": {
181
+ "default": "BOTTOM_PANEL_COLLAPSED_CHANGE",
182
+ "description": "onBottomPanelCollapsedChange prop",
183
+ "label": "On Bottom Panel Collapsed Change",
184
+ "tier": "presentation",
185
+ "type": "event"
186
+ },
187
+ "onBottomPanelHeightChange": {
188
+ "default": "BOTTOM_PANEL_HEIGHT_CHANGE",
189
+ "description": "onBottomPanelHeightChange prop",
190
+ "label": "On Bottom Panel Height Change",
191
+ "tier": "presentation",
192
+ "type": "event"
193
+ },
194
+ "onSecondarySidebarCollapsedChange": {
195
+ "default": "SECONDARY_SIDEBAR_COLLAPSED_CHANGE",
196
+ "description": "onSecondarySidebarCollapsedChange prop",
197
+ "label": "On Secondary Sidebar Collapsed Change",
198
+ "tier": "presentation",
199
+ "type": "event"
200
+ },
201
+ "onSidebarCollapsedChange": {
202
+ "default": "SIDEBAR_COLLAPSED_CHANGE",
203
+ "description": "onSidebarCollapsedChange prop",
204
+ "label": "On Sidebar Collapsed Change",
205
+ "tier": "presentation",
206
+ "type": "event"
207
+ },
208
+ "onSidebarWidthChange": {
209
+ "default": "SIDEBAR_WIDTH_CHANGE",
210
+ "description": "onSidebarWidthChange prop",
211
+ "label": "On Sidebar Width Change",
212
+ "tier": "presentation",
213
+ "type": "event"
214
+ },
215
+ "rail": {
216
+ "description": "Fixed-width far-left vertical strip (e.g. an icon nav rail).",
217
+ "label": "Rail",
218
+ "tier": "presentation",
219
+ "type": "node"
220
+ },
221
+ "railClassName": {
222
+ "description": "railClassName prop",
223
+ "label": "Rail Class Name",
224
+ "tier": "presentation",
225
+ "type": "string"
226
+ },
227
+ "railWidth": {
228
+ "default": 56.0,
229
+ "description": "Width of `rail` in pixels. @default 56",
230
+ "label": "Rail Width",
231
+ "tier": "presentation",
232
+ "type": "number"
233
+ },
234
+ "secondarySidebar": {
235
+ "description": "Collapsible right sidebar.",
236
+ "label": "Secondary Sidebar",
237
+ "tier": "presentation",
238
+ "type": "node"
239
+ },
240
+ "secondarySidebarClassName": {
241
+ "description": "secondarySidebarClassName prop",
242
+ "label": "Secondary Sidebar Class Name",
243
+ "tier": "presentation",
244
+ "type": "string"
245
+ },
246
+ "secondarySidebarCollapsed": {
247
+ "default": false,
248
+ "description": "Whether `secondarySidebar` is collapsed. @default false",
249
+ "label": "Secondary Sidebar Collapsed",
250
+ "tier": "presentation",
251
+ "type": "boolean"
252
+ },
253
+ "secondarySidebarWidth": {
254
+ "default": 280.0,
255
+ "description": "Width of `secondarySidebar` in pixels (fixed — not resizable). @default 280",
256
+ "label": "Secondary Sidebar Width",
257
+ "tier": "presentation",
258
+ "type": "number"
259
+ },
260
+ "sidebar": {
261
+ "description": "Collapsible, resizable left sidebar.",
262
+ "label": "Sidebar",
263
+ "tier": "presentation",
264
+ "type": "node"
265
+ },
266
+ "sidebarClassName": {
267
+ "description": "sidebarClassName prop",
268
+ "label": "Sidebar Class Name",
269
+ "tier": "presentation",
270
+ "type": "string"
271
+ },
272
+ "sidebarCollapsed": {
273
+ "default": false,
274
+ "description": "Whether `sidebar` is collapsed. @default false",
275
+ "label": "Sidebar Collapsed",
276
+ "tier": "presentation",
277
+ "type": "boolean"
278
+ },
279
+ "sidebarMinSize": {
280
+ "default": 160.0,
281
+ "description": "Minimum sidebar size in pixels, forwarded to SplitPane's `minSize`. @default 160",
282
+ "label": "Sidebar Min Size",
283
+ "tier": "presentation",
284
+ "type": "number"
285
+ },
286
+ "sidebarWidth": {
287
+ "default": 20.0,
288
+ "description": "Sidebar size as a SplitPane ratio (0-100, percentage of the sidebar/main split). @default 20",
289
+ "label": "Sidebar Width",
290
+ "tier": "presentation",
291
+ "type": "number"
292
+ },
293
+ "statusBar": {
294
+ "description": "Slim strip pinned to the bottom of the frame, below the bottom panel.",
295
+ "label": "Status Bar",
296
+ "tier": "presentation",
297
+ "type": "node"
298
+ },
299
+ "statusBarClassName": {
300
+ "description": "statusBarClassName prop",
301
+ "label": "Status Bar Class Name",
302
+ "tier": "presentation",
303
+ "type": "string"
304
+ }
305
+ },
306
+ "emits": [
307
+ {
308
+ "definerKnob": "onSidebarCollapsedChange",
309
+ "description": "onSidebarCollapsedChange prop",
310
+ "event": "@config.onSidebarCollapsedChange",
311
+ "eventId": "evt_01M1JMH80ETHHX7ZXYD68H0RM3",
312
+ "payloadSchema": [
313
+ {
314
+ "name": "collapsed",
315
+ "type": "boolean"
316
+ }
317
+ ],
318
+ "scope": "external",
319
+ "tier": "essential"
320
+ },
321
+ {
322
+ "definerKnob": "onSidebarWidthChange",
323
+ "description": "onSidebarWidthChange prop",
324
+ "event": "@config.onSidebarWidthChange",
325
+ "eventId": "evt_01M1JMH80ESFPDX9DJYCFSS4R1",
326
+ "payloadSchema": [
327
+ {
328
+ "name": "width",
329
+ "type": "number"
330
+ }
331
+ ],
332
+ "scope": "external",
333
+ "tier": "essential"
334
+ },
335
+ {
336
+ "definerKnob": "onBottomPanelCollapsedChange",
337
+ "description": "onBottomPanelCollapsedChange prop",
338
+ "event": "@config.onBottomPanelCollapsedChange",
339
+ "eventId": "evt_01M1JMH80E77DP5G44HKZR4YX7",
340
+ "payloadSchema": [
341
+ {
342
+ "name": "collapsed",
343
+ "type": "boolean"
344
+ }
345
+ ],
346
+ "scope": "external",
347
+ "tier": "essential"
348
+ },
349
+ {
350
+ "definerKnob": "onBottomPanelHeightChange",
351
+ "description": "onBottomPanelHeightChange prop",
352
+ "event": "@config.onBottomPanelHeightChange",
353
+ "eventId": "evt_01M1JMH80EHN4T32MAW809THGC",
354
+ "payloadSchema": [
355
+ {
356
+ "name": "height",
357
+ "type": "number"
358
+ }
359
+ ],
360
+ "scope": "external",
361
+ "tier": "essential"
362
+ },
363
+ {
364
+ "definerKnob": "onSecondarySidebarCollapsedChange",
365
+ "description": "onSecondarySidebarCollapsedChange prop",
366
+ "event": "@config.onSecondarySidebarCollapsedChange",
367
+ "eventId": "evt_01M1JMH80EXYMF5E5X9M9EDVNQ",
368
+ "payloadSchema": [
369
+ {
370
+ "name": "collapsed",
371
+ "type": "boolean"
372
+ }
373
+ ],
374
+ "scope": "external",
375
+ "tier": "essential"
376
+ }
377
+ ],
378
+ "entityContract": {
379
+ "provides": [],
380
+ "requires": []
381
+ },
382
+ "entityRebindable": true,
383
+ "entityRefIds": {
384
+ "DockLayoutItem": "ent_01M1JMH80EX2T34WXWMHXFCBNA"
385
+ },
386
+ "id": "trt_01M1JMH80EFEHFZRD9GXCC10NX",
387
+ "linkedEntity": "DockLayoutItem",
388
+ "linkedEntityId": "ent_01M1JMH80EX2T34WXWMHXFCBNA",
389
+ "name": "DockLayoutRender",
390
+ "scope": "instance",
391
+ "stateMachine": {
392
+ "events": [
393
+ {
394
+ "id": "evt_01M1JMH80E1T1QHWW9EH6GR8P5",
395
+ "key": "INIT",
396
+ "name": "Initialize"
397
+ },
398
+ {
399
+ "description": "onSidebarCollapsedChange prop",
400
+ "id": "evt_01M1JMH80ETHHX7ZXYD68H0RM3",
401
+ "key": "@config.onSidebarCollapsedChange",
402
+ "name": "@config.on sidebar collapsed change",
403
+ "payloadSchema": [
404
+ {
405
+ "name": "collapsed",
406
+ "type": "boolean"
407
+ }
408
+ ],
409
+ "tier": "essential"
410
+ },
411
+ {
412
+ "description": "onSidebarWidthChange prop",
413
+ "id": "evt_01M1JMH80ESFPDX9DJYCFSS4R1",
414
+ "key": "@config.onSidebarWidthChange",
415
+ "name": "@config.on sidebar width change",
416
+ "payloadSchema": [
417
+ {
418
+ "name": "width",
419
+ "type": "number"
420
+ }
421
+ ],
422
+ "tier": "essential"
423
+ },
424
+ {
425
+ "description": "onBottomPanelCollapsedChange prop",
426
+ "id": "evt_01M1JMH80E77DP5G44HKZR4YX7",
427
+ "key": "@config.onBottomPanelCollapsedChange",
428
+ "name": "@config.on bottom panel collapsed change",
429
+ "payloadSchema": [
430
+ {
431
+ "name": "collapsed",
432
+ "type": "boolean"
433
+ }
434
+ ],
435
+ "tier": "essential"
436
+ },
437
+ {
438
+ "description": "onBottomPanelHeightChange prop",
439
+ "id": "evt_01M1JMH80EHN4T32MAW809THGC",
440
+ "key": "@config.onBottomPanelHeightChange",
441
+ "name": "@config.on bottom panel height change",
442
+ "payloadSchema": [
443
+ {
444
+ "name": "height",
445
+ "type": "number"
446
+ }
447
+ ],
448
+ "tier": "essential"
449
+ },
450
+ {
451
+ "description": "onSecondarySidebarCollapsedChange prop",
452
+ "id": "evt_01M1JMH80EXYMF5E5X9M9EDVNQ",
453
+ "key": "@config.onSecondarySidebarCollapsedChange",
454
+ "name": "@config.on secondary sidebar collapsed change",
455
+ "payloadSchema": [
456
+ {
457
+ "name": "collapsed",
458
+ "type": "boolean"
459
+ }
460
+ ],
461
+ "tier": "essential"
462
+ }
463
+ ],
464
+ "states": [
465
+ {
466
+ "isInitial": true,
467
+ "name": "idle"
468
+ }
469
+ ],
470
+ "transitions": [
471
+ {
472
+ "effects": [
473
+ [
474
+ "render-ui",
475
+ "main",
476
+ {
477
+ "bottomPanel": "@config.bottomPanel",
478
+ "bottomPanelClassName": "@config.bottomPanelClassName",
479
+ "bottomPanelCollapsed": "@config.bottomPanelCollapsed",
480
+ "bottomPanelHeight": "@config.bottomPanelHeight",
481
+ "bottomPanelMinSize": "@config.bottomPanelMinSize",
482
+ "className": "@config.className",
483
+ "main": "@config.main",
484
+ "mainClassName": "@config.mainClassName",
485
+ "onBottomPanelCollapsedChange": "@config.onBottomPanelCollapsedChange",
486
+ "onBottomPanelHeightChange": "@config.onBottomPanelHeightChange",
487
+ "onSecondarySidebarCollapsedChange": "@config.onSecondarySidebarCollapsedChange",
488
+ "onSidebarCollapsedChange": "@config.onSidebarCollapsedChange",
489
+ "onSidebarWidthChange": "@config.onSidebarWidthChange",
490
+ "rail": "@config.rail",
491
+ "railClassName": "@config.railClassName",
492
+ "railWidth": "@config.railWidth",
493
+ "secondarySidebar": "@config.secondarySidebar",
494
+ "secondarySidebarClassName": "@config.secondarySidebarClassName",
495
+ "secondarySidebarCollapsed": "@config.secondarySidebarCollapsed",
496
+ "secondarySidebarWidth": "@config.secondarySidebarWidth",
497
+ "sidebar": "@config.sidebar",
498
+ "sidebarClassName": "@config.sidebarClassName",
499
+ "sidebarCollapsed": "@config.sidebarCollapsed",
500
+ "sidebarMinSize": "@config.sidebarMinSize",
501
+ "sidebarWidth": "@config.sidebarWidth",
502
+ "statusBar": "@config.statusBar",
503
+ "statusBarClassName": "@config.statusBarClassName",
504
+ "type": "dock-layout"
505
+ }
506
+ ]
507
+ ],
508
+ "event": "INIT",
509
+ "eventId": "evt_01M1JMH80E1T1QHWW9EH6GR8P5",
510
+ "from": "idle",
511
+ "to": "idle"
512
+ }
513
+ ]
514
+ }
515
+ }
516
+ ]
517
+ }
518
+ ],
519
+ "schemaVersion": 1,
520
+ "version": "1.0.0"
521
+ }
@@ -19,6 +19,24 @@
19
19
  "parent": "trt_01KXG04SZQZQTYV05GPN6HEPVA",
20
20
  "renames": []
21
21
  },
22
+ "evt_01M1JMH852A3KDZRKMEBY5RZ23": {
23
+ "bakedName": "RATIO_CHANGE",
24
+ "curName": "RATIO_CHANGE",
25
+ "id": "evt_01M1JMH852A3KDZRKMEBY5RZ23",
26
+ "kind": "event",
27
+ "owner": "workspace",
28
+ "parent": "trt_01KXG04SZQZQTYV05GPN6HEPVA",
29
+ "renames": []
30
+ },
31
+ "evt_01M1JMH852AWVKHSRQDJYCBMBR": {
32
+ "bakedName": "@config.onRatioChange",
33
+ "curName": "@config.onRatioChange",
34
+ "id": "evt_01M1JMH852AWVKHSRQDJYCBMBR",
35
+ "kind": "event",
36
+ "owner": "workspace",
37
+ "parent": "trt_01KXG04SZQZQTYV05GPN6HEPVA",
38
+ "renames": []
39
+ },
22
40
  "orb_01KXG04SZQ0QSZT2WW4D62B2AK": {
23
41
  "bakedName": "SplitPaneOrbital",
24
42
  "curName": "SplitPaneOrbital",
@@ -55,6 +73,10 @@
55
73
  "name": "id",
56
74
  "required": true,
57
75
  "type": "string"
76
+ },
77
+ {
78
+ "name": "ratio",
79
+ "type": "number"
58
80
  }
59
81
  ],
60
82
  "id": "ent_01KXG04SZQ7G8R7PH46DZWE8P9",
@@ -117,6 +139,13 @@
117
139
  "tier": "presentation",
118
140
  "type": "number"
119
141
  },
142
+ "onRatioChange": {
143
+ "default": "RATIO_CHANGE",
144
+ "description": "Called with the new ratio while dragging. Providing this makes `ratio` controlled — the rendered split always tracks the prop instead of internal state, mirroring a controlled input. Omit for uncontrolled (self-tracked) behavior.",
145
+ "label": "On Ratio Change",
146
+ "tier": "presentation",
147
+ "type": "event"
148
+ },
120
149
  "ratio": {
121
150
  "description": "Initial ratio (0-100, percentage of first pane)",
122
151
  "label": "Ratio",
@@ -144,8 +173,26 @@
144
173
  "type": "string"
145
174
  }
146
175
  },
176
+ "emits": [
177
+ {
178
+ "definerKnob": "onRatioChange",
179
+ "description": "Called with the new ratio while dragging. Providing this makes `ratio` controlled — the rendered split always tracks the prop instead of internal state, mirroring a controlled input. Omit for uncontrolled (self-tracked) behavior.",
180
+ "event": "@config.onRatioChange",
181
+ "eventId": "evt_01M1JMH852AWVKHSRQDJYCBMBR",
182
+ "payloadSchema": [
183
+ {
184
+ "name": "ratio",
185
+ "type": "number"
186
+ }
187
+ ],
188
+ "scope": "external",
189
+ "tier": "essential"
190
+ }
191
+ ],
147
192
  "entityContract": {
148
- "provides": [],
193
+ "provides": [
194
+ "ratio"
195
+ ],
149
196
  "requires": []
150
197
  },
151
198
  "entityRebindable": true,
@@ -163,6 +210,30 @@
163
210
  "id": "evt_01KXG04SZQHBYQ7QDGS6TKJTVZ",
164
211
  "key": "INIT",
165
212
  "name": "Initialize"
213
+ },
214
+ {
215
+ "id": "evt_01M1JMH852A3KDZRKMEBY5RZ23",
216
+ "key": "RATIO_CHANGE",
217
+ "name": "Ratio Change",
218
+ "payloadSchema": [
219
+ {
220
+ "name": "ratio",
221
+ "type": "number"
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "description": "Called with the new ratio while dragging. Providing this makes `ratio` controlled — the rendered split always tracks the prop instead of internal state, mirroring a controlled input. Omit for uncontrolled (self-tracked) behavior.",
227
+ "id": "evt_01M1JMH852AWVKHSRQDJYCBMBR",
228
+ "key": "@config.onRatioChange",
229
+ "name": "@config.on ratio change",
230
+ "payloadSchema": [
231
+ {
232
+ "name": "ratio",
233
+ "type": "number"
234
+ }
235
+ ],
236
+ "tier": "essential"
166
237
  }
167
238
  ],
168
239
  "states": [
@@ -174,6 +245,11 @@
174
245
  "transitions": [
175
246
  {
176
247
  "effects": [
248
+ [
249
+ "set",
250
+ "@entity.ratio",
251
+ "@config.ratio"
252
+ ],
177
253
  [
178
254
  "render-ui",
179
255
  "main",
@@ -183,7 +259,8 @@
183
259
  "left": "@config.left",
184
260
  "leftClassName": "@config.leftClassName",
185
261
  "minSize": "@config.minSize",
186
- "ratio": "@config.ratio",
262
+ "onRatioChange": "@config.onRatioChange",
263
+ "ratio": "@entity.ratio",
187
264
  "resizable": "@config.resizable",
188
265
  "right": "@config.right",
189
266
  "rightClassName": "@config.rightClassName",
@@ -195,6 +272,36 @@
195
272
  "eventId": "evt_01KXG04SZQHBYQ7QDGS6TKJTVZ",
196
273
  "from": "idle",
197
274
  "to": "idle"
275
+ },
276
+ {
277
+ "effects": [
278
+ [
279
+ "set",
280
+ "@entity.ratio",
281
+ "@payload.ratio"
282
+ ],
283
+ [
284
+ "render-ui",
285
+ "main",
286
+ {
287
+ "className": "@config.className",
288
+ "direction": "@config.direction",
289
+ "left": "@config.left",
290
+ "leftClassName": "@config.leftClassName",
291
+ "minSize": "@config.minSize",
292
+ "onRatioChange": "@config.onRatioChange",
293
+ "ratio": "@entity.ratio",
294
+ "resizable": "@config.resizable",
295
+ "right": "@config.right",
296
+ "rightClassName": "@config.rightClassName",
297
+ "type": "split-pane"
298
+ }
299
+ ]
300
+ ],
301
+ "event": "RATIO_CHANGE",
302
+ "eventId": "evt_01M1JMH852A3KDZRKMEBY5RZ23",
303
+ "from": "idle",
304
+ "to": "idle"
198
305
  }
199
306
  ]
200
307
  }