@almadar/std 8.3.0 → 8.4.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 (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +62 -62
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  27. package/behaviors/registry/app/organisms/std-cms.orb +469 -469
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  29. package/behaviors/registry/app/organisms/std-crm.orb +832 -832
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  37. package/behaviors/registry/app/organisms/std-lms.orb +839 -839
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  42. package/behaviors/registry/core/atoms/std-browse.orb +53 -53
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  44. package/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  47. package/behaviors/registry/core/atoms/std-display.orb +383 -383
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +42 -42
  50. package/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  51. package/behaviors/registry/core/atoms/std-modal.orb +12 -12
  52. package/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  53. package/behaviors/registry/core/atoms/std-push.orb +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  55. package/behaviors/registry/core/atoms/std-related.orb +34 -34
  56. package/behaviors/registry/core/atoms/std-search.orb +68 -68
  57. package/behaviors/registry/core/atoms/std-selection.orb +90 -90
  58. package/behaviors/registry/core/atoms/std-tabs.orb +52 -52
  59. package/behaviors/registry/core/molecules/std-cart.orb +45 -45
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  62. package/behaviors/registry/core/molecules/std-list.orb +46 -46
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  64. package/behaviors/registry/game/atoms/std-collision.orb +121 -121
  65. package/behaviors/registry/game/atoms/std-combat.orb +68 -68
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  69. package/behaviors/registry/game/atoms/std-movement.orb +306 -306
  70. package/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  72. package/behaviors/registry/game/atoms/std-quest.orb +124 -124
  73. package/behaviors/registry/game/atoms/std-timer.orb +274 -274
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  83. package/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  84. package/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +62 -62
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +101 -101
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +100 -100
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +103 -103
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +386 -386
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +94 -94
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +66 -66
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +114 -114
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +61 -61
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +109 -109
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +196 -196
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +347 -347
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +61 -60
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +187 -187
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +180 -180
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +108 -108
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +107 -107
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +184 -184
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1130 -1130
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2998 -2998
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2135 -2135
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1033 -1033
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +784 -784
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +798 -798
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1139 -1139
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +776 -776
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +469 -469
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +338 -338
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +832 -832
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1350 -1350
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +975 -975
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +573 -573
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1370 -1370
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +617 -617
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1177 -1177
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +871 -871
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +839 -839
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +667 -667
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +667 -667
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +230 -230
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +682 -682
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +53 -53
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +89 -89
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +57 -57
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +196 -196
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +19 -19
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +383 -383
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +42 -42
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +54 -54
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +12 -12
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +179 -179
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +34 -34
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +68 -68
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +90 -90
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +52 -52
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +45 -45
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +7 -7
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +127 -127
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +46 -46
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +147 -147
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +121 -121
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +68 -68
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +48 -48
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +306 -306
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +68 -68
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +124 -124
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +274 -274
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +145 -145
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +67 -67
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +218 -218
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +90 -90
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +372 -372
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +345 -345
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +540 -540
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +14 -14
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +86 -86
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +72 -72
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +98 -98
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +118 -118
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +118 -118
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +103 -103
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +95 -95
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +107 -107
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +104 -104
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +966 -966
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +905 -905
  187. package/package.json +1 -1
@@ -393,22 +393,22 @@
393
393
  "render-ui",
394
394
  "main",
395
395
  {
396
+ "type": "stack",
396
397
  "direction": "vertical",
398
+ "gap": "md",
399
+ "className": "py-12",
397
400
  "children": [
398
401
  {
399
402
  "type": "spinner"
400
403
  },
401
404
  {
405
+ "type": "typography",
402
406
  "variant": "caption",
403
407
  "color": "muted",
404
- "type": "typography",
405
408
  "content": "Loading…"
406
409
  }
407
410
  ],
408
- "gap": "md",
409
- "align": "center",
410
- "className": "py-12",
411
- "type": "stack"
411
+ "align": "center"
412
412
  }
413
413
  ]
414
414
  ]
@@ -422,59 +422,58 @@
422
422
  "render-ui",
423
423
  "main",
424
424
  {
425
- "type": "dashboard-layout",
426
425
  "appName": "Finance Tracker",
427
426
  "children": [
428
427
  {
429
428
  "direction": "vertical",
430
- "gap": "lg",
431
429
  "type": "stack",
430
+ "className": "max-w-5xl mx-auto w-full",
431
+ "gap": "lg",
432
432
  "children": [
433
433
  {
434
- "type": "stack",
435
- "direction": "horizontal",
434
+ "align": "center",
436
435
  "justify": "between",
437
436
  "gap": "md",
438
437
  "children": [
439
438
  {
440
- "type": "stack",
441
- "align": "center",
439
+ "gap": "sm",
442
440
  "children": [
443
441
  {
444
- "type": "icon",
445
- "name": "credit-card"
442
+ "name": "credit-card",
443
+ "type": "icon"
446
444
  },
447
445
  {
448
- "variant": "h2",
449
446
  "type": "typography",
450
- "content": "Transactions"
447
+ "content": "Transactions",
448
+ "variant": "h2"
451
449
  }
452
450
  ],
453
- "gap": "sm",
454
- "direction": "horizontal"
451
+ "align": "center",
452
+ "direction": "horizontal",
453
+ "type": "stack"
455
454
  },
456
455
  {
457
- "direction": "horizontal",
458
456
  "type": "stack",
459
- "gap": "sm",
460
457
  "children": [
461
458
  {
462
- "type": "button",
463
459
  "action": "CREATE",
464
460
  "label": "Create Transaction",
461
+ "icon": "plus",
465
462
  "variant": "primary",
466
- "icon": "plus"
463
+ "type": "button"
467
464
  }
468
- ]
465
+ ],
466
+ "direction": "horizontal",
467
+ "gap": "sm"
469
468
  }
470
469
  ],
471
- "align": "center"
470
+ "type": "stack",
471
+ "direction": "horizontal"
472
472
  },
473
473
  {
474
474
  "type": "divider"
475
475
  },
476
476
  {
477
- "fields": [],
478
477
  "itemActions": [
479
478
  {
480
479
  "variant": "ghost",
@@ -487,18 +486,20 @@
487
486
  "variant": "ghost"
488
487
  },
489
488
  {
490
- "event": "DELETE",
489
+ "variant": "danger",
491
490
  "label": "Delete",
492
- "variant": "danger"
491
+ "event": "DELETE"
493
492
  }
494
493
  ],
494
+ "type": "data-list",
495
495
  "variant": "card",
496
496
  "entity": "@payload.data",
497
+ "fields": [],
497
498
  "columns": [
498
499
  {
499
- "name": "description",
500
+ "variant": "h3",
500
501
  "icon": "credit-card",
501
- "variant": "h3"
502
+ "name": "description"
502
503
  },
503
504
  {
504
505
  "name": "category",
@@ -506,22 +507,21 @@
506
507
  },
507
508
  {
508
509
  "name": "amount",
509
- "format": "currency",
510
- "variant": "h4"
510
+ "variant": "h4",
511
+ "format": "currency"
511
512
  },
512
513
  {
514
+ "format": "date",
513
515
  "name": "date",
514
- "variant": "caption",
515
- "format": "date"
516
+ "variant": "caption"
516
517
  }
517
518
  ],
518
- "gap": "sm",
519
- "type": "data-list"
519
+ "gap": "sm"
520
520
  }
521
- ],
522
- "className": "max-w-5xl mx-auto w-full"
521
+ ]
523
522
  }
524
523
  ],
524
+ "type": "dashboard-layout",
525
525
  "navItems": [
526
526
  {
527
527
  "href": "/transactions",
@@ -529,14 +529,14 @@
529
529
  "label": "Transactions"
530
530
  },
531
531
  {
532
- "href": "/summary",
533
532
  "label": "Summary",
533
+ "href": "/summary",
534
534
  "icon": "layout-list"
535
535
  },
536
536
  {
537
- "href": "/reports",
537
+ "icon": "bar-chart",
538
538
  "label": "Reports",
539
- "icon": "bar-chart"
539
+ "href": "/reports"
540
540
  }
541
541
  ]
542
542
  }
@@ -552,16 +552,15 @@
552
552
  "render-ui",
553
553
  "main",
554
554
  {
555
- "className": "py-12",
556
555
  "align": "center",
556
+ "className": "py-12",
557
557
  "gap": "md",
558
558
  "direction": "vertical",
559
- "type": "stack",
560
559
  "children": [
561
560
  {
562
- "type": "icon",
563
561
  "name": "alert-triangle",
564
- "color": "destructive"
562
+ "color": "destructive",
563
+ "type": "icon"
565
564
  },
566
565
  {
567
566
  "type": "typography",
@@ -570,18 +569,19 @@
570
569
  },
571
570
  {
572
571
  "type": "typography",
572
+ "content": "@payload.error",
573
573
  "color": "muted",
574
- "variant": "body",
575
- "content": "@payload.error"
574
+ "variant": "body"
576
575
  },
577
576
  {
577
+ "action": "INIT",
578
578
  "variant": "primary",
579
- "label": "Retry",
580
- "icon": "rotate-ccw",
581
579
  "type": "button",
582
- "action": "INIT"
580
+ "icon": "rotate-ccw",
581
+ "label": "Retry"
583
582
  }
584
- ]
583
+ ],
584
+ "type": "stack"
585
585
  }
586
586
  ]
587
587
  ]
