@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-template-editor",
3
- "version": "1.1.0",
4
- "description": "std-template-editor — message template authoring primitive. Lists templates in `browsing`; opens detail in `viewing_single` with Edit / Save / Delete actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-template-editor — message template authoring primitive. Lists templates; detail offers Edit / Save / Delete. Exposes Content/Knowledge knobs (visibilityScope, enabledLocales, keepVersions, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "MessageTemplateOrbital",
@@ -271,22 +271,22 @@
271
271
  "render-ui",
272
272
  "main",
273
273
  {
274
+ "type": "stack",
274
275
  "className": "py-12",
276
+ "gap": "md",
277
+ "align": "center",
278
+ "direction": "vertical",
275
279
  "children": [
276
280
  {
277
281
  "type": "spinner"
278
282
  },
279
283
  {
280
- "type": "typography",
281
- "variant": "caption",
282
284
  "content": "Loading templates…",
283
- "color": "muted"
285
+ "type": "typography",
286
+ "color": "muted",
287
+ "variant": "caption"
284
288
  }
285
- ],
286
- "align": "center",
287
- "type": "stack",
288
- "gap": "md",
289
- "direction": "vertical"
289
+ ]
290
290
  }
291
291
  ]
292
292
  ]
@@ -300,29 +300,29 @@
300
300
  "render-ui",
301
301
  "main",
302
302
  {
303
- "direction": "vertical",
304
303
  "gap": "md",
305
- "type": "stack",
304
+ "direction": "vertical",
306
305
  "children": [
307
306
  {
308
- "gap": "sm",
307
+ "type": "stack",
309
308
  "children": [
310
309
  {
311
310
  "name": "file-text",
312
311
  "type": "icon"
313
312
  },
314
313
  {
314
+ "content": "@config.title",
315
315
  "variant": "h3",
316
- "type": "typography",
317
- "content": "@config.title"
316
+ "type": "typography"
318
317
  }
319
318
  ],
320
- "type": "stack",
319
+ "gap": "sm",
321
320
  "align": "center",
322
321
  "direction": "horizontal"
323
322
  },
324
323
  {
325
324
  "type": "simple-grid",
325
+ "cols": 4.0,
326
326
  "children": [
327
327
  {
328
328
  "label": "Total templates",
@@ -331,38 +331,38 @@
331
331
  "value": "@payload.data.length"
332
332
  },
333
333
  {
334
- "type": "stat-display",
335
334
  "value": "32",
335
+ "label": "Email",
336
336
  "icon": "mail",
337
- "label": "Email"
337
+ "type": "stat-display"
338
338
  },
339
339
  {
340
340
  "type": "stat-display",
341
- "value": "14",
342
341
  "label": "SMS",
342
+ "value": "14",
343
343
  "icon": "message-square"
344
344
  },
345
345
  {
346
- "value": "9",
347
- "label": "Edited 7d",
348
346
  "icon": "edit",
349
- "type": "stat-display"
347
+ "type": "stat-display",
348
+ "label": "Edited 7d",
349
+ "value": "9"
350
350
  }
351
- ],
352
- "cols": 4.0
351
+ ]
353
352
  },
354
353
  {
355
354
  "type": "divider"
356
355
  },
357
356
  {
358
- "itemActions": "@config.itemActions",
359
357
  "type": "data-grid",
360
- "cols": 1.0,
361
358
  "entity": "@payload.data",
362
359
  "fields": "@config.fields",
363
- "gap": "sm"
360
+ "cols": 1.0,
361
+ "gap": "sm",
362
+ "itemActions": "@config.itemActions"
364
363
  }
365
- ]
364
+ ],
365
+ "type": "stack"
366
366
  }
367
367
  ]
368
368
  ]
@@ -376,9 +376,9 @@
376
376
  "render-ui",
377
377
  "main",
378
378
  {
379
- "message": "@payload.error",
380
379
  "type": "alert",
381
- "variant": "error"
380
+ "variant": "error",
381
+ "message": "@payload.error"
382
382
  }
383
383
  ]
384
384
  ]
@@ -427,100 +427,100 @@
427
427
  "render-ui",
428
428
  "main",
