@almadar/std 8.5.1 → 9.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 +97 -97
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1219 -1219
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  27. package/behaviors/registry/app/organisms/std-cms.orb +587 -587
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  29. package/behaviors/registry/app/organisms/std-crm.orb +966 -966
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  37. package/behaviors/registry/app/organisms/std-lms.orb +876 -876
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  42. package/behaviors/registry/core/atoms/std-browse.orb +67 -67
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  44. package/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  47. package/behaviors/registry/core/atoms/std-display.orb +370 -370
  48. package/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  49. package/behaviors/registry/core/atoms/std-filter.orb +63 -63
  50. package/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  51. package/behaviors/registry/core/atoms/std-modal.orb +19 -19
  52. package/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  53. package/behaviors/registry/core/atoms/std-push.orb +49 -49
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  55. package/behaviors/registry/core/atoms/std-related.orb +39 -39
  56. package/behaviors/registry/core/atoms/std-search.orb +73 -73
  57. package/behaviors/registry/core/atoms/std-selection.orb +110 -110
  58. package/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  59. package/behaviors/registry/core/molecules/std-cart.orb +60 -60
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  62. package/behaviors/registry/core/molecules/std-list.orb +68 -68
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  64. package/behaviors/registry/game/atoms/std-collision.orb +140 -140
  65. package/behaviors/registry/game/atoms/std-combat.orb +76 -76
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  69. package/behaviors/registry/game/atoms/std-movement.orb +276 -276
  70. package/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  72. package/behaviors/registry/game/atoms/std-quest.orb +129 -129
  73. package/behaviors/registry/game/atoms/std-timer.orb +285 -285
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  83. package/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  84. package/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +97 -97
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +129 -129
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +127 -127
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +133 -133
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +419 -419
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +100 -100
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +112 -112
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +138 -138
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +78 -78
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +171 -171
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +358 -358
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +79 -79
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +204 -204
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +190 -190
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +152 -152
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +115 -115
  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 +1219 -1219
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +2995 -2995
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2285 -2285
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1063 -1063
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +876 -876
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +840 -840
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1248 -1248
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +816 -816
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +587 -587
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +416 -416
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +966 -966
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1375 -1375
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1109 -1109
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +716 -716
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1473 -1473
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +693 -693
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1252 -1252
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +895 -895
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +876 -876
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +790 -790
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +740 -740
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +266 -266
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +699 -699
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +67 -67
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +97 -97
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +62 -62
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +188 -188
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +34 -34
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +370 -370
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +63 -63
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +55 -55
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +19 -19
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +53 -53
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +49 -49
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +185 -185
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +39 -39
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +73 -73
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +110 -110
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +47 -47
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +60 -60
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +11 -11
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +140 -140
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +68 -68
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +152 -152
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +140 -140
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +76 -76
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +27 -27
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +47 -47
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +49 -49
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +276 -276
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +88 -88
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +129 -129
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +285 -285
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +172 -172
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +89 -89
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +281 -281
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +110 -110
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +446 -446
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +349 -349
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +550 -550
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +35 -35
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +93 -93
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +92 -92
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +111 -111
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +132 -132
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +133 -133
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +114 -114
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +140 -140
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +115 -115
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +131 -131
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +128 -128
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1092 -1092
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +978 -978
  187. package/package.json +1 -1
@@ -50,7 +50,7 @@
50
50
  "event": "TransactionLoaded",
51
51
  "description": "Fired when Transaction finishes loading",
52
52
  "scope": "internal",
