@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-matter",
3
- "version": "1.1.0",
4
- "description": "std-matter — legal matter primitive: a single case (litigation, contract review, immigration filing) with client, status, lead attorney. Lists matters in `browsing`; opens matter detail in `viewing_single` with Close / Hold / Reopen actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-matter — legal matter primitive (case with client, status, lead attorney). Lists matters; detail offers Close / Hold / Reopen. Listens for SET_STATUS so std-lifecycle can drive transitions. Exposes Legal knobs (practiceArea, confidentialityLevel, conflictCheckRequired, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "MatterOrbital",
@@ -192,6 +192,68 @@
192
192
  "type": "string"
193
193
  }
194
194
  ]
195
+ },
196
+ {
197
+ "event": "MatterUpdated",
198
+ "payloadSchema": [
199
+ {
200
+ "name": "row.id",
201
+ "type": "string",
202
+ "required": true
203
+ },
204
+ {
205
+ "name": "row.matterNumber",
206
+ "type": "string",
207
+ "required": true
208
+ },
209
+ {
210
+ "name": "row.title",
211
+ "type": "string",
212
+ "required": true
213
+ },
214
+ {
215
+ "name": "row.clientName",
216
+ "type": "string",
217
+ "required": true
218
+ },
219
+ {
220
+ "name": "row.practiceArea",
221
+ "type": "string"
222
+ },
223
+ {
224
+ "name": "row.leadAttorney",
225
+ "type": "string"
226
+ },
227
+ {
228
+ "name": "row.status",
229
+ "type": "string"
230
+ },
231
+ {
232
+ "name": "row.openedAt",
233
+ "type": "string"
234
+ },
235
+ {
236
+ "name": "row.closedAt",
237
+ "type": "string"
238
+ },
239
+ {
240
+ "name": "row.notes",
241
+ "type": "string"
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ "event": "MatterUpdateFailed",
247
+ "payloadSchema": [
248
+ {
249
+ "name": "error",
250
+ "type": "string"
251
+ },
252
+ {
253
+ "name": "code",
254
+ "type": "string"
255
+ }
256
+ ]
195
257
  }
196
258
  ],
197
259
  "stateMachine": {
@@ -265,6 +327,46 @@
265
327
  }
266
328
  ]
267
329
  },
330
+ {
331
+ "key": "SET_STATUS",
332
+ "name": "Set Status",
333
+ "payloadSchema": [
334
+ {
335
+ "name": "entityId",
336
+ "type": "string",
337
+ "required": true
338
+ },
339
+ {
340
+ "name": "newStatus",
341
+ "type": "string",
342
+ "required": true
343
+ }
344
+ ]
345
+ },
346
+ {
347
+ "key": "MatterUpdated",
348
+ "name": "Matter updated",
349
+ "payloadSchema": [
350
+ {
351
+ "name": "row",
352
+ "type": "Matter"
353
+ }
354
+ ]
355
+ },
356
+ {
357
+ "key": "MatterUpdateFailed",
358
+ "name": "Matter update failed",
359
+ "payloadSchema": [
360
+ {
361
+ "name": "error",
362
+ "type": "string"
363
+ },
364
+ {
365
+ "name": "code",
366
+ "type": "string"
367
+ }
368
+ ]
369
+ },
268
370
  {
269
371
  "key": "CLOSE_VIEW",
270
372
  "name": "Close View"
@@ -303,8 +405,8 @@
303
405
  "Matter",
304
406
  {
305
407
  "emit": {
306
- "failure": "MatterLoadFailed",
307
- "success": "MatterLoaded"
408
+ "success": "MatterLoaded",
409
+ "failure": "MatterLoadFailed"
308
410
  }
309
411
  }
310
412
  ],
@@ -312,22 +414,22 @@
312
414
  "render-ui",
313
415
  "main",
