@almadar/std 14.26.0 → 14.27.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 (151) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  3. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  4. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  5. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  6. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  7. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  8. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  9. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  10. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  11. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  12. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  13. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  14. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  15. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  16. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  17. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  18. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  19. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  20. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  21. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  22. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  23. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  24. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  25. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  26. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  27. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  28. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  29. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  30. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  31. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  32. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  33. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  34. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  35. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  36. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  37. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  38. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  39. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  40. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  41. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  42. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  43. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  44. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  45. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  46. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  47. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  48. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  49. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  50. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  51. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  52. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  53. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  54. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  55. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  56. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  57. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  58. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  59. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  60. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  61. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  62. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  63. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  64. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  65. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  66. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  67. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  68. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  69. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  70. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  71. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  72. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  73. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  74. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  75. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  76. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  77. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  78. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  79. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  80. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  81. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  82. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  83. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  84. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  85. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  86. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  87. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  88. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  89. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  90. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  91. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  92. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  93. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  94. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  95. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  96. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  97. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  98. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  99. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  100. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  101. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  102. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  103. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  104. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  105. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  106. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  107. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  108. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  109. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  110. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  111. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  112. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  113. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  114. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  115. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  116. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  117. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  118. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  119. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  120. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  121. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  122. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  123. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  124. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  125. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  126. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  127. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  128. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  129. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  130. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  131. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  132. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  133. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  134. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  135. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  136. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  137. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  138. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  139. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  140. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  141. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  142. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  143. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  144. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  145. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  146. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  147. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  148. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  149. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  150. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  151. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-class-roster",
3
3
  "version": "1.0.0",
4
- "description": "std-class-roster — list of members enrolled in a specific class session, with attendance tracking. Owns a RosterEntry entity and a single roster trait that loads entries, renders them in a data-grid, and surfaces Check In / No Show per row.",
4
+ "description": "std-class-roster — list of members enrolled in a specific class session. Lists roster entries in `browsing`; opens entry detail in `viewing_single` with Check In / No Show actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "ClassRosterOrbital",
@@ -64,6 +64,54 @@
64
64
  "category": "interaction",
65
65
  "linkedEntity": "RosterEntry",
66
66
  "emits": [
67
+ {
68
+ "event": "OPEN_ENTRY",
69
+ "payloadSchema": [
70
+ {
71
+ "name": "id",
72
+ "type": "string",
73
+ "required": true
74
+ },
75
+ {
76
+ "name": "row.id",
77
+ "type": "string",
78
+ "required": true
79
+ },
80
+ {
81
+ "name": "row.sessionId",
82
+ "type": "string",
83
+ "required": true
84
+ },
85
+ {
86
+ "name": "row.memberId",
87
+ "type": "string",
88
+ "required": true
89
+ },
90
+ {
91
+ "name": "row.memberName",
92
+ "type": "string"
93
+ },
94
+ {
95
+ "name": "row.enrolledAt",
96
+ "type": "string"
97
+ },
98
+ {
99
+ "name": "row.checkedInAt",
100
+ "type": "string"
101
+ },
102
+ {
103
+ "name": "row.status",
104
+ "type": "string"
105
+ },
106
+ {
107
+ "name": "row.notes",
108
+ "type": "string"
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "event": "CLOSE_VIEW"
114
+ },
67
115
  {
68
116
  "event": "CHECK_IN",
69
117
  "payloadSchema": [
@@ -116,6 +164,9 @@
116
164
  {
117
165
  "name": "browsing"
118
166
  },
167
+ {
168
+ "name": "viewing_single"
169
+ },
119
170
  {
120
171
  "name": "error"
121
172
  }
@@ -149,6 +200,21 @@
149
200
  }
150
201
  ]
151
202
  },
203
+ {
204
+ "key": "OPEN_ENTRY",
205
+ "name": "Open Entry",
206
+ "payloadSchema": [
207
+ {
208
+ "name": "id",
209
+ "type": "string",
210
+ "required": true
211
+ },
212
+ {
213
+ "name": "row",
214
+ "type": "RosterEntry"
215
+ }
216
+ ]
217
+ },
152
218
  {
153
219
  "key": "CHECK_IN",
154
220
  "name": "Check In",
@@ -170,6 +236,10 @@
170
236
  "required": true
171
237
  }
172
238
  ]
239
+ },
240
+ {
241
+ "key": "CLOSE_VIEW",
242
+ "name": "Close View"
173
243
  }
