@almadar/std 16.150.0 → 16.151.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 (67) hide show
  1. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +18 -0
  2. package/behaviors/lolo/ui/core/atoms/std-board.lolo +1 -1
  3. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +29 -10
  4. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +13 -1
  5. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +8 -10
  6. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +3 -0
  7. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +6 -1
  8. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +4 -2
  9. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +15 -1
  10. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +57 -0
  11. package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +2 -2
  12. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +3 -1
  13. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +4 -2
  14. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +2 -0
  15. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +3 -1
  16. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +3 -1
  17. package/behaviors/lolo/ui/learning/atoms/std-branching-logic.lolo +0 -28
  18. package/behaviors/registry/factory-signatures.json +2435 -782
  19. package/behaviors/registry/ui/core/atoms/std-app-search.orb +60 -0
  20. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  21. package/behaviors/registry/ui/core/atoms/std-browse.orb +166 -35
  22. package/behaviors/registry/ui/core/atoms/std-calendar.orb +25 -1
  23. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +8 -10
  24. package/behaviors/registry/ui/core/atoms/std-stats.orb +27 -0
  25. package/behaviors/registry/ui/core/atoms/ui-typography.orb +17 -1
  26. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +39 -2
  27. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +50 -1
  28. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +296 -0
  29. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +0 -2
  30. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +34 -1
  31. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +49 -2
  32. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +2 -0
  33. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -1
  34. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +33 -1
  35. package/behaviors/registry/ui/learning/atoms/std-branching-logic.orb +0 -34
  36. package/dist/behaviors/behaviors-embeddings.json +185 -185
  37. package/dist/behaviors/behaviors-registry.json +3 -2
  38. package/dist/behaviors/exports-reader.js +143 -4
  39. package/dist/behaviors/functions/index.d.ts +19 -18
  40. package/dist/behaviors/functions/index.js +143 -4
  41. package/dist/behaviors/index.js +143 -4
  42. package/dist/behaviors/knob-embeddings.json +1 -1
  43. package/dist/behaviors/query.js +143 -4
  44. package/dist/behaviors/registry/factory-signatures.json +2435 -782
  45. package/dist/behaviors/registry/ui/core/atoms/std-app-search.orb +60 -0
  46. package/dist/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  47. package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +166 -35
  48. package/dist/behaviors/registry/ui/core/atoms/std-calendar.orb +25 -1
  49. package/dist/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +8 -10
  50. package/dist/behaviors/registry/ui/core/atoms/std-stats.orb +27 -0
  51. package/dist/behaviors/registry/ui/core/atoms/ui-typography.orb +17 -1
  52. package/dist/behaviors/registry/ui/core/molecules/ui-data-grid.orb +39 -2
  53. package/dist/behaviors/registry/ui/core/molecules/ui-data-list.orb +50 -1
  54. package/dist/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +296 -0
  55. package/dist/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +0 -2
  56. package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +34 -1
  57. package/dist/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +49 -2
  58. package/dist/behaviors/registry/ui/core/organisms/ui-entity-list.orb +2 -0
  59. package/dist/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -1
  60. package/dist/behaviors/registry/ui/core/organisms/ui-timeline.orb +33 -1
  61. package/dist/behaviors/registry/ui/learning/atoms/std-branching-logic.orb +0 -34
  62. package/dist/behaviors-embeddings.json +185 -185
  63. package/dist/behaviors-registry.json +3 -2
  64. package/dist/index.js +143 -4
  65. package/dist/knob-embeddings.json +1 -1
  66. package/dist/registry/factory-signatures.json +2435 -782
  67. package/package.json +3 -3
@@ -573,6 +573,36 @@
573
573
  "from": "idle",
574
574
  "to": "searching"
575
575
  },
