@almadar/std 14.5.1 → 14.6.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 (51) hide show
  1. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1077 -1077
  2. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3053 -3053
  3. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2159 -2159
  4. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +931 -931
  5. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -793
  6. package/behaviors/registry/app/organisms/std-api-gateway.orb +819 -819
  7. package/behaviors/registry/app/organisms/std-booking-system.orb +1168 -1168
  8. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +825 -825
  9. package/behaviors/registry/app/organisms/std-cms.orb +556 -556
  10. package/behaviors/registry/app/organisms/std-coding-academy.orb +353 -353
  11. package/behaviors/registry/app/organisms/std-crm.orb +806 -806
  12. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1209 -1209
  13. package/behaviors/registry/app/organisms/std-ecommerce.orb +742 -742
  14. package/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  15. package/behaviors/registry/app/organisms/std-healthcare.orb +1390 -1390
  16. package/behaviors/registry/app/organisms/std-helpdesk.orb +720 -720
  17. package/behaviors/registry/app/organisms/std-hr-portal.orb +1189 -1189
  18. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +786 -786
  19. package/behaviors/registry/app/organisms/std-lms.orb +860 -860
  20. package/behaviors/registry/app/organisms/std-project-manager.orb +668 -668
  21. package/behaviors/registry/app/organisms/std-realtime-chat.orb +725 -725
  22. package/behaviors/registry/app/organisms/std-social-feed.orb +227 -227
  23. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +646 -646
  24. package/behaviors/registry/service/organisms/std-service-marketplace.orb +973 -973
  25. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +898 -898
  26. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1077 -1077
  27. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3053 -3053
  28. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2159 -2159
  29. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +931 -931
  30. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -793
  31. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +819 -819
  32. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1168 -1168
  33. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +825 -825
  34. package/dist/behaviors/registry/app/organisms/std-cms.orb +556 -556
  35. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +353 -353
  36. package/dist/behaviors/registry/app/organisms/std-crm.orb +806 -806
  37. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1209 -1209
  38. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +742 -742
  39. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +626 -626
  40. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1390 -1390
  41. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +720 -720
  42. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1189 -1189
  43. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +786 -786
  44. package/dist/behaviors/registry/app/organisms/std-lms.orb +860 -860
  45. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +668 -668
  46. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +725 -725
  47. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +227 -227
  48. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +646 -646
  49. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +973 -973
  50. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +898 -898
  51. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-trading-dashboard",
3
3
  "version": "1.0.0",
4
- "description": "std-trading-dashboard as a Function",
4
+ "description": "Trading dashboard: portfolio positions, trade orders, and live market feed.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "PortfolioOrbital",
@@ -47,8 +47,6 @@
47
47
  "ref": "AppShell.traits.AppLayout",
48
48
  "name": "PortfolioAppLayout",
49
49
  "config": {
50
- "notificationClickEvent": "PORTFOLIO_NOTIFICATIONS_OPEN",
51
- "searchEvent": "PORTFOLIO_SEARCH",
52
50
  "navItems": [
53
51
  {
54
52
  "label": "Portfolio",
@@ -56,18 +54,20 @@
56
54
  "href": "/portfolio"
57
55
  },
58
56
  {
59
- "label": "Orders",
60
57
  "href": "/orders",
58
+ "label": "Orders",
61
59
  "icon": "clipboard-list"
62
60
  },
63
61
  {
64
- "icon": "layout-list",
65
62
  "label": "Market",
66
- "href": "/market"
63
+ "href": "/market",
64
+ "icon": "layout-list"
67
65
  }
68
66
  ],
69
- "notifications": [],
70
67
  "contentTrait": "@trait.PortfolioDisplay",
68
+ "notifications": [],
69
+ "notificationClickEvent": "PORTFOLIO_NOTIFICATIONS_OPEN",
70
+ "searchEvent": "PORTFOLIO_SEARCH",
71
71
  "appName": "Trading Dashboard"
72
72
  },
73
73
  "events": {
@@ -423,8 +423,8 @@
423
423
  "Portfolio",
424
424
  {
425
425
  "emit": {
426
- "failure": "PortfolioLoadFailed",
427
- "success": "PortfolioLoaded"
426
+ "success": "PortfolioLoaded",
427
+ "failure": "PortfolioLoadFailed"
428
428
  }
429
429
  }
430
430
  ],
@@ -432,11 +432,10 @@
432
432
  "render-ui",
433
433
  "main",
434
434
  {
435
- "gap": "lg",
436
- "type": "stack",
437
435
  "direction": "vertical",
438
436
  "children": [
439
437
  {
438
+ "type": "breadcrumb",
440
439
  "items": [
441
440
  {
442
441
  "label": "Home",
@@ -445,87 +444,87 @@
445
444
  {
446
445
  "label": "Portfolio"
447
446
  }
448
- ],
449
- "type": "breadcrumb"
447
+ ]
450
448
  },
451
449
  {
452
450
  "justify": "between",
453
- "gap": "md",
454
- "type": "stack",
455
451
  "children": [
456
452
  {
457
- "type": "stack",
458
453
  "gap": "md",
459
454
  "direction": "horizontal",
455
+ "type": "stack",
460
456
  "children": [
461
457
  {
462
- "name": "trending-up",
463
- "type": "icon"
458
+ "type": "icon",
459
+ "name": "trending-up"
464
460
  },
465
461
  {
466
- "type": "typography",
462
+ "variant": "h2",
467
463
  "content": "Portfolio",
468
- "variant": "h2"
464
+ "type": "typography"
469
465
  }
470
466
  ]
471
467
  },
472
468
  {
473
- "variant": "secondary",
474
- "action": "REFRESH",
475
- "type": "button",
476
469
  "icon": "refresh-cw",
477
- "label": "Refresh"
470
+ "type": "button",
471
+ "action": "REFRESH",
472
+ "label": "Refresh",
473
+ "variant": "secondary"
478
474
  }
479
475
  ],
480
- "direction": "horizontal"
476
+ "direction": "horizontal",
477
+ "type": "stack",
478
+ "gap": "md"
481
479
  },
482
480
  {
483
481
  "type": "divider"
484
482
  },
485
483
  {
486
484
  "type": "box",
485
+ "padding": "md",
487
486
  "children": [
488
487
  {
489
488
  "type": "simple-grid",
489
+ "cols": 3.0,
490
490
  "children": [
491
491
  {
492
- "label": "TotalValue",
493
492
  "type": "stat-display",
493
+ "label": "TotalValue",
494
494
  "value": "@entity.totalValue"
495
495
  },
496
496
  {
497
- "label": "DailyChange",
497
+ "type": "stat-display",
498
498
  "value": "@entity.dailyChange",
499
- "type": "stat-display"
499
+ "label": "DailyChange"
500
500
  },
501
501
  {
502
- "type": "stat-display",
503
502
  "label": "Positions",
503
+ "type": "stat-display",
504
504
  "value": "@entity.positions"
505
505
  },
506
506
  {
507
507
  "type": "stat-display",
508
- "label": "CashBalance",
509
- "value": "@entity.cashBalance"
508
+ "value": "@entity.cashBalance",
509
+ "label": "CashBalance"
510
510
  }
511
- ],
512
- "cols": 3.0
511
+ ]
513
512
  }
514
- ],
515
- "padding": "md"
513
+ ]
516
514
  },
517
515
  {
518
516
  "type": "divider"
519
517
  },
520
518
  {
519
+ "gap": "md",
521
520
  "children": [
522
521
  {
523
522
  "type": "card",
524
523
  "children": [
525
524
  {
526
525
  "type": "typography",
527
- "content": "Chart View",
528
- "variant": "caption"
526
+ "variant": "caption",
527
+ "content": "Chart View"
529
528
  }
530
529
  ]
531
530
  },
@@ -533,14 +532,13 @@
533
532
  "type": "card",
534
533
  "children": [
535
534
  {
536
- "content": "Graph View",
537
535
  "type": "typography",
538
- "variant": "caption"
536
+ "variant": "caption",
537
+ "content": "Graph View"
539
538
  }
540
539
  ]
541
540
  }
542
541
  ],
543
- "gap": "md",
544
542
  "type": "grid",
545
543
  "cols": 2.0
546
544
  },
@@ -548,8 +546,8 @@
548
546
  "type": "line-chart",
549
547
  "data": [
550
548
  {
551
- "value": 12.0,
552
- "date": "Jan"
549
+ "date": "Jan",
550
+ "value": 12.0
553
551
  },
554
552
  {
555
553
  "date": "Feb",
@@ -587,7 +585,6 @@
587
585
  ]
588
586
  },
589
587
  {
590
- "type": "graph-view",
591
588
  "width": 400.0,
592
589
  "height": 200.0,
593
590
  "nodes": [
@@ -600,8 +597,8 @@
600
597
  "id": "b"
601
598
  },
602
599
  {
603
- "id": "c",
604
- "label": "End"
600
+ "label": "End",
601
+ "id": "c"
605
602
  }
606
603
  ],
607
604
  "edges": [
@@ -613,9 +610,12 @@
613
610
  "source": "b",
614
611
  "target": "c"
615
612
  }
616
- ]
613
+ ],
614
+ "type": "graph-view"
617
615
  }
618
- ]
616
+ ],
617
+ "gap": "lg",
618
+ "type": "stack"
619
619
  }
620
620
  ]
621
621
  ]
@@ -630,8 +630,8 @@
630
630
  "Portfolio",
631
631
  {
632
632
  "emit": {
633
- "failure": "PortfolioLoadFailed",
634
- "success": "PortfolioLoaded"
633
+ "success": "PortfolioLoaded",
634
+ "failure": "PortfolioLoadFailed"
635
635
  }
636
636
  }
637
637
  ],
@@ -640,14 +640,15 @@
640
640
  "main",
