@almadar/std 3.2.1 → 3.2.2

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 (262) hide show
  1. package/behaviors/exports/atoms/std-async.orb +41 -24
  2. package/behaviors/exports/atoms/std-browse.orb +12 -5
  3. package/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  4. package/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  5. package/behaviors/exports/atoms/std-collision.orb +278 -206
  6. package/behaviors/exports/atoms/std-combat-log.orb +6 -1
  7. package/behaviors/exports/atoms/std-combat.orb +6 -1
  8. package/behaviors/exports/atoms/std-confirmation.orb +212 -7
  9. package/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  10. package/behaviors/exports/atoms/std-display.orb +166 -21
  11. package/behaviors/exports/atoms/std-drawer.orb +208 -104
  12. package/behaviors/exports/atoms/std-filter.orb +211 -18
  13. package/behaviors/exports/atoms/std-game-audio.orb +6 -1
  14. package/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  15. package/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  16. package/behaviors/exports/atoms/std-game-hud.orb +6 -1
  17. package/behaviors/exports/atoms/std-game-menu.orb +6 -1
  18. package/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  19. package/behaviors/exports/atoms/std-gameflow.orb +100 -5
  20. package/behaviors/exports/atoms/std-input.orb +142 -137
  21. package/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  22. package/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  23. package/behaviors/exports/atoms/std-loading.orb +27 -76
  24. package/behaviors/exports/atoms/std-modal.orb +177 -93
  25. package/behaviors/exports/atoms/std-movement.orb +401 -31
  26. package/behaviors/exports/atoms/std-notification.orb +46 -95
  27. package/behaviors/exports/atoms/std-overworld.orb +44 -16
  28. package/behaviors/exports/atoms/std-pagination.orb +26 -89
  29. package/behaviors/exports/atoms/std-physics2d.orb +6 -1
  30. package/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  31. package/behaviors/exports/atoms/std-quest.orb +309 -34
  32. package/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  33. package/behaviors/exports/atoms/std-score-board.orb +6 -1
  34. package/behaviors/exports/atoms/std-score.orb +211 -11
  35. package/behaviors/exports/atoms/std-search.orb +28 -27
  36. package/behaviors/exports/atoms/std-selection.orb +160 -121
  37. package/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  38. package/behaviors/exports/atoms/std-sort.orb +134 -24
  39. package/behaviors/exports/atoms/std-sprite.orb +6 -1
  40. package/behaviors/exports/atoms/std-tabs.orb +25 -15
  41. package/behaviors/exports/atoms/std-timer.orb +483 -91
  42. package/behaviors/exports/atoms/std-undo.orb +211 -81
  43. package/behaviors/exports/atoms/std-wizard.orb +31 -34
  44. package/behaviors/exports/molecules/std-builder-game.orb +6 -1
  45. package/behaviors/exports/molecules/std-cart.orb +6 -1
  46. package/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  47. package/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  48. package/behaviors/exports/molecules/std-detail.orb +12 -5
  49. package/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  50. package/behaviors/exports/molecules/std-geospatial.orb +28 -9
  51. package/behaviors/exports/molecules/std-inventory.orb +28 -9
  52. package/behaviors/exports/molecules/std-list.orb +392 -5
  53. package/behaviors/exports/molecules/std-messaging.orb +12 -5
  54. package/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  55. package/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  56. package/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  57. package/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  58. package/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  59. package/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  60. package/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  61. package/behaviors/exports/organisms/std-arcade-game.orb +94 -4
  62. package/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  63. package/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  64. package/behaviors/exports/organisms/std-cms.orb +1713 -947
  65. package/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  66. package/behaviors/exports/organisms/std-crm.orb +1669 -1153
  67. package/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  68. package/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  69. package/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  70. package/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  71. package/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  72. package/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  73. package/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  74. package/behaviors/exports/organisms/std-lms.orb +658 -362
  75. package/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  76. package/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  77. package/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  78. package/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  79. package/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  80. package/behaviors/exports/organisms/std-social-feed.orb +12 -8
  81. package/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  82. package/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  83. package/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  84. package/behaviors/exports/validation-report.json +252 -252
  85. package/behaviors/exports/verify-results.json +13 -0
  86. package/dist/behaviors/exports/atoms/std-async.orb +41 -24
  87. package/dist/behaviors/exports/atoms/std-browse.orb +12 -5
  88. package/dist/behaviors/exports/atoms/std-cache-aside.orb +256 -42
  89. package/dist/behaviors/exports/atoms/std-circuit-breaker.orb +577 -97
  90. package/dist/behaviors/exports/atoms/std-collision.orb +278 -206
  91. package/dist/behaviors/exports/atoms/std-combat-log.orb +6 -1
  92. package/dist/behaviors/exports/atoms/std-combat.orb +6 -1
  93. package/dist/behaviors/exports/atoms/std-confirmation.orb +212 -7
  94. package/dist/behaviors/exports/atoms/std-dialogue-box.orb +6 -1
  95. package/dist/behaviors/exports/atoms/std-display.orb +166 -21
  96. package/dist/behaviors/exports/atoms/std-drawer.orb +208 -104
  97. package/dist/behaviors/exports/atoms/std-filter.orb +211 -18
  98. package/dist/behaviors/exports/atoms/std-game-audio.orb +6 -1
  99. package/dist/behaviors/exports/atoms/std-game-canvas2d.orb +6 -1
  100. package/dist/behaviors/exports/atoms/std-game-canvas3d.orb +6 -1
  101. package/dist/behaviors/exports/atoms/std-game-hud.orb +6 -1
  102. package/dist/behaviors/exports/atoms/std-game-menu.orb +6 -1
  103. package/dist/behaviors/exports/atoms/std-game-over-screen.orb +6 -1
  104. package/dist/behaviors/exports/atoms/std-gameflow.orb +100 -5
  105. package/dist/behaviors/exports/atoms/std-input.orb +142 -137
  106. package/dist/behaviors/exports/atoms/std-inventory-panel.orb +6 -1
  107. package/dist/behaviors/exports/atoms/std-isometric-canvas.orb +6 -1
  108. package/dist/behaviors/exports/atoms/std-loading.orb +27 -76
  109. package/dist/behaviors/exports/atoms/std-modal.orb +177 -93
  110. package/dist/behaviors/exports/atoms/std-movement.orb +401 -31
  111. package/dist/behaviors/exports/atoms/std-notification.orb +46 -95
  112. package/dist/behaviors/exports/atoms/std-overworld.orb +44 -16
  113. package/dist/behaviors/exports/atoms/std-pagination.orb +26 -89
  114. package/dist/behaviors/exports/atoms/std-physics2d.orb +6 -1
  115. package/dist/behaviors/exports/atoms/std-platformer-canvas.orb +6 -1
  116. package/dist/behaviors/exports/atoms/std-quest.orb +309 -34
  117. package/dist/behaviors/exports/atoms/std-rate-limiter.orb +410 -157
  118. package/dist/behaviors/exports/atoms/std-score-board.orb +6 -1
  119. package/dist/behaviors/exports/atoms/std-score.orb +211 -11
  120. package/dist/behaviors/exports/atoms/std-search.orb +28 -27
  121. package/dist/behaviors/exports/atoms/std-selection.orb +160 -121
  122. package/dist/behaviors/exports/atoms/std-simulation-canvas.orb +6 -1
  123. package/dist/behaviors/exports/atoms/std-sort.orb +134 -24
  124. package/dist/behaviors/exports/atoms/std-sprite.orb +6 -1
  125. package/dist/behaviors/exports/atoms/std-tabs.orb +25 -15
  126. package/dist/behaviors/exports/atoms/std-timer.orb +483 -91
  127. package/dist/behaviors/exports/atoms/std-undo.orb +211 -81
  128. package/dist/behaviors/exports/atoms/std-wizard.orb +31 -34
  129. package/dist/behaviors/exports/molecules/std-builder-game.orb +6 -1
  130. package/dist/behaviors/exports/molecules/std-cart.orb +6 -1
  131. package/dist/behaviors/exports/molecules/std-classifier-game.orb +6 -1
  132. package/dist/behaviors/exports/molecules/std-debugger-game.orb +6 -1
  133. package/dist/behaviors/exports/molecules/std-detail.orb +12 -5
  134. package/dist/behaviors/exports/molecules/std-event-handler-game.orb +6 -1
  135. package/dist/behaviors/exports/molecules/std-geospatial.orb +28 -9
  136. package/dist/behaviors/exports/molecules/std-inventory.orb +28 -9
  137. package/dist/behaviors/exports/molecules/std-list.orb +392 -5
  138. package/dist/behaviors/exports/molecules/std-messaging.orb +12 -5
  139. package/dist/behaviors/exports/molecules/std-negotiator-game.orb +6 -1
  140. package/dist/behaviors/exports/molecules/std-platformer-game.orb +40 -1
  141. package/dist/behaviors/exports/molecules/std-puzzle-game.orb +26 -1
  142. package/dist/behaviors/exports/molecules/std-sequencer-game.orb +6 -1
  143. package/dist/behaviors/exports/molecules/std-simulator-game.orb +6 -1
  144. package/dist/behaviors/exports/molecules/std-turn-based-battle.orb +40 -1
  145. package/dist/behaviors/exports/organisms/std-api-gateway.orb +1145 -403
  146. package/dist/behaviors/exports/organisms/std-arcade-game.orb +94 -4
  147. package/dist/behaviors/exports/organisms/std-booking-system.orb +2165 -1605
  148. package/dist/behaviors/exports/organisms/std-cicd-pipeline.orb +581 -47
  149. package/dist/behaviors/exports/organisms/std-cms.orb +1713 -947
  150. package/dist/behaviors/exports/organisms/std-coding-academy.orb +180 -380
  151. package/dist/behaviors/exports/organisms/std-crm.orb +1669 -1153
  152. package/dist/behaviors/exports/organisms/std-devops-dashboard.orb +1430 -378
  153. package/dist/behaviors/exports/organisms/std-ecommerce.orb +2361 -1601
  154. package/dist/behaviors/exports/organisms/std-finance-tracker.orb +622 -438
  155. package/dist/behaviors/exports/organisms/std-healthcare.orb +1687 -1125
  156. package/dist/behaviors/exports/organisms/std-helpdesk.orb +626 -407
  157. package/dist/behaviors/exports/organisms/std-hr-portal.orb +1309 -714
  158. package/dist/behaviors/exports/organisms/std-iot-dashboard.orb +1247 -335
  159. package/dist/behaviors/exports/organisms/std-lms.orb +658 -362
  160. package/dist/behaviors/exports/organisms/std-platformer-app.orb +56 -8
  161. package/dist/behaviors/exports/organisms/std-project-manager.orb +1697 -1183
  162. package/dist/behaviors/exports/organisms/std-puzzle-app.orb +20 -0
  163. package/dist/behaviors/exports/organisms/std-realtime-chat.orb +552 -28
  164. package/dist/behaviors/exports/organisms/std-rpg-game.orb +397 -56
  165. package/dist/behaviors/exports/organisms/std-social-feed.orb +12 -8
  166. package/dist/behaviors/exports/organisms/std-stem-lab.orb +175 -290
  167. package/dist/behaviors/exports/organisms/std-strategy-game.orb +252 -395
  168. package/dist/behaviors/exports/organisms/std-trading-dashboard.orb +718 -524
  169. package/dist/behaviors/exports/validation-report.json +252 -252
  170. package/dist/behaviors/exports/verify-results.json +13 -0
  171. package/dist/behaviors/functions/index.js +715 -593
  172. package/dist/behaviors/functions/index.js.map +1 -1
  173. package/dist/behaviors/index.js +715 -593
  174. package/dist/behaviors/index.js.map +1 -1
  175. package/dist/exports/atoms/std-async.orb +41 -24
  176. package/dist/exports/atoms/std-browse.orb +12 -5
  177. package/dist/exports/atoms/std-cache-aside.orb +256 -42
  178. package/dist/exports/atoms/std-circuit-breaker.orb +577 -97
  179. package/dist/exports/atoms/std-collision.orb +278 -206
  180. package/dist/exports/atoms/std-combat-log.orb +6 -1
  181. package/dist/exports/atoms/std-combat.orb +6 -1
  182. package/dist/exports/atoms/std-confirmation.orb +212 -7
  183. package/dist/exports/atoms/std-dialogue-box.orb +6 -1
  184. package/dist/exports/atoms/std-display.orb +166 -21
  185. package/dist/exports/atoms/std-drawer.orb +208 -104
  186. package/dist/exports/atoms/std-filter.orb +211 -18
  187. package/dist/exports/atoms/std-game-audio.orb +6 -1
  188. package/dist/exports/atoms/std-game-canvas2d.orb +6 -1
  189. package/dist/exports/atoms/std-game-canvas3d.orb +6 -1
  190. package/dist/exports/atoms/std-game-hud.orb +6 -1
  191. package/dist/exports/atoms/std-game-menu.orb +6 -1
  192. package/dist/exports/atoms/std-game-over-screen.orb +6 -1
  193. package/dist/exports/atoms/std-gameflow.orb +100 -5
  194. package/dist/exports/atoms/std-input.orb +142 -137
  195. package/dist/exports/atoms/std-inventory-panel.orb +6 -1
  196. package/dist/exports/atoms/std-isometric-canvas.orb +6 -1
  197. package/dist/exports/atoms/std-loading.orb +27 -76
  198. package/dist/exports/atoms/std-modal.orb +177 -93
  199. package/dist/exports/atoms/std-movement.orb +401 -31
  200. package/dist/exports/atoms/std-notification.orb +46 -95
  201. package/dist/exports/atoms/std-overworld.orb +44 -16
  202. package/dist/exports/atoms/std-pagination.orb +26 -89
  203. package/dist/exports/atoms/std-physics2d.orb +6 -1
  204. package/dist/exports/atoms/std-platformer-canvas.orb +6 -1
  205. package/dist/exports/atoms/std-quest.orb +309 -34
  206. package/dist/exports/atoms/std-rate-limiter.orb +410 -157
  207. package/dist/exports/atoms/std-score-board.orb +6 -1
  208. package/dist/exports/atoms/std-score.orb +211 -11
  209. package/dist/exports/atoms/std-search.orb +28 -27
  210. package/dist/exports/atoms/std-selection.orb +160 -121
  211. package/dist/exports/atoms/std-simulation-canvas.orb +6 -1
  212. package/dist/exports/atoms/std-sort.orb +134 -24
  213. package/dist/exports/atoms/std-sprite.orb +6 -1
  214. package/dist/exports/atoms/std-tabs.orb +25 -15
  215. package/dist/exports/atoms/std-timer.orb +483 -91
  216. package/dist/exports/atoms/std-undo.orb +211 -81
  217. package/dist/exports/atoms/std-wizard.orb +31 -34
  218. package/dist/exports/molecules/std-builder-game.orb +6 -1
  219. package/dist/exports/molecules/std-cart.orb +6 -1
  220. package/dist/exports/molecules/std-classifier-game.orb +6 -1
  221. package/dist/exports/molecules/std-debugger-game.orb +6 -1
  222. package/dist/exports/molecules/std-detail.orb +12 -5
  223. package/dist/exports/molecules/std-event-handler-game.orb +6 -1
  224. package/dist/exports/molecules/std-geospatial.orb +28 -9
  225. package/dist/exports/molecules/std-inventory.orb +28 -9
  226. package/dist/exports/molecules/std-list.orb +392 -5
  227. package/dist/exports/molecules/std-messaging.orb +12 -5
  228. package/dist/exports/molecules/std-negotiator-game.orb +6 -1
  229. package/dist/exports/molecules/std-platformer-game.orb +40 -1
  230. package/dist/exports/molecules/std-puzzle-game.orb +26 -1
  231. package/dist/exports/molecules/std-sequencer-game.orb +6 -1
  232. package/dist/exports/molecules/std-simulator-game.orb +6 -1
  233. package/dist/exports/molecules/std-turn-based-battle.orb +40 -1
  234. package/dist/exports/organisms/std-api-gateway.orb +1145 -403
  235. package/dist/exports/organisms/std-arcade-game.orb +94 -4
  236. package/dist/exports/organisms/std-booking-system.orb +2165 -1605
  237. package/dist/exports/organisms/std-cicd-pipeline.orb +581 -47
  238. package/dist/exports/organisms/std-cms.orb +1713 -947
  239. package/dist/exports/organisms/std-coding-academy.orb +180 -380
  240. package/dist/exports/organisms/std-crm.orb +1669 -1153
  241. package/dist/exports/organisms/std-devops-dashboard.orb +1430 -378
  242. package/dist/exports/organisms/std-ecommerce.orb +2361 -1601
  243. package/dist/exports/organisms/std-finance-tracker.orb +622 -438
  244. package/dist/exports/organisms/std-healthcare.orb +1687 -1125
  245. package/dist/exports/organisms/std-helpdesk.orb +626 -407
  246. package/dist/exports/organisms/std-hr-portal.orb +1309 -714
  247. package/dist/exports/organisms/std-iot-dashboard.orb +1247 -335
  248. package/dist/exports/organisms/std-lms.orb +658 -362
  249. package/dist/exports/organisms/std-platformer-app.orb +56 -8
  250. package/dist/exports/organisms/std-project-manager.orb +1697 -1183
  251. package/dist/exports/organisms/std-puzzle-app.orb +20 -0
  252. package/dist/exports/organisms/std-realtime-chat.orb +552 -28
  253. package/dist/exports/organisms/std-rpg-game.orb +397 -56
  254. package/dist/exports/organisms/std-social-feed.orb +12 -8
  255. package/dist/exports/organisms/std-stem-lab.orb +175 -290
  256. package/dist/exports/organisms/std-strategy-game.orb +252 -395
  257. package/dist/exports/organisms/std-trading-dashboard.orb +718 -524
  258. package/dist/exports/validation-report.json +252 -252
  259. package/dist/exports/verify-results.json +13 -0
  260. package/dist/index.js +715 -593
  261. package/dist/index.js.map +1 -1
  262. package/package.json +1 -1
