@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-donation-receipt",
3
3
  "version": "1.0.0",
4
- "description": "std-donation-receipt — tax-deductible donation receipt atom. Owns a DonationReceipt entity with IRS-compliance fields (taxYear, taxDeductible, nonprofitEin). Browses receipts in a data-grid with Email / Void actions.",
4
+ "description": "std-donation-receipt — tax-deductible donation receipt with IRS-compliance fields (taxYear, taxDeductible, nonprofitEin). Lists receipts in `browsing`; opens detail in `viewing_single` with Email / Void actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "DonationReceiptOrbital",
@@ -73,6 +73,67 @@
73
73
  "category": "interaction",
74
74
  "linkedEntity": "DonationReceipt",
75
75
  "emits": [
76
+ {
77
+ "event": "OPEN_RECEIPT",
78
+ "payloadSchema": [
79
+ {
80
+ "name": "id",
81
+ "type": "string",
82
+ "required": true
83
+ },
84
+ {
85
+ "name": "row.id",
86
+ "type": "string",
87
+ "required": true
88
+ },
89
+ {
90
+ "name": "row.receiptNumber",
91
+ "type": "string",
92
+ "required": true
93
+ },
94
+ {
95
+ "name": "row.donorId",
96
+ "type": "string",
97
+ "required": true
98
+ },
99
+ {
100
+ "name": "row.donorName",
101
+ "type": "string"
102
+ },
103
+ {
104
+ "name": "row.campaignId",
105
+ "type": "string"
106
+ },
107
+ {
108
+ "name": "row.amount",
109
+ "type": "number"
110
+ },
111
+ {
112
+ "name": "row.donationDate",
113
+ "type": "string",
114
+ "required": true
115
+ },
116
+ {
117
+ "name": "row.taxYear",
118
+ "type": "number"
119
+ },
120
+ {
121
+ "name": "row.taxDeductible",
122
+ "type": "boolean"
123
+ },
124
+ {
125
+ "name": "row.nonprofitEin",
126
+ "type": "string"
127
+ },
128
+ {
129
+ "name": "row.isEmailed",
130
+ "type": "boolean"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "event": "CLOSE_VIEW"
136
+ },
76
137
  {
77
138
  "event": "EMAIL_RECEIPT",
78
139
  "payloadSchema": [
@@ -125,6 +186,9 @@
125
186
  {
126
187
  "name": "browsing"
127
188
  },
189
+ {
190
+ "name": "viewing_single"
191
+ },
128
192
  {
129
193
  "name": "error"
130
194
  }
@@ -159,13 +223,17 @@
159
223
  ]
160
224
  },
161
225
  {
162
- "key": "EMAIL_RECEIPT",
163
- "name": "Email Receipt",
226
+ "key": "OPEN_RECEIPT",
227
+ "name": "Open Receipt",
164
228
  "payloadSchema": [
165
229
  {
166
230
  "name": "id",
167
231
  "type": "string",
168
232
  "required": true
233
+ },
234
+ {
235
+ "name": "row",
236
+ "type": "DonationReceipt"
169
237
  }
170
238
  ]
171
239
  },
@@ -179,6 +247,21 @@
179
247
  "required": true
180
248
  }
181
249
  ]
250
+ },
251
+ {
252
+ "key": "CLOSE_VIEW",
253
+ "name": "Close View"
254
+ },
255
+ {
256
+ "key": "EMAIL_RECEIPT",
257
+ "name": "Email Receipt",
258
+ "payloadSchema": [
259
+ {
260
+ "name": "id",
261
+ "type": "string",
262
+ "required": true
263
+ }
264
+ ]
182
265
  }
183
266
  ],
