@almadar/std 8.2.0 → 8.4.0

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