@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-vehicle",
3
3
  "version": "1.0.0",
4
- "description": "std-vehicle — fleet vehicle primitive tracking make/model/year, VIN, license plate, odometer, status, and assigned driver.",
4
+ "description": "std-vehicle — fleet vehicle primitive. Lists vehicles in `browsing` with fleet stats + map view; opens vehicle detail in `viewing_single` (VIN, plate, make/model, odometer, status, driver) with Assign Driver / Maintenance / Retire actions.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "VehicleOrbital",
@@ -98,58 +98,7 @@
98
98
  "linkedEntity": "Vehicle",
99
99
  "emits": [
100
100
  {
101
- "event": "VIEW",
102
- "payloadSchema": [
103
- {
104
- "name": "id",
105
- "type": "string",
106
- "required": true
107
- },
108
- {
109
- "name": "source",
110
- "type": "string"
111
- }
112
- ]
113
- },
114
- {
115
- "event": "EDIT",
116
- "payloadSchema": [
117
- {
118
- "name": "id",
119
- "type": "string",
120
- "required": true
121
- },
122
- {
123
- "name": "source",
124
- "type": "string"
125
- }
126
- ]
127
- },
128
- {
129
- "event": "CREATE",
130
- "payloadSchema": [
131
- {
132
- "name": "source",
133
- "type": "string"
134
- }
135
- ]
136
- },
137
- {
138
- "event": "REQUEST_DELETE",
139
- "payloadSchema": [
140
- {
141
- "name": "id",
142
- "type": "string",
143
- "required": true
144
- },
145
- {
146
- "name": "source",
147
- "type": "string"
148
- }
149
- ]
150
- },
151
- {
152
- "event": "RETIRE",
101
+ "event": "OPEN_VEHICLE",
153
102
  "payloadSchema": [
154
103
  {
155
104
  "name": "id",
@@ -210,124 +159,35 @@
210
159
  ]
211
160
  },
212
161
  {
213
- "event": "MARK_MAINTENANCE",
162
+ "event": "CLOSE_VEHICLE"
163
+ },
164
+ {
165
+ "event": "ASSIGN_DRIVER",
214
166
  "payloadSchema": [
215
167
  {
216
168
  "name": "id",
217
169
  "type": "string",
218
170
  "required": true
219
- },
220
- {
221
- "name": "row.id",
222
- "type": "string",
223
- "required": true
224
- },
225
- {
226
- "name": "row.vin",
227
- "type": "string",
228
- "required": true
229
- },
230
- {
231
- "name": "row.licensePlate",
232
- "type": "string",
233
- "required": true
234
- },
235
- {
236
- "name": "row.make",
237
- "type": "string"
238
- },
239
- {
240
- "name": "row.model",
241
- "type": "string"
242
- },
243
- {
244
- "name": "row.year",
245
- "type": "number"
246
- },
247
- {
248
- "name": "row.vehicleType",
249
- "type": "string"
250
- },
251
- {
252
- "name": "row.odometer",
253
- "type": "number"
254
- },
255
- {
256
- "name": "row.fuelType",
257
- "type": "string"
258
- },
259
- {
260
- "name": "row.status",
261
- "type": "string"
262
- },
263
- {
264
- "name": "row.assignedDriverId",
265
- "type": "string"
266
- },
267
- {
268
- "name": "row.pendingId",
269
- "type": "string"
270
171
  }
271
172
  ]
272
173
  },
273
174
  {
274
- "event": "ASSIGN_DRIVER",
175
+ "event": "MARK_MAINTENANCE",
275
176
  "payloadSchema": [
276
177
  {
277
178
  "name": "id",
278
179
  "type": "string",
279
180
  "required": true
280
- },
281
- {
282
- "name": "row.id",
283
- "type": "string",
284
- "required": true
285
- },
286
- {
287
- "name": "row.vin",
288
- "type": "string",
289
- "required": true
290
- },
181
+ }
182
+ ]
183
+ },
184
+ {
185
+ "event": "RETIRE",
186
+ "payloadSchema": [
291
187
  {
292
- "name": "row.licensePlate",
188
+ "name": "id",
293
189
  "type": "string",
294
190
  "required": true
295
- },
296
- {
297
- "name": "row.make",
298
- "type": "string"
299
- },
300
- {
301
- "name": "row.model",
302
- "type": "string"
303
- },
304
- {
305
- "name": "row.year",
306
- "type": "number"
307
- },
308
- {
309
- "name": "row.vehicleType",
310
- "type": "string"
311
- },
312
- {
313
- "name": "row.odometer",
314
- "type": "number"
315
- },
316
- {
317
- "name": "row.fuelType",
318
- "type": "string"
319
- },
320
- {
321
- "name": "row.status",
322
- "type": "string"
323
- },
324
- {
325
- "name": "row.assignedDriverId",
326
- "type": "string"
327
- },
328
- {
329
- "name": "row.pendingId",
330
- "type": "string"
331
191
  }
332
192
  ]
333
193
  },
@@ -365,7 +225,10 @@
365
225
  "isInitial": true
366
226
  },