@@ -765,8 +765,8 @@
765
765
  "Transaction",
766
766
  {
767
767
  "emit": {
768
- "success": "TransactionLoaded",
769
- "failure": "TransactionLoadFailed"
768
+ "failure": "TransactionLoadFailed",
769
+ "success": "TransactionLoaded"
770
770
  }
771
771
  }
772
772
  ],
@@ -774,11 +774,11 @@
774
774
  "render-ui",
775
775
  "modal",
776
776
  {
777
- "gap": "md",
777
+ "type": "stack",
778
+ "direction": "vertical",
778
779
  "children": [
779
780
  {
780
781
  "type": "stack",
781
- "direction": "horizontal",
782
782
  "gap": "sm",
783
783
  "children": [
784
784
  {
@@ -790,26 +790,26 @@
790
790
  "type": "typography",
791
791
  "content": "Create Transaction"
792
792
  }
793
- ]
793
+ ],
794
+ "direction": "horizontal"
794
795
  },
795
796
  {
796
797
  "type": "divider"
797
798
  },
798
799
  {
799
800
  "cancelEvent": "CLOSE",
800
- "type": "form-section",
801
- "mode": "create",
802
801
  "submitEvent": "SAVE",
803
802
  "fields": [
804
803
  "description",
805
804
  "amount",
806
805
  "category",
807
806
  "date"
808
- ]
807
+ ],
808
+ "type": "form-section",
809
+ "mode": "create"
809
810
  }
810
811
  ],
811
- "direction": "vertical",
812
- "type": "stack"
812
+ "gap": "md"
813
813
  }
814
814
  ]
815
815
  ]
@@ -850,8 +850,8 @@
850
850
  "@payload.data",
851
851
  {
852
852
  "emit": {
853
- "failure": "TransactionSaveFailed",
854
- "success": "TransactionSaved"
853
+ "success": "TransactionSaved",
854
+ "failure": "TransactionSaveFailed"
855
855
  }
856
856
  }
857
857
  ],
@@ -1075,40 +1075,40 @@
1075
1075
  {
1076
1076
  "children": [
1077
1077
  {
1078
- "type": "stack",
1079
1078
  "direction": "horizontal",
1079
+ "gap": "sm",
1080
1080
  "children": [
1081
1081
  {
1082
- "type": "icon",
1083
- "name": "edit"
1082
+ "name": "edit",
1083
+ "type": "icon"
1084
1084
  },
1085
1085
  {
1086
- "type": "typography",
1087
1086
  "content": "Edit Transaction",
1087
+ "type": "typography",
1088
1088
  "variant": "h3"
1089
1089
  }
1090
1090
  ],
1091
- "gap": "sm"
1091
+ "type": "stack"
1092
1092
  },
1093
1093
  {
1094
1094
  "type": "divider"
1095
1095
  },
1096
1096
  {
1097
- "cancelEvent": "CLOSE",
1098
- "mode": "edit",
1099
1097
  "entity": "@payload.row",
1100
- "type": "form-section",
1101
- "submitEvent": "SAVE",
1098
+ "mode": "edit",
1099
+ "cancelEvent": "CLOSE",
1102
1100
  "fields": [
1103
1101
  "description",
1104
1102
  "amount",
1105
1103
  "category",
1106
1104
  "date"
1107
- ]
1105
+ ],
1106
+ "submitEvent": "SAVE",
1107
+ "type": "form-section"
1108
1108
  }
1109
1109
  ],
1110
- "type": "stack",
1111
1110
  "gap": "md",
1111
+ "type": "stack",
1112
1112
  "direction": "vertical"
1113
1113
  }
1114
1114
  ]
@@ -1307,69 +1307,67 @@
1307
1307
  "render-ui",
1308
1308
  "modal",
1309
1309
  {
1310
- "direction": "vertical",
1311
- "type": "stack",
1312
- "gap": "md",
1313
1310
  "children": [
1314
1311
  {
1315
1312
  "type": "stack",
1316
- "gap": "sm",
1317
1313
  "align": "center",
1318
1314
  "children": [
1319
1315
  {
1320
- "name": "eye",
1321
- "type": "icon"
1316
+ "type": "icon",
1317
+ "name": "eye"
1322
1318
  },
1323
1319
  {
1324
- "type": "typography",
1325
1320
  "variant": "h3",
1321
+ "type": "typography",
1326
1322
  "content": "@entity.description"
1327
1323
  }
1328
1324
  ],
1325
+ "gap": "sm",
1329
1326
  "direction": "horizontal"
1330
1327
  },
1331
1328
  {
1332
1329
  "type": "divider"
1333
1330
  },
1334
1331
  {
1332
+ "direction": "horizontal",
1335
1333
  "type": "stack",
1336
1334
  "gap": "md",
1337
1335
  "children": [
1338
1336
  {
1339
- "type": "typography",
1340
1337
  "variant": "caption",
1341
- "content": "Description"
1338
+ "content": "Description",
1339
+ "type": "typography"
1342
1340
  },
1343
1341
  {
1344
- "content": "@entity.description",
1342
+ "variant": "body",
1345
1343
  "type": "typography",
1346
- "variant": "body"
1344
+ "content": "@entity.description"
1347
1345
  }
1348
- ],
1349
- "direction": "horizontal"
1346
+ ]
1350
1347
  },
1351
1348
  {
1352
- "gap": "md",
1349
+ "direction": "horizontal",
1350
+ "type": "stack",
1353
1351
  "children": [
1354
1352
  {
1355
- "content": "Amount",
1353
+ "type": "typography",
1356
1354
  "variant": "caption",
1357
- "type": "typography"
1355
+ "content": "Amount"
1358
1356
  },
1359
1357
  {
1358
+ "type": "typography",
1360
1359
  "variant": "body",
1361
- "content": "@entity.amount",
1362
- "type": "typography"
1360
+ "content": "@entity.amount"
1363
1361
  }
1364
1362
  ],
1365
- "type": "stack",
1366
- "direction": "horizontal"
1363
+ "gap": "md"
1367
1364
  },
1368
1365
  {
1366
+ "type": "stack",
1369
1367
  "children": [
1370
1368
  {
1371
- "variant": "caption",
1372
1369
  "type": "typography",
1370
+ "variant": "caption",
1373
1371
  "content": "Category"
1374
1372
  },
1375
1373
  {
@@ -1379,15 +1377,13 @@
1379
1377
  }
1380
1378
  ],
1381
1379
  "direction": "horizontal",
1382
- "type": "stack",
1383
1380
  "gap": "md"
1384
1381
  },
1385
1382
  {
1386
- "gap": "md",
1387
1383
  "children": [
1388
1384
  {
1389
- "content": "Date",
1390
1385
  "type": "typography",
1386
+ "content": "Date",
1391
1387
  "variant": "caption"
1392
1388
  },
1393
1389
  {
@@ -1397,7 +1393,8 @@
1397
1393
  }
1398
1394
  ],
1399
1395
  "type": "stack",
1400
- "direction": "horizontal"
1396
+ "direction": "horizontal",
1397
+ "gap": "md"
1401
1398
  },
1402
1399
  {
1403
1400
  "type": "divider"
@@ -1406,24 +1403,27 @@
1406
1403
  "direction": "horizontal",
1407
1404
  "gap": "sm",
1408
1405
  "type": "stack",
1409
- "justify": "end",
1410
1406
  "children": [
1411
1407
  {
1412
- "action": "EDIT",
1408
+ "type": "button",
1413
1409
  "variant": "primary",
1414
1410
  "icon": "edit",
1415
1411
  "label": "Edit",
1416
- "type": "button"
1412
+ "action": "EDIT"
1417
1413
  },
1418
1414
  {
1419
1415
  "type": "button",
1420
1416
  "action": "CLOSE",
1421
- "variant": "ghost",
1422
- "label": "Close"
1417
+ "label": "Close",
1418
+ "variant": "ghost"
1423
1419
  }
1424
- ]
1420
+ ],
1421
+ "justify": "end"
1425
1422
  }
1426
- ]
1423
+ ],
1424
+ "type": "stack",
1425
+ "direction": "vertical",
1426
+ "gap": "md"
1427
1427
  }
1428
1428
  ]
1429
1429
  ]
@@ -1658,68 +1658,68 @@
1658
1658
  "fetch",
1659
1659
  "Transaction",
1660
1660
  {
1661
- "id": "@payload.id",
1662
1661
  "emit": {
1663
1662
  "success": "TransactionLoaded",
1664
1663
  "failure": "TransactionLoadFailed"
1665
- }
1664
+ },
1665
+ "id": "@payload.id"
1666
1666
  }
1667
1667
  ],
