@almadar/std 14.16.0 → 14.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  2. package/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  3. package/behaviors/registry/app/atoms/std-dunning.orb +44 -44
  4. package/behaviors/registry/app/atoms/std-event.orb +62 -62
  5. package/behaviors/registry/app/atoms/std-flag.orb +72 -72
  6. package/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  7. package/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  8. package/behaviors/registry/app/atoms/std-invoice.orb +124 -124
  9. package/behaviors/registry/app/atoms/std-kitchen-display.orb +45 -45
  10. package/behaviors/registry/app/atoms/std-menu.orb +44 -44
  11. package/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  12. package/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  13. package/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  14. package/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  15. package/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  16. package/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  17. package/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  18. package/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  19. package/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  20. package/behaviors/registry/app/atoms/std-route-optimize.orb +48 -46
  21. package/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  22. package/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  23. package/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  24. package/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  25. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  26. package/behaviors/registry/app/atoms/std-thread.orb +59 -59
  27. package/behaviors/registry/app/atoms/std-ticket-tier.orb +72 -56
  28. package/behaviors/registry/app/atoms/std-trial.orb +67 -67
  29. package/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  30. package/behaviors/registry/app/atoms/std-vote.orb +40 -40
  31. package/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  32. package/behaviors/registry/app/atoms/std-work-order.orb +61 -61
  33. package/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  34. package/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  35. package/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  36. package/behaviors/registry/app/organisms/std-cms.orb +265 -265
  37. package/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  38. package/behaviors/registry/app/organisms/std-crm.orb +258 -258
  39. package/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  40. package/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  41. package/behaviors/registry/app/organisms/std-event-ticketing.orb +193 -201
  42. package/behaviors/registry/app/organisms/std-field-service.orb +170 -174
  43. package/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  44. package/behaviors/registry/app/organisms/std-forum.orb +127 -128
  45. package/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  46. package/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  47. package/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  48. package/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  49. package/behaviors/registry/app/organisms/std-listings.orb +152 -157
  50. package/behaviors/registry/app/organisms/std-lms.orb +422 -422
  51. package/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  52. package/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  53. package/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  54. package/behaviors/registry/app/organisms/std-restaurant-pos.orb +142 -142
  55. package/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  56. package/behaviors/registry/app/organisms/std-subscription-billing.orb +210 -212
  57. package/behaviors/registry/app/organisms/std-survey.orb +148 -149
  58. package/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  59. package/behaviors/registry/app/organisms/std-wiki.orb +131 -132
  60. package/behaviors/registry/core/molecules/std-form-advanced.orb +124 -124
  61. package/dist/behaviors/behaviors-registry.json +1 -1
  62. package/dist/behaviors/registry/app/atoms/std-branching-logic.orb +84 -84
  63. package/dist/behaviors/registry/app/atoms/std-checkin.orb +60 -60
  64. package/dist/behaviors/registry/app/atoms/std-dunning.orb +44 -44
  65. package/dist/behaviors/registry/app/atoms/std-event.orb +62 -62
  66. package/dist/behaviors/registry/app/atoms/std-flag.orb +72 -72
  67. package/dist/behaviors/registry/app/atoms/std-geosearch.orb +29 -29
  68. package/dist/behaviors/registry/app/atoms/std-image-upload-multi.orb +54 -56
  69. package/dist/behaviors/registry/app/atoms/std-invoice.orb +124 -124
  70. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +45 -45
  71. package/dist/behaviors/registry/app/atoms/std-menu.orb +44 -44
  72. package/dist/behaviors/registry/app/atoms/std-mod-queue.orb +38 -38
  73. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +56 -56
  74. package/dist/behaviors/registry/app/atoms/std-page-tree.orb +55 -55
  75. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +66 -66
  76. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +62 -62
  77. package/dist/behaviors/registry/app/atoms/std-rating-review.orb +67 -67
  78. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +74 -74
  79. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +44 -44
  80. package/dist/behaviors/registry/app/atoms/std-rich-editor.orb +68 -68
  81. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +48 -46
  82. package/dist/behaviors/registry/app/atoms/std-saved-search.orb +72 -72
  83. package/dist/behaviors/registry/app/atoms/std-signature-capture.orb +86 -86
  84. package/dist/behaviors/registry/app/atoms/std-table-map.orb +46 -46
  85. package/dist/behaviors/registry/app/atoms/std-tag-taxonomy.orb +73 -92
  86. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +42 -42
  87. package/dist/behaviors/registry/app/atoms/std-thread.orb +59 -59
  88. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +72 -56
  89. package/dist/behaviors/registry/app/atoms/std-trial.orb +67 -67
  90. package/dist/behaviors/registry/app/atoms/std-version-history.orb +93 -93
  91. package/dist/behaviors/registry/app/atoms/std-vote.orb +40 -40
  92. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +50 -50
  93. package/dist/behaviors/registry/app/atoms/std-work-order.orb +61 -61
  94. package/dist/behaviors/registry/app/organisms/std-api-gateway.orb +201 -201
  95. package/dist/behaviors/registry/app/organisms/std-booking-system.orb +676 -676
  96. package/dist/behaviors/registry/app/organisms/std-cicd-pipeline.orb +285 -285
  97. package/dist/behaviors/registry/app/organisms/std-cms.orb +265 -265
  98. package/dist/behaviors/registry/app/organisms/std-coding-academy.orb +179 -179
  99. package/dist/behaviors/registry/app/organisms/std-crm.orb +258 -258
  100. package/dist/behaviors/registry/app/organisms/std-devops-dashboard.orb +403 -403
  101. package/dist/behaviors/registry/app/organisms/std-ecommerce.orb +681 -681
  102. package/dist/behaviors/registry/app/organisms/std-event-ticketing.orb +193 -201
  103. package/dist/behaviors/registry/app/organisms/std-field-service.orb +170 -174
  104. package/dist/behaviors/registry/app/organisms/std-finance-tracker.orb +205 -205
  105. package/dist/behaviors/registry/app/organisms/std-forum.orb +127 -128
  106. package/dist/behaviors/registry/app/organisms/std-healthcare.orb +540 -540
  107. package/dist/behaviors/registry/app/organisms/std-helpdesk.orb +175 -175
  108. package/dist/behaviors/registry/app/organisms/std-hr-portal.orb +444 -444
  109. package/dist/behaviors/registry/app/organisms/std-iot-dashboard.orb +344 -344
  110. package/dist/behaviors/registry/app/organisms/std-listings.orb +152 -157
  111. package/dist/behaviors/registry/app/organisms/std-lms.orb +422 -422
  112. package/dist/behaviors/registry/app/organisms/std-marketplace.orb +232 -234
  113. package/dist/behaviors/registry/app/organisms/std-project-manager.orb +193 -193
  114. package/dist/behaviors/registry/app/organisms/std-realtime-chat.orb +248 -248
  115. package/dist/behaviors/registry/app/organisms/std-restaurant-pos.orb +142 -142
  116. package/dist/behaviors/registry/app/organisms/std-social-feed.orb +156 -156
  117. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +210 -212
  118. package/dist/behaviors/registry/app/organisms/std-survey.orb +148 -149
  119. package/dist/behaviors/registry/app/organisms/std-trading-dashboard.orb +274 -274
  120. package/dist/behaviors/registry/app/organisms/std-wiki.orb +131 -132
  121. package/dist/behaviors/registry/core/molecules/std-form-advanced.orb +124 -124
  122. package/dist/behaviors-registry.json +1 -1
  123. package/package.json +7 -14
