@almadar/std 8.2.0 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +74 -74
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +104 -98
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +126 -111
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +406 -400
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +87 -87
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +82 -82
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +120 -114
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +68 -68
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +126 -126
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +208 -208
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +342 -342
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +77 -76
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +181 -181
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +183 -183
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +139 -139
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +124 -124
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1124 -1124
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3064 -3064
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2165 -2165
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +917 -917
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +759 -759
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +827 -827
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1181 -1181
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +745 -745
  27. package/behaviors/registry/app/organisms/std-cms.orb +432 -432
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +378 -378
  29. package/behaviors/registry/app/organisms/std-crm.orb +813 -813
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1290 -1290
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +989 -989
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +575 -575
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1374 -1374
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +714 -714
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1175 -1175
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +834 -834
  37. package/behaviors/registry/app/organisms/std-lms.orb +858 -858
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +654 -654
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +720 -720
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +197 -197
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +744 -744
  42. package/behaviors/registry/core/atoms/std-browse.orb +64 -64
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +93 -93
  44. package/behaviors/registry/core/atoms/std-calendar.orb +52 -52
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +178 -178
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  47. package/behaviors/registry/core/atoms/std-display.orb +413 -413
  48. package/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  49. package/behaviors/registry/core/atoms/std-filter.orb +50 -50
  50. package/behaviors/registry/core/atoms/std-gallery.orb +53 -53
  51. package/behaviors/registry/core/atoms/std-modal.orb +13 -31
  52. package/behaviors/registry/core/atoms/std-pagination.orb +48 -48
  53. package/behaviors/registry/core/atoms/std-push.orb +47 -47
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +176 -176
  55. package/behaviors/registry/core/atoms/std-related.orb +31 -31
  56. package/behaviors/registry/core/atoms/std-search.orb +75 -75
  57. package/behaviors/registry/core/atoms/std-selection.orb +91 -91
  58. package/behaviors/registry/core/atoms/std-tabs.orb +45 -45
  59. package/behaviors/registry/core/molecules/std-cart.orb +49 -49
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +8 -8
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +115 -115
  62. package/behaviors/registry/core/molecules/std-list.orb +58 -58
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +136 -136
  64. package/behaviors/registry/game/atoms/std-collision.orb +132 -132
  65. package/behaviors/registry/game/atoms/std-combat.orb +59 -59
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +49 -49
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +32 -32
  69. package/behaviors/registry/game/atoms/std-movement.orb +287 -287
  70. package/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +80 -80
  72. package/behaviors/registry/game/atoms/std-quest.orb +133 -133
  73. package/behaviors/registry/game/atoms/std-timer.orb +266 -275
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +78 -78
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +207 -207
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +103 -103
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +368 -368
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +331 -331
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +528 -528
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +15 -15
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +76 -76
  83. package/behaviors/registry/service/atoms/std-service-email.orb +78 -78
  84. package/behaviors/registry/service/atoms/std-service-github.orb +91 -91
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +107 -107
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +113 -113
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +101 -101
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +92 -92
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +113 -113
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +943 -943
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +965 -965
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +74 -74
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +104 -98
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +126 -111
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +406 -400
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +87 -87
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +82 -82
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +120 -114
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +68 -68
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +126 -126
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +208 -208
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +342 -342
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +77 -76
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +181 -181
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +183 -183
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +139 -139
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +124 -124
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1124 -1124
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3064 -3064
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2165 -2165
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +917 -917
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +759 -759
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +827 -827
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1181 -1181
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +745 -745
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +432 -432
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +378 -378
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +813 -813
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1290 -1290
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +989 -989
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +575 -575
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1374 -1374
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +714 -714
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1175 -1175
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +834 -834
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +858 -858
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +654 -654
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +720 -720
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +197 -197
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +744 -744
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +64 -64
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +93 -93
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +52 -52
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +178 -178
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +24 -42
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +413 -413
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +61 -61
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +50 -50
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +53 -53
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +13 -31
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +48 -48
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +47 -47
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +176 -176
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +31 -31
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +75 -75
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +91 -91
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +45 -45
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +49 -49
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +8 -8
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +115 -115
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +58 -58
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +136 -136
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +132 -132
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +59 -59
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +26 -26
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +49 -49
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +32 -32
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +287 -287
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +64 -64
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +80 -80
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +133 -133
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +266 -275
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +149 -149
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +78 -78
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +207 -207
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +103 -103
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +368 -368
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +331 -331
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +528 -528
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +15 -15
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +76 -76
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +78 -78
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +91 -91
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +107 -107
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +113 -113
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +101 -101
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +105 -105
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +92 -92
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +113 -113
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +943 -943
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +965 -965
  187. package/package.json +1 -1
@@ -561,22 +561,22 @@
561
561
  "render-ui",
562
562
  "main",
563
563
  {
564
- "type": "stack",
564
+ "gap": "md",
565
565
  "direction": "vertical",
566
- "align": "center",
566
+ "className": "py-12",
567
567
  "children": [
568
568
  {
569
569
  "type": "spinner"
570
570
  },
571
571
  {
572
- "color": "muted",
572
+ "content": "Loading…",
573
573
  "variant": "caption",
574
574
  "type": "typography",
575
- "content": "Loading…"
575
+ "color": "muted"
576
576
  }
577
577
  ],
578
- "gap": "md",
579
- "className": "py-12"
578
+ "align": "center",
579
+ "type": "stack"
580
580
  }
581
581
  ]
582
582
  ]
@@ -590,44 +590,18 @@
590
590
  "render-ui",
591
591
  "main",
592
592
  {
593
- "type": "dashboard-layout",
594
- "navItems": [
595
- {
596
- "icon": "user-check",
597
- "href": "/providers",
598
- "label": "Providers"
599
- },
600
- {
601
- "href": "/book",
602
- "icon": "calendar-plus",
603
- "label": "Book"
604
- },
605
- {
606
- "label": "Appointments",
607
- "href": "/appointments",
608
- "icon": "calendar"
609
- },
610
- {
611
- "icon": "clock",
612
- "href": "/schedule",
613
- "label": "Schedule"
614
- }
615
- ],
616
593
  "children": [
617
594
  {
618
- "direction": "vertical",
619
- "gap": "lg",
620
- "type": "stack",
621
595
  "children": [
622
596
  {
623
- "align": "center",
624
597
  "direction": "horizontal",
625
- "justify": "between",
626
598
  "gap": "md",
627
- "type": "stack",
599
+ "align": "center",
628
600
  "children": [
629
601
  {
630
- "gap": "sm",
602
+ "direction": "horizontal",
603
+ "align": "center",
604
+ "type": "stack",
631
605
  "children": [
632
606
  {
633
607
  "name": "briefcase",
@@ -639,32 +613,31 @@
639
613
  "content": "Providers"
640
614
  }
641
615
  ],
642
- "align": "center",
643
- "direction": "horizontal",
644
- "type": "stack"
616
+ "gap": "sm"
645
617
  },
646
618
  {
647
619
  "children": [
648
620
  {
649
- "label": "Create Provider",
650
- "action": "CREATE",
651
621
  "icon": "plus",
652
622
  "type": "button",
653
- "variant": "primary"
623
+ "variant": "primary",
624
+ "action": "CREATE",
625
+ "label": "Create Provider"
654
626
  }
655
627
  ],
656
- "type": "stack",
657
628
  "direction": "horizontal",
629
+ "type": "stack",
658
630
  "gap": "sm"
659
631
  }
660
- ]
632
+ ],
633
+ "type": "stack",
634
+ "justify": "between"
661
635
  },
662
636
  {
663
637
  "type": "divider"
664
638
  },
665
639
  {
666
640
  "type": "data-grid",
667
- "entity": "@payload.data",
668
641
  "columns": [
669
642
  {
670
643
  "name": "name",
@@ -672,17 +645,17 @@
672
645
  "icon": "briefcase"
673
646
  },
674
647
  {
675
- "variant": "badge",
676
- "name": "specialty"
648
+ "name": "specialty",
649
+ "variant": "badge"
677
650
  },
678
651
  {
652
+ "format": "number",
679
653
  "variant": "body",
680
- "name": "rating",
681
- "format": "number"
654
+ "name": "rating"
682
655
  },
683
656
  {
684
- "variant": "body",
685
- "name": "location"
657
+ "name": "location",
658
+ "variant": "body"
686
659
  },
687
660
  {
688
661
  "name": "phone",
@@ -690,16 +663,18 @@
690
663
  }
691
664
  ],
692
665
  "cols": 2.0,
666
+ "gap": "md",
667
+ "fields": [],
693
668
  "itemActions": [
694
669
  {
695
- "event": "VIEW",
696
670
  "variant": "ghost",
671
+ "event": "VIEW",
697
672
  "label": "View"
698
673
  },
699
674
  {
675
+ "event": "EDIT",
700
676
  "variant": "ghost",
701
- "label": "Edit",
702
- "event": "EDIT"
677
+ "label": "Edit"
703
678
  },
704
679
  {
705
680
  "variant": "danger",
@@ -707,14 +682,39 @@
707
682
  "event": "DELETE"
708
683
  }
709
684
  ],
710
- "gap": "md",
711
- "fields": []
685
+ "entity": "@payload.data"
712
686
  }
713
687
  ],
714
- "className": "max-w-5xl mx-auto w-full"
688
+ "type": "stack",
689
+ "gap": "lg",
690
+ "className": "max-w-5xl mx-auto w-full",
691
+ "direction": "vertical"
715
692
  }
716
693
  ],
717
- "appName": "BookingSystemApp"
694
+ "type": "dashboard-layout",
695
+ "appName": "BookingSystemApp",
696
+ "navItems": [
697
+ {
698
+ "icon": "user-check",
699
+ "href": "/providers",
700
+ "label": "Providers"
701
+ },
702
+ {
703
+ "label": "Book",
704
+ "href": "/book",
705
+ "icon": "calendar-plus"
706
+ },
707
+ {
708
+ "icon": "calendar",
709
+ "href": "/appointments",
710
+ "label": "Appointments"
711
+ },
712
+ {
713
+ "label": "Schedule",
714
+ "href": "/schedule",
715
+ "icon": "clock"
716
+ }
717
+ ]
718
718
  }
719
719
  ]
720
720
  ]
@@ -728,36 +728,36 @@
728
728
  "render-ui",
729
729
  "main",
730
730
  {
731
+ "align": "center",
731
732
  "direction": "vertical",
733
+ "type": "stack",
732
734
  "gap": "md",
733
735
  "className": "py-12",
734
736
  "children": [
735
737
  {
736
- "type": "icon",
737
738
  "color": "destructive",
738
- "name": "alert-triangle"
739
+ "name": "alert-triangle",
740
+ "type": "icon"
739
741
  },
740
742
  {
741
- "variant": "h3",
742
743
  "content": "Failed to load provider",
743
- "type": "typography"
744
+ "type": "typography",
745
+ "variant": "h3"
744
746
  },
745
747
  {
748
+ "type": "typography",
746
749
  "content": "@payload.error",
747
- "variant": "body",
748
750
  "color": "muted",
749
- "type": "typography"
751
+ "variant": "body"
750
752
  },
751
753
  {
752
- "variant": "primary",
753
754
  "action": "INIT",
754
755
  "label": "Retry",
755
- "type": "button",
756
- "icon": "rotate-ccw"
756
+ "variant": "primary",
757
+ "icon": "rotate-ccw",
758
+ "type": "button"
757
759
  }
758
- ],
759
- "type": "stack",
760
- "align": "center"
760
+ ]
761
761
  }
762
762
  ]
763
763
  ]
@@ -950,33 +950,32 @@
950
950
  "render-ui",
951
951
  "modal",
952
952
  {
953
- "direction": "vertical",
954
- "gap": "md",
955
953
  "type": "stack",
956
954
  "children": [
957
955
  {
956
+ "gap": "sm",
958
957
  "direction": "horizontal",
958
+ "type": "stack",
959
959
  "children": [
960
960
  {
961
- "name": "plus-circle",
962
- "type": "icon"
961
+ "type": "icon",
962
+ "name": "plus-circle"
963
963
  },
964
964
  {
965
- "content": "Create Provider",
966
965
  "variant": "h3",
967
- "type": "typography"
966
+ "type": "typography",
967
+ "content": "Create Provider"
968
968
  }
969
- ],
970
- "type": "stack",
971
- "gap": "sm"
969
+ ]
972
970
  },
973
971
  {
974
972
  "type": "divider"
975
973
  },
976
974
  {
977
975
  "submitEvent": "SAVE",
978
- "mode": "create",
979
976
  "type": "form-section",
977
+ "mode": "create",
978
+ "cancelEvent": "CLOSE",
980
979
  "fields": [
981
980
  "name",
982
981
  "specialty",
@@ -984,10 +983,11 @@
984
983
  "phone",
985
984
  "rating",
986
985
  "available"
987
- ],
988
- "cancelEvent": "CLOSE"
986
+ ]
989
987
  }
990
- ]
988
+ ],
989
+ "direction": "vertical",
990
+ "gap": "md"
991
991
  }
992
992
  ]
993
993
  ]
@@ -1251,22 +1251,23 @@
1251
1251
  "render-ui",
1252
1252
  "modal",
1253
1253
  {
1254
- "type": "stack",
1255
1254
  "gap": "md",
1255
+ "direction": "vertical",
1256
+ "type": "stack",
1256
1257
  "children": [
1257
1258
  {
1258
- "direction": "horizontal",
1259
- "gap": "sm",
1260
1259
  "type": "stack",
1260
+ "gap": "sm",
1261
+ "direction": "horizontal",
1261
1262
  "children": [
1262
1263
  {
1263
- "type": "icon",
1264
- "name": "edit"
1264
+ "name": "edit",
1265
+ "type": "icon"
1265
1266
  },
1266
1267
  {
1267
- "variant": "h3",
1268
+ "type": "typography",
1268
1269
  "content": "Edit Provider",
1269
- "type": "typography"
1270
+ "variant": "h3"
1270
1271
  }
1271
1272
  ]
1272
1273
  },
@@ -1274,9 +1275,8 @@
1274
1275
  "type": "divider"
1275
1276
  },
1276
1277
  {
1277
- "entity": "@payload.row",
1278
+ "mode": "edit",
1278
1279
  "submitEvent": "SAVE",
1279
- "cancelEvent": "CLOSE",
1280
1280
  "fields": [
1281
1281
  "name",
1282
1282
  "specialty",
@@ -1285,11 +1285,11 @@
1285
1285
  "rating",
1286
1286
  "available"
1287
1287
  ],
1288
+ "cancelEvent": "CLOSE",
1288
1289
  "type": "form-section",
1289
- "mode": "edit"
1290
+ "entity": "@payload.row"
1290
1291
  }
1291
- ],
1292
- "direction": "vertical"
1292
+ ]
1293
1293
  }
1294
1294
  ]
1295
1295
  ]
@@ -1478,8 +1478,8 @@
1478
1478
  {
1479
1479
  "id": "@payload.id",
1480
1480
  "emit": {
1481
- "failure": "ProviderLoadFailed",
1482
- "success": "ProviderLoaded"
1481
+ "success": "ProviderLoaded",
1482
+ "failure": "ProviderLoadFailed"
1483
1483
  }
1484
1484
  }
1485
1485
  ],
@@ -1487,96 +1487,101 @@
1487
1487
  "render-ui",
1488
1488
  "modal",
1489
1489
  {
1490
+ "gap": "md",
1491
+ "direction": "vertical",
1492
+ "type": "stack",
1490
1493
  "children": [
1491
1494
  {
1492
- "align": "center",
1493
- "type": "stack",
1494
- "direction": "horizontal",
1495
1495
  "children": [
1496
1496
  {
1497
1497
  "name": "eye",
1498
1498
  "type": "icon"
1499
1499
  },
1500
1500
  {
1501
+ "type": "typography",
1501
1502
  "variant": "h3",
1502
- "content": "@entity.name",
1503
- "type": "typography"
1503
+ "content": "@entity.name"
1504
1504
  }
1505
1505
  ],
1506
- "gap": "sm"
1506
+ "direction": "horizontal",
1507
+ "type": "stack",
1508
+ "gap": "sm",
1509
+ "align": "center"
1507
1510
  },
1508
1511
  {
1509
1512
  "type": "divider"
1510
1513
  },
1511
1514
  {
1512
- "direction": "horizontal",
1513
- "gap": "md",
1514
- "type": "stack",
1515
1515
  "children": [
1516
1516
  {
1517
- "type": "typography",
1518
1517
  "variant": "caption",
1519
- "content": "Name"
1518
+ "content": "Name",
1519
+ "type": "typography"
1520
1520
  },
1521
1521
  {
1522
+ "variant": "body",
1522
1523
  "content": "@entity.name",
1523
- "type": "typography",
1524
- "variant": "body"
1524
+ "type": "typography"
1525
1525
  }
1526
- ]
1526
+ ],
1527
+ "direction": "horizontal",
1528
+ "gap": "md",
1529
+ "type": "stack"
1527
1530
  },
1528
1531
  {
1529
- "gap": "md",
1530
- "type": "stack",
1531
1532
  "children": [
1532
1533
  {
1533
- "content": "Specialty",
1534
1534
  "type": "typography",
1535
+ "content": "Specialty",
1535
1536
  "variant": "caption"
1536
1537
  },
1537
1538
  {
1538
1539
  "content": "@entity.specialty",
1539
- "variant": "body",
1540
- "type": "typography"
1540
+ "type": "typography",
1541
+ "variant": "body"
1541
1542
  }
1542
1543
  ],
1543
- "direction": "horizontal"
1544
+ "type": "stack",
1545
+ "direction": "horizontal",
1546
+ "gap": "md"
1544
1547
  },
1545
1548
  {
1546
1549
  "gap": "md",
1547
- "direction": "horizontal",
1548
- "type": "stack",
1549
1550
  "children": [
1550
1551
  {
1551
- "variant": "caption",
1552
1552
  "content": "Location",
1553
- "type": "typography"
1553
+ "type": "typography",
1554
+ "variant": "caption"
1554
1555
  },
1555
1556
  {
1556
1557
  "variant": "body",
1557
1558
  "type": "typography",
1558
1559
  "content": "@entity.location"
1559
1560
  }
1560
- ]
1561
+ ],
1562
+ "direction": "horizontal",
1563
+ "type": "stack"
1561
1564
  },