1668
1668
  [
1669
1669
  "render-ui",
1670
1670
  "modal",
1671
1671
  {
1672
- "direction": "vertical",
1673
- "gap": "md",
1674
1672
  "type": "stack",
1673
+ "gap": "md",
1675
1674
  "children": [
1676
1675
  {
1677
1676
  "type": "stack",
1678
- "gap": "sm",
1677
+ "direction": "horizontal",
1679
1678
  "align": "center",
1679
+ "gap": "sm",
1680
1680
  "children": [
1681
1681
  {
1682
1682
  "type": "icon",
1683
1683
  "name": "alert-triangle"
1684
1684
  },
1685
1685
  {
1686
+ "type": "typography",
1686
1687
  "content": "Delete Transaction",
1687
- "variant": "h3",
1688
- "type": "typography"
1688
+ "variant": "h3"
1689
1689
  }
1690
- ],
1691
- "direction": "horizontal"
1690
+ ]
1692
1691
  },
1693
1692
  {
1694
1693
  "type": "divider"
1695
1694
  },
1696
1695
  {
1697
- "message": "This action cannot be undone.",
1698
1696
  "type": "alert",
1699
- "variant": "error"
1697
+ "variant": "error",
1698
+ "message": "This action cannot be undone."
1700
1699
  },
1701
1700
  {
1702
- "type": "stack",
1703
1701
  "children": [
1704
1702
  {
1703
+ "variant": "ghost",
1705
1704
  "label": "Cancel",
1706
1705
  "type": "button",
1707
- "variant": "ghost",
1708
1706
  "action": "CANCEL"
1709
1707
  },
1710
1708
  {
1711
- "icon": "check",
1712
- "action": "CONFIRM_DELETE",
1713
1709
  "variant": "danger",
1714
1710
  "label": "Delete",
1715
- "type": "button"
1711
+ "type": "button",
1712
+ "action": "CONFIRM_DELETE",
1713
+ "icon": "check"
1716
1714
  }
1717
1715
  ],
1718
- "direction": "horizontal",
1719
1716
  "gap": "sm",
1720
- "justify": "end"
1717
+ "direction": "horizontal",
1718
+ "justify": "end",
1719
+ "type": "stack"
1721
1720
  }
1722
- ]
1721
+ ],
1722
+ "direction": "vertical"
1723
1723
  }
1724
1724
  ]
1725
1725
  ]
@@ -1975,33 +1975,32 @@
1975
1975
  "render-ui",
1976
1976
  "main",
1977
1977
  {
1978
- "appName": "Finance Tracker",
1979
1978
  "type": "dashboard-layout",
1980
1979
  "navItems": [
1981
1980
  {
1982
- "icon": "dollar-sign",
1981
+ "label": "Transactions",
1983
1982
  "href": "/transactions",
1984
- "label": "Transactions"
1983
+ "icon": "dollar-sign"
1985
1984
  },
1986
1985
  {
1987
1986
  "href": "/summary",
1988
- "label": "Summary",
1989
- "icon": "layout-list"
1987
+ "icon": "layout-list",
1988
+ "label": "Summary"
1990
1989
  },
1991
1990
  {
1992
1991
  "href": "/reports",
1993
- "label": "Reports",
1994
- "icon": "bar-chart"
1992
+ "icon": "bar-chart",
1993
+ "label": "Reports"
1995
1994
  }
1996
1995
  ],
1997
1996
  "children": [
1998
1997
  {
1998
+ "type": "scaled-diagram",
1999
1999
  "children": [
2000
2000
  {
2001
- "type": "stack",
2001
+ "gap": "lg",
2002
2002
  "children": [
2003
2003
  {
2004
- "type": "breadcrumb",
2005
2004
  "items": [
2006
2005
  {
2007
2006
  "label": "Home",
@@ -2010,71 +2009,72 @@
2010
2009
  {
2011
2010
  "label": "Financial Summary"
2012
2011
  }
2013
- ]
2012
+ ],
2013
+ "type": "breadcrumb"
2014
2014
  },
2015
2015
  {
2016
2016
  "gap": "md",
2017
- "direction": "horizontal",
2017
+ "type": "stack",
2018
2018
  "justify": "between",
2019
2019
  "children": [
2020
2020
  {
2021
- "gap": "md",
2022
2021
  "direction": "horizontal",
2022
+ "type": "stack",
2023
2023
  "children": [
2024
2024
  {
2025
- "type": "icon",
2026
- "name": "pie-chart"
2025
+ "name": "pie-chart",
2026
+ "type": "icon"
2027
2027
  },
2028
2028
  {
2029
- "content": "Financial Summary",
2030
2029
  "type": "typography",
2031
- "variant": "h2"
2030
+ "variant": "h2",
2031
+ "content": "Financial Summary"
2032
2032
  }
2033
2033
  ],
2034
- "type": "stack"
2034
+ "gap": "md"
2035
2035
  },
2036
2036
  {
2037
- "variant": "secondary",
2038
- "type": "button",
2039
- "icon": "refresh-cw",
2037
+ "action": "REFRESH",
2040
2038
  "label": "Refresh",
2041
- "action": "REFRESH"
2039
+ "type": "button",
2040
+ "variant": "secondary",
2041
+ "icon": "refresh-cw"
2042
2042
  }
2043
2043
  ],
2044
- "type": "stack"
2044
+ "direction": "horizontal"
2045
2045
  },
2046
2046
  {
2047
2047
  "type": "divider"
2048
2048
  },
2049
2049
  {
2050
- "type": "box",
2051
2050
  "padding": "md",
2051
+ "type": "box",
2052
2052
  "children": [
2053
2053
  {
2054
2054
  "cols": 3.0,
2055
+ "type": "simple-grid",
2055
2056
  "children": [
2056
2057
  {
2057
2058
  "type": "stat-display",
2058
- "value": "@entity.totalIncome",
2059
- "label": "TotalIncome"
2059
+ "label": "TotalIncome",
2060
+ "value": "@entity.totalIncome"
2060
2061
  },
2061
2062
  {
2062
- "label": "TotalExpenses",
2063
+ "value": "@entity.totalExpenses",
2063
2064
  "type": "stat-display",
2064
- "value": "@entity.totalExpenses"
2065
+ "label": "TotalExpenses"
2065
2066
  },
2066
2067
  {
2067
- "label": "Balance",
2068
+ "value": "@entity.balance",
2068
2069
  "type": "stat-display",
2069
- "value": "@entity.balance"
2070
+ "label": "Balance"
2070
2071
  },
2071
2072
  {
2073
+ "label": "SavingsRate",
2072
2074
  "value": "@entity.savingsRate",
2073
- "type": "stat-display",
2074
- "label": "SavingsRate"
2075
+ "type": "stat-display"
2075
2076
  }
2076
- ],
2077
- "type": "simple-grid"
2077
+ ]
2078
2078
  }
2079
2079
  ]
2080
2080
  },
@@ -2082,19 +2082,17 @@
2082
2082
  "type": "divider"
2083
2083
  },
2084
2084
  {
2085
- "cols": 2.0,
2086
2085
  "gap": "md",
2087
- "type": "grid",
2088
2086
  "children": [
2089
2087
  {
2090
- "type": "card",
2091
2088
  "children": [
2092
2089
  {
2093
2090
  "variant": "caption",
2094
- "content": "Chart View",
2095
- "type": "typography"
2091
+ "type": "typography",
2092
+ "content": "Chart View"
2096
2093
  }
2097
- ]
2094
+ ],
2095
+ "type": "card"
2098
2096
  },
2099
2097
  {
2100
2098
  "type": "card",
@@ -2106,7 +2104,9 @@
2106
2104
  }
2107
2105
  ]
2108
2106
  }
2109
- ]
2107
+ ],
2108
+ "type": "grid",
2109
+ "cols": 2.0
2110
2110
  },
2111
2111
  {
2112
2112
  "data": [
@@ -2119,16 +2119,16 @@
2119
2119
  "date": "Feb"
2120
2120
  },
2121
2121
  {
2122
- "value": 15.0,
2123
- "date": "Mar"
2122
+ "date": "Mar",
2123
+ "value": 15.0
2124
2124
  },
2125
2125
  {
2126
- "date": "Apr",
2127
- "value": 25.0
2126
+ "value": 25.0,
2127
+ "date": "Apr"
2128
2128
  },
2129
2129
  {
2130
- "date": "May",
2131
- "value": 22.0
2130
+ "value": 22.0,
2131
+ "date": "May"
2132
2132
  },
2133
2133
  {
2134
2134
  "value": 30.0,
@@ -2151,42 +2151,42 @@
2151
2151
  "type": "chart-legend"
2152
2152
  },
2153
2153
  {
2154
- "width": 400.0,
2155
- "type": "graph-view",
2156
2154
  "edges": [
2157
2155
  {
2158
2156
  "target": "b",
2159
2157
  "source": "a"
2160
2158
  },
2161
2159
  {
2162
- "source": "b",
2163
- "target": "c"
2160
+ "target": "c",
2161
+ "source": "b"
2164
2162
  }
2165
2163
  ],
2164
+ "width": 400.0,
2165
+ "height": 200.0,
2166
2166
  "nodes": [
2167
2167
  {
2168
2168
  "id": "a",
2169
2169
  "label": "Start"
2170
2170
  },
2171
2171
  {
2172
- "id": "b",
2173
- "label": "Process"
2172
+ "label": "Process",
2173
+ "id": "b"
2174
2174
  },
2175
2175
  {
2176
- "id": "c",
2177
- "label": "End"
2176
+ "label": "End",
2177
+ "id": "c"
2178
2178
  }
2179
2179
  ],
2180
- "height": 200.0
2180
+ "type": "graph-view"
2181
2181
  }
2182
2182
  ],
2183
2183
  "direction": "vertical",
2184
- "gap": "lg"
2184
+ "type": "stack"
2185
2185
  }
2186
- ],
2187
- "type": "scaled-diagram"
2186
+ ]
2188
2187
  }
2189
- ]
2188
+ ],
2189
+ "appName": "Finance Tracker"
2190
2190
  }
2191
2191
  ]
2192
2192
  ]
