@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-form-builder",
3
- "version": "1.1.0",
4
- "description": "std-form-builder — survey form composer with list/detail browse + sidebar question and rules editors. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-form-builder — survey form composer with list/detail browse + sidebar question and rules editors. Listens for SET_STATUS so std-lifecycle can drive transitions. Exposes Content/Knowledge knobs (visibilityScope, enabledLocales, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "FormBuilderOrbital",
@@ -373,6 +373,22 @@
373
373
  }
374
374
  ]
375
375
  },
376
+ {
377
+ "key": "SET_STATUS",
378
+ "name": "Set Status",
379
+ "payloadSchema": [
380
+ {
381
+ "name": "entityId",
382
+ "type": "string",
383
+ "required": true
384
+ },
385
+ {
386
+ "name": "newStatus",
387
+ "type": "string",
388
+ "required": true
389
+ }
390
+ ]
391
+ },
376
392
  {
377
393
  "key": "SurveyCreated",
378
394
  "name": "Survey created",
@@ -429,9 +445,6 @@
429
445
  "render-ui",
430
446
  "main",
431
447
  {
432
- "gap": "md",
433
- "type": "stack",
434
- "align": "center",
435
448
  "direction": "vertical",
436
449
  "className": "py-12",
437
450
  "children": [
@@ -439,12 +452,15 @@
439
452
  "type": "spinner"
440
453
  },
441
454
  {
442
- "type": "typography",
443
455
  "color": "muted",
444
- "variant": "caption",
445
- "content": "Loading surveys…"
456
+ "type": "typography",
457
+ "content": "Loading surveys…",
458
+ "variant": "caption"
446
459
  }
447
- ]
460
+ ],
461
+ "type": "stack",
462
+ "gap": "md",
463
+ "align": "center"
448
464
  }
449
465
  ]
450
466
  ]
@@ -460,51 +476,52 @@
460
476
  {
461
477
  "direction": "vertical",
462
478
  "type": "stack",
479
+ "gap": "md",
463
480
  "children": [
464
481
  {
465
- "type": "stack",
466
- "align": "center",
467
482
  "children": [
468
483
  {
469
484
  "type": "icon",
470
485
  "name": "clipboard-list"
471
486
  },
472
487
  {
488
+ "variant": "h3",
473
489
  "content": "@config.title",
474
- "type": "typography",
475
- "variant": "h3"
490
+ "type": "typography"
476
491
  }
477
492
  ],
478
- "gap": "sm",
479
- "direction": "horizontal"
493
+ "type": "stack",
494
+ "direction": "horizontal",
495
+ "align": "center",
496
+ "gap": "sm"
480
497
  },
481
498
  {
482
499
  "type": "simple-grid",
483
500
  "cols": 4.0,
484
501
  "children": [
485
502
  {
486
- "type": "stat-display",
487
- "icon": "clipboard-list",
488
503
  "label": "Total surveys",
504
+ "icon": "clipboard-list",
505
+ "type": "stat-display",
489
506
  "value": "@payload.data.length"
490
507
  },
491
508
  {
492
- "icon": "edit",
493
- "type": "stat-display",
494
509
  "label": "Drafts",
510
+ "type": "stat-display",
511
+ "icon": "edit",
495
512
  "value": "5"
496
513
  },
497
514
  {
498
- "icon": "send",
499
515
  "value": "12",
516
+ "label": "Published",
500
517
  "type": "stat-display",
501
- "label": "Published"
518
+ "icon": "send"
502
519
  },
503
520
  {
504
- "type": "stat-display",
505
- "value": "284",
521
+ "label": "Responses today",
506
522
  "icon": "users",
507
- "label": "Responses today"
523
+ "type": "stat-display",
524
+ "value": "284"
508
525
  }
509
526
  ]
510
527
  },
@@ -512,15 +529,14 @@
512
529
  "type": "divider"
513
530
  },
514
531
  {
515
- "cols": 1.0,
516
- "type": "data-grid",
517
532
  "entity": "@payload.data",
518
- "fields": "@config.fields",
533
+ "cols": 1.0,
519
534
  "gap": "sm",
520
- "itemActions": "@config.itemActions"
535
+ "itemActions": "@config.itemActions",
536
+ "fields": "@config.fields",
537
+ "type": "data-grid"
521
538
  }
522
- ],
523
- "gap": "md"
539
+ ]
524
540
  }
