@burdenoff/microfe-movethewheels 2026.703.6 → 2026.703.8

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 (113) hide show
  1. package/dist/{AIAssistantPage-BmILdHgO.js → AIAssistantPage-MWJLAMN_.js} +5 -5
  2. package/dist/{AnalyticsPage-BSlsiSDE.js → AnalyticsPage-900jpV2T.js} +9 -9
  3. package/dist/{CreateOrderPage-DaCgVaO3.js → CreateOrderPage-V8aXfcpN.js} +11 -11
  4. package/dist/{CustomerDetailsPage-DErpbafW.js → CustomerDetailsPage-CHzg75Q5.js} +16 -16
  5. package/dist/{CustomersPage-C1lRU6xs.js → CustomersPage-CwtVspuq.js} +24 -22
  6. package/dist/{DashboardPage-Q5-5EKAU.js → DashboardPage-DiD-cWwD.js} +17 -17
  7. package/dist/DataTable-CmdZd6iV.js +369 -0
  8. package/dist/{DocumentsCard-T9y6cv4-.js → DocumentsCard-y2ybnAlu.js} +4 -4
  9. package/dist/{DriverDetailsPage-DnHGkDC7.js → DriverDetailsPage-DjaXaATQ.js} +14 -14
  10. package/dist/{DriversPage-C0ujWVOn.js → DriversPage-DW-FGPFW.js} +26 -24
  11. package/dist/{FinancePage-CA2XEgsQ.js → FinancePage-DYadOUzC.js} +9 -9
  12. package/dist/{FleetPage-DrvXW7wK.js → FleetPage-P9k4zZqP.js} +10 -10
  13. package/dist/{FormError-CRsMP7TQ.js → FormError-D4T5FWZA.js} +1 -1
  14. package/dist/{ImportExportPage-Cac9HjFx.js → ImportExportPage-BhWGfbH3.js} +6 -6
  15. package/dist/{InventoryPage-Ezf4gqKI.js → InventoryPage-BWikjZMW.js} +10 -10
  16. package/dist/{LiveTrackingPage-CzbVwDqK.js → LiveTrackingPage-UQBWlthJ.js} +10 -10
  17. package/dist/{MarketplacePage-BHDmSQmo.js → MarketplacePage-DMH0HNDH.js} +9 -9
  18. package/dist/{MetricCard-DQlDNqmK.js → MetricCard-CqU5WsyW.js} +2 -2
  19. package/dist/{Notice-GmA7JDR3.js → Notice-BrXJ85dA.js} +2 -2
  20. package/dist/{OrderDetailsPage-CR0Wc1aN.js → OrderDetailsPage-2J4ua0wd.js} +28 -24
  21. package/dist/OrdersListPage-DvICveRv.js +388 -0
  22. package/dist/{PageLayout-DX1Ou6V6.js → PageLayout-j9Zw3wBN.js} +542 -517
  23. package/dist/{ProductDetailsPage-B_ns2MOe.js → ProductDetailsPage-BSjWLrty.js} +9 -9
  24. package/dist/{ProductsPage-c92BsEoA.js → ProductsPage-Bn1U2jTj.js} +21 -19
  25. package/dist/{ReportsPage-CPLXtLT2.js → ReportsPage-MU8F9DQC.js} +9 -9
  26. package/dist/{RouteDetailsPage-DOfcRiFv.js → RouteDetailsPage-CgSY1CTd.js} +18 -18
  27. package/dist/{RoutesPage-BZGublby.js → RoutesPage-Dqd5Don6.js} +19 -17
  28. package/dist/{SettingsPage-5cweX_xh.js → SettingsPage-2a05Sq2k.js} +4 -4
  29. package/dist/{Sparkline-zSXvG6vA.js → Sparkline-DTGdlxUH.js} +1 -1
  30. package/dist/{StatusBadge-oZjownr1.js → StatusBadge-BfiF-nNI.js} +1 -1
  31. package/dist/{TrackingPage-Ln9qVflK.js → TrackingPage-SnjW6qeD.js} +11 -11
  32. package/dist/{VehicleDetailsPage-CrkzE0dN.js → VehicleDetailsPage-CvRMJ2zC.js} +12 -12
  33. package/dist/{VehiclesPage-CTQWH7af.js → VehiclesPage-qxf-1C1B.js} +26 -24
  34. package/dist/{WarehouseDetailsPage-CwDLaG65.js → WarehouseDetailsPage-D0Wyyj1Y.js} +11 -11
  35. package/dist/{WarehousesPage-KW02DvZg.js → WarehousesPage-44Wj7AGT.js} +19 -17
  36. package/dist/{arrow-left-DJDw_Yqv.js → arrow-left-1dVWv2dg.js} +1 -1
  37. package/dist/{arrow-right-Cb2fLTPJ.js → arrow-right-PUCNATnk.js} +1 -1
  38. package/dist/{arrow-up-PxaOIyiT.js → arrow-up-VQuGMABN.js} +1 -1
  39. package/dist/{box-hSJVtvGf.js → box-DW1KNP8j.js} +1 -1
  40. package/dist/{boxes-DDnxEkT5.js → boxes-D6I00XqA.js} +1 -1
  41. package/dist/{chart-column-xXgAZvRl.js → chart-column-BwQ5H9ol.js} +1 -1
  42. package/dist/{charts-CfCwQg6o.js → charts-Dv_zxP7L.js} +2 -2
  43. package/dist/{chevron-left-dhEGJYdh.js → chevron-left-DzNxoaBG.js} +1 -1
  44. package/dist/{chevron-right-Cud2NDvm.js → chevron-right-CKm3ZC1T.js} +1 -1
  45. package/dist/{circle-alert-Rx0p3D5w.js → circle-alert-CtBm6oIb.js} +1 -1
  46. package/dist/{circle-check-BCxRFdFo.js → circle-check-B_Y7FDyR.js} +1 -1
  47. package/dist/{circle-check-big-BcIJ8xjx.js → circle-check-big-H5pLiMBW.js} +1 -1
  48. package/dist/{clock-B2_YxJgB.js → clock-B4-qjGuB.js} +1 -1
  49. package/dist/{dollar-sign-CQmAICv4.js → dollar-sign-CYGHy2oS.js} +1 -1
  50. package/dist/{download-CG4Tponq.js → download-BJonq2ty.js} +1 -1
  51. package/dist/{file-text-CzH-zMub.js → file-text-C-cZx58r.js} +1 -1
  52. package/dist/{filter-C0u2Lwfn.js → filter-B_S6WOqr.js} +1 -1
  53. package/dist/{fuel-C2KELcM-.js → fuel-Cjt6IxKr.js} +1 -1
  54. package/dist/index.js +33 -33
  55. package/dist/{map-FuPu5aTw.js → map-CO0aWUae.js} +1 -1
  56. package/dist/{map-pin-czpLv9uy.js → map-pin-BISLzLwb.js} +1 -1
  57. package/dist/{maps-D9m7PKrs.js → maps-CtfuCAmh.js} +1 -1
  58. package/dist/{navigation-D5_pdCSS.js → navigation-BFki5UJz.js} +1 -1
  59. package/dist/{package-B0sdi6lU.js → package-UyaWiALC.js} +1 -1
  60. package/dist/{phone-V2nuzPu9.js → phone-Bav_V7rR.js} +1 -1
  61. package/dist/{plus-BqQxkfoU.js → plus-Bk_G-lFC.js} +1 -1
  62. package/dist/{refresh-cw-CEOAPEcV.js → refresh-cw-C4-jecjy.js} +1 -1
  63. package/dist/{route-CZWcW-Dw.js → route-WpCP6F1x.js} +1 -1
  64. package/dist/{save-DDFvrxWl.js → save-CcfoIn2J.js} +1 -1
  65. package/dist/{search-D7Ya6jxj.js → search-C3YRxW9e.js} +1 -1
  66. package/dist/{square-pen-DoZZS4Lw.js → square-pen-Dr1X-P2s.js} +1 -1
  67. package/dist/{star-B7PgVu5j.js → star-1Ixfuzai.js} +1 -1
  68. package/dist/{store-YVzcIG4A.js → store-BwU935v5.js} +1 -1
  69. package/dist/{trash-2-BegnBzwI.js → trash-2-CC4KugEJ.js} +1 -1
  70. package/dist/{trending-up-DBd3XNdb.js → trending-up-1brglj1E.js} +1 -1
  71. package/dist/{triangle-alert-Bxk3Kgs6.js → triangle-alert-Dh56Yu3-.js} +1 -1
  72. package/dist/{truck-Clrn0oHp.js → truck-DxhtLfkG.js} +1 -1
  73. package/dist/{upload-Df5JmMwH.js → upload-CLf0JLXW.js} +1 -1
  74. package/dist/{useAssistant-Cb8nnIVC.js → useAssistant-B9qBtRKm.js} +1 -1
  75. package/dist/{useCustomers-Dq2IR2HQ.js → useCustomers-BQ4AIEAT.js} +1 -1
  76. package/dist/{useFleet-CapnWBcA.js → useFleet-BXSocBD_.js} +1 -1
  77. package/dist/{useImportExport-BoGzrlJy.js → useImportExport-7-O8noRJ.js} +1 -1
  78. package/dist/{useInventory-Ci6M2d9f.js → useInventory-DmZficcp.js} +1 -1
  79. package/dist/{useOrders-BuQU1OHX.js → useOrders-B5FV0kcz.js} +1 -1
  80. package/dist/{useReports-DIx8W7CO.js → useReports-hUXb8ryJ.js} +1 -1
  81. package/dist/{useRoutes-D7EvI_pm.js → useRoutes-C_ZCYJ_h.js} +1 -1
  82. package/dist/{useSettings-BhX251UQ.js → useSettings-CteNasBE.js} +1 -1
  83. package/dist/{useTracking-C40jmZ6W.js → useTracking-B7ttexRe.js} +3 -3
  84. package/dist/{user-BlcJrbtE.js → user-B1IjWJtn.js} +1 -1
  85. package/dist/{user-check-DtnQmimP.js → user-check-Cx6fHHll.js} +1 -1
  86. package/dist/{users-Cvwko-Dx.js → users-BKmsb79k.js} +1 -1
  87. package/dist/{warehouse-LWLVTk6G.js → warehouse-DE1irFyJ.js} +1 -1
  88. package/dist/{wrench-Cme0RbyR.js → wrench-DTJGFs17.js} +1 -1
  89. package/dist/{x-D8C9Pg5V.js → x-CvsUGJy1.js} +1 -1
  90. package/package.json +1 -1
  91. package/src/movethewheels/components/DataTable.tsx +40 -0
  92. package/src/movethewheels/components/GlassPanel.tsx +1 -3
  93. package/src/movethewheels/components/MetricCard.tsx +16 -3
  94. package/src/movethewheels/components/charts/StatusDonut.tsx +2 -6
  95. package/src/movethewheels/components/charts/TrendChart.tsx +2 -6
  96. package/src/movethewheels/components/maps/LogisticsMap.tsx +1 -4
  97. package/src/movethewheels/components/maps/RouteMap.tsx +3 -5
  98. package/src/movethewheels/components/maps/TrackingMap.tsx +11 -2
  99. package/src/movethewheels/pages/CustomerDetailsPage.tsx +3 -2
  100. package/src/movethewheels/pages/CustomersPage.tsx +3 -1
  101. package/src/movethewheels/pages/DriverDetailsPage.tsx +2 -2
  102. package/src/movethewheels/pages/DriversPage.tsx +3 -1
  103. package/src/movethewheels/pages/OrderDetailsPage.tsx +2 -1
  104. package/src/movethewheels/pages/OrdersListPage.tsx +3 -1
  105. package/src/movethewheels/pages/ProductsPage.tsx +3 -1
  106. package/src/movethewheels/pages/RoutesPage.tsx +3 -1
  107. package/src/movethewheels/pages/VehicleDetailsPage.tsx +2 -2
  108. package/src/movethewheels/pages/VehiclesPage.tsx +12 -2
  109. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +3 -1
  110. package/src/movethewheels/pages/WarehousesPage.tsx +3 -1
  111. package/src/movethewheels/utils/graphqlClient.ts +103 -8
  112. package/dist/DataTable-KjzbwnRL.js +0 -340
  113. package/dist/OrdersListPage-C8Bu6wXM.js +0 -386