641
641
  {
642
642
  "gap": "lg",
643
+ "type": "stack",
643
644
  "direction": "vertical",
644
645
  "children": [
645
646
  {
646
647
  "type": "breadcrumb",
647
648
  "items": [
648
649
  {
649
- "label": "Home",
650
- "href": "/"
650
+ "href": "/",
651
+ "label": "Home"
651
652
  },
652
653
  {
653
654
  "label": "Portfolio"
@@ -655,65 +656,65 @@
655
656
  ]
656
657
  },
657
658
  {
658
- "justify": "between",
659
- "direction": "horizontal",
660
659
  "children": [
661
660
  {
662
- "direction": "horizontal",
663
- "gap": "md",
661
+ "type": "stack",
664
662
  "children": [
665
663
  {
666
- "type": "icon",
667
- "name": "trending-up"
664
+ "name": "trending-up",
665
+ "type": "icon"
668
666
  },
669
667
  {
668
+ "type": "typography",
670
669
  "content": "Portfolio",
671
- "variant": "h2",
672
- "type": "typography"
670
+ "variant": "h2"
673
671
  }
674
672
  ],
675
- "type": "stack"
673
+ "direction": "horizontal",
674
+ "gap": "md"
676
675
  },
677
676
  {
678
- "label": "Refresh",
677
+ "action": "REFRESH",
678
+ "type": "button",
679
679
  "variant": "secondary",
680
680
  "icon": "refresh-cw",
681
- "type": "button",
682
- "action": "REFRESH"
681
+ "label": "Refresh"
683
682
  }
684
683
  ],
684
+ "type": "stack",
685
685
  "gap": "md",
686
- "type": "stack"
686
+ "direction": "horizontal",
687
+ "justify": "between"
687
688
  },
688
689
  {
689
690
  "type": "divider"
690
691
  },
691
692
  {
692
- "type": "box",
693
693
  "padding": "md",
694
+ "type": "box",
694
695
  "children": [
695
696
  {
696
697
  "cols": 3.0,
697
698
  "children": [
698
699
  {
699
- "value": "@entity.totalValue",
700
+ "type": "stat-display",
700
701
  "label": "TotalValue",
701
- "type": "stat-display"
702
+ "value": "@entity.totalValue"
702
703
  },
703
704
  {
704
- "type": "stat-display",
705
+ "label": "DailyChange",
705
706
  "value": "@entity.dailyChange",
706
- "label": "DailyChange"
707
+ "type": "stat-display"
707
708
  },
708
709
  {
709
- "label": "Positions",
710
710
  "value": "@entity.positions",
711
- "type": "stat-display"
711
+ "type": "stat-display",
712
+ "label": "Positions"
712
713
  },
713
714
  {
715
+ "type": "stat-display",
714
716
  "label": "CashBalance",
715
- "value": "@entity.cashBalance",
716
- "type": "stat-display"
717
+ "value": "@entity.cashBalance"
717
718
  }
718
719
  ],
719
720
  "type": "simple-grid"
@@ -724,33 +725,34 @@
724
725
  "type": "divider"
725
726
  },
726
727
  {
728
+ "gap": "md",
729
+ "type": "grid",
727
730
  "children": [
728
731
  {
732
+ "type": "card",
729
733
  "children": [
730
734
  {
731
735
  "content": "Chart View",
732
736
  "variant": "caption",
733
737
  "type": "typography"
734
738
  }
735
- ],
736
- "type": "card"
739
+ ]
737
740
  },
738
741
  {
739
- "type": "card",
740
742
  "children": [
741
743
  {
742
- "type": "typography",
743
744
  "variant": "caption",
745
+ "type": "typography",
744
746
  "content": "Graph View"
745
747
  }
746
- ]
748
+ ],
749
+ "type": "card"
747
750
  }
748
751
  ],
749
- "gap": "md",
750
- "type": "grid",
751
752
  "cols": 2.0
752
753
  },
753
754
  {
755
+ "type": "line-chart",
754
756
  "data": [
755
757
  {
756
758
  "value": 12.0,
@@ -761,23 +763,22 @@
761
763
  "date": "Feb"
762
764
  },
763
765
  {
764
- "date": "Mar",
765
- "value": 15.0
766
+ "value": 15.0,
767
+ "date": "Mar"
766
768
  },
767
769
  {
768
- "date": "Apr",
769
- "value": 25.0
770
+ "value": 25.0,
771
+ "date": "Apr"
770
772
  },
771
773
  {
772
774
  "date": "May",
773
775
  "value": 22.0
774
776
  },
775
777
  {
776
- "date": "Jun",
777
- "value": 30.0
778
+ "value": 30.0,
779
+ "date": "Jun"
778
780
  }
779
- ],
780
- "type": "line-chart"
781
+ ]
781
782
  },
782
783
  {
783
784
  "items": [
@@ -786,27 +787,27 @@
786
787
  "color": "primary"
787
788
  },
788
789
  {
789
- "label": "Previous",
790
- "color": "muted"
790
+ "color": "muted",
791
+ "label": "Previous"
791
792
  }
792
793
  ],
793
794
  "type": "chart-legend"
794
795
  },
795
796
  {
797
+ "height": 200.0,
796
798
  "type": "graph-view",
797
- "width": 400.0,
798
799
  "nodes": [
799
800
  {
800
801
  "label": "Start",
801
802
  "id": "a"
802
803
  },
803
804
  {
804
- "id": "b",
805
- "label": "Process"
805
+ "label": "Process",
806
+ "id": "b"
806
807
  },
807
808
  {
808
- "id": "c",
809
- "label": "End"
809
+ "label": "End",
810
+ "id": "c"
810
811
  }
811
812
  ],
812
813
  "edges": [
@@ -815,14 +816,13 @@
815
816
  "target": "b"
816
817
  },
817
818
  {
818
- "target": "c",
819
- "source": "b"
819
+ "source": "b",
820
+ "target": "c"
820
821
  }
821
822
  ],
822
- "height": 200.0
823
+ "width": 400.0
823
824
  }
824
- ],
825
- "type": "stack"
825
+ ]
826
826
  }
827
827
  ]
828
828
  ]
@@ -837,8 +837,8 @@
837
837
  "Portfolio",
838
838
  {
839
839
  "emit": {
840
- "failure": "PortfolioLoadFailed",
841
- "success": "PortfolioLoaded"
840
+ "success": "PortfolioLoaded",
841
+ "failure": "PortfolioLoadFailed"
842
842
  }
843
843
  }
844
844
  ],
@@ -846,11 +846,9 @@
846
846
  "render-ui",
847
847
  "main",
848
848
  {
849
- "gap": "lg",
850
- "direction": "vertical",
849
+ "type": "stack",
851
850
  "children": [
852
851
  {
853
- "type": "breadcrumb",
854
852
  "items": [
855
853
  {
856
854
  "label": "Home",
@@ -859,36 +857,37 @@
859
857
  {
860
858
  "label": "Portfolio"
861
859
  }
862
- ]
860
+ ],
861
+ "type": "breadcrumb"
863
862
  },
864
863
  {
865
864
  "direction": "horizontal",
866
- "justify": "between",
867
865
  "children": [
868
866
  {
867
+ "gap": "md",
868
+ "direction": "horizontal",
869
+ "type": "stack",
869
870
  "children": [
870
871
  {
871
- "type": "icon",
872
- "name": "trending-up"
872
+ "name": "trending-up",
873
+ "type": "icon"
873
874
  },
874
875
  {
875
- "type": "typography",
876
876
  "content": "Portfolio",
877
- "variant": "h2"
877
+ "variant": "h2",
878
+ "type": "typography"
878
879
  }
879
- ],
880
- "gap": "md",
881
- "direction": "horizontal",
882
- "type": "stack"
880
+ ]
883
881
  },
884
882
  {
885
- "type": "button",
886
- "action": "REFRESH",
887
883
  "icon": "refresh-cw",
888
884
  "label": "Refresh",
889
- "variant": "secondary"
885
+ "action": "REFRESH",
886
+ "variant": "secondary",
887
+ "type": "button"
890
888
  }
891
889
  ],
890
+ "justify": "between",
892
891
  "type": "stack",
893
892
  "gap": "md"
894
893
  },
@@ -896,19 +895,21 @@
896
895
  "type": "divider"
897
896
  },
898
897
  {
898
+ "padding": "md",
899
+ "type": "box",
899
900
  "children": [
900
901
  {
901
- "type": "simple-grid",
902
+ "cols": 3.0,
902
903
  "children": [
903
904
  {
904
- "value": "@entity.totalValue",
905
905
  "label": "TotalValue",
906
- "type": "stat-display"
906
+ "type": "stat-display",
907
+ "value": "@entity.totalValue"
907
908
  },
908
909
  {
909
- "label": "DailyChange",
910
910
  "value": "@entity.dailyChange",
911
- "type": "stat-display"
911
+ "type": "stat-display",
912
+ "label": "DailyChange"
912
913
  },
913
914
  {
914
915
  "value": "@entity.positions",
@@ -916,16 +917,14 @@
916
917
  "type": "stat-display"
917
918
  },
918
919
  {
920
+ "value": "@entity.cashBalance",
919
921
  "label": "CashBalance",
920
- "type": "stat-display",
921
- "value": "@entity.cashBalance"
922
+ "type": "stat-display"
922
923
  }
923
924
  ],
924
- "cols": 3.0
925
+ "type": "simple-grid"
925
926
  }
926
- ],
927
- "type": "box",
928
- "padding": "md"
927
+ ]
929
928
  },
930
929
  {
931
930
  "type": "divider"
@@ -933,36 +932,35 @@
933
932
  {
934
933
  "children": [
935
934
  {
935
+ "type": "card",
936
936
  "children": [
937
937
  {
938
938
  "variant": "caption",
939
939
  "type": "typography",
940
940
  "content": "Chart View"
941
941
  }
942
- ],
943
- "type": "card"
942
+ ]
944
943
  },
945
944
  {
946
945
  "children": [
947
946
  {
948
947
  "content": "Graph View",
949
- "variant": "caption",
950
- "type": "typography"
948
+ "type": "typography",
949
+ "variant": "caption"
951
950
  }
952
951
  ],
953
952
  "type": "card"
954
953
  }
955
954
  ],
956
- "type": "grid",
957
955
  "cols": 2.0,
958
- "gap": "md"
956
+ "gap": "md",
957
+ "type": "grid"
959
958
  },
