@almadar/std 15.15.0 → 15.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  2. package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  3. package/behaviors/registry/app/atoms/std-application.orb +300 -188
  4. package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  5. package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  6. package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  7. package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  8. package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  9. package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  10. package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  11. package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  12. package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  13. package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  14. package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  15. package/behaviors/registry/app/atoms/std-donor.orb +191 -156
  16. package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  17. package/behaviors/registry/app/atoms/std-driver.orb +440 -202
  18. package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  19. package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  20. package/behaviors/registry/app/atoms/std-event.orb +309 -178
  21. package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  22. package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  23. package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  24. package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  25. package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  26. package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  27. package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  28. package/behaviors/registry/app/atoms/std-lease.orb +411 -178
  29. package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  30. package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  31. package/behaviors/registry/app/atoms/std-matter.orb +415 -189
  32. package/behaviors/registry/app/atoms/std-membership.orb +387 -167
  33. package/behaviors/registry/app/atoms/std-menu.orb +232 -175
  34. package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  35. package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  36. package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  37. package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  38. package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  39. package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  40. package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  41. package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  42. package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  43. package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  44. package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  45. package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  46. package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  47. package/behaviors/registry/app/atoms/std-segment.orb +173 -139
  48. package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  49. package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  50. package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  51. package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  52. package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  53. package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  54. package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  55. package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  56. package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  57. package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  58. package/behaviors/registry/app/atoms/std-trial.orb +401 -183
  59. package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  60. package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  61. package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  62. package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  63. package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  64. package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  65. package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  66. package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  67. package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  68. package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  69. package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  70. package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  71. package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  72. package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  73. package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  74. package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  75. package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  76. package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  77. package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  78. package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  79. package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  80. package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  81. package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  82. package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  83. package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  84. package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  85. package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  86. package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  87. package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  88. package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  89. package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  90. package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  91. package/dist/behaviors/behaviors-registry.json +2913 -156
  92. package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
  93. package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
  94. package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
  95. package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
  96. package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
  97. package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
  98. package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  99. package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
  100. package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
  101. package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
  102. package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
  103. package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
  104. package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
  105. package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
  106. package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
  107. package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
  108. package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
  109. package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
  110. package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
  111. package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
  112. package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
  113. package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
  114. package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
  115. package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
  116. package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
  117. package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
  118. package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
  119. package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
  120. package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
  121. package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
  122. package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
  123. package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
  124. package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
  125. package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
  126. package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
  127. package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
  128. package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
  129. package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
  130. package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
  131. package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
  132. package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
  133. package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
  134. package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
  135. package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
  136. package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
  137. package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
  138. package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
  139. package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
  140. package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
  141. package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
  142. package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
  143. package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
  144. package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
  145. package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
  146. package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
  147. package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
  148. package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
  149. package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
  150. package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
  151. package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  152. package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
  153. package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
  154. package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
  155. package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
  156. package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
  157. package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
  158. package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
  159. package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
  160. package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
  161. package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  162. package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
  163. package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  164. package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
  165. package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  166. package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
  167. package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  168. package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  169. package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  170. package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  171. package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  172. package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
  173. package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  174. package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  175. package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
  176. package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  177. package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
  178. package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  179. package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
  180. package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
  181. package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  182. package/dist/behaviors-registry.json +2913 -156
  183. package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
  184. package/dist/registry/app/atoms/std-applicant.orb +207 -165
  185. package/dist/registry/app/atoms/std-application.orb +300 -188
  186. package/dist/registry/app/atoms/std-approval-request.orb +370 -215
  187. package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
  188. package/dist/registry/app/atoms/std-change-order.orb +458 -194
  189. package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
  190. package/dist/registry/app/atoms/std-checkin.orb +215 -151
  191. package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
  192. package/dist/registry/app/atoms/std-class-roster.orb +343 -170
  193. package/dist/registry/app/atoms/std-class-session.orb +321 -190
  194. package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
  195. package/dist/registry/app/atoms/std-customer-account.orb +376 -157
  196. package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
  197. package/dist/registry/app/atoms/std-donor.orb +191 -156
  198. package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
  199. package/dist/registry/app/atoms/std-driver.orb +440 -202
  200. package/dist/registry/app/atoms/std-dunning.orb +431 -167
  201. package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
  202. package/dist/registry/app/atoms/std-event.orb +309 -178
  203. package/dist/registry/app/atoms/std-form-builder.orb +353 -220
  204. package/dist/registry/app/atoms/std-health-score.orb +218 -183
  205. package/dist/registry/app/atoms/std-help-article.orb +425 -162
  206. package/dist/registry/app/atoms/std-help-category.orb +409 -166
  207. package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
  208. package/dist/registry/app/atoms/std-invoice.orb +349 -211
  209. package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
  210. package/dist/registry/app/atoms/std-lease.orb +411 -178
  211. package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
  212. package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
  213. package/dist/registry/app/atoms/std-matter.orb +415 -189
  214. package/dist/registry/app/atoms/std-membership.orb +387 -167
  215. package/dist/registry/app/atoms/std-menu.orb +232 -175
  216. package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
  217. package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
  218. package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
  219. package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
  220. package/dist/registry/app/atoms/std-question-bank.orb +211 -145
  221. package/dist/registry/app/atoms/std-receipt.orb +248 -177
  222. package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
  223. package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
  224. package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
  225. package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
  226. package/dist/registry/app/atoms/std-response-collector.orb +213 -150
  227. package/dist/registry/app/atoms/std-rfi.orb +365 -210
  228. package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
  229. package/dist/registry/app/atoms/std-segment.orb +173 -139
  230. package/dist/registry/app/atoms/std-stock-level.orb +205 -135
  231. package/dist/registry/app/atoms/std-submittal.orb +323 -166
  232. package/dist/registry/app/atoms/std-table-map.orb +187 -63
  233. package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
  234. package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
  235. package/dist/registry/app/atoms/std-template-editor.orb +255 -189
  236. package/dist/registry/app/atoms/std-tenant.orb +375 -147
  237. package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
  238. package/dist/registry/app/atoms/std-time-entry.orb +259 -150
  239. package/dist/registry/app/atoms/std-timesheet.orb +292 -183
  240. package/dist/registry/app/atoms/std-trial.orb +401 -183
  241. package/dist/registry/app/atoms/std-vehicle.orb +447 -205
  242. package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
  243. package/dist/registry/app/atoms/std-waitlist.orb +308 -177
  244. package/dist/registry/app/atoms/std-warehouse.orb +211 -141
  245. package/dist/registry/app/atoms/std-work-order.orb +374 -219
  246. package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
  247. package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
  248. package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
  249. package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
  250. package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
  251. package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
  252. package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
  253. package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
  254. package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
  255. package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
  256. package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
  257. package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
  258. package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
  259. package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
  260. package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
  261. package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
  262. package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
  263. package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
  264. package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
  265. package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
  266. package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
  267. package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
  268. package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
  269. package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
  270. package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
  271. package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
  272. package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
  273. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-driver",