1562
1565
  {
1563
- "direction": "horizontal",
1564
- "gap": "md",
1565
1566
  "type": "stack",
1567
+ "gap": "md",
1566
1568
  "children": [
1567
1569
  {
1568
- "type": "typography",
1569
1570
  "variant": "caption",
1570
- "content": "Phone"
1571
+ "content": "Phone",
1572
+ "type": "typography"
1571
1573
  },
1572
1574
  {
1573
- "content": "@entity.phone",
1574
1575
  "variant": "body",
1575
- "type": "typography"
1576
+ "type": "typography",
1577
+ "content": "@entity.phone"
1576
1578
  }
1577
- ]
1579
+ ],
1580
+ "direction": "horizontal"
1578
1581
  },
1579
1582
  {
1583
+ "direction": "horizontal",
1584
+ "type": "stack",
1580
1585
  "children": [
1581
1586
  {
1582
1587
  "type": "typography",
@@ -1584,60 +1589,55 @@
1584
1589
  "content": "Rating"
1585
1590
  },
1586
1591
  {
1587
- "type": "typography",
1588
1592
  "variant": "body",
1589
- "content": "@entity.rating"
1593
+ "content": "@entity.rating",
1594
+ "type": "typography"
1590
1595
  }
1591
1596
  ],
1592
- "type": "stack",
1593
- "gap": "md",
1594
- "direction": "horizontal"
1597
+ "gap": "md"
1595
1598
  },
1596
1599
  {
1600
+ "type": "stack",
1601
+ "direction": "horizontal",
1602
+ "gap": "md",
1597
1603
  "children": [
1598
1604
  {
1605
+ "content": "Available",
1599
1606
  "variant": "caption",
1600
- "type": "typography",
1601
- "content": "Available"
1607
+ "type": "typography"
1602
1608
  },
1603
1609
  {
1610
+ "content": "@entity.available",
1604
1611
  "type": "typography",
1605
- "variant": "body",
1606
- "content": "@entity.available"
1612
+ "variant": "body"
1607
1613
  }
1608
- ],
1609
- "type": "stack",
1610
- "direction": "horizontal",
1611
- "gap": "md"
1614
+ ]
1612
1615
  },
1613
1616
  {
1614
1617
  "type": "divider"
1615
1618
  },
1616
1619
  {
1617
1620
  "type": "stack",
1621
+ "gap": "sm",
1618
1622
  "direction": "horizontal",
1619
1623
  "justify": "end",
1620
1624
  "children": [
1621
1625
  {
1622
- "action": "EDIT",
1623
- "label": "Edit",
1626
+ "icon": "edit",
1624
1627
  "type": "button",
1625
1628
  "variant": "primary",
1626
- "icon": "edit"
1629
+ "label": "Edit",
1630
+ "action": "EDIT"
1627
1631
  },
1628
1632
  {
1629
- "label": "Close",
1630
1633
  "action": "CLOSE",
1634
+ "label": "Close",
1631
1635
  "type": "button",
1632
1636
  "variant": "ghost"
1633
1637
  }
1634
- ],
1635
- "gap": "sm"
1638
+ ]
1636
1639
  }
1637
- ],
1638
- "type": "stack",
1639
- "gap": "md",
1640
- "direction": "vertical"
1640
+ ]
1641
1641
  }
1642
1642
  ]
1643
1643
  ]
@@ -1873,8 +1873,8 @@
1873
1873
  "Provider",
1874
1874
  {
1875
1875
  "emit": {
1876
- "success": "ProviderLoaded",
1877
- "failure": "ProviderLoadFailed"
1876
+ "failure": "ProviderLoadFailed",
1877
+ "success": "ProviderLoaded"
1878
1878
  },
1879
1879
  "id": "@payload.id"
1880
1880
  }
@@ -1884,10 +1884,10 @@
1884
1884
  "modal",
1885
1885
  {
1886
1886
  "gap": "md",
1887
- "direction": "vertical",
1888
- "type": "stack",
1889
1887
  "children": [
1890
1888
  {
1889
+ "align": "center",
1890
+ "direction": "horizontal",
1891
1891
  "type": "stack",
1892
1892
  "children": [
1893
1893
  {
@@ -1896,44 +1896,44 @@
1896
1896
  },
1897
1897
  {
1898
1898
  "variant": "h3",
1899
- "type": "typography",
1900
- "content": "Delete Provider"
1899
+ "content": "Delete Provider",
1900
+ "type": "typography"
1901
1901
  }
1902
1902
  ],
1903
- "gap": "sm",
1904
- "align": "center",
1905
- "direction": "horizontal"
1903
+ "gap": "sm"
1906
1904
  },
1907
1905
  {
1908
1906
  "type": "divider"
1909
1907
  },
1910
1908
  {
1909
+ "type": "alert",
1911
1910
  "message": "This action cannot be undone.",
1912
- "variant": "error",
1913
- "type": "alert"
1911
+ "variant": "error"
1914
1912
  },
1915
1913
  {
1916
- "type": "stack",
1917
- "gap": "sm",
1918
1914
  "justify": "end",
1919
1915
  "direction": "horizontal",
1920
1916
  "children": [
1921
1917
  {
1922
1918
  "variant": "ghost",
1919
+ "label": "Cancel",
1923
1920
  "type": "button",
1924
- "action": "CANCEL",
1925
- "label": "Cancel"
1921
+ "action": "CANCEL"
1926
1922
  },
1927
1923
  {
1928
- "label": "Delete",
1929
1924
  "action": "CONFIRM_DELETE",
1930
1925
  "variant": "danger",
1931
1926
  "type": "button",
1927
+ "label": "Delete",
1932
1928
  "icon": "check"
1933
1929
  }
1934
- ]
1930
+ ],
1931
+ "gap": "sm",
1932
+ "type": "stack"
1935
1933
  }
1936
- ]
1934
+ ],
1935
+ "direction": "vertical",
1936
+ "type": "stack"
1937
1937
  }
1938
1938
  ]
1939
1939
  ]
@@ -2275,12 +2275,11 @@
2275
2275
  "render-ui",
2276
2276
  "main",
2277
2277
  {
2278
- "type": "dashboard-layout",
2279
2278
  "navItems": [
2280
2279
  {
2281
2280
  "label": "Providers",
2282
- "icon": "user-check",
2283
- "href": "/providers"
2281
+ "href": "/providers",
2282
+ "icon": "user-check"
2284
2283
  },
2285
2284
  {
2286
2285
  "href": "/book",
@@ -2288,45 +2287,48 @@
2288
2287
  "icon": "calendar-plus"
2289
2288
  },
2290
2289
  {
2290
+ "label": "Appointments",
2291
2291
  "href": "/appointments",
2292
- "icon": "calendar",
2293
- "label": "Appointments"
2292
+ "icon": "calendar"
2294
2293
  },
2295
2294
  {
2296
2295
  "href": "/schedule",
2297
- "icon": "clock",
2298
- "label": "Schedule"
2296
+ "label": "Schedule",
2297
+ "icon": "clock"
2299
2298
  }
2300
2299
  ],
2301
- "appName": "BookingSystemApp",
2300
+ "type": "dashboard-layout",
2302
2301
  "children": [
2303
2302
  {
2303
+ "type": "container",
2304
2304
  "padding": "lg",
2305
2305
  "maxWidth": "lg",
2306
2306
  "children": [
2307
2307
  {
2308
+ "gap": "lg",
2309
+ "type": "stack",
2308
2310
  "direction": "vertical",
2309
2311
  "children": [
2310
2312
  {
2313
+ "type": "stack",
2314
+ "direction": "horizontal",
2315
+ "gap": "sm",
2316
+ "align": "center",
2311
2317
  "children": [
2312
2318
  {
2313
2319
  "name": "calendar",
2314
2320
  "type": "icon"
2315
2321
  },
2316
2322
  {
2317
- "type": "typography",
2318
2323
  "content": "Book Appointment",
2324
+ "type": "typography",
2319
2325
  "variant": "h2"
2320
2326
  }
2321
- ],
2322
- "type": "stack",
2323
- "gap": "sm",
2324
- "direction": "horizontal",
2325
- "align": "center"
2327
+ ]
2326
2328
  },
2327
2329
  {
2328
- "count": 3.0,
2329
2330
  "type": "progress-dots",
2331
+ "count": 3.0,
2330
2332
  "currentIndex": 0.0
2331
2333
  },
2332
2334
  {
@@ -2342,42 +2344,40 @@
2342
2344
  "type": "divider"
2343
2345
  },
2344
2346
  {
2345
- "content": "Provider Selection",
2346
2347
  "type": "typography",
2348
+ "content": "Provider Selection",
2347
2349
  "variant": "h3"
2348
2350
  },
2349
2351
  {
2350
- "cancelEvent": "INIT",
2351
- "type": "form-section",
2352
- "mode": "create",
2353
- "submitEvent": "NEXT",
2354
2352
  "fields": [
2355
2353
  "providerName"
2356
- ]
2354
+ ],
2355
+ "mode": "create",
2356
+ "type": "form-section",
2357
+ "submitEvent": "NEXT",
2358
+ "cancelEvent": "INIT"
2357
2359
  },
2358
2360
  {
2359
- "type": "stack",
2360
2361
  "direction": "horizontal",
2361
- "gap": "sm",
2362
- "justify": "end",
2363
2362
  "children": [
2364
2363
  {
2365
2364
  "type": "button",
2365
+ "icon": "arrow-right",
2366
2366
  "variant": "primary",
2367
2367
  "action": "NEXT",
2368
- "icon": "arrow-right",
2369
2368
  "label": "Next"
2370
2369
  }
2371
- ]
2370
+ ],
2371
+ "justify": "end",
2372
+ "type": "stack",
2373
+ "gap": "sm"
2372
2374
  }
2373
- ],
2374
- "type": "stack",
2375
- "gap": "lg"
2375
+ ]
2376
2376
  }
2377
- ],
2378
- "type": "container"
2377
+ ]
2379
2378
  }
2380
- ]
2379
+ ],
2380
+ "appName": "BookingSystemApp"
2381
2381
  }
2382
2382
  ]
2383
2383
  ]
@@ -2392,8 +2392,8 @@
2392
2392
  "Booking",
2393
2393
  {
2394
2394
  "emit": {
2395
- "success": "BookingLoaded",
2396
- "failure": "BookingLoadFailed"
2395
+ "failure": "BookingLoadFailed",
2396
+ "success": "BookingLoaded"
2397
2397
  }
2398
2398
  }
2399
2399
  ],
@@ -2401,117 +2401,117 @@
2401
2401
  "render-ui",
2402
2402
  "main",
2403
2403
  {
2404
+ "type": "dashboard-layout",
2405
+ "navItems": [
2406
+ {
2407
+ "label": "Providers",
2408
+ "href": "/providers",
2409
+ "icon": "user-check"
2410
+ },
2411
+ {
2412
+ "label": "Book",
2413
+ "href": "/book",
2414
+ "icon": "calendar-plus"
2415
+ },
2416
+ {
2417
+ "icon": "calendar",
2418
+ "href": "/appointments",
2419
+ "label": "Appointments"
2420
+ },
2421
+ {
2422
+ "label": "Schedule",
2423
+ "href": "/schedule",
2424
+ "icon": "clock"
2425
+ }
2426
+ ],
2404
2427
  "children": [
2405
2428
  {
2406
- "type": "container",
2429
+ "maxWidth": "lg",
2407
2430
  "padding": "lg",
2431
+ "type": "container",
2408
2432
  "children": [
2409
2433
  {
2434
+ "type": "stack",
2410
2435
  "direction": "vertical",
2411
2436
  "gap": "lg",
2412
- "type": "stack",
2413
2437
  "children": [
2414
2438
  {
2415
2439
  "type": "stack",
2416
2440
  "gap": "sm",
2417
- "align": "center",
2418
- "direction": "horizontal",
2419
2441
  "children": [
2420
2442
  {
2421
- "name": "calendar",
2422
- "type": "icon"
2443
+ "type": "icon",
2444
+ "name": "calendar"
2423
2445
  },
2424
2446
  {
2425
- "variant": "h2",
2447
+ "content": "Book Appointment",
2426
2448
  "type": "typography",
2427
- "content": "Book Appointment"
2449
+ "variant": "h2"
2428
2450
  }
2429
- ]
2451
+ ],
2452
+ "align": "center",
2453
+ "direction": "horizontal"
2430
2454
  },
2431
2455
  {
2456
+ "type": "progress-dots",
2432
2457
  "count": 3.0,
2433
- "currentIndex": 1.0,
2434
- "type": "progress-dots"
2458
+ "currentIndex": 1.0
2435
2459
  },
2436
2460
  {
2437
- "currentStep": 1.0,
2438
2461
  "steps": [
2439
2462
  "Provider Selection",
2440
2463
  "Your Details",
2441
2464
  "Date and Time"
2442
2465
  ],
2466
+ "currentStep": 1.0,
2443
2467
  "type": "wizard-progress"
2444
2468
  },
2445
2469
  {
2446
2470
  "type": "divider"
2447
2471
  },
2448
2472
  {
2449
- "type": "typography",
2450
2473
  "content": "Your Details",
2451
- "variant": "h3"
2474
+ "variant": "h3",
2475
+ "type": "typography"
2452
2476
  },
2453
2477
  {
2454
- "type": "form-section",
2455
- "mode": "create",
2456
2478
  "submitEvent": "NEXT",
2457
2479
  "cancelEvent": "PREV",
2480
+ "type": "form-section",
2458
2481
  "fields": [
2459
2482
  "customerName",
2460
2483
  "customerEmail"
2461
- ]
2484
+ ],
2485
+ "mode": "create"
2462
2486
  },
2463
2487
  {
2488
+ "justify": "end",
2489
+ "gap": "sm",
2490
+ "direction": "horizontal",
2491
+ "type": "stack",
2464
2492
  "children": [
2465
2493
  {
2466
- "icon": "arrow-left",
2494
+ "label": "Back",
2467
2495
  "action": "PREV",
2468
2496
  "type": "button",
2469
- "label": "Back",
2470
- "variant": "ghost"
2497
+ "variant": "ghost",
2498
+ "icon": "arrow-left"
2471
2499
  },
2472
2500
  {
2473
- "label": "Next",
2474
- "variant": "primary",
2475
2501
  "type": "button",
2502
+ "action": "NEXT",
2503
+ "variant": "primary",
2476
2504
  "icon": "arrow-right",
2477
- "action": "NEXT"
2505
+ "label": "Next"
2478
2506
  }
2479
- ],
2480
- "type": "stack",
2481
- "direction": "horizontal",
2482
- "gap": "sm",
2483
- "justify": "end"
2507
+ ]
2484
2508
  }
2485
2509
  ]
2486
2510
  }
2487
- ],
2488
- "maxWidth": "lg"
2511
+ ]
2489
2512
  }
2490
2513
  ],
2491
- "type": "dashboard-layout",
2492
- "appName": "BookingSystemApp",
2493
- "navItems": [
2494
- {
2495
- "icon": "user-check",
2496
- "label": "Providers",
2497
- "href": "/providers"
2498
- },
2499
- {
2500
- "href": "/book",
2501
- "icon": "calendar-plus",
2502
- "label": "Book"
2503
- },
2504
- {
2505
- "href": "/appointments",
2506
- "label": "Appointments",
2507
- "icon": "calendar"
2508
- },
2509
- {
2510
- "icon": "clock",
2511
- "href": "/schedule",
2512
- "label": "Schedule"
2513
- }
2514
- ]
2514
+ "appName": "BookingSystemApp"
2515
2515
  }
2516
2516
  ]
2517
2517
  ]
@@ -2526,8 +2526,8 @@
2526
2526
  "Booking",
2527
2527
  {
2528
2528
  "emit": {
2529
- "success": "BookingLoaded",
2530
- "failure": "BookingLoadFailed"
2529
+ "failure": "BookingLoadFailed",
2530
+ "success": "BookingLoaded"
2531
2531
  }
2532
2532
  }
2533
2533
  ],
@@ -2535,19 +2535,18 @@
2535
2535
  "render-ui",
2536
2536
  "main",
