@burdenoff/microfe-movethewheels 2026.624.1 → 2026.625.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 (83) hide show
  1. package/dist/{AIAssistantPage-BrHX2lQn.js → AIAssistantPage-CNyoKtID.js} +4 -4
  2. package/dist/{AnalyticsPage-DI6Wcaw5.js → AnalyticsPage-Ck615ox7.js} +8 -8
  3. package/dist/{CreateOrderPage-DfkSi6JF.js → CreateOrderPage-C9Vb57Yn.js} +5 -5
  4. package/dist/{CustomerDetailsPage-DzAIu_tH.js → CustomerDetailsPage-BVkHRZvi.js} +9 -9
  5. package/dist/CustomersPage-DhQg-6h_.js +118 -0
  6. package/dist/{DashboardPage-3ZOnwg1a.js → DashboardPage-DTmyuC11.js} +118 -111
  7. package/dist/{DataTable-CZGz3SJu.js → DataTable-CfWvFw5B.js} +6 -6
  8. package/dist/{DriverDetailsPage-YuZSlPSV.js → DriverDetailsPage-DaaCQ-2O.js} +10 -10
  9. package/dist/DriversPage-D0RMBB_t.js +129 -0
  10. package/dist/{FinancePage-CnjUNXOb.js → FinancePage-BUXqW1IM.js} +6 -6
  11. package/dist/{FleetPage-CPS7r4J3.js → FleetPage-DCfOmBa2.js} +66 -65
  12. package/dist/{ImportExportPage-zNjs7xsV.js → ImportExportPage-BM1BoRcE.js} +3 -3
  13. package/dist/{InventoryPage-C9g5d3SW.js → InventoryPage-BW0QXWuf.js} +61 -66
  14. package/dist/{LiveTrackingPage-DoBvtdBG.js → LiveTrackingPage-DqcGXdkw.js} +8 -8
  15. package/dist/{MarketplacePage-BEj5hcBF.js → MarketplacePage-DFqsxNYU.js} +7 -7
  16. package/dist/MetricCard-B7yMyvMX.js +146 -0
  17. package/dist/{OrderDetailsPage-D-9lDZYU.js → OrderDetailsPage-Dx1m3cVA.js} +13 -13
  18. package/dist/{OrdersListPage-CJzHbgY3.js → OrdersListPage-DHYBGrWf.js} +76 -77
  19. package/dist/{PageLayout-xDTiBTDS.js → PageLayout-D3N8MCTm.js} +213 -195
  20. package/dist/{ProductDetailsPage-3rKtzXpy.js → ProductDetailsPage-DOXO90kb.js} +6 -6
  21. package/dist/{ProductsPage-B0P_wjBJ.js → ProductsPage-RLMTwWN0.js} +41 -39
  22. package/dist/{ReportsPage-B8OyWGzl.js → ReportsPage-Df3hciPy.js} +4 -4
  23. package/dist/{RouteDetailsPage-DGjKTUMj.js → RouteDetailsPage-xzFDeR-X.js} +8 -8
  24. package/dist/{RoutesPage-CpopY8xN.js → RoutesPage-DDFy1QVi.js} +32 -30
  25. package/dist/{SettingsPage-BvXSa3gi.js → SettingsPage-JH_-UPbf.js} +4 -4
  26. package/dist/{StatusBadge-C--7NhoW.js → StatusBadge-CijYQXtb.js} +5 -2
  27. package/dist/{TrackingPage-BldUm_g7.js → TrackingPage-CU0Vk4mx.js} +11 -11
  28. package/dist/{VehicleDetailsPage-Dqv--MVW.js → VehicleDetailsPage-P4xDttKw.js} +8 -8
  29. package/dist/{VehiclesPage-CCBHRDHu.js → VehiclesPage-tJZ64QKV.js} +42 -40
  30. package/dist/{WarehouseDetailsPage-ZObC_c7W.js → WarehouseDetailsPage-Bt_w2Yf7.js} +8 -8
  31. package/dist/{WarehousesPage-CpgZEVW9.js → WarehousesPage-HsPpEFeG.js} +37 -32
  32. package/dist/{arrow-left-Bk5GsGNk.js → arrow-left-CBpZKkpq.js} +1 -1
  33. package/dist/{box-BAMv2-7M.js → box-CAaiElsb.js} +1 -1
  34. package/dist/{chart-column-CAfkf4o6.js → chart-column-D1Ym15-S.js} +1 -1
  35. package/dist/{chevron-right-Czrt_Qew.js → chevron-right-BIFGi0UA.js} +1 -1
  36. package/dist/{circle-alert-CEuV9Pij.js → circle-alert-DjmNo5_L.js} +1 -1
  37. package/dist/{circle-check-big-Cx8aO6B-.js → circle-check-big-CjuPVo3_.js} +1 -1
  38. package/dist/{clock-Be95bq7_.js → clock-BjkdnddD.js} +1 -1
  39. package/dist/{dollar-sign-kJqItPli.js → dollar-sign-IB4O0wuQ.js} +1 -1
  40. package/dist/{download-caab0D3V.js → download-Dpa9vqoG.js} +1 -1
  41. package/dist/{file-text-b1qhrJn1.js → file-text-C8Uioy11.js} +1 -1
  42. package/dist/{filter-BWmLTZB-.js → filter-Da5OZaHI.js} +1 -1
  43. package/dist/index.js +16 -16
  44. package/dist/{map-CS2aFgyO.js → map-_Per4sT9.js} +1 -1
  45. package/dist/{map-pin-96FeqL7H.js → map-pin-BSaf5IDL.js} +1 -1
  46. package/dist/{navigation-i6UXEjTC.js → navigation-DaTbrhw2.js} +1 -1
  47. package/dist/{package-KhSi3xaT.js → package-BE7U0wQE.js} +1 -1
  48. package/dist/{phone-B-h3tbsr.js → phone-DV4StZiA.js} +1 -1
  49. package/dist/{plus-D2BYAzMn.js → plus-Dl1rLeJR.js} +1 -1
  50. package/dist/{refresh-cw-D5Sy01s-.js → refresh-cw-CWfERAit.js} +1 -1
  51. package/dist/{route-CBDXuwH9.js → route-Dp9JiN_E.js} +1 -1
  52. package/dist/{save-CMc7h-Vi.js → save-XH8vydOn.js} +1 -1
  53. package/dist/{search-DVrUQbOg.js → search-OxoIiL_C.js} +1 -1
  54. package/dist/{settings-BwzIRYv3.js → settings-3Rw5NwFF.js} +1 -1
  55. package/dist/{square-pen-DmW36Bau.js → square-pen-hLIbFQFV.js} +1 -1
  56. package/dist/{star-Cv2MzxZL.js → star-YsVV3MNQ.js} +1 -1
  57. package/dist/{store-CLH957vl.js → store-RCBl7HB-.js} +1 -1
  58. package/dist/{trending-up-l8M0BO_w.js → trending-up-C-85AwGT.js} +1 -1
  59. package/dist/{triangle-alert-BI45s6bH.js → triangle-alert-BOhfGgmh.js} +1 -1
  60. package/dist/{truck-DX3lNQkz.js → truck-CtDjNFbi.js} +1 -1
  61. package/dist/{user-D8EY1uvt.js → user-Dz5TJZFs.js} +1 -1
  62. package/dist/{users-CfG0J8wP.js → users-g2N0eL-Z.js} +1 -1
  63. package/dist/{warehouse-Dt_bAr82.js → warehouse-D3WWDeTX.js} +1 -1
  64. package/dist/{wrench-C50eI_Iy.js → wrench-CmxY1n4I.js} +1 -1
  65. package/package.json +2 -2
  66. package/src/movethewheels/components/DataTable.tsx +4 -4
  67. package/src/movethewheels/components/MetricCard.tsx +49 -20
  68. package/src/movethewheels/components/PageLayout.tsx +60 -5
  69. package/src/movethewheels/components/StatusBadge.tsx +2 -1
  70. package/src/movethewheels/pages/CustomersPage.tsx +13 -12
  71. package/src/movethewheels/pages/DashboardPage.tsx +55 -48
  72. package/src/movethewheels/pages/DriversPage.tsx +9 -12
  73. package/src/movethewheels/pages/FleetPage.tsx +15 -10
  74. package/src/movethewheels/pages/InventoryPage.tsx +18 -11
  75. package/src/movethewheels/pages/OrdersListPage.tsx +20 -14
  76. package/src/movethewheels/pages/ProductsPage.tsx +9 -12
  77. package/src/movethewheels/pages/RoutesPage.tsx +12 -9
  78. package/src/movethewheels/pages/TrackingPage.tsx +2 -2
  79. package/src/movethewheels/pages/VehiclesPage.tsx +9 -15
  80. package/src/movethewheels/pages/WarehousesPage.tsx +8 -9
  81. package/dist/CustomersPage-d21ixOYa.js +0 -119
  82. package/dist/DriversPage-BOhqEBTv.js +0 -127
  83. package/dist/MetricCard-DeHVeVwl.js +0 -135