@@ -213,8 +213,8 @@
213
213
  "SeqChallenge",
214
214
  {
215
215
  "emit": {
216
- "failure": "SeqChallengeLoadFailed",
217
- "success": "SeqChallengeLoaded"
216
+ "success": "SeqChallengeLoaded",
217
+ "failure": "SeqChallengeLoadFailed"
218
218
  }
219
219
  }
220
220
  ],
@@ -222,21 +222,21 @@
222
222
  "render-ui",
223
223
  "main",
224
224
  {
225
- "appName": "Coding Academy",
226
- "showTopBar": true,
227
225
  "children": [
228
226
  {
229
227
  "type": "game-menu",
230
228
  "title": "Sequencer Challenge",
231
229
  "menuItems": [
232
230
  {
233
- "label": "Start",
234
231
  "variant": "primary",
235
- "event": "START"
232
+ "event": "START",
233
+ "label": "Start"
236
234
  }
237
235
  ]
238
236
  }
239
237
  ],
238
+ "showTopBar": true,
239
+ "appName": "Coding Academy",
240
240
  "type": "game-shell"
241
241
  }
242
242
  ]
@@ -252,14 +252,14 @@
252
252
  "main",
253
253
  {
254
254
  "showTopBar": true,
255
- "type": "game-shell",
256
- "appName": "Coding Academy",
257
255
  "children": [
258
256
  {
257
+ "type": "stack",
259
258
  "direction": "vertical",
260
259
  "gap": "md",
261
260
  "children": [
262
261
  {
262
+ "type": "game-hud",
263
263
  "stats": [
264
264
  {
265
265
  "value": "@entity.score",
@@ -269,19 +269,19 @@
269
269
  "label": "Level",
270
270
  "value": "@entity.level"
271
271
  }
272
- ],
273
- "type": "game-hud"
272
+ ]
274
273
  },
275
274
  "@trait.SeqLessonVideo",
276
275
  {
277
- "type": "sequencer-board",
278
276
  "completeEvent": "COMPLETE",
279
- "entity": "SeqChallenge"
277
+ "entity": "SeqChallenge",
278
+ "type": "sequencer-board"
280
279
  }
281
- ],
282
- "type": "stack"
280
+ ]
283
281
  }