@@ -2201,8 +2201,8 @@
2201
2201
  "FinanceSummary",
2202
2202
  {
2203
2203
  "emit": {
2204
- "success": "FinanceSummaryLoaded",
2205
- "failure": "FinanceSummaryLoadFailed"
2204
+ "failure": "FinanceSummaryLoadFailed",
2205
+ "success": "FinanceSummaryLoaded"
2206
2206
  }
2207
2207
  }
2208
2208
  ],
@@ -2210,24 +2210,6 @@
2210
2210
  "render-ui",
2211
2211
  "main",
2212
2212
  {
2213
- "navItems": [
2214
- {
2215
- "href": "/transactions",
2216
- "label": "Transactions",
2217
- "icon": "dollar-sign"
2218
- },
2219
- {
2220
- "label": "Summary",
2221
- "href": "/summary",
2222
- "icon": "layout-list"
2223
- },
2224
- {
2225
- "href": "/reports",
2226
- "label": "Reports",
2227
- "icon": "bar-chart"
2228
- }
2229
- ],
2230
- "type": "dashboard-layout",
2231
2213
  "children": [
2232
2214
  {
2233
2215
  "children": [
@@ -2237,8 +2219,8 @@
2237
2219
  "type": "breadcrumb",
2238
2220
  "items": [
2239
2221
  {
2240
- "href": "/",
2241
- "label": "Home"
2222
+ "label": "Home",
2223
+ "href": "/"
2242
2224
  },
2243
2225
  {
2244
2226
  "label": "Financial Summary"
@@ -2247,67 +2229,67 @@
2247
2229
  },
2248
2230
  {
2249
2231
  "type": "stack",
2250
- "gap": "md",
2251
2232
  "direction": "horizontal",
2252
- "justify": "between",
2233
+ "gap": "md",
2253
2234
  "children": [
2254
2235
  {
2255
2236
  "direction": "horizontal",
2256
2237
  "children": [
2257
2238
  {
2258
- "name": "pie-chart",
2259
- "type": "icon"
2239
+ "type": "icon",
2240
+ "name": "pie-chart"
2260
2241
  },
2261
2242
  {
2243
+ "type": "typography",
2262
2244
  "content": "Financial Summary",
2263
- "variant": "h2",
2264
- "type": "typography"
2245
+ "variant": "h2"
2265
2246
  }
2266
2247
  ],
2267
2248
  "gap": "md",
2268
2249
  "type": "stack"
2269
2250
  },
2270
2251
  {
2271
- "label": "Refresh",
2252
+ "type": "button",
2272
2253
  "variant": "secondary",
2273
- "icon": "refresh-cw",
2274
2254
  "action": "REFRESH",
2275
- "type": "button"
2255
+ "label": "Refresh",
2256
+ "icon": "refresh-cw"
2276
2257
  }
2277
- ]
2258
+ ],
2259
+ "justify": "between"
2278
2260
  },
2279
2261
  {
2280
2262
  "type": "divider"
2281
2263
  },
2282
2264
  {
2283
- "padding": "md",
2284
2265
  "type": "box",
2266
+ "padding": "md",
2285
2267
  "children": [
2286
2268
  {
2269
+ "type": "simple-grid",
2270
+ "cols": 3.0,
2287
2271
  "children": [
2288
2272
  {
2289
- "value": "@entity.totalIncome",
2273
+ "label": "TotalIncome",
2290
2274
  "type": "stat-display",
2291
- "label": "TotalIncome"
2275
+ "value": "@entity.totalIncome"
2292
2276
  },
2293
2277
  {
2294
- "value": "@entity.totalExpenses",
2295
2278
  "label": "TotalExpenses",
2296
- "type": "stat-display"
2279
+ "type": "stat-display",
2280
+ "value": "@entity.totalExpenses"
2297
2281
  },
2298
2282
  {
2299
- "value": "@entity.balance",
2300
2283
  "type": "stat-display",
2301
- "label": "Balance"
2284
+ "label": "Balance",
2285
+ "value": "@entity.balance"
2302
2286
  },
2303
2287
  {
2304
- "label": "SavingsRate",
2288
+ "value": "@entity.savingsRate",
2305
2289
  "type": "stat-display",
2306
- "value": "@entity.savingsRate"
2290
+ "label": "SavingsRate"
2307
2291
  }
2308
- ],
2309
- "cols": 3.0,
2310
- "type": "simple-grid"
2292
+ ]
2311
2293
  }
2312
2294
  ]
2313
2295
  },
@@ -2315,6 +2297,8 @@
2315
2297
  "type": "divider"
2316
2298
  },
2317
2299
  {
2300
+ "gap": "md",
2301
+ "type": "grid",
2318
2302
  "children": [
2319
2303
  {
2320
2304
  "children": [
@@ -2327,19 +2311,17 @@
2327
2311
  "type": "card"
2328
2312
  },
2329
2313
  {
2330
- "type": "card",
2331
2314
  "children": [
2332
2315
  {
2333
2316
  "type": "typography",
2334
2317
  "variant": "caption",
2335
2318
  "content": "Graph View"
2336
2319
  }
2337
- ]
2320
+ ],
2321
+ "type": "card"
2338
2322
  }
2339
2323
  ],
2340
- "cols": 2.0,
2341
- "gap": "md",
2342
- "type": "grid"
2324
+ "cols": 2.0
2343
2325
  },
2344
2326
  {
2345
2327
  "data": [
@@ -2371,57 +2353,75 @@
2371
2353
  "type": "line-chart"
2372
2354
  },
2373
2355
  {
2374
- "type": "chart-legend",
2375
2356
  "items": [
2376
2357
  {
2377
- "color": "primary",
2378
- "label": "Current"
2358
+ "label": "Current",
2359
+ "color": "primary"
2379
2360
  },
2380
2361
  {
2381
2362
  "color": "muted",
2382
2363
  "label": "Previous"
2383
2364
  }
2384
- ]
2365
+ ],
2366
+ "type": "chart-legend"
2385
2367
  },
2386
2368
  {
2387
2369
  "height": 200.0,
2370
+ "width": 400.0,
2371
+ "edges": [
2372
+ {
2373
+ "target": "b",
2374
+ "source": "a"
2375
+ },
2376
+ {
2377
+ "source": "b",
2378
+ "target": "c"
2379
+ }
2380
+ ],
2381
+ "type": "graph-view",
2388
2382
  "nodes": [
2389
2383
  {
2390
2384
  "label": "Start",
2391
2385
  "id": "a"
2392
2386
  },
2393
2387
  {
2394
- "id": "b",
2395
- "label": "Process"
2388
+ "label": "Process",
2389
+ "id": "b"
2396
2390
  },
2397
2391
  {
2398
2392
  "label": "End",
2399
2393
  "id": "c"
2400
2394
  }
2401
- ],
2402
- "type": "graph-view",
2403
- "edges": [
2404
- {
2405
- "source": "a",
2406
- "target": "b"
2407
- },
2408
- {
2409
- "source": "b",
2410
- "target": "c"
2411
- }
2412
- ],
2413
- "width": 400.0
2395
+ ]
2414
2396
  }
2415
2397
  ],
2416
- "direction": "vertical",
2417
2398
  "gap": "lg",
2399
+ "direction": "vertical",
2418
2400
  "type": "stack"
2419
2401
  }
2420
2402
  ],
2421
2403
  "type": "scaled-diagram"
2422
2404
  }
2423
2405
  ],
2424
- "appName": "Finance Tracker"
2406
+ "appName": "Finance Tracker",
2407
+ "navItems": [
2408
+ {
2409
+ "label": "Transactions",
2410
+ "href": "/transactions",
2411
+ "icon": "dollar-sign"
2412
+ },
2413
+ {
2414
+ "icon": "layout-list",
2415
+ "label": "Summary",
2416
+ "href": "/summary"
2417
+ },
2418
+ {
2419
+ "label": "Reports",
2420
+ "href": "/reports",
2421
+ "icon": "bar-chart"
2422
+ }
2423
+ ],
2424
+ "type": "dashboard-layout"
2425
2425
  }
2426
2426
  ]
2427
2427
  ]
@@ -2445,6 +2445,7 @@
2445
2445
  "render-ui",
2446
2446
  "main",
