@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-submittal",
3
- "version": "1.1.0",
4
- "description": "std-submittal — construction submittal primitive tracking material/equipment samples reviewed and approved before installation. Lists submittals in `browsing`; opens detail in `viewing_single` with Approve / Reject / Revise / Delete actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-submittal — construction submittal lifecycle. Listens for SET_STATUS so std-lifecycle can auto-escalate SLA breaches. Exposes Service/Operations knobs (responseTimeMinutes, resolutionSLAHours, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "SubmittalOrbital",
@@ -292,6 +292,22 @@
292
292
  }
293
293
  ]
294
294
  },
295
+ {
296
+ "key": "SET_STATUS",
297
+ "name": "Set Status",
298
+ "payloadSchema": [
299
+ {
300
+ "name": "entityId",
301
+ "type": "string",
302
+ "required": true
303
+ },
304
+ {
305
+ "name": "newStatus",
306
+ "type": "string",
307
+ "required": true
308
+ }
309
+ ]
310
+ },
295
311
  {
296
312
  "key": "CLOSE_VIEW",
297
313
  "name": "Close View"
@@ -350,21 +366,21 @@
350
366
  "render-ui",
351
367
  "main",
352
368
  {
369
+ "align": "center",
353
370
  "className": "py-12",
354
- "type": "stack",
355
371
  "gap": "md",
356
372
  "children": [
357
373
  {
358
374
  "type": "spinner"
359
375
  },
360
376
  {
361
- "type": "typography",
362
- "variant": "caption",
377
+ "color": "muted",
363
378
  "content": "Loading submittals…",
364
- "color": "muted"
379
+ "type": "typography",
380
+ "variant": "caption"
365
381
  }
366
382
  ],
367
- "align": "center",
383
+ "type": "stack",
368
384
  "direction": "vertical"
369
385
  }
370
386
  ]
@@ -381,50 +397,49 @@
381
397
  {
382
398
  "type": "stack",
383
399
  "gap": "md",
384
- "direction": "vertical",
385
400
  "children": [
386
401
  {
387
402
  "direction": "horizontal",
403
+ "type": "stack",
404
+ "align": "center",
405
+ "gap": "sm",
388
406
  "children": [
389
407
  {
390
408
  "name": "file-text",
391
409
  "type": "icon"
392
410
  },
393
411
  {
394
- "variant": "h3",
395
412
  "type": "typography",
413
+ "variant": "h3",
396
414
  "content": "@config.title"
397
415
  }
398
- ],
399
- "align": "center",
400
- "type": "stack",
401
- "gap": "sm"
416
+ ]
402
417
  },
403
418
  {
404
419
  "children": [
405
420
  {
406
- "type": "stat-display",
421
+ "value": "@payload.data.length",
407
422
  "label": "Total submittals",
408
423
  "icon": "file-text",
409
- "value": "@payload.data.length"
424
+ "type": "stat-display"
410
425
  },
411
426
  {
412
- "label": "In review",
413
- "icon": "search",
414
427
  "type": "stat-display",
415
- "value": "18"
428
+ "icon": "search",
429
+ "value": "18",
430
+ "label": "In review"
416
431
  },
417
432
  {
418
433
  "label": "Approved",
419
434
  "type": "stat-display",
420
- "icon": "check-circle",
421
- "value": "62"
435
+ "value": "62",
436
+ "icon": "check-circle"
422
437
  },
423
438
  {
424
- "icon": "rotate-cw",
425
- "label": "Revise & resubmit",
426
439
  "type": "stat-display",
427
- "value": "7"
440
+ "label": "Revise & resubmit",
441
+ "value": "7",
442
+ "icon": "rotate-cw"
428
443
  }
429
444
  ],
430
445
  "type": "simple-grid",
@@ -434,14 +449,15 @@
434
449
  "type": "divider"
435
450
  },
436
451
  {
437
- "cols": 1.0,
438
- "itemActions": "@config.itemActions",
439
452
  "type": "data-grid",
453
+ "gap": "sm",
440
454
  "entity": "@payload.data",
455
+ "cols": 1.0,
441
456
  "fields": "@config.fields",
442
- "gap": "sm"
457
+ "itemActions": "@config.itemActions"
443
458
  }
444
- ]
459
+ ],
460
+ "direction": "vertical"
445
461
  }