@@ -1,8 +1,8 @@
1
- import { A as e, N as t, d as n, f as r, g as i, h as a, i as o, l as s, u as c, ut as l } from "./PageLayout-DX1Ou6V6.js";
2
- import { n as u, t as d } from "./useAssistant-Cb8nnIVC.js";
3
- import { t as f } from "./circle-alert-Rx0p3D5w.js";
4
- import { t as p } from "./route-CZWcW-Dw.js";
5
- import { t as m } from "./trending-up-DBd3XNdb.js";
1
+ import { A as e, N as t, d as n, f as r, g as i, h as a, i as o, l as s, u as c, ut as l } from "./PageLayout-j9Zw3wBN.js";
2
+ import { n as u, t as d } from "./useAssistant-B9qBtRKm.js";
3
+ import { t as f } from "./circle-alert-CtBm6oIb.js";
4
+ import { t as p } from "./route-WpCP6F1x.js";
5
+ import { t as m } from "./trending-up-1brglj1E.js";
6
6
  import { useState as h } from "react";
7
7
  import { jsx as g, jsxs as _ } from "react/jsx-runtime";
8
8
  import { GlassCard as v, PagePurpose as y } from "@burdenoff/fe-libs/ui";
@@ -1,12 +1,12 @@
1
- import { M as e, d as t, f as n, g as r, h as i, i as a, u as o } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as s } from "./chart-column-xXgAZvRl.js";
3
- import { t as c } from "./dollar-sign-CQmAICv4.js";
4
- import { t as l } from "./package-B0sdi6lU.js";
5
- import { t as u } from "./star-B7PgVu5j.js";
6
- import { t as d } from "./trending-up-DBd3XNdb.js";
7
- import { t as f } from "./users-Cvwko-Dx.js";
8
- import { l as p, n as m, o as h, r as g, t as _, u as v } from "./charts-CfCwQg6o.js";
9
- import { n as y, r as b, t as x } from "./MetricCard-DQlDNqmK.js";
1
+ import { M as e, d as t, f as n, g as r, h as i, i as a, u as o } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as s } from "./chart-column-BwQ5H9ol.js";
3
+ import { t as c } from "./dollar-sign-CYGHy2oS.js";
4
+ import { t as l } from "./package-UyaWiALC.js";
5
+ import { t as u } from "./star-1Ixfuzai.js";
6
+ import { t as d } from "./trending-up-1brglj1E.js";
7
+ import { t as f } from "./users-BKmsb79k.js";
8
+ import { l as p, n as m, o as h, r as g, t as _, u as v } from "./charts-Dv_zxP7L.js";
9
+ import { n as y, r as b, t as x } from "./MetricCard-CqU5WsyW.js";
10
10
  import { n as S } from "./formatters-FWJDwTFv.js";