53
- "payload": [
53
+ "payloadSchema": [
54
54
  {
55
55
  "name": "data",
56
56
  "type": "[Transaction]"
@@ -61,7 +61,7 @@
61
61
  "event": "TransactionLoadFailed",
62
62
  "description": "Fired when Transaction fails to load",
63
63
  "scope": "internal",
64
- "payload": [
64
+ "payloadSchema": [
65
65
  {
66
66
  "name": "error",
67
67
  "type": "string"
@@ -75,7 +75,7 @@
75
75
  {
76
76
  "event": "TransactionSaved",
77
77
  "scope": "internal",
78
- "payload": [
78
+ "payloadSchema": [
79
79
  {
80
80
  "name": "id",
81
81
  "type": "string"
@@ -85,7 +85,7 @@
85
85
  {
86
86
  "event": "TransactionSaveFailed",
87
87
  "scope": "internal",
88
- "payload": [
88
+ "payloadSchema": [
89
89
  {
90
90
  "name": "error",
91
91
  "type": "string"
@@ -99,7 +99,7 @@
99
99
  {
100
100
  "event": "TransactionUpdated",
101
101
  "scope": "internal",
102
- "payload": [
102
+ "payloadSchema": [
103
103
  {
104
104
  "name": "id",
105
105
  "type": "string"
@@ -109,7 +109,7 @@
109
109
  {
110
110
  "event": "TransactionUpdateFailed",
111
111
  "scope": "internal",
112
- "payload": [
112
+ "payloadSchema": [
113
113
  {
114
114
  "name": "error",
115
115
  "type": "string"
@@ -123,7 +123,7 @@
123
123
  {
124
124
  "event": "TransactionDeleted",
125
125
  "scope": "internal",
126
- "payload": [
126
+ "payloadSchema": [
127
127
  {
128
128
  "name": "id",
129
129
  "type": "string"
@@ -133,7 +133,7 @@
133
133
  {
134
134
  "event": "TransactionDeleteFailed",
135
135
  "scope": "internal",
136
- "payload": [
136
+ "payloadSchema": [
137
137
  {
138
138
  "name": "error",
139
139
  "type": "string"
@@ -147,7 +147,7 @@
147
147
  {
148
148
  "event": "FinanceReportSaved",
149
149
  "scope": "internal",
150
- "payload": [
150
+ "payloadSchema": [
151
151
  {
152
152
  "name": "id",
153
153
  "type": "string"
@@ -157,7 +157,7 @@
157
157
  {
158
158
  "event": "FinanceReportSaveFailed",
159
159
  "scope": "internal",
160
- "payload": [
160
+ "payloadSchema": [
161
161
  {
162
162
  "name": "error",
163
163
  "type": "string"
@@ -210,7 +210,7 @@
210
210
  {
211
211
  "key": "TransactionLoaded",
212
212
  "name": "Transaction loaded",
213
- "payload": [
213
+ "payloadSchema": [
214
214
  {
215
215
  "name": "data",
216
216
  "type": "[Transaction]"
@@ -220,7 +220,7 @@
220
220
  {
221
221
  "key": "TransactionLoadFailed",
222
222
  "name": "Transaction load failed",
223
- "payload": [
223
+ "payloadSchema": [
224
224
  {
225
225
  "name": "error",
226
226
  "type": "string"
@@ -234,7 +234,7 @@
234
234
  {
235
235
  "key": "TransactionSaved",
236
236
  "name": "Transaction saved",
237
- "payload": [
237
+ "payloadSchema": [
238
238
  {
239
239
  "name": "id",
240
240
  "type": "string"
@@ -244,7 +244,7 @@
244
244
  {
245
245
  "key": "TransactionSaveFailed",
246
246
  "name": "Transaction save failed",
247
- "payload": [
247
+ "payloadSchema": [
248
248
  {
249
249
  "name": "error",
250
250
  "type": "string"
@@ -258,7 +258,7 @@
258
258
  {
259
259
  "key": "TransactionUpdated",
260
260
  "name": "Transaction updated",
261
- "payload": [
261
+ "payloadSchema": [
262
262
  {
263
263
  "name": "id",
264
264
  "type": "string"
@@ -268,7 +268,7 @@
268
268
  {
269
269
  "key": "TransactionUpdateFailed",
270
270
  "name": "Transaction update failed",
271
- "payload": [
271
+ "payloadSchema": [
272
272
  {
273
273
  "name": "error",
274
274
  "type": "string"
@@ -282,7 +282,7 @@
282
282
  {
283
283
  "key": "TransactionDeleted",
284
284
  "name": "Transaction deleted",
285
- "payload": [
285
+ "payloadSchema": [
286
286
  {
287
287
  "name": "id",
288
288
  "type": "string"
@@ -292,7 +292,7 @@
292
292
  {
293
293
  "key": "TransactionDeleteFailed",
294
294
  "name": "Transaction delete failed",
295
- "payload": [
295
+ "payloadSchema": [
296
296
  {
297
297
  "name": "error",
298
298
  "type": "string"
@@ -306,7 +306,7 @@
306
306
  {
307
307
  "key": "FinanceReportSaved",
308
308
  "name": "Finance report saved",
309
- "payload": [
309
+ "payloadSchema": [
310
310
  {
311
311
  "name": "id",
312
312
  "type": "string"
@@ -316,7 +316,7 @@
316
316
  {
317
317
  "key": "FinanceReportSaveFailed",
318
318
  "name": "Finance report save failed",
319
- "payload": [
319
+ "payloadSchema": [
320
320
  {
321
321
  "name": "error",
322
322
  "type": "string"
@@ -330,7 +330,7 @@
330
330
  {
331
331
  "key": "VIEW",
332
332
  "name": "View",
333
- "payload": [
333
+ "payloadSchema": [
334
334
  {
335
335
  "name": "id",
336
336
  "type": "string",
@@ -345,7 +345,7 @@
345
345
  {
346
346
  "key": "EDIT",
347
347
  "name": "Edit",
348
- "payload": [
348
+ "payloadSchema": [
349
349
  {
350
350
  "name": "id",
351
351
  "type": "string",
@@ -360,7 +360,7 @@
360
360
  {
361
361
  "key": "DELETE",
362
362
  "name": "Delete",
363
- "payload": [
363
+ "payloadSchema": [
364
364
  {
365
365
  "name": "id",
366
366
  "type": "string",
@@ -384,8 +384,8 @@
384
384
  "Transaction",
385
385
  {
386
386
  "emit": {
387
- "success": "TransactionLoaded",
388
- "failure": "TransactionLoadFailed"
387
+ "failure": "TransactionLoadFailed",
388
+ "success": "TransactionLoaded"
389
389
  }
390
390
  }
391
391
  ],
@@ -393,22 +393,22 @@
393
393
  "render-ui",
394
394
  "main",
395
395
  {
396
- "type": "stack",
397
396
  "direction": "vertical",
398
- "gap": "md",
397
+ "type": "stack",
398
+ "align": "center",
399
399
  "className": "py-12",
400
+ "gap": "md",
400
401
  "children": [
401
402
  {
402
403
  "type": "spinner"
403
404
  },
404
405
  {
405
- "type": "typography",
406
- "variant": "caption",
407
406
  "color": "muted",
407
+ "variant": "caption",
408
+ "type": "typography",
408
409
  "content": "Loading…"
409
410
  }
410
- ],
411
- "align": "center"
411
+ ]
412
412
  }
413
413
  ]
414
414
  ]
@@ -422,20 +422,38 @@
422
422
  "render-ui",
423
423
  "main",
424
424
  {
425
+ "navItems": [
426
+ {
427
+ "href": "/transactions",
428
+ "icon": "dollar-sign",
429
+ "label": "Transactions"
430
+ },
431
+ {
432
+ "icon": "layout-list",
433
+ "label": "Summary",
434
+ "href": "/summary"
435
+ },
436
+ {
437
+ "href": "/reports",
438
+ "icon": "bar-chart",
439
+ "label": "Reports"
440
+ }
441
+ ],
425
442
  "appName": "Finance Tracker",
426
443
  "children": [
427
444
  {
428
445
  "direction": "vertical",
429
446
  "type": "stack",
430
- "className": "max-w-5xl mx-auto w-full",
431
- "gap": "lg",
432
447
  "children": [
433
448
  {
449
+ "gap": "md",
450
+ "type": "stack",
434
451
  "align": "center",
452
+ "direction": "horizontal",
435
453
  "justify": "between",
436
- "gap": "md",
437
454
  "children": [
438
455
  {
456
+ "align": "center",
439
457
  "gap": "sm",
440
458
  "children": [
441
459
  {
@@ -444,57 +462,36 @@
444
462
  },
445
463
  {
446
464
  "type": "typography",
447
- "content": "Transactions",
448
- "variant": "h2"
465
+ "variant": "h2",
466
+ "content": "Transactions"
449
467
  }
450
468
  ],
451
- "align": "center",
452
- "direction": "horizontal",
453
- "type": "stack"
469
+ "type": "stack",
470
+ "direction": "horizontal"
454
471
  },
455
472
  {
456
473
  "type": "stack",
474
+ "gap": "sm",
457
475
  "children": [
458
476
  {
459
477
  "action": "CREATE",
460
478
  "label": "Create Transaction",
461
479
  "icon": "plus",
462
- "variant": "primary",
463
- "type": "button"
480
+ "type": "button",
481
+ "variant": "primary"
464
482
  }
465
483
  ],
466
- "direction": "horizontal",
467
- "gap": "sm"
484
+ "direction": "horizontal"
468
485
  }
469
- ],
470
- "type": "stack",
471
- "direction": "horizontal"
486
+ ]
472
487
  },
473
488
  {
474
489
  "type": "divider"
475
490
  },
476
491
  {
477
- "itemActions": [
478
- {
479
- "variant": "ghost",
480
- "label": "View",
481
- "event": "VIEW"
482
- },
483
- {
484
- "label": "Edit",
485
- "event": "EDIT",
486
- "variant": "ghost"
487
- },
488
- {
489
- "variant": "danger",
490
- "label": "Delete",
491
- "event": "DELETE"
492
- }
493
- ],
494
- "type": "data-list",
495
- "variant": "card",
496
492
  "entity": "@payload.data",
497
493
  "fields": [],
494
+ "type": "data-list",
498
495
  "columns": [
499
496
  {
500
497
  "variant": "h3",
@@ -502,43 +499,46 @@
502
499
  "name": "description"
503
500
  },
504
501
  {
505
- "name": "category",
506
- "variant": "badge"
502
+ "variant": "badge",
503
+ "name": "category"
507
504
  },
508
505
  {
509
506
  "name": "amount",
510
- "variant": "h4",
511
- "format": "currency"
507
+ "format": "currency",
508
+ "variant": "h4"
512
509
  },
513
510
  {
511
+ "variant": "caption",
514
512
  "format": "date",
515
- "name": "date",
516
- "variant": "caption"
513
+ "name": "date"
517
514
  }
518
515
  ],
519
- "gap": "sm"
516
+ "gap": "sm",
517
+ "variant": "card",
518
+ "itemActions": [
519
+ {
520
+ "variant": "ghost",
521
+ "label": "View",
522
+ "event": "VIEW"
523
+ },
524
+ {
525
+ "event": "EDIT",
526
+ "label": "Edit",
527
+ "variant": "ghost"
528
+ },
529
+ {
530
+ "event": "DELETE",
531
+ "label": "Delete",
532
+ "variant": "danger"
533
+ }
534
+ ]
520
535
  }
521
- ]
536
+ ],
537
+ "className": "max-w-5xl mx-auto w-full",
538
+ "gap": "lg"
522
539
  }
523
540
  ],
524
- "type": "dashboard-layout",
525
- "navItems": [
526
- {
527
- "href": "/transactions",
528
- "icon": "dollar-sign",
529
- "label": "Transactions"
530
- },
531
- {
532
- "label": "Summary",
533
- "href": "/summary",
534
- "icon": "layout-list"
535
- },
536
- {
537
- "icon": "bar-chart",
538
- "label": "Reports",
539
- "href": "/reports"
540
- }
541
- ]
541
+ "type": "dashboard-layout"
542
542
  }
543
543
  ]
544
544
  ]
@@ -553,35 +553,35 @@
553
553
  "main",
554
554
  {
555
555
  "align": "center",
556
- "className": "py-12",
557
- "gap": "md",
558
- "direction": "vertical",
559
556
  "children": [
560
557
  {
561
- "name": "alert-triangle",
562
558
  "color": "destructive",
563
- "type": "icon"
559
+ "type": "icon",
560
+ "name": "alert-triangle"
564
561
  },
565
562
  {
566
- "type": "typography",
567
563
  "content": "Failed to load transaction",
568
- "variant": "h3"
564
+ "variant": "h3",
565
+ "type": "typography"
569
566
  },
570
567
  {
571
- "type": "typography",
572
568
  "content": "@payload.error",
573
- "color": "muted",
574
- "variant": "body"
569
+ "variant": "body",
570
+ "type": "typography",
571
+ "color": "muted"
575
572
  },
576
573
  {
574
+ "icon": "rotate-ccw",
575
+ "label": "Retry",
577
576
  "action": "INIT",
578
577
  "variant": "primary",
579
- "type": "button",
580
- "icon": "rotate-ccw",
581
- "label": "Retry"
578
+ "type": "button"
582
579
  }
583
580
  ],
584
- "type": "stack"
581
+ "type": "stack",
582
+ "className": "py-12",
583
+ "gap": "md",
584
+ "direction": "vertical"
585
585
  }
586
586
  ]
587
587
  ]
@@ -598,7 +598,7 @@
598
598
  {
599
599
  "event": "TRANSACTION_CREATED",
600
600
  "scope": "external",
601
- "payload": [
601
+ "payloadSchema": [
602
602
  {
603
603
  "name": "id",
604
604
  "type": "string"
@@ -609,7 +609,7 @@
609
609
  "event": "TransactionLoadFailed",
610
610
  "description": "Fired when Transaction fails to load",
611
611
  "scope": "internal",
612
- "payload": [
612
+ "payloadSchema": [
613
613
  {
614
614
  "name": "error",
615
615
  "type": "string"
@@ -624,7 +624,7 @@
624
624
  "event": "TransactionLoaded",
625
625
  "description": "Fired when Transaction finishes loading",
626
626
  "scope": "internal",
627
- "payload": [
627
+ "payloadSchema": [
628
628
  {
629
629
  "name": "data",
630
630
  "type": "[Transaction]"
@@ -634,7 +634,7 @@
634
634
  {
635
635
  "event": "TransactionSaveFailed",
636
636
  "scope": "internal",
637
- "payload": [
637
+ "payloadSchema": [
638
638
  {
639
639
  "name": "error",
640
640
  "type": "string"
@@ -648,7 +648,7 @@
648
648
  {
649
649
  "event": "TransactionSaved",
650
650
  "scope": "internal",
651
- "payload": [
651
+ "payloadSchema": [
652
652
  {
653
653
  "name": "id",
654
654
  "type": "string"
@@ -682,7 +682,7 @@
682
682
  {
683
683
  "key": "SAVE",
684
684
  "name": "Save",
685
- "payload": [
685
+ "payloadSchema": [
686
686
  {
687
687
  "name": "data",
688
688
  "type": "object",
@@ -697,7 +697,7 @@
697
697
  {
698
698
  "key": "TransactionLoadFailed",
699
699
  "name": "Transaction load failed",
700
- "payload": [
700
+ "payloadSchema": [
701
701
  {
702
702
  "name": "error",
703
703
  "type": "string"
@@ -711,7 +711,7 @@
711
711
  {
712
712
  "key": "TransactionLoaded",
713
713
  "name": "Transaction loaded",
714
- "payload": [
714
+ "payloadSchema": [
715
715
  {
716
716
  "name": "data",
717
717
  "type": "[Transaction]"
@@ -721,7 +721,7 @@
721
721
  {
722
722
  "key": "TransactionSaveFailed",
723
723
  "name": "Transaction save failed",
724
- "payload": [
724
+ "payloadSchema": [
725
725
  {
726
726
  "name": "error",
727
727
  "type": "string"
@@ -735,7 +735,7 @@
735
735
  {
736
736
  "key": "TransactionSaved",
737
737
  "name": "Transaction saved",
738
- "payload": [
738
+ "payloadSchema": [
739
739
  {
740
740
  "name": "id",
741
741
  "type": "string"
@@ -765,8 +765,8 @@
765
765
  "Transaction",
766
766
  {
767
767
  "emit": {
768
- "failure": "TransactionLoadFailed",
769
- "success": "TransactionLoaded"
768
+ "success": "TransactionLoaded",
769
+ "failure": "TransactionLoadFailed"
770
770
  }
771
771
  }
772
772
  ],
@@ -774,42 +774,42 @@
774
774
  "render-ui",
775
775
  "modal",
776
776
  {
777
- "type": "stack",
778
- "direction": "vertical",
779
777
  "children": [
780
778
  {
781
779
  "type": "stack",
782
780
  "gap": "sm",
781
+ "direction": "horizontal",
783
782
  "children": [
784
783
  {
785
- "type": "icon",
786
- "name": "plus-circle"
784
+ "name": "plus-circle",
785
+ "type": "icon"
787
786
  },
788
787
  {
789
- "variant": "h3",
790
788
  "type": "typography",
791
- "content": "Create Transaction"
789
+ "content": "Create Transaction",
790
+ "variant": "h3"
792
791
  }
793
- ],
794
- "direction": "horizontal"
792
+ ]
795
793
  },
796
794
  {
797
795
  "type": "divider"
798
796
  },
799
797
  {
800
798
  "cancelEvent": "CLOSE",
799
+ "type": "form-section",
800
+ "mode": "create",
801
801
  "submitEvent": "SAVE",
802
802
  "fields": [
803
803
  "description",
804
804
  "amount",
805
805
  "category",
806
806
  "date"
807
- ],
808
- "type": "form-section",
809
- "mode": "create"
807
+ ]
810
808
  }
811
809
  ],
812
- "gap": "md"
810
+ "direction": "vertical",
811
+ "gap": "md",
812
+ "type": "stack"
813
813
  }
814
814
  ]
815
815
  ]
@@ -885,7 +885,7 @@
885
885
  {
886
886
  "event": "TRANSACTION_UPDATED",
887
887
  "scope": "external",
888
- "payload": [
888
+ "payloadSchema": [
889
889
  {
890
890
  "name": "id",
891
891
  "type": "string"
@@ -896,7 +896,7 @@
896
896
  "event": "TransactionLoadFailed",
897
897
  "description": "Fired when Transaction fails to load",
898
898
  "scope": "internal",
899
- "payload": [
899
+ "payloadSchema": [
900
900
  {
901
901
  "name": "error",
902
902
  "type": "string"
@@ -911,7 +911,7 @@
911
911
  "event": "TransactionLoaded",
912
912
  "description": "Fired when Transaction finishes loading",
913
913
  "scope": "internal",
914
- "payload": [
914
+ "payloadSchema": [
915
915
  {
916
916
  "name": "data",
917
917
  "type": "[Transaction]"
@@ -921,7 +921,7 @@
921
921
  {
922
922
  "event": "TransactionUpdateFailed",
923
923
  "scope": "internal",
924
- "payload": [
924
+ "payloadSchema": [
925
925
  {
926
926
  "name": "error",
927
927
  "type": "string"
@@ -935,7 +935,7 @@
935
935
  {
936
936
  "event": "TransactionUpdated",
937
937
  "scope": "internal",
938
- "payload": [
938
+ "payloadSchema": [
939
939
  {
940
940
  "name": "id",
941
941
  "type": "string"
@@ -961,7 +961,7 @@
961
961
  {
962
962
  "key": "EDIT",
963
963
  "name": "Edit",
964
- "payload": [
964
+ "payloadSchema": [
965
965
  {
966
966
  "name": "id",
967
967
  "type": "string",
@@ -980,7 +980,7 @@
980
980
  {
981
981
  "key": "SAVE",
982
982
  "name": "Save",
983
- "payload": [
983
+ "payloadSchema": [
984
984
  {
985
985
  "name": "data",
986
986
  "type": "object",
@@ -995,7 +995,7 @@
995
995
  {
996
996
  "key": "TransactionLoadFailed",
997
997
  "name": "Transaction load failed",
998
- "payload": [
998
+ "payloadSchema": [
999
999
  {
1000
1000
  "name": "error",
1001
1001
  "type": "string"
@@ -1009,7 +1009,7 @@
1009
1009
  {
1010
1010
  "key": "TransactionLoaded",
1011
1011
  "name": "Transaction loaded",
1012
- "payload": [
1012
+ "payloadSchema": [
1013
1013
  {
1014
1014
  "name": "data",
1015
1015
  "type": "[Transaction]"
@@ -1019,7 +1019,7 @@
1019
1019
  {
1020
1020
  "key": "TransactionUpdateFailed",
1021
1021
  "name": "Transaction update failed",
1022
- "payload": [
1022
+ "payloadSchema": [
1023
1023
  {
1024
1024
  "name": "error",
1025
1025
  "type": "string"
@@ -1033,7 +1033,7 @@
1033
1033
  {
1034
1034
  "key": "TransactionUpdated",
1035
1035
  "name": "Transaction updated",
1036
- "payload": [
1036
+ "payloadSchema": [
1037
1037
  {
1038
1038
  "name": "id",
1039
1039
  "type": "string"
@@ -1073,22 +1073,25 @@
1073
1073
  "render-ui",
1074
1074
  "modal",
1075
1075
  {
1076
+ "type": "stack",
1077
+ "gap": "md",
1078
+ "direction": "vertical",
1076
1079
  "children": [
1077
1080
  {
1078
- "direction": "horizontal",
1079
- "gap": "sm",
1080
1081
  "children": [
1081
1082
  {
1082
- "name": "edit",
1083
- "type": "icon"
1083
+ "type": "icon",
1084
+ "name": "edit"
1084
1085
  },
1085
1086
  {
1086
- "content": "Edit Transaction",
1087
+ "variant": "h3",
1087
1088
  "type": "typography",
1088
- "variant": "h3"
1089
+ "content": "Edit Transaction"
1089
1090
  }
1090
1091
  ],
1091
- "type": "stack"
1092
+ "gap": "sm",
1093
+ "type": "stack",
1094
+ "direction": "horizontal"
1092
1095
  },
1093
1096
  {
1094
1097
  "type": "divider"
@@ -1097,19 +1100,16 @@
1097
1100
  "entity": "@payload.row",
1098
1101
  "mode": "edit",
1099
1102
  "cancelEvent": "CLOSE",
1103
+ "submitEvent": "SAVE",
1104
+ "type": "form-section",
1100
1105
  "fields": [
1101
1106
  "description",
1102
1107
  "amount",
1103
1108
  "category",
1104
1109
  "date"
1105
- ],
1106
- "submitEvent": "SAVE",
1107
- "type": "form-section"
1110
+ ]
1108
1111
  }
1109
- ],
1110
- "gap": "md",
1111
- "type": "stack",
1112
- "direction": "vertical"
1112
+ ]
1113
1113
  }
1114
1114
  ]
1115
1115
  ]
@@ -1186,7 +1186,7 @@
1186
1186
  "event": "TransactionLoaded",
1187
1187
  "description": "Fired when Transaction finishes loading",
1188
1188
  "scope": "internal",
1189
- "payload": [
1189
+ "payloadSchema": [
1190
1190
  {
1191
1191
  "name": "data",
1192
1192
  "type": "[Transaction]"
@@ -1197,7 +1197,7 @@
1197
1197
  "event": "TransactionLoadFailed",
1198
1198
  "description": "Fired when Transaction fails to load",
1199
1199
  "scope": "internal",
1200
- "payload": [
1200
+ "payloadSchema": [
1201
1201
  {
1202
1202
  "name": "error",
1203
1203
  "type": "string"
@@ -1227,7 +1227,7 @@
1227
1227
  {
1228
1228
  "key": "VIEW",
1229
1229
  "name": "View",
1230
- "payload": [
1230
+ "payloadSchema": [
1231
1231
  {
1232
1232
  "name": "id",
1233
1233
  "type": "string",
@@ -1242,7 +1242,7 @@
1242
1242
  {
1243
1243
  "key": "SAVE",
1244
1244
  "name": "Save",
1245
- "payload": [
1245
+ "payloadSchema": [
1246
1246
  {
1247
1247
  "name": "data",
1248
1248
  "type": "object",
@@ -1253,7 +1253,7 @@
1253
1253
  {
1254
1254
  "key": "TransactionLoaded",
1255
1255
  "name": "Transaction loaded",
1256
- "payload": [
1256
+ "payloadSchema": [
1257
1257
  {
1258
1258
  "name": "data",
1259
1259
  "type": "[Transaction]"
@@ -1263,7 +1263,7 @@
1263
1263
  {
1264
1264
  "key": "TransactionLoadFailed",
1265
1265
  "name": "Transaction load failed",
1266
- "payload": [
1266
+ "payloadSchema": [
1267
1267
  {
1268
1268
  "name": "error",
1269
1269
  "type": "string"
@@ -1298,8 +1298,8 @@
1298
1298
  {
1299
1299
  "id": "@payload.id",
1300
1300
  "emit": {
1301
- "failure": "TransactionLoadFailed",
1302
- "success": "TransactionLoaded"
1301
+ "success": "TransactionLoaded",
1302
+ "failure": "TransactionLoadFailed"
1303
1303
  }
1304
1304
  }
1305
1305
  ],
@@ -1309,45 +1309,43 @@
1309
1309
  {
1310
1310
  "children": [
1311
1311
  {
1312
- "type": "stack",
1312
+ "gap": "sm",
1313
1313
  "align": "center",
1314
+ "direction": "horizontal",
1314
1315
  "children": [
1315
1316
  {
1316
- "type": "icon",
1317
- "name": "eye"
1317
+ "name": "eye",
1318
+ "type": "icon"
1318
1319
  },
1319
1320
  {
1320
- "variant": "h3",
1321
1321
  "type": "typography",
1322
+ "variant": "h3",
1322
1323
  "content": "@entity.description"
1323
1324
  }
1324
1325
  ],
1325
- "gap": "sm",
1326
- "direction": "horizontal"
1326
+ "type": "stack"
1327
1327
  },
1328
1328
  {
1329
1329
  "type": "divider"
1330
1330
  },
1331
1331
  {
1332
- "direction": "horizontal",
1333
- "type": "stack",
1334
1332
  "gap": "md",
1333
+ "direction": "horizontal",
1335
1334
  "children": [
1336
1335
  {
1336
+ "type": "typography",
1337
1337
  "variant": "caption",
1338
- "content": "Description",
1339
- "type": "typography"
1338
+ "content": "Description"
1340
1339
  },
1341
1340
  {
1342
1341
  "variant": "body",
1343
1342
  "type": "typography",
1344
1343
  "content": "@entity.description"
1345
1344
  }
1346
- ]
1345
+ ],
1346
+ "type": "stack"
1347
1347
  },
1348
1348
  {
1349
- "direction": "horizontal",
1350
- "type": "stack",
1351
1349
  "children": [
1352
1350
  {
1353
1351
  "type": "typography",
@@ -1355,75 +1353,77 @@
1355
1353
  "content": "Amount"
1356
1354
  },
1357
1355
  {
1358
- "type": "typography",
1356
+ "content": "@entity.amount",
1359
1357
  "variant": "body",
1360
- "content": "@entity.amount"
1358
+ "type": "typography"
1361
1359
  }
1362
1360
  ],
1361
+ "direction": "horizontal",
1362
+ "type": "stack",
1363
1363
  "gap": "md"
1364
1364
  },
1365
1365
  {
1366
1366
  "type": "stack",
1367
1367
  "children": [
1368
1368
  {
1369
- "type": "typography",
1370
1369
  "variant": "caption",
1371
- "content": "Category"
1370
+ "content": "Category",
1371
+ "type": "typography"
1372
1372
  },
1373
1373
  {
1374
- "variant": "body",
1374
+ "content": "@entity.category",
1375
1375
  "type": "typography",
1376
- "content": "@entity.category"
1376
+ "variant": "body"
1377
1377
  }
1378
1378
  ],
1379
- "direction": "horizontal",
1380
- "gap": "md"
1379
+ "gap": "md",
1380
+ "direction": "horizontal"
1381
1381
  },
1382
1382
  {
1383
+ "direction": "horizontal",
1383
1384
  "children": [
1384
1385
  {
1385
- "type": "typography",
1386
1386
  "content": "Date",
1387
+ "type": "typography",
1387
1388
  "variant": "caption"
1388
1389
  },
1389
1390
  {
1391
+ "content": "@entity.date",
1390
1392
  "variant": "body",
1391
- "type": "typography",
1392
- "content": "@entity.date"
1393
+ "type": "typography"
1393
1394
  }
1394
1395
  ],
1395
1396
  "type": "stack",
1396
- "direction": "horizontal",
1397
1397
  "gap": "md"
1398
1398
  },
1399
1399
  {
1400
1400
  "type": "divider"
1401
1401
  },
1402
1402
  {
1403
+ "type": "stack",
1403
1404
  "direction": "horizontal",
1404
1405
  "gap": "sm",
1405
- "type": "stack",
1406
+ "justify": "end",
1406
1407
  "children": [
1407
1408
  {
1409
+ "label": "Edit",
1408
1410
  "type": "button",
1409
- "variant": "primary",
1410
1411
  "icon": "edit",
1411
- "label": "Edit",
1412
- "action": "EDIT"
1412
+ "action": "EDIT",
1413
+ "variant": "primary"
1413
1414
  },
1414
1415
  {
1415
1416
  "type": "button",
1416
1417
  "action": "CLOSE",
1417
- "label": "Close",
1418
- "variant": "ghost"
1418
+ "variant": "ghost",
1419
+ "label": "Close"
1419
1420
  }
1420
- ],
1421
- "justify": "end"
1421
+ ]
1422
1422
  }
1423
1423
  ],
1424
+ "gap": "md",
1424
1425
  "type": "stack",
1425
- "direction": "vertical",
1426
- "gap": "md"
1426
+ "direction": "vertical"
1427
1427
  }
1428
1428
  ]
1429
1429
  ]
@@ -1483,7 +1483,7 @@
1483
1483
  {
1484
1484
  "event": "TRANSACTION_DELETED",
1485
1485
  "scope": "external",
1486
- "payload": [
1486
+ "payloadSchema": [
1487
1487
  {
1488
1488
  "name": "id",
1489
1489
  "type": "string"
@@ -1493,7 +1493,7 @@
1493
1493
  {
1494
1494
  "event": "TransactionDeleteFailed",
1495
1495
  "scope": "internal",
1496
- "payload": [
1496
+ "payloadSchema": [
1497
1497
  {
1498
1498
  "name": "error",
1499
1499
  "type": "string"
@@ -1507,7 +1507,7 @@
1507
1507
  {
1508
1508
  "event": "TransactionDeleted",
1509
1509
  "scope": "internal",
1510
- "payload": [
1510
+ "payloadSchema": [
1511
1511
  {
1512
1512
  "name": "id",
1513
1513
  "type": "string"
@@ -1518,7 +1518,7 @@
1518
1518
  "event": "TransactionLoadFailed",
1519
1519
  "description": "Fired when Transaction fails to load",
1520
1520
  "scope": "internal",
1521
- "payload": [
1521
+ "payloadSchema": [
1522
1522
  {
1523
1523
  "name": "error",
1524
1524
  "type": "string"
@@ -1533,7 +1533,7 @@
1533
1533
  "event": "TransactionLoaded",
1534
1534
  "description": "Fired when Transaction finishes loading",
1535
1535
  "scope": "internal",
1536
- "payload": [
1536
+ "payloadSchema": [
1537
1537
  {
1538
1538
  "name": "data",
1539
1539
  "type": "[Transaction]"
@@ -1559,7 +1559,7 @@
1559
1559
  {
1560
1560
  "key": "DELETE",
1561
1561
  "name": "Delete",
1562
- "payload": [
1562
+ "payloadSchema": [
1563
1563
  {
1564
1564
  "name": "id",
1565
1565
  "type": "string",
@@ -1586,7 +1586,7 @@
1586
1586
  {
1587
1587
  "key": "TransactionDeleteFailed",
1588
1588
  "name": "Transaction delete failed",
1589
- "payload": [
1589
+ "payloadSchema": [
1590
1590
  {
1591
1591
  "name": "error",
1592
1592
  "type": "string"
@@ -1600,7 +1600,7 @@
1600
1600
  {
1601
1601
  "key": "TransactionDeleted",
1602
1602
  "name": "Transaction deleted",
1603
- "payload": [
1603
+ "payloadSchema": [
1604
1604
  {
1605
1605
  "name": "id",
1606
1606
  "type": "string"
@@ -1610,7 +1610,7 @@
1610
1610
  {
1611
1611
  "key": "TransactionLoadFailed",
1612
1612
  "name": "Transaction load failed",
1613
- "payload": [
1613
+ "payloadSchema": [
1614
1614
  {
1615
1615
  "name": "error",
1616
1616
  "type": "string"
@@ -1624,7 +1624,7 @@
1624
1624
  {
1625
1625
  "key": "TransactionLoaded",
1626
1626
  "name": "Transaction loaded",
1627
- "payload": [
1627
+ "payloadSchema": [
1628
1628
  {
1629
1629
  "name": "data",
1630
1630
  "type": "[Transaction]"
@@ -1659,8 +1659,8 @@
1659
1659
  "Transaction",
1660
1660
  {
1661
1661
  "emit": {
1662
- "success": "TransactionLoaded",
1663
- "failure": "TransactionLoadFailed"
1662
+ "failure": "TransactionLoadFailed",
1663
+ "success": "TransactionLoaded"
1664
1664
  },
1665
1665
  "id": "@payload.id"
1666
1666
  }
@@ -1669,57 +1669,57 @@
1669
1669
  "render-ui",
1670
1670
  "modal",
1671
1671
  {
1672
+ "direction": "vertical",
1672
1673
  "type": "stack",
1673
1674
  "gap": "md",
1674
1675
  "children": [
1675
1676
  {
1676
- "type": "stack",
1677
- "direction": "horizontal",
1678
- "align": "center",
1679
- "gap": "sm",
1680
1677
  "children": [
1681
1678
  {
1682
1679
  "type": "icon",
1683
1680
  "name": "alert-triangle"
1684
1681
  },
1685
1682
  {
1686
- "type": "typography",
1683
+ "variant": "h3",
1687
1684
  "content": "Delete Transaction",
1688
- "variant": "h3"
1685
+ "type": "typography"
1689
1686
  }
1690
- ]
1691
- },
1692
- {
1693
- "type": "divider"
1687
+ ],
1688
+ "gap": "sm",
1689
+ "direction": "horizontal",
1690
+ "type": "stack",
1691
+ "align": "center"
1692
+ },
1693
+ {
1694
+ "type": "divider"
1694
1695
  },
1695
1696
  {
1696
- "type": "alert",
1697
1697
  "variant": "error",
1698
+ "type": "alert",
1698
1699
  "message": "This action cannot be undone."
1699
1700
  },
1700
1701
  {
1701
1702
  "children": [
1702
1703
  {
1703
- "variant": "ghost",
1704
+ "action": "CANCEL",
1704
1705
  "label": "Cancel",
1705
1706
  "type": "button",
1706
- "action": "CANCEL"
1707
+ "variant": "ghost"
1707
1708
  },
1708
1709
  {
1709
- "variant": "danger",
1710
- "label": "Delete",
1711
1710
  "type": "button",
1711
+ "label": "Delete",
1712
+ "variant": "danger",
1712
1713
  "action": "CONFIRM_DELETE",
1713
1714
  "icon": "check"
1714
1715
  }
1715
1716
  ],
1716
- "gap": "sm",
1717
1717
  "direction": "horizontal",
1718
1718
  "justify": "end",
1719
- "type": "stack"
1719
+ "type": "stack",
1720
+ "gap": "sm"
1720
1721
  }
1721
- ],
1722
- "direction": "vertical"
1722
+ ]
1723
1723
  }
1724
1724
  ]
1725
1725
  ]
@@ -1877,7 +1877,7 @@
1877
1877
  "event": "FinanceSummaryLoaded",
1878
1878
  "description": "Fired when FinanceSummary finishes loading",
1879
1879
  "scope": "internal",
1880
- "payload": [
1880
+ "payloadSchema": [
1881
1881
  {
1882
1882
  "name": "data",
1883
1883
  "type": "[FinanceSummary]"
@@ -1888,7 +1888,7 @@
1888
1888
  "event": "FinanceSummaryLoadFailed",
1889
1889
  "description": "Fired when FinanceSummary fails to load",
1890
1890
  "scope": "internal",
1891
- "payload": [
1891
+ "payloadSchema": [
1892
1892
  {
1893
1893
  "name": "error",
1894
1894
  "type": "string"
@@ -1933,7 +1933,7 @@
1933
1933
  {
1934
1934
  "key": "FinanceSummaryLoaded",
1935
1935
  "name": "FinanceSummary loaded",
1936
- "payload": [
1936
+ "payloadSchema": [
1937
1937
  {
1938
1938
  "name": "data",
1939
1939
  "type": "[FinanceSummary]"
@@ -1943,7 +1943,7 @@
1943
1943
  {
1944
1944
  "key": "FinanceSummaryLoadFailed",
1945
1945
  "name": "FinanceSummary load failed",
1946
- "payload": [
1946
+ "payloadSchema": [
1947
1947
  {
1948
1948
  "name": "error",
1949
1949
  "type": "string"
@@ -1975,30 +1975,11 @@
1975
1975
  "render-ui",
1976
1976
  "main",
1977
1977
  {
1978
- "type": "dashboard-layout",
1979
- "navItems": [
1980
- {
1981
- "label": "Transactions",
1982
- "href": "/transactions",
1983
- "icon": "dollar-sign"
1984
- },
1985
- {
1986
- "href": "/summary",
1987
- "icon": "layout-list",
1988
- "label": "Summary"
1989
- },
1990
- {
1991
- "href": "/reports",
1992
- "icon": "bar-chart",
1993
- "label": "Reports"
1994
- }
1995
- ],
1996
1978
  "children": [
1997
1979
  {
1998
- "type": "scaled-diagram",
1999
1980
  "children": [
2000
1981
  {
2001
- "gap": "lg",
1982
+ "type": "stack",
2002
1983
  "children": [
2003
1984
  {
2004
1985
  "items": [
@@ -2013,35 +1994,35 @@
2013
1994
  "type": "breadcrumb"
2014
1995
  },
2015
1996
  {
2016
- "gap": "md",
2017
- "type": "stack",
1997
+ "direction": "horizontal",
2018
1998
  "justify": "between",
2019
1999
  "children": [
2020
2000
  {
2021
- "direction": "horizontal",
2022
2001
  "type": "stack",
2002
+ "direction": "horizontal",
2003
+ "gap": "md",
2023
2004
  "children": [
2024
2005
  {
2025
2006
  "name": "pie-chart",
2026
2007
  "type": "icon"
2027
2008
  },
2028
2009
  {
2029
- "type": "typography",
2010
+ "content": "Financial Summary",
2030
2011
  "variant": "h2",
2031
- "content": "Financial Summary"
2012
+ "type": "typography"
2032
2013
  }
2033
- ],
2034
- "gap": "md"
2014
+ ]
2035
2015
  },
2036
2016
  {
2037
- "action": "REFRESH",
2038
- "label": "Refresh",
2039
2017
  "type": "button",
2040
- "variant": "secondary",
2041
- "icon": "refresh-cw"
2018
+ "label": "Refresh",
2019
+ "icon": "refresh-cw",
2020
+ "action": "REFRESH",
2021
+ "variant": "secondary"
2042
2022
  }
2043
2023
  ],
2044
- "direction": "horizontal"
2024
+ "type": "stack",
2025
+ "gap": "md"
2045
2026
  },
2046
2027
  {
2047
2028
  "type": "divider"
@@ -2052,29 +2033,29 @@
2052
2033
  "children": [
2053
2034
  {
2054
2035
  "cols": 3.0,
2055
- "type": "simple-grid",
2056
2036
  "children": [
2057
2037
  {
2038
+ "value": "@entity.totalIncome",
2058
2039
  "type": "stat-display",
2059
- "label": "TotalIncome",
2060
- "value": "@entity.totalIncome"
2040
+ "label": "TotalIncome"
2061
2041
  },
2062
2042
  {
2063
- "value": "@entity.totalExpenses",
2064
2043
  "type": "stat-display",
2065
- "label": "TotalExpenses"
2044
+ "label": "TotalExpenses",
2045
+ "value": "@entity.totalExpenses"
2066
2046
  },
2067
2047
  {
2068
- "value": "@entity.balance",
2069
2048
  "type": "stat-display",
2070
- "label": "Balance"
2049
+ "label": "Balance",
2050
+ "value": "@entity.balance"
2071
2051
  },
2072
2052
  {
2053
+ "type": "stat-display",
2073
2054
  "label": "SavingsRate",
2074
- "value": "@entity.savingsRate",
2075
- "type": "stat-display"
2055
+ "value": "@entity.savingsRate"
2076
2056
  }
2077
- ]
2057
+ ],
2058
+ "type": "simple-grid"
2078
2059
  }
2079
2060
  ]
2080
2061
  },
@@ -2082,62 +2063,63 @@
2082
2063
  "type": "divider"
2083
2064
  },
2084
2065
  {
2085
- "gap": "md",
2066
+ "type": "grid",
2067
+ "cols": 2.0,
2086
2068
  "children": [
2087
2069
  {
2088
2070
  "children": [
2089
2071
  {
2090
- "variant": "caption",
2091
2072
  "type": "typography",
2092
- "content": "Chart View"
2073
+ "content": "Chart View",
2074
+ "variant": "caption"
2093
2075
  }
2094
2076
  ],
2095
2077
  "type": "card"
2096
2078
  },
2097
2079
  {
2098
- "type": "card",
2099
2080
  "children": [
2100
2081
  {
2101
2082
  "content": "Graph View",
2102
- "variant": "caption",
2103
- "type": "typography"
2083
+ "type": "typography",
2084
+ "variant": "caption"
2104
2085
  }
2105
- ]
2086
+ ],
2087
+ "type": "card"
2106
2088
  }
2107
2089
  ],
2108
- "type": "grid",
2109
- "cols": 2.0
2090
+ "gap": "md"
2110
2091
  },
2111
2092
  {
2093
+ "type": "line-chart",
2112
2094
  "data": [
2113
2095
  {
2114
- "value": 12.0,
2115
- "date": "Jan"
2096
+ "date": "Jan",
2097
+ "value": 12.0
2116
2098
  },
2117
2099
  {
2118
2100
  "value": 19.0,
2119
2101
  "date": "Feb"
2120
2102
  },
2121
2103
  {
2122
- "date": "Mar",
2123
- "value": 15.0
2104
+ "value": 15.0,
2105
+ "date": "Mar"
2124
2106
  },
2125
2107
  {
2126
- "value": 25.0,
2127
- "date": "Apr"
2108
+ "date": "Apr",
2109
+ "value": 25.0
2128
2110
  },
2129
2111
  {
2130
- "value": 22.0,
2131
- "date": "May"
2112
+ "date": "May",
2113
+ "value": 22.0
2132
2114
  },
2133
2115
  {
2134
2116
  "value": 30.0,
2135
2117
  "date": "Jun"
2136
2118
  }
2137
- ],
2138
- "type": "line-chart"
2119
+ ]
2139
2120
  },
2140
2121
  {
2122
+ "type": "chart-legend",
2141
2123
  "items": [
2142
2124
  {
2143
2125
  "label": "Current",
@@ -2147,46 +2129,64 @@
2147
2129
  "label": "Previous",
2148
2130
  "color": "muted"
2149
2131
  }
2150
- ],
2151
- "type": "chart-legend"
2132
+ ]
2152
2133
  },
2153
2134
  {
2154
- "edges": [
2155
- {
2156
- "target": "b",
2157
- "source": "a"
2158
- },
2159
- {
2160
- "target": "c",
2161
- "source": "b"
2162
- }
2163
- ],
2164
- "width": 400.0,
2165
- "height": 200.0,
2166
2135
  "nodes": [
2167
2136
  {
2168
- "id": "a",
2169
- "label": "Start"
2137
+ "label": "Start",
2138
+ "id": "a"
2170
2139
  },
2171
2140
  {
2172
2141
  "label": "Process",
2173
2142
  "id": "b"
2174
2143
  },
2175
2144
  {
2176
- "label": "End",
2177
- "id": "c"
2145
+ "id": "c",
2146
+ "label": "End"
2147
+ }
2148
+ ],
2149
+ "edges": [
2150
+ {
2151
+ "source": "a",
2152
+ "target": "b"
2153
+ },
2154
+ {
2155
+ "target": "c",
2156
+ "source": "b"
2178
2157
  }
2179
2158
  ],
2159
+ "width": 400.0,
2160
+ "height": 200.0,
2180
2161
  "type": "graph-view"
2181
2162
  }
2182
2163
  ],
2183
2164
  "direction": "vertical",
2184
- "type": "stack"
2165
+ "gap": "lg"
2185
2166
  }
2186
- ]
2167
+ ],
2168
+ "type": "scaled-diagram"
2187
2169
  }
2188
2170
  ],
2189
- "appName": "Finance Tracker"
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
+ ]
2190
2190
  }
2191
2191
  ]
2192
2192
  ]
@@ -2201,8 +2201,8 @@
2201
2201
  "FinanceSummary",
2202
2202
  {
2203
2203
  "emit": {
2204
- "failure": "FinanceSummaryLoadFailed",
2205
- "success": "FinanceSummaryLoaded"
2204
+ "success": "FinanceSummaryLoaded",
2205
+ "failure": "FinanceSummaryLoadFailed"
2206
2206
  }
2207
2207
  }
2208
2208
  ],
@@ -2210,8 +2210,10 @@
2210
2210
  "render-ui",
2211
2211
  "main",
2212
2212
  {
2213
+ "type": "dashboard-layout",
2213
2214
  "children": [
2214
2215
  {
2216
+ "type": "scaled-diagram",
2215
2217
  "children": [
2216
2218
  {
2217
2219
  "children": [
@@ -2219,8 +2221,8 @@
2219
2221
  "type": "breadcrumb",
2220
2222
  "items": [
2221
2223
  {
2222
- "label": "Home",
2223
- "href": "/"
2224
+ "href": "/",
2225
+ "label": "Home"
2224
2226
  },
2225
2227
  {
2226
2228
  "label": "Financial Summary"
@@ -2228,34 +2230,34 @@
2228
2230
  ]
2229
2231
  },
2230
2232
  {
2231
- "type": "stack",
2232
2233
  "direction": "horizontal",
2233
- "gap": "md",
2234
2234
  "children": [
2235
2235
  {
2236
+ "type": "stack",
2236
2237
  "direction": "horizontal",
2238
+ "gap": "md",
2237
2239
  "children": [
2238
2240
  {
2239
- "type": "icon",
2240
- "name": "pie-chart"
2241
+ "name": "pie-chart",
2242
+ "type": "icon"
2241
2243
  },
2242
2244
  {
2243
2245
  "type": "typography",
2244
2246
  "content": "Financial Summary",
2245
2247
  "variant": "h2"
2246
2248
  }
2247
- ],
2248
- "gap": "md",
2249
- "type": "stack"
2249
+ ]
2250
2250
  },
2251
2251
  {
2252
- "type": "button",
2253
- "variant": "secondary",
2254
- "action": "REFRESH",
2255
2252
  "label": "Refresh",
2256
- "icon": "refresh-cw"
2253
+ "action": "REFRESH",
2254
+ "icon": "refresh-cw",
2255
+ "type": "button",
2256
+ "variant": "secondary"
2257
2257
  }
2258
2258
  ],
2259
+ "type": "stack",
2260
+ "gap": "md",
2259
2261
  "justify": "between"
2260
2262
  },
2261
2263
  {
@@ -2280,14 +2282,14 @@
2280
2282
  "value": "@entity.totalExpenses"
2281
2283
  },
2282
2284
  {
2285
+ "value": "@entity.balance",
2283
2286
  "type": "stat-display",
2284
- "label": "Balance",
2285
- "value": "@entity.balance"
2287
+ "label": "Balance"
2286
2288
  },
2287
2289
  {
2290
+ "label": "SavingsRate",
2288
2291
  "value": "@entity.savingsRate",
2289
- "type": "stat-display",
2290
- "label": "SavingsRate"
2292
+ "type": "stat-display"
2291
2293
  }
2292
2294
  ]
2293
2295
  }
@@ -2298,29 +2300,29 @@
2298
2300
  },
2299
2301
  {
2300
2302
  "gap": "md",
2301
- "type": "grid",
2302
2303
  "children": [
2303
2304
  {
2305
+ "type": "card",
2304
2306
  "children": [
2305
2307
  {
2306
- "type": "typography",
2307
2308
  "variant": "caption",
2308
- "content": "Chart View"
2309
+ "content": "Chart View",
2310
+ "type": "typography"
2309
2311
  }
2310
- ],
2311
- "type": "card"
2312
+ ]
2312
2313
  },
2313
2314
  {
2315
+ "type": "card",
2314
2316
  "children": [
2315
2317
  {
2316
- "type": "typography",
2317
2318
  "variant": "caption",
2319
+ "type": "typography",
2318
2320
  "content": "Graph View"
2319
2321
  }
2320
- ],
2321
- "type": "card"
2322
+ ]
2322
2323
  }
2323
2324
  ],
2325
+ "type": "grid",
2324
2326
  "cols": 2.0
2325
2327
  },
2326
2328
  {
@@ -2338,16 +2340,16 @@
2338
2340
  "value": 15.0
2339
2341
  },
2340
2342
  {
2341
- "date": "Apr",
2342
- "value": 25.0
2343
+ "value": 25.0,
2344
+ "date": "Apr"
2343
2345
  },
2344
2346
  {
2345
- "value": 22.0,
2346
- "date": "May"
2347
+ "date": "May",
2348
+ "value": 22.0
2347
2349
  },
2348
2350
  {
2349
- "date": "Jun",
2350
- "value": 30.0
2351
+ "value": 30.0,
2352
+ "date": "Jun"
2351
2353
  }
2352
2354
  ],
2353
2355
  "type": "line-chart"
@@ -2359,48 +2361,47 @@
2359
2361
  "color": "primary"
2360
2362
  },
2361
2363
  {
2362
- "color": "muted",
2363
- "label": "Previous"
2364
+ "label": "Previous",
2365
+ "color": "muted"
2364
2366
  }
2365
2367
  ],
2366
2368
  "type": "chart-legend"
2367
2369
  },
2368
2370
  {
2371
+ "type": "graph-view",
2369
2372
  "height": 200.0,
2370
2373
  "width": 400.0,
2371
- "edges": [
2374
+ "nodes": [
2372
2375
  {
2373
- "target": "b",
2374
- "source": "a"
2375
- },
2376
+ "id": "a",
2377
+ "label": "Start"
2378
+ },
2376
2379
  {
2377
- "source": "b",
2378
- "target": "c"
2380
+ "id": "b",
2381
+ "label": "Process"
2382
+ },
2383
+ {
2384
+ "id": "c",
2385
+ "label": "End"
2379
2386
  }
2380
2387
  ],
2381
- "type": "graph-view",
2382
- "nodes": [
2383
- {
2384
- "label": "Start",
2385
- "id": "a"
2386
- },
2388
+ "edges": [
2387
2389
  {
2388
- "label": "Process",
2389
- "id": "b"
2390
+ "source": "a",
2391
+ "target": "b"
2390
2392
  },
2391
2393
  {
2392
- "label": "End",
2393
- "id": "c"
2394
+ "target": "c",
2395
+ "source": "b"
2394
2396
  }
2395
2397
  ]
2396
2398
  }
2397
2399
  ],
2398
- "gap": "lg",
2399
2400
  "direction": "vertical",
2400
- "type": "stack"
2401
+ "type": "stack",
2402
+ "gap": "lg"
2401
2403
  }
2402
- ],
2403
- "type": "scaled-diagram"
2404
+ ]
2404
2405
  }
2405
2406
  ],
2406
2407
  "appName": "Finance Tracker",
@@ -2411,17 +2412,16 @@
2411
2412
  "icon": "dollar-sign"
2412
2413
  },
2413
2414
  {
2415
+ "href": "/summary",
2414
2416
  "icon": "layout-list",
2415
- "label": "Summary",
2416
- "href": "/summary"
2417
+ "label": "Summary"
2417
2418
  },
2418
2419
  {
2419
2420
  "label": "Reports",
2420
- "href": "/reports",
2421
- "icon": "bar-chart"
2421
+ "icon": "bar-chart",
2422
+ "href": "/reports"
2422
2423
  }
2423
- ],
2424
- "type": "dashboard-layout"
2424
+ ]
2425
2425
  }
2426
2426
  ]
2427
2427
  ]
@@ -2446,96 +2446,79 @@
2446
2446
  "main",
2447
2447
  {
2448
2448
  "appName": "Finance Tracker",
2449
- "navItems": [
2450
- {
2451
- "label": "Transactions",
2452
- "href": "/transactions",
2453
- "icon": "dollar-sign"
2454
- },
2455
- {
2456
- "icon": "layout-list",
2457
- "label": "Summary",
2458
- "href": "/summary"
2459
- },
2460
- {
2461
- "icon": "bar-chart",
2462
- "href": "/reports",
2463
- "label": "Reports"
2464
- }
2465
- ],
2466
2449
  "children": [
2467
2450
  {
2468
2451
  "type": "scaled-diagram",
2469
2452
  "children": [
2470
2453
  {
2471
- "gap": "lg",
2472
2454
  "children": [
2473
2455
  {
2456
+ "type": "breadcrumb",
2474
2457
  "items": [
2475
2458
  {
2476
- "href": "/",
2477
- "label": "Home"
2459
+ "label": "Home",
2460
+ "href": "/"
2478
2461
  },
2479
2462
  {
2480
2463
  "label": "Financial Summary"
2481
2464
  }
2482
- ],
2483
- "type": "breadcrumb"
2465
+ ]
2484
2466
  },
2485
2467
  {
2486
- "direction": "horizontal",
2487
- "gap": "md",
2488
2468
  "children": [
2489
2469
  {
2490
2470
  "type": "stack",
2491
- "gap": "md",
2492
- "direction": "horizontal",
2493
2471
  "children": [
2494
2472
  {
2495
2473
  "type": "icon",
2496
2474
  "name": "pie-chart"
2497
2475
  },
2498
2476
  {
2499
- "type": "typography",
2500
2477
  "content": "Financial Summary",
2501
- "variant": "h2"
2478
+ "variant": "h2",
2479
+ "type": "typography"
2502
2480
  }
2503
- ]
2481
+ ],
2482
+ "direction": "horizontal",
2483
+ "gap": "md"
2504
2484
  },
2505
2485
  {
2506
- "variant": "secondary",
2507
- "action": "REFRESH",
2508
- "icon": "refresh-cw",
2509
2486
  "label": "Refresh",
2510
- "type": "button"
2487
+ "action": "REFRESH",
2488
+ "type": "button",
2489
+ "variant": "secondary",
2490
+ "icon": "refresh-cw"
2511
2491
  }
2512
2492
  ],
2493
+ "type": "stack",
2494
+ "gap": "md",
2513
2495
  "justify": "between",
2514
- "type": "stack"
2496
+ "direction": "horizontal"
2515
2497
  },
2516
2498
  {
2517
2499
  "type": "divider"
2518
2500
  },
2519
2501
  {
2520
- "type": "box",
2521
2502
  "padding": "md",
2503
+ "type": "box",
2522
2504
  "children": [
2523
2505
  {
2506
+ "cols": 3.0,
2524
2507
  "children": [
2525
2508
  {
2526
- "value": "@entity.totalIncome",
2527
2509
  "type": "stat-display",
2510
+ "value": "@entity.totalIncome",
2528
2511
  "label": "TotalIncome"
2529
2512
  },
2530
2513
  {
2531
- "type": "stat-display",
2514
+ "label": "TotalExpenses",
2532
2515
  "value": "@entity.totalExpenses",
2533
- "label": "TotalExpenses"
2516
+ "type": "stat-display"
2534
2517
  },
2535
2518
  {
2536
- "label": "Balance",
2519
+ "type": "stat-display",
2537
2520
  "value": "@entity.balance",
2538
- "type": "stat-display"
2521
+ "label": "Balance"
2539
2522
  },
2540
2523
  {
2541
2524
  "label": "SavingsRate",
@@ -2543,7 +2526,6 @@
2543
2526
  "type": "stat-display"
2544
2527
  }
2545
2528
  ],
2546
- "cols": 3.0,
2547
2529
  "type": "simple-grid"
2548
2530
  }
2549
2531
  ]
@@ -2553,59 +2535,59 @@
2553
2535
  },
2554
2536
  {
2555
2537
  "gap": "md",
2556
- "type": "grid",
2538
+ "cols": 2.0,
2557
2539
  "children": [
2558
2540
  {
2559
- "type": "card",
2560
2541
  "children": [
2561
2542
  {
2562
2543
  "variant": "caption",
2563
- "content": "Chart View",
2564
- "type": "typography"
2544
+ "type": "typography",
2545
+ "content": "Chart View"
2565
2546
  }
2566
- ]
2547
+ ],
2548
+ "type": "card"
2567
2549
  },
2568
2550
  {
2569
2551
  "type": "card",
2570
2552
  "children": [
2571
2553
  {
2572
- "content": "Graph View",
2573
2554
  "variant": "caption",
2574
- "type": "typography"
2555
+ "type": "typography",
2556
+ "content": "Graph View"
2575
2557
  }
2576
2558
  ]
2577
2559
  }
2578
2560
  ],
2579
- "cols": 2.0
2561
+ "type": "grid"
2580
2562
  },
2581
2563
  {
2582
- "type": "line-chart",
2583
2564
  "data": [
2584
2565
  {
2585
- "date": "Jan",
2586
- "value": 12.0
2566
+ "value": 12.0,
2567
+ "date": "Jan"
2587
2568
  },
2588
2569
  {
2589
2570
  "date": "Feb",
2590
2571
  "value": 19.0
2591
2572
  },
2592
2573
  {
2593
- "value": 15.0,
2594
- "date": "Mar"
2574
+ "date": "Mar",
2575
+ "value": 15.0
2595
2576
  },
2596
2577
  {
2597
- "value": 25.0,
2598
- "date": "Apr"
2578
+ "date": "Apr",
2579
+ "value": 25.0
2599
2580
  },
2600
2581
  {
2601
- "date": "May",
2602
- "value": 22.0
2582
+ "value": 22.0,
2583
+ "date": "May"
2603
2584
  },
2604
2585
  {
2605
2586
  "value": 30.0,
2606
2587
  "date": "Jun"
2607
2588
  }
2608
- ]
2589
+ ],
2590
+ "type": "line-chart"
2609
2591
  },
2610
2592
  {
2611
2593
  "type": "chart-legend",
@@ -2615,47 +2597,65 @@
2615
2597
  "label": "Current"
2616
2598
  },
2617
2599
  {
2618
- "color": "muted",
2619
- "label": "Previous"
2600
+ "label": "Previous",
2601
+ "color": "muted"
2620
2602
  }
2621
2603
  ]
2622
2604
  },
2623
2605
  {
2624
2606
  "type": "graph-view",
2625
- "height": 200.0,
2607
+ "edges": [
2608
+ {
2609
+ "target": "b",
2610
+ "source": "a"
2611
+ },
2612
+ {
2613
+ "source": "b",
2614
+ "target": "c"
2615
+ }
2616
+ ],
2626
2617
  "width": 400.0,
2627
2618
  "nodes": [
2628
2619
  {
2629
- "label": "Start",
2630
- "id": "a"
2620
+ "id": "a",
2621
+ "label": "Start"
2631
2622
  },
2632
2623
  {
2633
2624
  "id": "b",
2634
2625
  "label": "Process"
2635
2626
  },
2636
2627
  {
2637
- "label": "End",
2638
- "id": "c"
2628
+ "id": "c",
2629
+ "label": "End"
2639
2630
  }
2640
2631
  ],
2641
- "edges": [
2642
- {
2643
- "source": "a",
2644
- "target": "b"
2645
- },
2646
- {
2647
- "source": "b",
2648
- "target": "c"
2649
- }
2650
- ]
2632
+ "height": 200.0
2651
2633
  }
2652
2634
  ],
2635
+ "direction": "vertical",
2653
2636
  "type": "stack",
2654
- "direction": "vertical"
2637
+ "gap": "lg"
2655
2638
  }
2656
2639
  ]
2657
2640
  }
2658
2641
  ],
2642
+ "navItems": [
2643
+ {
2644
+ "label": "Transactions",
2645
+ "icon": "dollar-sign",
2646
+ "href": "/transactions"
2647
+ },
2648
+ {
2649
+ "icon": "layout-list",
2650
+ "label": "Summary",
2651
+ "href": "/summary"
2652
+ },
2653
+ {
2654
+ "label": "Reports",
2655
+ "href": "/reports",
2656
+ "icon": "bar-chart"
2657
+ }
2658
+ ],
2659
2659
  "type": "dashboard-layout"
2660
2660
  }
2661
2661
  ]
@@ -2671,8 +2671,8 @@
2671
2671
  "FinanceSummary",
2672
2672
  {
2673
2673
  "emit": {
2674
- "failure": "FinanceSummaryLoadFailed",
2675
- "success": "FinanceSummaryLoaded"
2674
+ "success": "FinanceSummaryLoaded",
2675
+ "failure": "FinanceSummaryLoadFailed"
2676
2676
  }
2677
2677
  }
2678
2678
  ],
@@ -2680,35 +2680,34 @@
2680
2680
  "render-ui",
2681
2681
  "main",
2682
2682
  {
2683
- "type": "dashboard-layout",
2683
+ "appName": "Finance Tracker",
2684
2684
  "children": [
2685
2685
  {
2686
- "type": "scaled-diagram",
2687
2686
  "children": [
2688
2687
  {
2689
- "direction": "vertical",
2690
2688
  "type": "stack",
2691
2689
  "gap": "lg",
2692
2690
  "children": [
2693
2691
  {
2692
+ "type": "breadcrumb",
2694
2693
  "items": [
2695
2694
  {
2696
- "label": "Home",
2697
- "href": "/"
2695
+ "href": "/",
2696
+ "label": "Home"
2698
2697
  },
2699
2698
  {
2700
2699
  "label": "Financial Summary"
2701
2700
  }
2702
- ],
2703
- "type": "breadcrumb"
2701
+ ]
2704
2702
  },
2705
2703
  {
2706
- "type": "stack",
2707
- "gap": "md",
2704
+ "direction": "horizontal",
2705
+ "justify": "between",
2708
2706
  "children": [
2709
2707
  {
2710
- "gap": "md",
2708
+ "direction": "horizontal",
2711
2709
  "type": "stack",
2710
+ "gap": "md",
2712
2711
  "children": [
2713
2712
  {
2714
2713
  "type": "icon",
@@ -2716,42 +2715,41 @@
2716
2715
  },
2717
2716
  {
2718
2717
  "content": "Financial Summary",
2719
- "type": "typography",
2720
- "variant": "h2"
2718
+ "variant": "h2",
2719
+ "type": "typography"
2721
2720
  }
2722
- ],
2723
- "direction": "horizontal"
2721
+ ]
2724
2722
  },
2725
2723
  {
2726
- "type": "button",
2727
- "icon": "refresh-cw",
2728
- "variant": "secondary",
2729
2724
  "label": "Refresh",
2730
- "action": "REFRESH"
2725
+ "action": "REFRESH",
2726
+ "variant": "secondary",
2727
+ "icon": "refresh-cw",
2728
+ "type": "button"
2731
2729
  }
2732
2730
  ],
2733
- "direction": "horizontal",
2734
- "justify": "between"
2731
+ "type": "stack",
2732
+ "gap": "md"
2735
2733
  },
2736
2734
  {
2737
2735
  "type": "divider"
2738
2736
  },
2739
2737
  {
2738
+ "padding": "md",
2740
2739
  "type": "box",
2741
2740
  "children": [
2742
2741
  {
2743
- "type": "simple-grid",
2744
2742
  "cols": 3.0,
2745
2743
  "children": [
2746
2744
  {
2747
- "value": "@entity.totalIncome",
2748
2745
  "type": "stat-display",
2749
- "label": "TotalIncome"
2746
+ "label": "TotalIncome",
2747
+ "value": "@entity.totalIncome"
2750
2748
  },
2751
2749
  {
2752
2750
  "value": "@entity.totalExpenses",
2753
- "label": "TotalExpenses",
2754
- "type": "stat-display"
2751
+ "type": "stat-display",
2752
+ "label": "TotalExpenses"
2755
2753
  },
2756
2754
  {
2757
2755
  "type": "stat-display",
@@ -2760,72 +2758,72 @@
2760
2758
  },
2761
2759
  {
2762
2760
  "value": "@entity.savingsRate",
2763
- "type": "stat-display",
2764
- "label": "SavingsRate"
2761
+ "label": "SavingsRate",
2762
+ "type": "stat-display"
2765
2763
  }
2766
- ]
2764
+ ],
2765
+ "type": "simple-grid"
2767
2766
  }
2768
- ],
2769
- "padding": "md"
2767
+ ]
2770
2768
  },
2771
2769
  {
2772
2770
  "type": "divider"
2773
2771
  },
2774
2772
  {
2773
+ "gap": "md",
2774
+ "cols": 2.0,
2775
2775
  "type": "grid",
2776
2776
  "children": [
2777
2777
  {
2778
- "type": "card",
2779
2778
  "children": [
2780
2779
  {
2781
- "variant": "caption",
2782
2780
  "content": "Chart View",
2781
+ "variant": "caption",
2783
2782
  "type": "typography"
2784
2783
  }
2785
- ]
2784
+ ],
2785
+ "type": "card"
2786
2786
  },
2787
2787
  {
2788
2788
  "type": "card",
2789
2789
  "children": [
2790
2790
  {
2791
2791
  "type": "typography",
2792
- "content": "Graph View",
2793
- "variant": "caption"
2792
+ "variant": "caption",
2793
+ "content": "Graph View"
2794
2794
  }
2795
2795
  ]
2796
2796
  }
2797
- ],
2798
- "gap": "md",
2799
- "cols": 2.0
2797
+ ]
2800
2798
  },
2801
2799
  {
2800
+ "type": "line-chart",
2802
2801
  "data": [
2803
2802
  {
2804
2803
  "date": "Jan",
2805
2804
  "value": 12.0
2806
2805
  },
2807
2806
  {
2808
- "date": "Feb",
2809
- "value": 19.0
2807
+ "value": 19.0,
2808
+ "date": "Feb"
2810
2809
  },
2811
2810
  {
2812
- "value": 15.0,
2813
- "date": "Mar"
2811
+ "date": "Mar",
2812
+ "value": 15.0
2814
2813
  },
2815
2814
  {
2816
- "value": 25.0,
2817
- "date": "Apr"
2815
+ "date": "Apr",
2816
+ "value": 25.0
2818
2817
  },
2819
2818
  {
2820
- "date": "May",
2821
- "value": 22.0
2819
+ "value": 22.0,
2820
+ "date": "May"
2822
2821
  },
2823
2822
  {
2824
- "value": 30.0,
2825
- "date": "Jun"
2823
+ "date": "Jun",
2824
+ "value": 30.0
2826
2825
  }
2827
- ],
2828
- "type": "line-chart"
2826
+ ]
2829
2827
  },
2830
2828
  {
2831
2829
  "type": "chart-legend",
@@ -2835,17 +2833,17 @@
2835
2833
  "color": "primary"
2836
2834
  },
2837
2835
  {
2838
- "label": "Previous",
2839
- "color": "muted"
2836
+ "color": "muted",
2837
+ "label": "Previous"
2840
2838
  }
2841
2839
  ]
2842
2840
  },
2843
2841
  {
2844
- "type": "graph-view",
2842
+ "width": 400.0,
2845
2843
  "edges": [
2846
2844
  {
2847
- "source": "a",
2848
- "target": "b"
2845
+ "target": "b",
2846
+ "source": "a"
2849
2847
  },
2850
2848
  {
2851
2849
  "target": "c",
@@ -2854,12 +2852,12 @@
2854
2852
  ],
2855
2853
  "nodes": [
2856
2854
  {
2857
- "id": "a",
2858
- "label": "Start"
2855
+ "label": "Start",
2856
+ "id": "a"
2859
2857
  },
2860
2858
  {
2861
- "label": "Process",
2862
- "id": "b"
2859
+ "id": "b",
2860
+ "label": "Process"
2863
2861
  },
2864
2862
  {
2865
2863
  "id": "c",
@@ -2867,31 +2865,33 @@
2867
2865
  }
2868
2866
  ],
2869
2867
  "height": 200.0,
2870
- "width": 400.0
2868
+ "type": "graph-view"
2871
2869
  }
2872
- ]
2870
+ ],
2871
+ "direction": "vertical"
2873
2872
  }
2874
- ]
2873
+ ],
2874
+ "type": "scaled-diagram"
2875
2875
  }
2876
2876
  ],
2877
- "appName": "Finance Tracker",
2878
2877
  "navItems": [
2879
2878
  {
2880
2879
  "label": "Transactions",
2881
- "href": "/transactions",
2882
- "icon": "dollar-sign"
2880
+ "icon": "dollar-sign",
2881
+ "href": "/transactions"
2883
2882
  },
2884
2883
  {
2885
- "icon": "layout-list",
2886
2884
  "label": "Summary",
2885
+ "icon": "layout-list",
2887
2886
  "href": "/summary"
2888
2887
  },
2889
2888
  {
2890
2889
  "label": "Reports",
2891
- "icon": "bar-chart",
2892
- "href": "/reports"
2890
+ "href": "/reports",
2891
+ "icon": "bar-chart"
2893
2892
  }
2894
- ]
2893
+ ],
2894
+ "type": "dashboard-layout"
2895
2895
  }
2896
2896
  ]
2897
2897
  ]
@@ -2906,8 +2906,8 @@
2906
2906
  "FinanceSummary",
2907
2907
  {
2908
2908
  "emit": {
2909
- "failure": "FinanceSummaryLoadFailed",
2910
- "success": "FinanceSummaryLoaded"
2909
+ "success": "FinanceSummaryLoaded",
2910
+ "failure": "FinanceSummaryLoadFailed"
2911
2911
  }
2912
2912
  }
2913
2913
  ],
@@ -2915,57 +2915,54 @@
2915
2915
  "render-ui",
2916
2916
  "main",
2917
2917
  {
2918
- "type": "dashboard-layout",
2919
2918
  "children": [
2920
2919
  {
2921
2920
  "children": [
2922
2921
  {
2923
2922
  "type": "stack",
2924
- "direction": "vertical",
2925
- "gap": "lg",
2926
2923
  "children": [
2927
2924
  {
2925
+ "type": "breadcrumb",
2928
2926
  "items": [
2929
2927
  {
2930
- "label": "Home",
2931
- "href": "/"
2928
+ "href": "/",
2929
+ "label": "Home"
2932
2930
  },
2933
2931
  {
2934
2932
  "label": "Financial Summary"
2935
2933
  }
2936
- ],
2937
- "type": "breadcrumb"
2934
+ ]
2938
2935
  },
2939
2936
  {
2940
- "type": "stack",
2941
- "direction": "horizontal",
2937
+ "justify": "between",
2942
2938
  "children": [
2943
2939
  {
2940
+ "direction": "horizontal",
2941
+ "gap": "md",
2944
2942
  "children": [
2945
2943
  {
2946
- "type": "icon",
2947
- "name": "pie-chart"
2944
+ "name": "pie-chart",
2945
+ "type": "icon"
2948
2946
  },
2949
2947
  {
2948
+ "variant": "h2",
2950
2949
  "type": "typography",
2951
- "content": "Financial Summary",
2952
- "variant": "h2"
2950
+ "content": "Financial Summary"
2953
2951
  }
2954
2952
  ],
2955
- "type": "stack",
2956
- "direction": "horizontal",
2957
- "gap": "md"
2953
+ "type": "stack"
2958
2954
  },
2959
2955
  {
2960
- "icon": "refresh-cw",
2956
+ "label": "Refresh",
2957
+ "type": "button",
2961
2958
  "variant": "secondary",
2962
2959
  "action": "REFRESH",
2963
- "label": "Refresh",
2964
- "type": "button"
2960
+ "icon": "refresh-cw"
2965
2961
  }
2966
2962
  ],
2963
+ "type": "stack",
2967
2964
  "gap": "md",
2968
- "justify": "between"
2965
+ "direction": "horizontal"
2969
2966
  },
2970
2967
  {
2971
2968
  "type": "divider"
@@ -2974,28 +2971,28 @@
2974
2971
  "type": "box",
2975
2972
  "children": [
2976
2973
  {
2977
- "cols": 3.0,
2978
2974
  "type": "simple-grid",
2975
+ "cols": 3.0,
2979
2976
  "children": [
2980
2977
  {
2981
- "label": "TotalIncome",
2982
2978
  "value": "@entity.totalIncome",
2983
- "type": "stat-display"
2979
+ "type": "stat-display",
2980
+ "label": "TotalIncome"
2984
2981
  },
2985
2982
  {
2986
2983
  "type": "stat-display",
2987
- "value": "@entity.totalExpenses",
2988
- "label": "TotalExpenses"
2984
+ "label": "TotalExpenses",
2985
+ "value": "@entity.totalExpenses"
2989
2986
  },
2990
2987
  {
2991
2988
  "type": "stat-display",
2992
- "label": "Balance",
2993
- "value": "@entity.balance"
2989
+ "value": "@entity.balance",
2990
+ "label": "Balance"
2994
2991
  },
2995
2992
  {
2996
- "type": "stat-display",
2997
2993
  "label": "SavingsRate",
2998
- "value": "@entity.savingsRate"
2994
+ "value": "@entity.savingsRate",
2995
+ "type": "stat-display"
2999
2996
  }
3000
2997
  ]
3001
2998
  }
@@ -3007,6 +3004,8 @@
3007
3004
  },
3008
3005
  {
3009
3006
  "type": "grid",
3007
+ "cols": 2.0,
3008
+ "gap": "md",
3010
3009
  "children": [
3011
3010
  {
3012
3011
  "children": [
@@ -3021,27 +3020,24 @@
3021
3020
  {
3022
3021
  "children": [
3023
3022
  {
3024
- "content": "Graph View",
3025
3023
  "type": "typography",
3026
- "variant": "caption"
3024
+ "variant": "caption",
3025
+ "content": "Graph View"
3027
3026
  }
3028
3027
  ],
3029
3028
  "type": "card"
3030
3029
  }
3031
- ],
3032
- "cols": 2.0,
3033
- "gap": "md"
3030
+ ]
3034
3031
  },
3035
3032
  {
3036
- "type": "line-chart",
3037
3033
  "data": [
3038
3034
  {
3039
- "value": 12.0,
3040
- "date": "Jan"
3035
+ "date": "Jan",
3036
+ "value": 12.0
3041
3037
  },
3042
3038
  {
3043
- "value": 19.0,
3044
- "date": "Feb"
3039
+ "date": "Feb",
3040
+ "value": 19.0
3045
3041
  },
3046
3042
  {
3047
3043
  "date": "Mar",
@@ -3059,14 +3055,15 @@
3059
3055
  "date": "Jun",
3060
3056
  "value": 30.0
3061
3057
  }
3062
- ]
3058
+ ],
3059
+ "type": "line-chart"
3063
3060
  },
3064
3061
  {
3065
3062
  "type": "chart-legend",
3066
3063
  "items": [
3067
3064
  {
3068
- "color": "primary",
3069
- "label": "Current"
3065
+ "label": "Current",
3066
+ "color": "primary"
3070
3067
  },
3071
3068
  {
3072
3069
  "label": "Previous",
@@ -3086,47 +3083,50 @@
3086
3083
  "label": "Process"
3087
3084
  },
3088
3085
  {
3089
- "id": "c",
3090
- "label": "End"
3086
+ "label": "End",
3087
+ "id": "c"
3091
3088
  }
3092
3089
  ],
3093
- "height": 200.0,
3094
- "width": 400.0,
3095
3090
  "edges": [
3096
3091
  {
3097
3092
  "source": "a",
3098
3093
  "target": "b"
3099
3094
  },
3100
3095
  {
3101
- "source": "b",
3102
- "target": "c"
3096
+ "target": "c",
3097
+ "source": "b"
3103
3098
  }
3104
- ]
3099
+ ],
3100
+ "height": 200.0,
3101
+ "width": 400.0
3105
3102
  }
3106
- ]
3103
+ ],
3104
+ "direction": "vertical",
3105
+ "gap": "lg"
3107
3106
  }
3108
3107
  ],
3109
3108
  "type": "scaled-diagram"
3110
3109
  }
3111
3110
  ],
3112
- "appName": "Finance Tracker",
3113
3111
  "navItems": [
3114
3112
  {
3113
+ "icon": "dollar-sign",
3115
3114
  "label": "Transactions",
3116
- "href": "/transactions",
3117
- "icon": "dollar-sign"
3115
+ "href": "/transactions"
3118
3116
  },
3119
3117
  {
3120
3118
  "href": "/summary",
3121
- "label": "Summary",
3122
- "icon": "layout-list"
3119
+ "icon": "layout-list",
3120
+ "label": "Summary"
3123
3121
  },
3124
3122
  {
3123
+ "label": "Reports",
3125
3124
  "href": "/reports",
3126
- "icon": "bar-chart",
3127
- "label": "Reports"
3125
+ "icon": "bar-chart"
3128
3126
  }
3129
- ]
3127
+ ],
3128
+ "type": "dashboard-layout",
3129
+ "appName": "Finance Tracker"
3130
3130
  }
3131
3131
  ]
3132
3132
  ]
@@ -3190,7 +3190,7 @@
3190
3190
  "event": "FinanceReportLoaded",
3191
3191
  "description": "Fired when FinanceReport finishes loading",
3192
3192
  "scope": "internal",
3193
- "payload": [
3193
+ "payloadSchema": [
3194
3194
  {
3195
3195
  "name": "data",
3196
3196
  "type": "[FinanceReport]"
@@ -3201,7 +3201,7 @@
3201
3201
  "event": "FinanceReportLoadFailed",
3202
3202
  "description": "Fired when FinanceReport fails to load",
3203
3203
  "scope": "internal",
3204
- "payload": [
3204
+ "payloadSchema": [
3205
3205
  {
3206
3206
  "name": "error",
3207
3207
  "type": "string"
@@ -3228,7 +3228,7 @@
3228
3228
  {
3229
3229
  "key": "FinanceReportLoaded",
3230
3230
  "name": "FinanceReport loaded",
3231
- "payload": [
3231
+ "payloadSchema": [
3232
3232
  {
3233
3233
  "name": "data",
3234
3234
  "type": "[FinanceReport]"
@@ -3238,7 +3238,7 @@
3238
3238
  {
3239
3239
  "key": "FinanceReportLoadFailed",
3240
3240
  "name": "FinanceReport load failed",
3241
- "payload": [
3241
+ "payloadSchema": [
3242
3242
  {
3243
3243
  "name": "error",
3244
3244
  "type": "string"
@@ -3261,8 +3261,8 @@
3261
3261
  "FinanceReport",
3262
3262
  {
3263
3263
  "emit": {
3264
- "failure": "FinanceReportLoadFailed",
3265
- "success": "FinanceReportLoaded"
3264
+ "success": "FinanceReportLoaded",
3265
+ "failure": "FinanceReportLoadFailed"
3266
3266
  }
3267
3267
  }
3268
3268
  ],
@@ -3271,10 +3271,7 @@
3271
3271
  "main",
3272
3272
  {
3273
3273
  "gap": "md",
3274
- "direction": "vertical",
3275
- "align": "center",
3276
3274
  "className": "py-12",
3277
- "type": "stack",
3278
3275
  "children": [
3279
3276
  {
3280
3277
  "type": "spinner"
@@ -3282,10 +3279,13 @@
3282
3279
  {
3283
3280
  "content": "Loading…",
3284
3281
  "variant": "caption",
3285
- "color": "muted",
3286
- "type": "typography"
3282
+ "type": "typography",
3283
+ "color": "muted"
3287
3284
  }
3288
- ]
3285
+ ],
3286
+ "direction": "vertical",
3287
+ "align": "center",
3288
+ "type": "stack"
3289
3289
  }
3290
3290
  ]
3291
3291
  ]
@@ -3299,36 +3299,24 @@
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
- ],
3321
3302
  "children": [
3322
3303
  {
3323
3304
  "gap": "lg",
3305
+ "type": "stack",
3324
3306
  "className": "max-w-5xl mx-auto w-full",
3307
+ "direction": "vertical",
3325
3308
  "children": [
3326
3309
  {
3310
+ "direction": "horizontal",
3311
+ "justify": "between",
3312
+ "type": "stack",
3313
+ "gap": "md",
3314
+ "align": "center",
3327
3315
  "children": [
3328
3316
  {
3329
- "direction": "horizontal",
3330
3317
  "gap": "sm",
3331
- "align": "center",
3318
+ "direction": "horizontal",
3319
+ "type": "stack",
3332
3320
  "children": [
3333
3321
  {
3334
3322
  "name": "file-text",
@@ -3340,43 +3328,40 @@
3340
3328
  "content": "Reports"
3341
3329
  }
3342
3330
  ],
3343
- "type": "stack"
3331
+ "align": "center"
3344
3332
  },
3345
3333
  {
3346
3334
  "gap": "sm",
3335
+ "type": "stack",
3347
3336
  "children": [
3348
3337
  {
3338
+ "variant": "primary",
3349
3339
  "type": "button",
3350
- "icon": "plus",
3351
- "label": "Create FinanceReport",
3352
3340
  "action": "CREATE",
3353
- "variant": "primary"
3341
+ "icon": "plus",
3342
+ "label": "Create FinanceReport"
3354
3343
  }
3355
3344
  ],
3356
- "type": "stack",
3357
3345
  "direction": "horizontal"
3358
3346
  }
3359
- ],
3360
- "gap": "md",
3361
- "align": "center",
3362
- "justify": "between",
3363
- "type": "stack",
3364
- "direction": "horizontal"
3347
+ ]
3365
3348
  },
3366
3349
  {
3367
3350
  "type": "divider"
3368
3351
  },
3369
3352
  {
3353
+ "gap": "sm",
3354
+ "variant": "card",
3355
+ "fields": [],
3356
+ "type": "data-list",
3357
+ "entity": "@payload.data",
3370
3358
  "itemActions": [
3371
3359
  {
3360
+ "event": "VIEW",
3372
3361
  "variant": "ghost",
3373
- "label": "View",
3374
- "event": "VIEW"
3362
+ "label": "View"
3375
3363
  }
3376
3364
  ],
3377
- "fields": [],
3378
- "variant": "card",
3379
- "entity": "@payload.data",
3380
3365
  "columns": [
3381
3366
  {
3382
3367
  "variant": "h3",
@@ -3384,29 +3369,44 @@
3384
3369
  "name": "title"
3385
3370
  },
3386
3371
  {
3387
- "name": "period",
3388
- "variant": "badge"
3372
+ "variant": "badge",
3373
+ "name": "period"
3389
3374
  },
3390
3375
  {
3391
- "format": "currency",
3376
+ "variant": "h4",
3392
3377
  "name": "total",
3393
- "variant": "h4"
3378
+ "format": "currency"
3394
3379
  },
3395
3380
  {
3396
- "variant": "caption",
3397
- "name": "generatedAt",
3398
3381
  "format": "date",
3399
- "label": "Generated"
3382
+ "name": "generatedAt",
3383
+ "label": "Generated",
3384
+ "variant": "caption"
3400
3385
  }
3401
- ],
3402
- "gap": "sm",
3403
- "type": "data-list"
3386
+ ]
3404
3387
  }
3405
- ],
3406
- "type": "stack",
3407
- "direction": "vertical"
3388
+ ]
3408
3389
  }
3409
- ]
3390
+ ],
3391
+ "navItems": [
3392
+ {
3393
+ "icon": "dollar-sign",
3394
+ "label": "Transactions",
3395
+ "href": "/transactions"
3396
+ },
3397
+ {
3398
+ "icon": "layout-list",
3399
+ "href": "/summary",
3400
+ "label": "Summary"
3401
+ },
3402
+ {
3403
+ "label": "Reports",
3404
+ "href": "/reports",
3405
+ "icon": "bar-chart"
3406
+ }
3407
+ ],
3408
+ "appName": "Finance Tracker",
3409
+ "type": "dashboard-layout"
3410
3410
  }
3411
3411
  ]
3412
3412
  ]
@@ -3420,7 +3420,6 @@
3420
3420
  "render-ui",
3421
3421
  "main",
3422
3422
  {
3423
- "gap": "md",
3424
3423
  "children": [
3425
3424
  {
3426
3425
  "type": "icon",
@@ -3428,28 +3427,29 @@
3428
3427
  "color": "destructive"
3429
3428
  },
3430
3429
  {
3431
- "variant": "h3",
3430
+ "type": "typography",
3432
3431
  "content": "Failed to load financereport",
3433
- "type": "typography"
3432
+ "variant": "h3"
3434
3433
  },
3435
3434
  {
3436
- "color": "muted",
3437
- "variant": "body",
3438
3435
  "type": "typography",
3439
- "content": "@payload.error"
3436
+ "content": "@payload.error",
3437
+ "variant": "body",
3438
+ "color": "muted"
3440
3439
  },
3441
3440
  {
3442
- "variant": "primary",
3441
+ "type": "button",
3443
3442
  "label": "Retry",
3443
+ "action": "INIT",
3444
3444
  "icon": "rotate-ccw",
3445
- "type": "button",
3446
- "action": "INIT"
3445
+ "variant": "primary"
3447
3446
  }
3448
3447
  ],
3449
- "direction": "vertical",
3450
3448
  "type": "stack",
3449
+ "gap": "md",
3450
+ "className": "py-12",
3451
3451
  "align": "center",
3452
- "className": "py-12"
3452
+ "direction": "vertical"
3453
3453
  }
3454
3454
  ]
3455
3455
  ]
@@ -3467,7 +3467,7 @@
3467
3467
  "event": "FinanceReportLoadFailed",
3468
3468
  "description": "Fired when FinanceReport fails to load",
3469
3469
  "scope": "internal",
3470
- "payload": [
3470
+ "payloadSchema": [
3471
3471
  {
3472
3472
  "name": "error",
3473
3473
  "type": "string"
@@ -3482,7 +3482,7 @@
3482
3482
  "event": "FinanceReportLoaded",
3483
3483
  "description": "Fired when FinanceReport finishes loading",
3484
3484
  "scope": "internal",
3485
- "payload": [
3485
+ "payloadSchema": [
3486
3486
  {
3487
3487
  "name": "data",
3488
3488
  "type": "[FinanceReport]"
@@ -3492,7 +3492,7 @@
3492
3492
  {
3493
3493
  "event": "FinanceReportSaveFailed",
3494
3494
  "scope": "internal",
3495
- "payload": [
3495
+ "payloadSchema": [
3496
3496
  {
3497
3497
  "name": "error",
3498
3498
  "type": "string"
@@ -3506,7 +3506,7 @@
3506
3506
  {
3507
3507
  "event": "FinanceReportSaved",
3508
3508
  "scope": "internal",
3509
- "payload": [
3509
+ "payloadSchema": [
3510
3510
  {
3511
3511
  "name": "id",
3512
3512
  "type": "string"
@@ -3540,7 +3540,7 @@
3540
3540
  {
3541
3541
  "key": "SAVE",
3542
3542
  "name": "Save",
3543
- "payload": [
3543
+ "payloadSchema": [
3544
3544
  {
3545
3545
  "name": "data",
3546
3546
  "type": "string"
@@ -3550,7 +3550,7 @@
3550
3550
  {
3551
3551
  "key": "FinanceReportLoadFailed",
3552
3552
  "name": "FinanceReport load failed",
3553
- "payload": [
3553
+ "payloadSchema": [
3554
3554
  {
3555
3555
  "name": "error",
3556
3556
  "type": "string"
@@ -3564,7 +3564,7 @@
3564
3564
  {
3565
3565
  "key": "FinanceReportLoaded",
3566
3566
  "name": "FinanceReport loaded",
3567
- "payload": [
3567
+ "payloadSchema": [
3568
3568
  {
3569
3569
  "name": "data",
3570
3570
  "type": "[FinanceReport]"
@@ -3574,7 +3574,7 @@
3574
3574
  {
3575
3575
  "key": "FinanceReportSaveFailed",
3576
3576
  "name": "FinanceReport save failed",
3577
- "payload": [
3577
+ "payloadSchema": [
3578
3578
  {
3579
3579
  "name": "error",
3580
3580
  "type": "string"
@@ -3588,7 +3588,7 @@
3588
3588
  {
3589
3589
  "key": "FinanceReportSaved",
3590
3590
  "name": "FinanceReport saved",
3591
- "payload": [
3591
+ "payloadSchema": [
3592
3592
  {
3593
3593
  "name": "id",
3594
3594
  "type": "string"
@@ -3627,41 +3627,41 @@
3627
3627
  "render-ui",
3628
3628
  "modal",
3629
3629
  {
3630
+ "direction": "vertical",
3630
3631
  "gap": "md",
3631
3632
  "children": [
3632
3633
  {
3633
3634
  "children": [
3634
3635
  {
3635
- "type": "icon",
3636
- "name": "plus-circle"
3636
+ "name": "plus-circle",
3637
+ "type": "icon"
3637
3638
  },
3638
3639
  {
3639
3640
  "type": "typography",
3640
- "content": "New FinanceReport",
3641
- "variant": "h3"
3641
+ "variant": "h3",
3642
+ "content": "New FinanceReport"
3642
3643
  }
3643
3644
  ],
3644
- "direction": "horizontal",
3645
3645
  "gap": "sm",
3646
- "type": "stack"
3646
+ "type": "stack",
3647
+ "direction": "horizontal"
3647
3648
  },
3648
3649
  {
3649
3650
  "type": "divider"
3650
3651
  },
3651
3652
  {
3652
- "cancelEvent": "CLOSE",
3653
+ "type": "form-section",
3653
3654
  "fields": [
3654
3655
  "title",
3655
3656
  "period",
3656
3657
  "total",
3657
3658
  "generatedAt"
3658
3659
  ],
3659
- "type": "form-section",
3660
3660
  "submitEvent": "SAVE",
3661
- "mode": "create"
3661
+ "mode": "create",
3662
+ "cancelEvent": "CLOSE"
3662
3663
  }
3663
3664
  ],
3664
- "direction": "vertical",
3665
3665
  "type": "stack"
3666
3666
  }
3667
3667
  ]
@@ -3735,7 +3735,7 @@
3735
3735
  "event": "FinanceReportLoaded",
3736
3736
  "description": "Fired when FinanceReport finishes loading",
3737
3737
  "scope": "internal",
3738
- "payload": [
3738
+ "payloadSchema": [
3739
3739
  {
3740
3740
  "name": "data",
3741
3741
  "type": "[FinanceReport]"
@@ -3746,7 +3746,7 @@
3746
3746
  "event": "FinanceReportLoadFailed",
3747
3747
  "description": "Fired when FinanceReport fails to load",
3748
3748
  "scope": "internal",
3749
- "payload": [
3749
+ "payloadSchema": [
3750
3750
  {
3751
3751
  "name": "error",
3752
3752
  "type": "string"
@@ -3776,7 +3776,7 @@
3776
3776
  {
3777
3777
  "key": "VIEW",
3778
3778
  "name": "View",
3779
- "payload": [
3779
+ "payloadSchema": [
3780
3780
  {
3781
3781
  "name": "id",
3782
3782
  "type": "string"
@@ -3794,7 +3794,7 @@
3794
3794
  {
3795
3795
  "key": "FinanceReportLoaded",
3796
3796
  "name": "FinanceReport loaded",
3797
- "payload": [
3797
+ "payloadSchema": [
3798
3798
  {
3799
3799
  "name": "data",
3800
3800
  "type": "[FinanceReport]"
@@ -3804,7 +3804,7 @@
3804
3804
  {
3805
3805
  "key": "FinanceReportLoadFailed",
3806
3806
  "name": "FinanceReport load failed",
3807
- "payload": [
3807
+ "payloadSchema": [
3808
3808
  {
3809
3809
  "name": "error",
3810
3810
  "type": "string"
@@ -3837,25 +3837,23 @@
3837
3837
  "fetch",
3838
3838
  "FinanceReport",
3839
3839
  {
3840
+ "id": "@payload.id",
3840
3841
  "emit": {
3841
3842
  "failure": "FinanceReportLoadFailed",
3842
3843
  "success": "FinanceReportLoaded"
3843
- },
3844
- "id": "@payload.id"
3844
+ }
3845
3845
  }
3846
3846
  ],
3847
3847
  [
3848
3848
  "render-ui",
3849
3849
  "modal",
3850
3850
  {
3851
- "type": "stack",
3852
- "gap": "md",
3851
+ "direction": "vertical",
3853
3852
  "children": [
3854
3853
  {
3855
- "type": "stack",
3856
- "direction": "horizontal",
3857
3854
  "gap": "sm",
3858
3855
  "align": "center",
3856
+ "direction": "horizontal",
3859
3857
  "children": [
3860
3858
  {
3861
3859
  "type": "icon",
@@ -3863,10 +3861,11 @@
3863
3861
  },
3864
3862
  {
3865
3863
  "variant": "h3",
3866
- "content": "@entity.title",
3867
- "type": "typography"
3864
+ "type": "typography",
3865
+ "content": "@entity.title"
3868
3866
  }
3869
- ]
3867
+ ],
3868
+ "type": "stack"
3870
3869
  },
3871
3870
  {
3872
3871
  "type": "divider"
@@ -3874,22 +3873,22 @@
3874
3873
  {
3875
3874
  "children": [
3876
3875
  {
3876
+ "type": "typography",
3877
3877
  "variant": "caption",
3878
- "content": "Title",
3879
- "type": "typography"
3878
+ "content": "Title"
3880
3879
  },
3881
3880
  {
3881
+ "variant": "body",
3882
3882
  "content": "@entity.title",
3883
- "type": "typography",
3884
- "variant": "body"
3883
+ "type": "typography"
3885
3884
  }
3886
3885
  ],
3887
- "gap": "md",
3888
3886
  "direction": "horizontal",
3889
- "type": "stack"
3887
+ "type": "stack",
3888
+ "gap": "md"
3890
3889
  },
3891
3890
  {
3892
- "direction": "horizontal",
3891
+ "gap": "md",
3893
3892
  "type": "stack",
3894
3893
  "children": [
3895
3894
  {
@@ -3903,27 +3902,26 @@
3903
3902
  "variant": "body"
3904
3903
  }
3905
3904
  ],
3906
- "gap": "md"
3905
+ "direction": "horizontal"
3907
3906
  },
3908
3907
  {
3908
+ "gap": "md",
3909
3909
  "type": "stack",
3910
+ "direction": "horizontal",
3910
3911
  "children": [
3911
3912
  {
3912
3913
  "variant": "caption",
3913
- "type": "typography",
3914
- "content": "Total"
3914
+ "content": "Total",
3915
+ "type": "typography"
3915
3916
  },
3916
3917
  {
3917
3918
  "variant": "body",
3918
- "type": "typography",
3919
- "content": "@entity.total"
3919
+ "content": "@entity.total",
3920
+ "type": "typography"
3920
3921
  }
3921
- ],
3922
- "direction": "horizontal",
3923
- "gap": "md"
3922
+ ]
3924
3923
  },
3925
3924
  {
3926
- "type": "stack",
3927
3925
  "direction": "horizontal",
3928
3926
  "gap": "md",
3929
3927
  "children": [
@@ -3933,31 +3931,33 @@
3933
3931
  "variant": "caption"
3934
3932
  },
3935
3933
  {
3936
- "variant": "body",
3937
3934
  "content": "@entity.generatedAt",
3938
- "type": "typography"
3935
+ "type": "typography",
3936
+ "variant": "body"
3939
3937
  }
3940
- ]
3938
+ ],
3939
+ "type": "stack"
3941
3940
  },
3942
3941
  {
3943
3942
  "type": "divider"
3944
3943
  },
3945
3944
  {
3946
- "justify": "end",
3947
3945
  "gap": "sm",
3948
- "direction": "horizontal",
3949
3946
  "children": [
3950
3947
  {
3951
- "label": "Close",
3952
- "type": "button",
3953
3948
  "action": "CLOSE",
3949
+ "type": "button",
3950
+ "label": "Close",
3954
3951
  "variant": "ghost"
3955
3952
  }
3956
3953
  ],
3957
- "type": "stack"
3954
+ "type": "stack",
3955
+ "direction": "horizontal",
3956
+ "justify": "end"
3958
3957
  }
3959
3958
  ],
3960
- "direction": "vertical"
3959
+ "gap": "md",
3960
+ "type": "stack"
3961
3961
  }
3962
3962
  ]
3963
3963
  ]
@@ -4029,4 +4029,4 @@
4029
4029
  ]
4030
4030
  }
4031
4031
  ]
4032
- }
4032
+ }