@almadar/std 9.0.0 → 11.0.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 +80 -80
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +131 -113
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +116 -98
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +384 -384
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +106 -106
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +75 -75
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +163 -139
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +130 -130
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +185 -185
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +344 -344
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +81 -63
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +189 -189
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +163 -163
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +120 -120
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +108 -108
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1097 -1072
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3183 -3043
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2309 -2217
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1083 -1029
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -768
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +929 -887
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1247 -1163
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +822 -780
  27. package/behaviors/registry/app/organisms/std-cms.orb +608 -512
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +393 -393
  29. package/behaviors/registry/app/organisms/std-crm.orb +887 -791
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1408 -1366
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +1147 -1021
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +670 -616
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1447 -1351
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +720 -666
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1286 -1202
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +925 -883
  37. package/behaviors/registry/app/organisms/std-lms.orb +935 -893
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +834 -750
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +735 -681
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +235 -211
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +730 -688
  42. package/behaviors/registry/core/atoms/std-browse.orb +56 -56
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +95 -95
  44. package/behaviors/registry/core/atoms/std-calendar.orb +54 -54
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +180 -180
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  47. package/behaviors/registry/core/atoms/std-display.orb +388 -388
  48. package/behaviors/registry/core/atoms/std-drawer.orb +54 -54
  49. package/behaviors/registry/core/atoms/std-filter.orb +47 -47
  50. package/behaviors/registry/core/atoms/std-gallery.orb +51 -51
  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 +43 -43
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +194 -194
  55. package/behaviors/registry/core/atoms/std-related.orb +37 -37
  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 +44 -44
  59. package/behaviors/registry/core/molecules/std-cart.orb +55 -59
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +6 -6
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +132 -132
  62. package/behaviors/registry/core/molecules/std-list.orb +79 -85
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +146 -146
  64. package/behaviors/registry/game/atoms/std-collision.orb +122 -122
  65. package/behaviors/registry/game/atoms/std-combat.orb +66 -66
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  69. package/behaviors/registry/game/atoms/std-movement.orb +291 -291
  70. package/behaviors/registry/game/atoms/std-overworld.orb +69 -69
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +77 -77
  72. package/behaviors/registry/game/atoms/std-quest.orb +133 -133
  73. package/behaviors/registry/game/atoms/std-timer.orb +291 -291
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +139 -139
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +81 -81
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +273 -237
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +98 -98
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +407 -371
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +378 -378
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +557 -557
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +282 -20
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +84 -84
  83. package/behaviors/registry/service/atoms/std-service-email.orb +88 -88
  84. package/behaviors/registry/service/atoms/std-service-github.orb +88 -88
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +119 -119
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +122 -122
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +99 -99
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +109 -109
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +112 -112
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +111 -111
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1098 -1014
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +956 -956
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +80 -80
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +131 -113
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +116 -98
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +384 -384
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +106 -106
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +75 -75
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +163 -139
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +130 -130
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +185 -185
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +344 -344
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +81 -63
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +189 -189
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +163 -163
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +120 -120
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +108 -108
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1097 -1072
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3183 -3043
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2309 -2217
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1083 -1029
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -768
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +929 -887
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1247 -1163
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +822 -780
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +608 -512
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +393 -393
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +887 -791
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1408 -1366
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1147 -1021
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +670 -616
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1447 -1351
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +720 -666
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1286 -1202
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +925 -883
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +935 -893
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +834 -750
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +735 -681
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +235 -211
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +730 -688
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +56 -56
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +95 -95
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +54 -54
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +180 -180
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +388 -388
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +54 -54
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +47 -47
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +51 -51
  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 +43 -43
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +194 -194
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +37 -37
  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 +44 -44
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +55 -59
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +6 -6
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +132 -132
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +79 -85
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +146 -146
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +122 -122
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +66 -66
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +291 -291
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +69 -69
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +77 -77
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +133 -133
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +291 -291
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +139 -139
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +81 -81
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +273 -237
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +98 -98
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +407 -371
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +378 -378
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +557 -557
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +282 -20
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +84 -84
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +88 -88
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +88 -88
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +119 -119
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +122 -122
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +99 -99
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +109 -109
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +112 -112
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +111 -111
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1098 -1014
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +956 -956
  187. package/package.json +1 -1
@@ -384,8 +384,8 @@
384
384
  "Transaction",
385
385
  {
386
386
  "emit": {
387
- "failure": "TransactionLoadFailed",
388
- "success": "TransactionLoaded"
387
+ "success": "TransactionLoaded",
388
+ "failure": "TransactionLoadFailed"
389
389
  }
390
390
  }
391
391
  ],
@@ -393,22 +393,22 @@
393
393
  "render-ui",
394
394
  "main",
395
395
  {
396
- "direction": "vertical",
397
- "type": "stack",
398
- "align": "center",
399
- "className": "py-12",
400
- "gap": "md",
401
396
  "children": [
402
397
  {
403
398
  "type": "spinner"
404
399
  },
405
400
  {
406
- "color": "muted",
407
401
  "variant": "caption",
408
402
  "type": "typography",
403
+ "color": "muted",
409
404
  "content": "Loading…"
410
405
  }
411
- ]
406
+ ],
407
+ "gap": "md",
408
+ "direction": "vertical",
409
+ "className": "py-12",
410
+ "type": "stack",
411
+ "align": "center"
412
412
  }
413
413
  ]
414
414
  ]
@@ -422,16 +422,17 @@
422
422
  "render-ui",
423
423
  "main",
424
424
  {
425
+ "appName": "Finance Tracker",
425
426
  "navItems": [
426
427
  {
427
- "href": "/transactions",
428
428
  "icon": "dollar-sign",
429
+ "href": "/transactions",
429
430
  "label": "Transactions"
430
431
  },
431
432
  {
432
- "icon": "layout-list",
433
433
  "label": "Summary",
434
- "href": "/summary"
434
+ "href": "/summary",
435
+ "icon": "layout-list"
435
436
  },
436
437
  {
437
438
  "href": "/reports",
@@ -439,103 +440,102 @@
439
440
  "label": "Reports"
440
441
  }
441
442
  ],
442
- "appName": "Finance Tracker",
443
443
  "children": [
444
444
  {
445
- "direction": "vertical",
446
- "type": "stack",
445
+ "className": "max-w-5xl mx-auto w-full",
447
446
  "children": [
448
447
  {
449
- "gap": "md",
450
448
  "type": "stack",
451
- "align": "center",
452
449
  "direction": "horizontal",
453
- "justify": "between",
450
+ "align": "center",
454
451
  "children": [
455
452
  {
456
453
  "align": "center",
457
- "gap": "sm",
458
454
  "children": [
459
455
  {
460
- "name": "credit-card",
461
- "type": "icon"
456
+ "type": "icon",
457
+ "name": "credit-card"
462
458
  },
463
459
  {
464
- "type": "typography",
465
460
  "variant": "h2",
461
+ "type": "typography",
466
462
  "content": "Transactions"
467
463
  }
468
464
  ],
465
+ "gap": "sm",
469
466
  "type": "stack",
470
467
  "direction": "horizontal"
471
468
  },
472
469
  {
473
470
  "type": "stack",
474
- "gap": "sm",
475
471
  "children": [
476
472
  {
477
- "action": "CREATE",
473
+ "type": "button",
478
474
  "label": "Create Transaction",
475
+ "action": "CREATE",
479
476
  "icon": "plus",
480
- "type": "button",
481
477
  "variant": "primary"
482
478
  }
483
479
  ],
484
- "direction": "horizontal"
480
+ "direction": "horizontal",
481
+ "gap": "sm"
485
482
  }
486
- ]
483
+ ],
484
+ "gap": "md",
485
+ "justify": "between"
487
486
  },
488
487
  {
489
488
  "type": "divider"
490
489
  },
491
490
  {
492
- "entity": "@payload.data",
493
- "fields": [],
494
491
  "type": "data-list",
495
- "columns": [
496
- {
497
- "variant": "h3",
498
- "icon": "credit-card",
499
- "name": "description"
500
- },
492
+ "entity": "@payload.data",
493
+ "itemActions": [
501
494
  {
502
- "variant": "badge",
503
- "name": "category"
495
+ "event": "VIEW",
496
+ "variant": "ghost",
497
+ "label": "View"
504
498
  },
505
499
  {
506
- "name": "amount",
507
- "format": "currency",
508
- "variant": "h4"
500
+ "label": "Edit",
501
+ "event": "EDIT",
502
+ "variant": "ghost"
509
503
  },
510
504
  {
511
- "variant": "caption",
512
- "format": "date",
513
- "name": "date"
505
+ "label": "Delete",
506
+ "variant": "danger",
507
+ "event": "DELETE"
514
508
  }
515
509
  ],
516
510
  "gap": "sm",
517
511
  "variant": "card",
518
- "itemActions": [
512
+ "columns": [
519
513
  {
520
- "variant": "ghost",
521
- "label": "View",
522
- "event": "VIEW"
514
+ "name": "description",
515
+ "icon": "credit-card",
516
+ "variant": "h3"
523
517
  },
524
518
  {
525
- "event": "EDIT",
526
- "label": "Edit",
527
- "variant": "ghost"
519
+ "variant": "badge",
520
+ "name": "category"
528
521
  },
529
522
  {
530
- "event": "DELETE",
531
- "label": "Delete",
532
- "variant": "danger"
523
+ "name": "amount",
524
+ "variant": "h4",
525
+ "format": "currency"
526
+ },
527
+ {
528
+ "variant": "caption",
529
+ "name": "date",
530
+ "format": "date"
533
531
  }
534
- ]
532
+ ],
533
+ "fields": []
535
534
  }
536
535
  ],
537
- "className": "max-w-5xl mx-auto w-full",
538
- "gap": "lg"
536
+ "gap": "lg",
537
+ "type": "stack",
538
+ "direction": "vertical"
539
539
  }
540
540
  ],
541
541
  "type": "dashboard-layout"
@@ -553,34 +553,34 @@
553
553
  "main",
554
554
  {
555
555
  "align": "center",
556
+ "className": "py-12",
557
+ "gap": "md",
556
558
  "children": [
557
559
  {
558
560
  "color": "destructive",
559
- "type": "icon",
560
- "name": "alert-triangle"
561
+ "name": "alert-triangle",
562
+ "type": "icon"
561
563
  },
562
564
  {
565
+ "type": "typography",
563
566
  "content": "Failed to load transaction",
564
- "variant": "h3",
565
- "type": "typography"
567
+ "variant": "h3"
566
568
  },
567
569
  {
568
- "content": "@payload.error",
569
- "variant": "body",
570
+ "color": "muted",
570
571
  "type": "typography",
571
- "color": "muted"
572
+ "variant": "body",
573
+ "content": "@payload.error"
572
574
  },
573
575
  {
576
+ "type": "button",
574
577
  "icon": "rotate-ccw",
575
578
  "label": "Retry",
576
- "action": "INIT",
577
579
  "variant": "primary",
578
- "type": "button"
580
+ "action": "INIT"
579
581
  }
580
582
  ],
581
583
  "type": "stack",
582
- "className": "py-12",
583
- "gap": "md",
584
584
  "direction": "vertical"
585
585
  }
586
586
  ]