2537
2537
  {
2538
- "type": "dashboard-layout",
2539
2538
  "children": [
2540
2539
  {
2541
- "type": "container",
2542
- "padding": "lg",
2543
- "maxWidth": "lg",
2544
2540
  "children": [
2545
2541
  {
2542
+ "gap": "lg",
2546
2543
  "type": "stack",
2547
2544
  "direction": "vertical",
2548
- "gap": "lg",
2549
2545
  "children": [
2550
2546
  {
2547
+ "gap": "sm",
2548
+ "type": "stack",
2549
+ "direction": "horizontal",
2551
2550
  "align": "center",
2552
2551
  "children": [
2553
2552
  {
@@ -2555,14 +2554,11 @@
2555
2554
  "name": "calendar"
2556
2555
  },
2557
2556
  {
2558
- "variant": "h2",
2559
2557
  "type": "typography",
2560
- "content": "Book Appointment"
2558
+ "content": "Book Appointment",
2559
+ "variant": "h2"
2561
2560
  }
2562
- ],
2563
- "direction": "horizontal",
2564
- "gap": "sm",
2565
- "type": "stack"
2561
+ ]
2566
2562
  },
2567
2563
  {
2568
2564
  "currentIndex": 2.0,
@@ -2570,80 +2566,84 @@
2570
2566
  "count": 3.0
2571
2567
  },
2572
2568
  {
2573
- "currentStep": 2.0,
2574
- "type": "wizard-progress",
2575
2569
  "steps": [
2576
2570
  "Provider Selection",
2577
2571
  "Your Details",
2578
2572
  "Date and Time"
2579
- ]
2573
+ ],
2574
+ "type": "wizard-progress",
2575
+ "currentStep": 2.0
2580
2576
  },
2581
2577
  {
2582
2578
  "type": "divider"
2583
2579
  },
2584
2580
  {
2585
- "type": "typography",
2586
2581
  "content": "Date and Time",
2587
- "variant": "h3"
2582
+ "variant": "h3",
2583
+ "type": "typography"
2588
2584
  },
2589
2585
  {
2590
- "submitEvent": "NEXT",
2591
- "mode": "create",
2592
- "cancelEvent": "PREV",
2593
2586
  "type": "form-section",
2587
+ "submitEvent": "NEXT",
2594
2588
  "fields": [
2595
2589
  "date",
2596
2590
  "time",
2597
2591
  "notes"
2598
- ]
2592
+ ],
2593
+ "mode": "create",
2594
+ "cancelEvent": "PREV"
2599
2595
  },
2600
2596
  {
2601
- "type": "stack",
2597
+ "direction": "horizontal",
2602
2598
  "children": [
2603
2599
  {
2604
2600
  "action": "PREV",
2605
- "type": "button",
2606
2601
  "icon": "arrow-left",
2607
2602
  "label": "Back",
2608
- "variant": "ghost"
2603
+ "variant": "ghost",
2604
+ "type": "button"
2609
2605
  },
2610
2606
  {
2611
- "label": "Next",
2612
2607
  "type": "button",
2608
+ "icon": "arrow-right",
2613
2609
  "action": "NEXT",
2614
- "variant": "primary",
2615
- "icon": "arrow-right"
2610
+ "label": "Next",
2611
+ "variant": "primary"
2616
2612
  }
2617
2613
  ],
2614
+ "type": "stack",
2618
2615
  "justify": "end",
2619
- "gap": "sm",
2620
- "direction": "horizontal"
2616
+ "gap": "sm"
2621
2617
  }
2622
2618
  ]
2623
2619
  }
2624
- ]
2620
+ ],
2621
+ "maxWidth": "lg",
2622
+ "type": "container",
2623
+ "padding": "lg"
2625
2624
  }
2626
2625
  ],
2627
2626
  "appName": "BookingSystemApp",
2627
+ "type": "dashboard-layout",
2628
2628
  "navItems": [
2629
2629
  {
2630
- "label": "Providers",
2631
2630
  "href": "/providers",
2632
- "icon": "user-check"
2631
+ "icon": "user-check",
2632
+ "label": "Providers"
2633
2633
  },
2634
2634
  {
2635
- "label": "Book",
2636
2635
  "href": "/book",
2637
- "icon": "calendar-plus"
2636
+ "icon": "calendar-plus",
2637
+ "label": "Book"
2638
2638
  },
2639
2639
  {
2640
- "label": "Appointments",
2641
2640
  "href": "/appointments",
2641
+ "label": "Appointments",
2642
2642
  "icon": "calendar"
2643
2643
  },
2644
2644
  {
2645
- "href": "/schedule",
2646
2645
  "label": "Schedule",
2646
+ "href": "/schedule",
2647
2647
  "icon": "clock"
2648
2648
  }
2649
2649
  ]
@@ -2670,101 +2670,100 @@
2670
2670
  "render-ui",
2671
2671
  "main",
2672
2672
  {
2673
- "type": "dashboard-layout",
2674
2673
  "children": [
2675
2674
  {
2676
2675
  "type": "container",
2677
- "maxWidth": "lg",
2678
- "padding": "lg",
2679
2676
  "children": [
2680
2677
  {
2678
+ "type": "stack",
2679
+ "direction": "vertical",
2681
2680
  "gap": "lg",
2682
2681
  "children": [
2683
2682
  {
2684
2683
  "type": "stack",
2685
- "direction": "horizontal",
2686
- "gap": "sm",
2687
- "align": "center",
2688
2684
  "children": [
2689
2685
  {
2690
- "type": "icon",
2691
- "name": "calendar"
2686
+ "name": "calendar",
2687
+ "type": "icon"
2692
2688
  },
2693
2689
  {
2694
2690
  "variant": "h2",
2695
2691
  "content": "Book Appointment",
2696
2692
  "type": "typography"
2697
2693
  }
2698
- ]
2694
+ ],
2695
+ "align": "center",
2696
+ "gap": "sm",
2697
+ "direction": "horizontal"
2699
2698
  },
2700
2699
  {
2701
2700
  "type": "progress-dots",
2702
- "currentIndex": 0.0,
2703
- "count": 3.0
2701
+ "count": 3.0,
2702
+ "currentIndex": 0.0
2704
2703
  },
2705
2704
  {
2706
- "currentStep": 0.0,
2705
+ "type": "wizard-progress",
2707
2706
  "steps": [
2708
2707
  "Provider Selection",
2709
2708
  "Your Details",
2710
2709
  "Date and Time"
2711
2710
  ],
2712
- "type": "wizard-progress"
2711
+ "currentStep": 0.0
2713
2712
  },
2714
2713
  {
2715
2714
  "type": "divider"
2716
2715
  },
2717
2716
  {
2718
- "variant": "h3",
2719
2717
  "content": "Provider Selection",
2720
- "type": "typography"
2718
+ "type": "typography",
2719
+ "variant": "h3"
2721
2720
  },
2722
2721
  {
2722
+ "cancelEvent": "INIT",
2723
2723
  "type": "form-section",
2724
2724
  "submitEvent": "NEXT",
2725
- "cancelEvent": "INIT",
2726
2725
  "fields": [
2727
2726
  "providerName"
2728
2727
  ],
2729
2728
  "mode": "create"
2730
2729
  },
2731
2730
  {
2732
- "justify": "end",
2733
2731
  "direction": "horizontal",
2734
2732
  "type": "stack",
2735
2733
  "gap": "sm",
2736
2734
  "children": [
2737
2735
  {
2738
- "type": "button",
2739
- "label": "Next",
2740
2736
  "icon": "arrow-right",
2737
+ "label": "Next",
2741
2738
  "action": "NEXT",
2739
+ "type": "button",
2742
2740
  "variant": "primary"
2743
2741
  }
2744
- ]
2742
+ ],
2743
+ "justify": "end"
2745
2744
  }
2746
- ],
2747
- "direction": "vertical",
2748
- "type": "stack"
2745
+ ]
2749
2746
  }
2750
- ]
2747
+ ],
2748
+ "padding": "lg",
2749
+ "maxWidth": "lg"
2751
2750
  }
2752
2751
  ],
2753
2752
  "navItems": [
2754
2753
  {
2755
- "icon": "user-check",
2754
+ "href": "/providers",
2756
2755
  "label": "Providers",
2757
- "href": "/providers"
2756
+ "icon": "user-check"
2758
2757
  },
2759
2758
  {
2760
- "label": "Book",
2761
2759
  "href": "/book",
2762
- "icon": "calendar-plus"
2760
+ "icon": "calendar-plus",
2761
+ "label": "Book"
2763
2762
  },
2764
2763
  {
2765
- "icon": "calendar",
2764
+ "href": "/appointments",
2766
2765
  "label": "Appointments",
2767
- "href": "/appointments"
2766
+ "icon": "calendar"
2768
2767
  },
2769
2768
  {
2770
2769
  "href": "/schedule",
@@ -2772,6 +2771,7 @@
2772
2771
  "icon": "clock"
2773
2772
  }
2774
2773
  ],
2774
+ "type": "dashboard-layout",
2775
2775
  "appName": "BookingSystemApp"
2776
2776
  }
2777
2777
  ]
@@ -2787,8 +2787,8 @@
2787
2787
  "Booking",
2788
2788
  {
2789
2789
  "emit": {
2790
- "failure": "BookingLoadFailed",
2791
- "success": "BookingLoaded"
2790
+ "success": "BookingLoaded",
2791
+ "failure": "BookingLoadFailed"
2792
2792
  }
2793
2793
  }
2794
2794
  ],
@@ -2796,38 +2796,17 @@
2796
2796
  "render-ui",
2797
2797
  "main",
2798
2798
  {
2799
- "navItems": [
2800
- {
2801
- "href": "/providers",
2802
- "icon": "user-check",
2803
- "label": "Providers"
2804
- },
2805
- {
2806
- "label": "Book",
2807
- "href": "/book",
2808
- "icon": "calendar-plus"
2809
- },
2810
- {
2811
- "icon": "calendar",
2812
- "href": "/appointments",
2813
- "label": "Appointments"
2814
- },
2815
- {
2816
- "icon": "clock",
2817
- "href": "/schedule",
2818
- "label": "Schedule"
2819
- }
2820
- ],
2821
- "type": "dashboard-layout",
2822
2799
  "appName": "BookingSystemApp",
2800
+ "type": "dashboard-layout",
2823
2801
  "children": [
2824
2802
  {
2825
- "direction": "vertical",
2803
+ "gap": "lg",
2826
2804
  "children": [
2827
2805
  {
2828
- "direction": "horizontal",
2829
- "type": "stack",
2830
2806
  "align": "center",
2807
+ "type": "stack",
2808
+ "gap": "sm",
2809
+ "direction": "horizontal",
2831
2810
  "children": [
2832
2811
  {
2833
2812
  "type": "icon",
@@ -2835,11 +2814,10 @@
2835
2814
  },
2836
2815
  {
2837
2816
  "type": "typography",
2838
- "content": "Book Appointment",
2839
- "variant": "h2"
2817
+ "variant": "h2",
2818
+ "content": "Book Appointment"
2840
2819
  }
2841
- ],
2842
- "gap": "sm"
2820
+ ]
2843
2821
  },
2844
2822
  {
2845
2823
  "label": "Review",
@@ -2859,32 +2837,35 @@
2859
2837
  },
2860
2838
  {
2861
2839
  "type": "stack",
2840
+ "gap": "sm",
2862
2841
  "direction": "vertical",
2863
2842
  "children": [
2864
2843
  {
2844
+ "justify": "between",
2865
2845
  "direction": "horizontal",
2846
+ "type": "stack",
2866
2847
  "children": [
2867
2848
  {
2868
2849
  "type": "typography",
2869
- "variant": "caption",
2870
- "content": "Provider Name"
2850
+ "content": "Provider Name",
2851
+ "variant": "caption"
2871
2852
  },
2872
2853
  {
2873
- "variant": "body",
2854
+ "type": "typography",
2874
2855
  "content": "@entity.providerName",
2875
- "type": "typography"
2856
+ "variant": "body"
2876
2857
  }
2877
2858
  ],
2878
- "type": "stack",
2879
- "justify": "between",
2880
2859
  "gap": "md"
2881
2860
  },
2882
2861
  {
2862
+ "direction": "horizontal",
2863
+ "justify": "between",
2883
2864
  "children": [
2884
2865
  {
2885
- "type": "typography",
2886
2866
  "variant": "caption",
2887
- "content": "Customer Name"
2867
+ "content": "Customer Name",
2868
+ "type": "typography"
2888
2869
  },
2889
2870
  {
2890
2871
  "content": "@entity.customerName",
@@ -2892,51 +2873,47 @@
2892
2873
  "variant": "body"
2893
2874
  }
2894
2875
  ],
2895
- "justify": "between",
2896
- "direction": "horizontal",
2897
- "type": "stack",
2898
- "gap": "md"
2876
+ "gap": "md",
2877
+ "type": "stack"
2899
2878
  },
2900
2879
  {
2880
+ "justify": "between",
2881
+ "type": "stack",
2882
+ "direction": "horizontal",
2901
2883
  "children": [
2902
2884
  {
2903
- "variant": "caption",
2904
2885
  "type": "typography",
2905
- "content": "Customer Email"
2886
+ "content": "Customer Email",
2887
+ "variant": "caption"
2906
2888
  },
2907
2889
  {
2908
- "content": "@entity.customerEmail",
2909
2890
  "type": "typography",
2910
- "variant": "body"
2891
+ "variant": "body",
2892
+ "content": "@entity.customerEmail"
2911
2893
  }
2912
2894
  ],
2913
- "gap": "md",
2914
- "direction": "horizontal",
2915
- "justify": "between",
2916
- "type": "stack"
2895
+ "gap": "md"
2917
2896
  },
2918
2897
  {
2898
+ "direction": "horizontal",
2899
+ "justify": "between",
2900
+ "gap": "md",
2901
+ "type": "stack",
2919
2902
  "children": [
2920
2903
  {
2921
2904
  "content": "Date",
2922
- "type": "typography",
2923
- "variant": "caption"
2905
+ "variant": "caption",
2906
+ "type": "typography"
2924
2907
  },
2925
2908
  {
2926
- "type": "typography",
2927
2909
  "variant": "body",
2910
+ "type": "typography",
2928
2911
  "content": "@entity.date"
2929
2912
  }
2930
- ],
2931
- "type": "stack",
2932
- "direction": "horizontal",
2933
- "gap": "md",
2934
- "justify": "between"
2913
+ ]
2935
2914
  },
2936
2915
  {
2937
- "direction": "horizontal",
2938
2916
  "gap": "md",
2939
- "justify": "between",
2940
2917
  "children": [
2941
2918
  {
2942
2919
  "content": "Time",
@@ -2944,45 +2921,68 @@
2944
2921
  "type": "typography"
2945
2922
  },
2946
2923
  {
2947
- "variant": "body",
2924
+ "content": "@entity.time",
2948
2925
  "type": "typography",
2949
- "content": "@entity.time"
2926
+ "variant": "body"
2950
2927
  }
2951
2928
  ],
2952
- "type": "stack"
2929
+ "type": "stack",
2930
+ "direction": "horizontal",
2931
+ "justify": "between"
2953
2932
  },
2954
2933
  {
2955
- "gap": "md",
2956
- "direction": "horizontal",
2934
+ "type": "stack",
2957
2935
  "justify": "between",
2936
+ "direction": "horizontal",
2958
2937
  "children": [
2959
2938
  {
2960
- "variant": "caption",
2961
2939
  "type": "typography",
2962
- "content": "Notes"
2940
+ "content": "Notes",
2941
+ "variant": "caption"
2963
2942
  },
2964
2943
  {
2965
- "variant": "body",
2966
2944
  "type": "typography",
2945
+ "variant": "body",
2967
2946
  "content": "@entity.notes"
2968
2947
  }
2969
2948
  ],
2970
- "type": "stack"
2949
+ "gap": "md"
2971
2950
  }
2972
- ],
2973
- "gap": "sm"
2951
+ ]
2974
2952
  },
2975
2953
  {
2976
2954
  "type": "wizard-navigation",
2977
- "currentStep": 3.0,
2978
2955
  "totalSteps": 4.0,
2979
- "showComplete": true,
2980
2956
  "showBack": true,
2957
+ "showComplete": true,
2958
+ "currentStep": 3.0,
2981
2959
  "showNext": false
2982
2960
  }
2983
2961
  ],
2984
- "gap": "lg",
2985
- "type": "stack"
2962
+ "type": "stack",
2963
+ "direction": "vertical"
2964
+ }
2965
+ ],
2966
+ "navItems": [
2967
+ {
2968
+ "label": "Providers",
2969
+ "href": "/providers",
2970
+ "icon": "user-check"
2971
+ },
2972
+ {
2973
+ "label": "Book",
2974
+ "href": "/book",
2975
+ "icon": "calendar-plus"
2976
+ },
2977
+ {
2978
+ "href": "/appointments",
2979
+ "label": "Appointments",
2980
+ "icon": "calendar"
2981
+ },
2982
+ {
2983
+ "label": "Schedule",
2984
+ "icon": "clock",
2985
+ "href": "/schedule"
2986
2986
  }
2987
2987
  ]
2988
2988
  }
@@ -2999,8 +2999,8 @@
2999
2999
  "Booking",
3000
3000
  {
3001
3001
  "emit": {
3002
- "success": "BookingLoaded",
3003
- "failure": "BookingLoadFailed"
3002
+ "failure": "BookingLoadFailed",
3003
+ "success": "BookingLoaded"
3004
3004
  }
3005
3005
  }
