@almadar/std 8.2.0 → 8.3.0

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