@@ -750,8 +750,14 @@
750
750
  "event": "INIT",
751
751
  "effects": [
752
752
  [
753
- "ref",
754
- "Transaction"
753
+ "fetch",
754
+ "Transaction",
755
+ {
756
+ "emit": {
757
+ "success": "TransactionLoaded",
758
+ "failure": "TransactionLoadFailed"
759
+ }
760
+ }
755
761
  ]
756
762
  ]
757
763
  },
@@ -765,8 +771,8 @@
765
771
  "Transaction",
766
772
  {
767
773
  "emit": {
768
- "success": "TransactionLoaded",
769
- "failure": "TransactionLoadFailed"
774
+ "failure": "TransactionLoadFailed",
775
+ "success": "TransactionLoaded"
770
776
  }
771
777
  }
772
778
  ],
@@ -776,26 +782,25 @@
776
782
  {
777
783
  "children": [
778
784
  {
779
- "type": "stack",
780
- "gap": "sm",
781
785
  "direction": "horizontal",
782
786
  "children": [
783
787
  {
784
- "name": "plus-circle",
785
- "type": "icon"
788
+ "type": "icon",
789
+ "name": "plus-circle"
786
790
  },
787
791
  {
788
792
  "type": "typography",
789
793
  "content": "Create Transaction",
790
794
  "variant": "h3"
791
795
  }
792
- ]
796
+ ],
797
+ "type": "stack",
798
+ "gap": "sm"
793
799
  },
794
800
  {
795
801
  "type": "divider"
796
802
  },
797
803
  {
798
- "cancelEvent": "CLOSE",
799
804
  "type": "form-section",
800
805
  "mode": "create",
801
806
  "submitEvent": "SAVE",
@@ -804,12 +809,13 @@
804
809
  "amount",
805
810
  "category",
806
811
  "date"
807
- ]
812
+ ],
813
+ "cancelEvent": "CLOSE"
808
814
  }
809
815
  ],
810
- "direction": "vertical",
811
816
  "gap": "md",
812
- "type": "stack"
817
+ "type": "stack",
818
+ "direction": "vertical"
813
819
  }
814
820
  ]
815
821
  ]
@@ -850,8 +856,8 @@
850
856
  "@payload.data",
851
857
  {
852
858
  "emit": {
853
- "success": "TransactionSaved",
854
- "failure": "TransactionSaveFailed"
859
+ "failure": "TransactionSaveFailed",
860
+ "success": "TransactionSaved"
855
861
  }
856
862
  }
857
863
  ],
@@ -1048,8 +1054,14 @@
1048
1054
  "event": "INIT",
1049
1055
  "effects": [
1050
1056
  [
1051
- "ref",
1052
- "Transaction"
1057
+ "fetch",
1058
+ "Transaction",
1059
+ {
1060
+ "emit": {
1061
+ "success": "TransactionLoaded",
1062
+ "failure": "TransactionLoadFailed"
1063
+ }
1064
+ }
1053
1065
  ]
1054
1066
  ]
1055
1067
  },
@@ -1064,8 +1076,8 @@
1064
1076
  {
1065
1077
  "id": "@payload.id",
1066
1078
  "emit": {
1067
- "failure": "TransactionLoadFailed",
1068
- "success": "TransactionLoaded"
1079
+ "success": "TransactionLoaded",
1080
+ "failure": "TransactionLoadFailed"
1069
1081
  }
1070
1082
  }
1071
1083
  ],
@@ -1073,15 +1085,13 @@
1073
1085
  "render-ui",
1074
1086
  "modal",
1075
1087
  {
1076
- "type": "stack",
1077
- "gap": "md",
1078
- "direction": "vertical",
1079
1088
  "children": [
1080
1089
  {
1090
+ "direction": "horizontal",
1081
1091
  "children": [
1082
1092
  {
1083
- "type": "icon",
1084
- "name": "edit"
1093
+ "name": "edit",
1094
+ "type": "icon"
1085
1095
  },
1086
1096
  {
1087
1097
  "variant": "h3",
@@ -1089,27 +1099,29 @@
1089
1099
  "content": "Edit Transaction"
1090
1100
  }
1091
1101
  ],
1092
- "gap": "sm",
1093
1102
  "type": "stack",
1094
- "direction": "horizontal"
1103
+ "gap": "sm"
1095
1104
  },
1096
1105
  {
1097
1106
  "type": "divider"
1098
1107
  },
1099
1108
  {
1100
- "entity": "@payload.row",
1101
- "mode": "edit",
1102
- "cancelEvent": "CLOSE",
1103
- "submitEvent": "SAVE",
1104
- "type": "form-section",
1105
1109
  "fields": [
1106
1110
  "description",
1107
1111
  "amount",
1108
1112
  "category",
1109
1113
  "date"
1110
- ]
1114
+ ],
1115
+ "entity": "@payload.row",
1116
+ "type": "form-section",
1117
+ "submitEvent": "SAVE",
1118
+ "cancelEvent": "CLOSE",
1119
+ "mode": "edit"
1111
1120
  }
1112
- ]
1121
+ ],
1122
+ "type": "stack",
1123
+ "gap": "md",
1124
+ "direction": "vertical"
1113
1125
  }
1114
1126
  ]
1115
1127
  ]
@@ -1150,8 +1162,8 @@
1150
1162
  "@payload.data",
1151
1163
  {
1152
1164
  "emit": {
1153
- "success": "TransactionUpdated",
1154
- "failure": "TransactionUpdateFailed"
1165
+ "failure": "TransactionUpdateFailed",
1166
+ "success": "TransactionUpdated"
1155
1167
  }
1156
1168
  }
1157
1169
  ],
@@ -1282,8 +1294,14 @@
1282
1294
  "event": "INIT",
1283
1295
  "effects": [
1284
1296
  [
1285
- "ref",
1286
- "Transaction"
1297
+ "fetch",
1298
+ "Transaction",
1299
+ {
1300
+ "emit": {
1301
+ "failure": "TransactionLoadFailed",
1302
+ "success": "TransactionLoaded"
1303
+ }
1304
+ }
1287
1305
  ]
1288
1306
  ]
1289
1307
  },
@@ -1307,15 +1325,13 @@
1307
1325
  "render-ui",
1308
1326
  "modal",
1309
1327
  {
1328
+ "direction": "vertical",
1310
1329
  "children": [
1311
1330
  {
1312
- "gap": "sm",
1313
- "align": "center",
1314
- "direction": "horizontal",
1315
1331
  "children": [
1316
1332
  {
1317
- "name": "eye",
1318
- "type": "icon"
1333
+ "type": "icon",
1334
+ "name": "eye"
1319
1335
  },
1320
1336
  {
1321
1337
  "type": "typography",
@@ -1323,64 +1339,66 @@
1323
1339
  "content": "@entity.description"
1324
1340
  }
1325
1341
  ],
1342
+ "direction": "horizontal",
1343
+ "align": "center",
1344
+ "gap": "sm",
1326
1345
  "type": "stack"
1327
1346
  },
1328
1347
  {
1329
1348
  "type": "divider"
1330
1349
  },
1331
1350
  {
1332
- "gap": "md",
1333
- "direction": "horizontal",
1334
1351
  "children": [
1335
1352
  {
1336
- "type": "typography",
1337
1353
  "variant": "caption",
1338
- "content": "Description"
1354
+ "content": "Description",
1355
+ "type": "typography"
1339
1356
  },
1340
1357
  {
1341
- "variant": "body",
1358
+ "content": "@entity.description",
1342
1359
  "type": "typography",
1343
- "content": "@entity.description"
1360
+ "variant": "body"
1344
1361
  }
1345
1362
  ],
1346
- "type": "stack"
1363
+ "type": "stack",
1364
+ "direction": "horizontal",
1365
+ "gap": "md"
1347
1366
  },
1348
1367
  {
1368
+ "direction": "horizontal",
1369
+ "type": "stack",
1349
1370
  "children": [
1350
1371
  {
1351
- "type": "typography",
1352
1372
  "variant": "caption",
1353
- "content": "Amount"
1373
+ "content": "Amount",
1374
+ "type": "typography"
1354
1375
  },
1355
1376
  {
1356
- "content": "@entity.amount",
1357
1377
  "variant": "body",
1358
- "type": "typography"
1378
+ "type": "typography",
1379
+ "content": "@entity.amount"
1359
1380
  }
1360
1381
  ],
1361
- "direction": "horizontal",
1362
- "type": "stack",
1363
1382
  "gap": "md"
1364
1383
  },
1365
1384
  {
1385
+ "gap": "md",
1366
1386
  "type": "stack",
1367
1387
  "children": [
1368
1388
  {
1369
- "variant": "caption",
1370
1389
  "content": "Category",
1371
- "type": "typography"
1390
+ "type": "typography",
1391
+ "variant": "caption"
1372
1392
  },
1373
1393
  {
1374
- "content": "@entity.category",
1375
1394
  "type": "typography",
1395
+ "content": "@entity.category",
1376
1396
  "variant": "body"
1377
1397
  }
1378
1398
  ],
1379
- "gap": "md",
1380
1399
  "direction": "horizontal"
1381
1400
  },
1382
1401
  {
1383
- "direction": "horizontal",
1384
1402
  "children": [
1385
1403
  {
1386
1404
  "content": "Date",
@@ -1388,42 +1406,42 @@
1388
1406
  "variant": "caption"
1389
1407
  },
1390
1408
  {
1391
- "content": "@entity.date",
1392
1409
  "variant": "body",
1393
- "type": "typography"
1410
+ "type": "typography",
1411
+ "content": "@entity.date"
1394
1412
  }
1395
1413
  ],
1396
- "type": "stack",
1397
- "gap": "md"
1414
+ "direction": "horizontal",
1415
+ "gap": "md",
1416
+ "type": "stack"
1398
1417
  },
1399
1418
  {
1400
1419
  "type": "divider"
1401
1420
  },
1402
1421
  {
1403
- "type": "stack",
1404
- "direction": "horizontal",
1405
- "gap": "sm",
1406
1422
  "justify": "end",
1423
+ "direction": "horizontal",
1407
1424
  "children": [
1408
1425
  {
1426
+ "action": "EDIT",
1409
1427
  "label": "Edit",
1410
- "type": "button",
1428
+ "variant": "primary",
1411
1429
  "icon": "edit",
1412
- "action": "EDIT",
1413
- "variant": "primary"
1430
+ "type": "button"
1414
1431
  },
1415
1432
  {
1416
1433
  "type": "button",
1417
1434
  "action": "CLOSE",
1418
- "variant": "ghost",
1419
- "label": "Close"
1435
+ "label": "Close",
1436
+ "variant": "ghost"
1420
1437
  }
1421
- ]
1438
+ ],
1439
+ "type": "stack",
1440
+ "gap": "sm"
1422
1441
  }
1423
1442
  ],
