@almadar/std 8.2.0 → 8.3.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 +83 -83
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +202 -202
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +312 -312
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  27. package/behaviors/registry/app/organisms/std-cms.orb +445 -445
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  29. package/behaviors/registry/app/organisms/std-crm.orb +781 -781
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  37. package/behaviors/registry/app/organisms/std-lms.orb +863 -863
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  42. package/behaviors/registry/core/atoms/std-browse.orb +60 -60
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  44. package/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  47. package/behaviors/registry/core/atoms/std-display.orb +371 -371
  48. package/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  49. package/behaviors/registry/core/atoms/std-filter.orb +46 -46
  50. package/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  51. package/behaviors/registry/core/atoms/std-modal.orb +14 -32
  52. package/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  53. package/behaviors/registry/core/atoms/std-push.orb +42 -42
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  55. package/behaviors/registry/core/atoms/std-related.orb +36 -36
  56. package/behaviors/registry/core/atoms/std-search.orb +71 -71
  57. package/behaviors/registry/core/atoms/std-selection.orb +89 -89
  58. package/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  59. package/behaviors/registry/core/molecules/std-cart.orb +54 -54
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  62. package/behaviors/registry/core/molecules/std-list.orb +60 -60
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  64. package/behaviors/registry/game/atoms/std-collision.orb +143 -143
  65. package/behaviors/registry/game/atoms/std-combat.orb +80 -80
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  69. package/behaviors/registry/game/atoms/std-movement.orb +300 -300
  70. package/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  72. package/behaviors/registry/game/atoms/std-quest.orb +124 -124
  73. package/behaviors/registry/game/atoms/std-timer.orb +251 -260
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  83. package/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  84. package/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +83 -83
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +112 -112
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +107 -101
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +131 -116
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +408 -402
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +82 -82
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +81 -81
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +124 -118
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +74 -74
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +129 -129
  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 +312 -312
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +59 -59
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +206 -206
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +186 -186
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +136 -136
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +116 -116
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +206 -206
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1131 -1131
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3061 -3061
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2114 -2114
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1007 -1007
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +735 -735
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +805 -805
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1178 -1178
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +781 -781
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +445 -445
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +368 -368
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +781 -781
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1344 -1344
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +968 -968
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1286 -1286
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +636 -636
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1160 -1160
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +828 -828
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +863 -863
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +686 -686
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +739 -739
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +239 -239
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +661 -661
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +60 -60
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +92 -92
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +55 -55
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +176 -176
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +371 -371
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +56 -56
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +46 -46
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +50 -50
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +14 -32
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +45 -45
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +42 -42
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +172 -172
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +36 -36
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +71 -71
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +89 -89
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +49 -49
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +54 -54
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +5 -5
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +116 -116
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +60 -60
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +140 -140
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +143 -143
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +80 -80
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +35 -35
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +300 -300
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +63 -63
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +76 -76
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +124 -124
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +251 -260
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +77 -77
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +230 -230
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +105 -105
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +350 -350
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +377 -377
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +529 -529
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +12 -12
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +70 -70
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +84 -84
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +99 -99
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +115 -115
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +116 -116
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +95 -95
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +98 -98
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +99 -99
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +115 -115
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +917 -917
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +933 -933
  187. package/package.json +1 -1
@@ -327,8 +327,8 @@
327
327
  "Portfolio",
328
328
  {
329
329
  "emit": {
330
- "failure": "PortfolioLoadFailed",
331
- "success": "PortfolioLoaded"
330
+ "success": "PortfolioLoaded",
331
+ "failure": "PortfolioLoadFailed"
332
332
  }
333
333
  }
334
334
  ],
@@ -336,7 +336,7 @@
336
336
  "render-ui",
337
337
  "main",
338
338
  {
339
- "appName": "Trading Dashboard",
339
+ "type": "dashboard-layout",
340
340
  "children": [
341
341
  {
342
342
  "children": [
@@ -356,12 +356,14 @@
356
356
  ]
357
357
  },
358
358
  {
359
+ "type": "stack",
360
+ "gap": "md",
359
361
  "children": [
360
362
  {
361
363
  "children": [
362
364
  {
363
- "name": "trending-up",
364
- "type": "icon"
365
+ "type": "icon",
366
+ "name": "trending-up"
365
367
  },
366
368
  {
367
369
  "type": "typography",
@@ -370,20 +372,18 @@
370
372
  }
371
373
  ],
372
374
  "direction": "horizontal",
373
- "gap": "md",
374
- "type": "stack"
375
+ "type": "stack",
376
+ "gap": "md"
375
377
  },
376
378
  {
377
- "action": "REFRESH",
378
379
  "label": "Refresh",
379
- "type": "button",
380
+ "action": "REFRESH",
380
381
  "variant": "secondary",
382
+ "type": "button",
381
383
  "icon": "refresh-cw"
382
384
  }
383
385
  ],
384
- "type": "stack",
385
386
  "direction": "horizontal",
386
- "gap": "md",
387
387
  "justify": "between"
388
388
  },
389
389
  {
@@ -392,30 +392,30 @@
392
392
  {
393
393
  "children": [
394
394
  {
395
- "type": "simple-grid",
396
- "cols": 3.0,
397
395
  "children": [
398
396
  {
397
+ "type": "stat-display",
399
398
  "label": "TotalValue",
400
- "value": "@entity.totalValue",
401
- "type": "stat-display"
399
+ "value": "@entity.totalValue"
402
400
  },
403
401
  {
404
- "value": "@entity.dailyChange",
402
+ "type": "stat-display",
405
403
  "label": "DailyChange",
406
- "type": "stat-display"
404
+ "value": "@entity.dailyChange"
407
405
  },
408
406
  {
409
- "type": "stat-display",
407
+ "label": "Positions",
410
408
  "value": "@entity.positions",
411
- "label": "Positions"
409
+ "type": "stat-display"
412
410
  },
413
411
  {
414
412
  "label": "CashBalance",
415
- "value": "@entity.cashBalance",
416
- "type": "stat-display"
413
+ "type": "stat-display",
414
+ "value": "@entity.cashBalance"
417
415
  }
418
- ]
416
+ ],
417
+ "type": "simple-grid",
418
+ "cols": 3.0
419
419
  }
420
420
  ],
421
421
  "type": "box",
@@ -425,102 +425,102 @@
425
425
  "type": "divider"
426
426
  },
427
427
  {
428
+ "type": "grid",
428
429
  "children": [
429
430
  {
430
431
  "type": "card",
431
432
  "children": [
432
433
  {
433
- "type": "typography",
434
+ "content": "Chart View",
434
435
  "variant": "caption",
435
- "content": "Chart View"
436
+ "type": "typography"
436
437
  }
437
438
  ]
438
439
  },
439
440
  {
441
+ "type": "card",
440
442
  "children": [
441
443
  {
442
444
  "content": "Graph View",
443
445
  "variant": "caption",
444
446
  "type": "typography"
445
447
  }
446
- ],
447
- "type": "card"
448
+ ]
448
449
  }
449
450
  ],
450
451
  "gap": "md",
451
- "cols": 2.0,
452
- "type": "grid"
452
+ "cols": 2.0
453
453
  },
454
454
  {
455
455
  "data": [
456
456
  {
457
- "date": "Jan",
458
- "value": 12.0
457
+ "value": 12.0,
458
+ "date": "Jan"
459
459
  },
460
460
  {
461
461
  "date": "Feb",
462
462
  "value": 19.0
463
463
  },
464
464
  {
465
- "date": "Mar",
466
- "value": 15.0
465
+ "value": 15.0,
466
+ "date": "Mar"
467
467
  },
468
468
  {
469
- "value": 25.0,
470
- "date": "Apr"
469
+ "date": "Apr",
470
+ "value": 25.0
471
471
  },
472
472
  {
473
473
  "value": 22.0,
474
474
  "date": "May"
475
475
  },
476
476
  {
477
- "date": "Jun",
478
- "value": 30.0
477
+ "value": 30.0,
478
+ "date": "Jun"
479
479
  }
480
480
  ],
481
481
  "type": "line-chart"
482
482
  },
483
483
  {
484
+ "type": "chart-legend",
484
485
  "items": [
485
486
  {
486
- "color": "primary",
487
- "label": "Current"
487
+ "label": "Current",
488
+ "color": "primary"
488
489
  },
489
490
  {
490
491
  "label": "Previous",
491
492
  "color": "muted"
492
493
  }
493
- ],
494
- "type": "chart-legend"
494
+ ]
495
495
  },
496
496
  {
497
- "edges": [
497
+ "type": "graph-view",
498
+ "width": 400.0,
499
+ "nodes": [
498
500
  {
499
- "source": "a",
500
- "target": "b"
501
+ "label": "Start",
502
+ "id": "a"
501
503
  },
502
504
  {
503
- "target": "c",
504
- "source": "b"
505
+ "id": "b",
506
+ "label": "Process"
507
+ },
508
+ {
509
+ "id": "c",
510
+ "label": "End"
505
511
  }
506
512
  ],
507
- "height": 200.0,
508
- "nodes": [
509
- {
510
- "id": "a",
511
- "label": "Start"
512
- },
513
+ "edges": [
513
514
  {
514
- "label": "Process",
515
- "id": "b"
515
+ "target": "b",
516
+ "source": "a"
516
517
  },
517
518
  {
518
- "label": "End",
519
- "id": "c"
519
+ "source": "b",
520
+ "target": "c"
520
521
  }
521
522
  ],
522
- "type": "graph-view",
523
- "width": 400.0
523
+ "height": 200.0
524
524
  }
525
525
  ],
526
526
  "type": "stack",
@@ -530,24 +530,24 @@
530
530
  "type": "scaled-diagram"
531
531
  }
532
532
  ],
533
+ "appName": "Trading Dashboard",
533
534
  "navItems": [
534
535
  {
535
- "label": "Portfolio",
536
536
  "href": "/portfolio",
537
- "icon": "layout-list"
537
+ "icon": "layout-list",
538
+ "label": "Portfolio"
538
539
  },
539
540
  {
540
- "icon": "clipboard-list",
541
541
  "href": "/orders",
542
+ "icon": "clipboard-list",
542
543
  "label": "Orders"
543
544
  },
544
545
  {
545
546
  "label": "Market",
546
- "href": "/market",
547
- "icon": "layout-list"
547
+ "icon": "layout-list",
548
+ "href": "/market"
548
549
  }
549
- ],
550
- "type": "dashboard-layout"
550
+ ]
551
551
  }
