@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
@@ -74,6 +74,58 @@
74
74
  "category": "interaction",
75
75
  "linkedEntity": "InterviewSlot",
76
76
  "emits": [
77
+ {
78
+ "event": "OPEN_INTERVIEW",
79
+ "payloadSchema": [
80
+ {
81
+ "name": "id",
82
+ "type": "string",
83
+ "required": true
84
+ },
85
+ {
86
+ "name": "row.id",
87
+ "type": "string",
88
+ "required": true
89
+ },
90
+ {
91
+ "name": "row.applicantId",
92
+ "type": "string",
93
+ "required": true
94
+ },
95
+ {
96
+ "name": "row.applicantName",
97
+ "type": "string"
98
+ },
99
+ {
100
+ "name": "row.interviewerName",
101
+ "type": "string"
102
+ },
103
+ {
104
+ "name": "row.scheduledAt",
105
+ "type": "string",
106
+ "required": true
107
+ },
108
+ {
109
+ "name": "row.durationMinutes",
110
+ "type": "number"
111
+ },
112
+ {
113
+ "name": "row.format",
114
+ "type": "string"
115
+ },
116
+ {
117
+ "name": "row.status",
118
+ "type": "string"
119
+ },
120
+ {
121
+ "name": "row.notes",
122
+ "type": "string"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "event": "CLOSE_VIEW"
128
+ },
77
129
  {
78
130
  "event": "COMPLETE_INTERVIEW",
79
131
  "payloadSchema": [
@@ -126,6 +178,9 @@
126
178
  {
127
179
  "name": "browsing"
128
180
  },
181
+ {
182
+ "name": "viewing_single"
183
+ },
129
184
  {
130
185
  "name": "error"
131
186
  }
@@ -160,13 +215,17 @@
160
215
  ]
161
216
  },
162
217
  {
163
- "key": "COMPLETE_INTERVIEW",
164
- "name": "Complete Interview",
218
+ "key": "OPEN_INTERVIEW",
219
+ "name": "Open Interview",
165
220
  "payloadSchema": [
166
221
  {
167
222
  "name": "id",
168
223
  "type": "string",
169
224
  "required": true
225
+ },
226
+ {
227
+ "name": "row",
228
+ "type": "InterviewSlot"
170
229
  }
171
230
  ]
172
231
  },
@@ -180,6 +239,21 @@
180
239
  "required": true
181
240
  }
182
241
  ]
242
+ },
243
+ {
244
+ "key": "CLOSE_VIEW",
245
+ "name": "Close View"
246
+ },
247
+ {
248
+ "key": "COMPLETE_INTERVIEW",
249
+ "name": "Complete Interview",
250
+ "payloadSchema": [
251
+ {
252
+ "name": "id",
253
+ "type": "string",
254
+ "required": true
255
+ }
256
+ ]
183
257
  }
184
258
  ],
185
259
  "transitions": [
@@ -193,8 +267,8 @@
193
267
  "InterviewSlot",
194
268
  {
195
269
  "emit": {
196
- "success": "InterviewSlotLoaded",
197
- "failure": "InterviewSlotLoadFailed"
270
+ "failure": "InterviewSlotLoadFailed",
271
+ "success": "InterviewSlotLoaded"
198
272
  }
199
273
  }
200
274
  ],
@@ -202,22 +276,22 @@
202
276
  "render-ui",
203
277
  "main",
204
278
  {
279
+ "align": "center",
280
+ "type": "stack",
205
281
  "className": "py-12",
206
282
  "gap": "md",
207
- "direction": "vertical",
208
- "type": "stack",
209
283
  "children": [
210
284
  {
211
285
  "type": "spinner"
212
286
  },
213
287
  {
214
- "type": "typography",
215
- "variant": "caption",
216
288
  "content": "Loading interviews…",
217
- "color": "muted"
289
+ "variant": "caption",
290
+ "color": "muted",
291
+ "type": "typography"
218
292
  }
219
293
  ],
220
- "align": "center"
294
+ "direction": "vertical"
221
295
  }
222
296
  ]
223
297
  ]
