@almadar/std 14.15.1 → 14.17.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 (121) hide show
  1. package/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  2. package/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  3. package/behaviors/registry/app/atoms/std-dunning.orb +72 -76
  4. package/behaviors/registry/app/atoms/std-event.orb +62 -62
  5. package/behaviors/registry/app/atoms/std-flag.orb +72 -72
  6. package/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  7. package/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  8. package/behaviors/registry/app/atoms/std-invoice.orb +193 -65
  9. package/behaviors/registry/app/atoms/std-kitchen-display.orb +58 -58
  10. package/behaviors/registry/app/atoms/std-menu.orb +44 -44
  11. package/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  12. package/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  13. package/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  14. package/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  15. package/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  16. package/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  17. package/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  18. package/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  19. package/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  20. package/behaviors/registry/app/atoms/std-route-optimize.orb +49 -49
  21. package/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  22. package/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  23. package/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  24. package/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  25. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  26. package/behaviors/registry/app/atoms/std-thread.orb +59 -59
  27. package/behaviors/registry/app/atoms/std-ticket-tier.orb +53 -53
  28. package/behaviors/registry/app/atoms/std-trial.orb +67 -67
  29. package/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  30. package/behaviors/registry/app/atoms/std-vote.orb +40 -40
  31. package/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  32. package/behaviors/registry/app/atoms/std-work-order.orb +48 -48
  33. package/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  34. package/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  35. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  36. package/behaviors/registry/app/organisms/std-cms.orb +265 -265
  37. package/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  38. package/behaviors/registry/app/organisms/std-crm.orb +258 -258
  39. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  40. package/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  41. package/behaviors/registry/app/organisms/std-event-ticketing.orb +217 -217
  42. package/behaviors/registry/app/organisms/std-field-service.orb +190 -190
  43. package/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  44. package/behaviors/registry/app/organisms/std-forum.orb +141 -141
  45. package/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  46. package/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  47. package/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  48. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  49. package/behaviors/registry/app/organisms/std-listings.orb +157 -157
  50. package/behaviors/registry/app/organisms/std-lms.orb +422 -422
  51. package/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  52. package/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  53. package/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  54. package/behaviors/registry/app/organisms/std-restaurant-pos.orb +134 -134
  55. package/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  56. package/behaviors/registry/app/organisms/std-subscription-billing.orb +183 -183
  57. package/behaviors/registry/app/organisms/std-survey.orb +122 -122
  58. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  59. package/behaviors/registry/app/organisms/std-wiki.orb +144 -144
  60. package/dist/behaviors/behaviors-registry.json +1 -1
  61. package/dist/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  62. package/dist/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  63. package/dist/behaviors/registry/app/atoms/std-dunning.orb +72 -76
  64. package/dist/behaviors/registry/app/atoms/std-event.orb +62 -62
  65. package/dist/behaviors/registry/app/atoms/std-flag.orb +72 -72
  66. package/dist/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  67. package/dist/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  68. package/dist/behaviors/registry/app/atoms/std-invoice.orb +193 -65
  69. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +58 -58
  70. package/dist/behaviors/registry/app/atoms/std-menu.orb +44 -44
  71. package/dist/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  72. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  73. package/dist/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  74. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  75. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  76. package/dist/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  77. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  78. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  79. package/dist/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  80. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +49 -49
  81. package/dist/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  82. package/dist/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  83. package/dist/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  84. package/dist/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  85. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  86. package/dist/behaviors/registry/app/atoms/std-thread.orb +59 -59
  87. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +53 -53
  88. package/dist/behaviors/registry/app/atoms/std-trial.orb +67 -67
  89. package/dist/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  90. package/dist/behaviors/registry/app/atoms/std-vote.orb +40 -40
  91. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  92. package/dist/behaviors/registry/app/atoms/std-work-order.orb +48 -48
  93. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  94. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  95. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  96. package/dist/behaviors/registry/app/organisms/std-cms.orb +265 -265
  97. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  98. package/dist/behaviors/registry/app/organisms/std-crm.orb +258 -258
  99. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  100. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  101. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +217 -217
  102. package/dist/behaviors/registry/app/organisms/std-field-service.orb +190 -190
  103. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  104. package/dist/behaviors/registry/app/organisms/std-forum.orb +141 -141
  105. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  106. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  107. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  108. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  109. package/dist/behaviors/registry/app/organisms/std-listings.orb +157 -157
  110. package/dist/behaviors/registry/app/organisms/std-lms.orb +422 -422
  111. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  112. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  113. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  114. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +134 -134
  115. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  116. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +183 -183
  117. package/dist/behaviors/registry/app/organisms/std-survey.orb +122 -122
  118. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  119. package/dist/behaviors/registry/app/organisms/std-wiki.orb +144 -144
  120. package/dist/behaviors-registry.json +1 -1
  121. package/package.json +1 -1