2447
2447
  {
2448
+ "appName": "Finance Tracker",
2448
2449
  "navItems": [
2449
2450
  {
2450
2451
  "label": "Transactions",
@@ -2452,41 +2453,42 @@
2452
2453
  "icon": "dollar-sign"
2453
2454
  },
2454
2455
  {
2455
- "href": "/summary",
2456
+ "icon": "layout-list",
2456
2457
  "label": "Summary",
2457
- "icon": "layout-list"
2458
+ "href": "/summary"
2458
2459
  },
2459
2460
  {
2460
- "label": "Reports",
2461
+ "icon": "bar-chart",
2461
2462
  "href": "/reports",
2462
- "icon": "bar-chart"
2463
+ "label": "Reports"
2463
2464
  }
2464
2465
  ],
2465
- "type": "dashboard-layout",
2466
- "appName": "Finance Tracker",
2467
2466
  "children": [
2468
2467
  {
2468
+ "type": "scaled-diagram",
2469
2469
  "children": [
2470
2470
  {
2471
- "type": "stack",
2471
+ "gap": "lg",
2472
2472
  "children": [
2473
2473
  {
2474
- "type": "breadcrumb",
2475
2474
  "items": [
2476
2475
  {
2477
- "label": "Home",
2478
- "href": "/"
2476
+ "href": "/",
2477
+ "label": "Home"
2479
2478
  },
2480
2479
  {
2481
2480
  "label": "Financial Summary"
2482
2481
  }
2483
- ]
2482
+ ],
2483
+ "type": "breadcrumb"
2484
2484
  },
2485
2485
  {
2486
2486
  "direction": "horizontal",
2487
- "type": "stack",
2487
+ "gap": "md",
2488
2488
  "children": [
2489
2489
  {
2490
+ "type": "stack",
2491
+ "gap": "md",
2490
2492
  "direction": "horizontal",
2491
2493
  "children": [
2492
2494
  {
@@ -2494,64 +2496,64 @@
2494
2496
  "name": "pie-chart"
2495
2497
  },
2496
2498
  {
2499
+ "type": "typography",
2497
2500
  "content": "Financial Summary",
2498
- "variant": "h2",
2499
- "type": "typography"
2501
+ "variant": "h2"
2500
2502
  }
2501
- ],
2502
- "type": "stack",
2503
- "gap": "md"
2503
+ ]
2504
2504
  },
2505
2505
  {
2506
+ "variant": "secondary",
2506
2507
  "action": "REFRESH",
2508
+ "icon": "refresh-cw",
2507
2509
  "label": "Refresh",
2508
- "variant": "secondary",
2509
- "type": "button",
2510
- "icon": "refresh-cw"
2510
+ "type": "button"
2511
2511
  }
2512
2512
  ],
2513
- "gap": "md",
2514
- "justify": "between"
2513
+ "justify": "between",
2514
+ "type": "stack"
2515
2515
  },
2516
2516
  {
2517
2517
  "type": "divider"
2518
2518
  },
2519
2519
  {
2520
+ "type": "box",
2521
+ "padding": "md",
2520
2522
  "children": [
2521
2523
  {
2522
- "cols": 3.0,
2523
2524
  "children": [
2524
2525
  {
2525
- "label": "TotalIncome",
2526
+ "value": "@entity.totalIncome",
2526
2527
  "type": "stat-display",
2527
- "value": "@entity.totalIncome"
2528
+ "label": "TotalIncome"
2528
2529
  },
2529
2530
  {
2530
- "label": "TotalExpenses",
2531
+ "type": "stat-display",
2531
2532
  "value": "@entity.totalExpenses",
2532
- "type": "stat-display"
2533
+ "label": "TotalExpenses"
2533
2534
  },
2534
2535
  {
2535
2536
  "label": "Balance",
2536
- "type": "stat-display",
2537
- "value": "@entity.balance"
2537
+ "value": "@entity.balance",
2538
+ "type": "stat-display"
2538
2539
  },
2539
2540
  {
2540
2541
  "label": "SavingsRate",
2541
- "type": "stat-display",
2542
- "value": "@entity.savingsRate"
2542
+ "value": "@entity.savingsRate",
2543
+ "type": "stat-display"
2543
2544
  }
2544
2545
  ],
2546
+ "cols": 3.0,
2545
2547
  "type": "simple-grid"
2546
2548
  }
2547
- ],
2548
- "type": "box",
2549
- "padding": "md"
2549
+ ]
2550
2550
  },
2551
2551
  {
2552
2552
  "type": "divider"
2553
2553
  },
2554
2554
  {
2555
+ "gap": "md",
2556
+ "type": "grid",
2555
2557
  "children": [
2556
2558
  {
2557
2559
  "type": "card",
@@ -2564,19 +2566,17 @@
2564
2566
  ]
2565
2567
  },
2566
2568
  {
2569
+ "type": "card",
2567
2570
  "children": [
2568
2571
  {
2569
- "type": "typography",
2570
2572
  "content": "Graph View",
2571
- "variant": "caption"
2573
+ "variant": "caption",
2574
+ "type": "typography"
2572
2575
  }
2573
- ],
2574
- "type": "card"
2576
+ ]
2575
2577
  }
2576
2578
  ],
2577
- "cols": 2.0,
2578
- "gap": "md",
2579
- "type": "grid"
2579
+ "cols": 2.0
2580
2580
  },
2581
2581
  {
2582
2582
  "type": "line-chart",
@@ -2598,8 +2598,8 @@
2598
2598
  "date": "Apr"
2599
2599
  },
2600
2600
  {
2601
- "value": 22.0,
2602
- "date": "May"
2601
+ "date": "May",
2602
+ "value": 22.0
2603
2603
  },
2604
2604
  {
2605
2605
  "value": 30.0,
@@ -2615,27 +2615,19 @@
2615
2615
  "label": "Current"
2616
2616
  },
2617
2617
  {
2618
- "label": "Previous",
2619
- "color": "muted"
2618
+ "color": "muted",
2619
+ "label": "Previous"
2620
2620
  }
2621
2621
  ]
2622
2622
  },
2623
2623
  {
2624
+ "type": "graph-view",
2624
2625
  "height": 200.0,
2625
- "edges": [
2626
- {
2627
- "source": "a",
2628
- "target": "b"
2629
- },
2630
- {
2631
- "source": "b",
2632
- "target": "c"
2633
- }
2634
- ],
2626
+ "width": 400.0,
2635
2627
  "nodes": [
2636
2628
  {
2637
- "id": "a",
2638
- "label": "Start"
2629
+ "label": "Start",
2630
+ "id": "a"
2639
2631
  },
2640
2632
  {
2641
2633
  "id": "b",
@@ -2646,17 +2638,25 @@
2646
2638
  "id": "c"
2647
2639
  }
2648
2640
  ],
2649
- "width": 400.0,
2650
- "type": "graph-view"
2641
+ "edges": [
2642
+ {
2643
+ "source": "a",
2644
+ "target": "b"
2645
+ },
2646
+ {
2647
+ "source": "b",
2648
+ "target": "c"
2649
+ }
2650
+ ]
2651
2651
  }
2652
2652
  ],
2653
- "direction": "vertical",
2654
- "gap": "lg"
2653
+ "type": "stack",
2654
+ "direction": "vertical"
2655
2655
  }
2656
- ],
2657
- "type": "scaled-diagram"
2656
+ ]
2658
2657
  }
2659
- ]
2658
+ ],
2659
+ "type": "dashboard-layout"
2660
2660
  }
2661
2661
  ]
2662
2662
  ]
@@ -2680,23 +2680,7 @@
2680
2680
  "render-ui",
2681
2681
  "main",
