@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-payout-ledger",
3
- "version": "1.1.0",
4
- "description": "std-payout-ledger — marketplace vendor payout atom. Lists payouts in `browsing`; opens detail in `viewing_single` with Withdraw / Mark Paid actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-payout-ledger — marketplace vendor payout ledger with Withdraw / Mark Paid actions. Listens for SET_STATUS so std-lifecycle can drive automated transitions. Exposes Financial-pattern knobs.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "PayoutOrbital",
@@ -158,6 +158,63 @@
158
158
  "type": "string"
159
159
  }
160
160
  ]
161
+ },
162
+ {
163
+ "event": "PayoutUpdated",
164
+ "payloadSchema": [
165
+ {
166
+ "name": "row.id",
167
+ "type": "string",
168
+ "required": true
169
+ },
170
+ {
171
+ "name": "row.vendorId",
172
+ "type": "string",
173
+ "required": true
174
+ },
175
+ {
176
+ "name": "row.amount",
177
+ "type": "number",
178
+ "required": true
179
+ },
180
+ {
181
+ "name": "row.currency",
182
+ "type": "string"
183
+ },
184
+ {
185
+ "name": "row.status",
186
+ "type": "string"
187
+ },
188
+ {
189
+ "name": "row.bankAccountMasked",
190
+ "type": "string"
191
+ },
192
+ {
193
+ "name": "row.requestedAt",
194
+ "type": "string"
195
+ },
196
+ {
197
+ "name": "row.paidAt",
198
+ "type": "string"
199
+ },
200
+ {
201
+ "name": "row.notes",
202
+ "type": "string"
203
+ }
204
+ ]
205
+ },
206
+ {
207
+ "event": "PayoutUpdateFailed",
208
+ "payloadSchema": [
209
+ {
210
+ "name": "error",
211
+ "type": "string"
212
+ },
213
+ {
214
+ "name": "code",
215
+ "type": "string"
216
+ }
217
+ ]
161
218
  }
162
219
  ],
163
220
  "stateMachine": {
@@ -242,6 +299,46 @@
242
299
  }
243
300
  ]
244
301
  },
302
+ {
303
+ "key": "SET_STATUS",
304
+ "name": "Set Status",
305
+ "payloadSchema": [
306
+ {
307
+ "name": "entityId",
308
+ "type": "string",
309
+ "required": true
310
+ },
311
+ {
312
+ "name": "newStatus",
313
+ "type": "string",
314
+ "required": true
315
+ }
316
+ ]
317
+ },
318
+ {
319
+ "key": "PayoutUpdated",
320
+ "name": "Payout updated",
321
+ "payloadSchema": [
322
+ {
323
+ "name": "row",
324
+ "type": "Payout"
325
+ }
326
+ ]
327
+ },
328
+ {
329
+ "key": "PayoutUpdateFailed",
330
+ "name": "Payout update failed",
331
+ "payloadSchema": [
332
+ {
333
+ "name": "error",
334
+ "type": "string"
335
+ },
336
+ {
337
+ "name": "code",
338
+ "type": "string"
339
+ }
340
+ ]
341
+ },
245
342
  {
246
343
  "key": "CLOSE_VIEW",
247
344
  "name": "Close View"
@@ -267,22 +364,22 @@
267
364
  "render-ui",
268
365
  "main",
269
366
  {
367
+ "align": "center",
368
+ "direction": "vertical",
369
+ "className": "py-12",
270
370
  "children": [
271
371
  {
272
372
  "type": "spinner"
273
373
  },
274
374
  {
375
+ "variant": "caption",
275
376
  "content": "Loading payouts…",
276
377
  "color": "muted",
277
- "variant": "caption",
278
378
  "type": "typography"
279
379
  }
280
380
  ],
281
- "align": "center",
282
- "gap": "md",
283
- "direction": "vertical",
284
381
  "type": "stack",
285
- "className": "py-12"
382
+ "gap": "md"
286
383
  }
287
384
  ]
288
385
  ]
@@ -297,66 +394,66 @@
297
394
  "main",