@@ -225,7 +225,9 @@
225
225
  }
226
226
  ],
227
227
  "className": "transition-shadow hover:shadow-md cursor-pointer",
228
- "children": [
228
+ "renderItem": [
229
+ "fn",
230
+ "item",
229
231
  {
230
232
  "type": "stack",
231
233
  "direction": "vertical",
@@ -251,13 +253,13 @@
251
253
  {
252
254
  "type": "typography",
253
255
  "variant": "h4",
254
- "content": "@entity.title"
256
+ "content": "@item.title"
255
257
  }
256
258
  ]
257
259
  },
258
260
  {
259
261
  "type": "badge",
260
- "label": "@entity.description"
262
+ "label": "@item.description"
261
263
  }
262
264
  ]
263
265
  },
@@ -265,7 +267,7 @@
265
267
  "type": "typography",
266
268
  "variant": "caption",
267
269
  "color": "muted",
268
- "content": "@entity.instructor"
270
+ "content": "@item.instructor"
269
271
  }
270
272
  ]
271
273
  }
@@ -387,6 +389,130 @@
387
389
  "fetch",
388
390
  "Course"
389
391
  ],
392
+ [
393
+ "render-ui",
394
+ "main",
395
+ {
396
+ "type": "stack",
397
+ "direction": "vertical",
398
+ "gap": "lg",
399
+ "children": [
400
+ {
401
+ "type": "stack",
402
+ "direction": "horizontal",
403
+ "gap": "md",
404
+ "justify": "space-between",
405
+ "children": [
406
+ {
407
+ "type": "stack",
408
+ "direction": "horizontal",
409
+ "gap": "sm",
410
+ "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
+ "children": [
473
+ {
474
+ "type": "stack",
475
+ "direction": "horizontal",
476
+ "justify": "space-between",
477
+ "align": "center",
478
+ "children": [
479
+ {
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
+ ]
496
+ },
497
+ {
498
+ "type": "badge",
499
+ "label": "@item.description"
500
+ }
501
+ ]
502
+ },
503
+ {
504
+ "type": "typography",
505
+ "variant": "caption",
506
+ "color": "muted",
507
+ "content": "@item.instructor"
508
+ }
509
+ ]
510
+ }
511
+ ]
512
+ }
513
+ ]
514
+ }
515
+ ],
390
516
  [
391
517
  "notify",
392
518
  "Course deleted successfully"
@@ -402,6 +528,134 @@
402
528
  "render-ui",
403
529
  "modal",
404
530
  null
531
+ ],
532
+ [
533
+ "fetch",
534
+ "Course"
535
+ ],
536
+ [
537
+ "render-ui",
538
+ "main",
539
+ {
540
+ "type": "stack",
541
+ "direction": "vertical",
542
+ "gap": "lg",
543
+ "children": [
544
+ {
545
+ "type": "stack",
546
+ "direction": "horizontal",
547
+ "gap": "md",
548
+ "justify": "space-between",
549
+ "children": [
550
+ {
551
+ "type": "stack",
552
+ "direction": "horizontal",
553
+ "gap": "sm",
554
+ "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
+ "children": [
617
+ {
618
+ "type": "stack",
619
+ "direction": "horizontal",
620
+ "justify": "space-between",
621
+ "align": "center",
622
+ "children": [
623
+ {
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
+ ]
640
+ },
641
+ {
642
+ "type": "badge",
643
+ "label": "@item.description"
644
+ }
645
+ ]
646
+ },
647
+ {
648
+ "type": "typography",
649
+ "variant": "caption",
650
+ "color": "muted",
651
+ "content": "@item.instructor"
652
+ }
653
+ ]
654
+ }
655
+ ]
656
+ }
657
+ ]
658
+ }
405
659
  ]