284
- ]
282
+ ],
283
+ "type": "game-shell",
284
+ "appName": "Coding Academy"
285
285
  }
286
286
  ]
287
287
  ]
@@ -300,22 +300,22 @@
300
300
  "render-ui",
301
301
  "main",
302
302
  {
303
- "showTopBar": true,
304
- "appName": "Coding Academy",
305
303
  "type": "game-shell",
306
304
  "children": [
307
305
  {
306
+ "type": "game-over-screen",
307
+ "title": "Well Done!",
308
308
  "menuItems": [
309
309
  {
310
+ "label": "Play Again",
310
311
  "event": "RESTART",
311
- "variant": "primary",
312
- "label": "Play Again"
312
+ "variant": "primary"
313
313
  }
314
- ],
315
- "title": "Well Done!",
316
- "type": "game-over-screen"
314
+ ]
317
315
  }
318
- ]
316
+ ],
317
+ "showTopBar": true,
318
+ "appName": "Coding Academy"
319
319
  }
320
320
  ]
321
321
  ]
@@ -329,22 +329,22 @@
329
329
  "render-ui",
330
330
  "main",
331
331
  {
332
+ "appName": "Coding Academy",
332
333
  "type": "game-shell",
334
+ "showTopBar": true,
333
335
  "children": [
334
336
  {
337
+ "type": "game-menu",
335
338
  "title": "Sequencer Challenge",
336
339
  "menuItems": [
337
340
  {
338
- "event": "START",
339
341
  "variant": "primary",
342
+ "event": "START",
340
343
  "label": "Start"
341
344
  }
342
- ],
343
- "type": "game-menu"
345
+ ]
344
346
  }
345
- ],
346
- "appName": "Coding Academy",
347
- "showTopBar": true
347
+ ]
348
348
  }
349
349
  ]
350
350
  ]
@@ -357,10 +357,10 @@
357
357
  "ref": "YouTube.traits.ServiceYoutubeYoutube",
358
358
  "name": "SeqLessonVideo",
359
359
  "config": {
360
- "uiTrait": "@trait.SeqLessonPlayer",
361
- "videoId": "@entity.videoId",
360
+ "controls": true,
362
361
  "autoplay": false,
363
- "controls": true
362
+ "videoId": "@entity.videoId",
363
+ "uiTrait": "@trait.SeqLessonPlayer"
364
364
  }
365
365
  },
