@almadar/std 15.15.0 → 15.15.1

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 (273) hide show
  1. package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  2. package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  3. package/behaviors/registry/app/atoms/std-application.orb +300 -188
  4. package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  5. package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  6. package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  7. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  8. package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  9. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  10. package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  11. package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  12. package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  13. package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  14. package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  15. package/behaviors/registry/app/atoms/std-donor.orb +191 -156
  16. package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  17. package/behaviors/registry/app/atoms/std-driver.orb +440 -202
  18. package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  19. package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  20. package/behaviors/registry/app/atoms/std-event.orb +309 -178
  21. package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  22. package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  23. package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  24. package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  25. package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  26. package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  27. package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  28. package/behaviors/registry/app/atoms/std-lease.orb +411 -178
  29. package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  30. package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  31. package/behaviors/registry/app/atoms/std-matter.orb +415 -189
  32. package/behaviors/registry/app/atoms/std-membership.orb +387 -167
  33. package/behaviors/registry/app/atoms/std-menu.orb +232 -175
  34. package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  35. package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  36. package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  37. package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  38. package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  39. package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  40. package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  45. package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  47. package/behaviors/registry/app/atoms/std-segment.orb +173 -139
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  49. package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  50. package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  54. package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  57. package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  58. package/behaviors/registry/app/atoms/std-trial.orb +401 -183
  59. package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  60. package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  63. package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  64. package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  65. package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  66. package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  67. package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  68. package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  69. package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  70. package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  71. package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  72. package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  73. package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  74. package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  75. package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  76. package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  77. package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  78. package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  79. package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  80. package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  81. package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  82. package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  83. package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  84. package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  85. package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  86. package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  87. package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  88. package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  89. package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  90. package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  91. package/dist/behaviors/behaviors-registry.json +2913 -156
  92. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  93. package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  94. package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
  95. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  96. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  97. package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  98. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  99. package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  100. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  101. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  102. package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  103. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  104. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  105. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  106. package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
  107. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  108. package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
  109. package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  110. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  111. package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
  112. package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  113. package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  114. package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  115. package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  116. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  117. package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  118. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  119. package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
  120. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  121. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  122. package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
  123. package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
  124. package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
  125. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  126. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  127. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  128. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  129. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  130. package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  131. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  132. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  133. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  134. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  135. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  136. package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  137. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  138. package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
  139. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  140. package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  141. package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  142. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  143. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  144. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  145. package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  146. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  147. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  148. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  149. package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
  150. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  151. package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  152. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  153. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  154. package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  155. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  156. package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  157. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  158. package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  159. package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  160. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  161. package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  162. package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  163. package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  164. package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  165. package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  166. package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  167. package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  168. package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  169. package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  170. package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  171. package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  172. package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  173. package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  174. package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  175. package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  176. package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  177. package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  178. package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  179. package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  180. package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  181. package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  182. package/dist/behaviors-registry.json +2913 -156
  183. package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
  184. package/dist/registry/app/atoms/std-applicant.orb +207 -165
  185. package/dist/registry/app/atoms/std-application.orb +300 -188
  186. package/dist/registry/app/atoms/std-approval-request.orb +370 -215
  187. package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
  188. package/dist/registry/app/atoms/std-change-order.orb +458 -194
  189. package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  190. package/dist/registry/app/atoms/std-checkin.orb +215 -151
  191. package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
  192. package/dist/registry/app/atoms/std-class-roster.orb +343 -170
  193. package/dist/registry/app/atoms/std-class-session.orb +321 -190
  194. package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
  195. package/dist/registry/app/atoms/std-customer-account.orb +376 -157
  196. package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
  197. package/dist/registry/app/atoms/std-donor.orb +191 -156
  198. package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
  199. package/dist/registry/app/atoms/std-driver.orb +440 -202
  200. package/dist/registry/app/atoms/std-dunning.orb +431 -167
  201. package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
  202. package/dist/registry/app/atoms/std-event.orb +309 -178
  203. package/dist/registry/app/atoms/std-form-builder.orb +353 -220
  204. package/dist/registry/app/atoms/std-health-score.orb +218 -183
  205. package/dist/registry/app/atoms/std-help-article.orb +425 -162
  206. package/dist/registry/app/atoms/std-help-category.orb +409 -166
  207. package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
  208. package/dist/registry/app/atoms/std-invoice.orb +349 -211
  209. package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
  210. package/dist/registry/app/atoms/std-lease.orb +411 -178
  211. package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
  212. package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
  213. package/dist/registry/app/atoms/std-matter.orb +415 -189
  214. package/dist/registry/app/atoms/std-membership.orb +387 -167
  215. package/dist/registry/app/atoms/std-menu.orb +232 -175
  216. package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
  217. package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
  218. package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
  219. package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
  220. package/dist/registry/app/atoms/std-question-bank.orb +211 -145
  221. package/dist/registry/app/atoms/std-receipt.orb +248 -177
  222. package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
  223. package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
  224. package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
  225. package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
  226. package/dist/registry/app/atoms/std-response-collector.orb +213 -150
  227. package/dist/registry/app/atoms/std-rfi.orb +365 -210
  228. package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
  229. package/dist/registry/app/atoms/std-segment.orb +173 -139
  230. package/dist/registry/app/atoms/std-stock-level.orb +205 -135
  231. package/dist/registry/app/atoms/std-submittal.orb +323 -166
  232. package/dist/registry/app/atoms/std-table-map.orb +187 -63
  233. package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
  234. package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
  235. package/dist/registry/app/atoms/std-template-editor.orb +255 -189
  236. package/dist/registry/app/atoms/std-tenant.orb +375 -147
  237. package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
  238. package/dist/registry/app/atoms/std-time-entry.orb +259 -150
  239. package/dist/registry/app/atoms/std-timesheet.orb +292 -183
  240. package/dist/registry/app/atoms/std-trial.orb +401 -183
  241. package/dist/registry/app/atoms/std-vehicle.orb +447 -205
  242. package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  243. package/dist/registry/app/atoms/std-waitlist.orb +308 -177
  244. package/dist/registry/app/atoms/std-warehouse.orb +211 -141
  245. package/dist/registry/app/atoms/std-work-order.orb +374 -219
  246. package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
  247. package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
  248. package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
  249. package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
  250. package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
  251. package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
  252. package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  253. package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
  254. package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  255. package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
  256. package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  257. package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
  258. package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  259. package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  260. package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  261. package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  262. package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  263. package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
  264. package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  265. package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  266. package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
  267. package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  268. package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
  269. package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  270. package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
  271. package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
  272. package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  273. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-donor",
