@almadar/std 3.2.2 → 3.3.4

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 (343) hide show
  1. package/LICENSE +72 -21
  2. package/README.md +1 -1
  3. package/behaviors/exports/atoms/std-browse.orb +38 -45
  4. package/behaviors/exports/atoms/std-calendar.orb +770 -0
  5. package/behaviors/exports/atoms/std-combat-log.orb +12 -12
  6. package/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  7. package/behaviors/exports/atoms/std-display.orb +1175 -510
  8. package/behaviors/exports/atoms/std-drawer.orb +235 -133
  9. package/behaviors/exports/atoms/std-flip-card.orb +596 -0
  10. package/behaviors/exports/atoms/std-gallery.orb +382 -0
  11. package/behaviors/exports/atoms/std-game-audio.orb +9 -9
  12. package/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  13. package/behaviors/exports/atoms/std-game-hud.orb +10 -10
  14. package/behaviors/exports/atoms/std-game-menu.orb +12 -12
  15. package/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  16. package/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  17. package/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  18. package/behaviors/exports/atoms/std-loading.orb +131 -103
  19. package/behaviors/exports/atoms/std-modal.orb +5 -24
  20. package/behaviors/exports/atoms/std-notification.orb +71 -0
  21. package/behaviors/exports/atoms/std-pagination.orb +32 -40
  22. package/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  23. package/behaviors/exports/atoms/std-rating.orb +328 -0
  24. package/behaviors/exports/atoms/std-score-board.orb +9 -9
  25. package/behaviors/exports/atoms/std-score.orb +41 -0
  26. package/behaviors/exports/atoms/std-search.orb +44 -30
  27. package/behaviors/exports/atoms/std-selection.orb +30 -24
  28. package/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  29. package/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  30. package/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  31. package/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  32. package/behaviors/exports/atoms/std-service-email.orb +540 -0
  33. package/behaviors/exports/atoms/std-service-github.orb +586 -0
  34. package/behaviors/exports/atoms/std-service-llm.orb +671 -0
  35. package/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  36. package/behaviors/exports/atoms/std-service-redis.orb +580 -0
  37. package/behaviors/exports/atoms/std-service-storage.orb +664 -0
  38. package/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  39. package/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  40. package/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  41. package/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  42. package/behaviors/exports/atoms/std-sort.orb +82 -60
  43. package/behaviors/exports/atoms/std-sprite.orb +17 -17
  44. package/behaviors/exports/atoms/std-text-effects.orb +658 -0
  45. package/behaviors/exports/atoms/std-theme.orb +573 -0
  46. package/behaviors/exports/atoms/std-upload.orb +535 -0
  47. package/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  48. package/behaviors/exports/atoms/std-wizard.orb +664 -224
  49. package/behaviors/exports/molecules/std-builder-game.orb +43 -3
  50. package/behaviors/exports/molecules/std-cart.orb +319 -101
  51. package/behaviors/exports/molecules/std-classifier-game.orb +43 -3
  52. package/behaviors/exports/molecules/std-debugger-game.orb +43 -3
  53. package/behaviors/exports/molecules/std-detail.orb +46 -49
  54. package/behaviors/exports/molecules/std-event-handler-game.orb +43 -3
  55. package/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  56. package/behaviors/exports/molecules/std-geospatial.orb +48 -48
  57. package/behaviors/exports/molecules/std-inventory.orb +70 -50
  58. package/behaviors/exports/molecules/std-list.orb +174 -197
  59. package/behaviors/exports/molecules/std-messaging.orb +35 -50
  60. package/behaviors/exports/molecules/std-negotiator-game.orb +43 -3
  61. package/behaviors/exports/molecules/std-platformer-game.orb +18 -2
  62. package/behaviors/exports/molecules/std-puzzle-game.orb +32 -6
  63. package/behaviors/exports/molecules/std-quiz.orb +1069 -0
  64. package/behaviors/exports/molecules/std-sequencer-game.orb +43 -3
  65. package/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  66. package/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  67. package/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  68. package/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  69. package/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  70. package/behaviors/exports/molecules/std-simulator-game.orb +43 -3
  71. package/behaviors/exports/molecules/std-turn-based-battle.orb +26 -0
  72. package/behaviors/exports/organisms/std-api-gateway.orb +2326 -1320
  73. package/behaviors/exports/organisms/std-arcade-game.orb +377 -265
  74. package/behaviors/exports/organisms/std-booking-system.orb +3144 -1855
  75. package/behaviors/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  76. package/behaviors/exports/organisms/std-cms.orb +929 -822
  77. package/behaviors/exports/organisms/std-coding-academy.orb +1347 -458
  78. package/behaviors/exports/organisms/std-crm.orb +2302 -1282
  79. package/behaviors/exports/organisms/std-devops-dashboard.orb +3902 -2005
  80. package/behaviors/exports/organisms/std-ecommerce.orb +2432 -1630
  81. package/behaviors/exports/organisms/std-finance-tracker.orb +1674 -846
  82. package/behaviors/exports/organisms/std-healthcare.orb +3545 -1992
  83. package/behaviors/exports/organisms/std-helpdesk.orb +1853 -940
  84. package/behaviors/exports/organisms/std-hr-portal.orb +3249 -1939
  85. package/behaviors/exports/organisms/std-iot-dashboard.orb +2422 -1418
  86. package/behaviors/exports/organisms/std-lms.orb +2495 -1435
  87. package/behaviors/exports/organisms/std-logic-training.orb +220 -66
  88. package/behaviors/exports/organisms/std-platformer-app.orb +345 -214
  89. package/behaviors/exports/organisms/std-project-manager.orb +2217 -1190
  90. package/behaviors/exports/organisms/std-puzzle-app.orb +228 -103
  91. package/behaviors/exports/organisms/std-realtime-chat.orb +1887 -1051
  92. package/behaviors/exports/organisms/std-rpg-game.orb +1170 -948
  93. package/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  94. package/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  95. package/behaviors/exports/organisms/std-social-feed.orb +184 -172
  96. package/behaviors/exports/organisms/std-stem-lab.orb +1308 -482
  97. package/behaviors/exports/organisms/std-strategy-game.orb +1520 -696
  98. package/behaviors/exports/organisms/std-trading-dashboard.orb +1884 -904
  99. package/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  100. package/behaviors/exports/validation-report.json +0 -747
  101. package/dist/behaviors/exports/atoms/std-browse.orb +38 -45
  102. package/dist/behaviors/exports/atoms/std-calendar.orb +770 -0
  103. package/dist/behaviors/exports/atoms/std-combat-log.orb +12 -12
  104. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +11 -11
  105. package/dist/behaviors/exports/atoms/std-display.orb +1175 -510
  106. package/dist/behaviors/exports/atoms/std-drawer.orb +235 -133
  107. package/dist/behaviors/exports/atoms/std-flip-card.orb +596 -0
  108. package/dist/behaviors/exports/atoms/std-gallery.orb +382 -0
  109. package/dist/behaviors/exports/atoms/std-game-audio.orb +9 -9
  110. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +24 -24
  111. package/dist/behaviors/exports/atoms/std-game-hud.orb +10 -10
  112. package/dist/behaviors/exports/atoms/std-game-menu.orb +12 -12
  113. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +9 -9
  114. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +13 -13
  115. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +9 -9
  116. package/dist/behaviors/exports/atoms/std-loading.orb +131 -103
  117. package/dist/behaviors/exports/atoms/std-modal.orb +5 -24
  118. package/dist/behaviors/exports/atoms/std-notification.orb +71 -0
  119. package/dist/behaviors/exports/atoms/std-pagination.orb +32 -40
  120. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +9 -9
  121. package/dist/behaviors/exports/atoms/std-rating.orb +328 -0
  122. package/dist/behaviors/exports/atoms/std-score-board.orb +9 -9
  123. package/dist/behaviors/exports/atoms/std-score.orb +41 -0
  124. package/dist/behaviors/exports/atoms/std-search.orb +44 -30
  125. package/dist/behaviors/exports/atoms/std-selection.orb +30 -24
  126. package/dist/behaviors/exports/atoms/std-service-custom-bearer.orb +557 -0
  127. package/dist/behaviors/exports/atoms/std-service-custom-header.orb +559 -0
  128. package/dist/behaviors/exports/atoms/std-service-custom-noauth.orb +553 -0
  129. package/dist/behaviors/exports/atoms/std-service-custom-query.orb +559 -0
  130. package/dist/behaviors/exports/atoms/std-service-email.orb +540 -0
  131. package/dist/behaviors/exports/atoms/std-service-github.orb +586 -0
  132. package/dist/behaviors/exports/atoms/std-service-llm.orb +671 -0
  133. package/dist/behaviors/exports/atoms/std-service-oauth.orb +764 -0
  134. package/dist/behaviors/exports/atoms/std-service-redis.orb +580 -0
  135. package/dist/behaviors/exports/atoms/std-service-storage.orb +664 -0
  136. package/dist/behaviors/exports/atoms/std-service-stripe.orb +639 -0
  137. package/dist/behaviors/exports/atoms/std-service-twilio.orb +611 -0
  138. package/dist/behaviors/exports/atoms/std-service-youtube.orb +696 -0
  139. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +9 -9
  140. package/dist/behaviors/exports/atoms/std-sort.orb +82 -60
  141. package/dist/behaviors/exports/atoms/std-sprite.orb +17 -17
  142. package/dist/behaviors/exports/atoms/std-text-effects.orb +658 -0
  143. package/dist/behaviors/exports/atoms/std-theme.orb +573 -0
  144. package/dist/behaviors/exports/atoms/std-upload.orb +535 -0
  145. package/dist/behaviors/exports/atoms/std-validate-on-save.orb +623 -0
  146. package/dist/behaviors/exports/atoms/std-wizard.orb +664 -224
  147. package/dist/behaviors/exports/molecules/std-builder-game.orb +43 -3
  148. package/dist/behaviors/exports/molecules/std-cart.orb +319 -101
  149. package/dist/behaviors/exports/molecules/std-classifier-game.orb +43 -3
  150. package/dist/behaviors/exports/molecules/std-debugger-game.orb +43 -3
  151. package/dist/behaviors/exports/molecules/std-detail.orb +46 -49
  152. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +43 -3
  153. package/dist/behaviors/exports/molecules/std-form-advanced.orb +654 -0
  154. package/dist/behaviors/exports/molecules/std-geospatial.orb +48 -48
  155. package/dist/behaviors/exports/molecules/std-inventory.orb +70 -50
  156. package/dist/behaviors/exports/molecules/std-list.orb +174 -197
  157. package/dist/behaviors/exports/molecules/std-messaging.orb +35 -50
  158. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +43 -3
  159. package/dist/behaviors/exports/molecules/std-platformer-game.orb +18 -2
  160. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +32 -6
  161. package/dist/behaviors/exports/molecules/std-quiz.orb +1069 -0
  162. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +43 -3
  163. package/dist/behaviors/exports/molecules/std-service-content-pipeline.orb +915 -0
  164. package/dist/behaviors/exports/molecules/std-service-custom-api-tester.orb +860 -0
  165. package/dist/behaviors/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  166. package/dist/behaviors/exports/molecules/std-service-notification-hub.orb +696 -0
  167. package/dist/behaviors/exports/molecules/std-service-payment-flow.orb +873 -0
  168. package/dist/behaviors/exports/molecules/std-simulator-game.orb +43 -3
  169. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +26 -0
  170. package/dist/behaviors/exports/organisms/std-api-gateway.orb +2326 -1320
  171. package/dist/behaviors/exports/organisms/std-arcade-game.orb +377 -265
  172. package/dist/behaviors/exports/organisms/std-booking-system.orb +3144 -1855
  173. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  174. package/dist/behaviors/exports/organisms/std-cms.orb +929 -822
  175. package/dist/behaviors/exports/organisms/std-coding-academy.orb +1347 -458
  176. package/dist/behaviors/exports/organisms/std-crm.orb +2302 -1282
  177. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +3902 -2005
  178. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2432 -1630
  179. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +1674 -846
  180. package/dist/behaviors/exports/organisms/std-healthcare.orb +3545 -1992
  181. package/dist/behaviors/exports/organisms/std-helpdesk.orb +1853 -940
  182. package/dist/behaviors/exports/organisms/std-hr-portal.orb +3249 -1939
  183. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +2422 -1418
  184. package/dist/behaviors/exports/organisms/std-lms.orb +2495 -1435
  185. package/dist/behaviors/exports/organisms/std-logic-training.orb +220 -66
  186. package/dist/behaviors/exports/organisms/std-platformer-app.orb +345 -214
  187. package/dist/behaviors/exports/organisms/std-project-manager.orb +2217 -1190
  188. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +228 -103
  189. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +1887 -1051
  190. package/dist/behaviors/exports/organisms/std-rpg-game.orb +1170 -948
  191. package/dist/behaviors/exports/organisms/std-service-marketplace.orb +5191 -0
  192. package/dist/behaviors/exports/organisms/std-service-research-assistant.orb +3568 -0
  193. package/dist/behaviors/exports/organisms/std-social-feed.orb +184 -172
  194. package/dist/behaviors/exports/organisms/std-stem-lab.orb +1308 -482
  195. package/dist/behaviors/exports/organisms/std-strategy-game.orb +1520 -696
  196. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +1884 -904
  197. package/dist/behaviors/exports/test-schemas/os-trigger-simulation.orb +202 -0
  198. package/dist/behaviors/exports/validation-report.json +0 -747
  199. package/dist/behaviors/functions/index.d.ts +931 -1
  200. package/dist/behaviors/functions/index.js +12511 -4634
  201. package/dist/behaviors/functions/index.js.map +1 -1
  202. package/dist/behaviors/index.d.ts +1 -1
  203. package/dist/behaviors/index.js +12434 -4557
  204. package/dist/behaviors/index.js.map +1 -1
  205. package/dist/exports/atoms/std-browse.orb +38 -45
  206. package/dist/exports/atoms/std-calendar.orb +770 -0
  207. package/dist/exports/atoms/std-combat-log.orb +12 -12
  208. package/dist/exports/atoms/std-dialogue-box.orb +11 -11
  209. package/dist/exports/atoms/std-display.orb +1175 -510
  210. package/dist/exports/atoms/std-drawer.orb +235 -133
  211. package/dist/exports/atoms/std-flip-card.orb +596 -0
  212. package/dist/exports/atoms/std-gallery.orb +382 -0
  213. package/dist/exports/atoms/std-game-audio.orb +9 -9
  214. package/dist/exports/atoms/std-game-canvas3d.orb +24 -24
  215. package/dist/exports/atoms/std-game-hud.orb +10 -10
  216. package/dist/exports/atoms/std-game-menu.orb +12 -12
  217. package/dist/exports/atoms/std-game-over-screen.orb +9 -9
  218. package/dist/exports/atoms/std-inventory-panel.orb +13 -13
  219. package/dist/exports/atoms/std-isometric-canvas.orb +9 -9
  220. package/dist/exports/atoms/std-loading.orb +131 -103
  221. package/dist/exports/atoms/std-modal.orb +5 -24
  222. package/dist/exports/atoms/std-notification.orb +71 -0
  223. package/dist/exports/atoms/std-pagination.orb +32 -40
  224. package/dist/exports/atoms/std-platformer-canvas.orb +9 -9
  225. package/dist/exports/atoms/std-rating.orb +328 -0
  226. package/dist/exports/atoms/std-score-board.orb +9 -9
  227. package/dist/exports/atoms/std-score.orb +41 -0
  228. package/dist/exports/atoms/std-search.orb +44 -30
  229. package/dist/exports/atoms/std-selection.orb +30 -24
  230. package/dist/exports/atoms/std-service-custom-bearer.orb +557 -0
  231. package/dist/exports/atoms/std-service-custom-header.orb +559 -0
  232. package/dist/exports/atoms/std-service-custom-noauth.orb +553 -0
  233. package/dist/exports/atoms/std-service-custom-query.orb +559 -0
  234. package/dist/exports/atoms/std-service-email.orb +540 -0
  235. package/dist/exports/atoms/std-service-github.orb +586 -0
  236. package/dist/exports/atoms/std-service-llm.orb +671 -0
  237. package/dist/exports/atoms/std-service-oauth.orb +764 -0
  238. package/dist/exports/atoms/std-service-redis.orb +580 -0
  239. package/dist/exports/atoms/std-service-storage.orb +664 -0
  240. package/dist/exports/atoms/std-service-stripe.orb +639 -0
  241. package/dist/exports/atoms/std-service-twilio.orb +611 -0
  242. package/dist/exports/atoms/std-service-youtube.orb +696 -0
  243. package/dist/exports/atoms/std-simulation-canvas.orb +9 -9
  244. package/dist/exports/atoms/std-sort.orb +82 -60
  245. package/dist/exports/atoms/std-sprite.orb +17 -17
  246. package/dist/exports/atoms/std-text-effects.orb +658 -0
  247. package/dist/exports/atoms/std-theme.orb +573 -0
  248. package/dist/exports/atoms/std-upload.orb +535 -0
  249. package/dist/exports/atoms/std-validate-on-save.orb +623 -0
  250. package/dist/exports/atoms/std-wizard.orb +664 -224
  251. package/dist/exports/molecules/std-builder-game.orb +43 -3
  252. package/dist/exports/molecules/std-cart.orb +319 -101
  253. package/dist/exports/molecules/std-classifier-game.orb +43 -3
  254. package/dist/exports/molecules/std-debugger-game.orb +43 -3
  255. package/dist/exports/molecules/std-detail.orb +46 -49
  256. package/dist/exports/molecules/std-event-handler-game.orb +43 -3
  257. package/dist/exports/molecules/std-form-advanced.orb +654 -0
  258. package/dist/exports/molecules/std-geospatial.orb +48 -48
  259. package/dist/exports/molecules/std-inventory.orb +70 -50
  260. package/dist/exports/molecules/std-list.orb +174 -197
  261. package/dist/exports/molecules/std-messaging.orb +35 -50
  262. package/dist/exports/molecules/std-negotiator-game.orb +43 -3
  263. package/dist/exports/molecules/std-platformer-game.orb +18 -2
  264. package/dist/exports/molecules/std-puzzle-game.orb +32 -6
  265. package/dist/exports/molecules/std-quiz.orb +1069 -0
  266. package/dist/exports/molecules/std-sequencer-game.orb +43 -3
  267. package/dist/exports/molecules/std-service-content-pipeline.orb +915 -0
  268. package/dist/exports/molecules/std-service-custom-api-tester.orb +860 -0
  269. package/dist/exports/molecules/std-service-devops-toolkit.orb +1526 -0
  270. package/dist/exports/molecules/std-service-notification-hub.orb +696 -0
  271. package/dist/exports/molecules/std-service-payment-flow.orb +873 -0
  272. package/dist/exports/molecules/std-simulator-game.orb +43 -3
  273. package/dist/exports/molecules/std-turn-based-battle.orb +26 -0
  274. package/dist/exports/organisms/std-api-gateway.orb +2326 -1320
  275. package/dist/exports/organisms/std-arcade-game.orb +377 -265
  276. package/dist/exports/organisms/std-booking-system.orb +3144 -1855
  277. package/dist/exports/organisms/std-cicd-pipeline.orb +2107 -1122
  278. package/dist/exports/organisms/std-cms.orb +929 -822
  279. package/dist/exports/organisms/std-coding-academy.orb +1347 -458
  280. package/dist/exports/organisms/std-crm.orb +2302 -1282
  281. package/dist/exports/organisms/std-devops-dashboard.orb +3902 -2005
  282. package/dist/exports/organisms/std-ecommerce.orb +2432 -1630
  283. package/dist/exports/organisms/std-finance-tracker.orb +1674 -846
  284. package/dist/exports/organisms/std-healthcare.orb +3545 -1992
  285. package/dist/exports/organisms/std-helpdesk.orb +1853 -940
  286. package/dist/exports/organisms/std-hr-portal.orb +3249 -1939
  287. package/dist/exports/organisms/std-iot-dashboard.orb +2422 -1418
  288. package/dist/exports/organisms/std-lms.orb +2495 -1435
  289. package/dist/exports/organisms/std-logic-training.orb +220 -66
  290. package/dist/exports/organisms/std-platformer-app.orb +345 -214
  291. package/dist/exports/organisms/std-project-manager.orb +2217 -1190
  292. package/dist/exports/organisms/std-puzzle-app.orb +228 -103
  293. package/dist/exports/organisms/std-realtime-chat.orb +1887 -1051
  294. package/dist/exports/organisms/std-rpg-game.orb +1170 -948
  295. package/dist/exports/organisms/std-service-marketplace.orb +5191 -0
  296. package/dist/exports/organisms/std-service-research-assistant.orb +3568 -0
  297. package/dist/exports/organisms/std-social-feed.orb +184 -172
  298. package/dist/exports/organisms/std-stem-lab.orb +1308 -482
  299. package/dist/exports/organisms/std-strategy-game.orb +1520 -696
  300. package/dist/exports/organisms/std-trading-dashboard.orb +1884 -904
  301. package/dist/exports/test-schemas/os-trigger-simulation.orb +202 -0
  302. package/dist/exports/validation-report.json +0 -747
  303. package/dist/index.d.ts +3 -3
  304. package/dist/index.js +12826 -4799
  305. package/dist/index.js.map +1 -1
  306. package/dist/modules/array.d.ts +1 -1
  307. package/dist/modules/async.d.ts +1 -1
  308. package/dist/modules/contract.d.ts +22 -0
  309. package/dist/modules/contract.js +100 -0
  310. package/dist/modules/contract.js.map +1 -0
  311. package/dist/modules/data.d.ts +22 -0
  312. package/dist/modules/data.js +117 -0
  313. package/dist/modules/data.js.map +1 -0
  314. package/dist/modules/format.d.ts +1 -1
  315. package/dist/modules/graph.d.ts +23 -0
  316. package/dist/modules/graph.js +209 -0
  317. package/dist/modules/graph.js.map +1 -0
  318. package/dist/modules/index.d.ts +5 -1
  319. package/dist/modules/index.js +593 -63
  320. package/dist/modules/index.js.map +1 -1
  321. package/dist/modules/math.d.ts +1 -1
  322. package/dist/modules/nn.d.ts +1 -1
  323. package/dist/modules/nn.js +14 -14
  324. package/dist/modules/nn.js.map +1 -1
  325. package/dist/modules/object.d.ts +1 -1
  326. package/dist/modules/os.d.ts +19 -0
  327. package/dist/modules/os.js +116 -0
  328. package/dist/modules/os.js.map +1 -0
  329. package/dist/modules/prob.d.ts +1 -1
  330. package/dist/modules/str.d.ts +1 -1
  331. package/dist/modules/tensor.d.ts +1 -1
  332. package/dist/modules/tensor.js +29 -29
  333. package/dist/modules/tensor.js.map +1 -1
  334. package/dist/modules/time.d.ts +1 -1
  335. package/dist/modules/train.d.ts +1 -1
  336. package/dist/modules/train.js +19 -19
  337. package/dist/modules/train.js.map +1 -1
  338. package/dist/modules/validate.d.ts +1 -1
  339. package/dist/registry.d.ts +2 -2
  340. package/dist/registry.js +184 -65
  341. package/dist/registry.js.map +1 -1
  342. package/dist/{types-CmNM_IbV.d.ts → types-DOeGXRCm.d.ts} +3 -3
  343. package/package.json +2 -2
