@almadar/std 10.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/behaviors/registry/agent/atoms/std-agent-activity-log.orb +80 -80
  2. package/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  3. package/behaviors/registry/agent/atoms/std-agent-classifier.orb +131 -113
  4. package/behaviors/registry/agent/atoms/std-agent-completion.orb +116 -98
  5. package/behaviors/registry/agent/atoms/std-agent-context-window.orb +384 -384
  6. package/behaviors/registry/agent/atoms/std-agent-conversation.orb +106 -106
  7. package/behaviors/registry/agent/atoms/std-agent-memory.orb +75 -75
  8. package/behaviors/registry/agent/atoms/std-agent-provider.orb +163 -139
  9. package/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  10. package/behaviors/registry/agent/atoms/std-agent-session.orb +130 -130
  11. package/behaviors/registry/agent/atoms/std-agent-step-progress.orb +185 -185
  12. package/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +344 -344
  13. package/behaviors/registry/agent/atoms/std-agent-tool-call.orb +81 -63
  14. package/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +189 -189
  15. package/behaviors/registry/agent/molecules/std-agent-learner.orb +163 -163
  16. package/behaviors/registry/agent/molecules/std-agent-planner.orb +120 -120
  17. package/behaviors/registry/agent/molecules/std-agent-rag.orb +108 -108
  18. package/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  19. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +1097 -1072
  20. package/behaviors/registry/agent/organisms/std-agent-builder.orb +3183 -3043
  21. package/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2309 -2217
  22. package/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1083 -1029
  23. package/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -768
  24. package/behaviors/registry/app/organisms/std-api-gateway.orb +929 -887
  25. package/behaviors/registry/app/organisms/std-booking-system.orb +1247 -1163
  26. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +822 -780
  27. package/behaviors/registry/app/organisms/std-cms.orb +608 -512
  28. package/behaviors/registry/app/organisms/std-coding-academy.orb +393 -393
  29. package/behaviors/registry/app/organisms/std-crm.orb +887 -791
  30. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +1408 -1366
  31. package/behaviors/registry/app/organisms/std-ecommerce.orb +1147 -1021
  32. package/behaviors/registry/app/organisms/std-finance-tracker.orb +670 -616
  33. package/behaviors/registry/app/organisms/std-healthcare.orb +1447 -1351
  34. package/behaviors/registry/app/organisms/std-helpdesk.orb +720 -666
  35. package/behaviors/registry/app/organisms/std-hr-portal.orb +1286 -1202
  36. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +925 -883
  37. package/behaviors/registry/app/organisms/std-lms.orb +935 -893
  38. package/behaviors/registry/app/organisms/std-project-manager.orb +834 -750
  39. package/behaviors/registry/app/organisms/std-realtime-chat.orb +735 -681
  40. package/behaviors/registry/app/organisms/std-social-feed.orb +235 -211
  41. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +730 -688
  42. package/behaviors/registry/core/atoms/std-browse.orb +56 -56
  43. package/behaviors/registry/core/atoms/std-cache-aside.orb +95 -95
  44. package/behaviors/registry/core/atoms/std-calendar.orb +54 -54
  45. package/behaviors/registry/core/atoms/std-circuit-breaker.orb +180 -180
  46. package/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  47. package/behaviors/registry/core/atoms/std-display.orb +388 -388
  48. package/behaviors/registry/core/atoms/std-drawer.orb +54 -54
  49. package/behaviors/registry/core/atoms/std-filter.orb +47 -47
  50. package/behaviors/registry/core/atoms/std-gallery.orb +51 -51
  51. package/behaviors/registry/core/atoms/std-modal.orb +12 -12
  52. package/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  53. package/behaviors/registry/core/atoms/std-push.orb +43 -43
  54. package/behaviors/registry/core/atoms/std-rate-limiter.orb +194 -194
  55. package/behaviors/registry/core/atoms/std-related.orb +37 -37
  56. package/behaviors/registry/core/atoms/std-search.orb +68 -68
  57. package/behaviors/registry/core/atoms/std-selection.orb +90 -90
  58. package/behaviors/registry/core/atoms/std-tabs.orb +44 -44
  59. package/behaviors/registry/core/molecules/std-cart.orb +47 -47
  60. package/behaviors/registry/core/molecules/std-filtered-list.orb +6 -6
  61. package/behaviors/registry/core/molecules/std-form-advanced.orb +132 -132
  62. package/behaviors/registry/core/molecules/std-list.orb +79 -85
  63. package/behaviors/registry/core/molecules/std-wizard-form.orb +146 -146
  64. package/behaviors/registry/game/atoms/std-collision.orb +122 -122
  65. package/behaviors/registry/game/atoms/std-combat.orb +66 -66
  66. package/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  67. package/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  68. package/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  69. package/behaviors/registry/game/atoms/std-movement.orb +291 -291
  70. package/behaviors/registry/game/atoms/std-overworld.orb +69 -69
  71. package/behaviors/registry/game/atoms/std-physics2d.orb +77 -77
  72. package/behaviors/registry/game/atoms/std-quest.orb +133 -133
  73. package/behaviors/registry/game/atoms/std-timer.orb +291 -291
  74. package/behaviors/registry/game/organisms/std-arcade-game.orb +139 -139
  75. package/behaviors/registry/game/organisms/std-logic-training.orb +81 -81
  76. package/behaviors/registry/game/organisms/std-platformer-app.orb +273 -237
  77. package/behaviors/registry/game/organisms/std-puzzle-app.orb +98 -98
  78. package/behaviors/registry/game/organisms/std-rpg-game.orb +407 -371
  79. package/behaviors/registry/game/organisms/std-stem-lab.orb +378 -378
  80. package/behaviors/registry/game/organisms/std-strategy-game.orb +557 -557
  81. package/behaviors/registry/probes/molecules/std-source-scope-probe.orb +282 -20
  82. package/behaviors/registry/service/atoms/std-service-custom-bearer.orb +84 -84
  83. package/behaviors/registry/service/atoms/std-service-email.orb +88 -88
  84. package/behaviors/registry/service/atoms/std-service-github.orb +88 -88
  85. package/behaviors/registry/service/atoms/std-service-llm.orb +119 -119
  86. package/behaviors/registry/service/atoms/std-service-oauth.orb +122 -122
  87. package/behaviors/registry/service/atoms/std-service-redis.orb +99 -99
  88. package/behaviors/registry/service/atoms/std-service-storage.orb +109 -109
  89. package/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  90. package/behaviors/registry/service/atoms/std-service-twilio.orb +112 -112
  91. package/behaviors/registry/service/atoms/std-service-youtube.orb +111 -111
  92. package/behaviors/registry/service/organisms/std-service-marketplace.orb +1098 -1014
  93. package/behaviors/registry/service/organisms/std-service-research-assistant.orb +956 -956
  94. package/dist/behaviors/registry/agent/atoms/std-agent-activity-log.orb +80 -80
  95. package/dist/behaviors/registry/agent/atoms/std-agent-chat-thread.orb +103 -103
  96. package/dist/behaviors/registry/agent/atoms/std-agent-classifier.orb +131 -113
  97. package/dist/behaviors/registry/agent/atoms/std-agent-completion.orb +116 -98
  98. package/dist/behaviors/registry/agent/atoms/std-agent-context-window.orb +384 -384
  99. package/dist/behaviors/registry/agent/atoms/std-agent-conversation.orb +106 -106
  100. package/dist/behaviors/registry/agent/atoms/std-agent-memory.orb +75 -75
  101. package/dist/behaviors/registry/agent/atoms/std-agent-provider.orb +163 -139
  102. package/dist/behaviors/registry/agent/atoms/std-agent-search.orb +64 -64
  103. package/dist/behaviors/registry/agent/atoms/std-agent-session.orb +130 -130
  104. package/dist/behaviors/registry/agent/atoms/std-agent-step-progress.orb +185 -185
  105. package/dist/behaviors/registry/agent/atoms/std-agent-token-gauge.orb +344 -344
  106. package/dist/behaviors/registry/agent/atoms/std-agent-tool-call.orb +81 -63
  107. package/dist/behaviors/registry/agent/molecules/std-agent-fix-loop.orb +189 -189
  108. package/dist/behaviors/registry/agent/molecules/std-agent-learner.orb +163 -163
  109. package/dist/behaviors/registry/agent/molecules/std-agent-planner.orb +120 -120
  110. package/dist/behaviors/registry/agent/molecules/std-agent-rag.orb +108 -108
  111. package/dist/behaviors/registry/agent/molecules/std-agent-tool-loop.orb +188 -188
  112. package/dist/behaviors/registry/agent/organisms/std-agent-assistant.orb +1097 -1072
  113. package/dist/behaviors/registry/agent/organisms/std-agent-builder.orb +3183 -3043
  114. package/dist/behaviors/registry/agent/organisms/std-agent-pipeline.orb +2309 -2217
  115. package/dist/behaviors/registry/agent/organisms/std-agent-reviewer.orb +1083 -1029
  116. package/dist/behaviors/registry/agent/organisms/std-agent-tutor.orb +793 -768
  117. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +929 -887
  118. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +1247 -1163
  119. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +822 -780
  120. package/dist/behaviors/registry/app/organisms/std-cms.orb +608 -512
  121. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +393 -393
  122. package/dist/behaviors/registry/app/organisms/std-crm.orb +887 -791
  123. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +1408 -1366
  124. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +1147 -1021
  125. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +670 -616
  126. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +1447 -1351
  127. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +720 -666
  128. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +1286 -1202
  129. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +925 -883
  130. package/dist/behaviors/registry/app/organisms/std-lms.orb +935 -893
  131. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +834 -750
  132. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +735 -681
  133. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +235 -211
  134. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +730 -688
  135. package/dist/behaviors/registry/core/atoms/std-browse.orb +56 -56
  136. package/dist/behaviors/registry/core/atoms/std-cache-aside.orb +95 -95
  137. package/dist/behaviors/registry/core/atoms/std-calendar.orb +54 -54
  138. package/dist/behaviors/registry/core/atoms/std-circuit-breaker.orb +180 -180
  139. package/dist/behaviors/registry/core/atoms/std-confirmation.orb +25 -25
  140. package/dist/behaviors/registry/core/atoms/std-display.orb +388 -388
  141. package/dist/behaviors/registry/core/atoms/std-drawer.orb +54 -54
  142. package/dist/behaviors/registry/core/atoms/std-filter.orb +47 -47
  143. package/dist/behaviors/registry/core/atoms/std-gallery.orb +51 -51
  144. package/dist/behaviors/registry/core/atoms/std-modal.orb +12 -12
  145. package/dist/behaviors/registry/core/atoms/std-pagination.orb +42 -42
  146. package/dist/behaviors/registry/core/atoms/std-push.orb +43 -43
  147. package/dist/behaviors/registry/core/atoms/std-rate-limiter.orb +194 -194
  148. package/dist/behaviors/registry/core/atoms/std-related.orb +37 -37
  149. package/dist/behaviors/registry/core/atoms/std-search.orb +68 -68
  150. package/dist/behaviors/registry/core/atoms/std-selection.orb +90 -90
  151. package/dist/behaviors/registry/core/atoms/std-tabs.orb +44 -44
  152. package/dist/behaviors/registry/core/molecules/std-cart.orb +47 -47
  153. package/dist/behaviors/registry/core/molecules/std-filtered-list.orb +6 -6
  154. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +132 -132
  155. package/dist/behaviors/registry/core/molecules/std-list.orb +79 -85
  156. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +146 -146
  157. package/dist/behaviors/registry/game/atoms/std-collision.orb +122 -122
  158. package/dist/behaviors/registry/game/atoms/std-combat.orb +66 -66
  159. package/dist/behaviors/registry/game/atoms/std-dialogue-box.orb +25 -25
  160. package/dist/behaviors/registry/game/atoms/std-game-canvas2d.orb +43 -43
  161. package/dist/behaviors/registry/game/atoms/std-gameflow.orb +37 -37
  162. package/dist/behaviors/registry/game/atoms/std-movement.orb +291 -291
  163. package/dist/behaviors/registry/game/atoms/std-overworld.orb +69 -69
  164. package/dist/behaviors/registry/game/atoms/std-physics2d.orb +77 -77
  165. package/dist/behaviors/registry/game/atoms/std-quest.orb +133 -133
  166. package/dist/behaviors/registry/game/atoms/std-timer.orb +291 -291
  167. package/dist/behaviors/registry/game/organisms/std-arcade-game.orb +139 -139
  168. package/dist/behaviors/registry/game/organisms/std-logic-training.orb +81 -81
  169. package/dist/behaviors/registry/game/organisms/std-platformer-app.orb +273 -237
  170. package/dist/behaviors/registry/game/organisms/std-puzzle-app.orb +98 -98
  171. package/dist/behaviors/registry/game/organisms/std-rpg-game.orb +407 -371
  172. package/dist/behaviors/registry/game/organisms/std-stem-lab.orb +378 -378
  173. package/dist/behaviors/registry/game/organisms/std-strategy-game.orb +557 -557
  174. package/dist/behaviors/registry/probes/molecules/std-source-scope-probe.orb +282 -20
  175. package/dist/behaviors/registry/service/atoms/std-service-custom-bearer.orb +84 -84
  176. package/dist/behaviors/registry/service/atoms/std-service-email.orb +88 -88
  177. package/dist/behaviors/registry/service/atoms/std-service-github.orb +88 -88
  178. package/dist/behaviors/registry/service/atoms/std-service-llm.orb +119 -119
  179. package/dist/behaviors/registry/service/atoms/std-service-oauth.orb +122 -122
  180. package/dist/behaviors/registry/service/atoms/std-service-redis.orb +99 -99
  181. package/dist/behaviors/registry/service/atoms/std-service-storage.orb +109 -109
  182. package/dist/behaviors/registry/service/atoms/std-service-stripe.orb +105 -105
  183. package/dist/behaviors/registry/service/atoms/std-service-twilio.orb +112 -112
  184. package/dist/behaviors/registry/service/atoms/std-service-youtube.orb +111 -111
  185. package/dist/behaviors/registry/service/organisms/std-service-marketplace.orb +1098 -1014
  186. package/dist/behaviors/registry/service/organisms/std-service-research-assistant.orb +956 -956
  187. package/package.json +1 -1
@@ -418,21 +418,21 @@
418
418
  "render-ui",
419
419
  "main",
420
420
  {
421
- "direction": "vertical",
422
- "type": "stack",
423
- "gap": "md",
421
+ "className": "py-12",
424
422
  "children": [
425
423
  {
426
424
  "type": "spinner"
427
425
  },
428
426
  {
429
- "variant": "caption",
430
427
  "color": "muted",
431
- "type": "typography",
432
- "content": "Loading…"
428
+ "variant": "caption",
429
+ "content": "Loading…",
430
+ "type": "typography"
433
431
  }
434
432
  ],
435
- "className": "py-12",
433
+ "gap": "md",
434
+ "type": "stack",
435
+ "direction": "vertical",
436
436
  "align": "center"
437
437
  }
438
438
  ]
@@ -447,42 +447,21 @@
447
447
  "render-ui",
448
448
  "main",