@@ -233,8 +307,6 @@
233
307
  {
234
308
  "children": [
235
309
  {
236
- "gap": "sm",
237
- "type": "stack",
238
310
  "children": [
239
311
  {
240
312
  "type": "icon",
@@ -246,38 +318,58 @@
246
318
  "variant": "h3"
247
319
  }
248
320
  ],
249
- "direction": "horizontal"
250
- },
251
- {
252
- "type": "divider"
321
+ "direction": "horizontal",
322
+ "type": "stack",
323
+ "gap": "sm",
324
+ "align": "center"
253
325
  },
254
326
  {
255
- "gap": "sm",
256
- "cols": 1.0,
257
- "type": "data-grid",
258
- "entity": "@payload.data",
259
- "itemActions": [
327
+ "children": [
260
328
  {
261
- "variant": "primary",
262
- "label": "Complete",
263
- "event": "COMPLETE_INTERVIEW"
329
+ "value": "@payload.data.length",
330
+ "label": "Scheduled",
331
+ "icon": "calendar",
332
+ "type": "stat-display"
264
333
  },
265
334
  {
266
- "event": "CANCEL_INTERVIEW",
267
- "variant": "danger",
268
- "label": "Cancel"
335
+ "type": "stat-display",
336
+ "value": "9",
337
+ "icon": "clock",
338
+ "label": "Today"
339
+ },
340
+ {
341
+ "type": "stat-display",
342
+ "value": "37",
343
+ "label": "Completed this week",
344
+ "icon": "check-circle"
345
+ },
346
+ {
347
+ "label": "No-show rate",
348
+ "icon": "alert-triangle",
349
+ "type": "stat-display",
350
+ "value": "6%"
269
351
  }
270
352
  ],
353
+ "type": "simple-grid",
354
+ "cols": 4.0
355
+ },
356
+ {
357
+ "type": "divider"
358
+ },
359
+ {
360
+ "type": "data-grid",
361
+ "entity": "@payload.data",
362
+ "cols": 1.0,
271
363
  "fields": [
272
364
  {
365
+ "name": "applicantName",
273
366
  "label": "Applicant",
274
- "variant": "caption",
275
- "name": "applicantName"
367
+ "variant": "caption"
276
368
  },
277
369
  {
370
+ "variant": "caption",
278
371
  "name": "interviewerName",
279
- "label": "Interviewer",
280
- "variant": "caption"
372
+ "label": "Interviewer"
281
373
  },
282
374
  {
283
375
  "label": "Scheduled",
@@ -285,21 +377,35 @@
285
377
  "variant": "caption"
286
378
  },
287
379
  {
288
- "name": "format",
289
380
  "label": "Format",
290
- "variant": "badge"
381
+ "variant": "badge",
382
+ "name": "format"
291
383
  },
292
384
  {
293
- "name": "status",
294
385
  "variant": "badge",
386
+ "name": "status",
295
387
  "label": "Status"
296
388
  }
389
+ ],
390
+ "gap": "sm",
391
+ "itemActions": [
392
+ {
393
+ "event": "OPEN_INTERVIEW",
394
+ "icon": "arrow-right",
395
+ "variant": "primary",
396
+ "label": "Open"
397
+ },
398
+ {
399
+ "label": "Cancel",
400
+ "event": "CANCEL_INTERVIEW",
401
+ "variant": "danger"
402
+ }
297
403
  ]
298
404
  }
299
405
  ],
300
- "gap": "md",
301
406
  "type": "stack",
302
- "direction": "vertical"
407
+ "direction": "vertical",
408
+ "gap": "md"
303
409
  }
304
410
  ]
305
411
  ]
@@ -313,8 +419,8 @@
313
419
  "render-ui",
314
420
  "main",
315
421
  {
316
- "type": "alert",
317
422
  "message": "@payload.error",
423
+ "type": "alert",
318
424
  "variant": "error"
319
425
  }
320
426
  ]
@@ -322,7 +428,297 @@
322
428
  },