366
366
  {
@@ -389,32 +389,32 @@
389
389
  "render-ui",
390
390
  "main",
391
391
  {
392
+ "type": "card",
392
393
  "children": [
393
394
  {
394
- "gap": "sm",
395
+ "type": "stack",
395
396
  "children": [
396
397
  {
397
398
  "type": "icon",
398
399
  "name": "video"
399
400
  },
400
401
  {
402
+ "color": "muted",
401
403
  "type": "typography",
402
404
  "variant": "caption",
403
- "content": "Lesson video",
404
- "color": "muted"
405
+ "content": "Lesson video"
405
406
  },
406
407
  {
408
+ "variant": "body",
407
409
  "type": "typography",
408
- "content": "@config.videoId",
409
- "variant": "body"
410
+ "content": "@config.videoId"
410
411
  }
411
412
  ],
412
- "direction": "vertical",
413
- "type": "stack",
414
- "align": "center"
413
+ "align": "center",
414
+ "gap": "sm",
415
+ "direction": "vertical"
415
416
  }
416
- ],
417
- "type": "card"
417
+ ]
418
418
  }
419
419
  ]
420
420
  ]
@@ -427,10 +427,10 @@
427
427
  "ref": "Storage.traits.ServiceStorageStorage",
428
428
  "name": "SeqProgressStorage",
429
429
  "config": {
430
- "uiTrait": "@trait.SeqProgressForm",
431
- "bucket": "coding-academy-progress",
432
430
  "acl": "private",
431
+ "uiTrait": "@trait.SeqProgressForm",
433
432
  "maxSize": 102400.0,
433
+ "bucket": "coding-academy-progress",
434
434
  "allowedMimeTypes": [
435
435
  "application/json"
436
436
  ]
@@ -492,22 +492,22 @@
492
492
  "render-ui",
493
493
  "main",
494
494
  {
495
- "gap": "sm",
495
+ "type": "stack",
496
496
  "children": [
497
497
  {
498
498
  "name": "save",
499
499
  "type": "icon"
500
500
  },
501
501
  {
502
+ "action": "UPLOAD",
503
+ "icon": "save",
502
504
  "type": "button",
503
505
  "label": "Save Progress",
504
- "variant": "ghost",
505
- "action": "UPLOAD",
506
- "icon": "save"
506
+ "variant": "ghost"
507
507
  }
508
508
  ],
509
509
  "direction": "horizontal",
510
- "type": "stack",
510
+ "gap": "sm",
511
511
  "align": "center"
512
512
  }
513
513
  ]
@@ -738,22 +738,22 @@
738
738
  "render-ui",
739
739
  "main",
740
740
  {
741
+ "appName": "Coding Academy",
741
742
  "showTopBar": true,
742
743
  "type": "game-shell",
743
744
  "children": [
744
745
  {
745
- "type": "game-menu",
746
746
  "title": "Builder Challenge",
747
747
  "menuItems": [
748
748
  {
749
+ "label": "Start",
749
750
  "event": "START",
750
- "variant": "primary",
751
- "label": "Start"
751
+ "variant": "primary"
752
752
  }
753
- ]
753
+ ],
754
+ "type": "game-menu"
754
755
  }
755
- ],
756
- "appName": "Coding Academy"
756
+ ]
757
757
  }
758
758
  ]
759
759
  ]
@@ -767,36 +767,36 @@
767
767
  "render-ui",
768
768
  "main",
769
769
  {
770
- "type": "game-shell",
771
770
  "children": [
772
771
  {
772
+ "gap": "md",
773
773
  "children": [
774
774
  {
775
775
  "stats": [
776
776
  {
777
- "value": "@entity.score",
778
- "label": "Score"
777
+ "label": "Score",
778
+ "value": "@entity.score"
779
779
  },
780
780
  {
781
- "value": "@entity.level",
782
- "label": "Level"
781
+ "label": "Level",
782
+ "value": "@entity.level"
783
783
  }
784
784
  ],
785
785
  "type": "game-hud"
786
786
  },
787
787
  {
788
788
  "entity": "BuildChallenge",
789
- "completeEvent": "COMPLETE",
790
- "type": "builder-board"
789
+ "type": "builder-board",
790
+ "completeEvent": "COMPLETE"
791
791
  }
792
792
  ],
793
793
  "type": "stack",
794
- "direction": "vertical",
795
- "gap": "md"
794
+ "direction": "vertical"
796
795
  }
797
796
  ],
798
- "appName": "Coding Academy",
799
- "showTopBar": true
797
+ "type": "game-shell",
798
+ "showTopBar": true,
799
+ "appName": "Coding Academy"
800
800
  }