298
395
  {
299
396
  "direction": "vertical",
300
- "gap": "md",
301
397
  "type": "stack",
398
+ "gap": "md",
302
399
  "children": [
303
400
  {
401
+ "direction": "horizontal",
402
+ "type": "stack",
403
+ "align": "center",
404
+ "gap": "sm",
304
405
  "children": [
305
406
  {
306
407
  "name": "wallet",
307
408
  "type": "icon"
308
409
  },
309
410
  {
310
- "type": "typography",
411
+ "variant": "h3",
311
412
  "content": "@config.title",
312
- "variant": "h3"
413
+ "type": "typography"
313
414
  }
314
- ],
315
- "gap": "sm",
316
- "direction": "horizontal",
317
- "type": "stack",
318
- "align": "center"
415
+ ]
319
416
  },
320
417
  {
321
- "cols": 4.0,
322
- "type": "simple-grid",
323
418
  "children": [
324
419
  {
325
- "value": "@payload.data.length",
326
420
  "label": "Total payouts",
327
421
  "type": "stat-display",
328
- "icon": "wallet"
422
+ "icon": "wallet",
423
+ "value": "@payload.data.length"
329
424
  },
330
425
  {
331
- "type": "stat-display",
426
+ "icon": "clock",
332
427
  "label": "Pending",
333
- "value": "12",
334
- "icon": "clock"
428
+ "type": "stat-display",
429
+ "value": "12"
335
430
  },
336
431
  {
337
- "value": "$48,200",
338
432
  "label": "Paid this month",
339
- "type": "stat-display",
340
- "icon": "check-circle"
433
+ "value": "$48,200",
434
+ "icon": "check-circle",
435
+ "type": "stat-display"
341
436
  },
342
437
  {
343
438
  "label": "Minimum",
344
- "value": "@config.minimumWithdrawal",
345
439
  "type": "stat-display",
440
+ "value": "@config.minimumWithdrawal",
346
441
  "icon": "dollar-sign"
347
442
  }
348
- ]
443
+ ],
444
+ "cols": 4.0,
445
+ "type": "simple-grid"
349
446
  },
350
447
  {
351
448
  "type": "divider"
352
449
  },
353
450
  {
354
- "gap": "sm",
355
451
  "fields": "@config.fields",
356
- "type": "data-grid",
452
+ "entity": "@payload.data",
357
453
  "cols": 1.0,
358
- "itemActions": "@config.itemActions",
359
- "entity": "@payload.data"
454
+ "gap": "sm",
455
+ "type": "data-grid",
456
+ "itemActions": "@config.itemActions"
360
457
  }
361
458
  ]
362
459
  }
@@ -372,9 +469,9 @@
372
469
  "render-ui",
373
470
  "main",
374
471
  {
375
- "variant": "error",
472
+ "message": "@payload.error",
376
473
  "type": "alert",
377
- "message": "@payload.error"
474
+ "variant": "error"
378
475
  }
379
476
  ]
380
477
  ]
@@ -433,18 +530,15 @@
433
530
  "render-ui",
434
531
  "main",
