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