@almadar/std 14.26.0 → 14.28.0

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 (175) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  3. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  4. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  5. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  6. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  7. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  8. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  9. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  10. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  11. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  12. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  13. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  14. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  15. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  16. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  17. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  18. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  19. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  20. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  21. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  22. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  23. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  24. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  25. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  26. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  27. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  28. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  29. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  30. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  31. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  32. package/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  33. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  34. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  35. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  36. package/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  37. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  38. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  39. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  40. package/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  45. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  47. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  49. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  50. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  54. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  57. package/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  58. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  59. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  60. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  63. package/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  64. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  65. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  66. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  67. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  68. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  69. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  70. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  71. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  72. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  73. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  74. package/behaviors/registry/core/atoms/std-board.orb +1367 -0
  75. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  76. package/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  77. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  78. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  79. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  80. package/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  81. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  82. package/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  83. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  84. package/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  85. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  86. package/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  87. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  88. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  89. package/dist/behaviors/registry/app/atoms/std-approval-chain.orb +106 -0
  90. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  91. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  92. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  93. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  94. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  95. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  96. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  97. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  98. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  99. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  100. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  101. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  102. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  103. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  104. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  105. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  106. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  107. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  108. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  109. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  110. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  111. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  112. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  113. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  114. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  115. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  116. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  117. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  118. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  119. package/dist/behaviors/registry/app/atoms/std-multi-party-transaction.orb +130 -0
  120. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  121. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  122. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  123. package/dist/behaviors/registry/app/atoms/std-pipeline.orb +139 -0
  124. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  125. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  126. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  127. package/dist/behaviors/registry/app/atoms/std-recurring-schedule.orb +94 -0
  128. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  129. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  130. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  131. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  132. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  133. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  134. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  135. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  136. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  137. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  138. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  139. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  140. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  141. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  142. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  143. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  144. package/dist/behaviors/registry/app/atoms/std-timeline.orb +108 -0
  145. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  146. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  147. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  148. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  149. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  150. package/dist/behaviors/registry/app/atoms/std-wizard-branching.orb +129 -0
  151. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  152. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  153. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  154. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  155. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  156. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  157. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  158. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  159. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  160. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  161. package/dist/behaviors/registry/core/atoms/std-board.orb +1367 -0
  162. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  163. package/dist/behaviors/registry/core/atoms/std-event-log.orb +777 -0
  164. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  165. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  166. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  167. package/dist/behaviors/registry/core/atoms/std-multi-party-flow.orb +1313 -0
  168. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  169. package/dist/behaviors/registry/core/atoms/std-recurrence.orb +937 -0
  170. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  171. package/dist/behaviors/registry/core/atoms/std-step-flow.orb +1155 -0
  172. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  173. package/dist/behaviors/registry/core/atoms/std-wizard.orb +1085 -0
  174. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  175. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-matter",
3
3
  "version": "1.0.0",
4
- "description": "std-matter — legal matter primitive: a single legal case (litigation, contract review, immigration filing) with client, status, lead attorney, and billing reference.",
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.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "MatterOrbital",
@@ -85,7 +85,7 @@
85
85
  "linkedEntity": "Matter",