3006
3006
  ],
@@ -3008,47 +3008,26 @@
3008
3008
  "render-ui",
3009
3009
  "main",
3010
3010
  {
3011
- "type": "dashboard-layout",
3012
- "navItems": [
3013
- {
3014
- "icon": "user-check",
3015
- "label": "Providers",
3016
- "href": "/providers"
3017
- },
3018
- {
3019
- "href": "/book",
3020
- "icon": "calendar-plus",
3021
- "label": "Book"
3022
- },
3023
- {
3024
- "label": "Appointments",
3025
- "icon": "calendar",
3026
- "href": "/appointments"
3027
- },
3028
- {
3029
- "label": "Schedule",
3030
- "href": "/schedule",
3031
- "icon": "clock"
3032
- }
3033
- ],
3034
- "appName": "BookingSystemApp",
3035
3011
  "children": [
3036
3012
  {
3013
+ "maxWidth": "lg",
3037
3014
  "type": "container",
3015
+ "padding": "lg",
3038
3016
  "children": [
3039
3017
  {
3040
- "type": "stack",
3018
+ "gap": "lg",
3041
3019
  "direction": "vertical",
3020
+ "type": "stack",
3042
3021
  "children": [
3043
3022
  {
3044
3023
  "type": "stack",
3045
3024
  "direction": "horizontal",
3046
- "gap": "sm",
3047
3025
  "align": "center",
3026
+ "gap": "sm",
3048
3027
  "children": [
3049
3028
  {
3050
- "type": "icon",
3051
- "name": "calendar"
3029
+ "name": "calendar",
3030
+ "type": "icon"
3052
3031
  },
3053
3032
  {
3054
3033
  "type": "typography",
@@ -3058,9 +3037,9 @@
3058
3037
  ]
3059
3038
  },
3060
3039
  {
3061
- "type": "progress-dots",
3040
+ "currentIndex": 1.0,
3062
3041
  "count": 3.0,
3063
- "currentIndex": 1.0
3042
+ "type": "progress-dots"
3064
3043
  },
3065
3044
  {
3066
3045
  "currentStep": 1.0,
@@ -3075,50 +3054,71 @@
3075
3054
  "type": "divider"
3076
3055
  },
3077
3056
  {
3057
+ "type": "typography",
3078
3058
  "content": "Your Details",
3079
- "variant": "h3",
3080
- "type": "typography"
3059
+ "variant": "h3"
3081
3060
  },
3082
3061
  {
3083
- "type": "form-section",
3084
3062
  "mode": "create",
3063
+ "type": "form-section",
3064
+ "cancelEvent": "PREV",
3065
+ "submitEvent": "NEXT",
3085
3066
  "fields": [
3086
3067
  "customerName",
3087
3068
  "customerEmail"
3088
- ],
3089
- "cancelEvent": "PREV",
3090
- "submitEvent": "NEXT"
3069
+ ]
3091
3070
  },
3092
3071
  {
3093
- "justify": "end",
3094
- "type": "stack",
3095
- "direction": "horizontal",
3096
- "gap": "sm",
3097
3072
  "children": [
3098
3073
  {
3099
- "icon": "arrow-left",
3100
- "label": "Back",
3101
- "type": "button",
3102
3074
  "action": "PREV",
3103
- "variant": "ghost"
3075
+ "type": "button",
3076
+ "variant": "ghost",
3077
+ "icon": "arrow-left",
3078
+ "label": "Back"
3104
3079
  },
3105
3080
  {
3106
3081
  "variant": "primary",
3107
- "label": "Next",
3108
3082
  "type": "button",
3109
3083
  "action": "NEXT",
3084
+ "label": "Next",
3110
3085
  "icon": "arrow-right"
3111
3086
  }
3112
- ]
3087
+ ],
3088
+ "justify": "end",
3089
+ "direction": "horizontal",
3090
+ "type": "stack",
3091
+ "gap": "sm"
3113
3092
  }
3114
- ],
3115
- "gap": "lg"
3093
+ ]
3116
3094
  }
3117
- ],
3118
- "maxWidth": "lg",
3119
- "padding": "lg"
3095
+ ]
3120
3096
  }
3121
- ]
3097
+ ],
3098
+ "type": "dashboard-layout",
3099
+ "navItems": [
3100
+ {
3101
+ "icon": "user-check",
3102
+ "href": "/providers",
3103
+ "label": "Providers"
3104
+ },
3105
+ {
3106
+ "label": "Book",
3107
+ "href": "/book",
3108
+ "icon": "calendar-plus"
3109
+ },
3110
+ {
3111
+ "href": "/appointments",
3112
+ "label": "Appointments",
3113
+ "icon": "calendar"
3114
+ },
3115
+ {
3116
+ "icon": "clock",
3117
+ "label": "Schedule",
3118
+ "href": "/schedule"
3119
+ }
3120
+ ],
3121
+ "appName": "BookingSystemApp"
3122
3122
  }
3123
3123
  ]
3124
3124
  ]
@@ -3142,37 +3142,21 @@
3142
3142
  "render-ui",
3143
3143
  "main",
3144
3144
  {
3145
- "navItems": [
3146
- {
3147
- "label": "Providers",
3148
- "href": "/providers",
3149
- "icon": "user-check"
3150
- },
3151
- {
3152
- "icon": "calendar-plus",
3153
- "label": "Book",
3154
- "href": "/book"
3155
- },
3156
- {
3157
- "icon": "calendar",
3158
- "label": "Appointments",
3159
- "href": "/appointments"
3160
- },
3161
- {
3162
- "label": "Schedule",
3163
- "href": "/schedule",
3164
- "icon": "clock"
3165
- }
3166
- ],
3167
- "appName": "BookingSystemApp",
3168
3145
  "children": [
3169
3146
  {
3147
+ "padding": "lg",
3148
+ "type": "container",
3170
3149
  "children": [
3171
3150
  {
3172
3151
  "type": "stack",
3152
+ "direction": "vertical",
3153
+ "gap": "lg",
3173
3154
  "children": [
3174
3155
  {
3156
+ "type": "stack",
3175
3157
  "direction": "horizontal",
3158
+ "gap": "sm",
3159
+ "align": "center",
3176
3160
  "children": [
3177
3161
  {
3178
3162
  "type": "icon",
@@ -3183,77 +3167,93 @@
3183
3167
  "content": "Book Appointment",
3184
3168
  "variant": "h2"
3185
3169
  }
3186
- ],
3187
- "type": "stack",
3188
- "gap": "sm",
3189
- "align": "center"
3170
+ ]
3190
3171
  },
3191
3172
  {
3192
- "currentIndex": 2.0,
3193
3173
  "type": "progress-dots",
3194
- "count": 3.0
3174
+ "count": 3.0,
3175
+ "currentIndex": 2.0
3195
3176
  },
3196
3177
  {
3178
+ "type": "wizard-progress",
3197
3179
  "steps": [
3198
3180
  "Provider Selection",
3199
3181
  "Your Details",
3200
3182
  "Date and Time"
3201
3183
  ],
3202
- "type": "wizard-progress",
3203
3184
  "currentStep": 2.0
3204
3185
  },
3205
3186
  {
3206
3187
  "type": "divider"
3207
3188
  },
3208
3189
  {
3209
- "content": "Date and Time",
3210
3190
  "type": "typography",
3191
+ "content": "Date and Time",
3211
3192
  "variant": "h3"
3212
3193
  },
3213
3194
  {
3214
- "submitEvent": "NEXT",
3215
- "mode": "create",
3216
3195
  "fields": [
3217
3196
  "date",
3218
3197
  "time",
3219
3198
  "notes"
3220
3199
  ],
3200
+ "mode": "create",
3201
+ "submitEvent": "NEXT",
3221
3202
  "type": "form-section",
3222
3203
  "cancelEvent": "PREV"
3223
3204
  },
3224
3205
  {
3225
- "type": "stack",
3226
- "direction": "horizontal",
3227
3206
  "justify": "end",
3228
3207
  "children": [
3229
3208
  {
3209
+ "type": "button",
3230
3210
  "variant": "ghost",
3211
+ "label": "Back",
3231
3212
  "action": "PREV",
3232
- "type": "button",
3233
- "icon": "arrow-left",
3234
- "label": "Back"
3213
+ "icon": "arrow-left"
3235
3214
  },
3236
3215
  {
3237
- "variant": "primary",
3238
3216
  "label": "Next",
3239
- "icon": "arrow-right",
3217
+ "variant": "primary",
3218
+ "action": "NEXT",
3240
3219
  "type": "button",
3241
- "action": "NEXT"
3220
+ "icon": "arrow-right"
3242
3221
  }
3243
3222
  ],
3244
- "gap": "sm"
3223
+ "direction": "horizontal",
3224
+ "gap": "sm",
3225
+ "type": "stack"
3245
3226
  }
3246
- ],
3247
- "direction": "vertical",
3248
- "gap": "lg"
3227
+ ]
3249
3228
  }
3250
3229
  ],
3251
- "maxWidth": "lg",
3252
- "padding": "lg",
3253
- "type": "container"
3230
+ "maxWidth": "lg"
3254
3231
  }
3255
3232
  ],
3256
- "type": "dashboard-layout"
3233
+ "navItems": [
3234
+ {
3235
+ "label": "Providers",
3236
+ "href": "/providers",
3237
+ "icon": "user-check"
3238
+ },
3239
+ {
3240
+ "href": "/book",
3241
+ "icon": "calendar-plus",
3242
+ "label": "Book"
3243
+ },
3244
+ {
3245
+ "label": "Appointments",
3246
+ "href": "/appointments",
3247
+ "icon": "calendar"
3248
+ },
3249
+ {
3250
+ "label": "Schedule",
3251
+ "href": "/schedule",
3252
+ "icon": "clock"
3253
+ }
3254
+ ],
3255
+ "type": "dashboard-layout",
3256
+ "appName": "BookingSystemApp"
3257
3257
  }
3258
3258
  ]
3259
3259
  ]
@@ -3270,8 +3270,8 @@
3270
3270
  "@payload.data",
3271
3271
  {
3272
3272
  "emit": {
3273
- "success": "BookingSaved",
3274
- "failure": "BookingSaveFailed"
3273
+ "failure": "BookingSaveFailed",
3274
+ "success": "BookingSaved"
3275
3275
  }
3276
3276
  }
3277
3277
  ],
@@ -3284,61 +3284,61 @@
3284
3284
  "render-ui",
3285
3285
  "main",
3286
3286
  {
3287
- "type": "dashboard-layout",
3288
- "navItems": [
3289
- {
3290
- "label": "Providers",
3291
- "href": "/providers",
3292
- "icon": "user-check"
3293
- },
3294
- {
3295
- "href": "/book",
3296
- "label": "Book",
3297
- "icon": "calendar-plus"
3298
- },
3299
- {
3300
- "icon": "calendar",
3301
- "label": "Appointments",
3302
- "href": "/appointments"
3303
- },
3304
- {
3305
- "label": "Schedule",
3306
- "icon": "clock",
3307
- "href": "/schedule"
3308
- }
3309
- ],
3310
3287
  "children": [
3311
3288
  {
3289
+ "direction": "vertical",
3290
+ "gap": "lg",
3291
+ "type": "stack",
3312
3292
  "children": [
3313
3293
  {
3314
3294
  "type": "icon",
3315
3295
  "name": "check-circle"
3316
3296
  },
3317
3297
  {
3318
- "variant": "h2",
3319
3298
  "type": "typography",
3320
- "content": "Booking Confirmed"
3299
+ "content": "Booking Confirmed",
3300
+ "variant": "h2"
3321
3301
  },
3322
3302
  {
3323
- "variant": "body",
3324
3303
  "content": "Your appointment has been booked successfully.",
3304
+ "variant": "body",
3325
3305
  "type": "typography"
3326
3306
  },
3327
3307
  {
3328
- "type": "button",
3329
- "label": "Start New",
3330
3308
  "icon": "refresh-cw",
3309
+ "action": "RESTART",
3310
+ "label": "Start New",
3331
3311
  "variant": "primary",
3332
- "action": "RESTART"
3312
+ "type": "button"
3333
3313
  }
3334
3314
  ],
3335
- "align": "center",
3336
- "type": "stack",
3337
- "direction": "vertical",
3338
- "gap": "lg"
3315
+ "align": "center"
3339
3316
  }
3340
3317
  ],
3341
- "appName": "BookingSystemApp"
3318
+ "navItems": [
3319
+ {
3320
+ "icon": "user-check",
3321
+ "href": "/providers",
3322
+ "label": "Providers"
3323
+ },
3324
+ {
3325
+ "label": "Book",
3326
+ "href": "/book",
3327
+ "icon": "calendar-plus"
3328
+ },
3329
+ {
3330
+ "href": "/appointments",
3331
+ "icon": "calendar",
3332
+ "label": "Appointments"
3333
+ },
3334
+ {
3335
+ "href": "/schedule",
3336
+ "label": "Schedule",
3337
+ "icon": "clock"
3338
+ }
3339
+ ],
3340
+ "appName": "BookingSystemApp",
3341
+ "type": "dashboard-layout"
3342
3342
  }
3343
3343
  ]
3344
3344
  ]
@@ -3362,44 +3362,47 @@
3362
3362
  "render-ui",
3363
3363
  "main",
3364
3364
  {
3365
- "type": "dashboard-layout",
3365
+ "appName": "BookingSystemApp",
3366
3366
  "children": [
3367
3367
  {
3368
+ "type": "container",
3368
3369
  "maxWidth": "lg",
3370
+ "padding": "lg",
3369
3371
  "children": [
3370
3372
  {
3371
3373
  "type": "stack",
3374
+ "gap": "lg",
3372
3375
  "children": [
3373
3376
  {
3377
+ "gap": "sm",
3374
3378
  "align": "center",
3379
+ "type": "stack",
3380
+ "direction": "horizontal",
3375
3381
  "children": [
3376
3382
  {
3377
3383
  "type": "icon",
3378
3384
  "name": "calendar"
3379
3385
  },
3380
3386
  {
3381
- "variant": "h2",
3387
+ "content": "Book Appointment",
3382
3388
  "type": "typography",
3383
- "content": "Book Appointment"
3389
+ "variant": "h2"
3384
3390
  }
3385
- ],
3386
- "direction": "horizontal",
3387
- "gap": "sm",
3388
- "type": "stack"
3391
+ ]
3389
3392
  },
3390
3393
  {
3391
- "count": 3.0,
3392
3394
  "currentIndex": 0.0,
3393
- "type": "progress-dots"
3395
+ "type": "progress-dots",
3396
+ "count": 3.0
3394
3397
  },
3395
3398
  {
3396
- "type": "wizard-progress",
3397
- "currentStep": 0.0,
3398
3399
  "steps": [
3399
3400
  "Provider Selection",
3400
3401
  "Your Details",
3401
3402
  "Date and Time"
3402
- ]
3403
+ ],
3404
+ "currentStep": 0.0,
3405
+ "type": "wizard-progress"
3403
3406
  },
3404
3407
  {
3405
3408
  "type": "divider"
@@ -3410,61 +3413,58 @@
3410
3413
  "type": "typography"
3411
3414
  },
3412
3415
  {
3416
+ "submitEvent": "NEXT",
3413
3417
  "cancelEvent": "INIT",
3418
+ "mode": "create",
3419
+ "type": "form-section",
3414
3420
  "fields": [
3415
3421
  "providerName"
3416
- ],
3417
- "type": "form-section",
3418
- "mode": "create",
3419
- "submitEvent": "NEXT"
3422
+ ]
3420
3423
  },
3421
3424
  {
3425
+ "type": "stack",
3426
+ "justify": "end",
3427
+ "direction": "horizontal",
3428
+ "gap": "sm",
3422
3429
  "children": [
3423
3430
  {
3431
+ "variant": "primary",
3424
3432
  "label": "Next",
3425
3433
  "action": "NEXT",
3426
- "icon": "arrow-right",
3427
- "variant": "primary",
3428
- "type": "button"
3434
+ "type": "button",
3435
+ "icon": "arrow-right"
3429
3436
  }
3430
- ],
3431
- "justify": "end",
3432
- "gap": "sm",
3433
- "type": "stack",
3434
- "direction": "horizontal"
3437
+ ]
3435
3438
  }
3436
3439
  ],
3437
- "direction": "vertical",
3438
- "gap": "lg"
3440
+ "direction": "vertical"
3439
3441
  }
3440
- ],
3441
- "padding": "lg",
3442
- "type": "container"
3442
+ ]
3443
3443
  }
3444
3444
  ],
3445
3445
  "navItems": [
3446
3446
  {
3447
+ "label": "Providers",
3447
3448
  "icon": "user-check",
3448
- "href": "/providers",
3449
- "label": "Providers"
3449
+ "href": "/providers"
3450
3450
  },
3451
3451
  {
3452
+ "icon": "calendar-plus",
3452
3453
  "label": "Book",
3453
- "href": "/book",
3454
- "icon": "calendar-plus"
3454
+ "href": "/book"
3455
3455
  },
3456
3456
  {
3457
- "href": "/appointments",
3457
+ "icon": "calendar",
3458
3458
  "label": "Appointments",
3459
- "icon": "calendar"
3459
+ "href": "/appointments"
3460
3460
  },
3461
3461
  {
3462
- "label": "Schedule",
3463
3462
  "href": "/schedule",
3464
- "icon": "clock"
3463
+ "icon": "clock",
3464
+ "label": "Schedule"
3465
3465
  }
3466
3466
  ],