576
+ {
577
+ "effects": [
578
+ [
579
+ "set",
580
+ "@entity.searchTerm",
581
+ ""
582
+ ],
583
+ [
584
+ "fetch",
585
+ "AppSearchTarget",
586
+ {}
587
+ ],
588
+ [
589
+ "render-ui",
590
+ "main",
591
+ {
592
+ "children": [
593
+ "@config.idleContent"
594
+ ],
595
+ "direction": "vertical",
596
+ "gap": "md",
597
+ "type": "stack"
598
+ }
599
+ ]
600
+ ],
601
+ "event": "INIT",
602
+ "eventId": "evt_01KXG04FP6TY19Y30E3AN5K0C7",
603
+ "from": "searching",
604
+ "to": "idle"
605
+ },
576
606
  {
577
607
  "effects": [
578
608
  [
@@ -728,6 +758,36 @@
728
758
  "from": "searching",
729
759
  "to": "idle"
730
760
  },
761
+ {
762
+ "effects": [
763
+ [
764
+ "set",
765
+ "@entity.searchTerm",
766
+ ""
767
+ ],
768
+ [
769
+ "fetch",
770
+ "AppSearchTarget",
771
+ {}
772
+ ],
773
+ [
774
+ "render-ui",
775
+ "main",
776
+ {
777
+ "children": [
778
+ "@config.idleContent"
779
+ ],
780
+ "direction": "vertical",
781
+ "gap": "md",
782
+ "type": "stack"
783
+ }
784
+ ]
785
+ ],
786
+ "event": "INIT",
787
+ "eventId": "evt_01KXG04FP6TY19Y30E3AN5K0C7",
788
+ "from": "results",
789
+ "to": "idle"
790
+ },
731
791
  {
732
792
  "effects": [
733
793
  [
@@ -780,7 +780,7 @@
780
780
  "label": "@config.cardStageBinding",
781
781
  "size": "sm",
782
782
  "type": "badge",
783
- "variant": "primary"
783
+ "variant": "@col.variant"
784
784
  },
785
785
  {
786
786
  "action": "OPEN_CARD",
@@ -562,6 +562,19 @@
562
562
  "tier": "internal",
563
563
  "type": "string"
564
564
  },
565
+ "detailActions": {
566
+ "default": [
567
+ {
568
+ "event": "CLOSE",
569
+ "label": "Close"
570
+ }
571
+ ],
572
+ "description": "Action buttons on the master-detail record pane (detail-panel `actions` descriptors: label/event/icon/variant). Consumers add their own record actions (Edit/Delete/…) alongside or instead of Close.",
573
+ "label": "Master-detail record pane actions",
574
+ "synonyms": "record actions, detail actions, pane actions",
575
+ "tier": "presentation",
576
+ "type": "json"
577
+ },
565
578
  "detailFields": {
566
579
  "default": [
567
580
  "name",
@@ -669,6 +682,7 @@
669
682
  {
670
683
  "color": "muted",
671
684
  "content": "@config.metaBinding",
685
+ "format": "@config.metaFormat",
672
686
  "type": "typography",
673
687
  "variant": "caption"
674
688
  },
@@ -1019,15 +1033,10 @@
1019
1033
  },
1020
1034
  {
1021
1035
  "detail": {
1022
- "actions": [
1023
- {
1024
- "event": "CLOSE",
1025
- "label": "Close"
1026
- }
1027
- ],
1036
+ "actions": "@config.detailActions",
1028
1037
  "fieldNames": "@config.detailFields",
1029
1038
  "initialData": "@payload.row",
1030
- "showActions": false,
1039
+ "showActions": true,
1031
1040
  "type": "detail-panel"
1032
1041
  },
1033
1042
  "hasSelection": true,
@@ -1063,11 +1072,25 @@
1063
1072
  },
1064
1073
  "metaBinding": {
1065
1074
  "default": "@item.createdAt",
1066
- "description": "Binding path for the secondary meta slot (timestamp / category).",
1075
+ "description": "Binding path for the secondary meta slot (timestamp / category). Hosts binding a count or other non-date value should label it in the binding itself (e.g. (str/concat \"Vehicles: \" @item.vehicleCount)) and set metaFormat: none.",
1067
1076
  "label": "Meta field binding",
1068
1077
  "tier": "internal",
1069
1078
  "type": "string"
1070
1079
  },
1080
+ "metaFormat": {
1081
+ "default": "date",
1082
+ "description": "Typography format for the feed meta slot — date by default so the createdAt binding renders human-readable instead of raw ISO; set none for non-date bindings.",
1083
+ "label": "Meta value format",
1084
+ "tier": "presentation",
1085
+ "type": "string",
1086
+ "values": [
1087
+ "none",
1088
+ "date",
1089
+ "time",
1090
+ "datetime",
1091
+ "number"
1092
+ ]
1093
+ },
1071
1094
  "pageSize": {
1072
1095
  "default": 10.0,
1073
1096
  "description": "Records fetched from the server per page request.",
@@ -1090,6 +1113,14 @@
1090
1113
  "tier": "internal",
1091
1114
  "type": "string"
1092
1115
  },
1116
+ "scopeField": {
1117
+ "default": "",
1118
+ "description": "Name the field on this entity that holds the viewer's id (e.g. memberId, patientId, assignee). When set, the list loads ONLY rows whose that field equals @user.id — the 'my bookings' / 'my appointments' shape. Left blank the list loads every row, which is the default. Declared, never inferred: guessing the column from its name would silently scope the wrong one.",
1119
+ "label": "Only show records owned by the signed-in user?",
1120
+ "synonyms": "owner field, my records, only mine, only my own, scope to user, per-user list, mine only, owned by me",
1121
+ "tier": "policy",
1122
+ "type": "string"
1123
+ },
1093
1124
  "searchPlaceholder": {
1094
1125
  "default": "Search…",
1095
1126
  "description": "Hint text inside the list search box (e.g. 'Search orders…').",
@@ -1606,6 +1637,23 @@
1606
1637
  "failure": "BrowseItemLoadFailed",
1607
1638
  "success": "BrowseItemLoaded"
1608
1639
  },
1640
+ "filter": [
1641
+ "or",
1642
+ [
1643
+ "=",
1644
+ "@config.scopeField",
1645
+ ""
1646
+ ],
1647
+ [
1648
+ "=",
1649
+ [
1650
+ "object/get",
1651
+ "@entity",
1652
+ "@config.scopeField"
1653
+ ],
1654
+ "@user.id"
1655
+ ]
1656
+ ],
1609
1657
  "limit": "@config.pageSize",
1610
1658
  "offset": 0.0
1611
1659
  }
@@ -1730,17 +1778,26 @@
1730
1778
  "failure": "BrowseItemLoadFailed",
1731
1779
  "success": "BrowseItemLoaded"
1732
1780
  },
1781
+ "filter": [
1782
+ "or",
1783
+ [
1784
+ "=",
1785
+ "@config.scopeField",
1786
+ ""
1787
+ ],
1788
+ [
1789
+ "=",
1790
+ [
1791
+ "object/get",
1792
+ "@entity",
1793
+ "@config.scopeField"
1794
+ ],
1795
+ "@user.id"
1796
+ ]
1797
+ ],
1733
1798
  "limit": "@config.pageSize",
1734
1799
  "offset": 0.0
1735
1800
  }
1736
- ],
1737
- [
1738
- "render-ui",
1739
- "main",
1740
- {
1741
- "rows": 4.0,
1742
- "type": "skeleton"
1743
- }
1744
1801
  ]
1745
1802
  ],