86
86
  "emits": [
87
87
  {
88
- "event": "CLOSE_MATTER",
88
+ "event": "OPEN_MATTER",
89
89
  "payloadSchema": [
90
90
  {
91
91
  "name": "id",
@@ -139,56 +139,25 @@
139
139
  ]
140
140
  },
141
141
  {
142
- "event": "HOLD_MATTER",
142
+ "event": "CLOSE_VIEW"
143
+ },
144
+ {
145
+ "event": "CLOSE_MATTER",
143
146
  "payloadSchema": [
144
147
  {
145
148
  "name": "id",
146
149
  "type": "string",
147
150
  "required": true
148
- },
149
- {
150
- "name": "row.id",
151
- "type": "string",
152
- "required": true
153
- },
154
- {
155
- "name": "row.matterNumber",
156
- "type": "string",
157
- "required": true
158
- },
159
- {
160
- "name": "row.title",
161
- "type": "string",
162
- "required": true
163
- },
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "event": "HOLD_MATTER",
156
+ "payloadSchema": [
164
157
  {
165
- "name": "row.clientName",
158
+ "name": "id",
166
159
  "type": "string",
167
160
  "required": true
168
- },
169
- {
170
- "name": "row.practiceArea",
171
- "type": "string"
172
- },
173
- {
174
- "name": "row.leadAttorney",
175
- "type": "string"
176
- },
177
- {
178
- "name": "row.status",
179
- "type": "string"
180
- },
181
- {
182
- "name": "row.openedAt",
183
- "type": "string"
184
- },
185
- {
186
- "name": "row.closedAt",
187
- "type": "string"
188
- },
189
- {
190
- "name": "row.notes",
191
- "type": "string"
192
161
  }
193
162
  ]
194
163
  },
@@ -199,50 +168,6 @@
199
168
  "name": "id",
200
169
  "type": "string",
201
170
  "required": true
202
- },
203
- {
204
- "name": "row.id",
205
- "type": "string",
206
- "required": true
207
- },
208
- {
209
- "name": "row.matterNumber",
210
- "type": "string",
211
- "required": true
212
- },
213
- {
214
- "name": "row.title",
215
- "type": "string",
216
- "required": true
217
- },
218
- {
219
- "name": "row.clientName",
220
- "type": "string",
221
- "required": true
222
- },
223
- {
224
- "name": "row.practiceArea",
225
- "type": "string"
226
- },
227
- {
228
- "name": "row.leadAttorney",
229
- "type": "string"
230
- },
231
- {
232
- "name": "row.status",
233
- "type": "string"
234
- },
235
- {
236
- "name": "row.openedAt",
237
- "type": "string"
238
- },
239
- {
240
- "name": "row.closedAt",
241
- "type": "string"
242
- },
243
- {
244
- "name": "row.notes",
245
- "type": "string"
246
171
  }
247
172
  ]
248
173
  },
@@ -278,6 +203,9 @@
278
203
  {
279
204
  "name": "browsing"
280
205
  },
206
+ {
207
+ "name": "viewing_single"
208
+ },
281
209
  {
282
210
  "name": "error"
283
211
  }
@@ -311,6 +239,21 @@
311
239
  }
312
240
  ]
313
241
  },
242
+ {
243
+ "key": "OPEN_MATTER",
244
+ "name": "Open Matter",
245
+ "payloadSchema": [
246
+ {
247
+ "name": "id",
248
+ "type": "string",
249
+ "required": true
250
+ },
251
+ {
252
+ "name": "row",
253
+ "type": "Matter"
254
+ }
255
+ ]
256
+ },
314
257
  {
315
258
  "key": "CLOSE_MATTER",
316
259
  "name": "Close Matter",
@@ -322,6 +265,10 @@
322
265
  }
323
266
  ]
324
267
  },
268
+ {
269
+ "key": "CLOSE_VIEW",
270
+ "name": "Close View"
271
+ },
325
272
  {
326
273
  "key": "HOLD_MATTER",
327
274
  "name": "Hold Matter",
@@ -365,22 +312,22 @@
365
312
  "render-ui",
366
313
  "main",
367
314
  {
368
- "direction": "vertical",
369
- "className": "py-12",
370
- "align": "center",
371
315
  "type": "stack",
316
+ "className": "py-12",
317
+ "gap": "md",
372
318
  "children": [
373
319
  {
374
320
  "type": "spinner"
375
321
  },
376
322
  {
377
- "type": "typography",
378
- "color": "muted",
379
323
  "content": "Loading matters…",
380
- "variant": "caption"
324
+ "variant": "caption",
325
+ "type": "typography",
326
+ "color": "muted"
381
327
  }
382
328
  ],
383
- "gap": "md"
329
+ "direction": "vertical",
330
+ "align": "center"
384
331
  }
385
332
  ]
386
333
  ]