525
541
  ]
526
542
  ]
@@ -534,9 +550,9 @@
534
550
  "render-ui",
535
551
  "main",
536
552
  {
537
- "type": "alert",
553
+ "message": "@payload.error",
538
554
  "variant": "error",
539
- "message": "@payload.error"
555
+ "type": "alert"
540
556
  }
541
557
  ]
542
558
  ]
@@ -585,15 +601,17 @@
585
601
  "render-ui",
586
602
  "main",
587
603
  {
604
+ "direction": "vertical",
588
605
  "children": [
589
606
  {
590
- "gap": "sm",
607
+ "type": "stack",
608
+ "align": "center",
591
609
  "children": [
592
610
  {
593
- "variant": "ghost",
594
- "type": "button",
611
+ "action": "CLOSE_VIEW",
595
612
  "label": "Back",
596
- "action": "CLOSE_VIEW"
613
+ "variant": "ghost",
614
+ "type": "button"
597
615
  },
598
616
  {
599
617
  "name": "clipboard-list",
@@ -601,8 +619,8 @@
601
619
  },
602
620
  {
603
621
  "content": "@entity.title",
604
- "type": "typography",
605
- "variant": "h3"
622
+ "variant": "h3",
623
+ "type": "typography"
606
624
  },
607
625
  {
608
626
  "type": "badge",
@@ -610,9 +628,8 @@
610
628
  "variant": "default"
611
629
  }
612
630
  ],
613
- "type": "stack",
614
- "direction": "horizontal",
615
- "align": "center"
631
+ "gap": "sm",
632
+ "direction": "horizontal"
616
633
  },
617
634
  {
618
635
  "type": "divider"
@@ -620,100 +637,99 @@
620
637
  {
621
638
  "children": [
622
639
  {
623
- "gap": "md",
624
- "direction": "horizontal",
625
640
  "children": [
626
641
  {
627
642
  "variant": "caption",
628
- "type": "typography",
629
643
  "color": "muted",
630
- "content": "Description"
644
+ "content": "Description",
645
+ "type": "typography"
631
646
  },
632
647
  {
633
648
  "content": "@entity.description",
634
- "type": "typography",
635
- "variant": "body"
649
+ "variant": "body",
650
+ "type": "typography"
636
651
  }
637
652
  ],
638
- "type": "stack"
653
+ "direction": "horizontal",
654
+ "type": "stack",
655
+ "gap": "md"
639
656
  },
640
657
  {
641
658
  "type": "stack",
642
659
  "gap": "md",
660
+ "direction": "horizontal",
643
661
  "children": [
644
662
  {
645
- "content": "Survey ID",
646
663
  "color": "muted",
647
664
  "type": "typography",
665
+ "content": "Survey ID",
648
666
  "variant": "caption"
649
667
  },
650
668
  {
651
- "variant": "body",
652
669
  "type": "typography",
670
+ "variant": "body",
653
671
  "content": "@entity.id"
654
672
  }
655
- ],
656
- "direction": "horizontal"
673
+ ]
657
674
  }
658
675
  ],
676
+ "type": "stack",
659
677
  "direction": "vertical",
660
- "gap": "sm",
661
- "type": "stack"
678
+ "gap": "sm"
662
679
  },
663
680
  {
664
681
  "type": "divider"
665
682
  },
666
683
  {
667
684
  "type": "simple-grid",
685
+ "cols": 2.0,
668
686
  "children": [
669
687
  {
688
+ "label": "Created",
670
689
  "type": "stat-display",
671
- "value": "@entity.createdAt",
672
690
  "icon": "calendar",
673
- "label": "Created"
691
+ "value": "@entity.createdAt"
674
692
  },
675
693
  {
694
+ "icon": "activity",
676
695
  "label": "Status",
677
696
  "type": "stat-display",
678
- "value": "@entity.status",
679
- "icon": "activity"
697
+ "value": "@entity.status"
680
698
  }
681
- ],
682
- "cols": 2.0
699
+ ]
683
700
  },
684
701
  {
685
- "direction": "horizontal",
702
+ "gap": "sm",
686
703
  "align": "center",
704
+ "type": "stack",
705
+ "direction": "horizontal",
687
706
  "children": [
688
707
  {
689
- "action": "PUBLISH",
690
- "variant": "primary",
691
708
  "actionPayload": {
692
- "id": "@entity.id",
693
709
  "surveyId": "@entity.id",
710
+ "id": "@entity.id",
694
711
  "row": "@entity"
695
712
  },
713
+ "label": "Publish",
714
+ "variant": "primary",
696
715
  "type": "button",
697
- "label": "Publish"
716
+ "action": "PUBLISH"
698
717
  },
699
718
  {
700
719
  "label": "New Survey",
701
- "actionPayload": {
702
- "id": "@entity.id",
703
- "data": "@entity"
704
- },
720
+ "type": "button",
705
721
  "variant": "secondary",
706
722
  "action": "CREATE",
707
- "type": "button"
723
+ "actionPayload": {
724
+ "data": "@entity",
725
+ "id": "@entity.id"
726
+ }
708
727
  }
709
- ],
710
- "gap": "sm",
711
- "type": "stack"
728
+ ]
712
729
  }