1746
1803
  "event": "INIT",
@@ -1759,20 +1816,40 @@
1759
1816
  "success": "BrowseItemLoaded"
1760
1817
  },
1761
1818
  "filter": [
1762
- "or",
1819
+ "and",
1763
1820
  [
1764
- "=",
1765
- "@payload.searchTerm",
1766
- ""
1821
+ "or",
1822
+ [
1823
+ "=",
1824
+ "@config.scopeField",
1825
+ ""
1826
+ ],
1827
+ [
1828
+ "=",
1829
+ [
1830
+ "object/get",
1831
+ "@entity",
1832
+ "@config.scopeField"
1833
+ ],
1834
+ "@user.id"
1835
+ ]
1767
1836
  ],
1768
1837
  [
1769
- "str/includes",
1838
+ "or",
1770
1839
  [
1771
- "object/get",
1772
- "@entity",
1773
- "name"
1840
+ "=",
1841
+ "@payload.searchTerm",
1842
+ ""
1774
1843
  ],
1775
- "@payload.searchTerm"
1844
+ [
1845
+ "str/includes",
1846
+ [
1847
+ "object/get",
1848
+ "@entity",
1849
+ "name"
1850
+ ],
1851
+ "@payload.searchTerm"
1852
+ ]
1776
1853
  ]
1777
1854
  ],