1424
1443
  "gap": "md",
1425
- "type": "stack",
1426
- "direction": "vertical"
1444
+ "type": "stack"
1427
1445
  }
1428
1446
  ]
1429
1447
  ]
@@ -1639,8 +1657,14 @@
1639
1657
  "event": "INIT",
1640
1658
  "effects": [
1641
1659
  [
1642
- "ref",
1643
- "Transaction"
1660
+ "fetch",
1661
+ "Transaction",
1662
+ {
1663
+ "emit": {
1664
+ "success": "TransactionLoaded",
1665
+ "failure": "TransactionLoadFailed"
1666
+ }
1667
+ }
1644
1668
  ]
1645
1669
  ]
1646
1670
  },
@@ -1669,57 +1693,57 @@
1669
1693
  "render-ui",
1670
1694
  "modal",
1671
1695
  {
1672
- "direction": "vertical",
1673
1696
  "type": "stack",
1674
- "gap": "md",
1697
+ "direction": "vertical",
1675
1698
  "children": [
1676
1699
  {
1700
+ "type": "stack",
1677
1701
  "children": [
1678
1702
  {
1679
- "type": "icon",
1680
- "name": "alert-triangle"
1703
+ "name": "alert-triangle",
1704
+ "type": "icon"
1681
1705
  },
1682
1706
  {
1683
- "variant": "h3",
1684
1707
  "content": "Delete Transaction",
1708
+ "variant": "h3",
1685
1709
  "type": "typography"
1686
1710
  }
1687
1711
  ],
1688
- "gap": "sm",
1712
+ "align": "center",
1689
1713
  "direction": "horizontal",
1690
- "type": "stack",
1691
- "align": "center"
1714
+ "gap": "sm"
1692
1715
  },
1693
1716
  {
1694
1717
  "type": "divider"
1695
1718
  },
1696
1719
  {
1697
1720
  "variant": "error",
1698
- "type": "alert",
1699
- "message": "This action cannot be undone."
1721
+ "message": "This action cannot be undone.",
1722
+ "type": "alert"
1700
1723
  },
1701
1724
  {
1702
1725
  "children": [
1703
1726
  {
1704
- "action": "CANCEL",
1705
- "label": "Cancel",
1706
1727
  "type": "button",
1707
- "variant": "ghost"
1728
+ "label": "Cancel",
1729
+ "variant": "ghost",
1730
+ "action": "CANCEL"
1708
1731
  },
1709
1732
  {
1710
- "type": "button",
1711
- "label": "Delete",
1733
+ "icon": "check",
1712
1734
  "variant": "danger",
1713
1735
  "action": "CONFIRM_DELETE",
1714
- "icon": "check"
1736
+ "label": "Delete",
1737
+ "type": "button"
1715
1738
  }
1716
1739
  ],
1717
1740
  "direction": "horizontal",
1741
+ "gap": "sm",
1718
1742
  "justify": "end",
1719
- "type": "stack",
1720
- "gap": "sm"
1743
+ "type": "stack"
1721
1744
  }
1722
- ]
1745
+ ],
1746
+ "gap": "md"
1723
1747
  }
1724
1748
  ]
1725
1749
  ]
@@ -1754,8 +1778,14 @@
1754
1778
  }
1755
1779
  ],
1756
1780
  [
1757
- "ref",
1758
- "Transaction"
1781
+ "fetch",
1782
+ "Transaction",
1783
+ {
1784
+ "emit": {
1785
+ "failure": "TransactionLoadFailed",
1786
+ "success": "TransactionLoaded"
1787
+ }
1788
+ }
1759
1789
  ],
1760
1790
  [
1761
1791
  "emit",
@@ -1781,8 +1811,14 @@
1781
1811
  }
1782
1812
  ],
1783
1813
  [
1784
- "ref",
1785
- "Transaction"
1814
+ "fetch",
1815
+ "Transaction",
1816
+ {
1817
+ "emit": {
1818
+ "success": "TransactionLoaded",
1819
+ "failure": "TransactionLoadFailed"
1820
+ }
1821
+ }
1786
1822
  ]
1787
1823
  ]
1788
1824
  },
@@ -1804,8 +1840,14 @@
1804
1840
  }
1805
1841
  ],
1806
1842
  [
1807
- "ref",
1808
- "Transaction"
1843
+ "fetch",
1844
+ "Transaction",
1845
+ {
1846
+ "emit": {
1847
+ "success": "TransactionLoaded",
1848
+ "failure": "TransactionLoadFailed"
1849
+ }
1850
+ }
1809
1851
  ]
1810
1852
  ]
1811
1853
  }
@@ -1966,8 +2008,8 @@
1966
2008
  "FinanceSummary",
1967
2009
  {
1968
2010
  "emit": {
1969
- "success": "FinanceSummaryLoaded",
1970
- "failure": "FinanceSummaryLoadFailed"
2011
+ "failure": "FinanceSummaryLoadFailed",
2012
+ "success": "FinanceSummaryLoaded"
1971
2013
  }
1972
2014
  }
1973
2015
  ],
@@ -1975,11 +2017,31 @@
1975
2017
  "render-ui",
1976
2018
  "main",
1977
2019
  {
2020
+ "navItems": [
2021
+ {
2022
+ "href": "/transactions",
2023
+ "label": "Transactions",
2024
+ "icon": "dollar-sign"
2025
+ },
2026
+ {
2027
+ "label": "Summary",
2028
+ "href": "/summary",
2029
+ "icon": "layout-list"
2030
+ },
2031
+ {
2032
+ "icon": "bar-chart",
2033
+ "label": "Reports",
2034
+ "href": "/reports"
2035
+ }
2036
+ ],
2037
+ "type": "dashboard-layout",
2038
+ "appName": "Finance Tracker",
1978
2039
  "children": [
1979
2040
  {
1980
2041
  "children": [
1981
2042
  {
1982
2043
  "type": "stack",
2044
+ "direction": "vertical",
1983
2045
  "children": [
1984
2046
  {
1985
2047
  "items": [
@@ -1994,50 +2056,49 @@
1994
2056
  "type": "breadcrumb"
1995
2057
  },
1996
2058
  {
1997
- "direction": "horizontal",
1998
- "justify": "between",
2059
+ "gap": "md",
1999
2060
  "children": [
2000
2061
  {
2001
- "type": "stack",
2002
2062
  "direction": "horizontal",
2003
2063
  "gap": "md",
2064
+ "type": "stack",
2004
2065
  "children": [
2005
2066
  {
2006
2067
  "name": "pie-chart",
2007
2068
  "type": "icon"
2008
2069
  },
2009
2070
  {
2010
- "content": "Financial Summary",
2071
+ "type": "typography",
2011
2072
  "variant": "h2",
2012
- "type": "typography"
2073
+ "content": "Financial Summary"
2013
2074
  }
2014
2075
  ]
2015
2076
  },
2016
2077
  {
2017
- "type": "button",
2018
- "label": "Refresh",
2019
2078
  "icon": "refresh-cw",
2079
+ "label": "Refresh",
2020
2080
  "action": "REFRESH",
2081
+ "type": "button",
2021
2082
  "variant": "secondary"
2022
2083
  }
2023
2084
  ],
2085
+ "direction": "horizontal",
2024
2086
  "type": "stack",
2025
- "gap": "md"
2087
+ "justify": "between"
2026
2088
  },
2027
2089
  {
2028
2090
  "type": "divider"
2029
2091
  },
2030
2092
  {
2031
- "padding": "md",
2032
2093
  "type": "box",
2094
+ "padding": "md",
2033
2095
  "children": [
2034
2096
  {
2035
- "cols": 3.0,
2036
2097
  "children": [
2037
2098
  {
2038
2099
  "value": "@entity.totalIncome",
2039
- "type": "stat-display",
2040
- "label": "TotalIncome"
2100
+ "label": "TotalIncome",
2101
+ "type": "stat-display"
2041
2102
  },
2042
2103
  {
2043
2104
  "type": "stat-display",
@@ -2046,16 +2107,17 @@
2046
2107
  },
2047
2108
  {
2048
2109
  "type": "stat-display",
2049
- "label": "Balance",
2050
- "value": "@entity.balance"
2110
+ "value": "@entity.balance",
2111
+ "label": "Balance"
2051
2112
  },
2052
2113
  {
2053
- "type": "stat-display",
2054
2114
  "label": "SavingsRate",
2055
- "value": "@entity.savingsRate"
2115
+ "value": "@entity.savingsRate",
2116
+ "type": "stat-display"
2056
2117
  }
2057
2118
  ],
2058
- "type": "simple-grid"
2119
+ "type": "simple-grid",
2120
+ "cols": 3.0
2059
2121
  }
2060
2122
  ]
2061
2123
  },
@@ -2064,45 +2126,44 @@
2064
2126
  },
2065
2127
  {
2066
2128
  "type": "grid",
2067
- "cols": 2.0,
2068
2129
  "children": [
2069
2130
  {
2131
+ "type": "card",
2070
2132
  "children": [
2071
2133
  {
2072
- "type": "typography",
2073
2134
  "content": "Chart View",
2074
- "variant": "caption"
2135
+ "variant": "caption",
2136
+ "type": "typography"
2075
2137
  }
2076
- ],
2077
- "type": "card"
2138
+ ]
2078
2139
  },
2079
2140
  {
2080
2141
  "children": [
2081
2142
  {
2082
- "content": "Graph View",
2083
2143
  "type": "typography",
2144
+ "content": "Graph View",
2084
2145
  "variant": "caption"
2085
2146
  }
2086
2147
  ],
2087
2148
  "type": "card"
2088
2149
  }
2089
2150
  ],
2151
+ "cols": 2.0,
2090
2152
  "gap": "md"
2091
2153
  },
2092
2154
  {
2093
- "type": "line-chart",
2094
2155
  "data": [
2095
2156
  {
2096
- "date": "Jan",
2097
- "value": 12.0
2157
+ "value": 12.0,
2158
+ "date": "Jan"
2098
2159
  },
2099
2160
  {
2100
- "value": 19.0,
2101
- "date": "Feb"
2161
+ "date": "Feb",
2162
+ "value": 19.0
2102
2163
  },
2103
2164
  {
2104
- "value": 15.0,
2105
- "date": "Mar"
2165
+ "date": "Mar",
2166
+ "value": 15.0
2106
2167
  },
2107
2168
  {
2108
2169
  "date": "Apr",
@@ -2113,10 +2174,11 @@
2113
2174
  "value": 22.0
2114
2175
  },
2115
2176
  {
2116
- "value": 30.0,
2117
- "date": "Jun"
2177
+ "date": "Jun",
2178
+ "value": 30.0
2118
2179
  }
2119
- ]
2180
+ ],
2181
+ "type": "line-chart"
2120
2182
  },
2121
2183
  {
2122
2184
  "type": "chart-legend",
@@ -2132,14 +2194,15 @@
2132
2194
  ]
2133
2195
  },
2134
2196
  {
2197
+ "type": "graph-view",
2135
2198
  "nodes": [
2136
2199
  {
2137
- "label": "Start",
2138
- "id": "a"
2200
+ "id": "a",
2201
+ "label": "Start"
2139
2202
  },
2140
2203
  {
2141
- "label": "Process",
2142
- "id": "b"
2204
+ "id": "b",
2205
+ "label": "Process"
2143
2206
  },
2144
2207
  {
2145
2208
  "id": "c",
@@ -2157,35 +2220,14 @@
2157
2220
  }
2158
2221
  ],
2159
2222
  "width": 400.0,
2160
- "height": 200.0,
2161
- "type": "graph-view"
2223
+ "height": 200.0
2162
2224
  }
2163
2225
  ],
2164
- "direction": "vertical",
2165
2226
  "gap": "lg"
2166
2227
  }
2167
2228
  ],