11
11
  import { useMemo as C } from "react";
12
12
  import { jsx as w, jsxs as T } from "react/jsx-runtime";
@@ -1,14 +1,14 @@
1
- import { A as e, F as t, I as n, L as r, P as i, Q as a, R as o, d as s, f as c, g as l, h as u, i as d, j as f, lt as p, st as m, t as h, u as g, z as _ } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as v } from "./arrow-left-DJDw_Yqv.js";
3
- import { t as y } from "./map-pin-czpLv9uy.js";
4
- import { t as b } from "./package-B0sdi6lU.js";
5
- import { t as x } from "./plus-BqQxkfoU.js";
6
- import { t as S } from "./save-DDFvrxWl.js";
7
- import { t as C } from "./trash-2-BegnBzwI.js";
8
- import { t as w } from "./users-Cvwko-Dx.js";
9
- import { r as T, t as ee } from "./useOrders-BuQU1OHX.js";
10
- import { r as te } from "./useCustomers-Dq2IR2HQ.js";
11
- import { t as E } from "./FormError-CRsMP7TQ.js";
1
+ import { A as e, F as t, I as n, L as r, P as i, Q as a, R as o, d as s, f as c, g as l, h as u, i as d, j as f, lt as p, st as m, t as h, u as g, z as _ } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as v } from "./arrow-left-1dVWv2dg.js";
3
+ import { t as y } from "./map-pin-BISLzLwb.js";
4
+ import { t as b } from "./package-UyaWiALC.js";
5
+ import { t as x } from "./plus-Bk_G-lFC.js";
6
+ import { t as S } from "./save-CcfoIn2J.js";
7
+ import { t as C } from "./trash-2-CC4KugEJ.js";
8
+ import { t as w } from "./users-BKmsb79k.js";
9
+ import { r as T, t as ee } from "./useOrders-B5FV0kcz.js";
10
+ import { r as te } from "./useCustomers-BQ4AIEAT.js";
11
+ import { t as E } from "./FormError-D4T5FWZA.js";
12
12
  import { useState as D } from "react";
13
13
  import { useParams as O } from "react-router-dom";
14
14
  import { jsx as k, jsxs as A } from "react/jsx-runtime";