449
449
  {
450
- "appName": "LMS",
451
450
  "type": "dashboard-layout",
452
- "navItems": [
453
- {
454
- "icon": "book-open",
455
- "href": "/courses",
456
- "label": "Courses"
457
- },
458
- {
459
- "icon": "layout-list",
460
- "label": "Enroll",
461
- "href": "/enroll"
462
- },
463
- {
464
- "icon": "layout-list",
465
- "href": "/progress",
466
- "label": "Progress"
467
- }
468
- ],
451
+ "appName": "LMS",
469
452
  "children": [
470
453
  {
471
454
  "direction": "vertical",
472
- "type": "stack",
473
- "className": "max-w-5xl mx-auto w-full",
474
- "gap": "lg",
475
455
  "children": [
476
456
  {
477
- "type": "stack",
478
- "justify": "between",
479
- "direction": "horizontal",
480
457
  "align": "center",
458
+ "direction": "horizontal",
459
+ "gap": "md",
481
460
  "children": [
482
461
  {
483
- "gap": "sm",
484
- "type": "stack",
462
+ "align": "center",
485
463
  "direction": "horizontal",
464
+ "gap": "sm",
486
465
  "children": [
487
466
  {
488
467
  "name": "book-open",
@@ -494,76 +473,97 @@
494
473
  "content": "Courses"
495
474
  }
496
475
  ],
497
- "align": "center"
476
+ "type": "stack"
498
477
  },
499
478
  {
500
- "type": "stack",
501
- "direction": "horizontal",
502
479
  "gap": "sm",
503
480
  "children": [
504
481
  {
505
- "action": "CREATE",
506
482
  "variant": "primary",
507
- "type": "button",
508
483
  "label": "Add Course",
484
+ "action": "CREATE",
485
+ "type": "button",
509
486
  "icon": "plus"
510
487
  }
511
- ]
488
+ ],
489
+ "direction": "horizontal",
490
+ "type": "stack"
512
491
  }
513
492
  ],
514
- "gap": "md"
493
+ "justify": "between",
494
+ "type": "stack"
515
495
  },
516
496
  {
517
497
  "type": "divider"
518
498
  },
519
499
  {
520
- "cols": 2.0,
521
- "fields": [],
522
- "gap": "md",
523
- "entity": "@payload.data",
500
+ "itemActions": [
501
+ {
502
+ "event": "VIEW",
503
+ "variant": "ghost",
504
+ "label": "View"
505
+ },
506
+ {
507
+ "event": "EDIT",
508
+ "label": "Edit",
509
+ "variant": "ghost"
510
+ },
511
+ {
512
+ "label": "Delete",
513
+ "event": "DELETE",
514
+ "variant": "danger"
515
+ }
516
+ ],
524
517
  "columns": [
525
518
  {
526
519
  "icon": "book-open",
527
- "variant": "h3",
528
- "name": "title"
520
+ "name": "title",
521
+ "variant": "h3"
529
522
  },
530
523
  {
531
- "name": "level",
532
- "variant": "badge"
524
+ "variant": "badge",
525
+ "name": "level"
533
526
  },
534
527
  {
535
528
  "name": "instructor",
536
529
  "variant": "body"
537
530
  },
538
531
  {
539
- "variant": "body",
540
- "name": "duration"
532
+ "name": "duration",
533
+ "variant": "body"
541
534
  },
542
535
  {
543
- "name": "description",
544
- "variant": "caption"
536
+ "variant": "caption",
537
+ "name": "description"
545
538
  }
546
539
  ],
540
+ "cols": 2.0,
547
541
  "type": "data-grid",
548
- "itemActions": [
549
- {
550
- "variant": "ghost",
551
- "label": "View",
552
- "event": "VIEW"
553
- },
554
- {
555
- "label": "Edit",
556
- "event": "EDIT",
557
- "variant": "ghost"
558
- },
559
- {
560
- "event": "DELETE",
561
- "variant": "danger",
562
- "label": "Delete"
563
- }
564
- ]
542
+ "entity": "@payload.data",
543
+ "gap": "md",
544
+ "fields": []
565
545
  }
566
- ]
546
+ ],
547
+ "type": "stack",
548
+ "gap": "lg",
549
+ "className": "max-w-5xl mx-auto w-full"
550
+ }
551
+ ],
552
+ "navItems": [
553
+ {
554
+ "label": "Courses",
555
+ "href": "/courses",
556
+ "icon": "book-open"
557
+ },
558
+ {
559
+ "icon": "layout-list",
560
+ "href": "/enroll",
561
+ "label": "Enroll"
562
+ },
563
+ {
564
+ "label": "Progress",
565
+ "href": "/progress",
566
+ "icon": "layout-list"
567
567
  }
568
568
  ]
569
569
  }
@@ -579,36 +579,36 @@
579
579
  "render-ui",
580
580
  "main",
581
581
  {
582
- "direction": "vertical",
583
- "gap": "md",
584
582
  "children": [
585
583
  {
586
- "name": "alert-triangle",
587
584
  "color": "destructive",
588
- "type": "icon"
585
+ "type": "icon",
586
+ "name": "alert-triangle"
589
587
  },
590
588
  {
591
- "type": "typography",
592
589
  "variant": "h3",
590
+ "type": "typography",
593
591
  "content": "Failed to load course"
594
592
  },
595
593
  {
596
- "variant": "body",
597
594
  "content": "@payload.error",
595
+ "type": "typography",
598
596
  "color": "muted",
599
- "type": "typography"
597
+ "variant": "body"
600
598
  },
601
599
  {
602
- "label": "Retry",
603
600
  "action": "INIT",
604
- "icon": "rotate-ccw",
605
601
  "type": "button",
606
- "variant": "primary"
602
+ "label": "Retry",
603
+ "variant": "primary",
604
+ "icon": "rotate-ccw"
607
605
  }
608
606
  ],
609
607
  "type": "stack",
610
608
  "align": "center",
611
- "className": "py-12"
609
+ "direction": "vertical",
610
+ "className": "py-12",
611
+ "gap": "md"
612
612
  }
613
613
  ]
614
614
  ]
@@ -777,8 +777,14 @@
777
777
  "event": "INIT",
778
778
  "effects": [
779
779
  [
780
- "ref",
781
- "Course"
780
+ "fetch",
781
+ "Course",
782
+ {
783
+ "emit": {
784
+ "failure": "CourseLoadFailed",
785
+ "success": "CourseLoaded"
786
+ }
787
+ }
782
788
  ]
783
789
  ]
784
790
  },
@@ -792,8 +798,8 @@
792
798
  "Course",
793
799
  {
794
800
  "emit": {
795
- "failure": "CourseLoadFailed",
796
- "success": "CourseLoaded"
801
+ "success": "CourseLoaded",
802
+ "failure": "CourseLoadFailed"
797
803
  }
798
804
  }
799
805
  ],
@@ -801,43 +807,43 @@
801
807
  "render-ui",
802
808
  "modal",
803
809
  {
804
- "gap": "md",
805
- "direction": "vertical",
806
810
  "type": "stack",
807
811
  "children": [
808
812
  {
809
813
  "type": "stack",
814
+ "gap": "sm",
810
815
  "children": [
811
816
  {
812
- "type": "icon",
813
- "name": "plus-circle"
817
+ "name": "plus-circle",
818
+ "type": "icon"
814
819
  },
815
820
  {
816
821
  "type": "typography",
817
- "variant": "h3",
818
- "content": "New Course"
822
+ "content": "New Course",
823
+ "variant": "h3"
819
824
  }
820
825
  ],
821
- "direction": "horizontal",
822
- "gap": "sm"
826
+ "direction": "horizontal"
823
827
  },
824
828
  {
825
829
  "type": "divider"
826
830
  },
827
831
  {
828
- "mode": "create",
832
+ "submitEvent": "SAVE",
829
833
  "cancelEvent": "CLOSE",
834
+ "type": "form-section",
835
+ "mode": "create",
830
836
  "fields": [
831
837
  "title",
832
838
  "description",
833
839
  "instructor",
834
840
  "duration",
835
841
  "level"
836
- ],
837
- "type": "form-section",
838
- "submitEvent": "SAVE"
842
+ ]
839
843
  }
840
- ]
844
+ ],
845
+ "direction": "vertical",
846
+ "gap": "md"
841
847
  }
842
848
  ]
843
849
  ]
@@ -878,8 +884,8 @@
878
884
  "@payload.data",
879
885
  {
880
886
  "emit": {
881
- "failure": "CourseSaveFailed",
882
- "success": "CourseSaved"
887
+ "success": "CourseSaved",
888
+ "failure": "CourseSaveFailed"
883
889
  }
884
890
  }
885
891
  ],
@@ -1076,8 +1082,14 @@
1076
1082
  "event": "INIT",
1077
1083
  "effects": [
1078
1084
  [
1079
- "ref",
1080
- "Course"
1085
+ "fetch",
1086
+ "Course",
1087
+ {
1088
+ "emit": {
1089
+ "success": "CourseLoaded",
1090
+ "failure": "CourseLoadFailed"
1091
+ }
1092
+ }
1081
1093
  ]
1082
1094
  ]
1083
1095
  },
@@ -1101,8 +1113,11 @@
1101
1113
  "render-ui",
1102
1114
  "modal",
1103
1115
  {
1116
+ "type": "stack",
1117
+ "direction": "vertical",
1104
1118
  "children": [
1105
1119
  {
1120
+ "gap": "sm",
1106
1121
  "direction": "horizontal",
1107
1122
  "children": [
1108
1123
  {
@@ -1110,22 +1125,18 @@
1110
1125
  "type": "icon"
1111
1126
  },
1112
1127
  {
1113
- "variant": "h3",
1114
1128
  "type": "typography",
1115
- "content": "Edit Course"
1129
+ "content": "Edit Course",
1130
+ "variant": "h3"
1116
1131
  }
1117
1132
  ],
1118
- "type": "stack",
1119
- "gap": "sm"
1133
+ "type": "stack"
1120
1134
  },
1121
1135
  {
1122
1136
  "type": "divider"
1123
1137
  },
1124
1138
  {
1125
- "cancelEvent": "CLOSE",
1126
1139
  "entity": "@payload.row",
1127
- "type": "form-section",
1128
- "mode": "edit",
1129
1140
  "submitEvent": "SAVE",
1130
1141
  "fields": [
1131
1142
  "title",
@@ -1133,11 +1144,12 @@
1133
1144
  "instructor",
1134
1145
  "duration",
1135
1146
  "level"
1136
- ]
1147
+ ],
1148
+ "type": "form-section",
1149
+ "mode": "edit",
1150
+ "cancelEvent": "CLOSE"
1137
1151
  }
1138
1152
  ],
1139
- "type": "stack",
1140
- "direction": "vertical",
1141
1153
  "gap": "md"
1142
1154
  }
1143
1155
  ]
@@ -1311,8 +1323,14 @@
1311
1323
  "event": "INIT",
1312
1324
  "effects": [
1313
1325
  [
1314
- "ref",
1315
- "Course"
1326
+ "fetch",
1327
+ "Course",
1328
+ {
1329
+ "emit": {
1330
+ "success": "CourseLoaded",
1331
+ "failure": "CourseLoadFailed"
1332
+ }
1333
+ }
1316
1334
  ]
1317
1335
  ]
1318
1336
  },
@@ -1336,11 +1354,14 @@
1336
1354
  "render-ui",
1337
1355
  "modal",
1338
1356
  {
1357
+ "type": "stack",
1339
1358
  "direction": "vertical",
1340
- "gap": "md",
1341
1359
  "children": [
1342
1360
  {
1361
+ "type": "stack",
1343
1362
  "direction": "horizontal",
1363
+ "gap": "sm",
1364
+ "align": "center",
1344
1365
  "children": [
1345
1366
  {
1346
1367
  "type": "icon",
@@ -1351,33 +1372,31 @@
1351
1372
  "content": "@entity.title",
1352
1373
  "variant": "h3"
1353
1374
  }
1354
- ],
1355
- "align": "center",
1356
- "type": "stack",
1357
- "gap": "sm"
1375
+ ]
1358
1376
  },
1359
1377
  {
1360
1378
  "type": "divider"
1361
1379
  },
1362
1380
  {
1381
+ "direction": "horizontal",
1382
+ "type": "stack",
1363
1383
  "children": [
1364
1384
  {
1365
- "variant": "caption",
1366
1385
  "content": "Title",
1367
- "type": "typography"
1386
+ "type": "typography",
1387
+ "variant": "caption"
1368
1388
  },
1369
1389
  {
1370
- "type": "typography",
1390
+ "variant": "body",
1371
1391
  "content": "@entity.title",
1372
- "variant": "body"
1392
+ "type": "typography"
1373
1393
  }
1374
1394
  ],
1375
- "direction": "horizontal",
1376
- "type": "stack",
1377
1395
  "gap": "md"
1378
1396
  },
1379
1397
  {
1380
1398
  "type": "stack",
1399
+ "gap": "md",
1381
1400
  "children": [
1382
1401
  {
1383
1402
  "variant": "caption",
@@ -1386,90 +1405,89 @@
1386
1405
  },
1387
1406
  {
1388
1407
  "content": "@entity.description",
1389
- "variant": "body",
1390
- "type": "typography"
1408
+ "type": "typography",
1409
+ "variant": "body"
1391
1410
  }
1392
1411
  ],
1393
- "direction": "horizontal",
1394
- "gap": "md"
1412
+ "direction": "horizontal"
1395
1413
  },
1396
1414
  {
1397
- "gap": "md",
1398
- "type": "stack",
1399
1415
  "children": [
1400
1416
  {
1401
- "variant": "caption",
1417
+ "content": "Instructor",
1402
1418
  "type": "typography",
1403
- "content": "Instructor"
1419
+ "variant": "caption"
1404
1420
  },
1405
1421
  {
1406
- "content": "@entity.instructor",
1422
+ "type": "typography",
1407
1423
  "variant": "body",
1408
- "type": "typography"
1424
+ "content": "@entity.instructor"
1409
1425
  }
1410
1426
  ],
1427
+ "gap": "md",
1428
+ "type": "stack",
1411
1429
  "direction": "horizontal"
1412
1430
  },
1413
1431
  {
1432
+ "direction": "horizontal",
1414
1433
  "children": [
1415
1434
  {
1416
1435
  "content": "Duration",
1417
- "type": "typography",
1418
- "variant": "caption"
1436
+ "variant": "caption",
1437
+ "type": "typography"
1419
1438
  },
1420
1439
  {
1421
- "variant": "body",
1422
1440
  "type": "typography",
1441
+ "variant": "body",
1423
1442
  "content": "@entity.duration"
1424
1443
  }
1425
1444
  ],
1426
- "type": "stack",
1427
1445
  "gap": "md",
1428
- "direction": "horizontal"
1446
+ "type": "stack"
1429
1447
  },
1430
1448
  {
1449
+ "type": "stack",
1431
1450
  "direction": "horizontal",
1432
1451
  "children": [
1433
1452
  {
1434
- "content": "Level",
1453
+ "type": "typography",
1435
1454
  "variant": "caption",
1436
- "type": "typography"
1455
+ "content": "Level"
1437
1456
  },
1438
1457
  {
1439
- "content": "@entity.level",
1440
1458
  "variant": "body",
1459
+ "content": "@entity.level",
1441
1460
  "type": "typography"
1442
1461
  }
1443
1462
  ],
1444
- "type": "stack",
1445
1463
  "gap": "md"
1446
1464
  },
1447
1465
  {
1448
1466
  "type": "divider"
1449
1467
  },
1450
1468
  {
1451
- "direction": "horizontal",
1452
- "type": "stack",
1453
1469
  "children": [
1454
1470
  {
1471
+ "variant": "primary",
1455
1472
  "type": "button",
1456
1473
  "label": "Edit",
1457
1474
  "action": "EDIT",
1458
- "variant": "primary",
1459
1475
  "icon": "edit"
1460
1476
  },
1461
1477
  {
1478
+ "action": "CLOSE",
1462
1479
  "variant": "ghost",
1463
1480
  "label": "Close",
1464
- "type": "button",
1465
- "action": "CLOSE"
1481
+ "type": "button"
1466
1482
  }
1467
1483
  ],
1484
+ "gap": "sm",
1468
1485
  "justify": "end",
1469
- "gap": "sm"
1486
+ "direction": "horizontal",
1487
+ "type": "stack"
1470
1488
  }
1471
1489
  ],