713
730
  ],
714
731
  "type": "stack",
715
- "gap": "md",
716
- "direction": "vertical"
732
+ "gap": "md"
717
733
  }
718
734
  ]
719
735
  ]
@@ -730,8 +746,8 @@
730
746
  "@payload.data",
731
747
  {
732
748
  "emit": {
733
- "failure": "SurveyLoadFailed",
734
- "success": "SurveyCreated"
749
+ "success": "SurveyCreated",
750
+ "failure": "SurveyLoadFailed"
735
751
  }
736
752
  }
737
753
  ],
@@ -739,22 +755,22 @@
739
755
  "render-ui",
740
756
  "main",
741
757
  {
742
- "direction": "vertical",
758
+ "className": "py-12",
759
+ "gap": "md",
743
760
  "children": [
744
761
  {
745
762
  "type": "spinner"
746
763
  },
747
764
  {
748
- "color": "muted",
749
- "type": "typography",
750
765
  "variant": "caption",
751
- "content": "Creating survey…"
766
+ "content": "Creating survey…",
767
+ "color": "muted",
768
+ "type": "typography"
752
769
  }
753
770
  ],
754
- "align": "center",
755
- "gap": "md",
756
- "className": "py-12",
757
- "type": "stack"
771
+ "type": "stack",
772
+ "direction": "vertical",
773
+ "align": "center"
758
774
  }
759
775
  ]
760
776
  ]
@@ -781,8 +797,8 @@
781
797
  "@entity",
782
798
  {
783
799
  "emit": {
784
- "failure": "SurveyLoadFailed",
785
- "success": "SurveyPublished"
800
+ "success": "SurveyPublished",
801
+ "failure": "SurveyLoadFailed"
786
802
  }
787
803
  }
788
804
  ],
@@ -790,22 +806,73 @@
790
806
  "render-ui",
791
807
  "main",
