@almadar/std 16.192.0 → 16.193.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.
- package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +6 -0
- package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +314 -0
- package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +27 -17
- package/behaviors/lolo/ui/core/atoms/std-tree.lolo +104 -12
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +25 -0
- package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +5 -0
- package/behaviors/registry/ui/core/atoms/std-app-layout.orb +8 -0
- package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1360 -0
- package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +34 -18
- package/behaviors/registry/ui/core/atoms/std-tree.orb +427 -66
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +41 -0
- package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +7 -0
- package/dist/behaviors/exports-reader.js +2174 -1779
- package/dist/behaviors/functions/index.d.ts +160 -3
- package/dist/behaviors/functions/index.js +2172 -1780
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +2175 -1780
- package/dist/behaviors/query.js +2174 -1779
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +11 -3
- package/dist/behaviors-registry.json +590 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2175 -1780
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "std-tree — generic hierarchical node browser. Fetches a flat TreeNode collection and renders it through file-tree's flat `items` mode (parentId-nested at render time by the component, not the .lolo); OPEN_NODE is the external handoff for a selected node's id. Rebindable: pass `fields` at the call site to retarget it at any parent-pointer entity (categories, org units, comment threads). Search/filter are wired (REFETCH_QUERY/REFETCH_FILTER re-fetch the flat node set server-side); pagination is deliberately NOT offered — a hierarchy is not a paged list, and paging a flat node set would sever children from parents that fell on another page.",
|
|
2
|
+
"description": "std-tree — generic hierarchical node browser. Fetches a flat TreeNode collection and renders it through file-tree's flat `items` mode (parentId-nested at render time by the component, not the .lolo); OPEN_NODE is the external handoff for a selected node's id. Rebindable: pass `fields` at the call site to retarget it at any parent-pointer entity (categories, org units, comment threads). Search/filter are wired (REFETCH_QUERY/REFETCH_FILTER re-fetch the flat node set server-side). `look: rail` renders the compact sidebar-navigation form (slim caption, nav-styled rows) for mounting in an app layout's sidebarTrait; SET_CURRENT marks the open record so the row highlights and its ancestors auto-expand; `childAction: true` renders a hover plus-affordance per row emitting CHILD_REQUESTED { parentId } for the host's create-draft writer; pagination is deliberately NOT offered — a hierarchy is not a paged list, and paging a flat node set would sever children from parents that fell on another page.",
|
|
3
3
|
"ledger": {
|
|
4
4
|
"entries": {
|
|
5
5
|
"ent_01M0RYHNM1NXR2J5S0HK2WFDS3": {
|
|
@@ -73,6 +73,33 @@
|
|
|
73
73
|
"parent": "trt_01M0RYHNM11N15TSY0QWVC2GH5",
|
|
74
74
|
"renames": []
|
|
75
75
|
},
|
|
76
|
+
"evt_01M17BX0J64EZJWZX8502Q7135": {
|
|
77
|
+
"bakedName": "SET_CURRENT",
|
|
78
|
+
"curName": "SET_CURRENT",
|
|
79
|
+
"id": "evt_01M17BX0J64EZJWZX8502Q7135",
|
|
80
|
+
"kind": "event",
|
|
81
|
+
"owner": "workspace",
|
|
82
|
+
"parent": "trt_01M0RYHNM11N15TSY0QWVC2GH5",
|
|
83
|
+
"renames": []
|
|
84
|
+
},
|
|
85
|
+
"evt_01M17BX0J67VGXTSW2C3Y4TREX": {
|
|
86
|
+
"bakedName": "CHILD_REQUESTED",
|
|
87
|
+
"curName": "CHILD_REQUESTED",
|
|
88
|
+
"id": "evt_01M17BX0J67VGXTSW2C3Y4TREX",
|
|
89
|
+
"kind": "event",
|
|
90
|
+
"owner": "workspace",
|
|
91
|
+
"parent": "trt_01M0RYHNM11N15TSY0QWVC2GH5",
|
|
92
|
+
"renames": []
|
|
93
|
+
},
|
|
94
|
+
"evt_01M17BX0J6VTTJYK99BC6RNMVY": {
|
|
95
|
+
"bakedName": "ADD_CHILD",
|
|
96
|
+
"curName": "ADD_CHILD",
|
|
97
|
+
"id": "evt_01M17BX0J6VTTJYK99BC6RNMVY",
|
|
98
|
+
"kind": "event",
|
|
99
|
+
"owner": "workspace",
|
|
100
|
+
"parent": "trt_01M0RYHNM11N15TSY0QWVC2GH5",
|
|
101
|
+
"renames": []
|
|
102
|
+
},
|
|
76
103
|
"orb_01M0RYHNM15ZXYERAB9GSZFAZE": {
|
|
77
104
|
"bakedName": "TreeNodeOrbital",
|
|
78
105
|
"curName": "TreeNodeOrbital",
|
|
@@ -168,6 +195,21 @@
|
|
|
168
195
|
"tier": "presentation",
|
|
169
196
|
"type": "boolean"
|
|
170
197
|
},
|
|
198
|
+
"childAction": {
|
|
199
|
+
"default": false,
|
|
200
|
+
"description": "Render a hover + on every row that emits CHILD_REQUESTED { parentId } — wire it to the host's create-draft writer so new records are born inside the node.",
|
|
201
|
+
"label": "Row + affordance?",
|
|
202
|
+
"synonyms": "add inside, new subpage button, plus on rows",
|
|
203
|
+
"tier": "domain",
|
|
204
|
+
"type": "boolean"
|
|
205
|
+
},
|
|
206
|
+
"childActionLabel": {
|
|
207
|
+
"default": "Add inside",
|
|
208
|
+
"description": "Accessible label on the row's + affordance (e.g. New subpage).",
|
|
209
|
+
"label": "Row + tooltip",
|
|
210
|
+
"tier": "presentation",
|
|
211
|
+
"type": "string"
|
|
212
|
+
},
|
|
171
213
|
"filterBarLook": {
|
|
172
214
|
"default": "toolbar",
|
|
173
215
|
"description": "Visual treatment for the embedded filter bar, mirroring std-filter's own enum. Only applies when `filters` is non-empty.",
|
|
@@ -214,6 +256,42 @@
|
|
|
214
256
|
"tier": "presentation",
|
|
215
257
|
"type": "[FilterSpec]"
|
|
216
258
|
},
|
|
259
|
+
"iconField": {
|
|
260
|
+
"default": "icon",
|
|
261
|
+
"description": "Entity field holding each node's icon name; point it at a nonexistent field (or empty) to suppress per-node icons.",
|
|
262
|
+
"label": "Icon column",
|
|
263
|
+
"synonyms": "glyph field, icon column",
|
|
264
|
+
"tier": "presentation",
|
|
265
|
+
"type": "string"
|
|
266
|
+
},
|
|
267
|
+
"labelField": {
|
|
268
|
+
"default": "name",
|
|
269
|
+
"description": "Entity field rendered as each node's label. Config-driven on purpose: the trait-level `fields {}` remap is compiled-path-only (the JS runtime never applies it), so a rebind names its columns here and both execution paths agree.",
|
|
270
|
+
"label": "Label column",
|
|
271
|
+
"synonyms": "title field, name column, display field",
|
|
272
|
+
"tier": "domain",
|
|
273
|
+
"type": "string"
|
|
274
|
+
},
|
|
275
|
+
"look": {
|
|
276
|
+
"default": "full",
|
|
277
|
+
"description": "full = standalone section (heading, count, divider); rail = compact sidebar navigation (slim caption, nav-styled rows) for an app layout's sidebarTrait slot.",
|
|
278
|
+
"label": "Tree look",
|
|
279
|
+
"synonyms": "sidebar tree, rail look, nav tree, compact",
|
|
280
|
+
"tier": "presentation",
|
|
281
|
+
"type": "string",
|
|
282
|
+
"values": [
|
|
283
|
+
"full",
|
|
284
|
+
"rail"
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
"parentField": {
|
|
288
|
+
"default": "parentId",
|
|
289
|
+
"description": "Entity field holding the parent reference the hierarchy nests by.",
|
|
290
|
+
"label": "Parent column",
|
|
291
|
+
"synonyms": "parent id field, hierarchy column",
|
|
292
|
+
"tier": "domain",
|
|
293
|
+
"type": "string"
|
|
294
|
+
},
|
|
217
295
|
"searchPlaceholder": {
|
|
218
296
|
"default": "Search…",
|
|
219
297
|
"description": "Hint text inside the tree search box (e.g. 'Search nodes…').",
|
|
@@ -245,6 +323,21 @@
|
|
|
245
323
|
"synonyms": "select, choose, open, activate",
|
|
246
324
|
"tier": "domain"
|
|
247
325
|
},
|
|
326
|
+
{
|
|
327
|
+
"description": "Create a new record under this node — the host routes it into its create-draft writer with parentId stamped.",
|
|
328
|
+
"event": "CHILD_REQUESTED",
|
|
329
|
+
"eventId": "evt_01M17BX0J67VGXTSW2C3Y4TREX",
|
|
330
|
+
"payloadSchema": [
|
|
331
|
+
{
|
|
332
|
+
"name": "parentId",
|
|
333
|
+
"required": true,
|
|
334
|
+
"type": "string"
|
|
335
|
+
}
|
|
336
|
+
],
|
|
337
|
+
"scope": "external",
|
|
338
|
+
"synonyms": "new subpage, add child page, create under",
|
|
339
|
+
"tier": "domain"
|
|
340
|
+
},
|
|
248
341
|
{
|
|
249
342
|
"description": "Indicates the tree node collection has been successfully retrieved.",
|
|
250
343
|
"event": "TreeNodeLoaded",
|
|
@@ -291,6 +384,21 @@
|
|
|
291
384
|
"scope": "collection",
|
|
292
385
|
"stateMachine": {
|
|
293
386
|
"events": [
|
|
387
|
+
{
|
|
388
|
+
"description": "Mark this record as the open one (routed from the host document's load events); its row highlights and its ancestors auto-expand.",
|
|
389
|
+
"id": "evt_01M17BX0J64EZJWZX8502Q7135",
|
|
390
|
+
"key": "SET_CURRENT",
|
|
391
|
+
"name": "Set Current",
|
|
392
|
+
"payloadSchema": [
|
|
393
|
+
{
|
|
394
|
+
"name": "id",
|
|
395
|
+
"required": true,
|
|
396
|
+
"type": "string"
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"synonyms": "highlight current, select node, you are here",
|
|
400
|
+
"tier": "domain"
|
|
401
|
+
},
|
|
294
402
|
{
|
|
295
403
|
"id": "evt_01M0RYHNM178W08KQ2SQ8BBXTK",
|
|
296
404
|
"key": "INIT",
|
|
@@ -378,10 +486,40 @@
|
|
|
378
486
|
"synonyms": "select, choose, open, activate",
|
|
379
487
|
"tier": "domain"
|
|
380
488
|
},
|
|
489
|
+
{
|
|
490
|
+
"description": "The row's hover + affordance was clicked.",
|
|
491
|
+
"id": "evt_01M17BX0J6VTTJYK99BC6RNMVY",
|
|
492
|
+
"key": "ADD_CHILD",
|
|
493
|
+
"name": "Add Child",
|
|
494
|
+
"payloadSchema": [
|
|
495
|
+
{
|
|
496
|
+
"name": "id",
|
|
497
|
+
"required": true,
|
|
498
|
+
"type": "string"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"synonyms": "add inside, new child",
|
|
502
|
+
"tier": "presentation"
|
|
503
|
+
},
|
|
381
504
|
{
|
|
382
505
|
"id": "evt_01M0RYHNM5HX05GFM20W62NCPC",
|
|
383
506
|
"key": "RETRY",
|
|
384
507
|
"name": "Retry"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"description": "Create a new record under this node — the host routes it into its create-draft writer with parentId stamped.",
|
|
511
|
+
"id": "evt_01M17BX0J67VGXTSW2C3Y4TREX",
|
|
512
|
+
"key": "CHILD_REQUESTED",
|
|
513
|
+
"name": "Child Requested",
|
|
514
|
+
"payloadSchema": [
|
|
515
|
+
{
|
|
516
|
+
"name": "parentId",
|
|
517
|
+
"required": true,
|
|
518
|
+
"type": "string"
|
|
519
|
+
}
|
|
520
|
+
],
|
|
521
|
+
"synonyms": "new subpage, add child page, create under",
|
|
522
|
+
"tier": "domain"
|
|
385
523
|
}
|
|
386
524
|
],
|
|
387
525
|
"states": [
|
|
@@ -397,6 +535,29 @@
|
|
|
397
535
|
}
|
|
398
536
|
],
|
|
399
537
|
"transitions": [
|
|
538
|
+
{
|
|
539
|
+
"effects": [
|
|
540
|
+
[
|
|
541
|
+
"set",
|
|
542
|
+
"@entity.id",
|
|
543
|
+
"@payload.id"
|
|
544
|
+
],
|
|
545
|
+
[
|
|
546
|
+
"fetch",
|
|
547
|
+
"TreeNode",
|
|
548
|
+
{
|
|
549
|
+
"emit": {
|
|
550
|
+
"failure": "TreeNodeLoadFailed",
|
|
551
|
+
"success": "TreeNodeLoaded"
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
]
|
|
555
|
+
],
|
|
556
|
+
"event": "SET_CURRENT",
|
|
557
|
+
"eventId": "evt_01M17BX0J64EZJWZX8502Q7135",
|
|
558
|
+
"from": "loading",
|
|
559
|
+
"to": "loading"
|
|
560
|
+
},
|
|
400
561
|
{
|
|
401
562
|
"effects": [
|
|
402
563
|
[
|
|
@@ -444,35 +605,63 @@
|
|
|
444
605
|
"main",
|
|
445
606
|
{
|
|
446
607
|
"children": [
|
|
447
|
-
|
|
448
|
-
"
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
},
|
|
454
|
-
{
|
|
455
|
-
"content": "@config.title",
|
|
456
|
-
"type": "typography",
|
|
457
|
-
"variant": "h3"
|
|
458
|
-
},
|
|
459
|
-
{
|
|
460
|
-
"label": [
|
|
461
|
-
"array/len",
|
|
462
|
-
"@payload.data"
|
|
463
|
-
],
|
|
464
|
-
"size": "sm",
|
|
465
|
-
"type": "badge",
|
|
466
|
-
"variant": "neutral"
|
|
467
|
-
}
|
|
608
|
+
[
|
|
609
|
+
"if",
|
|
610
|
+
[
|
|
611
|
+
"=",
|
|
612
|
+
"@config.look",
|
|
613
|
+
"rail"
|
|
468
614
|
],
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
615
|
+
{
|
|
616
|
+
"className": "px-2 pb-1 uppercase tracking-wide",
|
|
617
|
+
"color": "muted",
|
|
618
|
+
"content": "@config.title",
|
|
619
|
+
"type": "typography",
|
|
620
|
+
"variant": "caption"
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
"align": "center",
|
|
624
|
+
"children": [
|
|
625
|
+
{
|
|
626
|
+
"name": "list-tree",
|
|
627
|
+
"type": "icon"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"content": "@config.title",
|
|
631
|
+
"type": "typography",
|
|
632
|
+
"variant": "h3"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"label": [
|
|
636
|
+
"array/len",
|
|
637
|
+
"@payload.data"
|
|
638
|
+
],
|
|
639
|
+
"size": "sm",
|
|
640
|
+
"type": "badge",
|
|
641
|
+
"variant": "neutral"
|
|
642
|
+
}
|
|
643
|
+
],
|
|
644
|
+
"direction": "horizontal",
|
|
645
|
+
"gap": "sm",
|
|
646
|
+
"type": "stack"
|
|
647
|
+
}
|
|
648
|
+
],
|
|
649
|
+
[
|
|
650
|
+
"if",
|
|
651
|
+
[
|
|
652
|
+
"=",
|
|
653
|
+
"@config.look",
|
|
654
|
+
"rail"
|
|
655
|
+
],
|
|
656
|
+
{
|
|
657
|
+
"children": [],
|
|
658
|
+
"gap": "none",
|
|
659
|
+
"type": "stack"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"type": "divider"
|
|
663
|
+
}
|
|
664
|
+
],
|
|
476
665
|
[
|
|
477
666
|
"if",
|
|
478
667
|
"@config.bodySearch",
|
|
@@ -534,14 +723,65 @@
|
|
|
534
723
|
"fn",
|
|
535
724
|
"row",
|
|
536
725
|
{
|
|
537
|
-
"icon":
|
|
726
|
+
"icon": [
|
|
727
|
+
"str/default",
|
|
728
|
+
[
|
|
729
|
+
"object/get",
|
|
730
|
+
"@row",
|
|
731
|
+
"@config.iconField"
|
|
732
|
+
],
|
|
733
|
+
""
|
|
734
|
+
],
|
|
538
735
|
"id": "@row.id",
|
|
539
|
-
"label":
|
|
540
|
-
|
|
736
|
+
"label": [
|
|
737
|
+
"str/default",
|
|
738
|
+
[
|
|
739
|
+
"object/get",
|
|
740
|
+
"@row",
|
|
741
|
+
"@config.labelField"
|
|
742
|
+
],
|
|
743
|
+
""
|
|
744
|
+
],
|
|
745
|
+
"parentId": [
|
|
746
|
+
"str/default",
|
|
747
|
+
[
|
|
748
|
+
"object/get",
|
|
749
|
+
"@row",
|
|
750
|
+
"@config.parentField"
|
|
751
|
+
],
|
|
752
|
+
""
|
|
753
|
+
]
|
|
541
754
|
}
|
|
542
755
|
]
|
|
543
756
|
],
|
|
757
|
+
"look": [
|
|
758
|
+
"if",
|
|
759
|
+
[
|
|
760
|
+
"=",
|
|
761
|
+
"@config.look",
|
|
762
|
+
"rail"
|
|
763
|
+
],
|
|
764
|
+
"nav",
|
|
765
|
+
"files"
|
|
766
|
+
],
|
|
767
|
+
"nodeActionIcon": "plus",
|
|
768
|
+
"nodeActionLabel": "@config.childActionLabel",
|
|
769
|
+
"onNodeAction": [
|
|
770
|
+
"if",
|
|
771
|
+
"@config.childAction",
|
|
772
|
+
"ADD_CHILD",
|
|
773
|
+
null
|
|
774
|
+
],
|
|
544
775
|
"onNodeSelect": "OPEN_NODE",
|
|
776
|
+
"selectedId": [
|
|
777
|
+
"str/default",
|
|
778
|
+
[
|
|
779
|
+
"object/get",
|
|
780
|
+
"@entity",
|
|
781
|
+
"id"
|
|
782
|
+
],
|
|
783
|
+
""
|
|
784
|
+
],
|
|
545
785
|
"type": "file-tree"
|
|
546
786
|
}
|
|
547
787
|
],
|
|
@@ -660,9 +900,13 @@
|
|
|
660
900
|
[
|
|
661
901
|
"str/includes",
|
|
662
902
|
[
|
|
663
|
-
"
|
|
664
|
-
|
|
665
|
-
|
|
903
|
+
"str/default",
|
|
904
|
+
[
|
|
905
|
+
"object/get",
|
|
906
|
+
"@entity",
|
|
907
|
+
"@config.labelField"
|
|
908
|
+
],
|
|
909
|
+
""
|
|
666
910
|
],
|
|
667
911
|
"@payload.searchTerm"
|
|
668
912
|
]
|
|
@@ -723,6 +967,44 @@
|
|
|
723
967
|
"from": "browsing",
|
|
724
968
|
"to": "browsing"
|
|
725
969
|
},
|
|
970
|
+
{
|
|
971
|
+
"effects": [
|
|
972
|
+
[
|
|
973
|
+
"set",
|
|
974
|
+
"@entity.id",
|
|
975
|
+
"@payload.id"
|
|
976
|
+
],
|
|
977
|
+
[
|
|
978
|
+
"fetch",
|
|
979
|
+
"TreeNode",
|
|
980
|
+
{
|
|
981
|
+
"emit": {
|
|
982
|
+
"failure": "TreeNodeLoadFailed",
|
|
983
|
+
"success": "TreeNodeLoaded"
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
]
|
|
987
|
+
],
|
|
988
|
+
"event": "SET_CURRENT",
|
|
989
|
+
"eventId": "evt_01M17BX0J64EZJWZX8502Q7135",
|
|
990
|
+
"from": "browsing",
|
|
991
|
+
"to": "browsing"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"effects": [
|
|
995
|
+
[
|
|
996
|
+
"emit",
|
|
997
|
+
"CHILD_REQUESTED",
|
|
998
|
+
{
|
|
999
|
+
"parentId": "@payload.id"
|
|
1000
|
+
}
|
|
1001
|
+
]
|
|
1002
|
+
],
|
|
1003
|
+
"event": "ADD_CHILD",
|
|
1004
|
+
"eventId": "evt_01M17BX0J6VTTJYK99BC6RNMVY",
|
|
1005
|
+
"from": "browsing",
|
|
1006
|
+
"to": "browsing"
|
|
1007
|
+
},
|
|
726
1008
|
{
|
|
727
1009
|
"effects": [
|
|
728
1010
|
[
|
|
@@ -730,35 +1012,63 @@
|
|
|
730
1012
|
"main",
|
|
731
1013
|
{
|
|
732
1014
|
"children": [
|
|
733
|
-
|
|
734
|
-
"
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
},
|
|
740
|
-
{
|
|
741
|
-
"content": "@config.title",
|
|
742
|
-
"type": "typography",
|
|
743
|
-
"variant": "h3"
|
|
744
|
-
},
|
|
745
|
-
{
|
|
746
|
-
"label": [
|
|
747
|
-
"array/len",
|
|
748
|
-
"@payload.data"
|
|
749
|
-
],
|
|
750
|
-
"size": "sm",
|
|
751
|
-
"type": "badge",
|
|
752
|
-
"variant": "neutral"
|
|
753
|
-
}
|
|
1015
|
+
[
|
|
1016
|
+
"if",
|
|
1017
|
+
[
|
|
1018
|
+
"=",
|
|
1019
|
+
"@config.look",
|
|
1020
|
+
"rail"
|
|
754
1021
|
],
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
1022
|
+
{
|
|
1023
|
+
"className": "px-2 pb-1 uppercase tracking-wide",
|
|
1024
|
+
"color": "muted",
|
|
1025
|
+
"content": "@config.title",
|
|
1026
|
+
"type": "typography",
|
|
1027
|
+
"variant": "caption"
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"align": "center",
|
|
1031
|
+
"children": [
|
|
1032
|
+
{
|
|
1033
|
+
"name": "list-tree",
|
|
1034
|
+
"type": "icon"
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"content": "@config.title",
|
|
1038
|
+
"type": "typography",
|
|
1039
|
+
"variant": "h3"
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"label": [
|
|
1043
|
+
"array/len",
|
|
1044
|
+
"@payload.data"
|
|
1045
|
+
],
|
|
1046
|
+
"size": "sm",
|
|
1047
|
+
"type": "badge",
|
|
1048
|
+
"variant": "neutral"
|
|
1049
|
+
}
|
|
1050
|
+
],
|
|
1051
|
+
"direction": "horizontal",
|
|
1052
|
+
"gap": "sm",
|
|
1053
|
+
"type": "stack"
|
|
1054
|
+
}
|
|
1055
|
+
],
|
|
1056
|
+
[
|
|
1057
|
+
"if",
|
|
1058
|
+
[
|
|
1059
|
+
"=",
|
|
1060
|
+
"@config.look",
|
|
1061
|
+
"rail"
|
|
1062
|
+
],
|
|
1063
|
+
{
|
|
1064
|
+
"children": [],
|
|
1065
|
+
"gap": "none",
|
|
1066
|
+
"type": "stack"
|
|
1067
|
+
},
|
|
1068
|
+
{
|
|
1069
|
+
"type": "divider"
|
|
1070
|
+
}
|
|
1071
|
+
],
|
|
762
1072
|
[
|
|
763
1073
|
"if",
|
|
764
1074
|
"@config.bodySearch",
|
|
@@ -820,14 +1130,65 @@
|
|
|
820
1130
|
"fn",
|
|
821
1131
|
"row",
|
|
822
1132
|
{
|
|
823
|
-
"icon":
|
|
1133
|
+
"icon": [
|
|
1134
|
+
"str/default",
|
|
1135
|
+
[
|
|
1136
|
+
"object/get",
|
|
1137
|
+
"@row",
|
|
1138
|
+
"@config.iconField"
|
|
1139
|
+
],
|
|
1140
|
+
""
|
|
1141
|
+
],
|
|
824
1142
|
"id": "@row.id",
|
|
825
|
-
"label":
|
|
826
|
-
|
|
1143
|
+
"label": [
|
|
1144
|
+
"str/default",
|
|
1145
|
+
[
|
|
1146
|
+
"object/get",
|
|
1147
|
+
"@row",
|
|
1148
|
+
"@config.labelField"
|
|
1149
|
+
],
|
|
1150
|
+
""
|
|
1151
|
+
],
|
|
1152
|
+
"parentId": [
|
|
1153
|
+
"str/default",
|
|
1154
|
+
[
|
|
1155
|
+
"object/get",
|
|
1156
|
+
"@row",
|
|
1157
|
+
"@config.parentField"
|
|
1158
|
+
],
|
|
1159
|
+
""
|
|
1160
|
+
]
|
|
827
1161
|
}
|
|
828
1162
|
]
|
|
829
1163
|
],
|
|
1164
|
+
"look": [
|
|
1165
|
+
"if",
|
|
1166
|
+
[
|
|
1167
|
+
"=",
|
|
1168
|
+
"@config.look",
|
|
1169
|
+
"rail"
|
|
1170
|
+
],
|
|
1171
|
+
"nav",
|
|
1172
|
+
"files"
|
|
1173
|
+
],
|
|
1174
|
+
"nodeActionIcon": "plus",
|
|
1175
|
+
"nodeActionLabel": "@config.childActionLabel",
|
|
1176
|
+
"onNodeAction": [
|
|
1177
|
+
"if",
|
|
1178
|
+
"@config.childAction",
|
|
1179
|
+
"ADD_CHILD",
|
|
1180
|
+
null
|
|
1181
|
+
],
|
|
830
1182
|
"onNodeSelect": "OPEN_NODE",
|
|
1183
|
+
"selectedId": [
|
|
1184
|
+
"str/default",
|
|
1185
|
+
[
|
|
1186
|
+
"object/get",
|
|
1187
|
+
"@entity",
|
|
1188
|
+
"id"
|
|
1189
|
+
],
|
|
1190
|
+
""
|
|
1191
|
+
],
|
|
831
1192
|
"type": "file-tree"
|
|
832
1193
|
}
|
|
833
1194
|
],
|
|
@@ -134,6 +134,29 @@
|
|
|
134
134
|
"tier": "presentation",
|
|
135
135
|
"type": "[FileTreeItemsItem]"
|
|
136
136
|
},
|
|
137
|
+
"look": {
|
|
138
|
+
"default": "files",
|
|
139
|
+
"description": "Visual treatment for flat `items` mode: `files` (default) keeps the monospace file-browser look; `nav` renders a sidebar navigation tree — regular font, document icons, roomier hit areas.",
|
|
140
|
+
"label": "Look",
|
|
141
|
+
"tier": "presentation",
|
|
142
|
+
"type": "string",
|
|
143
|
+
"values": [
|
|
144
|
+
"files",
|
|
145
|
+
"nav"
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
"nodeActionIcon": {
|
|
149
|
+
"description": "Icon for the row hover action (default: plus).",
|
|
150
|
+
"label": "Node Action Icon",
|
|
151
|
+
"tier": "presentation",
|
|
152
|
+
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
"nodeActionLabel": {
|
|
155
|
+
"description": "Accessible label/tooltip for the row hover action.",
|
|
156
|
+
"label": "Node Action Label",
|
|
157
|
+
"tier": "presentation",
|
|
158
|
+
"type": "string"
|
|
159
|
+
},
|
|
137
160
|
"onFileSelect": {
|
|
138
161
|
"default": "FILE_SELECT",
|
|
139
162
|
"description": "Called when a file is clicked",
|
|
@@ -141,6 +164,13 @@
|
|
|
141
164
|
"tier": "presentation",
|
|
142
165
|
"type": "string"
|
|
143
166
|
},
|
|
167
|
+
"onNodeAction": {
|
|
168
|
+
"default": "",
|
|
169
|
+
"description": "Called from the row's hover action button, in flat `items` mode; carries that node's id. Presence-gated: binding it renders the action.",
|
|
170
|
+
"label": "On Node Action",
|
|
171
|
+
"tier": "presentation",
|
|
172
|
+
"type": "string"
|
|
173
|
+
},
|
|
144
174
|
"onNodeSelect": {
|
|
145
175
|
"default": "",
|
|
146
176
|
"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`.",
|
|
@@ -148,6 +178,12 @@
|
|
|
148
178
|
"tier": "presentation",
|
|
149
179
|
"type": "string"
|
|
150
180
|
},
|
|
181
|
+
"selectedId": {
|
|
182
|
+
"description": "Currently selected node id, in flat `items` mode: the row highlights and every ancestor auto-expands so the selection is always visible — the 'you are here' a navigation tree needs.",
|
|
183
|
+
"label": "Selected Id",
|
|
184
|
+
"tier": "presentation",
|
|
185
|
+
"type": "string"
|
|
186
|
+
},
|
|
151
187
|
"selectedPath": {
|
|
152
188
|
"description": "Currently selected file path",
|
|
153
189
|
"label": "Selected Path",
|
|
@@ -269,8 +305,13 @@
|
|
|
269
305
|
"className": "@config.className",
|
|
270
306
|
"indent": "@config.indent",
|
|
271
307
|
"items": "@config.items",
|
|
308
|
+
"look": "@config.look",
|
|
309
|
+
"nodeActionIcon": "@config.nodeActionIcon",
|
|
310
|
+
"nodeActionLabel": "@config.nodeActionLabel",
|
|
272
311
|
"onFileSelect": "@config.onFileSelect",
|
|
312
|
+
"onNodeAction": "@config.onNodeAction",
|
|
273
313
|
"onNodeSelect": "@config.onNodeSelect",
|
|
314
|
+
"selectedId": "@config.selectedId",
|
|
274
315
|
"selectedPath": "@config.selectedPath",
|
|
275
316
|
"tree": "@config.tree",
|
|
276
317
|
"type": "file-tree"
|