@@ -36,7 +36,12 @@
36
36
  {
37
37
  "name": "level",
38
38
  "type": "string",
39
- "default": "Beginner"
39
+ "default": "Beginner",
40
+ "values": [
41
+ "Beginner",
42
+ "Intermediate",
43
+ "Advanced"
44
+ ]
40
45
  }
41
46
  ]
42
47
  },
@@ -156,120 +161,127 @@
156
161
  "render-ui",
157
162
  "main",
158
163
  {
159
- "type": "stack",
160
- "direction": "vertical",
161
- "gap": "lg",
164
+ "type": "dashboard-layout",
165
+ "appName": "LMS",
166
+ "navItems": [
167
+ {
168
+ "label": "Courses",
169
+ "href": "/courses",
170
+ "icon": "book-open"
171
+ },
172
+ {
173
+ "label": "Enroll",
174
+ "href": "/enroll",
175
+ "icon": "layout-list"
176
+ },
177
+ {
178
+ "label": "Progress",
179
+ "href": "/progress",
180
+ "icon": "layout-list"
181
+ }
182
+ ],
162
183
  "children": [
163
184
  {
164
185
  "type": "stack",
165
- "direction": "horizontal",
166
- "gap": "md",
167
- "justify": "space-between",
186
+ "direction": "vertical",
187
+ "gap": "lg",
188
+ "className": "max-w-5xl mx-auto w-full",
168
189
  "children": [
169
190
  {
170
191
  "type": "stack",
171
192
  "direction": "horizontal",
172
- "gap": "sm",
193
+ "gap": "md",
194
+ "justify": "space-between",
173
195
  "align": "center",
174
- "children": [
175
- {
176
- "type": "icon",
177
- "name": "book-open",
178
- "size": "lg"
179
- },
180
- {
181
- "type": "typography",
182
- "content": "Courses",
183
- "variant": "h2"
184
- }
185
- ]
186
- },
187
- {
188
- "type": "stack",
189
- "direction": "horizontal",
190
- "gap": "sm",
191
- "children": [
192
- {
193
- "type": "button",
194
- "label": "Add Course",
195
- "event": "CREATE",
196
- "variant": "primary",
197
- "icon": "plus"
198
- }
199
- ]
200
- }
201
- ]
202
- },
203
- {
204
- "type": "divider"
205
- },
206
- {
207
- "type": "data-grid",
208
- "entity": "Course",
209
- "emptyIcon": "inbox",
210
- "emptyTitle": "No courses yet",
211
- "emptyDescription": "Create your first course to get started.",
212
- "itemActions": [
213
- {
214
- "label": "View",
215
- "event": "VIEW"
216
- },
217
- {
218
- "label": "Edit",
219
- "event": "EDIT"
220
- },
221
- {
222
- "label": "Delete",
223
- "event": "DELETE",
224
- "variant": "danger"
225
- }
226
- ],
227
- "className": "transition-shadow hover:shadow-md cursor-pointer",
228
- "renderItem": [
229
- "fn",
230
- "item",
231
- {
232
- "type": "stack",
233
- "direction": "vertical",
234
- "gap": "sm",
235
196
  "children": [
236
197
  {
237
198
  "type": "stack",
238
199
  "direction": "horizontal",
239
- "justify": "space-between",
200
+ "gap": "sm",
240
201
  "align": "center",
241
202
  "children": [
242
203
  {
243
- "type": "stack",
244
- "direction": "horizontal",
245
- "gap": "sm",
246
- "align": "center",
247
- "children": [
248
- {
249
- "type": "icon",
250
- "name": "book-open",
251
- "size": "sm"
252
- },
253
- {
254
- "type": "typography",
255
- "variant": "h4",
256
- "content": "@item.title"
257
- }
258
- ]
204
+ "type": "icon",
205
+ "name": "book-open",
206
+ "size": "lg"
259
207
  },
260
208
  {
261
- "type": "badge",
262
- "label": "@item.description"
209
+ "type": "typography",
210
+ "content": "Courses",
211
+ "variant": "h2"
263
212
  }
264
213
  ]
265
214
  },
266
215
  {
267
- "type": "typography",
268
- "variant": "caption",
269
- "color": "muted",
270
- "content": "@item.instructor"
216
+ "type": "stack",
217
+ "direction": "horizontal",
218
+ "gap": "sm",
219
+ "children": [
220
+ {
221
+ "type": "button",
222
+ "label": "Add Course",
223
+ "event": "CREATE",
224
+ "variant": "primary",
225
+ "icon": "plus"
226
+ }
227
+ ]
271
228
  }
272
229
  ]
230
+ },
231
+ {
232
+ "type": "divider"
233
+ },
234
+ {
235
+ "type": "data-grid",
236
+ "entity": "Course",
237
+ "emptyIcon": "inbox",
238
+ "emptyTitle": "No courses yet",
239
+ "emptyDescription": "Create a course to start teaching.",
240
+ "itemActions": [
241
+ {
242
+ "label": "View",
243
+ "event": "VIEW",
244
+ "variant": "ghost",
245
+ "size": "sm"
246
+ },
247
+ {
248
+ "label": "Edit",
249
+ "event": "EDIT",
250
+ "variant": "ghost",
251
+ "size": "sm"
252
+ },
253
+ {
254
+ "label": "Delete",
255
+ "event": "DELETE",
256
+ "variant": "danger",
257
+ "size": "sm"
258
+ }
259
+ ],
260
+ "columns": [
261
+ {
262
+ "name": "title",
263
+ "variant": "h3",
264
+ "icon": "book-open"
265
+ },
266
+ {
267
+ "name": "level",
268
+ "variant": "badge"
269
+ },
270
+ {
271
+ "name": "instructor",
272
+ "variant": "body"
273
+ },
274
+ {
275
+ "name": "duration",
276
+ "variant": "body"
277
+ },
278
+ {
279
+ "name": "description",
280
+ "variant": "caption"
281
+ }
282
+ ],
283
+ "cols": 2,
284
+ "gap": "md"
273
285
  }
274
286
  ]
275
287
  }
@@ -393,120 +405,127 @@
393
405
  "render-ui",
394
406
  "main",
395
407
  {
396
- "type": "stack",
397
- "direction": "vertical",
398
- "gap": "lg",
408
+ "type": "dashboard-layout",
409
+ "appName": "LMS",
410
+ "navItems": [
411
+ {
412
+ "label": "Courses",
413
+ "href": "/courses",
414
+ "icon": "book-open"
415
+ },
416
+ {
417
+ "label": "Enroll",
418
+ "href": "/enroll",
419
+ "icon": "layout-list"
420
+ },
421
+ {
422
+ "label": "Progress",
423
+ "href": "/progress",
424
+ "icon": "layout-list"
425
+ }
426
+ ],
399
427
  "children": [
400
428
  {
401
429
  "type": "stack",
402
- "direction": "horizontal",
403
- "gap": "md",
404
- "justify": "space-between",
430
+ "direction": "vertical",
431
+ "gap": "lg",
432
+ "className": "max-w-5xl mx-auto w-full",
405
433
  "children": [
406
434
  {
407
435
  "type": "stack",
408
436
  "direction": "horizontal",
409
- "gap": "sm",
437
+ "gap": "md",
438
+ "justify": "space-between",
410
439
  "align": "center",
411
- "children": [
412
- {
413
- "type": "icon",
414
- "name": "book-open",
415
- "size": "lg"
416
- },
417
- {
418
- "type": "typography",
419
- "content": "Courses",
420
- "variant": "h2"
421
- }
422
- ]
423
- },
424
- {
425
- "type": "stack",
426
- "direction": "horizontal",
427
- "gap": "sm",
428
- "children": [
429
- {
430
- "type": "button",
431
- "label": "Add Course",
432
- "event": "CREATE",
433
- "variant": "primary",
434
- "icon": "plus"
435
- }
436
- ]
437
- }
438
- ]
439
- },
440
- {
441
- "type": "divider"
442
- },
443
- {
444
- "type": "data-grid",
445
- "entity": "Course",
446
- "emptyIcon": "inbox",
447
- "emptyTitle": "No courses yet",
448
- "emptyDescription": "Create your first course to get started.",
449
- "itemActions": [
450
- {
451
- "label": "View",
452
- "event": "VIEW"
453
- },
454
- {
455
- "label": "Edit",
456
- "event": "EDIT"
457
- },
458
- {
459
- "label": "Delete",
460
- "event": "DELETE",
461
- "variant": "danger"
462
- }
463
- ],
464
- "className": "transition-shadow hover:shadow-md cursor-pointer",
465
- "renderItem": [
466
- "fn",
467
- "item",
468
- {
469
- "type": "stack",
470
- "direction": "vertical",
471
- "gap": "sm",
472
440
  "children": [
473
441
  {
474
442
  "type": "stack",
475
443
  "direction": "horizontal",
476
- "justify": "space-between",
444
+ "gap": "sm",
477
445
  "align": "center",
478
446
  "children": [
479
447
  {
480
- "type": "stack",
481
- "direction": "horizontal",
482
- "gap": "sm",
483
- "align": "center",
484
- "children": [
485
- {
486
- "type": "icon",
487
- "name": "book-open",
488
- "size": "sm"
489
- },
490
- {
491
- "type": "typography",
492
- "variant": "h4",
493
- "content": "@item.title"
494
- }
495
- ]
448
+ "type": "icon",
449
+ "name": "book-open",
450
+ "size": "lg"
496
451
  },
497
452
  {
498
- "type": "badge",
499
- "label": "@item.description"
453
+ "type": "typography",
454
+ "content": "Courses",
455
+ "variant": "h2"
500
456
  }
501
457
  ]
502
458
  },
503
459
  {
504
- "type": "typography",
505
- "variant": "caption",
506
- "color": "muted",
507
- "content": "@item.instructor"
460
+ "type": "stack",
461
+ "direction": "horizontal",
462
+ "gap": "sm",
463
+ "children": [
464
+ {
465
+ "type": "button",
466
+ "label": "Add Course",
467
+ "event": "CREATE",
468
+ "variant": "primary",
469
+ "icon": "plus"
470
+ }
471
+ ]
508
472
  }
509
473
  ]
474
+ },
475
+ {
476
+ "type": "divider"
477
+ },
478
+ {
479
+ "type": "data-grid",
480
+ "entity": "Course",
481
+ "emptyIcon": "inbox",
482
+ "emptyTitle": "No courses yet",
483
+ "emptyDescription": "Create a course to start teaching.",
484
+ "itemActions": [
485
+ {
486
+ "label": "View",
487
+ "event": "VIEW",
488
+ "variant": "ghost",
489
+ "size": "sm"
490
+ },
491
+ {
492
+ "label": "Edit",
493
+ "event": "EDIT",
494
+ "variant": "ghost",
495
+ "size": "sm"
496
+ },
497
+ {
498
+ "label": "Delete",
499
+ "event": "DELETE",
500
+ "variant": "danger",
501
+ "size": "sm"
502
+ }
503
+ ],
504
+ "columns": [
505
+ {
506
+ "name": "title",
507
+ "variant": "h3",
508
+ "icon": "book-open"
509
+ },
510
+ {
511
+ "name": "level",
512
+ "variant": "badge"
513
+ },
514
+ {
515
+ "name": "instructor",
516
+ "variant": "body"
517
+ },
518
+ {
519
+ "name": "duration",
520
+ "variant": "body"
521
+ },
522
+ {
523
+ "name": "description",
524
+ "variant": "caption"
525
+ }
526
+ ],
527
+ "cols": 2,
528
+ "gap": "md"
510
529
  }
511
530
  ]
512
531
  }
@@ -537,121 +556,128 @@
537
556
  "render-ui",
538
557
  "main",
539
558
  {
540
- "type": "stack",
541
- "direction": "vertical",
542
- "gap": "lg",
559
+ "type": "dashboard-layout",
560
+ "appName": "LMS",
561
+ "navItems": [
562
+ {
563
+ "label": "Courses",
564
+ "href": "/courses",
565
+ "icon": "book-open"
566
+ },
567
+ {
568
+ "label": "Enroll",
569
+ "href": "/enroll",
570
+ "icon": "layout-list"
571
+ },
572
+ {
573
+ "label": "Progress",
574
+ "href": "/progress",
575
+ "icon": "layout-list"
576
+ }
577
+ ],
543
578
  "children": [
544
579
  {
545
580
  "type": "stack",
546
- "direction": "horizontal",
547
- "gap": "md",
548
- "justify": "space-between",
581
+ "direction": "vertical",
582
+ "gap": "lg",
583
+ "className": "max-w-5xl mx-auto w-full",
549
584
  "children": [
550
585
  {
551
586
  "type": "stack",
552
587
  "direction": "horizontal",
553
- "gap": "sm",
588
+ "gap": "md",
589
+ "justify": "space-between",
554
590
  "align": "center",
555
- "children": [
556
- {
557
- "type": "icon",
558
- "name": "book-open",
559
- "size": "lg"
560
- },
561
- {
562
- "type": "typography",
563
- "content": "Courses",
564
- "variant": "h2"
565
- }
566
- ]
567
- },
568
- {
569
- "type": "stack",
570
- "direction": "horizontal",
571
- "gap": "sm",
572
- "children": [
573
- {
574
- "type": "button",
575
- "label": "Add Course",
576
- "event": "CREATE",
577
- "variant": "primary",
578
- "icon": "plus"
579
- }
580
- ]
581
- }
582
- ]
583
- },
584
- {
585
- "type": "divider"
586
- },
587
- {
588
- "type": "data-grid",
589
- "entity": "Course",
590
- "emptyIcon": "inbox",
591
- "emptyTitle": "No courses yet",
592
- "emptyDescription": "Create your first course to get started.",
593
- "itemActions": [
594
- {
595
- "label": "View",
596
- "event": "VIEW"
597
- },
598
- {
599
- "label": "Edit",
600
- "event": "EDIT"
601
- },
602
- {
603
- "label": "Delete",
604
- "event": "DELETE",
605
- "variant": "danger"
606
- }
607
- ],
608
- "className": "transition-shadow hover:shadow-md cursor-pointer",
609
- "renderItem": [
610
- "fn",
611
- "item",
612
- {
613
- "type": "stack",
614
- "direction": "vertical",
615
- "gap": "sm",
616
591
  "children": [
617
592
  {
618
593
  "type": "stack",
619
594
  "direction": "horizontal",
620
- "justify": "space-between",
595
+ "gap": "sm",
621
596
  "align": "center",
622
597
  "children": [
623
598
  {
624
- "type": "stack",
625
- "direction": "horizontal",
626
- "gap": "sm",
627
- "align": "center",
628
- "children": [
629
- {
630
- "type": "icon",
631
- "name": "book-open",
632
- "size": "sm"
633
- },
634
- {
635
- "type": "typography",
636
- "variant": "h4",
637
- "content": "@item.title"
638
- }
639
- ]
599
+ "type": "icon",
600
+ "name": "book-open",
601
+ "size": "lg"
640
602
  },
641
603
  {
642
- "type": "badge",
643
- "label": "@item.description"
604
+ "type": "typography",
605
+ "content": "Courses",
606
+ "variant": "h2"
644
607
  }
645
608
  ]
646
609
  },
647
610
  {
648
- "type": "typography",
649
- "variant": "caption",
650
- "color": "muted",
651
- "content": "@item.instructor"
652
- }
653
- ]
654
- }
611
+ "type": "stack",
612
+ "direction": "horizontal",
613
+ "gap": "sm",
614
+ "children": [
615
+ {
616
+ "type": "button",
617
+ "label": "Add Course",
618
+ "event": "CREATE",
619
+ "variant": "primary",
620
+ "icon": "plus"
621
+ }
622
+ ]
623
+ }
624
+ ]
625
+ },
626
+ {
627
+ "type": "divider"
628
+ },
629
+ {
630
+ "type": "data-grid",
631
+ "entity": "Course",
632
+ "emptyIcon": "inbox",
633
+ "emptyTitle": "No courses yet",
634
+ "emptyDescription": "Create a course to start teaching.",
635
+ "itemActions": [
636
+ {
637
+ "label": "View",
638
+ "event": "VIEW",
639
+ "variant": "ghost",
640
+ "size": "sm"
641
+ },
642
+ {
643
+ "label": "Edit",
644
+ "event": "EDIT",
645
+ "variant": "ghost",
646
+ "size": "sm"
647
+ },
648
+ {
649
+ "label": "Delete",
650
+ "event": "DELETE",
651
+ "variant": "danger",
652
+ "size": "sm"
653
+ }
654
+ ],
655
+ "columns": [
656
+ {
657
+ "name": "title",
658
+ "variant": "h3",
659
+ "icon": "book-open"
660
+ },
661
+ {
662
+ "name": "level",
663
+ "variant": "badge"
664
+ },
665
+ {
666
+ "name": "instructor",
667
+ "variant": "body"
668
+ },
669
+ {
670
+ "name": "duration",
671
+ "variant": "body"
672
+ },
673
+ {
674
+ "name": "description",
675
+ "variant": "caption"
676
+ }
677
+ ],
678
+ "cols": 2,
679
+ "gap": "md"
680
+ }
655
681
  ]
656
682
  }
657
683
  ]
@@ -677,120 +703,127 @@
677
703
  "render-ui",
678
704
  "main",
679
705
  {
680
- "type": "stack",
681
- "direction": "vertical",
682
- "gap": "lg",
706
+ "type": "dashboard-layout",
707
+ "appName": "LMS",
708
+ "navItems": [
709
+ {
710
+ "label": "Courses",
711
+ "href": "/courses",
712
+ "icon": "book-open"
713
+ },
714
+ {
715
+ "label": "Enroll",
716
+ "href": "/enroll",
717
+ "icon": "layout-list"
718
+ },
719
+ {
720
+ "label": "Progress",
721
+ "href": "/progress",
722
+ "icon": "layout-list"
723
+ }
724
+ ],
683
725
  "children": [
684
726
  {
685
727
  "type": "stack",
686
- "direction": "horizontal",
687
- "gap": "md",
688
- "justify": "space-between",
728
+ "direction": "vertical",
729
+ "gap": "lg",
730
+ "className": "max-w-5xl mx-auto w-full",
689
731
  "children": [
690
732
  {
691
733
  "type": "stack",
692
734
  "direction": "horizontal",
693
- "gap": "sm",
735
+ "gap": "md",
736
+ "justify": "space-between",
694
737
  "align": "center",
695
- "children": [
696
- {
697
- "type": "icon",
698
- "name": "book-open",
699
- "size": "lg"
700
- },
701
- {
702
- "type": "typography",
703
- "content": "Courses",
704
- "variant": "h2"
705
- }
706
- ]
707
- },
708
- {
709
- "type": "stack",
710
- "direction": "horizontal",
711
- "gap": "sm",
712
- "children": [
713
- {
714
- "type": "button",
715
- "label": "Add Course",
716
- "event": "CREATE",
717
- "variant": "primary",
718
- "icon": "plus"
719
- }
720
- ]
721
- }
722
- ]
723
- },
724
- {
725
- "type": "divider"
726
- },
727
- {
728
- "type": "data-grid",
729
- "entity": "Course",
730
- "emptyIcon": "inbox",
731
- "emptyTitle": "No courses yet",
732
- "emptyDescription": "Create your first course to get started.",
733
- "itemActions": [
734
- {
735
- "label": "View",
736
- "event": "VIEW"
737
- },
738
- {
739
- "label": "Edit",
740
- "event": "EDIT"
741
- },
742
- {
743
- "label": "Delete",
744
- "event": "DELETE",
745
- "variant": "danger"
746
- }
747
- ],
748
- "className": "transition-shadow hover:shadow-md cursor-pointer",
749
- "renderItem": [
750
- "fn",
751
- "item",
752
- {
753
- "type": "stack",
754
- "direction": "vertical",
755
- "gap": "sm",
756
738
  "children": [
757
739
  {
758
740
  "type": "stack",
759
741
  "direction": "horizontal",
760
- "justify": "space-between",
742
+ "gap": "sm",
761
743
  "align": "center",
762
744
  "children": [
763
745
  {
764
- "type": "stack",
765
- "direction": "horizontal",
766
- "gap": "sm",
767
- "align": "center",
768
- "children": [
769
- {
770
- "type": "icon",
771
- "name": "book-open",
772
- "size": "sm"
773
- },
774
- {
775
- "type": "typography",
776
- "variant": "h4",
777
- "content": "@item.title"
778
- }
779
- ]
746
+ "type": "icon",
747
+ "name": "book-open",
748
+ "size": "lg"
780
749
  },
781
750
  {
782
- "type": "badge",
783
- "label": "@item.description"
751
+ "type": "typography",
752
+ "content": "Courses",
753
+ "variant": "h2"
784
754
  }
785
755
  ]
786
756
  },
787
757
  {
788
- "type": "typography",
789
- "variant": "caption",
790
- "color": "muted",
791
- "content": "@item.instructor"
758
+ "type": "stack",
759
+ "direction": "horizontal",
760
+ "gap": "sm",
761
+ "children": [
762
+ {
763
+ "type": "button",
764
+ "label": "Add Course",
765
+ "event": "CREATE",
766
+ "variant": "primary",
767
+ "icon": "plus"
768
+ }
769
+ ]
792
770
  }
793
771
  ]
772
+ },
773
+ {
774
+ "type": "divider"
775
+ },
776
+ {
777
+ "type": "data-grid",
778
+ "entity": "Course",
779
+ "emptyIcon": "inbox",
780
+ "emptyTitle": "No courses yet",
781
+ "emptyDescription": "Create a course to start teaching.",
782
+ "itemActions": [
783
+ {
784
+ "label": "View",
785
+ "event": "VIEW",
786
+ "variant": "ghost",
787
+ "size": "sm"
788
+ },
789
+ {
790
+ "label": "Edit",
791
+ "event": "EDIT",
792
+ "variant": "ghost",
793
+ "size": "sm"
794
+ },
795
+ {
796
+ "label": "Delete",
797
+ "event": "DELETE",
798
+ "variant": "danger",
799
+ "size": "sm"
800
+ }
801
+ ],
802
+ "columns": [
803
+ {
804
+ "name": "title",
805
+ "variant": "h3",
806
+ "icon": "book-open"
807
+ },
808
+ {
809
+ "name": "level",
810
+ "variant": "badge"
811
+ },
812
+ {
813
+ "name": "instructor",
814
+ "variant": "body"
815
+ },
816
+ {
817
+ "name": "duration",
818
+ "variant": "body"
819
+ },
820
+ {
821
+ "name": "description",
822
+ "variant": "caption"
823
+ }
824
+ ],
825
+ "cols": 2,
826
+ "gap": "md"
794
827
  }
795
828
  ]
796
829
  }
@@ -937,6 +970,11 @@
937
970
  "render-ui",
938
971
  "modal",
939
972
  null
973
+ ],
974
+ [
975
+ "notify",
976
+ "Cancelled",
977
+ "info"
940
978
  ]
941
979
  ]
942
980
  },
@@ -1103,6 +1141,11 @@
1103
1141
  "render-ui",
1104
1142
  "modal",
1105
1143
  null
1144
+ ],
1145
+ [
1146
+ "notify",
1147
+ "Cancelled",
1148
+ "info"
1106
1149
  ]