3
- "version": "1.1.0",
4
- "description": "std-driver — fleet driver primitive tracking license info, hire date, status, assigned vehicle. Lists drivers in `browsing`; opens detail in `viewing_single` with Suspend / Reinstate / Terminate / Assign Vehicle actions. Agents tune the list shape via `config.fields` + `config.itemActions`.",
3
+ "version": "1.2.0",
4
+ "description": "std-driver — fleet driver primitive (license/hire/status/vehicle). Lists drivers; detail offers Suspend / Reinstate / Terminate / Assign Vehicle. Listens for SET_STATUS so sibling std-lifecycle can drive automated transitions. Exposes Inventory/Logistics knobs (defaultWarehouse, serialTracking, …).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "DriverOrbital",
@@ -212,6 +212,71 @@
212
212
  "type": "string"
213
213
  }
214
214
  ]
215
+ },
216
+ {
217
+ "event": "DriverUpdated",
218
+ "payloadSchema": [
219
+ {
220
+ "name": "row.id",
221
+ "type": "string",
222
+ "required": true
223
+ },
224
+ {
225
+ "name": "row.name",
226
+ "type": "string",
227
+ "required": true
228
+ },
229
+ {
230
+ "name": "row.licenseNumber",
231
+ "type": "string",
232
+ "required": true
233
+ },
234
+ {
235
+ "name": "row.licenseClass",
236
+ "type": "string"
237
+ },
238
+ {
239
+ "name": "row.licenseExpiresAt",
240
+ "type": "string"
241
+ },
242
+ {
243
+ "name": "row.hiredAt",
244
+ "type": "string"
245
+ },
246
+ {
247
+ "name": "row.phone",
248
+ "type": "string"
249
+ },
250
+ {
251
+ "name": "row.email",
252
+ "type": "string"
253
+ },
254
+ {
255
+ "name": "row.status",
256
+ "type": "string"
257
+ },
258
+ {
259
+ "name": "row.assignedVehicleId",
260
+ "type": "string"
261
+ },
262
+ {
263
+ "name": "row.pendingId",
264
+ "type": "string"
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "event": "DriverUpdateFailed",
270
+ "payloadSchema": [
271
+ {
272
+ "name": "error",
273
+ "type": "string"
274
+ },
275
+ {
276
+ "name": "code",
277
+ "type": "string"
278
+ }
279
+ ]
215
280
  }
216
281
  ],
217
282
  "stateMachine": {
@@ -289,6 +354,46 @@
289
354
  }
290
355
  ]