552
552
  ]
553
553
  ]
@@ -562,8 +562,8 @@
562
562
  "Portfolio",
563
563
  {
564
564
  "emit": {
565
- "failure": "PortfolioLoadFailed",
566
- "success": "PortfolioLoaded"
565
+ "success": "PortfolioLoaded",
566
+ "failure": "PortfolioLoadFailed"
567
567
  }
568
568
  }
569
569
  ],
@@ -571,15 +571,33 @@
571
571
  "render-ui",
572
572
  "main",
573
573
  {
574
+ "appName": "Trading Dashboard",
575
+ "type": "dashboard-layout",
576
+ "navItems": [
577
+ {
578
+ "icon": "layout-list",
579
+ "label": "Portfolio",
580
+ "href": "/portfolio"
581
+ },
582
+ {
583
+ "label": "Orders",
584
+ "href": "/orders",
585
+ "icon": "clipboard-list"
586
+ },
587
+ {
588
+ "icon": "layout-list",
589
+ "label": "Market",
590
+ "href": "/market"
591
+ }
592
+ ],
574
593
  "children": [
575
594
  {
576
- "type": "scaled-diagram",
577
595
  "children": [
578
596
  {
579
- "gap": "lg",
580
597
  "direction": "vertical",
581
598
  "children": [
582
599
  {
600
+ "type": "breadcrumb",
583
601
  "items": [
584
602
  {
585
603
  "href": "/",
@@ -588,44 +606,44 @@
588
606
  {
589
607
  "label": "Portfolio"
590
608
  }
591
- ],
592
- "type": "breadcrumb"
609
+ ]
593
610
  },
594
611
  {
595
- "direction": "horizontal",
596
- "justify": "between",
597
- "gap": "md",
612
+ "type": "stack",
598
613
  "children": [
599
614
  {
600
615
  "direction": "horizontal",
601
- "type": "stack",
602
616
  "children": [
603
617
  {
604
- "name": "trending-up",
605
- "type": "icon"
618
+ "type": "icon",
619
+ "name": "trending-up"
606
620
  },
607
621
  {
608
- "variant": "h2",
609
622
  "content": "Portfolio",
623
+ "variant": "h2",
610
624
  "type": "typography"
611
625
  }
612
626
  ],
627
+ "type": "stack",
613
628
  "gap": "md"
614
629
  },
615
630
  {
616
631
  "action": "REFRESH",
617
632
  "label": "Refresh",
618
- "icon": "refresh-cw",
619
633
  "variant": "secondary",
620
- "type": "button"
634
+ "type": "button",
635
+ "icon": "refresh-cw"
621
636
  }
622
637
  ],
623
- "type": "stack"
638
+ "direction": "horizontal",
639
+ "gap": "md",
640
+ "justify": "between"
624
641
  },
625
642
  {
626
643
  "type": "divider"
627
644
  },
628
645
  {
646
+ "type": "box",
629
647
  "padding": "md",
630
648
  "children": [
631
649
  {
@@ -633,81 +651,80 @@
633
651
  "cols": 3.0,
634
652
  "children": [
635
653
  {
636
- "type": "stat-display",
654
+ "value": "@entity.totalValue",
637
655
  "label": "TotalValue",
638
- "value": "@entity.totalValue"
656
+ "type": "stat-display"
639
657
  },
640
658
  {
641
659
  "value": "@entity.dailyChange",
642
- "type": "stat-display",
643
- "label": "DailyChange"
660
+ "label": "DailyChange",
661
+ "type": "stat-display"
644
662
  },
645
663
  {
646
- "value": "@entity.positions",
664
+ "type": "stat-display",
647
665
  "label": "Positions",
648
- "type": "stat-display"
666
+ "value": "@entity.positions"
649
667
  },
650
668
  {
651
669
  "value": "@entity.cashBalance",
652
- "type": "stat-display",
653
- "label": "CashBalance"
670
+ "label": "CashBalance",
671
+ "type": "stat-display"
654
672
  }
655
673
  ]
656
674
  }
657
- ],
658
- "type": "box"
675
+ ]
659
676
  },
660
677
  {
661
678
  "type": "divider"
662
679
  },
663
680
  {
664
681
  "type": "grid",
665
- "gap": "md",
666
- "cols": 2.0,
667
682
  "children": [
668
683
  {
669
- "type": "card",
670
684
  "children": [
671
685
  {
672
- "type": "typography",
686
+ "variant": "caption",
673
687
  "content": "Chart View",
674
- "variant": "caption"
688
+ "type": "typography"
675
689
  }
676
- ]
690
+ ],
691
+ "type": "card"
677
692
  },
678
693
  {
679
- "type": "card",
680
694
  "children": [
681
695
  {
682
696
  "variant": "caption",
683
697
  "type": "typography",
684
698
  "content": "Graph View"
685
699
  }
686
- ]
700
+ ],
701
+ "type": "card"
687
702
  }
688
- ]
703
+ ],
704
+ "gap": "md",
705
+ "cols": 2.0
689
706
  },
690
707
  {
691
708
  "data": [
692
709
  {
693
- "date": "Jan",
694
- "value": 12.0
710
+ "value": 12.0,
711
+ "date": "Jan"
695
712
  },
696
713
  {
697
- "value": 19.0,
698
- "date": "Feb"
714
+ "date": "Feb",
715
+ "value": 19.0
699
716
  },
700
717
  {
701
- "date": "Mar",
702
- "value": 15.0
718
+ "value": 15.0,
719
+ "date": "Mar"
703
720
  },
704
721
  {
705
722
  "date": "Apr",
706
723
  "value": 25.0
707
724
  },
708
725
  {
709
- "value": 22.0,
710
- "date": "May"
726
+ "date": "May",
727
+ "value": 22.0
711
728
  },
712
729
  {
713
730
  "value": 30.0,
@@ -720,31 +737,30 @@
720
737
  "type": "chart-legend",
721
738
  "items": [
722
739
  {
723
- "label": "Current",
724
- "color": "primary"
740
+ "color": "primary",
741
+ "label": "Current"
725
742
  },
726
743
  {
727
- "color": "muted",
728
- "label": "Previous"
744
+ "label": "Previous",
745
+ "color": "muted"
729
746
  }
730
747
  ]
731
748
  },
732
749
  {
733
750
  "nodes": [
734
751
  {
735
- "label": "Start",
736
- "id": "a"
752
+ "id": "a",
753
+ "label": "Start"
737
754
  },
738
755
  {
739
756
  "label": "Process",
740
757
  "id": "b"
741
758
  },
742
759
  {
743
- "label": "End",
744
- "id": "c"
760
+ "id": "c",
761
+ "label": "End"
745
762
  }
746
763
  ],
747
- "width": 400.0,
748
764
  "height": 200.0,
749
765
  "edges": [
750
766
  {
@@ -756,33 +772,17 @@
756
772
  "target": "c"
757
773
  }
758
774
  ],
775
+ "width": 400.0,
759
776
  "type": "graph-view"
760
777
  }
761
778
  ],
762
- "type": "stack"
779
+ "type": "stack",
780
+ "gap": "lg"
763
781
  }
764
- ]
782
+ ],
783
+ "type": "scaled-diagram"
765
784
  }
766
- ],
767
- "appName": "Trading Dashboard",
768
- "navItems": [
769
- {
770
- "href": "/portfolio",
771
- "icon": "layout-list",
772
- "label": "Portfolio"
773
- },
774
- {
775
- "label": "Orders",
776
- "href": "/orders",
777
- "icon": "clipboard-list"
778
- },
779
- {
780
- "href": "/market",
781
- "icon": "layout-list",
782
- "label": "Market"
783
- }
784
- ],
785
- "type": "dashboard-layout"
785
+ ]
786
786
  }
787
787
  ]
788
788
  ]
@@ -806,34 +806,32 @@
806
806
  "render-ui",
807
807
  "main",