1472
- "type": "stack"
1490
+ "gap": "md"
1473
1491
  }
1474
1492
  ]
1475
1493
  ]
@@ -1685,9 +1703,15 @@
1685
1703
  "event": "INIT",
1686
1704
  "effects": [
1687
1705
  [
1688
- "ref",
1689
- "Course"
1690
- ]
1706
+ "fetch",
1707
+ "Course",
1708
+ {
1709
+ "emit": {
1710
+ "success": "CourseLoaded",
1711
+ "failure": "CourseLoadFailed"
1712
+ }
1713
+ }
1714
+ ]
1691
1715
  ]
1692
1716
  },
1693
1717
  {
@@ -1704,34 +1728,33 @@
1704
1728
  "fetch",
1705
1729
  "Course",
1706
1730
  {
1707
- "id": "@payload.id",
1708
1731
  "emit": {
1709
1732
  "failure": "CourseLoadFailed",
1710
1733
  "success": "CourseLoaded"
1711
- }
1734
+ },
1735
+ "id": "@payload.id"
1712
1736
  }
1713
1737
  ],
1714
1738
  [
1715
1739
  "render-ui",
1716
1740
  "modal",
1717
1741
  {
1718
- "gap": "md",
1719
- "type": "stack",
1720
1742
  "direction": "vertical",
1743
+ "gap": "md",
1721
1744
  "children": [
1722
1745
  {
1723
- "direction": "horizontal",
1724
1746
  "align": "center",
1725
1747
  "type": "stack",
1726
1748
  "gap": "sm",
1749
+ "direction": "horizontal",
1727
1750
  "children": [
1728
1751
  {
1729
1752
  "type": "icon",
1730
1753
  "name": "alert-triangle"
1731
1754
  },
1732
1755
  {
1733
- "content": "Delete Course",
1734
1756
  "variant": "h3",
1757
+ "content": "Delete Course",
1735
1758
  "type": "typography"
1736
1759
  }
1737
1760
  ]
@@ -1746,26 +1769,27 @@
1746
1769
  },
1747
1770
  {
1748
1771
  "justify": "end",
1749
- "type": "stack",
1750
1772
  "children": [
1751
1773
  {
1752
- "action": "CANCEL",
1753
- "type": "button",
1774
+ "label": "Cancel",
1754
1775
  "variant": "ghost",
1755
- "label": "Cancel"
1776
+ "type": "button",
1777
+ "action": "CANCEL"
1756
1778
  },
1757
1779
  {
1758
- "icon": "check",
1759
- "variant": "danger",
1760
1780
  "label": "Delete",
1761
1781
  "action": "CONFIRM_DELETE",
1762
- "type": "button"
1782
+ "variant": "danger",
1783
+ "type": "button",
1784
+ "icon": "check"
1763
1785
  }
1764
1786
  ],
1765
- "gap": "sm",
1766
- "direction": "horizontal"
1787
+ "type": "stack",
1788
+ "direction": "horizontal",
1789
+ "gap": "sm"
1767
1790
  }
1768
- ]
1791
+ ],
1792
+ "type": "stack"
1769
1793
  }
1770
1794
  ]
1771
1795
  ]
@@ -1800,8 +1824,14 @@
1800
1824
  }
1801
1825
  ],
1802
1826
  [
1803
- "ref",
1804
- "Course"
1827
+ "fetch",
1828
+ "Course",
1829
+ {
1830
+ "emit": {
1831
+ "failure": "CourseLoadFailed",
1832
+ "success": "CourseLoaded"
1833
+ }
1834
+ }
1805
1835
  ],
1806
1836
  [
1807
1837
  "emit",
@@ -1827,8 +1857,14 @@
1827
1857
  }
1828
1858
  ],
1829
1859
  [
1830
- "ref",
1831
- "Course"
1860
+ "fetch",
1861
+ "Course",
1862
+ {
1863
+ "emit": {
1864
+ "success": "CourseLoaded",
1865
+ "failure": "CourseLoadFailed"
1866
+ }
1867
+ }
1832
1868
  ]
1833
1869
  ]
1834
1870
  },
@@ -1850,8 +1886,14 @@
1850
1886
  }
1851
1887
  ],
1852
1888
  [
1853
- "ref",
1854
- "Course"
1889
+ "fetch",
1890
+ "Course",
1891
+ {
1892
+ "emit": {
1893
+ "success": "CourseLoaded",
1894
+ "failure": "CourseLoadFailed"
1895
+ }
1896
+ }
1855
1897
  ]
1856
1898
  ]
1857
1899
  }
@@ -2100,8 +2142,8 @@
2100
2142
  "Enrollment",
2101
2143
  {
2102
2144
  "emit": {
2103
- "success": "EnrollmentLoaded",
2104
- "failure": "EnrollmentLoadFailed"
2145
+ "failure": "EnrollmentLoadFailed",
2146
+ "success": "EnrollmentLoaded"
2105
2147
  }
2106
2148
  }
2107
2149
  ],
@@ -2109,41 +2151,59 @@
2109
2151
  "render-ui",
2110
2152
  "main",
2111
2153
  {
2154
+ "appName": "LMS",
2155
+ "navItems": [
2156
+ {
2157
+ "icon": "book-open",
2158
+ "label": "Courses",
2159
+ "href": "/courses"
2160
+ },
2161
+ {
2162
+ "href": "/enroll",
2163
+ "icon": "layout-list",
2164
+ "label": "Enroll"
2165
+ },
2166
+ {
2167
+ "href": "/progress",
2168
+ "icon": "layout-list",
2169
+ "label": "Progress"
2170
+ }
2171
+ ],
2112
2172
  "children": [
2113
2173
  {
2114
2174
  "children": [
2115
2175
  {
2116
- "type": "stack",
2176
+ "direction": "vertical",
2117
2177
  "children": [
2118
2178
  {
2179
+ "align": "center",
2180
+ "direction": "horizontal",
2181
+ "type": "stack",
2182
+ "gap": "sm",
2119
2183
  "children": [
2120
2184
  {
2121
2185
  "type": "icon",
2122
2186
  "name": "user-plus"
2123
2187
  },
2124
2188
  {
2125
- "variant": "h2",
2126
2189
  "type": "typography",
2190
+ "variant": "h2",
2127
2191
  "content": "Course Enrollment"
2128
2192
  }
2129
- ],
2130
- "direction": "horizontal",
2131
- "gap": "sm",
2132
- "type": "stack",
2133
- "align": "center"
2193
+ ]
2134
2194
  },
2135
2195
  {
2136
- "currentIndex": 0.0,
2137
2196
  "count": 2.0,
2138
- "type": "progress-dots"
2197
+ "type": "progress-dots",
2198
+ "currentIndex": 0.0
2139
2199
  },
2140
2200
  {
2141
- "type": "wizard-progress",
2142
- "currentStep": 0.0,
2143
2201
  "steps": [
2144
2202
  "Student Info",
2145
2203
  "Course Selection"
2146
- ]
2204
+ ],
2205
+ "type": "wizard-progress",
2206
+ "currentStep": 0.0
2147
2207
  },
2148
2208
  {
2149
2209
  "type": "divider"
@@ -2154,59 +2214,41 @@
2154
2214
  "content": "Student Info"
2155
2215
  },
2156
2216
  {
2217
+ "cancelEvent": "INIT",
2218
+ "mode": "create",
2219
+ "type": "form-section",
2157
2220
  "submitEvent": "NEXT",
2158
2221
  "fields": [
2159
2222
  "studentName",
2160
2223
  "email"
2161
- ],
2162
- "type": "form-section",
2163
- "mode": "create",
2164
- "cancelEvent": "INIT"
2224
+ ]
2165
2225
  },
2166
2226
  {
2227
+ "direction": "horizontal",
2167
2228
  "type": "stack",
2168
2229
  "justify": "end",
2169
- "direction": "horizontal",
2230
+ "gap": "sm",
2170
2231
  "children": [
2171
2232
  {
2172
- "action": "NEXT",
2173
- "variant": "primary",
2174
2233
  "label": "Next",
2234
+ "variant": "primary",
2175
2235
  "icon": "arrow-right",
2236
+ "action": "NEXT",
2176
2237
  "type": "button"
2177
2238
  }
2178
- ],
2179
- "gap": "sm"
2239
+ ]
2180
2240
  }
2181
2241
  ],
2182
- "direction": "vertical",
2183
- "gap": "lg"
2242
+ "gap": "lg",
2243
+ "type": "stack"
2184
2244
  }
2185
2245
  ],
2246
+ "padding": "lg",
2186
2247
  "type": "container",
2187
- "maxWidth": "lg",
2188
- "padding": "lg"
2248
+ "maxWidth": "lg"
2189
2249
  }
2190
2250
  ],
2191
- "type": "dashboard-layout",
2192
- "appName": "LMS",
2193
- "navItems": [
2194
- {
2195
- "href": "/courses",
2196
- "label": "Courses",
2197
- "icon": "book-open"
2198
- },
2199
- {
2200
- "icon": "layout-list",
2201
- "label": "Enroll",
2202
- "href": "/enroll"
2203
- },
2204
- {
2205
- "label": "Progress",
2206
- "href": "/progress",
2207
- "icon": "layout-list"
2208
- }
2209
- ]
2251
+ "type": "dashboard-layout"
2210
2252
  }
2211
2253
  ]
2212
2254
  ]
@@ -2230,57 +2272,39 @@
2230
2272
  "render-ui",
2231
2273
  "main",
2232
2274
  {
2233
- "navItems": [
2234
- {
2235
- "label": "Courses",
2236
- "href": "/courses",
2237
- "icon": "book-open"
2238
- },
2239
- {
2240
- "icon": "layout-list",
2241
- "label": "Enroll",
2242
- "href": "/enroll"
2243
- },
2244
- {
2245
- "href": "/progress",
2246
- "label": "Progress",
2247
- "icon": "layout-list"
2248
- }
2249
- ],
2250
2275
  "children": [
2251
2276
  {
2252
2277
  "maxWidth": "lg",
2253
- "type": "container",
2254
2278
  "padding": "lg",
2255
2279
  "children": [
2256
2280
  {
2257
- "type": "stack",
2281
+ "direction": "vertical",
2258
2282
  "children": [
2259
2283
  {
2260
- "type": "stack",
2261
2284
  "gap": "sm",
2285
+ "type": "stack",
2286
+ "direction": "horizontal",
2287
+ "align": "center",
2262
2288
  "children": [
2263
2289
  {
2264
- "type": "icon",
2265
- "name": "user-plus"
2290
+ "name": "user-plus",
2291
+ "type": "icon"
2266
2292
  },
2267
2293
  {
2268
2294
  "content": "Course Enrollment",
2269
2295
  "variant": "h2",
2270
2296
  "type": "typography"
2271
2297
  }
2272
- ],
2273
- "direction": "horizontal",
2274
- "align": "center"
2298
+ ]
2275
2299
  },
2276
2300
  {
2301
+ "type": "progress-dots",
2277
2302
  "count": 2.0,
2278
- "currentIndex": 1.0,
2279
- "type": "progress-dots"
2303
+ "currentIndex": 1.0
2280
2304
  },
2281
2305
  {
2282
- "currentStep": 1.0,
2283
2306
  "type": "wizard-progress",
2307
+ "currentStep": 1.0,
2284
2308
  "steps": [
2285
2309
  "Student Info",
2286
2310
  "Course Selection"
@@ -2290,50 +2314,68 @@
2290
2314
  "type": "divider"
2291
2315
  },
2292
2316
  {
2293
- "type": "typography",
2294
2317
  "variant": "h3",
2318
+ "type": "typography",
2295
2319
  "content": "Course Selection"
2296
2320
  },
2297
2321
  {
2298
- "type": "form-section",
2299
- "cancelEvent": "PREV",
2322
+ "mode": "create",
2300
2323
  "fields": [
2301
2324
  "courseId"
2302
2325
  ],
2303
- "submitEvent": "NEXT",
2304
- "mode": "create"
2326
+ "type": "form-section",
2327
+ "cancelEvent": "PREV",
2328
+ "submitEvent": "NEXT"
2305
2329
  },
2306
2330
  {
2331
+ "justify": "end",
2307
2332
  "children": [
2308
2333
  {
2309
- "action": "PREV",
2310
- "label": "Back",
2311
- "icon": "arrow-left",
2312
2334
  "variant": "ghost",
2313
- "type": "button"
2335
+ "icon": "arrow-left",
2336
+ "type": "button",
2337
+ "action": "PREV",
2338
+ "label": "Back"
2314
2339
  },
2315
2340
  {
2316
2341
  "variant": "primary",
2317
2342
  "type": "button",
2318
2343
  "label": "Next",
2319
- "icon": "arrow-right",
2320
- "action": "NEXT"
2344
+ "action": "NEXT",
2345
+ "icon": "arrow-right"
2321
2346
  }
2322
2347
  ],
2323
- "justify": "end",
2348
+ "direction": "horizontal",
2324
2349
  "type": "stack",
2325
- "gap": "sm",
2326
- "direction": "horizontal"
2350
+ "gap": "sm"
2327
2351
  }
2328
2352
  ],
2329
- "direction": "vertical",
2330
- "gap": "lg"
2353
+ "gap": "lg",
2354
+ "type": "stack"
2331
2355
  }
2332
- ]
2356
+ ],
2357
+ "type": "container"
2333
2358
  }
2334
2359
  ],
2360
+ "type": "dashboard-layout",
2335
2361
  "appName": "LMS",
2336
- "type": "dashboard-layout"
2362
+ "navItems": [
2363
+ {
2364
+ "icon": "book-open",
2365
+ "label": "Courses",
2366
+ "href": "/courses"
2367
+ },
2368
+ {
2369
+ "href": "/enroll",
2370
+ "label": "Enroll",
2371
+ "icon": "layout-list"
2372
+ },
2373
+ {
2374
+ "label": "Progress",
2375
+ "href": "/progress",
2376
+ "icon": "layout-list"
2377
+ }
2378
+ ]
2337
2379
  }
2338
2380
  ]
2339
2381
  ]
@@ -2358,52 +2400,72 @@
2358
2400
  "main",