3467
- "appName": "BookingSystemApp"
3467
+ "type": "dashboard-layout"
3468
3468
  }
3469
3469
  ]
3470
3470
  ]
@@ -3488,69 +3488,44 @@
3488
3488
  "render-ui",
3489
3489
  "main",
3490
3490
  {
3491
- "navItems": [
3492
- {
3493
- "label": "Providers",
3494
- "href": "/providers",
3495
- "icon": "user-check"
3496
- },
3497
- {
3498
- "icon": "calendar-plus",
3499
- "label": "Book",
3500
- "href": "/book"
3501
- },
3502
- {
3503
- "href": "/appointments",
3504
- "label": "Appointments",
3505
- "icon": "calendar"
3506
- },
3507
- {
3508
- "href": "/schedule",
3509
- "label": "Schedule",
3510
- "icon": "clock"
3511
- }
3512
- ],
3513
- "appName": "BookingSystemApp",
3514
- "type": "dashboard-layout",
3515
3491
  "children": [
3516
3492
  {
3517
- "maxWidth": "lg",
3518
- "padding": "lg",
3519
3493
  "type": "container",
3520
3494
  "children": [
3521
3495
  {
3522
3496
  "gap": "lg",
3523
3497
  "type": "stack",
3498
+ "direction": "vertical",
3524
3499
  "children": [
3525
3500
  {
3526
- "direction": "horizontal",
3527
- "align": "center",
3528
- "type": "stack",
3529
- "gap": "sm",
3530
3501
  "children": [
3531
3502
  {
3532
- "type": "icon",
3533
- "name": "calendar"
3503
+ "name": "calendar",
3504
+ "type": "icon"
3534
3505
  },
3535
3506
  {
3536
3507
  "variant": "h2",
3537
3508
  "type": "typography",
3538
3509
  "content": "Book Appointment"
3539
3510
  }
3540
- ]
3511
+ ],
3512
+ "direction": "horizontal",
3513
+ "align": "center",
3514
+ "type": "stack",
3515
+ "gap": "sm"
3541
3516
  },
3542
3517
  {
3543
- "type": "progress-dots",
3544
3518
  "count": 3.0,
3545
- "currentIndex": 0.0
3519
+ "currentIndex": 0.0,
3520
+ "type": "progress-dots"
3546
3521
  },
3547
3522
  {
3548
- "currentStep": 0.0,
3549
3523
  "steps": [
3550
3524
  "Provider Selection",
3551
3525
  "Your Details",
3552
3526
  "Date and Time"
3553
3527
  ],
3528
+ "currentStep": 0.0,
3554
3529
  "type": "wizard-progress"
3555
3530
  },
3556
3531
  {
@@ -3563,34 +3538,59 @@
3563
3538
  },
3564
3539
  {
3565
3540
  "mode": "create",
3566
- "type": "form-section",
3541
+ "submitEvent": "NEXT",
3542
+ "cancelEvent": "INIT",
3567
3543
  "fields": [
3568
3544
  "providerName"
3569
3545
  ],
3570
- "submitEvent": "NEXT",
3571
- "cancelEvent": "INIT"
3546
+ "type": "form-section"
3572
3547
  },
3573
3548
  {
3574
- "type": "stack",
3575
- "direction": "horizontal",
3576
3549
  "justify": "end",
3577
3550
  "children": [
3578
3551
  {
3579
- "type": "button",
3580
3552
  "action": "NEXT",
3553
+ "type": "button",
3581
3554
  "variant": "primary",
3582
- "label": "Next",
3583
- "icon": "arrow-right"
3555
+ "icon": "arrow-right",
3556
+ "label": "Next"
3584
3557
  }
3585
3558
  ],
3559
+ "direction": "horizontal",
3560
+ "type": "stack",
3586
3561
  "gap": "sm"
3587
3562
  }
3588
- ],
3589
- "direction": "vertical"
3563
+ ]
3590
3564
  }
3591
- ]
3565
+ ],
3566
+ "maxWidth": "lg",
3567
+ "padding": "lg"
3592
3568
  }
3593
- ]
3569
+ ],
3570
+ "navItems": [
3571
+ {
3572
+ "icon": "user-check",
3573
+ "label": "Providers",
3574
+ "href": "/providers"
3575
+ },
3576
+ {
3577
+ "icon": "calendar-plus",
3578
+ "label": "Book",
3579
+ "href": "/book"
3580
+ },
3581
+ {
3582
+ "label": "Appointments",
3583
+ "href": "/appointments",
3584
+ "icon": "calendar"
3585
+ },
3586
+ {
3587
+ "icon": "clock",
3588
+ "label": "Schedule",
3589
+ "href": "/schedule"
3590
+ }
3591
+ ],
3592
+ "type": "dashboard-layout",
3593
+ "appName": "BookingSystemApp"
3594
3594
  }
3595
3595
  ]
3596
3596
  ]
@@ -3775,21 +3775,21 @@
3775
3775
  "render-ui",
3776
3776
  "main",
3777
3777
  {
3778
- "className": "py-12",
3778
+ "gap": "md",
3779
3779
  "type": "stack",
3780
3780
  "align": "center",
3781
+ "className": "py-12",
3781
3782
  "children": [
3782
3783
  {
3783
3784
  "type": "spinner"
3784
3785
  },
3785
3786
  {
3786
- "color": "muted",
3787
- "content": "Loading…",
3788
3787
  "variant": "caption",
3788
+ "content": "Loading…",
3789
+ "color": "muted",
3789
3790
  "type": "typography"
3790
3791
  }
3791
3792
  ],
3792
- "gap": "md",
3793
3793
  "direction": "vertical"
3794
3794
  }
3795
3795
  ]
@@ -3804,176 +3804,176 @@
3804
3804
  "render-ui",
3805
3805
  "main",
3806
3806
  {
3807
+ "appName": "BookingSystemApp",
3807
3808
  "type": "dashboard-layout",
3808
- "navItems": [
3809
- {
3810
- "href": "/providers",
3811
- "label": "Providers",
3812
- "icon": "user-check"
3813
- },
3814
- {
3815
- "href": "/book",
3816
- "label": "Book",
3817
- "icon": "calendar-plus"
3818
- },
3819
- {
3820
- "label": "Appointments",
3821
- "href": "/appointments",
3822
- "icon": "calendar"
3823
- },
3824
- {
3825
- "icon": "clock",
3826
- "label": "Schedule",
3827
- "href": "/schedule"
3828
- }
3829
- ],
3830
3809
  "children": [
3831
3810
  {
3832
- "className": "max-w-5xl mx-auto w-full",
3811
+ "gap": "lg",
3833
3812
  "type": "stack",
3834
3813
  "direction": "vertical",
3814
+ "className": "max-w-5xl mx-auto w-full",
3835
3815
  "children": [
3836
3816
  {
3837
3817
  "gap": "md",
3838
3818
  "direction": "horizontal",
3839
- "justify": "between",
3840
- "align": "center",
3841
- "type": "stack",
3842
3819
  "children": [
3843
3820
  {
3844
- "type": "stack",
3845
3821
  "direction": "horizontal",
3822
+ "type": "stack",
3823
+ "gap": "sm",
3846
3824
  "children": [
3847
3825
  {
3848
- "type": "icon",
3849
- "name": "clock"
3826
+ "name": "clock",
3827
+ "type": "icon"
3850
3828
  },
3851
3829
  {
3852
- "variant": "h2",
3830
+ "type": "typography",
3853
3831
  "content": "Appointments",
3854
- "type": "typography"
3832
+ "variant": "h2"
3855
3833
  }
3856
3834
  ],
3857
- "gap": "sm",
3858
3835
  "align": "center"
3859
3836
  },
3860
3837
  {
3838
+ "gap": "sm",
3839
+ "type": "stack",
3861
3840
  "children": [
3862
3841
  {
3863
- "action": "CREATE",
3864
- "type": "button",
3865
- "variant": "primary",
3866
3842
  "label": "Create Appointment",
3867
- "icon": "plus"
3843
+ "variant": "primary",
3844
+ "icon": "plus",
3845
+ "type": "button",
3846
+ "action": "CREATE"
3868
3847
  }
3869
3848
  ],
3870
- "direction": "horizontal",
3871
- "gap": "sm",
3872
- "type": "stack"
3849
+ "direction": "horizontal"
3873
3850
  }
3874
- ]
3851
+ ],
3852
+ "type": "stack",
3853
+ "justify": "between",
3854
+ "align": "center"
3875
3855
  },
3876
3856
  {
3877
3857
  "type": "divider"
3878
3858
  },
3879
3859
  {
3880
- "variant": "card",
3881
- "type": "data-list",
3882
- "fields": [],
3883
- "gap": "sm",
3884
- "entity": "@payload.data",
3885
- "itemActions": [
3886
- {
3887
- "label": "View",
3888
- "event": "VIEW",
3889
- "variant": "ghost"
3890
- },
3891
- {
3892
- "event": "EDIT",
3893
- "variant": "ghost",
3894
- "label": "Edit"
3895
- },
3896
- {
3897
- "event": "DELETE",
3898
- "label": "Delete",
3899
- "variant": "danger"
3900
- }
3901
- ],
3902
3860
  "columns": [
3903
3861
  {
3904
- "variant": "h3",
3905
- "label": "Customer",
3906
3862
  "name": "customerName",
3907
- "icon": "clock"
3863
+ "icon": "clock",
3864
+ "label": "Customer",
3865
+ "variant": "h3"
3908
3866
  },
3909
3867
  {
3910
3868
  "name": "status",
3911
3869
  "variant": "badge"
3912
3870
  },
3913
3871
  {
3914
- "variant": "body",
3915
3872
  "name": "providerName",
3916
- "label": "Provider"
3873
+ "label": "Provider",
3874
+ "variant": "body"
3917
3875
  },
3918
3876
  {
3877
+ "name": "date",
3919
3878
  "format": "date",
3920
- "variant": "body",
3921
- "name": "date"
3879
+ "variant": "body"
3880
+ },
3881
+ {
3882
+ "name": "time",
3883
+ "variant": "caption"
3884
+ }
3885
+ ],
3886
+ "type": "data-list",
3887
+ "fields": [],
3888
+ "variant": "card",
3889
+ "gap": "sm",
3890
+ "entity": "@payload.data",
3891
+ "itemActions": [
3892
+ {
3893
+ "event": "VIEW",
3894
+ "variant": "ghost",
3895
+ "label": "View"
3896
+ },
3897
+ {
3898
+ "variant": "ghost",
3899
+ "event": "EDIT",
3900
+ "label": "Edit"
3922
3901
  },
3923
3902
  {
3924
- "variant": "caption",
3925
- "name": "time"
3903
+ "label": "Delete",
3904
+ "event": "DELETE",
3905
+ "variant": "danger"
3926
3906
  }
3927
3907
  ]
3928
3908
  }
3929
- ],
3930
- "gap": "lg"
3909
+ ]
3931
3910
  }
3932
3911
  ],
3933
- "appName": "BookingSystemApp"
3934
- }
3935
- ]
3936
- ]
3937
- },
3938
- {
3939
- "from": "browsing",
3940
- "to": "browsing",
3941
- "event": "AppointmentLoadFailed",
3942
- "effects": [
3943
- [
3912
+ "navItems": [
3913
+ {
3914
+ "icon": "user-check",
3915
+ "href": "/providers",
3916
+ "label": "Providers"
3917
+ },
3918
+ {
3919
+ "href": "/book",
3920
+ "icon": "calendar-plus",
3921
+ "label": "Book"
3922
+ },
3923
+ {
3924
+ "icon": "calendar",
3925
+ "href": "/appointments",
3926
+ "label": "Appointments"
3927
+ },
3928
+ {
3929
+ "icon": "clock",
3930
+ "label": "Schedule",
3931
+ "href": "/schedule"
3932
+ }
3933
+ ]
3934
+ }
3935
+ ]
3936
+ ]
3937
+ },
3938
+ {
3939
+ "from": "browsing",
3940
+ "to": "browsing",
3941
+ "event": "AppointmentLoadFailed",
3942
+ "effects": [
3943
+ [
3944
3944
  "render-ui",
3945
3945
  "main",
3946
3946
  {
3947
- "gap": "md",
3948
- "align": "center",
3949
- "className": "py-12",
3950
3947
  "children": [
3951
3948
  {
3952
- "type": "icon",
3953
3949
  "name": "alert-triangle",
3954
- "color": "destructive"
3950
+ "color": "destructive",
3951
+ "type": "icon"
3955
3952
  },
3956
3953
  {
3957
3954
  "type": "typography",
3958
- "content": "Failed to load appointment",
3959
- "variant": "h3"
3955
+ "variant": "h3",
3956
+ "content": "Failed to load appointment"
3960
3957
  },
3961
3958
  {
3962
- "type": "typography",
3963
- "variant": "body",
3959
+ "content": "@payload.error",
3964
3960
  "color": "muted",
3965
- "content": "@payload.error"
3961
+ "variant": "body",
3962
+ "type": "typography"
3966
3963
  },
3967
3964
  {
3968
- "icon": "rotate-ccw",
3969
3965
  "variant": "primary",
3970
- "type": "button",
3966
+ "icon": "rotate-ccw",
3971
3967
  "label": "Retry",
3968
+ "type": "button",
3972
3969
  "action": "INIT"
3973
3970
  }
3974
3971
  ],
3972
+ "className": "py-12",
3973
+ "gap": "md",
3974
+ "type": "stack",
3975
3975
  "direction": "vertical",
3976
- "type": "stack"
3976
+ "align": "center"
3977
3977
  }
3978
3978
  ]
3979
3979
  ]
@@ -4158,10 +4158,12 @@
4158
4158
  "render-ui",
4159
4159
  "modal",
4160
4160
  {
4161
+ "type": "stack",
4162
+ "direction": "vertical",
4163
+ "gap": "md",
4161
4164
  "children": [
4162
4165
  {
4163
4166
  "direction": "horizontal",
4164
- "type": "stack",
4165
4167
  "gap": "sm",
4166
4168
  "children": [
4167
4169
  {
@@ -4169,16 +4171,21 @@
4169
4171
  "name": "plus-circle"
4170
4172
  },
4171
4173
  {
4172
- "content": "Create Appointment",
4173
4174
  "variant": "h3",
4175
+ "content": "Create Appointment",
4174
4176
  "type": "typography"
4175
4177
  }
4176
- ]
4178
+ ],
4179
+ "type": "stack"
4177
4180
  },
4178
4181
  {
4179
4182
  "type": "divider"
4180
4183
  },
4181
4184
  {
4185
+ "type": "form-section",
4186
+ "mode": "create",
4187
+ "submitEvent": "SAVE",
4188
+ "cancelEvent": "CLOSE",
4182
4189
  "fields": [
4183
4190
  "providerName",
4184
4191
  "customerName",
@@ -4186,16 +4193,9 @@
4186
4193
  "time",
4187
4194
  "status",
4188
4195
  "notes"
4189
- ],
4190
- "submitEvent": "SAVE",
4191
- "cancelEvent": "CLOSE",
4192
- "type": "form-section",
4193
- "mode": "create"
4196
+ ]
4194
4197
  }
4195
- ],
4196
- "direction": "vertical",
4197
- "type": "stack",
4198
- "gap": "md"
4198
+ ]
4199
4199
  }
4200
4200
  ]
4201
4201
  ]
@@ -4450,20 +4450,21 @@
4450
4450
  "render-ui",
4451
4451
  "modal",
4452
4452
  {
4453
+ "direction": "vertical",
4453
4454
  "children": [
4454
4455
  {
4455
- "gap": "sm",
4456
4456
  "children": [
4457
4457
  {
4458
- "name": "edit",
4459
- "type": "icon"
4458
+ "type": "icon",
4459
+ "name": "edit"
4460
4460
  },
4461
4461
  {
4462
+ "content": "Edit Appointment",
4462
4463
  "variant": "h3",
4463
- "type": "typography",
4464
- "content": "Edit Appointment"
4464
+ "type": "typography"
4465
4465
  }
4466
4466
  ],
4467
+ "gap": "sm",
4467
4468
  "direction": "horizontal",
4468
4469
  "type": "stack"
4469
4470
  },
@@ -4471,11 +4472,11 @@
4471
4472
  "type": "divider"
4472
4473
  },
4473
4474
  {
4475
+ "mode": "edit",
4474
4476
  "type": "form-section",
4477
+ "submitEvent": "SAVE",
4475
4478
  "entity": "@payload.row",
4476
4479
  "cancelEvent": "CLOSE",
4477
- "mode": "edit",
4478
- "submitEvent": "SAVE",
4479
4480
  "fields": [
4480
4481
  "providerName",
4481
4482
  "customerName",
@@ -4486,9 +4487,8 @@
4486
4487
  ]
4487
4488
  }
4488
4489
  ],
4489
- "type": "stack",
4490
- "direction": "vertical",
4491
- "gap": "md"
4490
+ "gap": "md",
4491
+ "type": "stack"
4492
4492
  }
4493
4493
  ]
4494
4494
  ]
@@ -4667,22 +4667,22 @@
4667
4667
  "fetch",
4668
4668
  "Appointment",