1107
1150
  ]
1108
1151
  },
@@ -1348,6 +1391,11 @@
1348
1391
  "render-ui",
1349
1392
  "modal",
1350
1393
  null
1394
+ ],
1395
+ [
1396
+ "notify",
1397
+ "Cancelled",
1398
+ "info"
1351
1399
  ]
1352
1400
  ]
1353
1401
  }
@@ -1405,13 +1453,19 @@
1405
1453
  },
1406
1454
  {
1407
1455
  "name": "enrolledAt",
1408
- "type": "string",
1456
+ "type": "date",
1409
1457
  "default": ""
1410
1458
  },
1411
1459
  {
1412
1460
  "name": "status",
1413
1461
  "type": "string",
1414
- "default": "pending"
1462
+ "default": "pending",
1463
+ "values": [
1464
+ "pending",
1465
+ "active",
1466
+ "completed",
1467
+ "dropped"
1468
+ ]
1415
1469
  }
1416
1470
  ]
1417
1471
  },
@@ -1486,72 +1540,102 @@
1486
1540
  "render-ui",
1487
1541
  "main",
1488
1542
  {
1489
- "type": "stack",
1490
- "direction": "vertical",
1491
- "gap": "lg",
1492
- "children": [
1493
- {
1494
- "type": "stack",
1495
- "direction": "horizontal",
1496
- "gap": "sm",
1497
- "align": "center",
1498
- "children": [
1499
- {
1500
- "type": "icon",
1501
- "name": "user-plus",
1502
- "size": "lg"
1503
- },
1504
- {
1505
- "type": "typography",
1506
- "content": "Course Enrollment",
1507
- "variant": "h2"
1508
- }
1509
- ]
1510
- },
1511
- {
1512
- "type": "progress-dots",
1513
- "count": 2,
1514
- "currentIndex": 0
1515
- },
1516
- {
1517
- "type": "wizard-progress",
1518
- "steps": [
1519
- "Student Info",
1520
- "Course Selection"
1521
- ],
1522
- "currentStep": 0
1523
- },
1543
+ "type": "dashboard-layout",
1544
+ "appName": "LMS",
1545
+ "navItems": [
1524
1546
  {
1525
- "type": "divider"
1547
+ "label": "Courses",
1548
+ "href": "/courses",
1549
+ "icon": "book-open"
1526
1550
  },
1527
1551
  {
1528
- "type": "typography",
1529
- "content": "Student Info",
1530
- "variant": "h3"
1552
+ "label": "Enroll",
1553
+ "href": "/enroll",
1554
+ "icon": "layout-list"
1531
1555
  },
1532
1556
  {
1533
- "type": "form-section",
1534
- "entity": "Enrollment",
1535
- "mode": "create",
1536
- "submitEvent": "NEXT",
1537
- "cancelEvent": "INIT",
1538
- "fields": [
1539
- "studentName",
1540
- "email"
1541
- ]
1542
- },
1557
+ "label": "Progress",
1558
+ "href": "/progress",
1559
+ "icon": "layout-list"
1560
+ }
1561
+ ],
1562
+ "children": [
1543
1563
  {
1544
- "type": "stack",
1545
- "direction": "horizontal",
1546
- "gap": "sm",
1547
- "justify": "end",
1564
+ "type": "container",
1565
+ "maxWidth": "lg",
1566
+ "padding": "lg",
1548
1567
  "children": [
1549
1568
  {
1550
- "type": "button",
1551
- "label": "Next",
1552
- "event": "NEXT",
1553
- "variant": "primary",
1554
- "icon": "arrow-right"
1569
+ "type": "stack",
1570
+ "direction": "vertical",
1571
+ "gap": "lg",
1572
+ "children": [
1573
+ {
1574
+ "type": "stack",
1575
+ "direction": "horizontal",
1576
+ "gap": "sm",
1577
+ "align": "center",
1578
+ "children": [
1579
+ {
1580
+ "type": "icon",
1581
+ "name": "user-plus",
1582
+ "size": "lg"
1583
+ },
1584
+ {
1585
+ "type": "typography",
1586
+ "content": "Course Enrollment",
1587
+ "variant": "h2"
1588
+ }
1589
+ ]
1590
+ },
1591
+ {
1592
+ "type": "progress-dots",
1593
+ "count": 2,
1594
+ "currentIndex": 0
1595
+ },
1596
+ {
1597
+ "type": "wizard-progress",
1598
+ "steps": [
1599
+ "Student Info",
1600
+ "Course Selection"
1601
+ ],
1602
+ "currentStep": 0
1603
+ },
1604
+ {
1605
+ "type": "divider"
1606
+ },
1607
+ {
1608
+ "type": "typography",
1609
+ "content": "Student Info",
1610
+ "variant": "h3"
1611
+ },
1612
+ {
1613
+ "type": "form-section",
1614
+ "entity": "Enrollment",
1615
+ "mode": "create",
1616
+ "submitEvent": "NEXT",
1617
+ "cancelEvent": "INIT",
1618
+ "fields": [
1619
+ "studentName",
1620
+ "email"
1621
+ ]
1622
+ },
1623
+ {
1624
+ "type": "stack",
1625
+ "direction": "horizontal",
1626
+ "gap": "sm",
1627
+ "justify": "end",
1628
+ "children": [
1629
+ {
1630
+ "type": "button",
1631
+ "label": "Next",
1632
+ "event": "NEXT",
1633
+ "variant": "primary",
1634
+ "icon": "arrow-right"
1635
+ }
1636
+ ]
1637
+ }
1638
+ ]
1555
1639
  }
1556
1640
  ]
1557
1641
  }
@@ -1573,81 +1657,111 @@
1573
1657
  "render-ui",
1574
1658
  "main",
1575
1659
  {
1576
- "type": "stack",
1577
- "direction": "vertical",
1578
- "gap": "lg",
1579
- "children": [
1580
- {
1581
- "type": "stack",
1582
- "direction": "horizontal",
1583
- "gap": "sm",
1584
- "align": "center",
1585
- "children": [
1586
- {
1587
- "type": "icon",
1588
- "name": "user-plus",
1589
- "size": "lg"
1590
- },
1591
- {
1592
- "type": "typography",
1593
- "content": "Course Enrollment",
1594
- "variant": "h2"
1595
- }
1596
- ]
1597
- },
1598
- {
1599
- "type": "progress-dots",
1600
- "count": 2,
1601
- "currentIndex": 1
1602
- },
1660
+ "type": "dashboard-layout",
1661
+ "appName": "LMS",
1662
+ "navItems": [
1603
1663
  {
1604
- "type": "wizard-progress",
1605
- "steps": [
1606
- "Student Info",
1607
- "Course Selection"
1608
- ],
1609
- "currentStep": 1
1610
- },
1611
- {
1612
- "type": "divider"
1664
+ "label": "Courses",
1665
+ "href": "/courses",
1666
+ "icon": "book-open"
1613
1667
  },
1614
1668
  {
1615
- "type": "typography",
1616
- "content": "Course Selection",
1617
- "variant": "h3"
1669
+ "label": "Enroll",
1670
+ "href": "/enroll",
1671
+ "icon": "layout-list"
1618
1672
  },
1619
1673
  {
1620
- "type": "form-section",
1621
- "entity": "Enrollment",
1622
- "mode": "create",
1623
- "submitEvent": "NEXT",
1624
- "cancelEvent": "PREV",
1625
- "fields": [
1626
- "courseId"
1627
- ]
1628
- },
1674
+ "label": "Progress",
1675
+ "href": "/progress",
1676
+ "icon": "layout-list"
1677
+ }
1678
+ ],
1679
+ "children": [
1629
1680
  {
1630
- "type": "stack",
1631
- "direction": "horizontal",
1632
- "gap": "sm",
1633
- "justify": "end",
1681
+ "type": "container",
1682
+ "maxWidth": "lg",
1683
+ "padding": "lg",
1634
1684
  "children": [
1635
1685
  {
1636
- "type": "button",
1637
- "label": "Back",
1638
- "event": "PREV",
1639
- "variant": "ghost",
1640
- "icon": "arrow-left"
1641
- },
1642
- {
1643
- "type": "button",
1644
- "label": "Next",
1645
- "event": "NEXT",
1646
- "variant": "primary",
1647
- "icon": "arrow-right"
1648
- }
1649
- ]
1650
- }
1686
+ "type": "stack",
1687
+ "direction": "vertical",
1688
+ "gap": "lg",
1689
+ "children": [
1690
+ {
1691
+ "type": "stack",
1692
+ "direction": "horizontal",
1693
+ "gap": "sm",
1694
+ "align": "center",
1695
+ "children": [
1696
+ {
1697
+ "type": "icon",
1698
+ "name": "user-plus",
1699
+ "size": "lg"
1700
+ },
1701
+ {
1702
+ "type": "typography",
1703
+ "content": "Course Enrollment",
1704
+ "variant": "h2"
1705
+ }
1706
+ ]
1707
+ },
1708
+ {
1709
+ "type": "progress-dots",
1710
+ "count": 2,
1711
+ "currentIndex": 1
1712
+ },
1713
+ {
1714
+ "type": "wizard-progress",
1715
+ "steps": [
1716
+ "Student Info",
1717
+ "Course Selection"
1718
+ ],
1719
+ "currentStep": 1
1720
+ },
1721
+ {
1722
+ "type": "divider"
1723
+ },
1724
+ {
1725
+ "type": "typography",
1726
+ "content": "Course Selection",
1727
+ "variant": "h3"
1728
+ },
1729
+ {
1730
+ "type": "form-section",
1731
+ "entity": "Enrollment",
1732
+ "mode": "create",
1733
+ "submitEvent": "NEXT",
1734
+ "cancelEvent": "PREV",
1735
+ "fields": [
1736
+ "courseId"
1737
+ ]
1738
+ },
1739
+ {
1740
+ "type": "stack",
1741
+ "direction": "horizontal",
1742
+ "gap": "sm",
1743
+ "justify": "end",
1744
+ "children": [
1745
+ {
1746
+ "type": "button",
1747
+ "label": "Back",
1748
+ "event": "PREV",
1749
+ "variant": "ghost",
1750
+ "icon": "arrow-left"
1751
+ },
1752
+ {
1753
+ "type": "button",
1754
+ "label": "Next",
1755
+ "event": "NEXT",
1756
+ "variant": "primary",
1757
+ "icon": "arrow-right"
1758
+ }
1759
+ ]
1760
+ }
1761
+ ]
1762
+ }
1763
+ ]
1764
+ }
1651
1765
  ]