314
416
  {
417
+ "gap": "md",
315
418
  "align": "center",
419
+ "type": "stack",
420
+ "className": "py-12",
316
421
  "children": [
317
422
  {
318
423
  "type": "spinner"
319
424
  },
320
425
  {
321
- "type": "typography",
426
+ "color": "muted",
322
427
  "content": "Loading matters…",
323
- "variant": "caption",
324
- "color": "muted"
428
+ "type": "typography",
429
+ "variant": "caption"
325
430
  }
326
431
  ],
327
- "direction": "vertical",
328
- "className": "py-12",
329
- "type": "stack",
330
- "gap": "md"
432
+ "direction": "vertical"
331
433
  }
332
434
  ]
333
435
  ]
@@ -341,11 +443,13 @@
341
443
  "render-ui",
342
444
  "main",
343
445
  {
344
- "type": "stack",
345
- "gap": "md",
346
446
  "direction": "vertical",
447
+ "type": "stack",
347
448
  "children": [
348
449
  {
450
+ "type": "stack",
451
+ "direction": "horizontal",
452
+ "gap": "sm",
349
453
  "align": "center",
350
454
  "children": [
351
455
  {
@@ -354,41 +458,38 @@
354
458
  },
355
459
  {
356
460
  "variant": "h3",
357
- "type": "typography",
358
- "content": "@config.title"
461
+ "content": "@config.title",
462
+ "type": "typography"
359
463
  }
360
- ],
361
- "direction": "horizontal",
362
- "gap": "sm",
363
- "type": "stack"
464
+ ]
364
465
  },
365
466
  {
366
467
  "type": "simple-grid",
367
468
  "cols": 4.0,
368
469
  "children": [
369
470
  {
370
- "label": "Total matters",
471
+ "icon": "scale",
371
472
  "value": "@payload.data.length",
372
473
  "type": "stat-display",
373
- "icon": "scale"
474
+ "label": "Total matters"
374
475
  },
375
476
  {
376
- "icon": "play-circle",
377
477
  "value": "34",
478
+ "type": "stat-display",
378
479
  "label": "Active",
379
- "type": "stat-display"
480
+ "icon": "play-circle"
380
481
  },
381
482
  {
382
- "icon": "pause-circle",
383
483
  "type": "stat-display",
384
484
  "value": "6",
485
+ "icon": "pause-circle",
385
486
  "label": "On hold"
386
487
  },
387
488
  {
388
- "icon": "check-circle",
389
- "value": "12",
489
+ "label": "Closed this month",
390
490
  "type": "stat-display",
391
- "label": "Closed this month"
491
+ "value": "12",
492
+ "icon": "check-circle"
392
493
  }
393
494
  ]
394
495
  },
@@ -396,14 +497,15 @@
396
497
  "type": "divider"
397
498
  },
398
499
  {
399
- "gap": "sm",
400
- "type": "data-grid",
401
- "fields": "@config.fields",
402
500
  "entity": "@payload.data",
403
501
  "cols": 1.0,
502
+ "fields": "@config.fields",
503
+ "gap": "sm",
504
+ "type": "data-grid",
404
505
  "itemActions": "@config.itemActions"
405
506
  }
406
- ]
507
+ ],
508
+ "gap": "md"
407
509
  }
408
510
  ]
409
511
  ]
@@ -418,8 +520,8 @@
418
520
  "main",
419
521
  {
420
522
  "type": "alert",
421
- "variant": "error",
422
- "message": "@payload.error"
523
+ "message": "@payload.error",
524
+ "variant": "error"
423
525
  }
424
526
  ]
425
527
  ]
@@ -484,17 +586,20 @@
484
586
  "main",