4669
4669
  {
4670
+ "id": "@payload.id",
4670
4671
  "emit": {
4671
4672
  "success": "AppointmentLoaded",
4672
4673
  "failure": "AppointmentLoadFailed"
4673
- },
4674
- "id": "@payload.id"
4674
+ }
4675
4675
  }
4676
4676
  ],
4677
4677
  [
4678
4678
  "render-ui",
4679
4679
  "modal",
4680
4680
  {
4681
+ "type": "stack",
4681
4682
  "direction": "vertical",
4682
4683
  "gap": "md",
4683
4684
  "children": [
4684
4685
  {
4685
- "direction": "horizontal",
4686
4686
  "align": "center",
4687
4687
  "children": [
4688
4688
  {
@@ -4690,87 +4690,87 @@
4690
4690
  "type": "icon"
4691
4691
  },
4692
4692
  {
4693
- "content": "@entity.providerName",
4693
+ "type": "typography",
4694
4694
  "variant": "h3",
4695
- "type": "typography"
4695
+ "content": "@entity.providerName"
4696
4696
  }
4697
4697
  ],
4698
- "gap": "sm",
4699
- "type": "stack"
4698
+ "direction": "horizontal",
4699
+ "type": "stack",
4700
+ "gap": "sm"
4700
4701
  },
4701
4702
  {
4702
4703
  "type": "divider"
4703
4704
  },
4704
4705
  {
4706
+ "gap": "md",
4705
4707
  "direction": "horizontal",
4706
4708
  "type": "stack",
4707
4709
  "children": [
4708
4710
  {
4709
- "type": "typography",
4711
+ "content": "Provider Name",
4710
4712
  "variant": "caption",
4711
- "content": "Provider Name"
4713
+ "type": "typography"
4712
4714
  },
4713
4715
  {
4714
- "variant": "body",
4715
4716
  "type": "typography",
4717
+ "variant": "body",
4716
4718
  "content": "@entity.providerName"
4717
4719
  }
4718
- ],
4719
- "gap": "md"
4720
+ ]
4720
4721
  },
4721
4722
  {
4722
- "direction": "horizontal",
4723
- "gap": "md",
4724
- "type": "stack",
4725
4723
  "children": [
4726
4724
  {
4727
4725
  "content": "Customer Name",
4728
- "type": "typography",
4729
- "variant": "caption"
4726
+ "variant": "caption",
4727
+ "type": "typography"
4730
4728
  },
4731
4729
  {
4730
+ "variant": "body",
4732
4731
  "type": "typography",
4733
- "content": "@entity.customerName",
4734
- "variant": "body"
4732
+ "content": "@entity.customerName"
4735
4733
  }
4736
- ]
4734
+ ],
4735
+ "direction": "horizontal",
4736
+ "type": "stack",
4737
+ "gap": "md"
4737
4738
  },
4738
4739
  {
4739
- "direction": "horizontal",
4740
- "gap": "md",
4741
4740
  "children": [
4742
4741
  {
4743
- "variant": "caption",
4742
+ "content": "Date",
4744
4743
  "type": "typography",
4745
- "content": "Date"
4744
+ "variant": "caption"
4746
4745
  },
4747
4746
  {
4747
+ "type": "typography",
4748
4748
  "content": "@entity.date",
4749
- "variant": "body",
4750
- "type": "typography"
4749
+ "variant": "body"
4751
4750
  }
4752
4751
  ],
4753
- "type": "stack"
4754
- },
4755
- {
4756
- "direction": "horizontal",
4757
4752
  "type": "stack",
4758
4753
  "gap": "md",
4754
+ "direction": "horizontal"
4755
+ },
4756
+ {
4759
4757
  "children": [
4760
4758
  {
4761
4759
  "type": "typography",
4762
- "content": "Time",
4763
- "variant": "caption"
4760
+ "variant": "caption",
4761
+ "content": "Time"
4764
4762
  },
4765
4763
  {
4766
- "variant": "body",
4764
+ "content": "@entity.time",
4767
4765
  "type": "typography",
4768
- "content": "@entity.time"
4766
+ "variant": "body"
4769
4767
  }
4770
- ]
4768
+ ],
4769
+ "type": "stack",
4770
+ "direction": "horizontal",
4771
+ "gap": "md"
4771
4772
  },
4772
4773
  {
4773
- "direction": "horizontal",
4774
4774
  "type": "stack",
4775
4775
  "gap": "md",
4776
4776
  "children": [
@@ -4780,55 +4780,55 @@
4780
4780
  "type": "typography"
4781
4781
  },
4782
4782
  {
4783
- "type": "typography",
4784
4783
  "content": "@entity.status",
4785
- "variant": "body"
4784
+ "variant": "body",
4785
+ "type": "typography"
4786
4786
  }
4787
- ]
4787
+ ],
4788
+ "direction": "horizontal"
4788
4789
  },
4789
4790
  {
4791
+ "direction": "horizontal",
4792
+ "type": "stack",
4793
+ "gap": "md",
4790
4794
  "children": [
4791
4795
  {
4792
- "variant": "caption",
4793
4796
  "type": "typography",
4797
+ "variant": "caption",
4794
4798
  "content": "Notes"
4795
4799
  },
4796
4800
  {
4797
- "type": "typography",
4798
4801
  "variant": "body",
4802
+ "type": "typography",
4799
4803
  "content": "@entity.notes"
4800
4804
  }
4801
- ],
4802
- "gap": "md",
4803
- "direction": "horizontal",
4804
- "type": "stack"
4805
+ ]
4805
4806
  },
4806
4807
  {
4807
4808
  "type": "divider"
4808
4809
  },
4809
4810
  {
4810
- "gap": "sm",
4811
+ "direction": "horizontal",
4811
4812
  "type": "stack",
4812
- "justify": "end",
4813
4813
  "children": [
4814
4814
  {
4815
- "type": "button",
4816
4815
  "variant": "primary",
4816
+ "type": "button",
4817
4817
  "action": "EDIT",
4818
- "icon": "edit",
4819
- "label": "Edit"
4818
+ "label": "Edit",
4819
+ "icon": "edit"
4820
4820
  },
4821
4821
  {
4822
- "variant": "ghost",
4822
+ "type": "button",
4823
4823
  "label": "Close",
4824
4824
  "action": "CLOSE",
4825
- "type": "button"
4825
+ "variant": "ghost"
4826
4826
  }
4827
4827
  ],
4828
- "direction": "horizontal"
4828
+ "gap": "sm",
4829
+ "justify": "end"
4829
4830
  }
4830
- ],
4831
- "type": "stack"
4831
+ ]
4832
4832
  }
4833
4833
  ]
4834
4834
  ]
@@ -5055,68 +5055,68 @@
5055
5055
  "fetch",
5056
5056
  "Appointment",
5057
5057
  {
5058
+ "id": "@payload.id",
5058
5059
  "emit": {
5059
- "success": "AppointmentLoaded",
5060
- "failure": "AppointmentLoadFailed"
5061
- },
5062
- "id": "@payload.id"
5060
+ "failure": "AppointmentLoadFailed",
5061
+ "success": "AppointmentLoaded"
5062
+ }
5063
5063
  }
5064
5064
  ],
5065
5065
  [
5066
5066
  "render-ui",
5067
5067
  "modal",
5068
5068
  {
5069
- "direction": "vertical",
5070
- "gap": "md",
5071
- "type": "stack",
5072
5069
  "children": [
5073
5070
  {
5074
- "type": "stack",
5075
- "gap": "sm",
5076
- "align": "center",
5077
5071
  "children": [
5078
5072
  {
5079
- "type": "icon",
5080
- "name": "alert-triangle"
5073
+ "name": "alert-triangle",
5074
+ "type": "icon"
5081
5075
  },
5082
5076
  {
5083
- "type": "typography",
5077
+ "variant": "h3",
5084
5078
  "content": "Delete Appointment",
5085
- "variant": "h3"
5079
+ "type": "typography"
5086
5080
  }
5087
5081
  ],
5088
- "direction": "horizontal"
5082
+ "direction": "horizontal",
5083
+ "gap": "sm",
5084
+ "type": "stack",
5085
+ "align": "center"
5089
5086
  },
5090
5087
  {
5091
5088
  "type": "divider"
5092
5089
  },
5093
5090
  {
5094
- "message": "This action cannot be undone.",
5095
5091
  "type": "alert",
5096
- "variant": "error"
5092
+ "variant": "error",
5093
+ "message": "This action cannot be undone."
5097
5094
  },
5098
5095
  {
5096
+ "type": "stack",
5099
5097
  "justify": "end",
5100
5098
  "children": [
5101
5099
  {
5102
- "label": "Cancel",
5103
5100
  "action": "CANCEL",
5104
5101
  "variant": "ghost",
5105
- "type": "button"
5102
+ "type": "button",
5103
+ "label": "Cancel"
5106
5104
  },
5107
5105
  {
5108
- "action": "CONFIRM_DELETE",
5109
- "variant": "danger",
5110
5106
  "type": "button",
5111
5107
  "icon": "check",
5112
- "label": "Delete"
5108
+ "action": "CONFIRM_DELETE",
5109
+ "label": "Delete",
5110
+ "variant": "danger"
5113
5111
  }
5114
5112
  ],
5115
- "type": "stack",
5116
5113
  "direction": "horizontal",
5117
5114
  "gap": "sm"
5118
5115
  }
5119
- ]
5116
+ ],
5117
+ "gap": "md",
5118
+ "type": "stack",
5119
+ "direction": "vertical"
5120
5120
  }
5121
5121
  ]
5122
5122
  ]
@@ -5133,8 +5133,8 @@
5133
5133
  "@entity.pendingId",
5134
5134
  {
5135
5135
  "emit": {
5136
- "failure": "AppointmentDeleteFailed",
5137
- "success": "AppointmentDeleted"
5136
+ "success": "AppointmentDeleted",
5137
+ "failure": "AppointmentDeleteFailed"
5138
5138
  }
5139
5139
  }
5140
5140
  ],
@@ -5372,7 +5372,6 @@
5372
5372
  "render-ui",
5373
5373
  "main",
5374
5374
  {
5375
- "appName": "BookingSystemApp",
5376
5375
  "navItems": [
5377
5376
  {
5378
5377
  "icon": "user-check",
@@ -5380,121 +5379,118 @@
5380
5379
  "href": "/providers"
5381
5380
  },
5382
5381
  {
5382
+ "label": "Book",
5383
5383
  "href": "/book",
5384
- "icon": "calendar-plus",
5385
- "label": "Book"
5384
+ "icon": "calendar-plus"
5386
5385
  },
5387
5386
  {
5388
5387
  "label": "Appointments",
5389
- "href": "/appointments",
5390
- "icon": "calendar"
5388
+ "icon": "calendar",
5389
+ "href": "/appointments"
5391
5390
  },
5392
5391
  {
5393
- "href": "/schedule",
5394
5392
  "icon": "clock",
5393
+ "href": "/schedule",
5395
5394
  "label": "Schedule"
5396
5395
  }
5397
5396
  ],
5398
5397
  "type": "dashboard-layout",
5399
5398
  "children": [
5400
5399
  {
5400
+ "type": "scaled-diagram",
5401
5401
  "children": [
5402
5402
  {
5403
- "type": "stack",
5404
5403
  "gap": "lg",
5405
5404
  "children": [
5406
5405
  {
5407
- "type": "breadcrumb",
5408
5406
  "items": [
5409
5407
  {
5410
- "label": "Home",
5411
- "href": "/"
5408
+ "href": "/",
5409
+ "label": "Home"
5412
5410
  },
5413
5411
  {
5414
5412
  "label": "Schedule Overview"
5415
5413
  }
5416
- ]
5414
+ ],
5415
+ "type": "breadcrumb"
5417
5416
  },
5418
5417
  {
5419
- "gap": "md",
5420
5418
  "children": [
5421
5419
  {
5422
- "children": [
5420
+ "type": "stack",
5421
+ "direction": "horizontal",
5422
+ "gap": "md",
5423
+ "children": [
5423
5424
  {
5424
5425
  "type": "icon",
5425
5426
  "name": "bar-chart-2"
5426
5427
  },
5427
5428
  {
5428
- "content": "Schedule Overview",
5429
5429
  "type": "typography",
5430
+ "content": "Schedule Overview",
5430
5431
  "variant": "h2"
5431
5432
  }
5432
- ],
5433
- "direction": "horizontal",
5434
- "gap": "md",
5435
- "type": "stack"
5433
+ ]
5436
5434
  },
5437
5435
  {
5438
- "action": "REFRESH",
5439
- "label": "Refresh",
5440
5436
  "variant": "secondary",
5441
- "icon": "refresh-cw",
5442
- "type": "button"
5437
+ "label": "Refresh",
5438
+ "type": "button",
5439
+ "action": "REFRESH",
5440
+ "icon": "refresh-cw"
5443
5441
  }
5444
5442
  ],
5445
- "justify": "between",
5446
5443
  "direction": "horizontal",
5444
+ "justify": "between",
5445
+ "gap": "md",
5447
5446
  "type": "stack"
5448
5447
  },
5449
5448
  {
5450
5449
  "type": "divider"
5451
5450
  },
5452
5451
  {
5453
- "type": "box",
5454
- "padding": "md",
5455
5452
  "children": [
5456
5453
  {
5457
- "cols": 4.0,
5458
5454
  "children": [
5459
5455
  {
5456
+ "value": "@entity.totalBookings",
5460
5457
  "type": "stat-display",
5461
- "label": "TotalBookings",
5462
- "value": "@entity.totalBookings"
5458
+ "label": "TotalBookings"
5463
5459
  },
5464
5460
  {
5465
5461
  "type": "stat-display",
5466
- "label": "ConfirmedToday",
5467
- "value": "@entity.confirmedToday"
5462
+ "value": "@entity.confirmedToday",
5463
+ "label": "ConfirmedToday"
5468
5464
  },
5469
5465
  {
5470
- "type": "stat-display",
5471
5466
  "label": "PendingBookings",
5472
- "value": "@entity.pendingBookings"
5467
+ "value": "@entity.pendingBookings",
5468
+ "type": "stat-display"
5473
5469
  },
5474
5470
  {
5475
- "type": "stat-display",
5476
5471
  "label": "AvailableSlots",
5477
- "value": "@entity.availableSlots"
5472
+ "value": "@entity.availableSlots",
5473
+ "type": "stat-display"
5478
5474
  }
5479
5475
  ],
5476
+ "cols": 4.0,
5480
5477
  "type": "simple-grid"
5481
5478
  }
5482
- ]
5479
+ ],
5480
+ "type": "box",
5481
+ "padding": "md"
5483
5482
  },
5484
5483
  {
5485
5484
  "type": "divider"
5486
5485
  },
5487
5486
  {
5488
- "cols": 2.0,
5489
- "gap": "md",
5490
- "type": "grid",
5491
5487
  "children": [
5492
5488
  {
5493
5489
  "type": "card",
5494
5490
  "children": [
5495
5491
  {
5496
- "variant": "caption",
5497
5492
  "type": "typography",
5493
+ "variant": "caption",
5498
5494
  "content": "Chart View"
5499
5495
  }
5500
5496
  ]
@@ -5509,13 +5505,17 @@
5509
5505
  ],
5510
5506
  "type": "card"
5511
5507
  }
5512
- ]
5508
+ ],
5509
+ "cols": 2.0,
5510
+ "gap": "md",
5511
+ "type": "grid"
5513
5512
  },
5514
5513
  {
5514
+ "type": "line-chart",
5515
5515
  "data": [
5516
5516
  {
5517
- "value": 12.0,
5518
- "date": "Jan"
5517
+ "date": "Jan",
5518
+ "value": 12.0
5519
5519
  },
5520
5520
  {
5521
5521
  "date": "Feb",
@@ -5534,17 +5534,16 @@
5534
5534
  "value": 22.0
5535
5535
  },
5536
5536
  {
5537
- "value": 30.0,
5538
- "date": "Jun"
5537
+ "date": "Jun",
5538
+ "value": 30.0
5539
5539
  }
5540
- ],
5541
- "type": "line-chart"
5540
+ ]
5542
5541
  },
5543
5542
  {
5544
5543
  "items": [
5545
5544
  {
5546
- "label": "Current",
5547
- "color": "primary"
5545
+ "color": "primary",
5546
+ "label": "Current"
5548
5547
  },
5549
5548
  {
5550
5549
  "label": "Previous",
@@ -5554,19 +5553,19 @@
5554
5553
  "type": "chart-legend"
5555
5554
  },
5556
5555
  {
5556
+ "type": "graph-view",
5557
+ "height": 200.0,
5557
5558
  "edges": [
5558
5559
  {
5559
- "target": "b",
5560
- "source": "a"
5560
+ "source": "a",
5561
+ "target": "b"
5561
5562
  },
5562
5563
  {
5563
- "target": "c",
5564
- "source": "b"
5564
+ "source": "b",
5565
+ "target": "c"
5565
5566
  }
5566
5567
  ],
5567
- "height": 200.0,
5568
5568
  "width": 400.0,
5569
- "type": "graph-view",
5570
5569
  "nodes": [
5571
5570
  {
5572
5571
  "id": "a",
@@ -5583,12 +5582,13 @@
5583
5582
  ]
5584
5583
  }
5585
5584
  ],
5585
+ "type": "stack",
5586
5586
  "direction": "vertical"
5587
5587
  }
5588
- ],
5589
- "type": "scaled-diagram"
5588
+ ]
5590
5589
  }
