@almadar/std 14.9.0 → 14.10.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 (35) hide show
  1. package/behaviors/registry/app/organisms/std-api-gateway.orb +419 -171
  2. package/behaviors/registry/app/organisms/std-booking-system.orb +760 -620
  3. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +477 -229
  4. package/behaviors/registry/app/organisms/std-cms.orb +433 -298
  5. package/behaviors/registry/app/organisms/std-crm.orb +355 -215
  6. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +504 -369
  7. package/behaviors/registry/app/organisms/std-finance-tracker.orb +271 -189
  8. package/behaviors/registry/app/organisms/std-healthcare.orb +676 -468
  9. package/behaviors/registry/app/organisms/std-helpdesk.orb +246 -166
  10. package/behaviors/registry/app/organisms/std-hr-portal.orb +534 -399
  11. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +420 -340
  12. package/behaviors/registry/app/organisms/std-lms.orb +462 -378
  13. package/behaviors/registry/app/organisms/std-project-manager.orb +282 -200
  14. package/behaviors/registry/app/organisms/std-realtime-chat.orb +317 -235
  15. package/behaviors/registry/app/organisms/std-social-feed.orb +256 -137
  16. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +342 -218
  17. package/behaviors/registry/core/molecules/std-app-layout.orb +90 -21
  18. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +419 -171
  19. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +760 -620
  20. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +477 -229
  21. package/dist/behaviors/registry/app/organisms/std-cms.orb +433 -298
  22. package/dist/behaviors/registry/app/organisms/std-crm.orb +355 -215
  23. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +504 -369
  24. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +271 -189
  25. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +676 -468
  26. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +246 -166
  27. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +534 -399
  28. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +420 -340
  29. package/dist/behaviors/registry/app/organisms/std-lms.orb +462 -378
  30. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +282 -200
  31. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +317 -235
  32. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +256 -137
  33. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +342 -218
  34. package/dist/behaviors/registry/core/molecules/std-app-layout.orb +90 -21
  35. package/package.json +1 -1
@@ -94,28 +94,28 @@
94
94
  "ref": "AppShell.traits.AppLayout",
95
95
  "name": "TransactionAppLayout",
96
96
  "config": {
97
- "contentTrait": "@trait.TransactionCatalog",
98
97
  "searchEvent": "TRANSACTION_SEARCH",
98
+ "appName": "Finance Tracker",
99
+ "notifications": [],
100
+ "contentTrait": "@trait.TransactionCatalog",
101
+ "notificationClickEvent": "TRANSACTION_NOTIFICATIONS_OPEN",
99
102
  "navItems": [
100
103
  {
101
- "href": "/transactions",
104
+ "label": "Transactions",
102
105
  "icon": "receipt",
103
- "label": "Transactions"
106
+ "href": "/transactions"
104
107
  },
105
108
  {
106
- "label": "Summary",
109
+ "icon": "layout-list",
107
110
  "href": "/summary",
108
- "icon": "layout-list"
111
+ "label": "Summary"
109
112
  },
110
113
  {
114
+ "href": "/reports",
111
115
  "icon": "bar-chart",
112
- "label": "Reports",
113
- "href": "/reports"
116
+ "label": "Reports"
114
117
  }
115
- ],
116
- "notifications": [],
117
- "appName": "Finance Tracker",
118
- "notificationClickEvent": "TRANSACTION_NOTIFICATIONS_OPEN"
118
+ ]
119
119
  },