2359
2401
  {
2360
2402
  "appName": "LMS",
2403
+ "navItems": [
2404
+ {
2405
+ "label": "Courses",
2406
+ "href": "/courses",
2407
+ "icon": "book-open"
2408
+ },
2409
+ {
2410
+ "label": "Enroll",
2411
+ "href": "/enroll",
2412
+ "icon": "layout-list"
2413
+ },
2414
+ {
2415
+ "label": "Progress",
2416
+ "href": "/progress",
2417
+ "icon": "layout-list"
2418
+ }
2419
+ ],
2361
2420
  "children": [
2362
2421
  {
2363
- "gap": "lg",
2364
2422
  "direction": "vertical",
2365
- "children": [
2423
+ "gap": "lg",
2424
+ "type": "stack",
2425
+ "children": [
2366
2426
  {
2367
- "direction": "horizontal",
2368
- "type": "stack",
2369
- "align": "center",
2370
2427
  "children": [
2371
2428
  {
2372
2429
  "type": "icon",
2373
2430
  "name": "user-plus"
2374
2431
  },
2375
2432
  {
2376
- "type": "typography",
2377
2433
  "variant": "h2",
2434
+ "type": "typography",
2378
2435
  "content": "Course Enrollment"
2379
2436
  }
2380
2437
  ],
2381
- "gap": "sm"
2438
+ "align": "center",
2439
+ "gap": "sm",
2440
+ "type": "stack",
2441
+ "direction": "horizontal"
2382
2442
  },
2383
2443
  {
2384
2444
  "label": "Review",
2385
2445
  "type": "badge"
2386
2446
  },
2387
2447
  {
2448
+ "type": "wizard-progress",
2388
2449
  "steps": [
2389
2450
  "Student Info",
2390
2451
  "Course Selection"
2391
2452
  ],
2392
- "type": "wizard-progress",
2393
2453
  "currentStep": 2.0
2394
2454
  },
2395
2455
  {
2396
2456
  "type": "divider"
2397
2457
  },
2398
2458
  {
2459
+ "direction": "vertical",
2399
2460
  "children": [
2400
2461
  {
2401
2462
  "gap": "md",
2463
+ "justify": "between",
2402
2464
  "children": [
2403
2465
  {
2404
2466
  "content": "Student Name",
2405
- "variant": "caption",
2406
- "type": "typography"
2467
+ "type": "typography",
2468
+ "variant": "caption"
2407
2469
  },
2408
2470
  {
2409
2471
  "type": "typography",
@@ -2412,113 +2474,93 @@
2412
2474
  }
2413
2475
  ],
2414
2476
  "type": "stack",
2415
- "direction": "horizontal",
2416
- "justify": "between"
2477
+ "direction": "horizontal"
2417
2478
  },
2418
2479
  {
2419
- "gap": "md",
2420
- "type": "stack",
2421
2480
  "justify": "between",
2422
2481
  "direction": "horizontal",
2482
+ "gap": "md",
2423
2483
  "children": [
2424
2484
  {
2425
- "content": "Email",
2426
2485
  "variant": "caption",
2486
+ "content": "Email",
2427
2487
  "type": "typography"
2428
2488
  },
2429
2489
  {
2430
- "type": "typography",
2431
2490
  "content": "@entity.email",
2491
+ "type": "typography",
2432
2492
  "variant": "body"
2433
2493
  }
2434
- ]
2494
+ ],
2495
+ "type": "stack"
2435
2496
  },
2436
2497
  {
2437
- "gap": "md",
2438
2498
  "type": "stack",
2439
- "justify": "between",
2440
2499
  "children": [
2441
2500
  {
2442
- "variant": "caption",
2443
2501
  "type": "typography",
2502
+ "variant": "caption",
2444
2503
  "content": "Course Id"
2445
2504
  },
2446
2505
  {
2506
+ "variant": "body",
2447
2507
  "content": "@entity.courseId",
2448
- "type": "typography",
2449
- "variant": "body"
2508
+ "type": "typography"
2450
2509
  }
2451
2510
  ],
2511
+ "gap": "md",
2512
+ "justify": "between",
2452
2513
  "direction": "horizontal"
2453
2514
  },
2454
2515
  {
2516
+ "direction": "horizontal",
2517
+ "gap": "md",
2518
+ "type": "stack",
2455
2519
  "children": [
2456
2520
  {
2521
+ "type": "typography",
2457
2522
  "content": "Enrolled At",
2458
- "variant": "caption",
2459
- "type": "typography"
2523
+ "variant": "caption"
2460
2524
  },
2461
2525
  {
2462
- "variant": "body",
2526
+ "content": "@entity.enrolledAt",
2463
2527
  "type": "typography",
2464
- "content": "@entity.enrolledAt"
2528
+ "variant": "body"
2465
2529
  }
2466
2530
  ],
2467
- "direction": "horizontal",
2468
- "justify": "between",
2469
- "type": "stack",
2470
- "gap": "md"
2531
+ "justify": "between"
2471
2532
  },
2472
2533
  {
2473
2534
  "justify": "between",
2474
2535
  "type": "stack",
2536
+ "gap": "md",
2475
2537
  "children": [
2476
2538
  {
2477
- "variant": "caption",
2539
+ "type": "typography",
2478
2540
  "content": "Status",
2479
- "type": "typography"
2541
+ "variant": "caption"
2480
2542
  },
2481
2543
  {
2482
2544
  "variant": "body",
2483
- "content": "@entity.status",
2484
- "type": "typography"
2545
+ "type": "typography",
2546
+ "content": "@entity.status"
2485
2547
  }
2486
2548
  ],
2487
- "direction": "horizontal",
2488
- "gap": "md"
2549
+ "direction": "horizontal"
2489
2550
  }
2490
2551
  ],
2491
2552
  "type": "stack",
2492
- "gap": "sm",
2493
- "direction": "vertical"
2553
+ "gap": "sm"
2494
2554
  },
2495
2555
  {
2496
2556
  "type": "wizard-navigation",
2497
- "totalSteps": 3.0,
2557
+ "showNext": false,
2498
2558
  "showBack": true,
2499
2559
  "showComplete": true,
2500
- "currentStep": 2.0,
2501
- "showNext": false
2560
+ "totalSteps": 3.0,
2561
+ "currentStep": 2.0
2502
2562
  }
2503
- ],
2504
- "type": "stack"
2505
- }
2506
- ],
2507
- "navItems": [
2508
- {
2509
- "label": "Courses",
2510
- "icon": "book-open",
2511
- "href": "/courses"
2512
- },
2513
- {
2514
- "href": "/enroll",
2515
- "icon": "layout-list",
2516
- "label": "Enroll"
2517
- },
2518
- {
2519
- "icon": "layout-list",
2520
- "label": "Progress",
2521
- "href": "/progress"
2563
+ ]
2522
2564
  }
2523
2565
  ],
2524
2566
  "type": "dashboard-layout"
@@ -2545,25 +2587,21 @@
2545
2587
  "render-ui",
2546
2588
  "main",
2547
2589
  {
2548
- "type": "dashboard-layout",
2549
- "appName": "LMS",
2550
2590
  "children": [
2551
2591
  {
2592
+ "padding": "lg",
2552
2593
  "children": [
2553
2594
  {
2554
- "direction": "vertical",
2555
- "type": "stack",
2556
- "gap": "lg",
2557
2595
  "children": [
2558
2596
  {
2559
2597
  "direction": "horizontal",
2560
2598
  "gap": "sm",
2561
- "align": "center",
2562
2599
  "type": "stack",
2600
+ "align": "center",
2563
2601
  "children": [
2564
2602
  {
2565
- "name": "user-plus",
2566
- "type": "icon"
2603
+ "type": "icon",
2604
+ "name": "user-plus"
2567
2605
  },
2568
2606
  {
2569
2607
  "type": "typography",
@@ -2574,62 +2612,64 @@
2574
2612
  },
2575
2613
  {
2576
2614
  "count": 2.0,
2577
- "currentIndex": 0.0,
2578
- "type": "progress-dots"
2615
+ "type": "progress-dots",
2616
+ "currentIndex": 0.0
2579
2617
  },
2580
2618
  {
2619
+ "type": "wizard-progress",
2581
2620
  "steps": [
2582
2621
  "Student Info",
2583
2622
  "Course Selection"
2584
2623
  ],
2585
- "type": "wizard-progress",
2586
2624
  "currentStep": 0.0
2587
2625
  },
2588
2626
  {
2589
2627
  "type": "divider"
2590
2628
  },
2591
2629
  {
2592
- "content": "Student Info",
2630
+ "variant": "h3",
2593
2631
  "type": "typography",
2594
- "variant": "h3"
2632
+ "content": "Student Info"
2595
2633
  },
2596
2634
  {
2597
- "cancelEvent": "INIT",
2598
- "submitEvent": "NEXT",
2599
2635
  "type": "form-section",
2636
+ "cancelEvent": "INIT",
2600
2637
  "fields": [
2601
2638
  "studentName",
2602
2639
  "email"
2603
2640
  ],
2604
- "mode": "create"
2641
+ "mode": "create",
2642
+ "submitEvent": "NEXT"
2605
2643
  },
2606
2644
  {
2607
- "justify": "end",
2608
2645
  "direction": "horizontal",
2609
2646
  "type": "stack",
2610
2647
  "gap": "sm",
2648
+ "justify": "end",
2611
2649
  "children": [
2612
2650
  {
2613
- "label": "Next",
2614
2651
  "variant": "primary",
2615
2652
  "type": "button",
2616
- "action": "NEXT",
2617
- "icon": "arrow-right"
2653
+ "label": "Next",
2654
+ "icon": "arrow-right",
2655
+ "action": "NEXT"
2618
2656
  }
2619
2657
  ]
2620
2658
  }
2621
- ]
2659
+ ],
2660
+ "type": "stack",
2661
+ "direction": "vertical",
2662
+ "gap": "lg"
2622
2663
  }
2623
2664
  ],
2624
2665
  "type": "container",
2625
- "padding": "lg",
2626
2666
  "maxWidth": "lg"
2627
2667
  }
2628
2668
  ],
2629
2669
  "navItems": [
2630
2670
  {
2631
- "icon": "book-open",
2632
2671
  "label": "Courses",
2672
+ "icon": "book-open",
2633
2673
  "href": "/courses"
2634
2674
  },
2635
2675
  {
@@ -2638,11 +2678,13 @@
2638
2678
  "href": "/enroll"
2639
2679
  },
2640
2680
  {
2681
+ "href": "/progress",
2641
2682
  "icon": "layout-list",
2642
- "label": "Progress",
2643
- "href": "/progress"
2683
+ "label": "Progress"
2644
2684
  }
2645
- ]
2685
+ ],
2686
+ "type": "dashboard-layout",
2687
+ "appName": "LMS"
2646
2688
  }
2647
2689
  ]
2648
2690
  ]
@@ -2666,12 +2708,11 @@
2666
2708
  "render-ui",
2667
2709
  "main",
2668
2710
  {
2669
- "appName": "LMS",
2670
2711
  "navItems": [
2671
2712
  {
2672
2713
  "label": "Courses",
2673
- "icon": "book-open",
2674
- "href": "/courses"
2714
+ "href": "/courses",
2715
+ "icon": "book-open"
2675
2716
  },
2676
2717
  {
2677
2718
  "icon": "layout-list",
@@ -2679,95 +2720,96 @@
2679
2720
  "href": "/enroll"
2680
2721
  },
2681
2722
  {
2682
- "label": "Progress",
2723
+ "icon": "layout-list",
2683
2724
  "href": "/progress",
2684
- "icon": "layout-list"
2725
+ "label": "Progress"
2685
2726
  }
2686
2727
  ],
2687
2728
  "type": "dashboard-layout",
2729
+ "appName": "LMS",
2688
2730
  "children": [
2689
2731
  {
2690
- "type": "container",
2691
2732
  "padding": "lg",
2692
- "maxWidth": "lg",
2733
+ "type": "container",
2693
2734
  "children": [
2694
2735
  {
2695
2736
  "gap": "lg",
2696
- "type": "stack",
2697
- "direction": "vertical",
2698
2737
  "children": [
2699
2738
  {
2739
+ "type": "stack",
2700
2740
  "direction": "horizontal",
2741
+ "gap": "sm",
2701
2742
  "children": [
2702
2743
  {
2703
- "name": "user-plus",
2704
- "type": "icon"
2744
+ "type": "icon",
2745
+ "name": "user-plus"
2705
2746
  },
2706
2747
  {
2748
+ "variant": "h2",
2707
2749
  "content": "Course Enrollment",
2708
- "type": "typography",
2709
- "variant": "h2"
2750
+ "type": "typography"
2710
2751
  }
2711
2752
  ],
2712
- "type": "stack",
2713
- "gap": "sm",
2714
2753
  "align": "center"
2715
2754
  },
2716
2755
  {
2756
+ "type": "progress-dots",
2717
2757
  "currentIndex": 1.0,
2718
- "count": 2.0,
2719
- "type": "progress-dots"
2758
+ "count": 2.0
2720
2759
  },
2721
2760
  {
2722
- "type": "wizard-progress",
2723
2761
  "steps": [
2724
2762
  "Student Info",
2725
2763
  "Course Selection"
2726
2764
  ],
2727
- "currentStep": 1.0
2765
+ "currentStep": 1.0,
2766
+ "type": "wizard-progress"
2728
2767
  },
2729
2768
  {
2730
2769
  "type": "divider"
2731
2770
  },
2732
2771
  {
2733
2772
  "type": "typography",
2734
- "variant": "h3",
2735
- "content": "Course Selection"
2773
+ "content": "Course Selection",
2774
+ "variant": "h3"
2736
2775
  },
2737
2776
  {
2738
- "cancelEvent": "PREV",
2777
+ "mode": "create",
2778
+ "submitEvent": "NEXT",
2739
2779
  "type": "form-section",
2780
+ "cancelEvent": "PREV",
2740
2781
  "fields": [
2741
2782
  "courseId"
2742
- ],
2743
- "submitEvent": "NEXT",
2744
- "mode": "create"
2783
+ ]
2745
2784
  },
2746
2785
  {
2747
- "direction": "horizontal",
2748
2786
  "justify": "end",
2787
+ "gap": "sm",
2788
+ "direction": "horizontal",
2749
2789
  "children": [
2750
2790
  {
2751
2791
  "type": "button",
2752
2792
  "variant": "ghost",
2753
- "label": "Back",
2754
2793
  "action": "PREV",
2794
+ "label": "Back",
2755
2795
  "icon": "arrow-left"
2756
2796
  },
2757
2797
  {
2758
- "icon": "arrow-right",
2759
- "action": "NEXT",
2760
2798
  "label": "Next",
2761
2799
  "type": "button",
2800
+ "action": "NEXT",
2801
+ "icon": "arrow-right",
2762
2802
  "variant": "primary"
2763
2803
  }
2764
2804
  ],
2765
- "type": "stack",
2766
- "gap": "sm"
2805
+ "type": "stack"
2767
2806
  }
2768
- ]
2807
+ ],
2808
+ "type": "stack",
2809
+ "direction": "vertical"
2769
2810
  }
2770
- ]
2811
+ ],
2812
+ "maxWidth": "lg"
2771
2813
  }