291
356
  },
357
+ {
358
+ "key": "SET_STATUS",
359
+ "name": "Set Status",
360
+ "payloadSchema": [
361
+ {
362
+ "name": "entityId",
363
+ "type": "string",
364
+ "required": true
365
+ },
366
+ {
367
+ "name": "newStatus",
368
+ "type": "string",
369
+ "required": true
370
+ }
371
+ ]
372
+ },
373
+ {
374
+ "key": "DriverUpdated",
375
+ "name": "Driver updated",
376
+ "payloadSchema": [
377
+ {
378
+ "name": "row",
379
+ "type": "Driver"
380
+ }
381
+ ]
382
+ },
383
+ {
384
+ "key": "DriverUpdateFailed",
385
+ "name": "Driver update failed",
386
+ "payloadSchema": [
387
+ {
388
+ "name": "error",
389
+ "type": "string"
390
+ },
391
+ {
392
+ "name": "code",
393
+ "type": "string"
394
+ }
395
+ ]
396
+ },
292
397
  {
293
398
  "key": "CLOSE_VIEW",
294
399
  "name": "Close View"
@@ -347,9 +452,10 @@
347
452
  "render-ui",
348
453
  "main",
349
454
  {
350
- "direction": "vertical",
351
455
  "gap": "md",
352
- "className": "py-12",
456
+ "align": "center",
457
+ "direction": "vertical",
458
+ "type": "stack",
353
459
  "children": [
354
460
  {
355
461
  "type": "spinner"
@@ -357,12 +463,11 @@
357
463
  {
358
464
  "content": "Loading drivers…",
359
465
  "variant": "caption",
360
- "color": "muted",
361
- "type": "typography"
466
+ "type": "typography",
467
+ "color": "muted"
362
468
  }
363
469
  ],
364
- "type": "stack",
365
- "align": "center"
470
+ "className": "py-12"
366
471
  }
367
472
  ]
368
473
  ]
@@ -376,15 +481,14 @@
376
481
  "render-ui",
377
482
  "main",
378
483
  {
379
- "type": "stack",
380
- "gap": "md",
381
484
  "direction": "vertical",
485
+ "gap": "md",
382
486
  "children": [
383
487
  {
384
- "direction": "horizontal",
385
488
  "type": "stack",
386
489
  "gap": "sm",
387
490
  "align": "center",
491
+ "direction": "horizontal",
388
492
  "children": [
389
493
  {
390
494
  "type": "icon",
@@ -392,8 +496,8 @@
392
496
  },
393
497
  {
394
498
  "content": "@config.title",
395
- "type": "typography",
396
- "variant": "h3"
499
+ "variant": "h3",
500
+ "type": "typography"
397
501
  }
398
502
  ]
399
503
  },
@@ -402,28 +506,28 @@
402
506
  "cols": 4.0,
403
507
  "children": [
404
508
  {
509
+ "icon": "users",
405
510
  "value": "@payload.data.length",
406
511
  "type": "stat-display",
407
- "label": "Total drivers",
408
- "icon": "users"
512
+ "label": "Total drivers"
409
513
  },
410
514
  {
411
- "type": "stat-display",
515
+ "label": "Active",
412
516
  "icon": "check-circle",
413
517
  "value": "24",
414
- "label": "Active"
518
+ "type": "stat-display"
415
519
  },
416
520
  {
521
+ "value": "3",
417
522
  "icon": "pause-circle",
418
523
  "label": "On leave",
419
- "value": "3",
420
524
  "type": "stat-display"
421
525
  },
422
526
  {
423
- "value": "4",
424
- "type": "stat-display",
527
+ "label": "License expiring 30d",
425
528
  "icon": "alert-triangle",
426
- "label": "License expiring 30d"
529
+ "type": "stat-display",
530
+ "value": "4"
427
531
  }
428
532
  ]
429
533
  },
@@ -431,14 +535,15 @@
431
535
  "type": "divider"
432
536
  },
433
537
  {
434
- "entity": "@payload.data",
435
- "fields": "@config.fields",
436
- "cols": 1.0,
437
538
  "type": "data-grid",
438
539
  "itemActions": "@config.itemActions",
439
- "gap": "sm"
540
+ "fields": "@config.fields",
541
+ "gap": "sm",
542
+ "entity": "@payload.data",
543
+ "cols": 1.0
440
544
  }
441
- ]
545
+ ],
546
+ "type": "stack"
442
547
  }
443
548
  ]
444
549
  ]
@@ -453,8 +558,8 @@
453
558
  "main",
454
559
  {
455
560
  "variant": "error",
456
- "message": "@payload.error",
457
- "type": "alert"
561
+ "type": "alert",
562
+ "message": "@payload.error"
458
563
  }