808
808
  {
809
- "type": "dashboard-layout",
809
+ "appName": "Trading Dashboard",
810
810
  "navItems": [
811
811
  {
812
812
  "label": "Portfolio",
813
- "icon": "layout-list",
814
- "href": "/portfolio"
813
+ "href": "/portfolio",
814
+ "icon": "layout-list"
815
815
  },
816
816
  {
817
+ "icon": "clipboard-list",
817
818
  "href": "/orders",
818
- "label": "Orders",
819
- "icon": "clipboard-list"
819
+ "label": "Orders"
820
820
  },
821
821
  {
822
+ "icon": "layout-list",
822
823
  "label": "Market",
823
- "href": "/market",
824
- "icon": "layout-list"
824
+ "href": "/market"
825
825
  }
826
826
  ],
827
- "appName": "Trading Dashboard",
828
827
  "children": [
829
828
  {
830
829
  "type": "scaled-diagram",
831
830
  "children": [
832
831
  {
833
- "type": "stack",
832
+ "direction": "vertical",
834
833
  "children": [
835
834
  {
836
- "type": "breadcrumb",
837
835
  "items": [
838
836
  {
839
837
  "href": "/",
@@ -842,118 +840,118 @@
842
840
  {
843
841
  "label": "Portfolio"
844
842
  }
845
- ]
843
+ ],
844
+ "type": "breadcrumb"
846
845
  },
847
846
  {
847
+ "direction": "horizontal",
848
+ "gap": "md",
848
849
  "justify": "between",
850
+ "type": "stack",
849
851
  "children": [
850
852
  {
851
- "type": "stack",
852
853
  "direction": "horizontal",
853
- "gap": "md",
854
+ "type": "stack",
854
855
  "children": [
855
856
  {
856
- "name": "trending-up",
857
- "type": "icon"
857
+ "type": "icon",
858
+ "name": "trending-up"
858
859
  },
859
860
  {
860
- "variant": "h2",
861
861
  "type": "typography",
862
- "content": "Portfolio"
862
+ "content": "Portfolio",
863
+ "variant": "h2"
863
864
  }
864
- ]
865
+ ],
866
+ "gap": "md"
865
867
  },
866
868
  {
869
+ "action": "REFRESH",
870
+ "type": "button",
867
871
  "variant": "secondary",
868
872
  "icon": "refresh-cw",
869
- "type": "button",
870
- "action": "REFRESH",
871
873
  "label": "Refresh"
872
874
  }
873
- ],
874
- "gap": "md",
875
- "type": "stack",
876
- "direction": "horizontal"
875
+ ]
877
876
  },
878
877
  {
879
878
  "type": "divider"
880
879
  },
881
880
  {
882
- "type": "box",
883
881
  "padding": "md",
884
882
  "children": [
885
883
  {
884
+ "type": "simple-grid",
885
+ "cols": 3.0,
886
886
  "children": [
887
887
  {
888
- "type": "stat-display",
889
888
  "value": "@entity.totalValue",
889
+ "type": "stat-display",
890
890
  "label": "TotalValue"
891
891
  },
892
892
  {
893
- "value": "@entity.dailyChange",
894
893
  "label": "DailyChange",
895
- "type": "stat-display"
894
+ "type": "stat-display",
895
+ "value": "@entity.dailyChange"
896
896
  },
897
897
  {
898
898
  "label": "Positions",
899
- "type": "stat-display",
900
- "value": "@entity.positions"
899
+ "value": "@entity.positions",
900
+ "type": "stat-display"
901
901
  },
902
902
  {
903
903
  "type": "stat-display",
904
- "label": "CashBalance",
905
- "value": "@entity.cashBalance"
904
+ "value": "@entity.cashBalance",
905
+ "label": "CashBalance"
906
906
  }
907
- ],
908
- "cols": 3.0,
909
- "type": "simple-grid"
907
+ ]
910
908
  }
911
- ]
909
+ ],
910
+ "type": "box"
912
911
  },
913
912
  {
914
913
  "type": "divider"
915
914
  },
916
915
  {
917
- "gap": "md",
916
+ "cols": 2.0,
917
+ "type": "grid",
918
918
  "children": [
919
919
  {
920
920
  "type": "card",
921
921
  "children": [
922
922
  {
923
- "variant": "caption",
924
923
  "content": "Chart View",
924
+ "variant": "caption",
925
925
  "type": "typography"
926
926
  }
927
927
  ]
928
928
  },
929
929
  {
930
- "type": "card",
931
930
  "children": [
932
931
  {
933
- "variant": "caption",
932
+ "content": "Graph View",
934
933
  "type": "typography",
935
- "content": "Graph View"
934
+ "variant": "caption"
936
935
  }
937
- ]
936
+ ],
937
+ "type": "card"
938
938
  }
939
939
  ],
940
- "type": "grid",
941
- "cols": 2.0
940
+ "gap": "md"
942
941
  },
943
942
  {
944
- "type": "line-chart",
945
943
  "data": [
946
944
  {
947
- "date": "Jan",
948
- "value": 12.0
945
+ "value": 12.0,
946
+ "date": "Jan"
949
947
  },
950
948
  {
951
949
  "value": 19.0,
952
950
  "date": "Feb"
953
951
  },
954
952
  {
955
- "value": 15.0,
956
- "date": "Mar"
953
+ "date": "Mar",
954
+ "value": 15.0
957
955
  },
958
956
  {
959
957
  "date": "Apr",
@@ -967,23 +965,24 @@
967
965
  "value": 30.0,
968
966
  "date": "Jun"
969
967
  }
970
- ]
968
+ ],
969
+ "type": "line-chart"
971
970
  },
972
971
  {
973
- "type": "chart-legend",
974
972
  "items": [
975
973
  {
976
- "label": "Current",
977
- "color": "primary"
974
+ "color": "primary",
975
+ "label": "Current"
978
976
  },
979
977
  {
980
- "color": "muted",
981
- "label": "Previous"
978
+ "label": "Previous",
979
+ "color": "muted"
982
980
  }
983
- ]
981
+ ],
982
+ "type": "chart-legend"
984
983
  },
985
984
  {
986
- "type": "graph-view",
985
+ "height": 200.0,
987
986
  "edges": [
988
987
  {
989
988
  "source": "a",
@@ -994,30 +993,31 @@
994
993
  "target": "c"
995
994
  }
996
995
  ],
997
- "height": 200.0,
996
+ "type": "graph-view",
998
997
  "nodes": [
999
998
  {
1000
- "id": "a",
1001
- "label": "Start"
999
+ "label": "Start",
1000
+ "id": "a"
1002
1001
  },
1003
1002
  {
1004
- "label": "Process",
1005
- "id": "b"
1003
+ "id": "b",
1004
+ "label": "Process"
1006
1005
  },
1007
1006
  {
1008
- "id": "c",
1009
- "label": "End"
1007
+ "label": "End",
1008
+ "id": "c"
1010
1009
  }
1011
1010
  ],
1012
1011
  "width": 400.0
1013
1012
  }
1014
1013
  ],
1015
1014
  "gap": "lg",
1016
- "direction": "vertical"
1015
+ "type": "stack"
1017
1016
  }
1018
1017
  ]
1019
1018
  }
1020
- ]
1019
+ ],
1020
+ "type": "dashboard-layout"
1021
1021
  }
1022
1022
  ]
1023
1023
  ]
@@ -1041,32 +1041,15 @@
1041
1041
  "render-ui",
1042
1042
  "main",
1043
1043
  {
1044
- "appName": "Trading Dashboard",
1045
- "navItems": [
1046
- {
1047
- "href": "/portfolio",
1048
- "icon": "layout-list",
1049
- "label": "Portfolio"
1050
- },
1051
- {
1052
- "href": "/orders",
1053
- "icon": "clipboard-list",
1054
- "label": "Orders"
1055
- },
1056
- {
1057
- "icon": "layout-list",
1058
- "label": "Market",
1059
- "href": "/market"
1060
- }
1061
- ],
1062
- "type": "dashboard-layout",
1063
1044
  "children": [
1064
1045
  {
1065
1046
  "type": "scaled-diagram",
1066
1047
  "children": [
1067
1048
  {
1049
+ "gap": "lg",
1068
1050
  "children": [
1069
1051
  {
1052
+ "type": "breadcrumb",
1070
1053
  "items": [
1071
1054
  {
1072
1055
  "href": "/",
@@ -1075,119 +1058,118 @@
1075
1058
  {
1076
1059
  "label": "Portfolio"
1077
1060
  }
1078
- ],
1079
- "type": "breadcrumb"
1061
+ ]
1080
1062
  },
1081
1063
  {
1082
- "direction": "horizontal",
1083
- "type": "stack",
1084
- "gap": "md",
1085
1064
  "justify": "between",
1065
+ "type": "stack",
1086
1066
  "children": [
1087
1067
  {
1088
1068
  "children": [
1089
1069
  {
1090
- "type": "icon",
1091
- "name": "trending-up"
1070
+ "name": "trending-up",
1071
+ "type": "icon"
1092
1072
  },
1093
1073
  {
1074
+ "type": "typography",
1094
1075
  "variant": "h2",
1095
- "content": "Portfolio",
1096
- "type": "typography"
1076
+ "content": "Portfolio"
1097
1077
  }
1098
1078
  ],
1099
- "type": "stack",
1100
1079
  "gap": "md",
1101
- "direction": "horizontal"
1080
+ "direction": "horizontal",
1081
+ "type": "stack"
1102
1082
  },
1103
1083
  {
1104
- "icon": "refresh-cw",
1105
- "variant": "secondary",
1106
- "type": "button",
1107
1084
  "label": "Refresh",
1108
- "action": "REFRESH"
1085
+ "type": "button",
1086
+ "action": "REFRESH",
1087
+ "variant": "secondary",
1088
+ "icon": "refresh-cw"
1109
1089
  }
1110
- ]
1090
+ ],
1091
+ "gap": "md",
1092
+ "direction": "horizontal"
1111
1093
  },
1112
1094
  {
1113
1095
  "type": "divider"
1114
1096
  },
1115
1097
  {
1098
+ "padding": "md",
1099
+ "type": "box",
1116
1100
  "children": [
1117
1101
  {
1118
1102
  "children": [
1119
1103
  {
1120
1104
  "type": "stat-display",
1121
- "value": "@entity.totalValue",
1122
- "label": "TotalValue"
1105
+ "label": "TotalValue",
1106
+ "value": "@entity.totalValue"
1123
1107
  },
1124
1108
  {
1125
- "type": "stat-display",
1126
1109
  "label": "DailyChange",
1127
- "value": "@entity.dailyChange"
1110
+ "value": "@entity.dailyChange",
1111
+ "type": "stat-display"
1128
1112
  },
1129
1113
  {
1130
- "value": "@entity.positions",
1114
+ "label": "Positions",
1131
1115
  "type": "stat-display",
1132
- "label": "Positions"
1116
+ "value": "@entity.positions"
1133
1117
  },
1134
1118
  {
1135
- "type": "stat-display",
1119
+ "value": "@entity.cashBalance",
1136
1120
  "label": "CashBalance",
1137
- "value": "@entity.cashBalance"
1121
+ "type": "stat-display"
1138
1122
  }
1139
1123
  ],
1140
1124
  "cols": 3.0,
1141
1125
  "type": "simple-grid"
1142
1126
  }
1143
- ],
1144
- "padding": "md",
1145
- "type": "box"
1127
+ ]
1146
1128
  },
1147
1129
  {
1148
1130
  "type": "divider"
1149
1131
  },
1150
1132
  {
1133
+ "type": "grid",
1134
+ "cols": 2.0,
1151
1135
  "gap": "md",
1152
1136
  "children": [
1153
1137
  {
1138
+ "type": "card",
1154
1139
  "children": [
1155
1140
  {
1156
- "type": "typography",
1157
1141
  "variant": "caption",
1158
- "content": "Chart View"
1142
+ "content": "Chart View",
1143
+ "type": "typography"
1159
1144
  }
1160
- ],
1161
- "type": "card"
1145
+ ]
1162
1146
  },
1163
1147
  {
1164
1148
  "children": [
1165
1149
  {
1166
1150
  "type": "typography",
1167
- "content": "Graph View",
1168
- "variant": "caption"
1151
+ "variant": "caption",
1152
+ "content": "Graph View"
1169
1153
  }
1170
1154
  ],
1171
1155
  "type": "card"
1172
1156
  }
1173
- ],
1174
- "cols": 2.0,
1175
- "type": "grid"
1157
+ ]
1176
1158
  },
1177
1159
  {
1178
1160
  "type": "line-chart",
1179
1161
  "data": [
1180
1162
  {
1181
- "value": 12.0,
1182
- "date": "Jan"
1163
+ "date": "Jan",
1164
+ "value": 12.0
1183
1165
  },
1184
1166
  {
1185
1167
  "value": 19.0,
1186
1168
  "date": "Feb"
1187
1169
  },
1188
1170
  {
1189
- "value": 15.0,
1190
- "date": "Mar"
1171
+ "date": "Mar",
1172
+ "value": 15.0
1191
1173
  },
1192
1174
  {
1193
1175
  "date": "Apr",
@@ -1198,8 +1180,8 @@
1198
1180
  "value": 22.0
1199
1181
  },
1200
1182
  {
1201
- "value": 30.0,
1202
- "date": "Jun"
1183
+ "date": "Jun",
1184
+ "value": 30.0
1203
1185
  }
1204
1186
  ]
1205
1187
  },
@@ -1217,6 +1199,8 @@
1217
1199
  ]
1218
1200
  },
