@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-subscription-billing",
3
- "version": "1.0.0",
4
- "description": "Subscription billing: plans browser with stats + graphs, embedded recurring-charge + trial managers, modal/confirm CRUD over plans, invoices browser, dunning queue.",
3
+ "version": "1.1.0",
4
+ "description": "Subscription billing: plans browser with stats + graphs, embedded recurring-charge + trial managers, modal/confirm CRUD over plans, invoices browser, dunning queue. Composes std-lifecycle (auto-overdue scan), std-notify-on-event (customer-facing notifications), and std-audit-capture (compliance audit trail) for the invoice domain.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "SubscriptionOrbital",
@@ -113,10 +113,9 @@
113
113
  "name": "PlanAppLayout",
114
114
  "config": {
115
115
  "notifications": [],
116
- "searchEvent": "PLAN_SEARCH",
116
+ "contentTrait": "@trait.PlanCatalog",
117
117
  "notificationClickEvent": "PLAN_NOTIFICATIONS_OPEN",
118
118
  "appName": "Subscription Billing",
119
- "contentTrait": "@trait.PlanCatalog",
120
119
  "navItems": [
121
120
  {
122
121
  "href": "/plans",
@@ -124,8 +123,8 @@
124
123
  "icon": "credit-card"
125
124
  },
126
125
  {
127
- "label": "Invoices",
128
126
  "href": "/invoices",
127
+ "label": "Invoices",
129
128
  "icon": "receipt"
130
129
  },
131
130
  {
@@ -133,7 +132,8 @@
133
132
  "href": "/dunning",
134
133
  "icon": "alert-triangle"
135
134
  }
136
- ]
135
+ ],
136
+ "searchEvent": "PLAN_SEARCH"
137
137
  },
138
138
  "events": {
139
139
  "NOTIFY_CLICK": "PLAN_NOTIFICATIONS_OPEN",
@@ -221,60 +221,61 @@
221
221
  "main",
222
222
  {
223
223
  "gap": "lg",
224
+ "direction": "vertical",
224
225
  "type": "stack",
225
226
  "children": [
226
227
  {
228
+ "direction": "horizontal",
229
+ "type": "stack",
227
230
  "justify": "between",
231
+ "align": "center",
232
+ "gap": "md",
228
233
  "children": [
229
234
  {
230
- "type": "stack",
235
+ "direction": "horizontal",
231
236
  "gap": "sm",
232
237
  "align": "center",
238
+ "type": "stack",
233
239
  "children": [
234
240
  {
235
241
  "type": "icon",
236
242
  "name": "credit-card"
237
243
  },
238
244
  {
239
- "variant": "h2",
245
+ "type": "typography",
240
246
  "content": "Plans",
241
- "type": "typography"
247
+ "variant": "h2"
242
248
  }
243
- ],
244
- "direction": "horizontal"
249
+ ]
245
250
  },
246
251
  {
247
- "direction": "horizontal",
248
- "type": "stack",
249
- "gap": "sm",
250
252
  "children": [
251
253
  {
252
- "action": "CREATE",
253
- "type": "button",
254
254
  "label": "New Plan",
255
+ "icon": "plus",
256
+ "type": "button",
255
257
  "variant": "primary",
256
- "icon": "plus"
258
+ "action": "CREATE"
257
259
  }
258
- ]
260
+ ],
261
+ "gap": "sm",
262
+ "type": "stack",
263
+ "direction": "horizontal"
259
264
  }
260
- ],
261
- "type": "stack",
262
- "gap": "md",
263
- "align": "center",
264
- "direction": "horizontal"
265
+ ]
265
266
  },
266
267
  {
267
268
  "type": "divider"
268
269
  },
269
270
  {
270
- "gap": "md",
271
271
  "align": "center",
272
- "direction": "horizontal",
273
272
  "children": [
274
273
  "@trait.PlanSearch",
275
274
  "@trait.PlanFilter"
276
275
  ],
277
- "type": "stack"
276
+ "type": "stack",
277
+ "direction": "horizontal",
278
+ "gap": "md"
278
279
  },