459
564
  ]
460
565
  ]
@@ -518,27 +623,26 @@
518
623
  "render-ui",
519
624
  "main",
520
625
  {
626
+ "type": "stack",
521
627
  "direction": "vertical",
522
628
  "gap": "md",
523
- "type": "stack",
524
629
  "children": [
525
630
  {
526
- "gap": "sm",
527
- "type": "stack",
631
+ "direction": "horizontal",
528
632
  "children": [
529
633
  {
530
634
  "type": "button",
531
- "variant": "ghost",
532
635
  "label": "Back",
533
- "action": "CLOSE_VIEW"
636
+ "action": "CLOSE_VIEW",
637
+ "variant": "ghost"
534
638
  },
535
639
  {
536
- "name": "user",
537
- "type": "icon"
640
+ "type": "icon",
641
+ "name": "user"
538
642
  },
539
643
  {
540
- "content": "@entity.name",
541
644
  "type": "typography",
645
+ "content": "@entity.name",
542
646
  "variant": "h3"
543
647
  },
544
648
  {
@@ -547,52 +651,55 @@
547
651
  "label": "@entity.licenseClass"
548
652
  },
549
653
  {
550
- "label": "@entity.status",
551
654
  "variant": "default",
552
- "type": "badge"
655
+ "type": "badge",
656
+ "label": "@entity.status"
553
657
  }
554
658
  ],
555
- "direction": "horizontal",
659
+ "gap": "sm",
660
+ "type": "stack",
556
661
  "align": "center"
557
662
  },
558
663
  {
559
664
  "type": "divider"
560
665
  },
561
666
  {
667
+ "direction": "vertical",
668
+ "type": "stack",
562
669
  "children": [
563
670
  {
671
+ "direction": "horizontal",
564
672
  "type": "stack",
565
- "gap": "md",
566
673
  "children": [
567
674
  {
568
- "content": "License #",
569
- "type": "typography",
570
675
  "variant": "caption",
571
- "color": "muted"
676
+ "type": "typography",
677
+ "color": "muted",
678
+ "content": "License #"
572
679
  },
573
680
  {
574
- "content": "@entity.licenseNumber",
575
681
  "type": "typography",
576
- "variant": "body"
682
+ "variant": "body",
683
+ "content": "@entity.licenseNumber"
577
684
  }
578
685
  ],
579
- "direction": "horizontal"
686
+ "gap": "md"
580
687
  },
581
688
  {
689
+ "direction": "horizontal",
582
690
  "type": "stack",
583
691
  "gap": "md",
584
- "direction": "horizontal",
585
692
  "children": [
586
693
  {
587
694
  "color": "muted",
588
- "content": "Phone",
589
695
  "variant": "caption",
590
- "type": "typography"
696
+ "type": "typography",
697
+ "content": "Phone"
591
698
  },
592
699
  {
593
- "content": "@entity.phone",
594
700
  "type": "typography",
595
- "variant": "body"
701
+ "variant": "body",
702
+ "content": "@entity.phone"
596
703
  }
597
704
  ]
598
705
  },
@@ -600,107 +707,105 @@
600
707
  "direction": "horizontal",
601
708
  "children": [
602
709
  {
603
- "type": "typography",
604
710
  "content": "Email",
605
- "variant": "caption",
606
- "color": "muted"
711
+ "color": "muted",
712
+ "type": "typography",
713
+ "variant": "caption"
607
714
  },
608
715
  {
609
- "type": "typography",
610
716
  "variant": "body",
611
- "content": "@entity.email"
717
+ "content": "@entity.email",
718
+ "type": "typography"
612
719
  }
613
720
  ],
614
- "type": "stack",
615
- "gap": "md"
721
+ "gap": "md",
722
+ "type": "stack"
616
723
  },
617
724
  {
618
- "gap": "md",
619
- "type": "stack",
620
725
  "children": [
621
726
  {
622
- "variant": "caption",
623
727
  "content": "Vehicle",
728
+ "variant": "caption",
624
729
  "type": "typography",
625
730
  "color": "muted"
626
731
  },
627
732
  {
628
733
  "content": "@entity.assignedVehicleId",
629
- "variant": "body",
630
- "type": "typography"
734
+ "type": "typography",
735
+ "variant": "body"
631
736
  }
632
737
  ],
738
+ "type": "stack",
739
+ "gap": "md",
633
740
  "direction": "horizontal"
634
741
  }
635
742
  ],
636
- "type": "stack",
637
- "gap": "sm",
638
- "direction": "vertical"
743
+ "gap": "sm"
639
744
  },
640
745
  {
641
746
  "type": "divider"
642
747
  },
643
748
  {
644
- "cols": 2.0,
749
+ "type": "simple-grid",
645
750
  "children": [
646
751
  {
647
- "type": "stat-display",
648
752
  "value": "@entity.hiredAt",
649
- "icon": "calendar",
650
- "label": "Hired"
753
+ "type": "stat-display",
754
+ "label": "Hired",
755
+ "icon": "calendar"
651
756
  },
652
757
  {
653
- "type": "stat-display",
654
- "value": "@entity.licenseExpiresAt",
758
+ "icon": "calendar-x",
655
759
  "label": "License expires",
656
- "icon": "calendar-x"
760
+ "value": "@entity.licenseExpiresAt",
761
+ "type": "stat-display"
657
762
  }
658
763
  ],
659
- "type": "simple-grid"
764
+ "cols": 2.0
660
765
  },
661
766
  {
662
767
  "align": "center",
663
- "gap": "sm",
768
+ "direction": "horizontal",
769
+ "type": "stack",
664
770
  "children": [
665
771
  {
666
- "label": "Assign Vehicle",
667
- "variant": "primary",
668
- "type": "button",
772
+ "action": "ASSIGN_VEHICLE",
669
773
  "actionPayload": {
670
774
  "id": "@entity.id"
671
775
  },
672
- "action": "ASSIGN_VEHICLE"
776
+ "type": "button",
777
+ "label": "Assign Vehicle",
778
+ "variant": "primary"
673
779
  },
674
780
  {
675
781
  "type": "button",
676
- "action": "SUSPEND",
677
782
  "actionPayload": {
678
783
  "id": "@entity.id"
679
784
  },
785
+ "variant": "danger",
680
786
  "label": "Suspend",
681
- "variant": "danger"
787
+ "action": "SUSPEND"
682
788
  },
683
789
  {
684
- "type": "button",
685
790
  "label": "Reinstate",
686
- "variant": "secondary",
791
+ "action": "REINSTATE",
687
792
  "actionPayload": {
688
793
  "id": "@entity.id"
689
794
  },
690
- "action": "REINSTATE"
795
+ "type": "button",
796
+ "variant": "secondary"
691
797
  },
692
798
  {
693
799
  "label": "Terminate",
800
+ "type": "button",
801
+ "variant": "danger",
694
802
  "action": "TERMINATE",
695
803
  "actionPayload": {
696
804
  "id": "@entity.id"
697
- },
698
- "variant": "danger",
699
- "type": "button"
805
+ }
700
806
  }
701
807
  ],
702
- "direction": "horizontal",
703
- "type": "stack"
808
+ "gap": "sm"
704
809
  }