2168
2229
  "type": "scaled-diagram"
2169
2230
  }
2170
- ],
2171
- "appName": "Finance Tracker",
2172
- "type": "dashboard-layout",
2173
- "navItems": [
2174
- {
2175
- "icon": "dollar-sign",
2176
- "href": "/transactions",
2177
- "label": "Transactions"
2178
- },
2179
- {
2180
- "label": "Summary",
2181
- "href": "/summary",
2182
- "icon": "layout-list"
2183
- },
2184
- {
2185
- "href": "/reports",
2186
- "label": "Reports",
2187
- "icon": "bar-chart"
2188
- }
2189
2231
  ]
2190
2232
  }
2191
2233
  ]
@@ -2210,19 +2252,40 @@
2210
2252
  "render-ui",
2211
2253
  "main",
2212
2254
  {
2255
+ "navItems": [
2256
+ {
2257
+ "href": "/transactions",
2258
+ "icon": "dollar-sign",
2259
+ "label": "Transactions"
2260
+ },
2261
+ {
2262
+ "icon": "layout-list",
2263
+ "label": "Summary",
2264
+ "href": "/summary"
2265
+ },
2266
+ {
2267
+ "href": "/reports",
2268
+ "icon": "bar-chart",
2269
+ "label": "Reports"
2270
+ }
2271
+ ],
2213
2272
  "type": "dashboard-layout",
2273
+ "appName": "Finance Tracker",
2214
2274
  "children": [
2215
2275
  {
2216
2276
  "type": "scaled-diagram",
2217
2277
  "children": [
2218
2278
  {
2279
+ "gap": "lg",
2280
+ "type": "stack",
2281
+ "direction": "vertical",
2219
2282
  "children": [
2220
2283
  {
2221
2284
  "type": "breadcrumb",
2222
2285
  "items": [
2223
2286
  {
2224
- "href": "/",
2225
- "label": "Home"
2287
+ "label": "Home",
2288
+ "href": "/"
2226
2289
  },
2227
2290
  {
2228
2291
  "label": "Financial Summary"
@@ -2230,12 +2293,10 @@
2230
2293
  ]
2231
2294
  },
2232
2295
  {
2233
- "direction": "horizontal",
2296
+ "justify": "between",
2234
2297
  "children": [
2235
2298
  {
2236
2299
  "type": "stack",
2237
- "direction": "horizontal",
2238
- "gap": "md",
2239
2300
  "children": [
2240
2301
  {
2241
2302
  "name": "pie-chart",
@@ -2246,60 +2307,63 @@
2246
2307
  "content": "Financial Summary",
2247
2308
  "variant": "h2"
2248
2309
  }
2249
- ]
2310
+ ],
2311
+ "gap": "md",
2312
+ "direction": "horizontal"
2250
2313
  },
2251
2314
  {
2252
- "label": "Refresh",
2253
2315
  "action": "REFRESH",
2254
- "icon": "refresh-cw",
2255
2316
  "type": "button",
2317
+ "icon": "refresh-cw",
2318
+ "label": "Refresh",
2256
2319
  "variant": "secondary"
2257
2320
  }
2258
2321
  ],
2259
- "type": "stack",
2260
2322
  "gap": "md",
2261
- "justify": "between"
2323
+ "direction": "horizontal",
2324
+ "type": "stack"
2262
2325
  },
2263
2326
  {
2264
2327
  "type": "divider"
2265
2328
  },
2266
2329
  {
2267
- "type": "box",
2268
- "padding": "md",
2269
2330
  "children": [
2270
2331
  {
2271
- "type": "simple-grid",
2272
2332
  "cols": 3.0,
2273
2333
  "children": [
2274
2334
  {
2275
- "label": "TotalIncome",
2335
+ "value": "@entity.totalIncome",
2276
2336
  "type": "stat-display",
2277
- "value": "@entity.totalIncome"
2337
+ "label": "TotalIncome"
2278
2338
  },
2279
2339
  {
2280
- "label": "TotalExpenses",
2281
2340
  "type": "stat-display",
2341
+ "label": "TotalExpenses",
2282
2342
  "value": "@entity.totalExpenses"
2283
2343
  },
2284
2344
  {
2345
+ "label": "Balance",
2285
2346
  "value": "@entity.balance",
2286
- "type": "stat-display",
2287
- "label": "Balance"
2347
+ "type": "stat-display"
2288
2348
  },
2289
2349
  {
2290
- "label": "SavingsRate",
2291
2350
  "value": "@entity.savingsRate",
2292
- "type": "stat-display"
2351
+ "type": "stat-display",
2352
+ "label": "SavingsRate"
2293
2353
  }
2294
- ]
2354
+ ],
2355
+ "type": "simple-grid"
2295
2356
  }
2296
- ]
2357
+ ],
2358
+ "type": "box",
2359
+ "padding": "md"
2297
2360
  },
2298
2361
  {
2299
2362
  "type": "divider"
2300
2363
  },
2301
2364
  {
2302
- "gap": "md",
2365
+ "type": "grid",
2366
+ "cols": 2.0,
2303
2367
  "children": [
2304
2368
  {
2305
2369
  "type": "card",
@@ -2312,36 +2376,36 @@
2312
2376
  ]
2313
2377
  },
2314
2378
  {
2315
- "type": "card",
2316
2379
  "children": [
2317
2380
  {
2318
2381
  "variant": "caption",
2319
- "type": "typography",
2320
- "content": "Graph View"
2382
+ "content": "Graph View",
2383
+ "type": "typography"
2321
2384
  }
2322
- ]
2385
+ ],
2386
+ "type": "card"
2323
2387
  }
2324
2388
  ],
2325
- "type": "grid",
2326
- "cols": 2.0
2389
+ "gap": "md"
2327
2390
  },
2328
2391
  {
2392
+ "type": "line-chart",
2329
2393
  "data": [
2330
2394
  {
2331
2395
  "date": "Jan",
2332
2396
  "value": 12.0
2333
2397
  },
2334
2398
  {
2335
- "date": "Feb",
2336
- "value": 19.0
2399
+ "value": 19.0,
2400
+ "date": "Feb"
2337
2401
  },
2338
2402
  {
2339
2403
  "date": "Mar",
2340
2404
  "value": 15.0
2341
2405
  },
2342
2406
  {
2343
- "value": 25.0,
2344
- "date": "Apr"
2407
+ "date": "Apr",
2408
+ "value": 25.0
2345
2409
  },
2346
2410
  {
2347
2411
  "date": "May",
@@ -2351,10 +2415,10 @@
2351
2415
  "value": 30.0,
2352
2416
  "date": "Jun"
2353
2417
  }
2354
- ],
2355
- "type": "line-chart"
2418
+ ]
2356
2419
  },
2357
2420
  {
2421
+ "type": "chart-legend",
2358
2422
  "items": [
2359
2423
  {
2360
2424
  "label": "Current",
@@ -2364,63 +2428,41 @@
2364
2428
  "label": "Previous",
2365
2429
  "color": "muted"
2366
2430
  }
2367
- ],
2368
- "type": "chart-legend"
2431
+ ]
2369
2432
  },