367
227
  {
368
- "name": "viewing"
228
+ "name": "browsing"
229
+ },
230
+ {
231
+ "name": "viewing_single"
369
232
  },
370
233
  {
371
234
  "name": "error"
@@ -405,42 +268,17 @@
405
268
  ]
406
269
  },
407
270
  {
408
- "key": "REFRESH",
409
- "name": "Refresh",
410
- "payloadSchema": [
411
- {
412
- "name": "source",
413
- "type": "string"
414
- }
415
- ]
416
- },
417
- {
418
- "key": "SEARCH",
419
- "name": "Search",
420
- "payloadSchema": [
421
- {
422
- "name": "query",
423
- "type": "string"
424
- }
425
- ]
426
- },
427
- {
428
- "key": "FILTER_STATUS",
429
- "name": "Filter Status",
271
+ "key": "OPEN_VEHICLE",
272
+ "name": "Open Vehicle",
430
273
  "payloadSchema": [
431
274
  {
432
- "name": "status",
433
- "type": "string"
434
- }
435
- ]
436
- },
437
- {
438
- "key": "FILTER_TYPE",
439
- "name": "Filter Type",
440
- "payloadSchema": [
275
+ "name": "id",
276
+ "type": "string",
277
+ "required": true
278
+ },
441
279
  {
442
- "name": "vehicleType",
443
- "type": "string"
280
+ "name": "row",
281
+ "type": "Vehicle"
444
282
  }
445
283
  ]
446
284
  },
@@ -456,15 +294,8 @@
456
294
  ]
457
295
  },
458
296
  {
459
- "key": "MARK_MAINTENANCE",
460
- "name": "Mark Maintenance",
461
- "payloadSchema": [
462
- {
463
- "name": "id",
464
- "type": "string",
465
- "required": true
466
- }
467
- ]
297
+ "key": "CLOSE_VEHICLE",
298
+ "name": "Close Vehicle"
468
299
  },
469
300
  {
470
301
  "key": "ASSIGN_DRIVER",
@@ -478,40 +309,8 @@
478
309
  ]
479
310
  },
480
311
  {
481
- "key": "CREATE",
482
- "name": "Create",
483
- "payloadSchema": [
484
- {
485
- "name": "source",
486
- "type": "string"
487
- }
488
- ]
489
- },
490
- {
491
- "key": "VIEW",
492
- "name": "View",
493
- "payloadSchema": [
494
- {
495
- "name": "id",
496
- "type": "string",
497
- "required": true
498
- }
499
- ]
500
- },
501
- {
502
- "key": "EDIT",
503
- "name": "Edit",
504
- "payloadSchema": [
505
- {
506
- "name": "id",
507
- "type": "string",
508
- "required": true
509
- }
510
- ]
511
- },
512
- {
513
- "key": "REQUEST_DELETE",
514
- "name": "Request Delete",
312
+ "key": "MARK_MAINTENANCE",
313
+ "name": "Mark Maintenance",
515
314
  "payloadSchema": [
516
315
  {
517
316
  "name": "id",
@@ -541,29 +340,29 @@
541
340
  "render-ui",
542
341
  "main",
543
342
  {
544
- "className": "py-12",
545
- "align": "center",
546
343
  "children": [
547
344
  {
548
345
  "type": "spinner"
549
346
  },
550
347
  {
551
348
  "variant": "caption",
552
- "content": "Loading vehicles…",
553
349
  "color": "muted",
350
+ "content": "Loading vehicles…",
554
351
  "type": "typography"
555
352
  }
556
353
  ],
557
354
  "type": "stack",
558
355
  "gap": "md",
559
- "direction": "vertical"
356
+ "align": "center",
357
+ "direction": "vertical",
358
+ "className": "py-12"
560
359
  }
561
360
  ]
562
361
  ]
563
362
  },