120
120
  "events": {
121
121
  "NOTIFY_CLICK": "TRANSACTION_NOTIFICATIONS_OPEN",
@@ -202,61 +202,60 @@
202
202
  "render-ui",
203
203
  "main",
204
204
  {
205
- "gap": "lg",
206
205
  "type": "stack",
207
206
  "children": [
208
207
  {
209
208
  "justify": "between",
210
209
  "children": [
211
210
  {
211
+ "direction": "horizontal",
212
+ "gap": "sm",
212
213
  "align": "center",
213
214
  "type": "stack",
214
- "direction": "horizontal",
215
215
  "children": [
216
216
  {
217
- "name": "receipt",
218
- "type": "icon"
217
+ "type": "icon",
218
+ "name": "receipt"
219
219
  },
220
220
  {
221
- "type": "typography",
221
+ "variant": "h2",
222
222
  "content": "Transactions",
223
- "variant": "h2"
223
+ "type": "typography"
224
224
  }
225
- ],
226
- "gap": "sm"
225
+ ]
227
226
  },
228
227
  {
229
228
  "children": [
230
229
  {
231
- "type": "button",
232
230
  "label": "Add Transaction",
233
- "action": "CREATE",
234
231
  "icon": "plus",
235
- "variant": "primary"
232
+ "action": "CREATE",
233
+ "variant": "primary",
234
+ "type": "button"
236
235
  }
237
236
  ],
237
+ "gap": "sm",
238
238
  "type": "stack",
239
- "direction": "horizontal",
240
- "gap": "sm"
239
+ "direction": "horizontal"
241
240
  }
242
241
  ],
242
+ "type": "stack",
243
243
  "gap": "md",
244
244
  "direction": "horizontal",
245
- "align": "center",
246
- "type": "stack"
245
+ "align": "center"
247
246
  },
248
247
  {
249
248
  "type": "divider"
250
249
  },
251
250
  {
251
+ "align": "center",
252
252
  "children": [
253
253
  "@trait.TransactionSearch",
254
254
  "@trait.TransactionFilter"
255
255
  ],
256
- "align": "center",
256
+ "type": "stack",
257
257
  "direction": "horizontal",
258
- "gap": "md",
259
- "type": "stack"
258
+ "gap": "md"
260
259
  },
261
260
  "@trait.TransactionStats",
262
261
  "@trait.TransactionGraphs",
@@ -265,7 +264,8 @@
265
264
  },
266
265
  "@trait.TransactionBrowseList"
267
266
  ],
268
- "direction": "vertical"
267
+ "direction": "vertical",
268
+ "gap": "lg"
269
269
  }
270
270
  ]
271
271
  ]
@@ -284,18 +284,15 @@
284
284
  "render-ui",
285
285
  "main",
286
286
  {
287
- "gap": "md",
288
- "direction": "vertical",
289
- "align": "center",
290
287
  "children": [
291
288
  {
292
- "type": "icon",
293
- "name": "bell"
289
+ "name": "bell",
290
+ "type": "icon"
294
291
  },
295
292
  {
296
293
  "variant": "h3",
297
- "content": "No notifications",
298
- "type": "typography"
294
+ "type": "typography",
295
+ "content": "No notifications"
299
296
  },
300
297
  {
301
298
  "variant": "caption",
@@ -304,14 +301,17 @@
304
301
  "content": "You're all caught up."
305
302
  },
306
303
  {
307
- "variant": "ghost",
308
304
  "label": "Back to transactions",
305
+ "type": "button",
309
306
  "action": "INIT",
310
- "type": "button"
307
+ "variant": "ghost"
311
308
  }
312
309
  ],
313
310
  "className": "py-8",
314
- "type": "stack"
311
+ "gap": "md",
312
+ "type": "stack",
313
+ "align": "center",
314
+ "direction": "vertical"
315
315
  }
316
316
  ]
317
317
  ]
@@ -335,14 +335,14 @@
335
335
  "event": "TRANSACTION_FILTER",