@@ -94,26 +94,26 @@
94
94
  "ref": "AppShell.traits.AppLayout",
95
95
  "name": "TransactionAppLayout",
96
96
  "config": {
97
- "searchEvent": "TRANSACTION_SEARCH",
98
- "appName": "Finance Tracker",
99
97
  "notifications": [],
98
+ "searchEvent": "TRANSACTION_SEARCH",
100
99
  "contentTrait": "@trait.TransactionCatalog",
100
+ "appName": "Finance Tracker",
101
101
  "notificationClickEvent": "TRANSACTION_NOTIFICATIONS_OPEN",
102
102
  "navItems": [
103
103
  {
104
104
  "label": "Transactions",
105
- "icon": "receipt",
106
- "href": "/transactions"
105
+ "href": "/transactions",
106
+ "icon": "receipt"
107
107
  },
108
108
  {
109
- "icon": "layout-list",
109
+ "label": "Summary",
110
110
  "href": "/summary",
111
- "label": "Summary"
111
+ "icon": "layout-list"
112
112
  },
113
113
  {
114
- "href": "/reports",
115
114
  "icon": "bar-chart",
116
- "label": "Reports"
115
+ "label": "Reports",
116
+ "href": "/reports"
117
117
  }
118
118
  ]
119
119
  },
@@ -203,59 +203,60 @@
203
203
  "main",
204
204
  {
205
205
  "type": "stack",
206
+ "direction": "vertical",
206
207
  "children": [
207
208
  {
208
- "justify": "between",
209
+ "gap": "md",
209
210
  "children": [
210
211
  {
211
- "direction": "horizontal",
212
212
  "gap": "sm",
213
- "align": "center",
214
213
  "type": "stack",
214
+ "direction": "horizontal",
215
+ "align": "center",
215
216
  "children": [
216
217
  {
217
- "type": "icon",
218
- "name": "receipt"
218
+ "name": "receipt",
219
+ "type": "icon"
219
220
  },
220
221
  {
221
222
  "variant": "h2",
222
- "content": "Transactions",
223
- "type": "typography"
223
+ "type": "typography",
224
+ "content": "Transactions"
224
225
  }
225
226
  ]
226
227
  },
227
228
  {
229
+ "direction": "horizontal",
230
+ "gap": "sm",
228
231
  "children": [
229
232
  {
230
- "label": "Add Transaction",
231
- "icon": "plus",
232
233
  "action": "CREATE",
233
234
  "variant": "primary",
234
- "type": "button"
235
+ "icon": "plus",
236
+ "type": "button",
237
+ "label": "Add Transaction"
235
238
  }
236
239
  ],
237
- "gap": "sm",
238
- "type": "stack",
239
- "direction": "horizontal"
240
+ "type": "stack"
240
241
  }
241
242
  ],
243
+ "align": "center",
242
244
  "type": "stack",
243
- "gap": "md",
244
- "direction": "horizontal",
245
- "align": "center"
245
+ "justify": "between",
246
+ "direction": "horizontal"
246
247
  },
247
248
  {
248
249
  "type": "divider"
249
250
  },
250
251
  {
251
252
  "align": "center",
253
+ "gap": "md",
252
254
  "children": [
253
255
  "@trait.TransactionSearch",
254
256
  "@trait.TransactionFilter"
255
257
  ],
256
258
  "type": "stack",
257
- "direction": "horizontal",
258
- "gap": "md"
259
+ "direction": "horizontal"
259
260
  },
260
261
  "@trait.TransactionStats",
261
262
  "@trait.TransactionGraphs",
@@ -264,7 +265,6 @@
264
265
  },
265
266
  "@trait.TransactionBrowseList"
266
267
  ],