564
363
  {
565
364
  "from": "loading",
566
- "to": "viewing",
365
+ "to": "browsing",
567
366
  "event": "VehicleLoaded",
568
367
  "effects": [
569
368
  [
@@ -571,175 +370,85 @@
571
370
  "main",
572
371
  {
573
372
  "type": "stack",
574
- "direction": "vertical",
575
373
  "children": [
576
374
  {
577
- "type": "breadcrumb",
578
- "items": [
579
- {
580
- "href": "/",
581
- "label": "Fleet"
582
- },
375
+ "children": [
583
376
  {
584
- "label": "Region"
377
+ "type": "icon",
378
+ "name": "truck"
585
379
  },
586
380
  {
587
- "label": "Vehicles"
381
+ "content": "@config.title",
382
+ "variant": "h3",
383
+ "type": "typography"
588
384
  }
589
- ]
385
+ ],
386
+ "align": "center",
387
+ "type": "stack",
388
+ "direction": "horizontal",
389
+ "gap": "sm"
590
390
  },
591
391
  {
592
- "orientation": "horizontal",
593
- "type": "navigation",
594
- "items": [
392
+ "type": "simple-grid",
393
+ "children": [
394
+ {
395
+ "type": "stat-display",
396
+ "value": "@payload.data.length",
397
+ "label": "Total vehicles",
398
+ "icon": "truck"
399
+ },
595
400
  {
596
- "label": "Vehicles",
597
- "id": "vehicles",
598
- "isActive": true,
599
- "href": "/vehicles"
401
+ "value": "18",
402
+ "type": "stat-display",
403
+ "label": "Active",
404
+ "icon": "check-circle"
600
405
  },
601
406
  {
602
- "href": "/drivers",
603
- "id": "drivers",
604
- "label": "Drivers"
407
+ "label": "In maintenance",
408
+ "value": "3",
409
+ "icon": "wrench",
410
+ "type": "stat-display"
605
411
  },
606
412
  {
607
- "id": "events",
608
- "label": "Events",
609
- "href": "/telematics-events"
413
+ "icon": "gauge",
414
+ "value": "62,401 mi",
415
+ "label": "Avg odometer",
416
+ "type": "stat-display"
610
417
  }
611
- ]
612
- },
613
- {
614
- "type": "stack",
615
- "direction": "horizontal",
616
- "children": [
617
- {
618
- "type": "icon",
619
- "name": "truck"
620
- },
621
- {
622
- "content": "@config.title",
623
- "variant": "h3",
624
- "type": "typography"
625
- },
626
- {
627
- "type": "button",
628
- "label": "New Vehicle",
629
- "action": "CREATE",
630
- "variant": "primary"
631
- }
632
- ],
633
- "gap": "sm",
634
- "align": "center"
635
- },
636
- {
637
- "type": "divider"
418
+ ],
419
+ "cols": 4.0
638
420
  },
639
421
  {
422
+ "height": "240px",
640
423
  "markers": [],
641
424
  "zoom": 10.0,
642
- "type": "map-view",
643
- "height": "240px"
425
+ "type": "map-view"
644
426
  },
645
427
  {
646
- "children": [
647
- {
648
- "type": "mini-map",
649
- "tiles": [],
650
- "units": [],
651
- "mapHeight": 1000.0,
652
- "width": 120.0,
653
- "mapWidth": 1000.0,
654
- "height": 80.0
655
- },
656
- {
657
- "direction": "horizontal",
658
- "children": [
659
- {
660
- "label": "Depot",
661
- "type": "waypoint-marker",
662
- "size": "md",
663
- "active": true
664
- },
665
- {
666
- "type": "waypoint-marker",
667
- "size": "sm",
668
- "label": "Stop 1"
669
- },
670
- {
671
- "label": "Stop 2",
672
- "size": "sm",
673
- "type": "waypoint-marker"
674
- },
675
- {
676
- "completed": true,
677
- "type": "waypoint-marker",
678
- "size": "md",
679
- "label": "Destination"
680
- }
681
- ],
682
- "align": "center",
683
- "type": "stack",
684
- "gap": "sm"
685
- }
686
- ],
687
- "align": "center",
688
- "gap": "md",
689
- "direction": "horizontal",
690
- "type": "stack"
691
- },
692
- {
693
- "connectionDensity": 0.5,
694
- "nodes": 6.0,
695
- "radius": 40.0,
696
- "type": "svg-mesh",
697
- "color": "primary",
698
- "cx": 100.0,
699
- "cy": 60.0
428
+ "type": "divider"
700
429
  },
701
430
  {
702
431
  "type": "data-grid",
703
- "cols": 1.0,
704
432
  "entity": "@payload.data",
433
+ "cols": 1.0,
705
434
  "itemActions": [
706
435
  {
707
- "label": "View",
708
- "variant": "secondary",
709
- "event": "VIEW"
710
- },
711
- {
712
- "variant": "secondary",
713
- "label": "Edit",
714
- "event": "EDIT"
715
- },
716
- {
717
- "event": "ASSIGN_DRIVER",
436
+ "event": "OPEN_VEHICLE",
718
437
  "variant": "primary",
719
- "label": "Assign Driver"
720
- },
721
- {
722
- "label": "Maintenance",
723
- "event": "MARK_MAINTENANCE",
724
- "variant": "secondary"
438
+ "icon": "arrow-right",
439
+ "label": "Open"
725
440
  },
726
441
  {
727
- "variant": "ghost",
728
442
  "label": "Retire",
729
- "event": "RETIRE"
730
- },
731
- {
732
- "variant": "danger",
733
- "label": "Delete",
734
- "event": "REQUEST_DELETE"
443
+ "event": "RETIRE",
444
+ "variant": "danger"
735
445
  }
736
446
  ],
737
- "gap": "sm",
738
447
  "fields": [
739
448
  {
449
+ "name": "licensePlate",
740
450
  "label": "Plate",
741
- "variant": "caption",
742
- "name": "licensePlate"
451
+ "variant": "caption"
743
452
  },
744
453
  {
745
454
  "name": "make",
@@ -752,60 +461,31 @@
752
461
  "variant": "caption"
753
462
  },
754
463
  {
755
- "variant": "caption",
464
+ "label": "Year",
756
465
  "name": "year",
757
- "label": "Year"
466
+ "variant": "caption"
758
467
  },
759
468
  {
760
- "label": "Type",
761
469
  "variant": "badge",
762
- "name": "vehicleType"
470
+ "name": "vehicleType",
471
+ "label": "Type"
763
472
  },
764
473
  {
765
- "label": "Odometer",
474
+ "name": "odometer",
766
475
  "variant": "caption",
767
- "name": "odometer"
476
+ "label": "Odometer"
768
477
  },
769
478
  {
770
- "variant": "badge",
771
479
  "label": "Status",
480
+ "variant": "badge",
772
481
  "name": "status"
773
- },
774
- {
775
- "name": "assignedDriverId",
776
- "variant": "caption",
777
- "label": "Driver"
778
- }
779
- ]
780
- },
781
- {
782
- "type": "drawer",
783
- "title": "Vehicle Detail",
784
- "width": "md",
785
- "position": "right",
786
- "children": [
787
- {
788
- "gap": "sm",
789
- "type": "stack",
790
- "children": [
791
- {
792
- "type": "typography",
793
- "content": "Selected vehicle",
794
- "variant": "caption"
795
- },
796
- {
797
- "content": "View detail",
798
- "type": "typography",
799
- "variant": "body"
800
- }
801
- ],
802
- "direction": "vertical"
803
482
  }
804
483
  ],
805
- "isOpen": false
484
+ "gap": "sm"
806
485
  }
807
486
  ],
808
- "gap": "md"
487
+ "gap": "md",
488
+ "direction": "vertical"
809
489
  }
810
490
  ]
811
491
  ]
@@ -819,64 +499,268 @@
819
499
  "render-ui",
820
500
  "main",
821
501
  {
822
- "type": "alert",
823
502
  "variant": "error",
503
+ "type": "alert",
824
504
  "message": "@payload.error"
825
505
  }
826
506
  ]