184
267
  "transitions": [
@@ -201,22 +284,22 @@
201
284
  "render-ui",
202
285
  "main",
203
286
  {
204
- "type": "stack",
205
- "align": "center",
206
287
  "gap": "md",
207
- "className": "py-12",
208
288
  "children": [
209
289
  {
210
290
  "type": "spinner"
211
291
  },
212
292
  {
213
- "color": "muted",
293
+ "variant": "caption",
214
294
  "type": "typography",
215
295
  "content": "Loading donation receipts…",
216
- "variant": "caption"
296
+ "color": "muted"
217
297
  }
218
298
  ],
219
- "direction": "vertical"
299
+ "type": "stack",
300
+ "className": "py-12",
301
+ "direction": "vertical",
302
+ "align": "center"
220
303
  }
221
304
  ]
222
305
  ]
@@ -230,42 +313,54 @@
230
313
  "render-ui",
231
314
  "main",
232
315
  {
316
+ "type": "stack",
317
+ "gap": "md",
318
+ "direction": "vertical",
233
319
  "children": [
234
320
  {
235
- "gap": "sm",
236
321
  "children": [
237
322
  {
238
- "type": "icon",
239
- "name": "receipt"
323
+ "name": "receipt",
324
+ "type": "icon"
240
325
  },
241
326
  {
242
- "type": "typography",
327
+ "content": "@config.title",
243
328
  "variant": "h3",
244
- "content": "@config.title"
329
+ "type": "typography"
245
330
  }
246
331
  ],
247
332
  "type": "stack",
248
- "direction": "horizontal"
333
+ "gap": "sm",
334
+ "direction": "horizontal",
335
+ "align": "center"
249
336
  },
250
337
  {
251
- "type": "stats-grid",
252
- "columns": 4.0,
253
- "stats": [
338
+ "type": "simple-grid",
339
+ "cols": 4.0,
340
+ "children": [
254
341
  {
255
- "value": "1,248",
256
- "label": "Receipts issued"
342
+ "value": "@payload.data.length",
343
+ "icon": "receipt",
344
+ "type": "stat-display",
345
+ "label": "Receipts"
257
346
  },
258
347
  {
259
348
  "value": "$482,300",
349
+ "type": "stat-display",
350
+ "icon": "dollar-sign",
260
351
  "label": "Total deductible"
261
352
  },
262
353
  {
263
- "label": "Tax year",
264
- "value": "2025"
354
+ "type": "stat-display",
355
+ "value": "2025",
356
+ "icon": "calendar",
357
+ "label": "Tax year"
265
358
  },
266
359
  {
360
+ "icon": "send",
361
+ "label": "Emailed",
267
362
  "value": "94%",
268
- "label": "Emailed"
363
+ "type": "stat-display"
269
364
  }
270
365
  ]
271
366
  },
@@ -274,26 +369,29 @@
274
369
  },
275
370
  {
276
371
  "type": "data-grid",
372
+ "gap": "sm",
373
+ "cols": 1.0,
374
+ "entity": "@payload.data",
277
375
  "fields": [
278
376
  {
279
- "name": "receiptNumber",
280
377
  "label": "Receipt #",
378
+ "name": "receiptNumber",
281
379
  "variant": "caption"
282
380
  },
283
381
  {
382
+ "label": "Donor",
284
383
  "variant": "caption",
285
- "name": "donorName",
286
- "label": "Donor"
384
+ "name": "donorName"
287
385
  },
288
386
  {
387
+ "label": "Amount",
289
388
  "name": "amount",
290
- "variant": "caption",
291
- "label": "Amount"
389
+ "variant": "caption"
292
390
  },
293
391
  {
294
- "variant": "caption",
295
392
  "name": "donationDate",
296
- "label": "Date"
393
+ "label": "Date",
394
+ "variant": "caption"
297
395
  },
298
396
  {
299
397
  "name": "taxYear",
@@ -302,30 +400,25 @@
302
400
  },
303
401
  {
304
402
  "name": "isEmailed",
305
- "label": "Emailed",
306
- "variant": "badge"
403
+ "variant": "badge",
404
+ "label": "Emailed"
307
405
  }
308
406
  ],
309
- "cols": 1.0,
310
- "gap": "sm",
311
407
  "itemActions": [
312
408
  {
409
+ "label": "Open",
410
+ "event": "OPEN_RECEIPT",
313
411
  "variant": "primary",
314
- "event": "EMAIL_RECEIPT",
315
- "label": "Email"
412
+ "icon": "arrow-right"
316
413
  },
317
414
  {
318
415
  "label": "Void",
319
416
  "event": "VOID_RECEIPT",
320
417
  "variant": "danger"
321
418
  }
322
- ],
323
- "entity": "@payload.data"
419
+ ]
324
420
  }
325
- ],
326
- "gap": "md",
327
- "type": "stack",
328
- "direction": "vertical"
421
+ ]
329
422
  }