3
- "version": "1.1.0",
4
- "description": "std-donor — nonprofit donor primitive (person or org with lifetime giving total). Lists donors in `browsing`; opens donor detail in `viewing_single` with Thank / Solicit actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-donor — nonprofit donor (individual/org/foundation) with Thank / Solicit actions. Exposes CRM-pattern knobs (alert threshold, reminder cadence, archive policy, consent).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "DonorOrbital",
@@ -285,9 +285,9 @@
285
285
  },
286
286
  {
287
287
  "type": "typography",
288
- "variant": "caption",
288
+ "color": "muted",
289
289
  "content": "Loading donors…",
290
- "color": "muted"
290
+ "variant": "caption"
291
291
  }
292
292
  ],
293
293
  "direction": "vertical",
@@ -310,65 +310,65 @@
310
310
  {
311
311
  "children": [
312
312
  {
313
- "type": "stack",
314
313
  "direction": "horizontal",
315
- "align": "center",
316
- "gap": "sm",
317
314
  "children": [
318
315
  {
319
- "type": "icon",
320
- "name": "heart"
316
+ "name": "heart",
317
+ "type": "icon"
321
318
  },
322
319
  {
323
- "content": "@config.title",
324
320
  "variant": "h3",
321
+ "content": "@config.title",
325
322
  "type": "typography"
326
323
  }
327
- ]
324
+ ],
325
+ "gap": "sm",
326
+ "type": "stack",
327
+ "align": "center"
328
328
  },
329
329
  {
330
+ "type": "simple-grid",
330
331
  "cols": 4.0,
331
332
  "children": [
332
333
  {
334
+ "type": "stat-display",
333
335
  "value": "@payload.data.length",
334
- "label": "Total donors",
335
336
  "icon": "heart",
336
- "type": "stat-display"
337
+ "label": "Total donors"
337
338
  },
338
339
  {
340
+ "type": "stat-display",
339
341
  "value": "184",
340
- "label": "Recurring",
341
342
  "icon": "refresh-cw",
342
- "type": "stat-display"
343
+ "label": "Recurring"
343
344
  },
344
345
  {
345
346
  "icon": "dollar-sign",
346
- "value": "$2.4M",
347
+ "label": "Total lifetime",
347
348
  "type": "stat-display",
348
- "label": "Total lifetime"
349
+ "value": "$2.4M"
349
350
  },
350
351
  {
351
352
  "type": "stat-display",
352
- "value": "$148",
353
353
  "label": "Avg gift",
354
+ "value": "$148",
354
355
  "icon": "trending-up"
355
356
  }
356
- ],
357
- "type": "simple-grid"
357
+ ]
358
358
  },