827
507
  ]
828
508
  },
829
509
  {
830
- "from": "viewing",
831
- "to": "loading",
832
- "event": "REFRESH",
510
+ "from": "browsing",
511
+ "to": "viewing_single",
512
+ "event": "OPEN_VEHICLE",
833
513
  "effects": [
834
514
  [
835
- "fetch",
836
- "Vehicle",
837
- {
838
- "emit": {
839
- "failure": "VehicleLoadFailed",
840
- "success": "VehicleLoaded"
841
- }
842
- }
515
+ "set",
516
+ "@entity.id",
517
+ "@payload.row.id"
518
+ ],
519
+ [
520
+ "set",
521
+ "@entity.vin",
522
+ "@payload.row.vin"
523
+ ],
524
+ [
525
+ "set",
526
+ "@entity.licensePlate",
527
+ "@payload.row.licensePlate"
528
+ ],
529
+ [
530
+ "set",
531
+ "@entity.make",
532
+ "@payload.row.make"
533
+ ],
534
+ [
535
+ "set",
536
+ "@entity.model",
537
+ "@payload.row.model"
538
+ ],
539
+ [
540
+ "set",
541
+ "@entity.year",
542
+ "@payload.row.year"
543
+ ],
544
+ [
545
+ "set",
546
+ "@entity.vehicleType",
547
+ "@payload.row.vehicleType"
548
+ ],
549
+ [
550
+ "set",
551
+ "@entity.odometer",
552
+ "@payload.row.odometer"
553
+ ],
554
+ [
555
+ "set",
556
+ "@entity.fuelType",
557
+ "@payload.row.fuelType"
558
+ ],
559
+ [
560
+ "set",
561
+ "@entity.status",
562
+ "@payload.row.status"
563
+ ],
564
+ [
565
+ "set",
566
+ "@entity.assignedDriverId",
567
+ "@payload.row.assignedDriverId"
843
568
  ],
844
569
  [
845
570
  "render-ui",
846
571
  "main",
847
572
  {
848
- "className": "py-12",
849
- "gap": "md",
850
- "type": "stack",
851
573
  "direction": "vertical",
852
- "align": "center",
574
+ "gap": "md",
853
575
  "children": [
854
576
  {
855
- "type": "spinner"
577
+ "type": "stack",
578
+ "direction": "horizontal",
579
+ "children": [
580
+ {
581
+ "type": "button",
582
+ "variant": "ghost",
583
+ "label": "Back",
584
+ "action": "CLOSE_VEHICLE"
585
+ },
586
+ {
587
+ "type": "icon",
588
+ "name": "truck"
589
+ },
590
+ {
591
+ "type": "typography",
592
+ "content": "@entity.licensePlate",
593
+ "variant": "h3"
594
+ },
595
+ {
596
+ "type": "badge",
597
+ "label": "@entity.status",
598
+ "variant": "default"
599
+ }
600
+ ],
601
+ "gap": "sm",
602
+ "align": "center"
856
603
  },
857
604
  {
858
- "variant": "caption",
859
- "color": "muted",
860
- "type": "typography",
861
- "content": "Refreshing vehicles…"
605
+ "type": "divider"
606
+ },
607
+ {
608
+ "children": [
609
+ {
610
+ "type": "stack",
611
+ "gap": "md",
612
+ "direction": "horizontal",
613
+ "children": [
614
+ {
615
+ "variant": "caption",
616
+ "type": "typography",
617
+ "color": "muted",
618
+ "content": "VIN"
619
+ },
620
+ {
621
+ "type": "typography",
622
+ "content": "@entity.vin",
623
+ "variant": "body"
624
+ }
625
+ ]
626
+ },
627
+ {
628
+ "type": "stack",
629
+ "children": [
630
+ {
631
+ "color": "muted",
632
+ "variant": "caption",
633
+ "type": "typography",
634
+ "content": "Make / Model"
635
+ },
636
+ {
637
+ "content": "@entity.make",
638
+ "variant": "body",
639
+ "type": "typography"
640
+ },
641
+ {
642
+ "content": "@entity.model",
643
+ "variant": "body",
644
+ "type": "typography"
645
+ }
646
+ ],
647
+ "direction": "horizontal",
648
+ "gap": "md"
649
+ },
650
+ {
651
+ "children": [
652
+ {
653
+ "variant": "caption",
654
+ "content": "Driver",
655
+ "color": "muted",
656
+ "type": "typography"
657
+ },
658
+ {
659
+ "variant": "body",
660
+ "content": "@entity.assignedDriverId",
661
+ "type": "typography"
662
+ }
663
+ ],
664
+ "gap": "md",
665
+ "type": "stack",
666
+ "direction": "horizontal"
667
+ }
668
+ ],
669
+ "gap": "sm",
670
+ "direction": "vertical",
671
+ "type": "stack"
672
+ },
673
+ {
674
+ "type": "divider"
675
+ },
676
+ {
677
+ "type": "simple-grid",
678
+ "cols": 4.0,
679
+ "children": [
680
+ {
681
+ "icon": "gauge",
682
+ "type": "stat-display",
683
+ "value": "@entity.odometer",
684
+ "label": "Odometer"
685
+ },
686
+ {
687
+ "icon": "calendar",
688
+ "label": "Year",
689
+ "value": "@entity.year",
690
+ "type": "stat-display"
691
+ },
692
+ {
693
+ "icon": "tag",
694
+ "type": "stat-display",
695
+ "value": "@entity.vehicleType",
696
+ "label": "Type"
697
+ },
698
+ {
699
+ "value": "@entity.fuelType",
700
+ "icon": "droplet",
701
+ "type": "stat-display",
702
+ "label": "Fuel"
703
+ }
704
+ ]
705
+ },
706
+ {
707
+ "align": "center",
708
+ "gap": "sm",
709
+ "type": "stack",
710
+ "direction": "horizontal",
711
+ "children": [
712
+ {
713
+ "variant": "primary",
714
+ "action": "ASSIGN_DRIVER",
715
+ "type": "button",
716
+ "label": "Assign Driver",
717
+ "actionPayload": {
718
+ "id": "@entity.id"
719
+ }
720
+ },
721
+ {
722
+ "label": "Mark Maintenance",
723
+ "action": "MARK_MAINTENANCE",
724
+ "actionPayload": {
725
+ "id": "@entity.id"
726
+ },
727
+ "type": "button",
728
+ "variant": "secondary"
729
+ },
730
+ {
731
+ "actionPayload": {
732
+ "id": "@entity.id"
733
+ },
734
+ "variant": "danger",
735
+ "type": "button",
736
+ "label": "Retire",
737
+ "action": "RETIRE"
738
+ }
739
+ ]
862
740
  }
863
- ]
741
+ ],
742
+ "type": "stack"
864
743
  }
865
744
  ]
866
745
  ]