330
423
  ]
331
424
  ]
@@ -339,16 +432,320 @@
339
432
  "render-ui",
340
433
  "main",
341
434
  {
342
- "message": "@payload.error",
343
435
  "type": "alert",
344
- "variant": "error"
436
+ "variant": "error",
437
+ "message": "@payload.error"
345
438
  }
346
439
  ]
347
440
  ]
348
441
  },
349
442
  {
350
443
  "from": "browsing",
351
- "to": "browsing",
444
+ "to": "viewing_single",
445
+ "event": "OPEN_RECEIPT",
446
+ "effects": [
447
+ [
448
+ "set",
449
+ "@entity.id",
450
+ "@payload.row.id"
451
+ ],
452
+ [
453
+ "set",
454
+ "@entity.receiptNumber",
455
+ "@payload.row.receiptNumber"
456
+ ],
457
+ [
458
+ "set",
459
+ "@entity.donorId",
460
+ "@payload.row.donorId"
461
+ ],
462
+ [
463
+ "set",
464
+ "@entity.donorName",
465
+ "@payload.row.donorName"
466
+ ],
467
+ [
468
+ "set",
469
+ "@entity.campaignId",
470
+ "@payload.row.campaignId"
471
+ ],
472
+ [
473
+ "set",
474
+ "@entity.amount",
475
+ "@payload.row.amount"
476
+ ],
477
+ [
478
+ "set",
479
+ "@entity.donationDate",
480
+ "@payload.row.donationDate"
481
+ ],
482
+ [
483
+ "set",
484
+ "@entity.taxYear",
485
+ "@payload.row.taxYear"
486
+ ],
487
+ [
488
+ "set",
489
+ "@entity.nonprofitEin",
490
+ "@payload.row.nonprofitEin"
491
+ ],
492
+ [
493
+ "render-ui",
494
+ "main",
495
+ {
496
+ "gap": "md",
497
+ "children": [
498
+ {
499
+ "direction": "horizontal",
500
+ "align": "center",
501
+ "gap": "sm",
502
+ "type": "stack",
503
+ "children": [
504
+ {
505
+ "variant": "ghost",
506
+ "action": "CLOSE_VIEW",
507
+ "label": "Back",
508
+ "type": "button"
509
+ },
510
+ {
511
+ "type": "icon",
512
+ "name": "receipt"
513
+ },
514
+ {
515
+ "type": "typography",
516
+ "content": "@entity.receiptNumber",
517
+ "variant": "h3"
518
+ }
519
+ ]
520
+ },
521
+ {
522
+ "type": "divider"
523
+ },
524
+ {
525
+ "gap": "sm",
526
+ "children": [
527
+ {
528
+ "gap": "md",
529
+ "children": [
530
+ {
531
+ "content": "Donor",
532
+ "type": "typography",
533
+ "variant": "caption",
534
+ "color": "muted"
535
+ },
536
+ {
537
+ "variant": "body",
538
+ "type": "typography",
539
+ "content": "@entity.donorName"
540
+ }
541
+ ],
542
+ "type": "stack",
543
+ "direction": "horizontal"
544
+ },
545
+ {
546
+ "direction": "horizontal",
547
+ "children": [
548
+ {
549
+ "variant": "caption",
550
+ "type": "typography",
551
+ "color": "muted",
552
+ "content": "Donor ID"
553
+ },
554
+ {
555
+ "content": "@entity.donorId",
556
+ "type": "typography",
557
+ "variant": "body"
558
+ }
559
+ ],
560
+ "gap": "md",
561
+ "type": "stack"
562
+ },
563
+ {
564
+ "type": "stack",
565
+ "direction": "horizontal",
566
+ "children": [
567
+ {
568
+ "variant": "caption",
569
+ "color": "muted",
570
+ "content": "Campaign",
571
+ "type": "typography"
572
+ },
573
+ {
574
+ "variant": "body",
575
+ "type": "typography",
576
+ "content": "@entity.campaignId"
577
+ }
578
+ ],
579
+ "gap": "md"
580
+ },
581
+ {
582
+ "gap": "md",
583
+ "direction": "horizontal",
584
+ "type": "stack",
585
+ "children": [
586
+ {
587
+ "color": "muted",
588
+ "content": "Nonprofit EIN",
589
+ "type": "typography",
590
+ "variant": "caption"
591
+ },
592
+ {
593
+ "variant": "body",
594
+ "content": "@entity.nonprofitEin",
595
+ "type": "typography"
596
+ }
597
+ ]
598
+ }
599
+ ],
600
+ "direction": "vertical",
601
+ "type": "stack"
602
+ },
603
+ {
604
+ "type": "divider"
605
+ },
606
+ {
607
+ "type": "simple-grid",
608
+ "cols": 3.0,
609
+ "children": [
610
+ {
611
+ "icon": "dollar-sign",
612
+ "value": "@entity.amount",
613
+ "type": "stat-display",
614
+ "label": "Amount"
615
+ },
616
+ {
617
+ "value": "@entity.donationDate",
618
+ "type": "stat-display",
619
+ "label": "Date",
620
+ "icon": "calendar"
621
+ },
622
+ {
623
+ "icon": "file-text",
624
+ "label": "Tax year",
625
+ "type": "stat-display",
626
+ "value": "@entity.taxYear"
627
+ }
628
+ ]
629
+ },
630
+ {
631
+ "direction": "horizontal",
632
+ "gap": "sm",
633
+ "children": [
634
+ {
635
+ "label": "Email Receipt",
636
+ "action": "EMAIL_RECEIPT",
637
+ "type": "button",
638
+ "actionPayload": {
639
+ "id": "@entity.id"
640
+ },
641
+ "variant": "primary"
642
+ },
643
+ {
644
+ "variant": "danger",
645
+ "label": "Void",
646
+ "actionPayload": {
647
+ "id": "@entity.id"
648
+ },
649
+ "type": "button",
650
+ "action": "VOID_RECEIPT"
651
+ }
652
+ ],
653
+ "align": "center",
654
+ "type": "stack"
655
+ }
656
+ ],
657
+ "direction": "vertical",
658
+ "type": "stack"
659
+ }
660
+ ]
661
+ ]
662
+ },
663
+ {
664
+ "from": "browsing",
665
+ "to": "loading",
666
+ "event": "VOID_RECEIPT",
667
+ "effects": [
668
+ [
669
+ "set",
670
+ "@entity.id",
671
+ "@payload.id"
672
+ ],
673
+ [
674
+ "fetch",
675
+ "DonationReceipt",
676
+ {
677
+ "emit": {
678
+ "failure": "DonationReceiptLoadFailed",
679
+ "success": "DonationReceiptLoaded"
680
+ }
681
+ }
682
+ ],
683
+ [
684
+ "render-ui",
685
+ "main",
686
+ {
687
+ "direction": "vertical",
688
+ "gap": "md",
689
+ "type": "stack",
690
+ "align": "center",
691
+ "className": "py-12",
692
+ "children": [
693
+ {
694
+ "type": "spinner"
695
+ },
696
+ {
697
+ "type": "typography",
698
+ "color": "muted",
699
+ "content": "Voiding receipt…",
700
+ "variant": "caption"
701
+ }
702
+ ]
703
+ }
704
+ ]
705
+ ]
706
+ },
707
+ {
708
+ "from": "viewing_single",
709
+ "to": "loading",
710
+ "event": "CLOSE_VIEW",
711
+ "effects": [
712
+ [
713
+ "fetch",
714
+ "DonationReceipt",
715
+ {
716
+ "emit": {
717
+ "failure": "DonationReceiptLoadFailed",
718
+ "success": "DonationReceiptLoaded"
719
+ }
720
+ }
721
+ ],
722
+ [
723
+ "render-ui",
724
+ "main",
725
+ {
726
+ "gap": "md",
727
+ "align": "center",
728
+ "direction": "vertical",
729
+ "type": "stack",
730
+ "className": "py-12",
731
+ "children": [
732
+ {
733
+ "type": "spinner"
734
+ },
735
+ {
736
+ "variant": "caption",
737
+ "type": "typography",
738
+ "content": "Loading receipts…",
739
+ "color": "muted"
740
+ }
741
+ ]
742
+ }
743
+ ]
744
+ ]
745
+ },
746
+ {
747
+ "from": "viewing_single",
748
+ "to": "loading",
352
749
  "event": "EMAIL_RECEIPT",
353
750
  "effects": [
354
751
  [
@@ -356,20 +753,43 @@
356
753
  "@entity.id",
357
754
  "@payload.id"
358
755
  ],
756
+ [
757
+ "fetch",
758
+ "DonationReceipt",
759
+ {
760
+ "emit": {
761
+ "failure": "DonationReceiptLoadFailed",
762
+ "success": "DonationReceiptLoaded"
763
+ }
764
+ }
765
+ ],
359
766
  [
360
767
  "render-ui",
361
768
  "main",
362
769
  {
363
- "message": "Receipt emailed",
364
- "variant": "success",
365
- "type": "alert"
770
+ "direction": "vertical",
771
+ "type": "stack",
772
+ "className": "py-12",
773
+ "children": [
774
+ {
775
+ "type": "spinner"
776
+ },
777
+ {
778
+ "variant": "caption",
779
+ "type": "typography",
780
+ "color": "muted",
781
+ "content": "Emailing receipt…"
782
+ }
783
+ ],
784
+ "align": "center",
785
+ "gap": "md"
366
786
  }
367
787
  ]
368
788
  ]
369
789
  },
