@almadar/std 14.26.0 → 14.27.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 (151) hide show
  1. package/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  2. package/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  3. package/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  4. package/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  5. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  6. package/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  7. package/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  8. package/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  9. package/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  10. package/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  11. package/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  12. package/behaviors/registry/app/atoms/std-donor.orb +445 -135
  13. package/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  14. package/behaviors/registry/app/atoms/std-driver.orb +465 -480
  15. package/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  16. package/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  17. package/behaviors/registry/app/atoms/std-event.orb +465 -667
  18. package/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  19. package/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  20. package/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  21. package/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  22. package/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  23. package/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  24. package/behaviors/registry/app/atoms/std-lease.orb +506 -190
  25. package/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  26. package/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  27. package/behaviors/registry/app/atoms/std-matter.orb +486 -318
  28. package/behaviors/registry/app/atoms/std-membership.orb +512 -102
  29. package/behaviors/registry/app/atoms/std-menu.orb +775 -183
  30. package/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  31. package/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  32. package/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  33. package/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  34. package/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  35. package/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  36. package/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  37. package/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  38. package/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  39. package/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  40. package/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  41. package/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  42. package/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  43. package/behaviors/registry/app/atoms/std-segment.orb +360 -98
  44. package/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  45. package/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  46. package/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  47. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  48. package/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  49. package/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  50. package/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  51. package/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  52. package/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  53. package/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  54. package/behaviors/registry/app/atoms/std-trial.orb +410 -317
  55. package/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  56. package/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  57. package/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  58. package/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  59. package/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  60. package/behaviors/registry/app/molecules/std-application.orb +178 -263
  61. package/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  62. package/behaviors/registry/app/molecules/std-cart.orb +78 -72
  63. package/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  64. package/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  65. package/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  66. package/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  67. package/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  68. package/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  69. package/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  70. package/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  71. package/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  72. package/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  73. package/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  74. package/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  75. package/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  76. package/dist/behaviors/registry/app/atoms/std-applicant.orb +496 -42
  77. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +433 -593
  78. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +438 -228
  79. package/dist/behaviors/registry/app/atoms/std-change-order.orb +565 -307
  80. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +434 -97
  81. package/dist/behaviors/registry/app/atoms/std-checkin.orb +434 -270
  82. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +495 -61
  83. package/dist/behaviors/registry/app/atoms/std-class-session.orb +485 -104
  84. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +519 -88
  85. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +577 -97
  86. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +498 -55
  87. package/dist/behaviors/registry/app/atoms/std-donor.orb +445 -135
  88. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +445 -62
  89. package/dist/behaviors/registry/app/atoms/std-driver.orb +465 -480
  90. package/dist/behaviors/registry/app/atoms/std-dunning.orb +450 -512
  91. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +517 -64
  92. package/dist/behaviors/registry/app/atoms/std-event.orb +465 -667
  93. package/dist/behaviors/registry/app/atoms/std-health-score.orb +368 -371
  94. package/dist/behaviors/registry/app/atoms/std-help-article.orb +373 -506
  95. package/dist/behaviors/registry/app/atoms/std-help-category.orb +344 -359
  96. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +490 -48
  97. package/dist/behaviors/registry/app/atoms/std-invoice.orb +494 -291
  98. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +588 -96
  99. package/dist/behaviors/registry/app/atoms/std-lease.orb +506 -190
  100. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +483 -154
  101. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +642 -192
  102. package/dist/behaviors/registry/app/atoms/std-matter.orb +486 -318
  103. package/dist/behaviors/registry/app/atoms/std-membership.orb +512 -102
  104. package/dist/behaviors/registry/app/atoms/std-menu.orb +775 -183
  105. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +522 -104
  106. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +319 -327
  107. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +497 -47
  108. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +378 -362
  109. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +379 -346
  110. package/dist/behaviors/registry/app/atoms/std-receipt.orb +553 -44
  111. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +419 -832
  112. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +370 -421
  113. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +657 -55
  114. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +510 -59
  115. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +451 -144
  116. package/dist/behaviors/registry/app/atoms/std-rfi.orb +502 -461
  117. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +448 -158
  118. package/dist/behaviors/registry/app/atoms/std-segment.orb +360 -98
  119. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +486 -103
  120. package/dist/behaviors/registry/app/atoms/std-submittal.orb +538 -526
  121. package/dist/behaviors/registry/app/atoms/std-table-map.orb +88 -51
  122. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +653 -71
  123. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +310 -215
  124. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +513 -90
  125. package/dist/behaviors/registry/app/atoms/std-tenant.orb +525 -66
  126. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +472 -460
  127. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +354 -317
  128. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +551 -284
  129. package/dist/behaviors/registry/app/atoms/std-trial.orb +410 -317
  130. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +398 -563
  131. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +372 -283
  132. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +273 -214
  133. package/dist/behaviors/registry/app/atoms/std-work-order.orb +628 -240
  134. package/dist/behaviors/registry/app/molecules/std-applicant-form.orb +89 -83
  135. package/dist/behaviors/registry/app/molecules/std-application.orb +178 -263
  136. package/dist/behaviors/registry/app/molecules/std-broadcast-builder.orb +67 -176
  137. package/dist/behaviors/registry/app/molecules/std-cart.orb +78 -72
  138. package/dist/behaviors/registry/app/molecules/std-form-builder.orb +437 -176
  139. package/dist/behaviors/registry/app/molecules/std-ledger-entry-form.orb +608 -89
  140. package/dist/behaviors/registry/app/molecules/std-stock-adjustment.orb +501 -102
  141. package/dist/behaviors/registry/app/molecules/std-vendor-onboarding.orb +383 -469
  142. package/dist/behaviors/registry/core/atoms/std-billable-hour.orb +495 -91
  143. package/dist/behaviors/registry/core/atoms/std-branching-logic.orb +271 -600
  144. package/dist/behaviors/registry/core/atoms/std-file-store.orb +534 -164
  145. package/dist/behaviors/registry/core/atoms/std-gallery.orb +118 -101
  146. package/dist/behaviors/registry/core/atoms/std-image-upload-multi.orb +87 -57
  147. package/dist/behaviors/registry/core/atoms/std-page-tree.orb +342 -484
  148. package/dist/behaviors/registry/core/atoms/std-rich-editor.orb +288 -416
  149. package/dist/behaviors/registry/core/atoms/std-version-history.orb +454 -430
  150. package/dist/behaviors/registry/core/molecules/std-wizard-form.orb +222 -147
  151. 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
  ]