2370
2433
  {
2371
2434
  "type": "graph-view",
2372
- "height": 200.0,
2373
- "width": 400.0,
2374
- "nodes": [
2435
+ "edges": [
2375
2436
  {
2376
- "id": "a",
2377
- "label": "Start"
2437
+ "source": "a",
2438
+ "target": "b"
2378
2439
  },
2379
2440
  {
2380
- "id": "b",
2381
- "label": "Process"
2382
- },
2383
- {
2384
- "id": "c",
2385
- "label": "End"
2441
+ "target": "c",
2442
+ "source": "b"
2386
2443
  }
2387
2444
  ],
2388
- "edges": [
2445
+ "width": 400.0,
2446
+ "nodes": [
2389
2447
  {
2390
- "source": "a",
2391
- "target": "b"
2448
+ "id": "a",
2449
+ "label": "Start"
2392
2450
  },
2393
2451
  {
2394
- "target": "c",
2395
- "source": "b"
2452
+ "id": "b",
2453
+ "label": "Process"
2454
+ },
2455
+ {
2456
+ "label": "End",
2457
+ "id": "c"
2396
2458
  }
2397
- ]
2459
+ ],
2460
+ "height": 200.0
2398
2461
  }
2399
- ],
2400
- "direction": "vertical",
2401
- "type": "stack",
2402
- "gap": "lg"
2462
+ ]
2403
2463
  }
2404
2464
  ]
2405
2465
  }
2406
- ],
2407
- "appName": "Finance Tracker",
2408
- "navItems": [
2409
- {
2410
- "label": "Transactions",
2411
- "href": "/transactions",
2412
- "icon": "dollar-sign"
2413
- },
2414
- {
2415
- "href": "/summary",
2416
- "icon": "layout-list",
2417
- "label": "Summary"
2418
- },
2419
- {
2420
- "label": "Reports",
2421
- "icon": "bar-chart",
2422
- "href": "/reports"
2423
- }
2424
2466
  ]
2425
2467
  }
2426
2468
  ]
@@ -2436,8 +2478,8 @@
2436
2478
  "FinanceSummary",
2437
2479
  {
2438
2480
  "emit": {
2439
- "success": "FinanceSummaryLoaded",
2440
- "failure": "FinanceSummaryLoadFailed"
2481
+ "failure": "FinanceSummaryLoadFailed",
2482
+ "success": "FinanceSummaryLoaded"
2441
2483
  }
2442
2484
  }
2443
2485
  ],
@@ -2445,15 +2487,12 @@
2445
2487
  "render-ui",
2446
2488
  "main",
2447
2489
  {
2448
- "appName": "Finance Tracker",
2449
2490
  "children": [
2450
2491
  {
2451
- "type": "scaled-diagram",
2452
2492
  "children": [
2453
2493
  {
2454
2494
  "children": [
2455
2495
  {
2456
- "type": "breadcrumb",
2457
2496
  "items": [
2458
2497
  {
2459
2498
  "label": "Home",
@@ -2462,71 +2501,72 @@
2462
2501
  {
2463
2502
  "label": "Financial Summary"
2464
2503
  }
2465
- ]
2504
+ ],
2505
+ "type": "breadcrumb"
2466
2506
  },
2467
2507
  {
2508
+ "direction": "horizontal",
2509
+ "gap": "md",
2468
2510
  "children": [
2469
2511
  {
2470
2512
  "type": "stack",
2513
+ "gap": "md",
2471
2514
  "children": [
2472
2515
  {
2473
2516
  "type": "icon",
2474
2517
  "name": "pie-chart"
2475
2518
  },
2476
2519
  {
2477
- "content": "Financial Summary",
2520
+ "type": "typography",
2478
2521
  "variant": "h2",
2479
- "type": "typography"
2522
+ "content": "Financial Summary"
2480
2523
  }
2481
2524
  ],
2482
- "direction": "horizontal",
2483
- "gap": "md"
2525
+ "direction": "horizontal"
2484
2526
  },
2485
2527
  {
2486
2528
  "label": "Refresh",
2487
- "action": "REFRESH",
2488
- "type": "button",
2489
2529
  "variant": "secondary",
2490
- "icon": "refresh-cw"
2530
+ "icon": "refresh-cw",
2531
+ "type": "button",
2532
+ "action": "REFRESH"
2491
2533
  }
2492
2534
  ],
2493
- "type": "stack",
2494
- "gap": "md",
2495
2535
  "justify": "between",
2496
- "direction": "horizontal"
2536
+ "type": "stack"
2497
2537
  },
2498
2538
  {
2499
2539
  "type": "divider"
2500
2540
  },
2501
2541
  {
2502
- "padding": "md",
2503
2542
  "type": "box",
2543
+ "padding": "md",
2504
2544
  "children": [
2505
2545
  {
2506
- "cols": 3.0,
2546
+ "type": "simple-grid",
2507
2547
  "children": [
2508
2548
  {
2509
- "type": "stat-display",
2510
2549
  "value": "@entity.totalIncome",
2511
- "label": "TotalIncome"
2550
+ "label": "TotalIncome",
2551
+ "type": "stat-display"
2512
2552
  },
2513
2553
  {
2554
+ "type": "stat-display",
2514
2555
  "label": "TotalExpenses",
2515
- "value": "@entity.totalExpenses",
2516
- "type": "stat-display"
2556
+ "value": "@entity.totalExpenses"
2517
2557
  },
2518
2558
  {
2519
- "type": "stat-display",
2520
2559
  "value": "@entity.balance",
2560
+ "type": "stat-display",
2521
2561
  "label": "Balance"
2522
2562
  },
2523
2563
  {
2564
+ "type": "stat-display",
2524
2565
  "label": "SavingsRate",
2525
- "value": "@entity.savingsRate",
2526
- "type": "stat-display"
2566
+ "value": "@entity.savingsRate"
2527
2567
  }
2528
2568
  ],
2529
- "type": "simple-grid"
2569
+ "cols": 3.0
2530
2570
  }
2531
2571
  ]
2532
2572
  },
@@ -2534,15 +2574,14 @@
2534
2574
  "type": "divider"
2535
2575
  },
2536
2576
  {
2537
- "gap": "md",
2538
2577
  "cols": 2.0,
2539
2578
  "children": [
2540
2579
  {
2541
2580
  "children": [
2542
2581
  {
2543
2582
  "variant": "caption",
2544
- "type": "typography",
2545
- "content": "Chart View"
2583
+ "content": "Chart View",
2584
+ "type": "typography"
2546
2585
  }
2547
2586
  ],
2548
2587
  "type": "card"
@@ -2551,14 +2590,15 @@
2551
2590
  "type": "card",
2552
2591
  "children": [
2553
2592
  {
2554
- "variant": "caption",
2593
+ "content": "Graph View",
2555
2594
  "type": "typography",
2556
- "content": "Graph View"
2595
+ "variant": "caption"
2557
2596
  }
2558
2597
  ]
2559
2598
  }
2560
2599
  ],
2561
- "type": "grid"
2600
+ "type": "grid",
2601
+ "gap": "md"
2562
2602
  },
2563
2603
  {
2564
2604
  "data": [
@@ -2571,20 +2611,20 @@
2571
2611
  "value": 19.0
2572
2612
  },
2573
2613
  {
2574
- "date": "Mar",
2575
- "value": 15.0
2614
+ "value": 15.0,
2615
+ "date": "Mar"
2576
2616
  },
2577
2617
  {
2578
2618
  "date": "Apr",
2579
2619
  "value": 25.0
2580
2620
  },
2581
2621
  {
2582
- "value": 22.0,
2583
- "date": "May"
2622
+ "date": "May",
2623
+ "value": 22.0
2584
2624
  },
2585
2625
  {
2586
- "value": 30.0,
2587
- "date": "Jun"
2626
+ "date": "Jun",
2627
+ "value": 30.0
2588
2628
  }
2589
2629
  ],
2590
2630
  "type": "line-chart"
@@ -2593,8 +2633,8 @@
2593
2633
  "type": "chart-legend",
2594
2634
  "items": [
2595
2635
  {
2596
- "color": "primary",
2597
- "label": "Current"
2636
+ "label": "Current",
2637
+ "color": "primary"
2598
2638
  },
2599
2639
  {
2600
2640
  "label": "Previous",
@@ -2603,52 +2643,54 @@
2603
2643
  ]
2604
2644
  },
2605
2645
  {
2606
- "type": "graph-view",
2607
- "edges": [
2608
- {
2609
- "target": "b",
2610
- "source": "a"
2611
- },
2612
- {
2613
- "source": "b",
2614
- "target": "c"
2615
- }
2616
- ],
2617
- "width": 400.0,
2618
2646
  "nodes": [
2619
2647
  {
2620
- "id": "a",
2621
- "label": "Start"
2648
+ "label": "Start",
2649
+ "id": "a"
2622
2650
  },
2623
2651
  {
2624
- "id": "b",
2625
- "label": "Process"
2652
+ "label": "Process",
2653
+ "id": "b"
2626
2654
  },
2627
2655
  {
2628
2656
  "id": "c",
2629
2657
  "label": "End"
2630
2658
  }
2631
2659
  ],
2632
- "height": 200.0
2660
+ "type": "graph-view",
2661
+ "height": 200.0,
2662
+ "width": 400.0,
2663
+ "edges": [
2664
+ {
2665
+ "source": "a",
2666
+ "target": "b"
2667
+ },
2668
+ {
2669
+ "source": "b",
2670
+ "target": "c"
2671
+ }
2672
+ ]
2633
2673
  }
2634
2674
  ],
2635
- "direction": "vertical",
2636
2675
  "type": "stack",
2637
- "gap": "lg"
2676
+ "gap": "lg",
2677
+ "direction": "vertical"
2638
2678
  }
2639
- ]
2679
+ ],
2680
+ "type": "scaled-diagram"
2640
2681
  }
2641
2682
  ],