406
660
  ]
407
661
  },
@@ -414,6 +668,134 @@
414
668
  "render-ui",
415
669
  "modal",
416
670
  null
671
+ ],
672
+ [
673
+ "fetch",
674
+ "Course"
675
+ ],
676
+ [
677
+ "render-ui",
678
+ "main",
679
+ {
680
+ "type": "stack",
681
+ "direction": "vertical",
682
+ "gap": "lg",
683
+ "children": [
684
+ {
685
+ "type": "stack",
686
+ "direction": "horizontal",
687
+ "gap": "md",
688
+ "justify": "space-between",
689
+ "children": [
690
+ {
691
+ "type": "stack",
692
+ "direction": "horizontal",
693
+ "gap": "sm",
694
+ "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
+ "children": [
757
+ {
758
+ "type": "stack",
759
+ "direction": "horizontal",
760
+ "justify": "space-between",
761
+ "align": "center",
762
+ "children": [
763
+ {
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
+ ]
780
+ },
781
+ {
782
+ "type": "badge",
783
+ "label": "@item.description"
784
+ }
785
+ ]
786
+ },
787
+ {
788
+ "type": "typography",
789
+ "variant": "caption",
790
+ "color": "muted",
791
+ "content": "@item.instructor"
792
+ }
793
+ ]
794
+ }
795
+ ]
796
+ }
797
+ ]
798
+ }
417
799
  ]
