@burdenoff/microfe-movethewheels 2026.1017.11 → 2026.1017.13
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/MoveTheWheelsRoot.js +7 -0
- package/dist/MoveTheWheelsRoutes.js +39 -35
- package/dist/components/pallet-preview/PalletPreviewResults.js +189 -0
- package/dist/generated/pallet-preview-operations.d.ts +273 -0
- package/dist/hooks/usePalletPreview.js +86 -0
- package/dist/movethewheels/components/pallet-preview/PalletPreviewResults.d.ts +6 -0
- package/dist/movethewheels/hooks/usePalletPreview.d.ts +98 -0
- package/dist/movethewheels/pages/PalletPreviewPage.d.ts +1 -0
- package/dist/movethewheels/utils/graphqlClient.d.ts +4 -0
- package/dist/movethewheels/utils/palletPreviewInput.d.ts +54 -0
- package/dist/movethewheels/utils/palletPreviewResponse.d.ts +7 -0
- package/dist/pages/PalletPreviewPage.js +501 -0
- package/dist/pages/WarehousesPage.js +83 -78
- package/dist/src/generated/pallet-preview-operations.js +594 -0
- package/dist/utils/graphqlClient.js +27 -19
- package/dist/utils/palletPreviewInput.js +138 -0
- package/dist/utils/palletPreviewResponse.js +191 -0
- package/package.json +5 -4
- package/src/generated/pallet-preview-operations.ts +204 -0
- package/src/movethewheels/MoveTheWheelsRoot.tsx +7 -0
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +2 -0
- package/src/movethewheels/components/pallet-preview/PalletPreviewResults.tsx +220 -0
- package/src/movethewheels/hooks/usePalletPreview.ts +114 -0
- package/src/movethewheels/pages/PalletPreviewPage.tsx +588 -0
- package/src/movethewheels/pages/WarehousesPage.tsx +9 -1
- package/src/movethewheels/utils/graphqlClient.ts +19 -2
- package/src/movethewheels/utils/palletPreviewInput.ts +199 -0
- package/src/movethewheels/utils/palletPreviewResponse.ts +256 -0
- package/src/operations/pallet-preview/preview.graphql +26 -0
|
@@ -180,6 +180,13 @@ var E = ({ registerNavItems: v, basePath: b = "/" }) => {
|
|
|
180
180
|
icon: /* @__PURE__ */ S(i, { size: 14 }),
|
|
181
181
|
order: 3
|
|
182
182
|
},
|
|
183
|
+
{
|
|
184
|
+
id: "mtw-pallet-preview",
|
|
185
|
+
label: C("movethewheels.root.nav.palletPreview", "Pallet preview"),
|
|
186
|
+
path: E(b, "inventory/warehouses/pallet-preview"),
|
|
187
|
+
icon: /* @__PURE__ */ S(t, { size: 14 }),
|
|
188
|
+
order: 6
|
|
189
|
+
},
|
|
183
190
|
{
|
|
184
191
|
id: "mtw-warehouses",
|
|
185
192
|
label: C("movethewheels.root.nav.warehouses", "Warehouses"),
|
|
@@ -28,8 +28,8 @@ function d() {
|
|
|
28
28
|
})
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
var f = r(() => import("./pages/DashboardPage.js")), p = r(() => import("./pages/OrdersListPage.js")), m = r(() => import("./pages/OrderDetailsPage.js")), h = r(() => import("./pages/CreateOrderPage.js")), g = r(() => import("./pages/TrackingPage.js")), _ = r(() => import("./pages/TrackingEventQualityPage.js")), v = r(() => import("./pages/ShipmentStatusAuthorityPage.js")), y = r(() => import("./pages/LiveTrackingPage.js")), b = r(() => import("./pages/FleetPage.js")), x = r(() => import("./pages/VehiclesPage.js")), S = r(() => import("./pages/VehicleDetailsPage.js")), C = r(() => import("./pages/DriversPage.js")), w = r(() => import("./pages/DriverDetailsPage.js")), T = r(() => import("./pages/InventoryPage.js")), E = r(() => import("./pages/ProductsPage.js")), D = r(() => import("./pages/ProductDetailsPage.js")), O = r(() => import("./pages/
|
|
32
|
-
function
|
|
31
|
+
var f = r(() => import("./pages/DashboardPage.js")), p = r(() => import("./pages/OrdersListPage.js")), m = r(() => import("./pages/OrderDetailsPage.js")), h = r(() => import("./pages/CreateOrderPage.js")), g = r(() => import("./pages/TrackingPage.js")), _ = r(() => import("./pages/TrackingEventQualityPage.js")), v = r(() => import("./pages/ShipmentStatusAuthorityPage.js")), y = r(() => import("./pages/LiveTrackingPage.js")), b = r(() => import("./pages/FleetPage.js")), x = r(() => import("./pages/VehiclesPage.js")), S = r(() => import("./pages/VehicleDetailsPage.js")), C = r(() => import("./pages/DriversPage.js")), w = r(() => import("./pages/DriverDetailsPage.js")), T = r(() => import("./pages/InventoryPage.js")), E = r(() => import("./pages/ProductsPage.js")), D = r(() => import("./pages/ProductDetailsPage.js")), O = r(() => import("./pages/PalletPreviewPage.js")), k = r(() => import("./pages/WarehousesPage.js")), A = r(() => import("./pages/WarehouseDetailsPage.js")), j = r(() => import("./pages/CustomersPage.js")), M = r(() => import("./pages/CustomerDetailsPage.js")), N = r(() => import("./pages/RoutesPage.js")), P = r(() => import("./pages/RouteDetailsPage.js")), ee = r(() => import("./pages/AnalyticsPage.js")), F = r(() => import("./pages/FinancePage.js")), I = r(() => import("./pages/FreightEstimatePage.js")), L = r(() => import("./pages/FreightInvoicePage.js")), R = r(() => import("./pages/ConsolidationPage.js")), z = r(() => import("./pages/LogisticsProceduresPage.js")), B = r(() => import("./pages/MarketplacePage.js")), V = r(() => import("./pages/ImportExportPage.js")), H = r(() => import("./pages/ReportsPage.js")), U = r(() => import("./pages/SettingsPage.js")), W = r(() => import("./pages/AIAssistantPage.js")), G = r(() => import("./pages/DeliveryCapturePage.js")), K = r(() => import("./pages/MultiModalShipmentPage.js")), q = r(() => import("./pages/ShippingRatesPage.js")), J = r(() => import("./pages/ContainersPage.js")), Y = r(() => import("./pages/ContainerConditionPage.js")), X = r(() => import("./pages/FreeTimePage.js")), Z = r(() => import("./pages/PendingPickPage.js")), Q = r(() => import("./pages/StockObservationsPage.js")), $ = r(() => import("./pages/StockBindingPage.js")), te = r(() => import("./pages/TripUtilizationPage.js")), ne = r(() => import("./pages/EmptyReusePage.js"));
|
|
32
|
+
function re() {
|
|
33
33
|
return /* @__PURE__ */ s(n, {
|
|
34
34
|
fallback: /* @__PURE__ */ s(d, {}),
|
|
35
35
|
children: /* @__PURE__ */ c(a, { children: [
|
|
@@ -71,39 +71,39 @@ function ne() {
|
|
|
71
71
|
}),
|
|
72
72
|
/* @__PURE__ */ s(i, {
|
|
73
73
|
path: "deliveries/mine",
|
|
74
|
-
element: /* @__PURE__ */ s(
|
|
74
|
+
element: /* @__PURE__ */ s(G, {})
|
|
75
75
|
}),
|
|
76
76
|
/* @__PURE__ */ s(i, {
|
|
77
77
|
path: "shipments/multi-modal",
|
|
78
|
-
element: /* @__PURE__ */ s(
|
|
78
|
+
element: /* @__PURE__ */ s(K, {})
|
|
79
79
|
}),
|
|
80
80
|
/* @__PURE__ */ s(i, {
|
|
81
81
|
path: "shipments/rates",
|
|
82
|
-
element: /* @__PURE__ */ s(
|
|
82
|
+
element: /* @__PURE__ */ s(q, {})
|
|
83
83
|
}),
|
|
84
84
|
/* @__PURE__ */ s(i, {
|
|
85
85
|
path: "containers",
|
|
86
|
-
element: /* @__PURE__ */ s(
|
|
86
|
+
element: /* @__PURE__ */ s(J, {})
|
|
87
87
|
}),
|
|
88
88
|
/* @__PURE__ */ s(i, {
|
|
89
89
|
path: "containers/condition",
|
|
90
|
-
element: /* @__PURE__ */ s(
|
|
90
|
+
element: /* @__PURE__ */ s(Y, {})
|
|
91
91
|
}),
|
|
92
92
|
/* @__PURE__ */ s(i, {
|
|
93
93
|
path: "containers/free-time",
|
|
94
|
-
element: /* @__PURE__ */ s(
|
|
94
|
+
element: /* @__PURE__ */ s(X, {})
|
|
95
95
|
}),
|
|
96
96
|
/* @__PURE__ */ s(i, {
|
|
97
97
|
path: "containers/empty-reuse",
|
|
98
|
-
element: /* @__PURE__ */ s(
|
|
98
|
+
element: /* @__PURE__ */ s(ne, {})
|
|
99
99
|
}),
|
|
100
100
|
/* @__PURE__ */ s(i, {
|
|
101
101
|
path: "containers/consolidation",
|
|
102
|
-
element: /* @__PURE__ */ s(
|
|
102
|
+
element: /* @__PURE__ */ s(R, {})
|
|
103
103
|
}),
|
|
104
104
|
/* @__PURE__ */ s(i, {
|
|
105
105
|
path: "containers/procedures",
|
|
106
|
-
element: /* @__PURE__ */ s(
|
|
106
|
+
element: /* @__PURE__ */ s(z, {})
|
|
107
107
|
}),
|
|
108
108
|
/* @__PURE__ */ s(i, {
|
|
109
109
|
path: "fleet",
|
|
@@ -147,15 +147,15 @@ function ne() {
|
|
|
147
147
|
}),
|
|
148
148
|
/* @__PURE__ */ s(i, {
|
|
149
149
|
path: "inventory/source-assessments",
|
|
150
|
-
element: /* @__PURE__ */ s(
|
|
150
|
+
element: /* @__PURE__ */ s($, {})
|
|
151
151
|
}),
|
|
152
152
|
/* @__PURE__ */ s(i, {
|
|
153
153
|
path: "inventory/reported-issues",
|
|
154
|
-
element: /* @__PURE__ */ s(
|
|
154
|
+
element: /* @__PURE__ */ s(Q, {})
|
|
155
155
|
}),
|
|
156
156
|
/* @__PURE__ */ s(i, {
|
|
157
157
|
path: "inventory/pending-picks",
|
|
158
|
-
element: /* @__PURE__ */ s(
|
|
158
|
+
element: /* @__PURE__ */ s(Z, {})
|
|
159
159
|
}),
|
|
160
160
|
/* @__PURE__ */ s(i, {
|
|
161
161
|
path: "inventory/products",
|
|
@@ -175,87 +175,91 @@ function ne() {
|
|
|
175
175
|
}),
|
|
176
176
|
/* @__PURE__ */ s(i, {
|
|
177
177
|
path: "inventory/warehouses",
|
|
178
|
+
element: /* @__PURE__ */ s(k, {})
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ s(i, {
|
|
181
|
+
path: "inventory/warehouses/pallet-preview",
|
|
178
182
|
element: /* @__PURE__ */ s(O, {})
|
|
179
183
|
}),
|
|
180
184
|
/* @__PURE__ */ s(i, {
|
|
181
185
|
path: "inventory/warehouses/new",
|
|
182
|
-
element: /* @__PURE__ */ s(
|
|
186
|
+
element: /* @__PURE__ */ s(A, {})
|
|
183
187
|
}),
|
|
184
188
|
/* @__PURE__ */ s(i, {
|
|
185
189
|
path: "inventory/warehouses/:warehouseId",
|
|
186
|
-
element: /* @__PURE__ */ s(
|
|
190
|
+
element: /* @__PURE__ */ s(A, {})
|
|
187
191
|
}),
|
|
188
192
|
/* @__PURE__ */ s(i, {
|
|
189
193
|
path: "inventory/warehouses/:warehouseId/edit",
|
|
190
|
-
element: /* @__PURE__ */ s(
|
|
194
|
+
element: /* @__PURE__ */ s(A, {})
|
|
191
195
|
}),
|
|
192
196
|
/* @__PURE__ */ s(i, {
|
|
193
197
|
path: "customers",
|
|
194
|
-
element: /* @__PURE__ */ s(
|
|
198
|
+
element: /* @__PURE__ */ s(j, {})
|
|
195
199
|
}),
|
|
196
200
|
/* @__PURE__ */ s(i, {
|
|
197
201
|
path: "customers/new",
|
|
198
|
-
element: /* @__PURE__ */ s(
|
|
202
|
+
element: /* @__PURE__ */ s(M, {})
|
|
199
203
|
}),
|
|
200
204
|
/* @__PURE__ */ s(i, {
|
|
201
205
|
path: "customers/:customerId",
|
|
202
|
-
element: /* @__PURE__ */ s(
|
|
206
|
+
element: /* @__PURE__ */ s(M, {})
|
|
203
207
|
}),
|
|
204
208
|
/* @__PURE__ */ s(i, {
|
|
205
209
|
path: "routes",
|
|
206
|
-
element: /* @__PURE__ */ s(
|
|
210
|
+
element: /* @__PURE__ */ s(N, {})
|
|
207
211
|
}),
|
|
208
212
|
/* @__PURE__ */ s(i, {
|
|
209
213
|
path: "routes/trip-utilization",
|
|
210
|
-
element: /* @__PURE__ */ s(
|
|
214
|
+
element: /* @__PURE__ */ s(te, {})
|
|
211
215
|
}),
|
|
212
216
|
/* @__PURE__ */ s(i, {
|
|
213
217
|
path: "routes/new",
|
|
214
|
-
element: /* @__PURE__ */ s(
|
|
218
|
+
element: /* @__PURE__ */ s(P, {})
|
|
215
219
|
}),
|
|
216
220
|
/* @__PURE__ */ s(i, {
|
|
217
221
|
path: "routes/:routeId",
|
|
218
|
-
element: /* @__PURE__ */ s(
|
|
222
|
+
element: /* @__PURE__ */ s(P, {})
|
|
219
223
|
}),
|
|
220
224
|
/* @__PURE__ */ s(i, {
|
|
221
225
|
path: "routes/:routeId/edit",
|
|
222
|
-
element: /* @__PURE__ */ s(
|
|
226
|
+
element: /* @__PURE__ */ s(P, {})
|
|
223
227
|
}),
|
|
224
228
|
/* @__PURE__ */ s(i, {
|
|
225
229
|
path: "analytics",
|
|
226
|
-
element: /* @__PURE__ */ s(
|
|
230
|
+
element: /* @__PURE__ */ s(ee, {})
|
|
227
231
|
}),
|
|
228
232
|
/* @__PURE__ */ s(i, {
|
|
229
233
|
path: "finance",
|
|
230
|
-
element: /* @__PURE__ */ s(
|
|
234
|
+
element: /* @__PURE__ */ s(F, {})
|
|
231
235
|
}),
|
|
232
236
|
/* @__PURE__ */ s(i, {
|
|
233
237
|
path: "finance/freight-estimates",
|
|
234
|
-
element: /* @__PURE__ */ s(
|
|
238
|
+
element: /* @__PURE__ */ s(I, {})
|
|
235
239
|
}),
|
|
236
240
|
/* @__PURE__ */ s(i, {
|
|
237
241
|
path: "finance/freight-invoice-comparisons",
|
|
238
|
-
element: /* @__PURE__ */ s(
|
|
242
|
+
element: /* @__PURE__ */ s(L, {})
|
|
239
243
|
}),
|
|
240
244
|
/* @__PURE__ */ s(i, {
|
|
241
245
|
path: "marketplace",
|
|
242
|
-
element: /* @__PURE__ */ s(
|
|
246
|
+
element: /* @__PURE__ */ s(B, {})
|
|
243
247
|
}),
|
|
244
248
|
/* @__PURE__ */ s(i, {
|
|
245
249
|
path: "import-export",
|
|
246
|
-
element: /* @__PURE__ */ s(
|
|
250
|
+
element: /* @__PURE__ */ s(V, {})
|
|
247
251
|
}),
|
|
248
252
|
/* @__PURE__ */ s(i, {
|
|
249
253
|
path: "reports",
|
|
250
|
-
element: /* @__PURE__ */ s(
|
|
254
|
+
element: /* @__PURE__ */ s(H, {})
|
|
251
255
|
}),
|
|
252
256
|
/* @__PURE__ */ s(i, {
|
|
253
257
|
path: "ai-assistant",
|
|
254
|
-
element: /* @__PURE__ */ s(
|
|
258
|
+
element: /* @__PURE__ */ s(W, {})
|
|
255
259
|
}),
|
|
256
260
|
/* @__PURE__ */ s(i, {
|
|
257
261
|
path: "settings",
|
|
258
|
-
element: /* @__PURE__ */ s(
|
|
262
|
+
element: /* @__PURE__ */ s(U, {})
|
|
259
263
|
}),
|
|
260
264
|
/* @__PURE__ */ s(i, {
|
|
261
265
|
path: "*",
|
|
@@ -265,4 +269,4 @@ function ne() {
|
|
|
265
269
|
});
|
|
266
270
|
}
|
|
267
271
|
//#endregion
|
|
268
|
-
export {
|
|
272
|
+
export { re as MoveTheWheelsRoutes };
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { useTr as e } from "../../shared/hooks/useTr.js";
|
|
2
|
+
import "../../hooks/index.js";
|
|
3
|
+
import { Badge as t } from "../ui.js";
|
|
4
|
+
import { PALLET_BOUND_KEYS as n, PALLET_UNKNOWN_KEYS as r } from "../../utils/palletPreviewResponse.js";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
6
|
+
import { FormSection as o } from "@burdenoff/fe-libs/form";
|
|
7
|
+
//#region src/movethewheels/components/pallet-preview/PalletPreviewResults.tsx
|
|
8
|
+
var s = {
|
|
9
|
+
placedContainment: "Placed subset containment",
|
|
10
|
+
placedNonOverlap: "Placed subset non-overlap",
|
|
11
|
+
permittedUprightYaw: "Permitted upright yaw",
|
|
12
|
+
reportedSingleLayerHeight: "Reported single-layer height",
|
|
13
|
+
palletPayloadMass: "Pallet payload mass",
|
|
14
|
+
palletFootprintWithinLoadEnvelope: "Pallet footprint within load envelope",
|
|
15
|
+
loadedPalletGrossMass: "Loaded pallet gross mass"
|
|
16
|
+
}, c = {
|
|
17
|
+
additionalPackingGeometry: "Additional packing geometry",
|
|
18
|
+
handling: "Handling",
|
|
19
|
+
securing: "Securing",
|
|
20
|
+
centreOfGravityAndStability: "Centre of gravity and stability",
|
|
21
|
+
supportAndFloorContactLoads: "Support and floor contact loads",
|
|
22
|
+
loadingAndUnloadingPath: "Loading and unloading path",
|
|
23
|
+
segregationAndCargoCompatibility: "Cargo segregation and compatibility"
|
|
24
|
+
};
|
|
25
|
+
function l({ result: l, input: u }) {
|
|
26
|
+
let d = e(), f = d("movethewheels.palletPreview.unknown", "Unknown"), p = l.layoutStatus === "PLACED_BY_METHOD" ? d("movethewheels.palletPreview.placed", "Placed by this method") : l.layoutStatus === "NO_LAYOUT_FOUND_BY_METHOD" ? d("movethewheels.palletPreview.noLayout", "No layout found by this method") : d("movethewheels.palletPreview.unknownFacts", "Unknown from supplied facts"), m = (e) => e ? `${e.reference} · ${e.version}` : f;
|
|
27
|
+
return /* @__PURE__ */ a("section", {
|
|
28
|
+
"aria-label": d("movethewheels.palletPreview.result", "Preview result"),
|
|
29
|
+
className: "space-y-5 min-w-0",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ i("h2", {
|
|
32
|
+
className: "text-xl font-semibold",
|
|
33
|
+
tabIndex: -1,
|
|
34
|
+
children: p
|
|
35
|
+
}),
|
|
36
|
+
/* @__PURE__ */ i("p", {
|
|
37
|
+
className: "text-sm text-text-secondary",
|
|
38
|
+
children: d("movethewheels.palletPreview.method", "Geometric proposal only · Deterministic single-layer shelf method · mm / g")
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ a("dl", {
|
|
41
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("dt", { children: d("movethewheels.palletPreview.counts", "Placed / requested units") }), /* @__PURE__ */ a("dd", {
|
|
44
|
+
className: "font-semibold",
|
|
45
|
+
children: [
|
|
46
|
+
l.placedQuantity,
|
|
47
|
+
" / ",
|
|
48
|
+
l.requestedQuantity
|
|
49
|
+
]
|
|
50
|
+
})] }),
|
|
51
|
+
/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("dt", { children: d("movethewheels.palletPreview.payload", "Whole-request payload mass") }), /* @__PURE__ */ i("dd", {
|
|
52
|
+
className: "font-semibold",
|
|
53
|
+
children: l.requestedPayloadMassG === null ? f : `${l.requestedPayloadMassG} g`
|
|
54
|
+
})] }),
|
|
55
|
+
/* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("dt", { children: d("movethewheels.palletPreview.gross", "Whole-request gross mass") }), /* @__PURE__ */ i("dd", {
|
|
56
|
+
className: "font-semibold",
|
|
57
|
+
children: l.requestedGrossMassG === null ? f : `${l.requestedGrossMassG} g`
|
|
58
|
+
})] })
|
|
59
|
+
]
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ i("p", {
|
|
62
|
+
className: "text-sm",
|
|
63
|
+
children: d("movethewheels.palletPreview.allUnitsMass", "Requested mass covers all requested units, including unplaced units.")
|
|
64
|
+
}),
|
|
65
|
+
l.unplaced.length > 0 && /* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("h3", {
|
|
66
|
+
className: "font-medium",
|
|
67
|
+
children: d("movethewheels.palletPreview.unplaced", "Unplaced units")
|
|
68
|
+
}), /* @__PURE__ */ i("ul", {
|
|
69
|
+
className: "list-disc pl-5",
|
|
70
|
+
children: l.unplaced.map((e) => /* @__PURE__ */ a("li", {
|
|
71
|
+
className: "break-words",
|
|
72
|
+
children: [
|
|
73
|
+
e.packageId,
|
|
74
|
+
": ",
|
|
75
|
+
e.quantity
|
|
76
|
+
]
|
|
77
|
+
}, e.packageId))
|
|
78
|
+
})] }),
|
|
79
|
+
/* @__PURE__ */ a(o, {
|
|
80
|
+
title: d("movethewheels.palletPreview.diagram", "Placed subset — top view (mm)"),
|
|
81
|
+
children: [/* @__PURE__ */ i("p", {
|
|
82
|
+
className: "text-sm mb-3",
|
|
83
|
+
children: d("movethewheels.palletPreview.subset", "Containment and non-overlap concern only the placed subset. This diagram is not a handling or loading-path simulation.")
|
|
84
|
+
}), u.pallet.widthMm != null && u.pallet.lengthMm != null && l.placements.length > 0 ? /* @__PURE__ */ a("figure", {
|
|
85
|
+
className: "min-w-0",
|
|
86
|
+
children: [/* @__PURE__ */ a("svg", {
|
|
87
|
+
role: "img",
|
|
88
|
+
"aria-label": d("movethewheels.palletPreview.diagramLabel", "Proposed placed rectangles on the supplied pallet footprint"),
|
|
89
|
+
viewBox: `0 0 ${u.pallet.widthMm} ${u.pallet.lengthMm}`,
|
|
90
|
+
width: "100%",
|
|
91
|
+
height: "320",
|
|
92
|
+
style: {
|
|
93
|
+
height: 320,
|
|
94
|
+
maxHeight: 320
|
|
95
|
+
},
|
|
96
|
+
className: "max-w-full text-text-primary border border-border rounded-lg",
|
|
97
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
98
|
+
children: [/* @__PURE__ */ i("rect", {
|
|
99
|
+
width: u.pallet.widthMm,
|
|
100
|
+
height: u.pallet.lengthMm,
|
|
101
|
+
className: "fill-transparent stroke-current",
|
|
102
|
+
vectorEffect: "non-scaling-stroke"
|
|
103
|
+
}), l.placements.map((e) => /* @__PURE__ */ i("rect", {
|
|
104
|
+
x: e.xMm,
|
|
105
|
+
y: e.yMm,
|
|
106
|
+
width: e.widthMm,
|
|
107
|
+
height: e.lengthMm,
|
|
108
|
+
className: "fill-primary/15 stroke-primary",
|
|
109
|
+
vectorEffect: "non-scaling-stroke",
|
|
110
|
+
children: /* @__PURE__ */ i("title", { children: `${e.packageId} #${e.unit}: ${e.xMm}, ${e.yMm} mm; ${e.widthMm} × ${e.lengthMm} mm; ${e.yawDegrees}°` })
|
|
111
|
+
}, `${e.packageId}:${e.unit}`))]
|
|
112
|
+
}), /* @__PURE__ */ a("figcaption", {
|
|
113
|
+
className: "text-sm text-text-secondary mt-2",
|
|
114
|
+
children: [
|
|
115
|
+
u.pallet.widthMm,
|
|
116
|
+
" × ",
|
|
117
|
+
u.pallet.lengthMm,
|
|
118
|
+
" mm"
|
|
119
|
+
]
|
|
120
|
+
})]
|
|
121
|
+
}) : /* @__PURE__ */ i("p", { children: d("movethewheels.palletPreview.noDiagram", "No placed subset is available to draw.") })]
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ i(o, {
|
|
124
|
+
title: d("movethewheels.palletPreview.bounds", "Seven reported bounds"),
|
|
125
|
+
children: /* @__PURE__ */ i("ul", {
|
|
126
|
+
className: "grid gap-3 md:grid-cols-2",
|
|
127
|
+
children: n.map((e) => /* @__PURE__ */ a("li", {
|
|
128
|
+
className: "rounded-lg border border-border p-3 min-w-0",
|
|
129
|
+
children: [
|
|
130
|
+
/* @__PURE__ */ i("h3", {
|
|
131
|
+
className: "font-medium",
|
|
132
|
+
children: d(`movethewheels.palletPreview.bounds.${e}`, s[e])
|
|
133
|
+
}),
|
|
134
|
+
/* @__PURE__ */ i(t, {
|
|
135
|
+
variant: "outline",
|
|
136
|
+
children: d(`movethewheels.palletPreview.status.${l.bounds[e].status}`, l.bounds[e].status)
|
|
137
|
+
}),
|
|
138
|
+
/* @__PURE__ */ i("p", {
|
|
139
|
+
className: "text-sm mt-1 break-words",
|
|
140
|
+
children: l.bounds[e].reason
|
|
141
|
+
})
|
|
142
|
+
]
|
|
143
|
+
}, e))
|
|
144
|
+
})
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ i(o, {
|
|
147
|
+
title: d("movethewheels.palletPreview.unsupported", "Seven concerns remain unknown"),
|
|
148
|
+
children: /* @__PURE__ */ i("ul", {
|
|
149
|
+
className: "grid gap-2 md:grid-cols-2",
|
|
150
|
+
children: r.map((e) => /* @__PURE__ */ a("li", {
|
|
151
|
+
className: "rounded border border-border p-3",
|
|
152
|
+
children: [
|
|
153
|
+
d(`movethewheels.palletPreview.unsupported.${e}`, c[e]),
|
|
154
|
+
":",
|
|
155
|
+
" ",
|
|
156
|
+
/* @__PURE__ */ i("strong", { children: f })
|
|
157
|
+
]
|
|
158
|
+
}, e))
|
|
159
|
+
})
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ i(o, {
|
|
162
|
+
title: d("movethewheels.palletPreview.sourceSnapshot", "Submitted source snapshot"),
|
|
163
|
+
description: d("movethewheels.palletPreview.sourceBoundary", "Your declared measurement sources; not independent verification."),
|
|
164
|
+
children: /* @__PURE__ */ a("dl", {
|
|
165
|
+
className: "space-y-2 break-words",
|
|
166
|
+
children: [l.sources.packages.map((e) => /* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("dt", {
|
|
167
|
+
className: "font-medium",
|
|
168
|
+
children: e.packageId
|
|
169
|
+
}), /* @__PURE__ */ i("dd", { children: m(e.source) })] }, e.packageId)), [
|
|
170
|
+
"pallet",
|
|
171
|
+
"loadEnvelope",
|
|
172
|
+
"additionalPacking",
|
|
173
|
+
"clearance"
|
|
174
|
+
].map((e) => /* @__PURE__ */ a("div", { children: [/* @__PURE__ */ i("dt", {
|
|
175
|
+
className: "font-medium",
|
|
176
|
+
children: d(`movethewheels.palletPreview.source.${e}`, {
|
|
177
|
+
pallet: "Pallet",
|
|
178
|
+
loadEnvelope: "Load envelope",
|
|
179
|
+
additionalPacking: "Additional packing",
|
|
180
|
+
clearance: "Clearance"
|
|
181
|
+
}[e])
|
|
182
|
+
}), /* @__PURE__ */ i("dd", { children: m(l.sources[e]) })] }, e))]
|
|
183
|
+
})
|
|
184
|
+
})
|
|
185
|
+
]
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
//#endregion
|
|
189
|
+
export { l as PalletPreviewResults };
|