1219
1201
  {
1202
+ "width": 400.0,
1203
+ "type": "graph-view",
1220
1204
  "edges": [
1221
1205
  {
1222
1206
  "target": "b",
@@ -1227,7 +1211,6 @@
1227
1211
  "source": "b"
1228
1212
  }
1229
1213
  ],
1230
- "type": "graph-view",
1231
1214
  "nodes": [
1232
1215
  {
1233
1216
  "label": "Start",
@@ -1238,28 +1221,45 @@
1238
1221
  "id": "b"
1239
1222
  },
1240
1223
  {
1241
- "id": "c",
1242
- "label": "End"
1224
+ "label": "End",
1225
+ "id": "c"
1243
1226
  }
1244
1227
  ],
1245
- "height": 200.0,
1246
- "width": 400.0
1228
+ "height": 200.0
1247
1229
  }
1248
1230
  ],
1249
1231
  "direction": "vertical",
1250
- "gap": "lg",
1251
1232
  "type": "stack"
1252
1233
  }
1253
1234
  ]
1254
1235
  }
1255
- ]
1256
- }
1257
- ]
1258
- ]
1259
- },
1260
- {
1261
- "from": "refreshing",
1262
- "to": "displaying",
1236
+ ],
1237
+ "type": "dashboard-layout",
1238
+ "appName": "Trading Dashboard",
1239
+ "navItems": [
1240
+ {
1241
+ "icon": "layout-list",
1242
+ "href": "/portfolio",
1243
+ "label": "Portfolio"
1244
+ },
1245
+ {
1246
+ "label": "Orders",
1247
+ "href": "/orders",
1248
+ "icon": "clipboard-list"
1249
+ },
1250
+ {
1251
+ "icon": "layout-list",
1252
+ "label": "Market",
1253
+ "href": "/market"
1254
+ }
1255
+ ]
1256
+ }
1257
+ ]
1258
+ ]
1259
+ },
1260
+ {
1261
+ "from": "refreshing",
1262
+ "to": "displaying",
1263
1263
  "event": "REFRESHED",
1264
1264
  "effects": [
1265
1265
  [
@@ -1267,8 +1267,8 @@
1267
1267
  "Portfolio",
1268
1268
  {
1269
1269
  "emit": {
1270
- "failure": "PortfolioLoadFailed",
1271
- "success": "PortfolioLoaded"
1270
+ "success": "PortfolioLoaded",
1271
+ "failure": "PortfolioLoadFailed"
1272
1272
  }
1273
1273
  }
1274
1274
  ],
@@ -1276,16 +1276,10 @@
1276
1276
  "render-ui",
1277
1277
  "main",
1278
1278
  {
1279
- "type": "dashboard-layout",
1280
- "appName": "Trading Dashboard",
1281
1279
  "children": [
1282
1280
  {
1283
- "type": "scaled-diagram",
1284
1281
  "children": [
1285
1282
  {
1286
- "direction": "vertical",
1287
- "type": "stack",
1288
- "gap": "lg",
1289
1283
  "children": [
1290
1284
  {
1291
1285
  "type": "breadcrumb",
@@ -1300,68 +1294,68 @@
1300
1294
  ]
1301
1295
  },
1302
1296
  {
1303
- "justify": "between",
1304
- "type": "stack",
1305
- "direction": "horizontal",
1306
- "gap": "md",
1307
1297
  "children": [
1308
1298
  {
1309
- "type": "stack",
1299
+ "direction": "horizontal",
1310
1300
  "gap": "md",
1301
+ "type": "stack",
1311
1302
  "children": [
1312
1303
  {
1313
1304
  "type": "icon",
1314
1305
  "name": "trending-up"
1315
1306
  },
1316
1307
  {
1317
- "content": "Portfolio",
1318
1308
  "type": "typography",
1309
+ "content": "Portfolio",
1319
1310
  "variant": "h2"
1320
1311
  }
1321
- ],
1322
- "direction": "horizontal"
1312
+ ]
1323
1313
  },
1324
1314
  {
1325
1315
  "type": "button",
1326
- "action": "REFRESH",
1327
1316
  "icon": "refresh-cw",
1328
- "label": "Refresh",
1329
- "variant": "secondary"
1317
+ "action": "REFRESH",
1318
+ "variant": "secondary",
1319
+ "label": "Refresh"
1330
1320
  }
1331
- ]
1321
+ ],
1322
+ "justify": "between",
1323
+ "type": "stack",
1324
+ "direction": "horizontal",
1325
+ "gap": "md"
1332
1326
  },
1333
1327
  {
1334
1328
  "type": "divider"
1335
1329
  },
1336
1330
  {
1337
- "type": "box",
1338
1331
  "padding": "md",
1332
+ "type": "box",
1339
1333
  "children": [
1340
1334
  {
1341
- "cols": 3.0,
1335
+ "type": "simple-grid",
1342
1336
  "children": [
1343
1337
  {
1338
+ "value": "@entity.totalValue",
1344
1339
  "type": "stat-display",
1345
- "label": "TotalValue",
1346
- "value": "@entity.totalValue"
1340
+ "label": "TotalValue"
1347
1341
  },
1348
1342
  {
1349
- "type": "stat-display",
1350
1343
  "label": "DailyChange",
1351
- "value": "@entity.dailyChange"
1344
+ "value": "@entity.dailyChange",
1345
+ "type": "stat-display"
1352
1346
  },
1353
1347
  {
1354
- "type": "stat-display",
1348
+ "value": "@entity.positions",
1355
1349
  "label": "Positions",
1356
- "value": "@entity.positions"
1350
+ "type": "stat-display"
1357
1351
  },
1358
1352
  {
1359
- "type": "stat-display",
1360
1353
  "label": "CashBalance",
1354
+ "type": "stat-display",
1361
1355
  "value": "@entity.cashBalance"
1362
1356
  }
1363
1357
  ],
1364
- "type": "simple-grid"
1358
+ "cols": 3.0
1365
1359
  }
1366
1360
  ]
1367
1361
  },
@@ -1370,36 +1364,37 @@
1370
1364
  },
1371
1365
  {
1372
1366
  "gap": "md",
1367
+ "type": "grid",
1373
1368
  "cols": 2.0,
1374
1369
  "children": [
1375
1370
  {
1376
1371
  "type": "card",
1377
1372
  "children": [
1378
1373
  {
1379
- "content": "Chart View",
1374
+ "type": "typography",
1380
1375
  "variant": "caption",
1381
- "type": "typography"
1376
+ "content": "Chart View"
1382
1377
  }
1383
1378
  ]
1384
1379
  },
1385
1380
  {
1386
- "type": "card",
1387
1381
  "children": [
1388
1382
  {
1389
- "content": "Graph View",
1383
+ "type": "typography",
1390
1384
  "variant": "caption",
1391
- "type": "typography"
1385
+ "content": "Graph View"
1392
1386
  }
1393
- ]
1387
+ ],
1388
+ "type": "card"
1394
1389
  }
1395
- ],
1396
- "type": "grid"
1390
+ ]
1397
1391
  },
1398
1392
  {
1393
+ "type": "line-chart",
1399
1394
  "data": [
1400
1395
  {
1401
- "value": 12.0,
1402
- "date": "Jan"
1396
+ "date": "Jan",
1397
+ "value": 12.0
1403
1398
  },
1404
1399
  {
1405
1400
  "value": 19.0,
@@ -1410,8 +1405,8 @@
1410
1405
  "value": 15.0
1411
1406
  },
1412
1407
  {
1413
- "value": 25.0,
1414
- "date": "Apr"
1408
+ "date": "Apr",
1409
+ "value": 25.0
1415
1410
  },
1416
1411
  {
1417
1412
  "date": "May",
@@ -1421,10 +1416,10 @@
1421
1416
  "value": 30.0,
1422
1417
  "date": "Jun"
1423
1418
  }
1424
- ],
1425
- "type": "line-chart"
1419
+ ]
1426
1420
  },
1427
1421
  {
1422
+ "type": "chart-legend",
1428
1423
  "items": [
1429
1424
  {
1430
1425
  "label": "Current",
@@ -1434,10 +1429,10 @@
1434
1429
  "color": "muted",
1435
1430
  "label": "Previous"
1436
1431
  }
1437
- ],
1438
- "type": "chart-legend"
1432
+ ]
1439
1433
  },
1440
1434
  {
1435
+ "type": "graph-view",
1441
1436
  "edges": [
1442
1437
  {
1443
1438
  "source": "a",
@@ -1448,46 +1443,51 @@
1448
1443
  "target": "c"
1449
1444
  }
1450
1445
  ],
1451
- "height": 200.0,
1452
- "type": "graph-view",
1453
1446
  "nodes": [
1454
1447
  {
1455
- "label": "Start",
1456
- "id": "a"
1448
+ "id": "a",
1449
+ "label": "Start"
1457
1450
  },
1458
1451
  {
1459
- "label": "Process",
1460
- "id": "b"
1452
+ "id": "b",
1453
+ "label": "Process"
1461
1454
  },
1462
1455
  {
1463
1456
  "id": "c",
1464
1457
  "label": "End"
1465
1458
  }
1466
1459
  ],
1467
- "width": 400.0
1460
+ "width": 400.0,
1461
+ "height": 200.0
1468
1462
  }
1469
- ]
1463
+ ],
1464
+ "gap": "lg",
1465
+ "type": "stack",
1466
+ "direction": "vertical"
1470
1467
  }
1471
- ]
1468
+ ],
1469
+ "type": "scaled-diagram"
1472
1470
  }
1473
1471
  ],