418
800
  ]
419
801
  }
@@ -1127,8 +1509,9 @@
1127
1509
  ]
1128
1510
  },
1129
1511
  {
1130
- "type": "badge",
1131
- "label": "Step 1 of 2"
1512
+ "type": "progress-dots",
1513
+ "count": 2,
1514
+ "currentIndex": 0
1132
1515
  },
1133
1516
  {
1134
1517
  "type": "wizard-progress",
@@ -1213,8 +1596,9 @@
1213
1596
  ]
1214
1597
  },
1215
1598
  {
1216
- "type": "badge",
1217
- "label": "Step 2 of 2"
1599
+ "type": "progress-dots",
1600
+ "count": 2,
1601
+ "currentIndex": 1
1218
1602
  },
1219
1603
  {
1220
1604
  "type": "wizard-progress",
@@ -1322,7 +1706,9 @@
1322
1706
  {
1323
1707
  "type": "data-list",
1324
1708
  "entity": "Enrollment",
1325
- "children": [
1709
+ "renderItem": [
1710
+ "fn",
1711
+ "item",
1326
1712
  {
1327
1713
  "type": "stack",
1328
1714
  "direction": "vertical",
@@ -1342,7 +1728,7 @@
1342
1728
  {
1343
1729
  "type": "typography",
1344
1730
  "variant": "body",
1345
- "content": "@entity.studentName"
1731
+ "content": "@item.studentName"
1346
1732
  }
1347
1733
  ]
1348
1734
  },
@@ -1360,7 +1746,7 @@
1360
1746
  {
1361
1747
  "type": "typography",
1362
1748
  "variant": "body",
1363
- "content": "@entity.email"
1749
+ "content": "@item.email"
1364
1750
  }
1365
1751
  ]
1366
1752
  },
@@ -1378,7 +1764,7 @@
1378
1764
  {
1379
1765
  "type": "typography",
1380
1766
  "variant": "body",
1381
- "content": "@entity.courseId"
1767
+ "content": "@item.courseId"
1382
1768
  }
1383
1769
  ]
