@burdenoff/microfe-movethewheels 2026.1030.1 → 2026.1031.2

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 (44) hide show
  1. package/dist/components/ExportStatusBanner.js +53 -0
  2. package/dist/components/ShipmentRiskDialog.js +228 -0
  3. package/dist/components/TrackingAlertList.js +149 -0
  4. package/dist/generated/tracking-quality-operations.d.ts +1070 -2
  5. package/dist/generated/wspace-types.d.ts +2895 -50
  6. package/dist/hooks/useEntityExport.js +85 -0
  7. package/dist/hooks/useShipmentRisk.js +72 -0
  8. package/dist/hooks/useTracking.js +96 -82
  9. package/dist/movethewheels/components/ExportStatusBanner.d.ts +7 -0
  10. package/dist/movethewheels/components/ShipmentRiskDialog.d.ts +20 -0
  11. package/dist/movethewheels/components/TrackingAlertList.d.ts +14 -0
  12. package/dist/movethewheels/hooks/useEntityExport.d.ts +32 -0
  13. package/dist/movethewheels/hooks/useShipmentRisk.d.ts +41 -0
  14. package/dist/movethewheels/types/index.d.ts +15 -1
  15. package/dist/movethewheels/utils/entityExport.d.ts +64 -0
  16. package/dist/movethewheels/utils/trackingAlerts.d.ts +36 -0
  17. package/dist/pages/CustomersPage.js +64 -58
  18. package/dist/pages/DashboardPage.js +147 -151
  19. package/dist/pages/DriversPage.js +113 -107
  20. package/dist/pages/LiveTrackingPage.js +169 -169
  21. package/dist/pages/OrdersListPage.js +85 -79
  22. package/dist/pages/ProductsPage.js +63 -57
  23. package/dist/pages/VehiclesPage.js +91 -85
  24. package/dist/utils/entityExport.js +54 -0
  25. package/dist/utils/trackingAlerts.js +86 -0
  26. package/package.json +4 -2
  27. package/src/generated/tracking-quality-operations.ts +1409 -13
  28. package/src/generated/wspace-types.ts +3248 -51
  29. package/src/movethewheels/components/ExportStatusBanner.tsx +78 -0
  30. package/src/movethewheels/components/ShipmentRiskDialog.tsx +315 -0
  31. package/src/movethewheels/components/TrackingAlertList.tsx +188 -0
  32. package/src/movethewheels/hooks/useEntityExport.ts +130 -0
  33. package/src/movethewheels/hooks/useShipmentRisk.ts +195 -0
  34. package/src/movethewheels/hooks/useTracking.ts +66 -22
  35. package/src/movethewheels/pages/CustomersPage.tsx +11 -2
  36. package/src/movethewheels/pages/DashboardPage.tsx +10 -20
  37. package/src/movethewheels/pages/DriversPage.tsx +11 -2
  38. package/src/movethewheels/pages/LiveTrackingPage.tsx +20 -22
  39. package/src/movethewheels/pages/OrdersListPage.tsx +13 -2
  40. package/src/movethewheels/pages/ProductsPage.tsx +11 -2
  41. package/src/movethewheels/pages/VehiclesPage.tsx +11 -2
  42. package/src/movethewheels/types/index.ts +16 -1
  43. package/src/movethewheels/utils/entityExport.ts +140 -0
  44. package/src/movethewheels/utils/trackingAlerts.ts +151 -0