279
280
  "@trait.PlanStats",
280
281
  "@trait.PlanGraphs",
@@ -296,12 +297,11 @@
296
297
  },
297
298
  {
298
299
  "variant": "h3",
299
- "content": "Trials",
300
- "type": "typography"
300
+ "type": "typography",
301
+ "content": "Trials"
301
302
  },
302
303
  "@trait.PlanTrialManage"
303
- ],
304
- "direction": "vertical"
304
+ ]
305
305
  }
306
306
  ]
307
307
  ]
@@ -320,33 +320,33 @@
320
320
  "render-ui",
321
321
  "main",
322
322
  {
323
- "direction": "vertical",
324
- "className": "py-8",
325
323
  "children": [
326
324
  {
327
325
  "type": "icon",
328
326
  "name": "bell"
329
327
  },
330
328
  {
331
- "variant": "h3",
329
+ "type": "typography",
332
330
  "content": "No notifications",
333
- "type": "typography"
331
+ "variant": "h3"
334
332
  },
335
333
  {
336
- "variant": "caption",
337
- "color": "muted",
334
+ "type": "typography",
338
335
  "content": "You're all caught up.",
339
- "type": "typography"
336
+ "variant": "caption",
337
+ "color": "muted"
340
338
  },
341
339
  {
342
- "type": "button",
343
- "label": "Back to plans",
340
+ "action": "INIT",
344
341
  "variant": "ghost",
345
- "action": "INIT"
342
+ "label": "Back to plans",
343
+ "type": "button"
346
344
  }
347
345
  ],
348
346
  "align": "center",
349
347
  "type": "stack",
348
+ "direction": "vertical",
349
+ "className": "py-8",
350
350
  "gap": "md"
351
351
  }
352
352
  ]
@@ -370,22 +370,22 @@
370
370
  "config": {
371
371
  "filters": [
372
372
  {
373
- "field": "interval",
374
- "label": "Interval",
375
373
  "filterType": "select",
376
374
  "options": [
377
375
  "monthly",
378
376
  "yearly"
379
- ]
377
+ ],
378
+ "label": "Interval",
379
+ "field": "interval"
380
380
  },
381
381
  {
382
- "label": "Status",
383
- "filterType": "select",
384
382
  "options": [
385
383
  "active",
386
384
  "archived"
387
385
  ],
388
- "field": "status"
386
+ "filterType": "select",
387
+ "field": "status",
388
+ "label": "Status"
389
389
  }
390
390
  ],
391
391
  "event": "PLAN_FILTER"
@@ -398,18 +398,15 @@
398
398
  "title": "Plans",
399
399
  "metrics": [
400
400
  {
401
- "label": "Total",
402
401
  "aggregation": "count",
403
- "variant": "primary",
402
+ "label": "Total",
403
+ "icon": "credit-card",
404
404
  "format": "number",
405
- "icon": "credit-card"
405
+ "variant": "primary"
406
406
  },
407
407
  {
408
408
  "format": "number",
409
- "label": "Active",
410
- "icon": "check-circle",
411
409
  "variant": "success",
412
- "aggregation": "count",
413
410
  "filter": [
414
411
  "fn",
415
412
  "row",
@@ -418,13 +415,12 @@
418
415
  "@row.status",
419
416
  "active"
420
417
  ]
421
- ]
418
+ ],
419
+ "icon": "check-circle",
420
+ "label": "Active",
421
+ "aggregation": "count"
422
422
  },
423
423
  {
424
- "format": "number",
425
- "label": "Archived",
426
- "aggregation": "count",
427
- "icon": "archive",
428
424
  "filter": [
429
425
  "fn",
430
426
  "row",
@@ -434,7 +430,11 @@
434
430
  "archived"
435
431
  ]
436
432
  ],
437
- "variant": "warning"
433
+ "icon": "archive",
434
+ "aggregation": "count",
435
+ "label": "Archived",
436
+ "variant": "warning",
437
+ "format": "number"
438
438
  }
