@almadar/std 14.26.0 → 14.28.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 (175) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  3. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  4. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  5. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  6. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  7. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  8. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  9. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  10. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  11. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  12. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  13. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  14. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  15. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  16. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  17. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  18. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  19. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  20. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  21. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  22. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  23. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  24. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  25. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  26. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  27. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  28. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  29. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  30. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  31. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  32. package/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  33. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  34. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  35. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  36. package/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  37. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  38. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  39. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  40. package/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  45. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  47. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  49. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  50. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  54. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  57. package/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  58. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  59. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  60. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  63. package/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  64. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  65. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  66. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  67. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  68. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  69. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  70. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  71. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  72. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  73. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  74. package/behaviors/registry/core/atoms/std-board.orb +1367 -0
  75. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  76. package/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  77. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  78. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  79. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  80. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  81. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  82. package/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  83. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  84. package/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  85. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  86. package/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  87. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  88. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  89. package/dist/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  90. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  91. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  92. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  93. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  94. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  95. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  96. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  97. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  98. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  99. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  100. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  101. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  102. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  103. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  104. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  105. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  106. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  107. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  108. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  109. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  110. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  111. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  112. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  113. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  114. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  115. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  116. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  117. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  118. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  119. package/dist/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  120. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  121. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  122. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  123. package/dist/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  124. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  125. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  126. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  127. package/dist/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  128. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  129. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  130. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  131. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  132. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  133. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  134. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  135. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  136. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  137. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  138. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  139. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  140. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  141. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  142. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  143. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  144. package/dist/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  145. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  146. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  147. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  148. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  149. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  150. package/dist/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  151. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  152. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  153. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  154. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  155. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  156. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  157. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  158. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  159. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  160. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  161. package/dist/behaviors/registry/core/atoms/std-board.orb +1367 -0
  162. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  163. package/dist/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  164. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  165. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  166. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  167. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  168. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  169. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  170. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  171. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  172. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  173. package/dist/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  174. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  175. 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
  ]