2683
+ "appName": "Finance Tracker",
2642
2684
  "navItems": [
2643
2685
  {
2644
2686
  "label": "Transactions",
2645
- "icon": "dollar-sign",
2646
- "href": "/transactions"
2687
+ "href": "/transactions",
2688
+ "icon": "dollar-sign"
2647
2689
  },
2648
2690
  {
2649
2691
  "icon": "layout-list",
2650
- "label": "Summary",
2651
- "href": "/summary"
2692
+ "href": "/summary",
2693
+ "label": "Summary"
2652
2694
  },
2653
2695
  {
2654
2696
  "label": "Reports",
@@ -2681,61 +2723,78 @@
2681
2723
  "main",
2682
2724
  {
2683
2725
  "appName": "Finance Tracker",
2726
+ "type": "dashboard-layout",
2727
+ "navItems": [
2728
+ {
2729
+ "href": "/transactions",
2730
+ "label": "Transactions",
2731
+ "icon": "dollar-sign"
2732
+ },
2733
+ {
2734
+ "href": "/summary",
2735
+ "label": "Summary",
2736
+ "icon": "layout-list"
2737
+ },
2738
+ {
2739
+ "icon": "bar-chart",
2740
+ "href": "/reports",
2741
+ "label": "Reports"
2742
+ }
2743
+ ],
2684
2744
  "children": [
2685
2745
  {
2686
2746
  "children": [
2687
2747
  {
2748
+ "direction": "vertical",
2688
2749
  "type": "stack",
2689
- "gap": "lg",
2690
2750
  "children": [
2691
2751
  {
2692
- "type": "breadcrumb",
2693
2752
  "items": [
2694
2753
  {
2695
- "href": "/",
2696
- "label": "Home"
2754
+ "label": "Home",
2755
+ "href": "/"
2697
2756
  },
2698
2757
  {
2699
2758
  "label": "Financial Summary"
2700
2759
  }
2701
- ]
2760
+ ],
2761
+ "type": "breadcrumb"
2702
2762
  },
2703
2763
  {
2704
2764
  "direction": "horizontal",
2765
+ "type": "stack",
2766
+ "gap": "md",
2705
2767
  "justify": "between",
2706
2768
  "children": [
2707
2769
  {
2708
- "direction": "horizontal",
2709
- "type": "stack",
2710
- "gap": "md",
2711
2770
  "children": [
2712
2771
  {
2713
2772
  "type": "icon",
2714
2773
  "name": "pie-chart"
2715
2774
  },
2716
2775
  {
2776
+ "type": "typography",
2717
2777
  "content": "Financial Summary",
2718
- "variant": "h2",
2719
- "type": "typography"
2778
+ "variant": "h2"
2720
2779
  }
2721
- ]
2780
+ ],
2781
+ "gap": "md",
2782
+ "type": "stack",
2783
+ "direction": "horizontal"
2722
2784
  },
2723
2785
  {
2724
2786
  "label": "Refresh",
2787
+ "type": "button",
2725
2788
  "action": "REFRESH",
2726
2789
  "variant": "secondary",
2727
- "icon": "refresh-cw",
2728
- "type": "button"
2790
+ "icon": "refresh-cw"
2729
2791
  }
2730
- ],
2731
- "type": "stack",
2732
- "gap": "md"
2792
+ ]
2733
2793
  },
2734
2794
  {
2735
2795
  "type": "divider"
2736
2796
  },
2737
2797
  {
2738
- "padding": "md",
2739
2798
  "type": "box",
2740
2799
  "children": [
2741
2800
  {
@@ -2743,8 +2802,8 @@
2743
2802
  "children": [
2744
2803
  {
2745
2804
  "type": "stat-display",
2746
- "label": "TotalIncome",
2747
- "value": "@entity.totalIncome"
2805
+ "value": "@entity.totalIncome",
2806
+ "label": "TotalIncome"
2748
2807
  },
2749
2808
  {
2750
2809
  "value": "@entity.totalExpenses",
@@ -2752,78 +2811,79 @@
2752
2811
  "label": "TotalExpenses"
2753
2812
  },
2754
2813
  {
2755
- "type": "stat-display",
2756
2814
  "value": "@entity.balance",
2757
- "label": "Balance"
2815
+ "label": "Balance",
2816
+ "type": "stat-display"
2758
2817
  },
2759
2818
  {
2760
2819
  "value": "@entity.savingsRate",
2761
- "label": "SavingsRate",
2762
- "type": "stat-display"
2820
+ "type": "stat-display",
2821
+ "label": "SavingsRate"
2763
2822
  }
2764
2823
  ],
2765
2824
  "type": "simple-grid"
2766
2825
  }
2767
- ]
2826
+ ],
2827
+ "padding": "md"
2768
2828
  },
2769
2829
  {
2770
2830
  "type": "divider"
2771
2831
  },
2772
2832
  {
2773
- "gap": "md",
2774
- "cols": 2.0,
2775
2833
  "type": "grid",
2834
+ "cols": 2.0,
2835
+ "gap": "md",
2776
2836
  "children": [
2777
2837
  {
2778
2838
  "children": [
2779
2839
  {
2780
- "content": "Chart View",
2781
2840
  "variant": "caption",
2782
- "type": "typography"
2841
+ "type": "typography",
2842
+ "content": "Chart View"
2783
2843
  }
2784
2844
  ],
2785
2845
  "type": "card"
2786
2846
  },
2787
2847
  {
2788
- "type": "card",
2789
2848
  "children": [
2790
2849
  {
2791
2850
  "type": "typography",
2792
2851
  "variant": "caption",
2793
2852
  "content": "Graph View"
2794
2853
  }
2795
- ]
2854
+ ],
2855
+ "type": "card"
2796
2856
  }
2797
2857
  ]
2798
2858
  },
2799
2859
  {
2800
- "type": "line-chart",
2801
2860
  "data": [
2802
2861
  {
2803
- "date": "Jan",
2804
- "value": 12.0
2862
+ "value": 12.0,
2863
+ "date": "Jan"
2805
2864
  },
2806
2865
  {
2807
- "value": 19.0,
2808
- "date": "Feb"
2866
+ "date": "Feb",
2867
+ "value": 19.0
2809
2868
  },
2810
2869
  {
2811
- "date": "Mar",
2812
- "value": 15.0
2870
+ "value": 15.0,
2871
+ "date": "Mar"
2813
2872
  },
2814
2873
  {
2815
- "date": "Apr",
2816
- "value": 25.0
2874
+ "value": 25.0,
2875
+ "date": "Apr"
2817
2876
  },
2818
2877
  {
2819
- "value": 22.0,
2820
- "date": "May"
2878
+ "date": "May",
2879
+ "value": 22.0
2821
2880
  },
2822
2881
  {
2823
2882
  "date": "Jun",
2824
2883
  "value": 30.0
2825
2884
  }
2826
- ]
2885
+ ],
2886
+ "type": "line-chart"
2827
2887
  },
2828
2888
  {
2829
2889
  "type": "chart-legend",
@@ -2839,21 +2899,11 @@
2839
2899
  ]
2840
2900
  },
2841
2901
  {
2842
- "width": 400.0,
2843
- "edges": [
2844
- {
2845
- "target": "b",
2846
- "source": "a"
2847
- },
2848
- {
2849
- "target": "c",
2850
- "source": "b"
2851
- }
2852
- ],
2902
+ "height": 200.0,
2853
2903
  "nodes": [
2854
2904
  {
2855
- "label": "Start",
2856
- "id": "a"
2905
+ "id": "a",
2906
+ "label": "Start"
2857
2907
  },
2858
2908
  {
2859
2909
  "id": "b",
@@ -2864,34 +2914,26 @@
2864
2914
  "label": "End"
2865
2915
  }
2866
2916
  ],
2867
- "height": 200.0,
2868
- "type": "graph-view"
2917
+ "edges": [
2918
+ {
2919
+ "target": "b",
2920
+ "source": "a"
2921
+ },
2922
+ {
2923
+ "target": "c",
2924
+ "source": "b"
2925
+ }
2926
+ ],
2927
+ "type": "graph-view",
2928
+ "width": 400.0
2869
2929
  }
2870
2930
  ],
2871
- "direction": "vertical"
2931
+ "gap": "lg"
2872
2932
  }
2873
2933
  ],
2874
2934
  "type": "scaled-diagram"
2875
2935
  }
2876
- ],
2877
- "navItems": [
2878
- {
2879
- "label": "Transactions",
2880
- "icon": "dollar-sign",
2881
- "href": "/transactions"
2882
- },
2883
- {
2884
- "label": "Summary",
2885
- "icon": "layout-list",
2886
- "href": "/summary"
2887
- },
2888
- {
2889
- "label": "Reports",
2890
- "href": "/reports",
2891
- "icon": "bar-chart"
2892
- }
2893
- ],
2894
- "type": "dashboard-layout"
2936
+ ]
2895
2937
  }
2896
2938
  ]
2897
2939
  ]
@@ -2906,8 +2948,8 @@
2906
2948
  "FinanceSummary",
2907
2949
  {
2908
2950
  "emit": {
2909
- "success": "FinanceSummaryLoaded",
2910
- "failure": "FinanceSummaryLoadFailed"
2951
+ "failure": "FinanceSummaryLoadFailed",
2952
+ "success": "FinanceSummaryLoaded"
2911
2953
  }
2912
2954
  }
2913
2955
  ],
@@ -2915,11 +2957,13 @@
2915
2957
  "render-ui",
2916
2958
  "main",