705
810
  ]
706
811
  }
@@ -722,8 +827,8 @@
722
827
  "Driver",
723
828
  {
724
829
  "emit": {
725
- "success": "DriverLoaded",
726
- "failure": "DriverLoadFailed"
830
+ "failure": "DriverLoadFailed",
831
+ "success": "DriverLoaded"
727
832
  }
728
833
  }
729
834
  ],
@@ -731,19 +836,19 @@
731
836
  "render-ui",
732
837
  "main",
733
838
  {
734
- "type": "stack",
735
- "direction": "vertical",
736
839
  "gap": "md",
840
+ "direction": "vertical",
841
+ "type": "stack",
737
842
  "align": "center",
738
843
  "children": [
739
844
  {
740
845
  "type": "spinner"
741
846
  },
742
847
  {
743
- "color": "muted",
848
+ "type": "typography",
744
849
  "content": "Suspending driver…",
745
- "variant": "caption",
746
- "type": "typography"
850
+ "color": "muted",
851
+ "variant": "caption"
747
852
  }
748
853
  ],
749
854
  "className": "py-12"
@@ -751,6 +856,90 @@
751
856
  ]
752
857
  ]
753
858
  },
859
+ {
860
+ "from": "browsing",
861
+ "to": "loading",
862
+ "event": "SET_STATUS",
863
+ "effects": [
864
+ [
865
+ "set",
866
+ "@entity.id",
867
+ "@payload.entityId"
868
+ ],
869
+ [
870
+ "set",
871
+ "@entity.status",
872
+ "@payload.newStatus"
873
+ ],
874
+ [
875
+ "persist",
876
+ "update",
877
+ "Driver",
878
+ "@entity",
879
+ {
880
+ "emit": {
881
+ "failure": "DriverUpdateFailed",
882
+ "success": "DriverUpdated"
883
+ }
884
+ }
885
+ ],
886
+ [
887
+ "render-ui",
888
+ "main",
889
+ {
890
+ "className": "py-12",
891
+ "children": [
892
+ {
893
+ "type": "spinner"
894
+ },
895
+ {
896
+ "type": "typography",
897
+ "content": "Updating driver status…",
898
+ "variant": "caption",
899
+ "color": "muted"
900
+ }
901
+ ],
902
+ "align": "center",
903
+ "gap": "md",
904
+ "type": "stack",
905
+ "direction": "vertical"
906
+ }
907
+ ]
908
+ ]
909
+ },
910
+ {
911
+ "from": "browsing",
912
+ "to": "loading",
913
+ "event": "DriverUpdated",
914
+ "effects": [
915
+ [
916
+ "fetch",
917
+ "Driver",
918
+ {
919
+ "emit": {
920
+ "failure": "DriverLoadFailed",
921
+ "success": "DriverLoaded"
922
+ }
923
+ }
924
+ ]
925
+ ]
926
+ },
927
+ {
928
+ "from": "browsing",
929
+ "to": "browsing",
930
+ "event": "DriverUpdateFailed",
931
+ "effects": [
932
+ [
933
+ "render-ui",
934
+ "main",
935
+ {
936
+ "variant": "error",
937
+ "type": "alert",
938
+ "message": "@payload.error"
939
+ }
940
+ ]
941
+ ]
942
+ },
754
943
  {
755
944
  "from": "viewing_single",
756
945
  "to": "loading",
@@ -771,21 +960,21 @@
771
960
  "main",
772
961
  {
773
962
  "className": "py-12",
963
+ "gap": "md",
964
+ "type": "stack",
965
+ "direction": "vertical",
966
+ "align": "center",
774
967
  "children": [
775
968
  {
776
969
  "type": "spinner"
777
970
  },
778
971
  {
779
- "color": "muted",
780
- "content": "Loading drivers…",
781
972
  "type": "typography",
782
- "variant": "caption"
973
+ "variant": "caption",
974
+ "content": "Loading drivers…",
975
+ "color": "muted"
783
976
  }
784
- ],
785
- "gap": "md",
786
- "type": "stack",
787
- "direction": "vertical",
788
- "align": "center"
977
+ ]
789
978
  }