801
801
  ]
802
802
  ]
@@ -815,20 +815,20 @@
815
815
  "render-ui",
816
816
  "main",
817
817
  {
818
- "showTopBar": true,
819
818
  "type": "game-shell",
820
819
  "appName": "Coding Academy",
820
+ "showTopBar": true,
821
821
  "children": [
822
822
  {
823
- "type": "game-over-screen",
824
823
  "title": "Well Done!",
825
824
  "menuItems": [
826
825
  {
826
+ "event": "RESTART",
827
827
  "variant": "primary",
828
- "label": "Play Again",
829
- "event": "RESTART"
828
+ "label": "Play Again"
830
829
  }
831
- ]
830
+ ],
831
+ "type": "game-over-screen"
832
832
  }
833
833
  ]
834
834
  }
@@ -844,22 +844,22 @@
844
844
  "render-ui",
845
845
  "main",
846
846
  {
847
+ "showTopBar": true,
848
+ "type": "game-shell",
849
+ "appName": "Coding Academy",
847
850
  "children": [
848
851
  {
849
- "title": "Builder Challenge",
850
852
  "type": "game-menu",
851
853
  "menuItems": [
852
854
  {
853
- "label": "Start",
854
855
  "variant": "primary",
855
- "event": "START"
856
+ "event": "START",
857
+ "label": "Start"
856
858
  }
857
- ]
859
+ ],
860
+ "title": "Builder Challenge"
858
861
  }
859
- ],
860
- "showTopBar": true,
861
- "type": "game-shell",
862
- "appName": "Coding Academy"
862
+ ]
863
863
  }
864
864
  ]
865
865
  ]
@@ -1068,8 +1068,8 @@
1068
1068
  "EventChallenge",
1069
1069
  {
1070
1070
  "emit": {
1071
- "failure": "EventChallengeLoadFailed",
1072
- "success": "EventChallengeLoaded"
1071
+ "success": "EventChallengeLoaded",
1072
+ "failure": "EventChallengeLoadFailed"
1073
1073
  }
1074
1074
  }
1075
1075
  ],
@@ -1077,9 +1077,9 @@
1077
1077
  "render-ui",
1078
1078
  "main",
1079
1079
  {
1080
- "type": "game-shell",
1081
1080
  "children": [
1082
1081
  {
1082
+ "type": "game-menu",
1083
1083
  "title": "Event Handler Challenge",
1084
1084
  "menuItems": [
1085
1085
  {
@@ -1087,12 +1087,12 @@
1087
1087
  "event": "START",
1088
1088
  "variant": "primary"
1089
1089
  }
1090
- ],
1091
- "type": "game-menu"
1090
+ ]
1092
1091
  }
1093
1092
  ],
1094
- "showTopBar": true,
1095
- "appName": "Coding Academy"
1093
+ "appName": "Coding Academy",
1094
+ "type": "game-shell",
1095
+ "showTopBar": true
1096
1096
  }
1097
1097
  ]
1098
1098
  ]
@@ -1106,36 +1106,36 @@
1106
1106
  "render-ui",
1107
1107
  "main",