2772
2814
  ]
2773
2815
  }
@@ -2786,8 +2828,8 @@
2786
2828
  "@payload.data",
2787
2829
  {
2788
2830
  "emit": {
2789
- "success": "EnrollmentSaved",
2790
- "failure": "EnrollmentSaveFailed"
2831
+ "failure": "EnrollmentSaveFailed",
2832
+ "success": "EnrollmentSaved"
2791
2833
  }
2792
2834
  }
2793
2835
  ],
@@ -2800,21 +2842,20 @@
2800
2842
  "render-ui",
2801
2843
  "main",
2802
2844
  {
2845
+ "appName": "LMS",
2846
+ "type": "dashboard-layout",
2803
2847
  "children": [
2804
2848
  {
2805
- "type": "stack",
2806
2849
  "align": "center",
2807
- "direction": "vertical",
2808
- "gap": "lg",
2809
2850
  "children": [
2810
2851
  {
2811
- "name": "check-circle",
2812
- "type": "icon"
2852
+ "type": "icon",
2853
+ "name": "check-circle"
2813
2854
  },
2814
2855
  {
2815
- "type": "typography",
2856
+ "content": "Enrolled!",
2816
2857
  "variant": "h2",
2817
- "content": "Enrolled!"
2858
+ "type": "typography"
2818
2859
  },
2819
2860
  {
2820
2861
  "variant": "body",
@@ -2823,33 +2864,34 @@
2823
2864
  },
2824
2865
  {
2825
2866
  "action": "RESTART",
2867
+ "variant": "primary",
2826
2868
  "type": "button",
2827
2869
  "label": "Start New",
2828
- "variant": "primary",
2829
2870
  "icon": "refresh-cw"
2830
2871
  }
2831
- ]
2872
+ ],
2873
+ "type": "stack",
2874
+ "direction": "vertical",
2875
+ "gap": "lg"
2832
2876
  }
2833
2877
  ],
2834
- "appName": "LMS",
2835
2878
  "navItems": [
2836
2879
  {
2837
- "href": "/courses",
2838
2880
  "icon": "book-open",
2839
- "label": "Courses"
2881
+ "label": "Courses",
2882
+ "href": "/courses"
2840
2883
  },
2841
2884
  {
2842
2885
  "label": "Enroll",
2843
- "href": "/enroll",
2844
- "icon": "layout-list"
2886
+ "icon": "layout-list",
2887
+ "href": "/enroll"
2845
2888
  },
2846
2889
  {
2847
- "label": "Progress",
2848
2890
  "href": "/progress",
2849
- "icon": "layout-list"
2891
+ "icon": "layout-list",
2892
+ "label": "Progress"
2850
2893
  }
2851
- ],
2852
- "type": "dashboard-layout"
2894
+ ]
2853
2895
  }
2854
2896
  ]
2855
2897
  ]
@@ -2864,8 +2906,8 @@
2864
2906
  "Enrollment",
2865
2907
  {
2866
2908
  "emit": {
2867
- "failure": "EnrollmentLoadFailed",
2868
- "success": "EnrollmentLoaded"
2909
+ "success": "EnrollmentLoaded",
2910
+ "failure": "EnrollmentLoadFailed"
2869
2911
  }
2870
2912
  }
2871
2913
  ],
@@ -2873,51 +2915,36 @@
2873
2915
  "render-ui",
2874
2916
  "main",
2875
2917
  {
2876
- "type": "dashboard-layout",
2877
- "navItems": [
2878
- {
2879
- "href": "/courses",
2880
- "icon": "book-open",
2881
- "label": "Courses"
2882
- },
2883
- {
2884
- "icon": "layout-list",
2885
- "href": "/enroll",
2886
- "label": "Enroll"
2887
- },
2888
- {
2889
- "label": "Progress",
2890
- "icon": "layout-list",
2891
- "href": "/progress"
2892
- }
2893
- ],
2894
- "appName": "LMS",
2895
- "children": [
2918
+ "children": [
2896
2919
  {
2920
+ "padding": "lg",
2897
2921
  "children": [
2898
2922
  {
2923
+ "gap": "lg",
2924
+ "type": "stack",
2925
+ "direction": "vertical",
2899
2926
  "children": [
2900
2927
  {
2901
- "direction": "horizontal",
2902
- "gap": "sm",
2903
2928
  "align": "center",
2904
- "type": "stack",
2905
2929
  "children": [
2906
2930
  {
2907
- "name": "user-plus",
2908
- "type": "icon"
2931
+ "type": "icon",
2932
+ "name": "user-plus"
2909
2933
  },
2910
2934
  {
2911
2935
  "content": "Course Enrollment",
2912
- "variant": "h2",
2913
- "type": "typography"
2936
+ "type": "typography",
2937
+ "variant": "h2"
2914
2938
  }
2915
- ]
2939
+ ],
2940
+ "type": "stack",
2941
+ "direction": "horizontal",
2942
+ "gap": "sm"
2916
2943
  },
2917
2944
  {
2918
- "type": "progress-dots",
2945
+ "currentIndex": 0.0,
2919
2946
  "count": 2.0,
2920
- "currentIndex": 0.0
2947
+ "type": "progress-dots"
2921
2948
  },
2922
2949
  {
2923
2950
  "type": "wizard-progress",
@@ -2931,44 +2958,59 @@
2931
2958
  "type": "divider"
2932
2959
  },
2933
2960
  {
2934
- "type": "typography",
2935
2961
  "content": "Student Info",
2936
- "variant": "h3"
2962
+ "variant": "h3",
2963
+ "type": "typography"
2937
2964
  },
2938
2965
  {
2939
2966
  "mode": "create",
2940
- "type": "form-section",
2941
2967
  "cancelEvent": "INIT",
2942
- "submitEvent": "NEXT",
2968
+ "type": "form-section",
2943
2969
  "fields": [
2944
2970
  "studentName",
2945
2971
  "email"
2946
- ]
2972
+ ],
2973
+ "submitEvent": "NEXT"
2947
2974
  },
2948
2975
  {
2976
+ "justify": "end",
2977
+ "direction": "horizontal",
2978
+ "gap": "sm",
2979
+ "type": "stack",
2949
2980
  "children": [
2950
2981
  {
2982
+ "type": "button",
2983
+ "label": "Next",
2951
2984
  "action": "NEXT",
2952
- "variant": "primary",
2953
2985
  "icon": "arrow-right",
2954
- "type": "button",
2955
- "label": "Next"
2986
+ "variant": "primary"
2956
2987
  }
2957
- ],
2958
- "direction": "horizontal",
2959
- "gap": "sm",
2960
- "justify": "end",
2961
- "type": "stack"
2988
+ ]
2962
2989
  }
2963
- ],
2964
- "type": "stack",
2965
- "direction": "vertical",
2966
- "gap": "lg"
2990
+ ]
2967
2991
  }
2968
2992
  ],
2969
2993
  "type": "container",
2970
- "maxWidth": "lg",
2971
- "padding": "lg"
2994
+ "maxWidth": "lg"
2995
+ }
2996
+ ],
2997
+ "appName": "LMS",
2998
+ "type": "dashboard-layout",
2999
+ "navItems": [
3000
+ {
3001
+ "label": "Courses",
3002
+ "icon": "book-open",
3003
+ "href": "/courses"
3004
+ },
3005
+ {
3006
+ "href": "/enroll",
3007
+ "icon": "layout-list",
3008
+ "label": "Enroll"
3009
+ },
3010
+ {
3011
+ "href": "/progress",
3012
+ "icon": "layout-list",
3013
+ "label": "Progress"
2972
3014
  }
2973
3015
  ]
2974
3016
  }
@@ -2985,8 +3027,8 @@
2985
3027
  "Enrollment",
2986
3028
  {
2987
3029
  "emit": {
2988
- "success": "EnrollmentLoaded",
2989
- "failure": "EnrollmentLoadFailed"
3030
+ "failure": "EnrollmentLoadFailed",
3031
+ "success": "EnrollmentLoaded"
2990
3032
  }
2991
3033
  }
2992
3034
  ],
@@ -2994,31 +3036,33 @@
2994
3036
  "render-ui",
2995
3037
  "main",
2996
3038
  {
2997
- "appName": "LMS",
2998
3039
  "children": [
2999
3040
  {
3000
3041
  "maxWidth": "lg",
3042
+ "padding": "lg",
3043
+ "type": "container",
3001
3044
  "children": [
3002
3045
  {
3003
- "direction": "vertical",
3046
+ "type": "stack",
3004
3047
  "gap": "lg",
3048
+ "direction": "vertical",
3005
3049
  "children": [
3006
3050
  {
3051
+ "direction": "horizontal",
3052
+ "gap": "sm",
3007
3053
  "align": "center",
3008
- "type": "stack",
3009
3054
  "children": [
3010
3055
  {
3011
- "type": "icon",
3012
- "name": "user-plus"
3056
+ "name": "user-plus",
3057
+ "type": "icon"
3013
3058
  },
3014
3059
  {
3015
- "type": "typography",
3016
3060
  "content": "Course Enrollment",
3017
- "variant": "h2"
3061
+ "variant": "h2",
3062
+ "type": "typography"
3018
3063
  }
3019
3064
  ],
3020
- "direction": "horizontal",
3021
- "gap": "sm"
3065
+ "type": "stack"
3022
3066
  },
3023
3067
  {
3024
3068
  "currentIndex": 0.0,
@@ -3027,62 +3071,59 @@
3027
3071
  },
3028
3072
  {
3029
3073
  "type": "wizard-progress",
3074
+ "currentStep": 0.0,
3030
3075
  "steps": [
3031
3076
  "Student Info",
3032
3077
  "Course Selection"
3033
- ],
3034
- "currentStep": 0.0
3078
+ ]
3035
3079
  },
3036
3080
  {
3037
3081
  "type": "divider"
3038
3082
  },
3039
3083
  {
3040
- "variant": "h3",
3041
3084
  "content": "Student Info",
3042
- "type": "typography"
3085
+ "type": "typography",
3086
+ "variant": "h3"
3043
3087
  },
3044
3088
  {
3045
- "cancelEvent": "INIT",
3046
3089
  "fields": [
3047
3090
  "studentName",
3048
3091
  "email"
3049
3092
  ],
3093
+ "cancelEvent": "INIT",
3050
3094
  "mode": "create",
3051
- "type": "form-section",
3052
- "submitEvent": "NEXT"
3095
+ "submitEvent": "NEXT",
3096
+ "type": "form-section"
3053
3097
  },
3054
3098
  {
3055
3099
  "type": "stack",
3056
3100
  "justify": "end",
3057
- "direction": "horizontal",
3058
3101
  "children": [
3059
3102
  {
3060
- "type": "button",
3061
3103
  "label": "Next",
3062
- "action": "NEXT",
3063
3104
  "icon": "arrow-right",
3064
- "variant": "primary"
3105
+ "action": "NEXT",
3106
+ "variant": "primary",
3107
+ "type": "button"
3065
3108
  }
3066
3109
  ],
3067
- "gap": "sm"
3110
+ "gap": "sm",
3111
+ "direction": "horizontal"
3068
3112
  }
3069
- ],
3070
- "type": "stack"
3113
+ ]
3071
3114
  }
3072
- ],
3073
- "type": "container",
3074
- "padding": "lg"
3115
+ ]
3075
3116
  }
3076
3117
  ],
3077
3118
  "navItems": [
3078
3119
  {
3120
+ "icon": "book-open",
3079
3121
  "label": "Courses",
3080
- "href": "/courses",
3081
- "icon": "book-open"
3122
+ "href": "/courses"
3082
3123
  },
3083
3124
  {
3084
- "label": "Enroll",
3085
3125
  "href": "/enroll",
3126
+ "label": "Enroll",
3086
3127
  "icon": "layout-list"
3087
3128
  },
3088
3129
  {
@@ -3091,6 +3132,7 @@
3091
3132
  "icon": "layout-list"
3092
3133
  }
3093
3134
  ],
3135
+ "appName": "LMS",
3094
3136
  "type": "dashboard-layout"
3095
3137
  }
3096
3138
  ]
@@ -3254,8 +3296,8 @@
3254
3296
  "Progress",
3255
3297
  {
3256
3298
  "emit": {
3257
- "success": "ProgressLoaded",
3258
- "failure": "ProgressLoadFailed"
3299
+ "failure": "ProgressLoadFailed",
3300
+ "success": "ProgressLoaded"
3259
3301
  }
3260
3302
  }
3261
3303
  ],
@@ -3263,34 +3305,34 @@
3263
3305
  "render-ui",
3264
3306
  "main",
3265
3307
  {
3266
- "type": "dashboard-layout",
3308
+ "appName": "LMS",
3267
3309
  "children": [
3268
3310
  {
3269
3311
  "type": "scaled-diagram",
3270
3312
  "children": [
3271
3313
  {
3272
- "type": "stack",
3273
3314
  "direction": "vertical",
3315
+ "gap": "lg",
3274
3316
  "children": [
3275
3317
  {
3276
- "type": "breadcrumb",
3277
3318
  "items": [
3278
3319
  {
3279
- "href": "/",
3280
- "label": "Home"
3320
+ "label": "Home",
3321
+ "href": "/"
3281
3322
  },
3282
3323
  {
3283
3324
  "label": "Progress"
3284
3325
  }
3285
- ]
3326
+ ],
3327
+ "type": "breadcrumb"
3286
3328
  },
3287
3329
  {
3288
- "gap": "md",
3289
3330
  "justify": "between",
3331
+ "gap": "md",
3332
+ "direction": "horizontal",
3333
+ "type": "stack",
3290
3334
  "children": [
3291
3335
  {
3292
- "direction": "horizontal",
3293
- "type": "stack",
3294
3336
  "children": [
3295
3337
  {
3296
3338
  "type": "icon",
@@ -3298,126 +3340,126 @@
3298
3340
  },
3299
3341
  {
3300
3342
  "variant": "h2",
3301
- "type": "typography",
3302
- "content": "Progress"
3343
+ "content": "Progress",
3344
+ "type": "typography"
3303
3345
  }
3304
3346
  ],
3347
+ "direction": "horizontal",
3348
+ "type": "stack",
3305
3349
  "gap": "md"
3306
3350
  },
3307
3351
  {
3308
- "variant": "secondary",
3352
+ "icon": "refresh-cw",
3309
3353
  "label": "Refresh",
3310
3354
  "type": "button",
3311
- "icon": "refresh-cw",
3312
- "action": "REFRESH"
3355
+ "action": "REFRESH",
3356
+ "variant": "secondary"
3313
3357
  }
3314
- ],
3315
- "type": "stack",
3316
- "direction": "horizontal"
3358
+ ]
3317
3359
  },
3318
3360
  {
3319
3361
  "type": "divider"
3320
3362
  },
3321
3363
  {
3322
3364
  "type": "box",
3323
- "padding": "md",
3324
3365
  "children": [
3325
3366
  {
3326
3367
  "type": "simple-grid",
3368
+ "cols": 3.0,
3327
3369
  "children": [
3328
3370
  {
3329
3371
  "children": [
3330
3372
  {
3331
- "type": "stack",
3332
- "direction": "vertical",
3333
- "gap": "sm",
3334
3373
  "children": [
3335
3374
  {
3336
- "variant": "caption",
3337
3375
  "type": "typography",
3376
+ "variant": "caption",
3338
3377
  "content": "CourseName"
3339
3378
  },
3340
3379
  {
3341
- "content": "@entity.courseName",
3342
3380
  "type": "typography",
3343
- "variant": "h3"
3381
+ "variant": "h3",
3382
+ "content": "@entity.courseName"
3344
3383
  }
3345
- ]
3384
+ ],
3385
+ "type": "stack",
3386
+ "gap": "sm",
3387
+ "direction": "vertical"
3346
3388
  }
3347
3389
  ],
3348
3390
  "type": "card"
3349
3391
  },
3350
3392
  {
3351
3393
  "value": "@entity.lessonsCompleted",
3352
- "label": "LessonsCompleted",
3353
- "type": "stat-display"
3394
+ "type": "stat-display",
3395
+ "label": "LessonsCompleted"
3354
3396
  },
3355
3397
  {
3356
- "label": "TotalLessons",
3357
3398
  "value": "@entity.totalLessons",
3399
+ "label": "TotalLessons",
3358
3400
  "type": "stat-display"
3359
3401
  },
3360
3402
  {
3361
- "type": "stat-display",
3403
+ "value": "@entity.percentComplete",
3362
3404
  "label": "PercentComplete",
3363
- "value": "@entity.percentComplete"
3405
+ "type": "stat-display"
3364
3406
  },
3365
3407
  {
3366
- "type": "card",
3367
3408
  "children": [
3368
3409
  {
3369
- "direction": "vertical",
3370
3410
  "gap": "sm",
3371
3411
  "children": [
3372
3412
  {
3413
+ "variant": "caption",
3373
3414
  "content": "LastActivity",
3374
- "type": "typography",
3375
- "variant": "caption"
3415
+ "type": "typography"
3376
3416
  },
3377
3417
  {
3378
- "content": "@entity.lastActivity",
3379
3418
  "variant": "h3",
3419
+ "content": "@entity.lastActivity",
3380
3420
  "type": "typography"
3381
3421
  }
3382
3422
  ],
3423
+ "direction": "vertical",
3383
3424
  "type": "stack"
3384
3425
  }
3385
- ]
3426
+ ],
3427
+ "type": "card"
3386
3428
  }
3387
- ],
3388
- "cols": 3.0
3429
+ ]
3389
3430
  }
3390
- ]
3431
+ ],
3432
+ "padding": "md"
3391
3433
  },