790
979
  ]
791
980
  ]
@@ -814,22 +1003,22 @@
814
1003
  "render-ui",
815
1004
  "main",
816
1005
  {
817
- "type": "stack",
1006
+ "direction": "vertical",
818
1007
  "gap": "md",
819
1008
  "align": "center",
820
- "className": "py-12",
821
1009
  "children": [
822
1010
  {
823
1011
  "type": "spinner"
824
1012
  },
825
1013
  {
826
- "type": "typography",
827
- "variant": "caption",
828
1014
  "color": "muted",
829
- "content": "Assigning vehicle…"
1015
+ "type": "typography",
1016
+ "content": "Assigning vehicle…",
1017
+ "variant": "caption"
830
1018
  }
831
1019
  ],
832
- "direction": "vertical"
1020
+ "className": "py-12",
1021
+ "type": "stack"
833
1022
  }
834
1023
  ]
835
1024
  ]
@@ -858,22 +1047,22 @@
858
1047
  "render-ui",
859
1048
  "main",
860
1049
  {
861
- "className": "py-12",
1050
+ "type": "stack",
1051
+ "gap": "md",
862
1052
  "children": [
863
1053
  {
864
1054
  "type": "spinner"
865
1055
  },
866
1056
  {
867
- "type": "typography",
1057
+ "color": "muted",
868
1058
  "content": "Suspending driver…",
869
1059
  "variant": "caption",
870
- "color": "muted"
1060
+ "type": "typography"
871
1061
  }
872
1062
  ],
873
- "gap": "md",
874
- "direction": "vertical",
875
- "type": "stack",
876
- "align": "center"
1063
+ "className": "py-12",
1064
+ "align": "center",
1065
+ "direction": "vertical"
877
1066
  }
878
1067
  ]
879
1068
  ]
@@ -903,21 +1092,21 @@
903
1092
  "main",
904
1093
  {
905
1094
  "type": "stack",
906
- "direction": "vertical",
907
- "align": "center",
908
1095
  "className": "py-12",
909
1096
  "gap": "md",
1097
+ "align": "center",
910
1098
  "children": [
911
1099
  {
912
1100
  "type": "spinner"
913
1101
  },
914
1102
  {
915
1103
  "color": "muted",
916
- "content": "Reinstating driver…",
917
1104
  "type": "typography",
1105
+ "content": "Reinstating driver…",
918
1106
  "variant": "caption"
919
1107
  }
920
- ]
1108
+ ],
1109
+ "direction": "vertical"
921
1110
  }
922
1111
  ]
923
1112
  ]
@@ -937,8 +1126,8 @@
937
1126
  "Driver",
938
1127
  {
939
1128
  "emit": {
940
- "failure": "DriverLoadFailed",
941
- "success": "DriverLoaded"
1129
+ "success": "DriverLoaded",
1130
+ "failure": "DriverLoadFailed"
942
1131
  }
943
1132
  }