1384
1770
  },
@@ -1396,7 +1782,7 @@
1396
1782
  {
1397
1783
  "type": "typography",
1398
1784
  "variant": "body",
1399
- "content": "@entity.enrolledAt"
1785
+ "content": "@item.enrolledAt"
1400
1786
  }
1401
1787
  ]
1402
1788
  },
@@ -1414,7 +1800,7 @@
1414
1800
  {
1415
1801
  "type": "typography",
1416
1802
  "variant": "body",
1417
- "content": "@entity.status"
1803
+ "content": "@item.status"
1418
1804
  }
1419
1805
  ]
1420
1806
  }
@@ -1423,26 +1809,12 @@
1423
1809
  ]
1424
1810
  },
1425
1811
  {
1426
- "type": "stack",
1427
- "direction": "horizontal",
1428
- "gap": "sm",
1429
- "justify": "end",
1430
- "children": [
1431
- {
1432
- "type": "button",
1433
- "label": "Back",
1434
- "event": "PREV",
1435
- "variant": "ghost",
1436
- "icon": "arrow-left"
1437
- },
1438
- {
1439
- "type": "button",
1440
- "label": "Complete",
1441
- "event": "COMPLETE",
1442
- "variant": "primary",
1443
- "icon": "check"
1444
- }
1445
- ]
1812
+ "type": "wizard-navigation",
1813
+ "currentStep": 2,
1814
+ "totalSteps": 3,
1815
+ "showBack": true,
1816
+ "showComplete": true,
1817
+ "showNext": false
1446
1818
  }
1447
1819
  ]
1448
1820
  }
@@ -1485,8 +1857,9 @@
1485
1857
  ]
1486
1858
  },
1487
1859
  {
1488
- "type": "badge",
1489
- "label": "Step 1 of 2"
1860
+ "type": "progress-dots",
1861
+ "count": 2,
1862
+ "currentIndex": 0
1490
1863
  },
1491
1864
  {
1492
1865
  "type": "wizard-progress",
@@ -1571,8 +1944,9 @@
1571
1944
  ]
1572
1945
  },
1573
1946
  {
1574
- "type": "badge",
1575
- "label": "Step 2 of 2"
1947
+ "type": "progress-dots",
1948
+ "count": 2,
1949
+ "currentIndex": 1
1576
1950
  },
1577
1951
  {
1578
1952
  "type": "wizard-progress",
@@ -1715,8 +2089,9 @@
1715
2089
  ]
1716
2090
  },
1717
2091
  {
1718
- "type": "badge",
1719
- "label": "Step 1 of 2"
2092
+ "type": "progress-dots",
2093
+ "count": 2,
2094
+ "currentIndex": 0
1720
2095
  },
1721
2096
  {
1722
2097
  "type": "wizard-progress",
@@ -1801,8 +2176,9 @@
1801
2176
  ]
1802
2177
  },
1803
2178
  {
1804
- "type": "badge",
1805
- "label": "Step 1 of 2"
2179
+ "type": "progress-dots",
2180
+ "count": 2,
2181
+ "currentIndex": 0
1806
2182
  },
1807
2183
  {
1808
2184
  "type": "wizard-progress",
@@ -1998,71 +2374,27 @@
1998
2374
  },