267
- "direction": "vertical",
268
268
  "gap": "lg"
269
269
  }
270
270
  ]
@@ -284,15 +284,18 @@
284
284
  "render-ui",
285
285
  "main",
286
286
  {
287
+ "type": "stack",
288
+ "gap": "md",
289
+ "align": "center",
287
290
  "children": [
288
291
  {
289
292
  "name": "bell",
290
293
  "type": "icon"
291
294
  },
292
295
  {
293
- "variant": "h3",
294
296
  "type": "typography",
295
- "content": "No notifications"
297
+ "content": "No notifications",
298
+ "variant": "h3"
296
299
  },
297
300
  {
298
301
  "variant": "caption",
@@ -301,17 +304,14 @@
301
304
  "content": "You're all caught up."
302
305
  },
303
306
  {
304
- "label": "Back to transactions",
305
307
  "type": "button",
306
308
  "action": "INIT",
309
+ "label": "Back to transactions",
307
310
  "variant": "ghost"
308
311
  }
309
312
  ],
310
- "className": "py-8",
311
- "gap": "md",
312
- "type": "stack",
313
- "align": "center",
314
- "direction": "vertical"
313
+ "direction": "vertical",
314
+ "className": "py-8"
315
315
  }
316
316
  ]
317
317
  ]
@@ -335,23 +335,23 @@
335
335
  "event": "TRANSACTION_FILTER",
336
336
  "filters": [
337
337
  {
338
+ "filterType": "text",
338
339
  "label": "Category",
339
- "field": "category",
340
- "filterType": "text"
340
+ "field": "category"
341
341
  },
342
342
  {
343
343
  "label": "Account",
344
- "filterType": "text",
345
- "field": "account"
344
+ "field": "account",
345
+ "filterType": "text"
346
346
  },
347
347
  {
348
- "field": "type",
349
- "label": "Type",
350
348
  "filterType": "select",
349
+ "label": "Type",
351
350
  "options": [
352
351
  "income",
353
352
  "expense"
354
- ]
353
+ ],
354
+ "field": "type"
355
355
  }
356
356
  ]
357
357
  }
@@ -360,14 +360,11 @@
360
360
  "ref": "Stats.traits.StatsItemStats",
361
361
  "name": "TransactionStats",
362
362
  "config": {
363
- "title": "Transactions",
364
363
  "metrics": [
365
364
  {
365
+ "variant": "success",
366
366
  "field": "amount",
367
367
  "format": "currency",
368
- "aggregation": "sum",
369
- "label": "Income",
370
- "variant": "success",
371
368
  "filter": [
372
369
  "fn",
373
370
  "row",
@@ -377,12 +374,16 @@
377
374
  "income"
378
375
  ]
379
376
  ],
380
- "icon": "trending-up"
377
+ "aggregation": "sum",
378
+ "icon": "trending-up",
379
+ "label": "Income"
381
380
  },
382
381
  {
383
- "aggregation": "sum",
384
- "field": "amount",
385
382
  "variant": "error",
383
+ "field": "amount",
384
+ "icon": "trending-down",
385
+ "aggregation": "sum",
386
+ "label": "Expenses",
386
387
  "filter": [
387
388
  "fn",
388
389
  "row",
@@ -392,18 +393,17 @@
392
393
  "expense"
393
394
  ]
394
395
  ],
395
- "label": "Expenses",
396
- "icon": "trending-down",
397
396
  "format": "currency"
398
397
  },
399
398
  {
400
399
  "aggregation": "count",
401
- "variant": "primary",
402
- "format": "number",
403
400
  "label": "Savings Rate",
404
- "icon": "percent"
401
+ "icon": "percent",
402
+ "format": "number",
403
+ "variant": "primary"
405
404
  }
406
- ]
405
+ ],
406
+ "title": "Transactions"
407
407
  },