@@ -1,19 +1,19 @@
1
- import { A as e, F as t, I as n, L as r, P as i, R as a, d as o, f as s, g as c, h as l, i as u, j as d, l as f, lt as p, n as m, r as h, st as g, u as _, ut as v } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as y } from "./arrow-left-DJDw_Yqv.js";
3
- import { t as b } from "./file-text-CzH-zMub.js";
4
- import { n as x, t as S } from "./Notice-GmA7JDR3.js";
5
- import { n as ee, t as te } from "./phone-V2nuzPu9.js";
6
- import { t as ne } from "./map-pin-czpLv9uy.js";
7
- import { t as C } from "./package-B0sdi6lU.js";
8
- import { t as w } from "./save-DDFvrxWl.js";
9
- import { t as T } from "./square-pen-DoZZS4Lw.js";
10
- import { t as re } from "./star-B7PgVu5j.js";
11
- import { t as E } from "./users-Cvwko-Dx.js";
12
- import { t as ie } from "./x-D8C9Pg5V.js";
13
- import { r as ae } from "./useOrders-BuQU1OHX.js";
14
- import { r as D, t as O } from "./useCustomers-Dq2IR2HQ.js";
15
- import { i as k, r as oe } from "./StatusBadge-oZjownr1.js";
16
- import { t as A } from "./FormError-CRsMP7TQ.js";
1
+ import { A as e, F as t, I as n, L as r, P as i, R as a, d as o, f as s, g as c, h as l, i as u, j as d, l as f, lt as p, n as m, r as h, st as g, u as _, ut as v } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as y } from "./arrow-left-1dVWv2dg.js";
3
+ import { t as b } from "./file-text-C-cZx58r.js";
4
+ import { n as x, t as S } from "./Notice-BrXJ85dA.js";
5
+ import { n as ee, t as te } from "./phone-Bav_V7rR.js";
6
+ import { t as ne } from "./map-pin-BISLzLwb.js";
7
+ import { t as C } from "./package-UyaWiALC.js";
8
+ import { t as w } from "./save-CcfoIn2J.js";
9
+ import { t as T } from "./square-pen-Dr1X-P2s.js";
10
+ import { t as re } from "./star-1Ixfuzai.js";
11
+ import { t as E } from "./users-BKmsb79k.js";
12
+ import { t as ie } from "./x-CvsUGJy1.js";
13
+ import { r as ae } from "./useOrders-B5FV0kcz.js";
14
+ import { r as D, t as O } from "./useCustomers-BQ4AIEAT.js";
15
+ import { i as k, r as oe } from "./StatusBadge-BfiF-nNI.js";
16
+ import { t as A } from "./FormError-D4T5FWZA.js";
17
17
  import { n as se, r as j, t as ce } from "./formatters-FWJDwTFv.js";
18
18
  import { useEffect as le, useState as M } from "react";
19
19
  import { useParams as ue } from "react-router-dom";
@@ -1,14 +1,14 @@
1
- import { i as e, l as t, lt as n, o as r, s as i, st as a, u as o, ut as s } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as c } from "./DataTable-KjzbwnRL.js";
3
- import { t as l } from "./download-CG4Tponq.js";
4
- import { t as u } from "./plus-BqQxkfoU.js";
5
- import { t as d } from "./refresh-cw-CEOAPEcV.js";
6
- import { t as f } from "./star-B7PgVu5j.js";
7
- import { t as p } from "./user-check-DtnQmimP.js";
8
- import { t as m } from "./users-Cvwko-Dx.js";
9
- import { n as h, r as g } from "./useCustomers-Dq2IR2HQ.js";
10
- import { r as _, t as v } from "./MetricCard-DQlDNqmK.js";
11
- import { i as y } from "./StatusBadge-oZjownr1.js";
1
+ import { i as e, l as t, lt as n, o as r, s as i, st as a, u as o, ut as s } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as c } from "./DataTable-CmdZd6iV.js";
3
+ import { t as l } from "./download-BJonq2ty.js";
4
+ import { t as u } from "./plus-Bk_G-lFC.js";
5
+ import { t as d } from "./refresh-cw-C4-jecjy.js";
6
+ import { t as f } from "./star-1Ixfuzai.js";
7
+ import { t as p } from "./user-check-Cx6fHHll.js";
8
+ import { t as m } from "./users-BKmsb79k.js";
9
+ import { n as h, r as g } from "./useCustomers-BQ4AIEAT.js";
10
+ import { r as _, t as v } from "./MetricCard-CqU5WsyW.js";
11
+ import { i as y } from "./StatusBadge-BfiF-nNI.js";
12
12
  import { r as b } from "./formatters-FWJDwTFv.js";
13
13
  import { useState as x } from "react";
14
14
  import { jsx as S, jsxs as C } from "react/jsx-runtime";