792
808
  {
809
+ "align": "center",
793
810
  "className": "py-12",
794
- "direction": "vertical",
795
- "type": "stack",
796
- "gap": "md",
797
811
  "children": [
798
812
  {
799
813
  "type": "spinner"
800
814
  },
801
815
  {
816
+ "type": "typography",
817
+ "color": "muted",
802
818
  "variant": "caption",
803
- "content": "Publishing survey…",
819
+ "content": "Publishing survey…"
820
+ }
821
+ ],
822
+ "gap": "md",
823
+ "type": "stack",
824
+ "direction": "vertical"
825
+ }
826
+ ]
827
+ ]
828
+ },
829
+ {
830
+ "from": "browsing",
831
+ "to": "loading",
832
+ "event": "SET_STATUS",
833
+ "effects": [
834
+ [
835
+ "set",
836
+ "@entity.id",
837
+ "@payload.entityId"
838
+ ],
839
+ [
840
+ "set",
841
+ "@entity.status",
842
+ "@payload.newStatus"
843
+ ],
844
+ [
845
+ "persist",
846
+ "update",
847
+ "Survey",
848
+ "@entity",
849
+ {
850
+ "emit": {
851
+ "success": "SurveyUpdated",
852
+ "failure": "SurveyLoadFailed"
853
+ }
854
+ }
855
+ ],
856
+ [
857
+ "render-ui",
858
+ "main",
859
+ {
860
+ "type": "stack",
861
+ "children": [
862
+ {
863
+ "type": "spinner"
864
+ },
865
+ {
804
866
  "color": "muted",
805
- "type": "typography"
867
+ "type": "typography",
868
+ "content": "Updating survey status…",
869
+ "variant": "caption"
806
870
  }
807
871
  ],
808
- "align": "center"
872
+ "gap": "md",
873
+ "align": "center",
874
+ "direction": "vertical",
875
+ "className": "py-12"
809
876
  }
810
877
  ]
811
878
  ]
@@ -837,8 +904,8 @@
837
904
  "Survey",
838
905
  {
839
906
  "emit": {
840
- "success": "SurveyLoaded",
841
- "failure": "SurveyLoadFailed"
907
+ "failure": "SurveyLoadFailed",
908
+ "success": "SurveyLoaded"
842
909
  }
843
910
  }
844
911
  ]
@@ -870,9 +937,9 @@
870
937
  "render-ui",
871
938
  "main",
872
939
  {
873
- "message": "@payload.error",
940
+ "type": "alert",
874
941
  "variant": "error",
875
- "type": "alert"
942
+ "message": "@payload.error"
876
943
  }
877
944
  ]
878
945
  ]
@@ -887,8 +954,8 @@
887
954
  "Survey",
888
955
  {
889
956
  "emit": {
890
- "success": "SurveyLoaded",
891
- "failure": "SurveyLoadFailed"
957
+ "failure": "SurveyLoadFailed",
958
+ "success": "SurveyLoaded"
892
959
  }
893
960
  }
894
961
  ],
@@ -896,22 +963,22 @@
896
963
  "render-ui",
897
964
  "main",
898
965
  {
899
- "align": "center",
900
966
  "type": "stack",
901
- "className": "py-12",
902
- "gap": "md",
967
+ "direction": "vertical",
903
968
  "children": [
904
969
  {
905
970
  "type": "spinner"
906
971
  },
907
972
  {
908
973
  "type": "typography",
909
- "content": "Loading surveys…",
910
974
  "color": "muted",
911
- "variant": "caption"
975
+ "variant": "caption",
976
+ "content": "Loading surveys…"
912
977
  }
913
978
  ],
914
- "direction": "vertical"
979
+ "align": "center",
980
+ "gap": "md",
981
+ "className": "py-12"
915
982
  }
916
983
  ]
917
984
  ]
@@ -938,8 +1005,8 @@
938
1005
  "@entity",
939
1006
  {
940
1007
  "emit": {
941
- "success": "SurveyPublished",
942
- "failure": "SurveyLoadFailed"
1008
+ "failure": "SurveyLoadFailed",
1009
+ "success": "SurveyPublished"
943
1010
  }
944
1011
  }