1652
1766
  }
1653
1767
  ]
@@ -1666,155 +1780,295 @@
1666
1780
  "render-ui",
1667
1781
  "main",
1668
1782
  {
1669
- "type": "stack",
1670
- "direction": "vertical",
1671
- "gap": "lg",
1783
+ "type": "dashboard-layout",
1784
+ "appName": "LMS",
1785
+ "navItems": [
1786
+ {
1787
+ "label": "Courses",
1788
+ "href": "/courses",
1789
+ "icon": "book-open"
1790
+ },
1791
+ {
1792
+ "label": "Enroll",
1793
+ "href": "/enroll",
1794
+ "icon": "layout-list"
1795
+ },
1796
+ {
1797
+ "label": "Progress",
1798
+ "href": "/progress",
1799
+ "icon": "layout-list"
1800
+ }
1801
+ ],
1672
1802
  "children": [
1673
1803
  {
1674
1804
  "type": "stack",
1675
- "direction": "horizontal",
1676
- "gap": "sm",
1677
- "align": "center",
1805
+ "direction": "vertical",
1806
+ "gap": "lg",
1678
1807
  "children": [
1679
1808
  {
1680
- "type": "icon",
1681
- "name": "user-plus",
1682
- "size": "lg"
1809
+ "type": "stack",
1810
+ "direction": "horizontal",
1811
+ "gap": "sm",
1812
+ "align": "center",
1813
+ "children": [
1814
+ {
1815
+ "type": "icon",
1816
+ "name": "user-plus",
1817
+ "size": "lg"
1818
+ },
1819
+ {
1820
+ "type": "typography",
1821
+ "content": "Course Enrollment",
1822
+ "variant": "h2"
1823
+ }
1824
+ ]
1683
1825
  },
1684
1826
  {
1685
- "type": "typography",
1686
- "content": "Course Enrollment",
1687
- "variant": "h2"
1827
+ "type": "badge",
1828
+ "label": "Review"
1829
+ },
1830
+ {
1831
+ "type": "wizard-progress",
1832
+ "steps": [
1833
+ "Student Info",
1834
+ "Course Selection"
1835
+ ],
1836
+ "currentStep": 2
1837
+ },
1838
+ {
1839
+ "type": "divider"
1840
+ },
1841
+ {
1842
+ "type": "data-list",
1843
+ "entity": "Enrollment",
1844
+ "renderItem": [
1845
+ "fn",
1846
+ "item",
1847
+ {
1848
+ "type": "stack",
1849
+ "direction": "vertical",
1850
+ "gap": "sm",
1851
+ "children": [
1852
+ {
1853
+ "type": "stack",
1854
+ "direction": "horizontal",
1855
+ "gap": "md",
1856
+ "justify": "space-between",
1857
+ "children": [
1858
+ {
1859
+ "type": "typography",
1860
+ "variant": "caption",
1861
+ "content": "StudentName"
1862
+ },
1863
+ {
1864
+ "type": "typography",
1865
+ "variant": "body",
1866
+ "content": "@item.studentName"
1867
+ }
1868
+ ]
1869
+ },
1870
+ {
1871
+ "type": "stack",
1872
+ "direction": "horizontal",
1873
+ "gap": "md",
1874
+ "justify": "space-between",
1875
+ "children": [
1876
+ {
1877
+ "type": "typography",
1878
+ "variant": "caption",
1879
+ "content": "Email"
1880
+ },
1881
+ {
1882
+ "type": "typography",
1883
+ "variant": "body",
1884
+ "content": "@item.email"
1885
+ }
1886
+ ]
1887
+ },
1888
+ {
1889
+ "type": "stack",
1890
+ "direction": "horizontal",
1891
+ "gap": "md",
1892
+ "justify": "space-between",
1893
+ "children": [
1894
+ {
1895
+ "type": "typography",
1896
+ "variant": "caption",
1897
+ "content": "CourseId"
1898
+ },
1899
+ {
1900
+ "type": "typography",
1901
+ "variant": "body",
1902
+ "content": "@item.courseId"
1903
+ }
1904
+ ]
1905
+ },
1906
+ {
1907
+ "type": "stack",
1908
+ "direction": "horizontal",
1909
+ "gap": "md",
1910
+ "justify": "space-between",
1911
+ "children": [
1912
+ {
1913
+ "type": "typography",
1914
+ "variant": "caption",
1915
+ "content": "EnrolledAt"
1916
+ },
1917
+ {
1918
+ "type": "typography",
1919
+ "variant": "body",
1920
+ "content": "@item.enrolledAt"
1921
+ }
1922
+ ]
1923
+ },
1924
+ {
1925
+ "type": "stack",
1926
+ "direction": "horizontal",
1927
+ "gap": "md",
1928
+ "justify": "space-between",
1929
+ "children": [
1930
+ {
1931
+ "type": "typography",
1932
+ "variant": "caption",
1933
+ "content": "Status"
1934
+ },
1935
+ {
1936
+ "type": "typography",
1937
+ "variant": "body",
1938
+ "content": "@item.status"
1939
+ }
1940
+ ]
1941
+ }
1942
+ ]
1943
+ }
1944
+ ]
1945
+ },
1946
+ {
1947
+ "type": "wizard-navigation",
1948
+ "currentStep": 2,
1949
+ "totalSteps": 3,
1950
+ "showBack": true,
1951
+ "showComplete": true,
1952
+ "showNext": false
1688
1953
  }
1689
1954
  ]
1690
- },
1955
+ }
1956
+ ]
1957
+ }
1958
+ ]
1959
+ ]
1960
+ },
1961
+ {
1962
+ "from": "step2",
1963
+ "to": "step1",
1964
+ "event": "PREV",
1965
+ "effects": [
1966
+ [
1967
+ "fetch",
1968
+ "Enrollment"
1969
+ ],
1970
+ [
1971
+ "render-ui",
1972
+ "main",
1973
+ {
1974
+ "type": "dashboard-layout",
1975
+ "appName": "LMS",
1976
+ "navItems": [
1691
1977
  {
1692
- "type": "badge",
1693
- "label": "Review"
1978
+ "label": "Courses",
1979
+ "href": "/courses",
1980
+ "icon": "book-open"
1694
1981
  },
1695
1982
  {
1696
- "type": "wizard-progress",
1697
- "steps": [
1698
- "Student Info",
1699
- "Course Selection"
1700
- ],
1701
- "currentStep": 2
1983
+ "label": "Enroll",
1984
+ "href": "/enroll",
1985
+ "icon": "layout-list"
1702
1986
  },
1703
1987
  {
1704
- "type": "divider"
1705
- },
1988
+ "label": "Progress",
1989
+ "href": "/progress",
1990
+ "icon": "layout-list"
1991
+ }
1992
+ ],
1993
+ "children": [
1706
1994
  {
1707
- "type": "data-list",
1708
- "entity": "Enrollment",
1709
- "renderItem": [
1710
- "fn",
1711
- "item",
1995
+ "type": "container",
1996
+ "maxWidth": "lg",
1997
+ "padding": "lg",
1998
+ "children": [
1712
1999
  {
1713
2000
  "type": "stack",
1714
2001
  "direction": "vertical",
1715
- "gap": "sm",
2002
+ "gap": "lg",
1716
2003
  "children": [
1717
2004
  {
1718
2005
  "type": "stack",
1719
2006
  "direction": "horizontal",
1720
- "gap": "md",
1721
- "justify": "space-between",
2007
+ "gap": "sm",
2008
+ "align": "center",
1722
2009
  "children": [
1723
2010
  {
1724
- "type": "typography",
1725
- "variant": "caption",
1726
- "content": "StudentName"
2011
+ "type": "icon",
2012
+ "name": "user-plus",
2013
+ "size": "lg"
1727
2014
  },
1728
2015
  {
1729
2016
  "type": "typography",
1730
- "variant": "body",
1731
- "content": "@item.studentName"
2017
+ "content": "Course Enrollment",
2018
+ "variant": "h2"
1732
2019
  }
1733
2020
  ]
1734
2021
  },
1735
2022
  {
1736
- "type": "stack",
1737
- "direction": "horizontal",
1738
- "gap": "md",
1739
- "justify": "space-between",
1740
- "children": [
1741
- {
1742
- "type": "typography",
1743
- "variant": "caption",
1744
- "content": "Email"
1745
- },
1746
- {
1747
- "type": "typography",
1748
- "variant": "body",
1749
- "content": "@item.email"
1750
- }
1751
- ]
2023
+ "type": "progress-dots",
2024
+ "count": 2,
2025
+ "currentIndex": 0
1752
2026
  },
1753
2027
  {
1754
- "type": "stack",
1755
- "direction": "horizontal",
1756
- "gap": "md",
1757
- "justify": "space-between",
1758
- "children": [
1759
- {
1760
- "type": "typography",
1761
- "variant": "caption",
1762
- "content": "CourseId"
1763
- },
1764
- {
1765
- "type": "typography",
1766
- "variant": "body",
1767
- "content": "@item.courseId"
1768
- }
1769
- ]
2028
+ "type": "wizard-progress",
2029
+ "steps": [
2030
+ "Student Info",
2031
+ "Course Selection"
2032
+ ],
2033
+ "currentStep": 0
1770
2034
  },
1771
2035
  {
1772
- "type": "stack",
1773
- "direction": "horizontal",
1774
- "gap": "md",
1775
- "justify": "space-between",
1776
- "children": [
1777
- {
1778
- "type": "typography",
1779
- "variant": "caption",
1780
- "content": "EnrolledAt"
1781
- },
1782
- {
1783
- "type": "typography",
1784
- "variant": "body",
1785
- "content": "@item.enrolledAt"
1786
- }
2036
+ "type": "divider"
2037
+ },
2038
+ {
2039
+ "type": "typography",
2040
+ "content": "Student Info",
2041
+ "variant": "h3"
2042
+ },
2043
+ {
2044
+ "type": "form-section",
2045
+ "entity": "Enrollment",
2046
+ "mode": "create",
2047
+ "submitEvent": "NEXT",
2048
+ "cancelEvent": "INIT",
2049
+ "fields": [
2050
+ "studentName",
2051
+ "email"
1787
2052
  ]
1788
2053
  },
1789
2054
  {
1790
2055
  "type": "stack",
1791
2056
  "direction": "horizontal",
1792
- "gap": "md",
1793
- "justify": "space-between",
2057
+ "gap": "sm",
2058
+ "justify": "end",
1794
2059
  "children": [
1795
2060
  {
1796
- "type": "typography",
1797
- "variant": "caption",
1798
- "content": "Status"
1799
- },
1800
- {
1801
- "type": "typography",
1802
- "variant": "body",
1803
- "content": "@item.status"
2061
+ "type": "button",
2062
+ "label": "Next",
2063
+ "event": "NEXT",
2064
+ "variant": "primary",
2065
+ "icon": "arrow-right"
1804
2066
  }
1805
2067
  ]
1806
2068
  }
1807
2069
  ]
1808
2070
  }
1809
2071
  ]
1810
- },
1811
- {
1812
- "type": "wizard-navigation",
1813
- "currentStep": 2,
1814
- "totalSteps": 3,
1815
- "showBack": true,
1816
- "showComplete": true,
1817
- "showNext": false
1818
2072
  }
1819
2073
  ]
1820
2074
  }
@@ -1822,8 +2076,8 @@
1822
2076
  ]
1823
2077
  },
1824
2078
  {
1825
- "from": "step2",
1826
- "to": "step1",
2079
+ "from": "review",
2080
+ "to": "step2",
1827
2081
  "event": "PREV",
1828
2082
  "effects": [
1829
2083
  [
@@ -1834,72 +2088,108 @@
1834
2088
  "render-ui",
1835
2089
  "main",
1836
2090
  {
1837
- "type": "stack",
1838
- "direction": "vertical",
1839
- "gap": "lg",
1840
- "children": [
2091
+ "type": "dashboard-layout",
2092
+ "appName": "LMS",
2093
+ "navItems": [
1841
2094
  {
1842
- "type": "stack",
1843
- "direction": "horizontal",
1844
- "gap": "sm",
1845
- "align": "center",
1846
- "children": [
1847
- {
1848
- "type": "icon",
1849
- "name": "user-plus",
1850
- "size": "lg"
1851
- },
1852
- {
1853
- "type": "typography",
1854
- "content": "Course Enrollment",
1855
- "variant": "h2"
1856
- }
1857
- ]
2095
+ "label": "Courses",
2096
+ "href": "/courses",
2097
+ "icon": "book-open"
1858
2098
  },
1859
2099
  {
1860
- "type": "progress-dots",
1861
- "count": 2,
1862
- "currentIndex": 0
2100
+ "label": "Enroll",
2101
+ "href": "/enroll",
2102
+ "icon": "layout-list"
1863
2103
  },
1864
2104
  {
1865
- "type": "wizard-progress",
1866
- "steps": [
1867
- "Student Info",
1868
- "Course Selection"
1869
- ],
1870
- "currentStep": 0
1871
- },
2105
+ "label": "Progress",
2106
+ "href": "/progress",
2107
+ "icon": "layout-list"
2108
+ }
2109
+ ],
2110
+ "children": [
1872
2111
  {
1873
- "type": "divider"
1874
- },
1875
- {
1876
- "type": "typography",
1877
- "content": "Student Info",
1878
- "variant": "h3"
1879
- },
1880
- {
1881
- "type": "form-section",
1882
- "entity": "Enrollment",
1883
- "mode": "create",
1884
- "submitEvent": "NEXT",
1885
- "cancelEvent": "INIT",
1886
- "fields": [
1887
- "studentName",
1888
- "email"
1889
- ]
1890
- },
1891
- {
1892
- "type": "stack",
1893
- "direction": "horizontal",
1894
- "gap": "sm",
1895
- "justify": "end",
2112
+ "type": "container",
2113
+ "maxWidth": "lg",
2114
+ "padding": "lg",
1896
2115
  "children": [
1897
2116
  {
1898
- "type": "button",
1899
- "label": "Next",
1900
- "event": "NEXT",
1901
- "variant": "primary",
1902
- "icon": "arrow-right"
2117
+ "type": "stack",
2118
+ "direction": "vertical",
2119
+ "gap": "lg",
2120
+ "children": [
2121
+ {
2122
+ "type": "stack",
2123
+ "direction": "horizontal",
2124
+ "gap": "sm",
2125
+ "align": "center",
2126
+ "children": [
2127
+ {
2128
+ "type": "icon",
2129
+ "name": "user-plus",
2130
+ "size": "lg"
2131
+ },
2132
+ {
2133
+ "type": "typography",
2134
+ "content": "Course Enrollment",
2135
+ "variant": "h2"
2136
+ }
2137
+ ]
2138
+ },
2139
+ {
2140
+ "type": "progress-dots",
2141
+ "count": 2,
2142
+ "currentIndex": 1
2143
+ },
2144
+ {
2145
+ "type": "wizard-progress",
2146
+ "steps": [
2147
+ "Student Info",
2148
+ "Course Selection"
2149
+ ],
2150
+ "currentStep": 1
2151
+ },
2152
+ {
2153
+ "type": "divider"
2154
+ },
2155
+ {
2156
+ "type": "typography",
2157
+ "content": "Course Selection",
2158
+ "variant": "h3"
2159
+ },
2160
+ {
2161
+ "type": "form-section",
2162
+ "entity": "Enrollment",
2163
+ "mode": "create",
2164
+ "submitEvent": "NEXT",
2165
+ "cancelEvent": "PREV",
2166
+ "fields": [
2167
+ "courseId"
2168
+ ]
2169
+ },
2170
+ {
2171
+ "type": "stack",
2172
+ "direction": "horizontal",
2173
+ "gap": "sm",
2174
+ "justify": "end",
2175
+ "children": [
2176
+ {
2177
+ "type": "button",
2178
+ "label": "Back",
2179
+ "event": "PREV",
2180
+ "variant": "ghost",
2181
+ "icon": "arrow-left"
2182
+ },
2183
+ {
2184
+ "type": "button",
2185
+ "label": "Next",
2186
+ "event": "NEXT",
2187
+ "variant": "primary",
2188
+ "icon": "arrow-right"
2189
+ }
2190
+ ]
2191
+ }
2192
+ ]
1903
2193
  }
1904
2194
  ]
1905
2195
  }
@@ -1910,89 +2200,71 @@
1910
2200
  },
1911
2201
  {
1912
2202
  "from": "review",
1913
- "to": "step2",
1914
- "event": "PREV",
2203
+ "to": "complete",
2204
+ "event": "COMPLETE",
1915
2205
  "effects": [
1916
2206
  [
1917
- "fetch",
1918
- "Enrollment"
2207
+ "persist",
2208
+ "create",
2209
+ "Enrollment",
2210
+ "@payload.data"
2211
+ ],
2212
+ [
2213
+ "notify",
2214
+ "success",
2215
+ "Enrollment created successfully"
1919
2216
  ],
1920
2217
  [
1921
2218
  "render-ui",
1922
2219
  "main",
1923
2220
  {
1924
- "type": "stack",
1925
- "direction": "vertical",
1926
- "gap": "lg",
2221
+ "type": "dashboard-layout",
2222
+ "appName": "LMS",
2223
+ "navItems": [
2224
+ {
2225
+ "label": "Courses",
2226
+ "href": "/courses",
2227
+ "icon": "book-open"
2228
+ },
2229
+ {
2230
+ "label": "Enroll",
2231
+ "href": "/enroll",
2232
+ "icon": "layout-list"
2233
+ },
2234
+ {
2235
+ "label": "Progress",
2236
+ "href": "/progress",
2237
+ "icon": "layout-list"
2238
+ }
2239
+ ],
1927
2240
  "children": [
1928
2241
  {
1929
2242
  "type": "stack",
1930
- "direction": "horizontal",
1931
- "gap": "sm",
2243
+ "direction": "vertical",
2244
+ "gap": "lg",
1932
2245
  "align": "center",
1933
2246
  "children": [
1934
2247
  {
1935
2248
  "type": "icon",
1936
- "name": "user-plus",
2249
+ "name": "check-circle",
1937
2250
  "size": "lg"
1938
2251
  },
1939
2252
  {
1940
2253
  "type": "typography",
1941
- "content": "Course Enrollment",
2254
+ "content": "Enrolled!",
1942
2255
  "variant": "h2"
1943
- }
1944
- ]
1945
- },
1946
- {
1947
- "type": "progress-dots",
1948
- "count": 2,
1949
- "currentIndex": 1
1950
- },
1951
- {
1952
- "type": "wizard-progress",
1953
- "steps": [
1954
- "Student Info",
1955
- "Course Selection"
1956
- ],
1957
- "currentStep": 1
1958
- },
1959
- {
1960
- "type": "divider"
1961
- },
1962
- {
1963
- "type": "typography",
1964
- "content": "Course Selection",
1965
- "variant": "h3"
1966
- },
1967
- {
1968
- "type": "form-section",
1969
- "entity": "Enrollment",
1970
- "mode": "create",
1971
- "submitEvent": "NEXT",
1972
- "cancelEvent": "PREV",
1973
- "fields": [
1974
- "courseId"
1975
- ]
1976
- },
1977
- {
1978
- "type": "stack",
1979
- "direction": "horizontal",
1980
- "gap": "sm",
1981
- "justify": "end",
1982
- "children": [
2256
+ },
1983
2257
  {
1984
- "type": "button",
1985
- "label": "Back",
1986
- "event": "PREV",
1987
- "variant": "ghost",
1988
- "icon": "arrow-left"
2258
+ "type": "typography",
2259
+ "content": "You have been successfully enrolled in the course.",
2260
+ "variant": "body"
1989
2261
  },
1990
2262
  {
1991
2263
  "type": "button",
1992
- "label": "Next",
1993
- "event": "NEXT",
2264
+ "label": "Start New",
2265
+ "event": "RESTART",
1994
2266
  "variant": "primary",
1995
- "icon": "arrow-right"
2267
+ "icon": "refresh-cw"
1996
2268
  }
1997
2269
  ]
1998
2270
  }
@@ -2001,58 +2273,6 @@
2001
2273
  ]
2002
2274
  ]
2003
2275
  },
2004
- {
2005
- "from": "review",
2006
- "to": "complete",
2007
- "event": "COMPLETE",
2008
- "effects": [
2009
- [
2010
- "persist",
2011
- "create",
2012
- "Enrollment",
2013
- "@payload.data"
2014
- ],
2015
- [
2016
- "notify",
2017
- "success",
2018
- "Enrollment created successfully"
2019
- ],
2020
- [
2021
- "render-ui",
2022
- "main",
2023
- {
2024
- "type": "stack",
2025
- "direction": "vertical",
2026
- "gap": "lg",
2027
- "align": "center",
2028
- "children": [
2029
- {
2030
- "type": "icon",
2031
- "name": "check-circle",
2032
- "size": "lg"
2033
- },
2034
- {
2035
- "type": "typography",
2036
- "content": "Enrolled!",
2037
- "variant": "h2"
2038
- },
2039
- {
2040
- "type": "typography",
2041
- "content": "You have been successfully enrolled in the course.",
2042
- "variant": "body"
2043
- },
2044
- {
2045
- "type": "button",
2046
- "label": "Start New",
2047
- "event": "RESTART",
2048
- "variant": "primary",
2049
- "icon": "refresh-cw"
2050
- }
2051
- ]
2052
- }
2053
- ]
2054
- ]
2055
- },
2056
2276
  {
2057
2277
  "from": "complete",
2058
2278
  "to": "step1",
@@ -2066,72 +2286,102 @@
2066
2286
  "render-ui",
2067
2287
  "main",
2068
2288
  {
2069
- "type": "stack",
2070
- "direction": "vertical",
2071
- "gap": "lg",
2072
- "children": [
2073
- {
2074
- "type": "stack",
2075
- "direction": "horizontal",
2076
- "gap": "sm",
2077
- "align": "center",
2078
- "children": [
2079
- {
2080
- "type": "icon",
2081
- "name": "user-plus",
2082
- "size": "lg"
2083
- },
2084
- {
2085
- "type": "typography",
2086
- "content": "Course Enrollment",
2087
- "variant": "h2"
2088
- }
2089
- ]
2090
- },
2091
- {
2092
- "type": "progress-dots",
2093
- "count": 2,
2094
- "currentIndex": 0
2095
- },
2096
- {
2097
- "type": "wizard-progress",
2098
- "steps": [
2099
- "Student Info",
2100
- "Course Selection"
2101
- ],
2102
- "currentStep": 0
2103
- },
2289
+ "type": "dashboard-layout",
2290
+ "appName": "LMS",
2291
+ "navItems": [
2104
2292
  {
2105
- "type": "divider"
2293
+ "label": "Courses",
2294
+ "href": "/courses",
2295
+ "icon": "book-open"
2106
2296
  },
2107
2297
  {
2108
- "type": "typography",
2109
- "content": "Student Info",
2110
- "variant": "h3"
2298
+ "label": "Enroll",
2299
+ "href": "/enroll",
2300
+ "icon": "layout-list"
2111
2301
  },
2112
2302
  {
2113
- "type": "form-section",
2114
- "entity": "Enrollment",
2115
- "mode": "create",
2116
- "submitEvent": "NEXT",
2117
- "cancelEvent": "INIT",
2118
- "fields": [
2119
- "studentName",
2120
- "email"
2121
- ]
2122
- },
2303
+ "label": "Progress",
2304
+ "href": "/progress",
2305
+ "icon": "layout-list"
2306
+ }
2307
+ ],
2308
+ "children": [
2123
2309
  {
2124
- "type": "stack",
2125
- "direction": "horizontal",
2126
- "gap": "sm",
2127
- "justify": "end",
2310
+ "type": "container",
2311
+ "maxWidth": "lg",
2312
+ "padding": "lg",
2128
2313
  "children": [
2129
2314
  {
2130
- "type": "button",
2131
- "label": "Next",
2132
- "event": "NEXT",
2133
- "variant": "primary",
2134
- "icon": "arrow-right"
2315
+ "type": "stack",
2316
+ "direction": "vertical",
2317
+ "gap": "lg",
2318
+ "children": [
2319
+ {
2320
+ "type": "stack",
2321
+ "direction": "horizontal",
2322
+ "gap": "sm",
2323
+ "align": "center",
2324
+ "children": [
2325
+ {
2326
+ "type": "icon",
2327
+ "name": "user-plus",
2328
+ "size": "lg"
2329
+ },
2330
+ {
2331
+ "type": "typography",
2332
+ "content": "Course Enrollment",
2333
+ "variant": "h2"
2334
+ }
2335
+ ]
2336
+ },
2337
+ {
2338
+ "type": "progress-dots",
2339
+ "count": 2,
2340
+ "currentIndex": 0
2341
+ },
2342
+ {
2343
+ "type": "wizard-progress",
2344
+ "steps": [
2345
+ "Student Info",
2346
+ "Course Selection"
2347
+ ],
2348
+ "currentStep": 0
2349
+ },
2350
+ {
2351
+ "type": "divider"
2352
+ },
2353
+ {
2354
+ "type": "typography",
2355
+ "content": "Student Info",
2356
+ "variant": "h3"
2357
+ },
2358
+ {
2359
+ "type": "form-section",
2360
+ "entity": "Enrollment",
2361
+ "mode": "create",
2362
+ "submitEvent": "NEXT",
2363
+ "cancelEvent": "INIT",
2364
+ "fields": [
2365
+ "studentName",
2366
+ "email"
2367
+ ]
2368
+ },
2369
+ {
2370
+ "type": "stack",
2371
+ "direction": "horizontal",
2372
+ "gap": "sm",
2373
+ "justify": "end",
2374
+ "children": [
2375
+ {
2376
+ "type": "button",
2377
+ "label": "Next",
2378
+ "event": "NEXT",
2379
+ "variant": "primary",
2380
+ "icon": "arrow-right"
2381
+ }
2382
+ ]
2383
+ }
2384
+ ]
2135
2385
  }
2136
2386
  ]
2137
2387
  }
@@ -2153,72 +2403,102 @@
2153
2403
  "render-ui",
2154
2404
  "main",
2155
2405
  {
2156
- "type": "stack",
2157
- "direction": "vertical",
2158
- "gap": "lg",
2159
- "children": [
2160
- {
2161
- "type": "stack",
2162
- "direction": "horizontal",
2163
- "gap": "sm",
2164
- "align": "center",
2165
- "children": [
2166
- {
2167
- "type": "icon",
2168
- "name": "user-plus",
2169
- "size": "lg"
2170
- },
2171
- {
2172
- "type": "typography",
2173
- "content": "Course Enrollment",
2174
- "variant": "h2"
2175
- }
2176
- ]
2177
- },
2178
- {
2179
- "type": "progress-dots",
2180
- "count": 2,
2181
- "currentIndex": 0
2182
- },
2406
+ "type": "dashboard-layout",
2407
+ "appName": "LMS",
2408
+ "navItems": [
2183
2409
  {
2184
- "type": "wizard-progress",
2185
- "steps": [
2186
- "Student Info",
2187
- "Course Selection"
2188
- ],
2189
- "currentStep": 0
2410
+ "label": "Courses",
2411
+ "href": "/courses",
2412
+ "icon": "book-open"
2190
2413
  },
2191
2414
  {
2192
- "type": "divider"
2415
+ "label": "Enroll",
2416
+ "href": "/enroll",
2417
+ "icon": "layout-list"
2193
2418
  },
2194
2419
  {
2195
- "type": "typography",
2196
- "content": "Student Info",
2197
- "variant": "h3"
2198
- },
2420
+ "label": "Progress",
2421
+ "href": "/progress",
2422
+ "icon": "layout-list"
2423
+ }
2424
+ ],
2425
+ "children": [
2199
2426
  {
2200
- "type": "form-section",
2201
- "entity": "Enrollment",
2202
- "mode": "create",
2203
- "submitEvent": "NEXT",
2204
- "cancelEvent": "INIT",
2205
- "fields": [
2206
- "studentName",
2207
- "email"
2208
- ]
2209
- },
2210
- {
2211
- "type": "stack",
2212
- "direction": "horizontal",
2213
- "gap": "sm",
2214
- "justify": "end",
2427
+ "type": "container",
2428
+ "maxWidth": "lg",
2429
+ "padding": "lg",
2215
2430
  "children": [
2216
2431
  {
2217
- "type": "button",
2218
- "label": "Next",
2219
- "event": "NEXT",
2220
- "variant": "primary",
2221
- "icon": "arrow-right"
2432
+ "type": "stack",
2433
+ "direction": "vertical",
2434
+ "gap": "lg",
2435
+ "children": [
2436
+ {
2437
+ "type": "stack",
2438
+ "direction": "horizontal",
2439
+ "gap": "sm",
2440
+ "align": "center",
2441
+ "children": [
2442
+ {
2443
+ "type": "icon",
2444
+ "name": "user-plus",
2445
+ "size": "lg"
2446
+ },
2447
+ {
2448
+ "type": "typography",
2449
+ "content": "Course Enrollment",
2450
+ "variant": "h2"
2451
+ }
2452
+ ]
2453
+ },
2454
+ {
2455
+ "type": "progress-dots",
2456
+ "count": 2,
2457
+ "currentIndex": 0
2458
+ },
2459
+ {
2460
+ "type": "wizard-progress",
2461
+ "steps": [
2462
+ "Student Info",
2463
+ "Course Selection"
2464
+ ],
2465
+ "currentStep": 0
2466
+ },
2467
+ {
2468
+ "type": "divider"
2469
+ },
2470
+ {
2471
+ "type": "typography",
2472
+ "content": "Student Info",
2473
+ "variant": "h3"
2474
+ },
2475
+ {
2476
+ "type": "form-section",
2477
+ "entity": "Enrollment",
2478
+ "mode": "create",
2479
+ "submitEvent": "NEXT",
2480
+ "cancelEvent": "INIT",
2481
+ "fields": [
2482
+ "studentName",
2483
+ "email"
2484
+ ]
2485
+ },
2486
+ {
2487
+ "type": "stack",
2488
+ "direction": "horizontal",
2489
+ "gap": "sm",
2490
+ "justify": "end",
2491
+ "children": [
2492
+ {
2493
+ "type": "button",
2494
+ "label": "Next",
2495
+ "event": "NEXT",
2496
+ "variant": "primary",
2497
+ "icon": "arrow-right"
2498
+ }
2499
+ ]
2500
+ }
2501
+ ]
2222
2502
  }
2223
2503
  ]
2224
2504
  }
@@ -2297,7 +2577,7 @@
2297
2577
  },
2298
2578
  {
2299
2579
  "name": "lastActivity",
2300
- "type": "string",
2580
+ "type": "date",
2301
2581
  "default": ""
2302
2582
  }
2303
2583
  ]
@@ -2352,140 +2632,296 @@
2352
2632
  "render-ui",
2353
2633
  "main",
2354
2634
  {
2355
- "type": "stack",
2356
- "direction": "vertical",
2357
- "gap": "lg",
2358
- "children": [
2635
+ "type": "dashboard-layout",
2636
+ "appName": "LMS",
2637
+ "navItems": [
2359
2638
  {
2360
- "type": "stack",
2361
- "direction": "horizontal",
2362
- "gap": "md",
2363
- "justify": "space-between",
2364
- "children": [
2365
- {
2366
- "type": "stack",
2367
- "direction": "horizontal",
2368
- "gap": "md",
2369
- "children": [
2370
- {
2371
- "type": "icon",
2372
- "name": "trending-up",
2373
- "size": "lg"
2374
- },
2375
- {
2376
- "type": "typography",
2377
- "content": "Progress",
2378
- "variant": "h2"
2379
- }
2380
- ]
2381
- },
2382
- {
2383
- "type": "button",
2384
- "label": "Refresh",
2385
- "event": "REFRESH",
2386
- "variant": "secondary",
2387
- "icon": "refresh-cw"
2388
- }
2389
- ]
2639
+ "label": "Courses",
2640
+ "href": "/courses",
2641
+ "icon": "book-open"
2390
2642
  },
2391
2643
  {
2392
- "type": "divider"
2644
+ "label": "Enroll",
2645
+ "href": "/enroll",
2646
+ "icon": "layout-list"
2393
2647
  },
2394
2648
  {
2395
- "type": "simple-grid",
2396
- "columns": 3,
2649
+ "label": "Progress",
2650
+ "href": "/progress",
2651
+ "icon": "layout-list"
2652
+ }
2653
+ ],
2654
+ "children": [
2655
+ {
2656
+ "type": "scaled-diagram",
2397
2657
  "children": [
2398
2658
  {
2399
- "type": "card",
2659
+ "type": "stack",
2660
+ "direction": "vertical",
2661
+ "gap": "lg",
2400
2662
  "children": [
2663
+ {
2664
+ "type": "breadcrumb",
2665
+ "items": [
2666
+ {
2667
+ "label": "Home",
2668
+ "href": "/"
2669
+ },
2670
+ {
2671
+ "label": "Progress"
2672
+ }
2673
+ ]
2674
+ },
2401
2675
  {
2402
2676
  "type": "stack",
2403
- "direction": "vertical",
2404
- "gap": "sm",
2677
+ "direction": "horizontal",
2678
+ "gap": "md",
2679
+ "justify": "space-between",
2405
2680
  "children": [
2406
2681
  {
2407
- "type": "typography",
2408
- "variant": "caption",
2409
- "content": "CourseName"
2682
+ "type": "stack",
2683
+ "direction": "horizontal",
2684
+ "gap": "md",
2685
+ "children": [
2686
+ {
2687
+ "type": "icon",
2688
+ "name": "trending-up",
2689
+ "size": "lg"
2690
+ },
2691
+ {
2692
+ "type": "typography",
2693
+ "content": "Progress",
2694
+ "variant": "h2"
2695
+ }
2696
+ ]
2410
2697
  },
2411
2698
  {
2412
- "type": "typography",
2413
- "variant": "h3",
2414
- "content": [
2415
- "object/get",
2416
- [
2417
- "array/first",
2418
- "@entity"
2419
- ],
2420
- "courseName"
2699
+ "type": "button",
2700
+ "label": "Refresh",
2701
+ "event": "REFRESH",
2702
+ "variant": "secondary",
2703
+ "icon": "refresh-cw"
2704
+ }
2705
+ ]
2706
+ },
2707
+ {
2708
+ "type": "divider"
2709
+ },
2710
+ {
2711
+ "type": "box",
2712
+ "padding": "md",
2713
+ "children": [
2714
+ {
2715
+ "type": "simple-grid",
2716
+ "columns": 3,
2717
+ "children": [
2718
+ {
2719
+ "type": "card",
2720
+ "children": [
2721
+ {
2722
+ "type": "stack",
2723
+ "direction": "vertical",
2724
+ "gap": "sm",
2725
+ "children": [
2726
+ {
2727
+ "type": "typography",
2728
+ "variant": "caption",
2729
+ "content": "CourseName"
2730
+ },
2731
+ {
2732
+ "type": "typography",
2733
+ "variant": "h3",
2734
+ "content": [
2735
+ "object/get",
2736
+ [
2737
+ "array/first",
2738
+ "@entity"
2739
+ ],
2740
+ "courseName"
2741
+ ]
2742
+ }
2743
+ ]
2744
+ }
2745
+ ]
2746
+ },
2747
+ {
2748
+ "type": "stat-display",
2749
+ "label": "LessonsCompleted",
2750
+ "value": [
2751
+ "object/get",
2752
+ [
2753
+ "array/first",
2754
+ "@entity"
2755
+ ],
2756
+ "lessonsCompleted"
2757
+ ]
2758
+ },
2759
+ {
2760
+ "type": "stat-display",
2761
+ "label": "TotalLessons",
2762
+ "value": [
2763
+ "object/get",
2764
+ [
2765
+ "array/first",
2766
+ "@entity"
2767
+ ],
2768
+ "totalLessons"
2769
+ ]
2770
+ },
2771
+ {
2772
+ "type": "stat-display",
2773
+ "label": "PercentComplete",
2774
+ "value": [
2775
+ "object/get",
2776
+ [
2777
+ "array/first",
2778
+ "@entity"
2779
+ ],
2780
+ "percentComplete"
2781
+ ]
2782
+ },
2783
+ {
2784
+ "type": "card",
2785
+ "children": [
2786
+ {
2787
+ "type": "stack",
2788
+ "direction": "vertical",
2789
+ "gap": "sm",
2790
+ "children": [
2791
+ {
2792
+ "type": "typography",
2793
+ "variant": "caption",
2794
+ "content": "LastActivity"
2795
+ },
2796
+ {
2797
+ "type": "typography",
2798
+ "variant": "h3",
2799
+ "content": [
2800
+ "object/get",
2801
+ [
2802
+ "array/first",
2803
+ "@entity"
2804
+ ],
2805
+ "lastActivity"
2806
+ ]
2807
+ }
2808
+ ]
2809
+ }
2810
+ ]
2811
+ }
2421
2812
  ]
2422
2813
  }
2423
2814
  ]
2424
- }
2425
- ]
2426
- },
2427
- {
2428
- "type": "stat-display",
2429
- "label": "LessonsCompleted",
2430
- "value": [
2431
- "object/get",
2432
- [
2433
- "array/first",
2434
- "@entity"
2435
- ],
2436
- "lessonsCompleted"
2437
- ]
2438
- },
2439
- {
2440
- "type": "stat-display",
2441
- "label": "TotalLessons",
2442
- "value": [
2443
- "object/get",
2444
- [
2445
- "array/first",
2446
- "@entity"
2447
- ],
2448
- "totalLessons"
2449
- ]
2450
- },
2451
- {
2452
- "type": "stat-display",
2453
- "label": "PercentComplete",
2454
- "value": [
2455
- "object/get",
2456
- [
2457
- "array/first",
2458
- "@entity"
2459
- ],
2460
- "percentComplete"
2461
- ]
2462
- },
2463
- {
2464
- "type": "card",
2465
- "children": [
2815
+ },
2466
2816
  {
2467
- "type": "stack",
2468
- "direction": "vertical",
2469
- "gap": "sm",
2817
+ "type": "divider"
2818
+ },
2819
+ {
2820
+ "type": "grid",
2821
+ "columns": 2,
2822
+ "gap": "md",
2470
2823
  "children": [
2471
2824
  {
2472
- "type": "typography",
2473
- "variant": "caption",
2474
- "content": "LastActivity"
2825
+ "type": "card",
2826
+ "children": [
2827
+ {
2828
+ "type": "typography",
2829
+ "variant": "caption",
2830
+ "content": "Chart View"
2831
+ }
2832
+ ]
2475
2833
  },
2476
2834
  {
2477
- "type": "typography",
2478
- "variant": "h3",
2479
- "content": [
2480
- "object/get",
2481
- [
2482
- "array/first",
2483
- "@entity"
2484
- ],
2485
- "lastActivity"
2835
+ "type": "card",
2836
+ "children": [
2837
+ {
2838
+ "type": "typography",
2839
+ "variant": "caption",
2840
+ "content": "Graph View"
2841
+ }
2486
2842
  ]
2487
2843
  }
2488
2844
  ]
2845
+ },
2846
+ {
2847
+ "type": "line-chart",
2848
+ "data": [
2849
+ {
2850
+ "date": "Jan",
2851
+ "value": 12
2852
+ },
2853
+ {
2854
+ "date": "Feb",
2855
+ "value": 19
2856
+ },
2857
+ {
2858
+ "date": "Mar",
2859
+ "value": 15
2860
+ },
2861
+ {
2862
+ "date": "Apr",
2863
+ "value": 25
2864
+ },
2865
+ {
2866
+ "date": "May",
2867
+ "value": 22
2868
+ },
2869
+ {
2870
+ "date": "Jun",
2871
+ "value": 30
2872
+ }
2873
+ ],
2874
+ "xKey": "date",
2875
+ "yKey": "value",
2876
+ "title": "Trend"
2877
+ },
2878
+ {
2879
+ "type": "chart-legend",
2880
+ "items": [
2881
+ {
2882
+ "label": "Current",
2883
+ "color": "primary"
2884
+ },
2885
+ {
2886
+ "label": "Previous",
2887
+ "color": "muted"
2888
+ }
2889
+ ]
2890
+ },
2891
+ {
2892
+ "type": "graph-view",
2893
+ "nodes": [
2894
+ {
2895
+ "id": "a",
2896
+ "label": "Start",
2897
+ "x": 50,
2898
+ "y": 100
2899
+ },
2900
+ {
2901
+ "id": "b",
2902
+ "label": "Process",
2903
+ "x": 200,
2904
+ "y": 50
2905
+ },
2906
+ {
2907
+ "id": "c",
2908
+ "label": "End",
2909
+ "x": 350,
2910
+ "y": 100
2911
+ }
2912
+ ],
2913
+ "edges": [
2914
+ {
2915
+ "from": "a",
2916
+ "to": "b"
2917
+ },
2918
+ {
2919
+ "from": "b",
2920
+ "to": "c"
2921
+ }
2922
+ ],
2923
+ "width": 400,
2924
+ "height": 200
2489
2925
  }
2490
2926
  ]
2491
2927
  }
@@ -2509,140 +2945,296 @@
2509
2945
  "render-ui",
2510
2946
  "main",
2511
2947
  {
2512
- "type": "stack",
2513
- "direction": "vertical",
2514
- "gap": "lg",
2515
- "children": [
2948
+ "type": "dashboard-layout",
2949
+ "appName": "LMS",
2950
+ "navItems": [
2516
2951
  {
2517
- "type": "stack",
2518
- "direction": "horizontal",
2519
- "gap": "md",
2520
- "justify": "space-between",
2521
- "children": [
2522
- {
2523
- "type": "stack",
2524
- "direction": "horizontal",
2525
- "gap": "md",
2526
- "children": [
2527
- {
2528
- "type": "icon",
2529
- "name": "trending-up",
2530
- "size": "lg"
2531
- },
2532
- {
2533
- "type": "typography",
2534
- "content": "Progress",
2535
- "variant": "h2"
2536
- }
2537
- ]
2538
- },
2539
- {
2540
- "type": "button",
2541
- "label": "Refresh",
2542
- "event": "REFRESH",
2543
- "variant": "secondary",
2544
- "icon": "refresh-cw"
2545
- }
2546
- ]
2952
+ "label": "Courses",
2953
+ "href": "/courses",
2954
+ "icon": "book-open"
2547
2955
  },
2548
2956
  {
2549
- "type": "divider"
2957
+ "label": "Enroll",
2958
+ "href": "/enroll",
2959
+ "icon": "layout-list"
2550
2960
  },
2551
2961
  {
2552
- "type": "simple-grid",
2553
- "columns": 3,
2962
+ "label": "Progress",
2963
+ "href": "/progress",
2964
+ "icon": "layout-list"
2965
+ }
2966
+ ],
2967
+ "children": [
2968
+ {
2969
+ "type": "scaled-diagram",
2554
2970
  "children": [
2555
2971
  {
2556
- "type": "card",
2972
+ "type": "stack",
2973
+ "direction": "vertical",
2974
+ "gap": "lg",
2557
2975
  "children": [
2558
2976
  {
2559
- "type": "stack",
2560
- "direction": "vertical",
2561
- "gap": "sm",
2562
- "children": [
2977
+ "type": "breadcrumb",
2978
+ "items": [
2563
2979
  {
2564
- "type": "typography",
2565
- "variant": "caption",
2566
- "content": "CourseName"
2980
+ "label": "Home",
2981
+ "href": "/"
2567
2982
  },
2568
2983
  {
2569
- "type": "typography",
2570
- "variant": "h3",
2571
- "content": [
2572
- "object/get",
2573
- [
2574
- "array/first",
2575
- "@entity"
2576
- ],
2577
- "courseName"
2578
- ]
2984
+ "label": "Progress"
2579
2985
  }
2580
2986
  ]
2581
- }
2582
- ]
2583
- },
2584
- {
2585
- "type": "stat-display",
2586
- "label": "LessonsCompleted",
2587
- "value": [
2588
- "object/get",
2589
- [
2590
- "array/first",
2591
- "@entity"
2592
- ],
2593
- "lessonsCompleted"
2594
- ]
2595
- },
2596
- {
2597
- "type": "stat-display",
2598
- "label": "TotalLessons",
2599
- "value": [
2600
- "object/get",
2601
- [
2602
- "array/first",
2603
- "@entity"
2604
- ],
2605
- "totalLessons"
2606
- ]
2607
- },
2608
- {
2609
- "type": "stat-display",
2610
- "label": "PercentComplete",
2611
- "value": [
2612
- "object/get",
2613
- [
2614
- "array/first",
2615
- "@entity"
2616
- ],
2617
- "percentComplete"
2618
- ]
2619
- },
2620
- {
2621
- "type": "card",
2622
- "children": [
2987
+ },
2623
2988
  {
2624
2989
  "type": "stack",
2625
- "direction": "vertical",
2626
- "gap": "sm",
2990
+ "direction": "horizontal",
2991
+ "gap": "md",
2992
+ "justify": "space-between",
2627
2993
  "children": [
2628
2994
  {
2629
- "type": "typography",
2630
- "variant": "caption",
2631
- "content": "LastActivity"
2632
- },
2633
- {
2634
- "type": "typography",
2635
- "variant": "h3",
2636
- "content": [
2637
- "object/get",
2638
- [
2639
- "array/first",
2640
- "@entity"
2641
- ],
2642
- "lastActivity"
2643
- ]
2644
- }
2995
+ "type": "stack",
2996
+ "direction": "horizontal",
2997
+ "gap": "md",
2998
+ "children": [
2999
+ {
3000
+ "type": "icon",
3001
+ "name": "trending-up",
3002
+ "size": "lg"
3003
+ },
3004
+ {
3005
+ "type": "typography",
3006
+ "content": "Progress",
3007
+ "variant": "h2"
3008
+ }
3009
+ ]
3010
+ },
3011
+ {
3012
+ "type": "button",
3013
+ "label": "Refresh",
3014
+ "event": "REFRESH",
3015
+ "variant": "secondary",
3016
+ "icon": "refresh-cw"
3017
+ }
3018
+ ]
3019
+ },
3020
+ {
3021
+ "type": "divider"
3022
+ },
3023
+ {
3024
+ "type": "box",
3025
+ "padding": "md",
3026
+ "children": [
3027
+ {
3028
+ "type": "simple-grid",
3029
+ "columns": 3,
3030
+ "children": [
3031
+ {
3032
+ "type": "card",
3033
+ "children": [
3034
+ {
3035
+ "type": "stack",
3036
+ "direction": "vertical",
3037
+ "gap": "sm",
3038
+ "children": [
3039
+ {
3040
+ "type": "typography",
3041
+ "variant": "caption",
3042
+ "content": "CourseName"
3043
+ },
3044
+ {
3045
+ "type": "typography",
3046
+ "variant": "h3",
3047
+ "content": [
3048
+ "object/get",
3049
+ [
3050
+ "array/first",
3051
+ "@entity"
3052
+ ],
3053
+ "courseName"
3054
+ ]
3055
+ }
3056
+ ]
3057
+ }
3058
+ ]
3059
+ },
3060
+ {
3061
+ "type": "stat-display",
3062
+ "label": "LessonsCompleted",
3063
+ "value": [
3064
+ "object/get",
3065
+ [
3066
+ "array/first",
3067
+ "@entity"
3068
+ ],
3069
+ "lessonsCompleted"
3070
+ ]
3071
+ },
3072
+ {
3073
+ "type": "stat-display",
3074
+ "label": "TotalLessons",
3075
+ "value": [
3076
+ "object/get",
3077
+ [
3078
+ "array/first",
3079
+ "@entity"
3080
+ ],
3081
+ "totalLessons"
3082
+ ]
3083
+ },
3084
+ {
3085
+ "type": "stat-display",
3086
+ "label": "PercentComplete",
3087
+ "value": [
3088
+ "object/get",
3089
+ [
3090
+ "array/first",
3091
+ "@entity"
3092
+ ],
3093
+ "percentComplete"
3094
+ ]
3095
+ },
3096
+ {
3097
+ "type": "card",
3098
+ "children": [
3099
+ {
3100
+ "type": "stack",
3101
+ "direction": "vertical",
3102
+ "gap": "sm",
3103
+ "children": [
3104
+ {
3105
+ "type": "typography",
3106
+ "variant": "caption",
3107
+ "content": "LastActivity"
3108
+ },
3109
+ {
3110
+ "type": "typography",
3111
+ "variant": "h3",
3112
+ "content": [
3113
+ "object/get",
3114
+ [
3115
+ "array/first",
3116
+ "@entity"
3117
+ ],
3118
+ "lastActivity"
3119
+ ]
3120
+ }
3121
+ ]
3122
+ }
3123
+ ]
3124
+ }
3125
+ ]
3126
+ }
3127
+ ]
3128
+ },
3129
+ {
3130
+ "type": "divider"
3131
+ },
3132
+ {
3133
+ "type": "grid",
3134
+ "columns": 2,
3135
+ "gap": "md",
3136
+ "children": [
3137
+ {
3138
+ "type": "card",
3139
+ "children": [
3140
+ {
3141
+ "type": "typography",
3142
+ "variant": "caption",
3143
+ "content": "Chart View"
3144
+ }
3145
+ ]
3146
+ },
3147
+ {
3148
+ "type": "card",
3149
+ "children": [
3150
+ {
3151
+ "type": "typography",
3152
+ "variant": "caption",
3153
+ "content": "Graph View"
3154
+ }
3155
+ ]
3156
+ }
3157
+ ]
3158
+ },
3159
+ {
3160
+ "type": "line-chart",
3161
+ "data": [
3162
+ {
3163
+ "date": "Jan",
3164
+ "value": 12
3165
+ },
3166
+ {
3167
+ "date": "Feb",
3168
+ "value": 19
3169
+ },
3170
+ {
3171
+ "date": "Mar",
3172
+ "value": 15
3173
+ },
3174
+ {
3175
+ "date": "Apr",
3176
+ "value": 25
3177
+ },
3178
+ {
3179
+ "date": "May",
3180
+ "value": 22
3181
+ },
3182
+ {
3183
+ "date": "Jun",
3184
+ "value": 30
3185
+ }
3186
+ ],
3187
+ "xKey": "date",
3188
+ "yKey": "value",
3189
+ "title": "Trend"
3190
+ },
3191
+ {
3192
+ "type": "chart-legend",
3193
+ "items": [
3194
+ {
3195
+ "label": "Current",
3196
+ "color": "primary"
3197
+ },
3198
+ {
3199
+ "label": "Previous",
3200
+ "color": "muted"
3201
+ }
2645
3202
  ]
3203
+ },
3204
+ {
3205
+ "type": "graph-view",
3206
+ "nodes": [
3207
+ {
3208
+ "id": "a",
3209
+ "label": "Start",
3210
+ "x": 50,
3211
+ "y": 100
3212
+ },
3213
+ {
3214
+ "id": "b",
3215
+ "label": "Process",
3216
+ "x": 200,
3217
+ "y": 50
3218
+ },
3219
+ {
3220
+ "id": "c",
3221
+ "label": "End",
3222
+ "x": 350,
3223
+ "y": 100
3224
+ }
3225
+ ],
3226
+ "edges": [
3227
+ {
3228
+ "from": "a",
3229
+ "to": "b"
3230
+ },
3231
+ {
3232
+ "from": "b",
3233
+ "to": "c"
3234
+ }
3235
+ ],
3236
+ "width": 400,
3237
+ "height": 200
2646
3238
  }
2647
3239
  ]
2648
3240
  }
@@ -2666,140 +3258,296 @@
2666
3258
  "render-ui",
2667
3259
  "main",
2668
3260
  {
2669
- "type": "stack",
2670
- "direction": "vertical",
2671
- "gap": "lg",
2672
- "children": [
3261
+ "type": "dashboard-layout",
3262
+ "appName": "LMS",
3263
+ "navItems": [
2673
3264
  {
2674
- "type": "stack",
2675
- "direction": "horizontal",
2676
- "gap": "md",
2677
- "justify": "space-between",
2678
- "children": [
2679
- {
2680
- "type": "stack",
2681
- "direction": "horizontal",
2682
- "gap": "md",
2683
- "children": [
2684
- {
2685
- "type": "icon",
2686
- "name": "trending-up",
2687
- "size": "lg"
2688
- },
2689
- {
2690
- "type": "typography",
2691
- "content": "Progress",
2692
- "variant": "h2"
2693
- }
2694
- ]
2695
- },
2696
- {
2697
- "type": "button",
2698
- "label": "Refresh",
2699
- "event": "REFRESH",
2700
- "variant": "secondary",
2701
- "icon": "refresh-cw"
2702
- }
2703
- ]
3265
+ "label": "Courses",
3266
+ "href": "/courses",
3267
+ "icon": "book-open"
2704
3268
  },
2705
3269
  {
2706
- "type": "divider"
3270
+ "label": "Enroll",
3271
+ "href": "/enroll",
3272
+ "icon": "layout-list"
2707
3273
  },
2708
3274
  {
2709
- "type": "simple-grid",
2710
- "columns": 3,
3275
+ "label": "Progress",
3276
+ "href": "/progress",
3277
+ "icon": "layout-list"
3278
+ }
3279
+ ],
3280
+ "children": [
3281
+ {
3282
+ "type": "scaled-diagram",
2711
3283
  "children": [
2712
3284
  {
2713
- "type": "card",
3285
+ "type": "stack",
3286
+ "direction": "vertical",
3287
+ "gap": "lg",
2714
3288
  "children": [
3289
+ {
3290
+ "type": "breadcrumb",
3291
+ "items": [
3292
+ {
3293
+ "label": "Home",
3294
+ "href": "/"
3295
+ },
3296
+ {
3297
+ "label": "Progress"
3298
+ }
3299
+ ]
3300
+ },
2715
3301
  {
2716
3302
  "type": "stack",
2717
- "direction": "vertical",
2718
- "gap": "sm",
3303
+ "direction": "horizontal",
3304
+ "gap": "md",
3305
+ "justify": "space-between",
2719
3306
  "children": [
2720
3307
  {
2721
- "type": "typography",
2722
- "variant": "caption",
2723
- "content": "CourseName"
3308
+ "type": "stack",
3309
+ "direction": "horizontal",
3310
+ "gap": "md",
3311
+ "children": [
3312
+ {
3313
+ "type": "icon",
3314
+ "name": "trending-up",
3315
+ "size": "lg"
3316
+ },
3317
+ {
3318
+ "type": "typography",
3319
+ "content": "Progress",
3320
+ "variant": "h2"
3321
+ }
3322
+ ]
2724
3323
  },
2725
3324
  {
2726
- "type": "typography",
2727
- "variant": "h3",
2728
- "content": [
2729
- "object/get",
2730
- [
2731
- "array/first",
2732
- "@entity"
2733
- ],
2734
- "courseName"
3325
+ "type": "button",
3326
+ "label": "Refresh",
3327
+ "event": "REFRESH",
3328
+ "variant": "secondary",
3329
+ "icon": "refresh-cw"
3330
+ }
3331
+ ]
3332
+ },
3333
+ {
3334
+ "type": "divider"
3335
+ },
3336
+ {
3337
+ "type": "box",
3338
+ "padding": "md",
3339
+ "children": [
3340
+ {
3341
+ "type": "simple-grid",
3342
+ "columns": 3,
3343
+ "children": [
3344
+ {
3345
+ "type": "card",
3346
+ "children": [
3347
+ {
3348
+ "type": "stack",
3349
+ "direction": "vertical",
3350
+ "gap": "sm",
3351
+ "children": [
3352
+ {
3353
+ "type": "typography",
3354
+ "variant": "caption",
3355
+ "content": "CourseName"
3356
+ },
3357
+ {
3358
+ "type": "typography",
3359
+ "variant": "h3",
3360
+ "content": [
3361
+ "object/get",
3362
+ [
3363
+ "array/first",
3364
+ "@entity"
3365
+ ],
3366
+ "courseName"
3367
+ ]
3368
+ }
3369
+ ]
3370
+ }
3371
+ ]
3372
+ },
3373
+ {
3374
+ "type": "stat-display",
3375
+ "label": "LessonsCompleted",
3376
+ "value": [
3377
+ "object/get",
3378
+ [
3379
+ "array/first",
3380
+ "@entity"
3381
+ ],
3382
+ "lessonsCompleted"
3383
+ ]
3384
+ },
3385
+ {
3386
+ "type": "stat-display",
3387
+ "label": "TotalLessons",
3388
+ "value": [
3389
+ "object/get",
3390
+ [
3391
+ "array/first",
3392
+ "@entity"
3393
+ ],
3394
+ "totalLessons"
3395
+ ]
3396
+ },
3397
+ {
3398
+ "type": "stat-display",
3399
+ "label": "PercentComplete",
3400
+ "value": [
3401
+ "object/get",
3402
+ [
3403
+ "array/first",
3404
+ "@entity"
3405
+ ],
3406
+ "percentComplete"
3407
+ ]
3408
+ },
3409
+ {
3410
+ "type": "card",
3411
+ "children": [
3412
+ {
3413
+ "type": "stack",
3414
+ "direction": "vertical",
3415
+ "gap": "sm",
3416
+ "children": [
3417
+ {
3418
+ "type": "typography",
3419
+ "variant": "caption",
3420
+ "content": "LastActivity"
3421
+ },
3422
+ {
3423
+ "type": "typography",
3424
+ "variant": "h3",
3425
+ "content": [
3426
+ "object/get",
3427
+ [
3428
+ "array/first",
3429
+ "@entity"
3430
+ ],
3431
+ "lastActivity"
3432
+ ]
3433
+ }
3434
+ ]
3435
+ }
3436
+ ]
3437
+ }
2735
3438
  ]
2736
3439
  }
2737
3440
  ]
2738
- }
2739
- ]
2740
- },
2741
- {
2742
- "type": "stat-display",
2743
- "label": "LessonsCompleted",
2744
- "value": [
2745
- "object/get",
2746
- [
2747
- "array/first",
2748
- "@entity"
2749
- ],
2750
- "lessonsCompleted"
2751
- ]
2752
- },
2753
- {
2754
- "type": "stat-display",
2755
- "label": "TotalLessons",
2756
- "value": [
2757
- "object/get",
2758
- [
2759
- "array/first",
2760
- "@entity"
2761
- ],
2762
- "totalLessons"
2763
- ]
2764
- },
2765
- {
2766
- "type": "stat-display",
2767
- "label": "PercentComplete",
2768
- "value": [
2769
- "object/get",
2770
- [
2771
- "array/first",
2772
- "@entity"
2773
- ],
2774
- "percentComplete"
2775
- ]
2776
- },
2777
- {
2778
- "type": "card",
2779
- "children": [
3441
+ },
2780
3442
  {
2781
- "type": "stack",
2782
- "direction": "vertical",
2783
- "gap": "sm",
3443
+ "type": "divider"
3444
+ },
3445
+ {
3446
+ "type": "grid",
3447
+ "columns": 2,
3448
+ "gap": "md",
2784
3449
  "children": [
2785
3450
  {
2786
- "type": "typography",
2787
- "variant": "caption",
2788
- "content": "LastActivity"
3451
+ "type": "card",
3452
+ "children": [
3453
+ {
3454
+ "type": "typography",
3455
+ "variant": "caption",
3456
+ "content": "Chart View"
3457
+ }
3458
+ ]
2789
3459
  },
2790
3460
  {
2791
- "type": "typography",
2792
- "variant": "h3",
2793
- "content": [
2794
- "object/get",
2795
- [
2796
- "array/first",
2797
- "@entity"
2798
- ],
2799
- "lastActivity"
3461
+ "type": "card",
3462
+ "children": [
3463
+ {
3464
+ "type": "typography",
3465
+ "variant": "caption",
3466
+ "content": "Graph View"
3467
+ }
2800
3468
  ]
2801
3469
  }
2802
3470
  ]
3471
+ },
3472
+ {
3473
+ "type": "line-chart",
3474
+ "data": [
3475
+ {
3476
+ "date": "Jan",
3477
+ "value": 12
3478
+ },
3479
+ {
3480
+ "date": "Feb",
3481
+ "value": 19
3482
+ },
3483
+ {
3484
+ "date": "Mar",
3485
+ "value": 15
3486
+ },
3487
+ {
3488
+ "date": "Apr",
3489
+ "value": 25
3490
+ },
3491
+ {
3492
+ "date": "May",
3493
+ "value": 22
3494
+ },
3495
+ {
3496
+ "date": "Jun",
3497
+ "value": 30
3498
+ }
3499
+ ],
3500
+ "xKey": "date",
3501
+ "yKey": "value",
3502
+ "title": "Trend"
3503
+ },
3504
+ {
3505
+ "type": "chart-legend",
3506
+ "items": [
3507
+ {
3508
+ "label": "Current",
3509
+ "color": "primary"
3510
+ },
3511
+ {
3512
+ "label": "Previous",
3513
+ "color": "muted"
3514
+ }
3515
+ ]
3516
+ },
3517
+ {
3518
+ "type": "graph-view",
3519
+ "nodes": [
3520
+ {
3521
+ "id": "a",
3522
+ "label": "Start",
3523
+ "x": 50,
3524
+ "y": 100
3525
+ },
3526
+ {
3527
+ "id": "b",
3528
+ "label": "Process",
3529
+ "x": 200,
3530
+ "y": 50
3531
+ },
3532
+ {
3533
+ "id": "c",
3534
+ "label": "End",
3535
+ "x": 350,
3536
+ "y": 100
3537
+ }
3538
+ ],
3539
+ "edges": [
3540
+ {
3541
+ "from": "a",
3542
+ "to": "b"
3543
+ },
3544
+ {
3545
+ "from": "b",
3546
+ "to": "c"
3547
+ }
3548
+ ],
3549
+ "width": 400,
3550
+ "height": 200
2803
3551
  }
2804
3552
  ]
2805
3553
  }
@@ -2823,140 +3571,296 @@
2823
3571
  "render-ui",
2824
3572
  "main",
2825
3573
  {
2826
- "type": "stack",
2827
- "direction": "vertical",
2828
- "gap": "lg",
2829
- "children": [
3574
+ "type": "dashboard-layout",
3575
+ "appName": "LMS",
3576
+ "navItems": [
2830
3577
  {
2831
- "type": "stack",
2832
- "direction": "horizontal",
2833
- "gap": "md",
2834
- "justify": "space-between",
2835
- "children": [
2836
- {
2837
- "type": "stack",
2838
- "direction": "horizontal",
2839
- "gap": "md",
2840
- "children": [
2841
- {
2842
- "type": "icon",
2843
- "name": "trending-up",
2844
- "size": "lg"
2845
- },
2846
- {
2847
- "type": "typography",
2848
- "content": "Progress",
2849
- "variant": "h2"
2850
- }
2851
- ]
2852
- },
2853
- {
2854
- "type": "button",
2855
- "label": "Refresh",
2856
- "event": "REFRESH",
2857
- "variant": "secondary",
2858
- "icon": "refresh-cw"
2859
- }
2860
- ]
3578
+ "label": "Courses",
3579
+ "href": "/courses",
3580
+ "icon": "book-open"
2861
3581
  },
2862
3582
  {
2863
- "type": "divider"
3583
+ "label": "Enroll",
3584
+ "href": "/enroll",
3585
+ "icon": "layout-list"
2864
3586
  },
2865
3587
  {
2866
- "type": "simple-grid",
2867
- "columns": 3,
3588
+ "label": "Progress",
3589
+ "href": "/progress",
3590
+ "icon": "layout-list"
3591
+ }
3592
+ ],
3593
+ "children": [
3594
+ {
3595
+ "type": "scaled-diagram",
2868
3596
  "children": [
2869
3597
  {
2870
- "type": "card",
3598
+ "type": "stack",
3599
+ "direction": "vertical",
3600
+ "gap": "lg",
2871
3601
  "children": [
3602
+ {
3603
+ "type": "breadcrumb",
3604
+ "items": [
3605
+ {
3606
+ "label": "Home",
3607
+ "href": "/"
3608
+ },
3609
+ {
3610
+ "label": "Progress"
3611
+ }
3612
+ ]
3613
+ },
2872
3614
  {
2873
3615
  "type": "stack",
2874
- "direction": "vertical",
2875
- "gap": "sm",
3616
+ "direction": "horizontal",
3617
+ "gap": "md",
3618
+ "justify": "space-between",
2876
3619
  "children": [
2877
3620
  {
2878
- "type": "typography",
2879
- "variant": "caption",
2880
- "content": "CourseName"
3621
+ "type": "stack",
3622
+ "direction": "horizontal",
3623
+ "gap": "md",
3624
+ "children": [
3625
+ {
3626
+ "type": "icon",
3627
+ "name": "trending-up",
3628
+ "size": "lg"
3629
+ },
3630
+ {
3631
+ "type": "typography",
3632
+ "content": "Progress",
3633
+ "variant": "h2"
3634
+ }
3635
+ ]
2881
3636
  },
2882
3637
  {
2883
- "type": "typography",
2884
- "variant": "h3",
2885
- "content": [
2886
- "object/get",
2887
- [
2888
- "array/first",
2889
- "@entity"
2890
- ],
2891
- "courseName"
3638
+ "type": "button",
3639
+ "label": "Refresh",
3640
+ "event": "REFRESH",
3641
+ "variant": "secondary",
3642
+ "icon": "refresh-cw"
3643
+ }
3644
+ ]
3645
+ },
3646
+ {
3647
+ "type": "divider"
3648
+ },
3649
+ {
3650
+ "type": "box",
3651
+ "padding": "md",
3652
+ "children": [
3653
+ {
3654
+ "type": "simple-grid",
3655
+ "columns": 3,
3656
+ "children": [
3657
+ {
3658
+ "type": "card",
3659
+ "children": [
3660
+ {
3661
+ "type": "stack",
3662
+ "direction": "vertical",
3663
+ "gap": "sm",
3664
+ "children": [
3665
+ {
3666
+ "type": "typography",
3667
+ "variant": "caption",
3668
+ "content": "CourseName"
3669
+ },
3670
+ {
3671
+ "type": "typography",
3672
+ "variant": "h3",
3673
+ "content": [
3674
+ "object/get",
3675
+ [
3676
+ "array/first",
3677
+ "@entity"
3678
+ ],
3679
+ "courseName"
3680
+ ]
3681
+ }
3682
+ ]
3683
+ }
3684
+ ]
3685
+ },
3686
+ {
3687
+ "type": "stat-display",
3688
+ "label": "LessonsCompleted",
3689
+ "value": [
3690
+ "object/get",
3691
+ [
3692
+ "array/first",
3693
+ "@entity"
3694
+ ],
3695
+ "lessonsCompleted"
3696
+ ]
3697
+ },
3698
+ {
3699
+ "type": "stat-display",
3700
+ "label": "TotalLessons",
3701
+ "value": [
3702
+ "object/get",
3703
+ [
3704
+ "array/first",
3705
+ "@entity"
3706
+ ],
3707
+ "totalLessons"
3708
+ ]
3709
+ },
3710
+ {
3711
+ "type": "stat-display",
3712
+ "label": "PercentComplete",
3713
+ "value": [
3714
+ "object/get",
3715
+ [
3716
+ "array/first",
3717
+ "@entity"
3718
+ ],
3719
+ "percentComplete"
3720
+ ]
3721
+ },
3722
+ {
3723
+ "type": "card",
3724
+ "children": [
3725
+ {
3726
+ "type": "stack",
3727
+ "direction": "vertical",
3728
+ "gap": "sm",
3729
+ "children": [
3730
+ {
3731
+ "type": "typography",
3732
+ "variant": "caption",
3733
+ "content": "LastActivity"
3734
+ },
3735
+ {
3736
+ "type": "typography",
3737
+ "variant": "h3",
3738
+ "content": [
3739
+ "object/get",
3740
+ [
3741
+ "array/first",
3742
+ "@entity"
3743
+ ],
3744
+ "lastActivity"
3745
+ ]
3746
+ }
3747
+ ]
3748
+ }
3749
+ ]
3750
+ }
2892
3751
  ]
2893
3752
  }
2894
3753
  ]
2895
- }
2896
- ]
2897
- },
2898
- {
2899
- "type": "stat-display",
2900
- "label": "LessonsCompleted",
2901
- "value": [
2902
- "object/get",
2903
- [
2904
- "array/first",
2905
- "@entity"
2906
- ],
2907
- "lessonsCompleted"
2908
- ]
2909
- },
2910
- {
2911
- "type": "stat-display",
2912
- "label": "TotalLessons",
2913
- "value": [
2914
- "object/get",
2915
- [
2916
- "array/first",
2917
- "@entity"
2918
- ],
2919
- "totalLessons"
2920
- ]
2921
- },
2922
- {
2923
- "type": "stat-display",
2924
- "label": "PercentComplete",
2925
- "value": [
2926
- "object/get",
2927
- [
2928
- "array/first",
2929
- "@entity"
2930
- ],
2931
- "percentComplete"
2932
- ]
2933
- },
2934
- {
2935
- "type": "card",
2936
- "children": [
3754
+ },
2937
3755
  {
2938
- "type": "stack",
2939
- "direction": "vertical",
2940
- "gap": "sm",
3756
+ "type": "divider"
3757
+ },
3758
+ {
3759
+ "type": "grid",
3760
+ "columns": 2,
3761
+ "gap": "md",
2941
3762
  "children": [
2942
3763
  {
2943
- "type": "typography",
2944
- "variant": "caption",
2945
- "content": "LastActivity"
3764
+ "type": "card",
3765
+ "children": [
3766
+ {
3767
+ "type": "typography",
3768
+ "variant": "caption",
3769
+ "content": "Chart View"
3770
+ }
3771
+ ]
2946
3772
  },
2947
3773
  {
2948
- "type": "typography",
2949
- "variant": "h3",
2950
- "content": [
2951
- "object/get",
2952
- [
2953
- "array/first",
2954
- "@entity"
2955
- ],
2956
- "lastActivity"
3774
+ "type": "card",
3775
+ "children": [
3776
+ {
3777
+ "type": "typography",
3778
+ "variant": "caption",
3779
+ "content": "Graph View"
3780
+ }
2957
3781
  ]
2958
3782
  }
2959
3783
  ]
3784
+ },
3785
+ {
3786
+ "type": "line-chart",
3787
+ "data": [
3788
+ {
3789
+ "date": "Jan",
3790
+ "value": 12
3791
+ },
3792
+ {
3793
+ "date": "Feb",
3794
+ "value": 19
3795
+ },
3796
+ {
3797
+ "date": "Mar",
3798
+ "value": 15
3799
+ },
3800
+ {
3801
+ "date": "Apr",
3802
+ "value": 25
3803
+ },
3804
+ {
3805
+ "date": "May",
3806
+ "value": 22
3807
+ },
3808
+ {
3809
+ "date": "Jun",
3810
+ "value": 30
3811
+ }
3812
+ ],
3813
+ "xKey": "date",
3814
+ "yKey": "value",
3815
+ "title": "Trend"
3816
+ },
3817
+ {
3818
+ "type": "chart-legend",
3819
+ "items": [
3820
+ {
3821
+ "label": "Current",
3822
+ "color": "primary"
3823
+ },
3824
+ {
3825
+ "label": "Previous",
3826
+ "color": "muted"
3827
+ }
3828
+ ]
3829
+ },
3830
+ {
3831
+ "type": "graph-view",
3832
+ "nodes": [
3833
+ {
3834
+ "id": "a",
3835
+ "label": "Start",
3836
+ "x": 50,
3837
+ "y": 100
3838
+ },
3839
+ {
3840
+ "id": "b",
3841
+ "label": "Process",
3842
+ "x": 200,
3843
+ "y": 50
3844
+ },
3845
+ {
3846
+ "id": "c",
3847
+ "label": "End",
3848
+ "x": 350,
3849
+ "y": 100
3850
+ }
3851
+ ],
3852
+ "edges": [
3853
+ {
3854
+ "from": "a",
3855
+ "to": "b"
3856
+ },
3857
+ {
3858
+ "from": "b",
3859
+ "to": "c"
3860
+ }
3861
+ ],
3862
+ "width": 400,
3863
+ "height": 200
2960
3864
  }
2961
3865
  ]
2962
3866
  }
@@ -2980,140 +3884,296 @@
2980
3884
  "render-ui",
2981
3885
  "main",
2982
3886
  {
2983
- "type": "stack",
2984
- "direction": "vertical",
2985
- "gap": "lg",
2986
- "children": [
3887
+ "type": "dashboard-layout",
3888
+ "appName": "LMS",
3889
+ "navItems": [
2987
3890
  {
2988
- "type": "stack",
2989
- "direction": "horizontal",
2990
- "gap": "md",
2991
- "justify": "space-between",
2992
- "children": [
2993
- {
2994
- "type": "stack",
2995
- "direction": "horizontal",
2996
- "gap": "md",
2997
- "children": [
2998
- {
2999
- "type": "icon",
3000
- "name": "trending-up",
3001
- "size": "lg"
3002
- },
3003
- {
3004
- "type": "typography",
3005
- "content": "Progress",
3006
- "variant": "h2"
3007
- }
3008
- ]
3009
- },
3010
- {
3011
- "type": "button",
3012
- "label": "Refresh",
3013
- "event": "REFRESH",
3014
- "variant": "secondary",
3015
- "icon": "refresh-cw"
3016
- }
3017
- ]
3891
+ "label": "Courses",
3892
+ "href": "/courses",
3893
+ "icon": "book-open"
3018
3894
  },
3019
3895
  {
3020
- "type": "divider"
3896
+ "label": "Enroll",
3897
+ "href": "/enroll",
3898
+ "icon": "layout-list"
3021
3899
  },
3022
3900
  {
3023
- "type": "simple-grid",
3024
- "columns": 3,
3901
+ "label": "Progress",
3902
+ "href": "/progress",
3903
+ "icon": "layout-list"
3904
+ }
3905
+ ],
3906
+ "children": [
3907
+ {
3908
+ "type": "scaled-diagram",
3025
3909
  "children": [
3026
3910
  {
3027
- "type": "card",
3911
+ "type": "stack",
3912
+ "direction": "vertical",
3913
+ "gap": "lg",
3028
3914
  "children": [
3915
+ {
3916
+ "type": "breadcrumb",
3917
+ "items": [
3918
+ {
3919
+ "label": "Home",
3920
+ "href": "/"
3921
+ },
3922
+ {
3923
+ "label": "Progress"
3924
+ }
3925
+ ]
3926
+ },
3029
3927
  {
3030
3928
  "type": "stack",
3031
- "direction": "vertical",
3032
- "gap": "sm",
3929
+ "direction": "horizontal",
3930
+ "gap": "md",
3931
+ "justify": "space-between",
3033
3932
  "children": [
3034
3933
  {
3035
- "type": "typography",
3036
- "variant": "caption",
3037
- "content": "CourseName"
3934
+ "type": "stack",
3935
+ "direction": "horizontal",
3936
+ "gap": "md",
3937
+ "children": [
3938
+ {
3939
+ "type": "icon",
3940
+ "name": "trending-up",
3941
+ "size": "lg"
3942
+ },
3943
+ {
3944
+ "type": "typography",
3945
+ "content": "Progress",
3946
+ "variant": "h2"
3947
+ }
3948
+ ]
3038
3949
  },
3039
3950
  {
3040
- "type": "typography",
3041
- "variant": "h3",
3042
- "content": [
3043
- "object/get",
3044
- [
3045
- "array/first",
3046
- "@entity"
3047
- ],
3048
- "courseName"
3951
+ "type": "button",
3952
+ "label": "Refresh",
3953
+ "event": "REFRESH",
3954
+ "variant": "secondary",
3955
+ "icon": "refresh-cw"
3956
+ }
3957
+ ]
3958
+ },
3959
+ {
3960
+ "type": "divider"
3961
+ },
3962
+ {
3963
+ "type": "box",
3964
+ "padding": "md",
3965
+ "children": [
3966
+ {
3967
+ "type": "simple-grid",
3968
+ "columns": 3,
3969
+ "children": [
3970
+ {
3971
+ "type": "card",
3972
+ "children": [
3973
+ {
3974
+ "type": "stack",
3975
+ "direction": "vertical",
3976
+ "gap": "sm",
3977
+ "children": [
3978
+ {
3979
+ "type": "typography",
3980
+ "variant": "caption",
3981
+ "content": "CourseName"
3982
+ },
3983
+ {
3984
+ "type": "typography",
3985
+ "variant": "h3",
3986
+ "content": [
3987
+ "object/get",
3988
+ [
3989
+ "array/first",
3990
+ "@entity"
3991
+ ],
3992
+ "courseName"
3993
+ ]
3994
+ }
3995
+ ]
3996
+ }
3997
+ ]
3998
+ },
3999
+ {
4000
+ "type": "stat-display",
4001
+ "label": "LessonsCompleted",
4002
+ "value": [
4003
+ "object/get",
4004
+ [
4005
+ "array/first",
4006
+ "@entity"
4007
+ ],
4008
+ "lessonsCompleted"
4009
+ ]
4010
+ },
4011
+ {
4012
+ "type": "stat-display",
4013
+ "label": "TotalLessons",
4014
+ "value": [
4015
+ "object/get",
4016
+ [
4017
+ "array/first",
4018
+ "@entity"
4019
+ ],
4020
+ "totalLessons"
4021
+ ]
4022
+ },
4023
+ {
4024
+ "type": "stat-display",
4025
+ "label": "PercentComplete",
4026
+ "value": [
4027
+ "object/get",
4028
+ [
4029
+ "array/first",
4030
+ "@entity"
4031
+ ],
4032
+ "percentComplete"
4033
+ ]
4034
+ },
4035
+ {
4036
+ "type": "card",
4037
+ "children": [
4038
+ {
4039
+ "type": "stack",
4040
+ "direction": "vertical",
4041
+ "gap": "sm",
4042
+ "children": [
4043
+ {
4044
+ "type": "typography",
4045
+ "variant": "caption",
4046
+ "content": "LastActivity"
4047
+ },
4048
+ {
4049
+ "type": "typography",
4050
+ "variant": "h3",
4051
+ "content": [
4052
+ "object/get",
4053
+ [
4054
+ "array/first",
4055
+ "@entity"
4056
+ ],
4057
+ "lastActivity"
4058
+ ]
4059
+ }
4060
+ ]
4061
+ }
4062
+ ]
4063
+ }
3049
4064
  ]
3050
4065
  }
3051
4066
  ]
3052
- }
3053
- ]
3054
- },
3055
- {
3056
- "type": "stat-display",
3057
- "label": "LessonsCompleted",
3058
- "value": [
3059
- "object/get",
3060
- [
3061
- "array/first",
3062
- "@entity"
3063
- ],
3064
- "lessonsCompleted"
3065
- ]
3066
- },
3067
- {
3068
- "type": "stat-display",
3069
- "label": "TotalLessons",
3070
- "value": [
3071
- "object/get",
3072
- [
3073
- "array/first",
3074
- "@entity"
3075
- ],
3076
- "totalLessons"
3077
- ]
3078
- },
3079
- {
3080
- "type": "stat-display",
3081
- "label": "PercentComplete",
3082
- "value": [
3083
- "object/get",
3084
- [
3085
- "array/first",
3086
- "@entity"
3087
- ],
3088
- "percentComplete"
3089
- ]
3090
- },
3091
- {
3092
- "type": "card",
3093
- "children": [
4067
+ },
3094
4068
  {
3095
- "type": "stack",
3096
- "direction": "vertical",
3097
- "gap": "sm",
4069
+ "type": "divider"
4070
+ },
4071
+ {
4072
+ "type": "grid",
4073
+ "columns": 2,
4074
+ "gap": "md",
3098
4075
  "children": [
3099
4076
  {
3100
- "type": "typography",
3101
- "variant": "caption",
3102
- "content": "LastActivity"
4077
+ "type": "card",
4078
+ "children": [
4079
+ {
4080
+ "type": "typography",
4081
+ "variant": "caption",
4082
+ "content": "Chart View"
4083
+ }
4084
+ ]
3103
4085
  },
3104
4086
  {
3105
- "type": "typography",
3106
- "variant": "h3",
3107
- "content": [
3108
- "object/get",
3109
- [
3110
- "array/first",
3111
- "@entity"
3112
- ],
3113
- "lastActivity"
4087
+ "type": "card",
4088
+ "children": [
4089
+ {
4090
+ "type": "typography",
4091
+ "variant": "caption",
4092
+ "content": "Graph View"
4093
+ }
3114
4094
  ]
3115
4095
  }
3116
4096
  ]
4097
+ },
4098
+ {
4099
+ "type": "line-chart",
4100
+ "data": [
4101
+ {
4102
+ "date": "Jan",
4103
+ "value": 12
4104
+ },
4105
+ {
4106
+ "date": "Feb",
4107
+ "value": 19
4108
+ },
4109
+ {
4110
+ "date": "Mar",
4111
+ "value": 15
4112
+ },
4113
+ {
4114
+ "date": "Apr",
4115
+ "value": 25
4116
+ },
4117
+ {
4118
+ "date": "May",
4119
+ "value": 22
4120
+ },
4121
+ {
4122
+ "date": "Jun",
4123
+ "value": 30
4124
+ }
4125
+ ],
4126
+ "xKey": "date",
4127
+ "yKey": "value",
4128
+ "title": "Trend"
4129
+ },
4130
+ {
4131
+ "type": "chart-legend",
4132
+ "items": [
4133
+ {
4134
+ "label": "Current",
4135
+ "color": "primary"
4136
+ },
4137
+ {
4138
+ "label": "Previous",
4139
+ "color": "muted"
4140
+ }
4141
+ ]
4142
+ },
4143
+ {
4144
+ "type": "graph-view",
4145
+ "nodes": [
4146
+ {
4147
+ "id": "a",
4148
+ "label": "Start",
4149
+ "x": 50,
4150
+ "y": 100
4151
+ },
4152
+ {
4153
+ "id": "b",
4154
+ "label": "Process",
4155
+ "x": 200,
4156
+ "y": 50
4157
+ },
4158
+ {
4159
+ "id": "c",
4160
+ "label": "End",
4161
+ "x": 350,
4162
+ "y": 100
4163
+ }
4164
+ ],
4165
+ "edges": [
4166
+ {
4167
+ "from": "a",
4168
+ "to": "b"
4169
+ },
4170
+ {
4171
+ "from": "b",
4172
+ "to": "c"
4173
+ }
4174
+ ],
4175
+ "width": 400,
4176
+ "height": 200
3117
4177
  }
3118
4178
  ]
3119
4179
  }