@@ -47,28 +47,28 @@ var E = s("Building2", [
47
47
  //#endregion
48
48
  //#region src/movethewheels/pages/CustomersPage.tsx
49
49
  function D() {
50
- let { basePath: s, navigate: D } = a(), [O, k] = x(0), [A, j] = x(25), { customers: M, hasMore: N, isLoading: P, refetch: F } = g({
50
+ let { basePath: s, navigate: D } = a(), [O, k] = x(0), [A, j] = x(25), { customers: M, hasMore: N, isLoading: P, error: F, refetch: I } = g({
51
51
  limit: A,
52
52
  offset: O * A
53
- }), { stats: I } = h(), L = (e) => D?.(n(s, e));
53
+ }), { stats: L } = h(), R = (e) => D?.(n(s, e));
54
54
  return /* @__PURE__ */ C(e, {
55
55
  title: "Customers",
56
- subtitle: `${I.total} customers`,
56
+ subtitle: `${L.total} customers`,
57
57
  icon: /* @__PURE__ */ S(m, { size: 24 }),
58
58
  headerActions: /* @__PURE__ */ S(w, {
59
59
  primary: {
60
60
  label: "Add Customer",
61
61
  icon: /* @__PURE__ */ S(u, { size: 16 }),
62
- onSelect: () => L("customers/new")
62
+ onSelect: () => R("customers/new")
63
63
  },
64
64
  actions: [{
65
65
  label: "Refresh",
66
66
  icon: /* @__PURE__ */ S(d, { size: 16 }),
67
- onSelect: () => F()
67
+ onSelect: () => I()
68
68
  }, {
69
69
  label: "Export",
70
70
  icon: /* @__PURE__ */ S(l, { size: 16 }),
71
- onSelect: () => L("import-export")
71
+ onSelect: () => R("import-export")
72
72
  }]
73
73
  }),
74
74
  children: [
@@ -84,20 +84,20 @@ function D() {
84
84
  children: [
85
85
  /* @__PURE__ */ S(v, {
86
86
  label: "Total customers",
87
- value: I.total,
87
+ value: L.total,
88
88
  icon: /* @__PURE__ */ S(m, { size: 20 }),
89
89
  accent: "brand"
90
90
  }),
91
91
  /* @__PURE__ */ S(v, {
92
92
  label: "Active",
93
- value: I.active,
93
+ value: L.active,
94
94
  icon: /* @__PURE__ */ S(p, { size: 20 }),
95
95
  accent: "success",
96
96
  subtitle: "Currently transacting"
97
97
  }),
98
98
  /* @__PURE__ */ S(v, {
99
99
  label: "Business accounts",
100
- value: I.b2b,
100
+ value: L.b2b,
101
101
  icon: /* @__PURE__ */ S(E, { size: 20 }),
102
102
  accent: "blue",
103
103
  subtitle: "B2B relationships"
@@ -171,6 +171,8 @@ function D() {
171
171
  ],
172
172
  data: M,
173
173
  isLoading: P,
174
+ error: F,
175
+ onRetry: I,
174
176
  searchable: !0,
175
177
  searchPlaceholder: "Search customers...",
176
178
  searchFields: [
@@ -178,7 +180,7 @@ function D() {
178
180
  "email",
179
181
  "company"
180
182
  ],
181
- onRowClick: (e) => L(`customers/${e.id}`),
183
+ onRowClick: (e) => R(`customers/${e.id}`),
182
184
  getRowId: (e) => e.id,
183
185
  pageIndex: O,
184
186
  pageSize: A,
@@ -191,7 +193,7 @@ function D() {
191
193
  emptyTitle: "No customers yet",
192
194
  emptyDescription: "Add your first customer to start booking deliveries for them.",
193
195
  emptyAction: /* @__PURE__ */ C(o, {
194
- onClick: () => L("customers/new"),
196
+ onClick: () => R("customers/new"),
195
197
  children: [/* @__PURE__ */ S(u, {
196
198
  size: 16,
197
199
  className: "mr-1.5"
@@ -1,20 +1,20 @@
1
- import { M as e, a as t, d as n, f as r, g as i, h as a, i as o, l as s, lt as c, st as l, u, ut as d } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as f } from "./chevron-right-Cud2NDvm.js";
3
- import { t as p } from "./clock-B2_YxJgB.js";
4
- import { t as ee } from "./dollar-sign-CQmAICv4.js";
5
- import { t as m } from "./map-pin-czpLv9uy.js";
6
- import { t as h } from "./package-B0sdi6lU.js";
7
- import { t as g } from "./trending-up-DBd3XNdb.js";
8
- import { t as _ } from "./triangle-alert-Bxk3Kgs6.js";
9
- import { t as v } from "./truck-Clrn0oHp.js";
10
- import { t as y } from "./users-Cvwko-Dx.js";
11
- import { n as b, r as te } from "./useOrders-BuQU1OHX.js";
12
- import { i as ne } from "./useFleet-CapnWBcA.js";
13
- import { n as re, o as ie, s as ae } from "./charts-CfCwQg6o.js";
14
- import { o as oe, r as se } from "./useTracking-C40jmZ6W.js";
15
- import { r as x, t as S } from "./MetricCard-DQlDNqmK.js";
16
- import { r as C } from "./maps-D9m7PKrs.js";
17
- import { r as w } from "./StatusBadge-oZjownr1.js";
1
+ import { M as e, a as t, d as n, f as r, g as i, h as a, i as o, l as s, lt as c, st as l, u, ut as d } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as f } from "./chevron-right-CKm3ZC1T.js";
3
+ import { t as p } from "./clock-B4-qjGuB.js";
4
+ import { t as ee } from "./dollar-sign-CYGHy2oS.js";
5
+ import { t as m } from "./map-pin-BISLzLwb.js";
6
+ import { t as h } from "./package-UyaWiALC.js";
7
+ import { t as g } from "./trending-up-1brglj1E.js";
8
+ import { t as _ } from "./triangle-alert-Dh56Yu3-.js";
9
+ import { t as v } from "./truck-DxhtLfkG.js";
10
+ import { t as y } from "./users-BKmsb79k.js";
11
+ import { n as b, r as te } from "./useOrders-B5FV0kcz.js";
12
+ import { i as ne } from "./useFleet-BXSocBD_.js";
13
+ import { n as re, o as ie, s as ae } from "./charts-Dv_zxP7L.js";
14
+ import { o as oe, r as se } from "./useTracking-B7ttexRe.js";
15
+ import { r as x, t as S } from "./MetricCard-CqU5WsyW.js";
16
+ import { r as C } from "./maps-CtfuCAmh.js";
17
+ import { r as w } from "./StatusBadge-BfiF-nNI.js";
18
18
  import { n as T, r as E } from "./formatters-FWJDwTFv.js";
19
19
  import { n as D, t as O } from "./mapMarkers-NCV9MRKR.js";
20
20
  import { useMemo as k } from "react";
@@ -0,0 +1,369 @@
1
+ import { A as e, B as t, F as n, G as r, H as i, I as a, K as o, L as ee, P as te, R as ne, U as s, W as c, q as l, rt as u, u as d, ut as f } from "./PageLayout-j9Zw3wBN.js";
2
+ import { n as re, t as ie } from "./arrow-up-VQuGMABN.js";
3
+ import { t as ae } from "./chevron-left-DzNxoaBG.js";
4
+ import { t as p } from "./chevron-right-CKm3ZC1T.js";
5
+ import { t as oe } from "./refresh-cw-C4-jecjy.js";
6
+ import { t as se } from "./search-C3YRxW9e.js";
7
+ import { t as ce } from "./triangle-alert-Dh56Yu3-.js";
8
+ import { useMemo as m, useState as h } from "react";
9
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
10
+ import { IllustratedEmptyState as v } from "@burdenoff/fe-libs/ui";
11
+ //#region node_modules/lucide-react/dist/esm/icons/arrow-up-down.js
12
+ var le = f("ArrowUpDown", [
13
+ ["path", {
14
+ d: "m21 16-4 4-4-4",
15
+ key: "f6ql7i"
16
+ }],
17
+ ["path", {
18
+ d: "M17 20V4",
19
+ key: "1ejh1v"
20
+ }],
21
+ ["path", {
22
+ d: "m3 8 4-4 4 4",
23
+ key: "11wl7u"
24
+ }],
25
+ ["path", {
26
+ d: "M7 4v16",
27
+ key: "1glfcx"
28
+ }]
29
+ ]), y = f("ChevronsLeft", [["path", {
30
+ d: "m11 17-5-5 5-5",
31
+ key: "13zhaf"
32
+ }], ["path", {
33
+ d: "m18 17-5-5 5-5",
34
+ key: "h8a8et"
35
+ }]]), b = f("ChevronsRight", [["path", {
36
+ d: "m6 17 5-5-5-5",
37
+ key: "xnjwq"
38
+ }], ["path", {
39
+ d: "m13 17 5-5-5-5",
40
+ key: "17xmmf"
41
+ }]]);
42
+ //#endregion
43
+ //#region src/movethewheels/components/DataTable.tsx
44
+ function x({ columns: f, data: x, isLoading: ue = !1, error: de = null, onRetry: S, searchable: C = !1, searchPlaceholder: fe = "Search...", searchFields: w, pagination: T = !0, pageSize: E = 10, pageSizeOptions: pe = [
45
+ 10,
46
+ 25,
47
+ 50,
48
+ 100
49
+ ], onRowClick: D, rowClassName: O, emptyMessage: k = "No data found", emptyIllustration: A, emptyTitle: me, emptyDescription: he, emptyAction: ge, className: j, getRowId: M, pageIndex: _e, onPageChange: N, onPageSizeChange: ve, totalItems: P, hasNextPage: ye }) {
50
+ let F = typeof N == "function", I = _e ?? 0, [L, be] = h(""), [R, z] = h(null), [B, V] = h(null), [H, U] = h(1), [W, xe] = h(E), G = F ? E : W, K = m(() => {
51
+ if (!L || !w || w.length === 0) return x;
52
+ let e = L.toLowerCase();
53
+ return x.filter((t) => w.some((n) => {
54
+ let r = t[n];
55
+ return r != null && String(r).toLowerCase().includes(e);
56
+ }));
57
+ }, [
58
+ x,
59
+ L,
60
+ w
61
+ ]), q = m(() => {
62
+ if (!R || !B) return K;
63
+ let e = f.find((e) => e.id === R);
64
+ return e?.accessorKey ? [...K].sort((t, n) => {
65
+ let r = t[e.accessorKey], i = n[e.accessorKey];
66
+ if (r == null) return 1;
67
+ if (i == null) return -1;
68
+ let a = 0;
69
+ return a = typeof r == "string" && typeof i == "string" ? r.localeCompare(i) : typeof r == "number" && typeof i == "number" ? r - i : r instanceof Date && i instanceof Date ? r.getTime() - i.getTime() : String(r).localeCompare(String(i)), B === "asc" ? a : -a;
70
+ }) : K;
71
+ }, [
72
+ K,
73
+ R,
74
+ B,
75
+ f
76
+ ]), J = m(() => {
77
+ if (!T || F) return q;
78
+ let e = (H - 1) * W;
79
+ return q.slice(e, e + W);
80
+ }, [
81
+ q,
82
+ H,
83
+ W,
84
+ T,
85
+ F
86
+ ]), Y = Math.max(1, Math.ceil(q.length / W)), X = typeof P == "number", Z = X ? Math.max(1, Math.ceil(P / G)) : void 0, Se = (e) => {
87
+ R === e ? B === "asc" ? V("desc") : B === "desc" && (z(null), V(null)) : (z(e), V("asc"));
88
+ }, Ce = (e) => R === e ? g(B === "asc" ? ie : re, { className: "w-4 h-4 text-primary" }) : /* @__PURE__ */ g(le, { className: "w-4 h-4 text-text-secondary/50" }), Q = (e, t) => {
89
+ if (t.cell) return t.cell(e);
90
+ if (t.accessorKey) {
91
+ let n = e[t.accessorKey];
92
+ return n == null ? "-" : n instanceof Date ? n.toLocaleDateString() : String(n);
93
+ }
94
+ return "-";
95
+ };
96
+ if (ue) return /* @__PURE__ */ _("div", {
97
+ className: u("space-y-4", j),
98
+ children: [
99
+ C && /* @__PURE__ */ g("div", {
100
+ className: "flex items-center gap-4",
101
+ children: /* @__PURE__ */ g(t, { className: "h-10 w-64" })
102
+ }),
103
+ /* @__PURE__ */ g("div", {
104
+ className: "hidden md:block rounded-card border border-border-seam bg-bg-surface shadow-elevation-1",
105
+ children: /* @__PURE__ */ _(i, { children: [/* @__PURE__ */ g(o, { children: /* @__PURE__ */ g(l, { children: f.map((e) => /* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(t, { className: "h-4 w-20 motion-safe:animate-vc-shimmer" }) }, e.id)) }) }), /* @__PURE__ */ g(s, { children: Array.from({ length: 5 }).map((e, n) => /* @__PURE__ */ g(l, { children: f.map((e) => /* @__PURE__ */ g(c, { children: /* @__PURE__ */ g(t, { className: "h-4 w-full max-w-[100px] motion-safe:animate-vc-shimmer" }) }, e.id)) }, n)) })] })
106
+ }),
107
+ /* @__PURE__ */ g("div", {
108
+ className: "md:hidden space-y-3",
109
+ children: Array.from({ length: 4 }).map((e, n) => /* @__PURE__ */ _("div", {
110
+ className: "rounded-card border border-border-seam bg-bg-surface p-4 shadow-elevation-1",
111
+ children: [/* @__PURE__ */ g(t, { className: "h-4 w-2/3 mb-2 motion-safe:animate-vc-shimmer" }), /* @__PURE__ */ g(t, { className: "h-4 w-1/2 motion-safe:animate-vc-shimmer" })]
112
+ }, n))
113
+ })
114
+ ]
115
+ });
116
+ if (de && x.length === 0) return /* @__PURE__ */ _("div", {
117
+ className: u("flex flex-col items-center justify-center gap-3 rounded-card border border-border-seam bg-bg-surface px-6 py-14 text-center shadow-elevation-1", j),
118
+ children: [
119
+ /* @__PURE__ */ g("div", {
120
+ className: "flex h-12 w-12 items-center justify-center rounded-full bg-status-error-bg text-status-error-text",
121
+ children: /* @__PURE__ */ g(ce, { size: 22 })
122
+ }),
123
+ /* @__PURE__ */ g("p", {
124
+ className: "text-base font-medium text-text-primary",
125
+ children: "Couldn’t load this list"
126
+ }),
127
+ /* @__PURE__ */ g("p", {
128
+ className: "max-w-sm text-sm text-text-secondary",
129
+ children: "The service was briefly unreachable. This is usually momentary — try again."
130
+ }),
131
+ S && /* @__PURE__ */ _(d, {
132
+ variant: "outline",
133
+ size: "sm",
134
+ onClick: S,
135
+ className: "mt-1",
136
+ children: [/* @__PURE__ */ g(oe, {
137
+ size: 14,
138
+ className: "mr-1.5"
139
+ }), "Retry"]
140
+ })
141
+ ]
142
+ });
143
+ let $ = J.length === 0, we = () => A ? L ? /* @__PURE__ */ g(v, {
144
+ illustration: "empty-search",
145
+ title: "No matches",
146
+ description: `Nothing matches “${L}”. Try a different search.`
147
+ }) : /* @__PURE__ */ g(v, {
148
+ illustration: A,
149
+ title: me ?? k,
150
+ description: he,
151
+ action: ge
152
+ }) : /* @__PURE__ */ g("p", {
153
+ className: "text-text-secondary",
154
+ children: k
155
+ }), Te = T && (F ? q.length > 0 || I > 0 : q.length > 0);
156
+ return /* @__PURE__ */ _("div", {
157
+ className: u("space-y-4", j),
158
+ children: [
159
+ C && /* @__PURE__ */ g("div", {
160
+ className: "flex items-center gap-4",
161
+ children: /* @__PURE__ */ _("div", {
162
+ className: "relative flex-1 max-w-sm",
163
+ children: [/* @__PURE__ */ g(se, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-text-secondary" }), /* @__PURE__ */ g(e, {
164
+ placeholder: fe,
165
+ value: L,
166
+ onChange: (e) => {
167
+ be(e.target.value), U(1);
168
+ },
169
+ className: "pl-9"
170
+ })]
171
+ })
172
+ }),
173
+ /* @__PURE__ */ g("div", {
174
+ className: "hidden md:block overflow-x-auto rounded-card border border-border-seam bg-bg-surface shadow-elevation-1",
175
+ children: /* @__PURE__ */ _(i, { children: [/* @__PURE__ */ g(o, { children: /* @__PURE__ */ g(l, { children: f.map((e) => /* @__PURE__ */ g(r, {
176
+ className: u(e.sortable && "cursor-pointer select-none hover:bg-bg-sunken/50", e.headerClassName),
177
+ onClick: () => e.sortable && Se(e.id),
178
+ children: /* @__PURE__ */ _("div", {
179
+ className: "flex items-center gap-2",
180
+ children: [e.header, e.sortable && Ce(e.id)]
181
+ })
182
+ }, e.id)) }) }), /* @__PURE__ */ g(s, { children: $ ? /* @__PURE__ */ g(l, { children: /* @__PURE__ */ g(c, {
183
+ colSpan: f.length,
184
+ className: "py-8 text-center",
185
+ children: we()
186
+ }) }) : J.map((e, t) => {
187
+ let n = M ? M(e) : t, r = typeof O == "function" ? O(e) : O;
188
+ return /* @__PURE__ */ g(l, {
189
+ className: u(D && "cursor-pointer hover:bg-bg-sunken/50", r),
190
+ onClick: () => D?.(e),
191
+ children: f.map((t) => /* @__PURE__ */ g(c, {
192
+ className: t.className,
193
+ children: Q(e, t)
194
+ }, t.id))
195
+ }, n);
196
+ }) })] })
197
+ }),
198
+ /* @__PURE__ */ g("div", {
199
+ className: "md:hidden space-y-3",
200
+ children: $ ? /* @__PURE__ */ g("div", {
201
+ className: "rounded-card border border-border-seam bg-bg-surface p-6 text-center shadow-elevation-1",
202
+ children: we()
203
+ }) : J.map((e, t) => {
204
+ let n = M ? M(e) : t, r = typeof O == "function" ? O(e) : O;
205
+ return /* @__PURE__ */ g("div", {
206
+ role: D ? "button" : void 0,
207
+ tabIndex: D ? 0 : void 0,
208
+ className: u("rounded-card border border-border-seam bg-bg-surface p-4 shadow-elevation-1", D && "cursor-pointer hover:bg-bg-sunken/50", r),
209
+ onClick: () => D?.(e),
210
+ onKeyDown: (t) => {
211
+ D && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), D(e));
212
+ },
213
+ children: /* @__PURE__ */ g("dl", {
214
+ className: "space-y-2",
215
+ children: f.map((t) => /* @__PURE__ */ _("div", {
216
+ className: "flex items-start justify-between gap-3",
217
+ children: [/* @__PURE__ */ g("dt", {
218
+ className: "text-xs font-medium text-text-secondary shrink-0",
219
+ children: t.header
220
+ }), /* @__PURE__ */ g("dd", {
221
+ className: "text-sm text-right min-w-0",
222
+ children: Q(e, t)
223
+ })]
224
+ }, t.id))
225
+ })
226
+ }, n);
227
+ })
228
+ }),
229
+ Te && /* @__PURE__ */ _("div", {
230
+ className: "flex flex-wrap items-center justify-between gap-3",
231
+ children: [/* @__PURE__ */ _("div", {
232
+ className: "flex flex-wrap items-center gap-2 text-sm text-text-secondary",
233
+ children: [
234
+ F ? /* @__PURE__ */ _("span", { children: [
235
+ "Showing ",
236
+ q.length === 0 ? 0 : I * G + 1,
237
+ " to",
238
+ " ",
239
+ I * G + q.length,
240
+ X ? ` of ${P}` : ""
241
+ ] }) : /* @__PURE__ */ _("span", { children: [
242
+ "Showing ",
243
+ (H - 1) * W + 1,
244
+ " to",
245
+ " ",
246
+ Math.min(H * W, q.length),
247
+ " of ",
248
+ q.length
249
+ ] }),
250
+ /* @__PURE__ */ _(te, {
251
+ value: String(G),
252
+ onValueChange: (e) => {
253
+ let t = Number(e);
254
+ F ? ve?.(t) : (xe(t), U(1));
255
+ },
256
+ children: [/* @__PURE__ */ g(ee, {
257
+ className: "w-[70px] h-8",
258
+ children: /* @__PURE__ */ g(ne, {})
259
+ }), /* @__PURE__ */ g(n, { children: pe.map((e) => /* @__PURE__ */ g(a, {
260
+ value: String(e),
261
+ children: e
262
+ }, e)) })]
263
+ }),
264
+ /* @__PURE__ */ g("span", { children: "per page" })
265
+ ]
266
+ }), F ? /* @__PURE__ */ _("div", {
267
+ className: "flex items-center gap-1",
268
+ children: [
269
+ /* @__PURE__ */ g(d, {
270
+ variant: "outline",
271
+ size: "icon",
272
+ className: "h-8 w-8",
273
+ "aria-label": "First page",
274
+ onClick: () => N?.(0),
275
+ disabled: I === 0,
276
+ children: /* @__PURE__ */ g(y, { className: "h-4 w-4" })
277
+ }),
278
+ /* @__PURE__ */ g(d, {
279
+ variant: "outline",
280
+ size: "icon",
281
+ className: "h-8 w-8",
282
+ "aria-label": "Previous page",
283
+ onClick: () => N?.(Math.max(0, I - 1)),
284
+ disabled: I === 0,
285
+ children: /* @__PURE__ */ g(ae, { className: "h-4 w-4" })
286
+ }),
287
+ /* @__PURE__ */ _("span", {
288
+ className: "px-3 text-sm",
289
+ children: [
290
+ "Page ",
291
+ I + 1,
292
+ X ? ` of ${Z}` : ""
293
+ ]
294
+ }),
295
+ /* @__PURE__ */ g(d, {
296
+ variant: "outline",
297
+ size: "icon",
298
+ className: "h-8 w-8",
299
+ "aria-label": "Next page",
300
+ onClick: () => N?.(I + 1),
301
+ disabled: X ? I + 1 >= (Z ?? 1) : !ye,
302
+ children: /* @__PURE__ */ g(p, { className: "h-4 w-4" })
303
+ }),
304
+ X && /* @__PURE__ */ g(d, {
305
+ variant: "outline",
306
+ size: "icon",
307
+ className: "h-8 w-8",
308
+ "aria-label": "Last page",
309
+ onClick: () => N?.((Z ?? 1) - 1),
310
+ disabled: I + 1 >= (Z ?? 1),
311
+ children: /* @__PURE__ */ g(b, { className: "h-4 w-4" })
312
+ })
313
+ ]
314
+ }) : /* @__PURE__ */ _("div", {
315
+ className: "flex items-center gap-1",
316
+ children: [
317
+ /* @__PURE__ */ g(d, {
318
+ variant: "outline",
319
+ size: "icon",
320
+ className: "h-8 w-8",
321
+ "aria-label": "First page",
322
+ onClick: () => U(1),
323
+ disabled: H === 1,
324
+ children: /* @__PURE__ */ g(y, { className: "h-4 w-4" })
325
+ }),
326
+ /* @__PURE__ */ g(d, {
327
+ variant: "outline",
328
+ size: "icon",
329
+ className: "h-8 w-8",
330
+ "aria-label": "Previous page",
331
+ onClick: () => U((e) => Math.max(1, e - 1)),
332
+ disabled: H === 1,
333
+ children: /* @__PURE__ */ g(ae, { className: "h-4 w-4" })
334
+ }),
335
+ /* @__PURE__ */ _("span", {
336
+ className: "px-3 text-sm",
337
+ children: [
338
+ "Page ",
339
+ H,
340
+ " of ",
341
+ Y
342
+ ]
343
+ }),
344
+ /* @__PURE__ */ g(d, {
345
+ variant: "outline",
346
+ size: "icon",
347
+ className: "h-8 w-8",
348
+ "aria-label": "Next page",
349
+ onClick: () => U((e) => Math.min(Y, e + 1)),
350
+ disabled: H === Y,
351
+ children: /* @__PURE__ */ g(p, { className: "h-4 w-4" })
352
+ }),
353
+ /* @__PURE__ */ g(d, {
354
+ variant: "outline",
355
+ size: "icon",
356
+ className: "h-8 w-8",
357
+ "aria-label": "Last page",
358
+ onClick: () => U(Y),
359
+ disabled: H === Y,
360
+ children: /* @__PURE__ */ g(b, { className: "h-4 w-4" })
361
+ })
362
+ ]
363
+ })]
364
+ })
365
+ ]
366
+ });
367
+ }
368
+ //#endregion
369
+ export { x as t };
@@ -1,7 +1,7 @@
1
- import { at as e, d as t, f as n, g as r, h as i, st as a, u as o, ut as s } from "./PageLayout-DX1Ou6V6.js";
2
- import { t as c } from "./download-CG4Tponq.js";
3
- import { t as l } from "./file-text-CzH-zMub.js";
4
- import { t as u } from "./upload-Df5JmMwH.js";
1
+ import { at as e, d as t, f as n, g as r, h as i, st as a, u as o, ut as s } from "./PageLayout-j9Zw3wBN.js";
2
+ import { t as c } from "./download-BJonq2ty.js";
3
+ import { t as l } from "./file-text-C-cZx58r.js";
4
+ import { t as u } from "./upload-CLf0JLXW.js";
5
5
  import { r as d } from "./formatters-FWJDwTFv.js";
6
6
  import { useCallback as f, useEffect as p, useMemo as m, useState as h } from "react";
7
7
  import { jsx as g, jsxs as _ } from "react/jsx-runtime";