945
1012
  ],
@@ -947,20 +1014,20 @@
947
1014
  "render-ui",
948
1015
  "main",
949
1016
  {
1017
+ "align": "center",
950
1018
  "type": "stack",
951
- "direction": "vertical",
952
1019
  "gap": "md",
953
1020
  "className": "py-12",
954
- "align": "center",
1021
+ "direction": "vertical",
955
1022
  "children": [
956
1023
  {
957
1024
  "type": "spinner"
958
1025
  },
959
1026
  {
960
- "color": "muted",
961
1027
  "type": "typography",
962
- "content": "Publishing survey…",
963
- "variant": "caption"
1028
+ "color": "muted",
1029
+ "variant": "caption",
1030
+ "content": "Publishing survey…"
964
1031
  }
965
1032
  ]
966
1033
  }
@@ -979,8 +1046,8 @@
979
1046
  "@payload.data",
980
1047
  {
981
1048
  "emit": {
982
- "success": "SurveyCreated",
983
- "failure": "SurveyLoadFailed"
1049
+ "failure": "SurveyLoadFailed",
1050
+ "success": "SurveyCreated"
984
1051
  }
985
1052
  }
986
1053
  ],
@@ -988,22 +1055,22 @@
988
1055
  "render-ui",
989
1056
  "main",
990
1057
  {
991
- "className": "py-12",
992
- "direction": "vertical",
993
- "align": "center",
994
- "gap": "md",
995
- "type": "stack",
996
1058
  "children": [
997
1059
  {
998
1060
  "type": "spinner"
999
1061
  },
1000
1062
  {
1001
1063
  "color": "muted",
1002
- "type": "typography",
1003
1064
  "variant": "caption",
1004
- "content": "Creating survey…"
1065
+ "content": "Creating survey…",
1066
+ "type": "typography"
1005
1067
  }
1006
- ]
1068
+ ],
1069
+ "className": "py-12",
1070
+ "direction": "vertical",
1071
+ "type": "stack",
1072
+ "gap": "md",
1073
+ "align": "center"
1007
1074
  }
1008
1075
  ]
1009
1076
  ]
@@ -1036,125 +1103,191 @@
1036
1103
  ]
1037
1104
  },