336
336
  "filters": [
337
337
  {
338
- "field": "category",
339
338
  "label": "Category",
339
+ "field": "category",
340
340
  "filterType": "text"
341
341
  },
342
342
  {
343
- "field": "account",
343
+ "label": "Account",
344
344
  "filterType": "text",
345
- "label": "Account"
345
+ "field": "account"
346
346
  },
347
347
  {
348
348
  "field": "type",
@@ -363,7 +363,11 @@
363
363
  "title": "Transactions",
364
364
  "metrics": [
365
365
  {
366
+ "field": "amount",
366
367
  "format": "currency",
368
+ "aggregation": "sum",
369
+ "label": "Income",
370
+ "variant": "success",
367
371
  "filter": [
368
372
  "fn",
369
373
  "row",
@@ -373,17 +377,12 @@
373
377
  "income"
374
378
  ]
375
379
  ],
376
- "label": "Income",
377
- "field": "amount",
378
- "icon": "trending-up",
379
- "aggregation": "sum",
380
- "variant": "success"
380
+ "icon": "trending-up"
381
381
  },
382
382
  {
383
- "label": "Expenses",
383
+ "aggregation": "sum",
384
+ "field": "amount",
384
385
  "variant": "error",
385
- "format": "currency",
386
- "icon": "trending-down",
387
386
  "filter": [
388
387
  "fn",
389
388
  "row",
@@ -393,15 +392,16 @@
393
392
  "expense"
394
393
  ]
395
394
  ],
396
- "field": "amount",
397
- "aggregation": "sum"
395
+ "label": "Expenses",
396
+ "icon": "trending-down",
397
+ "format": "currency"
398
398
  },
399
399
  {
400
400
  "aggregation": "count",
401
- "icon": "percent",
402
- "label": "Savings Rate",
403
401
  "variant": "primary",
404
- "format": "number"
402
+ "format": "number",
403
+ "label": "Savings Rate",
404
+ "icon": "percent"
405
405
  }
406
406
  ]
407
407
  },
@@ -420,14 +420,14 @@
420
420
  "ref": "Graphs.traits.GraphItemGraph",
421
421
  "name": "TransactionGraphs",
422
422
  "config": {
423
- "subtitle": "Distribution across categories",
423
+ "showLegend": true,
424
424
  "categoryField": "category",
425
+ "aggregation": "sum",
426
+ "height": 240.0,
425
427
  "title": "Spending by Category",
426
428
  "chartType": "pie",
427
429
  "valueField": "amount",
428
- "aggregation": "sum",
429
- "showLegend": true,
430
- "height": 240.0
430
+ "subtitle": "Distribution across categories"
431
431
  },