1999
2375
  {
2000
2376
  "type": "typography",
2001
- "content": "Progress",
2002
- "variant": "h2"
2003
- }
2004
- ]
2005
- },
2006
- {
2007
- "type": "button",
2008
- "label": "Refresh",
2009
- "event": "REFRESH",
2010
- "variant": "secondary",
2011
- "icon": "refresh-cw"
2012
- }
2013
- ]
2014
- },
2015
- {
2016
- "type": "divider"
2017
- },
2018
- {
2019
- "type": "simple-grid",
2020
- "columns": 3,
2021
- "children": [
2022
- {
2023
- "type": "card",
2024
- "children": [
2025
- {
2026
- "type": "stack",
2027
- "direction": "vertical",
2028
- "gap": "sm",
2029
- "children": [
2030
- {
2031
- "type": "typography",
2032
- "variant": "caption",
2033
- "content": "CourseName"
2034
- },
2035
- {
2036
- "type": "typography",
2037
- "variant": "h3",
2038
- "content": "@entity.courseName"
2039
- }
2040
- ]
2041
- }
2042
- ]
2043
- },
2044
- {
2045
- "type": "card",
2046
- "children": [
2047
- {
2048
- "type": "stack",
2049
- "direction": "vertical",
2050
- "gap": "sm",
2051
- "children": [
2052
- {
2053
- "type": "typography",
2054
- "variant": "caption",
2055
- "content": "LessonsCompleted"
2056
- },
2057
- {
2058
- "type": "typography",
2059
- "variant": "h3",
2060
- "content": "@entity.lessonsCompleted"
2061
- }
2062
- ]
2377
+ "content": "Progress",
2378
+ "variant": "h2"
2063
2379
  }
2064
2380
  ]
2065
2381
  },
2382
+ {
2383
+ "type": "button",
2384
+ "label": "Refresh",
2385
+ "event": "REFRESH",
2386
+ "variant": "secondary",
2387
+ "icon": "refresh-cw"
2388
+ }
2389
+ ]
2390
+ },
2391
+ {
2392
+ "type": "divider"
2393
+ },
2394
+ {
2395
+ "type": "simple-grid",
2396
+ "columns": 3,
2397
+ "children": [
2066
2398
  {
2067
2399
  "type": "card",
2068
2400
  "children": [
@@ -2074,37 +2406,58 @@
2074
2406
  {
2075
2407
  "type": "typography",
2076
2408
  "variant": "caption",
2077
- "content": "TotalLessons"
2409
+ "content": "CourseName"
2078
2410
  },
2079
2411
  {
2080
2412
  "type": "typography",
2081
2413
  "variant": "h3",
2082
- "content": "@entity.totalLessons"
2414
+ "content": [
2415
+ "object/get",
2416
+ [
2417
+ "array/first",
2418
+ "@entity"
2419
+ ],
2420
+ "courseName"
2421
+ ]
2083
2422
  }
2084
2423
  ]
2085
2424
  }
2086
2425
  ]
2087
2426
  },
2088
2427
  {
2089
- "type": "card",
2090
- "children": [
2091
- {
2092
- "type": "stack",
2093
- "direction": "vertical",
2094
- "gap": "sm",
2095
- "children": [
2096
- {
2097
- "type": "typography",
2098
- "variant": "caption",
2099
- "content": "PercentComplete"
2100
- },
2101
- {
2102
- "type": "typography",
2103
- "variant": "h3",
2104
- "content": "@entity.percentComplete"
2105
- }
2106
- ]
2107
- }
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"
2108
2461
  ]
2109
2462
  },
2110
2463
  {
@@ -2123,7 +2476,14 @@
2123
2476
  {
2124
2477
  "type": "typography",
2125
2478
  "variant": "h3",
2126
- "content": "@entity.lastActivity"
2479
+ "content": [
2480
+ "object/get",
2481
+ [
2482
+ "array/first",
2483
+ "@entity"
2484
+ ],
2485
+ "lastActivity"
2486
+ ]
2127
2487
  }
2128
2488
  ]
2129
2489
  }
@@ -2208,76 +2568,53 @@
2208
2568
  {
2209
2569
  "type": "typography",
2210
2570
  "variant": "h3",
2211
- "content": "@entity.courseName"
2571
+ "content": [
2572
+ "object/get",
2573
+ [
2574
+ "array/first",
2575
+ "@entity"
2576
+ ],
2577
+ "courseName"
2578
+ ]
2212
2579
  }
2213
2580
  ]
2214
2581
  }
2215
2582
  ]
2216
2583
  },