174
244
  ],
175
245
  "transitions": [
@@ -192,21 +262,21 @@
192
262
  "render-ui",
193
263
  "main",
194
264
  {
195
- "gap": "md",
196
- "direction": "vertical",
197
- "type": "stack",
198
- "align": "center",
199
265
  "children": [
200
266
  {
201
267
  "type": "spinner"
202
268
  },
203
269
  {
204
270
  "type": "typography",
205
- "color": "muted",
206
271
  "content": "Loading roster…",
207
- "variant": "caption"
272
+ "variant": "caption",
273
+ "color": "muted"
208
274
  }
209
275
  ],
276
+ "direction": "vertical",
277
+ "gap": "md",
278
+ "type": "stack",
279
+ "align": "center",
210
280
  "className": "py-12"
211
281
  }
212
282
  ]
@@ -221,95 +291,107 @@
221
291
  "render-ui",
222
292
  "main",
223
293
  {
224
- "direction": "vertical",
294
+ "gap": "md",
225
295
  "children": [
226
296
  {
227
297
  "direction": "horizontal",
228
298
  "align": "center",
299
+ "type": "stack",
229
300
  "children": [
230
301
  {
231
- "type": "icon",
232
- "name": "users"
302
+ "name": "users",
303
+ "type": "icon"
233
304
  },
234
305
  {
235
306
  "content": "@config.title",
236
307
  "type": "typography",
237
308
  "variant": "h3"
238
- },
239
- {
240
- "alt": "Instructor",
241
- "src": "https://picsum.photos/seed/instructor/64/64",
242
- "size": "sm",
243
- "type": "avatar"
244
309
  }
245
310
  ],
246
- "gap": "sm",
247
- "type": "stack"
311
+ "gap": "sm"
248
312
  },
249
313
  {
250
- "type": "progress-bar",
251
- "value": 65.0,
252
- "label": "Attendance",
253
- "max": 100.0,
254
- "showLabel": true,
255
- "variant": "primary"
256
- },
257
- {
258
- "refreshEvent": "INIT",
259
- "type": "pull-to-refresh",
260
- "children": {
261
- "type": "typography",
262
- "variant": "caption",
263
- "content": "Pull to refresh roster",
264
- "color": "muted"
265
- }
314
+ "children": [
315
+ {
316
+ "icon": "users",
317
+ "value": "@payload.data.length",
318
+ "label": "Enrolled",
319
+ "type": "stat-display"
320
+ },
321
+ {
322
+ "label": "Checked in",
323
+ "icon": "check-circle",
324
+ "value": "14",
325
+ "type": "stat-display"
326
+ },
327
+ {
328
+ "type": "stat-display",
329
+ "value": "3",
330
+ "label": "No shows",
331
+ "icon": "user-x"
332
+ },
333
+ {
334
+ "value": "5",
335
+ "label": "Waitlist",
336
+ "type": "stat-display",
337
+ "icon": "clock"
338
+ }
339
+ ],
340
+ "type": "simple-grid",
341
+ "cols": 4.0
266
342
  },
267
343
  {
268
344
  "type": "divider"
269
345
  },
270
346
  {
347
+ "gap": "sm",
271
348
  "itemActions": [
272
349
  {
273
- "label": "Check In",
274
350
  "variant": "primary",
275
- "event": "CHECK_IN"
351
+ "icon": "arrow-right",
352
+ "label": "Open",
353
+ "event": "OPEN_ENTRY"
276
354
  },
277
355
  {
278
- "event": "MARK_NO_SHOW",
356
+ "label": "Check In",
357
+ "event": "CHECK_IN",
358
+ "variant": "secondary"
359
+ },
360
+ {
361
+ "variant": "danger",
279
362
  "label": "No Show",
280
- "variant": "ghost"
363
+ "event": "MARK_NO_SHOW"
281
364
  }
282
365
  ],
283
366
  "type": "data-grid",
284
367
  "entity": "@payload.data",
285
- "gap": "sm",
368
+ "cols": 1.0,
286
369
  "fields": [
287
370
  {
288
- "label": "Member",
289
371
  "name": "memberName",
372
+ "label": "Member",
290
373
  "variant": "caption"
291
374
  },
292
375
  {
293
- "label": "Session",
294
376
  "variant": "caption",
377
+ "label": "Session",
295
378
  "name": "sessionId"
296
379
  },
297
380
  {
298
- "label": "Status",
299
381
  "name": "status",
300
- "variant": "caption"
382
+ "label": "Status",
383
+ "variant": "badge"
301
384
  },
302
385
  {
303
- "name": "checkedInAt",
386
+ "label": "Checked In",
304
387
  "variant": "caption",
305
- "label": "Checked In"
388
+ "name": "checkedInAt"
306
389
  }
307
- ],
308
- "cols": 1.0
390
+ ]
309
391
  }
310
392
  ],