435
532
  {
436
- "gap": "md",
437
- "type": "stack",
533
+ "direction": "vertical",
438
534
  "children": [
439
535
  {
440
536
  "type": "stack",
441
- "direction": "horizontal",
442
- "align": "center",
443
537
  "children": [
444
538
  {
445
- "label": "Back",
446
- "type": "button",
447
539
  "action": "CLOSE_VIEW",
540
+ "type": "button",
541
+ "label": "Back",
448
542
  "variant": "ghost"
449
543
  },
450
544
  {
@@ -452,9 +546,9 @@
452
546
  "name": "wallet"
453
547
  },
454
548
  {
549
+ "type": "typography",
455
550
  "content": "@entity.vendorId",
456
- "variant": "h3",
457
- "type": "typography"
551
+ "variant": "h3"
458
552
  },
459
553
  {
460
554
  "variant": "default",
@@ -462,28 +556,30 @@
462
556
  "type": "badge"
463
557
  }
464
558
  ],
559
+ "align": "center",
560
+ "direction": "horizontal",
465
561
  "gap": "sm"
466
562
  },
467
563
  {
468
564
  "type": "divider"
469
565
  },
470
566
  {
471
- "gap": "sm",
472
567
  "type": "stack",
473
568
  "direction": "vertical",
569
+ "gap": "sm",
474
570
  "children": [
475
571
  {
476
572
  "direction": "horizontal",
477
573
  "children": [
478
574
  {
479
- "type": "typography",
480
- "content": "Bank",
481
575
  "variant": "caption",
482
- "color": "muted"
576
+ "color": "muted",
577
+ "content": "Bank",
578
+ "type": "typography"
483
579
  },
484
580
  {
485
- "content": "@entity.bankAccountMasked",
486
581
  "variant": "body",
582
+ "content": "@entity.bankAccountMasked",
487
583
  "type": "typography"
488
584
  }
489
585
  ],
@@ -491,22 +587,22 @@
491
587
  "gap": "md"
492
588
  },
493
589
  {
494
- "type": "stack",
495
590
  "direction": "horizontal",
591
+ "gap": "md",
592
+ "type": "stack",
496
593
  "children": [
497
594
  {
498
- "type": "typography",
499
- "content": "Notes",
500
595
  "variant": "caption",
596
+ "content": "Notes",
597
+ "type": "typography",
501
598
  "color": "muted"
502
599
  },
503
600
  {
504
- "content": "@entity.notes",
601
+ "type": "typography",
505
602
  "variant": "body",
506
- "type": "typography"
603
+ "content": "@entity.notes"
507
604
  }
508
- ],
509
- "gap": "md"
605
+ ]
510
606
  }
511
607
  ]
512
608
  },
@@ -514,57 +610,58 @@
514
610
  "type": "divider"
515
611
  },
516
612
  {
613
+ "type": "simple-grid",
614
+ "cols": 3.0,
517
615
  "children": [
518
616
  {
617
+ "type": "stat-display",
519
618
  "value": "@entity.amount",
520
619
  "icon": "dollar-sign",
521
- "type": "stat-display",
522
620
  "label": "Amount"
523
621
  },
524
622
  {
525
623
  "label": "Requested",
526
- "value": "@entity.requestedAt",
527
624
  "icon": "calendar",
625
+ "value": "@entity.requestedAt",
528
626
  "type": "stat-display"
529
627
  },
530
628
  {
531
- "icon": "check-circle",
532
- "type": "stat-display",
533
629
  "label": "Paid",
534
- "value": "@entity.paidAt"
630
+ "icon": "check-circle",
631
+ "value": "@entity.paidAt",
632
+ "type": "stat-display"
535
633
  }
536
- ],
537
- "type": "simple-grid",
538
- "cols": 3.0
634
+ ]
539
635
  },
540
636
  {
637
+ "type": "stack",
638
+ "align": "center",
541
639
  "children": [
542
640
  {
641
+ "action": "REQUEST_WITHDRAW",
642
+ "variant": "primary",
643
+ "type": "button",
543
644
  "label": "Withdraw",
544
645
  "actionPayload": {
545
646
  "id": "@entity.id"
546
- },
547
- "type": "button",
548
- "action": "REQUEST_WITHDRAW",
549
- "variant": "primary"
647
+ }
550
648
  },
551
649
  {
552
- "action": "MARK_PAID",
553
- "type": "button",
554
650
  "label": "Mark Paid",
651
+ "action": "MARK_PAID",
652
+ "variant": "secondary",
555
653
  "actionPayload": {
556
654
  "id": "@entity.id"
557
655
  },
558
- "variant": "secondary"
656
+ "type": "button"
559
657
  }
560
658
  ],
561
- "gap": "sm",
562
- "type": "stack",
563
659
  "direction": "horizontal",
564
- "align": "center"
660
+ "gap": "sm"
565
661
  }
566
662
  ],
567
- "direction": "vertical"
663
+ "type": "stack",
664
+ "gap": "md"
568
665
  }
569
666
  ]
570
667
  ]
@@ -584,8 +681,8 @@
584
681
  "Payout",