446
462
  ]
447
463
  ]
@@ -455,9 +471,9 @@
455
471
  "render-ui",
456
472
  "main",
457
473
  {
458
- "type": "alert",
474
+ "message": "@payload.error",
459
475
  "variant": "error",
460
- "message": "@payload.error"
476
+ "type": "alert"
461
477
  }
462
478
  ]
463
479
  ]
@@ -526,50 +542,50 @@
526
542
  "render-ui",
527
543
  "main",
528
544
  {
545
+ "direction": "vertical",
529
546
  "children": [
530
547
  {
548
+ "direction": "horizontal",
531
549
  "gap": "sm",
550
+ "type": "stack",
551
+ "align": "center",
532
552
  "children": [
533
553
  {
534
- "type": "button",
535
554
  "variant": "ghost",
536
- "label": "Back",
537
- "action": "CLOSE_VIEW"
555
+ "action": "CLOSE_VIEW",
556
+ "type": "button",
557
+ "label": "Back"
538
558
  },
539
559
  {
540
560
  "type": "icon",
541
561
  "name": "file-text"
542
562
  },
543
563
  {
564
+ "content": "@entity.title",
544
565
  "variant": "h3",
545
- "type": "typography",
546
- "content": "@entity.title"
566
+ "type": "typography"
547
567
  },
548
568
  {
549
569
  "variant": "default",
550
- "type": "badge",
551
- "label": "@entity.status"
570
+ "label": "@entity.status",
571
+ "type": "badge"
552
572
  }
553
- ],
554
- "direction": "horizontal",
555
- "type": "stack",
556
- "align": "center"
573
+ ]
557
574
  },
558
575
  {
559
576
  "type": "divider"
560
577
  },
561
578
  {
562
579
  "direction": "vertical",
580
+ "type": "stack",
563
581
  "children": [
564
582
  {
565
- "direction": "horizontal",
566
- "type": "stack",
567
583
  "children": [
568
584
  {
569
585
  "type": "typography",
570
586
  "variant": "caption",
571
- "content": "Number",
572
- "color": "muted"
587
+ "color": "muted",
588
+ "content": "Number"
573
589
  },
574
590
  {
575
591
  "type": "typography",
@@ -577,15 +593,16 @@
577
593
  "content": "@entity.submittalNumber"
578
594
  }
579
595
  ],
596
+ "type": "stack",
597
+ "direction": "horizontal",
580
598
  "gap": "md"
581
599
  },
582
600
  {
583
- "direction": "horizontal",
584
601
  "children": [
585
602
  {
586
- "content": "Spec section",
587
603
  "variant": "caption",
588
604
  "color": "muted",
605
+ "content": "Spec section",
589
606
  "type": "typography"
590
607
  },
591
608
  {
@@ -595,12 +612,13 @@
595
612
  }
596
613
  ],
597
614
  "type": "stack",
615
+ "direction": "horizontal",
598
616
  "gap": "md"
599
617
  },
600
618
  {
619
+ "gap": "md",
601
620
  "type": "stack",
602
621
  "direction": "horizontal",
603
- "gap": "md",
604
622
  "children": [
605
623
  {
606
624
  "color": "muted",
@@ -609,38 +627,37 @@
609
627
  "type": "typography"
610
628
  },
611
629
  {
612
- "type": "typography",
613
630
  "variant": "body",
631
+ "type": "typography",
614
632
  "content": "@entity.contractor"
615
633
  }
616
634
  ]
617
635
  },
618
636
  {
619
- "direction": "horizontal",
620
637
  "type": "stack",
621
- "gap": "md",
622
638
  "children": [
623
639
  {
624
640
  "content": "Reviewer",
641
+ "type": "typography",
625
642
  "color": "muted",
626
- "variant": "caption",
627
- "type": "typography"
643
+ "variant": "caption"
628
644
  },
629
645
  {
630
646
  "variant": "body",
631
- "content": "@entity.reviewer",
632
- "type": "typography"
647
+ "type": "typography",
648
+ "content": "@entity.reviewer"
633
649
  }
634
- ]
650
+ ],
651
+ "direction": "horizontal",
652
+ "gap": "md"
635
653
  },
636
654
  {
637
- "type": "stack",
638
655
  "children": [
639
656
  {
640
657
  "content": "Comments",
658
+ "type": "typography",
641
659
  "color": "muted",
642
- "variant": "caption",
643
- "type": "typography"
660
+ "variant": "caption"
644
661
  },
645
662
  {
646
663
  "type": "typography",
@@ -648,86 +665,85 @@
648
665
  "content": "@entity.comments"
649
666
  }
650
667
  ],
651
- "gap": "md",
652
- "direction": "horizontal"
668
+ "direction": "horizontal",
669
+ "type": "stack",
670
+ "gap": "md"
653
671
  }
654
672
  ],
655
- "type": "stack",
656
673
  "gap": "sm"
657
674
  },