867
746
  },
868
747
  {
869
- "from": "viewing",
748
+ "from": "browsing",
870
749
  "to": "loading",
871
- "event": "SEARCH",
750
+ "event": "RETIRE",
872
751
  "effects": [
752
+ [
753
+ "set",
754
+ "@entity.id",
755
+ "@payload.id"
756
+ ],
873
757
  [
874
758
  "fetch",
875
759
  "Vehicle",
876
760
  {
877
761
  "emit": {
878
- "failure": "VehicleLoadFailed",
879
- "success": "VehicleLoaded"
762
+ "success": "VehicleLoaded",
763
+ "failure": "VehicleLoadFailed"
880
764
  }
881
765
  }
882
766
  ],
@@ -884,38 +768,38 @@
884
768
  "render-ui",
885
769
  "main",
886
770
  {
887
- "type": "stack",
888
771
  "direction": "vertical",
889
772
  "align": "center",
773
+ "gap": "md",
774
+ "className": "py-12",
775
+ "type": "stack",
890
776
  "children": [
891
777
  {
892
778
  "type": "spinner"
893
779
  },
894
780
  {
895
- "type": "typography",
896
- "variant": "caption",
897
781
  "color": "muted",
898
- "content": "Searching vehicles…"
782
+ "content": "Retiring vehicle…",
783
+ "variant": "caption",
784
+ "type": "typography"
899
785
  }
900
- ],
901
- "className": "py-12",
902
- "gap": "md"
786
+ ]
903
787
  }
904
788
  ]