429
429
  {
430
- "gap": "md",
431
430
  "type": "stack",
431
+ "gap": "md",
432
432
  "direction": "vertical",
433
433
  "children": [
434
434
  {
435
+ "type": "stack",
436
+ "align": "center",
437
+ "direction": "horizontal",
435
438
  "children": [
436
439
  {
440
+ "type": "button",
437
441
  "action": "CLOSE_VIEW",
438
442
  "label": "Back",
439
- "variant": "ghost",
440
- "type": "button"
443
+ "variant": "ghost"
441
444
  },
442
445
  {
443
446
  "type": "icon",
444
447
  "name": "file-text"
445
448
  },
446
449
  {
447
- "type": "typography",
448
450
  "content": "@entity.name",
449
- "variant": "h3"
451
+ "variant": "h3",
452
+ "type": "typography"
450
453
  },
451
454
  {
452
- "label": "@entity.channel",
453
455
  "variant": "primary",
456
+ "label": "@entity.channel",
454
457
  "type": "badge"
455
458
  }
456
459
  ],
457
- "gap": "sm",
458
- "type": "stack",
459
- "align": "center",
460
- "direction": "horizontal"
460
+ "gap": "sm"
461
461
  },
462
462
  {
463
463
  "type": "divider"
464
464
  },
465
465
  {
466
+ "type": "stack",
467
+ "direction": "vertical",
466
468
  "children": [
467
469
  {
468
470
  "gap": "md",
469
- "direction": "horizontal",
470
471
  "children": [
471
472
  {
473
+ "type": "typography",
472
474
  "color": "muted",
473
475
  "content": "Subject",
474
- "type": "typography",
475
476
  "variant": "caption"
476
477
  },
477
478
  {
478
479
  "type": "typography",
479
- "content": "@entity.subject",
480
- "variant": "body"
480
+ "variant": "body",
481
+ "content": "@entity.subject"
481
482
  }
482
483
  ],
483
- "type": "stack"
484
+ "type": "stack",
485
+ "direction": "horizontal"
484
486
  },
485
487
  {
488
+ "direction": "horizontal",
486
489
  "children": [
487
490
  {
488
- "type": "typography",
491
+ "variant": "caption",
489
492
  "content": "Body",
490
493
  "color": "muted",
491
- "variant": "caption"
494
+ "type": "typography"
492
495
  },
493
496
  {
494
497
  "type": "typography",
495
- "variant": "body",
496
- "content": "@entity.body"
498
+ "content": "@entity.body",
499
+ "variant": "body"
497
500
  }
498
501
  ],
499
- "direction": "horizontal",
500
- "gap": "md",
501
- "type": "stack"
502
+ "type": "stack",
503
+ "gap": "md"
502
504
  },
503
505
  {
504
- "direction": "horizontal",
505
- "type": "stack",
506
- "gap": "md",
507
506
  "children": [
508
507
  {
509
- "content": "Variables",
510
- "type": "typography",
511
508
  "variant": "caption",
512
- "color": "muted"
509
+ "content": "Variables",
510
+ "color": "muted",
511
+ "type": "typography"
513
512
  },
514
513
  {
514
+ "type": "typography",
515
515
  "variant": "body",
516
- "content": "@entity.variables",
517
- "type": "typography"
516
+ "content": "@entity.variables"
518
517
  }
519
- ]
518
+ ],
519
+ "type": "stack",
520
+ "direction": "horizontal",
521
+ "gap": "md"
520
522
  }
521
523
  ],
522
- "type": "stack",
523
- "direction": "vertical",
524
524
  "gap": "sm"
525
525
  },
526
526
  {
@@ -528,56 +528,56 @@
528
528
  },
529
529
  {
530
530
  "cols": 2.0,
531
- "type": "simple-grid",
532
531
  "children": [
533
532
  {
533
+ "label": "Channel",
534
534
  "type": "stat-display",
535
- "value": "@entity.channel",
536
535
  "icon": "send",
537
- "label": "Channel"
536
+ "value": "@entity.channel"
538
537
  },
539
538
  {
540
539
  "type": "stat-display",
541
- "icon": "calendar",
540
+ "value": "@entity.lastEditedAt",
542
541
  "label": "Last edited",
543
- "value": "@entity.lastEditedAt"
542
+ "icon": "calendar"
544
543
  }
545
- ]
544
+ ],
545
+ "type": "simple-grid"
546
546
  },