585
682
  {
586
683
  "emit": {
587
- "failure": "PayoutLoadFailed",
588
- "success": "PayoutLoaded"
684
+ "success": "PayoutLoaded",
685
+ "failure": "PayoutLoadFailed"
589
686
  }
590
687
  }
591
688
  ],
@@ -593,22 +690,22 @@
593
690
  "render-ui",
594
691
  "main",
595
692
  {
596
- "type": "stack",
693
+ "className": "py-12",
597
694
  "children": [
598
695
  {
599
696
  "type": "spinner"
600
697
  },
601
698
  {
602
- "content": "Requesting withdrawal…",
603
699
  "variant": "caption",
604
- "color": "muted",
605
- "type": "typography"
700
+ "content": "Requesting withdrawal…",
701
+ "type": "typography",
702
+ "color": "muted"
606
703
  }
607
704
  ],
705
+ "align": "center",
608
706
  "gap": "md",
609
707
  "direction": "vertical",
610
- "align": "center",
611
- "className": "py-12"
708
+ "type": "stack"
612
709
  }
613
710
  ]
614
711
  ]
@@ -628,8 +725,8 @@
628
725
  "Payout",
629
726
  {
630
727
  "emit": {
631
- "failure": "PayoutLoadFailed",
632
- "success": "PayoutLoaded"
728
+ "success": "PayoutLoaded",
729
+ "failure": "PayoutLoadFailed"
633
730
  }
634
731
  }
635
732
  ],
@@ -637,22 +734,106 @@
637
734
  "render-ui",
638
735
  "main",
639
736
  {
737
+ "className": "py-12",
640
738
  "children": [
641
739
  {
642
740
  "type": "spinner"
643
741
  },
644
742
  {
645
- "variant": "caption",
646
- "content": "Marking paid…",
647
743
  "type": "typography",
648
- "color": "muted"
744
+ "color": "muted",
745
+ "variant": "caption",
746
+ "content": "Marking paid…"
649
747
  }
650
748
  ],
651
749
  "type": "stack",
750
+ "direction": "vertical",
652
751
  "gap": "md",
752
+ "align": "center"
753
+ }
754
+ ]
755
+ ]
756
+ },
757
+ {
758
+ "from": "browsing",
759
+ "to": "loading",
760
+ "event": "SET_STATUS",
761
+ "effects": [
762
+ [
763
+ "set",
764
+ "@entity.id",
765
+ "@payload.entityId"
766
+ ],
767
+ [
768
+ "set",
769
+ "@entity.status",
770
+ "@payload.newStatus"
771
+ ],
772
+ [
773
+ "persist",
774
+ "update",
775
+ "Payout",
776
+ "@entity",
777
+ {
778
+ "emit": {
779
+ "failure": "PayoutUpdateFailed",
780
+ "success": "PayoutUpdated"
781
+ }
782
+ }
783
+ ],
784
+ [
785
+ "render-ui",
786
+ "main",
787
+ {
788
+ "direction": "vertical",
653
789
  "align": "center",
654
790
  "className": "py-12",
655
- "direction": "vertical"
791
+ "children": [
792
+ {
793
+ "type": "spinner"
794
+ },
795
+ {
796
+ "content": "Updating payout status…",
797
+ "color": "muted",
798
+ "variant": "caption",
799
+ "type": "typography"
800
+ }
801
+ ],
802
+ "type": "stack",
803
+ "gap": "md"
804
+ }
805
+ ]
806
+ ]
807
+ },
808
+ {
809
+ "from": "browsing",
810
+ "to": "loading",
811
+ "event": "PayoutUpdated",
812
+ "effects": [
813
+ [
814
+ "fetch",
815
+ "Payout",
816
+ {
817
+ "emit": {
818
+ "success": "PayoutLoaded",
819
+ "failure": "PayoutLoadFailed"
820
+ }
821
+ }
822
+ ]
823
+ ]
824
+ },
825
+ {
826
+ "from": "browsing",
827
+ "to": "browsing",
828
+ "event": "PayoutUpdateFailed",
829
+ "effects": [
830
+ [
831
+ "render-ui",
832
+ "main",
833
+ {
834
+ "message": "@payload.error",
835
+ "type": "alert",
836
+ "variant": "error"
656
837
  }
657
838
  ]
658
839
  ]
@@ -667,8 +848,8 @@
667
848
  "Payout",
668
849
  {
669
850
  "emit": {
670
- "failure": "PayoutLoadFailed",
671
- "success": "PayoutLoaded"
851
+ "success": "PayoutLoaded",
852
+ "failure": "PayoutLoadFailed"
672
853
  }
673
854
  }
674
855
  ],