1472
+ "appName": "Trading Dashboard",
1474
1473
  "navItems": [
1475
1474
  {
1476
- "label": "Portfolio",
1477
1475
  "href": "/portfolio",
1478
- "icon": "layout-list"
1476
+ "icon": "layout-list",
1477
+ "label": "Portfolio"
1479
1478
  },
1480
1479
  {
1480
+ "href": "/orders",
1481
1481
  "icon": "clipboard-list",
1482
- "label": "Orders",
1483
- "href": "/orders"
1482
+ "label": "Orders"
1484
1483
  },
1485
1484
  {
1486
1485
  "icon": "layout-list",
1487
1486
  "href": "/market",
1488
1487
  "label": "Market"
1489
1488
  }
1490
- ]
1489
+ ],
1490
+ "type": "dashboard-layout"
1491
1491
  }
1492
1492
  ]
1493
1493
  ]
@@ -1654,8 +1654,8 @@
1654
1654
  "TradeOrder",
1655
1655
  {
1656
1656
  "emit": {
1657
- "failure": "TradeOrderLoadFailed",
1658
- "success": "TradeOrderLoaded"
1657
+ "success": "TradeOrderLoaded",
1658
+ "failure": "TradeOrderLoadFailed"
1659
1659
  }
1660
1660
  }
1661
1661
  ],
@@ -1663,22 +1663,22 @@
1663
1663
  "render-ui",
1664
1664
  "main",
1665
1665
  {
1666
+ "direction": "vertical",
1666
1667
  "type": "stack",
1668
+ "align": "center",
1669
+ "className": "py-12",
1667
1670
  "children": [
1668
1671
  {
1669
1672
  "type": "spinner"
1670
1673
  },
1671
1674
  {
1672
- "type": "typography",
1673
1675
  "variant": "caption",
1674
1676
  "color": "muted",
1675
- "content": "Loading orders…"
1677
+ "content": "Loading orders…",
1678
+ "type": "typography"
1676
1679
  }
1677
1680
  ],
1678
- "gap": "md",
1679
- "className": "py-12",
1680
- "align": "center",
1681
- "direction": "vertical"
1681
+ "gap": "md"
1682
1682
  }
1683
1683
  ]
1684
1684
  ]
@@ -1692,86 +1692,66 @@
1692
1692
  "render-ui",
1693
1693
  "main",
1694
1694
  {
1695
- "appName": "Trading Dashboard",
1696
- "type": "dashboard-layout",
1697
- "navItems": [
1698
- {
1699
- "label": "Portfolio",
1700
- "href": "/portfolio",
1701
- "icon": "layout-list"
1702
- },
1703
- {
1704
- "href": "/orders",
1705
- "icon": "clipboard-list",
1706
- "label": "Orders"
1707
- },
1708
- {
1709
- "icon": "layout-list",
1710
- "label": "Market",
1711
- "href": "/market"
1712
- }
1713
- ],
1714
1695
  "children": [
1715
1696
  {
1716
1697
  "direction": "vertical",
1717
- "type": "stack",
1718
1698
  "gap": "lg",
1699
+ "className": "max-w-5xl mx-auto w-full",
1719
1700
  "children": [
1720
1701
  {
1721
- "direction": "horizontal",
1702
+ "type": "stack",
1722
1703
  "children": [
1723
1704
  {
1724
- "type": "stack",
1705
+ "align": "center",
1725
1706
  "children": [
1726
1707
  {
1727
1708
  "type": "icon",
1728
1709
  "name": "shopping-cart"
1729
1710
  },
1730
1711
  {
1731
- "type": "typography",
1732
1712
  "variant": "h2",
1713
+ "type": "typography",
1733
1714
  "content": "Trade Orders"
1734
1715
  }
1735
1716
  ],
1736
1717
  "gap": "sm",
1737
- "align": "center",
1718
+ "type": "stack",
1738
1719
  "direction": "horizontal"
1739
1720
  },
1740
1721
  {
1722
+ "type": "stack",
1741
1723
  "gap": "sm",
1742
1724
  "children": [
1743
1725
  {
1744
- "label": "Create TradeOrder",
1745
1726
  "type": "button",
1746
- "icon": "plus",
1727
+ "label": "Create TradeOrder",
1747
1728
  "action": "CREATE",
1729
+ "icon": "plus",
1748
1730
  "variant": "primary"
1749
1731
  }
1750
1732
  ],
1751
- "direction": "horizontal",
1752
- "type": "stack"
1733
+ "direction": "horizontal"
1753
1734
  }
1754
1735
  ],
1755
- "type": "stack",
1756
- "justify": "between",
1736
+ "gap": "md",
1737
+ "direction": "horizontal",
1757
1738
  "align": "center",
1758
- "gap": "md"
1739
+ "justify": "between"
1759
1740
  },
1760
1741
  {
1761
1742
  "type": "divider"
1762
1743
  },
1763
1744
  {
1764
- "entity": "@payload.data",
1765
1745
  "itemActions": [
1766
1746
  {
1767
- "event": "VIEW",
1768
1747
  "label": "View",
1769
- "variant": "ghost"
1748
+ "variant": "ghost",
1749
+ "event": "VIEW"
1770
1750
  },
1771
1751
  {
1752
+ "event": "EDIT",
1772
1753
  "label": "Edit",
1773
- "variant": "ghost",
1774
- "event": "EDIT"
1754
+ "variant": "ghost"
1775
1755
  },
1776
1756
  {
1777
1757
  "label": "Delete",
@@ -1779,21 +1759,19 @@
1779
1759
  "variant": "danger"
1780
1760
  }
1781
1761
  ],
1782
- "variant": "card",
1783
- "gap": "sm",
1784
1762
  "columns": [
1785
1763
  {
1786
1764
  "name": "symbol",
1787
- "variant": "h3",
1788
- "icon": "trending-up"
1765
+ "icon": "trending-up",
1766
+ "variant": "h3"
1789
1767
  },
1790
1768
  {
1791
1769
  "name": "side",
1792
1770
  "variant": "badge"
1793
1771
  },
1794
1772
  {
1795
- "name": "quantity",
1796
1773
  "format": "number",
1774
+ "name": "quantity",
1797
1775
  "variant": "body"
1798
1776
  },
1799
1777
  {
@@ -1802,13 +1780,35 @@
1802
1780
  "format": "currency"
1803
1781
  }
1804
1782
  ],
1783
+ "variant": "card",
1784
+ "gap": "sm",
1785
+ "fields": [],
1805
1786
  "type": "data-list",
1806
- "fields": []
1787
+ "entity": "@payload.data"
1807
1788
  }
1808
1789
  ],
1809
- "className": "max-w-5xl mx-auto w-full"
1790
+ "type": "stack"
1810
1791
  }
1811
- ]
1792
+ ],
1793
+ "appName": "Trading Dashboard",
1794
+ "navItems": [
1795
+ {
1796
+ "icon": "layout-list",
1797
+ "label": "Portfolio",
1798
+ "href": "/portfolio"
1799
+ },
1800
+ {
1801
+ "href": "/orders",
1802
+ "icon": "clipboard-list",
1803
+ "label": "Orders"
1804
+ },
1805
+ {
1806
+ "href": "/market",
1807
+ "label": "Market",
1808
+ "icon": "layout-list"
1809
+ }
1810
+ ],
1811
+ "type": "dashboard-layout"
1812
1812
  }
1813
1813
  ]
1814
1814
  ]
@@ -1822,36 +1822,36 @@
1822
1822
  "render-ui",
1823
1823
  "main",
1824
1824
  {
1825
- "type": "stack",
1826
- "align": "center",
1825
+ "className": "py-12",
1827
1826
  "direction": "vertical",
1827
+ "gap": "md",
1828
+ "align": "center",
1828
1829
  "children": [
1829
1830
  {
1830
- "name": "alert-triangle",
1831
1831
  "type": "icon",
1832
- "color": "destructive"
1832
+ "color": "destructive",
1833
+ "name": "alert-triangle"
1833
1834
  },
1834
1835
  {
1836
+ "content": "Failed to load orders",
1835
1837
  "variant": "h3",
1836
- "type": "typography",
1837
- "content": "Failed to load orders"
1838
+ "type": "typography"
1838
1839
  },
1839
1840
  {
1840
- "color": "muted",
1841
1841
  "type": "typography",
1842
1842
  "variant": "body",
1843
+ "color": "muted",
1843
1844
  "content": "@payload.error"
1844
1845
  },
1845
1846
  {
1846
- "variant": "primary",
1847
+ "label": "Retry",
1847
1848
  "icon": "rotate-ccw",
1848
1849
  "action": "INIT",
1849
1850
  "type": "button",
1850
- "label": "Retry"
1851
+ "variant": "primary"
1851
1852
  }
1852
1853
  ],
1853
- "className": "py-12",
1854
- "gap": "md"
1854
+ "type": "stack"
1855
1855
  }
1856
1856
  ]
1857
1857
  ]
@@ -2027,8 +2027,8 @@
2027
2027
  "TradeOrder",
2028
2028
  {
2029
2029
  "emit": {
2030
- "failure": "TradeOrderLoadFailed",
2031
- "success": "TradeOrderLoaded"
2030
+ "success": "TradeOrderLoaded",
2031
+ "failure": "TradeOrderLoadFailed"
2032
2032
  }
2033
2033
  }
2034
2034
  ],
@@ -2036,23 +2036,23 @@
2036
2036
  "render-ui",
2037
2037
  "modal",
2038
2038
  {
2039
- "gap": "md",
2040
2039
  "direction": "vertical",
2041
2040
  "type": "stack",
2041
+ "gap": "md",
2042
2042
  "children": [
2043
2043
  {
2044
- "direction": "horizontal",
2045
2044
  "children": [
2046
2045
  {
2047
- "name": "plus-circle",
2048
- "type": "icon"
2046
+ "type": "icon",
2047
+ "name": "plus-circle"
2049
2048
  },
2050
2049
  {
2051
- "content": "Create TradeOrder",
2052
2050
  "variant": "h3",
2053
- "type": "typography"
2051
+ "type": "typography",
2052
+ "content": "Create TradeOrder"
2054
2053
  }
2055
2054
  ],
2055
+ "direction": "horizontal",
2056
2056
  "type": "stack",
2057
2057
  "gap": "sm"
2058
2058
  },
@@ -2060,16 +2060,16 @@
2060
2060
  "type": "divider"
2061
2061
  },
2062
2062
  {
2063
+ "cancelEvent": "CLOSE",
2063
2064
  "fields": [
2064
2065
  "symbol",
2065
2066
  "side",
2066
2067
  "quantity",
2067
2068
  "price"
2068
2069
  ],
2069
- "cancelEvent": "CLOSE",
2070
- "type": "form-section",
2071
2070
  "mode": "create",
2072
- "submitEvent": "SAVE"
2071
+ "submitEvent": "SAVE",
2072
+ "type": "form-section"
2073
2073
  }
2074
2074
  ]