3392
3434
  {
3393
3435
  "type": "divider"
3394
3436
  },
3395
3437
  {
3438
+ "type": "grid",
3396
3439
  "children": [
3397
3440
  {
3441
+ "type": "card",
3398
3442
  "children": [
3399
3443
  {
3444
+ "variant": "caption",
3400
3445
  "content": "Chart View",
3401
- "type": "typography",
3402
- "variant": "caption"
3446
+ "type": "typography"
3403
3447
  }
3404
- ],
3405
- "type": "card"
3448
+ ]
3406
3449
  },
3407
3450
  {
3408
3451
  "type": "card",
3409
3452
  "children": [
3410
3453
  {
3454
+ "content": "Graph View",
3411
3455
  "type": "typography",
3412
- "variant": "caption",
3413
- "content": "Graph View"
3456
+ "variant": "caption"
3414
3457
  }
3415
3458
  ]
3416
3459
  }
3417
3460
  ],
3418
- "cols": 2.0,
3419
- "type": "grid",
3420
- "gap": "md"
3461
+ "gap": "md",
3462
+ "cols": 2.0
3421
3463
  },
3422
3464
  {
3423
3465
  "data": [
@@ -3426,8 +3468,8 @@
3426
3468
  "value": 12.0
3427
3469
  },
3428
3470
  {
3429
- "value": 19.0,
3430
- "date": "Feb"
3471
+ "date": "Feb",
3472
+ "value": 19.0
3431
3473
  },
3432
3474
  {
3433
3475
  "date": "Mar",
@@ -3442,78 +3484,78 @@
3442
3484
  "value": 22.0
3443
3485
  },
3444
3486
  {
3445
- "date": "Jun",
3446
- "value": 30.0
3487
+ "value": 30.0,
3488
+ "date": "Jun"
3447
3489
  }
3448
3490
  ],
3449
3491
  "type": "line-chart"
3450
3492
  },
3451
3493
  {
3452
- "type": "chart-legend",
3453
3494
  "items": [
3454
3495
  {
3455
3496
  "label": "Current",
3456
3497
  "color": "primary"
3457
3498
  },
3458
3499
  {
3459
- "label": "Previous",
3460
- "color": "muted"
3500
+ "color": "muted",
3501
+ "label": "Previous"
3461
3502
  }
3462
- ]
3503
+ ],
3504
+ "type": "chart-legend"
3463
3505
  },
3464
3506
  {
3507
+ "type": "graph-view",
3465
3508
  "nodes": [
3466
3509
  {
3467
3510
  "label": "Start",
3468
3511
  "id": "a"
3469
3512
  },
3470
3513
  {
3471
- "id": "b",
3472
- "label": "Process"
3514
+ "label": "Process",
3515
+ "id": "b"
3473
3516
  },
3474
3517
  {
3475
- "id": "c",
3476
- "label": "End"
3518
+ "label": "End",
3519
+ "id": "c"
3477
3520
  }
3478
3521
  ],
3522
+ "width": 400.0,
3523
+ "height": 200.0,
3479
3524
  "edges": [
3480
3525
  {
3481
3526
  "source": "a",
3482
3527
  "target": "b"
3483
3528
  },
3484
3529
  {
3485
- "target": "c",
3486
- "source": "b"
3530
+ "source": "b",
3531
+ "target": "c"
3487
3532
  }
3488
- ],
3489
- "type": "graph-view",
3490
- "width": 400.0,
3491
- "height": 200.0
3533
+ ]
3492
3534
  }
3493
3535
  ],
3494
- "gap": "lg"
3536
+ "type": "stack"
3495
3537
  }
3496
3538
  ]
3497
3539
  }
3498
3540
  ],
3499
- "appName": "LMS",
3500
3541
  "navItems": [
3501
3542
  {
3502
3543
  "href": "/courses",
3503
- "icon": "book-open",
3504
- "label": "Courses"
3544
+ "label": "Courses",
3545
+ "icon": "book-open"
3505
3546
  },
3506
3547
  {
3507
- "label": "Enroll",
3508
3548
  "href": "/enroll",
3549
+ "label": "Enroll",
3509
3550
  "icon": "layout-list"
3510
3551
  },
3511
3552
  {
3512
- "icon": "layout-list",
3513
3553
  "label": "Progress",
3554
+ "icon": "layout-list",
3514
3555
  "href": "/progress"
3515
3556
  }
3516
- ]
3557
+ ],
3558
+ "type": "dashboard-layout"
3517
3559
  }
3518
3560
  ]
3519
3561
  ]
@@ -3538,72 +3580,91 @@
3538
3580
  "main",
3539
3581
  {
3540
3582
  "appName": "LMS",
3583
+ "navItems": [
3584
+ {
3585
+ "label": "Courses",
3586
+ "icon": "book-open",
3587
+ "href": "/courses"
3588
+ },
3589
+ {
3590
+ "href": "/enroll",
3591
+ "label": "Enroll",
3592
+ "icon": "layout-list"
3593
+ },
3594
+ {
3595
+ "icon": "layout-list",
3596
+ "href": "/progress",
3597
+ "label": "Progress"
3598
+ }
3599
+ ],
3541
3600
  "children": [
3542
3601
  {
3543
3602
  "children": [
3544
3603
  {
3545
- "gap": "lg",
3546
3604
  "direction": "vertical",
3547
3605
  "type": "stack",
3548
3606
  "children": [
3549
3607
  {
3608
+ "type": "breadcrumb",
3550
3609
  "items": [
3551
3610
  {
3552
- "label": "Home",
3553
- "href": "/"
3611
+ "href": "/",
3612
+ "label": "Home"
3554
3613
  },
3555
3614
  {
3556
3615
  "label": "Progress"
3557
3616
  }
3558
- ],
3559
- "type": "breadcrumb"
3617
+ ]
3560
3618
  },
3561
3619
  {
3562
- "type": "stack",
3563
- "gap": "md",
3564
3620
  "direction": "horizontal",
3565
- "justify": "between",
3621
+ "gap": "md",
3566
3622
  "children": [
3567
3623
  {
3568
- "gap": "md",
3569
3624
  "direction": "horizontal",
3625
+ "gap": "md",
3626
+ "type": "stack",
3570
3627
  "children": [
3571
3628
  {
3572
- "type": "icon",
3573
- "name": "trending-up"
3629
+ "name": "trending-up",
3630
+ "type": "icon"
3574
3631
  },
3575
3632
  {
3576
- "type": "typography",
3577
3633
  "content": "Progress",
3634
+ "type": "typography",
3578
3635
  "variant": "h2"
3579
3636
  }
3580
- ],
3581
- "type": "stack"
3637
+ ]
3582
3638
  },
3583
3639
  {
3584
3640
  "action": "REFRESH",
3585
3641
  "variant": "secondary",
3586
- "label": "Refresh",
3642
+ "icon": "refresh-cw",
3587
3643
  "type": "button",
3588
- "icon": "refresh-cw"
3644
+ "label": "Refresh"
3589
3645
  }
3590
- ]
3646
+ ],
3647
+ "type": "stack",
3648
+ "justify": "between"
3591
3649
  },
3592
3650
  {
3593
3651
  "type": "divider"
3594
3652
  },
3595
3653
  {
3596
- "padding": "md",
3597
3654
  "type": "box",
3655
+ "padding": "md",
3598
3656
  "children": [
3599
3657
  {
3658
+ "cols": 3.0,
3659
+ "type": "simple-grid",
3600
3660
  "children": [
3601
3661
  {
3602
3662
  "type": "card",
3603
3663
  "children": [
3604
3664
  {
3605
- "direction": "vertical",
3606
3665
  "gap": "sm",
3666
+ "type": "stack",
3667
+ "direction": "vertical",
3607
3668
  "children": [
3608
3669
  {
3609
3670
  "content": "CourseName",
@@ -3615,15 +3676,14 @@
3615
3676
  "variant": "h3",
3616
3677
  "content": "@entity.courseName"
3617
3678
  }
3618
- ],
3619
- "type": "stack"
3679
+ ]
3620
3680
  }
3621
3681
  ]
3622
3682
  },
3623
3683
  {
3624
- "label": "LessonsCompleted",
3684
+ "type": "stat-display",
3625
3685
  "value": "@entity.lessonsCompleted",
3626
- "type": "stat-display"
3686
+ "label": "LessonsCompleted"
3627
3687
  },
3628
3688
  {
3629
3689
  "value": "@entity.totalLessons",
@@ -3631,35 +3691,33 @@
3631
3691
  "label": "TotalLessons"
3632
3692
  },
3633
3693
  {
3634
- "type": "stat-display",
3694
+ "label": "PercentComplete",
3635
3695
  "value": "@entity.percentComplete",
3636
- "label": "PercentComplete"
3696
+ "type": "stat-display"
3637
3697
  },
3638
3698
  {
3639
- "type": "card",
3640
3699
  "children": [
3641
3700
  {
3701
+ "type": "stack",
3702
+ "gap": "sm",
3703
+ "direction": "vertical",
3642
3704
  "children": [
3643
3705
  {
3644
- "type": "typography",
3645
3706
  "content": "LastActivity",
3646
- "variant": "caption"
3707
+ "variant": "caption",
3708
+ "type": "typography"
3647
3709
  },
3648
3710
  {
3711
+ "content": "@entity.lastActivity",
3649
3712
  "type": "typography",
3650
- "variant": "h3",
3651
- "content": "@entity.lastActivity"
3713
+ "variant": "h3"
3652
3714
  }
3653
- ],
3654
- "gap": "sm",
3655
- "type": "stack",
3656
- "direction": "vertical"
3715
+ ]
3657
3716
  }
3658
- ]
3717
+ ],
3718
+ "type": "card"
3659
3719
  }
3660
- ],
3661
- "cols": 3.0,
3662
- "type": "simple-grid"
3720
+ ]
3663
3721
  }
3664
3722
  ]
3665
3723
  },
@@ -3667,41 +3725,42 @@
3667
3725
  "type": "divider"
3668
3726
  },
3669
3727
  {
3670
- "type": "grid",
3671
- "cols": 2.0,
3672
- "gap": "md",
3673
3728
  "children": [
3674
3729
  {
3675
3730
  "type": "card",
3676
3731
  "children": [
3677
3732
  {
3678
- "type": "typography",
3679
3733
  "variant": "caption",
3680
- "content": "Chart View"
3734
+ "content": "Chart View",
3735
+ "type": "typography"
3681
3736
  }
3682
3737
  ]
3683
3738
  },
3684
3739
  {
3740
+ "type": "card",
3685
3741
  "children": [
3686
3742
  {
3687
- "content": "Graph View",
3688
3743
  "type": "typography",
3689
- "variant": "caption"
3744
+ "variant": "caption",
3745
+ "content": "Graph View"
3690
3746
  }
3691
- ],
3692
- "type": "card"
3747
+ ]
3693
3748
  }
3694
- ]
3749
+ ],
3750
+ "gap": "md",
3751
+ "type": "grid",
3752
+ "cols": 2.0
3695
3753
  },
3696
3754
  {
3755
+ "type": "line-chart",
3697
3756
  "data": [
3698
3757
  {
3699
- "date": "Jan",
3700
- "value": 12.0
3758
+ "value": 12.0,
3759
+ "date": "Jan"
3701
3760
  },
3702
3761
  {
3703
- "date": "Feb",
3704
- "value": 19.0
3762
+ "value": 19.0,
3763
+ "date": "Feb"
3705
3764
  },
3706
3765
  {
3707
3766
  "value": 15.0,
@@ -3712,82 +3771,65 @@
3712
3771
  "value": 25.0
3713
3772
  },
3714
3773
  {
3715
- "date": "May",
3716
- "value": 22.0
3774
+ "value": 22.0,
3775
+ "date": "May"
3717
3776
  },
3718
3777
  {
3719
3778
  "date": "Jun",
3720
3779
  "value": 30.0
3721
3780
  }
3722
- ],
3723
- "type": "line-chart"
3781
+ ]
3724
3782
  },
3725
3783
  {
3726
- "type": "chart-legend",
3727
3784
  "items": [
3728
3785
  {
3729
- "color": "primary",
3730
- "label": "Current"
3786
+ "label": "Current",
3787
+ "color": "primary"
3731
3788
  },
3732
3789
  {
3733
- "label": "Previous",
3734
- "color": "muted"
3790
+ "color": "muted",
3791
+ "label": "Previous"
3735
3792
  }
3736
- ]
3793
+ ],
3794
+ "type": "chart-legend"
3737
3795
  },