944
1133
  ],
@@ -946,21 +1135,21 @@
946
1135
  "render-ui",
947
1136
  "main",
948
1137
  {
1138
+ "className": "py-12",
949
1139
  "children": [
950
1140
  {
951
1141
  "type": "spinner"
952
1142
  },
953
1143
  {
954
- "variant": "caption",
955
- "content": "Terminating driver…",
956
1144
  "type": "typography",
957
- "color": "muted"
1145
+ "variant": "caption",
1146
+ "color": "muted",
1147
+ "content": "Terminating driver…"
958
1148
  }
959
1149
  ],
960
- "className": "py-12",
961
- "gap": "md",
962
1150
  "type": "stack",
963
1151
  "direction": "vertical",
1152
+ "gap": "md",
964
1153
  "align": "center"
965
1154
  }
966
1155
  ]
@@ -976,8 +1165,8 @@
976
1165
  "Driver",
977
1166
  {
978
1167
  "emit": {
979
- "failure": "DriverLoadFailed",
980
- "success": "DriverLoaded"
1168
+ "success": "DriverLoaded",
1169
+ "failure": "DriverLoadFailed"
981
1170
  }
982
1171
  }
983
1172
  ],
@@ -994,38 +1183,138 @@
994
1183
  ]
995
1184
  },