960
959
  {
961
- "type": "line-chart",
962
960
  "data": [
963
961
  {
964
- "date": "Jan",
965
- "value": 12.0
962
+ "value": 12.0,
963
+ "date": "Jan"
966
964
  },
967
965
  {
968
966
  "value": 19.0,
@@ -984,22 +982,25 @@
984
982
  "value": 30.0,
985
983
  "date": "Jun"
986
984
  }
987
- ]
985
+ ],
986
+ "type": "line-chart"
988
987
  },
989
988
  {
990
989
  "type": "chart-legend",
991
990
  "items": [
992
991
  {
993
- "label": "Current",
994
- "color": "primary"
992
+ "color": "primary",
993
+ "label": "Current"
995
994
  },
996
995
  {
997
- "label": "Previous",
998
- "color": "muted"
996
+ "color": "muted",
997
+ "label": "Previous"
999
998
  }
1000
999
  ]
1001
1000
  },
1002
1001
  {
1002
+ "width": 400.0,
1003
+ "height": 200.0,
1003
1004
  "edges": [
1004
1005
  {
1005
1006
  "source": "a",
@@ -1010,7 +1011,7 @@
1010
1011
  "source": "b"
1011
1012
  }
1012
1013
  ],
1013
- "width": 400.0,
1014
+ "type": "graph-view",
1014
1015
  "nodes": [
1015
1016
  {
1016
1017
  "label": "Start",
@@ -1021,15 +1022,14 @@
1021
1022
  "label": "Process"
1022
1023
  },
1023
1024
  {
1024
- "id": "c",
1025
- "label": "End"
1025
+ "label": "End",
1026
+ "id": "c"
1026
1027
  }
1027
- ],
1028
- "type": "graph-view",
1029
- "height": 200.0
1028
+ ]
1030
1029
  }
1031
1030
  ],
1032
- "type": "stack"
1031
+ "gap": "lg",
1032
+ "direction": "vertical"
1033
1033
  }
1034
1034
  ]
1035
1035
  ]
@@ -1055,65 +1055,68 @@
1055
1055
  {
1056
1056
  "children": [
1057
1057
  {
1058
+ "type": "breadcrumb",
1058
1059
  "items": [
1059
1060
  {
1060
- "href": "/",
1061
- "label": "Home"
1061
+ "label": "Home",
1062
+ "href": "/"
1062
1063
  },
1063
1064
  {
1064
1065
  "label": "Portfolio"
1065
1066
  }
1066
- ],
1067
- "type": "breadcrumb"
1067
+ ]
1068
1068
  },
1069
1069
  {
1070
- "direction": "horizontal",
1071
- "type": "stack",
1072
1070
  "justify": "between",
1071
+ "gap": "md",
1072
+ "type": "stack",
1073
+ "direction": "horizontal",
1073
1074
  "children": [
1074
1075
  {
1076
+ "direction": "horizontal",
1075
1077
  "children": [
1076
1078
  {
1077
1079
  "name": "trending-up",
1078
1080
  "type": "icon"
1079
1081
  },
1080
1082
  {
1081
- "variant": "h2",
1082
1083
  "type": "typography",
1083
- "content": "Portfolio"
1084
+ "content": "Portfolio",
1085
+ "variant": "h2"
1084
1086
  }
1085
1087
  ],
1086
1088
  "gap": "md",
1087
- "direction": "horizontal",
1088
1089
  "type": "stack"
1089
1090
  },
1090
1091
  {
1091
- "type": "button",
1092
- "variant": "secondary",
1093
1092
  "label": "Refresh",
1094
- "action": "REFRESH",
1095
- "icon": "refresh-cw"
1093
+ "variant": "secondary",
1094
+ "icon": "refresh-cw",
1095
+ "type": "button",
1096
+ "action": "REFRESH"
1096
1097
  }
1097
- ],
1098
- "gap": "md"
1098
+ ]
1099
1099
  },
1100
1100
  {
1101
1101
  "type": "divider"
1102
1102
  },
1103
1103
  {
1104
+ "padding": "md",
1104
1105
  "type": "box",
1105
1106
  "children": [
1106
1107
  {
1108
+ "type": "simple-grid",
1109
+ "cols": 3.0,
1107
1110
  "children": [
1108
1111
  {
1109
- "type": "stat-display",
1112
+ "value": "@entity.totalValue",
1110
1113
  "label": "TotalValue",
1111
- "value": "@entity.totalValue"
1114
+ "type": "stat-display"
1112
1115
  },
1113
1116
  {
1114
- "value": "@entity.dailyChange",
1117
+ "type": "stat-display",
1115
1118
  "label": "DailyChange",
1116
- "type": "stat-display"
1119
+ "value": "@entity.dailyChange"
1117
1120
  },
1118
1121
  {
1119
1122
  "label": "Positions",
@@ -1121,46 +1124,43 @@
1121
1124
  "value": "@entity.positions"
1122
1125
  },
1123
1126
  {
1127
+ "value": "@entity.cashBalance",
1124
1128
  "type": "stat-display",
1125
- "label": "CashBalance",
1126
- "value": "@entity.cashBalance"
1129
+ "label": "CashBalance"
1127
1130
  }
1128
- ],
1129
- "type": "simple-grid",
1130
- "cols": 3.0
1131
+ ]
1131
1132
  }
1132
- ],
1133
- "padding": "md"
1133
+ ]
1134
1134
  },
1135
1135
  {
1136
1136
  "type": "divider"
1137
1137
  },
1138
1138
  {
1139
- "gap": "md",
1140
1139
  "type": "grid",
1141
- "cols": 2.0,
1140
+ "gap": "md",
1142
1141
  "children": [
1143
1142
  {
1144
1143
  "children": [
1145
1144
  {
1146
- "type": "typography",
1145
+ "content": "Chart View",
1147
1146
  "variant": "caption",
1148
- "content": "Chart View"
1147
+ "type": "typography"
1149
1148
  }
1150
1149
  ],
1151
1150
  "type": "card"
1152
1151
  },
1153
1152
  {
1154
- "type": "card",
1155
1153
  "children": [
1156
1154
  {
1157
1155
  "type": "typography",
1158
- "variant": "caption",
1159
- "content": "Graph View"
1156
+ "content": "Graph View",
1157
+ "variant": "caption"
1160
1158
  }
1161
- ]
1159
+ ],
1160
+ "type": "card"
1162
1161
  }
1163
- ]
1162
+ ],
1163
+ "cols": 2.0
1164
1164
  },
1165
1165
  {
1166
1166
  "type": "line-chart",
@@ -1170,20 +1170,20 @@
1170
1170
  "value": 12.0
1171
1171
  },
1172
1172
  {
1173
- "date": "Feb",
1174
- "value": 19.0
1173
+ "value": 19.0,
1174
+ "date": "Feb"
1175
1175
  },
1176
1176
  {
1177
1177
  "date": "Mar",
1178
1178
  "value": 15.0
1179
1179
  },
1180
1180
  {
1181
- "value": 25.0,
1182
- "date": "Apr"
1181
+ "date": "Apr",
1182
+ "value": 25.0
1183
1183
  },
1184
1184
  {
1185
- "date": "May",
1186
- "value": 22.0
1185
+ "value": 22.0,
1186
+ "date": "May"
1187
1187
  },
1188
1188
  {
1189
1189
  "date": "Jun",
@@ -1194,12 +1194,12 @@
1194
1194
  {
1195
1195
  "items": [
1196
1196
  {
1197
- "label": "Current",
1198
- "color": "primary"
1197
+ "color": "primary",
1198
+ "label": "Current"
1199
1199
  },
1200
1200
  {
1201
- "color": "muted",
1202
- "label": "Previous"
1201
+ "label": "Previous",
1202
+ "color": "muted"
1203
1203
  }
1204
1204
  ],
1205
1205
  "type": "chart-legend"
@@ -1211,26 +1211,26 @@
1211
1211
  "source": "a"
1212
1212
  },
1213
1213
  {
1214
- "source": "b",
1215
- "target": "c"
1214
+ "target": "c",
1215
+ "source": "b"
1216
1216
  }
1217
1217
  ],
1218
1218
  "width": 400.0,
1219
- "height": 200.0,
1220
1219
  "nodes": [
1221
1220
  {
1222
- "id": "a",
1223
- "label": "Start"
1221
+ "label": "Start",
1222
+ "id": "a"
1224
1223
  },
1225
1224
  {
1226
- "label": "Process",
1227
- "id": "b"
1225
+ "id": "b",
1226
+ "label": "Process"
1228
1227
  },
1229
1228
  {
1230
- "label": "End",
1231
- "id": "c"
1229
+ "id": "c",
1230
+ "label": "End"
1232
1231
  }
1233
1232
  ],
1233
+ "height": 200.0,
1234
1234
  "type": "graph-view"
1235
1235
  }
1236
1236
  ],
@@ -1251,8 +1251,8 @@
1251
1251
  "Portfolio",
1252
1252
  {
1253
1253
  "emit": {
1254
- "failure": "PortfolioLoadFailed",
1255
- "success": "PortfolioLoaded"
1254
+ "success": "PortfolioLoaded",
1255
+ "failure": "PortfolioLoadFailed"
1256
1256
  }
1257
1257
  }
1258
1258
  ],
@@ -1260,22 +1260,22 @@
1260
1260
  "render-ui",
1261
1261
  "main",
1262
1262
  {
1263
- "type": "stack",
1264
1263
  "className": "py-12",
1264
+ "type": "stack",
1265
+ "align": "center",
1266
+ "direction": "vertical",
1267
+ "gap": "md",
1265
1268
  "children": [
1266
1269
  {
1267
1270
  "type": "spinner"
1268
1271
  },
1269
1272
  {
1270
1273
  "color": "muted",
1271
- "content": "Searching…",
1274
+ "variant": "caption",
1272
1275
  "type": "typography",
1273
- "variant": "caption"
1276
+ "content": "Searching…"
1274
1277
  }
1275
- ],
1276
- "gap": "md",
1277
- "direction": "vertical",
1278
- "align": "center"
1278
+ ]
1279
1279
  }