@@ -0,0 +1,53 @@
1
+ import { CircleAlert as e } from "../node_modules/lucide-react/dist/esm/icons/circle-alert.js";
2
+ import { CircleCheckBig as t } from "../node_modules/lucide-react/dist/esm/icons/circle-check-big.js";
3
+ import { Info as n } from "../node_modules/lucide-react/dist/esm/icons/info.js";
4
+ import { LoaderCircle as r } from "../node_modules/lucide-react/dist/esm/icons/loader-circle.js";
5
+ import { X as i } from "../node_modules/lucide-react/dist/esm/icons/x.js";
6
+ import { useMoveTheWheels as a } from "../providers/MoveTheWheelsProvider.js";
7
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ //#region src/movethewheels/components/ExportStatusBanner.tsx
9
+ var l = "/export";
10
+ function u({ state: u, onDismiss: d }) {
11
+ let { navigate: f } = a();
12
+ if (u.phase === "idle") return null;
13
+ let p = u.phase === "error" ? "border-status-error-border bg-status-error-bg-subtle text-status-error-text" : u.phase === "ready" ? "border-status-success-border bg-status-success-bg-subtle text-status-success-text" : "border-status-info-border bg-status-info-bg-subtle text-status-info-text", m = u.phase === "error" ? /* @__PURE__ */ s(e, {
14
+ size: 18,
15
+ className: "mt-0.5 shrink-0"
16
+ }) : u.phase === "ready" ? /* @__PURE__ */ s(t, {
17
+ size: 18,
18
+ className: "mt-0.5 shrink-0"
19
+ }) : u.phase === "running" ? /* @__PURE__ */ s(r, {
20
+ size: 18,
21
+ className: "mt-0.5 shrink-0 animate-spin"
22
+ }) : /* @__PURE__ */ s(n, {
23
+ size: 18,
24
+ className: "mt-0.5 shrink-0"
25
+ });
26
+ return /* @__PURE__ */ c("div", {
27
+ role: u.phase === "error" ? "alert" : "status",
28
+ "data-testid": "mtw-export-status",
29
+ "data-phase": u.phase,
30
+ className: `flex items-start gap-2 rounded-lg border px-4 py-3 text-sm ${p}`,
31
+ children: [
32
+ m,
33
+ /* @__PURE__ */ c("span", {
34
+ className: "flex-1",
35
+ children: [u.message, u.phase === "pending" ? /* @__PURE__ */ c(o, { children: [" ", /* @__PURE__ */ s("button", {
36
+ type: "button",
37
+ className: "font-medium underline underline-offset-2",
38
+ onClick: () => f(`${l}/${u.jobId}`),
39
+ children: "Open Exports"
40
+ })] }) : null]
41
+ }),
42
+ u.phase === "running" ? null : /* @__PURE__ */ s("button", {
43
+ type: "button",
44
+ "aria-label": "Dismiss export status",
45
+ className: "shrink-0 opacity-70 hover:opacity-100",
46
+ onClick: d,
47
+ children: /* @__PURE__ */ s(i, { size: 16 })
48
+ })
49
+ ]
50
+ });
51
+ }
52
+ //#endregion
53
+ export { u as ExportStatusBanner };
@@ -0,0 +1,228 @@
1
+ import { formatSlip as e, riskSignalLabel as t } from "../utils/trackingAlerts.js";
2
+ import { Badge as n, Button as r, Dialog as i, DialogContent as a, DialogDescription as o, DialogHeader as s, DialogTitle as c, Skeleton as l, Textarea as u } from "./ui.js";
3
+ import { formatDateTime as d } from "../utils/formatters.js";
4
+ import { useShipmentRisk as f } from "../hooks/useShipmentRisk.js";
5
+ import { useEffect as p, useState as m } from "react";
6
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
7
+ //#region src/movethewheels/components/ShipmentRiskDialog.tsx
8
+ var _ = {
9
+ NONE: {
10
+ key: "movethewheels.risk.level.none",
11
+ fallback: "No risk"
12
+ },
13
+ LOW: {
14
+ key: "movethewheels.risk.level.low",
15
+ fallback: "Low"
16
+ },
17
+ MEDIUM: {
18
+ key: "movethewheels.risk.level.medium",
19
+ fallback: "Medium"
20
+ },
21
+ HIGH: {
22
+ key: "movethewheels.risk.level.high",
23
+ fallback: "High"
24
+ }
25
+ }, v = {
26
+ NONE: {
27
+ key: "movethewheels.risk.action.none",
28
+ fallback: "No action needed"
29
+ },
30
+ MONITOR: {
31
+ key: "movethewheels.risk.action.monitor",
32
+ fallback: "Keep monitoring this shipment"
33
+ },
34
+ REPROMISE_DELIVERY: {
35
+ key: "movethewheels.risk.action.repromise",
36
+ fallback: "Re-promise the delivery to the predicted time"
37
+ },
38
+ REQUEST_TRACKING_UPDATE: {
39
+ key: "movethewheels.risk.action.trackingUpdate",
40
+ fallback: "Get a tracking update from the driver or carrier"
41
+ },
42
+ REASSIGN_VEHICLE: {
43
+ key: "movethewheels.risk.action.reassign",
44
+ fallback: "Reassign the vehicle on this order"
45
+ }
46
+ };
47
+ function y(t, n) {
48
+ return t.ratio === null ? t.minutes !== null && t.minutes > 0 ? e(t.minutes) : null : `${Math.round(t.ratio * 100)}% ${n("movethewheels.risk.lateRate", "late recently")}`;
49
+ }
50
+ function b({ shipmentId: b, shipmentNumber: x, open: S, onOpenChange: C, t: w, onOpenOrder: T, onChanged: E }) {
51
+ let { forecast: D, shipment: O, isLoading: k, error: A, refetch: j, repromise: M, recordTrackingUpdate: N } = f(S ? b : void 0), [P, F] = m(null), [I, L] = m(null), [R, z] = m(!1), [B, V] = m("");
52
+ p(() => {
53
+ F(null), L(null), V("");
54
+ }, [b, S]);
55
+ let H = async (e, t) => {
56
+ z(!0), F(null), L(null);
57
+ try {
58
+ await e(), L(t), E();
59
+ } catch (e) {
60
+ F(e instanceof Error ? e.message : w("movethewheels.risk.actionFailed", "The action failed"));
61
+ } finally {
62
+ z(!1);
63
+ }
64
+ }, U = D?.predictedDeliveryLatest ?? D?.predictedDeliveryEarliest, W = O?.deliveryJobId ?? null;
65
+ return /* @__PURE__ */ h(i, {
66
+ open: S,
67
+ onOpenChange: C,
68
+ children: /* @__PURE__ */ g(a, {
69
+ className: "max-w-lg",
70
+ children: [
71
+ /* @__PURE__ */ g(s, { children: [/* @__PURE__ */ g(c, { children: [w("movethewheels.risk.title", "Delivery risk"), x ? ` · ${x}` : ""] }), /* @__PURE__ */ h(o, { children: w("movethewheels.risk.description", "Forecast from this shipment’s legs, route, tracking, vehicle and carrier history.") })] }),
72
+ k && !D && /* @__PURE__ */ g("div", {
73
+ className: "space-y-2",
74
+ "aria-busy": "true",
75
+ children: [/* @__PURE__ */ h(l, { className: "h-6 w-1/2" }), /* @__PURE__ */ h(l, { className: "h-16 w-full" })]
76
+ }),
77
+ A && !k && /* @__PURE__ */ g("div", {
78
+ role: "alert",
79
+ className: "space-y-2 text-sm",
80
+ children: [/* @__PURE__ */ h("p", {
81
+ className: "text-status-error-text",
82
+ children: A.message
83
+ }), /* @__PURE__ */ h(r, {
84
+ size: "sm",
85
+ variant: "outline",
86
+ onClick: j,
87
+ children: w("movethewheels.risk.retry", "Retry")
88
+ })]
89
+ }),
90
+ D && /* @__PURE__ */ g("div", {
91
+ className: "space-y-4 text-sm",
92
+ "data-testid": "shipment-risk-panel",
93
+ children: [
94
+ /* @__PURE__ */ g("div", {
95
+ className: "flex flex-wrap items-center gap-2",
96
+ children: [
97
+ /* @__PURE__ */ h(n, {
98
+ variant: D.riskLevel === "HIGH" ? "destructive" : "secondary",
99
+ children: w(_[D.riskLevel].key, _[D.riskLevel].fallback)
100
+ }),
101
+ /* @__PURE__ */ g("span", {
102
+ className: "text-text-secondary",
103
+ children: [
104
+ w("movethewheels.risk.score", "Risk score"),
105
+ ":",
106
+ " ",
107
+ /* @__PURE__ */ g("span", {
108
+ className: "font-medium text-text-primary",
109
+ children: [D.riskScore, "/100"]
110
+ })
111
+ ]
112
+ }),
113
+ D.breached && /* @__PURE__ */ h(n, {
114
+ variant: "destructive",
115
+ children: w("movethewheels.risk.breached", "Promise missed")
116
+ })
117
+ ]
118
+ }),
119
+ /* @__PURE__ */ g("dl", {
120
+ className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
121
+ children: [/* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
122
+ className: "text-xs text-text-secondary",
123
+ children: w("movethewheels.alerts.promised", "Promised")
124
+ }), /* @__PURE__ */ h("dd", { children: D.promisedDelivery ? d(D.promisedDelivery) : w("movethewheels.risk.noPromise", "No promised time") })] }), /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("dt", {
125
+ className: "text-xs text-text-secondary",
126
+ children: w("movethewheels.risk.window", "Predicted window")
127
+ }), /* @__PURE__ */ g("dd", { children: [D.predictedDeliveryEarliest ? `${d(D.predictedDeliveryEarliest)}${D.predictedDeliveryLatest && D.predictedDeliveryLatest !== D.predictedDeliveryEarliest ? ` – ${d(D.predictedDeliveryLatest)}` : ""}` : w("movethewheels.risk.noPrediction", "Not enough data to predict"), D.predictedSlipMinutes > 0 && /* @__PURE__ */ g("span", {
128
+ className: "ml-1 text-status-error-text",
129
+ children: [
130
+ "(+",
131
+ e(D.predictedSlipMinutes),
132
+ ")"
133
+ ]
134
+ })] })] })]
135
+ }),
136
+ /* @__PURE__ */ g("div", { children: [/* @__PURE__ */ h("p", {
137
+ className: "mb-1 text-xs text-text-secondary",
138
+ children: w("movethewheels.alerts.signals", "Risk signals")
139
+ }), D.signals.length > 0 ? /* @__PURE__ */ h("ul", {
140
+ className: "space-y-1",
141
+ children: D.signals.map((e) => {
142
+ let n = y(e, w);
143
+ return /* @__PURE__ */ g("li", {
144
+ className: "flex items-center justify-between rounded border border-border-primary px-2 py-1",
145
+ children: [/* @__PURE__ */ g("span", { children: [t(e.code, w), n && /* @__PURE__ */ g("span", {
146
+ className: "ml-1 text-text-secondary",
147
+ children: ["· ", n]
148
+ })] }), /* @__PURE__ */ g("span", {
149
+ className: "text-xs text-text-secondary",
150
+ children: ["+", e.weight]
151
+ })]
152
+ }, e.code);
153
+ })
154
+ }) : /* @__PURE__ */ h("p", {
155
+ className: "text-text-secondary",
156
+ children: w("movethewheels.risk.noSignals", "No risk signals right now")
157
+ })] }),
158
+ /* @__PURE__ */ g("div", {
159
+ className: "rounded-lg bg-status-info-bg-subtle p-3",
160
+ children: [
161
+ /* @__PURE__ */ h("p", {
162
+ className: "text-xs text-text-secondary",
163
+ children: w("movethewheels.risk.recommended", "Recommended action")
164
+ }),
165
+ /* @__PURE__ */ h("p", {
166
+ className: "font-medium",
167
+ children: w(v[D.recommendedAction].key, v[D.recommendedAction].fallback)
168
+ }),
169
+ D.recommendedAction === "REPROMISE_DELIVERY" && U && /* @__PURE__ */ g(r, {
170
+ size: "sm",
171
+ className: "mt-2",
172
+ disabled: R,
173
+ onClick: () => void H(() => M(U), w("movethewheels.risk.repromised", "Delivery re-promised")),
174
+ children: [
175
+ w("movethewheels.risk.repromiseTo", "Re-promise to"),
176
+ " ",
177
+ d(U)
178
+ ]
179
+ }),
180
+ D.recommendedAction === "REQUEST_TRACKING_UPDATE" && /* @__PURE__ */ g("div", {
181
+ className: "mt-2 space-y-2",
182
+ children: [/* @__PURE__ */ h(u, {
183
+ value: B,
184
+ onChange: (e) => V(e.target.value),
185
+ maxLength: 500,
186
+ "aria-label": w("movethewheels.risk.updateDetails", "Tracking update"),
187
+ placeholder: w("movethewheels.risk.updatePlaceholder", "What did the driver or carrier report?")
188
+ }), /* @__PURE__ */ h(r, {
189
+ size: "sm",
190
+ disabled: R || B.trim().length === 0,
191
+ onClick: () => void H(() => N(B.trim()), w("movethewheels.risk.updateRecorded", "Tracking update recorded")),
192
+ children: w("movethewheels.risk.recordUpdate", "Record tracking update")
193
+ })]
194
+ }),
195
+ D.recommendedAction === "REASSIGN_VEHICLE" && W && /* @__PURE__ */ h(r, {
196
+ size: "sm",
197
+ className: "mt-2",
198
+ onClick: () => T(W),
199
+ children: w("movethewheels.risk.openOrder", "Open order to reassign")
200
+ }),
201
+ I && /* @__PURE__ */ h("p", {
202
+ role: "status",
203
+ className: "mt-2 text-xs text-status-success-text",
204
+ children: I
205
+ }),
206
+ P && /* @__PURE__ */ h("p", {
207
+ role: "alert",
208
+ className: "mt-2 text-xs text-status-error-text",
209
+ children: P
210
+ })
211
+ ]
212
+ }),
213
+ /* @__PURE__ */ g("p", {
214
+ className: "text-xs text-text-secondary",
215
+ children: [
216
+ w("movethewheels.risk.evaluated", "Evaluated"),
217
+ " ",
218
+ d(D.evaluatedAt)
219
+ ]
220
+ })
221
+ ]
222
+ })
223
+ ]
224
+ })
225
+ });
226
+ }
227
+ //#endregion
228
+ export { b as ShipmentRiskDialog };
@@ -0,0 +1,149 @@
1
+ import { CircleCheck as e } from "../node_modules/lucide-react/dist/esm/icons/circle-check.js";
2
+ import { Clock as t } from "../node_modules/lucide-react/dist/esm/icons/clock.js";
3
+ import { Gauge as n } from "../node_modules/lucide-react/dist/esm/icons/gauge.js";
4
+ import { formatSlip as r, predictedSlipMinutes as i, riskSignalLabel as a } from "../utils/trackingAlerts.js";
5
+ import { Badge as o, Button as s } from "./ui.js";
6
+ import { formatDateTime as c } from "../utils/formatters.js";
7
+ import { ShipmentRiskDialog as l } from "./ShipmentRiskDialog.js";
8
+ import { useState as u } from "react";
9
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
10
+ //#region src/movethewheels/components/TrackingAlertList.tsx
11
+ var m = {
12
+ critical: "bg-status-error-bg-subtle border-status-error-border",
13
+ high: "bg-status-error-bg-subtle border-status-error-border",
14
+ medium: "bg-status-warning-bg-subtle border-status-warning-border",
15
+ low: "bg-surface-secondary border-border-primary"
16
+ };
17
+ function h({ alert: e, t }) {
18
+ let n = e.severity === "high" || e.severity === "critical", r = e.kind === "AT_RISK" ? t("movethewheels.alerts.kind.atRisk", "At risk") : t("movethewheels.alerts.kind.delayed", "Delayed");
19
+ return /* @__PURE__ */ p(o, {
20
+ variant: n ? "destructive" : "secondary",
21
+ className: "shrink-0",
22
+ children: [r, e.kind === "AT_RISK" && typeof e.riskScore == "number" ? ` · ${e.riskScore}` : ""]
23
+ });
24
+ }
25
+ function g({ alert: e, t: a }) {
26
+ let o = i(e);
27
+ return !e.promisedDelivery && !e.predictedDelivery ? null : /* @__PURE__ */ p("dl", {
28
+ className: "mt-2 grid grid-cols-1 gap-x-4 gap-y-1 text-xs text-text-secondary sm:grid-cols-2",
29
+ children: [e.promisedDelivery && /* @__PURE__ */ p("div", {
30
+ className: "flex items-center gap-1",
31
+ children: [
32
+ /* @__PURE__ */ f(t, {
33
+ size: 12,
34
+ "aria-hidden": "true"
35
+ }),
36
+ /* @__PURE__ */ p("dt", { children: [a("movethewheels.alerts.promised", "Promised"), ":"] }),
37
+ /* @__PURE__ */ f("dd", {
38
+ className: "text-text-primary",
39
+ children: c(e.promisedDelivery)
40
+ })
41
+ ]
42
+ }), e.predictedDelivery && /* @__PURE__ */ p("div", {
43
+ className: "flex items-center gap-1",
44
+ children: [
45
+ /* @__PURE__ */ f(n, {
46
+ size: 12,
47
+ "aria-hidden": "true"
48
+ }),
49
+ /* @__PURE__ */ p("dt", { children: [a("movethewheels.alerts.predicted", "Predicted"), ":"] }),
50
+ /* @__PURE__ */ p("dd", {
51
+ className: "text-text-primary",
52
+ children: [c(e.predictedDelivery), o !== null && /* @__PURE__ */ p("span", {
53
+ className: "ml-1 text-status-error-text",
54
+ children: [
55
+ "(+",
56
+ r(o),
57
+ ")"
58
+ ]
59
+ })]
60
+ })
61
+ ]
62
+ })]
63
+ });
64
+ }
65
+ function _({ alerts: t, limit: n, t: r, onAcknowledge: i, onOpenOrder: o, onChanged: c }) {
66
+ let [_, v] = u(null), [y, b] = u(null), [x, S] = u(null), C = async (e) => {
67
+ v(e), b(null);
68
+ try {
69
+ await i(e);
70
+ } catch (e) {
71
+ b(e instanceof Error ? e.message : r("movethewheels.alerts.ackFailed", "Could not acknowledge the alert"));
72
+ } finally {
73
+ v(null);
74
+ }
75
+ };
76
+ return /* @__PURE__ */ p(d, { children: [
77
+ y && /* @__PURE__ */ f("p", {
78
+ role: "alert",
79
+ className: "mb-2 text-xs text-status-error-text",
80
+ children: y
81
+ }),
82
+ /* @__PURE__ */ f("ul", {
83
+ className: "space-y-3",
84
+ "aria-label": r("movethewheels.alerts.listLabel", "Shipment alerts"),
85
+ children: t.slice(0, n).map((t) => /* @__PURE__ */ p("li", {
86
+ "data-testid": "tracking-alert",
87
+ "data-alert-kind": t.kind,
88
+ className: `rounded-lg border p-3 text-sm ${m[t.severity]}`,
89
+ children: [
90
+ /* @__PURE__ */ p("div", {
91
+ className: "flex items-start justify-between gap-2",
92
+ children: [/* @__PURE__ */ p("p", {
93
+ className: "font-medium",
94
+ children: [t.shipmentNumber ? `${t.shipmentNumber}: ` : "", t.message]
95
+ }), /* @__PURE__ */ f(h, {
96
+ alert: t,
97
+ t: r
98
+ })]
99
+ }),
100
+ /* @__PURE__ */ f(g, {
101
+ alert: t,
102
+ t: r
103
+ }),
104
+ t.signals && t.signals.length > 0 && /* @__PURE__ */ f("ul", {
105
+ className: "mt-2 flex flex-wrap gap-1",
106
+ "aria-label": r("movethewheels.alerts.signals", "Risk signals"),
107
+ children: t.signals.map((e) => /* @__PURE__ */ f("li", {
108
+ className: "rounded-full border border-border-primary bg-surface-primary px-2 py-0.5 text-xs text-text-secondary",
109
+ children: a(e, r)
110
+ }, e))
111
+ }),
112
+ /* @__PURE__ */ p("div", {
113
+ className: "mt-3 flex flex-wrap gap-2",
114
+ children: [t.shipmentId && /* @__PURE__ */ f(s, {
115
+ size: "sm",
116
+ variant: "outline",
117
+ onClick: () => S(t),
118
+ children: r("movethewheels.alerts.viewRisk", "View risk")
119
+ }), t.shipmentId && t.kind && /* @__PURE__ */ p(s, {
120
+ size: "sm",
121
+ variant: "ghost",
122
+ disabled: _ === t.id,
123
+ onClick: () => void C(t.id),
124
+ children: [/* @__PURE__ */ f(e, {
125
+ size: 14,
126
+ "aria-hidden": "true"
127
+ }), _ === t.id ? r("movethewheels.alerts.acknowledging", "Acknowledging…") : r("movethewheels.alerts.acknowledge", "Acknowledge")]
128
+ })]
129
+ })
130
+ ]
131
+ }, t.id))
132
+ }),
133
+ /* @__PURE__ */ f(l, {
134
+ shipmentId: x?.shipmentId,
135
+ shipmentNumber: x?.shipmentNumber,
136
+ open: x !== null,
137
+ onOpenChange: (e) => {
138
+ e || S(null);
139
+ },
140
+ t: r,
141
+ onOpenOrder: (e) => {
142
+ S(null), o(e);
143
+ },
144
+ onChanged: c
145
+ })
146
+ ] });
147
+ }
148
+ //#endregion
149
+ export { _ as TrackingAlertList };