905
789
  ]
906
790
  },
907
791
  {
908
- "from": "viewing",
792
+ "from": "viewing_single",
909
793
  "to": "loading",
910
- "event": "FILTER_STATUS",
794
+ "event": "CLOSE_VEHICLE",
911
795
  "effects": [
912
796
  [
913
797
  "fetch",
914
798
  "Vehicle",
915
799
  {
916
800
  "emit": {
917
- "success": "VehicleLoaded",
918
- "failure": "VehicleLoadFailed"
801
+ "failure": "VehicleLoadFailed",
802
+ "success": "VehicleLoaded"
919
803
  }
920
804
  }
921
805
  ],
@@ -923,31 +807,36 @@
923
807
  "render-ui",
924
808
  "main",
925
809
  {
926
- "type": "stack",
927
810
  "direction": "vertical",
928
- "className": "py-12",
929
811
  "gap": "md",
812
+ "type": "stack",
813
+ "className": "py-12",
814
+ "align": "center",
930
815
  "children": [
931
816
  {
932
817
  "type": "spinner"
933
818
  },
934
819
  {
935
820
  "color": "muted",
936
- "content": "Filtering vehicles…",
937
- "variant": "caption",
938
- "type": "typography"
821
+ "type": "typography",
822
+ "content": "Loading vehicles…",
823
+ "variant": "caption"
939
824
  }
940
- ],
941
- "align": "center"
825
+ ]
942
826
  }
943
827
  ]