1280
1280
  ]
1281
1281
  ]
@@ -1289,33 +1289,33 @@
1289
1289
  "render-ui",
1290
1290
  "main",
1291
1291
  {
1292
+ "gap": "md",
1293
+ "type": "stack",
1294
+ "className": "py-8",
1292
1295
  "children": [
1293
1296
  {
1294
- "type": "icon",
1295
- "name": "bell"
1297
+ "name": "bell",
1298
+ "type": "icon"
1296
1299
  },
1297
1300
  {
1301
+ "type": "typography",
1298
1302
  "variant": "h3",
1299
- "content": "No notifications",
1300
- "type": "typography"
1303
+ "content": "No notifications"
1301
1304
  },
1302
1305
  {
1306
+ "content": "You're all caught up.",
1303
1307
  "variant": "caption",
1304
1308
  "color": "muted",
1305
- "type": "typography",
1306
- "content": "You're all caught up."
1309
+ "type": "typography"
1307
1310
  },
1308
1311
  {
1309
- "type": "button",
1312
+ "variant": "ghost",
1310
1313
  "action": "INIT",
1311
- "label": "Back to portfolio",
1312
- "variant": "ghost"
1314
+ "type": "button",
1315
+ "label": "Back to portfolio"
1313
1316
  }
1314
1317
  ],
1315
1318
  "align": "center",
1316
- "className": "py-8",
1317
- "gap": "md",
1318
- "type": "stack",
1319
1319
  "direction": "vertical"
1320
1320
  }
1321
1321
  ]
@@ -1331,8 +1331,8 @@
1331
1331
  "Portfolio",
1332
1332
  {
1333
1333
  "emit": {
1334
- "failure": "PortfolioLoadFailed",
1335
- "success": "PortfolioLoaded"
1334
+ "success": "PortfolioLoaded",
1335
+ "failure": "PortfolioLoadFailed"
1336
1336
  }
1337
1337
  }
1338
1338
  ],
@@ -1340,8 +1340,12 @@
1340
1340
  "render-ui",
1341
1341
  "main",
1342
1342
  {
1343
+ "gap": "lg",
1344
+ "direction": "vertical",
1345
+ "type": "stack",
1343
1346
  "children": [
1344
1347
  {
1348
+ "type": "breadcrumb",
1345
1349
  "items": [
1346
1350
  {
1347
1351
  "href": "/",
@@ -1350,45 +1354,43 @@
1350
1354
  {
1351
1355
  "label": "Portfolio"
1352
1356
  }
1353
- ],
1354
- "type": "breadcrumb"
1357
+ ]
1355
1358
  },
1356
1359
  {
1357
- "direction": "horizontal",
1358
1360
  "justify": "between",
1361
+ "direction": "horizontal",
1362
+ "gap": "md",
1363
+ "type": "stack",
1359
1364
  "children": [
1360
1365
  {
1361
1366
  "gap": "md",
1362
- "type": "stack",
1363
1367
  "children": [
1364
1368
  {
1365
- "name": "trending-up",
1366
- "type": "icon"
1369
+ "type": "icon",
1370
+ "name": "trending-up"
1367
1371
  },
1368
1372
  {
1369
- "type": "typography",
1370
1373
  "content": "Portfolio",
1374
+ "type": "typography",
1371
1375
  "variant": "h2"
1372
1376
  }
1373
1377
  ],
1378
+ "type": "stack",
1374
1379
  "direction": "horizontal"
1375
1380
  },
1376
1381
  {
1377
- "type": "button",
1378
- "action": "REFRESH",
1379
1382
  "variant": "secondary",
1380
1383
  "icon": "refresh-cw",
1381
- "label": "Refresh"
1384
+ "label": "Refresh",
1385
+ "action": "REFRESH",
1386
+ "type": "button"
1382
1387
  }
1383
- ],
1384
- "type": "stack",
1385
- "gap": "md"
1388
+ ]
1386
1389
  },
1387
1390
  {
1388
1391
  "type": "divider"
1389
1392
  },
1390
1393
  {
1391
- "type": "box",
1392
1394
  "children": [
1393
1395
  {
1394
1396
  "type": "simple-grid",
@@ -1396,13 +1398,13 @@
1396
1398
  "children": [
1397
1399
  {
1398
1400
  "value": "@entity.totalValue",
1399
- "type": "stat-display",
1400
- "label": "TotalValue"
1401
+ "label": "TotalValue",
1402
+ "type": "stat-display"
1401
1403
  },
1402
1404
  {
1403
- "value": "@entity.dailyChange",
1405
+ "type": "stat-display",
1404
1406
  "label": "DailyChange",
1405
- "type": "stat-display"
1407
+ "value": "@entity.dailyChange"
1406
1408
  },
1407
1409
  {
1408
1410
  "value": "@entity.positions",
@@ -1410,44 +1412,45 @@
1410
1412
  "label": "Positions"
1411
1413
  },
1412
1414
  {
1413
- "value": "@entity.cashBalance",
1414
1415
  "type": "stat-display",
1415
- "label": "CashBalance"
1416
+ "label": "CashBalance",
1417
+ "value": "@entity.cashBalance"
1416
1418
  }
1417
1419
  ]
1418
1420
  }
1419
1421
  ],
1422
+ "type": "box",
1420
1423
  "padding": "md"
1421
1424
  },
1422
1425
  {
1423
1426
  "type": "divider"
1424
1427
  },
1425
1428
  {
1426
- "type": "grid",
1429
+ "cols": 2.0,
1430
+ "gap": "md",
1427
1431
  "children": [
1428
1432
  {
1429
1433
  "type": "card",
1430
1434
  "children": [
1431
1435
  {
1432
- "type": "typography",
1433
1436
  "variant": "caption",
1437
+ "type": "typography",
1434
1438
  "content": "Chart View"
1435
1439
  }
1436
1440
  ]
1437
1441
  },
1438
1442
  {
1439
- "type": "card",
1440
1443
  "children": [
1441
1444
  {
1442
1445
  "content": "Graph View",
1443
- "type": "typography",
1444
- "variant": "caption"
1446
+ "variant": "caption",
1447
+ "type": "typography"
1445
1448
  }
1446
- ]
1449
+ ],
1450
+ "type": "card"
1447
1451
  }
1448
1452
  ],
1449
- "gap": "md",
1450
- "cols": 2.0
1453
+ "type": "grid"
1451
1454
  },
1452
1455
  {
1453
1456
  "data": [
@@ -1460,16 +1463,16 @@
1460
1463
  "date": "Feb"
1461
1464
  },
1462
1465
  {
1463
- "value": 15.0,
1464
- "date": "Mar"
1466
+ "date": "Mar",
1467
+ "value": 15.0
1465
1468
  },
1466
1469
  {
1467
- "value": 25.0,
1468
- "date": "Apr"
1470
+ "date": "Apr",
1471
+ "value": 25.0
1469
1472
  },
1470
1473
  {
1471
- "value": 22.0,
1472
- "date": "May"
1474
+ "date": "May",
1475
+ "value": 22.0
1473
1476
  },
1474
1477
  {
1475
1478
  "date": "Jun",
@@ -1482,8 +1485,8 @@
1482
1485
  "type": "chart-legend",
1483
1486
  "items": [
1484
1487
  {
1485
- "label": "Current",
1486
- "color": "primary"
1488
+ "color": "primary",
1489
+ "label": "Current"
1487
1490
  },
1488
1491
  {
1489
1492
  "label": "Previous",
@@ -1492,42 +1495,39 @@
1492
1495
  ]
1493
1496
  },
1494
1497
  {
1495
- "edges": [
1496
- {
1497
- "source": "a",
1498
- "target": "b"
1499
- },
1500
- {
1501
- "target": "c",
1502
- "source": "b"
1503
- }
1504
- ],
1505
1498
  "type": "graph-view",
1506
- "height": 200.0,
1499
+ "width": 400.0,
1507
1500
  "nodes": [
1508
1501
  {
1509
1502
  "label": "Start",
1510
1503
  "id": "a"
1511
1504
  },
1512
1505
  {
1513
- "id": "b",
1514
- "label": "Process"
1506
+ "label": "Process",
1507
+ "id": "b"
1515
1508
  },
1516
1509
  {
1517
- "label": "End",
1518
- "id": "c"
1510
+ "id": "c",
1511
+ "label": "End"
1519
1512
  }
1520
1513
  ],
1521
- "width": 400.0
1522
- }
1523
- ],
1524
- "direction": "vertical",
1525
- "gap": "lg",
1526
- "type": "stack"
1527
- }
1528
- ]
1529
- ]
1530
- }
1514
+ "edges": [
1515
+ {
1516
+ "source": "a",
1517
+ "target": "b"
1518
+ },
1519
+ {
1520
+ "source": "b",
1521
+ "target": "c"
1522
+ }
1523
+ ],
1524
+ "height": 200.0
1525
+ }
1526
+ ]
1527
+ }
1528
+ ]
1529
+ ]
1530
+ }
1531
1531
  ]
1532
1532
  },
1533
1533
  "scope": "collection"
@@ -1826,8 +1826,8 @@
1826
1826
  "TradeOrder",
1827
1827
  {
1828
1828
  "emit": {
1829
- "failure": "TradeOrderLoadFailed",
1830
- "success": "TradeOrderLoaded"
1829
+ "success": "TradeOrderLoaded",
1830
+ "failure": "TradeOrderLoadFailed"
1831
1831
  }
1832
1832
  }
1833
1833
  ],
@@ -1835,20 +1835,20 @@
1835
1835
  "render-ui",
1836
1836
  "main",