2217
2584
  {
2218
- "type": "card",
2219
- "children": [
2220
- {
2221
- "type": "stack",
2222
- "direction": "vertical",
2223
- "gap": "sm",
2224
- "children": [
2225
- {
2226
- "type": "typography",
2227
- "variant": "caption",
2228
- "content": "LessonsCompleted"
2229
- },
2230
- {
2231
- "type": "typography",
2232
- "variant": "h3",
2233
- "content": "@entity.lessonsCompleted"
2234
- }
2235
- ]
2236
- }
2585
+ "type": "stat-display",
2586
+ "label": "LessonsCompleted",
2587
+ "value": [
2588
+ "object/get",
2589
+ [
2590
+ "array/first",
2591
+ "@entity"
2592
+ ],
2593
+ "lessonsCompleted"
2237
2594
  ]
2238
2595
  },
2239
2596
  {
2240
- "type": "card",
2241
- "children": [
2242
- {
2243
- "type": "stack",
2244
- "direction": "vertical",
2245
- "gap": "sm",
2246
- "children": [
2247
- {
2248
- "type": "typography",
2249
- "variant": "caption",
2250
- "content": "TotalLessons"
2251
- },
2252
- {
2253
- "type": "typography",
2254
- "variant": "h3",
2255
- "content": "@entity.totalLessons"
2256
- }
2257
- ]
2258
- }
2597
+ "type": "stat-display",
2598
+ "label": "TotalLessons",
2599
+ "value": [
2600
+ "object/get",
2601
+ [
2602
+ "array/first",
2603
+ "@entity"
2604
+ ],
2605
+ "totalLessons"
2259
2606
  ]
2260
2607
  },
2261
2608
  {
2262
- "type": "card",
2263
- "children": [
2264
- {
2265
- "type": "stack",
2266
- "direction": "vertical",
2267
- "gap": "sm",
2268
- "children": [
2269
- {
2270
- "type": "typography",
2271
- "variant": "caption",
2272
- "content": "PercentComplete"
2273
- },
2274
- {
2275
- "type": "typography",
2276
- "variant": "h3",
2277
- "content": "@entity.percentComplete"
2278
- }
2279
- ]
2280
- }
2609
+ "type": "stat-display",
2610
+ "label": "PercentComplete",
2611
+ "value": [
2612
+ "object/get",
2613
+ [
2614
+ "array/first",
2615
+ "@entity"
2616
+ ],
2617
+ "percentComplete"
2281
2618
  ]
2282
2619
  },
2283
2620
  {
@@ -2296,7 +2633,14 @@
2296
2633
  {
2297
2634
  "type": "typography",
2298
2635
  "variant": "h3",
2299
- "content": "@entity.lastActivity"
2636
+ "content": [
2637
+ "object/get",
2638
+ [
2639
+ "array/first",
2640
+ "@entity"
2641
+ ],
2642
+ "lastActivity"
2643
+ ]
2300
2644
  }
2301
2645
  ]
2302
2646
  }
@@ -2381,76 +2725,53 @@
2381
2725
  {
2382
2726
  "type": "typography",
2383
2727
  "variant": "h3",
2384
- "content": "@entity.courseName"
2728
+ "content": [
2729
+ "object/get",
2730
+ [
2731
+ "array/first",
2732
+ "@entity"
2733
+ ],
2734
+ "courseName"
2735
+ ]
2385
2736
  }
2386
2737
  ]
2387
2738
  }
2388
2739
  ]
2389
2740
  },
2390
2741
  {
2391
- "type": "card",
2392
- "children": [
2393
- {
2394
- "type": "stack",
2395
- "direction": "vertical",
2396
- "gap": "sm",
2397
- "children": [
2398
- {
2399
- "type": "typography",
2400
- "variant": "caption",
2401
- "content": "LessonsCompleted"
2402
- },
2403
- {
2404
- "type": "typography",
2405
- "variant": "h3",
2406
- "content": "@entity.lessonsCompleted"
2407
- }
2408
- ]
2409
- }
2742
+ "type": "stat-display",
2743
+ "label": "LessonsCompleted",
2744
+ "value": [
2745
+ "object/get",
2746
+ [
2747
+ "array/first",
2748
+ "@entity"
2749
+ ],
2750
+ "lessonsCompleted"
2410
2751
  ]
2411
2752
  },
2412
2753
  {
2413
- "type": "card",
2414
- "children": [
2415
- {
2416
- "type": "stack",
2417
- "direction": "vertical",
2418
- "gap": "sm",
2419
- "children": [
2420
- {
2421
- "type": "typography",
2422
- "variant": "caption",
2423
- "content": "TotalLessons"
2424
- },
2425
- {
2426
- "type": "typography",
2427
- "variant": "h3",
2428
- "content": "@entity.totalLessons"
2429
- }
2430
- ]
2431
- }
2754
+ "type": "stat-display",
2755
+ "label": "TotalLessons",
2756
+ "value": [
2757
+ "object/get",
2758
+ [
2759
+ "array/first",
2760
+ "@entity"
2761
+ ],
2762
+ "totalLessons"
2432
2763
  ]
2433
2764
  },
2434
2765
  {
2435
- "type": "card",
2436
- "children": [
2437
- {
2438
- "type": "stack",
2439
- "direction": "vertical",
2440
- "gap": "sm",
2441
- "children": [
2442
- {
2443
- "type": "typography",
2444
- "variant": "caption",
2445
- "content": "PercentComplete"
2446
- },
2447
- {
2448
- "type": "typography",
2449
- "variant": "h3",
2450
- "content": "@entity.percentComplete"
2451
- }
2452
- ]
2453
- }
2766
+ "type": "stat-display",
2767
+ "label": "PercentComplete",
2768
+ "value": [
2769
+ "object/get",
2770
+ [
2771
+ "array/first",
2772
+ "@entity"
2773
+ ],
2774
+ "percentComplete"
2454
2775
  ]
2455
2776
  },
2456
2777
  {
@@ -2469,7 +2790,14 @@
2469
2790
  {
2470
2791
  "type": "typography",
2471
2792
  "variant": "h3",
2472
- "content": "@entity.lastActivity"
2793
+ "content": [
2794
+ "object/get",
2795
+ [
2796
+ "array/first",
2797
+ "@entity"
2798
+ ],
2799
+ "lastActivity"
2800
+ ]
2473
2801
  }
2474
2802
  ]
2475
2803
  }
@@ -2554,76 +2882,53 @@
2554
2882
  {
2555
2883
  "type": "typography",
2556
2884
  "variant": "h3",
2557
- "content": "@entity.courseName"
2885
+ "content": [
2886
+ "object/get",
2887
+ [
2888
+ "array/first",
2889
+ "@entity"
2890
+ ],
2891
+ "courseName"
2892
+ ]
2558
2893
  }
2559
2894
  ]
2560
2895
  }
2561
2896
  ]
2562
2897
  },