408
408
  "listens": [
409
409
  {
@@ -420,14 +420,14 @@
420
420
  "ref": "Graphs.traits.GraphItemGraph",
421
421
  "name": "TransactionGraphs",
422
422
  "config": {
423
+ "chartType": "pie",
424
+ "valueField": "amount",
423
425
  "showLegend": true,
424
- "categoryField": "category",
425
- "aggregation": "sum",
426
+ "subtitle": "Distribution across categories",
426
427
  "height": 240.0,
427
428
  "title": "Spending by Category",
428
- "chartType": "pie",
429
- "valueField": "amount",
430
- "subtitle": "Distribution across categories"
429
+ "categoryField": "category",
430
+ "aggregation": "sum"
431
431
  },
432
432
  "listens": [
433
433
  {
@@ -445,25 +445,25 @@
445
445
  "name": "TransactionBrowseList",
446
446
  "linkedEntity": "Transaction",
447
447
  "config": {
448
- "cols": 1.0,
448
+ "gap": "sm",
449
449
  "fields": [
450
450
  {
451
+ "name": "date",
451
452
  "variant": "caption",
452
- "format": "date",
453
- "name": "date"
453
+ "format": "date"
454
454
  },
455
455
  {
456
456
  "name": "description",
457
- "variant": "h4",
458
- "icon": "receipt"
457
+ "icon": "receipt",
458
+ "variant": "h4"
459
459
  },
460
460
  {
461
- "variant": "badge",
462
- "name": "category"
461
+ "name": "category",
462
+ "variant": "badge"
463
463
  },
464
464
  {
465
- "variant": "h4",
466
465
  "format": "currency",
466
+ "variant": "h4",
467
467
  "name": "amount"
468
468
  },
469
469
  {
@@ -473,22 +473,22 @@
473
473
  ],
474
474
  "itemActions": [
475
475
  {
476
+ "variant": "ghost",
476
477
  "event": "VIEW",
477
- "label": "View",
478
- "variant": "ghost"
478
+ "label": "View"
479
479
  },
480
480
  {
481
- "label": "Edit",
481
+ "event": "EDIT",
482
482
  "variant": "ghost",
483
- "event": "EDIT"
483
+ "label": "Edit"
484
484
  },
485
485
  {
486
- "variant": "danger",
487
486
  "event": "DELETE",
488
- "label": "Delete"
487
+ "label": "Delete",
488
+ "variant": "danger"
489
489
  }
490
490
  ],
491
- "gap": "sm"
491
+ "cols": 1.0
492
492
  },
493
493
  "listens": [
494
494
  {
@@ -538,7 +538,6 @@
538
538
  "name": "TransactionCreate",
539
539
  "linkedEntity": "Transaction",
540
540
  "config": {
541
- "title": "Add Transaction",
542
541
  "mode": "create",
543
542
  "fields": [
544
543
  "description",
@@ -548,7 +547,8 @@
548
547
  "type",
549
548
  "date"
550
549
  ],
551
- "icon": "plus-circle"
550
+ "icon": "plus-circle",
551
+ "title": "Add Transaction"
552
552
  },
553
553
  "events": {
554
554
  "OPEN": "CREATE"
@@ -569,8 +569,6 @@
569
569
  "name": "TransactionEdit",
570
570
  "linkedEntity": "Transaction",
571
571
  "config": {
572
- "mode": "edit",
573
- "title": "Edit Transaction",
574
572
  "icon": "edit",
575
573
  "fields": [
576
574
  "description",
@@ -579,7 +577,9 @@
579
577
  "account",
580
578
  "type",
581
579
  "date"
582
- ]
580
+ ],
581
+ "title": "Edit Transaction",
582
+ "mode": "edit"
583
583
  },
584
584
  "events": {
585
585
  "OPEN": "EDIT"
@@ -600,6 +600,7 @@
600
600
  "name": "TransactionView",
601
601
  "linkedEntity": "Transaction",
602
602
  "config": {
603
+ "title": "View Transaction",
603
604
  "fields": [
604
605
  "description",
605
606
  "amount",
@@ -608,7 +609,6 @@
608
609
  "type",
609
610
  "date"
610
611
  ],
611
- "title": "View Transaction",
612
612
  "icon": "eye",
613
613
  "mode": "edit"
614
614
  },
@@ -632,8 +632,8 @@
632
632
  "linkedEntity": "Transaction",
633
633
  "config": {
634
634
  "alertMessage": "This action cannot be undone.",
635
- "title": "Delete Transaction",
636
635
  "icon": "alert-triangle",
636
+ "title": "Delete Transaction",
637
637
  "confirmLabel": "Delete"
638
638
  },
639
639
  "events": {
@@ -925,6 +925,8 @@
925
925
  "name": "FinanceSummaryAppLayout",
926
926
  "linkedEntity": "FinanceSummary",
927
927
  "config": {
928
+ "notificationClickEvent": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN",
929
+ "notifications": [],
928
930
  "navItems": [
929
931
  {
930
932
  "label": "Transactions",
@@ -932,25 +934,23 @@
932
934
  "icon": "receipt"
933
935
  },
934
936
  {
935
- "href": "/summary",
936
937
  "label": "Summary",
938
+ "href": "/summary",
937
939
  "icon": "layout-list"
938
940
  },
939
941
  {
940
- "href": "/reports",
941
942
  "icon": "bar-chart",
943
+ "href": "/reports",
942
944
  "label": "Reports"
943
945
  }
944
946
  ],
945
- "contentTrait": "@trait.FinanceSummaryDisplay",
946
947
  "appName": "Finance Tracker",
947
- "searchEvent": "FINANCE_SUMMARY_SEARCH",
948
- "notificationClickEvent": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN",
949
- "notifications": []
948
+ "contentTrait": "@trait.FinanceSummaryDisplay",
949
+ "searchEvent": "FINANCE_SUMMARY_SEARCH"
950
950
  },
951
951
  "events": {
952
- "SEARCH": "FINANCE_SUMMARY_SEARCH",
953
- "NOTIFY_CLICK": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN"
952
+ "NOTIFY_CLICK": "FINANCE_SUMMARY_NOTIFICATIONS_OPEN",
953
+ "SEARCH": "FINANCE_SUMMARY_SEARCH"
954
954
  }
955
955
  },
956
956
  {
@@ -1066,94 +1066,94 @@
1066
1066
  "render-ui",
1067
1067
  "main",
1068
1068
  {
1069
+ "className": "max-w-5xl mx-auto w-full",
1069
1070
  "type": "stack",
1070
1071
  "children": [
1071
1072
  {
1072
- "type": "breadcrumb",
1073
1073
  "items": [
1074
1074
  {
1075
- "label": "Home",
1076
- "href": "/"
1075
+ "href": "/",
1076
+ "label": "Home"
1077
1077
  },
1078
1078
  {
1079
1079
  "label": "Financial Summary"
1080
1080
  }
1081
- ]
1081
+ ],
1082
+ "type": "breadcrumb"
1082
1083
  },
1083
1084
  {
1085
+ "type": "stack",
1084
1086
  "gap": "md",
1087
+ "direction": "horizontal",
1085
1088
  "align": "center",
1089
+ "justify": "between",
1086
1090
  "children": [
1087
1091
  {
1088
- "direction": "horizontal",
1089
- "gap": "sm",
1090
1092
  "align": "center",
1091
1093
  "type": "stack",
1094
+ "direction": "horizontal",
1095
+ "gap": "sm",
1092
1096
  "children": [
1093
1097
  {
1094
- "name": "pie-chart",
1095
- "type": "icon"
1098
+ "type": "icon",
1099
+ "name": "pie-chart"
1096
1100
  },
1097
1101
  {
1098
- "content": "Financial Summary",
1102
+ "type": "typography",
1099
1103
  "variant": "h2",
1100
- "type": "typography"
1104
+ "content": "Financial Summary"
1101
1105
  }
1102
1106
  ]
1103
1107
  },
1104
1108
  {
1105
1109
  "type": "button",
1106
- "action": "REFRESH",
1107
- "variant": "secondary",
1108
1110
  "label": "Refresh",
1109
- "icon": "refresh-cw"
1111
+ "variant": "secondary",
1112
+ "icon": "refresh-cw",
1113
+ "action": "REFRESH"
1110
1114
  }
1111
- ],
1112
- "type": "stack",
1113
- "direction": "horizontal",
1114
- "justify": "between"
1115
+ ]
1115
1116
  },
1116
1117
  {
1117
1118
  "type": "divider"
1118
1119
  },
1119
1120
  {
1120
- "cols": 4.0,
1121
+ "type": "simple-grid",
1121
1122
  "children": [
1122
1123
  {
1124
+ "type": "stat-display",
1125
+ "variant": "success",
1123
1126
  "icon": "trending-up",
1124
1127
  "label": "Total Income",
1125
- "value": "@entity.totalIncome",
1126
- "type": "stat-display",
1127
- "variant": "success"
1128
+ "value": "@entity.totalIncome"
1128
1129
  },
1129
1130
  {
1130
- "variant": "error",
1131
- "value": "@entity.totalExpenses",
1132
1131
  "icon": "trending-down",
1132
+ "value": "@entity.totalExpenses",
1133
1133
  "type": "stat-display",
1134
- "label": "Total Expenses"
1134
+ "label": "Total Expenses",
1135
+ "variant": "error"
1135
1136
  },
1136
1137
  {
1137
1138
  "type": "stat-display",
1139
+ "icon": "wallet",
1138
1140
  "label": "Balance",
1139
1141
  "value": "@entity.balance",
1140
- "icon": "wallet",
1141
1142
  "variant": "primary"
1142
1143
  },
1143
1144
  {
1144
- "value": "@entity.savingsRate",
1145
- "label": "Savings Rate",
1146
1145
  "icon": "percent",
1146
+ "variant": "primary",
1147
+ "label": "Savings Rate",
1147
1148
  "type": "stat-display",
1148
- "variant": "primary"
1149
+ "value": "@entity.savingsRate"
1149
1150
  }
1150
1151
  ],
1151
- "type": "simple-grid"
1152
+ "cols": 4.0
1152
1153
  }
1153
1154
  ],
1154
1155
  "gap": "lg",
1155
- "direction": "vertical",
1156
- "className": "max-w-5xl mx-auto w-full"
1156
+ "direction": "vertical"
1157
1157
  }
1158
1158
  ]
1159
1159
  ]
@@ -1168,8 +1168,8 @@
1168
1168
  "FinanceSummary",
1169
1169
  {
1170
1170
  "emit": {
1171
- "failure": "FinanceSummaryLoadFailed",
1172
- "success": "FinanceSummaryLoaded"
1171
+ "success": "FinanceSummaryLoaded",
1172
+ "failure": "FinanceSummaryLoadFailed"
1173
1173
  }
1174
1174
  }
1175
1175
  ]
@@ -1259,6 +1259,11 @@
1259
1259
  "name": "FinanceReportAppLayout",
1260
1260
  "linkedEntity": "FinanceReport",
1261
1261
  "config": {
1262
+ "notifications": [],
1263
+ "notificationClickEvent": "FINANCE_REPORT_NOTIFICATIONS_OPEN",
1264
+ "appName": "Finance Tracker",
1265
+ "contentTrait": "@trait.FinanceReportBrowse",
1266
+ "searchEvent": "FINANCE_REPORT_SEARCH",
1262
1267
  "navItems": [
1263
1268
  {
1264
1269
  "icon": "receipt",
@@ -1266,21 +1271,16 @@
1266
1271
  "href": "/transactions"
1267
1272
  },
1268
1273
  {
1269
- "icon": "layout-list",
1274
+ "href": "/summary",
1270
1275
  "label": "Summary",
1271
- "href": "/summary"
1276
+ "icon": "layout-list"
1272
1277
  },
1273
1278
  {
1274
- "href": "/reports",
1279
+ "icon": "bar-chart",
1275
1280
  "label": "Reports",
1276
- "icon": "bar-chart"
1281
+ "href": "/reports"
1277
1282
  }
1278
- ],
1279
- "notifications": [],
1280
- "notificationClickEvent": "FINANCE_REPORT_NOTIFICATIONS_OPEN",
1281
- "appName": "Finance Tracker",
1282
- "searchEvent": "FINANCE_REPORT_SEARCH",
1283
- "contentTrait": "@trait.FinanceReportBrowse"
1283
+ ]
1284
1284
  },
1285
1285
  "events": {
1286
1286
  "NOTIFY_CLICK": "FINANCE_REPORT_NOTIFICATIONS_OPEN",
@@ -1558,8 +1558,8 @@
1558
1558
  "FinanceReport",
1559
1559
  {
1560
1560
  "emit": {
1561
- "success": "FinanceReportLoaded",
1562
- "failure": "FinanceReportLoadFailed"
1561
+ "failure": "FinanceReportLoadFailed",
1562
+ "success": "FinanceReportLoaded"
1563
1563
  }
1564
1564
  }
1565
1565
  ],
@@ -1567,22 +1567,22 @@
1567
1567
  "render-ui",
1568
1568
  "main",
1569
1569
  {
1570
+ "align": "center",
1571
+ "className": "py-12",
1572
+ "type": "stack",
1573
+ "direction": "vertical",
1574
+ "gap": "md",
1570
1575
  "children": [
1571
1576
  {
1572
1577
  "type": "spinner"
1573
1578
  },
1574
1579
  {
1575
- "variant": "caption",
1576
1580
  "color": "muted",
1577
- "type": "typography",
1578
- "content": "Loading…"
1581
+ "variant": "caption",
1582
+ "content": "Loading…",
1583
+ "type": "typography"
1579
1584
  }
1580
- ],
1581
- "gap": "md",
1582
- "type": "stack",
1583
- "align": "center",
1584
- "direction": "vertical",
1585
- "className": "py-12"
1585
+ ]
1586
1586
  }
1587
1587
  ]
1588
1588
  ]