2075
2075
  }
@@ -2112,8 +2112,8 @@
2112
2112
  "@payload.data",
2113
2113
  {
2114
2114
  "emit": {
2115
- "success": "TradeOrderSaved",
2116
- "failure": "TradeOrderSaveFailed"
2115
+ "failure": "TradeOrderSaveFailed",
2116
+ "success": "TradeOrderSaved"
2117
2117
  }
2118
2118
  }
2119
2119
  ],
@@ -2315,33 +2315,33 @@
2315
2315
  "fetch",
2316
2316
  "TradeOrder",
2317
2317
  {
2318
- "id": "@payload.id",
2319
2318
  "emit": {
2320
- "success": "TradeOrderLoaded",
2321
- "failure": "TradeOrderLoadFailed"
2322
- }
2319
+ "failure": "TradeOrderLoadFailed",
2320
+ "success": "TradeOrderLoaded"
2321
+ },
2322
+ "id": "@payload.id"
2323
2323
  }
2324
2324
  ],
2325
2325
  [
2326
2326
  "render-ui",
2327
2327
  "modal",
2328
2328
  {
2329
- "type": "stack",
2330
2329
  "gap": "md",
2330
+ "direction": "vertical",
2331
2331
  "children": [
2332
2332
  {
2333
- "gap": "sm",
2334
2333
  "type": "stack",
2335
2334
  "direction": "horizontal",
2335
+ "gap": "sm",
2336
2336
  "children": [
2337
2337
  {
2338
- "name": "edit",
2339
- "type": "icon"
2338
+ "type": "icon",
2339
+ "name": "edit"
2340
2340
  },
2341
2341
  {
2342
- "variant": "h3",
2342
+ "type": "typography",
2343
2343
  "content": "Edit TradeOrder",
2344
- "type": "typography"
2344
+ "variant": "h3"
2345
2345
  }
2346
2346
  ]
2347
2347
  },
@@ -2349,20 +2349,20 @@
2349
2349
  "type": "divider"
2350
2350
  },
2351
2351
  {
2352
- "entity": "@payload.row",
2353
- "cancelEvent": "CLOSE",
2354
- "mode": "edit",
2355
- "type": "form-section",
2356
2352
  "submitEvent": "SAVE",
2357
2353
  "fields": [
2358
2354
  "symbol",
2359
2355
  "side",
2360
2356
  "quantity",
2361
2357
  "price"
2362
- ]
2358
+ ],
2359
+ "mode": "edit",
2360
+ "cancelEvent": "CLOSE",
2361
+ "entity": "@payload.row",
2362
+ "type": "form-section"
2363
2363
  }
2364
2364
  ],
2365
- "direction": "vertical"
2365
+ "type": "stack"
2366
2366
  }
2367
2367
  ]
2368
2368
  ]
@@ -2403,8 +2403,8 @@
2403
2403
  "@payload.data",
2404
2404
  {
2405
2405
  "emit": {
2406
- "success": "TradeOrderUpdated",
2407
- "failure": "TradeOrderUpdateFailed"
2406
+ "failure": "TradeOrderUpdateFailed",
2407
+ "success": "TradeOrderUpdated"
2408
2408
  }
2409
2409
  }
2410
2410
  ],
@@ -2543,8 +2543,8 @@
2543
2543
  {
2544
2544
  "id": "@payload.id",
2545
2545
  "emit": {
2546
- "success": "TradeOrderLoaded",
2547
- "failure": "TradeOrderLoadFailed"
2546
+ "failure": "TradeOrderLoadFailed",
2547
+ "success": "TradeOrderLoaded"
2548
2548
  }
2549
2549
  }
2550
2550
  ],
@@ -2552,10 +2552,10 @@
2552
2552
  "render-ui",
2553
2553
  "modal",
2554
2554
  {
2555
+ "type": "stack",
2555
2556
  "children": [
2556
2557
  {
2557
2558
  "type": "stack",
2558
- "direction": "horizontal",
2559
2559
  "gap": "sm",
2560
2560
  "children": [
2561
2561
  {
@@ -2563,39 +2563,41 @@
2563
2563
  "name": "eye"
2564
2564
  },
2565
2565
  {
2566
- "content": "@entity.symbol",
2567
2566
  "type": "typography",
2568
- "variant": "h3"
2567
+ "variant": "h3",
2568
+ "content": "@entity.symbol"
2569
2569
  }
2570
2570
  ],
2571
- "align": "center"
2571
+ "align": "center",
2572
+ "direction": "horizontal"
2572
2573
  },
2573
2574
  {
2574
2575
  "type": "divider"
2575
2576
  },
2576
2577
  {
2577
- "type": "stack",
2578
+ "gap": "md",
2579
+ "direction": "horizontal",
2578
2580
  "children": [
2579
2581
  {
2580
2582
  "type": "typography",
2581
- "variant": "caption",
2582
- "content": "Symbol"
2583
+ "content": "Symbol",
2584
+ "variant": "caption"
2583
2585
  },
2584
2586
  {
2587
+ "type": "typography",
2585
2588
  "variant": "body",
2586
- "content": "@entity.symbol",
2587
- "type": "typography"
2589
+ "content": "@entity.symbol"
2588
2590
  }
2589
2591
  ],
2590
- "direction": "horizontal",
2591
- "gap": "md"
2592
+ "type": "stack"
2592
2593
  },
2593
2594
  {
2595
+ "type": "stack",
2594
2596
  "children": [
2595
2597
  {
2596
- "type": "typography",
2597
2598
  "variant": "caption",
2598
- "content": "Side"
2599
+ "content": "Side",
2600
+ "type": "typography"
2599
2601
  },
2600
2602
  {
2601
2603
  "type": "typography",
@@ -2604,71 +2606,69 @@
2604
2606
  }
2605
2607
  ],
2606
2608
  "direction": "horizontal",
2607
- "gap": "md",
2608
- "type": "stack"
2609
+ "gap": "md"
2609
2610
  },
2610
2611
  {
2611
- "type": "stack",
2612
2612
  "gap": "md",
2613
2613
  "direction": "horizontal",
2614
+ "type": "stack",
2614
2615
  "children": [
2615
2616
  {
2616
- "variant": "caption",
2617
2617
  "content": "Quantity",
2618
- "type": "typography"
2618
+ "type": "typography",
2619
+ "variant": "caption"
2619
2620
  },
2620
2621
  {
2621
- "type": "typography",
2622
+ "variant": "body",
2622
2623
  "content": "@entity.quantity",
2623
- "variant": "body"
2624
+ "type": "typography"
2624
2625
  }
2625
2626
  ]
2626
2627
  },
2627
2628
  {
2629
+ "type": "stack",
2630
+ "direction": "horizontal",
2631
+ "gap": "md",
2628
2632
  "children": [
2629
2633
  {
2630
2634
  "type": "typography",
2631
- "variant": "caption",
2632
- "content": "Price"
2635
+ "content": "Price",
2636
+ "variant": "caption"
2633
2637
  },
2634
2638
  {
2635
2639
  "content": "@entity.price",
2636
- "type": "typography",
2637
- "variant": "body"
2640
+ "variant": "body",
2641
+ "type": "typography"
2638
2642
  }
2639
- ],
2640
- "type": "stack",
2641
- "gap": "md",
2642
- "direction": "horizontal"
2643
+ ]
2643
2644
  },
2644
2645
  {
2645
2646
  "type": "divider"
2646
2647
  },
2647
2648
  {
2648
- "direction": "horizontal",
2649
2649
  "justify": "end",
2650
- "gap": "sm",
2651
- "type": "stack",
2652
2650
  "children": [
2653
2651
  {
2654
- "label": "Edit",
2655
2652
  "type": "button",
2656
- "action": "EDIT",
2657
2653
  "icon": "edit",
2658
- "variant": "primary"
2654
+ "label": "Edit",
2655
+ "variant": "primary",
2656
+ "action": "EDIT"
2659
2657
  },
2660
2658
  {
2661
- "type": "button",
2662
2659
  "label": "Close",
2660
+ "type": "button",
2663
2661
  "action": "CLOSE",
2664
2662
  "variant": "ghost"
2665
2663
  }
2666
- ]
2664
+ ],
2665
+ "direction": "horizontal",
2666
+ "type": "stack",
2667
+ "gap": "sm"
2667
2668
  }
2668
2669
  ],
2669
2670
  "direction": "vertical",
2670
- "gap": "md",
2671
- "type": "stack"
2671
+ "gap": "md"
2672
2672
  }
2673
2673
  ]
2674
2674
  ]
@@ -2895,11 +2895,11 @@
2895
2895
  "fetch",
2896
2896
  "TradeOrder",
2897
2897
  {
2898
- "id": "@payload.id",
2899
2898
  "emit": {
2900
- "success": "TradeOrderLoaded",
2901
- "failure": "TradeOrderLoadFailed"
2902
- }
2899
+ "failure": "TradeOrderLoadFailed",
2900
+ "success": "TradeOrderLoaded"
2901
+ },
2902
+ "id": "@payload.id"
2903
2903
  }
2904
2904
  ],