439
439
  ]
440
440
  },
@@ -453,13 +453,13 @@
453
453
  "ref": "Graphs.traits.GraphItemGraph",
454
454
  "name": "PlanGraphs",
455
455
  "config": {
456
- "chartType": "bar",
457
- "categoryField": "interval",
458
- "height": 240.0,
459
456
  "title": "Plans by Interval",
460
457
  "aggregation": "count",
458
+ "height": 240.0,
459
+ "categoryField": "interval",
461
460
  "showLegend": false,
462
- "subtitle": "Monthly vs yearly distribution"
461
+ "subtitle": "Monthly vs yearly distribution",
462
+ "chartType": "bar"
463
463
  },
464
464
  "listens": [
465
465
  {
@@ -478,12 +478,29 @@
478
478
  "linkedEntity": "Plan",
479
479
  "config": {
480
480
  "gap": "sm",
481
+ "itemActions": [
482
+ {
483
+ "label": "View",
484
+ "variant": "ghost",
485
+ "event": "VIEW"
486
+ },
487
+ {
488
+ "label": "Edit",
489
+ "event": "EDIT",
490
+ "variant": "ghost"
491
+ },
492
+ {
493
+ "variant": "danger",
494
+ "event": "DELETE",
495
+ "label": "Delete"
496
+ }
497
+ ],
481
498
  "cols": 1.0,
482
499
  "fields": [
483
500
  {
484
- "icon": "credit-card",
501
+ "name": "name",
485
502
  "variant": "h3",
486
- "name": "name"
503
+ "icon": "credit-card"
487
504
  },
488
505
  {
489
506
  "variant": "caption",
@@ -494,8 +511,8 @@
494
511
  "variant": "badge"
495
512
  },
496
513
  {
497
- "name": "amount",
498
- "variant": "body"
514
+ "variant": "body",
515
+ "name": "amount"
499
516
  },
500
517
  {
501
518
  "name": "currency",
@@ -505,23 +522,6 @@
505
522
  "variant": "badge",
506
523
  "name": "status"
507
524
  }
508
- ],
509
- "itemActions": [
510
- {
511
- "label": "View",
512
- "variant": "ghost",
513
- "event": "VIEW"
514
- },
515
- {
516
- "event": "EDIT",
517
- "label": "Edit",
518
- "variant": "ghost"
519
- },
520
- {
521
- "variant": "danger",
522
- "event": "DELETE",
523
- "label": "Delete"
524
- }
525
525
  ]
526
526
  },
527
527
  "listens": [
@@ -572,6 +572,8 @@
572
572
  "name": "PlanCreate",
573
573
  "linkedEntity": "Plan",
574
574
  "config": {
575
+ "title": "New Plan",
576
+ "icon": "plus-circle",
575
577
  "fields": [
576
578
  "name",
577
579
  "description",
@@ -581,9 +583,7 @@
581
583
  "trialDays",
582
584
  "status"
583
585
  ],
584
- "mode": "create",
585
- "icon": "plus-circle",
586
- "title": "New Plan"
586
+ "mode": "create"
587
587
  },
588
588
  "events": {
589
589
  "OPEN": "CREATE"
@@ -604,6 +604,9 @@
604
604
  "name": "PlanEdit",
605
605
  "linkedEntity": "Plan",
606
606
  "config": {
607
+ "mode": "edit",
608
+ "icon": "edit",
609
+ "title": "Edit Plan",
607
610
  "fields": [
608
611
  "name",
609
612
  "description",
@@ -612,10 +615,7 @@
612
615
  "currency",
613
616
  "trialDays",
614
617
  "status"
615
- ],
616
- "icon": "edit",
617
- "title": "Edit Plan",
618
- "mode": "edit"
618
+ ]
619
619
  },
620
620
  "events": {
621
621
  "OPEN": "EDIT"
@@ -636,7 +636,7 @@
636
636
  "name": "PlanView",
637
637
  "linkedEntity": "Plan",
638
638
  "config": {
639
- "title": "View Plan",
639
+ "icon": "eye",
640
640
  "fields": [
641
641
  "name",
642
642
  "description",
@@ -646,8 +646,8 @@
646
646
  "trialDays",
647
647
  "status"
648
648
  ],
649
- "mode": "edit",
650
- "icon": "eye"
649
+ "title": "View Plan",
650
+ "mode": "edit"
651
651
  },
652
652
  "events": {
653
653
  "OPEN": "VIEW"
@@ -668,14 +668,14 @@
668
668
  "name": "PlanDelete",
669
669
  "linkedEntity": "Plan",
670
670
  "config": {
671
- "title": "Delete Plan",
672
671
  "alertMessage": "This action cannot be undone.",
672
+ "title": "Delete Plan",
673
673
  "confirmLabel": "Delete",
674
674
  "icon": "alert-triangle"
675
675
  },
676
676
  "events": {
677
- "REQUEST": "DELETE",
678
- "CONFIRM": "CONFIRM_DELETE"
677
+ "CONFIRM": "CONFIRM_DELETE",
678
+ "REQUEST": "DELETE"
679
679
  },
680
680
  "listens": [
681
681
  {
@@ -956,6 +956,18 @@
956
956
  {
957
957
  "from": "std/behaviors/std-browse",
958
958
  "as": "Browse"
959
+ },
960
+ {
961
+ "from": "std/behaviors/std-lifecycle",
962
+ "as": "Lifecycle"
963
+ },
964
+ {
965
+ "from": "std/behaviors/std-notify-on-event",
966
+ "as": "Notify"
967
+ },
968
+ {
969
+ "from": "std/behaviors/std-audit-capture",
970
+ "as": "Audit"
959
971
  }
960
972
  ],
961
973
  "entity": {
@@ -1000,16 +1012,20 @@
1000
1012
  "ref": "AppShell.traits.AppLayout",
1001
1013
  "name": "InvoiceAppLayout",
1002
1014
  "config": {
1015
+ "notificationClickEvent": "INVOICE_NOTIFICATIONS_OPEN",
1016
+ "appName": "Subscription Billing",
1017
+ "contentTrait": "@trait.InvoiceCatalog",
1018
+ "searchEvent": "INVOICE_SEARCH",
1003
1019
  "navItems": [
1004
1020
  {
1005
1021
  "icon": "credit-card",
1006
- "label": "Plans",
1007
- "href": "/plans"
1022
+ "href": "/plans",
1023
+ "label": "Plans"
1008
1024
  },
1009
1025
  {
1010
- "href": "/invoices",
1011
1026
  "label": "Invoices",
1012
- "icon": "receipt"
1027
+ "icon": "receipt",
1028
+ "href": "/invoices"
1013
1029
  },
1014
1030
  {
1015
1031
  "href": "/dunning",
@@ -1017,11 +1033,7 @@
1017
1033
  "icon": "alert-triangle"
1018
1034
  }
1019
1035
  ],
1020
- "notificationClickEvent": "INVOICE_NOTIFICATIONS_OPEN",
1021
- "notifications": [],
1022
- "searchEvent": "INVOICE_SEARCH",
1023
- "contentTrait": "@trait.InvoiceCatalog",
1024
- "appName": "Subscription Billing"
1036
+ "notifications": []
1025
1037
  },
1026
1038
  "events": {
1027
1039
  "SEARCH": "INVOICE_SEARCH",
@@ -1108,16 +1120,18 @@
1108
1120
  "render-ui",
1109
1121
  "main",
1110
1122
  {
1123
+ "type": "stack",
1111
1124
  "gap": "lg",
1112
1125
  "children": [
1113
1126
  {
1114
- "direction": "horizontal",
1127
+ "type": "stack",
1128
+ "gap": "md",
1115
1129
  "children": [
1116
1130
  {
1117
- "type": "stack",
1118
1131
  "align": "center",
1119
- "gap": "sm",
1120
1132
  "direction": "horizontal",
1133
+ "gap": "sm",
1134
+ "type": "stack",
1121
1135
  "children": [
1122
1136
  {
1123
1137
  "type": "icon",
@@ -1132,23 +1146,22 @@
1132
1146
  },
1133
1147
  {
1134
1148
  "direction": "horizontal",
1135
- "gap": "sm",
1136
1149
  "children": [
1137
1150
  {
1151
+ "type": "button",
1138
1152
  "action": "CREATE",
1153
+ "icon": "plus",
1139
1154
  "variant": "primary",
1140
- "type": "button",
1141
- "label": "Add Note",
1142
- "icon": "plus"
1155
+ "label": "Add Note"
1143
1156
  }
1144
1157
  ],
1145
- "type": "stack"
1158
+ "type": "stack",
1159
+ "gap": "sm"
1146
1160
  }
1147
1161
  ],
1162
+ "justify": "between",
1148
1163
  "align": "center",
1149
- "type": "stack",
1150
- "gap": "md",
1151
- "justify": "between"
1164
+ "direction": "horizontal"
1152
1165
  },
1153
1166
  {
1154
1167
  "type": "divider"
@@ -1158,13 +1171,12 @@
1158
1171
  "type": "divider"
1159
1172
  },
1160
1173
  {
1161
- "variant": "h3",
1162
1174
  "content": "Recent Notes",
1163
- "type": "typography"
1175
+ "type": "typography",
1176
+ "variant": "h3"
1164
1177
  },
1165
1178
  "@trait.InvoiceNoteBrowseList"
1166
1179
  ],
1167
- "type": "stack",
1168
1180
  "direction": "vertical"
1169
1181
  }
1170
1182
  ]
@@ -1185,33 +1197,33 @@
1185
1197
  "main",
1186
1198
  {
1187
1199
  "type": "stack",
1188
- "direction": "vertical",
1189
- "gap": "md",
1190
1200
  "className": "py-8",
1191
- "align": "center",
1192
1201
  "children": [
1193
1202
  {
1194
- "name": "bell",
1195
- "type": "icon"
1203
+ "type": "icon",
1204
+ "name": "bell"
1196
1205
  },
1197
1206
  {
1198
- "variant": "h3",
1207
+ "content": "No notifications",
1199
1208
  "type": "typography",
1200
- "content": "No notifications"
1209
+ "variant": "h3"
1201
1210
  },
1202
1211
  {
1203
- "type": "typography",
1212
+ "content": "You're all caught up.",
1204
1213
  "color": "muted",
1205
1214
  "variant": "caption",
1206
- "content": "You're all caught up."
1215
+ "type": "typography"
1207
1216
  },
1208
1217
  {
1209
- "label": "Back to invoices",
1210
1218
  "variant": "ghost",
1219
+ "label": "Back to invoices",
1211
1220
  "action": "INIT",
1212
1221
  "type": "button"
1213
1222
  }
1214
- ]
1223
+ ],
1224
+ "align": "center",
1225
+ "direction": "vertical",
1226
+ "gap": "md"
1215
1227
  }
1216
1228
  ]
1217
1229
  ]
@@ -1224,32 +1236,99 @@
1224
1236
  "ref": "Inv.traits.InvoiceManage",
1225
1237
  "name": "InvoiceManageBlock",
1226
1238
  "config": {
1239
+ "taxStrategy": "exclusive",
1227
1240
  "title": "Invoices",
1241
+ "currency": "USD",
1242
+ "lateFeePolicy": "none",
1243
+ "lateFeeAmount": 0.0,
1244
+ "retentionYears": 7.0,
1245
+ "gracePeriodDays": 30.0,
1246
+ "complianceJurisdiction": "US",
1228
1247
  "refundTiersJson": "[]"
1229
1248
  }
1230
1249
  },
1250
+ {
1251
+ "ref": "Lifecycle.traits.LifecycleScheduler",
1252
+ "name": "InvoiceLifecycleScan",
1253
+ "config": {
1254
+ "targetEntity": "InvoiceRecord",
1255
+ "rules": [
1256
+ {
1257
+ "fromStatus": "sent",
1258
+ "condition": {
1259
+ "value": 30.0,
1260
+ "dateField": "dueAt",
1261
+ "kind": "ageDays"
1262
+ },
1263
+ "toStatus": "overdue"
1264
+ },
1265
+ {
1266
+ "toStatus": "void",
1267
+ "fromStatus": "overdue",
1268
+ "condition": {
1269
+ "kind": "ageDays",
1270
+ "value": 90.0,
1271
+ "dateField": "dueAt"
1272
+ }
1273
+ }
1274
+ ],
1275
+ "dryRun": false
1276
+ }
1277
+ },
1278
+ {
1279
+ "ref": "Notify.traits.NotifyOnEventListener",
1280
+ "name": "InvoiceNotifier",
1281
+ "config": {
1282
+ "suppressionList": [],
1283
+ "listensFor": [
1284
+ "InvoiceUpdated"
1285
+ ],
1286
+ "template": "Invoice updated",
1287
+ "severity": "info",
1288
+ "notifyChannel": "in-app",
1289
+ "recipients": []
1290
+ },
1291
+ "events": {
1292
+ "EventOccurred": "InvoiceUpdated"
1293
+ }
1294
+ },
1295
+ {
1296
+ "ref": "Audit.traits.AuditCaptureListener",
1297
+ "name": "InvoiceAuditCapture",
1298
+ "config": {
1299
+ "retentionDays": 2555.0,
1300
+ "captureBeforeAfter": false,
1301
+ "captureEntity": "InvoiceRecord",
1302
+ "excludeFields": [],
1303
+ "captureEventTypes": []
1304
+ },
1305
+ "events": {
1306
+ "EntityMutated": "InvoiceUpdated"
1307
+ }
1308
+ },
1231
1309
  {
1232
1310
  "ref": "Browse.traits.BrowseItemBrowse",
1233
1311
  "name": "InvoiceNoteBrowseList",
1234
1312
  "linkedEntity": "InvoiceNote",
1235
1313
  "config": {
1236
- "gap": "sm",
1314
+ "cols": 1.0,
1237
1315
  "itemActions": [
1238
1316
  {
1239
- "label": "Delete",
1240
1317
  "variant": "danger",
1241
- "event": "DELETE"
1318
+ "event": "DELETE",
1319
+ "label": "Delete"
1242
1320
  }
1243
1321
  ],
1322
+ "gap": "sm",
1244
1323
  "fields": [
1245
1324
  {
1246
- "icon": "receipt",
1247
1325
  "name": "invoiceId",
1326
+ "icon": "receipt",
1248
1327
  "variant": "h4"
1249
1328
  },
1250
1329
  {
1251
- "variant": "body",
1252
- "name": "body"
1330
+ "name": "body",
1331
+ "variant": "body"
1253
1332
  },
1254
1333
  {
1255
1334
  "name": "author",
@@ -1259,8 +1338,7 @@
1259
1338
  "name": "createdAt",
1260
1339
  "variant": "caption"
1261
1340
  }
1262
- ],
1263
- "cols": 1.0
1341
+ ]
1264
1342
  },
1265
1343
  "listens": [
1266
1344
  {
@@ -1286,14 +1364,14 @@
1286
1364
  "name": "InvoiceNoteCreate",
1287
1365
  "linkedEntity": "InvoiceNote",
1288
1366
  "config": {
1289
- "title": "New Note",
1290
- "icon": "plus-circle",
1291
1367
  "mode": "create",
1292
1368
  "fields": [
1293
1369
  "invoiceId",
1294
1370
  "body",
1295
1371
  "author"
1296
- ]
1372
+ ],
1373
+ "icon": "plus-circle",
1374
+ "title": "New Note"
1297
1375
  },
1298
1376
  "events": {
1299
1377
  "OPEN": "CREATE"
@@ -1456,6 +1534,15 @@
1456
1534
  {
1457
1535
  "ref": "InvoiceManageBlock"
1458
1536
  },
1537
+ {
1538
+ "ref": "InvoiceLifecycleScan"
1539
+ },
1540
+ {
1541
+ "ref": "InvoiceNotifier"
1542
+ },
1543
+ {
1544
+ "ref": "InvoiceAuditCapture"
1545
+ },
1459
1546
  {
1460
1547
  "ref": "InvoiceNoteBrowseList"
1461
1548
  },
@@ -1531,19 +1618,17 @@
1531
1618
  "ref": "AppShell.traits.AppLayout",
1532
1619
  "name": "DunningAppLayout",
1533
1620
  "config": {
1534
- "searchEvent": "DUNNING_SEARCH",
1535
- "notificationClickEvent": "DUNNING_NOTIFICATIONS_OPEN",
1536
- "notifications": [],
1621
+ "contentTrait": "@trait.DunningCatalog",
1537
1622
  "navItems": [
1538
1623
  {
1539
- "href": "/plans",
1540
1624
  "label": "Plans",
1625
+ "href": "/plans",
1541
1626
  "icon": "credit-card"
1542
1627
  },
1543
1628
  {
1544
1629
  "label": "Invoices",
1545
- "icon": "receipt",
1546
- "href": "/invoices"
1630
+ "href": "/invoices",
1631
+ "icon": "receipt"
1547
1632
  },
1548
1633
  {
1549
1634
  "label": "Dunning",
@@ -1551,8 +1636,10 @@
1551
1636
  "icon": "alert-triangle"
1552
1637
  }
1553
1638
  ],
1554
- "contentTrait": "@trait.DunningCatalog",
1555
- "appName": "Subscription Billing"
1639
+ "appName": "Subscription Billing",
1640
+ "searchEvent": "DUNNING_SEARCH",
1641
+ "notifications": [],
1642
+ "notificationClickEvent": "DUNNING_NOTIFICATIONS_OPEN"
1556
1643
  },
1557
1644
  "events": {
1558
1645
  "SEARCH": "DUNNING_SEARCH",
@@ -1639,47 +1726,49 @@
1639
1726
  "render-ui",
1640
1727
  "main",
1641
1728
  {
1729
+ "gap": "lg",
1642
1730
  "type": "stack",
1731
+ "direction": "vertical",
1643
1732
  "children": [
1644
1733
  {
1645
- "justify": "between",
1646
- "direction": "horizontal",
1734
+ "type": "stack",
1647
1735
  "gap": "md",
1648
1736
  "align": "center",
1649
- "type": "stack",
1737
+ "direction": "horizontal",
1650
1738
  "children": [
1651
1739
  {
1740
+ "direction": "horizontal",
1652
1741
  "children": [
1653
1742
  {
1654
- "name": "alert-triangle",
1655
- "type": "icon"
1743
+ "type": "icon",
1744
+ "name": "alert-triangle"
1656
1745
  },
1657
1746
  {
1747
+ "variant": "h2",
1658
1748
  "type": "typography",
1659
- "content": "Dunning",
1660
- "variant": "h2"
1749
+ "content": "Dunning"
1661
1750
  }
1662
1751
  ],
1663
- "direction": "horizontal",
1664
1752
  "type": "stack",
1665
1753
  "gap": "sm",
1666
1754
  "align": "center"
1667
1755
  },
1668
1756
  {
1669
1757
  "gap": "sm",
1758
+ "type": "stack",
1670
1759
  "children": [
1671
1760
  {
1761
+ "variant": "primary",
1762
+ "label": "Log Note",
1672
1763
  "icon": "plus",
1673
- "type": "button",
1674
1764
  "action": "CREATE",
1675
- "label": "Log Note",
1676
- "variant": "primary"
1765
+ "type": "button"
1677
1766
  }
1678
1767
  ],
1679
- "type": "stack",
1680
1768
  "direction": "horizontal"
1681
1769
  }
1682
- ]
1770
+ ],
1771
+ "justify": "between"
1683
1772
  },
1684
1773
  {
1685
1774
  "type": "divider"
@@ -1689,14 +1778,12 @@
1689
1778
  "type": "divider"
1690
1779
  },
1691
1780
  {
1692
- "type": "typography",
1781
+ "variant": "h3",
1693
1782
  "content": "Case Notes",
1694
- "variant": "h3"
1783
+ "type": "typography"
1695
1784
  },
1696
1785
  "@trait.DunningNoteBrowseList"
1697
- ],
1698
- "gap": "lg",
1699
- "direction": "vertical"
1786
+ ]
1700
1787
  }
1701
1788
  ]
1702
1789
  ]
@@ -1716,32 +1803,32 @@
1716
1803
  "main",
1717
1804
  {
1718
1805
  "type": "stack",
1719
- "gap": "md",
1720
- "className": "py-8",
1721
- "align": "center",
1722
1806
  "children": [
1723
1807
  {
1724
- "name": "bell",
1725
- "type": "icon"
1808
+ "type": "icon",
1809
+ "name": "bell"
1726
1810
  },
1727
1811
  {
1728
- "type": "typography",
1812
+ "content": "No notifications",
1729
1813
  "variant": "h3",
1730
- "content": "No notifications"
1814
+ "type": "typography"
1731
1815
  },
1732
1816
  {
1733
- "variant": "caption",
1734
1817
  "content": "You're all caught up.",
1735
- "color": "muted",
1736
- "type": "typography"
1818
+ "type": "typography",
1819
+ "variant": "caption",
1820
+ "color": "muted"
1737
1821
  },
1738
1822
  {
1739
- "action": "INIT",
1740
1823
  "type": "button",
1741
- "variant": "ghost",
1742
- "label": "Back to dunning"
1824
+ "label": "Back to dunning",
1825
+ "action": "INIT",
1826
+ "variant": "ghost"
1743
1827
  }
1744
1828
  ],
1829
+ "align": "center",
1830
+ "gap": "md",
1831
+ "className": "py-8",
1745
1832
  "direction": "vertical"
1746
1833
  }
1747
1834
  ]
@@ -1763,18 +1850,11 @@
1763
1850
  "name": "DunningNoteBrowseList",
1764
1851
  "linkedEntity": "DunningNote",
1765
1852
  "config": {
1766
- "itemActions": [
1767
- {
1768
- "variant": "danger",
1769
- "label": "Delete",
1770
- "event": "DELETE"
1771
- }
1772
- ],
1773
1853
  "fields": [
1774
1854
  {
1855
+ "variant": "h4",
1775
1856
  "icon": "alert-triangle",
1776
- "name": "caseId",
1777
- "variant": "h4"
1857
+ "name": "caseId"
1778
1858
  },
1779
1859
  {
1780
1860
  "variant": "body",
@@ -1785,12 +1865,19 @@
1785
1865
  "variant": "caption"
1786
1866
  },
1787
1867
  {
1788
- "variant": "caption",
1789
- "name": "createdAt"
1868
+ "name": "createdAt",
1869
+ "variant": "caption"
1790
1870
  }
1791
1871
  ],
1792
1872
  "cols": 1.0,
1793
- "gap": "sm"
1873
+ "gap": "sm",
1874
+ "itemActions": [
1875
+ {
1876
+ "label": "Delete",
1877
+ "event": "DELETE",
1878
+ "variant": "danger"
1879
+ }
1880
+ ]
1794
1881
  },
1795
1882
  "listens": [
1796
1883
  {
@@ -1816,14 +1903,14 @@
1816
1903
  "name": "DunningNoteCreate",
1817
1904
  "linkedEntity": "DunningNote",
1818
1905
  "config": {
1819
- "title": "New Note",
1820
1906
  "icon": "plus-circle",
1907
+ "title": "New Note",
1908
+ "mode": "create",
1821
1909
  "fields": [
1822
1910
  "caseId",
1823
1911
  "body",
1824
1912
  "author"
1825
- ],
1826
- "mode": "create"
1913
+ ]
1827
1914
  },
1828
1915
  "events": {
1829
1916
  "OPEN": "CREATE"