@@ -1,38 +1,43 @@
1
- import { M as e, i as t, l as n, u as r } from "./PageLayout-xDTiBTDS.js";
2
- import { t as i } from "./DataTable-CZGz3SJu.js";
3
- import { t as a } from "./plus-D2BYAzMn.js";
4
- import { t as o } from "./refresh-cw-D5Sy01s-.js";
5
- import { t as s } from "./warehouse-Dt_bAr82.js";
6
- import { r as c } from "./graphqlClient-CdJyR_ed.js";
7
- import { o as l } from "./useInventory-Dwn18FPz.js";
8
- import { t as u } from "./navigation-BgnOfsVd.js";
9
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
1
+ import { M as e, i as t, l as n } from "./PageLayout-D3N8MCTm.js";
2
+ import { t as r } from "./DataTable-CfWvFw5B.js";
3
+ import { t as i } from "./plus-Dl1rLeJR.js";
4
+ import { t as a } from "./refresh-cw-CWfERAit.js";
5
+ import { t as o } from "./warehouse-D3WWDeTX.js";
6
+ import { r as s } from "./graphqlClient-CdJyR_ed.js";
7
+ import { o as c } from "./useInventory-Dwn18FPz.js";
8
+ import { t as l } from "./navigation-BgnOfsVd.js";
9
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
10
+ import { CTAOverflowMenu as f } from "@burdenoff/fe-libs/ui";
10
11
  //#region src/movethewheels/pages/WarehousesPage.tsx