3738
3796
  {
3797
+ "width": 400.0,
3739
3798
  "nodes": [
3740
3799
  {
3741
3800
  "id": "a",
3742
3801
  "label": "Start"
3743
3802
  },
3744
3803
  {
3745
- "id": "b",
3746
- "label": "Process"
3804
+ "label": "Process",
3805
+ "id": "b"
3747
3806
  },
3748
3807
  {
3749
- "label": "End",
3750
- "id": "c"
3808
+ "id": "c",
3809
+ "label": "End"
3751
3810
  }
3752
3811
  ],
3812
+ "height": 200.0,
3753
3813
  "edges": [
3754
3814
  {
3755
- "target": "b",
3756
- "source": "a"
3815
+ "source": "a",
3816
+ "target": "b"
3757
3817
  },
3758
3818
  {
3759
- "target": "c",
3760
- "source": "b"
3819
+ "source": "b",
3820
+ "target": "c"
3761
3821
  }
3762
3822
  ],
3763
- "type": "graph-view",
3764
- "height": 200.0,
3765
- "width": 400.0
3823
+ "type": "graph-view"
3766
3824
  }
3767
- ]
3825
+ ],
3826
+ "gap": "lg"
3768
3827
  }
3769
3828
  ],
3770
3829
  "type": "scaled-diagram"
3771
3830
  }
3772
3831
  ],
3773
- "type": "dashboard-layout",
3774
- "navItems": [
3775
- {
3776
- "icon": "book-open",
3777
- "href": "/courses",
3778
- "label": "Courses"
3779
- },
3780
- {
3781
- "href": "/enroll",
3782
- "label": "Enroll",
3783
- "icon": "layout-list"
3784
- },
3785
- {
3786
- "icon": "layout-list",
3787
- "label": "Progress",
3788
- "href": "/progress"
3789
- }
3790
- ]
3832
+ "type": "dashboard-layout"
3791
3833
  }
3792
3834
  ]
3793
3835
  ]
@@ -3802,8 +3844,8 @@
3802
3844
  "Progress",
3803
3845
  {
3804
3846
  "emit": {
3805
- "success": "ProgressLoaded",
3806
- "failure": "ProgressLoadFailed"
3847
+ "failure": "ProgressLoadFailed",
3848
+ "success": "ProgressLoaded"
3807
3849
  }
3808
3850
  }
3809
3851
  ],
@@ -3811,33 +3853,36 @@
3811
3853
  "render-ui",
3812
3854
  "main",
3813
3855
  {
3856
+ "type": "dashboard-layout",
3814
3857
  "navItems": [
3815
3858
  {
3816
3859
  "label": "Courses",
3817
- "href": "/courses",
3818
- "icon": "book-open"
3860
+ "icon": "book-open",
3861
+ "href": "/courses"
3819
3862
  },
3820
3863
  {
3821
- "icon": "layout-list",
3822
3864
  "label": "Enroll",
3823
- "href": "/enroll"
3865
+ "href": "/enroll",
3866
+ "icon": "layout-list"
3824
3867
  },
3825
3868
  {
3869
+ "icon": "layout-list",
3826
3870
  "label": "Progress",
3827
- "href": "/progress",
3828
- "icon": "layout-list"
3871
+ "href": "/progress"
3829
3872
  }
3830
3873
  ],
3831
3874
  "children": [
3832
3875
  {
3876
+ "type": "scaled-diagram",
3833
3877
  "children": [
3834
3878
  {
3879
+ "gap": "lg",
3835
3880
  "children": [
3836
3881
  {
3837
3882
  "items": [
3838
3883
  {
3839
- "href": "/",
3840
- "label": "Home"
3884
+ "label": "Home",
3885
+ "href": "/"
3841
3886
  },
3842
3887
  {
3843
3888
  "label": "Progress"
@@ -3849,70 +3894,67 @@
3849
3894
  "children": [
3850
3895
  {
3851
3896
  "direction": "horizontal",
3897
+ "gap": "md",
3898
+ "type": "stack",
3852
3899
  "children": [
3853
3900
  {
3854
3901
  "type": "icon",
3855
3902
  "name": "trending-up"
3856
3903
  },
3857
3904
  {
3858
- "variant": "h2",
3859
3905
  "content": "Progress",
3860
- "type": "typography"
3906
+ "type": "typography",
3907
+ "variant": "h2"
3861
3908
  }
3862
- ],
3863
- "gap": "md",
3864
- "type": "stack"
3909
+ ]
3865
3910
  },
3866
3911
  {
3912
+ "variant": "secondary",
3913
+ "icon": "refresh-cw",
3867
3914
  "label": "Refresh",
3868
- "action": "REFRESH",
3869
3915
  "type": "button",
3870
- "variant": "secondary",
3871
- "icon": "refresh-cw"
3916
+ "action": "REFRESH"
3872
3917
  }
3873
3918
  ],
3874
3919
  "justify": "between",
3875
3920
  "type": "stack",
3876
- "gap": "md",
3877
- "direction": "horizontal"
3921
+ "direction": "horizontal",
3922
+ "gap": "md"
3878
3923
  },
3879
3924
  {
3880
3925
  "type": "divider"
3881
3926
  },
3882
3927
  {
3883
- "type": "box",
3884
- "padding": "md",
3885
3928
  "children": [
3886
3929
  {
3887
- "type": "simple-grid",
3888
3930
  "cols": 3.0,
3889
3931
  "children": [
3890
3932
  {
3891
3933
  "type": "card",
3892
3934
  "children": [
3893
3935
  {
3936
+ "type": "stack",
3894
3937
  "direction": "vertical",
3895
3938
  "children": [
3896
3939
  {
3897
3940
  "type": "typography",
3898
- "variant": "caption",
3899
- "content": "CourseName"
3941
+ "content": "CourseName",
3942
+ "variant": "caption"
3900
3943
  },
3901
3944
  {
3945
+ "variant": "h3",
3902
3946
  "content": "@entity.courseName",
3903
- "type": "typography",
3904
- "variant": "h3"
3947
+ "type": "typography"
3905
3948
  }
3906
3949
  ],
3907
- "gap": "sm",
3908
- "type": "stack"
3950
+ "gap": "sm"
3909
3951
  }
3910
3952
  ]
3911
3953
  },
3912
3954
  {
3913
- "value": "@entity.lessonsCompleted",
3955
+ "type": "stat-display",
3914
3956
  "label": "LessonsCompleted",
3915
- "type": "stat-display"
3957
+ "value": "@entity.lessonsCompleted"
3916
3958
  },
3917
3959
  {
3918
3960
  "label": "TotalLessons",
@@ -3928,8 +3970,8 @@
3928
3970
  "type": "card",
3929
3971
  "children": [
3930
3972
  {
3931
- "direction": "vertical",
3932
3973
  "type": "stack",
3974
+ "direction": "vertical",
3933
3975
  "gap": "sm",
3934
3976
  "children": [
3935
3977
  {
@@ -3939,49 +3981,51 @@
3939
3981
  },
3940
3982
  {
3941
3983
  "content": "@entity.lastActivity",
3942
- "type": "typography",
3943
- "variant": "h3"
3984
+ "variant": "h3",
3985
+ "type": "typography"
3944
3986
  }
3945
3987
  ]
3946
3988
  }
3947
3989
  ]
3948
3990
  }
3949
- ]
3991
+ ],
3992
+ "type": "simple-grid"
3950
3993
  }
3951
- ]
3994
+ ],
3995
+ "padding": "md",
3996
+ "type": "box"
3952
3997
  },
3953
3998
  {
3954
3999
  "type": "divider"
3955
4000
  },
3956
4001
  {
3957
4002
  "gap": "md",
3958
- "type": "grid",
3959
4003
  "children": [
3960
4004
  {
3961
4005
  "type": "card",
3962
4006
  "children": [
3963
4007
  {
3964
- "variant": "caption",
4008
+ "content": "Chart View",
3965
4009
  "type": "typography",
3966
- "content": "Chart View"
4010
+ "variant": "caption"
3967
4011
  }
3968
4012
  ]
3969
4013
  },
3970
4014
  {
3971
4015
  "children": [
3972
4016
  {
3973
- "type": "typography",
3974
4017
  "content": "Graph View",
3975
- "variant": "caption"
4018
+ "variant": "caption",
4019
+ "type": "typography"
3976
4020
  }
3977
4021
  ],
3978
4022
  "type": "card"
3979
4023
  }
3980
4024
  ],
3981
- "cols": 2.0
4025
+ "cols": 2.0,
4026
+ "type": "grid"
3982
4027
  },
3983
4028
  {
3984
- "type": "line-chart",
3985
4029
  "data": [
3986
4030
  {
3987
4031
  "value": 12.0,
@@ -3992,22 +4036,23 @@
3992
4036
  "value": 19.0
3993
4037
  },
3994
4038
  {
3995
- "date": "Mar",
3996
- "value": 15.0
4039
+ "value": 15.0,
4040
+ "date": "Mar"
3997
4041
  },
3998
4042
  {
3999
- "date": "Apr",
4000
- "value": 25.0
4043
+ "value": 25.0,
4044
+ "date": "Apr"
4001
4045
  },
4002
4046
  {
4003
4047
  "date": "May",
4004
4048
  "value": 22.0
4005
4049
  },
4006
4050
  {
4007
- "date": "Jun",
4008
- "value": 30.0
4051
+ "value": 30.0,
4052
+ "date": "Jun"
4009
4053
  }
4010
- ]
4054
+ ],
4055
+ "type": "line-chart"
4011
4056
  },
4012
4057
  {
4013
4058
  "items": [
@@ -4016,24 +4061,25 @@
4016
4061
  "color": "primary"
4017
4062
  },
4018
4063
  {
4019
- "color": "muted",
4020
- "label": "Previous"
4064
+ "label": "Previous",
4065
+ "color": "muted"
4021
4066
  }
4022
4067
  ],
4023
4068
  "type": "chart-legend"
4024
4069
  },
4025
4070
  {
4071
+ "height": 200.0,
4072
+ "width": 400.0,
4026
4073
  "edges": [
4027
4074
  {
4028
- "source": "a",
4029
- "target": "b"
4075
+ "target": "b",
4076
+ "source": "a"
4030
4077
  },
4031
4078
  {
4032
- "source": "b",
4033
- "target": "c"
4079
+ "target": "c",
4080
+ "source": "b"
4034
4081
  }
4035
4082
  ],
4036
- "height": 200.0,
4037
4083
  "nodes": [
4038
4084
  {
4039
4085
  "label": "Start",
@@ -4048,20 +4094,16 @@
4048
4094
  "id": "c"
4049
4095
  }
4050
4096
  ],
4051
- "type": "graph-view",
4052
- "width": 400.0
4097
+ "type": "graph-view"
4053
4098
  }
4054
4099
  ],
4055
- "type": "stack",
4056
- "gap": "lg",
4057
- "direction": "vertical"
4100
+ "direction": "vertical",
4101
+ "type": "stack"
4058
4102
  }
4059
- ],
4060
- "type": "scaled-diagram"
4103
+ ]
4061
4104
  }
4062
4105
  ],
4063
- "appName": "LMS",
4064
- "type": "dashboard-layout"
4106
+ "appName": "LMS"
4065
4107
  }
4066
4108
  ]
4067
4109
  ]
@@ -4086,18 +4128,37 @@
4086
4128
  "main",
