@burdenoff/microfe-movethewheels 2026.703.3 → 2026.703.5

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 (173) hide show
  1. package/dist/{AIAssistantPage-C3cPsWt-.js → AIAssistantPage-D2gaEL1U.js} +16 -15
  2. package/dist/AnalyticsPage-DZMlEoBi.js +194 -0
  3. package/dist/CreateOrderPage-CWHx8yys.js +490 -0
  4. package/dist/CustomerDetailsPage-nR4oZ_ju.js +615 -0
  5. package/dist/CustomersPage-Bbvwvn8k.js +205 -0
  6. package/dist/DashboardPage-DrEhNf7N.js +542 -0
  7. package/dist/DataTable-CqMUD4er.js +340 -0
  8. package/dist/DocumentsCard-edDkgnJj.js +169 -0
  9. package/dist/DriverDetailsPage-whEMOWs9.js +490 -0
  10. package/dist/DriversPage-CHF2ZEzd.js +221 -0
  11. package/dist/FinancePage-Dn9GrW-1.js +175 -0
  12. package/dist/{FleetPage-DqkFi3s3.js → FleetPage-CrtGPy-p.js} +36 -35
  13. package/dist/{FormError-BlOjnXOq.js → FormError-BKcb_wT-.js} +1 -1
  14. package/dist/{ImportExportPage-DKJRCezl.js → ImportExportPage-WYdwZomZ.js} +52 -72
  15. package/dist/InventoryPage-l5A1f753.js +259 -0
  16. package/dist/LiveTrackingPage-DhEaNKZ4.js +429 -0
  17. package/dist/MarketplacePage-B9RYOb1Y.js +426 -0
  18. package/dist/MetricCard-y3bWHKUQ.js +191 -0
  19. package/dist/Notice-DOO-tjpV.js +46 -0
  20. package/dist/OrderDetailsPage-CwYHwk1K.js +584 -0
  21. package/dist/OrdersListPage-DhZJoQeI.js +386 -0
  22. package/dist/{PageLayout-D4LDHJJq.js → PageLayout-BniRJaQ6.js} +1 -1
  23. package/dist/{ProductDetailsPage-C9uOiYLp.js → ProductDetailsPage-1Gm9JKy0.js} +56 -56
  24. package/dist/ProductsPage-C8sn-1tN.js +186 -0
  25. package/dist/ReportsPage-D1tb0dcz.js +377 -0
  26. package/dist/RouteDetailsPage-CkMyR9b_.js +610 -0
  27. package/dist/{RoutesPage-DMfoicM1.js → RoutesPage-QkENzsE5.js} +58 -47
  28. package/dist/{SettingsPage-Bn-v0mbQ.js → SettingsPage-DV3_tU_X.js} +16 -38
  29. package/dist/Sparkline-K2RMJ58u.js +16729 -0
  30. package/dist/{StatusBadge-BZurYHMy.js → StatusBadge-BNHXYvZx.js} +7 -7
  31. package/dist/TrackingPage-BZrg4RCu.js +368 -0
  32. package/dist/VehicleDetailsPage-D-8XPZ2G.js +393 -0
  33. package/dist/VehiclesPage-D5BELbtM.js +184 -0
  34. package/dist/{WarehouseDetailsPage-L_6sWigM.js → WarehouseDetailsPage-Cmg-8Frn.js} +70 -70
  35. package/dist/WarehousesPage-C1Y1M867.js +182 -0
  36. package/dist/{arrow-left-n48Y-Wis.js → arrow-left-ClW4Isj7.js} +1 -1
  37. package/dist/arrow-right-CmKOmIkh.js +11 -0
  38. package/dist/arrow-up-BJijRLAZ.js +17 -0
  39. package/dist/{box-D9Pal4HM.js → box-BT3NsRQP.js} +1 -1
  40. package/dist/boxes-B_OGvQiW.js +54 -0
  41. package/dist/{chart-column-BFIJysDR.js → chart-column-DQTTdUPk.js} +1 -1
  42. package/dist/charts-Tj_PPTfA.js +2018 -0
  43. package/dist/chevron-left-B1rZyWWb.js +8 -0
  44. package/dist/{chevron-right-EMIIyyJ1.js → chevron-right-BIcwUJZq.js} +1 -1
  45. package/dist/chunk-BdsCSvBP.js +20 -0
  46. package/dist/{circle-alert-iY24lSlp.js → circle-alert-CNkuDNc6.js} +1 -1
  47. package/dist/circle-check-Cs1OVjtV.js +13 -0
  48. package/dist/{circle-check-big-w0TrLKMF.js → circle-check-big-C-p4eNwn.js} +1 -1
  49. package/dist/{clock-DJZtdl8u.js → clock-dRGG4rkF.js} +1 -1
  50. package/dist/{dollar-sign-CgKQRz_e.js → dollar-sign-B6RoYHHz.js} +1 -1
  51. package/dist/{download-DRXxoiQR.js → download-DP04iWTd.js} +1 -1
  52. package/dist/{file-text-DWWY6_f5.js → file-text-BuDx4hZp.js} +1 -1
  53. package/dist/{filter-DloLC2eE.js → filter-BD483_8g.js} +1 -1
  54. package/dist/{wrench-CANXWxF-.js → fuel-DLH1ag04.js} +3 -6
  55. package/dist/index.css +2 -0
  56. package/dist/index.js +150 -172
  57. package/dist/{map-CkJaULb2.js → map-DNQn9fyY.js} +1 -1
  58. package/dist/{map-pin-BGiCvyCs.js → map-pin-CqN1bbT1.js} +1 -1
  59. package/dist/mapMarkers-NCV9MRKR.js +28 -0
  60. package/dist/maps-yzLqiK_C.js +5070 -0
  61. package/dist/{navigation-D36prnAn.js → navigation-CgGUt2tR.js} +1 -1
  62. package/dist/{package-BChUzpJS.js → package-DmRF7iQD.js} +1 -1
  63. package/dist/{phone-Ac9s3mo_.js → phone-Cl32EXKW.js} +1 -1
  64. package/dist/{plus-Z76q-FZm.js → plus-DlANgOFx.js} +1 -1
  65. package/dist/{refresh-cw-DKt6f5T6.js → refresh-cw-rW59D4b7.js} +1 -1
  66. package/dist/route-CWjPrtAN.js +22 -0
  67. package/dist/{save-CojywNhG.js → save-UDlog7hg.js} +1 -1
  68. package/dist/{search-CDGefqb3.js → search-DNIG5Ck7.js} +1 -1
  69. package/dist/{square-pen-CopE9GmB.js → square-pen-BcfB3Grd.js} +1 -1
  70. package/dist/{star-nHlLjDKR.js → star-CVZHFwDx.js} +1 -1
  71. package/dist/{store-BR9Voi5E.js → store-bwnmCK9f.js} +1 -1
  72. package/dist/{trash-2-BKhar6Hs.js → trash-2-B80G12d4.js} +1 -1
  73. package/dist/{trending-up-Dohgd4t_.js → trending-up-CH4R4KOa.js} +1 -1
  74. package/dist/{triangle-alert-i-XQL9Rd.js → triangle-alert-CmS8AUU6.js} +1 -1
  75. package/dist/{truck-C0v_hbLR.js → truck-9rLDncav.js} +1 -1
  76. package/dist/upload-DanJY1Vo.js +21 -0
  77. package/dist/{useAssistant-D4v3oxD3.js → useAssistant-CnEwkTLm.js} +11 -28
  78. package/dist/{useCustomers-BmTNGxiI.js → useCustomers-ChJao1ET.js} +30 -27
  79. package/dist/{useFleet-DKqXZ16m.js → useFleet-g5Yri0G8.js} +82 -70
  80. package/dist/{useImportExport-DHr-SWSw.js → useImportExport-MYwIT3rE.js} +1 -1
  81. package/dist/{useInventory-DkyiVY_A.js → useInventory-BSOn-R1c.js} +84 -39
  82. package/dist/{useOrders-Cfk1GLiq.js → useOrders-BSiqo61w.js} +59 -48
  83. package/dist/{useReports-CTqZr-AB.js → useReports-fWESfsF9.js} +41 -35
  84. package/dist/{useRoutes-BQWO607N.js → useRoutes-zD8Yp323.js} +50 -42
  85. package/dist/{useSettings-CkDH_-gM.js → useSettings-B1lsWeZ1.js} +6 -6
  86. package/dist/{useTracking-B-va1kO3.js → useTracking-BKG0I2ln.js} +3 -3
  87. package/dist/{user-jyFU3lXk.js → user-DU51el3m.js} +1 -1
  88. package/dist/user-check-IMhk-qkX.js +20 -0
  89. package/dist/{users-DZ-ilS6B.js → users-B8KhJBGg.js} +1 -1
  90. package/dist/{warehouse-6m5kXMLu.js → warehouse-CcMMioeY.js} +1 -1
  91. package/dist/wrench-Dg-sgH2e.js +8 -0
  92. package/dist/x-C4ObLVEa.js +11 -0
  93. package/package.json +5 -1
  94. package/src/movethewheels/components/DataTable.tsx +252 -84
  95. package/src/movethewheels/components/DocumentsCard.tsx +102 -0
  96. package/src/movethewheels/components/GlassPanel.tsx +71 -0
  97. package/src/movethewheels/components/MetricCard.tsx +171 -73
  98. package/src/movethewheels/components/Notice.tsx +61 -0
  99. package/src/movethewheels/components/StatusBadge.tsx +7 -6
  100. package/src/movethewheels/components/charts/ChartShell.tsx +78 -0
  101. package/src/movethewheels/components/charts/Sparkline.tsx +85 -0
  102. package/src/movethewheels/components/charts/StatusDonut.tsx +115 -0
  103. package/src/movethewheels/components/charts/TrendChart.tsx +179 -0
  104. package/src/movethewheels/components/charts/VolumeBar.tsx +97 -0
  105. package/src/movethewheels/components/charts/chartTokens.ts +43 -0
  106. package/src/movethewheels/components/charts/index.ts +9 -0
  107. package/src/movethewheels/components/index.ts +51 -1
  108. package/src/movethewheels/components/maps/LogisticsMap.tsx +94 -0
  109. package/src/movethewheels/components/maps/MapCanvas.tsx +118 -0
  110. package/src/movethewheels/components/maps/RouteMap.tsx +71 -0
  111. package/src/movethewheels/components/maps/TrackingMap.tsx +102 -0
  112. package/src/movethewheels/components/maps/index.ts +16 -0
  113. package/src/movethewheels/components/maps/leaflet-setup.ts +124 -0
  114. package/src/movethewheels/components/maps/map-markers.css +121 -0
  115. package/src/movethewheels/hooks/index.ts +9 -0
  116. package/src/movethewheels/hooks/useAnalytics.ts +109 -4
  117. package/src/movethewheels/hooks/useCustomers.ts +11 -4
  118. package/src/movethewheels/hooks/useEntityDocuments.ts +132 -0
  119. package/src/movethewheels/hooks/useFleet.ts +26 -7
  120. package/src/movethewheels/hooks/useInventory.ts +70 -7
  121. package/src/movethewheels/hooks/useOrders.ts +32 -2
  122. package/src/movethewheels/hooks/useReports.ts +14 -4
  123. package/src/movethewheels/hooks/useRoutes.ts +20 -3
  124. package/src/movethewheels/pages/AnalyticsPage.tsx +93 -73
  125. package/src/movethewheels/pages/CreateOrderPage.tsx +48 -20
  126. package/src/movethewheels/pages/CustomerDetailsPage.tsx +239 -33
  127. package/src/movethewheels/pages/CustomersPage.tsx +53 -28
  128. package/src/movethewheels/pages/DashboardPage.tsx +238 -12
  129. package/src/movethewheels/pages/DriverDetailsPage.tsx +17 -31
  130. package/src/movethewheels/pages/DriversPage.tsx +59 -31
  131. package/src/movethewheels/pages/FinancePage.tsx +103 -82
  132. package/src/movethewheels/pages/InventoryPage.tsx +15 -3
  133. package/src/movethewheels/pages/LiveTrackingPage.tsx +124 -16
  134. package/src/movethewheels/pages/MarketplacePage.tsx +265 -50
  135. package/src/movethewheels/pages/OrderDetailsPage.tsx +214 -10
  136. package/src/movethewheels/pages/OrdersListPage.tsx +118 -47
  137. package/src/movethewheels/pages/ProductsPage.tsx +52 -28
  138. package/src/movethewheels/pages/ReportsPage.tsx +88 -4
  139. package/src/movethewheels/pages/RouteDetailsPage.tsx +119 -19
  140. package/src/movethewheels/pages/RoutesPage.tsx +22 -6
  141. package/src/movethewheels/pages/SettingsPage.tsx +5 -21
  142. package/src/movethewheels/pages/TrackingPage.tsx +76 -6
  143. package/src/movethewheels/pages/VehicleDetailsPage.tsx +4 -34
  144. package/src/movethewheels/pages/VehiclesPage.tsx +58 -27
  145. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +1 -1
  146. package/src/movethewheels/pages/WarehousesPage.tsx +47 -36
  147. package/src/movethewheels/types/index.ts +9 -1
  148. package/src/movethewheels/utils/download.ts +62 -0
  149. package/src/movethewheels/utils/mapMarkers.ts +58 -0
  150. package/dist/AnalyticsPage-Dz6g2MvK.js +0 -215
  151. package/dist/CreateOrderPage-C5iwnjp4.js +0 -479
  152. package/dist/CustomerDetailsPage-B6nwFyLO.js +0 -406
  153. package/dist/CustomersPage-BKxMS1AV.js +0 -161
  154. package/dist/DashboardPage-BVjQi0EB.js +0 -387
  155. package/dist/DataTable-DmciIKKM.js +0 -249
  156. package/dist/DriverDetailsPage-CN3WQ0B9.js +0 -507
  157. package/dist/DriversPage-CH9rjQC-.js +0 -165
  158. package/dist/FinancePage-DEDykSOP.js +0 -158
  159. package/dist/InventoryPage-e0ze63iX.js +0 -253
  160. package/dist/LiveTrackingPage-DCX-K-LR.js +0 -379
  161. package/dist/MarketplacePage-CIQ97_zp.js +0 -247
  162. package/dist/MetricCard-BY0QrMD4.js +0 -146
  163. package/dist/OrderDetailsPage-DYiZ-9UK.js +0 -429
  164. package/dist/OrdersListPage-Cn90P1Xx.js +0 -307
  165. package/dist/ProductsPage-QJfHHpqB.js +0 -169
  166. package/dist/ReportsPage-Zp53q3_8.js +0 -284
  167. package/dist/RouteDetailsPage-DUStXSf9.js +0 -531
  168. package/dist/TrackingPage-W-jtdM3Y.js +0 -325
  169. package/dist/VehicleDetailsPage-Bceo5oz3.js +0 -410
  170. package/dist/VehiclesPage-ApKThYeG.js +0 -165
  171. package/dist/WarehousesPage-DCbXXXWE.js +0 -162
  172. package/dist/useAnalytics-DS8n0xgg.js +0 -297
  173. /package/dist/{formatters-CF2S2l1m.js → formatters-FWJDwTFv.js} +0 -0
