@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-receipt",
3
- "version": "1.1.0",
4
- "description": "std-receipt — receipt primitive. Lists receipts in `browsing`; opens detail in `viewing_single` with Email / Reprint actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-receipt — receipt primitive with Email / Reprint actions. Exposes Financial-pattern knobs (currency, taxStrategy, jurisdiction, retention).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "ReceiptOrbital",
@@ -297,22 +297,22 @@
297
297
  "render-ui",
298
298
  "main",
299
299
  {
300
- "direction": "vertical",
300
+ "type": "stack",
301
301
  "align": "center",
302
- "gap": "md",
303
302
  "className": "py-12",
304
- "type": "stack",
303
+ "gap": "md",
305
304
  "children": [
306
305
  {
307
306
  "type": "spinner"
308
307
  },
309
308
  {
310
- "content": "Loading receipts…",
311
- "color": "muted",
312
309
  "type": "typography",
313
- "variant": "caption"
310
+ "color": "muted",
311
+ "variant": "caption",
312
+ "content": "Loading receipts…"
314
313
  }
315
- ]
314
+ ],
315
+ "direction": "vertical"
316
316
  }
317
317
  ]
318
318
  ]
@@ -326,24 +326,24 @@
326
326
  "render-ui",
327
327
  "main",
328
328
  {
329
- "type": "stack",
329
+ "direction": "vertical",
330
330
  "gap": "md",
331
331
  "children": [
332
332
  {
333
- "align": "center",
334
- "direction": "horizontal",
335
333
  "type": "stack",
334
+ "direction": "horizontal",
336
335
  "children": [
337
336
  {
338
337
  "type": "icon",
339
338
  "name": "receipt"
340
339
  },
341
340
  {
342
- "type": "typography",
341
+ "variant": "h3",
343
342
  "content": "@config.title",
344
- "variant": "h3"
343
+ "type": "typography"
345
344
  }
346
345
  ],
346
+ "align": "center",
347
347
  "gap": "sm"
348
348
  },
349
349
  {
@@ -351,28 +351,28 @@
351
351
  "cols": 4.0,
352
352
  "children": [
353
353
  {
354
- "type": "stat-display",
355
- "label": "Total receipts",
356
354
  "value": "@payload.data.length",
357
- "icon": "receipt"
355
+ "type": "stat-display",
356
+ "icon": "receipt",
357
+ "label": "Total receipts"
358
358
  },
359
359
  {
360
- "icon": "calendar",
361
360
  "value": "23",
361
+ "icon": "calendar",
362
362
  "type": "stat-display",
363
363
  "label": "Issued today"
364
364
  },
365
365
  {
366
+ "label": "Revenue",
366
367
  "type": "stat-display",
367
368
  "value": "$12,840",
368
- "label": "Revenue",
369
369
  "icon": "dollar-sign"
370
370
  },
371
371
  {
372
372
  "label": "Emailed",
373
- "type": "stat-display",
373
+ "icon": "mail",
374
374
  "value": "92%",
375
- "icon": "mail"
375
+ "type": "stat-display"
376
376
  }
377
377
  ]
378
378
  },
@@ -380,15 +380,15 @@
380
380
  "type": "divider"
381
381
  },
382
382
  {
383
- "type": "data-grid",
383
+ "itemActions": "@config.itemActions",
384
384
  "fields": "@config.fields",
385
385
  "entity": "@payload.data",
386
+ "type": "data-grid",
386
387
  "cols": 1.0,
387
- "itemActions": "@config.itemActions",
388
388
  "gap": "sm"
389
389
  }
390
390
  ],
391
- "direction": "vertical"
391
+ "type": "stack"
392
392
  }
393
393
  ]
394
394
  ]
@@ -403,8 +403,8 @@
403
403
  "main",
404
404
  {
405
405
  "type": "alert",
406
- "message": "@payload.error",
407
- "variant": "error"
406
+ "variant": "error",
407
+ "message": "@payload.error"
408
408
  }