323
429
  {
324
430
  "from": "browsing",
325
- "to": "browsing",
431
+ "to": "viewing_single",
432
+ "event": "OPEN_INTERVIEW",
433
+ "effects": [
434
+ [
435
+ "set",
436
+ "@entity.id",
437
+ "@payload.row.id"
438
+ ],
439
+ [
440
+ "set",
441
+ "@entity.applicantId",
442
+ "@payload.row.applicantId"
443
+ ],
444
+ [
445
+ "set",
446
+ "@entity.applicantName",
447
+ "@payload.row.applicantName"
448
+ ],
449
+ [
450
+ "set",
451
+ "@entity.interviewerName",
452
+ "@payload.row.interviewerName"
453
+ ],
454
+ [
455
+ "set",
456
+ "@entity.scheduledAt",
457
+ "@payload.row.scheduledAt"
458
+ ],
459
+ [
460
+ "set",
461
+ "@entity.durationMinutes",
462
+ "@payload.row.durationMinutes"
463
+ ],
464
+ [
465
+ "set",
466
+ "@entity.format",
467
+ "@payload.row.format"
468
+ ],
469
+ [
470
+ "set",
471
+ "@entity.status",
472
+ "@payload.row.status"
473
+ ],
474
+ [
475
+ "set",
476
+ "@entity.notes",
477
+ "@payload.row.notes"
478
+ ],
479
+ [
480
+ "render-ui",
481
+ "main",
482
+ {
483
+ "type": "stack",
484
+ "children": [
485
+ {
486
+ "children": [
487
+ {
488
+ "variant": "ghost",
489
+ "label": "Back",
490
+ "type": "button",
491
+ "action": "CLOSE_VIEW"
492
+ },
493
+ {
494
+ "type": "icon",
495
+ "name": "calendar"
496
+ },
497
+ {
498
+ "content": "@entity.applicantName",
499
+ "variant": "h3",
500
+ "type": "typography"
501
+ },
502
+ {
503
+ "label": "@entity.format",
504
+ "variant": "primary",
505
+ "type": "badge"
506
+ },
507
+ {
508
+ "type": "badge",
509
+ "label": "@entity.status",
510
+ "variant": "default"
511
+ }
512
+ ],
513
+ "align": "center",
514
+ "gap": "sm",
515
+ "type": "stack",
516
+ "direction": "horizontal"
517
+ },
518
+ {
519
+ "type": "divider"
520
+ },
521
+ {
522
+ "type": "stack",
523
+ "children": [
524
+ {
525
+ "children": [
526
+ {
527
+ "color": "muted",
528
+ "variant": "caption",
529
+ "type": "typography",
530
+ "content": "Interviewer"
531
+ },
532
+ {
533
+ "variant": "body",
534
+ "content": "@entity.interviewerName",
535
+ "type": "typography"
536
+ }
537
+ ],
538
+ "type": "stack",
539
+ "direction": "horizontal",
540
+ "gap": "md"
541
+ },
542
+ {
543
+ "type": "stack",
544
+ "direction": "horizontal",
545
+ "gap": "md",
546
+ "children": [
547
+ {
548
+ "type": "typography",
549
+ "variant": "caption",
550
+ "content": "Applicant ID",
551
+ "color": "muted"
552
+ },
553
+ {
554
+ "content": "@entity.applicantId",
555
+ "type": "typography",
556
+ "variant": "body"
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "children": [
562
+ {
563
+ "content": "Notes",
564
+ "variant": "caption",
565
+ "color": "muted",
566
+ "type": "typography"
567
+ },
568
+ {
569
+ "variant": "body",
570
+ "content": "@entity.notes",
571
+ "type": "typography"
572
+ }
573
+ ],
574
+ "type": "stack",
575
+ "direction": "horizontal",
576
+ "gap": "md"
577
+ }
578
+ ],
579
+ "direction": "vertical",
580
+ "gap": "sm"
581
+ },
582
+ {
583
+ "type": "divider"
584
+ },
585
+ {
586
+ "type": "simple-grid",
587
+ "cols": 2.0,
588
+ "children": [
589
+ {
590
+ "label": "Scheduled",
591
+ "icon": "calendar",
592
+ "value": "@entity.scheduledAt",
593
+ "type": "stat-display"
594
+ },
595
+ {
596
+ "label": "Duration (min)",
597
+ "icon": "clock",
598
+ "value": "@entity.durationMinutes",
599
+ "type": "stat-display"
600
+ }
601
+ ]
602
+ },
603
+ {
604
+ "align": "center",
605
+ "direction": "horizontal",
606
+ "gap": "sm",
607
+ "children": [
608
+ {
609
+ "action": "COMPLETE_INTERVIEW",
610
+ "type": "button",
611
+ "variant": "primary",
612
+ "label": "Complete",
613
+ "actionPayload": {
614
+ "id": "@entity.id"
615
+ }
616
+ },
617
+ {
618
+ "label": "Cancel",
619
+ "actionPayload": {
620
+ "id": "@entity.id"
621
+ },
622
+ "action": "CANCEL_INTERVIEW",
623
+ "variant": "danger",
624
+ "type": "button"
625
+ }
626
+ ],
627
+ "type": "stack"
628
+ }
629
+ ],
630
+ "direction": "vertical",
631
+ "gap": "md"
632
+ }
633
+ ]
634
+ ]
635
+ },
636
+ {
637
+ "from": "browsing",
638
+ "to": "loading",
639
+ "event": "CANCEL_INTERVIEW",
640
+ "effects": [
641
+ [
642
+ "set",
643
+ "@entity.id",
644
+ "@payload.id"
645
+ ],
646
+ [
647
+ "fetch",
648
+ "InterviewSlot",
649
+ {
650
+ "emit": {
651
+ "success": "InterviewSlotLoaded",
652
+ "failure": "InterviewSlotLoadFailed"
653
+ }
654
+ }
655
+ ],
656
+ [
657
+ "render-ui",
658
+ "main",
659
+ {
660
+ "gap": "md",
661
+ "align": "center",
662
+ "direction": "vertical",
663
+ "type": "stack",
664
+ "className": "py-12",
665
+ "children": [
666
+ {
667
+ "type": "spinner"
668
+ },
669
+ {
670
+ "content": "Cancelling interview…",
671
+ "color": "muted",
672
+ "variant": "caption",
673
+ "type": "typography"
674
+ }
675
+ ]
676
+ }
677
+ ]
678
+ ]
679
+ },
680
+ {
681
+ "from": "viewing_single",
682
+ "to": "loading",
683
+ "event": "CLOSE_VIEW",
684
+ "effects": [
685
+ [
686
+ "fetch",
687
+ "InterviewSlot",
688
+ {
689
+ "emit": {
690
+ "failure": "InterviewSlotLoadFailed",
691
+ "success": "InterviewSlotLoaded"
692
+ }
693
+ }
694
+ ],
695
+ [
696
+ "render-ui",
697
+ "main",
698
+ {
699
+ "gap": "md",
700
+ "align": "center",
701
+ "type": "stack",
702
+ "className": "py-12",
703
+ "children": [
704
+ {
705
+ "type": "spinner"
706
+ },
707
+ {
708
+ "color": "muted",
709
+ "content": "Loading interviews…",
710
+ "type": "typography",
711
+ "variant": "caption"
712
+ }
713
+ ],
714
+ "direction": "vertical"
715
+ }
716
+ ]
717
+ ]
718
+ },
719
+ {
720
+ "from": "viewing_single",
721
+ "to": "loading",
326
722
  "event": "COMPLETE_INTERVIEW",
327
723
  "effects": [
328
724
  [
@@ -330,20 +726,43 @@
330
726
  "@entity.id",
331
727
  "@payload.id"
332
728
  ],
729
+ [
730
+ "fetch",
731
+ "InterviewSlot",
732
+ {
733
+ "emit": {
734
+ "failure": "InterviewSlotLoadFailed",
735
+ "success": "InterviewSlotLoaded"
736
+ }
737
+ }
738
+ ],
333
739
  [
334
740
  "render-ui",
335
741
  "main",
336
742
  {
337
- "type": "alert",
338
- "variant": "success",
339
- "message": "Interview marked complete"
743
+ "align": "center",
744
+ "className": "py-12",
745
+ "children": [
746
+ {
747
+ "type": "spinner"
748
+ },
749
+ {
750
+ "variant": "caption",
751
+ "content": "Completing interview…",
752
+ "type": "typography",
753
+ "color": "muted"
754
+ }
755
+ ],
756
+ "type": "stack",
757
+ "direction": "vertical",
758
+ "gap": "md"
340
759
  }
341
760
  ]
342
761
  ]
343
762
  },
344
763
  {
345
- "from": "browsing",
346
- "to": "browsing",
764
+ "from": "viewing_single",
765
+ "to": "loading",
347
766
  "event": "CANCEL_INTERVIEW",
348
767
  "effects": [
349
768
  [
@@ -351,13 +770,36 @@
351
770
  "@entity.id",
352
771
  "@payload.id"
353
772
  ],
773
+ [
774
+ "fetch",
775
+ "InterviewSlot",
776
+ {
777
+ "emit": {
778
+ "success": "InterviewSlotLoaded",
779
+ "failure": "InterviewSlotLoadFailed"
780
+ }
781
+ }
782
+ ],
354
783
  [
355
784
  "render-ui",
356
785
  "main",
357
786
  {
358
- "variant": "info",
359
- "type": "alert",
360
- "message": "Interview cancelled"
787
+ "gap": "md",
788
+ "align": "center",
789
+ "className": "py-12",
790
+ "children": [
791
+ {
792
+ "type": "spinner"
793
+ },
794
+ {
795
+ "type": "typography",
796
+ "content": "Cancelling interview…",
797
+ "color": "muted",
798
+ "variant": "caption"
799
+ }
800
+ ],
801
+ "direction": "vertical",
802
+ "type": "stack"
361
803
  }
362
804
  ]
363
805
  ]
@@ -372,8 +814,8 @@
372
814
  "InterviewSlot",
373
815
  {
374
816
  "emit": {
375
- "success": "InterviewSlotLoaded",
376
- "failure": "InterviewSlotLoadFailed"
817
+ "failure": "InterviewSlotLoadFailed",
818
+ "success": "InterviewSlotLoaded"
377
819
  }
378
820
  }
379
821
  ],