944
828
  ]
945
829
  },
946
830
  {
947
- "from": "viewing",
831
+ "from": "viewing_single",
948
832
  "to": "loading",
949
- "event": "FILTER_TYPE",
833
+ "event": "ASSIGN_DRIVER",
950
834
  "effects": [
835
+ [
836
+ "set",
837
+ "@entity.id",
838
+ "@payload.id"
839
+ ],
951
840
  [
952
841
  "fetch",
953
842
  "Vehicle",
@@ -967,45 +856,24 @@
967
856
  "type": "spinner"
968
857
  },
969
858
  {
859
+ "content": "Assigning driver…",
970
860
  "type": "typography",
971
861
  "color": "muted",
972
- "content": "Filtering vehicles…",
973
862
  "variant": "caption"
974
863
  }
975
864
  ],
865
+ "type": "stack",
976
866
  "gap": "md",
977
867
  "direction": "vertical",
978
- "className": "py-12",
979
868
  "align": "center",
980
- "type": "stack"
981
- }
982
- ]
983
- ]
984
- },
985
- {
986
- "from": "viewing",
987
- "to": "viewing",
988
- "event": "RETIRE",
989
- "effects": [
990
- [
991
- "set",
992
- "@entity.id",
993
- "@payload.id"
994
- ],
995
- [
996
- "render-ui",
997
- "main",
998
- {
999
- "type": "alert",
1000
- "message": "Vehicle retired",
1001
- "variant": "info"
869
+ "className": "py-12"
1002
870
  }
1003
871
  ]
1004
872
  ]
1005
873
  },