2563
2898
  {
2564
- "type": "card",
2565
- "children": [
2566
- {
2567
- "type": "stack",
2568
- "direction": "vertical",
2569
- "gap": "sm",
2570
- "children": [
2571
- {
2572
- "type": "typography",
2573
- "variant": "caption",
2574
- "content": "LessonsCompleted"
2575
- },
2576
- {
2577
- "type": "typography",
2578
- "variant": "h3",
2579
- "content": "@entity.lessonsCompleted"
2580
- }
2581
- ]
2582
- }
2899
+ "type": "stat-display",
2900
+ "label": "LessonsCompleted",
2901
+ "value": [
2902
+ "object/get",
2903
+ [
2904
+ "array/first",
2905
+ "@entity"
2906
+ ],
2907
+ "lessonsCompleted"
2583
2908
  ]
2584
2909
  },
2585
2910
  {
2586
- "type": "card",
2587
- "children": [
2588
- {
2589
- "type": "stack",
2590
- "direction": "vertical",
2591
- "gap": "sm",
2592
- "children": [
2593
- {
2594
- "type": "typography",
2595
- "variant": "caption",
2596
- "content": "TotalLessons"
2597
- },
2598
- {
2599
- "type": "typography",
2600
- "variant": "h3",
2601
- "content": "@entity.totalLessons"
2602
- }
2603
- ]
2604
- }
2911
+ "type": "stat-display",
2912
+ "label": "TotalLessons",
2913
+ "value": [
2914
+ "object/get",
2915
+ [
2916
+ "array/first",
2917
+ "@entity"
2918
+ ],
2919
+ "totalLessons"
2605
2920
  ]
2606
2921
  },
2607
2922
  {
2608
- "type": "card",
2609
- "children": [
2610
- {
2611
- "type": "stack",
2612
- "direction": "vertical",
2613
- "gap": "sm",
2614
- "children": [
2615
- {
2616
- "type": "typography",
2617
- "variant": "caption",
2618
- "content": "PercentComplete"
2619
- },
2620
- {
2621
- "type": "typography",
2622
- "variant": "h3",
2623
- "content": "@entity.percentComplete"
2624
- }
2625
- ]
2626
- }
2923
+ "type": "stat-display",
2924
+ "label": "PercentComplete",
2925
+ "value": [
2926
+ "object/get",
2927
+ [
2928
+ "array/first",
2929
+ "@entity"
2930
+ ],
2931
+ "percentComplete"
2627
2932
  ]
2628
2933
  },
2629
2934
  {
@@ -2642,7 +2947,14 @@
2642
2947
  {
2643
2948
  "type": "typography",
2644
2949
  "variant": "h3",
2645
- "content": "@entity.lastActivity"
2950
+ "content": [
2951
+ "object/get",
2952
+ [
2953
+ "array/first",
2954
+ "@entity"
2955
+ ],
2956
+ "lastActivity"
2957
+ ]
2646
2958
  }
2647
2959
  ]
2648
2960
  }
@@ -2727,76 +3039,53 @@
2727
3039
  {
2728
3040
  "type": "typography",
2729
3041
  "variant": "h3",
2730
- "content": "@entity.courseName"
3042
+ "content": [
3043
+ "object/get",
3044
+ [
3045
+ "array/first",
3046
+ "@entity"
3047
+ ],
3048
+ "courseName"
3049
+ ]
2731
3050
  }
2732
3051
  ]
2733
3052
  }
2734
3053
  ]
2735
3054
  },
2736
3055
  {
2737
- "type": "card",
2738
- "children": [
2739
- {
2740
- "type": "stack",
2741
- "direction": "vertical",
2742
- "gap": "sm",
2743
- "children": [
2744
- {
2745
- "type": "typography",
2746
- "variant": "caption",
2747
- "content": "LessonsCompleted"
2748
- },
2749
- {
2750
- "type": "typography",
2751
- "variant": "h3",
2752
- "content": "@entity.lessonsCompleted"
2753
- }
2754
- ]
2755
- }
3056
+ "type": "stat-display",
3057
+ "label": "LessonsCompleted",
3058
+ "value": [
3059
+ "object/get",
3060
+ [
3061
+ "array/first",
3062
+ "@entity"
3063
+ ],
3064
+ "lessonsCompleted"
2756
3065
  ]
2757
3066
  },
2758
3067
  {
2759
- "type": "card",
2760
- "children": [
2761
- {
2762
- "type": "stack",
2763
- "direction": "vertical",
2764
- "gap": "sm",
2765
- "children": [
2766
- {
2767
- "type": "typography",
2768
- "variant": "caption",
2769
- "content": "TotalLessons"
2770
- },
2771
- {
2772
- "type": "typography",
2773
- "variant": "h3",
2774
- "content": "@entity.totalLessons"
2775
- }
2776
- ]
2777
- }
3068
+ "type": "stat-display",
3069
+ "label": "TotalLessons",
3070
+ "value": [
3071
+ "object/get",
3072
+ [
3073
+ "array/first",
3074
+ "@entity"
3075
+ ],
3076
+ "totalLessons"
2778
3077
  ]
2779
3078
  },
2780
3079
  {
2781
- "type": "card",
2782
- "children": [
2783
- {
2784
- "type": "stack",
2785
- "direction": "vertical",
2786
- "gap": "sm",
2787
- "children": [
2788
- {
2789
- "type": "typography",
2790
- "variant": "caption",
2791
- "content": "PercentComplete"
2792
- },
2793
- {
2794
- "type": "typography",
2795
- "variant": "h3",
2796
- "content": "@entity.percentComplete"
2797
- }
2798
- ]
2799
- }
3080
+ "type": "stat-display",
3081
+ "label": "PercentComplete",
3082
+ "value": [
3083
+ "object/get",
3084
+ [
3085
+ "array/first",
3086
+ "@entity"
3087
+ ],
3088
+ "percentComplete"
2800
3089
  ]
2801
3090
  },
2802
3091
  {
@@ -2815,7 +3104,14 @@
2815
3104
  {
2816
3105
  "type": "typography",
2817
3106
  "variant": "h3",
2818
- "content": "@entity.lastActivity"
3107
+ "content": [
3108
+ "object/get",
3109
+ [
3110
+ "array/first",
3111
+ "@entity"
3112
+ ],
3113
+ "lastActivity"
3114
+ ]
2819
3115
  }
2820
3116
  ]
2821
3117
  }