485
587
  {
486
588
  "type": "stack",
589
+ "direction": "vertical",
590
+ "gap": "md",
487
591
  "children": [
488
592
  {
489
593
  "type": "stack",
490
594
  "direction": "horizontal",
491
595
  "gap": "sm",
596
+ "align": "center",
492
597
  "children": [
493
598
  {
494
- "type": "button",
495
599
  "action": "CLOSE_VIEW",
496
600
  "label": "Back",
497
- "variant": "ghost"
601
+ "variant": "ghost",
602
+ "type": "button"
498
603
  },
499
604
  {
500
605
  "name": "scale",
@@ -515,90 +620,89 @@
515
620
  "label": "@entity.status",
516
621
  "variant": "default"
517
622
  }
518
- ],
519
- "align": "center"
623
+ ]
520
624
  },
521
625
  {
522
626
  "type": "divider"
523
627
  },
524
628
  {
525
629
  "direction": "vertical",
630
+ "gap": "sm",
526
631
  "type": "stack",
527
632
  "children": [
528
633
  {
529
634
  "direction": "horizontal",
530
- "gap": "md",
531
- "type": "stack",
532
635
  "children": [
533
636
  {
534
- "color": "muted",
535
- "variant": "caption",
637
+ "type": "typography",
536
638
  "content": "Matter #",
537
- "type": "typography"
639
+ "color": "muted",
640
+ "variant": "caption"
538
641
  },
539
642
  {
540
643
  "type": "typography",
541
644
  "variant": "body",
542
645
  "content": "@entity.matterNumber"
543
646
  }
544
- ]
647
+ ],
648
+ "type": "stack",
649
+ "gap": "md"
545
650
  },
546
651
  {
547
- "gap": "md",
548
652
  "children": [
549
653
  {
550
- "content": "Client",
551
- "variant": "caption",
654
+ "color": "muted",
552
655
  "type": "typography",
553
- "color": "muted"
656
+ "content": "Client",
657
+ "variant": "caption"
554
658
  },
555
659
  {
660
+ "content": "@entity.clientName",
556
661
  "type": "typography",
557
- "variant": "body",
558
- "content": "@entity.clientName"
662
+ "variant": "body"
559
663
  }
560
664
  ],
561
- "type": "stack",
562
- "direction": "horizontal"
665
+ "gap": "md",
666
+ "direction": "horizontal",
667
+ "type": "stack"
563
668
  },
564
669
  {
670
+ "type": "stack",
671
+ "direction": "horizontal",
672
+ "gap": "md",
565
673
  "children": [
566
674
  {
675
+ "type": "typography",
567
676
  "variant": "caption",
568
677
  "color": "muted",
569
- "type": "typography",
570
678
  "content": "Lead attorney"
571
679
  },
572
680
  {
573
- "type": "typography",
681
+ "content": "@entity.leadAttorney",
574
682
  "variant": "body",
575
- "content": "@entity.leadAttorney"
683
+ "type": "typography"
576
684
  }
577
- ],
578
- "direction": "horizontal",
579
- "type": "stack",
580
- "gap": "md"
685
+ ]
581
686
  },
582
687
  {
583
- "direction": "horizontal",
584
- "type": "stack",
585
- "gap": "md",
586
688
  "children": [
587
689
  {
588
- "variant": "caption",
690
+ "color": "muted",
589
691
  "type": "typography",
590
- "content": "Notes",
591
- "color": "muted"
692
+ "variant": "caption",
693
+ "content": "Notes"
592
694
  },
593
695
  {
594
696
  "type": "typography",
595
697
  "variant": "body",
596
698
  "content": "@entity.notes"
597
699
  }
598
- ]
700
+ ],
701
+ "direction": "horizontal",
702
+ "gap": "md",
703
+ "type": "stack"
599
704
  }
600
- ],
601
- "gap": "sm"
705
+ ]
602
706
  },
603
707
  {
604
708
  "type": "divider"
@@ -607,15 +711,15 @@
607
711
  "type": "simple-grid",
608
712
  "children": [
609
713
  {
610
- "type": "stat-display",
611
714
  "label": "Opened",
715
+ "type": "stat-display",
612
716
  "icon": "calendar",
613
717
  "value": "@entity.openedAt"
614
718
  },
615
719
  {
616
- "icon": "calendar-check",
617
720
  "type": "stat-display",
618
721
  "label": "Closed",
722
+ "icon": "calendar-check",
619
723
  "value": "@entity.closedAt"
620
724
  }
621
725
  ],
@@ -623,42 +727,40 @@
623
727
  },