1837
1837
  {
1838
- "direction": "vertical",
1839
1838
  "type": "stack",
1840
1839
  "align": "center",
1841
1840
  "gap": "md",
1841
+ "direction": "vertical",
1842
1842
  "className": "py-12",
1843
1843
  "children": [
1844
1844
  {
1845
1845
  "type": "spinner"
1846
1846
  },
1847
1847
  {
1848
- "variant": "caption",
1849
- "color": "muted",
1850
1848
  "type": "typography",
1851
- "content": "Loading orders…"
1849
+ "content": "Loading orders…",
1850
+ "color": "muted",
1851
+ "variant": "caption"
1852
1852
  }
1853
1853
  ]
1854
1854
  }
@@ -1864,22 +1864,39 @@
1864
1864
  "render-ui",
1865
1865
  "main",
1866
1866
  {
1867
- "appName": "Trading Dashboard",
1868
1867
  "type": "dashboard-layout",
1868
+ "navItems": [
1869
+ {
1870
+ "href": "/portfolio",
1871
+ "label": "Portfolio",
1872
+ "icon": "layout-list"
1873
+ },
1874
+ {
1875
+ "href": "/orders",
1876
+ "icon": "clipboard-list",
1877
+ "label": "Orders"
1878
+ },
1879
+ {
1880
+ "href": "/market",
1881
+ "icon": "layout-list",
1882
+ "label": "Market"
1883
+ }
1884
+ ],
1885
+ "appName": "Trading Dashboard",
1869
1886
  "children": [
1870
1887
  {
1871
- "direction": "vertical",
1888
+ "type": "stack",
1889
+ "gap": "lg",
1872
1890
  "className": "max-w-5xl mx-auto w-full",
1873
1891
  "children": [
1874
1892
  {
1875
1893
  "type": "stack",
1876
- "justify": "between",
1894
+ "direction": "horizontal",
1895
+ "gap": "md",
1896
+ "align": "center",
1877
1897
  "children": [
1878
1898
  {
1879
- "type": "stack",
1880
- "direction": "horizontal",
1881
1899
  "gap": "sm",
1882
- "align": "center",
1883
1900
  "children": [
1884
1901
  {
1885
1902
  "name": "shopping-cart",
@@ -1887,29 +1904,30 @@
1887
1904
  },
1888
1905
  {
1889
1906
  "type": "typography",
1890
- "variant": "h2",
1891
- "content": "Trade Orders"
1907
+ "content": "Trade Orders",
1908
+ "variant": "h2"
1892
1909
  }
1893
- ]
1910
+ ],
1911
+ "type": "stack",
1912
+ "direction": "horizontal",
1913
+ "align": "center"
1894
1914
  },
1895
1915
  {
1896
- "direction": "horizontal",
1897
- "type": "stack",
1898
- "gap": "sm",
1899
1916
  "children": [
1900
1917
  {
1901
- "type": "button",
1902
1918
  "label": "Create TradeOrder",
1903
- "icon": "plus",
1919
+ "type": "button",
1904
1920
  "action": "CREATE",
1905
- "variant": "primary"
1921
+ "variant": "primary",
1922
+ "icon": "plus"
1906
1923
  }
1907
- ]
1924
+ ],
1925
+ "direction": "horizontal",
1926
+ "gap": "sm",
1927
+ "type": "stack"
1908
1928
  }
1909
1929
  ],
1910
- "gap": "md",
1911
- "align": "center",
1912
- "direction": "horizontal"
1930
+ "justify": "between"
1913
1931
  },
1914
1932
  {
1915
1933
  "type": "divider"
@@ -1917,23 +1935,21 @@
1917
1935
  {
1918
1936
  "itemActions": [
1919
1937
  {
1920
- "event": "VIEW",
1938
+ "variant": "ghost",
1921
1939
  "label": "View",
1922
- "variant": "ghost"
1940
+ "event": "VIEW"
1923
1941
  },
1924
1942
  {
1925
- "variant": "ghost",
1926
1943
  "label": "Edit",
1944
+ "variant": "ghost",
1927
1945
  "event": "EDIT"
1928
1946
  },
1929
1947
  {
1930
- "label": "Delete",
1931
1948
  "event": "DELETE",
1949
+ "label": "Delete",
1932
1950
  "variant": "danger"
1933
1951
  }
1934
1952
  ],
1935
- "entity": "@payload.data",
1936
- "type": "data-list",
1937
1953
  "fields": [
1938
1954
  {
1939
1955
  "icon": "trending-up",
@@ -1941,43 +1957,27 @@
1941
1957
  "variant": "h3"
1942
1958
  },
1943
1959
  {
1944
- "variant": "badge",
1945
- "name": "side"
1960
+ "name": "side",
1961
+ "variant": "badge"
1946
1962
  },
1947
1963
  {
1948
- "name": "quantity",
1964
+ "variant": "body",
1949
1965
  "format": "number",
1950
- "variant": "body"
1966
+ "name": "quantity"
1951
1967
  },
1952
1968
  {
1953
- "name": "price",
1954
1969
  "variant": "h4",
1970
+ "name": "price",
1955
1971
  "format": "currency"
1956
1972
  }
1957
1973
  ],
1974
+ "variant": "card",
1975
+ "entity": "@payload.data",
1958
1976
  "gap": "sm",
1959
- "variant": "card"
1977
+ "type": "data-list"
1960
1978
  }
1961
1979
  ],
1962
- "gap": "lg",
1963
- "type": "stack"
1964
- }
1965
- ],
1966
- "navItems": [
1967
- {
1968
- "href": "/portfolio",
1969
- "icon": "layout-list",
1970
- "label": "Portfolio"
1971
- },
1972
- {
1973
- "href": "/orders",
1974
- "label": "Orders",
1975
- "icon": "clipboard-list"
1976
- },
1977
- {
1978
- "label": "Market",
1979
- "icon": "layout-list",
1980
- "href": "/market"
1980
+ "direction": "vertical"
1981
1981
  }
1982
1982
  ]
1983
1983
  }
@@ -1994,8 +1994,8 @@
1994
1994
  "main",
1995
1995
  {
1996
1996
  "direction": "vertical",
1997
- "gap": "md",
1998
1997
  "type": "stack",
1998
+ "gap": "md",
1999
1999
  "align": "center",
2000
2000
  "className": "py-12",
2001
2001
  "children": [
@@ -2010,17 +2010,17 @@
2010
2010
  "content": "Failed to load orders"
2011
2011
  },
2012
2012
  {
2013
- "content": "@payload.error",
2014
- "type": "typography",
2015
2013
  "variant": "body",
2016
- "color": "muted"
2014
+ "type": "typography",
2015
+ "color": "muted",
2016
+ "content": "@payload.error"
2017
2017
  },
2018
2018
  {
2019
2019
  "type": "button",
2020
- "variant": "primary",
2021
2020
  "action": "INIT",
2022
2021
  "label": "Retry",
2023
- "icon": "rotate-ccw"
2022
+ "icon": "rotate-ccw",
2023
+ "variant": "primary"
2024
2024
  }
2025
2025
  ]
2026
2026
  }
@@ -2214,8 +2214,8 @@
2214
2214
  "TradeOrder",
2215
2215
  {
2216
2216
  "emit": {
2217
- "success": "TradeOrderLoaded",
2218
- "failure": "TradeOrderLoadFailed"
2217
+ "failure": "TradeOrderLoadFailed",
2218
+ "success": "TradeOrderLoaded"
2219
2219
  }
2220
2220
  }
2221
2221
  ],
@@ -2223,42 +2223,42 @@
2223
2223
  "render-ui",
2224
2224
  "modal",
2225
2225
  {
2226
- "type": "stack",
2227
2226
  "direction": "vertical",
2228
2227
  "children": [
2229
2228
  {
2230
- "direction": "horizontal",
2229
+ "type": "stack",
2230
+ "gap": "sm",
2231
2231
  "children": [
2232
2232
  {
2233
2233
  "type": "icon",
2234
2234
  "name": "plus-circle"
2235
2235
  },
2236
2236
  {
2237
+ "type": "typography",
2237
2238
  "variant": "h3",
2238
- "content": "Create TradeOrder",
2239
- "type": "typography"
2239
+ "content": "Create TradeOrder"
2240
2240
  }
2241
2241
  ],
2242
- "gap": "sm",
2243
- "type": "stack"
2242
+ "direction": "horizontal"
2244
2243
  },
2245
2244
  {
2246
2245
  "type": "divider"
2247
2246
  },
2248
2247
  {
2249
2248
  "submitEvent": "SAVE",
2249
+ "mode": "create",
2250
+ "type": "form-section",
2251
+ "cancelEvent": "CLOSE",
2250
2252
  "fields": [
2251
2253
  "symbol",
2252
2254
  "side",
2253
2255
  "quantity",
2254
2256
  "price"
2255
- ],
2256
- "type": "form-section",
2257
- "cancelEvent": "CLOSE",
2258
- "mode": "create"
2257
+ ]
2259
2258
  }
2260
2259
  ],
2261
- "gap": "md"
2260
+ "gap": "md",
2261
+ "type": "stack"
2262
2262
  }
2263
2263
  ]
2264
2264
  ]
@@ -2510,8 +2510,8 @@
2510
2510
  "TradeOrder",
2511
2511
  {
2512
2512
  "emit": {
2513
- "failure": "TradeOrderLoadFailed",
2514
- "success": "TradeOrderLoaded"
2513
+ "success": "TradeOrderLoaded",
2514
+ "failure": "TradeOrderLoadFailed"
2515
2515
  }
2516
2516
  }
2517
2517
  ]
@@ -2537,22 +2537,19 @@
2537
2537
  "render-ui",
2538
2538
  "modal",