409
409
  ]
410
410
  ]
@@ -473,20 +473,19 @@
473
473
  "render-ui",
474
474
  "main",
475
475
  {
476
- "gap": "md",
477
476
  "direction": "vertical",
477
+ "gap": "md",
478
478
  "type": "stack",
479
479
  "children": [
480
480
  {
481
481
  "type": "stack",
482
- "gap": "sm",
483
- "align": "center",
482
+ "direction": "horizontal",
484
483
  "children": [
485
484
  {
486
- "type": "button",
487
- "label": "Back",
488
485
  "variant": "ghost",
489
- "action": "CLOSE_VIEW"
486
+ "action": "CLOSE_VIEW",
487
+ "type": "button",
488
+ "label": "Back"
490
489
  },
491
490
  {
492
491
  "type": "icon",
@@ -494,33 +493,34 @@
494
493
  },
495
494
  {
496
495
  "variant": "h3",
497
- "content": "@entity.receiptNumber",
498
- "type": "typography"
496
+ "type": "typography",
497
+ "content": "@entity.receiptNumber"
499
498
  },
500
499
  {
500
+ "type": "badge",
501
501
  "label": "@entity.transactionType",
502
- "variant": "default",
503
- "type": "badge"
502
+ "variant": "default"
504
503
  }
505
504
  ],
506
- "direction": "horizontal"
505
+ "gap": "sm",
506
+ "align": "center"
507
507
  },
508
508
  {
509
509
  "type": "divider"
510
510
  },
511
511
  {
512
512
  "type": "stack",
513
+ "direction": "vertical",
513
514
  "gap": "sm",
514
515
  "children": [
515
516
  {
516
- "direction": "horizontal",
517
517
  "type": "stack",
518
518
  "children": [
519
519
  {
520
520
  "content": "Recipient",
521
- "variant": "caption",
522
521
  "type": "typography",
523
- "color": "muted"
522
+ "color": "muted",
523
+ "variant": "caption"
524
524
  },
525
525
  {
526
526
  "content": "@entity.recipientName",
@@ -528,20 +528,21 @@
528
528
  "type": "typography"
529
529
  }
530
530
  ],
531
- "gap": "md"
531
+ "gap": "md",
532
+ "direction": "horizontal"
532
533
  },
533
534
  {
534
535
  "children": [
535
536
  {
536
- "type": "typography",
537
537
  "variant": "caption",
538
538
  "content": "Email",
539
- "color": "muted"
539
+ "color": "muted",
540
+ "type": "typography"
540
541
  },
541
542
  {
542
543
  "type": "typography",
543
- "variant": "body",
544
- "content": "@entity.recipientEmail"
544
+ "content": "@entity.recipientEmail",
545
+ "variant": "body"
545
546
  }
546
547
  ],
547
548
  "type": "stack",
@@ -550,49 +551,46 @@
550
551
  },
551
552
  {
552
553
  "type": "stack",
554
+ "direction": "horizontal",
555
+ "gap": "md",
553
556
  "children": [
554
557
  {
555
- "content": "Transaction",
556
558
  "color": "muted",
557
559
  "type": "typography",
558
- "variant": "caption"
560
+ "variant": "caption",
561
+ "content": "Transaction"
559
562
  },
560
563
  {
561
564
  "type": "typography",
562
565
  "variant": "body",
563
566
  "content": "@entity.transactionId"
564
567
  }
565
- ],
566
- "direction": "horizontal",
567
- "gap": "md"
568
+ ]
568
569
  }
569
- ],
570
- "direction": "vertical"
570
+ ]
571
571
  },
572
572
  {
573
573
  "type": "divider"
574
574
  },