624
728
  {
625
729
  "type": "stack",
626
- "direction": "horizontal",
627
730
  "gap": "sm",
731
+ "direction": "horizontal",
628
732
  "align": "center",
629
733
  "children": [
630
734
  {
631
- "type": "button",
632
735
  "actionPayload": {
633
736
  "id": "@entity.id"
634
737
  },
738
+ "type": "button",
739
+ "label": "Close Matter",
635
740
  "variant": "danger",
636
- "action": "CLOSE_MATTER",
637
- "label": "Close Matter"
741
+ "action": "CLOSE_MATTER"
638
742
  },
639
743
  {
640
- "type": "button",
641
- "variant": "secondary",
642
744
  "actionPayload": {
643
745
  "id": "@entity.id"
644
746
  },
645
- "action": "HOLD_MATTER",
646
- "label": "Hold"
747
+ "variant": "secondary",
748
+ "label": "Hold",
749
+ "type": "button",
750
+ "action": "HOLD_MATTER"
647
751
  },
648
752
  {
753
+ "label": "Reopen",
649
754
  "actionPayload": {
650
755
  "id": "@entity.id"
651
756
  },
652
- "label": "Reopen",
757
+ "type": "button",
653
758
  "action": "REOPEN_MATTER",
654
- "variant": "primary",
655
- "type": "button"
759
+ "variant": "primary"
656
760
  }
657
761
  ]
658
762
  }
659
- ],
660
- "gap": "md",
661
- "direction": "vertical"
763
+ ]
662
764
  }
663
765
  ]
664
766
  ]
@@ -687,22 +789,106 @@
687
789
  "render-ui",
688
790
  "main",
689
791
  {
690
- "gap": "md",
691
- "direction": "vertical",
792
+ "children": [
793
+ {
794
+ "type": "spinner"
795
+ },
796
+ {
797
+ "content": "Closing matter…",
798
+ "variant": "caption",
799
+ "color": "muted",
800
+ "type": "typography"
801
+ }
802
+ ],
692
803
  "align": "center",
804
+ "direction": "vertical",
805
+ "className": "py-12",
806
+ "type": "stack",
807
+ "gap": "md"
808
+ }
809
+ ]
810
+ ]
811
+ },
812
+ {
813
+ "from": "browsing",
814
+ "to": "loading",
815
+ "event": "SET_STATUS",
816
+ "effects": [
817
+ [
818
+ "set",
819
+ "@entity.id",
820
+ "@payload.entityId"
821
+ ],
822
+ [
823
+ "set",
824
+ "@entity.status",
825
+ "@payload.newStatus"
826
+ ],
827
+ [
828
+ "persist",
829
+ "update",
830
+ "Matter",
831
+ "@entity",
832
+ {
833
+ "emit": {
834
+ "success": "MatterUpdated",
835
+ "failure": "MatterUpdateFailed"
836
+ }
837
+ }
838
+ ],
839
+ [
840
+ "render-ui",
841
+ "main",
842
+ {
693
843
  "type": "stack",
694
844
  "className": "py-12",
845
+ "gap": "md",
695
846
  "children": [
696
847
  {
697
848
  "type": "spinner"
698
849
  },
699
850
  {
851
+ "content": "Updating matter status…",
700
852
  "variant": "caption",
701
- "content": "Closing matter…",
702
- "color": "muted",
703
- "type": "typography"
853
+ "type": "typography",
854
+ "color": "muted"
704
855
  }
705
- ]
856
+ ],
857
+ "align": "center",
858
+ "direction": "vertical"
859
+ }
860
+ ]
861
+ ]
862
+ },
863
+ {
864
+ "from": "browsing",
865
+ "to": "loading",
866
+ "event": "MatterUpdated",
867
+ "effects": [
868
+ [
869
+ "fetch",
870
+ "Matter",
871
+ {
872
+ "emit": {
873
+ "failure": "MatterLoadFailed",
874
+ "success": "MatterLoaded"
875
+ }
876
+ }
877
+ ]
878
+ ]
879
+ },
880
+ {
881
+ "from": "browsing",
882
+ "to": "browsing",
883
+ "event": "MatterUpdateFailed",
884
+ "effects": [
885
+ [
886
+ "render-ui",
887
+ "main",
888
+ {
889
+ "type": "alert",
890
+ "variant": "error",
891
+ "message": "@payload.error"
706
892
  }
707
893
  ]
708
894
  ]
@@ -727,21 +913,21 @@
727
913
  "main",
728
914
  {
729
915
  "align": "center",
730
- "className": "py-12",
916
+ "type": "stack",
917
+ "gap": "md",
918
+ "direction": "vertical",
731
919
  "children": [
732
920
  {
733
921
  "type": "spinner"
734
922
  },
735
923
  {
736
- "color": "muted",
737
- "type": "typography",
738
924
  "variant": "caption",
739
- "content": "Loading matters…"
925
+ "content": "Loading matters…",
926
+ "type": "typography",
927
+ "color": "muted"
740
928
  }
741
929
  ],
742
- "direction": "vertical",
743
- "type": "stack",
744
- "gap": "md"
930
+ "className": "py-12"
745
931
  }
746
932
  ]
