@burdenoff/microfe-movethewheels 2026.703.8 → 2026.704.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/{CreateOrderPage-V8aXfcpN.js → CreateOrderPage-CXbhJLLz.js} +163 -138
  2. package/dist/{DashboardPage-DiD-cWwD.js → DashboardPage-BoswH3ec.js} +2 -2
  3. package/dist/DriverDetailsPage-CPO0G8Ki.js +518 -0
  4. package/dist/{DriversPage-DW-FGPFW.js → DriversPage-6Z61dpDI.js} +1 -1
  5. package/dist/{FleetPage-P9k4zZqP.js → FleetPage-qWRj7WFO.js} +1 -1
  6. package/dist/{InventoryPage-BWikjZMW.js → InventoryPage-DbR4Z--d.js} +1 -1
  7. package/dist/{LiveTrackingPage-UQBWlthJ.js → LiveTrackingPage-5U68u3oA.js} +1 -1
  8. package/dist/{OrderDetailsPage-2J4ua0wd.js → OrderDetailsPage-DRYifXm9.js} +1 -1
  9. package/dist/ProductDetailsPage-CWgcRqGR.js +375 -0
  10. package/dist/{ProductsPage-Bn1U2jTj.js → ProductsPage-CokwDOR2.js} +1 -1
  11. package/dist/{RouteDetailsPage-CgSY1CTd.js → RouteDetailsPage-BHQbFgI9.js} +242 -210
  12. package/dist/{SettingsPage-2a05Sq2k.js → SettingsPage-_6SIlcBX.js} +1 -1
  13. package/dist/{TrackingPage-SnjW6qeD.js → TrackingPage-Cg0tYGJe.js} +1 -1
  14. package/dist/{VehicleDetailsPage-CvRMJ2zC.js → VehicleDetailsPage-BbZlCFPo.js} +159 -135
  15. package/dist/{VehiclesPage-qxf-1C1B.js → VehiclesPage-BfBEyXGs.js} +1 -1
  16. package/dist/WarehouseDetailsPage-DxNhiaoI.js +515 -0
  17. package/dist/{WarehousesPage-44Wj7AGT.js → WarehousesPage-M3NaBT0z.js} +1 -1
  18. package/dist/index.js +25 -5
  19. package/dist/{useFleet-BXSocBD_.js → useFleet-BfA_-VUW.js} +100 -71
  20. package/dist/{useInventory-DmZficcp.js → useInventory-BO7TSgq_.js} +98 -72
  21. package/dist/{useSettings-CteNasBE.js → useSettings-BNNzQs_B.js} +1 -1
  22. package/dist/{useTracking-B7ttexRe.js → useTracking-7nd_XOSL.js} +1 -1
  23. package/package.json +1 -1
  24. package/src/movethewheels/MoveTheWheelsRoutes.tsx +5 -0
  25. package/src/movethewheels/hooks/useFleet.ts +113 -0
  26. package/src/movethewheels/hooks/useInventory.ts +86 -0
  27. package/src/movethewheels/hooks/useSettings.ts +8 -1
  28. package/src/movethewheels/pages/CreateOrderPage.tsx +48 -6
  29. package/src/movethewheels/pages/DriverDetailsPage.tsx +56 -18
  30. package/src/movethewheels/pages/ProductDetailsPage.tsx +51 -15
  31. package/src/movethewheels/pages/RouteDetailsPage.tsx +51 -7
  32. package/src/movethewheels/pages/VehicleDetailsPage.tsx +51 -15
  33. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +46 -10
  34. package/src/movethewheels/types/index.ts +3 -0
  35. package/dist/DriverDetailsPage-DjaXaATQ.js +0 -490
  36. package/dist/ProductDetailsPage-BSjWLrty.js +0 -350
  37. package/dist/WarehouseDetailsPage-D0Wyyj1Y.js +0 -493