1108
1108
  {
1109
+ "type": "game-shell",
1110
+ "appName": "Coding Academy",
1109
1111
  "showTopBar": true,
1110
1112
  "children": [
1111
1113
  {
1112
- "gap": "md",
1113
- "type": "stack",
1114
1114
  "direction": "vertical",
1115
+ "gap": "md",
1115
1116
  "children": [
1116
1117
  {
1118
+ "type": "game-hud",
1117
1119
  "stats": [
1118
1120
  {
1119
- "value": "@entity.score",
1120
- "label": "Score"
1121
+ "label": "Score",
1122
+ "value": "@entity.score"
1121
1123
  },
1122
1124
  {
1123
- "value": "@entity.level",
1124
- "label": "Level"
1125
+ "label": "Level",
1126
+ "value": "@entity.level"
1125
1127
  }
1126
- ],
1127
- "type": "game-hud"
1128
+ ]
1128
1129
  },
1129
1130
  {
1131
+ "completeEvent": "COMPLETE",
1130
1132
  "type": "event-handler-board",
1131
- "entity": "EventChallenge",
1132
- "completeEvent": "COMPLETE"
1133
+ "entity": "EventChallenge"
1133
1134
  }
1134
- ]
1135
+ ],
1136
+ "type": "stack"
1135
1137
  }
1136
- ],
1137
- "appName": "Coding Academy",
1138
- "type": "game-shell"
1138
+ ]
1139
1139
  }
1140
1140
  ]
1141
1141
  ]
@@ -1154,21 +1154,21 @@
1154
1154
  "render-ui",
1155
1155
  "main",
1156
1156
  {
1157
- "showTopBar": true,
1158
- "type": "game-shell",
1159
1157
  "children": [
1160
1158
  {
1161
1159
  "menuItems": [
1162
1160
  {
1163
- "label": "Play Again",
1164
1161
  "variant": "primary",
1162
+ "label": "Play Again",
1165
1163
  "event": "RESTART"
1166
1164
  }
1167
1165
  ],
1168
- "type": "game-over-screen",
1169
- "title": "Well Done!"
1166
+ "title": "Well Done!",
1167
+ "type": "game-over-screen"
1170
1168
  }
1171
1169
  ],
1170
+ "showTopBar": true,
1171
+ "type": "game-shell",
1172
1172
  "appName": "Coding Academy"
1173
1173
  }
1174
1174
  ]
@@ -1183,22 +1183,22 @@
1183
1183
  "render-ui",
1184
1184
  "main",
1185
1185
  {
1186
+ "appName": "Coding Academy",
1187
+ "showTopBar": true,
1188
+ "type": "game-shell",
1186
1189
  "children": [
1187
1190
  {
1188
- "type": "game-menu",
1189
1191
  "title": "Event Handler Challenge",
1190
1192
  "menuItems": [
1191
1193
  {
1192
- "event": "START",
1194
+ "label": "Start",
1193
1195
  "variant": "primary",
1194
- "label": "Start"
1196
+ "event": "START"
1195
1197
  }
1196
- ]
1198
+ ],
1199
+ "type": "game-menu"
1197
1200
  }
1198
- ],
1199
- "showTopBar": true,
1200
- "type": "game-shell",
1201
- "appName": "Coding Academy"
1201
+ ]
1202
1202
  }
1203
1203
  ]
1204
1204
  ]
@@ -1297,37 +1297,37 @@
1297
1297
  "ref": "AppShell.traits.AppLayout",
1298
1298
  "name": "StudentProgressAppLayout",
1299
1299
  "config": {
1300
- "appName": "Coding Academy",
1301
1300
  "searchEvent": "STUDENT_PROGRESS_SEARCH",
1302
- "notifications": [],
1303
- "notificationClickEvent": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN",
1304
- "contentTrait": "@trait.StudentProgressCatalog",
1301
+ "appName": "Coding Academy",
1305
1302
  "navItems": [
1306
1303
  {
1307
- "label": "Sequencer",
1308
1304
  "icon": "list-ordered",
1309
- "href": "/sequencer"
1305
+ "href": "/sequencer",
1306
+ "label": "Sequencer"
1310
1307
  },
1311
1308
  {
1312
- "icon": "wrench",
1313
1309
  "href": "/builder",
1310
+ "icon": "wrench",
1314
1311
  "label": "Builder"
1315
1312
  },
1316
1313
  {
1314
+ "label": "Events",
1317
1315
  "href": "/events",
1318
- "icon": "zap",
1319
- "label": "Events"
1316
+ "icon": "zap"
1320
1317
  },
1321
1318
  {
1322
1319
  "label": "Progress",
1323
1320
  "href": "/progress",
1324
1321
  "icon": "trending-up"
1325
1322
  }
1326
- ]
1323
+ ],
1324
+ "notifications": [],
1325
+ "notificationClickEvent": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN",
1326
+ "contentTrait": "@trait.StudentProgressCatalog"
1327
1327
  },
