@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.
- package/dist/{AIAssistantPage-BrHX2lQn.js → AIAssistantPage-CNyoKtID.js} +4 -4
- package/dist/{AnalyticsPage-DI6Wcaw5.js → AnalyticsPage-Ck615ox7.js} +8 -8
- package/dist/{CreateOrderPage-DfkSi6JF.js → CreateOrderPage-C9Vb57Yn.js} +5 -5
- package/dist/{CustomerDetailsPage-DzAIu_tH.js → CustomerDetailsPage-BVkHRZvi.js} +9 -9
- package/dist/CustomersPage-DhQg-6h_.js +118 -0
- package/dist/{DashboardPage-3ZOnwg1a.js → DashboardPage-DTmyuC11.js} +118 -111
- package/dist/{DataTable-CZGz3SJu.js → DataTable-CfWvFw5B.js} +6 -6
- package/dist/{DriverDetailsPage-YuZSlPSV.js → DriverDetailsPage-DaaCQ-2O.js} +10 -10
- package/dist/DriversPage-D0RMBB_t.js +129 -0
- package/dist/{FinancePage-CnjUNXOb.js → FinancePage-BUXqW1IM.js} +6 -6
- package/dist/{FleetPage-CPS7r4J3.js → FleetPage-DCfOmBa2.js} +66 -65
- package/dist/{ImportExportPage-zNjs7xsV.js → ImportExportPage-BM1BoRcE.js} +3 -3
- package/dist/{InventoryPage-C9g5d3SW.js → InventoryPage-BW0QXWuf.js} +61 -66
- package/dist/{LiveTrackingPage-DoBvtdBG.js → LiveTrackingPage-DqcGXdkw.js} +8 -8
- package/dist/{MarketplacePage-BEj5hcBF.js → MarketplacePage-DFqsxNYU.js} +7 -7
- package/dist/MetricCard-B7yMyvMX.js +146 -0
- package/dist/{OrderDetailsPage-D-9lDZYU.js → OrderDetailsPage-Dx1m3cVA.js} +13 -13
- package/dist/{OrdersListPage-CJzHbgY3.js → OrdersListPage-DHYBGrWf.js} +76 -77
- package/dist/{PageLayout-xDTiBTDS.js → PageLayout-D3N8MCTm.js} +213 -195
- package/dist/{ProductDetailsPage-3rKtzXpy.js → ProductDetailsPage-DOXO90kb.js} +6 -6
- package/dist/{ProductsPage-B0P_wjBJ.js → ProductsPage-RLMTwWN0.js} +41 -39
- package/dist/{ReportsPage-B8OyWGzl.js → ReportsPage-Df3hciPy.js} +4 -4
- package/dist/{RouteDetailsPage-DGjKTUMj.js → RouteDetailsPage-xzFDeR-X.js} +8 -8
- package/dist/{RoutesPage-CpopY8xN.js → RoutesPage-DDFy1QVi.js} +32 -30
- package/dist/{SettingsPage-BvXSa3gi.js → SettingsPage-JH_-UPbf.js} +4 -4
- package/dist/{StatusBadge-C--7NhoW.js → StatusBadge-CijYQXtb.js} +5 -2
- package/dist/{TrackingPage-BldUm_g7.js → TrackingPage-CU0Vk4mx.js} +11 -11
- package/dist/{VehicleDetailsPage-Dqv--MVW.js → VehicleDetailsPage-P4xDttKw.js} +8 -8
- package/dist/{VehiclesPage-CCBHRDHu.js → VehiclesPage-tJZ64QKV.js} +42 -40
- package/dist/{WarehouseDetailsPage-ZObC_c7W.js → WarehouseDetailsPage-Bt_w2Yf7.js} +8 -8
- package/dist/{WarehousesPage-CpgZEVW9.js → WarehousesPage-HsPpEFeG.js} +37 -32
- package/dist/{arrow-left-Bk5GsGNk.js → arrow-left-CBpZKkpq.js} +1 -1
- package/dist/{box-BAMv2-7M.js → box-CAaiElsb.js} +1 -1
- package/dist/{chart-column-CAfkf4o6.js → chart-column-D1Ym15-S.js} +1 -1
- package/dist/{chevron-right-Czrt_Qew.js → chevron-right-BIFGi0UA.js} +1 -1
- package/dist/{circle-alert-CEuV9Pij.js → circle-alert-DjmNo5_L.js} +1 -1
- package/dist/{circle-check-big-Cx8aO6B-.js → circle-check-big-CjuPVo3_.js} +1 -1
- package/dist/{clock-Be95bq7_.js → clock-BjkdnddD.js} +1 -1
- package/dist/{dollar-sign-kJqItPli.js → dollar-sign-IB4O0wuQ.js} +1 -1
- package/dist/{download-caab0D3V.js → download-Dpa9vqoG.js} +1 -1
- package/dist/{file-text-b1qhrJn1.js → file-text-C8Uioy11.js} +1 -1
- package/dist/{filter-BWmLTZB-.js → filter-Da5OZaHI.js} +1 -1
- package/dist/index.js +16 -16
- package/dist/{map-CS2aFgyO.js → map-_Per4sT9.js} +1 -1
- package/dist/{map-pin-96FeqL7H.js → map-pin-BSaf5IDL.js} +1 -1
- package/dist/{navigation-i6UXEjTC.js → navigation-DaTbrhw2.js} +1 -1
- package/dist/{package-KhSi3xaT.js → package-BE7U0wQE.js} +1 -1
- package/dist/{phone-B-h3tbsr.js → phone-DV4StZiA.js} +1 -1
- package/dist/{plus-D2BYAzMn.js → plus-Dl1rLeJR.js} +1 -1
- package/dist/{refresh-cw-D5Sy01s-.js → refresh-cw-CWfERAit.js} +1 -1
- package/dist/{route-CBDXuwH9.js → route-Dp9JiN_E.js} +1 -1
- package/dist/{save-CMc7h-Vi.js → save-XH8vydOn.js} +1 -1
- package/dist/{search-DVrUQbOg.js → search-OxoIiL_C.js} +1 -1
- package/dist/{settings-BwzIRYv3.js → settings-3Rw5NwFF.js} +1 -1
- package/dist/{square-pen-DmW36Bau.js → square-pen-hLIbFQFV.js} +1 -1
- package/dist/{star-Cv2MzxZL.js → star-YsVV3MNQ.js} +1 -1
- package/dist/{store-CLH957vl.js → store-RCBl7HB-.js} +1 -1
- package/dist/{trending-up-l8M0BO_w.js → trending-up-C-85AwGT.js} +1 -1
- package/dist/{triangle-alert-BI45s6bH.js → triangle-alert-BOhfGgmh.js} +1 -1
- package/dist/{truck-DX3lNQkz.js → truck-CtDjNFbi.js} +1 -1
- package/dist/{user-D8EY1uvt.js → user-Dz5TJZFs.js} +1 -1
- package/dist/{users-CfG0J8wP.js → users-g2N0eL-Z.js} +1 -1
- package/dist/{warehouse-Dt_bAr82.js → warehouse-D3WWDeTX.js} +1 -1
- package/dist/{wrench-C50eI_Iy.js → wrench-CmxY1n4I.js} +1 -1
- package/package.json +2 -2
- package/src/movethewheels/components/DataTable.tsx +4 -4
- package/src/movethewheels/components/MetricCard.tsx +49 -20
- package/src/movethewheels/components/PageLayout.tsx +60 -5
- package/src/movethewheels/components/StatusBadge.tsx +2 -1
- package/src/movethewheels/pages/CustomersPage.tsx +13 -12
- package/src/movethewheels/pages/DashboardPage.tsx +55 -48
- package/src/movethewheels/pages/DriversPage.tsx +9 -12
- package/src/movethewheels/pages/FleetPage.tsx +15 -10
- package/src/movethewheels/pages/InventoryPage.tsx +18 -11
- package/src/movethewheels/pages/OrdersListPage.tsx +20 -14
- package/src/movethewheels/pages/ProductsPage.tsx +9 -12
- package/src/movethewheels/pages/RoutesPage.tsx +12 -9
- package/src/movethewheels/pages/TrackingPage.tsx +2 -2
- package/src/movethewheels/pages/VehiclesPage.tsx +9 -15
- package/src/movethewheels/pages/WarehousesPage.tsx +8 -9
- package/dist/CustomersPage-d21ixOYa.js +0 -119
- package/dist/DriversPage-BOhqEBTv.js +0 -127
- package/dist/MetricCard-DeHVeVwl.js +0 -135
|
@@ -1,38 +1,43 @@
|
|
|
1
|
-
import { M as e, i as t, l as n
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { r as
|
|
7
|
-
import { o as
|
|
8
|
-
import { t as
|
|
9
|
-
import { jsx as
|
|
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 } =
|
|
13
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
17
|
-
headerActions: /* @__PURE__ */ f
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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__ */
|
|
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__ */
|
|
37
|
+
cell: (e) => /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
33
38
|
className: "font-medium",
|
|
34
39
|
children: e.name
|
|
35
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
72
|
+
return /* @__PURE__ */ d("div", {
|
|
68
73
|
className: "flex items-center gap-2",
|
|
69
|
-
children: [/* @__PURE__ */
|
|
74
|
+
children: [/* @__PURE__ */ u(e, {
|
|
70
75
|
value: n,
|
|
71
76
|
className: "w-16 h-2"
|
|
72
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
87
|
+
cell: (e) => /* @__PURE__ */ d("div", {
|
|
83
88
|
className: "text-sm",
|
|
84
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
109
|
+
cell: (e) => /* @__PURE__ */ u(n, {
|
|
105
110
|
variant: e.isActive ? "default" : "secondary",
|
|
106
111
|
children: e.isActive ? "Active" : "Inactive"
|
|
107
112
|
})
|
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-
|
|
2
|
-
import { t as xe } from "./DataTable-
|
|
3
|
-
import { n as Se, t as Ce } from "./route-
|
|
4
|
-
import { t as we } from "./chart-column-
|
|
5
|
-
import { t as Te } from "./dollar-sign-
|
|
6
|
-
import { t as Ee } from "./file-text-
|
|
7
|
-
import { n as De, t as Oe } from "./settings-
|
|
8
|
-
import { t as ke } from "./map-
|
|
9
|
-
import { t as Ae } from "./package-
|
|
10
|
-
import { t as je } from "./store-
|
|
11
|
-
import { t as I } from "./truck-
|
|
12
|
-
import { t as Me } from "./users-
|
|
13
|
-
import { t as L } from "./warehouse-
|
|
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-
|
|
23
|
-
import { a as yt, i as bt, n as xt, r as St, t as Ct } from "./StatusBadge-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-movethewheels",
|
|
3
|
-
"version": "2026.
|
|
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.
|
|
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-
|
|
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-
|
|
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-
|
|
68
|
-
negative: 'text-
|
|
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
|
-
<
|
|
107
|
+
<GlassCard
|
|
108
|
+
treatment={treatment}
|
|
109
|
+
glow={glow}
|
|
102
110
|
className={cn(
|
|
103
|
-
'overflow-hidden
|
|
104
|
-
onClick &&
|
|
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
|
-
<
|
|
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
|
|
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(
|
|
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
|
-
</
|
|
133
|
-
</
|
|
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
|
-
<
|
|
145
|
-
<
|
|
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-
|
|
149
|
-
<div className="h-8 w-32 bg-bg-sunken animate-
|
|
150
|
-
<div className="h-3 w-20 bg-bg-sunken animate-
|
|
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-
|
|
181
|
+
<div className={cn('bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg', styles.icon)} />
|
|
153
182
|
</div>
|
|
154
|
-
</
|
|
155
|
-
</
|
|
183
|
+
</div>
|
|
184
|
+
</GlassCard>
|
|
156
185
|
);
|
|
157
186
|
}
|
|
158
187
|
|