1778
1855
  "limit": "@config.pageSize",
@@ -1796,20 +1873,40 @@
1796
1873
  "success": "BrowseItemLoaded"
1797
1874
  },
1798
1875
  "filter": [
1799
- "or",
1876
+ "and",
1800
1877
  [
1801
- "=",
1802
- "@payload.value",
1803
- ""
1878
+ "or",
1879
+ [
1880
+ "=",
1881
+ "@config.scopeField",
1882
+ ""
1883
+ ],
1884
+ [
1885
+ "=",
1886
+ [
1887
+ "object/get",
1888
+ "@entity",
1889
+ "@config.scopeField"
1890
+ ],
1891
+ "@user.id"
1892
+ ]
1804
1893
  ],
1805
1894
  [
1806
- "=",
1895
+ "or",
1807
1896
  [
1808
- "object/get",
1809
- "@entity",
1810
- "@payload.field"
1897
+ "=",
1898
+ "@payload.value",
1899
+ ""
1811
1900
  ],
1812
- "@payload.value"
1901
+ [
1902
+ "=",
1903
+ [
1904
+ "object/get",
1905
+ "@entity",
1906
+ "@payload.field"
1907
+ ],
1908
+ "@payload.value"
1909
+ ]
1813
1910
  ]
1814
1911
  ],
1815
1912
  "limit": "@config.pageSize",
@@ -1832,6 +1929,23 @@
1832
1929
  "failure": "BrowseItemLoadFailed",
1833
1930
  "success": "BrowseItemLoaded"
1834
1931
  },
1932
+ "filter": [
1933
+ "or",
1934
+ [
1935
+ "=",
1936
+ "@config.scopeField",
1937
+ ""
1938
+ ],
1939
+ [
1940
+ "=",
1941
+ [
1942
+ "object/get",
1943
+ "@entity",
1944
+ "@config.scopeField"
1945
+ ],
1946
+ "@user.id"
1947
+ ]
1948
+ ],
1835
1949
  "limit": "@config.pageSize",
1836
1950
  "offset": [
1837
1951
  "*",
@@ -1974,6 +2088,23 @@
1974
2088
  "failure": "BrowseItemLoadFailed",
1975
2089
  "success": "BrowseItemLoaded"
1976
2090
  },
2091
+ "filter": [
2092
+ "or",
2093
+ [
2094
+ "=",
2095
+ "@config.scopeField",
2096
+ ""
2097
+ ],
2098
+ [
2099
+ "=",
2100
+ [
2101
+ "object/get",
2102
+ "@entity",
2103
+ "@config.scopeField"
2104
+ ],
2105
+ "@user.id"
2106
+ ]
2107
+ ],
1977
2108
  "limit": "@config.pageSize",
1978
2109
  "offset": 0.0
1979
2110
  }
@@ -2022,5 +2153,5 @@
2022
2153
  }
2023
2154
  ],
2024
2155
  "schemaVersion": 1,
2025
- "version": "2.3.0"
2156
+ "version": "2.4.0"
2026
2157
  }