359
359
  {
360
360
  "type": "divider"
361
361
  },
362
362
  {
363
- "entity": "@payload.data",
364
363
  "itemActions": "@config.itemActions",
365
364
  "type": "data-grid",
365
+ "entity": "@payload.data",
366
366
  "fields": "@config.fields"
367
367
  }
368
368
  ],
369
- "type": "stack",
370
369
  "gap": "md",
371
- "direction": "vertical"
370
+ "direction": "vertical",
371
+ "type": "stack"
372
372
  }
373
373
  ]
374
374
  ]
@@ -382,8 +382,8 @@
382
382
  "render-ui",
383
383
  "main",
384
384
  {
385
- "type": "alert",
386
385
  "message": "@payload.error",
386
+ "type": "alert",
387
387
  "variant": "error"
388
388
  }
389
389
  ]
@@ -447,17 +447,17 @@
447
447
  "type": "stack",
448
448
  "children": [
449
449
  {
450
- "align": "center",
450
+ "type": "stack",
451
451
  "children": [
452
452
  {
453
453
  "type": "button",
454
+ "action": "CLOSE_VIEW",
454
455
  "label": "Back",
455
- "variant": "ghost",
456
- "action": "CLOSE_VIEW"
456
+ "variant": "ghost"
457
457
  },
458
458
  {
459
- "type": "icon",
460
- "name": "heart"
459
+ "name": "heart",
460
+ "type": "icon"
461
461
  },
462
462
  {
463
463
  "type": "typography",
@@ -466,75 +466,75 @@
466
466
  },
467
467
  {
468
468
  "label": "@entity.donorType",
469
- "type": "badge",
470
- "variant": "default"
469
+ "variant": "default",
470
+ "type": "badge"
471
471
  }
472
472
  ],
473
- "type": "stack",
474
- "direction": "horizontal",
475
- "gap": "sm"
473
+ "gap": "sm",
474
+ "align": "center",
475
+ "direction": "horizontal"
476
476
  },
477
477
  {
478
478
  "type": "divider"
479
479
  },
480
480
  {
481
481
  "gap": "sm",
482
- "direction": "vertical",
483
482
  "type": "stack",
483
+ "direction": "vertical",
484
484
  "children": [
485
485
  {
486
486
  "type": "stack",
487
487
  "direction": "horizontal",
488
- "gap": "md",
489
488
  "children": [
490
489
  {
491
- "content": "Email",
492
- "variant": "caption",
493
490
  "type": "typography",
494
- "color": "muted"
491
+ "color": "muted",
492
+ "content": "Email",
493
+ "variant": "caption"
495
494
  },
496
495
  {
497
- "type": "typography",
498
496
  "variant": "body",
499
- "content": "@entity.email"
497
+ "content": "@entity.email",
498
+ "type": "typography"
500
499
  }
501
- ]
500
+ ],
501
+ "gap": "md"
502
502
  },
503
503
  {
504
- "direction": "horizontal",
505
504
  "gap": "md",
506
505
  "type": "stack",
507
506
  "children": [
508
507
  {
508
+ "variant": "caption",
509
509
  "content": "Phone",
510
510
  "color": "muted",
511
- "variant": "caption",
512
511
  "type": "typography"
513
512
  },
514
513
  {
514
+ "content": "@entity.phone",
515
515
  "type": "typography",
516
- "variant": "body",
517
- "content": "@entity.phone"
516
+ "variant": "body"
518
517
  }
519
- ]
518
+ ],
519
+ "direction": "horizontal"
520
520
  },
521
521
  {
522
522
  "children": [
523
523
  {
524
- "variant": "caption",
525
- "type": "typography",
526
524
  "content": "Preferred campaign",
525
+ "type": "typography",
526
+ "variant": "caption",
527
527
  "color": "muted"
528
528
  },
529
529
  {
530
- "type": "typography",
531
530
  "variant": "body",
532
- "content": "@entity.preferredCampaign"
531
+ "content": "@entity.preferredCampaign",
532
+ "type": "typography"
533
533
  }
534
534
  ],
535
535
  "type": "stack",
536
- "direction": "horizontal",
537
- "gap": "md"
536
+ "gap": "md",
537
+ "direction": "horizontal"
538
538
  }
539
539
  ]