2917
2959
  {
2960
+ "type": "dashboard-layout",
2961
+ "appName": "Finance Tracker",
2918
2962
  "children": [
2919
2963
  {
2964
+ "type": "scaled-diagram",
2920
2965
  "children": [
2921
2966
  {
2922
- "type": "stack",
2923
2967
  "children": [
2924
2968
  {
2925
2969
  "type": "breadcrumb",
@@ -2934,88 +2978,87 @@
2934
2978
  ]
2935
2979
  },
2936
2980
  {
2937
- "justify": "between",
2938
2981
  "children": [
2939
2982
  {
2940
- "direction": "horizontal",
2941
2983
  "gap": "md",
2984
+ "type": "stack",
2942
2985
  "children": [
2943
2986
  {
2944
2987
  "name": "pie-chart",
2945
2988
  "type": "icon"
2946
2989
  },
2947
2990
  {
2948
- "variant": "h2",
2991
+ "content": "Financial Summary",
2949
2992
  "type": "typography",
2950
- "content": "Financial Summary"
2993
+ "variant": "h2"
2951
2994
  }
2952
2995
  ],
2953
- "type": "stack"
2996
+ "direction": "horizontal"
2954
2997
  },
2955
2998
  {
2999
+ "action": "REFRESH",
2956
3000
  "label": "Refresh",
3001
+ "icon": "refresh-cw",
2957
3002
  "type": "button",
2958
- "variant": "secondary",
2959
- "action": "REFRESH",
2960
- "icon": "refresh-cw"
3003
+ "variant": "secondary"
2961
3004
  }
2962
3005
  ],
3006
+ "direction": "horizontal",
2963
3007
  "type": "stack",
2964
- "gap": "md",
2965
- "direction": "horizontal"
3008
+ "justify": "between",
3009
+ "gap": "md"
2966
3010
  },
2967
3011
  {
2968
3012
  "type": "divider"
2969
3013
  },
2970
3014
  {
2971
- "type": "box",
2972
3015
  "children": [
2973
3016
  {
2974
- "type": "simple-grid",
2975
- "cols": 3.0,
2976
3017
  "children": [
2977
3018
  {
2978
- "value": "@entity.totalIncome",
2979
3019
  "type": "stat-display",
3020
+ "value": "@entity.totalIncome",
2980
3021
  "label": "TotalIncome"
2981
3022
  },
2982
3023
  {
2983
- "type": "stat-display",
3024
+ "value": "@entity.totalExpenses",
2984
3025
  "label": "TotalExpenses",
2985
- "value": "@entity.totalExpenses"
3026
+ "type": "stat-display"
2986
3027
  },
2987
3028
  {
2988
- "type": "stat-display",
3029
+ "label": "Balance",
2989
3030
  "value": "@entity.balance",
2990
- "label": "Balance"
3031
+ "type": "stat-display"
2991
3032
  },
2992
3033
  {
3034
+ "type": "stat-display",
2993
3035
  "label": "SavingsRate",
2994
- "value": "@entity.savingsRate",
2995
- "type": "stat-display"
3036
+ "value": "@entity.savingsRate"
2996
3037
  }
2997
- ]
3038
+ ],
3039
+ "type": "simple-grid",
3040
+ "cols": 3.0
2998
3041
  }
2999
3042
  ],
3000
- "padding": "md"
3043
+ "padding": "md",
3044
+ "type": "box"
3001
3045
  },
3002
3046
  {
3003
3047
  "type": "divider"
3004
3048
  },
3005
3049
  {
3006
3050
  "type": "grid",
3007
- "cols": 2.0,
3008
3051
  "gap": "md",
3009
3052
  "children": [
3010
3053
  {
3054
+ "type": "card",
3011
3055
  "children": [
3012
3056
  {
3013
3057
  "variant": "caption",
3014
3058
  "content": "Chart View",
3015
3059
  "type": "typography"
3016
3060
  }
3017
- ],
3018
- "type": "card"
3061
+ ]
3019
3062
  },
3020
3063
  {
3021
3064
  "children": [
@@ -3027,7 +3070,8 @@
3027
3070
  ],
3028
3071
  "type": "card"
3029
3072
  }
3030
- ]
3073
+ ],
3074
+ "cols": 2.0
3031
3075
  },
3032
3076
  {
3033
3077
  "data": [
@@ -3040,16 +3084,16 @@
3040
3084
  "value": 19.0
3041
3085
  },
3042
3086
  {
3043
- "date": "Mar",
3044
- "value": 15.0
3087
+ "value": 15.0,
3088
+ "date": "Mar"
3045
3089
  },
3046
3090
  {
3047
3091
  "value": 25.0,
3048
3092
  "date": "Apr"
3049
3093
  },
3050
3094
  {
3051
- "value": 22.0,
3052
- "date": "May"
3095
+ "date": "May",
3096
+ "value": 22.0
3053
3097
  },
3054
3098
  {
3055
3099
  "date": "Jun",
@@ -3072,15 +3116,14 @@
3072
3116
  ]
3073
3117
  },
3074
3118
  {
3075
- "type": "graph-view",
3076
3119
  "nodes": [
3077
3120
  {
3078
- "id": "a",
3079
- "label": "Start"
3121
+ "label": "Start",
3122
+ "id": "a"
3080
3123
  },
3081
3124
  {
3082
- "id": "b",
3083
- "label": "Process"
3125
+ "label": "Process",
3126
+ "id": "b"
3084
3127
  },
3085
3128
  {
3086
3129
  "label": "End",
@@ -3089,8 +3132,8 @@
3089
3132
  ],
3090
3133
  "edges": [
3091
3134
  {
3092
- "source": "a",
3093
- "target": "b"
3135
+ "target": "b",
3136
+ "source": "a"
3094
3137
  },
3095
3138
  {
3096
3139
  "target": "c",
@@ -3098,14 +3141,15 @@
3098
3141
  }
3099
3142
  ],
3100
3143
  "height": 200.0,
3101
- "width": 400.0
3144
+ "width": 400.0,
3145
+ "type": "graph-view"
3102
3146
  }
3103
3147
  ],
3104
3148
  "direction": "vertical",
3105
- "gap": "lg"
3149
+ "gap": "lg",
3150
+ "type": "stack"
3106
3151
  }
3107
- ],
3108
- "type": "scaled-diagram"
3152
+ ]
3109
3153
  }
3110
3154
  ],
3111
3155
  "navItems": [
@@ -3115,18 +3159,16 @@
3115
3159
  "href": "/transactions"
3116
3160
  },
3117
3161
  {
3162
+ "label": "Summary",
3118
3163
  "href": "/summary",
3119
- "icon": "layout-list",
3120
- "label": "Summary"
3164
+ "icon": "layout-list"
3121
3165
  },
3122
3166
  {
3123
3167
  "label": "Reports",
3124
3168
  "href": "/reports",
3125
3169
  "icon": "bar-chart"
3126
3170
  }
3127
- ],
3128
- "type": "dashboard-layout",
3129
- "appName": "Finance Tracker"
3171
+ ]
3130
3172
  }
3131
3173
  ]
3132
3174
  ]
@@ -3261,8 +3303,8 @@
3261
3303
  "FinanceReport",
3262
3304
  {
3263
3305
  "emit": {
3264
- "success": "FinanceReportLoaded",
3265
- "failure": "FinanceReportLoadFailed"
3306
+ "failure": "FinanceReportLoadFailed",
3307
+ "success": "FinanceReportLoaded"
3266
3308
  }
3267
3309
  }
3268
3310
  ],
@@ -3270,22 +3312,22 @@
3270
3312
  "render-ui",
3271
3313
  "main",
3272
3314
  {
3315
+ "direction": "vertical",
3273
3316
  "gap": "md",
3317
+ "align": "center",
3318
+ "type": "stack",
3274
3319
  "className": "py-12",
3275
3320
  "children": [
3276
3321
  {
3277
3322
  "type": "spinner"
3278
3323
  },
3279
3324
  {
3280
- "content": "Loading…",
3281
3325
  "variant": "caption",
3326
+ "color": "muted",
3282
3327
  "type": "typography",
3283
- "color": "muted"
3328
+ "content": "Loading…"
3284
3329
  }
3285
- ],
3286
- "direction": "vertical",
3287
- "align": "center",
3288
- "type": "stack"
3330
+ ]
3289
3331
  }
3290
3332
  ]
3291
3333
  ]
@@ -3301,20 +3343,11 @@
3301
3343
  {
3302
3344
  "children": [
3303
3345
  {
3304
- "gap": "lg",
3305
- "type": "stack",
3306
- "className": "max-w-5xl mx-auto w-full",
3307
- "direction": "vertical",
3308
3346
  "children": [
3309
3347
  {
3310
- "direction": "horizontal",
3311
- "justify": "between",
3312
- "type": "stack",
3313
- "gap": "md",
3314
- "align": "center",
3315
3348
  "children": [
3316
3349
  {
3317
- "gap": "sm",
3350
+ "align": "center",
3318
3351
  "direction": "horizontal",
3319
3352
  "type": "stack",
3320
3353
  "children": [
@@ -3323,90 +3356,99 @@
3323
3356
  "type": "icon"
3324
3357
  },
3325
3358
  {
3326
- "variant": "h2",
3327
3359
  "type": "typography",
3328
- "content": "Reports"
3360
+ "content": "Reports",
3361
+ "variant": "h2"
3329
3362
  }
3330
3363
  ],
3331
- "align": "center"
3364
+ "gap": "sm"
3332
3365
  },
3333
3366
  {
3334
- "gap": "sm",
3335
- "type": "stack",
3336
3367
  "children": [
3337
3368
  {
3338
- "variant": "primary",
3339
- "type": "button",
3340
3369
  "action": "CREATE",
3370
+ "label": "Create FinanceReport",
3371
+ "variant": "primary",
3341
3372
  "icon": "plus",
3342
- "label": "Create FinanceReport"
3373
+ "type": "button"
3343
3374
  }
3344
3375
  ],
3345
- "direction": "horizontal"
3376
+ "type": "stack",
3377
+ "direction": "horizontal",
3378
+ "gap": "sm"
3346
3379
  }
3347
- ]
3380
+ ],
3381
+ "type": "stack",
3382
+ "direction": "horizontal",
3383
+ "gap": "md",
3384
+ "align": "center",
3385
+ "justify": "between"
3348
3386
  },
3349
3387
  {
3350
3388
  "type": "divider"
3351
3389
  },
3352
3390
  {
3353
- "gap": "sm",
3354
- "variant": "card",
3355
3391
  "fields": [],
3356
3392
  "type": "data-list",
3357
- "entity": "@payload.data",
3358
- "itemActions": [
3359
- {
3360
- "event": "VIEW",
3361
- "variant": "ghost",
3362
- "label": "View"
3363
- }
3364
- ],
3365
3393
  "columns": [
3366
3394
  {
3367
- "variant": "h3",
3395
+ "name": "title",
3368
3396
  "icon": "file-text",
3369
- "name": "title"
3397
+ "variant": "h3"
3370
3398
  },
3371
3399
  {
3372
- "variant": "badge",
3373
- "name": "period"
3400
+ "name": "period",
3401
+ "variant": "badge"
3374
3402
  },
3375
3403
  {
3376
- "variant": "h4",
3377
3404
  "name": "total",
3405
+ "variant": "h4",
3378
3406
  "format": "currency"
3379
3407
  },
3380
3408
  {
3381
- "format": "date",
3382
3409
  "name": "generatedAt",
3383
- "label": "Generated",
3384
- "variant": "caption"
3410
+ "variant": "caption",
3411
+ "format": "date",
3412
+ "label": "Generated"
3385
3413
  }
3386
- ]
3414
+ ],
3415
+ "variant": "card",
3416
+ "gap": "sm",
3417
+ "itemActions": [
3418
+ {
3419
+ "variant": "ghost",
3420
+ "label": "View",
3421
+ "event": "VIEW"
3422
+ }
3423
+ ],
3424
+ "entity": "@payload.data"
3387
3425
  }
3388
- ]
3426
+ ],
3427
+ "gap": "lg",
3428
+ "className": "max-w-5xl mx-auto w-full",
3429
+ "type": "stack",
3430
+ "direction": "vertical"
3389
3431
  }
3390
3432
  ],