2682
2682
  {
2683
- "navItems": [
2684
- {
2685
- "href": "/transactions",
2686
- "icon": "dollar-sign",
2687
- "label": "Transactions"
2688
- },
2689
- {
2690
- "href": "/summary",
2691
- "label": "Summary",
2692
- "icon": "layout-list"
2693
- },
2694
- {
2695
- "icon": "bar-chart",
2696
- "label": "Reports",
2697
- "href": "/reports"
2698
- }
2699
- ],
2683
+ "type": "dashboard-layout",
2700
2684
  "children": [
2701
2685
  {
2702
2686
  "type": "scaled-diagram",
@@ -2707,7 +2691,6 @@
2707
2691
  "gap": "lg",
2708
2692
  "children": [
2709
2693
  {
2710
- "type": "breadcrumb",
2711
2694
  "items": [
2712
2695
  {
2713
2696
  "label": "Home",
@@ -2716,174 +2699,175 @@
2716
2699
  {
2717
2700
  "label": "Financial Summary"
2718
2701
  }
2719
- ]
2702
+ ],
2703
+ "type": "breadcrumb"
2720
2704
  },
2721
2705
  {
2722
- "justify": "between",
2706
+ "type": "stack",
2707
+ "gap": "md",
2723
2708
  "children": [
2724
2709
  {
2710
+ "gap": "md",
2725
2711
  "type": "stack",
2726
- "direction": "horizontal",
2727
2712
  "children": [
2728
2713
  {
2729
2714
  "type": "icon",
2730
2715
  "name": "pie-chart"
2731
2716
  },
2732
2717
  {
2733
- "variant": "h2",
2718
+ "content": "Financial Summary",
2734
2719
  "type": "typography",
2735
- "content": "Financial Summary"
2720
+ "variant": "h2"
2736
2721
  }
2737
2722
  ],
2738
- "gap": "md"
2723
+ "direction": "horizontal"
2739
2724
  },
2740
2725
  {
2741
2726
  "type": "button",
2742
- "action": "REFRESH",
2743
- "variant": "secondary",
2744
2727
  "icon": "refresh-cw",
2745
- "label": "Refresh"
2728
+ "variant": "secondary",
2729
+ "label": "Refresh",
2730
+ "action": "REFRESH"
2746
2731
  }
2747
2732
  ],
2748
2733
  "direction": "horizontal",
2749
- "type": "stack",
2750
- "gap": "md"
2734
+ "justify": "between"
2751
2735
  },
2752
2736
  {
2753
2737
  "type": "divider"
2754
2738
  },
2755
2739
  {
2740
+ "type": "box",
2756
2741
  "children": [
2757
2742
  {
2743
+ "type": "simple-grid",
2758
2744
  "cols": 3.0,
2759
2745
  "children": [
2760
2746
  {
2747
+ "value": "@entity.totalIncome",
2761
2748
  "type": "stat-display",
2762
- "label": "TotalIncome",
2763
- "value": "@entity.totalIncome"
2749
+ "label": "TotalIncome"
2764
2750
  },
2765
2751
  {
2766
- "type": "stat-display",
2752
+ "value": "@entity.totalExpenses",
2767
2753
  "label": "TotalExpenses",
2768
- "value": "@entity.totalExpenses"
2754
+ "type": "stat-display"
2769
2755
  },
2770
2756
  {
2771
2757
  "type": "stat-display",
2772
- "label": "Balance",
2773
- "value": "@entity.balance"
2758
+ "value": "@entity.balance",
2759
+ "label": "Balance"
2774
2760
  },
2775
2761
  {
2776
- "type": "stat-display",
2777
2762
  "value": "@entity.savingsRate",
2763
+ "type": "stat-display",
2778
2764
  "label": "SavingsRate"
2779
2765
  }
2780
- ],
2781
- "type": "simple-grid"
2766
+ ]
2782
2767
  }
2783
2768
  ],
2784
- "padding": "md",
2785
- "type": "box"
2769
+ "padding": "md"
2786
2770
  },
2787
2771
  {
2788
2772
  "type": "divider"
2789
2773
  },
2790
2774
  {
2775
+ "type": "grid",
2791
2776
  "children": [
2792
2777
  {
2778
+ "type": "card",
2793
2779
  "children": [
2794
2780
  {
2795
2781
  "variant": "caption",
2796
2782
  "content": "Chart View",
2797
2783
  "type": "typography"
2798
2784
  }
2799
- ],
2800
- "type": "card"
2785
+ ]
2801
2786
  },
2802
2787
  {
2788
+ "type": "card",
2803
2789
  "children": [
2804
2790
  {
2805
2791
  "type": "typography",
2806
- "variant": "caption",
2807
- "content": "Graph View"
2792
+ "content": "Graph View",
2793
+ "variant": "caption"
2808
2794
  }
2809
- ],
2810
- "type": "card"
2795
+ ]
2811
2796
  }
2812
2797
  ],
2813
2798
  "gap": "md",
2814
- "type": "grid",
2815
2799
  "cols": 2.0
2816
2800
  },
2817
2801
  {
2818
- "type": "line-chart",
2819
2802
  "data": [
2820
2803
  {
2821
2804
  "date": "Jan",
2822
2805
  "value": 12.0
2823
2806
  },
2824
2807
  {
2825
- "value": 19.0,
2826
- "date": "Feb"
2808
+ "date": "Feb",
2809
+ "value": 19.0
2827
2810
  },
2828
2811
  {
2829
2812
  "value": 15.0,
2830
2813
  "date": "Mar"
2831
2814
  },
2832
2815
  {
2833
- "date": "Apr",
2834
- "value": 25.0
2816
+ "value": 25.0,
2817
+ "date": "Apr"
2835
2818
  },
2836
2819
  {
2837
2820
  "date": "May",
2838
2821
  "value": 22.0
2839
2822
  },
2840
2823
  {
2841
- "date": "Jun",
2842
- "value": 30.0
2824
+ "value": 30.0,
2825
+ "date": "Jun"
2843
2826
  }
2844
- ]
2827
+ ],
2828
+ "type": "line-chart"
2845
2829
  },
2846
2830
  {
2831
+ "type": "chart-legend",
2847
2832
  "items": [
2848
2833
  {
2849
- "color": "primary",
2850
- "label": "Current"
2834
+ "label": "Current",
2835
+ "color": "primary"
2851
2836
  },
2852
2837
  {
2853
- "color": "muted",
2854
- "label": "Previous"
2838
+ "label": "Previous",
2839
+ "color": "muted"
2855
2840
  }
2856
- ],
2857
- "type": "chart-legend"
2841
+ ]
2858
2842
  },
2859
2843
  {
2860
- "nodes": [
2861
- {
2862
- "label": "Start",
2863
- "id": "a"
2864
- },
2844
+ "type": "graph-view",
2845
+ "edges": [
2865
2846
  {
2866
- "id": "b",
2867
- "label": "Process"
2847
+ "source": "a",
2848
+ "target": "b"
2868
2849
  },
2869
2850
  {
2870
- "label": "End",
2871
- "id": "c"
2851
+ "target": "c",
2852
+ "source": "b"
2872
2853
  }
2873
2854
  ],
2874
- "width": 400.0,
2875
- "type": "graph-view",
2876
- "height": 200.0,
2877
- "edges": [
2855
+ "nodes": [
2878
2856
  {
2879
- "target": "b",
2880
- "source": "a"
2857
+ "id": "a",
2858
+ "label": "Start"
2881
2859
  },
2882
2860
  {
2883
- "source": "b",
2884
- "target": "c"
2861
+ "label": "Process",
2862
+ "id": "b"
2863
+ },
2864
+ {
2865
+ "id": "c",
2866
+ "label": "End"
2885
2867
  }
2886
- ]
2868
+ ],
2869
+ "height": 200.0,
2870
+ "width": 400.0
2887
2871
  }
2888
2872
  ]
2889
2873
  }
@@ -2891,7 +2875,23 @@
2891
2875
  }
2892
2876
  ],
2893
2877
  "appName": "Finance Tracker",
2894
- "type": "dashboard-layout"
2878
+ "navItems": [
2879
+ {
2880
+ "label": "Transactions",
2881
+ "href": "/transactions",
2882
+ "icon": "dollar-sign"
2883
+ },
2884
+ {
2885
+ "icon": "layout-list",
2886
+ "label": "Summary",
2887
+ "href": "/summary"
2888
+ },
2889
+ {
2890
+ "label": "Reports",
2891
+ "icon": "bar-chart",
2892
+ "href": "/reports"
2893
+ }
2894
+ ]
2895
2895
  }
2896
2896
  ]
2897
2897
  ]
@@ -2906,8 +2906,8 @@
2906
2906
  "FinanceSummary",
2907
2907
  {
2908
2908
  "emit": {
2909
- "success": "FinanceSummaryLoaded",
2910
- "failure": "FinanceSummaryLoadFailed"
2909
+ "failure": "FinanceSummaryLoadFailed",
2910
+ "success": "FinanceSummaryLoaded"
2911
2911
  }
2912
2912
  }
2913
2913
  ],
@@ -2915,19 +2915,20 @@
2915
2915
  "render-ui",
2916
2916
  "main",