2905
2905
  [
@@ -2908,55 +2908,55 @@
2908
2908
  {
2909
2909
  "children": [
2910
2910
  {
2911
- "direction": "horizontal",
2912
2911
  "type": "stack",
2912
+ "gap": "sm",
2913
2913
  "children": [
2914
2914
  {
2915
- "name": "alert-triangle",
2916
- "type": "icon"
2915
+ "type": "icon",
2916
+ "name": "alert-triangle"
2917
2917
  },
2918
2918
  {
2919
- "variant": "h3",
2919
+ "content": "Delete TradeOrder",
2920
2920
  "type": "typography",
2921
- "content": "Delete TradeOrder"
2921
+ "variant": "h3"
2922
2922
  }
2923
2923
  ],
2924
- "gap": "sm",
2925
- "align": "center"
2924
+ "align": "center",
2925
+ "direction": "horizontal"
2926
2926
  },
2927
2927
  {
2928
2928
  "type": "divider"
2929
2929
  },
2930
2930
  {
2931
+ "type": "alert",
2931
2932
  "message": "This action cannot be undone.",
2932
- "variant": "error",
2933
- "type": "alert"
2933
+ "variant": "error"
2934
2934
  },
2935
2935
  {
2936
2936
  "type": "stack",
2937
2937
  "direction": "horizontal",
2938
+ "gap": "sm",
2938
2939
  "justify": "end",
2939
2940
  "children": [
2940
2941
  {
2941
- "label": "Cancel",
2942
+ "action": "CANCEL",
2942
2943
  "variant": "ghost",
2943
- "type": "button",
2944
- "action": "CANCEL"
2944
+ "label": "Cancel",
2945
+ "type": "button"
2945
2946
  },
2946
2947
  {
2948
+ "variant": "danger",
2949
+ "label": "Delete",
2947
2950
  "type": "button",
2948
2951
  "action": "CONFIRM_DELETE",
2949
- "variant": "danger",
2950
- "icon": "check",
2951
- "label": "Delete"
2952
+ "icon": "check"
2952
2953
  }
2953
- ],
2954
- "gap": "sm"
2954
+ ]
2955
2955
  }
2956
2956
  ],
2957
2957
  "type": "stack",
2958
- "direction": "vertical",
2959
- "gap": "md"
2958
+ "gap": "md",
2959
+ "direction": "vertical"
2960
2960
  }
2961
2961
  ]
2962
2962
  ]
@@ -2973,8 +2973,8 @@
2973
2973
  "@entity.pendingId",
2974
2974
  {
2975
2975
  "emit": {
2976
- "failure": "TradeOrderDeleteFailed",
2977
- "success": "TradeOrderDeleted"
2976
+ "success": "TradeOrderDeleted",
2977
+ "failure": "TradeOrderDeleteFailed"
2978
2978
  }
2979
2979
  }
2980
2980
  ],
@@ -3270,8 +3270,8 @@
3270
3270
  "MarketFeed",
3271
3271
  {
3272
3272
  "emit": {
3273
- "failure": "MarketFeedLoadFailed",
3274
- "success": "MarketFeedLoaded"
3273
+ "success": "MarketFeedLoaded",
3274
+ "failure": "MarketFeedLoadFailed"
3275
3275
  }
3276
3276
  }
3277
3277
  ],
@@ -3282,65 +3282,65 @@
3282
3282
  "appName": "Trading Dashboard",
3283
3283
  "children": [
3284
3284
  {
3285
+ "direction": "vertical",
3285
3286
  "children": [
3286
3287
  {
3288
+ "align": "center",
3289
+ "type": "stack",
3290
+ "direction": "horizontal",
3287
3291
  "children": [
3288
3292
  {
3289
- "name": "activity",
3290
- "type": "icon"
3293
+ "type": "icon",
3294
+ "name": "activity"
3291
3295
  },
3292
3296
  {
3293
- "type": "typography",
3294
3297
  "content": "MarketFeed",
3295
- "variant": "h2"
3298
+ "variant": "h2",
3299
+ "type": "typography"
3296
3300
  }
3297
3301
  ],
3298
- "direction": "horizontal",
3299
- "type": "stack",
3300
- "gap": "md",
3301
- "align": "center"
3302
+ "gap": "md"
3302
3303
  },
3303
3304
  {
3304
3305
  "type": "divider"
3305
3306
  },
3306
3307
  {
3307
- "content": "Ready to start marketfeed operation.",
3308
3308
  "color": "muted",
3309
3309
  "type": "typography",
3310
+ "content": "Ready to start marketfeed operation.",
3310
3311
  "variant": "body"
3311
3312
  },
3312
3313
  {
3313
- "icon": "play",
3314
3314
  "label": "Start",
3315
3315
  "type": "button",
3316
- "action": "START",
3317
- "variant": "primary"
3316
+ "variant": "primary",
3317
+ "icon": "play",
3318
+ "action": "START"
3318
3319
  }
3319
3320
  ],
3320
- "direction": "vertical",
3321
3321
  "gap": "lg",
3322
3322
  "type": "stack",
3323
3323
  "align": "center"
3324
3324
  }
3325
3325
  ],
3326
- "type": "dashboard-layout",
3327
3326
  "navItems": [
3328
3327
  {
3329
- "href": "/portfolio",
3330
3328
  "icon": "layout-list",
3331
- "label": "Portfolio"
3329
+ "label": "Portfolio",
3330
+ "href": "/portfolio"
3332
3331
  },
3333
3332
  {
3333
+ "href": "/orders",
3334
3334
  "label": "Orders",
3335
- "icon": "clipboard-list",
3336
- "href": "/orders"
3335
+ "icon": "clipboard-list"
3337
3336
  },
3338
3337
  {
3339
3338
  "icon": "layout-list",
3340
- "href": "/market",
3341
- "label": "Market"
3339
+ "label": "Market",
3340
+ "href": "/market"
3342
3341
  }
3343
- ]
3342
+ ],
3343
+ "type": "dashboard-layout"
3344
3344
  }
3345
3345
  ]
3346
3346
  ]
@@ -3354,44 +3354,44 @@
3354
3354
  "render-ui",
3355
3355
  "main",
3356
3356
  {
3357
- "type": "dashboard-layout",
3358
3357
  "navItems": [
3359
3358
  {
3360
- "label": "Portfolio",
3361
3359
  "icon": "layout-list",
3360
+ "label": "Portfolio",
3362
3361
  "href": "/portfolio"
3363
3362
  },
3364
3363
  {
3365
- "icon": "clipboard-list",
3366
3364
  "label": "Orders",
3365
+ "icon": "clipboard-list",
3367
3366
  "href": "/orders"
3368
3367
  },
3369
3368
  {
3370
- "label": "Market",
3369
+ "icon": "layout-list",
3371
3370
  "href": "/market",
3372
- "icon": "layout-list"
3371
+ "label": "Market"
3373
3372
  }
3374
3373
  ],
3374
+ "appName": "Trading Dashboard",
3375
3375
  "children": [
3376
3376
  {
3377
3377
  "direction": "vertical",
3378
+ "gap": "lg",
3378
3379
  "type": "stack",
3380
+ "align": "center",
3379
3381
  "children": [
3380
3382
  {
3381
- "type": "loading-state",
3382
3383
  "title": "Connecting to market feed...",
3383
- "message": "Processing marketfeed..."
3384
+ "message": "Processing marketfeed...",
3385
+ "type": "loading-state"
3384
3386
  },
3385
3387
  {
3386
- "variant": "text",
3387
- "type": "skeleton"
3388
+ "type": "skeleton",
3389
+ "variant": "text"
3388
3390
  }
3389
- ],
3390
- "gap": "lg",
3391
- "align": "center"
3391
+ ]
3392
3392
  }
3393
3393
  ],
3394
- "appName": "Trading Dashboard"
3394
+ "type": "dashboard-layout"
3395
3395
  }
3396
3396
  ]
3397
3397
  ]
@@ -3408,8 +3408,8 @@
3408
3408
  "@payload.data",
3409
3409
  {
3410
3410
  "emit": {
3411
- "success": "MarketFeedSaved",
3412
- "failure": "MarketFeedSaveFailed"
3411
+ "failure": "MarketFeedSaveFailed",
3412
+ "success": "MarketFeedSaved"
3413
3413
  }
3414
3414
  }
3415
3415
  ],
@@ -3418,72 +3418,40 @@
3418
3418
  "main",