575
575
  {
576
- "type": "simple-grid",
577
- "cols": 4.0,
578
576
  "children": [
579
577
  {
578
+ "type": "stat-display",
580
579
  "icon": "dollar-sign",
581
580
  "label": "Subtotal",
582
- "type": "stat-display",
583
581
  "value": "@entity.subtotal"
584
582
  },
585
583
  {
586
- "value": "@entity.tax",
587
584
  "icon": "percent",
588
585
  "label": "Tax",
589
- "type": "stat-display"
586
+ "type": "stat-display",
587
+ "value": "@entity.tax"
590
588
  },
591
589
  {
592
- "value": "@entity.total",
593
590
  "icon": "dollar-sign",
594
- "type": "stat-display",
595
- "label": "Total"
591
+ "label": "Total",
592
+ "value": "@entity.total",
593
+ "type": "stat-display"
596
594
  },
597
595
  {
598
596
  "type": "stat-display",
@@ -600,31 +598,33 @@
600
598
  "label": "Issued",
601
599
  "icon": "calendar"
602
600
  }
603
- ]
601
+ ],
602
+ "type": "simple-grid",
603
+ "cols": 4.0
604
604
  },
605
605
  {
606
- "align": "center",
607
- "direction": "horizontal",
608
606
  "gap": "sm",
607
+ "direction": "horizontal",
608
+ "align": "center",
609
609
  "type": "stack",
610
610
  "children": [
611
611
  {
612
- "variant": "primary",
613
- "action": "EMAIL_RECEIPT",
614
- "label": "Email",
615
612
  "actionPayload": {
616
613
  "id": "@entity.id"
617
614
  },
618
- "type": "button"
615
+ "type": "button",
616
+ "label": "Email",
617
+ "variant": "primary",
618
+ "action": "EMAIL_RECEIPT"
619
619
  },
620
620
  {
621
+ "action": "REPRINT_RECEIPT",
622
+ "variant": "secondary",
621
623
  "label": "Reprint",
624
+ "type": "button",
622
625
  "actionPayload": {
623
626
  "id": "@entity.id"
624
- },
625
- "type": "button",
626
- "variant": "secondary",
627
- "action": "REPRINT_RECEIPT"
627
+ }
628
628
  }
629
629
  ]
630
630
  }
@@ -658,20 +658,20 @@
658
658
  "main",
659
659
  {
660
660
  "className": "py-12",
661
+ "gap": "md",
662
+ "type": "stack",
661
663
  "align": "center",
662
664
  "children": [
663
665
  {
664
666
  "type": "spinner"
665
667
  },
666
668
  {
667
- "color": "muted",
668
- "type": "typography",
669
669
  "variant": "caption",
670
- "content": "Emailing receipt…"
670
+ "type": "typography",
671
+ "content": "Emailing receipt…",
672
+ "color": "muted"
671
673
  }
672
674
  ],
673
- "gap": "md",
674
- "type": "stack",
675
675
  "direction": "vertical"
676
676
  }
677
677
  ]
@@ -692,8 +692,8 @@
692
692
  "Receipt",
693
693
  {
694
694
  "emit": {
695
- "success": "ReceiptLoaded",
696
- "failure": "ReceiptLoadFailed"
695
+ "failure": "ReceiptLoadFailed",
696
+ "success": "ReceiptLoaded"
697
697
  }
698
698
  }
699
699
  ],
@@ -701,22 +701,22 @@
701
701
  "render-ui",
702
702
  "main",
703
703
  {
704
- "type": "stack",
705
- "align": "center",
706
704
  "className": "py-12",
707
- "direction": "vertical",
708
705
  "gap": "md",
706
+ "type": "stack",
709
707
  "children": [
710
708
  {
711
709
  "type": "spinner"
712
710
  },
713
711
  {
714
- "color": "muted",
715
712
  "type": "typography",
713
+ "variant": "caption",
716
714
  "content": "Reprinting receipt…",
717
- "variant": "caption"
715
+ "color": "muted"
718
716
  }
719
- ]
717
+ ],
718
+ "direction": "vertical",
719
+ "align": "center"
720
720
  }
721
721
  ]
722
722
  ]