@@ -396,303 +343,455 @@
396
343
  {
397
344
  "children": [
398
345
  {
399
- "type": "breadcrumb",
400
- "items": [
346
+ "type": "stack",
347
+ "align": "center",
348
+ "gap": "sm",
349
+ "children": [
401
350
  {
402
- "label": "Court"
351
+ "type": "icon",
352
+ "name": "scale"
403
353
  },
404
354
  {
405
- "label": "Cases"
355
+ "variant": "h3",
356
+ "type": "typography",
357
+ "content": "@config.title"
358
+ }
359
+ ],
360
+ "direction": "horizontal"
361
+ },
362
+ {
363
+ "children": [
364
+ {
365
+ "value": "@payload.data.length",
366
+ "label": "Total matters",
367
+ "type": "stat-display",
368
+ "icon": "scale"
369
+ },
370
+ {
371
+ "label": "Active",
372
+ "value": "34",
373
+ "type": "stat-display",
374
+ "icon": "play-circle"
375
+ },
376
+ {
377
+ "value": "6",
378
+ "icon": "pause-circle",
379
+ "type": "stat-display",
380
+ "label": "On hold"
406
381
  },
407
382
  {
408
- "label": "Matter"
383
+ "type": "stat-display",
384
+ "label": "Closed this month",
385
+ "icon": "check-circle",
386
+ "value": "12"
409
387
  }
410
- ]
388
+ ],
389
+ "type": "simple-grid",
390
+ "cols": 4.0
411
391
  },
412
392
  {
413
- "currentStep": 1.0,
414
- "type": "wizard-progress",
415
- "steps": [
393
+ "type": "divider"
394
+ },
395
+ {
396
+ "cols": 1.0,
397
+ "gap": "sm",
398
+ "itemActions": [
416
399
  {
417
- "id": "intake",
418
- "title": "Intake"
400
+ "icon": "arrow-right",
401
+ "variant": "primary",
402
+ "label": "Open",
403
+ "event": "OPEN_MATTER"
419
404
  },
420
405
  {
421
- "id": "discovery",
422
- "title": "Discovery"
406
+ "label": "Close",
407
+ "event": "CLOSE_MATTER",
408
+ "variant": "danger"
409
+ }
410
+ ],
411
+ "type": "data-grid",
412
+ "entity": "@payload.data",
413
+ "fields": [
414
+ {
415
+ "variant": "caption",
416
+ "name": "matterNumber",
417
+ "label": "Matter #"
423
418
  },
424
419
  {
425
- "id": "pretrial",
426
- "title": "Pre-Trial"
420
+ "variant": "caption",
421
+ "label": "Title",
422
+ "name": "title"
427
423
  },
428
424
  {
429
- "title": "Trial",
430
- "id": "trial"
425
+ "label": "Client",
426
+ "name": "clientName",
427
+ "variant": "caption"
431
428
  },
432
429
  {
433
- "id": "closed",
434
- "title": "Closed"
430
+ "variant": "badge",
431
+ "name": "practiceArea",
432
+ "label": "Practice"
433
+ },
434
+ {
435
+ "variant": "caption",
436
+ "name": "leadAttorney",
437
+ "label": "Lead"
438
+ },
439
+ {
440
+ "variant": "badge",
441
+ "name": "status",
442
+ "label": "Status"
435
443
  }
436
444
  ]
437
- },
445
+ }
446
+ ],
447
+ "direction": "vertical",
448
+ "type": "stack",
449
+ "gap": "md"
450
+ }
451
+ ]
452
+ ]
453
+ },
454
+ {
455
+ "from": "loading",
456
+ "to": "error",
457
+ "event": "MatterLoadFailed",
458
+ "effects": [
459
+ [
460
+ "render-ui",
461
+ "main",
462
+ {
463
+ "variant": "error",
464
+ "message": "@payload.error",
465
+ "type": "alert"
466
+ }
467
+ ]
468
+ ]
469
+ },
470
+ {
471
+ "from": "browsing",
472
+ "to": "viewing_single",
473
+ "event": "OPEN_MATTER",
474
+ "effects": [
475
+ [
476
+ "set",
477
+ "@entity.id",
478
+ "@payload.row.id"
479
+ ],
480
+ [
481
+ "set",
482
+ "@entity.matterNumber",
483
+ "@payload.row.matterNumber"
484
+ ],
485
+ [
486
+ "set",
487
+ "@entity.title",
488
+ "@payload.row.title"
489
+ ],
490
+ [
491
+ "set",
492
+ "@entity.clientName",
493
+ "@payload.row.clientName"
494
+ ],
495
+ [
496
+ "set",
497
+ "@entity.practiceArea",
498
+ "@payload.row.practiceArea"
499
+ ],
500
+ [
501
+ "set",
502
+ "@entity.leadAttorney",
503
+ "@payload.row.leadAttorney"
504
+ ],
505
+ [
506
+ "set",
507
+ "@entity.status",
508
+ "@payload.row.status"
509
+ ],
510
+ [
511
+ "set",
512
+ "@entity.openedAt",
513
+ "@payload.row.openedAt"
514
+ ],
515
+ [
516
+ "set",
517
+ "@entity.closedAt",
518
+ "@payload.row.closedAt"
519
+ ],
520
+ [
521
+ "set",
522
+ "@entity.notes",
523
+ "@payload.row.notes"
524
+ ],
525
+ [
526
+ "render-ui",
527
+ "main",
528
+ {
529
+ "direction": "vertical",
530
+ "children": [
438
531
  {
439
- "type": "stack",
440
532
  "children": [
533
+ {
534
+ "action": "CLOSE_VIEW",
535
+ "type": "button",
536
+ "variant": "ghost",
537
+ "label": "Back"
538
+ },
441
539
  {
442
540
  "type": "icon",
443
541
  "name": "scale"
444
542
  },
445
543
  {
446
- "type": "typography",
447
- "content": "@config.title",
448
- "variant": "h3"
544
+ "content": "@entity.title",
545
+ "variant": "h3",
546
+ "type": "typography"
547
+ },
548
+ {
549
+ "label": "@entity.practiceArea",
550
+ "variant": "primary",
551
+ "type": "badge"
552
+ },
553
+ {
554
+ "label": "@entity.status",
555
+ "variant": "default",
556
+ "type": "badge"
449
557
  }
450
558
  ],
451
559
  "direction": "horizontal",
452
- "gap": "sm"
560
+ "gap": "sm",
561
+ "type": "stack",
562
+ "align": "center"
453
563
  },
454
564
  {
455
565
  "type": "divider"
456
566
  },
457
567
  {
458
- "direction": "horizontal",
459
- "type": "stack",
460
568
  "children": [
461
569
  {
462
- "tree": [
570
+ "gap": "md",
571
+ "type": "stack",
572
+ "direction": "horizontal",
573
+ "children": [
574
+ {
575
+ "color": "muted",
576
+ "content": "Matter #",
577
+ "variant": "caption",
578
+ "type": "typography"
579
+ },
580
+ {
581
+ "type": "typography",
582
+ "variant": "body",
583
+ "content": "@entity.matterNumber"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "gap": "md",
589
+ "direction": "horizontal",
590
+ "children": [
463
591
  {
464
- "name": "Pleadings",
465
- "type": "dir",
466
- "path": "Pleadings",
467
- "children": [
468
- {
469
- "path": "Complaint.pdf",
470
- "name": "Complaint.pdf",
471
- "type": "file"
472
- },
473
- {
474
- "path": "Answer.pdf",
475
- "name": "Answer.pdf",
476
- "type": "file"
477
- }
478
- ]
592
+ "type": "typography",
593
+ "content": "Client",
594
+ "color": "muted",
595
+ "variant": "caption"
479
596
  },
480
597
  {
481
- "children": [
482
- {
483
- "name": "Interrogatories.pdf",
484
- "path": "Discovery/Interrogatories.pdf",
485
- "type": "file"
486
- },
487
- {
488
- "type": "dir",
489
- "name": "Depositions",
490
- "children": [
491
- {
492
- "name": "Smith.pdf",
493
- "path": "Discovery/Depositions/Smith.pdf",
494
- "type": "file"
495
- }
496
- ],
497
- "path": "Discovery/Depositions"
498
- }
499
- ],
500
- "type": "dir",
501
- "name": "Discovery",
502
- "path": "Discovery"
598
+ "type": "typography",
599
+ "variant": "body",
600
+ "content": "@entity.clientName"
601
+ }
602
+ ],
603
+ "type": "stack"
604
+ },
605
+ {
606
+ "direction": "horizontal",
607
+ "children": [
608
+ {
609
+ "content": "Lead attorney",
610
+ "type": "typography",
611
+ "color": "muted",
612
+ "variant": "caption"
503
613
  },
504
614
  {
505
- "name": "Motions",
506
- "path": "Motions",
507
- "type": "dir",
508
- "children": [
509
- {
510
- "name": "Motion-to-Dismiss.pdf",
511
- "path": "Motions/Motion-to-Dismiss.pdf",
512
- "type": "file"
513
- }
514
- ]
615
+ "content": "@entity.leadAttorney",
616
+ "type": "typography",
617
+ "variant": "body"
515
618
  }
516
619
  ],
517
- "type": "file-tree"
620
+ "type": "stack",
621
+ "gap": "md"
518
622
  },
519
623
  {
520
624
  "children": [
521
625
  {
522
- "type": "accordion",
523
- "items": [
524
- {
525
- "id": "facts",
526
- "title": "Facts of the Case",
527
- "content": "Plaintiff alleges breach of contract dated 2025-08-01."
528
- },
529
- {
530
- "title": "Legal Issues",
531
- "id": "issues",
532
- "content": "Material breach, damages calculation, statute of limitations."
533
- },
534
- {
535
- "id": "strategy",
536
- "title": "Strategy",
537
- "content": "Motion practice followed by summary judgment."
538
- }
539
- ]
626
+ "type": "typography",
627
+ "content": "Notes",
628
+ "color": "muted",
629
+ "variant": "caption"
540
630
  },
541
631
  {
542
- "type": "law-reference-tooltip",
543
- "children": [
544
- {
545
- "type": "typography",
546
- "content": "Rule 12(b)(6) motion pending"
547
- }
548
- ],
549
- "reference": {
550
- "clause": "Failure to State a Claim",
551
- "law": "FRCP",
552
- "article": "12(b)(6)"
553
- },
554
- "position": "top"
632
+ "type": "typography",
633
+ "variant": "body",
634
+ "content": "@entity.notes"
555
635
  }
556
636
  ],
637
+ "gap": "md",
557
638
  "type": "stack",
558
- "direction": "vertical",
559
- "gap": "sm"
639
+ "direction": "horizontal"
560
640
  }
561
641
  ],
562
- "gap": "md"
563
- },
564
- {
565
- "title": "Complaint.pdf",
566
- "showToolbar": true,
567
- "totalPages": 24.0,
568
- "type": "document-viewer",
569
- "src": "/docs/complaint.pdf",
570
- "currentPage": 1.0,
571
- "documentType": "pdf"
642
+ "direction": "vertical",
643
+ "gap": "sm",
644
+ "type": "stack"
572
645
  },
573
646
  {
574
- "next": {
575
- "href": "#next",
576
- "label": "Next Page"
577
- },
578
- "type": "doc-pagination",
579
- "prev": {
580
- "label": "Previous Page",
581
- "href": "#prev"
582
- }
647
+ "type": "divider"
583
648
  },
584
649
  {
585
- "activeQuestId": "answer-due",
586
- "type": "quest-tracker",
587
- "quests": [
588
- {
589
- "progress": 0.0,
590
- "id": "answer-due",
591
- "title": "File Answer",
592
- "maxProgress": 1.0,
593
- "active": true
594
- },
650
+ "cols": 2.0,
651
+ "type": "simple-grid",
652
+ "children": [
595
653
  {
596
- "maxProgress": 1.0,
597
- "progress": 0.0,
598
- "title": "Discovery Cutoff",
599
- "id": "discovery-cutoff"
654
+ "value": "@entity.openedAt",
655
+ "icon": "calendar",
656
+ "type": "stat-display",
657
+ "label": "Opened"
600
658
  },
601
659
  {
602
- "id": "pretrial-brief",
603
- "progress": 0.0,
604
- "title": "Pretrial Brief",
605
- "maxProgress": 1.0
660
+ "icon": "calendar-check",
661
+ "type": "stat-display",
662
+ "value": "@entity.closedAt",
663
+ "label": "Closed"
606
664
  }
607
665
  ]
608
666
  },
609
667
  {
610
- "direction": "ltr",
611
- "type": "content-renderer",
612
- "content": "Status conference scheduled. All parties to appear. Discovery is ongoing."
613
- },
614
- {
615
- "type": "data-grid",
616
- "fields": [
617
- {
618
- "variant": "caption",
619
- "label": "Matter #",
620
- "name": "matterNumber"
621
- },
622
- {
623
- "name": "title",
624
- "label": "Title",
625
- "variant": "caption"
626
- },
627
- {
628
- "label": "Client",
629
- "name": "clientName",
630
- "variant": "caption"
631
- },
632
- {
633
- "label": "Practice",
634
- "variant": "badge",
635
- "name": "practiceArea"
636
- },
637
- {
638
- "variant": "caption",
639
- "name": "leadAttorney",
640
- "label": "Lead"
641
- },
642
- {
643
- "name": "status",
644
- "label": "Status",
645
- "variant": "badge"
646
- }
647
- ],
648
- "cols": 1.0,
668
+ "direction": "horizontal",
649
669
  "gap": "sm",
650
- "entity": "@payload.data",
651
- "itemActions": [
670
+ "align": "center",
671
+ "children": [
652
672
  {
653
- "event": "CLOSE_MATTER",
654
- "label": "Close",
655
- "variant": "primary"
673
+ "action": "CLOSE_MATTER",
674
+ "label": "Close Matter",
675
+ "actionPayload": {
676
+ "id": "@entity.id"
677
+ },
678
+ "type": "button",
679
+ "variant": "danger"
656
680
  },
657
681
  {
658
- "event": "HOLD_MATTER",
682
+ "type": "button",
659
683
  "label": "Hold",
660
- "variant": "ghost"
684
+ "variant": "secondary",
685
+ "action": "HOLD_MATTER",
686
+ "actionPayload": {
687
+ "id": "@entity.id"
688
+ }
661
689
  },
662
690
  {
663
- "event": "REOPEN_MATTER",
664
- "variant": "ghost",
665
- "label": "Reopen"
691
+ "label": "Reopen",
692
+ "actionPayload": {
693
+ "id": "@entity.id"
694
+ },
695
+ "type": "button",
696
+ "variant": "primary",
697
+ "action": "REOPEN_MATTER"
666
698
  }
667
- ]
699
+ ],
700
+ "type": "stack"
668
701
  }
669
702
  ],
670
- "gap": "md",
671
703
  "type": "stack",
672
- "direction": "vertical"
704
+ "gap": "md"
673
705
  }
674
706
  ]
675
707
  ]
676
708
  },
677
709
  {
678
- "from": "loading",
679
- "to": "error",
680
- "event": "MatterLoadFailed",
710
+ "from": "browsing",
711
+ "to": "loading",
712
+ "event": "CLOSE_MATTER",
681
713
  "effects": [
714
+ [
715
+ "set",
716
+ "@entity.id",
717
+ "@payload.id"
718
+ ],
719
+ [
720
+ "fetch",
721
+ "Matter",
722
+ {
723
+ "emit": {
724
+ "success": "MatterLoaded",
725
+ "failure": "MatterLoadFailed"
726
+ }
727
+ }
728
+ ],
682
729
  [
683
730
  "render-ui",
684
731
  "main",
685
732
  {
686
- "type": "alert",
687
- "message": "@payload.error",
688
- "variant": "error"
733
+ "className": "py-12",
734
+ "children": [
735
+ {
736
+ "type": "spinner"
737
+ },
738
+ {
739
+ "color": "muted",
740
+ "variant": "caption",
741
+ "type": "typography",
742
+ "content": "Closing matter…"
743
+ }
744
+ ],
745
+ "align": "center",
746
+ "gap": "md",
747
+ "direction": "vertical",
748
+ "type": "stack"
689
749
  }
690
750
  ]
691
751
  ]
692
752
  },
693
753
  {
694
- "from": "browsing",
695
- "to": "browsing",
754
+ "from": "viewing_single",
755
+ "to": "loading",
756
+ "event": "CLOSE_VIEW",
757
+ "effects": [
758
+ [
759
+ "fetch",
760
+ "Matter",
761
+ {
762
+ "emit": {
763
+ "success": "MatterLoaded",
764
+ "failure": "MatterLoadFailed"
765
+ }
766
+ }
767
+ ],
768
+ [
769
+ "render-ui",
770
+ "main",
771
+ {
772
+ "align": "center",
773
+ "type": "stack",
774
+ "gap": "md",
775
+ "children": [
776
+ {
777
+ "type": "spinner"
778
+ },
779
+ {
780
+ "color": "muted",
781
+ "content": "Loading matters…",
782
+ "variant": "caption",
783
+ "type": "typography"
784
+ }
785
+ ],
786
+ "direction": "vertical",
787
+ "className": "py-12"
788
+ }
789
+ ]
790
+ ]
791
+ },
792
+ {
793
+ "from": "viewing_single",
794
+ "to": "loading",
696
795
  "event": "CLOSE_MATTER",
697
796
  "effects": [
698
797
  [
@@ -700,20 +799,43 @@
700
799
  "@entity.id",
701
800
  "@payload.id"
702
801
  ],
802
+ [
803
+ "fetch",
804
+ "Matter",
805
+ {
806
+ "emit": {
807
+ "failure": "MatterLoadFailed",
808
+ "success": "MatterLoaded"
809
+ }
810
+ }
811
+ ],
703
812
  [
704
813
  "render-ui",
705
814
  "main",
706
815
  {
707
- "variant": "success",
708
- "message": "Matter closed",
709
- "type": "alert"
816
+ "children": [
817
+ {
818
+ "type": "spinner"
819
+ },
820
+ {
821
+ "content": "Closing matter…",
822
+ "type": "typography",
823
+ "variant": "caption",
824
+ "color": "muted"
825
+ }
826
+ ],
827
+ "gap": "md",
828
+ "direction": "vertical",
829
+ "type": "stack",
830
+ "className": "py-12",
831
+ "align": "center"
710
832
  }
711
833
  ]
712
834
  ]
713
835
  },
714
836
  {
715
- "from": "browsing",
716
- "to": "browsing",
837
+ "from": "viewing_single",
838
+ "to": "loading",
717
839
  "event": "HOLD_MATTER",
718
840
  "effects": [
719
841
  [
@@ -721,20 +843,43 @@
721
843
  "@entity.id",
722
844
  "@payload.id"
723
845
  ],
846
+ [
847
+ "fetch",
848
+ "Matter",
849
+ {
850
+ "emit": {
851
+ "success": "MatterLoaded",
852
+ "failure": "MatterLoadFailed"
853
+ }
854
+ }
855
+ ],
724
856
  [
725
857
  "render-ui",
726
858
  "main",
727
859
  {
728
- "variant": "info",
729
- "message": "Matter on hold",
730
- "type": "alert"
860
+ "className": "py-12",
861
+ "children": [
862
+ {
863
+ "type": "spinner"
864
+ },
865
+ {
866
+ "content": "Putting matter on hold…",
867
+ "variant": "caption",
868
+ "color": "muted",
869
+ "type": "typography"
870
+ }
871
+ ],
872
+ "direction": "vertical",
873
+ "type": "stack",
874
+ "align": "center",
875
+ "gap": "md"
731
876
  }
732
877
  ]
733
878
  ]
734
879
  },
735
880
  {
736
- "from": "browsing",
737
- "to": "browsing",
881
+ "from": "viewing_single",
882
+ "to": "loading",
738
883
  "event": "REOPEN_MATTER",
739
884
  "effects": [
740
885
  [
@@ -742,13 +887,36 @@
742
887
  "@entity.id",
743
888
  "@payload.id"
744
889
  ],
890
+ [
891
+ "fetch",
892
+ "Matter",
893
+ {
894
+ "emit": {
895
+ "failure": "MatterLoadFailed",
896
+ "success": "MatterLoaded"
897
+ }
898
+ }
899
+ ],
745
900
  [
746
901
  "render-ui",
747
902
  "main",
748
903
  {
749
- "variant": "info",
750
- "type": "alert",
751
- "message": "Matter reopened"
904
+ "className": "py-12",
905
+ "children": [
906
+ {
907
+ "type": "spinner"
908
+ },
909
+ {
910
+ "type": "typography",
911
+ "content": "Reopening matter…",
912
+ "variant": "caption",
913
+ "color": "muted"
914
+ }
915
+ ],
916
+ "direction": "vertical",
917
+ "type": "stack",
918
+ "gap": "md",
919
+ "align": "center"
752
920
  }
753
921
  ]
754
922
  ]
@@ -763,8 +931,8 @@
763
931
  "Matter",
764
932
  {
765
933
  "emit": {
766
- "failure": "MatterLoadFailed",
767
- "success": "MatterLoaded"
934
+ "success": "MatterLoaded",
935
+ "failure": "MatterLoadFailed"
768
936
  }
769
937
  }
770
938
  ],
@@ -772,8 +940,8 @@
772
940
  "render-ui",
773
941
  "main",
774
942
  {
775
- "type": "spinner",
776
- "size": "sm"
943
+ "size": "sm",
944
+ "type": "spinner"
777
945
  }
778
946
  ]
779
947
  ]