@burdenoff/microfe-movethewheels 2026.626.2 → 2026.703.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 (120) hide show
  1. package/dist/{AIAssistantPage-AvsMbunM.js → AIAssistantPage-C3ovZ0Fh.js} +100 -73
  2. package/dist/AnalyticsPage-O8SpY-V4.js +215 -0
  3. package/dist/{CreateOrderPage-CjlnEtk3.js → CreateOrderPage-CB1_-_mN.js} +33 -35
  4. package/dist/{CustomerDetailsPage-I6cdDHUi.js → CustomerDetailsPage-BaeKEI1D.js} +42 -44
  5. package/dist/{CustomersPage-CGGfD4ki.js → CustomersPage-DRaLuHMC.js} +26 -28
  6. package/dist/{DashboardPage-D2HRqwg9.js → DashboardPage-DPjhNfKB.js} +85 -83
  7. package/dist/{DataTable-CD9ZhpLB.js → DataTable-DmciIKKM.js} +3 -3
  8. package/dist/{DriverDetailsPage-rg_pGNuP.js → DriverDetailsPage-CSSQTOzn.js} +52 -54
  9. package/dist/{DriversPage-DKiynISH.js → DriversPage-C2Bk0w4Q.js} +24 -26
  10. package/dist/{FinancePage-Vg8WPs38.js → FinancePage-lmp0Sdsw.js} +9 -9
  11. package/dist/FleetPage-DZn5pIqd.js +365 -0
  12. package/dist/ImportExportPage-BIUJZc7O.js +290 -0
  13. package/dist/InventoryPage-Cxh1zYJd.js +253 -0
  14. package/dist/{LiveTrackingPage-DQ1q4Id3.js → LiveTrackingPage-BY1yAkIt.js} +60 -56
  15. package/dist/MarketplacePage-RMuL17EA.js +247 -0
  16. package/dist/{MetricCard-B7yMyvMX.js → MetricCard-7aYgzZHK.js} +1 -1
  17. package/dist/{OrderDetailsPage-CFASgsYX.js → OrderDetailsPage-C2Mf4KSy.js} +83 -85
  18. package/dist/{OrdersListPage-BHeT8S5o.js → OrdersListPage-BrPBtnhp.js} +31 -33
  19. package/dist/{PageLayout-D3N8MCTm.js → PageLayout-D4LDHJJq.js} +483 -422
  20. package/dist/{ProductDetailsPage-CFGcbaHo.js → ProductDetailsPage-CezzzZcj.js} +27 -29
  21. package/dist/{ProductsPage--xEpbQ8A.js → ProductsPage-I5DilIoY.js} +21 -23
  22. package/dist/ReportsPage-BDXNmUng.js +284 -0
  23. package/dist/RouteDetailsPage-BcomL20M.js +263 -0
  24. package/dist/RoutesPage-lqX9ylHP.js +144 -0
  25. package/dist/SettingsPage-CQVIOaNs.js +421 -0
  26. package/dist/StatusBadge-NpTeHVlw.js +152 -0
  27. package/dist/{TrackingPage-CcRc_dva.js → TrackingPage-BXrjz7V8.js} +59 -61
  28. package/dist/{VehicleDetailsPage-3YDMPsPs.js → VehicleDetailsPage-DZjLcJgr.js} +40 -42
  29. package/dist/{VehiclesPage-UlxPWP9K.js → VehiclesPage-6W39XT5W.js} +19 -21
  30. package/dist/{WarehouseDetailsPage-Db7KeN-d.js → WarehouseDetailsPage-C10pgRGW.js} +38 -40
  31. package/dist/{WarehousesPage-CuTO-OPp.js → WarehousesPage-CHvBqNaQ.js} +15 -17
  32. package/dist/{arrow-left-CBpZKkpq.js → arrow-left-n48Y-Wis.js} +1 -1
  33. package/dist/{box-CAaiElsb.js → box-D9Pal4HM.js} +1 -1
  34. package/dist/{chart-column-D1Ym15-S.js → chart-column-BFIJysDR.js} +1 -1
  35. package/dist/{chevron-right-BIFGi0UA.js → chevron-right-EMIIyyJ1.js} +1 -1
  36. package/dist/{circle-alert-DjmNo5_L.js → circle-alert-iY24lSlp.js} +1 -1
  37. package/dist/{circle-check-big-CjuPVo3_.js → circle-check-big-w0TrLKMF.js} +1 -1
  38. package/dist/{clock-BjkdnddD.js → clock-DJZtdl8u.js} +1 -1
  39. package/dist/{dollar-sign-IB4O0wuQ.js → dollar-sign-CgKQRz_e.js} +1 -1
  40. package/dist/{download-Dpa9vqoG.js → download-DRXxoiQR.js} +1 -1
  41. package/dist/{file-text-C8Uioy11.js → file-text-DWWY6_f5.js} +1 -1
  42. package/dist/{filter-Da5OZaHI.js → filter-DloLC2eE.js} +1 -1
  43. package/dist/index.js +119 -111
  44. package/dist/{map-_Per4sT9.js → map-CkJaULb2.js} +1 -1
  45. package/dist/{map-pin-BSaf5IDL.js → map-pin-BGiCvyCs.js} +1 -1
  46. package/dist/{navigation-DaTbrhw2.js → navigation-D36prnAn.js} +1 -1
  47. package/dist/{package-BE7U0wQE.js → package-BChUzpJS.js} +1 -1
  48. package/dist/{phone-DV4StZiA.js → phone-Ac9s3mo_.js} +1 -1
  49. package/dist/{plus-Dl1rLeJR.js → plus-Z76q-FZm.js} +1 -1
  50. package/dist/{refresh-cw-CWfERAit.js → refresh-cw-DKt6f5T6.js} +1 -1
  51. package/dist/{save-XH8vydOn.js → save-CojywNhG.js} +1 -1
  52. package/dist/{search-OxoIiL_C.js → search-CDGefqb3.js} +1 -1
  53. package/dist/{square-pen-hLIbFQFV.js → square-pen-CopE9GmB.js} +1 -1
  54. package/dist/{star-YsVV3MNQ.js → star-nHlLjDKR.js} +1 -1
  55. package/dist/{store-RCBl7HB-.js → store-BR9Voi5E.js} +1 -1
  56. package/dist/{trending-up-C-85AwGT.js → trending-up-B7W-GL6P.js} +1 -1
  57. package/dist/{triangle-alert-BOhfGgmh.js → triangle-alert-BonHFFNz.js} +1 -1
  58. package/dist/{truck-CtDjNFbi.js → truck-DrlfSpRC.js} +1 -1
  59. package/dist/{useAnalytics-ph7eTIK6.js → useAnalytics-CgdzUfY_.js} +40 -40
  60. package/dist/useAssistant-D4v3oxD3.js +84 -0
  61. package/dist/{useCustomers-bS3a4ytk.js → useCustomers-QrlozybF.js} +24 -24
  62. package/dist/{useFleet-BdETplNE.js → useFleet-DiAC-IiH.js} +70 -67
  63. package/dist/useImportExport-BLMnAKCC.js +55 -0
  64. package/dist/{useInventory-Dwn18FPz.js → useInventory-DKoks37x.js} +33 -33
  65. package/dist/{useOrders-D_3_hGMp.js → useOrders-D3UZVy8Y.js} +42 -42
  66. package/dist/useReports-Puq4DCH9.js +78 -0
  67. package/dist/{useRoutes-v4aBaS-E.js → useRoutes-Do57LvRb.js} +31 -31
  68. package/dist/useSettings-CkDH_-gM.js +81 -0
  69. package/dist/{useTracking-De2KIUNu.js → useTracking-GJify4HN.js} +22 -22
  70. package/dist/{user-Dz5TJZFs.js → user-CjSoudeu.js} +1 -1
  71. package/dist/{users-g2N0eL-Z.js → users-BAM4gHTn.js} +1 -1
  72. package/dist/{warehouse-D3WWDeTX.js → warehouse-C7MSr47B.js} +1 -1
  73. package/dist/{wrench-CmxY1n4I.js → wrench-CANXWxF-.js} +1 -1
  74. package/package.json +1 -1
  75. package/src/movethewheels/MoveTheWheelsRoutes.tsx +27 -3
  76. package/src/movethewheels/components/StatusBadge.tsx +18 -37
  77. package/src/movethewheels/constants/index.ts +67 -26
  78. package/src/movethewheels/hooks/index.ts +12 -0
  79. package/src/movethewheels/hooks/useAnalytics.ts +20 -6
  80. package/src/movethewheels/hooks/useAssistant.ts +74 -0
  81. package/src/movethewheels/hooks/useFleet.ts +63 -59
  82. package/src/movethewheels/hooks/useImportExport.ts +101 -0
  83. package/src/movethewheels/hooks/useReports.ts +158 -0
  84. package/src/movethewheels/hooks/useSettings.ts +120 -0
  85. package/src/movethewheels/pages/AIAssistantPage.tsx +53 -15
  86. package/src/movethewheels/pages/AnalyticsPage.tsx +67 -64
  87. package/src/movethewheels/pages/CustomerDetailsPage.tsx +1 -1
  88. package/src/movethewheels/pages/CustomersPage.tsx +1 -1
  89. package/src/movethewheels/pages/DashboardPage.tsx +42 -22
  90. package/src/movethewheels/pages/DriverDetailsPage.tsx +1 -1
  91. package/src/movethewheels/pages/DriversPage.tsx +1 -1
  92. package/src/movethewheels/pages/FleetPage.tsx +96 -38
  93. package/src/movethewheels/pages/ImportExportPage.tsx +174 -68
  94. package/src/movethewheels/pages/InventoryPage.tsx +66 -28
  95. package/src/movethewheels/pages/LiveTrackingPage.tsx +12 -3
  96. package/src/movethewheels/pages/MarketplacePage.tsx +87 -45
  97. package/src/movethewheels/pages/OrderDetailsPage.tsx +2 -2
  98. package/src/movethewheels/pages/ReportsPage.tsx +194 -90
  99. package/src/movethewheels/pages/RouteDetailsPage.tsx +5 -11
  100. package/src/movethewheels/pages/RoutesPage.tsx +4 -9
  101. package/src/movethewheels/pages/SettingsPage.tsx +234 -56
  102. package/src/movethewheels/pages/TrackingPage.tsx +6 -6
  103. package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +7 -6
  104. package/src/movethewheels/store/movethewheelsStore.ts +1 -1
  105. package/dist/AnalyticsPage-CCLfHgQZ.js +0 -212
  106. package/dist/FleetPage-DddXt8r8.js +0 -332
  107. package/dist/ImportExportPage-BW6qO3kc.js +0 -248
  108. package/dist/InventoryPage-rMGuaJN-.js +0 -222
  109. package/dist/MarketplacePage-DKrXAv62.js +0 -219
  110. package/dist/ReportsPage-Bb7_90rK.js +0 -235
  111. package/dist/RouteDetailsPage-CVtDVb1N.js +0 -282
  112. package/dist/RoutesPage-s57PtgcQ.js +0 -163
  113. package/dist/SettingsPage-BYNCBOpN.js +0 -298
  114. package/dist/StatusBadge-CijYQXtb.js +0 -209
  115. package/dist/graphqlClient-CdJyR_ed.js +0 -55
  116. package/dist/navigation-BgnOfsVd.js +0 -6
  117. package/dist/route-Dp9JiN_E.js +0 -51
  118. package/dist/settings-3Rw5NwFF.js +0 -28
  119. package/src/movethewheels/constants/mockData.ts +0 -1342
  120. /package/dist/{formatters-_vJlC-47.js → formatters-DhKZ-eA1.js} +0 -0