3433
+ "type": "dashboard-layout",
3434
+ "appName": "Finance Tracker",
3391
3435
  "navItems": [
3392
3436
  {
3393
- "icon": "dollar-sign",
3437
+ "href": "/transactions",
3394
3438
  "label": "Transactions",
3395
- "href": "/transactions"
3439
+ "icon": "dollar-sign"
3396
3440
  },
3397
3441
  {
3398
- "icon": "layout-list",
3399
3442
  "href": "/summary",
3400
- "label": "Summary"
3443
+ "label": "Summary",
3444
+ "icon": "layout-list"
3401
3445
  },
3402
3446
  {
3403
- "label": "Reports",
3404
3447
  "href": "/reports",
3405
- "icon": "bar-chart"
3448
+ "icon": "bar-chart",
3449
+ "label": "Reports"
3406
3450
  }
3407
- ],
3408
- "appName": "Finance Tracker",
3409
- "type": "dashboard-layout"
3451
+ ]
3410
3452
  }
3411
3453
  ]
3412
3454
  ]
@@ -3420,6 +3462,10 @@
3420
3462
  "render-ui",
3421
3463
  "main",
3422
3464
  {
3465
+ "gap": "md",
3466
+ "direction": "vertical",
3467
+ "align": "center",
3468
+ "className": "py-12",
3423
3469
  "children": [
3424
3470
  {
3425
3471
  "type": "icon",
@@ -3427,29 +3473,25 @@
3427
3473
  "color": "destructive"
3428
3474
  },
3429
3475
  {
3430
- "type": "typography",
3431
3476
  "content": "Failed to load financereport",
3477
+ "type": "typography",
3432
3478
  "variant": "h3"
3433
3479
  },
3434
3480
  {
3435
- "type": "typography",
3436
- "content": "@payload.error",
3437
3481
  "variant": "body",
3482
+ "content": "@payload.error",
3483
+ "type": "typography",
3438
3484
  "color": "muted"
3439
3485
  },
3440
3486
  {
3441
- "type": "button",
3442
- "label": "Retry",
3443
- "action": "INIT",
3487
+ "variant": "primary",
3444
3488
  "icon": "rotate-ccw",
3445
- "variant": "primary"
3489
+ "action": "INIT",
3490
+ "type": "button",
3491
+ "label": "Retry"
3446
3492
  }
3447
3493
  ],
3448
- "type": "stack",
3449
- "gap": "md",
3450
- "className": "py-12",
3451
- "align": "center",
3452
- "direction": "vertical"
3494
+ "type": "stack"
3453
3495
  }
3454
3496
  ]
3455
3497
  ]
@@ -3603,8 +3645,14 @@
3603
3645
  "event": "INIT",
3604
3646
  "effects": [
3605
3647
  [
3606
- "ref",
3607
- "FinanceReport"
3648
+ "fetch",
3649
+ "FinanceReport",
3650
+ {
3651
+ "emit": {
3652
+ "failure": "FinanceReportLoadFailed",
3653
+ "success": "FinanceReportLoaded"
3654
+ }
3655
+ }
3608
3656
  ]
3609
3657
  ]
3610
3658
  },
@@ -3627,42 +3675,42 @@
3627
3675
  "render-ui",
3628
3676
  "modal",
3629
3677
  {
3630
- "direction": "vertical",
3631
3678
  "gap": "md",
3679
+ "type": "stack",
3680
+ "direction": "vertical",
3632
3681
  "children": [
3633
3682
  {
3634
3683
  "children": [
3635
3684
  {
3636
- "name": "plus-circle",
3637
- "type": "icon"
3685
+ "type": "icon",
3686
+ "name": "plus-circle"
3638
3687
  },
3639
3688
  {
3640
3689
  "type": "typography",
3641
- "variant": "h3",
3642
- "content": "New FinanceReport"
3690
+ "content": "New FinanceReport",
3691
+ "variant": "h3"
3643
3692
  }
3644
3693
  ],
3645
- "gap": "sm",
3694
+ "direction": "horizontal",
3646
3695
  "type": "stack",
3647
- "direction": "horizontal"
3696
+ "gap": "sm"
3648
3697
  },
3649
3698
  {
3650
3699
  "type": "divider"
3651
3700
  },
3652
3701
  {
3702
+ "submitEvent": "SAVE",
3653
3703
  "type": "form-section",
3704
+ "cancelEvent": "CLOSE",
3654
3705
  "fields": [
3655
3706
  "title",
3656
3707
  "period",
3657
3708
  "total",
3658
3709
  "generatedAt"
3659
3710
  ],
3660
- "submitEvent": "SAVE",
3661
- "mode": "create",
3662
- "cancelEvent": "CLOSE"
3711
+ "mode": "create"
3663
3712
  }
3664
- ],
3665
- "type": "stack"
3713
+ ]
3666
3714
  }
3667
3715
  ]
3668
3716
  ]
@@ -3703,8 +3751,8 @@
3703
3751
  "@payload.data",
3704
3752
  {
3705
3753
  "emit": {
3706
- "success": "FinanceReportSaved",
3707
- "failure": "FinanceReportSaveFailed"
3754
+ "failure": "FinanceReportSaveFailed",
3755
+ "success": "FinanceReportSaved"
3708
3756
  }
3709
3757
  }
3710
3758
  ],
@@ -3823,8 +3871,14 @@
3823
3871
  "event": "INIT",
3824
3872
  "effects": [
3825
3873
  [
3826
- "ref",
3827
- "FinanceReport"
3874
+ "fetch",
3875
+ "FinanceReport",
3876
+ {
3877
+ "emit": {
3878
+ "failure": "FinanceReportLoadFailed",
3879
+ "success": "FinanceReportLoaded"
3880
+ }
3881
+ }
3828
3882
  ]
3829
3883
  ]
3830
3884
  },
@@ -3839,8 +3893,8 @@
3839
3893
  {
3840
3894
  "id": "@payload.id",
3841
3895
  "emit": {
3842
- "failure": "FinanceReportLoadFailed",
3843
- "success": "FinanceReportLoaded"
3896
+ "success": "FinanceReportLoaded",
3897
+ "failure": "FinanceReportLoadFailed"
3844
3898
  }
3845
3899
  }
3846
3900
  ],
@@ -3848,11 +3902,9 @@
3848
3902
  "render-ui",
3849
3903
  "modal",
3850
3904
  {
3851
- "direction": "vertical",
3852
3905
  "children": [
3853
3906
  {
3854
- "gap": "sm",
3855
- "align": "center",
3907
+ "type": "stack",
3856
3908
  "direction": "horizontal",
3857
3909
  "children": [
3858
3910
  {
@@ -3860,21 +3912,25 @@
3860
3912
  "name": "eye"
3861
3913
  },
3862
3914
  {
3863
- "variant": "h3",
3915
+ "content": "@entity.title",
3864
3916
  "type": "typography",
3865
- "content": "@entity.title"
3917
+ "variant": "h3"
3866
3918
  }
3867
3919
  ],
3868
- "type": "stack"
3920
+ "align": "center",
3921
+ "gap": "sm"
3869
3922
  },
3870
3923
  {
3871
3924
  "type": "divider"
3872
3925
  },
3873
3926
  {
3927
+ "type": "stack",
3928
+ "direction": "horizontal",
3929
+ "gap": "md",
3874
3930
  "children": [
3875
3931
  {
3876
- "type": "typography",
3877
3932
  "variant": "caption",
3933
+ "type": "typography",
3878
3934
  "content": "Title"
3879
3935
  },
3880
3936
  {
@@ -3882,52 +3938,49 @@
3882
3938
  "content": "@entity.title",
3883
3939
  "type": "typography"
3884
3940
  }
3885
- ],
3886
- "direction": "horizontal",
3887
- "type": "stack",
3888
- "gap": "md"
3941
+ ]
3889
3942
  },
3890
3943
  {
3891
3944
  "gap": "md",
3892
3945
  "type": "stack",
3893
3946
  "children": [
3894
3947
  {
3948
+ "content": "Period",
3895
3949
  "type": "typography",
3896
- "variant": "caption",
3897
- "content": "Period"
3950
+ "variant": "caption"
3898
3951
  },
3899
3952
  {
3953
+ "variant": "body",
3900
3954
  "content": "@entity.period",
3901
- "type": "typography",
3902
- "variant": "body"
3955
+ "type": "typography"
3903
3956
  }
3904
3957
  ],
3905
3958
  "direction": "horizontal"
3906
3959
  },
3907
3960
  {
3908
- "gap": "md",
3909
- "type": "stack",
3910
3961
  "direction": "horizontal",
3911
3962
  "children": [
3912
3963
  {
3964
+ "type": "typography",
3913
3965
  "variant": "caption",
3914
- "content": "Total",
3915
- "type": "typography"
3966
+ "content": "Total"
3916
3967
  },
3917
3968
  {
3969
+ "type": "typography",
3918
3970
  "variant": "body",
3919
- "content": "@entity.total",
3920
- "type": "typography"
3971
+ "content": "@entity.total"
3921
3972
  }
3922
- ]
3973
+ ],
3974
+ "type": "stack",
3975
+ "gap": "md"
3923
3976
  },
3924
3977
  {
3925
- "direction": "horizontal",
3926
3978
  "gap": "md",
3979
+ "direction": "horizontal",
3927
3980
  "children": [
3928
3981
  {
3929
- "content": "Generated At",
3930
3982
  "type": "typography",
3983
+ "content": "Generated At",
3931
3984
  "variant": "caption"
3932
3985
  },
3933
3986
  {
@@ -3942,22 +3995,23 @@
3942
3995
  "type": "divider"
3943
3996
  },
3944
3997
  {
3945
- "gap": "sm",
3998
+ "direction": "horizontal",
3946
3999
  "children": [
3947
4000
  {
3948
4001
  "action": "CLOSE",
3949
- "type": "button",
3950
4002
  "label": "Close",
3951
- "variant": "ghost"
4003
+ "variant": "ghost",
4004
+ "type": "button"
3952
4005
  }
3953
4006
  ],
3954
- "type": "stack",
3955
- "direction": "horizontal",
3956
- "justify": "end"
4007
+ "gap": "sm",
4008
+ "justify": "end",
4009
+ "type": "stack"
3957
4010
  }
3958
4011
  ],
3959
4012
  "gap": "md",
3960
- "type": "stack"
4013
+ "type": "stack",
4014
+ "direction": "vertical"
3961
4015
  }
3962
4016
  ]
3963
4017
  ]