1328
1328
  "events": {
1329
- "SEARCH": "STUDENT_PROGRESS_SEARCH",
1330
- "NOTIFY_CLICK": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN"
1329
+ "NOTIFY_CLICK": "STUDENT_PROGRESS_NOTIFICATIONS_OPEN",
1330
+ "SEARCH": "STUDENT_PROGRESS_SEARCH"
1331
1331
  }
1332
1332
  },
1333
1333
  {
@@ -1394,18 +1394,17 @@
1394
1394
  "render-ui",
1395
1395
  "main",
1396
1396
  {
1397
+ "type": "stack",
1398
+ "direction": "vertical",
1399
+ "gap": "lg",
1397
1400
  "children": [
1398
1401
  {
1402
+ "align": "center",
1399
1403
  "type": "stack",
1400
- "direction": "horizontal",
1401
- "justify": "between",
1402
1404
  "gap": "md",
1403
- "align": "center",
1405
+ "justify": "between",
1404
1406
  "children": [
1405
1407
  {
1406
- "direction": "horizontal",
1407
- "align": "center",
1408
- "type": "stack",
1409
1408
  "children": [
1410
1409
  {
1411
1410
  "type": "icon",
@@ -1413,13 +1412,17 @@
1413
1412
  },
1414
1413
  {
1415
1414
  "type": "typography",
1416
- "variant": "h2",
1417
- "content": "Progress"
1415
+ "content": "Progress",
1416
+ "variant": "h2"
1418
1417
  }
1419
1418
  ],
1419
+ "type": "stack",
1420
+ "align": "center",
1421
+ "direction": "horizontal",
1420
1422
  "gap": "sm"
1421
1423
  }
1422
- ]
1424
+ ],
1425
+ "direction": "horizontal"
1423
1426
  },
1424
1427
  {
1425
1428
  "type": "divider"
@@ -1430,10 +1433,7 @@
1430
1433
  "type": "divider"
1431
1434
  },
1432
1435
  "@trait.StudentProgressBrowseList"
1433
- ],
1434
- "type": "stack",
1435
- "gap": "lg",
1436
- "direction": "vertical"
1436
+ ]
1437
1437
  }
1438
1438
  ]
1439
1439
  ]
@@ -1452,34 +1452,34 @@
1452
1452
  "render-ui",
1453
1453
  "main",
1454
1454
  {
1455
+ "direction": "vertical",
1455
1456
  "className": "py-8",
1456
1457
  "children": [
1457
1458
  {
1458
- "type": "icon",
1459
- "name": "bell"
1459
+ "name": "bell",
1460
+ "type": "icon"
1460
1461
  },
1461
1462
  {
1462
- "content": "No notifications",
1463
+ "variant": "h3",
1463
1464
  "type": "typography",
1464
- "variant": "h3"
1465
+ "content": "No notifications"
1465
1466
  },
1466
1467
  {
1467
- "variant": "caption",
1468
+ "content": "You're all caught up.",
1468
1469
  "type": "typography",
1469
1470
  "color": "muted",
1470
- "content": "You're all caught up."
1471
+ "variant": "caption"
1471
1472
  },
1472
1473
  {
1473
- "variant": "ghost",
1474
- "action": "INIT",
1475
1474
  "label": "Back to progress",
1476
- "type": "button"
1475
+ "action": "INIT",
1476
+ "type": "button",
1477
+ "variant": "ghost"
1477
1478
  }
1478
1479
  ],
1479
- "type": "stack",
1480
- "direction": "vertical",
1481
1480
  "gap": "md",
1482
- "align": "center"
1481
+ "align": "center",
1482
+ "type": "stack"
1483
1483
  }
1484
1484
  ]
1485
1485
  ]
@@ -1495,38 +1495,38 @@
1495
1495
  "title": "Student Progress",
