@burdenoff/microfe-movethewheels 2026.1017.12 → 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
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
import { Boxes as e } from "../node_modules/lucide-react/dist/esm/icons/boxes.js";
|
|
2
|
+
import { useMoveTheWheels as t } from "../providers/MoveTheWheelsProvider.js";
|
|
3
|
+
import { useTr as n } from "../shared/hooks/useTr.js";
|
|
4
|
+
import "../hooks/index.js";
|
|
5
|
+
import { Button as r, Checkbox as i, Input as a, Label as o, Select as s, SelectContent as c, SelectItem as l, SelectTrigger as u, SelectValue as d } from "../components/ui.js";
|
|
6
|
+
import { PageLayout as f } from "../components/PageLayout.js";
|
|
7
|
+
import { PalletPreviewResults as p } from "../components/pallet-preview/PalletPreviewResults.js";
|
|
8
|
+
import { usePalletPreview as m } from "../hooks/usePalletPreview.js";
|
|
9
|
+
import { PalletInputError as h, newPalletPackage as g, newPalletPreviewDraft as _, palletPreviewInput as v } from "../utils/palletPreviewInput.js";
|
|
10
|
+
import { useEffect as y, useId as b, useRef as x, useState as S } from "react";
|
|
11
|
+
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
12
|
+
import { OptionalFields as T } from "@burdenoff/fe-libs/ui";
|
|
13
|
+
import { FormSection as E } from "@burdenoff/fe-libs/form";
|
|
14
|
+
//#region src/movethewheels/pages/PalletPreviewPage.tsx
|
|
15
|
+
var D = {
|
|
16
|
+
widthMm: "Width (mm)",
|
|
17
|
+
lengthMm: "Length (mm)",
|
|
18
|
+
heightMm: "Height (mm)",
|
|
19
|
+
grossMassG: "Gross mass per package (g)",
|
|
20
|
+
tareMassG: "Pallet tare mass (g)",
|
|
21
|
+
maxPayloadMassG: "Pallet payload rating (g)",
|
|
22
|
+
maxHeightMm: "Reported maximum height (mm)",
|
|
23
|
+
maxGrossMassG: "Gross mass rating (g)",
|
|
24
|
+
massG: "Additional packing mass (g)",
|
|
25
|
+
perimeterMm: "Perimeter clearance (mm)",
|
|
26
|
+
betweenPackagesMm: "Between-package clearance (mm)",
|
|
27
|
+
topMm: "Top clearance (mm)"
|
|
28
|
+
};
|
|
29
|
+
function O({ id: e, label: t, value: n, onChange: r, required: i = !1 }) {
|
|
30
|
+
return /* @__PURE__ */ w("div", {
|
|
31
|
+
className: "min-w-0 space-y-1",
|
|
32
|
+
children: [/* @__PURE__ */ C(o, {
|
|
33
|
+
htmlFor: e,
|
|
34
|
+
children: t
|
|
35
|
+
}), /* @__PURE__ */ C(a, {
|
|
36
|
+
id: e,
|
|
37
|
+
type: "text",
|
|
38
|
+
inputMode: "numeric",
|
|
39
|
+
autoComplete: "off",
|
|
40
|
+
value: n,
|
|
41
|
+
onChange: (e) => r(e.target.value),
|
|
42
|
+
required: i,
|
|
43
|
+
className: "min-h-11"
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function k({ id: e, value: t, onChange: r }) {
|
|
48
|
+
let i = n();
|
|
49
|
+
return /* @__PURE__ */ w("div", {
|
|
50
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
51
|
+
children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(o, {
|
|
52
|
+
htmlFor: `${e}-reference`,
|
|
53
|
+
children: i("movethewheels.palletPreview.sourceReference", "Source reference")
|
|
54
|
+
}), /* @__PURE__ */ C(a, {
|
|
55
|
+
id: `${e}-reference`,
|
|
56
|
+
value: t.reference,
|
|
57
|
+
maxLength: 255,
|
|
58
|
+
onChange: (e) => r({
|
|
59
|
+
...t,
|
|
60
|
+
reference: e.target.value
|
|
61
|
+
}),
|
|
62
|
+
className: "min-h-11"
|
|
63
|
+
})] }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(o, {
|
|
64
|
+
htmlFor: `${e}-version`,
|
|
65
|
+
children: i("movethewheels.palletPreview.sourceVersion", "Source version")
|
|
66
|
+
}), /* @__PURE__ */ C(a, {
|
|
67
|
+
id: `${e}-version`,
|
|
68
|
+
value: t.version,
|
|
69
|
+
maxLength: 120,
|
|
70
|
+
onChange: (e) => r({
|
|
71
|
+
...t,
|
|
72
|
+
version: e.target.value
|
|
73
|
+
}),
|
|
74
|
+
className: "min-h-11"
|
|
75
|
+
})] })]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function A({ id: e, label: t, value: n, choices: r, onChange: i }) {
|
|
79
|
+
return /* @__PURE__ */ w("div", {
|
|
80
|
+
className: "min-w-0 space-y-1",
|
|
81
|
+
children: [/* @__PURE__ */ C(o, {
|
|
82
|
+
htmlFor: e,
|
|
83
|
+
children: t
|
|
84
|
+
}), /* @__PURE__ */ w(s, {
|
|
85
|
+
value: n,
|
|
86
|
+
onValueChange: i,
|
|
87
|
+
children: [/* @__PURE__ */ C(u, {
|
|
88
|
+
id: e,
|
|
89
|
+
className: "min-h-11",
|
|
90
|
+
children: /* @__PURE__ */ C(d, {})
|
|
91
|
+
}), /* @__PURE__ */ C(c, { children: r.map((e) => /* @__PURE__ */ C(l, {
|
|
92
|
+
value: e.value,
|
|
93
|
+
children: e.label
|
|
94
|
+
}, e.value)) })]
|
|
95
|
+
})]
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function j() {
|
|
99
|
+
let { workspaceId: e, tenantId: n, currentUser: r, apiGatewayUrl: i } = t();
|
|
100
|
+
return /* @__PURE__ */ C(M, {}, JSON.stringify([
|
|
101
|
+
e,
|
|
102
|
+
n,
|
|
103
|
+
r?.id,
|
|
104
|
+
i
|
|
105
|
+
]));
|
|
106
|
+
}
|
|
107
|
+
function M() {
|
|
108
|
+
let t = n(), s = b(), [c, l] = S(_), [u, d] = S(!1), [j, M] = S(null), N = x(null), P = x(2), F = m();
|
|
109
|
+
y(() => {
|
|
110
|
+
if (j) {
|
|
111
|
+
let e = document.getElementById(`${s}-${j.field}`) ?? document.getElementById(`${s}-${j.field}-reference`);
|
|
112
|
+
e instanceof HTMLElement ? e.focus() : N.current?.focus();
|
|
113
|
+
}
|
|
114
|
+
}, [j, s]);
|
|
115
|
+
let I = (e) => {
|
|
116
|
+
F.invalidate(), d(!0), M(null), l(e);
|
|
117
|
+
}, L = (e, n, r, i) => /* @__PURE__ */ C(O, {
|
|
118
|
+
id: `${s}-${e}-${n}`,
|
|
119
|
+
label: t(`movethewheels.palletPreview.fields.${n}`, D[n]),
|
|
120
|
+
value: r,
|
|
121
|
+
onChange: i
|
|
122
|
+
}, n), R = t("movethewheels.palletPreview.unknown", "Unknown"), z = j?.kind === "MASS" ? t("movethewheels.palletPreview.massError", "Use whole grams, without separators or a decimal point (0–1000000000000 g).") : j?.kind === "SOURCE" ? t("movethewheels.palletPreview.sourceError", "Provide both a source reference and version, or leave both blank.") : j?.kind === "IDENTITY" ? t("movethewheels.palletPreview.identityError", "Use a distinct, nonblank package identifier without surrounding whitespace.") : j?.kind === "COUNT" ? t("movethewheels.palletPreview.countError", "Use 1–100 package lines and at most 1000 total units.") : t("movethewheels.palletPreview.wholeError", "Use bounded whole millimetres or counts without separators, leading zeros or a decimal point. Dimensions must be positive; clearances may be zero.");
|
|
123
|
+
return /* @__PURE__ */ w(f, {
|
|
124
|
+
title: t("movethewheels.palletPreview.title", "Pallet preview"),
|
|
125
|
+
subtitle: t("movethewheels.palletPreview.purpose", "Inspect an arrangement against supplied measurements."),
|
|
126
|
+
icon: /* @__PURE__ */ C(e, { "aria-hidden": "true" }),
|
|
127
|
+
headerActions: /* @__PURE__ */ C(r, {
|
|
128
|
+
type: "submit",
|
|
129
|
+
form: `${s}-form`,
|
|
130
|
+
disabled: F.loading || !F.ready,
|
|
131
|
+
className: "min-h-11",
|
|
132
|
+
children: F.loading ? t("movethewheels.palletPreview.loading", "Previewing…") : t("movethewheels.palletPreview.submit", "Preview arrangement")
|
|
133
|
+
}),
|
|
134
|
+
children: [
|
|
135
|
+
/* @__PURE__ */ C("p", {
|
|
136
|
+
className: "mb-4 text-sm",
|
|
137
|
+
children: t("movethewheels.palletPreview.boundary", "Geometric proposal only. Not a packing approval, reservation or handling instruction.")
|
|
138
|
+
}),
|
|
139
|
+
!F.ready && /* @__PURE__ */ C("p", {
|
|
140
|
+
role: "status",
|
|
141
|
+
className: "mb-4",
|
|
142
|
+
children: t("movethewheels.palletPreview.contextRequired", "A current workspace and signed-in profile are required.")
|
|
143
|
+
}),
|
|
144
|
+
/* @__PURE__ */ w("div", {
|
|
145
|
+
"aria-live": "polite",
|
|
146
|
+
className: "mb-4",
|
|
147
|
+
children: [u && t("movethewheels.palletPreview.stale", "Inputs changed; preview again."), F.loading && t("movethewheels.palletPreview.loading", "Previewing…")]
|
|
148
|
+
}),
|
|
149
|
+
j && /* @__PURE__ */ C("div", {
|
|
150
|
+
role: "alert",
|
|
151
|
+
ref: N,
|
|
152
|
+
tabIndex: -1,
|
|
153
|
+
className: "mb-4 border border-border rounded-lg p-3",
|
|
154
|
+
children: z
|
|
155
|
+
}),
|
|
156
|
+
F.failed && /* @__PURE__ */ C("p", {
|
|
157
|
+
role: "alert",
|
|
158
|
+
className: "mb-4",
|
|
159
|
+
children: t("movethewheels.palletPreview.readError", "Preview could not be verified. Review the current context and try Preview arrangement again.")
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ C("form", {
|
|
162
|
+
id: `${s}-form`,
|
|
163
|
+
noValidate: !0,
|
|
164
|
+
onSubmit: (e) => {
|
|
165
|
+
if (e.preventDefault(), !(F.loading || !F.ready)) try {
|
|
166
|
+
let e = v(c);
|
|
167
|
+
M(null), d(!1), F.run(e);
|
|
168
|
+
} catch (e) {
|
|
169
|
+
F.invalidate(), M(e instanceof h ? e : new h("packages", "COUNT"));
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
children: /* @__PURE__ */ w("fieldset", {
|
|
173
|
+
disabled: !F.ready,
|
|
174
|
+
className: "space-y-5 min-w-0",
|
|
175
|
+
children: [
|
|
176
|
+
/* @__PURE__ */ C("legend", {
|
|
177
|
+
className: "sr-only",
|
|
178
|
+
children: t("movethewheels.palletPreview.facts", "Supplied pallet preview facts")
|
|
179
|
+
}),
|
|
180
|
+
/* @__PURE__ */ C(E, {
|
|
181
|
+
title: t("movethewheels.palletPreview.packages", "Packages"),
|
|
182
|
+
description: t("movethewheels.palletPreview.blankMeaning", "Leave unavailable measurements blank. Blank is unknown, not zero."),
|
|
183
|
+
actions: /* @__PURE__ */ C(r, {
|
|
184
|
+
type: "button",
|
|
185
|
+
variant: "outline",
|
|
186
|
+
disabled: c.packages.length >= 100,
|
|
187
|
+
onClick: () => {
|
|
188
|
+
let e = P.current++;
|
|
189
|
+
I((t) => ({
|
|
190
|
+
...t,
|
|
191
|
+
packages: [...t.packages, g(e)]
|
|
192
|
+
}));
|
|
193
|
+
},
|
|
194
|
+
className: "min-h-11",
|
|
195
|
+
children: t("movethewheels.palletPreview.addPackage", "Add package line")
|
|
196
|
+
}),
|
|
197
|
+
children: /* @__PURE__ */ C("div", {
|
|
198
|
+
className: "space-y-5",
|
|
199
|
+
children: c.packages.map((e, n) => /* @__PURE__ */ w("section", {
|
|
200
|
+
className: "rounded-lg border border-border p-4 space-y-4",
|
|
201
|
+
"aria-label": t("movethewheels.palletPreview.packageNumber", "Package {{number}}", { number: n + 1 }),
|
|
202
|
+
children: [
|
|
203
|
+
/* @__PURE__ */ w("div", {
|
|
204
|
+
className: "flex flex-wrap gap-3 items-center justify-between",
|
|
205
|
+
children: [/* @__PURE__ */ C("h2", {
|
|
206
|
+
className: "font-semibold",
|
|
207
|
+
children: t("movethewheels.palletPreview.packageNumber", "Package {{number}}", { number: n + 1 })
|
|
208
|
+
}), /* @__PURE__ */ C(r, {
|
|
209
|
+
type: "button",
|
|
210
|
+
variant: "ghost",
|
|
211
|
+
disabled: c.packages.length === 1,
|
|
212
|
+
onClick: () => I((t) => ({
|
|
213
|
+
...t,
|
|
214
|
+
packages: t.packages.filter((t) => t.key !== e.key)
|
|
215
|
+
})),
|
|
216
|
+
children: t("movethewheels.palletPreview.remove", "Remove line")
|
|
217
|
+
})]
|
|
218
|
+
}),
|
|
219
|
+
/* @__PURE__ */ w("div", {
|
|
220
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
221
|
+
children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(o, {
|
|
222
|
+
htmlFor: `${s}-package-${e.key}-id`,
|
|
223
|
+
children: t("movethewheels.palletPreview.packageId", "Package identifier")
|
|
224
|
+
}), /* @__PURE__ */ C(a, {
|
|
225
|
+
id: `${s}-package-${e.key}-id`,
|
|
226
|
+
value: e.id,
|
|
227
|
+
required: !0,
|
|
228
|
+
maxLength: 255,
|
|
229
|
+
onChange: (t) => I((n) => ({
|
|
230
|
+
...n,
|
|
231
|
+
packages: n.packages.map((n) => n.key === e.key ? {
|
|
232
|
+
...n,
|
|
233
|
+
id: t.target.value
|
|
234
|
+
} : n)
|
|
235
|
+
})),
|
|
236
|
+
className: "min-h-11"
|
|
237
|
+
})] }), /* @__PURE__ */ C(O, {
|
|
238
|
+
id: `${s}-package-${e.key}-quantity`,
|
|
239
|
+
label: t("movethewheels.palletPreview.quantity", "Required quantity"),
|
|
240
|
+
value: e.quantity,
|
|
241
|
+
required: !0,
|
|
242
|
+
onChange: (t) => I((n) => ({
|
|
243
|
+
...n,
|
|
244
|
+
packages: n.packages.map((n) => n.key === e.key ? {
|
|
245
|
+
...n,
|
|
246
|
+
quantity: t
|
|
247
|
+
} : n)
|
|
248
|
+
}))
|
|
249
|
+
})]
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ C("div", {
|
|
252
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
253
|
+
children: [
|
|
254
|
+
"widthMm",
|
|
255
|
+
"lengthMm",
|
|
256
|
+
"heightMm",
|
|
257
|
+
"grossMassG"
|
|
258
|
+
].map((t) => L(`package-${e.key}`, t, e[t], (n) => I((r) => ({
|
|
259
|
+
...r,
|
|
260
|
+
packages: r.packages.map((r) => r.key === e.key ? {
|
|
261
|
+
...r,
|
|
262
|
+
[t]: n
|
|
263
|
+
} : r)
|
|
264
|
+
}))))
|
|
265
|
+
}),
|
|
266
|
+
/* @__PURE__ */ w("div", {
|
|
267
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
268
|
+
children: [/* @__PURE__ */ C(A, {
|
|
269
|
+
id: `${s}-package-${e.key}-upright`,
|
|
270
|
+
label: t("movethewheels.palletPreview.upright", "Upright handling permission"),
|
|
271
|
+
value: e.upright,
|
|
272
|
+
choices: [
|
|
273
|
+
{
|
|
274
|
+
value: "UNKNOWN",
|
|
275
|
+
label: R
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
value: "YES",
|
|
279
|
+
label: t("movethewheels.palletPreview.permitted", "Permitted")
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
value: "NO",
|
|
283
|
+
label: t("movethewheels.palletPreview.denied", "Not permitted")
|
|
284
|
+
}
|
|
285
|
+
],
|
|
286
|
+
onChange: (t) => {
|
|
287
|
+
(t === "UNKNOWN" || t === "YES" || t === "NO") && I((n) => ({
|
|
288
|
+
...n,
|
|
289
|
+
packages: n.packages.map((n) => n.key === e.key ? {
|
|
290
|
+
...n,
|
|
291
|
+
upright: t
|
|
292
|
+
} : n)
|
|
293
|
+
}));
|
|
294
|
+
}
|
|
295
|
+
}), /* @__PURE__ */ C(A, {
|
|
296
|
+
id: `${s}-package-${e.key}-yaw`,
|
|
297
|
+
label: t("movethewheels.palletPreview.yaw", "Allowed upright yaw"),
|
|
298
|
+
value: e.yaw,
|
|
299
|
+
choices: [
|
|
300
|
+
{
|
|
301
|
+
value: "UNKNOWN",
|
|
302
|
+
label: R
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
value: "NONE",
|
|
306
|
+
label: t("movethewheels.palletPreview.noYaw", "None permitted")
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
value: "0",
|
|
310
|
+
label: "0°"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
value: "90",
|
|
314
|
+
label: "90°"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
value: "BOTH",
|
|
318
|
+
label: "0° / 90°"
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
onChange: (t) => {
|
|
322
|
+
(t === "UNKNOWN" || t === "NONE" || t === "0" || t === "90" || t === "BOTH") && I((n) => ({
|
|
323
|
+
...n,
|
|
324
|
+
packages: n.packages.map((n) => n.key === e.key ? {
|
|
325
|
+
...n,
|
|
326
|
+
yaw: t
|
|
327
|
+
} : n)
|
|
328
|
+
}));
|
|
329
|
+
}
|
|
330
|
+
})]
|
|
331
|
+
}),
|
|
332
|
+
/* @__PURE__ */ C(k, {
|
|
333
|
+
id: `${s}-package-${e.key}-source`,
|
|
334
|
+
value: e.source,
|
|
335
|
+
onChange: (t) => I((n) => ({
|
|
336
|
+
...n,
|
|
337
|
+
packages: n.packages.map((n) => n.key === e.key ? {
|
|
338
|
+
...n,
|
|
339
|
+
source: t
|
|
340
|
+
} : n)
|
|
341
|
+
}))
|
|
342
|
+
})
|
|
343
|
+
]
|
|
344
|
+
}, e.key))
|
|
345
|
+
})
|
|
346
|
+
}),
|
|
347
|
+
/* @__PURE__ */ C("p", {
|
|
348
|
+
className: "text-sm text-text-secondary",
|
|
349
|
+
children: t("movethewheels.palletPreview.sourceBoundary", "Your declared measurement sources; not independent verification.")
|
|
350
|
+
}),
|
|
351
|
+
/* @__PURE__ */ w(E, {
|
|
352
|
+
title: t("movethewheels.palletPreview.pallet", "Pallet — dimensions and ratings"),
|
|
353
|
+
children: [/* @__PURE__ */ C("div", {
|
|
354
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
355
|
+
children: [
|
|
356
|
+
"widthMm",
|
|
357
|
+
"lengthMm",
|
|
358
|
+
"heightMm",
|
|
359
|
+
"tareMassG",
|
|
360
|
+
"maxPayloadMassG"
|
|
361
|
+
].map((e) => L("pallet", e, c.pallet[e], (t) => I((n) => ({
|
|
362
|
+
...n,
|
|
363
|
+
pallet: {
|
|
364
|
+
...n.pallet,
|
|
365
|
+
[e]: t
|
|
366
|
+
}
|
|
367
|
+
}))))
|
|
368
|
+
}), /* @__PURE__ */ C(k, {
|
|
369
|
+
id: `${s}-pallet-source`,
|
|
370
|
+
value: c.pallet.source,
|
|
371
|
+
onChange: (e) => I((t) => ({
|
|
372
|
+
...t,
|
|
373
|
+
pallet: {
|
|
374
|
+
...t.pallet,
|
|
375
|
+
source: e
|
|
376
|
+
}
|
|
377
|
+
}))
|
|
378
|
+
})]
|
|
379
|
+
}),
|
|
380
|
+
/* @__PURE__ */ w(E, {
|
|
381
|
+
title: t("movethewheels.palletPreview.clearance", "Clearance"),
|
|
382
|
+
children: [/* @__PURE__ */ C("div", {
|
|
383
|
+
className: "grid gap-3 sm:grid-cols-3",
|
|
384
|
+
children: [
|
|
385
|
+
"perimeterMm",
|
|
386
|
+
"betweenPackagesMm",
|
|
387
|
+
"topMm"
|
|
388
|
+
].map((e) => L("clearance", e, c.clearance[e], (t) => I((n) => ({
|
|
389
|
+
...n,
|
|
390
|
+
clearance: {
|
|
391
|
+
...n.clearance,
|
|
392
|
+
[e]: t
|
|
393
|
+
}
|
|
394
|
+
}))))
|
|
395
|
+
}), /* @__PURE__ */ C(k, {
|
|
396
|
+
id: `${s}-clearance-source`,
|
|
397
|
+
value: c.clearance.source,
|
|
398
|
+
onChange: (e) => I((t) => ({
|
|
399
|
+
...t,
|
|
400
|
+
clearance: {
|
|
401
|
+
...t.clearance,
|
|
402
|
+
source: e
|
|
403
|
+
}
|
|
404
|
+
}))
|
|
405
|
+
})]
|
|
406
|
+
}),
|
|
407
|
+
/* @__PURE__ */ w(E, {
|
|
408
|
+
title: t("movethewheels.palletPreview.additionalPacking", "Additional packing — mass only"),
|
|
409
|
+
children: [
|
|
410
|
+
/* @__PURE__ */ C("p", {
|
|
411
|
+
className: "text-sm mb-2",
|
|
412
|
+
children: t("movethewheels.palletPreview.packingUnknown", "Packing geometry remains unknown, even when its mass is supplied.")
|
|
413
|
+
}),
|
|
414
|
+
L("packing", "massG", c.additionalPacking.massG, (e) => I((t) => ({
|
|
415
|
+
...t,
|
|
416
|
+
additionalPacking: {
|
|
417
|
+
...t.additionalPacking,
|
|
418
|
+
massG: e
|
|
419
|
+
}
|
|
420
|
+
}))),
|
|
421
|
+
/* @__PURE__ */ C(k, {
|
|
422
|
+
id: `${s}-packing-source`,
|
|
423
|
+
value: c.additionalPacking.source,
|
|
424
|
+
onChange: (e) => I((t) => ({
|
|
425
|
+
...t,
|
|
426
|
+
additionalPacking: {
|
|
427
|
+
...t.additionalPacking,
|
|
428
|
+
source: e
|
|
429
|
+
}
|
|
430
|
+
}))
|
|
431
|
+
})
|
|
432
|
+
]
|
|
433
|
+
}),
|
|
434
|
+
/* @__PURE__ */ w(T, {
|
|
435
|
+
title: t("movethewheels.palletPreview.envelope", "Optional supplied load envelope and rating"),
|
|
436
|
+
description: t("movethewheels.palletPreview.envelopeBoundary", "An inner envelope does not prove door passage."),
|
|
437
|
+
children: [/* @__PURE__ */ w("div", {
|
|
438
|
+
className: "flex items-center gap-3 mb-3",
|
|
439
|
+
children: [/* @__PURE__ */ C(i, {
|
|
440
|
+
id: `${s}-include-envelope`,
|
|
441
|
+
checked: c.includeEnvelope,
|
|
442
|
+
onCheckedChange: (e) => I((t) => ({
|
|
443
|
+
...t,
|
|
444
|
+
includeEnvelope: e === !0
|
|
445
|
+
}))
|
|
446
|
+
}), /* @__PURE__ */ C(o, {
|
|
447
|
+
htmlFor: `${s}-include-envelope`,
|
|
448
|
+
children: t("movethewheels.palletPreview.includeEnvelope", "Include supplied load envelope")
|
|
449
|
+
})]
|
|
450
|
+
}), /* @__PURE__ */ w("fieldset", {
|
|
451
|
+
disabled: !c.includeEnvelope,
|
|
452
|
+
className: "space-y-3",
|
|
453
|
+
children: [
|
|
454
|
+
/* @__PURE__ */ C("legend", {
|
|
455
|
+
className: "sr-only",
|
|
456
|
+
children: t("movethewheels.palletPreview.envelopeFacts", "Load envelope facts")
|
|
457
|
+
}),
|
|
458
|
+
/* @__PURE__ */ C("div", {
|
|
459
|
+
className: "grid gap-3 sm:grid-cols-2",
|
|
460
|
+
children: [
|
|
461
|
+
"widthMm",
|
|
462
|
+
"lengthMm",
|
|
463
|
+
"maxHeightMm",
|
|
464
|
+
"maxGrossMassG"
|
|
465
|
+
].map((e) => L("envelope", e, c.loadEnvelope[e], (t) => I((n) => ({
|
|
466
|
+
...n,
|
|
467
|
+
loadEnvelope: {
|
|
468
|
+
...n.loadEnvelope,
|
|
469
|
+
[e]: t
|
|
470
|
+
}
|
|
471
|
+
}))))
|
|
472
|
+
}),
|
|
473
|
+
/* @__PURE__ */ C(k, {
|
|
474
|
+
id: `${s}-envelope-source`,
|
|
475
|
+
value: c.loadEnvelope.source,
|
|
476
|
+
onChange: (e) => I((t) => ({
|
|
477
|
+
...t,
|
|
478
|
+
loadEnvelope: {
|
|
479
|
+
...t.loadEnvelope,
|
|
480
|
+
source: e
|
|
481
|
+
}
|
|
482
|
+
}))
|
|
483
|
+
})
|
|
484
|
+
]
|
|
485
|
+
})]
|
|
486
|
+
})
|
|
487
|
+
]
|
|
488
|
+
})
|
|
489
|
+
}),
|
|
490
|
+
/* @__PURE__ */ C("div", {
|
|
491
|
+
className: "mt-8",
|
|
492
|
+
children: F.result && F.input && /* @__PURE__ */ C(p, {
|
|
493
|
+
result: F.result,
|
|
494
|
+
input: F.input
|
|
495
|
+
})
|
|
496
|
+
})
|
|
497
|
+
]
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
//#endregion
|
|
501
|
+
export { j as default };
|