@@ -202,6 +202,28 @@
202
202
  {
203
203
  "category": "interaction",
204
204
  "config": {
205
+ "agendaGroupBy": {
206
+ "default": "date",
207
+ "description": "Row field the agenda list groups its day sections by. Rebound hosts point this at their own timestamp column (e.g. startTime, scheduledAt).",
208
+ "label": "Agenda group-by field",
209
+ "synonyms": "group field, section field, day field",
210
+ "tier": "presentation",
211
+ "type": "string"
212
+ },
213
+ "agendaItemActions": {
214
+ "default": [
215
+ {
216
+ "event": "SELECT_DAY",
217
+ "icon": "eye",
218
+ "label": "View"
219
+ }
220
+ ],
221
+ "description": "Per-item action buttons on agenda-list rows — data-list itemActions descriptors (label/event/icon/variant). Consumers override to wire their own row actions (View/Edit/Delete) so agenda hosts never need a second table for actions.",
222
+ "label": "Agenda item actions",
223
+ "synonyms": "agenda actions, row actions, event actions, list actions",
224
+ "tier": "presentation",
225
+ "type": "json"
226
+ },
205
227
  "agendaListBodyContent": {
206
228
  "default": {
207
229
  "children": [
@@ -243,7 +265,8 @@
243
265
  "entity": "@payload.data",
244
266
  "fields": [],
245
267
  "gap": "md",
246
- "groupBy": "date",
268
+ "groupBy": "@config.agendaGroupBy",
269
+ "itemActions": "@config.agendaItemActions",
247
270
  "renderItem": [
248
271
  "fn",
249
272
  "item",
@@ -258,6 +281,7 @@
258
281
  {
259
282
  "color": "muted",
260
283
  "content": "@config.timeBinding",
284
+ "format": "time",
261
285
  "type": "typography",
262
286
  "variant": "overline"
263
287
  },
@@ -426,29 +426,27 @@
426
426
  "parties": {
427
427
  "default": [
428
428
  {
429
- "actionDescription": "Authorize $28,500 to be held in escrow until delivery is confirmed.",
429
+ "actionDescription": "Authorize the funds to be held in escrow until delivery is confirmed.",
430
430
  "actionIcon": "credit-card",
431
431
  "actionLabel": "Confirm payment",
432
- "actor": "Alice Chen",
433
- "description": "Funds the transaction and confirms receipt of the vehicle.",
432
+ "description": "Funds the transaction and confirms receipt.",
434
433
  "icon": "user",
435
434
  "id": "buyer",
436
435
  "stepLabel": "Step 1 of 2",
437
436
  "title": "Buyer"
438
437
  },
439
438
  {
440
- "actionDescription": "Mark the vehicle as shipped. Funds will release after the buyer confirms receipt.",
439
+ "actionDescription": "Mark the item as shipped. Funds release after the buyer confirms receipt.",
441
440
  "actionIcon": "package",
442
441
  "actionLabel": "Confirm shipment",
443
- "actor": "Bob's Auto Sales LLC",
444
- "description": "Ships the vehicle and uploads delivery proof.",
442
+ "description": "Ships the item and uploads delivery proof.",
445
443
  "icon": "user-check",
446
444
  "id": "seller",
447
445
  "stepLabel": "Step 2 of 2",
448
446
  "title": "Seller"
449
447
  }
450
448
  ],
451
- "description": "Ordered participants with role, actor name, and required action",
449
+ "description": "Ordered participants with role, actor name, and required action. stepLabel entries should track the party count when overriding.",
452
450
  "items": {
453
451
  "properties": {
454
452
  "actionDescription": {
@@ -570,21 +568,21 @@
570
568
  "type": "string"
571
569
  },
572
570
  "transactionAmount": {
573
- "default": "$28,500",
571
+ "default": "$0.00",
574
572
  "description": "Formatted amount held in escrow",
575
573
  "label": "Amount",
576
574
  "tier": "presentation",
577
575
  "type": "string"
578
576
  },
579
577
  "transactionReference": {
580
- "default": "TXN-A8B2C-2024-001",
578
+ "default": "",
581
579
  "description": "External identifier shown in the summary",
582
580
  "label": "Reference",
583
581
  "tier": "presentation",
584
582
  "type": "string"
585
583
  },
586
584
  "transactionSubject": {
587
- "default": "Sale of 2024 Honda CR-V",
585
+ "default": "Sale of item",
588
586
  "description": "Short description of what is being transacted",
589
587
  "label": "Subject",
590
588
  "tier": "presentation",
@@ -458,6 +458,15 @@
458
458
  "format": "number",
459
459
  "icon": "list",
460
460
  "label": "Total Items",
461
+ "sparklineData": [
462
+ 2.0,
463
+ 4.0,
464
+ 3.0,
465
+ 6.0,
466
+ 5.0,
467
+ 8.0,
468
+ 7.0
469
+ ],
461
470
  "variant": "primary"
462
471
  },
463
472
  {
@@ -465,6 +474,15 @@
465
474
  "format": "number",
466
475
  "icon": "check-circle",
467
476
  "label": "Active",
477
+ "sparklineData": [
478
+ 1.0,
479
+ 3.0,
480
+ 2.0,
481
+ 4.0,
482
+ 6.0,
483
+ 5.0,
484
+ 7.0
485
+ ],
468
486
  "variant": "success"
469
487
  },
470
488
  {
@@ -473,6 +491,15 @@
473
491
  "format": "number",
474
492
  "icon": "trending-up",
475
493
  "label": "Avg Value",
494
+ "sparklineData": [
495
+ 5.0,
496
+ 4.0,
497
+ 6.0,
498
+ 3.0,
499
+ 5.0,
500
+ 7.0,
501
+ 6.0
502
+ ],
476
503
  "variant": "info"
477
504
  }
478
505
  ],
@@ -126,8 +126,23 @@
126
126
  "tier": "presentation",
127
127
  "type": "node"
128
128
  },
129
+ "format": {
130
+ "default": "none",
131
+ "description": "Value formatting applied to string/number/Date content — `none` (the default) renders content as-is. Covers the raw-ISO-date class: a bound datetime renders human-readable via `format='date'|'time'|'datetime'`.",
132
+ "label": "Format",
133
+ "tier": "presentation",
134
+ "type": "string",
135
+ "values": [
136
+ "none",
137
+ "date",
138
+ "time",
139
+ "datetime",
140
+ "number",
141
+ "currency",
142
+ "percent"
143
+ ]
144
+ },
129
145
  "level": {
130
- "default": 1.0,
131
146
  "description": "Heading level (1-6) - alternative to variant for headings",
132
147
  "label": "Level",
133
148
  "tier": "presentation",
@@ -258,6 +273,7 @@
258
273
  "className": "@config.className",
259
274
  "color": "@config.color",
260
275
  "content": "@config.content",
276
+ "format": "@config.format",
261
277
  "level": "@config.level",
262
278
  "overflow": "@config.overflow",
263
279
  "size": "@config.size",
@@ -129,7 +129,6 @@
129
129
  "type": "string"
130
130
  },
131
131
  "cols": {
132
- "default": 1.0,
133
132
  "description": "Number of columns (uses auto-fit if omitted)",
134
133
  "label": "Cols",
135
134
  "tier": "presentation",
@@ -350,8 +349,46 @@
350
349
  },
351
350
  "itemActions": {
352
351
  "default": [],
352
+ "description": "Per-item action buttons",
353
+ "items": {
354
+ "properties": {
355
+ "event": {
356
+ "name": "event",
357
+ "required": false,
358
+ "type": "string"
359
+ },
360
+ "icon": {
361
+ "name": "icon",
362
+ "required": false,
363
+ "type": "string"
364
+ },
365
+ "label": {
366
+ "name": "label",
367
+ "required": true,
368
+ "type": "string"
369
+ },
370
+ "navigatesTo": {
371
+ "name": "navigatesTo",
372
+ "required": false,
373
+ "type": "string"
374
+ },
375
+ "variant": {
376
+ "name": "variant",
377
+ "required": false,
378
+ "type": "string",
379
+ "values": [
380
+ "primary",
381
+ "secondary",
382
+ "ghost",
383
+ "danger"
384
+ ]
385
+ }
386
+ },
387
+ "type": "object"
388
+ },
389
+ "label": "Item Actions",
353
390
  "tier": "presentation",
354
- "type": "json"
391
+ "type": "[DataGridItemActionsItem]"
355
392
  },
356
393
  "loadMoreEvent": {
357
394
  "default": "LOAD_MORE",