747
933
  ]
@@ -770,22 +956,22 @@
770
956
  "render-ui",
771
957
  "main",
772
958
  {
959
+ "align": "center",
773
960
  "direction": "vertical",
774
961
  "type": "stack",
775
- "align": "center",
776
- "gap": "md",
777
962
  "className": "py-12",
778
963
  "children": [
779
964
  {
780
965
  "type": "spinner"
781
966
  },
782
967
  {
783
- "type": "typography",
968
+ "color": "muted",
784
969
  "content": "Closing matter…",
785
- "variant": "caption",
786
- "color": "muted"
970
+ "type": "typography",
971
+ "variant": "caption"
787
972
  }
788
- ]
973
+ ],
974
+ "gap": "md"
789
975
  }
790
976
  ]
791
977
  ]
@@ -814,21 +1000,21 @@
814
1000
  "render-ui",
815
1001
  "main",
816
1002
  {
817
- "type": "stack",
818
- "gap": "md",
819
1003
  "align": "center",
820
- "className": "py-12",
821
1004
  "children": [
822
1005
  {
823
1006
  "type": "spinner"
824
1007
  },
825
1008
  {
826
- "color": "muted",
827
- "variant": "caption",
828
1009
  "type": "typography",
829
- "content": "Putting matter on hold…"
1010
+ "content": "Putting matter on hold…",
1011
+ "color": "muted",
1012
+ "variant": "caption"
830
1013
  }
831
1014
  ],
1015
+ "type": "stack",
1016
+ "gap": "md",
1017
+ "className": "py-12",
832
1018
  "direction": "vertical"
833
1019
  }
834
1020
  ]
@@ -849,8 +1035,8 @@
849
1035
  "Matter",
850
1036
  {
851
1037
  "emit": {
852
- "failure": "MatterLoadFailed",
853
- "success": "MatterLoaded"
1038
+ "success": "MatterLoaded",
1039
+ "failure": "MatterLoadFailed"
854
1040
  }
855
1041
  }
856
1042
  ],
@@ -858,22 +1044,22 @@
858
1044
  "render-ui",
859
1045
  "main",
860
1046
  {
861
- "direction": "vertical",
1047
+ "gap": "md",
862
1048
  "type": "stack",
863
- "className": "py-12",
864
1049
  "align": "center",
865
1050
  "children": [
866
1051
  {
867
1052
  "type": "spinner"
868
1053
  },
869
1054
  {
870
- "variant": "caption",
871
- "color": "muted",
872
1055
  "type": "typography",
873
- "content": "Reopening matter…"
1056
+ "content": "Reopening matter…",
1057
+ "variant": "caption",
1058
+ "color": "muted"
874
1059
  }
875
1060
  ],
876
- "gap": "md"
1061
+ "className": "py-12",
1062
+ "direction": "vertical"
877
1063
  }
878
1064
  ]
879
1065
  ]