@@ -1,15 +1,15 @@
1
- import { A as e, F as t, I as n, L as r, M as i, P 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, l as m, n as h, ot as g, r as _, u as v } from "./PageLayout-D4LDHJJq.js";
2
- import { t as y } from "./arrow-left-n48Y-Wis.js";
3
- import { t as b } from "./box-D9Pal4HM.js";
4
- import { t as x } from "./clock-DJZtdl8u.js";
5
- import { t as S } from "./map-pin-BGiCvyCs.js";
6
- import { t as C } from "./save-CojywNhG.js";
7
- import { t as w } from "./square-pen-CopE9GmB.js";
8
- import { t as T } from "./users-DZ-ilS6B.js";
9
- import { t as E } from "./warehouse-6m5kXMLu.js";
10
- import { a as D, t as O } from "./useInventory-DkyiVY_A.js";
11
- import { t as k } from "./formatters-CF2S2l1m.js";
12
- import { t as A } from "./FormError-BlOjnXOq.js";
1
+ import { A as e, F as t, I as n, L as r, M as i, P as a, R as o, d as s, f as c, g as l, h as u, i as d, j as f, l as p, lt as m, n as h, r as g, st as _, u as v } from "./PageLayout-BniRJaQ6.js";
2
+ import { t as y } from "./arrow-left-ClW4Isj7.js";
3
+ import { t as b } from "./box-BT3NsRQP.js";
4
+ import { t as x } from "./clock-dRGG4rkF.js";
5
+ import { t as S } from "./map-pin-CqN1bbT1.js";
6
+ import { t as C } from "./save-UDlog7hg.js";
7
+ import { t as w } from "./square-pen-BcfB3Grd.js";
8
+ import { t as T } from "./users-B8KhJBGg.js";
9
+ import { t as E } from "./warehouse-CcMMioeY.js";
10
+ import { o as D, t as O } from "./useInventory-BSOn-R1c.js";
11
+ import { t as k } from "./FormError-BKcb_wT-.js";
12
+ import { t as A } from "./formatters-FWJDwTFv.js";
13
13
  import { useState as j } from "react";