3419
3419
  {
3420
3420
  "type": "dashboard-layout",
3421
- "appName": "Trading Dashboard",
3422
- "navItems": [
3423
- {
3424
- "href": "/portfolio",
3425
- "icon": "layout-list",
3426
- "label": "Portfolio"
3427
- },
3428
- {
3429
- "href": "/orders",
3430
- "icon": "clipboard-list",
3431
- "label": "Orders"
3432
- },
3433
- {
3434
- "href": "/market",
3435
- "icon": "layout-list",
3436
- "label": "Market"
3437
- }
3438
- ],
3439
3421
  "children": [
3440
3422
  {
3423
+ "gap": "lg",
3424
+ "direction": "vertical",
3441
3425
  "align": "center",
3426
+ "type": "stack",
3442
3427
  "children": [
3443
3428
  {
3444
- "name": "check-circle",
3445
- "type": "icon"
3429
+ "type": "icon",
3430
+ "name": "check-circle"
3446
3431
  },
3447
3432
  {
3433
+ "type": "alert",
3448
3434
  "message": "Market feed connected.",
3449
- "variant": "success",
3450
- "type": "alert"
3435
+ "variant": "success"
3451
3436
  },
3452
3437
  {
3453
- "gap": "sm",
3438
+ "type": "stack",
3454
3439
  "direction": "horizontal",
3455
3440
  "justify": "center",
3456
- "type": "stack",
3441
+ "gap": "sm",
3457
3442
  "children": [
3458
3443
  {
3444
+ "variant": "ghost",
3459
3445
  "action": "RESET",
3460
3446
  "type": "button",
3461
- "icon": "rotate-ccw",
3462
- "variant": "ghost",
3463
- "label": "Reset"
3447
+ "label": "Reset",
3448
+ "icon": "rotate-ccw"
3464
3449
  }
3465
3450
  ]
3466
3451
  }
3467
- ],
3468
- "direction": "vertical",
3469
- "gap": "lg",
3470
- "type": "stack"
3452
+ ]
3471
3453
  }
3472
- ]
3473
- }
3474
- ]
3475
- ]
3476
- },
3477
- {
3478
- "from": "loading",
3479
- "to": "error",
3480
- "event": "FAILED",
3481
- "effects": [
3482
- [
3483
- "render-ui",
3484
- "main",
3485
- {
3486
- "type": "dashboard-layout",
3454
+ ],
3487
3455
  "navItems": [
3488
3456
  {
3489
3457
  "label": "Portfolio",
@@ -3492,54 +3460,86 @@
3492
3460
  },
3493
3461
  {
3494
3462
  "label": "Orders",
3495
- "href": "/orders",
3496
- "icon": "clipboard-list"
3463
+ "icon": "clipboard-list",
3464
+ "href": "/orders"
3497
3465
  },
3498
3466
  {
3499
3467
  "label": "Market",
3500
- "href": "/market",
3501
- "icon": "layout-list"
3468
+ "icon": "layout-list",
3469
+ "href": "/market"
3502
3470
  }
3503
3471
  ],
3472
+ "appName": "Trading Dashboard"
3473
+ }
3474
+ ]
3475
+ ]
3476
+ },
3477
+ {
3478
+ "from": "loading",
3479
+ "to": "error",
3480
+ "event": "FAILED",
3481
+ "effects": [
3482
+ [
3483
+ "render-ui",
3484
+ "main",
3485
+ {
3504
3486
  "children": [
3505
3487
  {
3506
- "direction": "vertical",
3507
3488
  "gap": "lg",
3489
+ "direction": "vertical",
3508
3490
  "children": [
3509
3491
  {
3510
- "message": "Market feed disconnected.",
3511
3492
  "type": "error-state",
3512
3493
  "title": "Operation Failed",
3494
+ "message": "Market feed disconnected.",
3513
3495
  "onRetry": "RETRY"
3514
3496
  },
3515
3497
  {
3516
- "direction": "horizontal",
3517
- "gap": "sm",
3518
- "type": "stack",
3498
+ "justify": "center",
3519
3499
  "children": [
3520
3500
  {
3521
- "variant": "primary",
3501
+ "icon": "refresh-cw",
3522
3502
  "action": "RETRY",
3503
+ "label": "Retry",
3523
3504
  "type": "button",
3524
- "icon": "refresh-cw",
3525
- "label": "Retry"
3505
+ "variant": "primary"
3526
3506
  },
3527
3507
  {
3528
3508
  "type": "button",
3529
- "variant": "ghost",
3509
+ "label": "Reset",
3530
3510
  "action": "RESET",
3531
3511
  "icon": "rotate-ccw",
3532
- "label": "Reset"
3512
+ "variant": "ghost"
3533
3513
  }
3534
3514
  ],
3535
- "justify": "center"
3515
+ "type": "stack",
3516
+ "gap": "sm",
3517
+ "direction": "horizontal"
3536
3518
  }
3537
3519
  ],
3538
- "align": "center",
3539
- "type": "stack"
3520
+ "type": "stack",
3521
+ "align": "center"
3540
3522
  }
3541
3523
  ],
3542
- "appName": "Trading Dashboard"
3524
+ "appName": "Trading Dashboard",
3525
+ "type": "dashboard-layout",
3526
+ "navItems": [
3527
+ {
3528
+ "label": "Portfolio",
3529
+ "href": "/portfolio",
3530
+ "icon": "layout-list"
3531
+ },
3532
+ {
3533
+ "label": "Orders",
3534
+ "href": "/orders",
3535
+ "icon": "clipboard-list"
3536
+ },
3537
+ {
3538
+ "label": "Market",
3539
+ "href": "/market",
3540
+ "icon": "layout-list"
3541
+ }
3542
+ ]
3543
3543
  }
3544
3544
  ]
3545
3545
  ]
@@ -3553,14 +3553,30 @@
3553
3553
  "render-ui",
3554
3554
  "main",
3555
3555
  {
3556
- "type": "dashboard-layout",
3556
+ "navItems": [
3557
+ {
3558
+ "href": "/portfolio",
3559
+ "label": "Portfolio",
3560
+ "icon": "layout-list"
3561
+ },
3562
+ {
3563
+ "href": "/orders",
3564
+ "icon": "clipboard-list",
3565
+ "label": "Orders"
3566
+ },
3567
+ {
3568
+ "label": "Market",
3569
+ "icon": "layout-list",
3570
+ "href": "/market"
3571
+ }
3572
+ ],
3557
3573
  "appName": "Trading Dashboard",
3574
+ "type": "dashboard-layout",
3558
3575
  "children": [
3559
3576
  {
3577
+ "align": "center",
3560
3578
  "direction": "vertical",
3561
3579
  "gap": "lg",
3562
- "type": "stack",
3563
- "align": "center",
3564
3580
  "children": [
3565
3581
  {
3566
3582
  "children": [
@@ -3570,49 +3586,33 @@
3570
3586
  },
3571
3587
  {
3572
3588
  "content": "MarketFeed",
3573
- "type": "typography",
3574
- "variant": "h2"
3589
+ "variant": "h2",
3590
+ "type": "typography"
3575
3591
  }
3576
3592
  ],
3577
3593
  "gap": "md",
3578
- "direction": "horizontal",
3579
3594
  "type": "stack",
3580
- "align": "center"
3595
+ "align": "center",
3596
+ "direction": "horizontal"
3581
3597
  },
3582
3598
  {
3583
3599
  "type": "divider"
3584
3600
  },
3585
3601
  {
3602
+ "type": "typography",
3586
3603
  "color": "muted",
3587
3604
  "content": "Ready to start marketfeed operation.",
3588
- "type": "typography",
3589
3605
  "variant": "body"
3590
3606
  },
3591
3607
  {
3608
+ "variant": "primary",
3592
3609
  "icon": "play",
3593
- "action": "START",
3594
3610
  "type": "button",
3595
- "variant": "primary",
3596
- "label": "Start"
3611
+ "label": "Start",
3612
+ "action": "START"
3597
3613
  }
3598
- ]
3599
- }
3600
- ],
3601
- "navItems": [
3602
- {
3603
- "href": "/portfolio",
3604
- "label": "Portfolio",
3605
- "icon": "layout-list"
3606
- },
3607
- {
3608
- "icon": "clipboard-list",
3609
- "href": "/orders",
3610
- "label": "Orders"
3611
- },
3612
- {
3613
- "icon": "layout-list",
3614
- "label": "Market",
3615
- "href": "/market"
3614
+ ],
3615
+ "type": "stack"
3616
3616
  }
3617
3617
  ]
3618
3618
  }
@@ -3628,66 +3628,66 @@
3628
3628
  "render-ui",
3629
3629
  "main",
3630
3630
  {
3631
- "type": "dashboard-layout",
3632
- "appName": "Trading Dashboard",
3633
3631
  "children": [
3634
3632
  {
3635
- "direction": "vertical",
3636
- "gap": "lg",
3637
3633
  "type": "stack",
3638
- "align": "center",
3634
+ "gap": "lg",
3639
3635
  "children": [
3640
3636
  {
3641
- "type": "stack",
3637
+ "gap": "md",
3642
3638
  "align": "center",
3639
+ "type": "stack",
3640
+ "direction": "horizontal",
3643
3641
  "children": [
3644
3642
  {
3645
3643
  "name": "activity",
3646
3644
  "type": "icon"
3647
3645
  },
3648
3646
  {
3649
- "variant": "h2",
3647
+ "content": "MarketFeed",
3650
3648
  "type": "typography",
3651
- "content": "MarketFeed"
3649
+ "variant": "h2"
3652
3650
  }
3653
- ],
3654
- "direction": "horizontal",
3655
- "gap": "md"
3651
+ ]
3656
3652
  },
3657
3653
  {
3658
3654
  "type": "divider"
3659
3655
  },
3660
3656
  {
3661
3657
  "variant": "body",
3662
- "color": "muted",
3663
3658
  "content": "Ready to start marketfeed operation.",
3664
- "type": "typography"
3659
+ "type": "typography",
3660
+ "color": "muted"
3665
3661
  },
3666
3662
  {
3667
- "type": "button",
3668
- "icon": "play",
3669
3663
  "variant": "primary",
3664
+ "action": "START",
3670
3665
  "label": "Start",
3671
- "action": "START"
3666
+ "type": "button",
3667
+ "icon": "play"
3672
3668
  }
3673
- ]
3669
+ ],
3670
+ "direction": "vertical",
3671
+ "align": "center"
3674
3672
  }
3675
3673
  ],
3674
+ "type": "dashboard-layout",
3675
+ "appName": "Trading Dashboard",
3676
3676
  "navItems": [
3677
3677
  {
3678
- "icon": "layout-list",
3679
3678
  "href": "/portfolio",
3680
- "label": "Portfolio"
3679
+ "label": "Portfolio",
3680
+ "icon": "layout-list"
3681
3681
  },
3682
3682
  {
3683
3683
  "label": "Orders",
3684
- "href": "/orders",
3685
- "icon": "clipboard-list"
3684
+ "icon": "clipboard-list",
3685
+ "href": "/orders"
3686
3686
  },
3687
3687
  {
3688
- "label": "Market",
3688
+ "href": "/market",
3689
3689
  "icon": "layout-list",
3690
- "href": "/market"
3690
+ "label": "Market"
3691
3691
  }
3692
3692
  ]
3693
3693
  }
@@ -3703,7 +3703,7 @@
3703
3703
  "render-ui",
3704
3704
  "main",
3705
3705
  {
3706
- "type": "dashboard-layout",
3706
+ "appName": "Trading Dashboard",
3707
3707
  "navItems": [
3708
3708
  {
3709
3709
  "icon": "layout-list",
@@ -3711,8 +3711,8 @@
3711
3711
  "href": "/portfolio"
3712
3712
  },
3713
3713
  {
3714
- "label": "Orders",
3715
3714
  "href": "/orders",
3715
+ "label": "Orders",
3716
3716
  "icon": "clipboard-list"
3717
3717
  },
3718
3718
  {
@@ -3721,16 +3721,15 @@
3721
3721
  "icon": "layout-list"
3722
3722
  }
3723
3723
  ],
3724
- "appName": "Trading Dashboard",
3725
3724
  "children": [
3726
3725
  {
3727
- "align": "center",
3728
- "type": "stack",
3729
3726
  "gap": "lg",
3727
+ "direction": "vertical",
3728
+ "type": "stack",
3730
3729
  "children": [
3731
3730
  {
3732
- "message": "Processing marketfeed...",
3733
3731
  "title": "Connecting to market feed...",
3732
+ "message": "Processing marketfeed...",
3734
3733
  "type": "loading-state"
3735
3734
  },
3736
3735
  {
@@ -3738,9 +3737,10 @@
3738
3737
  "variant": "text"
3739
3738
  }
3740
3739
  ],
3741
- "direction": "vertical"
3740
+ "align": "center"
3742
3741
  }
3743
- ]
3742
+ ],
3743
+ "type": "dashboard-layout"
3744
3744
  }
3745
3745
  ]
3746
3746
  ]
@@ -3763,4 +3763,4 @@
3763
3763
  ]
3764
3764
  }
3765
3765
  ]
3766
- }
3766
+ }