@@ -1,20 +1,18 @@
1
- import { A as e, F as t, I as n, L as r, P as i, Q as a, R as o, d as s, f as c, g as l, h as u, i as d, it as f, j as p, t as m, u as h, z as g } from "./PageLayout-D3N8MCTm.js";
2
- import { t as _ } from "./arrow-left-CBpZKkpq.js";
3
- import { t as v } from "./map-pin-BSaf5IDL.js";
4
- import { t as y } from "./package-BE7U0wQE.js";
5
- import { t as b } from "./plus-Dl1rLeJR.js";
6
- import { t as x } from "./save-XH8vydOn.js";
7
- import { t as S } from "./users-g2N0eL-Z.js";
8
- import { r as C } from "./graphqlClient-CdJyR_ed.js";
9
- import { r as w, t as T } from "./useOrders-D_3_hGMp.js";
10
- import { r as E } from "./useCustomers-bS3a4ytk.js";
11
- import { t as D } from "./navigation-BgnOfsVd.js";
1
+ import { A as e, F as t, I as n, L as r, P as i, Q as a, R as o, ct as s, d as c, f as l, g as u, h as d, i as f, j as p, lt as m, ot as h, t as g, u as _, z as v } from "./PageLayout-D4LDHJJq.js";
2
+ import { t as y } from "./arrow-left-n48Y-Wis.js";
3
+ import { t as b } from "./map-pin-BGiCvyCs.js";
4
+ import { t as x } from "./package-BChUzpJS.js";
5
+ import { t as S } from "./plus-Z76q-FZm.js";
6
+ import { t as C } from "./save-CojywNhG.js";
7
+ import { t as w } from "./users-BAM4gHTn.js";
8
+ import { r as T, t as E } from "./useOrders-D3UZVy8Y.js";
9
+ import { r as D } from "./useCustomers-QrlozybF.js";
12
10
  import { useState as O } from "react";