11
12
  function p() {
12
- let { basePath: p, navigate: m } = c(), { warehouses: h, totalWarehouses: g, isLoading: _, refetch: v } = l(), y = (e) => m?.(u(p, e));
13
- return /* @__PURE__ */ d(t, {
13
+ let { basePath: p, navigate: m } = s(), { warehouses: h, totalWarehouses: g, isLoading: _, refetch: v } = c(), y = (e) => m?.(l(p, e));
14
+ return /* @__PURE__ */ u(t, {
14
15
  title: "Warehouses",
15
16
  subtitle: `${g} warehouses`,
16
- icon: /* @__PURE__ */ d(s, { size: 24 }),
17
- headerActions: /* @__PURE__ */ f("div", {
18
- className: "flex gap-2",
19
- children: [/* @__PURE__ */ f(r, {
20
- variant: "outline",
21
- onClick: v,
22
- children: [/* @__PURE__ */ d(o, { size: 16 }), " Refresh"]
23
- }), /* @__PURE__ */ f(r, { children: [/* @__PURE__ */ d(a, { size: 16 }), " Add Warehouse"] })]
17
+ icon: /* @__PURE__ */ u(o, { size: 24 }),
18
+ headerActions: /* @__PURE__ */ u(f, {
19
+ primary: {
20
+ label: "Add Warehouse",
21
+ icon: /* @__PURE__ */ u(i, { size: 16 }),
22
+ onSelect: () => {}
23
+ },
24
+ actions: [{
25
+ label: "Refresh",
26
+ icon: /* @__PURE__ */ u(a, { size: 16 }),
27
+ onSelect: () => v()
28
+ }]
24
29
  }),
25
- children: /* @__PURE__ */ d(i, {
30
+ children: /* @__PURE__ */ u(r, {
26
31
  columns: [
27
32
  {
28
33
  id: "name",
29
34
  header: "Warehouse",
30
35
  accessorKey: "name",
31
36
  sortable: !0,
32
- cell: (e) => /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("p", {
37
+ cell: (e) => /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
33
38
  className: "font-medium",
34
39
  children: e.name
35
- }), /* @__PURE__ */ d("p", {
40
+ }), /* @__PURE__ */ u("p", {
36
41
  className: "text-sm text-text-secondary",
37
42
  children: e.code
38
43
  })] })
@@ -40,11 +45,11 @@ function p() {
40
45
  {
41
46
  id: "location",
42
47
  header: "Location",
43
- cell: (e) => /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ f("p", { children: [
48
+ cell: (e) => /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ d("p", { children: [
44
49
  e.address.city,
45
50
  ", ",
46
51
  e.address.state
47
- ] }), /* @__PURE__ */ d("p", {
52
+ ] }), /* @__PURE__ */ u("p", {
48
53
  className: "text-sm text-text-secondary",
49
54
  children: e.address.country
50
55
  })] })
@@ -53,7 +58,7 @@ function p() {
53
58
  id: "type",
54
59
  header: "Type",
55
60
  accessorKey: "type",
56
- cell: (e) => /* @__PURE__ */ d(n, {
61
+ cell: (e) => /* @__PURE__ */ u(n, {
57
62
  variant: "outline",
58
63
  className: "capitalize",
59
64
  children: e.type.replace("_", " ")
@@ -64,12 +69,12 @@ function p() {
64
69
  header: "Utilization",
65
70
  cell: (t) => {
66
71
  let n = t.capacity.usedSpace / t.capacity.totalSpace * 100;
67
- return /* @__PURE__ */ f("div", {
72
+ return /* @__PURE__ */ d("div", {
68
73
  className: "flex items-center gap-2",
69
- children: [/* @__PURE__ */ d(e, {
74
+ children: [/* @__PURE__ */ u(e, {
70
75
  value: n,
71
76
  className: "w-16 h-2"
72
- }), /* @__PURE__ */ f("span", {
77
+ }), /* @__PURE__ */ d("span", {
73
78
  className: "text-sm",
74
79
  children: [n.toFixed(0), "%"]
75
80
  })]
@@ -79,15 +84,15 @@ function p() {
79
84
  {
80
85
  id: "capacity",
81
86
  header: "Capacity",
82
- cell: (e) => /* @__PURE__ */ f("div", {
87
+ cell: (e) => /* @__PURE__ */ d("div", {
83
88
  className: "text-sm",
84
- children: [/* @__PURE__ */ f("p", { children: [
89
+ children: [/* @__PURE__ */ d("p", { children: [
85
90
  e.capacity.usedSpace.toLocaleString(),
86
91
  " / ",
87
92
  e.capacity.totalSpace.toLocaleString(),
88
93
  " ",
89
94
  "sq ft"
90
- ] }), /* @__PURE__ */ f("p", {
95
+ ] }), /* @__PURE__ */ d("p", {
91
96
  className: "text-text-secondary",
92
97
  children: [
93
98
  e.capacity.usedPallets,
@@ -101,7 +106,7 @@ function p() {
101
106
  {
102
107
  id: "status",
103
108
  header: "Status",
104
- cell: (e) => /* @__PURE__ */ d(n, {
109
+ cell: (e) => /* @__PURE__ */ u(n, {
105
110
  variant: e.isActive ? "default" : "secondary",
106
111
  children: e.isActive ? "Active" : "Inactive"
107
112
  })
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.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",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/box.js
3
3
  var t = e("Box", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/chart-column.js
3
3
  var t = e("ChartColumn", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/chevron-right.js
3
3
  var t = e("ChevronRight", [["path", {
4
4
  d: "m9 18 6-6-6-6",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/circle-alert.js
3
3
  var t = e("CircleAlert", [
4
4
  ["circle", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/circle-check-big.js
3
3
  var t = e("CircleCheckBig", [["path", {
4
4
  d: "M21.801 10A10 10 0 1 1 17 3.335",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/clock.js
3
3
  var t = e("Clock", [["circle", {
4
4
  cx: "12",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/dollar-sign.js
3
3
  var t = e("DollarSign", [["line", {
4
4
  x1: "12",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/download.js
3
3
  var t = e("Download", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/file-text.js
3
3
  var t = e("FileText", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/filter.js
3
3
  var t = e("Filter", [["polygon", {
4
4
  points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as ee, R as te, S as ne, T as re, U as ie, V as ae, W as oe, X as se, Y as ce, Z as le, _ as ue, a as de, b as fe, c as pe, d as me, et as he, f as ge, g as _e, h as ve, i as _, it as v, j as y, k as b, l as x, m as S, n as C, nt as w, o as T, p as E, q as D, r as O, s as k, t as A, tt as j, u as M, v as N, w as P, x as F, y as ye, z as be } from "./PageLayout-xDTiBTDS.js";
2
- import { t as xe } from "./DataTable-CZGz3SJu.js";
3
- import { n as Se, t as Ce } from "./route-CBDXuwH9.js";
4
- import { t as we } from "./chart-column-CAfkf4o6.js";
5
- import { t as Te } from "./dollar-sign-kJqItPli.js";
6
- import { t as Ee } from "./file-text-b1qhrJn1.js";
7
- import { n as De, t as Oe } from "./settings-BwzIRYv3.js";
8
- import { t as ke } from "./map-CS2aFgyO.js";
9
- import { t as Ae } from "./package-KhSi3xaT.js";
10
- import { t as je } from "./store-CLH957vl.js";
11
- import { t as I } from "./truck-DX3lNQkz.js";
12
- import { t as Me } from "./users-CfG0J8wP.js";
13
- import { t as L } from "./warehouse-Dt_bAr82.js";
1
+ import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, G as s, H as c, I as l, J as u, K as d, L as f, M as p, N as m, O as h, P as g, Q as ee, R as te, S as ne, T as re, U as ie, V as ae, W as oe, X as se, Y as ce, Z as le, _ as ue, a as de, b as fe, c as pe, d as me, et as he, f as ge, g as _e, h as ve, i as _, it as v, j as y, k as b, l as x, m as S, n as C, nt as w, o as T, p as E, q as D, r as O, s as k, t as A, tt as j, u as M, v as N, w as P, x as F, y as ye, z as be } from "./PageLayout-D3N8MCTm.js";
2
+ import { t as xe } from "./DataTable-CfWvFw5B.js";
3
+ import { n as Se, t as Ce } from "./route-Dp9JiN_E.js";
4
+ import { t as we } from "./chart-column-D1Ym15-S.js";
5
+ import { t as Te } from "./dollar-sign-IB4O0wuQ.js";
6
+ import { t as Ee } from "./file-text-C8Uioy11.js";
7
+ import { n as De, t as Oe } from "./settings-3Rw5NwFF.js";
8
+ import { t as ke } from "./map-_Per4sT9.js";
9
+ import { t as Ae } from "./package-BE7U0wQE.js";
10
+ import { t as je } from "./store-RCBl7HB-.js";
11
+ import { t as I } from "./truck-CtDjNFbi.js";
12
+ import { t as Me } from "./users-g2N0eL-Z.js";
13
+ import { t as L } from "./warehouse-D3WWDeTX.js";
14
14
  import { i as Ne, n as Pe, r as Fe } from "./graphqlClient-CdJyR_ed.js";
15
15
  import { n as Ie, r as Le, t as Re } from "./useOrders-D_3_hGMp.js";
16
16
  import { a as ze, i as Be, n as Ve, o as He, r as Ue, t as We } from "./useFleet-BdETplNE.js";
@@ -19,8 +19,8 @@ import { n as Ze, r as Qe, t as $e } from "./useCustomers-bS3a4ytk.js";
19
19
  import { n as et, r as tt, t as nt } from "./useRoutes-v4aBaS-E.js";
20
20
  import { a as rt, i as it, n as at, o as ot, r as st, t as ct } from "./useAnalytics-ph7eTIK6.js";
21
21
  import { a as lt, i as ut, n as dt, o as ft, r as pt, s as mt, t as ht } from "./useTracking-De2KIUNu.js";
22
- import { n as gt, r as _t, t as vt } from "./MetricCard-DeHVeVwl.js";
23
- import { a as yt, i as bt, n as xt, r as St, t as Ct } from "./StatusBadge-C--7NhoW.js";
22
+ import { n as gt, r as _t, t as vt } from "./MetricCard-B7yMyvMX.js";
23
+ import { a as yt, i as bt, n as xt, r as St, t as Ct } from "./StatusBadge-CijYQXtb.js";
24
24
  import { Suspense as wt, lazy as R, useEffect as z } from "react";
25
25
  import { Navigate as Tt, Route as B, Routes as Et } from "react-router-dom";
26
26
  import { jsx as V, jsxs as H } from "react/jsx-runtime";
@@ -161,7 +161,7 @@ function Nt() {
161
161
  })
162
162
  });
163
163
  }
164
- var Pt = R(() => import("./DashboardPage-3ZOnwg1a.js")), Ft = R(() => import("./OrdersListPage-CJzHbgY3.js")), It = R(() => import("./OrderDetailsPage-D-9lDZYU.js")), W = R(() => import("./CreateOrderPage-DfkSi6JF.js")), Lt = R(() => import("./TrackingPage-BldUm_g7.js")), Rt = R(() => import("./LiveTrackingPage-DoBvtdBG.js")), zt = R(() => import("./FleetPage-CPS7r4J3.js")), Bt = R(() => import("./VehiclesPage-CCBHRDHu.js")), Vt = R(() => import("./VehicleDetailsPage-Dqv--MVW.js")), Ht = R(() => import("./DriversPage-BOhqEBTv.js")), Ut = R(() => import("./DriverDetailsPage-YuZSlPSV.js")), Wt = R(() => import("./InventoryPage-C9g5d3SW.js")), Gt = R(() => import("./ProductsPage-B0P_wjBJ.js")), Kt = R(() => import("./ProductDetailsPage-3rKtzXpy.js")), qt = R(() => import("./WarehousesPage-CpgZEVW9.js")), Jt = R(() => import("./WarehouseDetailsPage-ZObC_c7W.js")), Yt = R(() => import("./CustomersPage-d21ixOYa.js")), G = R(() => import("./CustomerDetailsPage-DzAIu_tH.js")), Xt = R(() => import("./RoutesPage-CpopY8xN.js")), K = R(() => import("./RouteDetailsPage-DGjKTUMj.js")), Zt = R(() => import("./AnalyticsPage-DI6Wcaw5.js")), Qt = R(() => import("./FinancePage-CnjUNXOb.js")), $t = R(() => import("./MarketplacePage-BEj5hcBF.js")), en = R(() => import("./ImportExportPage-zNjs7xsV.js")), tn = R(() => import("./ReportsPage-B8OyWGzl.js")), nn = R(() => import("./SettingsPage-BvXSa3gi.js")), rn = R(() => import("./AIAssistantPage-BrHX2lQn.js"));
164
+ var Pt = R(() => import("./DashboardPage-DTmyuC11.js")), Ft = R(() => import("./OrdersListPage-DHYBGrWf.js")), It = R(() => import("./OrderDetailsPage-Dx1m3cVA.js")), W = R(() => import("./CreateOrderPage-C9Vb57Yn.js")), Lt = R(() => import("./TrackingPage-CU0Vk4mx.js")), Rt = R(() => import("./LiveTrackingPage-DqcGXdkw.js")), zt = R(() => import("./FleetPage-DCfOmBa2.js")), Bt = R(() => import("./VehiclesPage-tJZ64QKV.js")), Vt = R(() => import("./VehicleDetailsPage-P4xDttKw.js")), Ht = R(() => import("./DriversPage-D0RMBB_t.js")), Ut = R(() => import("./DriverDetailsPage-DaaCQ-2O.js")), Wt = R(() => import("./InventoryPage-BW0QXWuf.js")), Gt = R(() => import("./ProductsPage-RLMTwWN0.js")), Kt = R(() => import("./ProductDetailsPage-DOXO90kb.js")), qt = R(() => import("./WarehousesPage-HsPpEFeG.js")), Jt = R(() => import("./WarehouseDetailsPage-Bt_w2Yf7.js")), Yt = R(() => import("./CustomersPage-DhQg-6h_.js")), G = R(() => import("./CustomerDetailsPage-BVkHRZvi.js")), Xt = R(() => import("./RoutesPage-DDFy1QVi.js")), K = R(() => import("./RouteDetailsPage-xzFDeR-X.js")), Zt = R(() => import("./AnalyticsPage-Ck615ox7.js")), Qt = R(() => import("./FinancePage-BUXqW1IM.js")), $t = R(() => import("./MarketplacePage-DFqsxNYU.js")), en = R(() => import("./ImportExportPage-BM1BoRcE.js")), tn = R(() => import("./ReportsPage-Df3hciPy.js")), nn = R(() => import("./SettingsPage-JH_-UPbf.js")), rn = R(() => import("./AIAssistantPage-CNyoKtID.js"));
165
165
  function an() {
166
166
  return /* @__PURE__ */ V(wt, {
167
167
  fallback: /* @__PURE__ */ V(Nt, {}),
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/map.js
3
3
  var t = e("Map", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/map-pin.js
3
3
  var t = e("MapPin", [["path", {
4
4
  d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/navigation.js
3
3
  var t = e("Navigation", [["polygon", {
4
4
  points: "3 11 22 2 13 21 11 13 3 11",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/package.js
3
3
  var t = e("Package", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/mail.js
3
3
  var t = e("Mail", [["rect", {
4
4
  width: "20",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/plus.js
3
3
  var t = e("Plus", [["path", {
4
4
  d: "M5 12h14",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/refresh-cw.js
3
3
  var t = e("RefreshCw", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/bot.js
3
3
  var t = e("Bot", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/save.js
3
3
  var t = e("Save", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/search.js
3
3
  var t = e("Search", [["circle", {
4
4
  cx: "11",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/globe.js
3
3
  var t = e("Globe", [
4
4
  ["circle", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/square-pen.js
3
3
  var t = e("SquarePen", [["path", {
4
4
  d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/star.js
3
3
  var t = e("Star", [["path", {
4
4
  d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/store.js
3
3
  var t = e("Store", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/trending-up.js
3
3
  var t = e("TrendingUp", [["polyline", {
4
4
  points: "22 7 13.5 15.5 8.5 10.5 2 17",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/triangle-alert.js
3
3
  var t = e("TriangleAlert", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/truck.js
3
3
  var t = e("Truck", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/user.js
3
3
  var t = e("User", [["path", {
4
4
  d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/users.js
3
3
  var t = e("Users", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/warehouse.js
3
3
  var t = e("Warehouse", [
4
4
  ["path", {
@@ -1,4 +1,4 @@
1
- import { it as e } from "./PageLayout-xDTiBTDS.js";
1
+ import { it as e } from "./PageLayout-D3N8MCTm.js";
2
2
  //#region node_modules/lucide-react/dist/esm/icons/fuel.js
3
3
  var t = e("Fuel", [
4
4
  ["line", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/microfe-movethewheels",
3
- "version": "2026.624.1",
3
+ "version": "2026.625.1",
4
4
  "description": "Burdenoff MoveTheWheels Microfrontend - Logistics & Supply Chain Management Platform",
5
5
  "type": "module",
6
6
  "files": [
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@apollo/client": "^4.0.11",
43
- "@burdenoff/fe-libs": "2026.518.7",
43
+ "@burdenoff/fe-libs": "2026.625.3",
44
44
  "@tanstack/react-query": "^5.90.16",
45
45
  "clsx": "^2.1.1",
46
46
  "graphql": "^16.12.0",
@@ -188,13 +188,13 @@ export function DataTable<T extends object>({
188
188
  <Skeleton className="h-10 w-64" />
189
189
  </div>
190
190
  )}
191
- <div className="rounded-md border">
191
+ <div className="rounded-card border border-border-seam bg-bg-surface shadow-elevation-1">
192
192
  <Table>
193
193
  <TableHeader>
194
194
  <TableRow>
195
195
  {columns.map((column) => (
196
196
  <TableHead key={column.id}>
197
- <Skeleton className="h-4 w-20" />
197
+ <Skeleton className="h-4 w-20 motion-safe:animate-vc-shimmer" />
198
198
  </TableHead>
199
199
  ))}
200
200
  </TableRow>
@@ -204,7 +204,7 @@ export function DataTable<T extends object>({
204
204
  <TableRow key={i}>
205
205
  {columns.map((column) => (
206
206
  <TableCell key={column.id}>
207
- <Skeleton className="h-4 w-full max-w-[100px]" />
207
+ <Skeleton className="h-4 w-full max-w-[100px] motion-safe:animate-vc-shimmer" />
208
208
  </TableCell>
209
209
  ))}
210
210
  </TableRow>
@@ -237,7 +237,7 @@ export function DataTable<T extends object>({
237
237
  )}
238
238
 
239
239
  {/* Table */}
240
- <div className="rounded-md border">
240
+ <div className="overflow-x-auto rounded-card border border-border-seam bg-bg-surface shadow-elevation-1">
241
241
  <Table>
242
242
  <TableHeader>
243
243
  <TableRow>
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
+ import { GlassCard } from '@burdenoff/fe-libs/ui';
2
3
  import { cn } from '../utils/cn';
3
- import { Card, CardContent } from './ui';
4
4
 
5
5
  interface MetricCardProps {
6
6
  /** Main value to display */
@@ -23,6 +23,10 @@ interface MetricCardProps {
23
23
  onClick?: () => void;
24
24
  /** Additional CSS classes */
25
25
  className?: string;
26
+ /** Boff UI 2.0 surface treatment. Defaults to the soft accent-wash metric surface. */
27
+ treatment?: 'metric' | 'glass';
28
+ /** Featured/active accent glow (used for the single hero metric per page). */
29
+ glow?: boolean;
26
30
  }
27
31
 
28
32
  const sizeClasses = {
@@ -60,12 +64,14 @@ export function MetricCard({
60
64
  size = 'md',
61
65
  onClick,
62
66
  className,
67
+ treatment = 'metric',
68
+ glow = false,
63
69
  }: MetricCardProps) {
64
70
  const styles = sizeClasses[size];
65
71
 
66
72
  const changeColors = {
67
- positive: 'text-green-600 dark:text-green-400',
68
- negative: 'text-red-600 dark:text-red-400',
73
+ positive: 'text-status-success-text',
74
+ negative: 'text-status-error-text',
69
75
  neutral: 'text-text-secondary',
70
76
  };
71
77
 
@@ -98,24 +104,44 @@ export function MetricCard({
98
104
  };
99
105
 
100
106
  return (
101
- <Card
107
+ <GlassCard
108
+ treatment={treatment}
109
+ glow={glow}
102
110
  className={cn(
103
- 'overflow-hidden transition-all duration-200',
104
- onClick && 'cursor-pointer hover:shadow-md hover:border-primary/30',
111
+ 'overflow-hidden border-border-seam',
112
+ onClick &&
113
+ 'cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-action-primary-bg focus-visible:ring-offset-2 focus-visible:ring-offset-bg-base',
105
114
  className
106
115
  )}
107
116
  onClick={onClick}
117
+ {...(onClick
118
+ ? {
119
+ role: 'button',
120
+ tabIndex: 0,
121
+ onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => {
122
+ if (e.key === 'Enter' || e.key === ' ') {
123
+ e.preventDefault();
124
+ onClick();
125
+ }
126
+ },
127
+ }
128
+ : {})}
108
129
  >
109
- <CardContent className={styles.card}>
130
+ <div className={styles.card}>
110
131
  <div className="flex items-start justify-between">
111
132
  <div className="space-y-1">
112
133
  <p className={cn('text-text-secondary', styles.label)}>{label}</p>
113
- <p className={cn('text-text-primary tracking-tight', styles.value)}>
134
+ <p className={cn('text-text-primary tracking-tight tabular-nums', styles.value)}>
114
135
  {typeof value === 'number' ? value.toLocaleString() : value}
115
136
  </p>
116
137
  {subtitle && <p className="text-xs text-text-secondary">{subtitle}</p>}
117
138
  {change && (
118
- <div className={cn('flex items-center gap-1 text-sm', changeColors[changeType])}>
139
+ <div
140
+ className={cn(
141
+ 'flex items-center gap-1 text-sm tabular-nums',
142
+ changeColors[changeType]
143
+ )}
144
+ >
119
145
  {trend && trendIcons[trend]}
120
146
  <span>{change}</span>
121
147
  </div>
@@ -123,14 +149,17 @@ export function MetricCard({
123
149
  </div>
124
150
  {icon && (
125
151
  <div
126
- className={cn('flex-shrink-0 p-2 rounded-lg bg-action-primary-bg/10 text-primary', styles.icon)}
152
+ className={cn(
153
+ 'flex-shrink-0 p-2 rounded-lg bg-action-primary-bg/10 text-action-primary-bg',
154
+ styles.icon
155
+ )}
127
156
  >
128
157
  {icon}
129
158
  </div>
130
159
  )}
131
160
  </div>
132
- </CardContent>
133
- </Card>
161
+ </div>
162
+ </GlassCard>
134
163
  );
135
164
  }
136
165
 
@@ -141,18 +170,18 @@ export function MetricCardSkeleton({ size = 'md' }: { size?: 'sm' | 'md' | 'lg'
141
170
  const styles = sizeClasses[size];
142
171
 
143
172
  return (
144
- <Card className="overflow-hidden">
145
- <CardContent className={styles.card}>
173
+ <GlassCard treatment="metric" className="overflow-hidden border-border-seam">
174
+ <div className={styles.card}>
146
175
  <div className="flex items-start justify-between">
147
176
  <div className="space-y-2 flex-1">
148
- <div className="h-4 w-24 bg-bg-sunken animate-pulse rounded" />
149
- <div className="h-8 w-32 bg-bg-sunken animate-pulse rounded" />
150
- <div className="h-3 w-20 bg-bg-sunken animate-pulse rounded" />
177
+ <div className="h-4 w-24 bg-bg-sunken motion-safe:animate-vc-shimmer rounded" />
178
+ <div className="h-8 w-32 bg-bg-sunken motion-safe:animate-vc-shimmer rounded" />
179
+ <div className="h-3 w-20 bg-bg-sunken motion-safe:animate-vc-shimmer rounded" />
151
180
  </div>
152
- <div className={cn('bg-bg-sunken animate-pulse rounded-lg', styles.icon)} />
181
+ <div className={cn('bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg', styles.icon)} />
153
182
  </div>
154
- </CardContent>
155
- </Card>
183
+ </div>
184
+ </GlassCard>
156
185
  );
157
186
  }
158
187