658
675
  {
659
676
  "type": "divider"
660
677
  },
661
678
  {
662
- "cols": 3.0,
663
679
  "children": [
664
680
  {
665
- "icon": "rotate-cw",
666
681
  "value": "@entity.revisionNumber",
667
682
  "type": "stat-display",
683
+ "icon": "rotate-cw",
668
684
  "label": "Revision"
669
685
  },
670
686
  {
671
- "label": "Submitted",
672
687
  "icon": "calendar",
688
+ "value": "@entity.submittedAt",
673
689
  "type": "stat-display",
674
- "value": "@entity.submittedAt"
690
+ "label": "Submitted"
675
691
  },
676
692
  {
677
- "value": "@entity.reviewedAt",
678
693
  "label": "Reviewed",
679
694
  "type": "stat-display",
695
+ "value": "@entity.reviewedAt",
680
696
  "icon": "calendar-check"
681
697
  }
682
698
  ],
699
+ "cols": 3.0,
683
700
  "type": "simple-grid"
684
701
  },
685
702
  {
703
+ "direction": "horizontal",
704
+ "type": "stack",
686
705
  "align": "center",
687
706
  "gap": "sm",
688
707
  "children": [
689
708
  {
709
+ "type": "button",
710
+ "label": "Approve",
711
+ "action": "APPROVE",
690
712
  "actionPayload": {
691
713
  "id": "@entity.id"
692
714
  },
693
- "type": "button",
694
- "variant": "primary",
695
- "label": "Approve",
696
- "action": "APPROVE"
715
+ "variant": "primary"
697
716
  },
698
717
  {
699
- "type": "button",
718
+ "variant": "danger",
700
719
  "action": "REJECT",
701
720
  "label": "Reject",
721
+ "type": "button",
702
722
  "actionPayload": {
703
723
  "id": "@entity.id"
704
- },
705
- "variant": "danger"
724
+ }
706
725
  },
707
726
  {
727
+ "type": "button",
708
728
  "action": "REQUEST_REVISION",
709
729
  "actionPayload": {
710
730
  "id": "@entity.id"
711
731
  },
712
- "variant": "secondary",
713
- "type": "button",
714
- "label": "Revise"
732
+ "label": "Revise",
733
+ "variant": "secondary"
715
734
  },
716
735
  {
717
- "action": "REQUEST_DELETE",
718
- "variant": "danger",
719
736
  "actionPayload": {
720
737
  "id": "@entity.id"
721
738
  },
722
- "type": "button",
723
- "label": "Delete"
739
+ "label": "Delete",
740
+ "action": "REQUEST_DELETE",
741
+ "variant": "danger",
742
+ "type": "button"
724
743
  }
725
- ],
726
- "type": "stack",
727
- "direction": "horizontal"
744
+ ]
728
745
  }
729
746
  ],
730
- "direction": "vertical",
731
747
  "type": "stack",
732
748
  "gap": "md"