2917
2917
  {
2918
+ "type": "dashboard-layout",
2918
2919
  "children": [
2919
2920
  {
2920
- "type": "scaled-diagram",
2921
2921
  "children": [
2922
2922
  {
2923
- "gap": "lg",
2924
2923
  "type": "stack",
2924
+ "direction": "vertical",
2925
+ "gap": "lg",
2925
2926
  "children": [
2926
2927
  {
2927
2928
  "items": [
2928
2929
  {
2929
- "href": "/",
2930
- "label": "Home"
2930
+ "label": "Home",
2931
+ "href": "/"
2931
2932
  },
2932
2933
  {
2933
2934
  "label": "Financial Summary"
@@ -2936,46 +2937,45 @@
2936
2937
  "type": "breadcrumb"
2937
2938
  },
2938
2939
  {
2939
- "gap": "md",
2940
2940
  "type": "stack",
2941
+ "direction": "horizontal",
2941
2942
  "children": [
2942
2943
  {
2943
- "direction": "horizontal",
2944
- "gap": "md",
2945
- "type": "stack",
2946
2944
  "children": [
2947
2945
  {
2948
2946
  "type": "icon",
2949
2947
  "name": "pie-chart"
2950
2948
  },
2951
2949
  {
2952
- "content": "Financial Summary",
2953
2950
  "type": "typography",
2951
+ "content": "Financial Summary",
2954
2952
  "variant": "h2"
2955
2953
  }
2956
- ]
2954
+ ],
2955
+ "type": "stack",
2956
+ "direction": "horizontal",
2957
+ "gap": "md"
2957
2958
  },
2958
2959
  {
2959
- "variant": "secondary",
2960
2960
  "icon": "refresh-cw",
2961
- "label": "Refresh",
2961
+ "variant": "secondary",
2962
2962
  "action": "REFRESH",
2963
+ "label": "Refresh",
2963
2964
  "type": "button"
2964
2965
  }
2965
2966
  ],
2966
- "direction": "horizontal",
2967
+ "gap": "md",
2967
2968
  "justify": "between"
2968
2969
  },
2969
2970
  {
2970
2971
  "type": "divider"
2971
2972
  },
2972
2973
  {
2973
- "padding": "md",
2974
2974
  "type": "box",
2975
2975
  "children": [
2976
2976
  {
2977
- "type": "simple-grid",
2978
2977
  "cols": 3.0,
2978
+ "type": "simple-grid",
2979
2979
  "children": [
2980
2980
  {
2981
2981
  "label": "TotalIncome",
@@ -2983,9 +2983,9 @@
2983
2983
  "type": "stat-display"
2984
2984
  },
2985
2985
  {
2986
- "label": "TotalExpenses",
2987
2986
  "type": "stat-display",
2988
- "value": "@entity.totalExpenses"
2987
+ "value": "@entity.totalExpenses",
2988
+ "label": "TotalExpenses"
2989
2989
  },
2990
2990
  {
2991
2991
  "type": "stat-display",
@@ -2993,58 +2993,59 @@
2993
2993
  "value": "@entity.balance"
2994
2994
  },
2995
2995
  {
2996
- "label": "SavingsRate",
2997
2996
  "type": "stat-display",
2997
+ "label": "SavingsRate",
2998
2998
  "value": "@entity.savingsRate"
2999
2999
  }
3000
3000
  ]
3001
3001
  }
3002
- ]
3002
+ ],
3003
+ "padding": "md"
3003
3004
  },
3004
3005
  {
3005
3006
  "type": "divider"
3006
3007
  },
3007
3008
  {
3008
3009
  "type": "grid",
3009
- "gap": "md",
3010
3010
  "children": [
3011
3011
  {
3012
3012
  "children": [
3013
3013
  {
3014
+ "variant": "caption",
3014
3015
  "content": "Chart View",
3015
- "type": "typography",
3016
- "variant": "caption"
3016
+ "type": "typography"
3017
3017
  }
3018
3018
  ],
3019
3019
  "type": "card"
3020
3020
  },
3021
3021
  {
3022
- "type": "card",
3023
3022
  "children": [
3024
3023
  {
3024
+ "content": "Graph View",
3025
3025
  "type": "typography",
3026
- "variant": "caption",
3027
- "content": "Graph View"
3026
+ "variant": "caption"
3028
3027
  }
3029
- ]
3028
+ ],
3029
+ "type": "card"
3030
3030
  }
3031
3031
  ],
3032
- "cols": 2.0
3032
+ "cols": 2.0,
3033
+ "gap": "md"
3033
3034
  },
3034
3035
  {
3035
3036
  "type": "line-chart",
3036
3037
  "data": [
3037
- {
3038
- "date": "Jan",
3039
- "value": 12.0
3038
+ {
3039
+ "value": 12.0,
3040
+ "date": "Jan"
3040
3041
  },
3041
3042
  {
3042
- "date": "Feb",
3043
- "value": 19.0
3043
+ "value": 19.0,
3044
+ "date": "Feb"
3044
3045
  },
3045
3046
  {
3046
- "value": 15.0,
3047
- "date": "Mar"
3047
+ "date": "Mar",
3048
+ "value": 15.0
3048
3049
  },
3049
3050
  {
3050
3051
  "value": 25.0,
@@ -3055,36 +3056,26 @@
3055
3056
  "date": "May"
3056
3057
  },
3057
3058
  {
3058
- "value": 30.0,
3059
- "date": "Jun"
3059
+ "date": "Jun",
3060
+ "value": 30.0
3060
3061
  }
3061
3062
  ]
3062
3063
  },
3063
3064
  {
3065
+ "type": "chart-legend",
3064
3066
  "items": [
3065
3067
  {
3066
3068
  "color": "primary",
3067
3069
  "label": "Current"
3068
3070
  },
3069
3071
  {
3070
- "color": "muted",
3071
- "label": "Previous"
3072
+ "label": "Previous",
3073
+ "color": "muted"
3072
3074
  }
3073
- ],
3074
- "type": "chart-legend"
3075
+ ]
3075
3076
  },
3076
3077
  {
3077
3078
  "type": "graph-view",
3078
- "edges": [
3079
- {
3080
- "source": "a",
3081
- "target": "b"
3082
- },
3083
- {
3084
- "source": "b",
3085
- "target": "c"
3086
- }
3087
- ],
3088
3079
  "nodes": [
3089
3080
  {
3090
3081
  "id": "a",
@@ -3099,15 +3090,26 @@
3099
3090
  "label": "End"
3100
3091
  }
3101
3092
  ],
3093
+ "height": 200.0,
3102
3094
  "width": 400.0,
3103
- "height": 200.0
3095
+ "edges": [
3096
+ {
3097
+ "source": "a",
3098
+ "target": "b"
3099
+ },
3100
+ {
3101
+ "source": "b",
3102
+ "target": "c"
3103
+ }
3104
+ ]
3104
3105
  }
3105
- ],
3106
- "direction": "vertical"
3106
+ ]
3107
3107
  }
3108
- ]
3108
+ ],
3109
+ "type": "scaled-diagram"
3109
3110
  }
3110
3111
  ],
3112
+ "appName": "Finance Tracker",
3111
3113
  "navItems": [
3112
3114
  {
3113
3115
  "label": "Transactions",
@@ -3115,18 +3117,16 @@
3115
3117
  "icon": "dollar-sign"
3116
3118
  },
3117
3119
  {
3118
- "icon": "layout-list",
3119
3120
  "href": "/summary",
3120
- "label": "Summary"
3121
+ "label": "Summary",
3122
+ "icon": "layout-list"
3121
3123
  },
3122
3124
  {
3123
3125
  "href": "/reports",
3124
3126
  "icon": "bar-chart",
3125
3127
  "label": "Reports"
3126
3128
  }
3127
- ],
3128
- "type": "dashboard-layout",
3129
- "appName": "Finance Tracker"
3129
+ ]
3130
3130
  }
3131
3131
  ]
3132
3132
  ]
@@ -3272,18 +3272,18 @@
3272
3272
  {
3273
3273
  "gap": "md",
3274
3274
  "direction": "vertical",
3275
- "type": "stack",
3276
3275
  "align": "center",
3277
3276
  "className": "py-12",
3277
+ "type": "stack",
3278
3278
  "children": [
3279
3279
  {
3280
3280
  "type": "spinner"
3281
3281
  },
3282
3282
  {
3283
+ "content": "Loading…",
3283
3284
  "variant": "caption",
3284
3285
  "color": "muted",
3285
- "type": "typography",
3286
- "content": "Loading…"
3286
+ "type": "typography"
3287
3287
  }
3288
3288
  ]
3289
3289
  }
@@ -3299,60 +3299,84 @@
3299
3299
  "render-ui",
3300
3300
  "main",
3301
3301
  {
3302
+ "appName": "Finance Tracker",
3303
+ "type": "dashboard-layout",
3304
+ "navItems": [
3305
+ {
3306
+ "icon": "dollar-sign",
3307
+ "href": "/transactions",
3308
+ "label": "Transactions"
3309
+ },
3310
+ {
3311
+ "href": "/summary",
3312
+ "icon": "layout-list",
3313
+ "label": "Summary"
3314
+ },
3315
+ {
3316
+ "label": "Reports",
3317
+ "icon": "bar-chart",
3318
+ "href": "/reports"
3319
+ }
3320
+ ],
3302
3321
  "children": [
3303
3322
  {
3304
- "type": "stack",
3305
- "direction": "vertical",
3306
- "className": "max-w-5xl mx-auto w-full",
3307
3323
  "gap": "lg",
3324
+ "className": "max-w-5xl mx-auto w-full",
3308
3325
  "children": [
3309
3326
  {
3310
- "type": "stack",
3311
- "direction": "horizontal",
3312
- "gap": "md",
3313
- "justify": "between",
3314
- "align": "center",
3315
3327
  "children": [
3316
3328
  {
3317
- "type": "stack",
3329
+ "direction": "horizontal",
3330
+ "gap": "sm",
3331
+ "align": "center",
3318
3332
  "children": [
3319
3333
  {
3320
3334
  "name": "file-text",
3321
3335
  "type": "icon"
3322
3336
  },
3323
3337
  {
3324
- "type": "typography",
3325
3338
  "variant": "h2",
3339
+ "type": "typography",
3326
3340
  "content": "Reports"
3327
3341
  }
3328
3342
  ],
3329
- "direction": "horizontal",
3330
- "gap": "sm",
3331
- "align": "center"
3343
+ "type": "stack"
3332
3344
  },
3333
3345
  {
3346
+ "gap": "sm",
3334
3347
  "children": [
3335
3348
  {
3336
- "icon": "plus",
3337
3349
  "type": "button",
3350
+ "icon": "plus",
3351
+ "label": "Create FinanceReport",
3338
3352
  "action": "CREATE",
3339
- "variant": "primary",
3340
- "label": "Create FinanceReport"
3353
+ "variant": "primary"
3341
3354
  }
3342
3355
  ],
3343
- "gap": "sm",
3344
- "direction": "horizontal",
3345
- "type": "stack"
3356
+ "type": "stack",
3357
+ "direction": "horizontal"
3346
3358
  }
3347
- ]
3359
+ ],
3360
+ "gap": "md",
3361
+ "align": "center",
3362
+ "justify": "between",
3363
+ "type": "stack",
3364
+ "direction": "horizontal"
3348
3365
  },
3349
3366
  {
3350
3367
  "type": "divider"
3351
3368
  },
3352
3369
  {
3353
- "variant": "card",
3370
+ "itemActions": [
3371
+ {
3372
+ "variant": "ghost",
3373
+ "label": "View",
3374
+ "event": "VIEW"
3375
+ }
3376
+ ],
3354
3377
  "fields": [],
3355
- "type": "data-list",
3378
+ "variant": "card",
3379
+ "entity": "@payload.data",
3356
3380
  "columns": [
3357
3381
  {
3358
3382
  "variant": "h3",
@@ -3365,46 +3389,22 @@
3365
3389
  },
3366
3390
  {
3367
3391
  "format": "currency",
3368
- "variant": "h4",
3369
- "name": "total"
3392
+ "name": "total",
3393
+ "variant": "h4"
3370
3394
  },
3371
3395
  {
3372
- "format": "date",
3373
3396
  "variant": "caption",
3374
- "label": "Generated",
3375
- "name": "generatedAt"
3397
+ "name": "generatedAt",
3398
+ "format": "date",
3399
+ "label": "Generated"
3376
3400
  }
3377
3401
  ],
3378
3402
  "gap": "sm",
3379
- "entity": "@payload.data",
3380
- "itemActions": [
3381
- {
3382
- "label": "View",
3383
- "event": "VIEW",
3384
- "variant": "ghost"
3385
- }
3386
- ]
3403
+ "type": "data-list"
3387
3404
  }
3388
- ]
3389
- }
3390
- ],
3391
- "appName": "Finance Tracker",
3392
- "type": "dashboard-layout",
3393
- "navItems": [
3394
- {
3395
- "href": "/transactions",
3396
- "label": "Transactions",
3397
- "icon": "dollar-sign"
3398
- },
3399
- {
3400
- "icon": "layout-list",
3401
- "href": "/summary",
3402
- "label": "Summary"
3403
- },
3404
- {
3405
- "href": "/reports",
3406
- "label": "Reports",
3407
- "icon": "bar-chart"
3405
+ ],
3406
+ "type": "stack",
3407
+ "direction": "vertical"
3408
3408
  }