432
432
  "listens": [
433
433
  {
@@ -445,13 +445,12 @@
445
445
  "name": "TransactionBrowseList",
446
446
  "linkedEntity": "Transaction",
447
447
  "config": {
448
- "gap": "sm",
449
448
  "cols": 1.0,
450
449
  "fields": [
451
450
  {
452
- "name": "date",
453
451
  "variant": "caption",
454
- "format": "date"
452
+ "format": "date",
453
+ "name": "date"
455
454
  },
456
455
  {
457
456
  "name": "description",
@@ -459,13 +458,13 @@
459
458
  "icon": "receipt"
460
459
  },
461
460
  {
462
- "name": "category",
463
- "variant": "badge"
461
+ "variant": "badge",
462
+ "name": "category"
464
463
  },
465
464
  {
466
465
  "variant": "h4",
467
- "name": "amount",
468
- "format": "currency"
466
+ "format": "currency",
467
+ "name": "amount"
469
468
  },
470
469
  {
471
470
  "variant": "badge",
@@ -474,21 +473,22 @@
474
473
  ],
475
474
  "itemActions": [
476
475
  {
477
- "label": "View",
478
476
  "event": "VIEW",
477
+ "label": "View",
479
478
  "variant": "ghost"
480
479
  },
481
480
  {
482
481
  "label": "Edit",
483
- "event": "EDIT",
484
- "variant": "ghost"
482
+ "variant": "ghost",
483
+ "event": "EDIT"
485
484
  },
486
485
  {
487
486
  "variant": "danger",
488
- "label": "Delete",
489
- "event": "DELETE"
487
+ "event": "DELETE",
488
+ "label": "Delete"
490
489
  }
491
- ]
490
+ ],
491
+ "gap": "sm"
492
492
  },
493
493
  "listens": [
494
494
  {
@@ -538,8 +538,8 @@
538
538
  "name": "TransactionCreate",
539
539
  "linkedEntity": "Transaction",
540
540
  "config": {
541
- "icon": "plus-circle",
542
541
  "title": "Add Transaction",
542
+ "mode": "create",
543
543
  "fields": [
544
544
  "description",
545
545
  "amount",
@@ -548,7 +548,7 @@
548
548
  "type",
549
549
  "date"
550
550
  ],
551
- "mode": "create"
551
+ "icon": "plus-circle"
552
552
  },
553
553
  "events": {
554
554
  "OPEN": "CREATE"
@@ -569,7 +569,9 @@
569
569
  "name": "TransactionEdit",
570
570
  "linkedEntity": "Transaction",
571
571
  "config": {
572
+ "mode": "edit",
572
573
  "title": "Edit Transaction",
574
+ "icon": "edit",
573
575
  "fields": [
574
576
  "description",
575
577
  "amount",
@@ -577,9 +579,7 @@
577
579
  "account",
578
580
  "type",
579
581
  "date"
580
- ],
581
- "mode": "edit",
582
- "icon": "edit"
582
+ ]
583
583
  },
584
584
  "events": {
585
585
  "OPEN": "EDIT"
@@ -600,9 +600,6 @@
600
600
  "name": "TransactionView",
601
601
  "linkedEntity": "Transaction",
602
602
  "config": {
603
- "mode": "edit",
604
- "icon": "eye",
605
- "title": "View Transaction",
606
603
  "fields": [
607
604
  "description",
608
605
  "amount",
@@ -610,7 +607,10 @@
610
607
  "account",
611
608
  "type",
612
609
  "date"
613
- ]
610
+ ],
611
+ "title": "View Transaction",
612
+ "icon": "eye",
613
+ "mode": "edit"
614
614
  },
615
615
  "events": {
616
616
  "OPEN": "VIEW"
@@ -631,14 +631,14 @@
631
631
  "name": "TransactionDelete",
632
632
  "linkedEntity": "Transaction",
633
633
  "config": {
634
- "confirmLabel": "Delete",
635
- "icon": "alert-triangle",
634
+ "alertMessage": "This action cannot be undone.",
636
635
  "title": "Delete Transaction",
637
- "alertMessage": "This action cannot be undone."
636
+ "icon": "alert-triangle",
637
+ "confirmLabel": "Delete"
638
638
  },
639
639
  "events": {
640
- "CONFIRM": "CONFIRM_DELETE",
641
- "REQUEST": "DELETE"
640
+ "REQUEST": "DELETE",
641
+ "CONFIRM": "CONFIRM_DELETE"
642
642
  },
643
643
  "listens": [
644
644
  {
@@ -882,6 +882,12 @@
882
882
  },
883
883
  {
884
884
  "name": "FinanceSummaryOrbital",
885
+ "uses": [
886
+ {
887
+ "from": "std/behaviors/std-app-layout",
888
+ "as": "AppShell"
889
+ }
890
+ ],
885
891
  "entity": {
886
892
  "name": "FinanceSummary",
887
893
  "persistence": "runtime",
@@ -914,6 +920,39 @@
914
920
  ]
915
921
  },
916
922
  "traits": [
923
+ {
924
+ "ref": "AppShell.traits.AppLayout",
925
+ "name": "FinanceSummaryAppLayout",
926
+ "linkedEntity": "FinanceSummary",
927
+ "config": {
928
+ "navItems": [
929
+ {
930
+ "label": "Transactions",
931
+ "href": "/transactions",
932
+ "icon": "receipt"
933
+ },
934
+ {
935
+ "href": "/summary",
936
+ "label": "Summary",
937
+ "icon": "layout-list"
938
+ },
939
+ {
940
+ "href": "/reports",
941
+ "icon": "bar-chart",
942
+ "label": "Reports"
943
+ }
944
+ ],
945
+ "contentTrait": "@trait.FinanceSummaryDisplay",
946
+ "appName": "Finance Tracker",
947
+ "searchEvent": "FINANCE_SUMMARY_SEARCH",
948
+ "notificationClickEvent": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN",
949
+ "notifications": []
950
+ },
951
+ "events": {
952
+ "SEARCH": "FINANCE_SUMMARY_SEARCH",
953
+ "NOTIFY_CLICK": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN"
954
+ }
955
+ },
917
956
  {
918
957
  "name": "FinanceSummaryDisplay",
919
958
  "category": "interaction",
@@ -1027,9 +1066,7 @@
1027
1066
  "render-ui",
1028
1067
  "main",
1029
1068
  {
1030
- "className": "max-w-5xl mx-auto w-full",
1031
1069
  "type": "stack",
1032
- "gap": "lg",
1033
1070
  "children": [
1034
1071
  {
1035
1072
  "type": "breadcrumb",
@@ -1046,75 +1083,77 @@
1046
1083
  {
1047
1084
  "gap": "md",
1048
1085
  "align": "center",
1049
- "type": "stack",
1050
- "direction": "horizontal",
1051
- "justify": "between",
1052
1086
  "children": [
1053
1087
  {
1088
+ "direction": "horizontal",
1054
1089
  "gap": "sm",
1090
+ "align": "center",
1055
1091
  "type": "stack",
1056
- "direction": "horizontal",
1057
1092
  "children": [
1058
1093
  {
1059
- "type": "icon",
1060
- "name": "pie-chart"
1094
+ "name": "pie-chart",
1095
+ "type": "icon"
1061
1096
  },
1062
1097
  {
1063
- "variant": "h2",
1064
1098
  "content": "Financial Summary",
1099
+ "variant": "h2",
1065
1100
  "type": "typography"
1066
1101
  }
1067
- ],
1068
- "align": "center"
1102
+ ]
1069
1103
  },
1070
1104
  {
1071
- "label": "Refresh",
1105
+ "type": "button",
1072
1106
  "action": "REFRESH",
1073
1107
  "variant": "secondary",
1074
- "icon": "refresh-cw",
1075
- "type": "button"
1108
+ "label": "Refresh",
1109
+ "icon": "refresh-cw"
1076
1110
  }
1077
- ]
1111
+ ],
1112
+ "type": "stack",
1113
+ "direction": "horizontal",
1114
+ "justify": "between"
1078
1115
  },
1079
1116
  {
1080
1117
  "type": "divider"
1081
1118
  },
1082
1119
  {
1083
1120
  "cols": 4.0,
1084
- "type": "simple-grid",
1085
1121
  "children": [
1086
1122
  {
1087
1123
  "icon": "trending-up",
1124
+ "label": "Total Income",
1088
1125
  "value": "@entity.totalIncome",
1089
- "variant": "success",
1090
1126
  "type": "stat-display",
1091
- "label": "Total Income"
1127
+ "variant": "success"
1092
1128
  },
1093
1129
  {
1094
- "type": "stat-display",
1095
1130
  "variant": "error",
1096
1131
  "value": "@entity.totalExpenses",
1097
1132
  "icon": "trending-down",
1133
+ "type": "stat-display",
1098
1134
  "label": "Total Expenses"
1099
1135
  },
1100
1136
  {
1101
- "variant": "primary",
1102
- "value": "@entity.balance",
1103
- "label": "Balance",
1104
1137
  "type": "stat-display",
1105
- "icon": "wallet"
1138
+ "label": "Balance",
1139
+ "value": "@entity.balance",
1140
+ "icon": "wallet",
1141
+ "variant": "primary"
1106
1142
  },
1107
1143
  {
1108
1144
  "value": "@entity.savingsRate",
1109
- "type": "stat-display",
1110
1145
  "label": "Savings Rate",
1111
1146
  "icon": "percent",
1147
+ "type": "stat-display",
1112
1148
  "variant": "primary"
1113
1149
  }
1114
- ]
1150
+ ],
1151
+ "type": "simple-grid"
1115
1152
  }
1116
1153
  ],
1117
- "direction": "vertical"
1154
+ "gap": "lg",
1155
+ "direction": "vertical",
1156
+ "className": "max-w-5xl mx-auto w-full"
1118
1157
  }
1119
1158
  ]
1120
1159
  ]
@@ -1129,8 +1168,8 @@
1129
1168
  "FinanceSummary",
1130
1169
  {
1131
1170
  "emit": {
1132
- "success": "FinanceSummaryLoaded",
1133
- "failure": "FinanceSummaryLoadFailed"
1171
+ "failure": "FinanceSummaryLoadFailed",
1172
+ "success": "FinanceSummaryLoaded"
1134
1173
  }
1135
1174
  }
1136
1175
  ]
@@ -1146,6 +1185,9 @@
1146
1185
  "name": "Summary",
1147
1186
  "path": "/summary",
1148
1187
  "traits": [
1188
+ {
1189
+ "ref": "FinanceSummaryAppLayout"
1190
+ },
1149
1191
  {
1150
1192
  "ref": "FinanceSummaryDisplay"
1151
1193
  }
@@ -1156,6 +1198,10 @@
1156
1198
  {
1157
1199
  "name": "FinanceReportOrbital",
1158
1200
  "uses": [
1201
+ {
1202
+ "from": "std/behaviors/std-app-layout",
1203
+ "as": "AppShell"
1204
+ },
1159
1205
  {
1160
1206
  "from": "std/behaviors/std-modal",
1161
1207
  "as": "Modal"
@@ -1208,6 +1254,39 @@
1208
1254
  ]
1209
1255
  },
1210
1256
  "traits": [
1257
+ {
1258
+ "ref": "AppShell.traits.AppLayout",
1259
+ "name": "FinanceReportAppLayout",
1260
+ "linkedEntity": "FinanceReport",
1261
+ "config": {
1262
+ "navItems": [
1263
+ {
1264
+ "icon": "receipt",
1265
+ "label": "Transactions",
1266
+ "href": "/transactions"
1267
+ },
1268
+ {
1269
+ "icon": "layout-list",
1270
+ "label": "Summary",
1271
+ "href": "/summary"
1272
+ },
1273
+ {
1274
+ "href": "/reports",
1275
+ "label": "Reports",
1276
+ "icon": "bar-chart"
1277
+ }
1278
+ ],
1279
+ "notifications": [],
1280
+ "notificationClickEvent": "FINANCE_REPORT_NOTIFICATIONS_OPEN",
1281
+ "appName": "Finance Tracker",
1282
+ "searchEvent": "FINANCE_REPORT_SEARCH",
1283
+ "contentTrait": "@trait.FinanceReportBrowse"
1284
+ },
1285
+ "events": {
1286
+ "NOTIFY_CLICK": "FINANCE_REPORT_NOTIFICATIONS_OPEN",
1287
+ "SEARCH": "FINANCE_REPORT_SEARCH"
1288
+ }
1289
+ },
1211
1290
  {
1212
1291
  "name": "FinanceReportBrowse",
1213
1292
  "category": "interaction",
@@ -1488,22 +1567,22 @@
1488
1567
  "render-ui",
1489
1568
  "main",
1490
1569
  {
1491
- "type": "stack",
1492
- "direction": "vertical",
1493
- "align": "center",
1494
- "gap": "md",
1495
- "className": "py-12",
1496
1570
  "children": [
1497
1571
  {
1498
1572
  "type": "spinner"
1499
1573
  },
1500
1574
  {
1501
- "color": "muted",
1502
1575
  "variant": "caption",
1576
+ "color": "muted",
1503
1577
  "type": "typography",
1504
1578
  "content": "Loading…"
1505
1579
  }
1506
- ]
1580
+ ],
1581
+ "gap": "md",
1582
+ "type": "stack",
1583
+ "align": "center",
1584
+ "direction": "vertical",
1585
+ "className": "py-12"
1507
1586
  }
1508
1587
  ]
1509
1588
  ]
@@ -1517,110 +1596,110 @@
1517
1596
  "render-ui",
1518
1597
  "main",
1519
1598
  {
1599
+ "gap": "lg",
1520
1600
  "direction": "vertical",
1601
+ "type": "stack",
1521
1602
  "children": [
1522
1603
  {
1523
- "align": "center",
1604
+ "gap": "md",
1605
+ "direction": "horizontal",
1606
+ "justify": "between",
1607
+ "type": "stack",
1524
1608
  "children": [
1525
1609
  {
1526
1610
  "children": [
1527
1611
  {
1528
- "name": "file-text",
1529
- "type": "icon"
1612
+ "type": "icon",
1613
+ "name": "file-text"
1530
1614
  },
1531
1615
  {
1532
- "type": "typography",
1533
1616
  "content": "Reports",
1617
+ "type": "typography",
1534
1618
  "variant": "h2"
1535
1619
  }
1536
1620
  ],
1537
- "type": "stack",
1538
1621
  "gap": "sm",
1622
+ "type": "stack",
1539
1623
  "direction": "horizontal",
1540
1624
  "align": "center"
1541
1625
  },
1542
1626
  {
1627
+ "direction": "horizontal",
1543
1628
  "gap": "sm",
1629
+ "type": "stack",
1544
1630
  "children": [
1545
1631
  {
1546
- "action": "CREATE",
1547
- "label": "New Report",
1548
- "variant": "primary",
1632
+ "type": "button",
1549
1633
  "icon": "plus",
1550
- "type": "button"
1634
+ "variant": "primary",
1635
+ "action": "CREATE",
1636
+ "label": "New Report"
1551
1637
  }
1552
- ],
1553
- "direction": "horizontal",
1554
- "type": "stack"
1638
+ ]
1555
1639
  }
1556
1640
  ],
1557
- "type": "stack",
1558
- "justify": "between",
1559
- "gap": "md",
1560
- "direction": "horizontal"
1641
+ "align": "center"
1561
1642
  },
1562
1643
  {
1563
1644
  "type": "divider"
1564
1645
  },
1565
1646
  {
1566
1647
  "type": "alert",
1567
- "message": "Generated reports are downloadable as PDF or CSV.",
1568
- "variant": "info"
1648
+ "variant": "info",
1649
+ "message": "Generated reports are downloadable as PDF or CSV."
1569
1650
  },
1570
1651
  {
1571
- "type": "data-list",
1572
- "itemActions": [
1573
- {
1574
- "event": "VIEW",
1575
- "label": "Preview",
1576
- "variant": "ghost"
1577
- },
1578
- {
1579
- "event": "EXPORT_PDF",
1580
- "label": "Download PDF",
1581
- "variant": "primary"
1582
- },
1583
- {
1584
- "variant": "ghost",
1585
- "event": "EXPORT_CSV",
1586
- "label": "Download CSV"
1587
- }
1588
- ],
1589
- "variant": "card",
1590
- "gap": "sm",
1591
1652
  "fields": [
1592
1653
  {
1593
- "variant": "h3",
1654
+ "icon": "file-text",
1594
1655
  "name": "title",
1595
- "icon": "file-text"
1656
+ "variant": "h3"
1596
1657
  },
1597
1658
  {
1598
1659
  "variant": "badge",
1599
1660
  "name": "period"
1600
1661
  },
1601
1662
  {
1602
- "label": "Date Range",
1603
1663
  "name": "dateRange",
1604
- "variant": "caption"
1664
+ "variant": "caption",
1665
+ "label": "Date Range"
1605
1666
  },
1606
1667
  {
1607
- "format": "currency",
1668
+ "name": "total",
1608
1669
  "variant": "h4",
1609
- "name": "total"
1670
+ "format": "currency"
1610
1671
  },
1611
1672
  {
1612
- "variant": "caption",
1613
- "name": "generatedAt",
1614
1673
  "label": "Generated",
1615
- "format": "date"
1674
+ "format": "date",
1675
+ "name": "generatedAt",
1676
+ "variant": "caption"
1677
+ }
1678
+ ],
1679
+ "gap": "sm",
1680
+ "type": "data-list",
1681
+ "itemActions": [
1682
+ {
1683
+ "variant": "ghost",
1684
+ "label": "Preview",
1685
+ "event": "VIEW"
1686
+ },
1687
+ {
1688
+ "variant": "primary",
1689
+ "label": "Download PDF",
1690
+ "event": "EXPORT_PDF"
1691
+ },
1692
+ {
1693
+ "label": "Download CSV",
1694
+ "event": "EXPORT_CSV",
1695
+ "variant": "ghost"
1616
1696
  }
1617
1697
  ],
1698
+ "variant": "card",
1618
1699
  "entity": "@payload.data"
1619
1700
  }
1620
1701
  ],
1621
- "className": "max-w-5xl mx-auto w-full",
1622
- "gap": "lg",
1623
- "type": "stack"
1702
+ "className": "max-w-5xl mx-auto w-full"
1624
1703
  }
1625
1704
  ]
1626
1705
  ]
@@ -1634,36 +1713,36 @@
1634
1713
  "render-ui",
1635
1714
  "main",
1636
1715
  {
1716
+ "align": "center",
1717
+ "direction": "vertical",
1637
1718
  "children": [
1638
1719
  {
1639
1720
  "name": "alert-triangle",
1640
- "color": "destructive",
1641
- "type": "icon"
1721
+ "type": "icon",
1722
+ "color": "destructive"
1642
1723
  },
1643
1724
  {
1644
1725
  "content": "Failed to load reports",
1645
- "variant": "h3",
1646
- "type": "typography"
1726
+ "type": "typography",
1727
+ "variant": "h3"
1647
1728
  },
1648
1729
  {
1649
1730
  "content": "@payload.error",
1731
+ "variant": "body",
1650
1732
  "type": "typography",
1651
- "color": "muted",
1652
- "variant": "body"
1733
+ "color": "muted"
1653
1734
  },
1654
1735
  {
1736
+ "label": "Retry",
1655
1737
  "action": "INIT",
1738
+ "type": "button",
1656
1739
  "variant": "primary",
1657
- "label": "Retry",
1658
- "icon": "rotate-ccw",
1659
- "type": "button"
1740
+ "icon": "rotate-ccw"
1660
1741
  }
1661
1742
  ],
1662
- "align": "center",
1663
- "direction": "vertical",
1664
- "className": "py-12",
1665
1743
  "type": "stack",
1666
- "gap": "md"
1744
+ "gap": "md",
1745
+ "className": "py-12"
1667
1746
  }
1668
1747
  ]