733
749
  }
@@ -749,8 +765,8 @@
749
765
  "Submittal",
750
766
  {
751
767
  "emit": {
752
- "failure": "SubmittalLoadFailed",
753
- "success": "SubmittalLoaded"
768
+ "success": "SubmittalLoaded",
769
+ "failure": "SubmittalLoadFailed"
754
770
  }
755
771
  }
756
772
  ],
@@ -758,18 +774,69 @@
758
774
  "render-ui",
759
775
  "main",
760
776
  {
761
- "direction": "vertical",
777
+ "className": "py-12",
778
+ "type": "stack",
762
779
  "gap": "md",
780
+ "align": "center",
781
+ "children": [
782
+ {
783
+ "type": "spinner"
784
+ },
785
+ {
786
+ "variant": "caption",
787
+ "color": "muted",
788
+ "type": "typography",
789
+ "content": "Deleting submittal…"
790
+ }
791
+ ],
792
+ "direction": "vertical"
793
+ }
794
+ ]
795
+ ]
796
+ },
797
+ {
798
+ "from": "browsing",
799
+ "to": "loading",
800
+ "event": "SET_STATUS",
801
+ "effects": [
802
+ [
803
+ "set",
804
+ "@entity.id",
805
+ "@payload.entityId"
806
+ ],
807
+ [
808
+ "set",
809
+ "@entity.status",
810
+ "@payload.newStatus"
811
+ ],
812
+ [
813
+ "persist",
814
+ "update",
815
+ "Submittal",
816
+ "@entity",
817
+ {
818
+ "emit": {
819
+ "success": "SubmittalLoaded",
820
+ "failure": "SubmittalLoadFailed"
821
+ }
822
+ }
823
+ ],
824
+ [
825
+ "render-ui",
826
+ "main",
827
+ {
828
+ "direction": "vertical",
763
829
  "type": "stack",
764
830
  "align": "center",
831
+ "gap": "md",
765
832
  "className": "py-12",
766
833
  "children": [
767
834
  {
768
835
  "type": "spinner"
769
836
  },
770
837
  {
838
+ "content": "Updating submittal status…",
771
839
  "type": "typography",
772
- "content": "Deleting submittal…",
773
840
  "variant": "caption",
774
841
  "color": "muted"
775
842
  }
@@ -788,8 +855,8 @@
788
855
  "Submittal",
789
856
  {
790
857
  "emit": {
791
- "success": "SubmittalLoaded",
792
- "failure": "SubmittalLoadFailed"
858
+ "failure": "SubmittalLoadFailed",
859
+ "success": "SubmittalLoaded"
793
860
  }
794
861
  }
795
862
  ],
@@ -797,22 +864,22 @@
797
864
  "render-ui",
798
865
  "main",
799
866
  {
800
- "align": "center",
867
+ "className": "py-12",
868
+ "direction": "vertical",
869
+ "type": "stack",
870
+ "gap": "md",
801
871
  "children": [
802
872
  {
803
873
  "type": "spinner"
804
874
  },
805
875
  {
806
- "color": "muted",
807
876
  "type": "typography",
808
877
  "variant": "caption",
878
+ "color": "muted",
809
879
  "content": "Loading submittals…"
810
880
  }
811
881
  ],
812
- "direction": "vertical",
813
- "className": "py-12",
814
- "type": "stack",
815
- "gap": "md"
882
+ "align": "center"
816
883
  }
817
884
  ]
818
885
  ]
@@ -832,8 +899,8 @@
832
899
  "Submittal",
833
900
  {
834
901
  "emit": {
835
- "failure": "SubmittalLoadFailed",
836
- "success": "SubmittalLoaded"
902
+ "success": "SubmittalLoaded",
903
+ "failure": "SubmittalLoadFailed"
837
904
  }
838
905
  }
839
906
  ],
@@ -841,8 +908,6 @@
841
908
  "render-ui",
842
909
  "main",
843
910
  {
844
- "align": "center",
845
- "className": "py-12",
846
911
  "type": "stack",
847
912
  "direction": "vertical",
848
913
  "children": [
@@ -850,13 +915,15 @@
850
915
  "type": "spinner"
851
916
  },
852
917
  {
918
+ "type": "typography",
853
919
  "variant": "caption",
854
920
  "color": "muted",
855
- "type": "typography",
856
921
  "content": "Approving submittal…"
857
922
  }
858
923
  ],
859
- "gap": "md"
924
+ "align": "center",
925
+ "gap": "md",
926
+ "className": "py-12"
860
927
  }