2539
2539
  {
2540
- "gap": "md",
2541
- "direction": "vertical",
2542
- "type": "stack",
2543
2540
  "children": [
2544
2541
  {
2545
- "type": "stack",
2546
2542
  "gap": "sm",
2547
2543
  "direction": "horizontal",
2544
+ "type": "stack",
2548
2545
  "children": [
2549
2546
  {
2550
2547
  "name": "edit",
2551
2548
  "type": "icon"
2552
2549
  },
2553
2550
  {
2554
- "type": "typography",
2555
2551
  "variant": "h3",
2552
+ "type": "typography",
2556
2553
  "content": "Edit TradeOrder"
2557
2554
  }
2558
2555
  ]
@@ -2561,8 +2558,9 @@
2561
2558
  "type": "divider"
2562
2559
  },
2563
2560
  {
2564
- "type": "form-section",
2561
+ "entity": "@payload.row",
2565
2562
  "mode": "edit",
2563
+ "type": "form-section",
2566
2564
  "cancelEvent": "CLOSE",
2567
2565
  "fields": [
2568
2566
  "symbol",
@@ -2570,10 +2568,12 @@
2570
2568
  "quantity",
2571
2569
  "price"
2572
2570
  ],
2573
- "submitEvent": "SAVE",
2574
- "entity": "@payload.row"
2571
+ "submitEvent": "SAVE"
2575
2572
  }
2576
- ]
2573
+ ],
2574
+ "direction": "vertical",
2575
+ "type": "stack",
2576
+ "gap": "md"
2577
2577
  }
2578
2578
  ]
2579
2579
  ]
@@ -2614,8 +2614,8 @@
2614
2614
  "@payload.data",
2615
2615
  {
2616
2616
  "emit": {
2617
- "failure": "TradeOrderUpdateFailed",
2618
- "success": "TradeOrderUpdated"
2617
+ "success": "TradeOrderUpdated",
2618
+ "failure": "TradeOrderUpdateFailed"
2619
2619
  }
2620
2620
  }
2621
2621
  ],
@@ -2801,22 +2801,25 @@
2801
2801
  "fetch",
2802
2802
  "TradeOrder",
2803
2803
  {
2804
+ "id": "@payload.id",
2804
2805
  "emit": {
2805
2806
  "success": "TradeOrderLoaded",
2806
2807
  "failure": "TradeOrderLoadFailed"
2807
- },
2808
- "id": "@payload.id"
2808
+ }
2809
2809
  }
2810
2810
  ],
2811
2811
  [
2812
2812
  "render-ui",
2813
2813
  "modal",
2814
2814
  {
2815
+ "direction": "vertical",
2816
+ "gap": "md",
2817
+ "type": "stack",
2815
2818
  "children": [
2816
2819
  {
2817
- "type": "stack",
2818
- "direction": "horizontal",
2819
2820
  "align": "center",
2821
+ "direction": "horizontal",
2822
+ "type": "stack",
2820
2823
  "gap": "sm",
2821
2824
  "children": [
2822
2825
  {
@@ -2824,9 +2827,9 @@
2824
2827
  "name": "eye"
2825
2828
  },
2826
2829
  {
2830
+ "type": "typography",
2827
2831
  "variant": "h3",
2828
- "content": "@entity.symbol",
2829
- "type": "typography"
2832
+ "content": "@entity.symbol"
2830
2833
  }
2831
2834
  ]
2832
2835
  },
@@ -2835,100 +2838,97 @@
2835
2838
  },
2836
2839
  {
2837
2840
  "direction": "horizontal",
2838
- "type": "stack",
2839
- "gap": "md",
2840
2841
  "children": [
2841
2842
  {
2842
- "content": "Symbol",
2843
+ "variant": "caption",
2843
2844
  "type": "typography",
2844
- "variant": "caption"
2845
+ "content": "Symbol"
2845
2846
  },
2846
2847
  {
2847
2848
  "content": "@entity.symbol",
2848
- "variant": "body",
2849
- "type": "typography"
2849
+ "type": "typography",
2850
+ "variant": "body"
2850
2851
  }
2851
- ]
2852
+ ],
2853
+ "type": "stack",
2854
+ "gap": "md"
2852
2855
  },
2853
2856
  {
2854
- "gap": "md",
2855
- "direction": "horizontal",
2856
- "type": "stack",
2857
2857
  "children": [
2858
2858
  {
2859
- "type": "typography",
2860
2859
  "variant": "caption",
2860
+ "type": "typography",
2861
2861
  "content": "Side"
2862
2862
  },
2863
2863
  {
2864
- "variant": "body",
2865
2864
  "content": "@entity.side",
2866
- "type": "typography"
2865
+ "type": "typography",
2866
+ "variant": "body"
2867
2867
  }
2868
- ]
2868
+ ],
2869
+ "direction": "horizontal",
2870
+ "gap": "md",
2871
+ "type": "stack"
2869
2872
  },
2870
2873
  {
2871
- "type": "stack",
2874
+ "direction": "horizontal",
2875
+ "gap": "md",
2872
2876
  "children": [
2873
2877
  {
2878
+ "type": "typography",
2874
2879
  "variant": "caption",
2875
- "content": "Quantity",
2876
- "type": "typography"
2880
+ "content": "Quantity"
2877
2881
  },
2878
2882
  {
2879
2883
  "content": "@entity.quantity",
2880
- "variant": "body",
2881
- "type": "typography"
2884
+ "type": "typography",
2885
+ "variant": "body"
2882
2886
  }
2883
2887
  ],
2884
- "gap": "md",
2885
- "direction": "horizontal"
2888
+ "type": "stack"
2886
2889
  },
2887
2890
  {
2888
- "type": "stack",
2889
- "direction": "horizontal",
2890
2891
  "gap": "md",
2891
2892
  "children": [
2892
2893
  {
2893
2894
  "variant": "caption",
2894
- "type": "typography",
2895
- "content": "Price"
2895
+ "content": "Price",
2896
+ "type": "typography"
2896
2897
  },
2897
2898
  {
2898
2899
  "variant": "body",
2899
2900
  "content": "@entity.price",
2900
2901
  "type": "typography"
2901
2902
  }
2902
- ]
2903
+ ],
2904
+ "direction": "horizontal",
2905
+ "type": "stack"
2903
2906
  },
2904
2907
  {
2905
2908
  "type": "divider"
2906
2909
  },
2907
2910
  {
2908
- "type": "stack",
2909
- "direction": "horizontal",
2910
2911
  "gap": "sm",
2911
- "justify": "end",
2912
+ "direction": "horizontal",
2913
+ "type": "stack",
2912
2914
  "children": [
2913
2915
  {
2914
- "label": "Edit",
2915
2916
  "type": "button",
2917
+ "icon": "edit",
2916
2918
  "action": "EDIT",
2917
2919
  "variant": "primary",
2918
- "icon": "edit"
2920
+ "label": "Edit"
2919
2921
  },
2920
2922
  {
2921
- "type": "button",
2922
- "variant": "ghost",
2923
2923
  "label": "Close",
2924
- "action": "CLOSE"
2924
+ "action": "CLOSE",
2925
+ "type": "button",
2926
+ "variant": "ghost"
2925
2927
  }
2926
- ]
2928
+ ],
2929
+ "justify": "end"
2927
2930
  }
2928
- ],
2929
- "direction": "vertical",
2930
- "gap": "md",
2931
- "type": "stack"
2931
+ ]
2932
2932
  }
2933
2933
  ]
2934
2934
  ]
@@ -3172,8 +3172,8 @@
3172
3172
  "TradeOrder",
3173
3173
  {
3174
3174
  "emit": {
3175
- "failure": "TradeOrderLoadFailed",
3176
- "success": "TradeOrderLoaded"
3175
+ "success": "TradeOrderLoaded",
3176
+ "failure": "TradeOrderLoadFailed"
3177
3177
  },
3178
3178
  "id": "@payload.id"
3179
3179
  }
@@ -3182,14 +3182,14 @@
3182
3182
  "render-ui",
3183
3183
  "modal",
3184
3184
  {
3185
- "gap": "md",
3186
3185
  "children": [
3187
3186
  {
3188
- "align": "center",
3187
+ "direction": "horizontal",
3188
+ "gap": "sm",
3189
3189
  "children": [
3190
3190
  {
3191
- "name": "alert-triangle",
3192
- "type": "icon"
3191
+ "type": "icon",
3192
+ "name": "alert-triangle"
3193
3193
  },
3194
3194
  {
3195
3195
  "type": "typography",
@@ -3197,42 +3197,42 @@
3197
3197
  "variant": "h3"
3198
3198
  }
3199
3199
  ],
3200
- "direction": "horizontal",
3201
- "gap": "sm",
3200
+ "align": "center",
3202
3201
  "type": "stack"
3203
3202
  },
3204
3203
  {
3205
3204
  "type": "divider"
3206
3205
  },
3207
3206
  {
3208
- "message": "This action cannot be undone.",
3209
3207
  "type": "alert",
3208
+ "message": "This action cannot be undone.",
3210
3209
  "variant": "error"
3211
3210
  },
3212
3211
  {
3213
- "direction": "horizontal",
3214
- "gap": "sm",
3215
- "type": "stack",
3216
- "justify": "end",
3217
3212
  "children": [
3218
3213
  {
3219
- "action": "CANCEL",
3220
- "label": "Cancel",
3221
3214
  "variant": "ghost",
3222
- "type": "button"
3215
+ "type": "button",
3216
+ "action": "CANCEL",
3217
+ "label": "Cancel"
3223
3218
  },
3224
3219
  {
3225
- "icon": "check",
3220
+ "variant": "danger",
3221
+ "action": "CONFIRM_DELETE",
3226
3222
  "type": "button",
3227
3223
  "label": "Delete",
3228
- "action": "CONFIRM_DELETE",
3229
- "variant": "danger"
3224
+ "icon": "check"
3230
3225
  }
3231
- ]
3226
+ ],
3227
+ "type": "stack",
3228
+ "direction": "horizontal",
3229
+ "justify": "end",
3230
+ "gap": "sm"
3232
3231
  }
3233
3232
  ],
3233
+ "type": "stack",
3234
3234
  "direction": "vertical",
3235
- "type": "stack"
3235
+ "gap": "md"
3236
3236
  }
3237
3237
  ]
3238
3238
  ]