1006
874
  {
1007
- "from": "viewing",
1008
- "to": "viewing",
875
+ "from": "viewing_single",
876
+ "to": "loading",
1009
877
  "event": "MARK_MAINTENANCE",
1010
878
  "effects": [
1011
879
  [
@@ -1014,78 +882,43 @@
1014
882
  "@payload.id"
1015
883
  ],
1016
884
  [
1017
- "render-ui",
1018
- "main",
1019
- {
1020
- "variant": "warning",
1021
- "type": "alert",
1022
- "message": "Vehicle marked for maintenance"
1023
- }
1024
- ]
1025
- ]
1026
- },
1027
- {
1028
- "from": "viewing",
1029
- "to": "viewing",
1030
- "event": "ASSIGN_DRIVER",
1031
- "effects": [
1032
- [
1033
- "set",
1034
- "@entity.id",
1035
- "@payload.id"
1036
- ],
1037
- [
1038
- "render-ui",
1039
- "main",
1040
- {
1041
- "type": "alert",
1042
- "message": "Driver assigned",
1043
- "variant": "success"
1044
- }
1045
- ]
1046
- ]
1047
- },
1048
- {
1049
- "from": "viewing",
1050
- "to": "viewing",
1051
- "event": "CREATE",
1052
- "effects": [
1053
- [
1054
- "render-ui",
1055
- "main",
885
+ "fetch",
886
+ "Vehicle",
1056
887
  {
1057
- "variant": "info",
1058
- "message": "Creating new vehicle",
1059
- "type": "alert"
888
+ "emit": {
889
+ "failure": "VehicleLoadFailed",
890
+ "success": "VehicleLoaded"
891
+ }
1060
892
  }
1061
- ]
1062
- ]
1063
- },
1064
- {
1065
- "from": "viewing",
1066
- "to": "viewing",
1067
- "event": "VIEW",
1068
- "effects": [
1069
- [
1070
- "set",
1071
- "@entity.id",
1072
- "@payload.id"
1073
893
  ],
1074
894
  [
1075
895
  "render-ui",
1076
896
  "main",
1077
897
  {
1078
- "message": "Viewing vehicle",
1079
- "type": "alert",
1080
- "variant": "info"
898
+ "direction": "vertical",
899
+ "align": "center",
900
+ "type": "stack",
901
+ "className": "py-12",
902
+ "children": [
903
+ {
904
+ "type": "spinner"
905
+ },
906
+ {
907
+ "variant": "caption",
908
+ "type": "typography",
909
+ "content": "Updating vehicle…",
910
+ "color": "muted"
911
+ }
912
+ ],
913
+ "gap": "md"
1081
914
  }
1082
915
  ]
1083
916
  ]
1084
917
  },
1085
918
  {
1086
- "from": "viewing",
1087
- "to": "viewing",
1088
- "event": "EDIT",
919
+ "from": "viewing_single",
920
+ "to": "loading",
921
+ "event": "RETIRE",
1089
922
  "effects": [
1090
923
  [
1091
924
  "set",
@@ -1093,33 +926,35 @@
1093
926
  "@payload.id"
1094
927
  ],
1095
928
  [
1096
- "render-ui",
1097
- "main",
929
+ "fetch",
930
+ "Vehicle",
1098
931
  {
1099
- "variant": "info",
1100
- "message": "Editing vehicle",
1101
- "type": "alert"
932
+ "emit": {
933
+ "success": "VehicleLoaded",
934
+ "failure": "VehicleLoadFailed"
935
+ }
1102
936
  }
1103
- ]
1104
- ]
1105
- },
1106
- {
1107
- "from": "viewing",
1108
- "to": "viewing",
1109
- "event": "REQUEST_DELETE",
1110
- "effects": [
1111
- [
1112
- "set",
1113
- "@entity.id",
1114
- "@payload.id"
1115
937
  ],
1116
938
  [
1117
939
  "render-ui",
1118
940
  "main",
1119
941
  {
1120
- "type": "alert",
1121
- "message": "Delete requested",
1122
- "variant": "warning"
942
+ "className": "py-12",
943
+ "gap": "md",
944
+ "align": "center",
945
+ "children": [
946
+ {
947
+ "type": "spinner"
948
+ },
949
+ {
950
+ "variant": "caption",
951
+ "type": "typography",
952
+ "color": "muted",
953
+ "content": "Retiring vehicle…"
954
+ }
955
+ ],
956
+ "direction": "vertical",
957
+ "type": "stack"
1123
958
  }
1124
959
  ]
1125
960
  ]
@@ -1143,8 +978,8 @@
1143
978
  "render-ui",
1144
979
  "main",
1145
980
  {
1146
- "size": "sm",
1147
- "type": "spinner"
981
+ "type": "spinner",
982
+ "size": "sm"
1148
983
  }
1149
984
  ]
1150
985
  ]