861
928
  ]
862
929
  ]
@@ -885,22 +952,22 @@
885
952
  "render-ui",
886
953
  "main",
887
954
  {
888
- "gap": "md",
889
- "type": "stack",
890
- "align": "center",
891
955
  "children": [
892
956
  {
893
957
  "type": "spinner"
894
958
  },
895
959
  {
896
- "variant": "caption",
897
- "content": "Rejecting submittal…",
898
960
  "type": "typography",
899
- "color": "muted"
961
+ "color": "muted",
962
+ "content": "Rejecting submittal…",
963
+ "variant": "caption"
900
964
  }
901
965
  ],
966
+ "type": "stack",
967
+ "direction": "vertical",
968
+ "align": "center",
902
969
  "className": "py-12",
903
- "direction": "vertical"
970
+ "gap": "md"
904
971
  }
905
972
  ]
906
973
  ]
@@ -929,22 +996,22 @@
929
996
  "render-ui",
930
997
  "main",
931
998
  {
999
+ "className": "py-12",
1000
+ "direction": "vertical",
1001
+ "type": "stack",
932
1002
  "gap": "md",
933
1003
  "align": "center",
934
- "direction": "vertical",
935
1004
  "children": [
936
1005
  {
937
1006
  "type": "spinner"
938
1007
  },
939
1008
  {
940
- "variant": "caption",
941
1009
  "content": "Requesting revision…",
942
- "type": "typography",
943
- "color": "muted"
1010
+ "variant": "caption",
1011
+ "color": "muted",
1012
+ "type": "typography"
944
1013
  }
945
- ],
946
- "className": "py-12",
947
- "type": "stack"
1014
+ ]
948
1015
  }
949
1016
  ]
950
1017
  ]
@@ -973,22 +1040,22 @@
973
1040
  "render-ui",
974
1041
  "main",
975
1042
  {
1043
+ "className": "py-12",
976
1044
  "type": "stack",
1045
+ "direction": "vertical",
977
1046
  "gap": "md",
978
- "className": "py-12",
1047
+ "align": "center",
979
1048
  "children": [
980
1049
  {
981
1050
  "type": "spinner"
982
1051
  },
983
1052
  {
984
- "content": "Deleting submittal…",
985
- "color": "muted",
1053
+ "variant": "caption",
986
1054
  "type": "typography",
987
- "variant": "caption"
1055
+ "color": "muted",
1056
+ "content": "Deleting submittal…"
988
1057
  }
989
- ],
990
- "align": "center",
991
- "direction": "vertical"
1058
+ ]
992
1059
  }
993
1060
  ]
994
1061
  ]
@@ -1021,19 +1088,71 @@
1021
1088
  ]
1022
1089
  },