4087
4129
  {
4088
4130
  "type": "dashboard-layout",
4131
+ "navItems": [
4132
+ {
4133
+ "href": "/courses",
4134
+ "label": "Courses",
4135
+ "icon": "book-open"
4136
+ },
4137
+ {
4138
+ "icon": "layout-list",
4139
+ "label": "Enroll",
4140
+ "href": "/enroll"
4141
+ },
4142
+ {
4143
+ "href": "/progress",
4144
+ "label": "Progress",
4145
+ "icon": "layout-list"
4146
+ }
4147
+ ],
4089
4148
  "children": [
4090
4149
  {
4150
+ "type": "scaled-diagram",
4091
4151
  "children": [
4092
4152
  {
4093
- "direction": "vertical",
4153
+ "gap": "lg",
4154
+ "type": "stack",
4094
4155
  "children": [
4095
4156
  {
4096
4157
  "type": "breadcrumb",
4097
4158
  "items": [
4098
4159
  {
4099
- "href": "/",
4100
- "label": "Home"
4160
+ "label": "Home",
4161
+ "href": "/"
4101
4162
  },
4102
4163
  {
4103
4164
  "label": "Progress"
@@ -4105,13 +4166,12 @@
4105
4166
  ]
4106
4167
  },
4107
4168
  {
4108
- "gap": "md",
4109
- "justify": "between",
4110
4169
  "type": "stack",
4111
- "direction": "horizontal",
4170
+ "justify": "between",
4112
4171
  "children": [
4113
4172
  {
4114
- "type": "stack",
4173
+ "direction": "horizontal",
4174
+ "gap": "md",
4115
4175
  "children": [
4116
4176
  {
4117
4177
  "type": "icon",
@@ -4119,61 +4179,63 @@
4119
4179
  },
4120
4180
  {
4121
4181
  "type": "typography",
4122
- "variant": "h2",
4123
- "content": "Progress"
4182
+ "content": "Progress",
4183
+ "variant": "h2"
4124
4184
  }
4125
4185
  ],
4126
- "direction": "horizontal",
4127
- "gap": "md"
4186
+ "type": "stack"
4128
4187
  },
4129
4188
  {
4130
- "icon": "refresh-cw",
4131
- "variant": "secondary",
4132
- "action": "REFRESH",
4133
4189
  "label": "Refresh",
4134
- "type": "button"
4190
+ "action": "REFRESH",
4191
+ "type": "button",
4192
+ "variant": "secondary",
4193
+ "icon": "refresh-cw"
4135
4194
  }
4136
- ]
4195
+ ],
4196
+ "direction": "horizontal",
4197
+ "gap": "md"
4137
4198
  },
4138
4199
  {
4139
4200
  "type": "divider"
4140
4201
  },
4141
4202
  {
4203
+ "padding": "md",
4142
4204
  "children": [
4143
4205
  {
4144
4206
  "cols": 3.0,
4145
4207
  "children": [
4146
4208
  {
4209
+ "type": "card",
4147
4210
  "children": [
4148
4211
  {
4149
- "direction": "vertical",
4212
+ "type": "stack",
4150
4213
  "gap": "sm",
4214
+ "direction": "vertical",
4151
4215
  "children": [
4152
4216
  {
4153
- "type": "typography",
4154
4217
  "variant": "caption",
4218
+ "type": "typography",
4155
4219
  "content": "CourseName"
4156
4220
  },
4157
4221
  {
4158
- "content": "@entity.courseName",
4159
4222
  "variant": "h3",
4223
+ "content": "@entity.courseName",
4160
4224
  "type": "typography"
4161
4225
  }
4162
- ],
4163
- "type": "stack"
4226
+ ]
4164
4227
  }
4165
- ],
4166
- "type": "card"
4228
+ ]
4167
4229
  },
4168
4230
  {
4169
- "type": "stat-display",
4170
4231
  "value": "@entity.lessonsCompleted",
4232
+ "type": "stat-display",
4171
4233
  "label": "LessonsCompleted"
4172
4234
  },
4173
4235
  {
4236
+ "label": "TotalLessons",
4174
4237
  "value": "@entity.totalLessons",
4175
- "type": "stat-display",
4176
- "label": "TotalLessons"
4238
+ "type": "stat-display"
4177
4239
  },
4178
4240
  {
4179
4241
  "type": "stat-display",
@@ -4181,81 +4243,81 @@
4181
4243
  "value": "@entity.percentComplete"
4182
4244
  },
4183
4245
  {
4246
+ "type": "card",
4184
4247
  "children": [
4185
4248
  {
4186
- "direction": "vertical",
4187
4249
  "type": "stack",
4188
4250
  "children": [
4189
4251
  {
4252
+ "type": "typography",
4190
4253
  "variant": "caption",
4191
- "content": "LastActivity",
4192
- "type": "typography"
4254
+ "content": "LastActivity"
4193
4255
  },
4194
4256
  {
4257
+ "type": "typography",
4195
4258
  "variant": "h3",
4196
- "content": "@entity.lastActivity",
4197
- "type": "typography"
4259
+ "content": "@entity.lastActivity"
4198
4260
  }
4199
4261
  ],
4200
- "gap": "sm"
4262
+ "gap": "sm",
4263
+ "direction": "vertical"
4201
4264
  }
4202
- ],
4203
- "type": "card"
4265
+ ]
4204
4266
  }
4205
4267
  ],
4206
4268
  "type": "simple-grid"
4207
4269
  }
4208
4270
  ],
4209
- "type": "box",
4210
- "padding": "md"
4271
+ "type": "box"
4211
4272
  },
4212
4273
  {
4213
4274
  "type": "divider"
4214
4275
  },
4215
4276
  {
4216
- "cols": 2.0,
4217
4277
  "children": [
4218
4278
  {
4219
4279
  "type": "card",
4220
4280
  "children": [
4221
4281
  {
4282
+ "variant": "caption",
4222
4283
  "type": "typography",
4223
- "content": "Chart View",
4224
- "variant": "caption"
4284
+ "content": "Chart View"
4225
4285
  }
4226
4286
  ]
4227
4287
  },
4228
4288
  {
4229
- "type": "card",
4230
4289
  "children": [
4231
4290
  {
4232
- "variant": "caption",
4233
4291
  "type": "typography",
4292
+ "variant": "caption",
4234
4293
  "content": "Graph View"
4235
4294
  }
4236
- ]
4295
+ ],
4296
+ "type": "card"
4237
4297
  }
4238
4298
  ],
4239
4299
  "type": "grid",
4240
- "gap": "md"
4300
+ "gap": "md",
4301
+ "cols": 2.0
4241
4302
  },
4242
4303
  {
4304
+ "type": "line-chart",
4243
4305
  "data": [
4244
4306
  {
4245
- "date": "Jan",
4246
- "value": 12.0
4307
+ "value": 12.0,
4308
+ "date": "Jan"
4247
4309
  },
4248
4310
  {
4249
4311
  "date": "Feb",
4250
4312
  "value": 19.0
4251
4313
  },
4252
4314
  {
4253
- "value": 15.0,
4254
- "date": "Mar"
4315
+ "date": "Mar",
4316
+ "value": 15.0
4255
4317
  },
4256
4318
  {
4257
- "date": "Apr",
4258
- "value": 25.0
4319
+ "value": 25.0,
4320
+ "date": "Apr"
4259
4321
  },
4260
4322
  {
4261
4323
  "value": 22.0,
@@ -4265,8 +4327,7 @@
4265
4327
  "value": 30.0,
4266
4328
  "date": "Jun"
4267
4329
  }
4268
- ],
4269
- "type": "line-chart"
4330
+ ]
4270
4331
  },
4271
4332
  {
4272
4333
  "items": [
@@ -4282,57 +4343,38 @@
4282
4343
  "type": "chart-legend"
4283
4344
  },
4284
4345
  {
4346
+ "type": "graph-view",
4285
4347
  "edges": [
4286
4348
  {
4287
- "source": "a",
4288
- "target": "b"
4349
+ "target": "b",
4350
+ "source": "a"
4289
4351
  },
4290
4352
  {
4291
4353
  "target": "c",
4292
4354
  "source": "b"
4293
4355
  }
4294
4356
  ],
4295
- "type": "graph-view",
4296
4357
  "width": 400.0,
4297
- "height": 200.0,
4298
4358
  "nodes": [
4299
4359
  {
4300
- "id": "a",
4301
- "label": "Start"
4360
+ "label": "Start",
4361
+ "id": "a"
4302
4362
  },
4303
4363
  {
4304
- "id": "b",
4305
- "label": "Process"
4364
+ "label": "Process",
4365
+ "id": "b"
4306
4366
  },
4307
4367
  {
4308
4368
  "id": "c",
4309
4369
  "label": "End"
4310
4370
  }
4311
- ]
4371
+ ],
4372
+ "height": 200.0
4312
4373
  }
4313
4374
  ],
4314
- "type": "stack",
4315
- "gap": "lg"
4375
+ "direction": "vertical"
4316
4376
  }
4317
- ],
4318
- "type": "scaled-diagram"
4319
- }
4320
- ],
4321
- "navItems": [
4322
- {
4323
- "label": "Courses",
4324
- "href": "/courses",
4325
- "icon": "book-open"
4326
- },
4327
- {
4328
- "label": "Enroll",
4329
- "href": "/enroll",
4330
- "icon": "layout-list"
4331
- },
4332
- {
4333
- "label": "Progress",
4334
- "href": "/progress",
4335
- "icon": "layout-list"
4377
+ ]
4336
4378
  }
4337
4379
  ],
4338
4380
  "appName": "LMS"
@@ -4359,61 +4401,44 @@
4359
4401
  "render-ui",
4360
4402
  "main",
4361
4403
  {
4362
- "navItems": [
4363
- {
4364
- "href": "/courses",
4365
- "icon": "book-open",
4366
- "label": "Courses"
4367
- },
4368
- {
4369
- "label": "Enroll",
4370
- "href": "/enroll",
4371
- "icon": "layout-list"
4372
- },
4373
- {
4374
- "label": "Progress",
4375
- "href": "/progress",
4376
- "icon": "layout-list"
4377
- }
4378
- ],
4404
+ "type": "dashboard-layout",
4379
4405
  "children": [
4380
4406
  {
4381
4407
  "type": "scaled-diagram",
4382
4408
  "children": [
4383
4409
  {
4410
+ "gap": "lg",
4411
+ "type": "stack",
4384
4412
  "children": [
4385
4413
  {
4386
- "type": "breadcrumb",
4387
4414
  "items": [
4388
4415
  {
4389
- "href": "/",
4390
- "label": "Home"
4416
+ "label": "Home",
4417
+ "href": "/"
4391
4418
  },
4392
4419
  {
4393
4420
  "label": "Progress"
4394
4421
  }
4395
- ]
4422
+ ],
4423
+ "type": "breadcrumb"
4396
4424
  },
4397
4425
  {
4398
- "type": "stack",
4399
- "gap": "md",
4400
- "justify": "between",
4401
4426
  "children": [
4402
4427
  {
4403
4428
  "gap": "md",
4429
+ "type": "stack",
4404
4430
  "direction": "horizontal",
4405
4431
  "children": [
4406
4432
  {
4407
- "type": "icon",
4408
- "name": "trending-up"
4433
+ "name": "trending-up",
4434
+ "type": "icon"
4409
4435
  },
4410
4436
  {
4411
- "content": "Progress",
4412
4437
  "variant": "h2",
4413
- "type": "typography"
4438
+ "type": "typography",
4439
+ "content": "Progress"
4414
4440
  }
4415
- ],
4416
- "type": "stack"
4441
+ ]
4417
4442
  },
4418
4443
  {
4419
4444
  "variant": "secondary",
@@ -4423,23 +4448,25 @@
4423
4448
  "action": "REFRESH"
4424
4449
  }
4425
4450
  ],
4451
+ "type": "stack",
4452
+ "gap": "md",
4453
+ "justify": "between",
4426
4454
  "direction": "horizontal"
4427
4455
  },
4428
4456
  {
4429
4457
  "type": "divider"
4430
4458
  },
4431
4459
  {
4432
- "padding": "md",
4433
- "type": "box",
4434
4460
  "children": [
4435
4461
  {
4436
4462
  "type": "simple-grid",
4437
- "cols": 3.0,
4438
4463
  "children": [
4439
4464
  {
4465
+ "type": "card",
4440
4466
  "children": [
4441
4467
  {
4442
4468
  "type": "stack",
4469
+ "gap": "sm",
4443
4470
  "children": [
4444
4471
  {
4445
4472
  "variant": "caption",
@@ -4448,15 +4475,13 @@
4448
4475
  },
4449
4476
  {
4450
4477
  "type": "typography",
4451
- "content": "@entity.courseName",
4452
- "variant": "h3"
4478
+ "variant": "h3",
4479
+ "content": "@entity.courseName"
4453
4480
  }
4454
4481
  ],
4455
- "direction": "vertical",
4456
- "gap": "sm"
4482
+ "direction": "vertical"
4457
4483
  }
4458
- ],
4459
- "type": "card"
4484
+ ]
4460
4485
  },
4461
4486
  {
4462
4487
  "type": "stat-display",
@@ -4464,47 +4489,48 @@
4464
4489
  "value": "@entity.lessonsCompleted"
4465
4490
  },
4466
4491
  {
4492
+ "label": "TotalLessons",
4467
4493
  "type": "stat-display",
4468
- "value": "@entity.totalLessons",
4469
- "label": "TotalLessons"
4494
+ "value": "@entity.totalLessons"
4470
4495
  },
4471
4496
  {
4472
- "type": "stat-display",
4473
4497
  "label": "PercentComplete",
4474
- "value": "@entity.percentComplete"
4498
+ "value": "@entity.percentComplete",
4499
+ "type": "stat-display"
4475
4500
  },
4476
4501
  {
4502
+ "type": "card",
4477
4503
  "children": [
4478
4504
  {
4479
- "gap": "sm",
4480
- "type": "stack",
4481
4505
  "direction": "vertical",
4482
4506
  "children": [
4483
4507
  {
4484
- "variant": "caption",
4485
4508
  "content": "LastActivity",
4486
- "type": "typography"
4509
+ "type": "typography",
4510
+ "variant": "caption"
4487
4511
  },
4488
4512
  {
4513
+ "type": "typography",
4489
4514
  "content": "@entity.lastActivity",
4490
- "variant": "h3",
4491
- "type": "typography"
4515
+ "variant": "h3"
4492
4516
  }
4493
- ]
4517
+ ],
4518
+ "type": "stack",
4519
+ "gap": "sm"
4494
4520
  }
4495
- ],
4496
- "type": "card"
4521
+ ]
4497
4522
  }
4498
- ]
4523
+ ],
4524
+ "cols": 3.0
4499
4525
  }
4500
- ]
4526
+ ],
4527
+ "padding": "md",
4528
+ "type": "box"
4501
4529
  },
4502
4530
  {
4503
4531
  "type": "divider"
4504
4532
  },
4505
4533
  {
4506
- "type": "grid",
4507
- "cols": 2.0,
4508
4534
  "gap": "md",
4509
4535
  "children": [
4510
4536
  {
@@ -4512,8 +4538,8 @@
4512
4538
  "children": [
4513
4539
  {
4514
4540
  "variant": "caption",
4515
- "content": "Chart View",
4516
- "type": "typography"
4541
+ "type": "typography",
4542
+ "content": "Chart View"
4517
4543
  }
4518
4544
  ]
4519
4545
  },
@@ -4521,40 +4547,42 @@
4521
4547
  "type": "card",
4522
4548
  "children": [
4523
4549
  {
4524
- "type": "typography",
4550
+ "content": "Graph View",
4525
4551
  "variant": "caption",
4526
- "content": "Graph View"
4552
+ "type": "typography"
4527
4553
  }
4528
4554
  ]
4529
4555
  }
4530
- ]
4556
+ ],
4557
+ "cols": 2.0,
4558
+ "type": "grid"
4531
4559
  },
4532
4560
  {
4533
4561
  "type": "line-chart",
4534
4562
  "data": [
4535
4563
  {
4536
- "value": 12.0,
4537
- "date": "Jan"
4564
+ "date": "Jan",
4565
+ "value": 12.0
4538
4566
  },
4539
4567
  {
4540
4568
  "date": "Feb",
4541
4569
  "value": 19.0
4542
4570
  },
4543
4571
  {
4544
- "date": "Mar",
4545
- "value": 15.0
4572
+ "value": 15.0,
4573
+ "date": "Mar"
4546
4574
  },
4547
4575
  {
4548
4576
  "date": "Apr",
4549
4577
  "value": 25.0
4550
4578
  },
4551
4579
  {
4552
- "value": 22.0,
4553
- "date": "May"
4580
+ "date": "May",
4581
+ "value": 22.0
4554
4582
  },
4555
4583
  {
4556
- "date": "Jun",
4557
- "value": 30.0
4584
+ "value": 30.0,
4585
+ "date": "Jun"
4558
4586
  }
4559
4587
  ]
4560
4588
  },
@@ -4566,50 +4594,64 @@
4566
4594
  "color": "primary"
4567
4595
  },
4568
4596
  {
4569
- "label": "Previous",
4570
- "color": "muted"
4597
+ "color": "muted",
4598
+ "label": "Previous"
4571
4599
  }
4572
4600
  ]
4573
4601
  },
4574
4602
  {
4603
+ "height": 200.0,
4575
4604
  "type": "graph-view",
4576
- "width": 400.0,
4605
+ "edges": [
4606
+ {
4607
+ "target": "b",
4608
+ "source": "a"
4609
+ },
4610
+ {
4611
+ "target": "c",
4612
+ "source": "b"
4613
+ }
4614
+ ],
4577
4615
  "nodes": [
4578
4616
  {
4579
4617
  "id": "a",
4580
4618
  "label": "Start"
4581
4619
  },
4582
4620
  {
4583
- "label": "Process",
4584
- "id": "b"
4621
+ "id": "b",
4622
+ "label": "Process"
4585
4623
  },
4586
4624
  {
4587
4625
  "label": "End",
4588
4626
  "id": "c"
4589
4627
  }
4590
4628
  ],
4591
- "edges": [
4592
- {
4593
- "target": "b",
4594
- "source": "a"
4595
- },
4596
- {
4597
- "target": "c",
4598
- "source": "b"
4599
- }
4600
- ],
4601
- "height": 200.0
4629
+ "width": 400.0
4602
4630
  }
4603
4631
  ],
4604
- "type": "stack",
4605
- "direction": "vertical",
4606
- "gap": "lg"
4632
+ "direction": "vertical"
4607
4633
  }
4608
4634
  ]
4609
4635
  }
4610
4636
  ],
4611
- "appName": "LMS",
4612
- "type": "dashboard-layout"
4637
+ "navItems": [
4638
+ {
4639
+ "icon": "book-open",
4640
+ "href": "/courses",
4641
+ "label": "Courses"
4642
+ },
4643
+ {
4644
+ "href": "/enroll",
4645
+ "label": "Enroll",
4646
+ "icon": "layout-list"
4647
+ },
4648
+ {
4649
+ "icon": "layout-list",
4650
+ "label": "Progress",
4651
+ "href": "/progress"
4652
+ }
4653
+ ],
4654
+ "appName": "LMS"
4613
4655
  }
4614
4656
  ]
4615
4657
  ]