311
393
  "type": "stack",
312
- "gap": "md"
394
+ "direction": "vertical"
313
395
  }
314
396
  ]
315
397
  ]
@@ -323,8 +405,8 @@
323
405
  "render-ui",
324
406
  "main",
325
407
  {
326
- "message": "@payload.error",
327
408
  "variant": "error",
409
+ "message": "@payload.error",
328
410
  "type": "alert"
329
411
  }
330
412
  ]
@@ -332,7 +414,186 @@
332
414
  },
333
415
  {
334
416
  "from": "browsing",
335
- "to": "browsing",
417
+ "to": "viewing_single",
418
+ "event": "OPEN_ENTRY",
419
+ "effects": [
420
+ [
421
+ "set",
422
+ "@entity.id",
423
+ "@payload.row.id"
424
+ ],
425
+ [
426
+ "set",
427
+ "@entity.sessionId",
428
+ "@payload.row.sessionId"
429
+ ],
430
+ [
431
+ "set",
432
+ "@entity.memberId",
433
+ "@payload.row.memberId"
434
+ ],
435
+ [
436
+ "set",
437
+ "@entity.memberName",
438
+ "@payload.row.memberName"
439
+ ],
440
+ [
441
+ "set",
442
+ "@entity.enrolledAt",
443
+ "@payload.row.enrolledAt"
444
+ ],
445
+ [
446
+ "set",
447
+ "@entity.checkedInAt",
448
+ "@payload.row.checkedInAt"
449
+ ],
450
+ [
451
+ "set",
452
+ "@entity.status",
453
+ "@payload.row.status"
454
+ ],
455
+ [
456
+ "set",
457
+ "@entity.notes",
458
+ "@payload.row.notes"
459
+ ],
460
+ [
461
+ "render-ui",
462
+ "main",
463
+ {
464
+ "type": "stack",
465
+ "direction": "vertical",
466
+ "gap": "md",
467
+ "children": [
468
+ {
469
+ "direction": "horizontal",
470
+ "type": "stack",
471
+ "children": [
472
+ {
473
+ "action": "CLOSE_VIEW",
474
+ "label": "Back",
475
+ "variant": "ghost",
476
+ "type": "button"
477
+ },
478
+ {
479
+ "name": "user",
480
+ "type": "icon"
481
+ },
482
+ {
483
+ "content": "@entity.memberName",
484
+ "type": "typography",
485
+ "variant": "h3"
486
+ },
487
+ {
488
+ "label": "@entity.status",
489
+ "variant": "default",
490
+ "type": "badge"
491
+ }
492
+ ],
493
+ "align": "center",
494
+ "gap": "sm"
495
+ },
496
+ {
497
+ "type": "divider"
498
+ },
499
+ {
500
+ "type": "stack",
501
+ "direction": "vertical",
502
+ "children": [
503
+ {
504
+ "type": "stack",
505
+ "gap": "md",
506
+ "children": [
507
+ {
508
+ "type": "typography",
509
+ "variant": "caption",
510
+ "content": "Session",
511
+ "color": "muted"
512
+ },
513
+ {
514
+ "type": "typography",
515
+ "content": "@entity.sessionId",
516
+ "variant": "body"
517
+ }
518
+ ],
519
+ "direction": "horizontal"
520
+ },
521
+ {
522
+ "direction": "horizontal",
523
+ "gap": "md",
524
+ "type": "stack",
525
+ "children": [
526
+ {
527
+ "color": "muted",
528
+ "variant": "caption",
529
+ "content": "Notes",
530
+ "type": "typography"
531
+ },
532
+ {
533
+ "type": "typography",
534
+ "variant": "body",
535
+ "content": "@entity.notes"
536
+ }
537
+ ]
538
+ }
539
+ ],
540
+ "gap": "sm"
541
+ },
542
+ {
543
+ "type": "divider"
544
+ },
545
+ {
546
+ "type": "simple-grid",
547
+ "children": [
548
+ {
549
+ "type": "stat-display",
550
+ "label": "Enrolled at",
551
+ "value": "@entity.enrolledAt",
552
+ "icon": "calendar"
553
+ },
554
+ {
555
+ "value": "@entity.checkedInAt",
556
+ "type": "stat-display",
557
+ "label": "Checked in at",
558
+ "icon": "check-circle"
559
+ }
560
+ ],
561
+ "cols": 2.0
562
+ },
563
+ {
564
+ "align": "center",
565
+ "type": "stack",
566
+ "gap": "sm",
567
+ "children": [
568
+ {
569
+ "actionPayload": {
570
+ "id": "@entity.id"
571
+ },
572
+ "type": "button",
573
+ "label": "Check In",
574
+ "variant": "primary",
575
+ "action": "CHECK_IN"
576
+ },
577
+ {
578
+ "label": "No Show",
579
+ "actionPayload": {
580
+ "id": "@entity.id"
581
+ },
582
+ "variant": "danger",
583
+ "action": "MARK_NO_SHOW",
584
+ "type": "button"
585
+ }
586
+ ],
587
+ "direction": "horizontal"
588
+ }
589
+ ]
590
+ }
591
+ ]
592
+ ]
593
+ },
594
+ {
595
+ "from": "browsing",
596
+ "to": "loading",
336
597
  "event": "CHECK_IN",
337
598
  "effects": [
338
599
  [
@@ -340,20 +601,43 @@
340
601
  "@entity.id",
341
602
  "@payload.id"
342
603
  ],
604
+ [
605
+ "fetch",
606
+ "RosterEntry",
607
+ {
608
+ "emit": {
609
+ "failure": "RosterEntryLoadFailed",
610
+ "success": "RosterEntryLoaded"
611
+ }
612
+ }
613
+ ],
343
614
  [
344
615
  "render-ui",
345
616
  "main",
346
617
  {
347
- "type": "alert",
348
- "variant": "success",
349
- "message": "Checked in"
618
+ "direction": "vertical",
619
+ "gap": "md",
620
+ "type": "stack",
621
+ "className": "py-12",
622
+ "align": "center",
623
+ "children": [
624
+ {
625
+ "type": "spinner"
626
+ },
627
+ {
628
+ "type": "typography",
629
+ "variant": "caption",
630
+ "color": "muted",
631
+ "content": "Checking in…"
632
+ }
633
+ ]
350
634
  }
351
635
  ]
352
636
  ]
353
637
  },