1023
1090
  "config": {
1091
+ "responseTimeMinutes": {
1092
+ "type": "number",
1093
+ "default": 1440.0,
1094
+ "label": "Response time SLA (min)",
1095
+ "description": "Target minutes from submittal received to first acknowledgement (default 1 day).",
1096
+ "tier": "essential"
1097
+ },
1098
+ "customerVisibleStatuses": {
1099
+ "type": "[string]",
1100
+ "default": [
1101
+ "submitted",
1102
+ "in-review",
1103
+ "approved",
1104
+ "rejected",
1105
+ "revise-resubmit"
1106
+ ],
1107
+ "label": "Customer-visible statuses",
1108
+ "description": "Subset of statuses contractors see in their portal.",
1109
+ "tier": "customization",
1110
+ "items": {
1111
+ "type": "string"
1112
+ }
1113
+ },
1114
+ "serviceAreaRadius": {
1115
+ "type": "number",
1116
+ "default": 0.0,
1117
+ "label": "Service area radius (mi)",
1118
+ "description": "Project-site distance limit for assignable reviewers. Zero = no restriction.",
1119
+ "tier": "customization"
1120
+ },
1121
+ "dispatchStrategy": {
1122
+ "type": "string",
1123
+ "default": "manual",
1124
+ "label": "Dispatch strategy",
1125
+ "description": "How reviewers are assigned to incoming submittals.",
1126
+ "tier": "customization",
1127
+ "values": [
1128
+ "nearest",
1129
+ "round-robin",
1130
+ "manual"
1131
+ ]
1132
+ },
1133
+ "skillsRequired": {
1134
+ "type": "[string]",
1135
+ "default": [],
1136
+ "label": "Required skills",
1137
+ "description": "Discipline tags a reviewer must hold (e.g. 'structural', 'mep', 'arch').",
1138
+ "tier": "customization",
1139
+ "items": {
1140
+ "type": "string"
1141
+ }
1142
+ },
1024
1143
  "itemActions": {
1025
1144
  "type": "[ItemAction]",
1026
1145
  "default": [
1027
1146
  {
1028
1147
  "label": "Open",
1029
- "event": "OPEN_SUBMITTAL",
1148
+ "icon": "arrow-right",
1030
1149
  "variant": "primary",
1031
- "icon": "arrow-right"
1150
+ "event": "OPEN_SUBMITTAL"
1032
1151
  },
1033
1152
  {
1153
+ "variant": "danger",
1034
1154
  "label": "Delete",
1035
- "event": "REQUEST_DELETE",
1036
- "variant": "danger"
1155
+ "event": "REQUEST_DELETE"
1037
1156
  }
1038
1157
  ],
1039
1158
  "label": "Row actions",
@@ -1042,50 +1161,95 @@
1042
1161
  "items": {
1043
1162
  "type": "object",
1044
1163
  "properties": {
1045
- "event": {
1046
- "name": "event",
1047
- "type": "string",
1048
- "required": true
1049
- },
1050
1164
  "variant": {
1051
1165
  "name": "variant",
1052
1166
  "type": "string",
1053
1167
  "required": false
1054
1168
  },
1055
- "label": {
1056
- "name": "label",
1057
- "type": "string",
1058
- "required": true
1059
- },
1060
1169
  "icon": {
1061
1170
  "name": "icon",
1062
1171
  "type": "string",
1063
1172
  "required": false
1173
+ },
1174
+ "event": {
1175
+ "name": "event",
1176
+ "type": "string",
1177
+ "required": true
1178
+ },
1179
+ "label": {
1180
+ "name": "label",
1181
+ "type": "string",
1182
+ "required": true
1064
1183
  }
1065
1184
  }
1066
1185
  }
1067
1186
  },
1187
+ "serviceZones": {
1188
+ "type": "[string]",
1189
+ "default": [],
1190
+ "label": "Service zones",
1191
+ "description": "Named project zones for routing submittals to the right reviewer pool.",
1192
+ "tier": "customization",
1193
+ "items": {
1194
+ "type": "string"
1195
+ }
1196
+ },
1197
+ "resolutionSLAHours": {
1198
+ "type": "number",
1199
+ "default": 240.0,
1200
+ "label": "Resolution SLA (hours)",
1201
+ "description": "Target hours from receipt to approved/rejected (default 10 business days). Compose std-lifecycle to escalate.",
1202
+ "tier": "essential"
1203
+ },
1204
+ "escalationThresholdHours": {
1205
+ "type": "number",
1206
+ "default": 336.0,
1207
+ "label": "Escalation threshold (hours)",
1208
+ "description": "Hours after which a stalled submittal auto-escalates (default 14 days).",
1209
+ "tier": "customization"
1210
+ },
1211
+ "requirePhotoOnComplete": {
1212
+ "type": "boolean",
1213
+ "default": false,
1214
+ "label": "Require photo on complete",
1215
+ "description": "Block APPROVE unless a marked-up reviewer image is attached.",
1216
+ "tier": "customization"
1217
+ },
1218
+ "requireSignatureOnComplete": {
1219
+ "type": "boolean",
1220
+ "default": false,
1221
+ "label": "Require reviewer signature on complete",
1222
+ "description": "Block APPROVE unless reviewer signature is captured (compose std-signature-capture).",
1223
+ "tier": "customization"
1224
+ },
1225
+ "title": {
1226
+ "type": "string",
1227
+ "default": "Submittals",
1228
+ "label": "Section title",
1229
+ "description": "Heading shown above the submittal review list",
1230
+ "tier": "customization"
1231
+ },
1068
1232
  "fields": {
1069
1233
  "type": "[FieldSpec]",
1070
1234
  "default": [
1071
1235
  {
1072
- "variant": "caption",
1073
1236
  "name": "submittalNumber",
1237
+ "variant": "caption",
1074
1238
  "label": "Number"
1075
1239
  },
1076
1240
  {
1077
1241
  "name": "specSection",
1078
- "label": "Spec Section",
1079
- "variant": "caption"
1242
+ "variant": "caption",
1243
+ "label": "Spec Section"
1080
1244
  },
1081
1245
  {
1082
- "variant": "caption",
1083
1246
  "name": "title",
1084
- "label": "Title"
1247
+ "label": "Title",
1248
+ "variant": "caption"
1085
1249
  },
1086
1250
  {
1087
- "label": "Contractor",
1088
1251
  "variant": "caption",
1252
+ "label": "Contractor",
1089
1253
  "name": "contractor"
1090
1254
  },
1091
1255
  {
@@ -1094,9 +1258,9 @@
1094
1258
  "label": "Status"
1095
1259
  },
1096
1260
  {
1097
- "label": "Rev",
1261
+ "name": "revisionNumber",
1098
1262
  "variant": "caption",
1099
- "name": "revisionNumber"
1263
+ "label": "Rev"
1100
1264
  }
1101
1265
  ],
1102
1266
  "label": "Columns to show",
@@ -1105,18 +1269,23 @@
1105
1269
  "items": {
1106
1270
  "type": "object",
1107
1271
  "properties": {
1272
+ "name": {
1273
+ "name": "name",
1274
+ "type": "string",
1275
+ "required": true
1276
+ },
1108
1277
  "variant": {
1109
1278
  "name": "variant",
1110
1279
  "type": "string",
1111
1280
  "required": false
1112
1281
  },
1113
- "icon": {
1114
- "name": "icon",
1282
+ "label": {
1283
+ "name": "label",
1115
1284
  "type": "string",
1116
1285
  "required": false
1117
1286
  },
1118
- "format": {
1119
- "name": "format",
1287
+ "icon": {
1288
+ "name": "icon",
1120
1289
  "type": "string",
1121
1290
  "required": false
1122
1291
  },
@@ -1125,30 +1294,18 @@
1125
1294
  "type": "string",
1126
1295
  "required": false
1127
1296
  },
1128
- "name": {
1129
- "name": "name",
1130
- "type": "string",
1131
- "required": true
1132
- },
1133
- "label": {
1134
- "name": "label",
1297
+ "header": {
1298
+ "name": "header",
1135
1299
  "type": "string",
1136
1300
  "required": false
1137
1301
  },
1138
- "header": {
1139
- "name": "header",
1302
+ "format": {
1303
+ "name": "format",
1140
1304
  "type": "string",
1141
1305
  "required": false
1142
1306
  }
1143
1307
  }
1144
1308
  }
1145
- },
1146
- "title": {
1147
- "type": "string",
1148
- "default": "Submittals",
1149
- "label": "Section title",
1150
- "description": "Heading shown above the submittal review list",
1151
- "tier": "customization"
1152
1309
  }
1153
1310
  },
1154
1311
  "scope": "collection"
@@ -1167,4 +1324,4 @@
1167
1324
  ]
1168
1325
  }
1169
1326
  ]
1170
- }
1327
+ }