@@ -1596,17 +1596,14 @@
1596
1596
  "render-ui",
1597
1597
  "main",
1598
1598
  {
1599
- "gap": "lg",
1600
- "direction": "vertical",
1601
- "type": "stack",
1602
1599
  "children": [
1603
1600
  {
1604
- "gap": "md",
1605
- "direction": "horizontal",
1606
1601
  "justify": "between",
1607
- "type": "stack",
1608
1602
  "children": [
1609
1603
  {
1604
+ "type": "stack",
1605
+ "direction": "horizontal",
1606
+ "gap": "sm",
1610
1607
  "children": [
1611
1608
  {
1612
1609
  "type": "icon",
@@ -1618,88 +1615,91 @@
1618
1615
  "variant": "h2"
1619
1616
  }
1620
1617
  ],
1621
- "gap": "sm",
1622
- "type": "stack",
1623
- "direction": "horizontal",
1624
1618
  "align": "center"
1625
1619
  },
1626
1620
  {
1627
- "direction": "horizontal",
1628
- "gap": "sm",
1629
- "type": "stack",
1630
1621
  "children": [
1631
1622
  {
1632
1623
  "type": "button",
1633
1624
  "icon": "plus",
1634
- "variant": "primary",
1625
+ "label": "New Report",
1635
1626
  "action": "CREATE",
1636
- "label": "New Report"
1627
+ "variant": "primary"
1637
1628
  }
1638
- ]
1629
+ ],
1630
+ "direction": "horizontal",
1631
+ "type": "stack",
1632
+ "gap": "sm"
1639
1633
  }
1640
1634
  ],
1641
- "align": "center"
1635
+ "align": "center",
1636
+ "type": "stack",
1637
+ "direction": "horizontal",
1638
+ "gap": "md"
1642
1639
  },
1643
1640
  {
1644
1641
  "type": "divider"
1645
1642
  },
1646
1643
  {
1647
- "type": "alert",
1648
1644
  "variant": "info",
1649
- "message": "Generated reports are downloadable as PDF or CSV."
1645
+ "message": "Generated reports are downloadable as PDF or CSV.",
1646
+ "type": "alert"
1650
1647
  },
1651
1648
  {
1649
+ "itemActions": [
1650
+ {
1651
+ "label": "Preview",
1652
+ "event": "VIEW",
1653
+ "variant": "ghost"
1654
+ },
1655
+ {
1656
+ "variant": "primary",
1657
+ "event": "EXPORT_PDF",
1658
+ "label": "Download PDF"
1659
+ },
1660
+ {
1661
+ "event": "EXPORT_CSV",
1662
+ "variant": "ghost",
1663
+ "label": "Download CSV"
1664
+ }
1665
+ ],
1652
1666
  "fields": [
1653
1667
  {
1654
1668
  "icon": "file-text",
1655
- "name": "title",
1656
- "variant": "h3"
1669
+ "variant": "h3",
1670
+ "name": "title"
1657
1671
  },
1658
1672
  {
1659
1673
  "variant": "badge",
1660
1674
  "name": "period"
1661
1675
  },
1662
1676
  {
1663
- "name": "dateRange",
1677
+ "label": "Date Range",
1664
1678
  "variant": "caption",
1665
- "label": "Date Range"
1679
+ "name": "dateRange"
1666
1680
  },
1667
1681
  {
1682
+ "format": "currency",
1668
1683
  "name": "total",
1669
- "variant": "h4",
1670
- "format": "currency"
1684
+ "variant": "h4"
1671
1685
  },
1672
1686
  {
1673
- "label": "Generated",
1674
1687
  "format": "date",
1688
+ "label": "Generated",
1675
1689
  "name": "generatedAt",
1676
1690
  "variant": "caption"
1677
1691
  }
1678
1692
  ],
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"
1696
- }
1697
- ],
1698
1693
  "variant": "card",