5591
- ]
5590
+ ],
5591
+ "appName": "BookingSystemApp"
5592
5592
  }
5593
5593
  ]
5594
5594
  ]
@@ -5603,8 +5603,8 @@
5603
5603
  "Schedule",
5604
5604
  {
5605
5605
  "emit": {
5606
- "success": "ScheduleLoaded",
5607
- "failure": "ScheduleLoadFailed"
5606
+ "failure": "ScheduleLoadFailed",
5607
+ "success": "ScheduleLoaded"
5608
5608
  }
5609
5609
  }
5610
5610
  ],
@@ -5615,14 +5615,14 @@
5615
5615
  "type": "dashboard-layout",
5616
5616
  "navItems": [
5617
5617
  {
5618
- "icon": "user-check",
5619
5618
  "href": "/providers",
5619
+ "icon": "user-check",
5620
5620
  "label": "Providers"
5621
5621
  },
5622
5622
  {
5623
5623
  "label": "Book",
5624
- "href": "/book",
5625
- "icon": "calendar-plus"
5624
+ "icon": "calendar-plus",
5625
+ "href": "/book"
5626
5626
  },
5627
5627
  {
5628
5628
  "label": "Appointments",
@@ -5630,21 +5630,21 @@
5630
5630
  "href": "/appointments"
5631
5631
  },
5632
5632
  {
5633
- "icon": "clock",
5634
5633
  "href": "/schedule",
5634
+ "icon": "clock",
5635
5635
  "label": "Schedule"
5636
5636
  }
5637
5637
  ],
5638
- "appName": "BookingSystemApp",
5639
5638
  "children": [
5640
5639
  {
5641
5640
  "type": "scaled-diagram",
5642
5641
  "children": [
5643
5642
  {
5644
5643
  "type": "stack",
5644
+ "direction": "vertical",
5645
+ "gap": "lg",
5645
5646
  "children": [
5646
5647
  {
5647
- "type": "breadcrumb",
5648
5648
  "items": [
5649
5649
  {
5650
5650
  "label": "Home",
@@ -5653,38 +5653,39 @@
5653
5653
  {
5654
5654
  "label": "Schedule Overview"
5655
5655
  }
5656
- ]
5656
+ ],
5657
+ "type": "breadcrumb"
5657
5658
  },
5658
5659
  {
5659
5660
  "gap": "md",
5660
5661
  "direction": "horizontal",
5662
+ "justify": "between",
5663
+ "type": "stack",
5661
5664
  "children": [
5662
5665
  {
5663
- "gap": "md",
5666
+ "direction": "horizontal",
5664
5667
  "children": [
5665
5668
  {
5666
- "name": "bar-chart-2",
5667
- "type": "icon"
5669
+ "type": "icon",
5670
+ "name": "bar-chart-2"
5668
5671
  },
5669
5672
  {
5673
+ "type": "typography",
5670
5674
  "variant": "h2",
5671
- "content": "Schedule Overview",
5672
- "type": "typography"
5675
+ "content": "Schedule Overview"
5673
5676
  }
5674
5677
  ],
5675
- "type": "stack",
5676
- "direction": "horizontal"
5678
+ "gap": "md",
5679
+ "type": "stack"
5677
5680
  },
5678
5681
  {
5679
- "icon": "refresh-cw",
5680
5682
  "label": "Refresh",
5683
+ "variant": "secondary",
5681
5684
  "type": "button",
5682
5685
  "action": "REFRESH",
5683
- "variant": "secondary"
5686
+ "icon": "refresh-cw"
5684
5687
  }
5685
- ],
5686
- "type": "stack",
5687
- "justify": "between"
5688
+ ]
5688
5689
  },
5689
5690
  {
5690
5691
  "type": "divider"
@@ -5694,13 +5695,12 @@
5694
5695
  "padding": "md",
5695
5696
  "children": [
5696
5697
  {
5697
- "type": "simple-grid",
5698
5698
  "cols": 4.0,
5699
5699
  "children": [
5700
5700
  {
5701
5701
  "label": "TotalBookings",
5702
- "type": "stat-display",
5703
- "value": "@entity.totalBookings"
5702
+ "value": "@entity.totalBookings",
5703
+ "type": "stat-display"
5704
5704
  },
5705
5705
  {
5706
5706
  "type": "stat-display",
@@ -5713,11 +5713,12 @@
5713
5713
  "type": "stat-display"
5714
5714
  },
5715
5715
  {
5716
+ "type": "stat-display",
5716
5717
  "label": "AvailableSlots",
5717
- "value": "@entity.availableSlots",
5718
- "type": "stat-display"
5718
+ "value": "@entity.availableSlots"
5719
5719
  }
5720
- ]
5720
+ ],
5721
+ "type": "simple-grid"
5721
5722
  }
5722
5723
  ]
5723
5724
  },
@@ -5725,34 +5726,33 @@
5725
5726
  "type": "divider"
5726
5727
  },
5727
5728
  {
5728
- "gap": "md",
5729
- "type": "grid",
5730
5729
  "cols": 2.0,
5731
5730
  "children": [
5732
5731
  {
5733
- "type": "card",
5734
5732
  "children": [
5735
5733
  {
5736
- "content": "Chart View",
5737
5734
  "type": "typography",
5738
- "variant": "caption"
5735
+ "variant": "caption",
5736
+ "content": "Chart View"
5739
5737
  }
5740
- ]
5738
+ ],
5739
+ "type": "card"
5741
5740
  },
5742
5741
  {
5743
5742
  "children": [
5744
5743
  {
5744
+ "content": "Graph View",
5745
5745
  "variant": "caption",
5746
- "type": "typography",
5747
- "content": "Graph View"
5746
+ "type": "typography"
5748
5747
  }
5749
5748
  ],
5750
5749
  "type": "card"
5751
5750
  }
5752
- ]
5751
+ ],
5752
+ "type": "grid",
5753
+ "gap": "md"
5753
5754
  },
5754
5755
  {
5755
- "type": "line-chart",
5756
5756
  "data": [
5757
5757
  {
5758
5758
  "date": "Jan",
@@ -5763,22 +5763,23 @@
5763
5763
  "date": "Feb"
5764
5764
  },
5765
5765
  {
5766
- "value": 15.0,
5767
- "date": "Mar"
5766
+ "date": "Mar",
5767
+ "value": 15.0
5768
5768
  },
5769
5769
  {
5770
- "date": "Apr",
5771
- "value": 25.0
5770
+ "value": 25.0,
5771
+ "date": "Apr"
5772
5772
  },
5773
5773
  {
5774
5774
  "date": "May",
5775
5775
  "value": 22.0
5776
5776
  },
5777
5777
  {
5778
- "value": 30.0,
5779
- "date": "Jun"
5778
+ "date": "Jun",
5779
+ "value": 30.0
5780
5780
  }
5781
- ]
5781
+ ],
5782
+ "type": "line-chart"
5782
5783
  },
5783
5784
  {
5784
5785
  "type": "chart-legend",
@@ -5794,17 +5795,18 @@
5794
5795
  ]
5795
5796
  },
5796
5797
  {
5798
+ "height": 200.0,
5797
5799
  "edges": [
5798
5800
  {
5799
- "source": "a",
5800
- "target": "b"
5801
+ "target": "b",
5802
+ "source": "a"
5801
5803
  },
5802
5804
  {
5803
5805
  "source": "b",
5804
5806
  "target": "c"
5805
5807
  }
5806
5808
  ],
5807
- "height": 200.0,
5809
+ "width": 400.0,
5808
5810
  "nodes": [
5809
5811
  {
5810
5812
  "id": "a",
@@ -5819,16 +5821,14 @@
5819
5821
  "label": "End"
5820
5822
  }
5821
5823
  ],
5822
- "type": "graph-view",
5823
- "width": 400.0
5824
+ "type": "graph-view"
5824
5825
  }
5825
- ],
5826
- "direction": "vertical",
5827
- "gap": "lg"
5826
+ ]
5828
5827
  }
5829
5828
  ]
5830
5829
  }
5831
- ]
5830
+ ],
5831
+ "appName": "BookingSystemApp"
5832
5832
  }
5833
5833
  ]
5834
5834
  ]
@@ -5843,8 +5843,8 @@
5843
5843
  "Schedule",
5844
5844
  {
5845
5845
  "emit": {
5846
- "success": "ScheduleLoaded",
5847
- "failure": "ScheduleLoadFailed"
5846
+ "failure": "ScheduleLoadFailed",
5847
+ "success": "ScheduleLoaded"
5848
5848
  }
5849
5849
  }
5850
5850
  ],
@@ -5852,72 +5852,48 @@
5852
5852
  "render-ui",
5853
5853
  "main",
5854
5854
  {
5855
- "navItems": [
5856
- {
5857
- "label": "Providers",
5858
- "icon": "user-check",
5859
- "href": "/providers"
5860
- },
5861
- {
5862
- "href": "/book",
5863
- "icon": "calendar-plus",
5864
- "label": "Book"
5865
- },
5866
- {
5867
- "label": "Appointments",
5868
- "icon": "calendar",
5869
- "href": "/appointments"
5870
- },
5871
- {
5872
- "label": "Schedule",
5873
- "icon": "clock",
5874
- "href": "/schedule"
5875
- }
5876
- ],
5877
5855
  "children": [
5878
5856
  {
5879
5857
  "type": "scaled-diagram",
5880
5858
  "children": [
5881
5859
  {
5882
- "gap": "lg",
5883
- "type": "stack",
5884
5860
  "children": [
5885
5861
  {
5886
- "type": "breadcrumb",
5887
5862
  "items": [
5888
5863
  {
5889
- "label": "Home",
5890
- "href": "/"
5864
+ "href": "/",
5865
+ "label": "Home"
5891
5866
  },
5892
5867
  {
5893
5868
  "label": "Schedule Overview"
5894
5869
  }
5895
- ]
5870
+ ],
5871
+ "type": "breadcrumb"
5896
5872
  },
5897
5873
  {
5898
5874
  "children": [
5899
5875
  {
5900
5876
  "type": "stack",
5877
+ "direction": "horizontal",
5901
5878
  "children": [
5902
5879
  {
5903
5880
  "type": "icon",
5904
5881
  "name": "bar-chart-2"
5905
5882
  },
5906
5883
  {
5907
- "variant": "h2",
5908
5884
  "content": "Schedule Overview",
5885
+ "variant": "h2",
5909
5886
  "type": "typography"
5910
5887
  }
5911
5888
  ],
5912
- "direction": "horizontal",
5913
5889
  "gap": "md"
5914
5890
  },
5915
5891
  {
5916
- "variant": "secondary",
5917
5892
  "action": "REFRESH",
5918
- "type": "button",
5893
+ "variant": "secondary",
5919
5894
  "icon": "refresh-cw",
5920
- "label": "Refresh"
5895
+ "label": "Refresh",
5896
+ "type": "button"
5921
5897
  }
5922
5898
  ],
5923
5899
  "justify": "between",
@@ -5929,20 +5905,19 @@
5929
5905
  "type": "divider"
5930
5906
  },
5931
5907
  {
5908
+ "padding": "md",
5932
5909
  "children": [
5933
5910
  {
5934
- "type": "simple-grid",
5935
- "cols": 4.0,
5936
5911
  "children": [
5937
5912
  {
5938
5913
  "value": "@entity.totalBookings",
5939
- "label": "TotalBookings",
5940
- "type": "stat-display"
5914
+ "type": "stat-display",
5915
+ "label": "TotalBookings"
5941
5916
  },
5942
5917
  {
5918
+ "type": "stat-display",
5943
5919
  "label": "ConfirmedToday",
5944
- "value": "@entity.confirmedToday",
5945
- "type": "stat-display"
5920
+ "value": "@entity.confirmedToday"
5946
5921
  },
5947
5922
  {
5948
5923
  "label": "PendingBookings",
@@ -5950,45 +5925,46 @@
5950
5925
  "value": "@entity.pendingBookings"
5951
5926
  },
5952
5927
  {
5953
- "type": "stat-display",
5928
+ "value": "@entity.availableSlots",
5954
5929
  "label": "AvailableSlots",
5955
- "value": "@entity.availableSlots"
5930
+ "type": "stat-display"
5956
5931
  }
5957
- ]
5932
+ ],
5933
+ "cols": 4.0,
5934
+ "type": "simple-grid"
5958
5935
  }
5959
5936
  ],
5960
- "type": "box",
5961
- "padding": "md"
5937
+ "type": "box"
5962
5938
  },
5963
5939
  {
5964
5940
  "type": "divider"
5965
5941
  },
5966
5942
  {
5943
+ "type": "grid",
5944
+ "gap": "md",
5967
5945
  "cols": 2.0,
5968
5946
  "children": [
5969
5947
  {
5970
- "type": "card",
5971
5948
  "children": [
5972
5949
  {
5973
- "type": "typography",
5950
+ "content": "Chart View",
5974
5951
  "variant": "caption",
5975
- "content": "Chart View"
5952
+ "type": "typography"
5976
5953
  }
5977
- ]
5954
+ ],
5955
+ "type": "card"
5978
5956
  },
5979
5957
  {
5980
5958
  "type": "card",
5981
5959
  "children": [
5982
5960
  {
5983
5961
  "type": "typography",
5984
- "variant": "caption",
5985
- "content": "Graph View"
5962
+ "content": "Graph View",
5963
+ "variant": "caption"
5986
5964
  }
5987
5965
  ]
5988
5966
  }
5989
- ],
5990
- "gap": "md",
5991
- "type": "grid"
5967
+ ]
5992
5968
  },
5993
5969
  {
5994
5970
  "type": "line-chart",
@@ -6010,8 +5986,8 @@
6010
5986
  "value": 25.0
6011
5987
  },
6012
5988
  {
6013
- "date": "May",
6014
- "value": 22.0
5989
+ "value": 22.0,
5990
+ "date": "May"
6015
5991
  },
6016
5992
  {
6017
5993
  "value": 30.0,
@@ -6020,24 +5996,23 @@
6020
5996
  ]
6021
5997
  },
6022
5998
  {
5999
+ "type": "chart-legend",
6023
6000
  "items": [
6024
6001
  {
6025
- "color": "primary",
6026
- "label": "Current"
6002
+ "label": "Current",
6003
+ "color": "primary"
6027
6004
  },
6028
6005
  {
6029
- "label": "Previous",
6030
- "color": "muted"
6006
+ "color": "muted",
6007
+ "label": "Previous"
6031
6008
  }
6032
- ],
6033
- "type": "chart-legend"
6009
+ ]
6034
6010
  },
6035
6011
  {
6036
- "height": 200.0,
6037
6012
  "nodes": [
6038
6013
  {
6039
- "label": "Start",
6040
- "id": "a"
6014
+ "id": "a",
6015
+ "label": "Start"
6041
6016
  },
6042
6017
  {
6043
6018
  "label": "Process",
@@ -6048,25 +6023,50 @@
6048
6023
  "label": "End"
6049
6024
  }
6050
6025
  ],
6051
- "type": "graph-view",
6026
+ "height": 200.0,
6052
6027
  "width": 400.0,
6028
+ "type": "graph-view",
6053
6029
  "edges": [
6054
6030
  {
6055
- "source": "a",
6056
- "target": "b"
6031
+ "target": "b",
6032
+ "source": "a"
6057
6033
  },
6058
6034
  {
6059
- "source": "b",
6060
- "target": "c"
6035
+ "target": "c",
6036
+ "source": "b"
6061
6037
  }
6062
6038
  ]
6063
6039
  }
6064
6040
  ],
6065
- "direction": "vertical"
6041
+ "type": "stack",
6042
+ "direction": "vertical",
6043
+ "gap": "lg"
6066
6044
  }
6067
6045
  ]
6068
6046
  }
6069
6047
  ],
6048
+ "navItems": [
6049
+ {
6050
+ "icon": "user-check",
6051
+ "label": "Providers",
6052
+ "href": "/providers"
6053
+ },
6054
+ {
6055
+ "icon": "calendar-plus",
6056
+ "href": "/book",
6057
+ "label": "Book"
6058
+ },
6059
+ {
6060
+ "label": "Appointments",
6061
+ "icon": "calendar",
6062
+ "href": "/appointments"
6063
+ },
6064
+ {
6065
+ "href": "/schedule",
6066
+ "label": "Schedule",
6067
+ "icon": "clock"
6068
+ }
6069
+ ],
6070
6070
  "type": "dashboard-layout",
6071
6071
  "appName": "BookingSystemApp"
6072
6072
  }
@@ -6083,8 +6083,8 @@
6083
6083
  "Schedule",
6084
6084
  {
6085
6085
  "emit": {
6086
- "success": "ScheduleLoaded",
6087
- "failure": "ScheduleLoadFailed"
6086
+ "failure": "ScheduleLoadFailed",
6087
+ "success": "ScheduleLoaded"
6088
6088
  }
6089
6089
  }
6090
6090
  ],
@@ -6092,30 +6092,35 @@
6092
6092
  "render-ui",
6093
6093
  "main",