354
638
  {
355
639
  "from": "browsing",
356
- "to": "browsing",
640
+ "to": "loading",
357
641
  "event": "MARK_NO_SHOW",
358
642
  "effects": [
359
643
  [
@@ -361,21 +645,44 @@
361
645
  "@entity.id",
362
646
  "@payload.id"
363
647
  ],
648
+ [
649
+ "fetch",
650
+ "RosterEntry",
651
+ {
652
+ "emit": {
653
+ "failure": "RosterEntryLoadFailed",
654
+ "success": "RosterEntryLoaded"
655
+ }
656
+ }
657
+ ],
364
658
  [
365
659
  "render-ui",
366
660
  "main",
367
661
  {
368
- "message": "Marked no-show",
369
- "type": "alert",
370
- "variant": "info"
662
+ "align": "center",
663
+ "direction": "vertical",
664
+ "className": "py-12",
665
+ "gap": "md",
666
+ "type": "stack",
667
+ "children": [
668
+ {
669
+ "type": "spinner"
670
+ },
671
+ {
672
+ "content": "Marking no-show…",
673
+ "type": "typography",
674
+ "variant": "caption",
675
+ "color": "muted"
676
+ }
677
+ ]
371
678
  }
372
679
  ]
373
680
  ]
374
681
  },