547
547
  {
548
- "direction": "horizontal",
549
548
  "align": "center",
549
+ "gap": "sm",
550
550
  "children": [
551
551
  {
552
- "label": "Edit",
553
- "type": "button",
554
- "action": "EDIT_TEMPLATE",
555
552
  "actionPayload": {
556
553
  "id": "@entity.id"
557
554
  },
558
- "variant": "primary"
555
+ "label": "Edit",
556
+ "variant": "primary",
557
+ "type": "button",
558
+ "action": "EDIT_TEMPLATE"
559
559
  },
560
560
  {
561
- "type": "button",
562
561
  "label": "Save",
563
- "variant": "secondary",
562
+ "type": "button",
564
563
  "action": "SAVE_TEMPLATE",
564
+ "variant": "secondary",
565
565
  "actionPayload": {
566
566
  "id": "@entity.id"
567
567
  }
568
568
  },
569
569
  {
570
- "action": "DELETE_TEMPLATE",
570
+ "label": "Delete",
571
571
  "variant": "danger",
572
+ "type": "button",
573
+ "action": "DELETE_TEMPLATE",
572
574
  "actionPayload": {
573
575
  "id": "@entity.id"
574
- },
575
- "label": "Delete",
576
- "type": "button"
576
+ }
577
577
  }
578
578
  ],
579
579
  "type": "stack",
580
- "gap": "sm"
580
+ "direction": "horizontal"
581
581
  }
582
582
  ]
583
583
  }
@@ -608,22 +608,22 @@
608
608
  "render-ui",
609
609
  "main",
610
610
  {
611
+ "direction": "vertical",
612
+ "gap": "md",
613
+ "align": "center",
614
+ "type": "stack",
615
+ "className": "py-12",
611
616
  "children": [
612
617
  {
613
618
  "type": "spinner"
614
619
  },
615
620
  {
616
- "content": "Deleting template…",
617
- "color": "muted",
618
621
  "type": "typography",
619
- "variant": "caption"
622
+ "content": "Deleting template…",
623
+ "variant": "caption",
624
+ "color": "muted"
620
625
  }
621
- ],
622
- "className": "py-12",
623
- "type": "stack",
624
- "align": "center",
625
- "direction": "vertical",
626
- "gap": "md"
626
+ ]
627
627
  }
628
628
  ]
629
629
  ]
@@ -638,8 +638,8 @@
638
638
  "MessageTemplate",
639
639
  {
640
640
  "emit": {
641
- "success": "MessageTemplateLoaded",
642
- "failure": "MessageTemplateLoadFailed"
641
+ "failure": "MessageTemplateLoadFailed",
642
+ "success": "MessageTemplateLoaded"
643
643
  }
644
644
  }
645
645
  ],
@@ -647,22 +647,22 @@
647
647
  "render-ui",
648
648
  "main",
649
649
  {
650
+ "align": "center",
651
+ "direction": "vertical",
652
+ "gap": "md",
653
+ "className": "py-12",
654
+ "type": "stack",
650
655
  "children": [
651
656
  {
652
657
  "type": "spinner"
653
658
  },
654
659
  {
655
- "type": "typography",
660
+ "variant": "caption",
656
661
  "content": "Loading templates…",
657
- "color": "muted",
658
- "variant": "caption"
662
+ "type": "typography",
663
+ "color": "muted"
659
664
  }
660
- ],
661
- "gap": "md",
662
- "align": "center",
663
- "className": "py-12",
664
- "direction": "vertical",
665
- "type": "stack"
665
+ ]
666
666
  }
667
667
  ]
668
668
  ]
@@ -682,8 +682,8 @@
682
682
  "MessageTemplate",
683
683
  {
684
684
  "emit": {
685
- "success": "MessageTemplateLoaded",
686
- "failure": "MessageTemplateLoadFailed"
685
+ "failure": "MessageTemplateLoadFailed",
686
+ "success": "MessageTemplateLoaded"
687
687
  }
688
688
  }
689
689
  ],
@@ -691,22 +691,22 @@
691
691
  "render-ui",
692
692
  "main",
693
693
  {
694
+ "gap": "md",
695
+ "className": "py-12",
696
+ "type": "stack",
697
+ "direction": "vertical",
698
+ "align": "center",
694
699
  "children": [
695
700
  {
696
701
  "type": "spinner"
697
702
  },
698
703
  {
699
- "color": "muted",
700
- "type": "typography",
701
704
  "variant": "caption",
705
+ "type": "typography",
706
+ "color": "muted",
702
707
  "content": "Loading editor…"
703
708
  }
704
- ],
705
- "gap": "md",
706
- "align": "center",
707
- "className": "py-12",
708
- "type": "stack",
709
- "direction": "vertical"
709
+ ]
710
710
  }
711
711
  ]
712
712
  ]
@@ -735,22 +735,22 @@
735
735
  "render-ui",
736
736
  "main",