13
11
  import { useParams as k } from "react-router-dom";
14
12
  import { jsx as A, jsxs as j } from "react/jsx-runtime";
15
13
  import { EmphasisPanel as M, NextSteps as N, PagePurpose as P } from "@burdenoff/fe-libs/ui";
16
14
  //#region node_modules/lucide-react/dist/esm/icons/trash-2.js
17
- var F = f("Trash2", [
15
+ var F = m("Trash2", [
18
16
  ["path", {
19
17
  d: "M3 6h18",
20
18
  key: "d0wm0j"
@@ -45,7 +43,7 @@ var F = f("Trash2", [
45
43
  //#endregion
46
44
  //#region src/movethewheels/pages/CreateOrderPage.tsx
47
45
  function I() {
48
- let { orderId: f } = k(), { basePath: I, navigate: L } = C(), { order: R } = T(f), { createOrder: z } = w(), { customers: B } = E({ limit: 100 }), V = !!f && !!R, [H, U] = O({
46
+ let { orderId: m } = k(), { basePath: I, navigate: L } = h(), { order: R } = E(m), { createOrder: z } = T(), { customers: B } = D({ limit: 100 }), V = !!m && !!R, [H, U] = O({
49
47
  customerId: R?.customerId || "",
50
48
  orderType: R?.orderType || "b2c",
51
49
  priority: R?.priority || "normal",
@@ -66,7 +64,7 @@ function I() {
66
64
  items: R?.items || [],
67
65
  specialInstructions: R?.specialInstructions || ""
68
66
  }), [W, G] = O(!1), K = () => {
69
- L && L(D(I, "orders"));
67
+ L && L(s(I, "orders"));
70
68
  }, q = async (e) => {
71
69
  e.preventDefault(), G(!0);
72
70
  try {
@@ -141,25 +139,25 @@ function I() {
141
139
  } : r)
142
140
  }));
143
141
  };
144
- return /* @__PURE__ */ j(d, {
142
+ return /* @__PURE__ */ j(f, {
145
143
  title: V ? "Edit Order" : "Create Order",
146
144
  subtitle: V ? `Editing ${R?.orderNumber}` : "Create a new delivery order",
147
- icon: /* @__PURE__ */ A(y, { size: 24 }),
145
+ icon: /* @__PURE__ */ A(x, { size: 24 }),
148
146
  headerActions: /* @__PURE__ */ j("div", {
149
147
  className: "flex gap-2",
150
- children: [/* @__PURE__ */ j(h, {
148
+ children: [/* @__PURE__ */ j(_, {
151
149
  variant: "outline",
152
150
  onClick: K,
153
- children: [/* @__PURE__ */ A(_, { size: 16 }), "Cancel"]
154
- }), /* @__PURE__ */ j(h, {
151
+ children: [/* @__PURE__ */ A(y, { size: 16 }), "Cancel"]
152
+ }), /* @__PURE__ */ j(_, {
155
153
  onClick: q,
156
154
  disabled: W,
157
- children: [/* @__PURE__ */ A(x, { size: 16 }), W ? "Saving..." : V ? "Save Changes" : "Create Order"]
155
+ children: [/* @__PURE__ */ A(C, { size: 16 }), W ? "Saving..." : V ? "Save Changes" : "Create Order"]
158
156
  })]
159
157
  }),
160
158
  children: [
161
159
  /* @__PURE__ */ A(P, {
162
- icon: /* @__PURE__ */ A(y, { size: 18 }),
160
+ icon: /* @__PURE__ */ A(x, { size: 18 }),
163
161
  children: V ? "Update this delivery before it goes out — change the customer, addresses, items or handling notes, then save." : "Book a new delivery in a few steps: choose who it’s for, set pickup and drop-off addresses, list what’s being shipped, and add any handling notes. Once created it joins the orders pipeline ready to assign and track."
164
162
  }),
165
163
  /* @__PURE__ */ A(N, {
@@ -169,7 +167,7 @@ function I() {
169
167
  id: "customer",
170
168
  label: "Pick the customer first",
171
169
  description: "Their saved contact details auto-fill the order.",
172
- icon: /* @__PURE__ */ A(S, { size: 16 }),
170
+ icon: /* @__PURE__ */ A(w, { size: 16 }),
173
171
  done: !!H.customerId,
174
172
  onClick: () => document.getElementById("customer")?.focus()
175
173
  },
@@ -177,7 +175,7 @@ function I() {
177
175
  id: "addresses",
178
176
  label: "Set pickup & delivery addresses",
179
177
  description: "Where the shipment is collected and dropped off.",
180
- icon: /* @__PURE__ */ A(v, { size: 16 }),
178
+ icon: /* @__PURE__ */ A(b, { size: 16 }),
181
179
  done: !!H.pickupAddress.street && !!H.deliveryAddress.street,
182
180
  onClick: () => document.getElementById("pickupStreet")?.focus()
183
181
  },
@@ -185,7 +183,7 @@ function I() {
185
183
  id: "items",
186
184
  label: "Add the items to ship",
187
185
  description: "List each product with its quantity and value.",
188
- icon: /* @__PURE__ */ A(y, { size: 16 }),
186
+ icon: /* @__PURE__ */ A(x, { size: 16 }),
189
187
  done: H.items.length > 0,
190
188
  onClick: X
191
189
  }
@@ -281,7 +279,7 @@ function I() {
281
279
  })] }),
282
280
  /* @__PURE__ */ j("div", {
283
281
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
284
- children: [/* @__PURE__ */ j(s, { children: [/* @__PURE__ */ A(u, { children: /* @__PURE__ */ A(l, { children: "Pickup Address" }) }), /* @__PURE__ */ j(c, {
282
+ children: [/* @__PURE__ */ j(c, { children: [/* @__PURE__ */ A(d, { children: /* @__PURE__ */ A(u, { children: "Pickup Address" }) }), /* @__PURE__ */ j(l, {
285
283
  className: "space-y-4",
286
284
  children: [
287
285
  /* @__PURE__ */ j("div", {
@@ -349,7 +347,7 @@ function I() {
349
347
  })]
350
348
  })
351
349
  ]
352
- })] }), /* @__PURE__ */ j(s, { children: [/* @__PURE__ */ A(u, { children: /* @__PURE__ */ A(l, { children: "Delivery Address" }) }), /* @__PURE__ */ j(c, {
350
+ })] }), /* @__PURE__ */ j(c, { children: [/* @__PURE__ */ A(d, { children: /* @__PURE__ */ A(u, { children: "Delivery Address" }) }), /* @__PURE__ */ j(l, {
353
351
  className: "space-y-4",
354
352
  children: [
355
353
  /* @__PURE__ */ j("div", {
@@ -419,31 +417,31 @@ function I() {
419
417
  ]
420
418
  })] })]
421
419
  }),
422
- /* @__PURE__ */ j(s, { children: [/* @__PURE__ */ j(u, {
420
+ /* @__PURE__ */ j(c, { children: [/* @__PURE__ */ j(d, {
423
421
  className: "flex flex-row items-center justify-between",
424
- children: [/* @__PURE__ */ A(l, { children: "Order Items" }), /* @__PURE__ */ j(h, {
422
+ children: [/* @__PURE__ */ A(u, { children: "Order Items" }), /* @__PURE__ */ j(_, {
425
423
  type: "button",
426
424
  variant: "outline",
427
425
  size: "sm",
428
426
  onClick: X,
429
- children: [/* @__PURE__ */ A(b, { size: 16 }), "Add Item"]
427
+ children: [/* @__PURE__ */ A(S, { size: 16 }), "Add Item"]
430
428
  })]
431
- }), /* @__PURE__ */ A(c, { children: H.items.length === 0 ? /* @__PURE__ */ A(m, {
429
+ }), /* @__PURE__ */ A(l, { children: H.items.length === 0 ? /* @__PURE__ */ A(g, {
432
430
  illustration: "empty-files",
433
431
  title: "No items added yet",
434
432
  description: "Add the products this order will ship — each with a name, SKU, quantity and value.",
435
- action: /* @__PURE__ */ j(h, {
433
+ action: /* @__PURE__ */ j(_, {
436
434
  type: "button",
437
435
  variant: "outline",
438
436
  onClick: X,
439
- children: [/* @__PURE__ */ A(b, {
437
+ children: [/* @__PURE__ */ A(S, {
440
438
  size: 16,
441
439
  className: "mr-1.5"
442
440
  }), "Add your first item"]
443
441
  })
444
442
  }) : /* @__PURE__ */ A("div", {
445
443
  className: "space-y-4",
446
- children: H.items.map((t, n) => /* @__PURE__ */ j("div", { children: [n > 0 && /* @__PURE__ */ A(g, { className: "my-4" }), /* @__PURE__ */ j("div", {
444
+ children: H.items.map((t, n) => /* @__PURE__ */ j("div", { children: [n > 0 && /* @__PURE__ */ A(v, { className: "my-4" }), /* @__PURE__ */ j("div", {
447
445
  className: "grid grid-cols-1 md:grid-cols-6 gap-4",
448
446
  children: [
449
447
  /* @__PURE__ */ j("div", {
@@ -483,7 +481,7 @@ function I() {
483
481
  }),
484
482
  /* @__PURE__ */ A("div", {
485
483
  className: "flex items-end",
486
- children: /* @__PURE__ */ A(h, {
484
+ children: /* @__PURE__ */ A(_, {
487
485
  type: "button",
488
486
  variant: "ghost",
489
487
  size: "icon",
@@ -495,7 +493,7 @@ function I() {
495
493
  ]
496
494
  })] }, t.id))
497
495
  }) })] }),
498
- /* @__PURE__ */ j(s, { children: [/* @__PURE__ */ A(u, { children: /* @__PURE__ */ A(l, { children: "Special Instructions" }) }), /* @__PURE__ */ A(c, { children: /* @__PURE__ */ A(a, {
496
+ /* @__PURE__ */ j(c, { children: [/* @__PURE__ */ A(d, { children: /* @__PURE__ */ A(u, { children: "Special Instructions" }) }), /* @__PURE__ */ A(l, { children: /* @__PURE__ */ A(a, {
499
497
  value: H.specialInstructions,
500
498
  onChange: (e) => J("specialInstructions", e.target.value),
501
499
  placeholder: "Any special handling or delivery instructions...",
@@ -1,21 +1,19 @@
1
- import { d as e, f as t, g as n, h as r, i, it as a, l as o, n as s, r as c, u as l } from "./PageLayout-D3N8MCTm.js";
2
- import { t as u } from "./arrow-left-CBpZKkpq.js";
3
- import { t as d } from "./file-text-C8Uioy11.js";
4
- import { n as f, t as p } from "./phone-DV4StZiA.js";
5
- import { t as m } from "./map-pin-BSaf5IDL.js";
6
- import { t as h } from "./square-pen-hLIbFQFV.js";
7
- import { t as g } from "./star-YsVV3MNQ.js";
8
- import { t as _ } from "./users-g2N0eL-Z.js";
9
- import { r as v } from "./graphqlClient-CdJyR_ed.js";
10
- import { t as y } from "./useCustomers-bS3a4ytk.js";
11
- import { i as b } from "./StatusBadge-CijYQXtb.js";
12
- import { r as x, t as S } from "./formatters-_vJlC-47.js";
13
- import { t as C } from "./navigation-BgnOfsVd.js";
1
+ import { ct as e, d as t, f as n, g as r, h as i, i as a, l as o, lt as s, n as c, ot as l, r as u, u as d } from "./PageLayout-D4LDHJJq.js";
2
+ import { t as f } from "./arrow-left-n48Y-Wis.js";
3
+ import { t as p } from "./file-text-DWWY6_f5.js";
4
+ import { n as m, t as h } from "./phone-Ac9s3mo_.js";
5
+ import { t as g } from "./map-pin-BGiCvyCs.js";
6
+ import { t as _ } from "./square-pen-CopE9GmB.js";
7
+ import { t as v } from "./star-nHlLjDKR.js";
8
+ import { t as y } from "./users-BAM4gHTn.js";
9
+ import { t as b } from "./useCustomers-QrlozybF.js";
10
+ import { i as x } from "./StatusBadge-NpTeHVlw.js";
11
+ import { r as S, t as C } from "./formatters-DhKZ-eA1.js";
14
12
  import { useParams as w } from "react-router-dom";
15
13
  import { jsx as T, jsxs as E } from "react/jsx-runtime";
16
14
  import { EmphasisPanel as D, NextSteps as O, PagePurpose as k } from "@burdenoff/fe-libs/ui";
17
15
  //#region node_modules/lucide-react/dist/esm/icons/building.js
18
- var A = a("Building", [
16
+ var A = s("Building", [
19
17
  ["rect", {
20
18
  width: "16",
21
19
  height: "20",
@@ -69,35 +67,35 @@ var A = a("Building", [
69
67
  //#endregion
70
68
  //#region src/movethewheels/pages/CustomerDetailsPage.tsx
71
69
  function j() {
72
- let { customerId: a } = w(), { basePath: j, navigate: M } = v(), { customer: N, isLoading: P, error: F, refetch: I } = y(a), L = () => M?.(C(j, "customers")), R = (e) => M?.(C(j, e));
73
- return a ? P ? /* @__PURE__ */ T(c, { message: "Loading customer details..." }) : F || !N ? /* @__PURE__ */ T(s, {
70
+ let { customerId: s } = w(), { basePath: j, navigate: M } = l(), { customer: N, isLoading: P, error: F, refetch: I } = b(s), L = () => M?.(e(j, "customers")), R = (t) => M?.(e(j, t));
71
+ return s ? P ? /* @__PURE__ */ T(u, { message: "Loading customer details..." }) : F || !N ? /* @__PURE__ */ T(c, {
74
72
  title: "Customer not found",
75
73
  onRetry: I
76
- }) : /* @__PURE__ */ E(i, {
74
+ }) : /* @__PURE__ */ E(a, {
77
75
  title: N.name,
78
76
  subtitle: N.company || N.email,
79
- icon: /* @__PURE__ */ T(_, { size: 24 }),
77
+ icon: /* @__PURE__ */ T(y, { size: 24 }),
80
78
  headerActions: /* @__PURE__ */ E("div", {
81
79
  className: "flex gap-2",
82
- children: [/* @__PURE__ */ E(l, {
80
+ children: [/* @__PURE__ */ E(d, {
83
81
  variant: "outline",
84
82
  onClick: L,
85
- children: [/* @__PURE__ */ T(u, { size: 16 }), " Back"]
86
- }), /* @__PURE__ */ E(l, { children: [/* @__PURE__ */ T(h, { size: 16 }), " Edit"] })]
83
+ children: [/* @__PURE__ */ T(f, { size: 16 }), " Back"]
84
+ }), /* @__PURE__ */ E(d, { children: [/* @__PURE__ */ T(_, { size: 16 }), " Edit"] })]
87
85
  }),
88
86
  headerContent: /* @__PURE__ */ E("div", {
89
87
  className: "flex items-center gap-4",
90
88
  children: [
91
- /* @__PURE__ */ T(b, { type: N.type }),
89
+ /* @__PURE__ */ T(x, { type: N.type }),
92
90
  /* @__PURE__ */ T(o, {
93
91
  variant: N.isActive ? "default" : "secondary",
94
92
  children: N.isActive ? "Active" : "Inactive"
95
93
  }),
96
94
  /* @__PURE__ */ E("div", {
97
95
  className: "flex items-center gap-1",
98
- children: [/* @__PURE__ */ T(g, {
96
+ children: [/* @__PURE__ */ T(v, {
99
97
  size: 16,
100
- className: "text-yellow-500 fill-yellow-500"
98
+ className: "text-status-warning-text fill-current"
101
99
  }), /* @__PURE__ */ T("span", {
102
100
  className: "font-medium",
103
101
  children: N.rating.toFixed(1)
@@ -107,7 +105,7 @@ function j() {
107
105
  }),
108
106
  children: [
109
107
  /* @__PURE__ */ T(k, {
110
- icon: /* @__PURE__ */ T(_, { size: 18 }),
108
+ icon: /* @__PURE__ */ T(y, { size: 18 }),
111
109
  children: "Everything you know about this customer — how to reach them, where they are, and their account standing. Use it to confirm contact details before a delivery, check their rating, or book their next order."
112
110
  }),
113
111
  /* @__PURE__ */ T(O, {
@@ -116,13 +114,13 @@ function j() {
116
114
  id: "new-order",
117
115
  label: "Book a delivery for this customer",
118
116
  description: "Start a new order pre-filled for this account.",
119
- icon: /* @__PURE__ */ T(d, { size: 16 }),
117
+ icon: /* @__PURE__ */ T(p, { size: 16 }),
120
118
  onClick: () => R("orders/new")
121
119
  }, {
122
120
  id: "edit",
123
121
  label: "Update contact details",
124
122
  description: "Keep email, phone and address current.",
125
- icon: /* @__PURE__ */ T(h, { size: 16 }),
123
+ icon: /* @__PURE__ */ T(_, { size: 16 }),
126
124
  onClick: () => {}
127
125
  }]
128
126
  }),
@@ -140,7 +138,7 @@ function j() {
140
138
  className: "space-y-4",
141
139
  children: [/* @__PURE__ */ E("div", {
142
140
  className: "flex items-center gap-3",
143
- children: [/* @__PURE__ */ T(f, {
141
+ children: [/* @__PURE__ */ T(m, {
144
142
  size: 18,
145
143
  className: "text-text-secondary"
146
144
  }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
@@ -152,7 +150,7 @@ function j() {
152
150
  })] })]
153
151
  }), /* @__PURE__ */ E("div", {
154
152
  className: "flex items-center gap-3",
155
- children: [/* @__PURE__ */ T(p, {
153
+ children: [/* @__PURE__ */ T(h, {
156
154
  size: 18,
157
155
  className: "text-text-secondary"
158
156
  }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
@@ -187,18 +185,18 @@ function j() {
187
185
  })] })]
188
186
  })]
189
187
  })] }),
190
- /* @__PURE__ */ E(e, { children: [/* @__PURE__ */ T(r, { children: /* @__PURE__ */ E(n, {
188
+ /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
191
189
  className: "flex items-center gap-2",
192
- children: [/* @__PURE__ */ T(m, { size: 18 }), " Address"]
193
- }) }), /* @__PURE__ */ T(t, { children: /* @__PURE__ */ T("p", { children: S(N.address) }) })] }),
194
- N.notes && /* @__PURE__ */ E(e, { children: [/* @__PURE__ */ T(r, { children: /* @__PURE__ */ E(n, {
190
+ children: [/* @__PURE__ */ T(g, { size: 18 }), " Address"]
191
+ }) }), /* @__PURE__ */ T(n, { children: /* @__PURE__ */ T("p", { children: C(N.address) }) })] }),
192
+ N.notes && /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
195
193
  className: "flex items-center gap-2",
196
- children: [/* @__PURE__ */ T(d, { size: 18 }), " Notes"]
197
- }) }), /* @__PURE__ */ T(t, { children: /* @__PURE__ */ T("p", { children: N.notes }) })] })
194
+ children: [/* @__PURE__ */ T(p, { size: 18 }), " Notes"]
195
+ }) }), /* @__PURE__ */ T(n, { children: /* @__PURE__ */ T("p", { children: N.notes }) })] })
198
196
  ]
199
197
  }), /* @__PURE__ */ E("div", {
200
198
  className: "space-y-6",
201
- children: [/* @__PURE__ */ E(e, { children: [/* @__PURE__ */ T(r, { children: /* @__PURE__ */ T(n, { children: "Business Details" }) }), /* @__PURE__ */ E(t, {
199
+ children: [/* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(r, { children: "Business Details" }) }), /* @__PURE__ */ E(n, {
202
200
  className: "space-y-3",
203
201
  children: [
204
202
  N.businessLicense && /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
@@ -230,29 +228,29 @@ function j() {
230
228
  children: N.marketingOptIn ? "Yes" : "No"
231
229
  })] })
232
230
  ]
233
- })] }), /* @__PURE__ */ E(e, { children: [/* @__PURE__ */ T(r, { children: /* @__PURE__ */ T(n, { children: "Account Info" }) }), /* @__PURE__ */ E(t, {
231
+ })] }), /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(r, { children: "Account Info" }) }), /* @__PURE__ */ E(n, {
234
232
  className: "space-y-3",
235
233
  children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
236
234
  className: "text-sm text-text-secondary",
237
235
  children: "Created"
238
- }), /* @__PURE__ */ T("p", { children: x(N.createdAt, "full") })] }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
236
+ }), /* @__PURE__ */ T("p", { children: S(N.createdAt, "full") })] }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
239
237
  className: "text-sm text-text-secondary",
240
238
  children: "Last Updated"
241
- }), /* @__PURE__ */ T("p", { children: x(N.updatedAt, "relative") })] })]
239
+ }), /* @__PURE__ */ T("p", { children: S(N.updatedAt, "relative") })] })]
242
240
  })] })]
243
241
  })]
244
242
  })
245
243
  ]
246
- }) : /* @__PURE__ */ T(i, {
244
+ }) : /* @__PURE__ */ T(a, {
247
245
  title: "New Customer",
248
246
  subtitle: "Add a new customer",
249
- icon: /* @__PURE__ */ T(_, { size: 24 }),
250
- headerActions: /* @__PURE__ */ E(l, {
247
+ icon: /* @__PURE__ */ T(y, { size: 24 }),
248
+ headerActions: /* @__PURE__ */ E(d, {
251
249
  variant: "outline",
252
250
  onClick: L,
253
- children: [/* @__PURE__ */ T(u, { size: 16 }), " Back"]
251
+ children: [/* @__PURE__ */ T(f, { size: 16 }), " Back"]
254
252
  }),
255
- children: /* @__PURE__ */ T(e, { children: /* @__PURE__ */ T(t, {
253
+ children: /* @__PURE__ */ T(t, { children: /* @__PURE__ */ T(n, {
256
254
  className: "p-8 text-center",
257
255
  children: /* @__PURE__ */ T("p", {
258
256
  className: "text-text-secondary",
@@ -1,43 +1,41 @@
1
- import { i as e, l as t, o as n, s as r, u as i } from "./PageLayout-D3N8MCTm.js";
2
- import { t as a } from "./DataTable-CD9ZhpLB.js";
3
- import { t as o } from "./download-Dpa9vqoG.js";
4
- import { t as s } from "./plus-Dl1rLeJR.js";
5
- import { t as c } from "./refresh-cw-CWfERAit.js";
6
- import { t as l } from "./star-YsVV3MNQ.js";
7
- import { t as u } from "./users-g2N0eL-Z.js";
8
- import { r as d } from "./graphqlClient-CdJyR_ed.js";
9
- import { r as f } from "./useCustomers-bS3a4ytk.js";
10
- import { i as p } from "./StatusBadge-CijYQXtb.js";
11
- import { r as m } from "./formatters-_vJlC-47.js";
12
- import { t as h } from "./navigation-BgnOfsVd.js";
1
+ import { ct as e, i as t, l as n, o as r, ot as i, s as a, u as o } from "./PageLayout-D4LDHJJq.js";
2
+ import { t as s } from "./DataTable-DmciIKKM.js";
3
+ import { t as c } from "./download-DRXxoiQR.js";
4
+ import { t as l } from "./plus-Z76q-FZm.js";
5
+ import { t as u } from "./refresh-cw-DKt6f5T6.js";
6
+ import { t as d } from "./star-nHlLjDKR.js";
7
+ import { t as f } from "./users-BAM4gHTn.js";
8
+ import { r as p } from "./useCustomers-QrlozybF.js";
9
+ import { i as m } from "./StatusBadge-NpTeHVlw.js";
10
+ import { r as h } from "./formatters-DhKZ-eA1.js";
13
11
  import { jsx as g, jsxs as _ } from "react/jsx-runtime";
14
12
  import { CTAOverflowMenu as v, EmphasisPanel as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
15
13
  //#region src/movethewheels/pages/CustomersPage.tsx
16
14
  function x() {
17
- let { basePath: x, navigate: S } = d(), { customers: C, totalCustomers: w, isLoading: T, refetch: E } = f({ limit: 100 }), D = (e) => S?.(h(x, e));
18
- return /* @__PURE__ */ _(e, {
15
+ let { basePath: x, navigate: S } = i(), { customers: C, totalCustomers: w, isLoading: T, refetch: E } = p({ limit: 100 }), D = (t) => S?.(e(x, t));
16
+ return /* @__PURE__ */ _(t, {
19
17
  title: "Customers",
20
18
  subtitle: `${w} customers`,
21
- icon: /* @__PURE__ */ g(u, { size: 24 }),
19
+ icon: /* @__PURE__ */ g(f, { size: 24 }),
22
20
  headerActions: /* @__PURE__ */ g(v, {
23
21
  primary: {
24
22
  label: "Add Customer",
25
- icon: /* @__PURE__ */ g(s, { size: 16 }),
23
+ icon: /* @__PURE__ */ g(l, { size: 16 }),
26
24
  onSelect: () => D("customers/new")
27
25
  },
28
26
  actions: [{
29
27
  label: "Refresh",
30
- icon: /* @__PURE__ */ g(c, { size: 16 }),
28
+ icon: /* @__PURE__ */ g(u, { size: 16 }),
31
29
  onSelect: () => E()
32
30
  }, {
33
31
  label: "Export",
34
- icon: /* @__PURE__ */ g(o, { size: 16 }),
32
+ icon: /* @__PURE__ */ g(c, { size: 16 }),
35
33
  onSelect: () => {}
36
34
  }]
37
35
  }),
38
36
  children: [
39
37
  /* @__PURE__ */ g(b, {
40
- icon: /* @__PURE__ */ g(u, { size: 18 }),
38
+ icon: /* @__PURE__ */ g(f, { size: 18 }),
41
39
  children: "The businesses and individuals you deliver for. Keep contact details, locations and satisfaction ratings here, and open a customer to see their order history before booking the next shipment."
42
40
  }),
43
41
  /* @__PURE__ */ _(y, { children: [/* @__PURE__ */ g("p", {
@@ -69,14 +67,14 @@ function x() {
69
67
  })] })
70
68
  ]
71
69
  })] }),
72
- /* @__PURE__ */ g(a, {
70
+ /* @__PURE__ */ g(s, {
73
71
  columns: [
74
72
  {
75
73
  id: "customer",
76
74
  header: "Customer",
77
75
  cell: (e) => /* @__PURE__ */ _("div", {
78
76
  className: "flex items-center gap-3",
79
- children: [/* @__PURE__ */ g(n, { children: /* @__PURE__ */ g(r, { children: e.name.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
77
+ children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(a, { children: e.name.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
80
78
  className: "font-medium",
81
79
  children: e.name
82
80
  }), /* @__PURE__ */ g("p", {
@@ -89,7 +87,7 @@ function x() {
89
87
  id: "type",
90
88
  header: "Type",
91
89
  accessorKey: "type",
92
- cell: (e) => /* @__PURE__ */ g(p, { type: e.type })
90
+ cell: (e) => /* @__PURE__ */ g(m, { type: e.type })
93
91
  },
94
92
  {
95
93
  id: "company",
@@ -112,16 +110,16 @@ function x() {
112
110
  header: "Rating",
113
111
  cell: (e) => /* @__PURE__ */ _("div", {
114
112
  className: "flex items-center gap-1",
115
- children: [/* @__PURE__ */ g(l, {
113
+ children: [/* @__PURE__ */ g(d, {
116
114
  size: 14,
117
- className: "text-yellow-500 fill-yellow-500"
115
+ className: "text-status-warning-text fill-current"
118
116
  }), /* @__PURE__ */ g("span", { children: e.rating.toFixed(1) })]
119
117
  })
120
118
  },
121
119
  {
122
120
  id: "status",
123
121
  header: "Status",
124
- cell: (e) => /* @__PURE__ */ g(t, {
122
+ cell: (e) => /* @__PURE__ */ g(n, {
125
123
  variant: e.isActive ? "default" : "secondary",
126
124
  children: e.isActive ? "Active" : "Inactive"
127
125
  })
@@ -131,7 +129,7 @@ function x() {
131
129
  header: "Created",
132
130
  accessorKey: "createdAt",
133
131
  sortable: !0,
134
- cell: (e) => m(e.createdAt, "short")
132
+ cell: (e) => h(e.createdAt, "short")
135
133
  }
136
134
  ],
137
135
  data: C,
@@ -148,9 +146,9 @@ function x() {
148
146
  emptyIllustration: "empty-people",
149
147
  emptyTitle: "No customers yet",
150
148
  emptyDescription: "Add your first customer to start booking deliveries for them.",
151
- emptyAction: /* @__PURE__ */ _(i, {
149
+ emptyAction: /* @__PURE__ */ _(o, {
152
150
  onClick: () => D("customers/new"),
153
- children: [/* @__PURE__ */ g(s, {
151
+ children: [/* @__PURE__ */ g(l, {
154
152
  size: 16,
155
153
  className: "mr-1.5"
156
154
  }), "Add Customer"]