@@ -3249,8 +3249,8 @@
3249
3249
  "@entity.pendingId",
3250
3250
  {
3251
3251
  "emit": {
3252
- "failure": "TradeOrderDeleteFailed",
3253
- "success": "TradeOrderDeleted"
3252
+ "success": "TradeOrderDeleted",
3253
+ "failure": "TradeOrderDeleteFailed"
3254
3254
  }
3255
3255
  }
3256
3256
  ],
@@ -3271,8 +3271,8 @@
3271
3271
  "TradeOrder",
3272
3272
  {
3273
3273
  "emit": {
3274
- "success": "TradeOrderLoaded",
3275
- "failure": "TradeOrderLoadFailed"
3274
+ "failure": "TradeOrderLoadFailed",
3275
+ "success": "TradeOrderLoaded"
3276
3276
  }
3277
3277
  }
3278
3278
  ],
@@ -3304,8 +3304,8 @@
3304
3304
  "TradeOrder",
3305
3305
  {
3306
3306
  "emit": {
3307
- "failure": "TradeOrderLoadFailed",
3308
- "success": "TradeOrderLoaded"
3307
+ "success": "TradeOrderLoaded",
3308
+ "failure": "TradeOrderLoadFailed"
3309
3309
  }
3310
3310
  }
3311
3311
  ]
@@ -3333,8 +3333,8 @@
3333
3333
  "TradeOrder",
3334
3334
  {
3335
3335
  "emit": {
3336
- "success": "TradeOrderLoaded",
3337
- "failure": "TradeOrderLoadFailed"
3336
+ "failure": "TradeOrderLoadFailed",
3337
+ "success": "TradeOrderLoaded"
3338
3338
  }
3339
3339
  }
3340
3340
  ]
@@ -3573,66 +3573,66 @@
3573
3573
  "render-ui",
3574
3574
  "main",
3575
3575
  {
3576
- "appName": "Trading Dashboard",
3577
- "navItems": [
3578
- {
3579
- "href": "/portfolio",
3580
- "label": "Portfolio",
3581
- "icon": "layout-list"
3582
- },
3583
- {
3584
- "href": "/orders",
3585
- "label": "Orders",
3586
- "icon": "clipboard-list"
3587
- },
3588
- {
3589
- "label": "Market",
3590
- "href": "/market",
3591
- "icon": "layout-list"
3592
- }
3593
- ],
3594
3576
  "type": "dashboard-layout",
3595
3577
  "children": [
3596
3578
  {
3597
- "gap": "lg",
3598
- "type": "stack",
3579
+ "align": "center",
3599
3580
  "direction": "vertical",
3581
+ "type": "stack",
3582
+ "gap": "lg",
3600
3583
  "children": [
3601
3584
  {
3602
- "align": "center",
3585
+ "direction": "horizontal",
3603
3586
  "children": [
3604
3587
  {
3605
- "name": "activity",
3606
- "type": "icon"
3588
+ "type": "icon",
3589
+ "name": "activity"
3607
3590
  },
3608
3591
  {
3609
- "content": "MarketFeed",
3610
3592
  "type": "typography",
3611
- "variant": "h2"
3593
+ "variant": "h2",
3594
+ "content": "MarketFeed"
3612
3595
  }
3613
3596
  ],
3614
3597
  "gap": "md",
3615
3598
  "type": "stack",
3616
- "direction": "horizontal"
3599
+ "align": "center"
3617
3600
  },
3618
3601
  {
3619
3602
  "type": "divider"
3620
3603
  },
3621
3604
  {
3622
- "content": "Ready to start marketfeed operation.",
3623
- "variant": "body",
3624
3605
  "color": "muted",
3625
- "type": "typography"
3606
+ "type": "typography",
3607
+ "content": "Ready to start marketfeed operation.",
3608
+ "variant": "body"
3626
3609
  },
3627
3610
  {
3628
3611
  "action": "START",
3629
- "icon": "play",
3630
3612
  "type": "button",
3613
+ "icon": "play",
3631
3614
  "label": "Start",
3632
3615
  "variant": "primary"
3633
3616
  }
3634
- ],
3635
- "align": "center"
3617
+ ]
3618
+ }
3619
+ ],
3620
+ "appName": "Trading Dashboard",
3621
+ "navItems": [
3622
+ {
3623
+ "href": "/portfolio",
3624
+ "icon": "layout-list",
3625
+ "label": "Portfolio"
3626
+ },
3627
+ {
3628
+ "label": "Orders",
3629
+ "href": "/orders",
3630
+ "icon": "clipboard-list"
3631
+ },
3632
+ {
3633
+ "label": "Market",
3634
+ "href": "/market",
3635
+ "icon": "layout-list"
3636
3636
  }
3637
3637
  ]
3638
3638
  }
@@ -3648,25 +3648,7 @@
3648
3648
  "render-ui",
3649
3649
  "main",
3650
3650
  {
3651
- "children": [
3652
- {
3653
- "gap": "lg",
3654
- "direction": "vertical",
3655
- "align": "center",
3656
- "children": [
3657
- {
3658
- "message": "Processing marketfeed...",
3659
- "title": "Connecting to market feed...",
3660
- "type": "loading-state"
3661
- },
3662
- {
3663
- "variant": "text",
3664
- "type": "skeleton"
3665
- }
3666
- ],
3667
- "type": "stack"
3668
- }
3669
- ],
3651
+ "appName": "Trading Dashboard",
3670
3652
  "navItems": [
3671
3653
  {
3672
3654
  "label": "Portfolio",
@@ -3679,12 +3661,30 @@
3679
3661
  "icon": "clipboard-list"
3680
3662
  },
3681
3663
  {
3682
- "label": "Market",
3664
+ "icon": "layout-list",
3683
3665
  "href": "/market",
3684
- "icon": "layout-list"
3666
+ "label": "Market"
3667
+ }
3668
+ ],
3669
+ "children": [
3670
+ {
3671
+ "type": "stack",
3672
+ "align": "center",
3673
+ "gap": "lg",
3674
+ "direction": "vertical",
3675
+ "children": [
3676
+ {
3677
+ "message": "Processing marketfeed...",
3678
+ "type": "loading-state",
3679
+ "title": "Connecting to market feed..."
3680
+ },
3681
+ {
3682
+ "variant": "text",
3683
+ "type": "skeleton"
3684
+ }
3685
+ ]
3685
3686
  }
3686
3687
  ],
3687
- "appName": "Trading Dashboard",
3688
3688
  "type": "dashboard-layout"
3689
3689
  }
3690
3690
  ]
@@ -3711,8 +3711,29 @@
3711
3711
  "render-ui",
3712
3712
  "main",
3713
3713
  {
3714
+ "appName": "Trading Dashboard",
3715
+ "navItems": [
3716
+ {
3717
+ "icon": "layout-list",
3718
+ "label": "Portfolio",
3719
+ "href": "/portfolio"
3720
+ },
3721
+ {
3722
+ "href": "/orders",
3723
+ "icon": "clipboard-list",
3724
+ "label": "Orders"
3725
+ },
3726
+ {
3727
+ "icon": "layout-list",
3728
+ "label": "Market",
3729
+ "href": "/market"
3730
+ }
3731
+ ],
3732
+ "type": "dashboard-layout",
3714
3733
  "children": [
3715
3734
  {
3735
+ "direction": "vertical",
3736
+ "gap": "lg",
3716
3737
  "align": "center",
3717
3738
  "type": "stack",
3718
3739
  "children": [
@@ -3721,49 +3742,28 @@
3721
3742
  "type": "icon"
3722
3743
  },
3723
3744
  {
3724
- "type": "alert",
3725
3745
  "variant": "success",
3726
- "message": "Market feed connected."
3746
+ "message": "Market feed connected.",
3747
+ "type": "alert"
3727
3748
  },
3728
3749
  {
3750
+ "direction": "horizontal",
3751
+ "justify": "center",
3752
+ "gap": "sm",
3753
+ "type": "stack",
3729
3754
  "children": [
3730
3755
  {
3731
- "icon": "rotate-ccw",
3732
- "action": "RESET",
3733
3756
  "variant": "ghost",
3757
+ "label": "Reset",
3758
+ "action": "RESET",
3734
3759
  "type": "button",
3735
- "label": "Reset"
3760
+ "icon": "rotate-ccw"
3736
3761
  }
3737
- ],
3738
- "direction": "horizontal",
3739
- "gap": "sm",
3740
- "type": "stack",
3741
- "justify": "center"
3762
+ ]
3742
3763
  }
3743
- ],
3744
- "gap": "lg",
3745
- "direction": "vertical"
3746
- }
3747
- ],
3748
- "navItems": [
3749
- {
3750
- "href": "/portfolio",
3751
- "icon": "layout-list",
3752
- "label": "Portfolio"
3753
- },
3754
- {
3755
- "href": "/orders",
3756
- "icon": "clipboard-list",
3757
- "label": "Orders"
3758
- },
3759
- {
3760
- "icon": "layout-list",
3761
- "label": "Market",
3762
- "href": "/market"
3764
+ ]
3763
3765
  }
3764
- ],
3765
- "type": "dashboard-layout",
3766
- "appName": "Trading Dashboard"
3766
+ ]
3767
3767
  }
3768
3768
  ]
3769
3769
  ]
@@ -3777,62 +3777,62 @@
3777
3777
  "render-ui",
3778
3778
  "main",