6094
6094
  {
6095
+ "appName": "BookingSystemApp",
6095
6096
  "type": "dashboard-layout",
6096
6097
  "children": [
6097
6098
  {
6099
+ "type": "scaled-diagram",
6098
6100
  "children": [
6099
6101
  {
6100
- "type": "stack",
6101
- "gap": "lg",
6102
6102
  "children": [
6103
6103
  {
6104
- "type": "breadcrumb",
6105
6104
  "items": [
6106
6105
  {
6107
- "label": "Home",
6108
- "href": "/"
6106
+ "href": "/",
6107
+ "label": "Home"
6109
6108
  },
6110
6109
  {
6111
6110
  "label": "Schedule Overview"
6112
6111
  }
6113
- ]
6112
+ ],
6113
+ "type": "breadcrumb"
6114
6114
  },
6115
6115
  {
6116
+ "type": "stack",
6117
+ "direction": "horizontal",
6118
+ "justify": "between",
6119
+ "gap": "md",
6116
6120
  "children": [
6117
6121
  {
6118
- "type": "stack",
6122
+ "direction": "horizontal",
6123
+ "gap": "md",
6119
6124
  "children": [
6120
6125
  {
6121
6126
  "name": "bar-chart-2",
@@ -6127,113 +6132,108 @@
6127
6132
  "type": "typography"
6128
6133
  }
6129
6134
  ],
6130
- "direction": "horizontal",
6131
- "gap": "md"
6135
+ "type": "stack"
6132
6136
  },
6133
6137
  {
6138
+ "type": "button",
6134
6139
  "label": "Refresh",
6135
- "action": "REFRESH",
6136
- "variant": "secondary",
6137
6140
  "icon": "refresh-cw",
6138
- "type": "button"
6141
+ "action": "REFRESH",
6142
+ "variant": "secondary"
6139
6143
  }
6140
- ],
6141
- "direction": "horizontal",
6142
- "type": "stack",
6143
- "justify": "between",
6144
- "gap": "md"
6144
+ ]
6145
6145
  },
6146
6146
  {
6147
6147
  "type": "divider"
6148
6148
  },
6149
6149
  {
6150
+ "type": "box",
6150
6151
  "children": [
6151
6152
  {
6152
6153
  "children": [
6153
6154
  {
6154
- "type": "stat-display",
6155
6155
  "value": "@entity.totalBookings",
6156
+ "type": "stat-display",
6156
6157
  "label": "TotalBookings"
6157
6158
  },
6158
6159
  {
6159
- "type": "stat-display",
6160
6160
  "label": "ConfirmedToday",
6161
+ "type": "stat-display",
6161
6162
  "value": "@entity.confirmedToday"
6162
6163
  },
6163
6164
  {
6164
- "label": "PendingBookings",
6165
6165
  "type": "stat-display",
6166
+ "label": "PendingBookings",
6166
6167
  "value": "@entity.pendingBookings"
6167
6168
  },
6168
6169
  {
6169
- "label": "AvailableSlots",
6170
+ "value": "@entity.availableSlots",
6170
6171
  "type": "stat-display",
6171
- "value": "@entity.availableSlots"
6172
+ "label": "AvailableSlots"
6172
6173
  }
6173
6174
  ],
6174
6175
  "type": "simple-grid",
6175
6176
  "cols": 4.0
6176
6177
  }
6177
6178
  ],
6178
- "type": "box",
6179
6179
  "padding": "md"
6180
6180
  },
6181
6181
  {
6182
6182
  "type": "divider"
6183
6183
  },
6184
6184
  {
6185
- "type": "grid",
6186
6185
  "children": [
6187
6186
  {
6187
+ "type": "card",
6188
6188
  "children": [
6189
6189
  {
6190
6190
  "variant": "caption",
6191
- "type": "typography",
6192
- "content": "Chart View"
6191
+ "content": "Chart View",
6192
+ "type": "typography"
6193
6193
  }
6194
- ],
6195
- "type": "card"
6194
+ ]
6196
6195
  },
6197
6196
  {
6197
+ "type": "card",
6198
6198
  "children": [
6199
6199
  {
6200
+ "type": "typography",
6200
6201
  "variant": "caption",
6201
- "content": "Graph View",
6202
- "type": "typography"
6202
+ "content": "Graph View"
6203
6203
  }
6204
- ],
6205
- "type": "card"
6204
+ ]
6206
6205
  }
6207
6206
  ],
6208
- "cols": 2.0,
6209
- "gap": "md"
6207
+ "gap": "md",
6208
+ "type": "grid",
6209
+ "cols": 2.0
6210
6210
  },
6211
6211
  {
6212
6212
  "type": "line-chart",
6213
6213
  "data": [
6214
6214
  {
6215
- "value": 12.0,
6216
- "date": "Jan"
6215
+ "date": "Jan",
6216
+ "value": 12.0
6217
6217
  },
6218
6218
  {
6219
- "date": "Feb",
6220
- "value": 19.0
6219
+ "value": 19.0,
6220
+ "date": "Feb"
6221
6221
  },
6222
6222
  {
6223
- "value": 15.0,
6224
- "date": "Mar"
6223
+ "date": "Mar",
6224
+ "value": 15.0
6225
6225
  },
6226
6226
  {
6227
- "date": "Apr",
6228
- "value": 25.0
6227
+ "value": 25.0,
6228
+ "date": "Apr"
6229
6229
  },
6230
6230
  {
6231
6231
  "value": 22.0,
6232
6232
  "date": "May"
6233
6233
  },
6234
6234
  {
6235
- "value": 30.0,
6236
- "date": "Jun"
6235
+ "date": "Jun",
6236
+ "value": 30.0
6237
6237
  }
6238
6238
  ]
6239
6239
  },
@@ -6241,16 +6241,27 @@
6241
6241
  "type": "chart-legend",
6242
6242
  "items": [
6243
6243
  {
6244
- "label": "Current",
6245
- "color": "primary"
6244
+ "color": "primary",
6245
+ "label": "Current"
6246
6246
  },
6247
6247
  {
6248
- "label": "Previous",
6249
- "color": "muted"
6248
+ "color": "muted",
6249
+ "label": "Previous"
6250
6250
  }
6251
6251
  ]
6252
6252
  },
6253
6253
  {
6254
+ "height": 200.0,
6255
+ "edges": [
6256
+ {
6257
+ "source": "a",
6258
+ "target": "b"
6259
+ },
6260
+ {
6261
+ "source": "b",
6262
+ "target": "c"
6263
+ }
6264
+ ],
6254
6265
  "nodes": [
6255
6266
  {
6256
6267
  "id": "a",
@@ -6261,52 +6272,41 @@
6261
6272
  "label": "Process"
6262
6273
  },
6263
6274
  {
6264
- "id": "c",
6265
- "label": "End"
6275
+ "label": "End",
6276
+ "id": "c"
6266
6277
  }
6267
6278
  ],
6268
6279
  "type": "graph-view",
6269
- "width": 400.0,
6270
- "edges": [
6271
- {
6272
- "target": "b",
6273
- "source": "a"
6274
- },
6275
- {
6276
- "target": "c",
6277
- "source": "b"
6278
- }
6279
- ],
6280
- "height": 200.0
6280
+ "width": 400.0
6281
6281
  }
6282
6282
  ],
6283
- "direction": "vertical"
6283
+ "direction": "vertical",
6284
+ "type": "stack",
6285
+ "gap": "lg"
6284
6286
  }
6285
- ],
6286
- "type": "scaled-diagram"
6287
+ ]
6287
6288
  }
6288
6289
  ],
6289
- "appName": "BookingSystemApp",
6290
6290
  "navItems": [
6291
6291
  {
6292
- "icon": "user-check",
6292
+ "label": "Providers",
6293
6293
  "href": "/providers",
6294
- "label": "Providers"
6294
+ "icon": "user-check"
6295
6295
  },
6296
6296
  {
6297
6297
  "label": "Book",
6298
- "icon": "calendar-plus",
6299
- "href": "/book"
6298
+ "href": "/book",
6299
+ "icon": "calendar-plus"
6300
6300
  },
6301
6301
  {
6302
- "href": "/appointments",
6302
+ "icon": "calendar",
6303
6303
  "label": "Appointments",
6304
- "icon": "calendar"
6304
+ "href": "/appointments"
6305
6305
  },
6306
6306
  {
6307
- "label": "Schedule",
6308
6307
  "icon": "clock",
6309
- "href": "/schedule"
6308
+ "href": "/schedule",
6309
+ "label": "Schedule"
6310
6310
  }
6311
6311
  ]
6312
6312
  }
@@ -6332,77 +6332,55 @@
6332
6332
  "render-ui",
6333
6333
  "main",
6334
6334
  {
6335
- "navItems": [
6336
- {
6337
- "label": "Providers",
6338
- "href": "/providers",
6339
- "icon": "user-check"
6340
- },
6341
- {
6342
- "href": "/book",
6343
- "icon": "calendar-plus",
6344
- "label": "Book"
6345
- },
6346
- {
6347
- "icon": "calendar",
6348
- "label": "Appointments",
6349
- "href": "/appointments"
6350
- },
6351
- {
6352
- "icon": "clock",
6353
- "label": "Schedule",
6354
- "href": "/schedule"
6355
- }
6356
- ],
6357
6335
  "type": "dashboard-layout",
6358
- "appName": "BookingSystemApp",
6359
6336
  "children": [
6360
6337
  {
6338
+ "type": "scaled-diagram",
6361
6339
  "children": [
6362
6340
  {
6363
6341
  "gap": "lg",
6364
6342
  "children": [
6365
6343
  {
6344
+ "type": "breadcrumb",
6366
6345
  "items": [
6367
6346
  {
6368
- "href": "/",
6369
- "label": "Home"
6347
+ "label": "Home",
6348
+ "href": "/"
6370
6349
  },
6371
6350
  {
6372
6351
  "label": "Schedule Overview"
6373
6352
  }
6374
- ],
6375
- "type": "breadcrumb"
6353
+ ]
6376
6354
  },
6377
6355
  {
6378
- "gap": "md",
6356
+ "type": "stack",
6379
6357
  "justify": "between",
6358
+ "gap": "md",
6380
6359
  "children": [
6381
6360
  {
6382
- "direction": "horizontal",
6383
- "gap": "md",
6384
- "type": "stack",
6385
6361
  "children": [
6386
6362
  {
6387
- "type": "icon",
6388
- "name": "bar-chart-2"
6363
+ "name": "bar-chart-2",
6364
+ "type": "icon"
6389
6365
  },
6390
6366
  {
6391
- "type": "typography",
6392
6367
  "content": "Schedule Overview",
6393
- "variant": "h2"
6368
+ "variant": "h2",
6369
+ "type": "typography"
6394
6370
  }
6395
- ]
6371
+ ],
6372
+ "direction": "horizontal",
6373
+ "gap": "md",
6374
+ "type": "stack"
6396
6375
  },
6397
6376
  {
6398
- "label": "Refresh",
6399
6377
  "action": "REFRESH",
6400
- "icon": "refresh-cw",
6378
+ "variant": "secondary",
6401
6379
  "type": "button",
6402
- "variant": "secondary"
6380
+ "label": "Refresh",
6381
+ "icon": "refresh-cw"
6403
6382
  }
6404
6383
  ],
6405
- "type": "stack",
6406
6384
  "direction": "horizontal"
6407
6385
  },
6408
6386
  {
@@ -6412,17 +6390,16 @@
6412
6390
  "children": [
6413
6391
  {
6414
6392
  "type": "simple-grid",
6415
- "cols": 4.0,
6416
6393
  "children": [
6417
6394
  {
6395
+ "value": "@entity.totalBookings",
6418
6396
  "label": "TotalBookings",
6419
- "type": "stat-display",
6420
- "value": "@entity.totalBookings"
6397
+ "type": "stat-display"
6421
6398
  },
6422
6399
  {
6423
6400
  "type": "stat-display",
6424
- "label": "ConfirmedToday",
6425
- "value": "@entity.confirmedToday"
6401
+ "value": "@entity.confirmedToday",
6402
+ "label": "ConfirmedToday"
6426
6403
  },
6427
6404
  {
6428
6405
  "value": "@entity.pendingBookings",
@@ -6430,45 +6407,46 @@
6430
6407
  "label": "PendingBookings"
6431
6408
  },
6432
6409
  {
6433
- "value": "@entity.availableSlots",
6410
+ "type": "stat-display",
6434
6411
  "label": "AvailableSlots",
6435
- "type": "stat-display"
6412
+ "value": "@entity.availableSlots"
6436
6413
  }
6437
- ]
6414
+ ],
6415
+ "cols": 4.0
6438
6416
  }
6439
6417
  ],
6440
- "type": "box",
6441
- "padding": "md"
6418
+ "padding": "md",
6419
+ "type": "box"
6442
6420
  },
6443
6421
  {
6444
6422
  "type": "divider"
6445
6423
  },
6446
6424
  {
6447
- "cols": 2.0,
6448
6425
  "type": "grid",
6449
6426
  "children": [
6450
6427
  {
6428
+ "type": "card",
6451
6429
  "children": [
6452
6430
  {
6431
+ "variant": "caption",
6453
6432
  "content": "Chart View",
6454
- "type": "typography",
6455
- "variant": "caption"
6433
+ "type": "typography"
6456
6434
  }
6457
- ],
6458
- "type": "card"
6435
+ ]
6459
6436
  },
6460
6437
  {
6461
- "type": "card",
6462
6438
  "children": [
6463
6439
  {
6464
6440
  "content": "Graph View",
6465
- "type": "typography",
6466
- "variant": "caption"
6441
+ "variant": "caption",
6442
+ "type": "typography"
6467
6443
  }
6468
- ]
6444
+ ],
6445
+ "type": "card"
6469
6446
  }
6470
6447
  ],
6471
- "gap": "md"
6448
+ "gap": "md",
6449
+ "cols": 2.0
6472
6450
  },
6473
6451
  {
6474
6452
  "data": [
@@ -6477,56 +6455,43 @@
6477
6455
  "value": 12.0
6478
6456
  },
6479
6457
  {
6480
- "value": 19.0,
6481
- "date": "Feb"
6458
+ "date": "Feb",
6459
+ "value": 19.0
6482
6460
  },
6483
6461
  {
6484
- "value": 15.0,
6485
- "date": "Mar"
6462
+ "date": "Mar",
6463
+ "value": 15.0
6486
6464
  },
6487
6465
  {
6488
- "date": "Apr",
6489
- "value": 25.0
6466
+ "value": 25.0,
6467
+ "date": "Apr"
6490
6468
  },
6491
6469
  {
6492
- "value": 22.0,
6493
- "date": "May"
6470
+ "date": "May",
6471
+ "value": 22.0
6494
6472
  },
6495
6473
  {
6496
- "date": "Jun",
6497
- "value": 30.0
6474
+ "value": 30.0,
6475
+ "date": "Jun"
6498
6476
  }
6499
6477
  ],
6500
6478
  "type": "line-chart"
6501
6479
  },
6502
6480
  {
6481
+ "type": "chart-legend",
6503
6482
  "items": [
6504
6483
  {
6505
6484
  "label": "Current",
6506
6485
  "color": "primary"
6507
6486
  },
6508
6487
  {
6509
- "color": "muted",
6510
- "label": "Previous"
6488
+ "label": "Previous",
6489
+ "color": "muted"
6511
6490
  }
6512
- ],
6513
- "type": "chart-legend"
6491
+ ]
6514
6492
  },
6515
6493
  {
6516
- "nodes": [
6517
- {
6518
- "label": "Start",
6519
- "id": "a"
6520
- },
6521
- {
6522
- "id": "b",
6523
- "label": "Process"
6524
- },
6525
- {
6526
- "label": "End",
6527
- "id": "c"
6528
- }
6529
- ],
6494
+ "type": "graph-view",
6530
6495
  "width": 400.0,
6531
6496
  "edges": [
6532
6497
  {
@@ -6538,15 +6503,50 @@
6538
6503
  "target": "c"
6539
6504
  }
6540
6505
  ],
6541
- "type": "graph-view",
6506
+ "nodes": [
6507
+ {
6508
+ "id": "a",
6509
+ "label": "Start"
6510
+ },
6511
+ {
6512
+ "id": "b",
6513
+ "label": "Process"
6514
+ },
6515
+ {
6516
+ "id": "c",
6517
+ "label": "End"
6518
+ }
6519
+ ],
6542
6520
  "height": 200.0
6543
6521
  }
6544
6522
  ],
6545
6523
  "direction": "vertical",
6546
6524
  "type": "stack"
6547
6525
  }
6548
- ],
6549
- "type": "scaled-diagram"
6526
+ ]
6527
+ }
6528
+ ],
6529
+ "appName": "BookingSystemApp",
6530
+ "navItems": [
6531
+ {
6532
+ "label": "Providers",
6533
+ "icon": "user-check",
6534
+ "href": "/providers"
6535
+ },
6536
+ {
6537
+ "href": "/book",
6538
+ "icon": "calendar-plus",
6539
+ "label": "Book"
6540
+ },
6541
+ {
6542
+ "label": "Appointments",
6543
+ "href": "/appointments",
6544
+ "icon": "calendar"
6545
+ },
6546
+ {
6547
+ "icon": "clock",
6548
+ "label": "Schedule",
6549
+ "href": "/schedule"
6550
6550
  }
6551
6551
  ]
6552
6552
  }
@@ -6571,4 +6571,4 @@
6571
6571
  ]
6572
6572
  }
6573
6573
  ]
6574
- }
6574
+ }