@@ -888,8 +1074,8 @@
888
1074
  "Matter",
889
1075
  {
890
1076
  "emit": {
891
- "success": "MatterLoaded",
892
- "failure": "MatterLoadFailed"
1077
+ "failure": "MatterLoadFailed",
1078
+ "success": "MatterLoaded"
893
1079
  }
894
1080
  }
895
1081
  ],
@@ -897,8 +1083,8 @@
897
1083
  "render-ui",
898
1084
  "main",
899
1085
  {
900
- "type": "spinner",
901
- "size": "sm"
1086
+ "size": "sm",
1087
+ "type": "spinner"
902
1088
  }
903
1089
  ]
904
1090
  ]
@@ -906,38 +1092,110 @@
906
1092
  ]
907
1093
  },
908
1094
  "config": {
1095
+ "title": {
1096
+ "type": "string",
1097
+ "default": "Matters",
1098
+ "label": "Section title",
1099
+ "description": "Heading shown above the legal matter docket",
1100
+ "tier": "customization"
1101
+ },
1102
+ "conflictCheckRequired": {
1103
+ "type": "boolean",
1104
+ "default": true,
1105
+ "label": "Conflict check required",
1106
+ "description": "Require a conflict-of-interest check before opening a new matter.",
1107
+ "tier": "essential"
1108
+ },
1109
+ "practiceArea": {
1110
+ "type": "string",
1111
+ "default": "",
1112
+ "label": "Default practice area",
1113
+ "description": "Practice area applied to new matters when not set per-row (litigation, IP, immigration, …).",
1114
+ "tier": "customization"
1115
+ },
1116
+ "itemActions": {
1117
+ "type": "[ItemAction]",
1118
+ "default": [
1119
+ {
1120
+ "event": "OPEN_MATTER",
1121
+ "label": "Open",
1122
+ "variant": "primary",
1123
+ "icon": "arrow-right"
1124
+ },
1125
+ {
1126
+ "event": "CLOSE_MATTER",
1127
+ "label": "Close",
1128
+ "variant": "danger"
1129
+ }
1130
+ ],
1131
+ "label": "Row actions",
1132
+ "description": "Buttons users can click on each matter row",
1133
+ "tier": "customization",
1134
+ "items": {
1135
+ "type": "object",
1136
+ "properties": {
1137
+ "label": {
1138
+ "name": "label",
1139
+ "type": "string",
1140
+ "required": true
1141
+ },
1142
+ "event": {
1143
+ "name": "event",
1144
+ "type": "string",
1145
+ "required": true
1146
+ },
1147
+ "variant": {
1148
+ "name": "variant",
1149
+ "type": "string",
1150
+ "required": false
1151
+ },
1152
+ "icon": {
1153
+ "name": "icon",
1154
+ "type": "string",
1155
+ "required": false
1156
+ }
1157
+ }
1158
+ }
1159
+ },
1160
+ "billingRateDefault": {
1161
+ "type": "number",
1162
+ "default": 0.0,
1163
+ "label": "Default billing rate",
1164
+ "description": "Default hourly billing rate applied when a matter's leadAttorney has no rate set.",
1165
+ "tier": "customization"
1166
+ },
909
1167
  "fields": {
910
1168
  "type": "[FieldSpec]",
911
1169
  "default": [
912
1170
  {
913
- "name": "matterNumber",
914
1171
  "variant": "caption",
1172
+ "name": "matterNumber",
915
1173
  "label": "Matter #"
916
1174
  },
917
1175
  {
918
- "label": "Title",
919
1176
  "name": "title",
1177
+ "label": "Title",
920
1178
  "variant": "caption"
921
1179
  },
922
1180
  {
923
1181
  "name": "clientName",
924
- "variant": "caption",
925
- "label": "Client"
1182
+ "label": "Client",
1183
+ "variant": "caption"
926
1184
  },
927
1185
  {
928
1186
  "variant": "badge",
929
- "name": "practiceArea",
930
- "label": "Practice"
1187
+ "label": "Practice",
1188
+ "name": "practiceArea"
931
1189
  },
932
1190
  {
933
- "name": "leadAttorney",
1191
+ "label": "Lead",
934
1192
  "variant": "caption",
935
- "label": "Lead"
1193
+ "name": "leadAttorney"
936
1194
  },
937
1195
  {
938
- "label": "Status",
939
1196
  "variant": "badge",
940
- "name": "status"
1197
+ "name": "status",
1198
+ "label": "Status"
941
1199
  }
942
1200
  ],
943
1201
  "label": "Columns to show",
@@ -946,16 +1204,6 @@
946
1204
  "items": {
947
1205
  "type": "object",
948
1206
  "properties": {
949
- "format": {
950
- "name": "format",
951
- "type": "string",
952
- "required": false
953
- },
954
- "icon": {
955
- "name": "icon",
956
- "type": "string",
957
- "required": false
958
- },
959
1207
  "key": {
960
1208
  "name": "key",
961
1209
  "type": "string",
@@ -966,74 +1214,52 @@
966
1214
  "type": "string",
967
1215
  "required": false
968
1216
  },
969
- "name": {
970
- "name": "name",
1217
+ "variant": {
1218
+ "name": "variant",
971
1219
  "type": "string",
972
- "required": true
1220
+ "required": false
973
1221
  },
974
1222
  "label": {
975
1223
  "name": "label",
976
1224
  "type": "string",
977
1225
  "required": false
978
1226
  },
979
- "variant": {
980
- "name": "variant",
1227
+ "name": {
1228
+ "name": "name",
981
1229
  "type": "string",
982
- "required": false
983
- }
984
- }
985
- }
986
- },
987
- "itemActions": {
988
- "type": "[ItemAction]",
989
- "default": [
990
- {
991
- "label": "Open",
992
- "variant": "primary",
993
- "icon": "arrow-right",
994
- "event": "OPEN_MATTER"
995
- },
996
- {
997
- "variant": "danger",
998
- "event": "CLOSE_MATTER",
999
- "label": "Close"
1000
- }
1001
- ],
1002
- "label": "Row actions",
1003
- "description": "Buttons users can click on each matter row",
1004
- "tier": "customization",
1005
- "items": {
1006
- "type": "object",
1007
- "properties": {
1230
+ "required": true
1231
+ },
1008
1232
  "icon": {
1009
1233
  "name": "icon",
1010
1234
  "type": "string",
1011
1235
  "required": false
1012
1236
  },
1013
- "label": {
1014
- "name": "label",
1015
- "type": "string",
1016
- "required": true
1017
- },
1018
- "variant": {
1019
- "name": "variant",
1237
+ "format": {
1238
+ "name": "format",
1020
1239
  "type": "string",
1021
1240
  "required": false
1022
- },
1023
- "event": {
1024
- "name": "event",
1025
- "type": "string",
1026
- "required": true
1027
1241
  }
1028
1242
  }
1029
1243
  }
1030
1244
  },
1031
- "title": {
1032
- "type": "string",
1033
- "default": "Matters",
1034
- "label": "Section title",
1035
- "description": "Heading shown above the legal matter docket",
1245
+ "retainerRequired": {
1246
+ "type": "boolean",
1247
+ "default": false,
1248
+ "label": "Retainer required",
1249
+ "description": "Block opening a matter until a retainer is recorded.",
1036
1250
  "tier": "customization"
1251
+ },
1252
+ "clientConfidentialityLevel": {
1253
+ "type": "string",
1254
+ "default": "standard",
1255
+ "label": "Confidentiality level",
1256
+ "description": "Default client confidentiality level for new matters.",
1257
+ "tier": "customization",
1258
+ "values": [
1259
+ "standard",
1260
+ "elevated",
1261
+ "restricted"
1262
+ ]
1037
1263
  }
1038
1264
  },
1039
1265
  "scope": "collection"
@@ -1052,4 +1278,4 @@
1052
1278
  ]
1053
1279
  }
1054
1280
  ]
1055
- }
1281
+ }