3779
3779
  {
3780
+ "type": "dashboard-layout",
3781
+ "appName": "Trading Dashboard",
3782
+ "navItems": [
3783
+ {
3784
+ "label": "Portfolio",
3785
+ "href": "/portfolio",
3786
+ "icon": "layout-list"
3787
+ },
3788
+ {
3789
+ "label": "Orders",
3790
+ "icon": "clipboard-list",
3791
+ "href": "/orders"
3792
+ },
3793
+ {
3794
+ "href": "/market",
3795
+ "icon": "layout-list",
3796
+ "label": "Market"
3797
+ }
3798
+ ],
3780
3799
  "children": [
3781
3800
  {
3782
- "align": "center",
3783
3801
  "gap": "lg",
3784
- "type": "stack",
3802
+ "align": "center",
3785
3803
  "direction": "vertical",
3804
+ "type": "stack",
3786
3805
  "children": [
3787
3806
  {
3807
+ "title": "Operation Failed",
3788
3808
  "type": "error-state",
3789
- "onRetry": "RETRY",
3790
3809
  "message": "Market feed disconnected.",
3791
- "title": "Operation Failed"
3810
+ "onRetry": "RETRY"
3792
3811
  },
3793
3812
  {
3813
+ "gap": "sm",
3814
+ "direction": "horizontal",
3815
+ "justify": "center",
3794
3816
  "children": [
3795
3817
  {
3796
- "icon": "refresh-cw",
3797
- "variant": "primary",
3798
3818
  "action": "RETRY",
3799
3819
  "type": "button",
3800
- "label": "Retry"
3820
+ "label": "Retry",
3821
+ "variant": "primary",
3822
+ "icon": "refresh-cw"
3801
3823
  },
3802
3824
  {
3803
- "variant": "ghost",
3804
- "action": "RESET",
3805
3825
  "icon": "rotate-ccw",
3826
+ "action": "RESET",
3827
+ "variant": "ghost",
3806
3828
  "label": "Reset",
3807
3829
  "type": "button"
3808
3830
  }
3809
3831
  ],
3810
- "gap": "sm",
3811
- "type": "stack",
3812
- "direction": "horizontal",
3813
- "justify": "center"
3832
+ "type": "stack"
3814
3833
  }
3815
3834
  ]
3816
3835
  }
3817
- ],
3818
- "appName": "Trading Dashboard",
3819
- "type": "dashboard-layout",
3820
- "navItems": [
3821
- {
3822
- "icon": "layout-list",
3823
- "label": "Portfolio",
3824
- "href": "/portfolio"
3825
- },
3826
- {
3827
- "href": "/orders",
3828
- "label": "Orders",
3829
- "icon": "clipboard-list"
3830
- },
3831
- {
3832
- "icon": "layout-list",
3833
- "label": "Market",
3834
- "href": "/market"
3835
- }
3836
3836
  ]
3837
3837
  }
3838
3838
  ]
@@ -3847,65 +3847,65 @@
3847
3847
  "render-ui",
3848
3848
  "main",
3849
3849
  {
3850
+ "type": "dashboard-layout",
3850
3851
  "navItems": [
3851
3852
  {
3853
+ "icon": "layout-list",
3852
3854
  "label": "Portfolio",
3853
- "href": "/portfolio",
3854
- "icon": "layout-list"
3855
+ "href": "/portfolio"
3855
3856
  },
3856
3857
  {
3858
+ "icon": "clipboard-list",
3857
3859
  "label": "Orders",
3858
- "href": "/orders",
3859
- "icon": "clipboard-list"
3860
+ "href": "/orders"
3860
3861
  },
3861
3862
  {
3862
3863
  "href": "/market",
3863
- "icon": "layout-list",
3864
- "label": "Market"
3864
+ "label": "Market",
3865
+ "icon": "layout-list"
3865
3866
  }
3866
3867
  ],
3867
- "type": "dashboard-layout",
3868
3868
  "children": [
3869
3869
  {
3870
- "gap": "lg",
3871
- "type": "stack",
3872
3870
  "align": "center",
3871
+ "direction": "vertical",
3872
+ "type": "stack",
3873
+ "gap": "lg",
3873
3874
  "children": [
3874
3875
  {
3875
- "gap": "md",
3876
- "align": "center",
3877
3876
  "direction": "horizontal",
3878
3877
  "type": "stack",
3878
+ "gap": "md",
3879
3879
  "children": [
3880
3880
  {
3881
3881
  "type": "icon",
3882
3882
  "name": "activity"
3883
3883
  },
3884
3884
  {
3885
- "type": "typography",
3886
3885
  "content": "MarketFeed",
3886
+ "type": "typography",
3887
3887
  "variant": "h2"
3888
3888
  }
3889
- ]
3889
+ ],
3890
+ "align": "center"
3890
3891
  },
3891
3892
  {
3892
3893
  "type": "divider"
3893
3894
  },
3894
3895
  {
3895
3896
  "content": "Ready to start marketfeed operation.",
3896
- "color": "muted",
3897
3897
  "type": "typography",
3898
- "variant": "body"
3898
+ "variant": "body",
3899
+ "color": "muted"
3899
3900
  },
3900
3901
  {
3901
- "action": "START",
3902
3902
  "variant": "primary",
3903
+ "type": "button",
3903
3904
  "icon": "play",
3904
- "label": "Start",
3905
- "type": "button"
3905
+ "action": "START",
3906
+ "label": "Start"
3906
3907
  }
3907
- ],
3908
- "direction": "vertical"
3908
+ ]
3909
3909
  }
3910
3910
  ],
3911
3911
  "appName": "Trading Dashboard"
@@ -3922,66 +3922,66 @@
3922
3922
  "render-ui",
3923
3923
  "main",
3924
3924
  {
3925
- "navItems": [
3926
- {
3927
- "href": "/portfolio",
3928
- "label": "Portfolio",
3929
- "icon": "layout-list"
3930
- },
3931
- {
3932
- "icon": "clipboard-list",
3933
- "label": "Orders",
3934
- "href": "/orders"
3935
- },
3936
- {
3937
- "href": "/market",
3938
- "icon": "layout-list",
3939
- "label": "Market"
3940
- }
3941
- ],
3942
3925
  "type": "dashboard-layout",
3943
3926
  "appName": "Trading Dashboard",
3944
3927
  "children": [
3945
3928
  {
3946
3929
  "direction": "vertical",
3930
+ "gap": "lg",
3931
+ "type": "stack",
3947
3932
  "align": "center",
3948
3933
  "children": [
3949
3934
  {
3950
- "direction": "horizontal",
3951
- "gap": "md",
3935
+ "type": "stack",
3952
3936
  "children": [
3953
3937
  {
3954
3938
  "name": "activity",
3955
3939
  "type": "icon"
3956
3940
  },
3957
3941
  {
3958
- "variant": "h2",
3959
3942
  "type": "typography",
3960
- "content": "MarketFeed"
3943
+ "content": "MarketFeed",
3944
+ "variant": "h2"
3961
3945
  }
3962
3946
  ],
3963
- "type": "stack",
3964
- "align": "center"
3947
+ "align": "center",
3948
+ "gap": "md",
3949
+ "direction": "horizontal"
3965
3950
  },
3966
3951
  {
3967
3952
  "type": "divider"
3968
3953
  },
3969
3954
  {
3970
- "content": "Ready to start marketfeed operation.",
3971
3955
  "type": "typography",
3972
3956
  "variant": "body",
3973
- "color": "muted"
3957
+ "color": "muted",
3958
+ "content": "Ready to start marketfeed operation."
3974
3959
  },
3975
3960
  {
3976
3961
  "label": "Start",
3977
- "icon": "play",
3978
3962
  "type": "button",
3979
- "variant": "primary",
3980
- "action": "START"
3963
+ "icon": "play",
3964
+ "action": "START",
3965
+ "variant": "primary"
3981
3966
  }
3982
- ],
3983
- "type": "stack",
3984
- "gap": "lg"
3967
+ ]
3968
+ }
3969
+ ],
3970
+ "navItems": [
3971
+ {
3972
+ "label": "Portfolio",
3973
+ "icon": "layout-list",
3974
+ "href": "/portfolio"
3975
+ },
3976
+ {
3977
+ "icon": "clipboard-list",
3978
+ "href": "/orders",
3979
+ "label": "Orders"
3980
+ },
3981
+ {
3982
+ "icon": "layout-list",
3983
+ "label": "Market",
3984
+ "href": "/market"
3985
3985
  }
3986
3986
  ]
3987
3987
  }
@@ -3997,31 +3997,9 @@
3997
3997
  "render-ui",
3998
3998
  "main",
3999
3999
  {
4000
- "type": "dashboard-layout",
4001
- "navItems": [
4002
- {
4003
- "label": "Portfolio",
4004
- "href": "/portfolio",
4005
- "icon": "layout-list"
4006
- },
4007
- {
4008
- "label": "Orders",
4009
- "icon": "clipboard-list",
4010
- "href": "/orders"
4011
- },
4012
- {
4013
- "href": "/market",
4014
- "icon": "layout-list",
4015
- "label": "Market"
4016
- }
4017
- ],
4018
4000
  "appName": "Trading Dashboard",
4019
4001
  "children": [
4020
4002
  {
4021
- "type": "stack",
4022
- "gap": "lg",
4023
- "direction": "vertical",
4024
- "align": "center",
4025
4003
  "children": [
4026
4004
  {
4027
4005
  "title": "Connecting to market feed...",
@@ -4029,12 +4007,34 @@
4029
4007
  "type": "loading-state"
4030
4008
  },
4031
4009
  {
4032
- "variant": "text",
4033
- "type": "skeleton"
4010
+ "type": "skeleton",
4011
+ "variant": "text"
4034
4012
  }
4035
- ]
4013
+ ],
4014
+ "direction": "vertical",
4015
+ "type": "stack",
4016
+ "gap": "lg",
4017
+ "align": "center"
4036
4018
  }
4037
- ]
4019
+ ],
4020
+ "navItems": [
4021
+ {
4022
+ "label": "Portfolio",
4023
+ "icon": "layout-list",
4024
+ "href": "/portfolio"
4025
+ },
4026
+ {
4027
+ "href": "/orders",
4028
+ "label": "Orders",
4029
+ "icon": "clipboard-list"
4030
+ },
4031
+ {
4032
+ "label": "Market",
4033
+ "href": "/market",
4034
+ "icon": "layout-list"
4035
+ }
4036
+ ],
4037
+ "type": "dashboard-layout"
4038
4038
  }
4039
4039
  ]
4040
4040
  ]