14
14
  import { useParams as M } from "react-router-dom";
15
15
  import { jsx as N, jsxs as P } from "react/jsx-runtime";
@@ -38,7 +38,7 @@ var R = [
38
38
  }
39
39
  ];
40
40
  function z() {
41
- let { basePath: i, navigate: m } = g(), { createWarehouse: h } = O(), [_, b] = j({
41
+ let { basePath: i, navigate: p } = _(), { createWarehouse: h } = O(), [g, b] = j({
42
42
  code: "",
43
43
  name: "",
44
44
  type: "DISTRIBUTION",
@@ -48,39 +48,39 @@ function z() {
48
48
  postalCode: "",
49
49
  country: "USA",
50
50
  totalCapacity: ""
51
- }), [x, w] = j(!1), [T, D] = j(null), k = () => m?.(s(i, "inventory/warehouses")), M = (e, t) => b((n) => ({
51
+ }), [x, w] = j(!1), [T, D] = j(null), A = () => p?.(m(i, "inventory/warehouses")), M = (e, t) => b((n) => ({
52
52
  ...n,
53
53
  [e]: t
54
54
  })), I = async (e) => {
55
- if (e.preventDefault(), !_.code.trim() || !_.name.trim()) {
55
+ if (e.preventDefault(), !g.code.trim() || !g.name.trim()) {
56
56
  D("Warehouse code and name are required.");
57
57
  return;
58
58
  }
59
- if (!_.street.trim() || !_.city.trim()) {
59
+ if (!g.street.trim() || !g.city.trim()) {
60
60
  D("A street and city are required for the warehouse address.");
61
61
  return;
62
62
  }
63
63
  w(!0), D(null);
64
64
  try {
65
- let e = _.totalCapacity.trim() ? Number(_.totalCapacity) : void 0, t = await h({
66
- code: _.code.trim(),
67
- name: _.name.trim(),
68
- type: _.type,
65
+ let e = g.totalCapacity.trim() ? Number(g.totalCapacity) : void 0, t = await h({
66
+ code: g.code.trim(),
67
+ name: g.name.trim(),
68
+ type: g.type,
69
69
  address: {
70
- street: _.street.trim(),
71
- city: _.city.trim(),
72
- state: _.state.trim(),
73
- postalCode: _.postalCode.trim(),
74
- country: _.country.trim()
70
+ street: g.street.trim(),
71
+ city: g.city.trim(),
72
+ state: g.state.trim(),
73
+ postalCode: g.postalCode.trim(),
74
+ country: g.country.trim()
75
75
  },
76
76
  totalCapacity: e !== void 0 && !Number.isNaN(e) ? e : void 0
77
77
  });
78
- m?.(s(i, `inventory/warehouses/${t.id}`));
78
+ p?.(m(i, `inventory/warehouses/${t.id}`));
79
79
  } catch (e) {
80
80
  console.error("Failed to create warehouse:", e), D(e instanceof Error ? e.message : "Failed to create warehouse. Please try again."), w(!1);
81
81
  }
82
82
  };
83
- return /* @__PURE__ */ P(f, {
83
+ return /* @__PURE__ */ P(d, {
84
84
  title: "Add Warehouse",
85
85
  subtitle: "Register a storage and fulfilment site",
86
86
  icon: /* @__PURE__ */ N(E, { size: 24 }),
@@ -88,7 +88,7 @@ function z() {
88
88
  className: "flex gap-2",
89
89
  children: [/* @__PURE__ */ P(v, {
90
90
  variant: "outline",
91
- onClick: k,
91
+ onClick: A,
92
92
  disabled: x,
93
93
  children: [/* @__PURE__ */ N(y, { size: 16 }), " Cancel"]
94
94
  }), /* @__PURE__ */ P(v, {
@@ -108,7 +108,7 @@ function z() {
108
108
  onSubmit: I,
109
109
  className: "max-w-2xl space-y-6",
110
110
  children: [
111
- /* @__PURE__ */ N(A, { message: T }),
111
+ /* @__PURE__ */ N(k, { message: T }),
112
112
  /* @__PURE__ */ P(F, { children: [/* @__PURE__ */ N("h2", {
113
113
  className: "text-base font-semibold text-text-primary mb-4",
114
114
  children: "Warehouse Details"
@@ -119,7 +119,7 @@ function z() {
119
119
  children: [
120
120
  /* @__PURE__ */ P("div", {
121
121
  className: "space-y-2",
122
- children: [/* @__PURE__ */ P(p, {
122
+ children: [/* @__PURE__ */ P(f, {
123
123
  htmlFor: "code",
124
124
  children: ["Code ", /* @__PURE__ */ N("span", {
125
125
  className: "text-status-error-text",
@@ -127,7 +127,7 @@ function z() {
127
127
  })]
128
128
  }), /* @__PURE__ */ N(e, {
129
129
  id: "code",
130
- value: _.code,
130
+ value: g.code,
131
131
  onChange: (e) => M("code", e.target.value),
132
132
  placeholder: "WH-SF-01",
133
133
  required: !0
@@ -135,7 +135,7 @@ function z() {
135
135
  }),
136
136
  /* @__PURE__ */ P("div", {
137
137
  className: "space-y-2",
138
- children: [/* @__PURE__ */ P(p, {
138
+ children: [/* @__PURE__ */ P(f, {
139
139
  htmlFor: "name",
140
140
  children: ["Name ", /* @__PURE__ */ N("span", {
141
141
  className: "text-status-error-text",
@@ -143,7 +143,7 @@ function z() {
143
143
  })]
144
144
  }), /* @__PURE__ */ N(e, {
145
145
  id: "name",
146
- value: _.name,
146
+ value: g.name,
147
147
  onChange: (e) => M("name", e.target.value),
148
148
  placeholder: "San Francisco DC",
149
149
  required: !0
@@ -151,14 +151,14 @@ function z() {
151
151
  }),
152
152
  /* @__PURE__ */ P("div", {
153
153
  className: "space-y-2",
154
- children: [/* @__PURE__ */ P(p, {
154
+ children: [/* @__PURE__ */ P(f, {
155
155
  htmlFor: "type",
156
156
  children: ["Type ", /* @__PURE__ */ N("span", {
157
157
  className: "text-status-error-text",
158
158
  children: "*"
159
159
  })]
160
160
  }), /* @__PURE__ */ P(a, {
161
- value: _.type,
161
+ value: g.type,
162
162
  onValueChange: (e) => M("type", e),
163
163
  children: [/* @__PURE__ */ N(r, {
164
164
  id: "type",
@@ -172,20 +172,20 @@ function z() {
172
172
  ]
173
173
  }), /* @__PURE__ */ P("div", {
174
174
  className: "space-y-2",
175
- children: [/* @__PURE__ */ N(p, {
175
+ children: [/* @__PURE__ */ N(f, {
176
176
  htmlFor: "totalCapacity",
177
177
  children: "Total Capacity (sq ft)"
178
178
  }), /* @__PURE__ */ N(e, {
179
179
  id: "totalCapacity",
180
180
  type: "number",
181
181
  min: "0",
182
- value: _.totalCapacity,
182
+ value: g.totalCapacity,
183
183
  onChange: (e) => M("totalCapacity", e.target.value),
184
184
  placeholder: "50000"
185
185
  })]
186
186
  })]
187
187
  })] }),
188
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ P(u, {
188
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
189
189
  className: "flex items-center gap-2",
190
190
  children: [
191
191
  /* @__PURE__ */ N(S, { size: 18 }),
@@ -195,17 +195,17 @@ function z() {
195
195
  children: "*"
196
196
  })
197
197
  ]
198
- }) }), /* @__PURE__ */ P(l, {
198
+ }) }), /* @__PURE__ */ P(c, {
199
199
  className: "space-y-4",
200
200
  children: [
201
201
  /* @__PURE__ */ P("div", {
202
202
  className: "space-y-2",
203
- children: [/* @__PURE__ */ N(p, {
203
+ children: [/* @__PURE__ */ N(f, {
204
204
  htmlFor: "street",
205
205
  children: "Street"
206
206
  }), /* @__PURE__ */ N(e, {
207
207
  id: "street",
208
- value: _.street,
208
+ value: g.street,
209
209
  onChange: (e) => M("street", e.target.value),
210
210
  placeholder: "500 Industrial Way"
211
211
  })]
@@ -214,23 +214,23 @@ function z() {
214
214
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
215
215
  children: [/* @__PURE__ */ P("div", {
216
216
  className: "space-y-2",
217
- children: [/* @__PURE__ */ N(p, {
217
+ children: [/* @__PURE__ */ N(f, {
218
218
  htmlFor: "city",
219
219
  children: "City"
220
220
  }), /* @__PURE__ */ N(e, {
221
221
  id: "city",
222
- value: _.city,
222
+ value: g.city,
223
223
  onChange: (e) => M("city", e.target.value),
224
224
  placeholder: "San Francisco"
225
225
  })]
226
226
  }), /* @__PURE__ */ P("div", {
227
227
  className: "space-y-2",
228
- children: [/* @__PURE__ */ N(p, {
228
+ children: [/* @__PURE__ */ N(f, {
229
229
  htmlFor: "state",
230
230
  children: "State"
231
231
  }), /* @__PURE__ */ N(e, {
232
232
  id: "state",
233
- value: _.state,
233
+ value: g.state,
234
234
  onChange: (e) => M("state", e.target.value),
235
235
  placeholder: "CA"
236
236
  })]
@@ -240,23 +240,23 @@ function z() {
240
240
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
241
241
  children: [/* @__PURE__ */ P("div", {
242
242
  className: "space-y-2",
243
- children: [/* @__PURE__ */ N(p, {
243
+ children: [/* @__PURE__ */ N(f, {
244
244
  htmlFor: "postalCode",
245
245
  children: "ZIP / Postal Code"
246
246
  }), /* @__PURE__ */ N(e, {
247
247
  id: "postalCode",
248
- value: _.postalCode,
248
+ value: g.postalCode,
249
249
  onChange: (e) => M("postalCode", e.target.value),
250
250
  placeholder: "94103"
251
251
  })]
252
252
  }), /* @__PURE__ */ P("div", {
253
253
  className: "space-y-2",
254
- children: [/* @__PURE__ */ N(p, {
254
+ children: [/* @__PURE__ */ N(f, {
255
255
  htmlFor: "country",
256
256
  children: "Country"
257
257
  }), /* @__PURE__ */ N(e, {
258
258
  id: "country",
259
- value: _.country,
259
+ value: g.country,
260
260
  onChange: (e) => M("country", e.target.value),
261
261
  placeholder: "USA"
262
262
  })]
@@ -269,15 +269,15 @@ function z() {
269
269
  });
270
270
  }
271
271
  function B() {
272
- let { warehouseId: e } = M(), { basePath: t, navigate: n } = g(), { warehouse: r, isLoading: a, error: o, refetch: p } = D(e), C = () => n?.(s(t, "inventory/warehouses")), O = (e) => n?.(s(t, e));
272
+ let { warehouseId: e } = M(), { basePath: t, navigate: n } = _(), { warehouse: r, isLoading: a, error: o, refetch: f } = D(e), C = () => n?.(m(t, "inventory/warehouses")), O = (e) => n?.(m(t, e));
273
273
  if (!e) return /* @__PURE__ */ N(z, {});
274
- if (a) return /* @__PURE__ */ N(_, { message: "Loading warehouse details..." });
274
+ if (a) return /* @__PURE__ */ N(g, { message: "Loading warehouse details..." });
275
275
  if (o || !r) return /* @__PURE__ */ N(h, {
276
276
  title: "Warehouse not found",
277
- onRetry: p
277
+ onRetry: f
278
278
  });
279
- let A = r.capacity.usedSpace / r.capacity.totalSpace * 100;
280
- return /* @__PURE__ */ P(f, {
279
+ let k = r.capacity.usedSpace / r.capacity.totalSpace * 100;
280
+ return /* @__PURE__ */ P(d, {
281
281
  title: r.name,
282
282
  subtitle: `Code: ${r.code}`,
283
283
  icon: /* @__PURE__ */ N(E, { size: 24 }),
@@ -291,10 +291,10 @@ function B() {
291
291
  }),
292
292
  headerContent: /* @__PURE__ */ P("div", {
293
293
  className: "flex gap-2",
294
- children: [/* @__PURE__ */ N(m, {
294
+ children: [/* @__PURE__ */ N(p, {
295
295
  variant: r.isActive ? "default" : "secondary",
296
296
  children: r.isActive ? "Active" : "Inactive"
297
- }), /* @__PURE__ */ N(m, {
297
+ }), /* @__PURE__ */ N(p, {
298
298
  variant: "outline",
299
299
  className: "capitalize",
300
300
  children: r.type.replace("_", " ")
@@ -334,9 +334,9 @@ function B() {
334
334
  children: [/* @__PURE__ */ P("div", { children: [
335
335
  /* @__PURE__ */ P("div", {
336
336
  className: "flex justify-between text-sm mb-2",
337
- children: [/* @__PURE__ */ N("span", { children: "Space Utilization" }), /* @__PURE__ */ P("span", { children: [A.toFixed(0), "%"] })]
337
+ children: [/* @__PURE__ */ N("span", { children: "Space Utilization" }), /* @__PURE__ */ P("span", { children: [k.toFixed(0), "%"] })]
338
338
  }),
339
- /* @__PURE__ */ N(i, { value: A }),
339
+ /* @__PURE__ */ N(i, { value: k }),
340
340
  /* @__PURE__ */ P("p", {
341
341
  className: "text-sm text-text-secondary mt-1",
342
342
  children: [
@@ -348,7 +348,7 @@ function B() {
348
348
  ]
349
349
  })
350
350
  ] }), /* @__PURE__ */ N("div", {
351
- className: "grid grid-cols-2 gap-4",
351
+ className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
352
352
  children: /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
353
353
  className: "text-sm text-text-secondary",
354
354
  children: "Pallets Used"
@@ -365,11 +365,11 @@ function B() {
365
365
  })] })
366
366
  })]
367
367
  })] }),
368
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ P(u, { children: [
368
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, { children: [
369
369
  "Zones (",
370
370
  r.zones.length,
371
371
  ")"
372
- ] }) }), /* @__PURE__ */ N(l, { children: /* @__PURE__ */ N("div", {
372
+ ] }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("div", {
373
373
  className: "space-y-3",
374
374
  children: r.zones.map((e) => /* @__PURE__ */ P("div", {
375
375
  className: "flex items-center justify-between p-3 border rounded-lg",
@@ -399,10 +399,10 @@ function B() {
399
399
  })]
400
400
  }, e.id))
401
401
  }) })] }),
402
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ P(u, {
402
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
403
403
  className: "flex items-center gap-2",
404
404
  children: [/* @__PURE__ */ N(x, { size: 18 }), " Operating Hours"]
405
- }) }), /* @__PURE__ */ N(l, { children: /* @__PURE__ */ N("div", {
405
+ }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("div", {
406
406
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
407
407
  children: Object.entries(r.operatingHours).map(([e, t]) => /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
408
408
  className: "text-sm font-medium",
@@ -416,14 +416,14 @@ function B() {
416
416
  }), /* @__PURE__ */ P("div", {
417
417
  className: "space-y-6",
418
418
  children: [
419
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ P(u, {
419
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
420
420
  className: "flex items-center gap-2",
421
421
  children: [/* @__PURE__ */ N(S, { size: 18 }), " Location"]
422
- }) }), /* @__PURE__ */ N(l, { children: /* @__PURE__ */ N("p", {
422
+ }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("p", {
423
423
  className: "text-sm",
424
- children: k(r.address)
424
+ children: A(r.address)
425
425
  }) })] }),
426
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ N(u, { children: "Metrics" }) }), /* @__PURE__ */ P(l, {
426
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ N(l, { children: "Metrics" }) }), /* @__PURE__ */ P(c, {
427
427
  className: "space-y-3",
428
428
  children: [
429
429
  /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
@@ -459,7 +459,7 @@ function B() {
459
459
  })] })
460
460
  ]
461
461
  })] }),
462
- /* @__PURE__ */ P(c, { children: [/* @__PURE__ */ N(d, { children: /* @__PURE__ */ P(u, {
462
+ /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
463
463
  className: "flex items-center gap-2",
464
464
  children: [
465
465
  /* @__PURE__ */ N(T, { size: 18 }),
@@ -467,14 +467,14 @@ function B() {
467
467
  r.staff.length,
468
468
  ")"
469
469
  ]
470
- }) }), /* @__PURE__ */ N(l, { children: r.staff.length > 0 ? /* @__PURE__ */ N("div", {
470
+ }) }), /* @__PURE__ */ N(c, { children: r.staff.length > 0 ? /* @__PURE__ */ N("div", {
471
471
  className: "space-y-2",
472
472
  children: r.staff.map((e, t) => /* @__PURE__ */ P("div", {
473
473
  className: "flex items-center justify-between p-2 border rounded",
474
474
  children: [/* @__PURE__ */ N("span", {
475
475
  className: "text-sm capitalize",
476
476
  children: e.role
477
- }), /* @__PURE__ */ N(m, {
477
+ }), /* @__PURE__ */ N(p, {
478
478
  variant: "outline",
479
479
  children: e.shift
480
480
  })]
@@ -0,0 +1,182 @@
1
+ import { M as e, i as t, l as n, lt as r, st as i, ut as a } from "./PageLayout-BniRJaQ6.js";
2
+ import { t as o } from "./DataTable-CqMUD4er.js";
3
+ import { t as s } from "./circle-check-Cs1OVjtV.js";
4
+ import { t as c } from "./plus-DlANgOFx.js";
5
+ import { t as l } from "./refresh-cw-rW59D4b7.js";
6
+ import { t as u } from "./warehouse-CcMMioeY.js";
7
+ import { c as d, s as f } from "./useInventory-BSOn-R1c.js";
8
+ import { r as p, t as m } from "./MetricCard-y3bWHKUQ.js";
9
+ import { useState as h } from "react";
10
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
11
+ import { CTAOverflowMenu as v, PagePurpose as y } from "@burdenoff/fe-libs/ui";
12
+ //#region node_modules/lucide-react/dist/esm/icons/gauge.js
13
+ var b = a("Gauge", [["path", {
14
+ d: "m12 14 4-4",
15
+ key: "9kzdfg"
16
+ }], ["path", {
17
+ d: "M3.34 19a10 10 0 1 1 17.32 0",
18
+ key: "19p75a"
19
+ }]]);
20
+ //#endregion
21
+ //#region src/movethewheels/pages/WarehousesPage.tsx
22
+ function x() {
23
+ let { basePath: a, navigate: x } = i(), [S, C] = h(0), [w, T] = h(25), { warehouses: E, hasMore: D, isLoading: O, refetch: k } = d({
24
+ limit: w,
25
+ offset: S * w
26
+ }), { stats: A } = f(), j = (e) => x?.(r(a, e));
27
+ return /* @__PURE__ */ _(t, {
28
+ title: "Warehouses",
29
+ subtitle: `${A.total} warehouses`,
30
+ icon: /* @__PURE__ */ g(u, { size: 24 }),
31
+ headerActions: /* @__PURE__ */ g(v, {
32
+ primary: {
33
+ label: "Add Warehouse",
34
+ icon: /* @__PURE__ */ g(c, { size: 16 }),
35
+ onSelect: () => j("inventory/warehouses/new")
36
+ },
37
+ actions: [{
38
+ label: "Refresh",
39
+ icon: /* @__PURE__ */ g(l, { size: 16 }),
40
+ onSelect: () => k()
41
+ }]
42
+ }),
43
+ children: [
44
+ /* @__PURE__ */ g(y, {
45
+ icon: /* @__PURE__ */ g(u, { size: 18 }),
46
+ children: "Your storage and fulfilment sites. Watch space and pallet utilization across each warehouse to balance stock, spot capacity crunches, and decide where to fulfil an order from."
47
+ }),
48
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
49
+ className: "mb-3 text-sm font-medium text-text-secondary",
50
+ children: "Network at a glance"
51
+ }), /* @__PURE__ */ _(p, {
52
+ columns: 3,
53
+ children: [
54
+ /* @__PURE__ */ g(m, {
55
+ label: "Total sites",
56
+ value: A.total,
57
+ icon: /* @__PURE__ */ g(u, { size: 20 }),
58
+ accent: "brand"
59
+ }),
60
+ /* @__PURE__ */ g(m, {
61
+ label: "Active",
62
+ value: A.active,
63
+ icon: /* @__PURE__ */ g(s, { size: 20 }),
64
+ accent: "success",
65
+ subtitle: "Fulfilling orders"
66
+ }),
67
+ /* @__PURE__ */ g(m, {
68
+ label: "Avg utilization",
69
+ value: A.total > 0 ? `${Math.round(A.avgUtilization * 100)}%` : "—",
70
+ icon: /* @__PURE__ */ g(b, { size: 20 }),
71
+ accent: "blue"
72
+ })
73
+ ]
74
+ })] }),
75
+ /* @__PURE__ */ g(o, {
76
+ columns: [
77
+ {
78
+ id: "name",
79
+ header: "Warehouse",
80
+ accessorKey: "name",
81
+ sortable: !0,
82
+ cell: (e) => /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
83
+ className: "font-medium",
84
+ children: e.name
85
+ }), /* @__PURE__ */ g("p", {
86
+ className: "text-sm text-text-secondary",
87
+ children: e.code
88
+ })] })
89
+ },
90
+ {
91
+ id: "location",
92
+ header: "Location",
93
+ cell: (e) => /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ _("p", { children: [
94
+ e.address.city,
95
+ ", ",
96
+ e.address.state
97
+ ] }), /* @__PURE__ */ g("p", {
98
+ className: "text-sm text-text-secondary",
99
+ children: e.address.country
100
+ })] })
101
+ },
102
+ {
103
+ id: "type",
104
+ header: "Type",
105
+ accessorKey: "type",
106
+ cell: (e) => /* @__PURE__ */ g(n, {
107
+ variant: "outline",
108
+ className: "capitalize",
109
+ children: e.type.replace("_", " ")
110
+ })
111
+ },
112
+ {
113
+ id: "utilization",
114
+ header: "Utilization",
115
+ cell: (t) => {
116
+ let n = t.capacity.usedSpace / t.capacity.totalSpace * 100;
117
+ return /* @__PURE__ */ _("div", {
118
+ className: "flex items-center gap-2",
119
+ children: [/* @__PURE__ */ g(e, {
120
+ value: n,
121
+ className: "w-16 h-2"
122
+ }), /* @__PURE__ */ _("span", {
123
+ className: "text-sm",
124
+ children: [n.toFixed(0), "%"]
125
+ })]
126
+ });
127
+ }
128
+ },
129
+ {
130
+ id: "capacity",
131
+ header: "Capacity",
132
+ cell: (e) => /* @__PURE__ */ _("div", {
133
+ className: "text-sm",
134
+ children: [/* @__PURE__ */ _("p", { children: [
135
+ e.capacity.usedSpace.toLocaleString(),
136
+ " / ",
137
+ e.capacity.totalSpace.toLocaleString(),
138
+ " ",
139
+ "sq ft"
140
+ ] }), /* @__PURE__ */ _("p", {
141
+ className: "text-text-secondary",
142
+ children: [
143
+ e.capacity.usedPallets,
144
+ " / ",
145
+ e.capacity.totalPallets,
146
+ " pallets"
147
+ ]
148
+ })]
149
+ })
150
+ },
151
+ {
152
+ id: "status",
153
+ header: "Status",
154
+ cell: (e) => /* @__PURE__ */ g(n, {
155
+ variant: e.isActive ? "default" : "secondary",
156
+ children: e.isActive ? "Active" : "Inactive"
157
+ })
158
+ }
159
+ ],
160
+ data: E,
161
+ isLoading: O,
162
+ searchable: !0,
163
+ searchPlaceholder: "Search warehouses...",
164
+ searchFields: ["name", "code"],
165
+ onRowClick: (e) => j(`inventory/warehouses/${e.id}`),
166
+ getRowId: (e) => e.id,
167
+ pageIndex: S,
168
+ pageSize: w,
169
+ onPageChange: C,
170
+ onPageSizeChange: (e) => {
171
+ T(e), C(0);
172
+ },
173
+ hasNextPage: D,
174
+ emptyIllustration: "empty-data",
175
+ emptyTitle: "No warehouses yet",
176
+ emptyDescription: "Add a warehouse to store inventory and fulfil orders from it."
177
+ })
178
+ ]
179
+ });
180
+ }
181
+ //#endregion
182
+ export { x as default };
@@ -1,4 +1,4 @@
1
- import { lt as e } from "./PageLayout-D4LDHJJq.js";
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/arrow-left.js
3
3
  var t = e("ArrowLeft", [["path", {
4
4
  d: "m12 19-7-7 7-7",
@@ -0,0 +1,11 @@
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
+ //#region node_modules/lucide-react/dist/esm/icons/arrow-right.js
3
+ var t = e("ArrowRight", [["path", {
4
+ d: "M5 12h14",
5
+ key: "1ays0h"
6
+ }], ["path", {
7
+ d: "m12 5 7 7-7 7",
8
+ key: "xquz4c"
9
+ }]]);
10
+ //#endregion
11
+ export { t };
@@ -0,0 +1,17 @@
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
+ //#region node_modules/lucide-react/dist/esm/icons/arrow-down.js
3
+ var t = e("ArrowDown", [["path", {
4
+ d: "M12 5v14",
5
+ key: "s699le"
6
+ }], ["path", {
7
+ d: "m19 12-7 7-7-7",
8
+ key: "1idqje"
9
+ }]]), n = e("ArrowUp", [["path", {
10
+ d: "m5 12 7-7 7 7",
11
+ key: "hav0vg"
12
+ }], ["path", {
13
+ d: "M12 19V5",
14
+ key: "x0mq9r"
15
+ }]]);
16
+ //#endregion
17
+ export { t as n, n as t };
@@ -1,4 +1,4 @@
1
- import { lt as e } from "./PageLayout-D4LDHJJq.js";
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/box.js
3
3
  var t = e("Box", [
4
4
  ["path", {
@@ -0,0 +1,54 @@
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
+ //#region node_modules/lucide-react/dist/esm/icons/boxes.js
3
+ var t = e("Boxes", [
4
+ ["path", {
5
+ d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",
6
+ key: "lc1i9w"
7
+ }],
8
+ ["path", {
9
+ d: "m7 16.5-4.74-2.85",
10
+ key: "1o9zyk"
11
+ }],
12
+ ["path", {
13
+ d: "m7 16.5 5-3",
14
+ key: "va8pkn"
15
+ }],
16
+ ["path", {
17
+ d: "M7 16.5v5.17",
18
+ key: "jnp8gn"
19
+ }],
20
+ ["path", {
21
+ d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",
22
+ key: "8zsnat"
23
+ }],
24
+ ["path", {
25
+ d: "m17 16.5-5-3",
26
+ key: "8arw3v"
27
+ }],
28
+ ["path", {
29
+ d: "m17 16.5 4.74-2.85",
30
+ key: "8rfmw"
31
+ }],
32
+ ["path", {
33
+ d: "M17 16.5v5.17",
34
+ key: "k6z78m"
35
+ }],
36
+ ["path", {
37
+ d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",
38
+ key: "1xygjf"
39
+ }],
40
+ ["path", {
41
+ d: "M12 8 7.26 5.15",
42
+ key: "1vbdud"
43
+ }],
44
+ ["path", {
45
+ d: "m12 8 4.74-2.85",
46
+ key: "3rx089"
47
+ }],
48
+ ["path", {
49
+ d: "M12 13.5V8",
50
+ key: "1io7kd"
51
+ }]
52
+ ]);
53
+ //#endregion
54
+ export { t };
@@ -1,4 +1,4 @@
1
- import { lt as e } from "./PageLayout-D4LDHJJq.js";
1
+ import { ut as e } from "./PageLayout-BniRJaQ6.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/chart-column.js
3
3
  var t = e("ChartColumn", [
4
4
  ["path", {