@@ -731,8 +731,8 @@
731
731
  "Receipt",
732
732
  {
733
733
  "emit": {
734
- "failure": "ReceiptLoadFailed",
735
- "success": "ReceiptLoaded"
734
+ "success": "ReceiptLoaded",
735
+ "failure": "ReceiptLoadFailed"
736
736
  }
737
737
  }
738
738
  ],
@@ -740,22 +740,22 @@
740
740
  "render-ui",
741
741
  "main",
742
742
  {
743
- "gap": "md",
744
743
  "align": "center",
745
- "type": "stack",
746
- "direction": "vertical",
744
+ "className": "py-12",
747
745
  "children": [
748
746
  {
749
747
  "type": "spinner"
750
748
  },
751
749
  {
750
+ "type": "typography",
752
751
  "variant": "caption",
753
752
  "color": "muted",
754
- "content": "Loading receipts…",
755
- "type": "typography"
753
+ "content": "Loading receipts…"
756
754
  }
757
755
  ],
758
- "className": "py-12"
756
+ "gap": "md",
757
+ "direction": "vertical",
758
+ "type": "stack"
759
759
  }
760
760
  ]
761
761
  ]
@@ -775,8 +775,8 @@
775
775
  "Receipt",
776
776
  {
777
777
  "emit": {
778
- "failure": "ReceiptLoadFailed",
779
- "success": "ReceiptLoaded"
778
+ "success": "ReceiptLoaded",
779
+ "failure": "ReceiptLoadFailed"
780
780
  }
781
781
  }
782
782
  ],
@@ -784,22 +784,22 @@
784
784
  "render-ui",
785
785
  "main",
786
786
  {
787
+ "type": "stack",
787
788
  "align": "center",
788
- "gap": "md",
789
- "className": "py-12",
790
789
  "children": [
791
790
  {
792
791
  "type": "spinner"
793
792
  },
794
793
  {
795
- "color": "muted",
796
794
  "type": "typography",
797
- "variant": "caption",
798
- "content": "Emailing receipt…"
795
+ "color": "muted",
796
+ "content": "Emailing receipt…",
797
+ "variant": "caption"
799
798
  }
800
799
  ],
800
+ "gap": "md",
801
801
  "direction": "vertical",
802
- "type": "stack"
802
+ "className": "py-12"
803
803
  }
804
804
  ]
805
805
  ]
@@ -819,8 +819,8 @@
819
819
  "Receipt",
820
820
  {
821
821
  "emit": {
822
- "success": "ReceiptLoaded",
823
- "failure": "ReceiptLoadFailed"
822
+ "failure": "ReceiptLoadFailed",
823
+ "success": "ReceiptLoaded"
824
824
  }
825
825
  }
826
826
  ],
@@ -828,22 +828,22 @@
828
828
  "render-ui",
829
829
  "main",
830
830
  {
831
- "className": "py-12",
832
- "direction": "vertical",
833
- "gap": "md",
834
831
  "type": "stack",
832
+ "direction": "vertical",
835
833
  "align": "center",
834
+ "className": "py-12",
836
835
  "children": [
837
836
  {
838
837
  "type": "spinner"
839
838
  },
840
839
  {
841
840
  "variant": "caption",
842
- "type": "typography",
843
841
  "content": "Reprinting receipt…",
844
- "color": "muted"
842
+ "color": "muted",
843
+ "type": "typography"
845
844
  }
846
- ]
845
+ ],
846
+ "gap": "md"
847
847
  }
848
848
  ]
849
849
  ]
@@ -858,8 +858,8 @@
858
858
  "Receipt",
859
859
  {
860
860
  "emit": {
861
- "failure": "ReceiptLoadFailed",
862
- "success": "ReceiptLoaded"
861
+ "success": "ReceiptLoaded",
862
+ "failure": "ReceiptLoadFailed"
863
863
  }
864
864
  }
865
865
  ],
@@ -876,84 +876,78 @@
876
876
  ]
877
877
  },