737
737
  {
738
+ "className": "py-12",
738
739
  "gap": "md",
739
- "direction": "vertical",
740
- "type": "stack",
741
740
  "children": [
742
741
  {
743
742
  "type": "spinner"
744
743
  },
745
744
  {
746
- "variant": "caption",
747
- "content": "Saving template…",
748
745
  "color": "muted",
749
- "type": "typography"
746
+ "content": "Saving template…",
747
+ "type": "typography",
748
+ "variant": "caption"
750
749
  }
751
750
  ],
752
- "align": "center",
753
- "className": "py-12"
751
+ "direction": "vertical",
752
+ "type": "stack",
753
+ "align": "center"
754
754
  }
755
755
  ]
756
756
  ]
@@ -779,22 +779,22 @@
779
779
  "render-ui",
780
780
  "main",
781
781
  {
782
- "className": "py-12",
783
782
  "children": [
784
783
  {
785
784
  "type": "spinner"
786
785
  },
787
786
  {
788
- "content": "Deleting template…",
789
787
  "variant": "caption",
790
788
  "color": "muted",
791
- "type": "typography"
789
+ "type": "typography",
790
+ "content": "Deleting template…"
792
791
  }
793
792
  ],
794
793
  "gap": "md",
795
- "align": "center",
796
794
  "type": "stack",
797
- "direction": "vertical"
795
+ "className": "py-12",
796
+ "direction": "vertical",
797
+ "align": "center"
798
798
  }
799
799
  ]
800
800
  ]
@@ -818,8 +818,8 @@
818
818
  "render-ui",
819
819
  "main",
820
820
  {
821
- "size": "sm",
822
- "type": "spinner"
821
+ "type": "spinner",
822
+ "size": "sm"
823
823
  }
824
824
  ]
825
825
  ]
@@ -827,6 +827,123 @@
827
827
  ]
828
828
  },