1694
+ "type": "data-list",
1695
+ "gap": "sm",
1699
1696
  "entity": "@payload.data"
1700
1697
  }
1701
1698
  ],
1702
- "className": "max-w-5xl mx-auto w-full"
1699
+ "type": "stack",
1700
+ "direction": "vertical",
1701
+ "className": "max-w-5xl mx-auto w-full",
1702
+ "gap": "lg"
1703
1703
  }
1704
1704
  ]
1705
1705
  ]
@@ -1714,35 +1714,35 @@
1714
1714
  "main",
1715
1715
  {
1716
1716
  "align": "center",
1717
+ "className": "py-12",
1718
+ "gap": "md",
1719
+ "type": "stack",
1717
1720
  "direction": "vertical",
1718
1721
  "children": [
1719
1722
  {
1720
- "name": "alert-triangle",
1721
1723
  "type": "icon",
1724
+ "name": "alert-triangle",
1722
1725
  "color": "destructive"
1723
1726
  },
1724
1727
  {
1725
- "content": "Failed to load reports",
1726
1728
  "type": "typography",
1727
- "variant": "h3"
1729
+ "variant": "h3",
1730
+ "content": "Failed to load reports"
1728
1731
  },
1729
1732
  {
1730
1733
  "content": "@payload.error",
1731
1734
  "variant": "body",
1732
- "type": "typography",
1733
- "color": "muted"
1735
+ "color": "muted",
1736
+ "type": "typography"
1734
1737
  },
1735
1738
  {
1736
- "label": "Retry",
1739
+ "icon": "rotate-ccw",
1737
1740
  "action": "INIT",
1741
+ "label": "Retry",
1738
1742
  "type": "button",
1739
- "variant": "primary",
1740
- "icon": "rotate-ccw"
1743
+ "variant": "primary"
1741
1744
  }
1742
- ],
1743
- "type": "stack",
1744
- "gap": "md",
1745
- "className": "py-12"
1745
+ ]
1746
1746
  }
1747
1747
  ]
1748
1748
  ]
@@ -1780,16 +1780,16 @@
1780
1780
  "name": "FinanceReportView",
1781
1781
  "linkedEntity": "FinanceReport",
1782
1782
  "config": {
1783
- "title": "Report Preview",
1784
1783
  "icon": "eye",
1785
- "mode": "edit",
1784
+ "title": "Report Preview",
1786
1785
  "fields": [
1787
1786
  "title",
1788
1787
  "period",
1789
1788
  "dateRange",
1790
1789
  "total",
1791
1790
  "generatedAt"
1792
- ]
1791
+ ],
1792
+ "mode": "edit"
1793
1793
  },
1794
1794
  "events": {
1795
1795
  "OPEN": "VIEW"
@@ -1810,9 +1810,9 @@
1810
1810
  "name": "FinanceReportCreate",
1811
1811
  "linkedEntity": "FinanceReport",
1812
1812
  "config": {
1813
- "title": "New Report",
1814
1813
  "icon": "plus-circle",
1815
1814
  "mode": "create",
1815
+ "title": "New Report",
1816
1816
  "fields": [
1817
1817
  "title",
1818
1818
  "period",