@almadar/std 16.147.0 → 16.149.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-search.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +86 -41
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +29 -16
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +189 -87
- package/behaviors/lolo/ui/core/atoms/std-dashboard-grid-embedded.lolo +8 -0
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-stats.lolo +14 -10
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +1 -29
- package/behaviors/registry/factory-signatures.json +9 -13
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +9 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +242 -50
- package/behaviors/registry/ui/core/atoms/std-board.orb +86 -20
- package/behaviors/registry/ui/core/atoms/std-browse.orb +379 -123
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +41 -29
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +0 -3
- package/behaviors/registry/ui/core/atoms/std-stats.orb +267 -238
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -38
- package/dist/behaviors/behaviors-embeddings.json +475 -475
- package/dist/behaviors/behaviors-registry.json +10 -12
- package/dist/behaviors/knob-embeddings.json +1 -1
- package/dist/behaviors/registry/factory-signatures.json +9 -13
- package/dist/behaviors/registry/ui/core/atoms/std-app-search.orb +9 -1
- package/dist/behaviors/registry/ui/core/atoms/std-billable-hour.orb +242 -50
- package/dist/behaviors/registry/ui/core/atoms/std-board.orb +86 -20
- package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +379 -123
- package/dist/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +41 -29
- package/dist/behaviors/registry/ui/core/atoms/std-file-store.orb +0 -3
- package/dist/behaviors/registry/ui/core/atoms/std-stats.orb +267 -238
- package/dist/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -38
- package/dist/behaviors-embeddings.json +475 -475
- package/dist/behaviors-registry.json +10 -12
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +9 -13
- package/package.json +8 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery) selects one of
|
|
2
|
+
"description": "std-browse as a Function — single primitive: data-grid. Owns the fetch + REFETCH (query/filter/page) state machine. Consumers configure fields/imageField/itemActions/cols/gap/variant; the atom renders the grid. Each `fields[]` entry accepts `{ name, label, variant }` plus optional `referenceEntity` + `displayField` to render a foreign-key column as the joined entity's display value (data-grid resolves @list[referenceEntity] at render time when both keys are present). `browseLook` (table default / dense / feed / gallery / master-detail / triage) selects one of six render bodies; dense/feed/gallery were folded in from std-browse-dense/-feed/-gallery (Phase 5.B); master-detail (split record view driven by the guarded VIEW/CLOSE self-transitions) and triage (inbox rows) were folded in 2026-07-26. Consumers retarget by setting browseLook.",
|
|
3
3
|
"ledger": {
|
|
4
4
|
"entries": {
|
|
5
5
|
"ent_01KXG04FVGGWM52VJZVMAEG5H0": {
|
|
@@ -91,6 +91,15 @@
|
|
|
91
91
|
"parent": "trt_01KXG04FVGGKHGXMTQZAJY1308",
|
|
92
92
|
"renames": []
|
|
93
93
|
},
|
|
94
|
+
"evt_01KYG176Z4DTZ2W62WXFKKSXJV": {
|
|
95
|
+
"bakedName": "CLOSE",
|
|
96
|
+
"curName": "CLOSE",
|
|
97
|
+
"id": "evt_01KYG176Z4DTZ2W62WXFKKSXJV",
|
|
98
|
+
"kind": "event",
|
|
99
|
+
"owner": "workspace",
|
|
100
|
+
"parent": "trt_01KXG04FVGGKHGXMTQZAJY1308",
|
|
101
|
+
"renames": []
|
|
102
|
+
},
|
|
94
103
|
"orb_01KXG04FVG2QCHAX67XWPG65GZ": {
|
|
95
104
|
"bakedName": "BrowseItemOrbital",
|
|
96
105
|
"curName": "BrowseItemOrbital",
|
|
@@ -130,6 +139,14 @@
|
|
|
130
139
|
"kind": "trait",
|
|
131
140
|
"owner": "workspace",
|
|
132
141
|
"renames": []
|
|
142
|
+
},
|
|
143
|
+
"trt_01KYG176Z400JFKWZ2XPKJ4798": {
|
|
144
|
+
"bakedName": "MasterListView",
|
|
145
|
+
"curName": "MasterListView",
|
|
146
|
+
"id": "trt_01KYG176Z400JFKWZ2XPKJ4798",
|
|
147
|
+
"kind": "trait",
|
|
148
|
+
"owner": "workspace",
|
|
149
|
+
"renames": []
|
|
133
150
|
}
|
|
134
151
|
},
|
|
135
152
|
"schemaVersion": 1
|
|
@@ -216,6 +233,10 @@
|
|
|
216
233
|
"default": "@config.itemActions",
|
|
217
234
|
"type": "unknown"
|
|
218
235
|
},
|
|
236
|
+
"maxInlineActions": {
|
|
237
|
+
"default": "@config.maxInlineActions",
|
|
238
|
+
"type": "unknown"
|
|
239
|
+
},
|
|
219
240
|
"pageSize": {
|
|
220
241
|
"default": "@config.displayPageSize",
|
|
221
242
|
"type": "unknown"
|
|
@@ -264,7 +285,7 @@
|
|
|
264
285
|
"type": "unknown"
|
|
265
286
|
},
|
|
266
287
|
"selectable": {
|
|
267
|
-
"default":
|
|
288
|
+
"default": "@config.selectable",
|
|
268
289
|
"type": "unknown"
|
|
269
290
|
}
|
|
270
291
|
},
|
|
@@ -284,6 +305,45 @@
|
|
|
284
305
|
"name": "DenseTableView",
|
|
285
306
|
"ref": "TableView.traits.TableViewRender"
|
|
286
307
|
},
|
|
308
|
+
{
|
|
309
|
+
"config": {
|
|
310
|
+
"fields": {
|
|
311
|
+
"default": "@config.fields",
|
|
312
|
+
"type": "unknown"
|
|
313
|
+
},
|
|
314
|
+
"itemActions": {
|
|
315
|
+
"default": "@config.itemActions",
|
|
316
|
+
"type": "unknown"
|
|
317
|
+
},
|
|
318
|
+
"itemClickEvent": {
|
|
319
|
+
"default": "VIEW",
|
|
320
|
+
"type": "unknown"
|
|
321
|
+
},
|
|
322
|
+
"maxInlineActions": {
|
|
323
|
+
"default": "@config.maxInlineActions",
|
|
324
|
+
"type": "unknown"
|
|
325
|
+
},
|
|
326
|
+
"variant": {
|
|
327
|
+
"default": "compact",
|
|
328
|
+
"type": "unknown"
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"id": "trt_01KYG176Z400JFKWZ2XPKJ4798",
|
|
332
|
+
"linkedEntity": "BrowseItem",
|
|
333
|
+
"linkedEntityId": "ent_01KXG04FVGGWM52VJZVMAEG5H0",
|
|
334
|
+
"listens": [
|
|
335
|
+
{
|
|
336
|
+
"event": "BrowseItemLoaded",
|
|
337
|
+
"source": {
|
|
338
|
+
"kind": "trait",
|
|
339
|
+
"trait": "BrowseItemBrowse"
|
|
340
|
+
},
|
|
341
|
+
"triggers": "DataListLoaded"
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"name": "MasterListView",
|
|
345
|
+
"ref": "DataList.traits.DataListRender"
|
|
346
|
+
},
|
|
287
347
|
{
|
|
288
348
|
"category": "interaction",
|
|
289
349
|
"config": {
|
|
@@ -324,7 +384,7 @@
|
|
|
324
384
|
},
|
|
325
385
|
"browseLook": {
|
|
326
386
|
"default": "table",
|
|
327
|
-
"description": "Layer 2 visual treatment for the whole browse surface. table = the default data-grid (bodyContent); dense = spreadsheet-style
|
|
387
|
+
"description": "Layer 2 visual treatment for the whole browse surface. table = the default data-grid (bodyContent); dense = spreadsheet-style table with toolbar search (denseBodyContent); feed = chronological card stream (feedBodyContent); gallery = image-first responsive card grid (galleryBodyContent); master-detail = record-work split view — dense list left, clicked record's detail right (masterDetailBodyContent); triage = inbox-register compact rows for queue work (triageBodyContent). Selecting a non-table look swaps which body tree renders after rows load; any body may still be overridden directly at the call site for a one-off layout.",
|
|
328
388
|
"label": "Browse look",
|
|
329
389
|
"tier": "presentation",
|
|
330
390
|
"type": "string",
|
|
@@ -332,7 +392,9 @@
|
|
|
332
392
|
"table",
|
|
333
393
|
"dense",
|
|
334
394
|
"feed",
|
|
335
|
-
"gallery"
|
|
395
|
+
"gallery",
|
|
396
|
+
"master-detail",
|
|
397
|
+
"triage"
|
|
336
398
|
]
|
|
337
399
|
},
|
|
338
400
|
"categoryBinding": {
|
|
@@ -435,17 +497,16 @@
|
|
|
435
497
|
"if",
|
|
436
498
|
"@config.bodySearch",
|
|
437
499
|
{
|
|
438
|
-
"align": "center",
|
|
439
500
|
"children": [
|
|
440
501
|
{
|
|
441
|
-
"className": "w-full max-w-
|
|
502
|
+
"className": "w-full max-w-md",
|
|
442
503
|
"clearable": true,
|
|
443
504
|
"event": "REFETCH_QUERY",
|
|
444
505
|
"placeholder": "@config.searchPlaceholder",
|
|
445
506
|
"type": "search-input"
|
|
446
507
|
}
|
|
447
508
|
],
|
|
448
|
-
"className": "
|
|
509
|
+
"className": "px-card-md py-card-sm border-b border-[var(--color-border)]",
|
|
449
510
|
"direction": "horizontal",
|
|
450
511
|
"gap": "sm",
|
|
451
512
|
"type": "stack"
|
|
@@ -460,15 +521,15 @@
|
|
|
460
521
|
"children": [
|
|
461
522
|
"@trait.DenseTableView"
|
|
462
523
|
],
|
|
463
|
-
"className": "
|
|
524
|
+
"className": "overflow-x-auto",
|
|
464
525
|
"direction": "vertical",
|
|
465
526
|
"gap": "none",
|
|
466
527
|
"type": "stack"
|
|
467
528
|
}
|
|
468
529
|
],
|
|
469
|
-
"className": "
|
|
530
|
+
"className": "rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] shadow-sm overflow-hidden",
|
|
470
531
|
"direction": "vertical",
|
|
471
|
-
"gap": "
|
|
532
|
+
"gap": "none",
|
|
472
533
|
"type": "stack"
|
|
473
534
|
},
|
|
474
535
|
"description": "Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B).",
|
|
@@ -483,6 +544,22 @@
|
|
|
483
544
|
"tier": "internal",
|
|
484
545
|
"type": "string"
|
|
485
546
|
},
|
|
547
|
+
"detailFields": {
|
|
548
|
+
"default": [
|
|
549
|
+
"name",
|
|
550
|
+
"description",
|
|
551
|
+
"status",
|
|
552
|
+
"createdAt"
|
|
553
|
+
],
|
|
554
|
+
"description": "Field names shown in the detail panel when browseLook = master-detail; the first entry doubles as the pane title. Consumers overriding columns/fields should override this list to match their entity.",
|
|
555
|
+
"items": {
|
|
556
|
+
"type": "string"
|
|
557
|
+
},
|
|
558
|
+
"label": "Which fields appear in the master-detail record pane?",
|
|
559
|
+
"synonyms": "detail columns, record fields, detail pane fields",
|
|
560
|
+
"tier": "presentation",
|
|
561
|
+
"type": "[string]"
|
|
562
|
+
},
|
|
486
563
|
"displayPageSize": {
|
|
487
564
|
"default": 10.0,
|
|
488
565
|
"description": "Rows visible per page before the pagination control appears.",
|
|
@@ -605,6 +682,7 @@
|
|
|
605
682
|
],
|
|
606
683
|
"className": "rounded-lg bg-[var(--color-card)] border border-[var(--color-border)] shadow-sm transition-all duration-normal hover:shadow-main hover:border-[var(--color-border-strong)] hover:-translate-y-px",
|
|
607
684
|
"look": "flat-bordered",
|
|
685
|
+
"padding": "none",
|
|
608
686
|
"type": "card"
|
|
609
687
|
}
|
|
610
688
|
],
|
|
@@ -612,7 +690,7 @@
|
|
|
612
690
|
"variant": "card"
|
|
613
691
|
}
|
|
614
692
|
],
|
|
615
|
-
"className": "w-full
|
|
693
|
+
"className": "w-full",
|
|
616
694
|
"direction": "vertical",
|
|
617
695
|
"gap": "lg",
|
|
618
696
|
"type": "stack"
|
|
@@ -734,7 +812,7 @@
|
|
|
734
812
|
"type": "search-input"
|
|
735
813
|
}
|
|
736
814
|
],
|
|
737
|
-
"className": "sticky top-0 z-10
|
|
815
|
+
"className": "sticky top-0 z-10 py-3 bg-[var(--color-surface)]/95 backdrop-blur",
|
|
738
816
|
"direction": "horizontal",
|
|
739
817
|
"gap": "sm",
|
|
740
818
|
"type": "stack"
|
|
@@ -748,104 +826,21 @@
|
|
|
748
826
|
{
|
|
749
827
|
"className": "w-full",
|
|
750
828
|
"entity": "@payload.data",
|
|
751
|
-
"fields":
|
|
829
|
+
"fields": "@config.fields",
|
|
752
830
|
"gap": "lg",
|
|
831
|
+
"imageField": "@config.imageField",
|
|
753
832
|
"itemActions": "@config.itemActions",
|
|
754
833
|
"maxInlineActions": "@config.maxInlineActions",
|
|
755
834
|
"minCardWidth": 260.0,
|
|
756
|
-
"renderItem": [
|
|
757
|
-
"fn",
|
|
758
|
-
"item",
|
|
759
|
-
{
|
|
760
|
-
"children": [
|
|
761
|
-
{
|
|
762
|
-
"align": "center",
|
|
763
|
-
"children": [
|
|
764
|
-
{
|
|
765
|
-
"className": "text-muted-foreground opacity-50 transition-transform duration-normal group-hover:scale-105",
|
|
766
|
-
"name": "image",
|
|
767
|
-
"size": "lg",
|
|
768
|
-
"type": "icon"
|
|
769
|
-
},
|
|
770
|
-
{
|
|
771
|
-
"className": "px-2 text-center truncate max-w-full",
|
|
772
|
-
"color": "muted",
|
|
773
|
-
"content": "@config.imageLabelBinding",
|
|
774
|
-
"type": "typography",
|
|
775
|
-
"variant": "caption"
|
|
776
|
-
},
|
|
777
|
-
{
|
|
778
|
-
"align": "center",
|
|
779
|
-
"children": [
|
|
780
|
-
{
|
|
781
|
-
"label": "@config.priceBinding",
|
|
782
|
-
"type": "badge",
|
|
783
|
-
"variant": "primary"
|
|
784
|
-
}
|
|
785
|
-
],
|
|
786
|
-
"className": "absolute top-2 right-2",
|
|
787
|
-
"direction": "horizontal",
|
|
788
|
-
"gap": "xs",
|
|
789
|
-
"type": "stack"
|
|
790
|
-
},
|
|
791
|
-
{
|
|
792
|
-
"align": "center",
|
|
793
|
-
"children": [
|
|
794
|
-
{
|
|
795
|
-
"label": "@config.badgeBinding",
|
|
796
|
-
"type": "badge",
|
|
797
|
-
"variant": "neutral"
|
|
798
|
-
}
|
|
799
|
-
],
|
|
800
|
-
"className": "absolute top-2 left-2",
|
|
801
|
-
"direction": "horizontal",
|
|
802
|
-
"gap": "xs",
|
|
803
|
-
"type": "stack"
|
|
804
|
-
}
|
|
805
|
-
],
|
|
806
|
-
"className": "relative aspect-square w-full bg-muted overflow-hidden",
|
|
807
|
-
"direction": "vertical",
|
|
808
|
-
"gap": "xs",
|
|
809
|
-
"justify": "center",
|
|
810
|
-
"type": "stack"
|
|
811
|
-
},
|
|
812
|
-
{
|
|
813
|
-
"children": [
|
|
814
|
-
{
|
|
815
|
-
"className": "truncate",
|
|
816
|
-
"content": "@config.titleBinding",
|
|
817
|
-
"type": "typography",
|
|
818
|
-
"variant": "h4"
|
|
819
|
-
},
|
|
820
|
-
{
|
|
821
|
-
"className": "line-clamp-2",
|
|
822
|
-
"color": "muted",
|
|
823
|
-
"content": "@config.descriptionBinding",
|
|
824
|
-
"type": "typography",
|
|
825
|
-
"variant": "caption"
|
|
826
|
-
}
|
|
827
|
-
],
|
|
828
|
-
"className": "p-card-md",
|
|
829
|
-
"direction": "vertical",
|
|
830
|
-
"gap": "xs",
|
|
831
|
-
"type": "stack"
|
|
832
|
-
}
|
|
833
|
-
],
|
|
834
|
-
"className": "group rounded-lg overflow-hidden bg-[var(--color-card)] border border-[var(--color-border)] shadow-sm hover:shadow-hover hover:-translate-y-0.5 transition-all duration-normal cursor-pointer",
|
|
835
|
-
"direction": "vertical",
|
|
836
|
-
"gap": "sm",
|
|
837
|
-
"type": "stack"
|
|
838
|
-
}
|
|
839
|
-
],
|
|
840
835
|
"type": "data-grid"
|
|
841
836
|
}
|
|
842
837
|
],
|
|
843
|
-
"className": "w-full
|
|
838
|
+
"className": "w-full",
|
|
844
839
|
"direction": "vertical",
|
|
845
840
|
"gap": "lg",
|
|
846
841
|
"type": "stack"
|
|
847
842
|
},
|
|
848
|
-
"description": "Render-ui SExpr rendered after rows load when browseLook = gallery. Image-first responsive card grid
|
|
843
|
+
"description": "Render-ui SExpr rendered after rows load when browseLook = gallery. Image-first responsive card grid (auto-fit minCardWidth) on the data-grid fields path: imageField renders the card photo when set (falsy-safe when empty), fields drive title/badges/meta. One tree, no renderItem lambda — lambdas do not survive inside (if) arms (2026-07-27).",
|
|
849
844
|
"label": "Gallery look body",
|
|
850
845
|
"tier": "internal",
|
|
851
846
|
"type": "render-ui"
|
|
@@ -911,8 +906,115 @@
|
|
|
911
906
|
"tier": "presentation",
|
|
912
907
|
"type": "[ItemAction]"
|
|
913
908
|
},
|
|
909
|
+
"masterDetailBodyContent": {
|
|
910
|
+
"default": {
|
|
911
|
+
"children": [
|
|
912
|
+
{
|
|
913
|
+
"children": [
|
|
914
|
+
{
|
|
915
|
+
"className": "w-full max-w-md",
|
|
916
|
+
"clearable": true,
|
|
917
|
+
"event": "REFETCH_QUERY",
|
|
918
|
+
"placeholder": "@config.searchPlaceholder",
|
|
919
|
+
"type": "search-input"
|
|
920
|
+
}
|
|
921
|
+
],
|
|
922
|
+
"className": "px-card-md py-card-sm border-b border-[var(--color-border)]",
|
|
923
|
+
"direction": "horizontal",
|
|
924
|
+
"gap": "sm",
|
|
925
|
+
"type": "stack"
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"detail": {
|
|
929
|
+
"children": [],
|
|
930
|
+
"gap": "none",
|
|
931
|
+
"type": "stack"
|
|
932
|
+
},
|
|
933
|
+
"emptyDetail": {
|
|
934
|
+
"description": "Select a record from the list to see its details.",
|
|
935
|
+
"icon": "mouse-pointer-click",
|
|
936
|
+
"title": "Nothing selected",
|
|
937
|
+
"type": "empty-state"
|
|
938
|
+
},
|
|
939
|
+
"hasSelection": false,
|
|
940
|
+
"master": {
|
|
941
|
+
"children": [
|
|
942
|
+
"@trait.MasterListView"
|
|
943
|
+
],
|
|
944
|
+
"className": "overflow-y-auto",
|
|
945
|
+
"direction": "vertical",
|
|
946
|
+
"gap": "none",
|
|
947
|
+
"type": "stack"
|
|
948
|
+
},
|
|
949
|
+
"type": "master-detail-layout"
|
|
950
|
+
}
|
|
951
|
+
],
|
|
952
|
+
"className": "rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] shadow-sm overflow-hidden",
|
|
953
|
+
"direction": "vertical",
|
|
954
|
+
"gap": "none",
|
|
955
|
+
"type": "stack"
|
|
956
|
+
},
|
|
957
|
+
"description": "Render-ui SExpr rendered after rows load when browseLook = master-detail: record-work split view — toolbar search, dense list left, empty-state pane right until a row is opened. Opening a row renders masterDetailRecordBodyContent. The toolbar is always present in this look (bodySearch does not apply).",
|
|
958
|
+
"label": "Master-detail look body (no selection)",
|
|
959
|
+
"tier": "internal",
|
|
960
|
+
"type": "render-ui"
|
|
961
|
+
},
|
|
962
|
+
"masterDetailRecordBodyContent": {
|
|
963
|
+
"default": {
|
|
964
|
+
"children": [
|
|
965
|
+
{
|
|
966
|
+
"children": [
|
|
967
|
+
{
|
|
968
|
+
"className": "w-full max-w-md",
|
|
969
|
+
"clearable": true,
|
|
970
|
+
"event": "REFETCH_QUERY",
|
|
971
|
+
"placeholder": "@config.searchPlaceholder",
|
|
972
|
+
"type": "search-input"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"className": "px-card-md py-card-sm border-b border-[var(--color-border)]",
|
|
976
|
+
"direction": "horizontal",
|
|
977
|
+
"gap": "sm",
|
|
978
|
+
"type": "stack"
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
"detail": {
|
|
982
|
+
"actions": [
|
|
983
|
+
{
|
|
984
|
+
"event": "CLOSE",
|
|
985
|
+
"label": "Close"
|
|
986
|
+
}
|
|
987
|
+
],
|
|
988
|
+
"fieldNames": "@config.detailFields",
|
|
989
|
+
"initialData": "@payload.row",
|
|
990
|
+
"showActions": false,
|
|
991
|
+
"type": "detail-panel"
|
|
992
|
+
},
|
|
993
|
+
"hasSelection": true,
|
|
994
|
+
"master": {
|
|
995
|
+
"children": [
|
|
996
|
+
"@trait.MasterListView"
|
|
997
|
+
],
|
|
998
|
+
"className": "overflow-y-auto",
|
|
999
|
+
"direction": "vertical",
|
|
1000
|
+
"gap": "none",
|
|
1001
|
+
"type": "stack"
|
|
1002
|
+
},
|
|
1003
|
+
"type": "master-detail-layout"
|
|
1004
|
+
}
|
|
1005
|
+
],
|
|
1006
|
+
"className": "rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] shadow-sm overflow-hidden",
|
|
1007
|
+
"direction": "vertical",
|
|
1008
|
+
"gap": "none",
|
|
1009
|
+
"type": "stack"
|
|
1010
|
+
},
|
|
1011
|
+
"description": "Render-ui SExpr rendered by the VIEW transition when browseLook = master-detail: the same split view with the clicked record's detail panel on the right, fed by the VIEW payload row and detailFields.",
|
|
1012
|
+
"label": "Master-detail look body (record open)",
|
|
1013
|
+
"tier": "internal",
|
|
1014
|
+
"type": "render-ui"
|
|
1015
|
+
},
|
|
914
1016
|
"maxInlineActions": {
|
|
915
|
-
"default":
|
|
1017
|
+
"default": 3.0,
|
|
916
1018
|
"description": "Actions beyond this count collapse into a '⋯' overflow menu. Set 2–3 for dense tables.",
|
|
917
1019
|
"label": "How many row actions to show before collapsing?",
|
|
918
1020
|
"synonyms": "inline actions limit, overflow threshold, max buttons per row",
|
|
@@ -956,6 +1058,14 @@
|
|
|
956
1058
|
"tier": "presentation",
|
|
957
1059
|
"type": "string"
|
|
958
1060
|
},
|
|
1061
|
+
"selectable": {
|
|
1062
|
+
"default": false,
|
|
1063
|
+
"description": "Adds a checkbox column with select-all to the dense table. Enable only when the surface offers bulk actions — checkboxes with nothing to act on are a dead affordance.",
|
|
1064
|
+
"label": "Show row selection checkboxes?",
|
|
1065
|
+
"synonyms": "row checkboxes, multi-select, bulk select, selection column",
|
|
1066
|
+
"tier": "presentation",
|
|
1067
|
+
"type": "boolean"
|
|
1068
|
+
},
|
|
959
1069
|
"titleBinding": {
|
|
960
1070
|
"default": "@item.name",
|
|
961
1071
|
"description": "Binding path for the card title slot (e.g. @item.dishName).",
|
|
@@ -963,6 +1073,60 @@
|
|
|
963
1073
|
"tier": "internal",
|
|
964
1074
|
"type": "string"
|
|
965
1075
|
},
|
|
1076
|
+
"triageBodyContent": {
|
|
1077
|
+
"default": {
|
|
1078
|
+
"children": [
|
|
1079
|
+
[
|
|
1080
|
+
"if",
|
|
1081
|
+
"@config.bodySearch",
|
|
1082
|
+
{
|
|
1083
|
+
"children": [
|
|
1084
|
+
{
|
|
1085
|
+
"className": "w-full max-w-md",
|
|
1086
|
+
"clearable": true,
|
|
1087
|
+
"event": "REFETCH_QUERY",
|
|
1088
|
+
"placeholder": "@config.searchPlaceholder",
|
|
1089
|
+
"type": "search-input"
|
|
1090
|
+
}
|
|
1091
|
+
],
|
|
1092
|
+
"className": "px-card-md py-card-sm border-b border-[var(--color-border)]",
|
|
1093
|
+
"direction": "horizontal",
|
|
1094
|
+
"gap": "sm",
|
|
1095
|
+
"type": "stack"
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"children": [],
|
|
1099
|
+
"gap": "none",
|
|
1100
|
+
"type": "stack"
|
|
1101
|
+
}
|
|
1102
|
+
],
|
|
1103
|
+
{
|
|
1104
|
+
"children": [
|
|
1105
|
+
{
|
|
1106
|
+
"entity": "@payload.data",
|
|
1107
|
+
"fields": "@config.fields",
|
|
1108
|
+
"itemActions": "@config.itemActions",
|
|
1109
|
+
"maxInlineActions": "@config.maxInlineActions",
|
|
1110
|
+
"type": "data-list",
|
|
1111
|
+
"variant": "compact"
|
|
1112
|
+
}
|
|
1113
|
+
],
|
|
1114
|
+
"className": "overflow-x-auto",
|
|
1115
|
+
"direction": "vertical",
|
|
1116
|
+
"gap": "none",
|
|
1117
|
+
"type": "stack"
|
|
1118
|
+
}
|
|
1119
|
+
],
|
|
1120
|
+
"className": "rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] shadow-sm overflow-hidden",
|
|
1121
|
+
"direction": "vertical",
|
|
1122
|
+
"gap": "none",
|
|
1123
|
+
"type": "stack"
|
|
1124
|
+
},
|
|
1125
|
+
"description": "Render-ui SExpr rendered after rows load when browseLook = triage. Inbox-register queue: one surface with a toolbar search and compact list rows (title + badges + inline meta) built for keyboard-pace queue work; row actions collapse per maxInlineActions. Composes fields/itemActions/searchPlaceholder/bodySearch.",
|
|
1126
|
+
"label": "Triage look body",
|
|
1127
|
+
"tier": "internal",
|
|
1128
|
+
"type": "render-ui"
|
|
1129
|
+
},
|
|
966
1130
|
"viewPattern": {
|
|
967
1131
|
"default": "data-grid",
|
|
968
1132
|
"description": "UI pattern used to render the collection. Used by the default bodyContent tree; Layer 3 variants override bodyContent directly instead and may ignore this knob.",
|
|
@@ -1287,6 +1451,11 @@
|
|
|
1287
1451
|
"synonyms": "display, show, update, render",
|
|
1288
1452
|
"tier": "domain"
|
|
1289
1453
|
},
|
|
1454
|
+
{
|
|
1455
|
+
"id": "evt_01KYG176Z4DTZ2W62WXFKKSXJV",
|
|
1456
|
+
"key": "CLOSE",
|
|
1457
|
+
"name": "Close"
|
|
1458
|
+
},
|
|
1290
1459
|
{
|
|
1291
1460
|
"description": "Signals a request to edit the selected item.",
|
|
1292
1461
|
"id": "evt_01KXG04FVGRP1SF2QXKEBQ3GNQ",
|
|
@@ -1405,8 +1574,8 @@
|
|
|
1405
1574
|
"render-ui",
|
|
1406
1575
|
"main",
|
|
1407
1576
|
{
|
|
1408
|
-
"
|
|
1409
|
-
"type": "
|
|
1577
|
+
"rows": 4.0,
|
|
1578
|
+
"type": "skeleton"
|
|
1410
1579
|
}
|
|
1411
1580
|
]
|
|
1412
1581
|
],
|
|
@@ -1454,9 +1623,35 @@
|
|
|
1454
1623
|
"@config.galleryBodyContent"
|
|
1455
1624
|
],
|
|
1456
1625
|
[
|
|
1457
|
-
"
|
|
1458
|
-
|
|
1459
|
-
|
|
1626
|
+
"if",
|
|
1627
|
+
[
|
|
1628
|
+
"=",
|
|
1629
|
+
"@config.browseLook",
|
|
1630
|
+
"master-detail"
|
|
1631
|
+
],
|
|
1632
|
+
[
|
|
1633
|
+
"render-ui",
|
|
1634
|
+
"main",
|
|
1635
|
+
"@config.masterDetailBodyContent"
|
|
1636
|
+
],
|
|
1637
|
+
[
|
|
1638
|
+
"if",
|
|
1639
|
+
[
|
|
1640
|
+
"=",
|
|
1641
|
+
"@config.browseLook",
|
|
1642
|
+
"triage"
|
|
1643
|
+
],
|
|
1644
|
+
[
|
|
1645
|
+
"render-ui",
|
|
1646
|
+
"main",
|
|
1647
|
+
"@config.triageBodyContent"
|
|
1648
|
+
],
|
|
1649
|
+
[
|
|
1650
|
+
"render-ui",
|
|
1651
|
+
"main",
|
|
1652
|
+
"@config.bodyContent"
|
|
1653
|
+
]
|
|
1654
|
+
]
|
|
1460
1655
|
]
|
|
1461
1656
|
]
|
|
1462
1657
|
]
|
|
@@ -1473,16 +1668,10 @@
|
|
|
1473
1668
|
"render-ui",
|
|
1474
1669
|
"main",
|
|
1475
1670
|
{
|
|
1476
|
-
"
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
"type": "typography",
|
|
1481
|
-
"variant": "caption"
|
|
1482
|
-
}
|
|
1483
|
-
],
|
|
1484
|
-
"direction": "vertical",
|
|
1485
|
-
"type": "stack"
|
|
1671
|
+
"message": "@payload.error",
|
|
1672
|
+
"title": "Couldn't load this list",
|
|
1673
|
+
"type": "alert",
|
|
1674
|
+
"variant": "error"
|
|
1486
1675
|
}
|
|
1487
1676
|
]
|
|
1488
1677
|
],
|
|
@@ -1509,8 +1698,8 @@
|
|
|
1509
1698
|
"render-ui",
|
|
1510
1699
|
"main",
|
|
1511
1700
|
{
|
|
1512
|
-
"
|
|
1513
|
-
"type": "
|
|
1701
|
+
"rows": 4.0,
|
|
1702
|
+
"type": "skeleton"
|
|
1514
1703
|
}
|
|
1515
1704
|
]
|
|
1516
1705
|
],
|
|
@@ -1621,6 +1810,42 @@
|
|
|
1621
1810
|
"from": "browsing",
|
|
1622
1811
|
"to": "browsing"
|
|
1623
1812
|
},
|
|
1813
|
+
{
|
|
1814
|
+
"effects": [
|
|
1815
|
+
[
|
|
1816
|
+
"render-ui",
|
|
1817
|
+
"main",
|
|
1818
|
+
"@config.masterDetailRecordBodyContent"
|
|
1819
|
+
]
|
|
1820
|
+
],
|
|
1821
|
+
"event": "VIEW",
|
|
1822
|
+
"eventId": "evt_01KXG04FVGX3Q7N39AZ68VGPTJ",
|
|
1823
|
+
"from": "browsing",
|
|
1824
|
+
"guard": [
|
|
1825
|
+
"=",
|
|
1826
|
+
"@config.browseLook",
|
|
1827
|
+
"master-detail"
|
|
1828
|
+
],
|
|
1829
|
+
"to": "browsing"
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"effects": [
|
|
1833
|
+
[
|
|
1834
|
+
"render-ui",
|
|
1835
|
+
"main",
|
|
1836
|
+
"@config.masterDetailBodyContent"
|
|
1837
|
+
]
|
|
1838
|
+
],
|
|
1839
|
+
"event": "CLOSE",
|
|
1840
|
+
"eventId": "evt_01KYG176Z4DTZ2W62WXFKKSXJV",
|
|
1841
|
+
"from": "browsing",
|
|
1842
|
+
"guard": [
|
|
1843
|
+
"=",
|
|
1844
|
+
"@config.browseLook",
|
|
1845
|
+
"master-detail"
|
|
1846
|
+
],
|
|
1847
|
+
"to": "browsing"
|
|
1848
|
+
},
|
|
1624
1849
|
{
|
|
1625
1850
|
"effects": [
|
|
1626
1851
|
[
|
|
@@ -1660,9 +1885,35 @@
|
|
|
1660
1885
|
"@config.galleryBodyContent"
|
|
1661
1886
|
],
|
|
1662
1887
|
[
|
|
1663
|
-
"
|
|
1664
|
-
|
|
1665
|
-
|
|
1888
|
+
"if",
|
|
1889
|
+
[
|
|
1890
|
+
"=",
|
|
1891
|
+
"@config.browseLook",
|
|
1892
|
+
"master-detail"
|
|
1893
|
+
],
|
|
1894
|
+
[
|
|
1895
|
+
"render-ui",
|
|
1896
|
+
"main",
|
|
1897
|
+
"@config.masterDetailBodyContent"
|
|
1898
|
+
],
|
|
1899
|
+
[
|
|
1900
|
+
"if",
|
|
1901
|
+
[
|
|
1902
|
+
"=",
|
|
1903
|
+
"@config.browseLook",
|
|
1904
|
+
"triage"
|
|
1905
|
+
],
|
|
1906
|
+
[
|
|
1907
|
+
"render-ui",
|
|
1908
|
+
"main",
|
|
1909
|
+
"@config.triageBodyContent"
|
|
1910
|
+
],
|
|
1911
|
+
[
|
|
1912
|
+
"render-ui",
|
|
1913
|
+
"main",
|
|
1914
|
+
"@config.bodyContent"
|
|
1915
|
+
]
|
|
1916
|
+
]
|
|
1666
1917
|
]
|
|
1667
1918
|
]
|
|
1668
1919
|
]
|
|
@@ -1691,8 +1942,8 @@
|
|
|
1691
1942
|
"render-ui",
|
|
1692
1943
|
"main",
|
|
1693
1944
|
{
|
|
1694
|
-
"
|
|
1695
|
-
"type": "
|
|
1945
|
+
"rows": 4.0,
|
|
1946
|
+
"type": "skeleton"
|
|
1696
1947
|
}
|
|
1697
1948
|
]
|
|
1698
1949
|
],
|
|
@@ -1705,7 +1956,8 @@
|
|
|
1705
1956
|
},
|
|
1706
1957
|
"traitEmbedIds": {
|
|
1707
1958
|
"DataGrid1": "trt_01KXZ44Y965J2Q55E5JN4JKVGR",
|
|
1708
|
-
"DenseTableView": "trt_01KXZ44Y963YXRJDNR4F2M5QHX"
|
|
1959
|
+
"DenseTableView": "trt_01KXZ44Y963YXRJDNR4F2M5QHX",
|
|
1960
|
+
"MasterListView": "trt_01KYG176Z400JFKWZ2XPKJ4798"
|
|
1709
1961
|
}
|
|
1710
1962
|
}
|
|
1711
1963
|
],
|
|
@@ -1721,6 +1973,10 @@
|
|
|
1721
1973
|
{
|
|
1722
1974
|
"as": "TableView",
|
|
1723
1975
|
"from": "std/behaviors/ui-table-view"
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
"as": "DataList",
|
|
1979
|
+
"from": "std/behaviors/ui-data-list"
|
|
1724
1980
|
}
|
|
1725
1981
|
]
|
|
1726
1982
|
}
|