540
540
  },
@@ -544,52 +544,52 @@
544
544
  {
545
545
  "children": [
546
546
  {
547
- "icon": "dollar-sign",
548
547
  "value": "@entity.lifetimeAmount",
548
+ "icon": "dollar-sign",
549
549
  "type": "stat-display",
550
550
  "label": "Lifetime amount"
551
551
  },
552
552
  {
553
- "value": "@entity.firstDonationAt",
554
- "icon": "calendar",
553
+ "label": "First donation",
555
554
  "type": "stat-display",
556
- "label": "First donation"
555
+ "icon": "calendar",
556
+ "value": "@entity.firstDonationAt"
557
557
  },
558
558
  {
559
559
  "value": "@entity.lastDonationAt",
560
- "icon": "calendar-check",
560
+ "type": "stat-display",
561
561
  "label": "Last donation",
562
- "type": "stat-display"
562
+ "icon": "calendar-check"
563
563
  }
564
564
  ],
565
565
  "type": "simple-grid",
566
566
  "cols": 3.0
567
567
  },
568
568
  {
569
+ "gap": "sm",
570
+ "type": "stack",
571
+ "align": "center",
569
572
  "children": [
570
573
  {
571
- "label": "Thank Donor",
572
574
  "actionPayload": {
573
575
  "id": "@entity.id"
574
576
  },
577
+ "action": "THANK_DONOR",
578
+ "label": "Thank Donor",
575
579
  "variant": "primary",
576
- "type": "button",
577
- "action": "THANK_DONOR"
580
+ "type": "button"
578
581
  },
579
582
  {
580
- "variant": "secondary",
581
583
  "type": "button",
582
584
  "action": "SOLICIT_DONOR",
585
+ "variant": "secondary",
583
586
  "label": "Solicit",
584
587
  "actionPayload": {
585
588
  "id": "@entity.id"
586
589
  }
587
590
  }
588
591
  ],
589
- "type": "stack",
590
- "direction": "horizontal",
591
- "gap": "sm",
592
- "align": "center"
592
+ "direction": "horizontal"
593
593
  }
594
594
  ],
595
595
  "direction": "vertical"
@@ -623,20 +623,20 @@
623
623
  {
624
624
  "type": "stack",
625
625
  "gap": "md",
626
- "align": "center",
626
+ "direction": "vertical",
627
627
  "className": "py-12",
628
+ "align": "center",
628
629
  "children": [
629
630
  {
630
631
  "type": "spinner"
631
632
  },
632
633
  {
633
- "variant": "caption",
634
+ "type": "typography",
634
635
  "color": "muted",
635
636
  "content": "Sending thanks…",
636
- "type": "typography"
637
+ "variant": "caption"
637
638
  }
638
- ],
639
- "direction": "vertical"
639
+ ]
640
640
  }
641
641
  ]
642
642
  ]
@@ -651,8 +651,8 @@
651
651
  "Donor",
652
652
  {
653
653
  "emit": {
654
- "failure": "DonorLoadFailed",
655
- "success": "DonorLoaded"
654
+ "success": "DonorLoaded",
655
+ "failure": "DonorLoadFailed"
656
656
  }
657
657
  }
658
658
  ],
@@ -661,21 +661,21 @@
661
661
  "main",