@@ -1,493 +0,0 @@
1
- import { A as e, F as t, I as n, L as r, M as i, P as a, R as o, d as s, f as c, g as l, h as u, i as d, j as f, l as p, lt as m, n as h, r as g, st as _, u as v } from "./PageLayout-j9Zw3wBN.js";
2
- import { t as y } from "./arrow-left-1dVWv2dg.js";
3
- import { t as b } from "./box-DW1KNP8j.js";
4
- import { t as x } from "./clock-B4-qjGuB.js";
5
- import { t as S } from "./map-pin-BISLzLwb.js";
6
- import { t as C } from "./save-CcfoIn2J.js";
7
- import { t as w } from "./square-pen-Dr1X-P2s.js";
8
- import { t as T } from "./users-BKmsb79k.js";
9
- import { t as E } from "./warehouse-DE1irFyJ.js";
10
- import { o as D, t as O } from "./useInventory-DmZficcp.js";
11
- import { t as k } from "./FormError-D4T5FWZA.js";
12
- import { t as A } from "./formatters-FWJDwTFv.js";
13
- import { useState as j } from "react";
14
- import { useParams as M } from "react-router-dom";
15
- import { jsx as N, jsxs as P } from "react/jsx-runtime";
16
- import { EmphasisPanel as F, NextSteps as I, PagePurpose as L } from "@burdenoff/fe-libs/ui";
17
- //#region src/movethewheels/pages/WarehouseDetailsPage.tsx
18
- var R = [
19
- {
20
- value: "DISTRIBUTION",
21
- label: "Distribution"
22
- },
23
- {
24
- value: "FULFILLMENT",
25
- label: "Fulfillment"
26
- },
27
- {
28
- value: "COLD_STORAGE",
29
- label: "Cold Storage"
30
- },
31
- {
32
- value: "CROSS_DOCK",
33
- label: "Cross-Dock"
34
- },
35
- {
36
- value: "RETAIL",
37
- label: "Retail"
38
- }
39
- ];
40
- function z() {
41
- let { basePath: i, navigate: p } = _(), { createWarehouse: h } = O(), [g, b] = j({
42
- code: "",
43
- name: "",
44
- type: "DISTRIBUTION",
45
- street: "",
46
- city: "",
47
- state: "",
48
- postalCode: "",
49
- country: "USA",
50
- totalCapacity: ""
51
- }), [x, w] = j(!1), [T, D] = j(null), A = () => p?.(m(i, "inventory/warehouses")), M = (e, t) => b((n) => ({
52
- ...n,
53
- [e]: t
54
- })), I = async (e) => {
55
- if (e.preventDefault(), !g.code.trim() || !g.name.trim()) {
56
- D("Warehouse code and name are required.");
57
- return;
58
- }
59
- if (!g.street.trim() || !g.city.trim()) {
60
- D("A street and city are required for the warehouse address.");
61
- return;
62
- }
63
- w(!0), D(null);
64
- try {
65
- let e = g.totalCapacity.trim() ? Number(g.totalCapacity) : void 0, t = await h({
66
- code: g.code.trim(),
67
- name: g.name.trim(),
68
- type: g.type,
69
- address: {
70
- street: g.street.trim(),
71
- city: g.city.trim(),
72
- state: g.state.trim(),
73
- postalCode: g.postalCode.trim(),
74
- country: g.country.trim()
75
- },
76
- totalCapacity: e !== void 0 && !Number.isNaN(e) ? e : void 0
77
- });
78
- p?.(m(i, `inventory/warehouses/${t.id}`));
79
- } catch (e) {
80
- console.error("Failed to create warehouse:", e), D(e instanceof Error ? e.message : "Failed to create warehouse. Please try again."), w(!1);
81
- }
82
- };
83
- return /* @__PURE__ */ P(d, {
84
- title: "Add Warehouse",
85
- subtitle: "Register a storage and fulfilment site",
86
- icon: /* @__PURE__ */ N(E, { size: 24 }),
87
- headerActions: /* @__PURE__ */ P("div", {
88
- className: "flex gap-2",
89
- children: [/* @__PURE__ */ P(v, {
90
- variant: "outline",
91
- onClick: A,
92
- disabled: x,
93
- children: [/* @__PURE__ */ N(y, { size: 16 }), " Cancel"]
94
- }), /* @__PURE__ */ P(v, {
95
- onClick: I,
96
- disabled: x,
97
- children: [
98
- /* @__PURE__ */ N(C, { size: 16 }),
99
- " ",
100
- x ? "Saving..." : "Add Warehouse"
101
- ]
102
- })]
103
- }),
104
- children: [/* @__PURE__ */ N(L, {
105
- icon: /* @__PURE__ */ N(E, { size: 18 }),
106
- children: "Add a warehouse so you can store inventory and fulfil orders from it. A code, name, type and location get it on the network — set a total capacity to track utilization."
107
- }), /* @__PURE__ */ P("form", {
108
- onSubmit: I,
109
- className: "max-w-2xl space-y-6",
110
- children: [
111
- /* @__PURE__ */ N(k, { message: T }),
112
- /* @__PURE__ */ P(F, { children: [/* @__PURE__ */ N("h2", {
113
- className: "text-base font-semibold text-text-primary mb-4",
114
- children: "Warehouse Details"
115
- }), /* @__PURE__ */ P("div", {
116
- className: "space-y-4",
117
- children: [/* @__PURE__ */ P("div", {
118
- className: "grid grid-cols-1 md:grid-cols-3 gap-4",
119
- children: [
120
- /* @__PURE__ */ P("div", {
121
- className: "space-y-2",
122
- children: [/* @__PURE__ */ P(f, {
123
- htmlFor: "code",
124
- children: ["Code ", /* @__PURE__ */ N("span", {
125
- className: "text-status-error-text",
126
- children: "*"
127
- })]
128
- }), /* @__PURE__ */ N(e, {
129
- id: "code",
130
- value: g.code,
131
- onChange: (e) => M("code", e.target.value),
132
- placeholder: "WH-SF-01",
133
- required: !0
134
- })]
135
- }),
136
- /* @__PURE__ */ P("div", {
137
- className: "space-y-2",
138
- children: [/* @__PURE__ */ P(f, {
139
- htmlFor: "name",
140
- children: ["Name ", /* @__PURE__ */ N("span", {
141
- className: "text-status-error-text",
142
- children: "*"
143
- })]
144
- }), /* @__PURE__ */ N(e, {
145
- id: "name",
146
- value: g.name,
147
- onChange: (e) => M("name", e.target.value),
148
- placeholder: "San Francisco DC",
149
- required: !0
150
- })]
151
- }),
152
- /* @__PURE__ */ P("div", {
153
- className: "space-y-2",
154
- children: [/* @__PURE__ */ P(f, {
155
- htmlFor: "type",
156
- children: ["Type ", /* @__PURE__ */ N("span", {
157
- className: "text-status-error-text",
158
- children: "*"
159
- })]
160
- }), /* @__PURE__ */ P(a, {
161
- value: g.type,
162
- onValueChange: (e) => M("type", e),
163
- children: [/* @__PURE__ */ N(r, {
164
- id: "type",
165
- children: /* @__PURE__ */ N(o, {})
166
- }), /* @__PURE__ */ N(t, { children: R.map((e) => /* @__PURE__ */ N(n, {
167
- value: e.value,
168
- children: e.label
169
- }, e.value)) })]
170
- })]
171
- })
172
- ]
173
- }), /* @__PURE__ */ P("div", {
174
- className: "space-y-2",
175
- children: [/* @__PURE__ */ N(f, {
176
- htmlFor: "totalCapacity",
177
- children: "Total Capacity (sq ft)"
178
- }), /* @__PURE__ */ N(e, {
179
- id: "totalCapacity",
180
- type: "number",
181
- min: "0",
182
- value: g.totalCapacity,
183
- onChange: (e) => M("totalCapacity", e.target.value),
184
- placeholder: "50000"
185
- })]
186
- })]
187
- })] }),
188
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
189
- className: "flex items-center gap-2",
190
- children: [
191
- /* @__PURE__ */ N(S, { size: 18 }),
192
- " Address ",
193
- /* @__PURE__ */ N("span", {
194
- className: "text-status-error-text",
195
- children: "*"
196
- })
197
- ]
198
- }) }), /* @__PURE__ */ P(c, {
199
- className: "space-y-4",
200
- children: [
201
- /* @__PURE__ */ P("div", {
202
- className: "space-y-2",
203
- children: [/* @__PURE__ */ N(f, {
204
- htmlFor: "street",
205
- children: "Street"
206
- }), /* @__PURE__ */ N(e, {
207
- id: "street",
208
- value: g.street,
209
- onChange: (e) => M("street", e.target.value),
210
- placeholder: "500 Industrial Way"
211
- })]
212
- }),
213
- /* @__PURE__ */ P("div", {
214
- className: "grid grid-cols-1 md:grid-cols-2 gap-4",
215
- children: [/* @__PURE__ */ P("div", {
216
- className: "space-y-2",
217
- children: [/* @__PURE__ */ N(f, {
218
- htmlFor: "city",
219
- children: "City"
220
- }), /* @__PURE__ */ N(e, {
221
- id: "city",
222
- value: g.city,
223
- onChange: (e) => M("city", e.target.value),
224
- placeholder: "San Francisco"
225
- })]
226
- }), /* @__PURE__ */ P("div", {
227
- className: "space-y-2",
228
- children: [/* @__PURE__ */ N(f, {
229
- htmlFor: "state",
230
- children: "State"
231
- }), /* @__PURE__ */ N(e, {
232
- id: "state",
233
- value: g.state,
234
- onChange: (e) => M("state", e.target.value),
235
- placeholder: "CA"
236
- })]
237
- })]
238
- }),
239
- /* @__PURE__ */ P("div", {
240
- className: "grid grid-cols-1 md:grid-cols-2 gap-4",
241
- children: [/* @__PURE__ */ P("div", {
242
- className: "space-y-2",
243
- children: [/* @__PURE__ */ N(f, {
244
- htmlFor: "postalCode",
245
- children: "ZIP / Postal Code"
246
- }), /* @__PURE__ */ N(e, {
247
- id: "postalCode",
248
- value: g.postalCode,
249
- onChange: (e) => M("postalCode", e.target.value),
250
- placeholder: "94103"
251
- })]
252
- }), /* @__PURE__ */ P("div", {
253
- className: "space-y-2",
254
- children: [/* @__PURE__ */ N(f, {
255
- htmlFor: "country",
256
- children: "Country"
257
- }), /* @__PURE__ */ N(e, {
258
- id: "country",
259
- value: g.country,
260
- onChange: (e) => M("country", e.target.value),
261
- placeholder: "USA"
262
- })]
263
- })]
264
- })
265
- ]
266
- })] })
267
- ]
268
- })]
269
- });
270
- }
271
- function B() {
272
- let { warehouseId: e } = M(), { basePath: t, navigate: n } = _(), { warehouse: r, isLoading: a, error: o, refetch: f } = D(e), C = () => n?.(m(t, "inventory/warehouses")), O = (e) => n?.(m(t, e));
273
- if (!e) return /* @__PURE__ */ N(z, {});
274
- if (a) return /* @__PURE__ */ N(g, { message: "Loading warehouse details..." });
275
- if (o || !r) return /* @__PURE__ */ N(h, {
276
- title: "Warehouse not found",
277
- onRetry: f
278
- });
279
- let k = r.capacity.usedSpace / r.capacity.totalSpace * 100;
280
- return /* @__PURE__ */ P(d, {
281
- title: r.name,
282
- subtitle: `Code: ${r.code}`,
283
- icon: /* @__PURE__ */ N(E, { size: 24 }),
284
- headerActions: /* @__PURE__ */ P("div", {
285
- className: "flex gap-2",
286
- children: [/* @__PURE__ */ P(v, {
287
- variant: "outline",
288
- onClick: C,
289
- children: [/* @__PURE__ */ N(y, { size: 16 }), " Back"]
290
- }), /* @__PURE__ */ P(v, { children: [/* @__PURE__ */ N(w, { size: 16 }), " Edit"] })]
291
- }),
292
- headerContent: /* @__PURE__ */ P("div", {
293
- className: "flex gap-2",
294
- children: [/* @__PURE__ */ N(p, {
295
- variant: r.isActive ? "default" : "secondary",
296
- children: r.isActive ? "Active" : "Inactive"
297
- }), /* @__PURE__ */ N(p, {
298
- variant: "outline",
299
- className: "capitalize",
300
- children: r.type.replace("_", " ")
301
- })]
302
- }),
303
- children: [
304
- /* @__PURE__ */ N(L, {
305
- icon: /* @__PURE__ */ N(E, { size: 18 }),
306
- children: "A storage and fulfilment site at a glance — how full it is, its zones, operating hours, throughput and staff. Use it to decide whether this warehouse has the space and hours to fulfil an order, and where stock is running tight."
307
- }),
308
- /* @__PURE__ */ N(I, {
309
- storageKey: "movethewheels-warehouse-details",
310
- steps: [{
311
- id: "inventory",
312
- label: "Review stock here",
313
- description: "See which products are stored at this site.",
314
- icon: /* @__PURE__ */ N(b, { size: 16 }),
315
- onClick: () => O("inventory/products")
316
- }, {
317
- id: "fulfil",
318
- label: "Fulfil an order from this site",
319
- description: "Pick a pending order to ship out of this warehouse.",
320
- icon: /* @__PURE__ */ N(S, { size: 16 }),
321
- onClick: () => O("orders")
322
- }]
323
- }),
324
- /* @__PURE__ */ P("div", {
325
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
326
- children: [/* @__PURE__ */ P("div", {
327
- className: "lg:col-span-2 space-y-6",
328
- children: [
329
- /* @__PURE__ */ P(F, { children: [/* @__PURE__ */ P("h2", {
330
- className: "flex items-center gap-2 text-base font-semibold text-text-primary mb-4",
331
- children: [/* @__PURE__ */ N(b, { size: 18 }), " Capacity"]
332
- }), /* @__PURE__ */ P("div", {
333
- className: "space-y-4",
334
- children: [/* @__PURE__ */ P("div", { children: [
335
- /* @__PURE__ */ P("div", {
336
- className: "flex justify-between text-sm mb-2",
337
- children: [/* @__PURE__ */ N("span", { children: "Space Utilization" }), /* @__PURE__ */ P("span", { children: [k.toFixed(0), "%"] })]
338
- }),
339
- /* @__PURE__ */ N(i, { value: k }),
340
- /* @__PURE__ */ P("p", {
341
- className: "text-sm text-text-secondary mt-1",
342
- children: [
343
- r.capacity.usedSpace.toLocaleString(),
344
- " /",
345
- " ",
346
- r.capacity.totalSpace.toLocaleString(),
347
- " sq ft"
348
- ]
349
- })
350
- ] }), /* @__PURE__ */ N("div", {
351
- className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
352
- children: /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
353
- className: "text-sm text-text-secondary",
354
- children: "Pallets Used"
355
- }), /* @__PURE__ */ P("p", {
356
- className: "text-2xl font-bold",
357
- children: [r.capacity.usedPallets, /* @__PURE__ */ P("span", {
358
- className: "text-sm font-normal text-text-secondary",
359
- children: [
360
- " ",
361
- "/ ",
362
- r.capacity.totalPallets
363
- ]
364
- })]
365
- })] })
366
- })]
367
- })] }),
368
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, { children: [
369
- "Zones (",
370
- r.zones.length,
371
- ")"
372
- ] }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("div", {
373
- className: "space-y-3",
374
- children: r.zones.map((e) => /* @__PURE__ */ P("div", {
375
- className: "flex items-center justify-between p-3 border rounded-lg",
376
- children: [/* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
377
- className: "font-medium",
378
- children: e.name
379
- }), /* @__PURE__ */ P("p", {
380
- className: "text-sm text-text-secondary capitalize",
381
- children: [
382
- e.type,
383
- " - ",
384
- e.location
385
- ]
386
- })] }), /* @__PURE__ */ P("div", {
387
- className: "text-right",
388
- children: [/* @__PURE__ */ N(i, {
389
- value: e.currentOccupancy / e.capacity * 100,
390
- className: "w-24 h-2"
391
- }), /* @__PURE__ */ P("p", {
392
- className: "text-sm text-text-secondary",
393
- children: [
394
- e.currentOccupancy,
395
- " / ",
396
- e.capacity
397
- ]
398
- })]
399
- })]
400
- }, e.id))
401
- }) })] }),
402
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
403
- className: "flex items-center gap-2",
404
- children: [/* @__PURE__ */ N(x, { size: 18 }), " Operating Hours"]
405
- }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("div", {
406
- className: "grid grid-cols-2 md:grid-cols-4 gap-4",
407
- children: Object.entries(r.operatingHours).map(([e, t]) => /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
408
- className: "text-sm font-medium",
409
- children: e
410
- }), /* @__PURE__ */ N("p", {
411
- className: "text-sm text-text-secondary",
412
- children: t ? `${t.open} - ${t.close}` : "Closed"
413
- })] }, e))
414
- }) })] })
415
- ]
416
- }), /* @__PURE__ */ P("div", {
417
- className: "space-y-6",
418
- children: [
419
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
420
- className: "flex items-center gap-2",
421
- children: [/* @__PURE__ */ N(S, { size: 18 }), " Location"]
422
- }) }), /* @__PURE__ */ N(c, { children: /* @__PURE__ */ N("p", {
423
- className: "text-sm",
424
- children: A(r.address)
425
- }) })] }),
426
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ N(l, { children: "Metrics" }) }), /* @__PURE__ */ P(c, {
427
- className: "space-y-3",
428
- children: [
429
- /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
430
- className: "text-sm text-text-secondary",
431
- children: "Throughput"
432
- }), /* @__PURE__ */ P("p", {
433
- className: "text-2xl font-bold",
434
- children: [r.metrics.throughput, /* @__PURE__ */ N("span", {
435
- className: "text-sm font-normal",
436
- children: " orders/day"
437
- })]
438
- })] }),
439
- /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
440
- className: "text-sm text-text-secondary",
441
- children: "Accuracy"
442
- }), /* @__PURE__ */ P("p", {
443
- className: "text-2xl font-bold",
444
- children: [r.metrics.accuracy, "%"]
445
- })] }),
446
- /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
447
- className: "text-sm text-text-secondary",
448
- children: "Productivity"
449
- }), /* @__PURE__ */ P("p", {
450
- className: "text-2xl font-bold",
451
- children: [r.metrics.productivity, "%"]
452
- })] }),
453
- /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("p", {
454
- className: "text-sm text-text-secondary",
455
- children: "Orders Fulfilled"
456
- }), /* @__PURE__ */ N("p", {
457
- className: "text-2xl font-bold",
458
- children: r.metrics.ordersFulfilled.toLocaleString()
459
- })] })
460
- ]
461
- })] }),
462
- /* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(u, { children: /* @__PURE__ */ P(l, {
463
- className: "flex items-center gap-2",
464
- children: [
465
- /* @__PURE__ */ N(T, { size: 18 }),
466
- " Staff (",
467
- r.staff.length,
468
- ")"
469
- ]
470
- }) }), /* @__PURE__ */ N(c, { children: r.staff.length > 0 ? /* @__PURE__ */ N("div", {
471
- className: "space-y-2",
472
- children: r.staff.map((e, t) => /* @__PURE__ */ P("div", {
473
- className: "flex items-center justify-between p-2 border rounded",
474
- children: [/* @__PURE__ */ N("span", {
475
- className: "text-sm capitalize",
476
- children: e.role
477
- }), /* @__PURE__ */ N(p, {
478
- variant: "outline",
479
- children: e.shift
480
- })]
481
- }, t))
482
- }) : /* @__PURE__ */ N("p", {
483
- className: "text-text-secondary",
484
- children: "No staff assigned"
485
- }) })] })
486
- ]
487
- })]
488
- })
489
- ]
490
- });
491
- }
492
- //#endregion
493
- export { B as default };