3409
3409
  ]
3410
3410
  }
@@ -3420,36 +3420,36 @@
3420
3420
  "render-ui",
3421
3421
  "main",
3422
3422
  {
3423
+ "gap": "md",
3423
3424
  "children": [
3424
3425
  {
3425
- "name": "alert-triangle",
3426
3426
  "type": "icon",
3427
+ "name": "alert-triangle",
3427
3428
  "color": "destructive"
3428
3429
  },
3429
3430
  {
3430
- "content": "Failed to load financereport",
3431
3431
  "variant": "h3",
3432
+ "content": "Failed to load financereport",
3432
3433
  "type": "typography"
3433
3434
  },
3434
3435
  {
3435
3436
  "color": "muted",
3436
- "type": "typography",
3437
3437
  "variant": "body",
3438
+ "type": "typography",
3438
3439
  "content": "@payload.error"
3439
3440
  },
3440
3441
  {
3441
3442
  "variant": "primary",
3442
- "icon": "rotate-ccw",
3443
3443
  "label": "Retry",
3444
- "action": "INIT",
3445
- "type": "button"
3444
+ "icon": "rotate-ccw",
3445
+ "type": "button",
3446
+ "action": "INIT"
3446
3447
  }
3447
3448
  ],
3448
- "align": "center",
3449
3449
  "direction": "vertical",
3450
- "className": "py-12",
3451
- "gap": "md",
3452
- "type": "stack"
3450
+ "type": "stack",
3451
+ "align": "center",
3452
+ "className": "py-12"
3453
3453
  }
3454
3454
  ]
3455
3455
  ]
@@ -3618,8 +3618,8 @@
3618
3618
  "FinanceReport",
3619
3619
  {
3620
3620
  "emit": {
3621
- "failure": "FinanceReportLoadFailed",
3622
- "success": "FinanceReportLoaded"
3621
+ "success": "FinanceReportLoaded",
3622
+ "failure": "FinanceReportLoadFailed"
3623
3623
  }
3624
3624
  }
3625
3625
  ],
@@ -3627,12 +3627,9 @@
3627
3627
  "render-ui",
3628
3628
  "modal",
3629
3629
  {
3630
- "type": "stack",
3631
3630
  "gap": "md",
3632
- "direction": "vertical",
3633
3631
  "children": [
3634
3632
  {
3635
- "type": "stack",
3636
3633
  "children": [
3637
3634
  {
3638
3635
  "type": "icon",
@@ -3645,24 +3642,27 @@
3645
3642
  }
3646
3643
  ],
3647
3644
  "direction": "horizontal",
3648
- "gap": "sm"
3645
+ "gap": "sm",
3646
+ "type": "stack"
3649
3647
  },
3650
3648
  {
3651
3649
  "type": "divider"
3652
3650
  },
3653
3651
  {
3654
3652
  "cancelEvent": "CLOSE",
3655
- "submitEvent": "SAVE",
3656
3653
  "fields": [
3657
3654
  "title",
3658
3655
  "period",
3659
3656
  "total",
3660
3657
  "generatedAt"
3661
3658
  ],
3662
- "mode": "create",
3663
- "type": "form-section"
3659
+ "type": "form-section",
3660
+ "submitEvent": "SAVE",
3661
+ "mode": "create"
3664
3662
  }
3665
- ]
3663
+ ],
3664
+ "direction": "vertical",
3665
+ "type": "stack"
3666
3666
  }
3667
3667
  ]
3668
3668
  ]
@@ -3837,37 +3837,36 @@
3837
3837
  "fetch",
3838
3838
  "FinanceReport",
3839
3839
  {
3840
- "id": "@payload.id",
3841
3840
  "emit": {
3842
- "success": "FinanceReportLoaded",
3843
- "failure": "FinanceReportLoadFailed"
3844
- }
3841
+ "failure": "FinanceReportLoadFailed",
3842
+ "success": "FinanceReportLoaded"
3843
+ },
3844
+ "id": "@payload.id"
3845
3845
  }
3846
3846
  ],
3847
3847
  [
3848
3848
  "render-ui",
3849
3849
  "modal",
3850
3850
  {
3851
- "gap": "md",
3852
- "direction": "vertical",
3853
3851
  "type": "stack",
3852
+ "gap": "md",
3854
3853
  "children": [
3855
3854
  {
3856
3855
  "type": "stack",
3856
+ "direction": "horizontal",
3857
+ "gap": "sm",
3858
+ "align": "center",
3857
3859
  "children": [
3858
3860
  {
3859
- "name": "eye",
3860
- "type": "icon"
3861
+ "type": "icon",
3862
+ "name": "eye"
3861
3863
  },
3862
3864
  {
3863
- "content": "@entity.title",
3864
3865
  "variant": "h3",
3866
+ "content": "@entity.title",
3865
3867
  "type": "typography"
3866
3868
  }
3867
- ],
3868
- "gap": "sm",
3869
- "direction": "horizontal",
3870
- "align": "center"
3869
+ ]
3871
3870
  },
3872
3871
  {
3873
3872
  "type": "divider"
@@ -3875,9 +3874,9 @@
3875
3874
  {
3876
3875
  "children": [
3877
3876
  {
3878
- "type": "typography",
3879
3877
  "variant": "caption",
3880
- "content": "Title"
3878
+ "content": "Title",
3879
+ "type": "typography"
3881
3880
  },
3882
3881
  {
3883
3882
  "content": "@entity.title",
@@ -3885,28 +3884,29 @@
3885
3884
  "variant": "body"
3886
3885
  }
3887
3886
  ],
3888
- "direction": "horizontal",
3889
3887
  "gap": "md",
3888
+ "direction": "horizontal",
3890
3889
  "type": "stack"
3891
3890
  },
3892
3891
  {
3893
- "gap": "md",
3894
- "type": "stack",
3895
3892
  "direction": "horizontal",
3893
+ "type": "stack",
3896
3894
  "children": [
3897
3895
  {
3898
3896
  "type": "typography",
3899
- "content": "Period",
3900
- "variant": "caption"
3897
+ "variant": "caption",
3898
+ "content": "Period"
3901
3899
  },
3902
3900
  {
3903
3901
  "content": "@entity.period",
3904
- "variant": "body",
3905
- "type": "typography"
3902
+ "type": "typography",
3903
+ "variant": "body"
3906
3904
  }
3907
- ]
3905
+ ],
3906
+ "gap": "md"
3908
3907
  },
3909
3908
  {
3909
+ "type": "stack",
3910
3910
  "children": [
3911
3911
  {
3912
3912
  "variant": "caption",
@@ -3915,15 +3915,15 @@
3915
3915
  },
3916
3916
  {
3917
3917
  "variant": "body",
3918
- "content": "@entity.total",
3919
- "type": "typography"
3918
+ "type": "typography",
3919
+ "content": "@entity.total"
3920
3920
  }
3921
3921
  ],
3922
- "gap": "md",
3923
- "type": "stack",
3924
- "direction": "horizontal"
3922
+ "direction": "horizontal",
3923
+ "gap": "md"
3925
3924
  },
3926
3925
  {
3926
+ "type": "stack",
3927
3927
  "direction": "horizontal",
3928
3928
  "gap": "md",
3929
3929
  "children": [
@@ -3934,30 +3934,30 @@
3934
3934
  },
3935
3935
  {
3936
3936
  "variant": "body",
3937
- "type": "typography",
3938
- "content": "@entity.generatedAt"
3937
+ "content": "@entity.generatedAt",
3938
+ "type": "typography"
3939
3939
  }
3940
- ],
3941
- "type": "stack"
3940
+ ]
3942
3941
  },
3943
3942
  {
3944
3943
  "type": "divider"
3945
3944
  },
3946
3945
  {
3946
+ "justify": "end",
3947
+ "gap": "sm",
3948
+ "direction": "horizontal",
3947
3949
  "children": [
3948
3950
  {
3949
3951
  "label": "Close",
3950
3952
  "type": "button",
3951
- "variant": "ghost",
3952
- "action": "CLOSE"
3953
+ "action": "CLOSE",
3954
+ "variant": "ghost"
3953
3955
  }
3954
3956
  ],
3955
- "direction": "horizontal",
3956
- "justify": "end",
3957
- "gap": "sm",
3958
3957
  "type": "stack"
3959
3958
  }
3960
- ]
3959
+ ],
3960
+ "direction": "vertical"
3961
3961
  }
3962
3962
  ]
3963
3963
  ]