375
682
  {
376
- "from": "error",
683
+ "from": "viewing_single",
377
684
  "to": "loading",
378
- "event": "INIT",
685
+ "event": "CLOSE_VIEW",
379
686
  "effects": [
380
687
  [
381
688
  "fetch",
@@ -391,8 +698,135 @@
391
698
  "render-ui",
392
699
  "main",
393
700
  {
394
- "type": "spinner",
395
- "size": "sm"
701
+ "type": "stack",
702
+ "align": "center",
703
+ "className": "py-12",
704
+ "direction": "vertical",
705
+ "gap": "md",
706
+ "children": [
707
+ {
708
+ "type": "spinner"
709
+ },
710
+ {
711
+ "variant": "caption",
712
+ "type": "typography",
713
+ "content": "Loading roster…",
714
+ "color": "muted"
715
+ }
716
+ ]
717
+ }
718
+ ]
719
+ ]
720
+ },
721
+ {
722
+ "from": "viewing_single",
723
+ "to": "loading",
724
+ "event": "CHECK_IN",
725
+ "effects": [
726
+ [
727
+ "set",
728
+ "@entity.id",
729
+ "@payload.id"
730
+ ],
731
+ [
732
+ "fetch",
733
+ "RosterEntry",
734
+ {
735
+ "emit": {
736
+ "failure": "RosterEntryLoadFailed",
737
+ "success": "RosterEntryLoaded"
738
+ }
739
+ }
740
+ ],
741
+ [
742
+ "render-ui",
743
+ "main",
744
+ {
745
+ "children": [
746
+ {
747
+ "type": "spinner"
748
+ },
749
+ {
750
+ "variant": "caption",
751
+ "type": "typography",
752
+ "content": "Checking in…",
753
+ "color": "muted"
754
+ }
755
+ ],
756
+ "type": "stack",
757
+ "direction": "vertical",
758
+ "className": "py-12",
759
+ "gap": "md",
760
+ "align": "center"
761
+ }
762
+ ]
763
+ ]
764
+ },
765
+ {
766
+ "from": "viewing_single",
767
+ "to": "loading",
768
+ "event": "MARK_NO_SHOW",
769
+ "effects": [
770
+ [
771
+ "set",
772
+ "@entity.id",
773
+ "@payload.id"
774
+ ],
775
+ [
776
+ "fetch",
777
+ "RosterEntry",
778
+ {
779
+ "emit": {
780
+ "failure": "RosterEntryLoadFailed",
781
+ "success": "RosterEntryLoaded"
782
+ }
783
+ }
784
+ ],
785
+ [
786
+ "render-ui",
787
+ "main",
788
+ {
789
+ "type": "stack",
790
+ "gap": "md",
791
+ "className": "py-12",
792
+ "align": "center",
793
+ "children": [
794
+ {
795
+ "type": "spinner"
796
+ },
797
+ {
798
+ "type": "typography",
799
+ "color": "muted",
800
+ "variant": "caption",
801
+ "content": "Marking no-show…"
802
+ }
803
+ ],
804
+ "direction": "vertical"
805
+ }
806
+ ]
807
+ ]
808
+ },
809
+ {
810
+ "from": "error",
811
+ "to": "loading",
812
+ "event": "INIT",
813
+ "effects": [
814
+ [
815
+ "fetch",
816
+ "RosterEntry",
817
+ {
818
+ "emit": {
819
+ "failure": "RosterEntryLoadFailed",
820
+ "success": "RosterEntryLoaded"
821
+ }
822
+ }
823
+ ],
824
+ [
825
+ "render-ui",
826
+ "main",
827
+ {
828
+ "size": "sm",
829
+ "type": "spinner"
396
830
  }
397
831
  ]
398
832
  ]