662
662
  {
663
663
  "gap": "md",
664
+ "align": "center",
665
+ "type": "stack",
666
+ "direction": "vertical",
667
+ "className": "py-12",
664
668
  "children": [
665
669
  {
666
670
  "type": "spinner"
667
671
  },
668
672
  {
669
673
  "type": "typography",
670
- "color": "muted",
671
674
  "variant": "caption",
672
- "content": "Loading donors…"
675
+ "content": "Loading donors…",
676
+ "color": "muted"
673
677
  }
674
- ],
675
- "className": "py-12",
676
- "align": "center",
677
- "type": "stack",
678
- "direction": "vertical"
678
+ ]
679
679
  }
680
680
  ]
681
681
  ]
@@ -704,22 +704,22 @@
704
704
  "render-ui",
705
705
  "main",
706
706
  {
707
- "gap": "md",
708
- "align": "center",
709
- "type": "stack",
710
707
  "direction": "vertical",
708
+ "align": "center",
711
709
  "children": [
712
710
  {
713
711
  "type": "spinner"
714
712
  },
715
713
  {
716
- "color": "muted",
717
- "content": "Sending thanks…",
718
714
  "variant": "caption",
719
- "type": "typography"
715
+ "type": "typography",
716
+ "content": "Sending thanks…",
717
+ "color": "muted"
720
718
  }
721
719
  ],
722
- "className": "py-12"
720
+ "className": "py-12",
721
+ "gap": "md",
722
+ "type": "stack"
723
723
  }
724
724
  ]
725
725
  ]
@@ -748,21 +748,21 @@
748
748
  "render-ui",
749
749
  "main",
750
750
  {
751
- "gap": "md",
752
- "align": "center",
753
- "className": "py-12",
754
- "direction": "vertical",
755
751
  "children": [
756
752
  {
757
753
  "type": "spinner"
758
754
  },
759
755
  {
760
756
  "content": "Soliciting donor…",
761
- "color": "muted",
762
757
  "type": "typography",
763
- "variant": "caption"
758
+ "variant": "caption",
759
+ "color": "muted"
764
760
  }
765
761
  ],
762
+ "direction": "vertical",
763
+ "gap": "md",
764
+ "align": "center",
765
+ "className": "py-12",
766
766
  "type": "stack"
767
767
  }
768
768
  ]
@@ -796,55 +796,11 @@
796
796
  ]
797
797
  },
