@bjsdistribution/dms-client-return 0.1.86-prod → 0.1.87-prod
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/components/order-daily-overview/table/ReturnTable.js +138 -108
- package/dist/components/order-daily-overview/table/ReturnTable.js.map +1 -1
- package/dist/components/order-view/general-information/dropdowns/Print.js +24 -24
- package/dist/components/order-view/general-information/dropdowns/Print.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,77 +1,91 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { useClientData as
|
|
4
|
-
import { useStatsLoading as
|
|
5
|
-
import { StyledTableWrapper as
|
|
1
|
+
import { jsx as t, Fragment as D, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import P, { useState as k, useMemo as E } from "react";
|
|
3
|
+
import { useClientData as O, useInternalSearchText as W } from "../../order-view/store.js";
|
|
4
|
+
import { useStatsLoading as v } from "../store/store.js";
|
|
5
|
+
import { StyledTableWrapper as b, StyledTable as A, EmptyDataContainer as U, ColumStyle as c, GreyBox as o } from "./table-data/styles.js";
|
|
6
6
|
import { Skeleton as M, Empty as Y } from "antd";
|
|
7
7
|
import { useNavigate as F } from "react-router-dom";
|
|
8
8
|
import { filtersReducerAtom as G } from "../header-filters/filterStore.js";
|
|
9
9
|
import { useCustomerData as $ } from "../../store.js";
|
|
10
10
|
import j from "../../../common/SortIcon.js";
|
|
11
|
-
import
|
|
11
|
+
import L from "../../../common/CaretDownFilledIcon.js";
|
|
12
12
|
import { useAtom as B } from "jotai";
|
|
13
13
|
const rt = () => {
|
|
14
|
-
const [u] =
|
|
15
|
-
T((
|
|
16
|
-
},
|
|
17
|
-
const
|
|
18
|
-
(d) => d?.customer_id != null && d?.customer_id.toString() ===
|
|
14
|
+
const [u] = O(), [R] = v(), [, s] = B(G), m = F(), [S] = $(), [f] = W(), [h, T] = k(null), I = (r) => {
|
|
15
|
+
T((l) => l?.key === r && l.direction === "asc" ? { key: r, direction: "desc" } : { key: r, direction: "asc" });
|
|
16
|
+
}, g = E(() => (f && f?.length > 0 ? u || [] : S || [])?.map((n) => {
|
|
17
|
+
const e = u?.find(
|
|
18
|
+
(d) => d?.customer_id != null && d?.customer_id.toString() === n?.customer_id?.toString()
|
|
19
19
|
);
|
|
20
|
-
let
|
|
21
|
-
const
|
|
22
|
-
(
|
|
20
|
+
let i = n?.children?.map((d) => {
|
|
21
|
+
const _ = u?.find(
|
|
22
|
+
(x) => x?.customer_id != null && x?.customer_id.toString() === d?.customer_id?.toString()
|
|
23
23
|
);
|
|
24
24
|
return {
|
|
25
25
|
...d,
|
|
26
|
-
...
|
|
26
|
+
..._
|
|
27
27
|
};
|
|
28
28
|
});
|
|
29
29
|
return {
|
|
30
|
-
...
|
|
31
|
-
...
|
|
32
|
-
children:
|
|
30
|
+
...n,
|
|
31
|
+
...e,
|
|
32
|
+
children: i
|
|
33
33
|
};
|
|
34
|
-
}) || [], [S, u, f]), C =
|
|
35
|
-
if (!
|
|
36
|
-
const { key: r, direction:
|
|
37
|
-
return [...
|
|
38
|
-
const
|
|
39
|
-
return typeof
|
|
34
|
+
}) || [], [S, u, f]), C = E(() => {
|
|
35
|
+
if (!g || !h) return g;
|
|
36
|
+
const { key: r, direction: l } = h;
|
|
37
|
+
return [...g].sort((n, e) => {
|
|
38
|
+
const i = n[r], d = e[r];
|
|
39
|
+
return typeof i == "number" && typeof d == "number" ? l === "asc" ? i - d : d - i : typeof i == "string" && typeof d == "string" ? l === "asc" ? i.localeCompare(d) : d.localeCompare(i) : 0;
|
|
40
40
|
});
|
|
41
|
-
}, [
|
|
42
|
-
r ? (
|
|
41
|
+
}, [g, h]), y = (r) => !h || h.key !== r ? /* @__PURE__ */ t(j, {}) : h.direction === "asc" ? /* @__PURE__ */ t(L, {}) : /* @__PURE__ */ t(L, {}), N = (r) => {
|
|
42
|
+
r ? (s({
|
|
43
43
|
type: "SET_CLIENT_FILTER",
|
|
44
44
|
payload: r
|
|
45
|
-
}),
|
|
45
|
+
}), s({
|
|
46
46
|
type: "SET_PAGE",
|
|
47
47
|
payload: 1
|
|
48
|
-
})) :
|
|
48
|
+
})) : s({
|
|
49
49
|
type: "SET_CLIENT_FILTER",
|
|
50
50
|
payload: []
|
|
51
51
|
});
|
|
52
|
-
const
|
|
52
|
+
const l = new URLSearchParams({
|
|
53
53
|
customerId: r?.toString()
|
|
54
54
|
});
|
|
55
|
-
m(`/orders/view/return/filter?${
|
|
56
|
-
},
|
|
57
|
-
r ? (
|
|
55
|
+
m(`/orders/view/return/filter?${l.toString()}`);
|
|
56
|
+
}, p = (r, l) => {
|
|
57
|
+
r ? (s({
|
|
58
58
|
type: "SET_CLIENT_FILTER",
|
|
59
59
|
payload: r
|
|
60
|
-
}),
|
|
60
|
+
}), s({
|
|
61
61
|
type: "SET_PAGE",
|
|
62
62
|
payload: 1
|
|
63
|
-
})) :
|
|
63
|
+
})) : s({
|
|
64
64
|
type: "SET_CLIENT_FILTER",
|
|
65
65
|
payload: []
|
|
66
66
|
});
|
|
67
|
-
const
|
|
67
|
+
const n = new URLSearchParams({
|
|
68
68
|
customerId: r?.toString(),
|
|
69
|
-
type:
|
|
69
|
+
type: l
|
|
70
70
|
});
|
|
71
|
-
m(`/orders/view/return/filter?${
|
|
71
|
+
m(`/orders/view/return/filter?${n.toString()}`);
|
|
72
72
|
};
|
|
73
|
-
return /* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */
|
|
73
|
+
return /* @__PURE__ */ t(D, { children: /* @__PURE__ */ t(b, { children: /* @__PURE__ */ a(A, { children: [
|
|
74
|
+
/* @__PURE__ */ a("colgroup", { children: [
|
|
75
|
+
/* @__PURE__ */ t("col", { style: { width: "180px" } }),
|
|
76
|
+
/* @__PURE__ */ t("col", { style: { width: "180px" } }),
|
|
77
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
78
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
79
|
+
/* @__PURE__ */ t("col", { style: { width: "80px" } }),
|
|
80
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
81
|
+
/* @__PURE__ */ t("col", { style: { width: "110px" } }),
|
|
82
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
83
|
+
/* @__PURE__ */ t("col", { style: { width: "110px" } }),
|
|
84
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
85
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
86
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } })
|
|
87
|
+
] }),
|
|
88
|
+
/* @__PURE__ */ t("thead", { children: /* @__PURE__ */ t("tr", { children: [
|
|
75
89
|
{ label: "Trading Name", key: "trading_as", width: "180px", align: "left" },
|
|
76
90
|
{ label: "Client", key: "customer_name", width: "180px", align: "center" },
|
|
77
91
|
{ label: "Orders", key: "orders", width: "90px", align: "center" },
|
|
@@ -84,184 +98,200 @@ const rt = () => {
|
|
|
84
98
|
{ label: "Re-Del", key: "RE-Del", width: "90px", align: "center" },
|
|
85
99
|
{ label: "Recycle", key: "RECYCLE", width: "90px", align: "center" },
|
|
86
100
|
{ label: "Unknown", key: "UNKNOWN", width: "90px", align: "center" }
|
|
87
|
-
].map(({ label: r, key:
|
|
101
|
+
].map(({ label: r, key: l, width: n, align: e }) => /* @__PURE__ */ t("th", { onClick: () => I(l), style: { whiteSpace: "nowrap", width: n, textAlign: e }, children: /* @__PURE__ */ a("div", { style: { display: "flex", cursor: "pointer", justifyContent: e === "left" ? "flex-start" : "center" }, children: [
|
|
88
102
|
r,
|
|
89
103
|
" ",
|
|
90
|
-
/* @__PURE__ */
|
|
91
|
-
] }) },
|
|
92
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ t("span", { children: y(l) })
|
|
105
|
+
] }) }, l)) }) }),
|
|
106
|
+
/* @__PURE__ */ t("tbody", { children: R ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", { colSpan: 12, children: /* @__PURE__ */ t(M, { active: !0 }) }) }) : C?.length === 0 ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", { colSpan: 12, children: /* @__PURE__ */ t(U, { children: /* @__PURE__ */ t(Y, {}) }) }) }) : C?.map((r, l) => {
|
|
93
107
|
if (!r) return null;
|
|
94
|
-
const
|
|
95
|
-
/* @__PURE__ */
|
|
108
|
+
const n = (e, i = !1) => e ? /* @__PURE__ */ a("tr", { style: i ? { backgroundColor: "#ffffff" } : {}, children: [
|
|
109
|
+
/* @__PURE__ */ t(
|
|
96
110
|
"td",
|
|
97
111
|
{
|
|
98
112
|
style: {
|
|
99
113
|
paddingLeft: "15px",
|
|
100
114
|
color: "inherit"
|
|
101
115
|
},
|
|
102
|
-
children: /* @__PURE__ */
|
|
116
|
+
children: /* @__PURE__ */ t("span", { style: { fontWeight: !i && e?.children?.length > 0 ? 600 : 400 }, children: e?.trading_as })
|
|
103
117
|
}
|
|
104
118
|
),
|
|
105
|
-
/* @__PURE__ */
|
|
119
|
+
/* @__PURE__ */ t(
|
|
106
120
|
"td",
|
|
107
121
|
{
|
|
108
|
-
onClick: () =>
|
|
122
|
+
onClick: () => N(e?.customer_id),
|
|
109
123
|
style: {
|
|
110
124
|
color: "#0099ff",
|
|
111
125
|
fontWeight: 600,
|
|
112
126
|
cursor: "pointer",
|
|
113
127
|
textAlign: "center"
|
|
114
128
|
},
|
|
115
|
-
children: /* @__PURE__ */
|
|
129
|
+
children: /* @__PURE__ */ t("span", { children: e?.customer_name })
|
|
116
130
|
}
|
|
117
131
|
),
|
|
118
|
-
/* @__PURE__ */
|
|
119
|
-
/* @__PURE__ */
|
|
120
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ t("td", { style: { textAlign: "center" }, children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(o, { children: e?.orders ?? 0 }) }) }),
|
|
133
|
+
/* @__PURE__ */ t("td", { style: { textAlign: "center" }, children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(o, { children: e?.return_order_products ?? 0 }) }) }),
|
|
134
|
+
/* @__PURE__ */ t(
|
|
121
135
|
"td",
|
|
122
136
|
{
|
|
123
137
|
style: {
|
|
124
|
-
color:
|
|
125
|
-
fontWeight:
|
|
126
|
-
cursor:
|
|
138
|
+
color: e?.RTS > 0 ? "#0099ff" : "inherit",
|
|
139
|
+
fontWeight: e?.RTS > 0 ? 600 : "normal",
|
|
140
|
+
cursor: e?.RTS > 0 ? "pointer" : "default",
|
|
127
141
|
textAlign: "center"
|
|
128
142
|
},
|
|
129
|
-
onClick:
|
|
130
|
-
children: /* @__PURE__ */
|
|
143
|
+
onClick: e?.RTS > 0 ? () => p(e?.customer_id, "RTS") : void 0,
|
|
144
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
131
145
|
o,
|
|
132
146
|
{
|
|
133
147
|
style: {
|
|
134
|
-
backgroundColor:
|
|
148
|
+
backgroundColor: e?.RTS > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
135
149
|
},
|
|
136
|
-
children:
|
|
150
|
+
children: e?.RTS ?? 0
|
|
137
151
|
}
|
|
138
152
|
) })
|
|
139
153
|
}
|
|
140
154
|
),
|
|
141
|
-
/* @__PURE__ */
|
|
142
|
-
/* @__PURE__ */
|
|
155
|
+
/* @__PURE__ */ t("td", { style: { textAlign: "center" }, children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(o, { children: e?.PENDING ?? 0 }) }) }),
|
|
156
|
+
/* @__PURE__ */ t(
|
|
143
157
|
"td",
|
|
144
158
|
{
|
|
145
159
|
style: {
|
|
146
|
-
color:
|
|
147
|
-
fontWeight:
|
|
148
|
-
cursor:
|
|
160
|
+
color: e?.["CLAIMS PAID"] > 0 ? "#0099ff" : "inherit",
|
|
161
|
+
fontWeight: e?.["CLAIMS PAID"] > 0 ? 600 : "normal",
|
|
162
|
+
cursor: e?.["CLAIMS PAID"] > 0 ? "pointer" : "default",
|
|
149
163
|
textAlign: "center"
|
|
150
164
|
},
|
|
151
|
-
onClick:
|
|
152
|
-
children: /* @__PURE__ */
|
|
165
|
+
onClick: e?.["CLAIMS PAID"] > 0 ? () => p(e?.customer_id, "CLAIMS PAID") : void 0,
|
|
166
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
153
167
|
o,
|
|
154
168
|
{
|
|
155
169
|
style: {
|
|
156
|
-
backgroundColor:
|
|
170
|
+
backgroundColor: e?.["CLAIMS PAID"] > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
157
171
|
},
|
|
158
|
-
children:
|
|
172
|
+
children: e?.["CLAIMS PAID"] ?? 0
|
|
159
173
|
}
|
|
160
174
|
) })
|
|
161
175
|
}
|
|
162
176
|
),
|
|
163
|
-
/* @__PURE__ */
|
|
177
|
+
/* @__PURE__ */ t(
|
|
164
178
|
"td",
|
|
165
179
|
{
|
|
166
180
|
style: {
|
|
167
|
-
color:
|
|
168
|
-
fontWeight:
|
|
169
|
-
cursor:
|
|
181
|
+
color: e?.DISPOSE > 0 ? "#0099ff" : "inherit",
|
|
182
|
+
fontWeight: e?.DISPOSE > 0 ? 600 : "normal",
|
|
183
|
+
cursor: e?.DISPOSE > 0 ? "pointer" : "default",
|
|
170
184
|
textAlign: "center"
|
|
171
185
|
},
|
|
172
|
-
onClick:
|
|
173
|
-
children: /* @__PURE__ */
|
|
186
|
+
onClick: e?.DISPOSE > 0 ? () => p(e?.customer_id, "DISPOSE") : void 0,
|
|
187
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
174
188
|
o,
|
|
175
189
|
{
|
|
176
190
|
style: {
|
|
177
|
-
backgroundColor:
|
|
191
|
+
backgroundColor: e?.DISPOSE > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
178
192
|
},
|
|
179
|
-
children:
|
|
193
|
+
children: e?.DISPOSE ?? 0
|
|
180
194
|
}
|
|
181
195
|
) })
|
|
182
196
|
}
|
|
183
197
|
),
|
|
184
|
-
/* @__PURE__ */
|
|
198
|
+
/* @__PURE__ */ t(
|
|
185
199
|
"td",
|
|
186
200
|
{
|
|
187
201
|
style: {
|
|
188
|
-
color:
|
|
189
|
-
fontWeight:
|
|
190
|
-
cursor:
|
|
202
|
+
color: e?.["RE-ALLOCATE"] > 0 ? "#0099ff" : "inherit",
|
|
203
|
+
fontWeight: e?.["RE-ALLOCATE"] > 0 ? 600 : "normal",
|
|
204
|
+
cursor: e?.["RE-ALLOCATE"] > 0 ? "pointer" : "default",
|
|
191
205
|
textAlign: "center"
|
|
192
206
|
},
|
|
193
|
-
onClick:
|
|
194
|
-
children: /* @__PURE__ */
|
|
207
|
+
onClick: e?.["RE-ALLOCATE"] > 0 ? () => p(e?.customer_id, "RE-ALLOCATE") : void 0,
|
|
208
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
195
209
|
o,
|
|
196
210
|
{
|
|
197
211
|
style: {
|
|
198
|
-
backgroundColor:
|
|
212
|
+
backgroundColor: e?.["RE-ALLOCATE"] > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
199
213
|
},
|
|
200
|
-
children:
|
|
214
|
+
children: e?.["RE-ALLOCATE"] ?? 0
|
|
201
215
|
}
|
|
202
216
|
) })
|
|
203
217
|
}
|
|
204
218
|
),
|
|
205
|
-
/* @__PURE__ */
|
|
206
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ t("td", { style: { textAlign: "center" }, children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(o, { children: e?.["RE-DEL"] ?? 0 }) }) }),
|
|
220
|
+
/* @__PURE__ */ t(
|
|
207
221
|
"td",
|
|
208
222
|
{
|
|
209
223
|
style: {
|
|
210
|
-
color:
|
|
211
|
-
fontWeight:
|
|
212
|
-
cursor:
|
|
224
|
+
color: e?.RECYCLE > 0 ? "#0099ff" : "inherit",
|
|
225
|
+
fontWeight: e?.RECYCLE > 0 ? 600 : "normal",
|
|
226
|
+
cursor: e?.RECYCLE > 0 ? "pointer" : "default",
|
|
213
227
|
textAlign: "center"
|
|
214
228
|
},
|
|
215
|
-
onClick:
|
|
216
|
-
children: /* @__PURE__ */
|
|
229
|
+
onClick: e?.RECYCLE > 0 ? () => p(e?.customer_id, "RECYCLE") : void 0,
|
|
230
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
217
231
|
o,
|
|
218
232
|
{
|
|
219
233
|
style: {
|
|
220
|
-
backgroundColor:
|
|
234
|
+
backgroundColor: e?.RECYCLE > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
221
235
|
},
|
|
222
|
-
children:
|
|
236
|
+
children: e?.RECYCLE ?? 0
|
|
223
237
|
}
|
|
224
238
|
) })
|
|
225
239
|
}
|
|
226
240
|
),
|
|
227
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ t(
|
|
228
242
|
"td",
|
|
229
243
|
{
|
|
230
244
|
style: {
|
|
231
|
-
color:
|
|
232
|
-
fontWeight:
|
|
233
|
-
cursor:
|
|
245
|
+
color: e?.UNKNOWN > 0 ? "#0099ff" : "inherit",
|
|
246
|
+
fontWeight: e?.UNKNOWN > 0 ? 600 : "normal",
|
|
247
|
+
cursor: e?.UNKNOWN > 0 ? "pointer" : "default",
|
|
234
248
|
textAlign: "center"
|
|
235
249
|
},
|
|
236
|
-
onClick:
|
|
237
|
-
children: /* @__PURE__ */
|
|
250
|
+
onClick: e?.UNKNOWN > 0 ? () => p(e?.customer_id, "UNKNOWN") : void 0,
|
|
251
|
+
children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
|
|
238
252
|
o,
|
|
239
253
|
{
|
|
240
254
|
style: {
|
|
241
|
-
backgroundColor:
|
|
255
|
+
backgroundColor: e?.UNKNOWN > 0 ? "rgba(99, 150, 229, 0.1)" : "rgba(153, 153, 153, 0.1)"
|
|
242
256
|
},
|
|
243
|
-
children:
|
|
257
|
+
children: e?.UNKNOWN ?? 0
|
|
244
258
|
}
|
|
245
259
|
) })
|
|
246
260
|
}
|
|
247
261
|
)
|
|
248
|
-
] },
|
|
249
|
-
return !r?.children || r?.children?.length === 0 ? /* @__PURE__ */
|
|
262
|
+
] }, i ? `child-${e?.customer_id}` : e?.customer_id) : null;
|
|
263
|
+
return !r?.children || r?.children?.length === 0 ? /* @__PURE__ */ t(P.Fragment, { children: n(r, !1) }, l) : /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", { colSpan: 12, style: { padding: 0, border: "none", background: "transparent" }, children: /* @__PURE__ */ t("div", { style: {
|
|
250
264
|
margin: "3px 10px",
|
|
251
265
|
backgroundColor: "#f8fafc",
|
|
252
266
|
borderRadius: "16px",
|
|
253
267
|
border: "1px solid rgba(0,0,0,0.08)",
|
|
254
268
|
borderLeft: "4px solid #0099ff",
|
|
255
269
|
boxShadow: "inset 0 1px 4px rgba(0,0,0,0.02)"
|
|
256
|
-
}, children: /* @__PURE__ */
|
|
270
|
+
}, children: /* @__PURE__ */ t(b, { style: {
|
|
257
271
|
padding: "0px 4px",
|
|
258
272
|
border: "none",
|
|
259
273
|
borderRadius: "15px",
|
|
260
274
|
overflow: "hidden"
|
|
261
|
-
}, children: /* @__PURE__ */
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
275
|
+
}, children: /* @__PURE__ */ a(A, { style: { marginBottom: 0, borderSpacing: "0 2px" }, children: [
|
|
276
|
+
/* @__PURE__ */ a("colgroup", { children: [
|
|
277
|
+
/* @__PURE__ */ t("col", { style: { width: "180px" } }),
|
|
278
|
+
/* @__PURE__ */ t("col", { style: { width: "180px" } }),
|
|
279
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
280
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
281
|
+
/* @__PURE__ */ t("col", { style: { width: "80px" } }),
|
|
282
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
283
|
+
/* @__PURE__ */ t("col", { style: { width: "110px" } }),
|
|
284
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
285
|
+
/* @__PURE__ */ t("col", { style: { width: "110px" } }),
|
|
286
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
287
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } }),
|
|
288
|
+
/* @__PURE__ */ t("col", { style: { width: "90px" } })
|
|
289
|
+
] }),
|
|
290
|
+
/* @__PURE__ */ a("tbody", { children: [
|
|
291
|
+
n(r, !1),
|
|
292
|
+
r?.children?.map((e) => n(e, !0))
|
|
293
|
+
] })
|
|
294
|
+
] }) }) }) }) }, `group-${l}`);
|
|
265
295
|
}) })
|
|
266
296
|
] }) }) });
|
|
267
297
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReturnTable.js","sources":["../../../../src/components/order-daily-overview/table/ReturnTable.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { useAtom, useClientData, useInternalSearchText } from '../../order-view/store';\nimport { useStatsLoading } from '../store/store';\nimport {\n ColumStyle,\n EmptyDataContainer,\n GreyBox,\n StyledTable,\n StyledTableWrapper,\n} from './table-data/styles';\nimport { Empty, Skeleton } from 'antd';\nimport { useNavigate } from 'react-router-dom';\nimport { filtersReducerAtom } from '../header-filters/filterStore';\nimport { useCustomerData } from '../../store';\nimport SortIcon from '../../../common/SortIcon';\nimport CaretDownFilledIcon from '../../../common/CaretDownFilledIcon';\n\nconst ReturnTable: React.FC = () => {\n const [clientData] = useClientData();\n const [statsLoading] = useStatsLoading();\n const [, dispatch] = useAtom(filtersReducerAtom);\n const navigate = useNavigate();\n const [customers] = useCustomerData();\n const [debouncedSearchText] = useInternalSearchText();\n // const [searchParams] = useSearchParams();\n\n //sorting\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: 'asc' | 'desc';\n } | null>(null);\n\n const handleSort = (key: string) => {\n setSortConfig(prev => {\n if (prev?.key === key && prev.direction === 'asc') {\n return { key, direction: 'desc' };\n }\n return { key, direction: 'asc' };\n });\n };\n\n //updated client data\n const updatedData = useMemo(() => {\n\n let baseCustomers = (debouncedSearchText && debouncedSearchText?.length > 0)\n ? (clientData || [])\n : (customers || []);\n\n const mappedCustomers = baseCustomers?.map((customer: any) => {\n // Normal state: Merge aggregate stats from the stats API onto the generic customers list\n const matchingClientStats = clientData?.find((client: any) =>\n client?.customer_id != null && client?.customer_id.toString() === customer?.customer_id?.toString()\n );\n\n let processedChildren = customer?.children?.map((child: any) => {\n const matchingChildStats = clientData?.find((client: any) =>\n client?.customer_id != null && client?.customer_id.toString() === child?.customer_id?.toString()\n );\n return {\n ...child,\n ...matchingChildStats,\n };\n });\n\n return {\n ...customer,\n ...matchingClientStats,\n children: processedChildren,\n };\n }) || [];\n\n return mappedCustomers;\n }, [customers, clientData, debouncedSearchText]);\n\n const sortedData = useMemo(() => {\n if (!updatedData || !sortConfig) return updatedData;\n\n const { key, direction } = sortConfig;\n return [...updatedData].sort((a, b) => {\n const valueA = a[key];\n const valueB = b[key];\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return direction === 'asc' ? valueA - valueB : valueB - valueA;\n }\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n return direction === 'asc'\n ? valueA.localeCompare(valueB)\n : valueB.localeCompare(valueA);\n }\n return 0;\n });\n }, [updatedData, sortConfig]);\n\n const renderSortIcon = (columnKey: string) => {\n if (!sortConfig || sortConfig.key !== columnKey) {\n return <SortIcon />;\n }\n return sortConfig.direction === 'asc' ? (\n <CaretDownFilledIcon />\n ) : (\n <CaretDownFilledIcon />\n );\n };\n\n //handle Redirect\n const handleRedirect = (customerId: number) => {\n if (customerId) {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: customerId,\n });\n dispatch({\n type: 'SET_PAGE',\n payload: 1,\n });\n } else {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: [],\n });\n }\n\n const queryParams = new URLSearchParams({\n customerId: customerId?.toString(),\n });\n //for dev\n navigate(`/orders/view/return/filter?${queryParams.toString()}`);\n\n //for local\n // navigate(`/filter?${queryParams.toString()}`);\n };\n\n //for RTS\n const handleRedirectRTS = (customerId: number, RTS: string) => {\n if (customerId) {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: customerId,\n });\n dispatch({\n type: 'SET_PAGE',\n payload: 1,\n });\n } else {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: [],\n });\n }\n\n const queryParams = new URLSearchParams({\n customerId: customerId?.toString(),\n type: RTS,\n });\n //for dev\n navigate(`/orders/view/return/filter?${queryParams.toString()}`);\n\n //for local\n //navigate(`/filter?${queryParams.toString()}`);\n };\n\n return (\n <>\n <StyledTableWrapper>\n <StyledTable>\n <thead>\n <tr>\n {[\n { label: 'Trading Name', key: 'trading_as', width: '180px', align: 'left' },\n { label: 'Client', key: 'customer_name', width: '180px', align: 'center' },\n { label: 'Orders', key: 'orders', width: '90px', align: 'center' },\n { label: 'Products', key: 'return_order_products', width: '90px', align: 'center' },\n { label: 'RTS', key: 'RTS', width: '80px', align: 'center' },\n { label: 'Pending', key: 'PENDING', width: '90px', align: 'center' },\n { label: 'Claims Paid', key: 'CLAIMS PAID', width: '110px', align: 'center' },\n { label: 'Dispose', key: 'DISPOSE', width: '90px', align: 'center' },\n { label: 'Re-allocate', key: 'RE-ALLOCATE', width: '110px', align: 'center' },\n { label: 'Re-Del', key: 'RE-Del', width: '90px', align: 'center' },\n { label: 'Recycle', key: 'RECYCLE', width: '90px', align: 'center' },\n { label: 'Unknown', key: 'UNKNOWN', width: '90px', align: 'center' },\n ].map(({ label, key, width, align }) => (\n <th key={key} onClick={() => handleSort(key)} style={{ whiteSpace: 'nowrap', width, textAlign: align as any }}>\n <div style={{ display: 'flex', cursor: 'pointer', justifyContent: align === 'left' ? 'flex-start' : 'center' }}>\n {label} <span>{renderSortIcon(key)}</span>\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {statsLoading ? (\n <tr>\n <td colSpan={12}>\n <Skeleton active />\n </td>\n </tr>\n ) : sortedData?.length === 0 ? (\n <tr>\n <td colSpan={12}>\n <EmptyDataContainer>\n <Empty />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n sortedData?.map((key: any, index: number) => {\n if (!key) return null; // Safe rendering fallback \n\n const renderDataRow = (rowKey: any, isChild: boolean = false) => {\n if (!rowKey) return null; // Prevent properties of undefined UI crashes\n\n return (\n <tr key={isChild ? `child-${rowKey?.customer_id}` : rowKey?.customer_id} style={isChild ? { backgroundColor: '#ffffff' } : {}}>\n <td\n style={{\n paddingLeft: '15px',\n color: 'inherit',\n }}\n >\n <span style={{ fontWeight: !isChild && rowKey?.children?.length > 0 ? 600 : 400 }}>\n {rowKey?.trading_as}\n </span>\n </td>\n\n <td\n onClick={() => handleRedirect(rowKey?.customer_id)}\n style={{\n color: '#0099ff',\n fontWeight: 600,\n cursor: 'pointer',\n textAlign: 'center',\n }}\n >\n <span>{rowKey?.customer_name}</span>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.orders ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.return_order_products ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.RTS > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.RTS > 0 ? 600 : 'normal',\n cursor: rowKey?.RTS > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.RTS > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RTS')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.RTS > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.RTS ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.PENDING ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.['CLAIMS PAID'] > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.['CLAIMS PAID'] > 0 ? 600 : 'normal',\n cursor: rowKey?.['CLAIMS PAID'] > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.['CLAIMS PAID'] > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'CLAIMS PAID')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.['CLAIMS PAID'] > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.['CLAIMS PAID'] ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.DISPOSE > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.DISPOSE > 0 ? 600 : 'normal',\n cursor: rowKey?.DISPOSE > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.DISPOSE > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'DISPOSE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.DISPOSE > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.DISPOSE ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.['RE-ALLOCATE'] > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.['RE-ALLOCATE'] > 0 ? 600 : 'normal',\n cursor: rowKey?.['RE-ALLOCATE'] > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.['RE-ALLOCATE'] > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RE-ALLOCATE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.['RE-ALLOCATE'] > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.['RE-ALLOCATE'] ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.['RE-DEL'] ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.RECYCLE > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.RECYCLE > 0 ? 600 : 'normal',\n cursor: rowKey?.RECYCLE > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.RECYCLE > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RECYCLE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.RECYCLE > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.RECYCLE ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.UNKNOWN > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.UNKNOWN > 0 ? 600 : 'normal',\n cursor: rowKey?.UNKNOWN > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.UNKNOWN > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'UNKNOWN')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.UNKNOWN > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.UNKNOWN ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n </tr>\n );\n };\n\n if (!key?.children || key?.children?.length === 0) {\n return <React.Fragment key={index}>{renderDataRow(key, false)}</React.Fragment>;\n }\n\n return (\n <tr key={`group-${index}`}>\n <td colSpan={12} style={{ padding: 0, border: 'none', background: 'transparent' }}>\n <div style={{\n margin: '3px 10px',\n backgroundColor: '#f8fafc',\n borderRadius: '16px',\n border: '1px solid rgba(0,0,0,0.08)',\n borderLeft: '4px solid #0099ff',\n boxShadow: 'inset 0 1px 4px rgba(0,0,0,0.02)'\n }}>\n <StyledTableWrapper style={{\n padding: '0px 4px',\n border: 'none',\n borderRadius: '15px',\n overflow: 'hidden'\n }}>\n <StyledTable style={{ marginBottom: 0, borderSpacing: '0 2px' }}>\n <tbody>\n {renderDataRow(key, false)}\n {key?.children?.map((child: any) => renderDataRow(child, true))}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </div>\n </td>\n </tr>\n );\n })\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n};\n\nexport default ReturnTable;\n"],"names":["ReturnTable","clientData","useClientData","statsLoading","useStatsLoading","dispatch","useAtom","filtersReducerAtom","navigate","useNavigate","customers","useCustomerData","debouncedSearchText","useInternalSearchText","sortConfig","setSortConfig","useState","handleSort","key","prev","updatedData","useMemo","customer","matchingClientStats","client","processedChildren","child","matchingChildStats","sortedData","direction","a","b","valueA","valueB","renderSortIcon","columnKey","SortIcon","CaretDownFilledIcon","handleRedirect","customerId","queryParams","handleRedirectRTS","RTS","jsx","Fragment","StyledTableWrapper","jsxs","StyledTable","label","width","align","Skeleton","EmptyDataContainer","Empty","index","renderDataRow","rowKey","isChild","ColumStyle","GreyBox","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReturnTable.js","sources":["../../../../src/components/order-daily-overview/table/ReturnTable.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { useAtom, useClientData, useInternalSearchText } from '../../order-view/store';\nimport { useStatsLoading } from '../store/store';\nimport {\n ColumStyle,\n EmptyDataContainer,\n GreyBox,\n StyledTable,\n StyledTableWrapper,\n} from './table-data/styles';\nimport { Empty, Skeleton } from 'antd';\nimport { useNavigate } from 'react-router-dom';\nimport { filtersReducerAtom } from '../header-filters/filterStore';\nimport { useCustomerData } from '../../store';\nimport SortIcon from '../../../common/SortIcon';\nimport CaretDownFilledIcon from '../../../common/CaretDownFilledIcon';\n\nconst ReturnTable: React.FC = () => {\n const [clientData] = useClientData();\n const [statsLoading] = useStatsLoading();\n const [, dispatch] = useAtom(filtersReducerAtom);\n const navigate = useNavigate();\n const [customers] = useCustomerData();\n const [debouncedSearchText] = useInternalSearchText();\n // const [searchParams] = useSearchParams();\n\n //sorting\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: 'asc' | 'desc';\n } | null>(null);\n\n const handleSort = (key: string) => {\n setSortConfig(prev => {\n if (prev?.key === key && prev.direction === 'asc') {\n return { key, direction: 'desc' };\n }\n return { key, direction: 'asc' };\n });\n };\n\n //updated client data\n const updatedData = useMemo(() => {\n\n let baseCustomers = (debouncedSearchText && debouncedSearchText?.length > 0)\n ? (clientData || [])\n : (customers || []);\n\n const mappedCustomers = baseCustomers?.map((customer: any) => {\n // Normal state: Merge aggregate stats from the stats API onto the generic customers list\n const matchingClientStats = clientData?.find((client: any) =>\n client?.customer_id != null && client?.customer_id.toString() === customer?.customer_id?.toString()\n );\n\n let processedChildren = customer?.children?.map((child: any) => {\n const matchingChildStats = clientData?.find((client: any) =>\n client?.customer_id != null && client?.customer_id.toString() === child?.customer_id?.toString()\n );\n return {\n ...child,\n ...matchingChildStats,\n };\n });\n\n return {\n ...customer,\n ...matchingClientStats,\n children: processedChildren,\n };\n }) || [];\n\n return mappedCustomers;\n }, [customers, clientData, debouncedSearchText]);\n\n const sortedData = useMemo(() => {\n if (!updatedData || !sortConfig) return updatedData;\n\n const { key, direction } = sortConfig;\n return [...updatedData].sort((a, b) => {\n const valueA = a[key];\n const valueB = b[key];\n\n if (typeof valueA === 'number' && typeof valueB === 'number') {\n return direction === 'asc' ? valueA - valueB : valueB - valueA;\n }\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n return direction === 'asc'\n ? valueA.localeCompare(valueB)\n : valueB.localeCompare(valueA);\n }\n return 0;\n });\n }, [updatedData, sortConfig]);\n\n const renderSortIcon = (columnKey: string) => {\n if (!sortConfig || sortConfig.key !== columnKey) {\n return <SortIcon />;\n }\n return sortConfig.direction === 'asc' ? (\n <CaretDownFilledIcon />\n ) : (\n <CaretDownFilledIcon />\n );\n };\n\n //handle Redirect\n const handleRedirect = (customerId: number) => {\n if (customerId) {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: customerId,\n });\n dispatch({\n type: 'SET_PAGE',\n payload: 1,\n });\n } else {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: [],\n });\n }\n\n const queryParams = new URLSearchParams({\n customerId: customerId?.toString(),\n });\n //for dev\n navigate(`/orders/view/return/filter?${queryParams.toString()}`);\n\n //for local\n // navigate(`/filter?${queryParams.toString()}`);\n };\n\n //for RTS\n const handleRedirectRTS = (customerId: number, RTS: string) => {\n if (customerId) {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: customerId,\n });\n dispatch({\n type: 'SET_PAGE',\n payload: 1,\n });\n } else {\n dispatch({\n type: 'SET_CLIENT_FILTER',\n payload: [],\n });\n }\n\n const queryParams = new URLSearchParams({\n customerId: customerId?.toString(),\n type: RTS,\n });\n //for dev\n navigate(`/orders/view/return/filter?${queryParams.toString()}`);\n\n //for local\n //navigate(`/filter?${queryParams.toString()}`);\n };\n\n return (\n <>\n <StyledTableWrapper>\n <StyledTable>\n <colgroup>\n <col style={{ width: '180px' }} />\n <col style={{ width: '180px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '80px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '110px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '110px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n </colgroup>\n <thead>\n <tr>\n {[\n { label: 'Trading Name', key: 'trading_as', width: '180px', align: 'left' },\n { label: 'Client', key: 'customer_name', width: '180px', align: 'center' },\n { label: 'Orders', key: 'orders', width: '90px', align: 'center' },\n { label: 'Products', key: 'return_order_products', width: '90px', align: 'center' },\n { label: 'RTS', key: 'RTS', width: '80px', align: 'center' },\n { label: 'Pending', key: 'PENDING', width: '90px', align: 'center' },\n { label: 'Claims Paid', key: 'CLAIMS PAID', width: '110px', align: 'center' },\n { label: 'Dispose', key: 'DISPOSE', width: '90px', align: 'center' },\n { label: 'Re-allocate', key: 'RE-ALLOCATE', width: '110px', align: 'center' },\n { label: 'Re-Del', key: 'RE-Del', width: '90px', align: 'center' },\n { label: 'Recycle', key: 'RECYCLE', width: '90px', align: 'center' },\n { label: 'Unknown', key: 'UNKNOWN', width: '90px', align: 'center' },\n ].map(({ label, key, width, align }) => (\n <th key={key} onClick={() => handleSort(key)} style={{ whiteSpace: 'nowrap', width, textAlign: align as any }}>\n <div style={{ display: 'flex', cursor: 'pointer', justifyContent: align === 'left' ? 'flex-start' : 'center' }}>\n {label} <span>{renderSortIcon(key)}</span>\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {statsLoading ? (\n <tr>\n <td colSpan={12}>\n <Skeleton active />\n </td>\n </tr>\n ) : sortedData?.length === 0 ? (\n <tr>\n <td colSpan={12}>\n <EmptyDataContainer>\n <Empty />\n </EmptyDataContainer>\n </td>\n </tr>\n ) : (\n sortedData?.map((key: any, index: number) => {\n if (!key) return null; // Safe rendering fallback \n\n const renderDataRow = (rowKey: any, isChild: boolean = false) => {\n if (!rowKey) return null; // Prevent properties of undefined UI crashes\n\n return (\n <tr key={isChild ? `child-${rowKey?.customer_id}` : rowKey?.customer_id} style={isChild ? { backgroundColor: '#ffffff' } : {}}>\n <td\n style={{\n paddingLeft: '15px',\n color: 'inherit',\n }}\n >\n <span style={{ fontWeight: !isChild && rowKey?.children?.length > 0 ? 600 : 400 }}>\n {rowKey?.trading_as}\n </span>\n </td>\n\n <td\n onClick={() => handleRedirect(rowKey?.customer_id)}\n style={{\n color: '#0099ff',\n fontWeight: 600,\n cursor: 'pointer',\n textAlign: 'center',\n }}\n >\n <span>{rowKey?.customer_name}</span>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.orders ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.return_order_products ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.RTS > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.RTS > 0 ? 600 : 'normal',\n cursor: rowKey?.RTS > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.RTS > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RTS')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.RTS > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.RTS ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.PENDING ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.['CLAIMS PAID'] > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.['CLAIMS PAID'] > 0 ? 600 : 'normal',\n cursor: rowKey?.['CLAIMS PAID'] > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.['CLAIMS PAID'] > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'CLAIMS PAID')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.['CLAIMS PAID'] > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.['CLAIMS PAID'] ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.DISPOSE > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.DISPOSE > 0 ? 600 : 'normal',\n cursor: rowKey?.DISPOSE > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.DISPOSE > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'DISPOSE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.DISPOSE > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.DISPOSE ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.['RE-ALLOCATE'] > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.['RE-ALLOCATE'] > 0 ? 600 : 'normal',\n cursor: rowKey?.['RE-ALLOCATE'] > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.['RE-ALLOCATE'] > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RE-ALLOCATE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.['RE-ALLOCATE'] > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.['RE-ALLOCATE'] ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td style={{ textAlign: 'center' }}>\n <ColumStyle>\n <GreyBox>{rowKey?.['RE-DEL'] ?? 0}</GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.RECYCLE > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.RECYCLE > 0 ? 600 : 'normal',\n cursor: rowKey?.RECYCLE > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.RECYCLE > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'RECYCLE')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.RECYCLE > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.RECYCLE ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n <td\n style={{\n color: rowKey?.UNKNOWN > 0 ? '#0099ff' : 'inherit',\n fontWeight: rowKey?.UNKNOWN > 0 ? 600 : 'normal',\n cursor: rowKey?.UNKNOWN > 0 ? 'pointer' : 'default',\n textAlign: 'center',\n }}\n onClick={\n rowKey?.UNKNOWN > 0\n ? () => handleRedirectRTS(rowKey?.customer_id, 'UNKNOWN')\n : undefined\n }\n >\n <ColumStyle>\n <GreyBox\n style={{\n backgroundColor:\n rowKey?.UNKNOWN > 0\n ? 'rgba(99, 150, 229, 0.1)'\n : 'rgba(153, 153, 153, 0.1)',\n }}\n >\n {rowKey?.UNKNOWN ?? 0}\n </GreyBox>\n </ColumStyle>\n </td>\n </tr>\n );\n };\n\n if (!key?.children || key?.children?.length === 0) {\n return <React.Fragment key={index}>{renderDataRow(key, false)}</React.Fragment>;\n }\n\n return (\n <tr key={`group-${index}`}>\n <td colSpan={12} style={{ padding: 0, border: 'none', background: 'transparent' }}>\n <div style={{\n margin: '3px 10px',\n backgroundColor: '#f8fafc',\n borderRadius: '16px',\n border: '1px solid rgba(0,0,0,0.08)',\n borderLeft: '4px solid #0099ff',\n boxShadow: 'inset 0 1px 4px rgba(0,0,0,0.02)'\n }}>\n <StyledTableWrapper style={{\n padding: '0px 4px',\n border: 'none',\n borderRadius: '15px',\n overflow: 'hidden'\n }}>\n <StyledTable style={{ marginBottom: 0, borderSpacing: '0 2px' }}>\n <colgroup>\n <col style={{ width: '180px' }} />\n <col style={{ width: '180px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '80px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '110px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '110px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n <col style={{ width: '90px' }} />\n </colgroup>\n <tbody>\n {renderDataRow(key, false)}\n {key?.children?.map((child: any) => renderDataRow(child, true))}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </div>\n </td>\n </tr>\n );\n })\n )}\n </tbody>\n </StyledTable>\n </StyledTableWrapper>\n </>\n );\n};\n\nexport default ReturnTable;\n"],"names":["ReturnTable","clientData","useClientData","statsLoading","useStatsLoading","dispatch","useAtom","filtersReducerAtom","navigate","useNavigate","customers","useCustomerData","debouncedSearchText","useInternalSearchText","sortConfig","setSortConfig","useState","handleSort","key","prev","updatedData","useMemo","customer","matchingClientStats","client","processedChildren","child","matchingChildStats","sortedData","direction","a","b","valueA","valueB","renderSortIcon","columnKey","SortIcon","CaretDownFilledIcon","handleRedirect","customerId","queryParams","handleRedirectRTS","RTS","jsx","Fragment","StyledTableWrapper","jsxs","StyledTable","label","width","align","Skeleton","EmptyDataContainer","Empty","index","renderDataRow","rowKey","isChild","ColumStyle","GreyBox","React"],"mappings":"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"}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as t, jsxs as f } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo as v } from "react";
|
|
3
|
-
import
|
|
3
|
+
import i from "styled-components";
|
|
4
4
|
import { PrintMenu as g } from "../../fakedata.js";
|
|
5
5
|
import { useOrderDetails as _ } from "../../store.js";
|
|
6
6
|
import { Space as h, Dropdown as b } from "antd";
|
|
7
7
|
import y from "../../../../assets/icons/ArrowDownIcon.js";
|
|
8
8
|
import { getBaseEndpoint as w } from "@bjsdistribution/dms-component-library";
|
|
9
9
|
function T() {
|
|
10
|
-
const [
|
|
11
|
-
const e = process.env.REACT_APP_PROJECT_ENV,
|
|
12
|
-
return
|
|
10
|
+
const [o] = _(), s = o?.gsit_order_id, l = v(() => o?.id, [o]), a = () => {
|
|
11
|
+
const e = process.env.REACT_APP_PROJECT_ENV, r = process.env.REACT_APP_API_PATH;
|
|
12
|
+
return r === "https://us.dms.api.bjshomedelivery.com" ? "release_us" : r === "https://development.dms.api.bjshomedelivery.com" ? "development" : r === "https://staging.dms.api.bjshomedelivery.com" ? "staging" : e === "release_uk" ? "release_uk" : e === "release_us" ? "release_us" : e === "staging" ? "staging" : "development";
|
|
13
13
|
}, d = () => {
|
|
14
14
|
switch (a()) {
|
|
15
15
|
case "release_uk":
|
|
16
|
-
return "https://
|
|
16
|
+
return "https://api.bjshomedelivery.com/v2/orders/labels";
|
|
17
17
|
case "release_us":
|
|
18
|
-
return "https://us.
|
|
18
|
+
return "https://us.api.bjshomedelivery.com/v2/orders/labels";
|
|
19
19
|
case "staging":
|
|
20
|
-
return "https://staging.
|
|
20
|
+
return "https://staging.api.bjshomedelivery.com/v2/orders/labels";
|
|
21
21
|
default:
|
|
22
|
-
return "https://development.
|
|
22
|
+
return "https://api.development.bjshomedelivery.com/v2/orders/labels";
|
|
23
23
|
}
|
|
24
24
|
}, c = (e) => {
|
|
25
|
-
const
|
|
26
|
-
return s ?
|
|
25
|
+
const r = e?.toLowerCase()?.replaceAll(" ", ""), n = d();
|
|
26
|
+
return s ? r === "returnlabels" ? `${n}/generate_labels?pdf=true&product_type=Return&order_id=${s}` : "" : (console.error("Missing orderId. Cannot generate Return Labels URL."), "");
|
|
27
27
|
}, p = (e) => {
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
if (
|
|
28
|
+
const r = e?.value, n = w();
|
|
29
|
+
if (r)
|
|
30
|
+
if (r === "returncovernote")
|
|
31
31
|
window.open(
|
|
32
|
-
`${
|
|
32
|
+
`${n}/orders/return_cover_notes/?order_id=${l}`,
|
|
33
33
|
"_blank"
|
|
34
34
|
);
|
|
35
|
-
else if (
|
|
35
|
+
else if (r === "proofofdelivery")
|
|
36
36
|
window.open(
|
|
37
|
-
`${
|
|
37
|
+
`${n}/orders/generate_note/?order_id=${l}&output_format=pdf`,
|
|
38
38
|
"_blank"
|
|
39
39
|
);
|
|
40
40
|
else {
|
|
41
|
-
const m = c(
|
|
41
|
+
const m = c(r);
|
|
42
42
|
window.open(m, "_blank");
|
|
43
43
|
}
|
|
44
44
|
}, u = {
|
|
@@ -48,11 +48,11 @@ function T() {
|
|
|
48
48
|
value: e.value
|
|
49
49
|
}))?.map((e) => ({
|
|
50
50
|
key: e.value,
|
|
51
|
-
label: /* @__PURE__ */
|
|
51
|
+
label: /* @__PURE__ */ t(
|
|
52
52
|
"div",
|
|
53
53
|
{
|
|
54
|
-
onClick: (
|
|
55
|
-
|
|
54
|
+
onClick: (r) => {
|
|
55
|
+
r.stopPropagation(), p(e);
|
|
56
56
|
},
|
|
57
57
|
children: e.label
|
|
58
58
|
}
|
|
@@ -60,12 +60,12 @@ function T() {
|
|
|
60
60
|
// disabled,
|
|
61
61
|
}))
|
|
62
62
|
};
|
|
63
|
-
return /* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ t(P, { children: /* @__PURE__ */ t(b, { menu: u, trigger: ["hover"], children: /* @__PURE__ */ t("a", { onClick: (e) => e.preventDefault(), style: { cursor: "pointer" }, children: /* @__PURE__ */ f(j, { children: [
|
|
64
64
|
"PRINT",
|
|
65
|
-
/* @__PURE__ */
|
|
65
|
+
/* @__PURE__ */ t(y, { fill: "#f0f2f2" })
|
|
66
66
|
] }) }) }) });
|
|
67
67
|
}
|
|
68
|
-
const P =
|
|
68
|
+
const P = i.div``, j = i(h)`
|
|
69
69
|
.ant-space-item {
|
|
70
70
|
color: #6a7378;
|
|
71
71
|
text-align: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Print.js","sources":["../../../../../src/components/order-view/general-information/dropdowns/Print.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { PrintMenu } from '../../fakedata';\nimport { useOrderDetails } from '../../store';\nimport { Dropdown, Space } from 'antd';\nimport ArrowDownIcon from '../../../../assets/icons/ArrowDownIcon';\nimport { getBaseEndpoint } from '@bjsdistribution/dms-component-library';\n\nfunction Print() {\n const [orderDetails] = useOrderDetails();\n const gsitId = orderDetails?.gsit_order_id;\n\n const orderId = useMemo(() => {\n return orderDetails?.id;\n }, [orderDetails]);\n\n const getEnvironment = ():\n | 'development'\n | 'release_us'\n | 'release_uk'\n | 'staging' => {\n const projectEnv = process.env.REACT_APP_PROJECT_ENV;\n const apiPath = process.env.REACT_APP_API_PATH;\n\n if (apiPath === 'https://us.dms.api.bjshomedelivery.com') {\n return 'release_us';\n }\n if (apiPath === 'https://development.dms.api.bjshomedelivery.com') {\n return 'development';\n }\n if (apiPath === 'https://staging.dms.api.bjshomedelivery.com') {\n return 'staging';\n }\n\n if (projectEnv === 'release_uk') {\n return 'release_uk';\n }\n if (projectEnv === 'release_us') {\n return 'release_us';\n }\n if (projectEnv === 'staging') {\n return 'staging';\n }\n return 'development';\n };\n\n const getBaseUrl = (): string => {\n const environment = getEnvironment();\n switch (environment) {\n case 'release_uk':\n return 'https://
|
|
1
|
+
{"version":3,"file":"Print.js","sources":["../../../../../src/components/order-view/general-information/dropdowns/Print.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { PrintMenu } from '../../fakedata';\nimport { useOrderDetails } from '../../store';\nimport { Dropdown, Space } from 'antd';\nimport ArrowDownIcon from '../../../../assets/icons/ArrowDownIcon';\nimport { getBaseEndpoint } from '@bjsdistribution/dms-component-library';\n\nfunction Print() {\n const [orderDetails] = useOrderDetails();\n const gsitId = orderDetails?.gsit_order_id;\n\n const orderId = useMemo(() => {\n return orderDetails?.id;\n }, [orderDetails]);\n\n const getEnvironment = ():\n | 'development'\n | 'release_us'\n | 'release_uk'\n | 'staging' => {\n const projectEnv = process.env.REACT_APP_PROJECT_ENV;\n const apiPath = process.env.REACT_APP_API_PATH;\n\n if (apiPath === 'https://us.dms.api.bjshomedelivery.com') {\n return 'release_us';\n }\n if (apiPath === 'https://development.dms.api.bjshomedelivery.com') {\n return 'development';\n }\n if (apiPath === 'https://staging.dms.api.bjshomedelivery.com') {\n return 'staging';\n }\n\n if (projectEnv === 'release_uk') {\n return 'release_uk';\n }\n if (projectEnv === 'release_us') {\n return 'release_us';\n }\n if (projectEnv === 'staging') {\n return 'staging';\n }\n return 'development';\n };\n\n const getBaseUrl = (): string => {\n const environment = getEnvironment();\n switch (environment) {\n case 'release_uk':\n return 'https://api.bjshomedelivery.com/v2/orders/labels';\n case 'release_us':\n return 'https://us.api.bjshomedelivery.com/v2/orders/labels';\n case 'staging':\n return 'https://staging.api.bjshomedelivery.com/v2/orders/labels';\n default:\n return 'https://api.development.bjshomedelivery.com/v2/orders/labels';\n }\n };\n\n const getUrl = (option: string) => {\n const val = option?.toLowerCase()?.replaceAll(' ', '');\n const baseUrl = getBaseUrl();\n\n if (!gsitId) {\n console.error('Missing orderId. Cannot generate Return Labels URL.');\n return '';\n }\n if (val === 'returnlabels') {\n return `${baseUrl}/generate_labels?pdf=true&product_type=Return&order_id=${gsitId}`;\n } else {\n return '';\n }\n };\n\n const handleSelectChange = (selectedOption: any) => {\n const selectedValue = selectedOption?.value;\n const baseEndpoint = getBaseEndpoint();\n if (selectedValue) {\n //return\n if (selectedValue === 'returncovernote') {\n window.open(\n `${baseEndpoint}/orders/return_cover_notes/?order_id=${orderId}`,\n '_blank'\n );\n //proof\n } else if (selectedValue === 'proofofdelivery') {\n window.open(\n `${baseEndpoint}/orders/generate_note/?order_id=${orderId}&output_format=pdf`,\n '_blank'\n );\n } else {\n const url = getUrl(selectedValue);\n window.open(url, '_blank');\n }\n }\n };\n\n // const optionToLabelKey: Record<string, keyof typeof orderDetails.labels> = {\n // proofofdelivery: 'deliver',\n // returnlabels: 'return',\n // returncovernote: 'collect',\n // };\n\n // const isOptionDisabled = (optionValue: string) => {\n // const labels = orderDetails?.labels || {};\n // const labelKey = optionToLabelKey[optionValue];\n\n // if (!labelKey) return false;\n // return !labels[labelKey];\n // };\n\n const filteredOptions = PrintMenu?.map((option: any) => ({\n key: option.value,\n label: option.label,\n value: option.value,\n }));\n\n const menuItems = {\n items: filteredOptions?.map((option: any) => {\n // const disabled = isOptionDisabled(option.value);\n\n return {\n key: option.value,\n label: (\n <div\n onClick={e => {\n e.stopPropagation();\n // if (!disabled) {\n handleSelectChange(option);\n // }\n }}\n // style={{\n // color: disabled ? '#bfbfbf' : undefined,\n // cursor: disabled ? 'not-allowed' : 'pointer',\n // }}\n >\n {option.label}\n </div>\n ),\n // disabled,\n };\n }),\n };\n\n return (\n <Container>\n <Dropdown menu={menuItems} trigger={['hover']}>\n <a onClick={e => e.preventDefault()} style={{ cursor: 'pointer' }}>\n <StyledSpace>\n PRINT\n <ArrowDownIcon fill={'#f0f2f2'} />\n </StyledSpace>\n </a>\n </Dropdown>\n </Container>\n );\n}\n\nconst Container = styled.div``;\n\nconst StyledSpace = styled(Space)`\n .ant-space-item {\n color: #6a7378;\n text-align: center;\n font-family: Lato;\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n }\n`;\n\nexport default Print;\n"],"names":["Print","orderDetails","useOrderDetails","gsitId","orderId","useMemo","getEnvironment","projectEnv","apiPath","getBaseUrl","getUrl","option","val","baseUrl","handleSelectChange","selectedOption","selectedValue","baseEndpoint","getBaseEndpoint","url","menuItems","PrintMenu","jsx","e","Container","Dropdown","jsxs","StyledSpace","ArrowDownIcon","styled","Space"],"mappings":";;;;;;;;AAQA,SAASA,IAAQ;AACf,QAAM,CAACC,CAAY,IAAIC,EAAA,GACjBC,IAASF,GAAc,eAEvBG,IAAUC,EAAQ,MACfJ,GAAc,IACpB,CAACA,CAAY,CAAC,GAEXK,IAAiB,MAIN;AACf,UAAMC,IAAa,QAAA,IAAY,uBACzBC,IAAU,QAAA,IAAY;AAE5B,WAAIA,MAAY,2CACP,eAELA,MAAY,oDACP,gBAELA,MAAY,gDACP,YAGLD,MAAe,eACV,eAELA,MAAe,eACV,eAELA,MAAe,YACV,YAEF;AAAA,EACT,GAEME,IAAa,MAAc;AAE/B,YADoBH,EAAA,GACZ;AAAA,MACN,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IAAA;AAAA,EAEb,GAEMI,IAAS,CAACC,MAAmB;AACjC,UAAMC,IAAMD,GAAQ,YAAA,GAAe,WAAW,KAAK,EAAE,GAC/CE,IAAUJ,EAAA;AAEhB,WAAKN,IAIDS,MAAQ,iBACH,GAAGC,CAAO,0DAA0DV,CAAM,KAE1E,MANP,QAAQ,MAAM,qDAAqD,GAC5D;AAAA,EAOX,GAEMW,IAAqB,CAACC,MAAwB;AAClD,UAAMC,IAAgBD,GAAgB,OAChCE,IAAeC,EAAA;AACrB,QAAIF;AAEF,UAAIA,MAAkB;AACpB,eAAO;AAAA,UACL,GAAGC,CAAY,wCAAwCb,CAAO;AAAA,UAC9D;AAAA,QAAA;AAAA,eAGOY,MAAkB;AAC3B,eAAO;AAAA,UACL,GAAGC,CAAY,mCAAmCb,CAAO;AAAA,UACzD;AAAA,QAAA;AAAA,WAEG;AACL,cAAMe,IAAMT,EAAOM,CAAa;AAChC,eAAO,KAAKG,GAAK,QAAQ;AAAA,MAC3B;AAAA,EAEJ,GAsBMC,IAAY;AAAA,IAChB,OAPsBC,GAAW,IAAI,CAACV,OAAiB;AAAA,MACvD,KAAKA,EAAO;AAAA,MACZ,OAAOA,EAAO;AAAA,MACd,OAAOA,EAAO;AAAA,IAAA,EACd,GAGwB,IAAI,CAACA,OAGpB;AAAA,MACL,KAAKA,EAAO;AAAA,MACZ,OACE,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,CAAAC,MAAK;AACZ,YAAAA,EAAE,gBAAA,GAEFT,EAAmBH,CAAM;AAAA,UAE3B;AAAA,UAMC,UAAAA,EAAO;AAAA,QAAA;AAAA,MAAA;AAAA;AAAA,IACV,EAIL;AAAA,EAAA;AAGH,SACE,gBAAAW,EAACE,KACC,4BAACC,GAAA,EAAS,MAAML,GAAW,SAAS,CAAC,OAAO,GAC1C,UAAA,gBAAAE,EAAC,OAAE,SAAS,CAAA,MAAK,EAAE,eAAA,GAAkB,OAAO,EAAE,QAAQ,UAAA,GACpD,UAAA,gBAAAI,EAACC,GAAA,EAAY,UAAA;AAAA,IAAA;AAAA,IAEX,gBAAAL,EAACM,GAAA,EAAc,MAAM,WAAW;AAAA,EAAA,GAClC,EAAA,CACF,EAAA,CACF,GACF;AAEJ;AAEA,MAAMJ,IAAYK,EAAO,OAEnBF,IAAcE,EAAOC,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
package/package.json
CHANGED