1496
1496
  "metrics": [
1497
1497
  {
1498
+ "label": "Lessons Completed",
1498
1499
  "field": "lessonsCompleted",
1499
1500
  "icon": "check-circle",
1500
- "label": "Lessons Completed",
1501
- "format": "number",
1502
1501
  "variant": "success",
1503
- "aggregation": "sum"
1502
+ "aggregation": "sum",
1503
+ "format": "number"
1504
1504
  },
1505
1505
  {
1506
- "label": "Average Score",
1506
+ "aggregation": "avg",
1507
+ "field": "avgScore",
1507
1508
  "format": "number",
1508
- "icon": "star",
1509
+ "label": "Average Score",
1509
1510
  "variant": "primary",
1510
- "field": "avgScore",
1511
- "aggregation": "avg"
1511
+ "icon": "star"
1512
1512
  },
1513
1513
  {
1514
- "field": "streak",
1515
1514
  "label": "Streak",
1515
+ "format": "number",
1516
1516
  "aggregation": "max",
1517
1517
  "icon": "flame",
1518
- "variant": "warning",
1519
- "format": "number",
1520
- "suffix": "d"
1518
+ "field": "streak",
1519
+ "suffix": "d",
1520
+ "variant": "warning"
1521
1521
  },
1522
1522
  {
1523
- "variant": "info",
1524
1523
  "format": "number",
1525
- "suffix": "m",
1526
- "aggregation": "sum",
1527
1524
  "label": "Total Time",
1528
1525
  "field": "totalTimeMinutes",
1529
- "icon": "clock"
1526
+ "suffix": "m",
1527
+ "icon": "clock",
1528
+ "aggregation": "sum",
1529
+ "variant": "info"
1530
1530
  }
1531
1531
  ]
1532
1532
  },
@@ -1545,13 +1545,13 @@
1545
1545
  "ref": "Graphs.traits.GraphItemGraph",
1546
1546
  "name": "StudentProgressGraphs",
1547
1547
  "config": {
1548
+ "height": 280.0,
1549
+ "valueField": "progressPct",
1548
1550
  "title": "Progress over time",
1551
+ "chartType": "line",
1549
1552
  "subtitle": "Daily progress %",
1550
- "height": 280.0,
1551
1553
  "dateField": "day",
1552
- "chartType": "line",
1553
- "showLegend": true,
1554
- "valueField": "progressPct"
1554
+ "showLegend": true
1555
1555
  },
1556
1556
  "listens": [
1557
1557
  {
@@ -1571,36 +1571,36 @@
1571
1571
  "config": {
1572
1572
  "fields": [
1573
1573
  {
1574
+ "icon": "user",
1574
1575
  "name": "student",
1575
- "label": "Student",
1576
1576
  "variant": "h4",
1577
- "icon": "user"
1577
+ "label": "Student"
1578
1578
  },
1579
1579
  {
1580
- "variant": "body",
1581
1580
  "name": "lessonsCompleted",
1582
- "label": "Lessons Completed"
1581
+ "label": "Lessons Completed",
1582
+ "variant": "body"
1583
1583
  },
1584
1584
  {
1585
1585
  "name": "avgScore",
1586
- "variant": "badge",
1587
- "label": "Avg Score"
1586
+ "label": "Avg Score",
1587
+ "variant": "badge"
1588
1588
  },
1589
1589
  {
1590
1590
  "name": "streak",
1591
- "suffix": "d",
1592
1591
  "label": "Streak",
1592
+ "suffix": "d",
1593
1593
  "variant": "body"
1594
1594
  },
1595
1595
  {
1596
- "label": "Last Active",
1597
1596
  "variant": "caption",
1598
1597
  "format": "date",
1599
- "name": "lastActiveAt"
1598
+ "name": "lastActiveAt",
1599
+ "label": "Last Active"
1600
1600
  }
1601
1601
  ],
1602
- "itemActions": [],
1603
1602
  "gap": "sm",
1603
+ "itemActions": [],
1604
1604
  "cols": 1.0
1605
1605
  }
1606
1606
  },