@@ -676,22 +857,22 @@
676
857
  "render-ui",
677
858
  "main",
678
859
  {
679
- "direction": "vertical",
680
- "align": "center",
681
- "gap": "md",
682
860
  "className": "py-12",
683
861
  "children": [
684
862
  {
685
863
  "type": "spinner"
686
864
  },
687
865
  {
866
+ "color": "muted",
688
867
  "type": "typography",
689
868
  "variant": "caption",
690
- "content": "Loading payouts…",
691
- "color": "muted"
869
+ "content": "Loading payouts…"
692
870
  }
693
871
  ],
694
- "type": "stack"
872
+ "type": "stack",
873
+ "direction": "vertical",
874
+ "gap": "md",
875
+ "align": "center"
695
876
  }
696
877
  ]
697
878
  ]
@@ -720,22 +901,22 @@
720
901
  "render-ui",
721
902
  "main",
722
903
  {
723
- "gap": "md",
724
- "type": "stack",
725
904
  "direction": "vertical",
905
+ "type": "stack",
726
906
  "align": "center",
907
+ "className": "py-12",
727
908
  "children": [
728
909
  {
729
910
  "type": "spinner"
730
911
  },
731
912
  {
732
- "content": "Requesting withdrawal…",
733
913
  "type": "typography",
914
+ "color": "muted",
734
915
  "variant": "caption",
735
- "color": "muted"
916
+ "content": "Requesting withdrawal…"
736
917
  }
737
918
  ],
738
- "className": "py-12"
919
+ "gap": "md"
739
920
  }
740
921
  ]
741
922
  ]
@@ -755,8 +936,8 @@
755
936
  "Payout",
756
937
  {
757
938
  "emit": {
758
- "failure": "PayoutLoadFailed",
759
- "success": "PayoutLoaded"
939
+ "success": "PayoutLoaded",
940
+ "failure": "PayoutLoadFailed"
760
941
  }
761
942
  }
762
943
  ],
@@ -765,21 +946,21 @@
765
946
  "main",
766
947
  {
767
948
  "type": "stack",
768
- "align": "center",
769
949
  "direction": "vertical",
770
- "className": "py-12",
771
950
  "children": [
772
951
  {
773
952
  "type": "spinner"
774
953
  },
775
954
  {
776
- "type": "typography",
777
- "color": "muted",
955
+ "variant": "caption",
778
956
  "content": "Marking paid…",
779
- "variant": "caption"
957
+ "color": "muted",
958
+ "type": "typography"
780
959
  }
781
960
  ],
782
- "gap": "md"
961
+ "gap": "md",
962
+ "className": "py-12",
963
+ "align": "center"
783
964
  }
784
965
  ]
785
966
  ]
@@ -803,8 +984,8 @@
803
984
  "render-ui",
804
985
  "main",
805
986
  {
806
- "type": "spinner",
807
- "size": "sm"
987
+ "size": "sm",
988
+ "type": "spinner"
808
989
  }
809
990
  ]
810
991
  ]
@@ -812,96 +993,90 @@
812
993
  ]
813
994
  },