878
878
  "config": {
879
- "title": {
879
+ "lateFeePolicy": {
880
880
  "type": "string",
881
- "default": "Receipts",
882
- "label": "Section title",
883
- "description": "Heading shown above the receipts list",
881
+ "default": "none",
882
+ "label": "Late fee policy",
883
+ "description": "Rarely applies to receipts. Declarative; wiring deferred.",
884
+ "tier": "customization",
885
+ "values": [
886
+ "none",
887
+ "flat",
888
+ "percent"
889
+ ]
890
+ },
891
+ "retentionYears": {
892
+ "type": "number",
893
+ "default": 7.0,
894
+ "label": "Retention (years)",
895
+ "description": "Years to keep receipts for compliance.",
896
+ "tier": "advanced"
897
+ },
898
+ "lateFeeAmount": {
899
+ "type": "number",
900
+ "default": 0.0,
901
+ "label": "Late fee amount",
902
+ "description": "Flat cash amount or percentage (per lateFeePolicy).",
884
903
  "tier": "customization"
885
904
  },
886
- "itemActions": {
887
- "type": "[ItemAction]",
888
- "default": [
889
- {
890
- "label": "Open",
891
- "variant": "primary",
892
- "icon": "arrow-right",
893
- "event": "OPEN_RECEIPT"
894
- },
895
- {
896
- "event": "REPRINT_RECEIPT",
897
- "variant": "danger",
898
- "label": "Reprint"
899
- }
900
- ],
901
- "label": "Row actions",
902
- "description": "Buttons users can click on each receipt row",
905
+ "taxStrategy": {
906
+ "type": "string",
907
+ "default": "exclusive",
908
+ "label": "Tax strategy",
909
+ "description": "inclusive = tax baked into line items; exclusive = tax added on top; none = no tax.",
903
910
  "tier": "customization",
904
- "items": {
905
- "type": "object",
906
- "properties": {
907
- "variant": {
908
- "name": "variant",
909
- "type": "string",
910
- "required": false
911
- },
912
- "icon": {
913
- "name": "icon",
914
- "type": "string",
915
- "required": false
916
- },
917
- "label": {
918
- "name": "label",
919
- "type": "string",
920
- "required": true
921
- },
922
- "event": {
923
- "name": "event",
924
- "type": "string",
925
- "required": true
926
- }
927
- }
928
- }
911
+ "values": [
912
+ "inclusive",
913
+ "exclusive",
914
+ "none"
915
+ ]
916
+ },
917
+ "currency": {
918
+ "type": "string",
919
+ "default": "USD",
920
+ "label": "Default currency",
921
+ "description": "ISO 4217 currency code (USD, EUR, GBP, …) for receipt amounts.",
922
+ "tier": "essential"
929
923
  },
930
924
  "fields": {
931
925
  "type": "[FieldSpec]",
932
926
  "default": [
933
927
  {
934
- "name": "receiptNumber",
935
928
  "label": "Receipt #",
936
- "variant": "caption"
929
+ "variant": "caption",
930
+ "name": "receiptNumber"
937
931
  },
938
932
  {
939
- "label": "Recipient",
933
+ "name": "recipientName",
940
934
  "variant": "caption",
941
- "name": "recipientName"
935
+ "label": "Recipient"
942
936
  },
943
937
  {
944
- "label": "Type",
945
938
  "variant": "badge",
939
+ "label": "Type",
946
940
  "name": "transactionType"
947
941
  },
948
942
  {
949
943
  "name": "total",
950
- "variant": "caption",
951
- "label": "Total"
944
+ "label": "Total",
945
+ "variant": "caption"
952
946
  },
953
947
  {
954
- "variant": "caption",
955
948
  "name": "issuedAt",
956
- "label": "Issued"
949
+ "label": "Issued",
950
+ "variant": "caption"
957
951
  }
958
952
  ],
959
953
  "label": "Columns to show",
@@ -962,13 +956,13 @@
962
956
  "items": {
963
957
  "type": "object",
964
958
  "properties": {
965
- "icon": {
966
- "name": "icon",
959
+ "format": {
960
+ "name": "format",
967
961
  "type": "string",
968
962
  "required": false
969
963
  },
970
- "header": {
971
- "name": "header",
964
+ "variant": {
965
+ "name": "variant",
972
966
  "type": "string",
973
967
  "required": false
974
968
  },
@@ -977,18 +971,13 @@
977
971
  "type": "string",
978
972
  "required": true
979
973
  },
980
- "format": {
981
- "name": "format",
982
- "type": "string",
983
- "required": false
984
- },
985
974
  "label": {
986
975
  "name": "label",
987
976
  "type": "string",
988
977
  "required": false
989
978
  },
990
- "variant": {
991
- "name": "variant",
979
+ "icon": {
980
+ "name": "icon",
992
981
  "type": "string",
993
982
  "required": false
994
983
  },
@@ -996,6 +985,88 @@
996
985
  "name": "key",
997
986
  "type": "string",
998
987
  "required": false
988
+ },
989
+ "header": {
990
+ "name": "header",
991
+ "type": "string",
992
+ "required": false
993
+ }
994
+ }
995
+ }
996
+ },
997
+ "gracePeriodDays": {
998
+ "type": "number",
999
+ "default": 0.0,
1000
+ "label": "Grace period (days)",
1001
+ "description": "Days a receipt is considered editable before locked. Declarative.",
1002
+ "tier": "customization"
1003
+ },
1004
+ "roundingMode": {
1005
+ "type": "string",
1006
+ "default": "half-up",
1007
+ "label": "Rounding mode",
1008
+ "description": "Sub-cent rounding behavior for receipt totals.",
1009
+ "tier": "advanced",
1010
+ "values": [
1011
+ "bankers",
1012
+ "half-up",
1013
+ "down"
1014
+ ]
1015
+ },
1016
+ "title": {
1017
+ "type": "string",
1018
+ "default": "Receipts",
1019
+ "label": "Section title",
1020
+ "description": "Heading shown above the receipts list",
1021
+ "tier": "customization"
1022
+ },
1023
+ "complianceJurisdiction": {
1024
+ "type": "string",
1025
+ "default": "",
1026
+ "label": "Compliance jurisdiction",
1027
+ "description": "Drives receipt format + tax rules per locale: 'US-CA', 'EU-DE', 'UK', etc. Declarative.",
1028
+ "tier": "advanced"
1029
+ },
1030
+ "itemActions": {
1031
+ "type": "[ItemAction]",
1032
+ "default": [
1033
+ {
1034
+ "icon": "arrow-right",
1035
+ "event": "OPEN_RECEIPT",
1036
+ "label": "Open",
1037
+ "variant": "primary"
1038
+ },
1039
+ {
1040
+ "variant": "danger",
1041
+ "label": "Reprint",
1042
+ "event": "REPRINT_RECEIPT"
1043
+ }
1044
+ ],
1045
+ "label": "Row actions",
1046
+ "description": "Buttons users can click on each receipt row",
1047
+ "tier": "customization",
1048
+ "items": {
1049
+ "type": "object",
1050
+ "properties": {
1051
+ "icon": {
1052
+ "name": "icon",
1053
+ "type": "string",
1054
+ "required": false
1055
+ },
1056
+ "variant": {
1057
+ "name": "variant",
1058
+ "type": "string",
1059
+ "required": false
1060
+ },
1061
+ "event": {
1062
+ "name": "event",
1063
+ "type": "string",
1064
+ "required": true
1065
+ },
1066
+ "label": {
1067
+ "name": "label",
1068
+ "type": "string",
1069
+ "required": true
999
1070
  }
1000
1071
  }
1001
1072
  }
@@ -1017,4 +1088,4 @@
1017
1088
  ]
1018
1089
  }
1019
1090
  ]
1020
- }
1091
+ }