370
790
  {
371
- "from": "browsing",
372
- "to": "browsing",
791
+ "from": "viewing_single",
792
+ "to": "loading",
373
793
  "event": "VOID_RECEIPT",
374
794
  "effects": [
375
795
  [
@@ -377,13 +797,36 @@
377
797
  "@entity.id",
378
798
  "@payload.id"
379
799
  ],
800
+ [
801
+ "fetch",
802
+ "DonationReceipt",
803
+ {
804
+ "emit": {
805
+ "failure": "DonationReceiptLoadFailed",
806
+ "success": "DonationReceiptLoaded"
807
+ }
808
+ }
809
+ ],
380
810
  [
381
811
  "render-ui",
382
812
  "main",
383
813
  {
384
- "variant": "info",
385
- "message": "Receipt voided",
386
- "type": "alert"
814
+ "gap": "md",
815
+ "align": "center",
816
+ "children": [
817
+ {
818
+ "type": "spinner"
819
+ },
820
+ {
821
+ "color": "muted",
822
+ "type": "typography",
823
+ "variant": "caption",
824
+ "content": "Voiding receipt…"
825
+ }
826
+ ],
827
+ "className": "py-12",
828
+ "type": "stack",
829
+ "direction": "vertical"
387
830
  }
388
831
  ]
389
832
  ]
@@ -407,8 +850,8 @@
407
850
  "render-ui",
408
851
  "main",
409
852
  {
410
- "size": "sm",
411
- "type": "spinner"
853
+ "type": "spinner",
854
+ "size": "sm"
412
855
  }
413
856
  ]
414
857
  ]