996
1185
  "config": {
1186
+ "itemActions": {
1187
+ "type": "[ItemAction]",
1188
+ "default": [
1189
+ {
1190
+ "event": "OPEN_DRIVER",
1191
+ "variant": "primary",
1192
+ "label": "Open",
1193
+ "icon": "arrow-right"
1194
+ },
1195
+ {
1196
+ "label": "Suspend",
1197
+ "variant": "danger",
1198
+ "event": "SUSPEND"
1199
+ }
1200
+ ],
1201
+ "label": "Row actions",
1202
+ "description": "Buttons users can click on each driver row",
1203
+ "tier": "customization",
1204
+ "items": {
1205
+ "type": "object",
1206
+ "properties": {
1207
+ "icon": {
1208
+ "name": "icon",
1209
+ "type": "string",
1210
+ "required": false
1211
+ },
1212
+ "label": {
1213
+ "name": "label",
1214
+ "type": "string",
1215
+ "required": true
1216
+ },
1217
+ "variant": {
1218
+ "name": "variant",
1219
+ "type": "string",
1220
+ "required": false
1221
+ },
1222
+ "event": {
1223
+ "name": "event",
1224
+ "type": "string",
1225
+ "required": true
1226
+ }
1227
+ }
1228
+ }
1229
+ },
1230
+ "cycleCountFrequencyDays": {
1231
+ "type": "number",
1232
+ "default": 30.0,
1233
+ "label": "Cycle count cadence (days)",
1234
+ "description": "Days between scheduled inventory cycle counts on assigned vehicle. v1.2 declarative.",
1235
+ "tier": "advanced"
1236
+ },
1237
+ "serialTrackingEnabled": {
1238
+ "type": "boolean",
1239
+ "default": false,
1240
+ "label": "Serial tracking",
1241
+ "description": "Track individual asset serial numbers handed to the driver. v1.2 declarative.",
1242
+ "tier": "customization"
1243
+ },
1244
+ "hazmatEnabled": {
1245
+ "type": "boolean",
1246
+ "default": false,
1247
+ "label": "Hazmat capable",
1248
+ "description": "Driver/route can carry hazardous-material loads. Drives endorsement checks.",
1249
+ "tier": "advanced"
1250
+ },
1251
+ "expiryTrackingEnabled": {
1252
+ "type": "boolean",
1253
+ "default": false,
1254
+ "label": "Expiry tracking",
1255
+ "description": "Track expiry dates on driver-carried inventory.",
1256
+ "tier": "customization"
1257
+ },
1258
+ "title": {
1259
+ "type": "string",
1260
+ "default": "Drivers",
1261
+ "label": "Section title",
1262
+ "description": "Heading shown above the fleet driver roster",
1263
+ "tier": "customization"
1264
+ },
1265
+ "defaultWarehouse": {
1266
+ "type": "string",
1267
+ "default": "",
1268
+ "label": "Default warehouse / depot",
1269
+ "description": "ID of the depot a driver is assigned to by default. v1.2 declarative; surfaced for routing/scheduling.",
1270
+ "tier": "customization"
1271
+ },
1272
+ "multiLocationEnabled": {
1273
+ "type": "boolean",
1274
+ "default": false,
1275
+ "label": "Multi-location",
1276
+ "description": "Allow a driver to operate across multiple depots/warehouses.",
1277
+ "tier": "customization"
1278
+ },
1279
+ "lotTrackingEnabled": {
1280
+ "type": "boolean",
1281
+ "default": false,
1282
+ "label": "Lot tracking",
1283
+ "description": "Track lot/batch numbers on driver-carried inventory. v1.2 declarative.",
1284
+ "tier": "customization"
1285
+ },
997
1286
  "fields": {
998
1287
  "type": "[FieldSpec]",
999
1288
  "default": [
1000
1289
  {
1001
- "label": "Name",
1290
+ "name": "name",
1002
1291
  "variant": "caption",
1003
- "name": "name"
1292
+ "label": "Name"
1004
1293
  },
1005
1294
  {
1006
- "name": "licenseNumber",
1295
+ "variant": "caption",
1007
1296
  "label": "License",
1008
- "variant": "caption"
1297
+ "name": "licenseNumber"
1009
1298
  },
1010
1299
  {
1300
+ "variant": "badge",
1011
1301
  "label": "Class",
1012
- "name": "licenseClass",
1013
- "variant": "badge"
1302
+ "name": "licenseClass"
1014
1303
  },
1015
1304
  {
1016
1305
  "name": "licenseExpiresAt",
1017
- "label": "Expires",
1018
- "variant": "caption"
1306
+ "variant": "caption",
1307
+ "label": "Expires"
1019
1308
  },
1020
1309
  {
1021
1310
  "variant": "badge",
1022
- "name": "status",
1023
- "label": "Status"
1311
+ "label": "Status",
1312
+ "name": "status"
1024
1313
  },
1025
1314
  {
1026
- "label": "Vehicle",
1315
+ "variant": "caption",
1027
1316
  "name": "assignedVehicleId",
1028
- "variant": "caption"
1317
+ "label": "Vehicle"
1029
1318
  }
1030
1319
  ],
1031
1320
  "label": "Columns to show",
@@ -1034,13 +1323,8 @@
1034
1323
  "items": {
1035
1324
  "type": "object",
1036
1325
  "properties": {
1037
- "name": {
1038
- "name": "name",
1039
- "type": "string",
1040
- "required": true
1041
- },
1042
- "variant": {
1043
- "name": "variant",
1326
+ "key": {
1327
+ "name": "key",
1044
1328
  "type": "string",
1045
1329
  "required": false
1046
1330
  },
@@ -1049,59 +1333,18 @@
1049
1333
  "type": "string",
1050
1334
  "required": false
1051
1335
  },
1052
- "key": {
1053
- "name": "key",
1054
- "type": "string",
1055
- "required": false
1056
- },
1057
1336
  "format": {
1058
1337
  "name": "format",
1059
1338
  "type": "string",
1060
1339
  "required": false
1061
1340
  },
1062
- "icon": {
1063
- "name": "icon",
1341
+ "variant": {
1342
+ "name": "variant",
1064
1343
  "type": "string",
1065
1344
  "required": false
1066
1345
  },
1067
- "label": {
1068
- "name": "label",
1069
- "type": "string",
1070
- "required": false
1071
- }
1072
- }
1073
- }
1074
- },
1075
- "title": {
1076
- "type": "string",
1077
- "default": "Drivers",
1078
- "label": "Section title",
1079
- "description": "Heading shown above the fleet driver roster",
1080
- "tier": "customization"
1081
- },
1082
- "itemActions": {
1083
- "type": "[ItemAction]",
1084
- "default": [
1085
- {
1086
- "variant": "primary",
1087
- "label": "Open",
1088
- "event": "OPEN_DRIVER",
1089
- "icon": "arrow-right"
1090
- },
1091
- {
1092
- "variant": "danger",
1093
- "label": "Suspend",
1094
- "event": "SUSPEND"
1095
- }
1096
- ],
1097
- "label": "Row actions",
1098
- "description": "Buttons users can click on each driver row",
1099
- "tier": "customization",
1100
- "items": {
1101
- "type": "object",
1102
- "properties": {
1103
- "label": {
1104
- "name": "label",
1346
+ "name": {
1347
+ "name": "name",
1105
1348
  "type": "string",
1106
1349
  "required": true
1107
1350
  },
@@ -1110,13 +1353,8 @@
1110
1353
  "type": "string",
1111
1354
  "required": false
1112
1355
  },
1113
- "event": {
1114
- "name": "event",
1115
- "type": "string",
1116
- "required": true
1117
- },
1118
- "variant": {
1119
- "name": "variant",
1356
+ "label": {
1357
+ "name": "label",
1120
1358
  "type": "string",
1121
1359
  "required": false
1122
1360
  }
@@ -1140,4 +1378,4 @@
1140
1378
  ]
1141
1379
  }
1142
1380
  ]
1143
- }
1381
+ }