1669
1748
  ]
@@ -1701,8 +1780,8 @@
1701
1780
  "name": "FinanceReportView",
1702
1781
  "linkedEntity": "FinanceReport",
1703
1782
  "config": {
1704
- "icon": "eye",
1705
1783
  "title": "Report Preview",
1784
+ "icon": "eye",
1706
1785
  "mode": "edit",
1707
1786
  "fields": [
1708
1787
  "title",
@@ -1731,15 +1810,15 @@
1731
1810
  "name": "FinanceReportCreate",
1732
1811
  "linkedEntity": "FinanceReport",
1733
1812
  "config": {
1734
- "icon": "plus-circle",
1735
1813
  "title": "New Report",
1814
+ "icon": "plus-circle",
1815
+ "mode": "create",
1736
1816
  "fields": [
1737
1817
  "title",
1738
1818
  "period",
1739
1819
  "dateRange",
1740
1820
  "filters"
1741
- ],
1742
- "mode": "create"
1821
+ ]
1743
1822
  },
1744
1823
  "events": {
1745
1824
  "OPEN": "CREATE"
@@ -1843,6 +1922,9 @@
1843
1922
  "name": "Reports",
1844
1923
  "path": "/reports",
1845
1924
  "traits": [
1925
+ {
1926
+ "ref": "FinanceReportAppLayout"
1927
+ },
1846
1928
  {
1847
1929
  "ref": "FinanceReportBrowse"
1848
1930
  },