814
995
  "config": {
815
- "minimumWithdrawal": {
996
+ "lateFeeAmount": {
816
997
  "type": "number",
817
- "default": 50.0,
818
- "label": "Minimum withdrawal",
819
- "description": "Smallest amount a vendor can request to cash out",
998
+ "default": 0.0,
999
+ "label": "Late fee amount",
1000
+ "description": "Flat cash amount or percentage (per lateFeePolicy).",
820
1001
  "tier": "customization"
821
1002
  },
822
- "title": {
1003
+ "currency": {
823
1004
  "type": "string",
824
- "default": "Payouts",
825
- "label": "Section title",
826
- "description": "Heading shown above the vendor payout ledger",
827
- "tier": "customization"
1005
+ "default": "USD",
1006
+ "label": "Default currency",
1007
+ "description": "ISO 4217 currency code (USD, EUR, GBP, …) for payouts.",
1008
+ "tier": "essential"
828
1009
  },
829
- "itemActions": {
830
- "type": "[ItemAction]",
831
- "default": [
832
- {
833
- "label": "Open",
834
- "variant": "primary",
835
- "icon": "arrow-right",
836
- "event": "OPEN_PAYOUT"
837
- },
838
- {
839
- "label": "Withdraw",
840
- "variant": "danger",
841
- "event": "REQUEST_WITHDRAW"
842
- }
843
- ],
844
- "label": "Row actions",
845
- "description": "Buttons users can click on each payout row",
1010
+ "lateFeePolicy": {
1011
+ "type": "string",
1012
+ "default": "none",
1013
+ "label": "Late fee policy",
1014
+ "description": "How late fees compute on late payouts. Declarative; wiring deferred.",
846
1015
  "tier": "customization",
847
- "items": {
848
- "type": "object",
849
- "properties": {
850
- "label": {
851
- "name": "label",
852
- "type": "string",
853
- "required": true
854
- },
855
- "event": {
856
- "name": "event",
857
- "type": "string",
858
- "required": true
859
- },
860
- "variant": {
861
- "name": "variant",
862
- "type": "string",
863
- "required": false
864
- },
865
- "icon": {
866
- "name": "icon",
867
- "type": "string",
868
- "required": false
869
- }
870
- }
871
- }
1016
+ "values": [
1017
+ "none",
1018
+ "flat",
1019
+ "percent"
1020
+ ]
1021
+ },
1022
+ "taxStrategy": {
1023
+ "type": "string",
1024
+ "default": "none",
1025
+ "label": "Tax strategy",
1026
+ "description": "inclusive = tax baked into payout amount; exclusive = tax withheld separately; none = no tax.",
1027
+ "tier": "customization",
1028
+ "values": [
1029
+ "inclusive",
1030
+ "exclusive",
1031
+ "none"
1032
+ ]
1033
+ },
1034
+ "retentionYears": {
1035
+ "type": "number",
1036
+ "default": 7.0,
1037
+ "label": "Retention (years)",
1038
+ "description": "Years to keep payout records for compliance.",
1039
+ "tier": "advanced"
1040
+ },
1041
+ "gracePeriodDays": {
1042
+ "type": "number",
1043
+ "default": 3.0,
1044
+ "label": "Grace period (days)",
1045
+ "description": "Days before a pending payout escalates. Wire via sibling std-lifecycle rule.",
1046
+ "tier": "customization"
872
1047
  },
873
1048
  "fields": {
874
1049
  "type": "[FieldSpec]",
875
1050
  "default": [
876
1051
  {
877
1052
  "variant": "caption",
878
- "label": "Vendor",
879
- "name": "vendorId"
1053
+ "name": "vendorId",
1054
+ "label": "Vendor"
880
1055
  },
881
1056
  {
882
- "label": "Amount",
1057
+ "name": "amount",
883
1058
  "variant": "caption",
884
- "name": "amount"
1059
+ "label": "Amount"
885
1060
  },
886
1061
  {
887
- "name": "currency",
888
1062
  "label": "Currency",
1063
+ "name": "currency",
889
1064
  "variant": "badge"
890
1065
  },
891
1066
  {
892
- "name": "status",
893
1067
  "label": "Status",
1068
+ "name": "status",
894
1069
  "variant": "badge"
895
1070
  },
896
1071
  {
897
- "name": "bankAccountMasked",
898
1072
  "variant": "caption",
899
- "label": "Bank"
1073
+ "label": "Bank",
1074
+ "name": "bankAccountMasked"
900
1075
  },
901
1076
  {
902
- "label": "Requested",
1077
+ "name": "requestedAt",
903
1078
  "variant": "caption",
904
- "name": "requestedAt"
1079
+ "label": "Requested"
905
1080
  }
906
1081
  ],
907
1082
  "label": "Columns to show",
@@ -910,15 +1085,20 @@
910
1085
  "items": {
911
1086
  "type": "object",
912
1087
  "properties": {
1088
+ "name": {
1089
+ "name": "name",
1090
+ "type": "string",
1091
+ "required": true
1092
+ },
913
1093
  "icon": {
914
1094
  "name": "icon",
915
1095
  "type": "string",
916
1096
  "required": false
917
1097
  },
918
- "name": {
919
- "name": "name",
1098
+ "key": {
1099
+ "name": "key",
920
1100
  "type": "string",
921
- "required": true
1101
+ "required": false
922
1102
  },
923
1103
  "header": {
924
1104
  "name": "header",
@@ -930,14 +1110,86 @@
930
1110
  "type": "string",
931
1111
  "required": false
932
1112
  },
933
- "key": {
934
- "name": "key",
1113
+ "label": {
1114
+ "name": "label",
1115
+ "type": "string",
1116
+ "required": false
1117
+ },
1118
+ "variant": {
1119
+ "name": "variant",
935
1120
  "type": "string",
936
1121
  "required": false
1122
+ }
1123
+ }
1124
+ }
1125
+ },
1126
+ "complianceJurisdiction": {
1127
+ "type": "string",
1128
+ "default": "",
1129
+ "label": "Compliance jurisdiction",
1130
+ "description": "Drives payout regulations per locale: 'US-CA', 'EU-DE', 'UK', etc. Declarative.",
1131
+ "tier": "advanced"
1132
+ },
1133
+ "roundingMode": {
1134
+ "type": "string",
1135
+ "default": "half-up",
1136
+ "label": "Rounding mode",
1137
+ "description": "Sub-cent rounding behavior for payout amounts.",
1138
+ "tier": "advanced",
1139
+ "values": [
1140
+ "bankers",
1141
+ "half-up",
1142
+ "down"
1143
+ ]
1144
+ },
1145
+ "minimumWithdrawal": {
1146
+ "type": "number",
1147
+ "default": 50.0,
1148
+ "label": "Minimum withdrawal",
1149
+ "description": "Smallest amount a vendor can request to cash out",
1150
+ "tier": "customization"
1151
+ },
1152
+ "title": {
1153
+ "type": "string",
1154
+ "default": "Payouts",
1155
+ "label": "Section title",
1156
+ "description": "Heading shown above the vendor payout ledger",
1157
+ "tier": "customization"
1158
+ },
1159
+ "itemActions": {
1160
+ "type": "[ItemAction]",
1161
+ "default": [
1162
+ {
1163
+ "label": "Open",
1164
+ "event": "OPEN_PAYOUT",
1165
+ "variant": "primary",
1166
+ "icon": "arrow-right"
1167
+ },
1168
+ {
1169
+ "label": "Withdraw",
1170
+ "variant": "danger",
1171
+ "event": "REQUEST_WITHDRAW"
1172
+ }
1173
+ ],
1174
+ "label": "Row actions",
1175
+ "description": "Buttons users can click on each payout row",
1176
+ "tier": "customization",
1177
+ "items": {
1178
+ "type": "object",
1179
+ "properties": {
1180
+ "event": {
1181
+ "name": "event",
1182
+ "type": "string",
1183
+ "required": true
937
1184
  },
938
1185
  "label": {
939
1186
  "name": "label",
940
1187
  "type": "string",
1188
+ "required": true
1189
+ },
1190
+ "icon": {
1191
+ "name": "icon",
1192
+ "type": "string",
941
1193
  "required": false
942
1194
  },
943
1195
  "variant": {
@@ -965,4 +1217,4 @@
965
1217
  ]
966
1218
  }
967
1219
  ]
968
- }
1220
+ }