1038
1105
  "config": {
1039
- "fields": {
1040
- "type": "[FieldSpec]",
1106
+ "draftAutosaveSeconds": {
1107
+ "type": "number",
1108
+ "default": 15.0,
1109
+ "label": "Draft autosave interval (s)",
1110
+ "description": "Seconds between draft autosaves in the form builder.",
1111
+ "tier": "advanced"
1112
+ },
1113
+ "keepVersions": {
1114
+ "type": "number",
1115
+ "default": 10.0,
1116
+ "label": "Versions to retain",
1117
+ "description": "Number of form revisions to keep.",
1118
+ "tier": "customization"
1119
+ },
1120
+ "visibilityScope": {
1121
+ "type": "string",
1122
+ "default": "internal",
1123
+ "label": "Visibility scope",
1124
+ "description": "Who can fill out published forms: public web, internal staff, signed-in customers.",
1125
+ "tier": "essential",
1126
+ "values": [
1127
+ "public",
1128
+ "internal",
1129
+ "customer"
1130
+ ]
1131
+ },
1132
+ "itemActions": {
1133
+ "type": "[ItemAction]",
1041
1134
  "default": [
1042
1135
  {
1043
- "label": "Title",
1044
- "name": "title",
1045
- "variant": "caption"
1046
- },
1047
- {
1048
- "name": "description",
1049
- "variant": "caption",
1050
- "label": "Description"
1051
- },
1052
- {
1053
- "name": "status",
1054
- "variant": "badge",
1055
- "label": "Status"
1136
+ "label": "Open",
1137
+ "event": "OPEN_SURVEY",
1138
+ "variant": "primary",
1139
+ "icon": "arrow-right"
1056
1140
  },
1057
1141
  {
1058
- "name": "createdAt",
1059
- "label": "Created",
1060
- "variant": "caption"
1142
+ "variant": "secondary",
1143
+ "event": "PUBLISH",
1144
+ "icon": "send",
1145
+ "label": "Publish"
1061
1146
  }
1062
1147
  ],
1063
- "label": "Columns to show",
1064
- "description": "Each column maps to one field on the Survey entity",
1148
+ "label": "Row actions",
1149
+ "description": "Buttons users can click on each survey row",
1065
1150
  "tier": "customization",
1066
1151
  "items": {
1067
1152
  "type": "object",
1068
1153
  "properties": {
1069
- "key": {
1070
- "name": "key",
1071
- "type": "string",
1072
- "required": false
1073
- },
1074
- "variant": {
1075
- "name": "variant",
1076
- "type": "string",
1077
- "required": false
1078
- },
1079
1154
  "label": {
1080
1155
  "name": "label",
1081
1156
  "type": "string",
1082
- "required": false
1157
+ "required": true
1083
1158
  },
1084
- "icon": {
1085
- "name": "icon",
1159
+ "event": {
1160
+ "name": "event",
1086
1161
  "type": "string",
1087
- "required": false
1162
+ "required": true
1088
1163
  },
1089
- "format": {
1090
- "name": "format",
1164
+ "icon": {
1165
+ "name": "icon",
1091
1166
  "type": "string",
1092
1167
  "required": false
1093
1168
  },
1094
- "header": {
1095
- "name": "header",
1169
+ "variant": {
1170
+ "name": "variant",
1096
1171
  "type": "string",
1097
1172
  "required": false
1098
- },
1099
- "name": {
1100
- "name": "name",
1101
- "type": "string",
1102
- "required": true
1103
1173
  }
1104
1174
  }
1105
1175
  }
1106
1176
  },
1107
- "itemActions": {
1108
- "type": "[ItemAction]",
1177
+ "seoEnabled": {
1178
+ "type": "boolean",
1179
+ "default": false,
1180
+ "label": "SEO meta enabled",
1181
+ "description": "Emit canonical + meta tags on the public form page.",
1182
+ "tier": "customization"
1183
+ },
1184
+ "defaultLocale": {
1185
+ "type": "string",
1186
+ "default": "en",
1187
+ "label": "Default locale",
1188
+ "description": "Locale used when no translation exists for the respondent's language.",
1189
+ "tier": "customization"
1190
+ },
1191
+ "enabledLocales": {
1192
+ "type": "[string]",
1193
+ "default": [
1194
+ "en"
1195
+ ],
1196
+ "label": "Enabled locales",
1197
+ "description": "Locales the form can be translated into.",
1198
+ "tier": "customization",
1199
+ "items": {
1200
+ "type": "string"
1201
+ }
1202
+ },
1203
+ "title": {
1204
+ "type": "string",
1205
+ "default": "Survey Builder",
1206
+ "label": "Section title",
1207
+ "description": "Heading shown above the survey list",
1208
+ "tier": "customization"
1209
+ },
1210
+ "allowRollback": {
1211
+ "type": "boolean",
1212
+ "default": true,
1213
+ "label": "Allow rollback",
1214
+ "description": "Permit reverting a form to a prior retained version.",
1215
+ "tier": "customization"
1216
+ },
1217
+ "scheduledPublishEnabled": {
1218
+ "type": "boolean",
1219
+ "default": false,
1220
+ "label": "Scheduled publish",
1221
+ "description": "Allow authors to schedule a future publish time. v1.2 declarative.",
1222
+ "tier": "customization"
1223
+ },
1224
+ "fields": {
1225
+ "type": "[FieldSpec]",
1109
1226
  "default": [
1110
1227
  {
1111
- "icon": "arrow-right",
1112
- "variant": "primary",
1113
- "label": "Open",
1114
- "event": "OPEN_SURVEY"
1228
+ "label": "Title",
1229
+ "variant": "caption",
1230
+ "name": "title"
1115
1231
  },
1116
1232
  {
1117
- "label": "Publish",
1118
- "icon": "send",
1119
- "event": "PUBLISH",
1120
- "variant": "secondary"
1233
+ "label": "Description",
1234
+ "variant": "caption",
1235
+ "name": "description"
1236
+ },
1237
+ {
1238
+ "label": "Status",
1239
+ "name": "status",
1240
+ "variant": "badge"
1241
+ },
1242
+ {
1243
+ "variant": "caption",
1244
+ "name": "createdAt",
1245
+ "label": "Created"
1121
1246
  }
1122
1247
  ],
1123
- "label": "Row actions",
1124
- "description": "Buttons users can click on each survey row",
1248
+ "label": "Columns to show",
1249
+ "description": "Each column maps to one field on the Survey entity",
1125
1250
  "tier": "customization",
1126
1251
  "items": {
1127
1252
  "type": "object",
1128
1253
  "properties": {
1129
- "icon": {
1130
- "name": "icon",
1254
+ "name": {
1255
+ "name": "name",
1256
+ "type": "string",
1257
+ "required": true
1258
+ },
1259
+ "key": {
1260
+ "name": "key",
1261
+ "type": "string",
1262
+ "required": false
1263
+ },
1264
+ "format": {
1265
+ "name": "format",
1266
+ "type": "string",
1267
+ "required": false
1268
+ },
1269
+ "header": {
1270
+ "name": "header",
1131
1271
  "type": "string",
1132
1272
  "required": false
1133
1273
  },
1134
1274
  "label": {
1135
1275
  "name": "label",
1136
1276
  "type": "string",
1137
- "required": true
1277
+ "required": false
1138
1278
  },
1139
1279
  "variant": {
1140
1280
  "name": "variant",
1141
1281
  "type": "string",
1142
1282
  "required": false
1143
1283
  },
1144
- "event": {
1145
- "name": "event",
1284
+ "icon": {
1285
+ "name": "icon",
1146
1286
  "type": "string",
1147
- "required": true
1287
+ "required": false
1148
1288
  }
1149
1289
  }
1150
1290
  }
1151
- },
1152
- "title": {
1153
- "type": "string",
1154
- "default": "Survey Builder",
1155
- "label": "Section title",
1156
- "description": "Heading shown above the survey list",
1157
- "tier": "customization"
1158
1291
  }
1159
1292
  },
1160
1293
  "scope": "collection"
@@ -1285,8 +1418,8 @@
1285
1418
  "Survey",
1286
1419
  {
1287
1420
  "emit": {
1288
- "failure": "QuestionsSaveFailed",
1289
- "success": "SurveyHydrated"
1421
+ "success": "SurveyHydrated",
1422
+ "failure": "QuestionsSaveFailed"
1290
1423
  }
1291
1424
  }
1292
1425
  ],
@@ -1294,44 +1427,44 @@
1294
1427
  "render-ui",
1295
1428
  "sidebar",
1296
1429
  {
1430
+ "type": "stack",
1431
+ "direction": "vertical",
1432
+ "gap": "md",
1297
1433
  "children": [
1298
1434
  {
1299
- "align": "center",
1300
- "direction": "horizontal",
1301
- "gap": "sm",
1302
1435
  "type": "stack",
1436
+ "gap": "sm",
1303
1437
  "children": [
1304
1438
  {
1305
- "type": "icon",
1306
- "name": "list-checks"
1439
+ "name": "list-checks",
1440
+ "type": "icon"
1307
1441
  },
1308
1442
  {
1309
- "content": "@config.title",
1310
1443
  "variant": "h3",
1444
+ "content": "@config.title",
1311
1445
  "type": "typography"
1312
1446
  }
1313
- ]
1447
+ ],
1448
+ "direction": "horizontal",
1449
+ "align": "center"
1314
1450
  },
1315
1451
  {
1316
1452
  "type": "divider"
1317
1453
  },
1318
1454
  {
1455
+ "type": "input",
1319
1456
  "placeholder": "Questions JSON",
1320
- "action": "EDIT_QUESTIONS_JSON",
1321
1457
  "value": "@entity.questionsJson",
1322
- "type": "input"
1458
+ "action": "EDIT_QUESTIONS_JSON"
1323
1459
  },
1324
1460
  {
1461
+ "variant": "primary",
1325
1462
  "action": "SAVE_QUESTIONS",
1326
- "icon": "save",
1327
1463
  "type": "button",
1328
1464
  "label": "Save questions",
1329
- "variant": "primary"
1465
+ "icon": "save"
1330
1466
  }
1331
- ],
1332
- "gap": "md",
1333
- "type": "stack",
1334
- "direction": "vertical"
1467
+ ]
1335
1468
  }
1336
1469
  ]
1337
1470
  ]
@@ -1532,8 +1665,8 @@
1532
1665
  "Survey",
1533
1666
  {
1534
1667
  "emit": {
1535
- "failure": "RulesSaveFailed",
1536
- "success": "SurveyHydrated"
1668
+ "success": "SurveyHydrated",
1669
+ "failure": "RulesSaveFailed"
1537
1670
  }
1538
1671
  }
1539
1672
  ],
@@ -1541,12 +1674,10 @@
1541
1674
  "render-ui",
1542
1675
  "sidebar",
1543
1676
  {
1544
- "type": "stack",
1545
1677
  "gap": "md",
1546
1678
  "children": [
1547
1679
  {
1548
1680
  "align": "center",
1549
- "gap": "sm",
1550
1681
  "children": [
1551
1682
  {
1552
1683
  "type": "icon",
@@ -1554,10 +1685,11 @@
1554
1685
  },
1555
1686
  {
1556
1687
  "content": "@config.title",
1557
- "variant": "h3",
1558
- "type": "typography"
1688
+ "type": "typography",
1689
+ "variant": "h3"
1559
1690
  }
1560
1691
  ],
1692
+ "gap": "sm",
1561
1693
  "type": "stack",
1562
1694
  "direction": "horizontal"
1563
1695
  },
@@ -1566,18 +1698,19 @@
1566
1698
  },
1567
1699
  {
1568
1700
  "type": "input",
1569
- "placeholder": "Rules JSON",
1570
1701
  "value": "@entity.rulesJson",
1702
+ "placeholder": "Rules JSON",
1571
1703
  "action": "EDIT_RULES_JSON"
1572
1704
  },
1573
1705
  {
1574
- "type": "button",
1706
+ "action": "SAVE_RULES",
1575
1707
  "variant": "primary",
1708
+ "type": "button",
1576
1709
  "icon": "save",
1577
- "label": "Save rules",
1578
- "action": "SAVE_RULES"
1710
+ "label": "Save rules"
1579
1711
  }
1580
1712
  ],
1713
+ "type": "stack",
1581
1714
  "direction": "vertical"
1582
1715
  }
1583
1716
  ]
@@ -1633,9 +1766,9 @@
1633
1766
  "render-ui",
1634
1767
  "sidebar",
1635
1768
  {
1769
+ "type": "alert",
1636
1770
  "variant": "error",
1637
- "message": "@payload.error",
1638
- "type": "alert"
1771
+ "message": "@payload.error"
1639
1772
  }
1640
1773
  ]
1641
1774
  ]
@@ -1673,4 +1806,4 @@
1673
1806
  ]
1674
1807
  }
1675
1808
  ]
1676
- }
1809
+ }