829
829
  "config": {
830
+ "seoEnabled": {
831
+ "type": "boolean",
832
+ "default": false,
833
+ "label": "SEO meta enabled",
834
+ "description": "Emit indexable metadata when templates appear on public surfaces.",
835
+ "tier": "customization"
836
+ },
837
+ "enabledLocales": {
838
+ "type": "[string]",
839
+ "default": [
840
+ "en"
841
+ ],
842
+ "label": "Enabled locales",
843
+ "description": "Locales the template subject + body can be translated into.",
844
+ "tier": "customization",
845
+ "items": {
846
+ "type": "string"
847
+ }
848
+ },
849
+ "visibilityScope": {
850
+ "type": "string",
851
+ "default": "internal",
852
+ "label": "Visibility scope",
853
+ "description": "Who can use templates: internal staff, signed-in customers, public.",
854
+ "tier": "essential",
855
+ "values": [
856
+ "public",
857
+ "internal",
858
+ "customer"
859
+ ]
860
+ },
861
+ "scheduledPublishEnabled": {
862
+ "type": "boolean",
863
+ "default": false,
864
+ "label": "Scheduled publish",
865
+ "description": "Allow scheduling activation of edited templates. v1.2 declarative.",
866
+ "tier": "customization"
867
+ },
868
+ "defaultLocale": {
869
+ "type": "string",
870
+ "default": "en",
871
+ "label": "Default locale",
872
+ "description": "Locale used when no translation matches the recipient's language.",
873
+ "tier": "customization"
874
+ },
875
+ "draftAutosaveSeconds": {
876
+ "type": "number",
877
+ "default": 15.0,
878
+ "label": "Draft autosave interval (s)",
879
+ "description": "Seconds between draft autosaves in the template editor.",
880
+ "tier": "advanced"
881
+ },
882
+ "allowRollback": {
883
+ "type": "boolean",
884
+ "default": true,
885
+ "label": "Allow rollback",
886
+ "description": "Permit reverting a template to a prior version.",
887
+ "tier": "customization"
888
+ },
889
+ "itemActions": {
890
+ "type": "[ItemAction]",
891
+ "default": [
892
+ {
893
+ "variant": "primary",
894
+ "event": "OPEN_TEMPLATE",
895
+ "label": "Open",
896
+ "icon": "arrow-right"
897
+ },
898
+ {
899
+ "label": "Delete",
900
+ "variant": "danger",
901
+ "event": "DELETE_TEMPLATE"
902
+ }
903
+ ],
904
+ "label": "Row actions",
905
+ "description": "Buttons users can click on each template row",
906
+ "tier": "customization",
907
+ "items": {
908
+ "type": "object",
909
+ "properties": {
910
+ "label": {
911
+ "name": "label",
912
+ "type": "string",
913
+ "required": true
914
+ },
915
+ "icon": {
916
+ "name": "icon",
917
+ "type": "string",
918
+ "required": false
919
+ },
920
+ "event": {
921
+ "name": "event",
922
+ "type": "string",
923
+ "required": true
924
+ },
925
+ "variant": {
926
+ "name": "variant",
927
+ "type": "string",
928
+ "required": false
929
+ }
930
+ }
931
+ }
932
+ },
933
+ "title": {
934
+ "type": "string",
935
+ "default": "Templates",
936
+ "label": "Section title",
937
+ "description": "Heading shown above the message template list",
938
+ "tier": "customization"
939
+ },
940
+ "keepVersions": {
941
+ "type": "number",
942
+ "default": 10.0,
943
+ "label": "Versions to retain",
944
+ "description": "Number of template revisions to keep.",
945
+ "tier": "customization"
946
+ },
830
947
  "fields": {
831
948
  "type": "[FieldSpec]",
832
949
  "default": [
@@ -836,18 +953,18 @@
836
953
  "label": "Name"
837
954
  },
838
955
  {
839
- "name": "channel",
840
956
  "variant": "badge",
957
+ "name": "channel",
841
958
  "label": "Channel"
842
959
  },
843
960
  {
844
961
  "label": "Subject",
845
- "variant": "caption",
846
- "name": "subject"
962
+ "name": "subject",
963
+ "variant": "caption"
847
964
  },
848
965
  {
849
- "name": "lastEditedAt",
850
966
  "label": "Updated",
967
+ "name": "lastEditedAt",
851
968
  "variant": "caption"
852
969
  }
853
970
  ],
@@ -857,8 +974,8 @@
857
974
  "items": {
858
975
  "type": "object",
859
976
  "properties": {
860
- "format": {
861
- "name": "format",
977
+ "icon": {
978
+ "name": "icon",
862
979
  "type": "string",
863
980
  "required": false
864
981
  },
@@ -867,13 +984,13 @@
867
984
  "type": "string",
868
985
  "required": false
869
986
  },
870
- "header": {
871
- "name": "header",
987
+ "label": {
988
+ "name": "label",
872
989
  "type": "string",
873
990
  "required": false
874
991
  },
875
- "icon": {
876
- "name": "icon",
992
+ "header": {
993
+ "name": "header",
877
994
  "type": "string",
878
995
  "required": false
879
996
  },
@@ -882,69 +999,18 @@
882
999
  "type": "string",
883
1000
  "required": false
884
1001
  },
885
- "label": {
886
- "name": "label",
887
- "type": "string",
888
- "required": false
889
- },
890
1002
  "name": {
891
1003
  "name": "name",
892
1004
  "type": "string",
893
1005
  "required": true
894
- }
895
- }
896
- }
897
- },
898
- "itemActions": {
899
- "type": "[ItemAction]",
900
- "default": [
901
- {
902
- "icon": "arrow-right",
903
- "label": "Open",
904
- "event": "OPEN_TEMPLATE",
905
- "variant": "primary"
906
- },
907
- {
908
- "event": "DELETE_TEMPLATE",
909
- "variant": "danger",
910
- "label": "Delete"
911
- }
912
- ],
913
- "label": "Row actions",
914
- "description": "Buttons users can click on each template row",
915
- "tier": "customization",
916
- "items": {
917
- "type": "object",
918
- "properties": {
919
- "icon": {
920
- "name": "icon",
921
- "type": "string",
922
- "required": false
923
- },
924
- "label": {
925
- "name": "label",
926
- "type": "string",
927
- "required": true
928
- },
929
- "event": {
930
- "name": "event",
931
- "type": "string",
932
- "required": true
933
1006
  },
934
- "variant": {
935
- "name": "variant",
1007
+ "format": {
1008
+ "name": "format",
936
1009
  "type": "string",
937
1010
  "required": false
938
1011
  }
939
1012
  }
940
1013
  }
941
- },
942
- "title": {
943
- "type": "string",
944
- "default": "Templates",
945
- "label": "Section title",
946
- "description": "Heading shown above the message template list",
947
- "tier": "customization"
948
1014
  }
949
1015
  },
950
1016
  "scope": "collection"
@@ -963,4 +1029,4 @@
963
1029
  ]
964
1030
  }
965
1031
  ]
966
- }
1032
+ }