798
798
  "config": {
799
- "itemActions": {
800
- "type": "[ItemAction]",
801
- "default": [
802
- {
803
- "icon": "arrow-right",
804
- "variant": "primary",
805
- "event": "OPEN_DONOR",
806
- "label": "Open"
807
- },
808
- {
809
- "event": "THANK_DONOR",
810
- "label": "Thank",
811
- "variant": "secondary"
812
- }
813
- ],
814
- "label": "Row actions",
815
- "description": "Buttons users can click on each donor row",
816
- "tier": "customization",
817
- "items": {
818
- "type": "object",
819
- "properties": {
820
- "event": {
821
- "name": "event",
822
- "type": "string",
823
- "required": true
824
- },
825
- "label": {
826
- "name": "label",
827
- "type": "string",
828
- "required": true
829
- },
830
- "variant": {
831
- "name": "variant",
832
- "type": "string",
833
- "required": false
834
- },
835
- "icon": {
836
- "name": "icon",
837
- "type": "string",
838
- "required": false
839
- }
840
- }
841
- }
842
- },
843
- "title": {
844
- "type": "string",
845
- "default": "Donors",
846
- "label": "Section title",
847
- "description": "Heading shown above the donor roster",
799
+ "healthScoreThresholdAlert": {
800
+ "type": "number",
801
+ "default": 50.0,
802
+ "label": "Engagement threshold",
803
+ "description": "Donors with engagement score below this trigger re-engagement outreach. Declarative; wire via sibling std-notify.",
848
804
  "tier": "customization"
849
805
  },
850
806
  "fields": {
@@ -852,28 +808,28 @@
852
808
  "default": [
853
809
  {
854
810
  "label": "Name",
855
- "name": "name",
856
- "variant": "h4"
811
+ "variant": "h4",
812
+ "name": "name"
857
813
  },
858
814
  {
859
- "label": "Type",
860
815
  "variant": "badge",
861
- "name": "donorType"
816
+ "name": "donorType",
817
+ "label": "Type"
862
818
  },
863
819
  {
864
- "label": "Email",
820
+ "variant": "body",
865
821
  "name": "email",
866
- "variant": "body"
822
+ "label": "Email"
867
823
  },
868
824
  {
869
- "name": "lifetimeAmount",
870
825
  "variant": "caption",
826
+ "name": "lifetimeAmount",
871
827
  "label": "Lifetime"
872
828
  },
873
829
  {
874
- "variant": "caption",
875
830
  "name": "lastDonationAt",
876
- "label": "Last gift"
831
+ "label": "Last gift",
832
+ "variant": "caption"
877
833
  }
878
834
  ],
879
835
  "label": "Columns to show",
@@ -887,8 +843,13 @@
887
843
  "type": "string",
888
844
  "required": true
889
845
  },
890
- "format": {
891
- "name": "format",
846
+ "variant": {
847
+ "name": "variant",
848
+ "type": "string",
849
+ "required": false
850
+ },
851
+ "label": {
852
+ "name": "label",
892
853
  "type": "string",
893
854
  "required": false
894
855
  },
@@ -907,15 +868,89 @@
907
868
  "type": "string",
908
869
  "required": false
909
870
  },
871
+ "format": {
872
+ "name": "format",
873
+ "type": "string",
874
+ "required": false
875
+ }
876
+ }
877
+ }
878
+ },
879
+ "archiveInactiveAfterDays": {
880
+ "type": "number",
881
+ "default": 1825.0,
882
+ "label": "Archive inactive after (days)",
883
+ "description": "Days since last gift before donor record auto-archives. Default 5 years. Declarative; wire via sibling std-lifecycle.",
884
+ "tier": "advanced"
885
+ },
886
+ "consentTrackingEnabled": {
887
+ "type": "boolean",
888
+ "default": true,
889
+ "label": "Track consent",
890
+ "description": "Whether to honor marketing/data-processing consent on donor outreach. Declarative.",
891
+ "tier": "customization"
892
+ },
893
+ "title": {
894
+ "type": "string",
895
+ "default": "Donors",
896
+ "label": "Section title",
897
+ "description": "Heading shown above the donor roster",
898
+ "tier": "customization"
899
+ },
900
+ "renewalReminderDaysBefore": {
901
+ "type": "[number]",
902
+ "default": [
903
+ 365.0,
904
+ 180.0,
905
+ 30.0
906
+ ],
907
+ "label": "Re-solicitation cadence (days since last gift)",
908
+ "description": "Days since lastDonationAt at which to re-solicit. Declarative; wire via sibling std-reminder-scheduler.",
909
+ "tier": "customization",
910
+ "items": {
911
+ "type": "number"
912
+ }
913
+ },
914
+ "itemActions": {
915
+ "type": "[ItemAction]",
916
+ "default": [
917
+ {
918
+ "event": "OPEN_DONOR",
919
+ "variant": "primary",
920
+ "label": "Open",
921
+ "icon": "arrow-right"
922
+ },
923
+ {
924
+ "label": "Thank",
925
+ "event": "THANK_DONOR",
926
+ "variant": "secondary"
927
+ }
928
+ ],
929
+ "label": "Row actions",
930
+ "description": "Buttons users can click on each donor row",
931
+ "tier": "customization",
932
+ "items": {
933
+ "type": "object",
934
+ "properties": {
935
+ "event": {
936
+ "name": "event",
937
+ "type": "string",
938
+ "required": true
939
+ },
910
940
  "label": {
911
941
  "name": "label",
912
942
  "type": "string",
913
- "required": false
943
+ "required": true
914
944
  },
915
945
  "variant": {
916
946
  "name": "variant",
917
947
  "type": "string",
918
948
  "required": false
949
+ },
950
+ "icon": {
951
+ "name": "icon",
952
+ "type": "string",
953
+ "required": false
919
954
  }
920
955
  }
921
956
  }
@@ -937,4 +972,4 @@
937
972
  ]
938
973
  }
939
974
  ]
940
- }
975
+ }