@mx-cartographer/experiences 9.2.9-alpha.al3 → 9.2.9
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/CHANGELOG.md +4 -0
- package/dist/{AccountDetailsDrawer-CwDPr4i5.mjs → AccountDetailsDrawer-uaxiCVOl.mjs} +2 -2
- package/dist/{AccountDetailsDrawer-CwDPr4i5.mjs.map → AccountDetailsDrawer-uaxiCVOl.mjs.map} +1 -1
- package/dist/{Analytics-DST_WxYZ.mjs → Analytics-B8AaC22u.mjs} +2 -2
- package/dist/{Analytics-DST_WxYZ.mjs.map → Analytics-B8AaC22u.mjs.map} +1 -1
- package/dist/{ApiEndpoints-YY8ajnnd.mjs → ApiEndpoints-DXwIYNUV.mjs} +1 -2
- package/dist/ApiEndpoints-DXwIYNUV.mjs.map +1 -0
- package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs → CategorySelectorDrawer-BYeVJ_kO.mjs} +94 -86
- package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-BYeVJ_kO.mjs.map} +1 -1
- package/dist/{GlobalCopyApi-DNC5K2QG.mjs → GlobalCopyApi-CLhyon-B.mjs} +2 -2
- package/dist/{GlobalCopyApi-DNC5K2QG.mjs.map → GlobalCopyApi-CLhyon-B.mjs.map} +1 -1
- package/dist/{ManageIncome-Br11zvAT.mjs → ManageIncome-CtD65bN_.mjs} +3 -3
- package/dist/{ManageIncome-Br11zvAT.mjs.map → ManageIncome-CtD65bN_.mjs.map} +1 -1
- package/dist/{RecurringSettings-BkRz-uzd.mjs → RecurringSettings-BM2bQfSY.mjs} +2 -2
- package/dist/{RecurringSettings-BkRz-uzd.mjs.map → RecurringSettings-BM2bQfSY.mjs.map} +1 -1
- package/dist/{TransactionDetails-CLc7oeHT.mjs → TransactionDetails-Bo0rVT-L.mjs} +2 -2
- package/dist/{TransactionDetails-CLc7oeHT.mjs.map → TransactionDetails-Bo0rVT-L.mjs.map} +1 -1
- package/dist/{UserStore-cI7SJMs_.mjs → UserStore-CgsAunf1.mjs} +145 -166
- package/dist/UserStore-CgsAunf1.mjs.map +1 -0
- package/dist/{ViewMoreMicroCard-Bx9xa2z5.mjs → ViewMoreMicroCard-B4oeGrbE.mjs} +3 -3
- package/dist/{ViewMoreMicroCard-Bx9xa2z5.mjs.map → ViewMoreMicroCard-B4oeGrbE.mjs.map} +1 -1
- package/dist/accounts/index.es.js +2 -2
- package/dist/budgets/index.es.js +3 -3
- package/dist/cashflow/index.es.js +3 -3
- package/dist/categories/index.es.js +1 -1
- package/dist/common/index.es.js +2 -2
- package/dist/core/api/SettingsApi.d.ts +0 -4
- package/dist/core/constants/ApiEndpoints.d.ts +0 -1
- package/dist/core/index.es.js +4 -4
- package/dist/core/stores/SettingsStore.d.ts +0 -4
- package/dist/core/types/localization/SettingsCopy.d.ts +0 -6
- package/dist/finstrong/index.es.js +2 -2
- package/dist/microinsights/index.es.js +1 -1
- package/dist/notifications/index.es.js +1 -1
- package/dist/recurringtransactions/index.es.js +4 -4
- package/dist/settings/components/profile/ProfileTab.d.ts +1 -1
- package/dist/settings/index.es.js +416 -460
- package/dist/settings/index.es.js.map +1 -1
- package/dist/spending/index.es.js +1 -1
- package/dist/transactions/index.es.js +3 -3
- package/dist/trends/index.es.js +2 -2
- package/package.json +1 -1
- package/dist/ApiEndpoints-YY8ajnnd.mjs.map +0 -1
- package/dist/UserStore-cI7SJMs_.mjs.map +0 -1
- package/dist/settings/components/profile/actions/ResetPasswordAction.d.ts +0 -4
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
1
|
+
import { jsx as t, jsxs as E } from "react/jsx-runtime";
|
|
2
2
|
import { observer as p } from "mobx-react-lite";
|
|
3
|
-
import
|
|
3
|
+
import C from "react";
|
|
4
4
|
import $ from "@mui/material/Stack";
|
|
5
|
-
import { G as K, l as
|
|
5
|
+
import { G as K, l as A, u as b, f as O, a as B } from "./hooks-97sNJ_lf.mjs";
|
|
6
6
|
import U from "@mui/material/List";
|
|
7
7
|
import V from "@mui/material/Paper";
|
|
8
8
|
import { b as _ } from "./Localization-DnoVyBNK.mjs";
|
|
9
9
|
import Y from "@mui/material/Divider";
|
|
10
|
-
import
|
|
10
|
+
import G from "@mui/material/ListItem";
|
|
11
11
|
import W from "@mui/material/ListItemAvatar";
|
|
12
|
-
import
|
|
12
|
+
import R from "@mui/material/ListItemButton";
|
|
13
13
|
import F from "@mui/material/ListItemIcon";
|
|
14
|
-
import
|
|
14
|
+
import w from "@mui/material/ListItemText";
|
|
15
15
|
import { CheckCircle as M, Edit as j, Delete as X, ExpandMore as z } from "@mxenabled/mx-icons";
|
|
16
16
|
import { Text as q, TextField as H, CategoryIcon as J } from "@mxenabled/mxui";
|
|
17
17
|
import Q from "@mui/material/Collapse";
|
|
@@ -24,11 +24,11 @@ import { u as ae } from "./useAriaLive-MkYebyUR.mjs";
|
|
|
24
24
|
import { L as k } from "./Loader-CxeBwuPG.mjs";
|
|
25
25
|
import { S as re } from "./SearchBox-Cpgu_gdO.mjs";
|
|
26
26
|
import { D as ne } from "./Drawer-DsnW2o0v.mjs";
|
|
27
|
-
const
|
|
28
|
-
if (!
|
|
27
|
+
const f = () => {
|
|
28
|
+
if (!C.useContext(K))
|
|
29
29
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
30
|
-
return
|
|
31
|
-
},
|
|
30
|
+
return A().uiStore;
|
|
31
|
+
}, g = {
|
|
32
32
|
ON_CATEGORY_EXPANDED: "onCategoryExpanded",
|
|
33
33
|
ON_CATEGORY_COLLAPSED: "onCategoryCollapsed",
|
|
34
34
|
ON_CATEGORY_SELECTED: "onCategorySelected",
|
|
@@ -41,7 +41,7 @@ const y = () => {
|
|
|
41
41
|
ON_SUBCATEGORY_DELETED: "onSubcategoryDeleted",
|
|
42
42
|
ON_SUBCATEGORY_SAVED: "onSubcategorySaved"
|
|
43
43
|
};
|
|
44
|
-
var
|
|
44
|
+
var T = /* @__PURE__ */ ((e) => (e.ADD = "add", e.EDIT = "edit", e.DELETE = "delete", e))(T || {});
|
|
45
45
|
const se = ({
|
|
46
46
|
categoryName: e = "",
|
|
47
47
|
onClose: s,
|
|
@@ -49,9 +49,9 @@ const se = ({
|
|
|
49
49
|
isOpen: l,
|
|
50
50
|
type: i
|
|
51
51
|
}) => {
|
|
52
|
-
const [a, c] =
|
|
52
|
+
const [a, c] = C.useState(e), { categories: r } = b(), { setShouldDisableDrawerScroll: n } = f();
|
|
53
53
|
let d = "", m = [];
|
|
54
|
-
const u = i === "delete", h = e.length > 50 ? `${e.slice(0, 50)}...` : e,
|
|
54
|
+
const u = i === "delete", h = e.length > 50 ? `${e.slice(0, 50)}...` : e, y = i === "edit" ? _(r.edit_subcategory_aria, h) : r.add_subcategory_aria;
|
|
55
55
|
switch (i) {
|
|
56
56
|
case "add":
|
|
57
57
|
d = r.add_subcategory_title;
|
|
@@ -83,13 +83,13 @@ const se = ({
|
|
|
83
83
|
children: /* @__PURE__ */ t(Z, { children: u ? m : /* @__PURE__ */ t(
|
|
84
84
|
H,
|
|
85
85
|
{
|
|
86
|
-
label:
|
|
86
|
+
label: y,
|
|
87
87
|
name: "modify-subcategory",
|
|
88
88
|
onChange: (D) => c(D.target.value),
|
|
89
89
|
placeholder: r.input_placeholder,
|
|
90
90
|
slotProps: {
|
|
91
91
|
htmlInput: {
|
|
92
|
-
"aria-label":
|
|
92
|
+
"aria-label": y,
|
|
93
93
|
maxLength: 50
|
|
94
94
|
}
|
|
95
95
|
},
|
|
@@ -100,29 +100,29 @@ const se = ({
|
|
|
100
100
|
) })
|
|
101
101
|
}
|
|
102
102
|
);
|
|
103
|
-
},
|
|
104
|
-
const [o, l] =
|
|
105
|
-
await i(u.trim(), s.guid), e(_(a.add_subcategory_announcement, u)), c(
|
|
103
|
+
}, I = p(se), ie = ({ announce: e, parentCategory: s }) => {
|
|
104
|
+
const [o, l] = C.useState(!1), { addCategory: i } = A(), { categories: a } = b(), { onEvent: c } = O(), { setShouldDisableDrawerScroll: r } = f(), n = async (u) => {
|
|
105
|
+
await i(u.trim(), s.guid), e(_(a.add_subcategory_announcement, u)), c(g.ON_SUBCATEGORY_ADDED), l(!1);
|
|
106
106
|
}, d = async () => {
|
|
107
|
-
c(
|
|
107
|
+
c(g.ON_SUBCATEGORY_ADD_CLICK), r(!0), l(!0);
|
|
108
108
|
}, m = () => {
|
|
109
|
-
l(!1), c(
|
|
109
|
+
l(!1), c(g.ON_SUBCATEGORY_ADD_CANCEL_CLICK);
|
|
110
110
|
};
|
|
111
|
-
return /* @__PURE__ */
|
|
112
|
-
/* @__PURE__ */ t(
|
|
113
|
-
|
|
111
|
+
return /* @__PURE__ */ E(G, { disableGutters: !0, disablePadding: !0, children: [
|
|
112
|
+
/* @__PURE__ */ t(R, { onClick: d, sx: { ml: 60 }, children: /* @__PURE__ */ t(
|
|
113
|
+
w,
|
|
114
114
|
{
|
|
115
115
|
primary: a.add_subcategory_button,
|
|
116
116
|
slotProps: { primary: { color: "primary", fontWeight: "normal", variant: "body1" } }
|
|
117
117
|
}
|
|
118
118
|
) }),
|
|
119
119
|
o && /* @__PURE__ */ t(
|
|
120
|
-
|
|
120
|
+
I,
|
|
121
121
|
{
|
|
122
122
|
isOpen: o,
|
|
123
123
|
onClose: m,
|
|
124
124
|
onSave: n,
|
|
125
|
-
type:
|
|
125
|
+
type: T.ADD
|
|
126
126
|
}
|
|
127
127
|
)
|
|
128
128
|
] });
|
|
@@ -132,19 +132,19 @@ const se = ({
|
|
|
132
132
|
subCategory: o,
|
|
133
133
|
showRename: l
|
|
134
134
|
}) => {
|
|
135
|
-
const { onEvent: i } =
|
|
136
|
-
await a({ ...o, name: d }), e(_(c.edit_subcategory_announcement, o.name, d)), i(
|
|
135
|
+
const { onEvent: i } = O(), { updateCategory: a } = A(), { categories: c } = b(), r = async (d) => {
|
|
136
|
+
await a({ ...o, name: d }), e(_(c.edit_subcategory_announcement, o.name, d)), i(g.ON_SUBCATEGORY_SAVED), s(!1);
|
|
137
137
|
}, n = () => {
|
|
138
|
-
s(!1), i(
|
|
138
|
+
s(!1), i(g.ON_SUBCATEGORY_EDIT_CANCEL_CLICK);
|
|
139
139
|
};
|
|
140
140
|
return /* @__PURE__ */ t(
|
|
141
|
-
|
|
141
|
+
I,
|
|
142
142
|
{
|
|
143
143
|
categoryName: o.name,
|
|
144
144
|
isOpen: l,
|
|
145
145
|
onClose: n,
|
|
146
146
|
onSave: r,
|
|
147
|
-
type:
|
|
147
|
+
type: T.EDIT
|
|
148
148
|
}
|
|
149
149
|
);
|
|
150
150
|
}, de = p(le), ue = ({
|
|
@@ -154,19 +154,19 @@ const se = ({
|
|
|
154
154
|
setShowDelete: l,
|
|
155
155
|
subCategory: i
|
|
156
156
|
}) => {
|
|
157
|
-
const { onEvent: a } =
|
|
158
|
-
l(!1), a(
|
|
157
|
+
const { onEvent: a } = O(), { removeCategory: c } = A(), { categories: r } = b(), n = () => {
|
|
158
|
+
l(!1), a(g.ON_SUBCATEGORY_DELETE_CLICK);
|
|
159
159
|
}, d = async () => {
|
|
160
|
-
await c(i.guid), e(_(r.delete_subcategory_announcement, i.name)), a(
|
|
160
|
+
await c(i.guid), e(_(r.delete_subcategory_announcement, i.name)), a(g.ON_SUBCATEGORY_DELETED), l(!1);
|
|
161
161
|
};
|
|
162
162
|
return /* @__PURE__ */ t(
|
|
163
|
-
|
|
163
|
+
I,
|
|
164
164
|
{
|
|
165
165
|
categoryName: s.name,
|
|
166
166
|
isOpen: o,
|
|
167
167
|
onClose: n,
|
|
168
168
|
onSave: d,
|
|
169
|
-
type:
|
|
169
|
+
type: T.DELETE
|
|
170
170
|
}
|
|
171
171
|
);
|
|
172
172
|
}, me = p(ue), Ce = ({
|
|
@@ -182,38 +182,38 @@ const se = ({
|
|
|
182
182
|
showSelected: r,
|
|
183
183
|
unselectable: n,
|
|
184
184
|
unselectableText: d
|
|
185
|
-
} =
|
|
186
|
-
return /* @__PURE__ */
|
|
187
|
-
|
|
185
|
+
} = f(), { categories: m } = b(), { onEvent: u } = O(), [h, y] = C.useState(!1), [D, L] = C.useState(!1), N = !!o.revision, S = o.guid === i, x = !n.some((P) => P === o.guid);
|
|
186
|
+
return /* @__PURE__ */ E(
|
|
187
|
+
G,
|
|
188
188
|
{
|
|
189
189
|
className: "mx-cat-subcategory-row",
|
|
190
190
|
disableGutters: !0,
|
|
191
191
|
disablePadding: !0,
|
|
192
192
|
sx: { pl: 58 },
|
|
193
193
|
children: [
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
-
|
|
194
|
+
/* @__PURE__ */ E(
|
|
195
|
+
R,
|
|
196
196
|
{
|
|
197
|
-
"aria-pressed":
|
|
197
|
+
"aria-pressed": S,
|
|
198
198
|
color: "secondary",
|
|
199
199
|
onClick: () => {
|
|
200
|
-
|
|
200
|
+
x && (a(o.guid), l(o.guid), u(g.ON_CATEGORY_SELECTED));
|
|
201
201
|
},
|
|
202
202
|
sx: { height: 44, minWidth: 0, overflow: "hidden" },
|
|
203
203
|
children: [
|
|
204
204
|
/* @__PURE__ */ t(
|
|
205
|
-
|
|
205
|
+
w,
|
|
206
206
|
{
|
|
207
207
|
primary: o.name,
|
|
208
208
|
slotProps: { primary: { fontWeight: "normal", variant: "body1", noWrap: !0 } }
|
|
209
209
|
}
|
|
210
210
|
),
|
|
211
|
-
r &&
|
|
212
|
-
!
|
|
211
|
+
r && S && /* @__PURE__ */ t(M, { fontSize: "small" }),
|
|
212
|
+
!x && /* @__PURE__ */ t(oe, { label: d })
|
|
213
213
|
]
|
|
214
214
|
}
|
|
215
215
|
),
|
|
216
|
-
|
|
216
|
+
N && /* @__PURE__ */ E(
|
|
217
217
|
te,
|
|
218
218
|
{
|
|
219
219
|
className: "mx-cat-subcategory-edit-container",
|
|
@@ -224,7 +224,7 @@ const se = ({
|
|
|
224
224
|
{
|
|
225
225
|
"aria-label": _(m.edit_subcategory_title, o.name),
|
|
226
226
|
onClick: () => {
|
|
227
|
-
|
|
227
|
+
y(!0), c(!0), u(g.ON_SUBCATEGORY_EDIT_CLICK);
|
|
228
228
|
},
|
|
229
229
|
children: /* @__PURE__ */ t(j, { color: "secondary" })
|
|
230
230
|
}
|
|
@@ -235,7 +235,7 @@ const se = ({
|
|
|
235
235
|
"aria-label": _(m.delete_subcategory_aria, o.name),
|
|
236
236
|
edge: "end",
|
|
237
237
|
onClick: () => {
|
|
238
|
-
|
|
238
|
+
L(!0), c(!0), u(g.ON_SUBCATEGORY_DELETE_CLICK);
|
|
239
239
|
},
|
|
240
240
|
children: /* @__PURE__ */ t(X, { color: "secondary" })
|
|
241
241
|
}
|
|
@@ -248,7 +248,7 @@ const se = ({
|
|
|
248
248
|
{
|
|
249
249
|
announce: e,
|
|
250
250
|
parentCategory: s,
|
|
251
|
-
setShowDelete:
|
|
251
|
+
setShowDelete: L,
|
|
252
252
|
showDelete: D,
|
|
253
253
|
subCategory: o
|
|
254
254
|
}
|
|
@@ -257,7 +257,7 @@ const se = ({
|
|
|
257
257
|
de,
|
|
258
258
|
{
|
|
259
259
|
announce: e,
|
|
260
|
-
setShowRename:
|
|
260
|
+
setShowRename: y,
|
|
261
261
|
showRename: h,
|
|
262
262
|
subCategory: o
|
|
263
263
|
}
|
|
@@ -265,9 +265,9 @@ const se = ({
|
|
|
265
265
|
]
|
|
266
266
|
}
|
|
267
267
|
);
|
|
268
|
-
},
|
|
269
|
-
const { expandedGuid: o, searchValue: l } =
|
|
270
|
-
return /* @__PURE__ */
|
|
268
|
+
}, ge = p(Ce), _e = ({ categories: e, parentCategory: s }) => {
|
|
269
|
+
const { expandedGuid: o, searchValue: l } = f(), { announce: i, ariaLive: a } = ae(), c = s.guid === o, r = !!l;
|
|
270
|
+
return /* @__PURE__ */ E(
|
|
271
271
|
Q,
|
|
272
272
|
{
|
|
273
273
|
in: c || r,
|
|
@@ -276,16 +276,16 @@ const se = ({
|
|
|
276
276
|
unmountOnExit: !0,
|
|
277
277
|
children: [
|
|
278
278
|
a,
|
|
279
|
-
/* @__PURE__ */
|
|
279
|
+
/* @__PURE__ */ E(
|
|
280
280
|
U,
|
|
281
281
|
{
|
|
282
282
|
"aria-labelledby": `category-${s.guid}`,
|
|
283
283
|
className: "mx-cat-subcategory-list",
|
|
284
284
|
id: `subcategories-${s.guid}`,
|
|
285
285
|
children: [
|
|
286
|
-
e.map((n) => /* @__PURE__ */
|
|
286
|
+
e.map((n) => /* @__PURE__ */ E(C.Fragment, { children: [
|
|
287
287
|
/* @__PURE__ */ t(
|
|
288
|
-
|
|
288
|
+
ge,
|
|
289
289
|
{
|
|
290
290
|
announce: i,
|
|
291
291
|
parentCategory: s,
|
|
@@ -301,14 +301,14 @@ const se = ({
|
|
|
301
301
|
]
|
|
302
302
|
}
|
|
303
303
|
);
|
|
304
|
-
}, Ee = p(
|
|
305
|
-
const { expandedGuid: o, searchValue: l, setExpandedGuid: i } =
|
|
304
|
+
}, Ee = p(_e), pe = ({ category: e, subCategories: s }) => {
|
|
305
|
+
const { expandedGuid: o, searchValue: l, setExpandedGuid: i } = f(), { onEvent: a } = O(), c = e.guid === o, r = () => {
|
|
306
306
|
const n = e.guid !== o ? e.guid : null;
|
|
307
|
-
i(n), a(n ?
|
|
307
|
+
i(n), a(n ? g.ON_CATEGORY_EXPANDED : g.ON_CATEGORY_COLLAPSED);
|
|
308
308
|
};
|
|
309
|
-
return /* @__PURE__ */
|
|
310
|
-
/* @__PURE__ */ t(
|
|
311
|
-
|
|
309
|
+
return /* @__PURE__ */ E(C.Fragment, { children: [
|
|
310
|
+
/* @__PURE__ */ t(G, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ E(
|
|
311
|
+
R,
|
|
312
312
|
{
|
|
313
313
|
"aria-controls": `subcategories-${e.guid}`,
|
|
314
314
|
"aria-expanded": e.guid === o,
|
|
@@ -318,7 +318,7 @@ const se = ({
|
|
|
318
318
|
children: [
|
|
319
319
|
/* @__PURE__ */ t(W, { children: /* @__PURE__ */ t(J, { categoryGuid: e.guid }) }),
|
|
320
320
|
/* @__PURE__ */ t(
|
|
321
|
-
|
|
321
|
+
w,
|
|
322
322
|
{
|
|
323
323
|
primary: e.name,
|
|
324
324
|
slotProps: { primary: { fontWeight: "normal", variant: "body1" } }
|
|
@@ -341,7 +341,7 @@ const se = ({
|
|
|
341
341
|
/* @__PURE__ */ t("li", { style: { listStyle: "none" }, children: /* @__PURE__ */ t(Ee, { categories: s, parentCategory: e }) })
|
|
342
342
|
] });
|
|
343
343
|
}, he = p(pe), Se = () => {
|
|
344
|
-
const { categories: e } =
|
|
344
|
+
const { categories: e } = A(), { searchValue: s } = f(), { categories: o } = b(), i = ((a, c = "") => a.reduce((r, n) => {
|
|
345
345
|
if (n.parent_guid === null) {
|
|
346
346
|
const m = [
|
|
347
347
|
{
|
|
@@ -373,42 +373,50 @@ const se = ({
|
|
|
373
373
|
unselectable: l = [],
|
|
374
374
|
unselectableText: i = "Unselectable"
|
|
375
375
|
}) => {
|
|
376
|
-
const { categories: a, loadCategories: c } =
|
|
376
|
+
const { categories: a, loadCategories: c } = A(), { common: r } = b(), { isCopyLoaded: n } = B(), {
|
|
377
377
|
searchValue: d,
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
378
|
+
setExpandedGuid: m,
|
|
379
|
+
setOnSelect: u,
|
|
380
|
+
setSearchValue: h,
|
|
381
|
+
setSelectedGuid: y,
|
|
382
|
+
setShowSelected: D,
|
|
383
|
+
setUnselectable: L,
|
|
384
|
+
setUnselectableText: N
|
|
385
|
+
} = f();
|
|
386
|
+
return C.useEffect(() => {
|
|
387
|
+
s && u(s);
|
|
388
|
+
}), C.useEffect(() => {
|
|
388
389
|
a.length || c();
|
|
389
|
-
}, []),
|
|
390
|
-
|
|
391
|
-
}, [e
|
|
390
|
+
}, []), C.useEffect(() => {
|
|
391
|
+
y(e ?? null), h("");
|
|
392
|
+
}, [e]), C.useEffect(() => {
|
|
393
|
+
const S = a.find((x) => x.guid === e);
|
|
394
|
+
m(
|
|
395
|
+
S ? S.parent_guid ?? S.guid : null
|
|
396
|
+
);
|
|
397
|
+
}, [a, e]), C.useEffect(() => {
|
|
398
|
+
D(o), L(l), N(i);
|
|
399
|
+
}, [o, l, i]), n ? /* @__PURE__ */ E($, { className: "mx-cat-category-selector", sx: { width: "100%" }, children: [
|
|
392
400
|
/* @__PURE__ */ t(
|
|
393
401
|
re,
|
|
394
402
|
{
|
|
395
403
|
ariaLabel: r.search_aria,
|
|
396
404
|
cancelAriaLabel: r.cancel_search_aria,
|
|
397
|
-
onChange: (
|
|
405
|
+
onChange: (S) => h(S),
|
|
398
406
|
placeholder: r.search_placeholder,
|
|
399
407
|
searchValue: d
|
|
400
408
|
}
|
|
401
409
|
),
|
|
402
410
|
/* @__PURE__ */ t(be, {})
|
|
403
411
|
] }) : /* @__PURE__ */ t(k, {});
|
|
404
|
-
},
|
|
412
|
+
}, fe = p(ye), De = ({
|
|
405
413
|
id: e,
|
|
406
414
|
onClose: s,
|
|
407
415
|
title: o,
|
|
408
416
|
showDrawer: l,
|
|
409
417
|
...i
|
|
410
418
|
}) => {
|
|
411
|
-
const { common: a } =
|
|
419
|
+
const { common: a } = b(), { isCopyLoaded: c } = B();
|
|
412
420
|
return c ? /* @__PURE__ */ t(
|
|
413
421
|
ne,
|
|
414
422
|
{
|
|
@@ -418,14 +426,14 @@ const se = ({
|
|
|
418
426
|
isOpen: l,
|
|
419
427
|
onClose: s,
|
|
420
428
|
title: o,
|
|
421
|
-
children: /* @__PURE__ */ t(
|
|
429
|
+
children: /* @__PURE__ */ t(fe, { ...i })
|
|
422
430
|
}
|
|
423
431
|
) : /* @__PURE__ */ t(k, {});
|
|
424
|
-
}, Je = p(
|
|
432
|
+
}, Je = p(De);
|
|
425
433
|
export {
|
|
426
434
|
he as C,
|
|
427
|
-
|
|
435
|
+
fe as a,
|
|
428
436
|
Je as b,
|
|
429
|
-
|
|
437
|
+
f as u
|
|
430
438
|
};
|
|
431
|
-
//# sourceMappingURL=CategorySelectorDrawer-
|
|
439
|
+
//# sourceMappingURL=CategorySelectorDrawer-BYeVJ_kO.mjs.map
|
package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-BYeVJ_kO.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategorySelectorDrawer-NJsFsKP1.mjs","sources":["../src/categories/context/hooks.ts","../src/categories/constants/OnClickEvents.ts","../src/categories/components/CustomCategories/CustomCategoryModal.tsx","../src/categories/components/CustomCategories/AddSubcategory.tsx","../src/categories/components/CustomCategories/RenameSubcategory.tsx","../src/categories/components/CustomCategories/DeleteSubcategory.tsx","../src/categories/components/SubcategoryRow.tsx","../src/categories/components/SubcategoryList.tsx","../src/categories/components/CategoryRow.tsx","../src/categories/components/CategoryList.tsx","../src/categories/components/CategorySelector.tsx","../src/categories/components/CategorySelectorDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useCategoryStore } from '../../common'\n\nexport const useCategoryUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useCategoryStore().uiStore\n}\n","export const ON_CLICK_EVENTS = {\n ON_CATEGORY_EXPANDED: 'onCategoryExpanded',\n ON_CATEGORY_COLLAPSED: 'onCategoryCollapsed',\n ON_CATEGORY_SELECTED: 'onCategorySelected',\n ON_SUBCATEGORY_ADD_CLICK: 'onSubcategoryAddClick',\n ON_SUBCATEGORY_ADD_CANCEL_CLICK: 'onSubcategoryAddCancelClick',\n ON_SUBCATEGORY_ADDED: 'onSubcategoryAdded',\n ON_SUBCATEGORY_EDIT_CLICK: 'onSubcategoryEditClick',\n ON_SUBCATEGORY_EDIT_CANCEL_CLICK: 'onSubcategoryEditCancelClick',\n ON_SUBCATEGORY_DELETE_CLICK: 'onSubcategoryDeleteClick',\n ON_SUBCATEGORY_DELETED: 'onSubcategoryDeleted',\n ON_SUBCATEGORY_SAVED: 'onSubcategorySaved',\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\nimport type { DynamicCopyElement } from '../../../core'\nimport DialogContent from '@mui/material/DialogContent'\n\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nexport enum CustomCategoryModalType {\n ADD = 'add',\n EDIT = 'edit',\n DELETE = 'delete',\n}\n\ninterface CustomCategoryModalProps {\n categoryName?: string\n onClose: () => void\n onSave: (name: string) => void\n isOpen: boolean\n type: CustomCategoryModalType\n}\n\nconst CustomCategoryModal: React.FC<CustomCategoryModalProps> = ({\n categoryName = '',\n onClose,\n onSave,\n isOpen,\n type,\n}) => {\n const [name, setName] = React.useState(categoryName)\n const { categories: copy } = useGlobalCopyStore()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n let headingText = ''\n let primaryText: DynamicCopyElement = []\n\n const isDeleteType = type === CustomCategoryModalType.DELETE\n const displayName = categoryName.length > 50 ? `${categoryName.slice(0, 50)}...` : categoryName\n const inputAriaLabel =\n type === CustomCategoryModalType.EDIT\n ? (buildDynamicCopy(copy.edit_subcategory_aria, displayName) as string)\n : copy.add_subcategory_aria\n\n switch (type) {\n case CustomCategoryModalType.ADD:\n headingText = copy.add_subcategory_title\n break\n case CustomCategoryModalType.EDIT:\n headingText = buildDynamicCopy(copy.edit_subcategory_title, displayName) as string\n break\n case CustomCategoryModalType.DELETE:\n headingText = copy.delete_subcategory_heading\n primaryText = buildDynamicCopy(\n copy.all_transactions_in_this_subcategory,\n <Text bold={true} component=\"span\">\n {buildDynamicCopy(copy.all_parent_category, displayName) as string}\n </Text>,\n ) as DynamicCopyElement\n break\n }\n\n return (\n <Dialog\n copy={{\n title: headingText,\n }}\n disablePrimaryButton={!name}\n isOpen={isOpen}\n onClose={() => {\n setShouldDisableDrawerScroll(false)\n onClose()\n }}\n onPrimaryAction={() => {\n setShouldDisableDrawerScroll(false)\n onSave(name)\n }}\n >\n <DialogContent>\n {isDeleteType ? (\n (primaryText as React.ReactNode)\n ) : (\n <TextField\n label={inputAriaLabel}\n name=\"modify-subcategory\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setName(e.target.value)}\n placeholder={copy.input_placeholder}\n slotProps={{\n htmlInput: {\n 'aria-label': inputAriaLabel,\n maxLength: 50,\n },\n }}\n sx={{ width: '100%' }}\n truncate={true}\n value={name}\n />\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nexport default observer(CustomCategoryModal)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AddSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n}\n\nconst AddSubcategory: React.FC<AddSubcategoryProps> = ({ announce, parentCategory }) => {\n const [showAdd, setShowAdd] = React.useState(false)\n const { addCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n const handleAdd = async (name: string) => {\n await addCategory(name.trim(), parentCategory.guid)\n announce(buildDynamicCopy(copy.add_subcategory_announcement, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADDED)\n setShowAdd(false)\n }\n\n const handleAdding = async () => {\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CLICK)\n setShouldDisableDrawerScroll(true)\n setShowAdd(true)\n }\n\n const handleModalClose = () => {\n setShowAdd(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CANCEL_CLICK)\n }\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={handleAdding} sx={{ ml: 60 }}>\n <ListItemText\n primary={copy.add_subcategory_button}\n slotProps={{ primary: { color: 'primary', fontWeight: 'normal', variant: 'body1' } }}\n />\n </ListItemButton>\n\n {showAdd && (\n <CustomCategoryModal\n isOpen={showAdd}\n onClose={handleModalClose}\n onSave={handleAdd}\n type={CustomCategoryModalType.ADD}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(AddSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal from './CustomCategoryModal'\n\nimport { CustomCategoryModalType } from './CustomCategoryModal'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\ninterface RenameSubcategoryProps {\n announce: (message: string) => void\n setShowRename: (show: boolean) => void\n subCategory: Category\n showRename: boolean\n}\n\nconst RenameSubcategory: React.FC<RenameSubcategoryProps> = ({\n announce,\n setShowRename,\n subCategory,\n showRename,\n}) => {\n const { onEvent } = useEvent()\n const { updateCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleRename = async (name: string) => {\n await updateCategory({ ...subCategory, name })\n announce(buildDynamicCopy(copy.edit_subcategory_announcement, subCategory.name, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_SAVED)\n setShowRename(false)\n }\n\n const handleModalClose = () => {\n setShowRename(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CANCEL_CLICK)\n }\n\n return (\n <CustomCategoryModal\n categoryName={subCategory.name}\n isOpen={showRename}\n onClose={handleModalClose}\n onSave={handleRename}\n type={CustomCategoryModalType.EDIT}\n />\n )\n}\n\nexport default observer(RenameSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Category } from '../../../core'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeleteSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n showDelete: boolean\n setShowDelete: (isOpen: boolean) => void\n subCategory: Category\n}\n\nconst DeleteSubcategory: React.FC<DeleteSubcategoryProps> = ({\n announce,\n parentCategory,\n showDelete,\n setShowDelete,\n subCategory,\n}) => {\n const { onEvent } = useEvent()\n const { removeCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleClose = () => {\n setShowDelete(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }\n\n const handleDelete = async () => {\n await removeCategory(subCategory.guid)\n announce(buildDynamicCopy(copy.delete_subcategory_announcement, subCategory.name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETED)\n setShowDelete(false)\n }\n\n return (\n <CustomCategoryModal\n categoryName={parentCategory.name}\n isOpen={showDelete}\n onClose={handleClose}\n onSave={handleDelete}\n type={CustomCategoryModalType.DELETE}\n />\n )\n}\n\nexport default observer(DeleteSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Chip from '@mui/material/Chip'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { CheckCircle, Delete, Edit } from '@mxenabled/mx-icons'\n\nimport type { Category } from '../../core'\n\nimport RenameSubcategory from './CustomCategories/RenameSubcategory'\nimport DeleteSubcategory from './CustomCategories/DeleteSubcategory'\n\nimport { useEvent, useGlobalCopyStore } from '../../common'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface SubcategoryRowProps {\n announce: (message: string) => void\n parentCategory: Category\n subCategory: Category\n}\n\nconst SubcategoryRow: React.FC<SubcategoryRowProps> = ({\n announce,\n parentCategory,\n subCategory,\n}) => {\n const {\n onSelect,\n selectedGuid,\n setSelectedGuid,\n setShouldDisableDrawerScroll,\n showSelected,\n unselectable,\n unselectableText,\n } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [showRename, setShowRename] = React.useState(false)\n const [showDelete, setShowDelete] = React.useState(false)\n\n const isCustom = Boolean(subCategory.revision)\n const isSelected = subCategory.guid === selectedGuid\n const isSelectable = !unselectable.some((item) => item === subCategory.guid)\n const handleClick = () => {\n if (isSelectable) {\n // Internal state\n setSelectedGuid(subCategory.guid)\n // External notification\n onSelect(subCategory.guid)\n onEvent(ON_CLICK_EVENTS.ON_CATEGORY_SELECTED)\n }\n }\n\n return (\n <ListItem\n className=\"mx-cat-subcategory-row\"\n disableGutters={true}\n disablePadding={true}\n sx={{ pl: 58 }}\n >\n <ListItemButton\n aria-pressed={isSelected}\n color=\"secondary\"\n onClick={handleClick}\n sx={{ height: 44, minWidth: 0, overflow: 'hidden' }}\n >\n <ListItemText\n primary={subCategory.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1', noWrap: true } }}\n />\n {showSelected && isSelected && <CheckCircle fontSize=\"small\" />}\n {!isSelectable && <Chip label={unselectableText} />}\n </ListItemButton>\n {isCustom && (\n <Box\n className={`mx-cat-subcategory-edit-container`}\n sx={{ marginRight: 24, flexShrink: 0 }}\n >\n <IconButton\n aria-label={buildDynamicCopy(copy.edit_subcategory_title, subCategory.name) as string}\n onClick={() => {\n setShowRename(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CLICK)\n }}\n >\n <Edit color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={buildDynamicCopy(copy.delete_subcategory_aria, subCategory.name) as string}\n edge=\"end\"\n onClick={() => {\n setShowDelete(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }}\n >\n <Delete color=\"secondary\" />\n </IconButton>\n </Box>\n )}\n {showDelete && (\n <DeleteSubcategory\n announce={announce}\n parentCategory={parentCategory}\n setShowDelete={setShowDelete}\n showDelete={showDelete}\n subCategory={subCategory}\n />\n )}\n {showRename && (\n <RenameSubcategory\n announce={announce}\n setShowRename={setShowRename}\n showRename={showRename}\n subCategory={subCategory}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(SubcategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport type { Category } from '../../core'\nimport AddSubcategory from './CustomCategories/AddSubcategory'\nimport SubcategoryRow from './SubcategoryRow'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { useAriaLive } from '../../common/hooks/useAriaLive'\n\ninterface SubcategoryListProps {\n categories: Category[]\n parentCategory: Category\n}\n\nconst SubcategoryList: React.FC<SubcategoryListProps> = ({ categories, parentCategory }) => {\n const { expandedGuid, searchValue } = useCategoryUiStore()\n const { announce, ariaLive } = useAriaLive()\n const isExpanded = parentCategory.guid === expandedGuid\n const isFiltered = Boolean(searchValue)\n\n return (\n <Collapse\n in={isExpanded || isFiltered}\n sx={{ backgroundColor: 'background.default' }}\n timeout=\"auto\"\n unmountOnExit={true}\n >\n {ariaLive}\n <List\n aria-labelledby={`category-${parentCategory.guid}`}\n className=\"mx-cat-subcategory-list\"\n id={`subcategories-${parentCategory.guid}`}\n >\n {categories.map((category) => (\n <React.Fragment key={category.guid}>\n <SubcategoryRow\n announce={announce}\n parentCategory={parentCategory}\n subCategory={category}\n />\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n </React.Fragment>\n ))}\n {!isFiltered && <AddSubcategory announce={announce} parentCategory={parentCategory} />}\n </List>\n </Collapse>\n )\n}\n\nexport default observer(SubcategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport {\n Loader,\n SearchBox,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../common'\n\nimport { useCategoryUiStore } from '../context/hooks'\n\nimport CategoryList from './CategoryList'\n\nexport interface CategorySelectorProps {\n initialSelected?: string\n onSelect: (guid: string) => void\n showSelected?: boolean\n unselectable?: string[]\n unselectableText?: string\n}\n\nconst CategorySelector: React.FC<CategorySelectorProps> = ({\n initialSelected,\n onSelect = undefined,\n showSelected = true,\n unselectable = [],\n unselectableText = 'Unselectable',\n}) => {\n const { categories, loadCategories } = useCategoryStore()\n const { common: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n const {\n searchValue,\n setOnSelect,\n setSearchValue,\n setSelectedGuid,\n setShowSelected,\n setUnselectable,\n setUnselectableText,\n } = useCategoryUiStore()\n\n React.useEffect(() => {\n if (onSelect) {\n setOnSelect(onSelect)\n }\n })\n\n React.useEffect(() => {\n if (!categories.length) {\n loadCategories()\n }\n }, [])\n\n React.useEffect(() => {\n if (initialSelected) {\n setSelectedGuid(initialSelected)\n }\n setShowSelected(showSelected)\n setUnselectable(unselectable)\n setUnselectableText(unselectableText)\n }, [initialSelected, showSelected, unselectable, unselectableText])\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Stack className=\"mx-cat-category-selector\" sx={{ width: '100%' }}>\n <SearchBox\n ariaLabel={copy.search_aria}\n cancelAriaLabel={copy.cancel_search_aria}\n onChange={(value) => setSearchValue(value)}\n placeholder={copy.search_placeholder}\n searchValue={searchValue}\n />\n <CategoryList />\n </Stack>\n )\n}\n\nexport default observer(CategorySelector)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport CategorySelector from './CategorySelector'\n\nimport type { CategorySelectorProps } from './CategorySelector'\n\nexport interface CategorySelectorDrawerProps extends CategorySelectorProps {\n disableScroll?: boolean\n id?: string\n onClose: () => void\n title: string\n showDrawer: boolean\n}\n\nconst CategorySelectorDrawer: React.FC<CategorySelectorDrawerProps> = ({\n id,\n onClose,\n title,\n showDrawer,\n ...categorySelectorProps\n}) => {\n const { common: commonCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n className=\"mx-cat-category-selector-drawer\"\n id={id}\n isOpen={showDrawer}\n onClose={onClose}\n title={title}\n >\n <CategorySelector {...categorySelectorProps} />\n </Drawer>\n )\n}\n\nexport default observer(CategorySelectorDrawer)\n"],"names":["useCategoryUiStore","React","GlobalDataContext","useCategoryStore","ON_CLICK_EVENTS","CustomCategoryModalType","CustomCategoryModal","categoryName","onClose","onSave","isOpen","type","name","setName","copy","useGlobalCopyStore","setShouldDisableDrawerScroll","headingText","primaryText","isDeleteType","displayName","inputAriaLabel","buildDynamicCopy","jsx","Text","Dialog","DialogContent","TextField","e","CustomCategoryModal$1","observer","AddSubcategory","announce","parentCategory","showAdd","setShowAdd","addCategory","onEvent","useEvent","handleAdd","handleAdding","handleModalClose","jsxs","ListItem","ListItemButton","ListItemText","AddSubcategory$1","RenameSubcategory","setShowRename","subCategory","showRename","updateCategory","handleRename","RenameSubcategory$1","DeleteSubcategory","showDelete","setShowDelete","removeCategory","handleClose","handleDelete","DeleteSubcategory$1","SubcategoryRow","onSelect","selectedGuid","setSelectedGuid","showSelected","unselectable","unselectableText","isCustom","isSelected","isSelectable","item","CheckCircle","Chip","Box","IconButton","Edit","Delete","SubcategoryRow$1","SubcategoryList","categories","expandedGuid","searchValue","ariaLive","useAriaLive","isExpanded","isFiltered","Collapse","List","category","Divider","SubcategoryList$1","CategoryRow","subCategories","setExpandedGuid","handleExpanderClick","guid","ListItemAvatar","CategoryIcon","ListItemIcon","ExpandMore","CategoryRow$1","CategoryList","nestedCategories","filter","acc","currCategory","children","Paper","nested","CategoryList$1","CategorySelector","initialSelected","loadCategories","isCopyLoaded","useGlobalUiStore","setOnSelect","setSearchValue","setShowSelected","setUnselectable","setUnselectableText","Stack","SearchBox","value","Loader","CategorySelector$1","CategorySelectorDrawer","id","title","showDrawer","categorySelectorProps","commonCopy","Drawer","CategorySelectorDrawer$1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CategorySelectorDrawer-BYeVJ_kO.mjs","sources":["../src/categories/context/hooks.ts","../src/categories/constants/OnClickEvents.ts","../src/categories/components/CustomCategories/CustomCategoryModal.tsx","../src/categories/components/CustomCategories/AddSubcategory.tsx","../src/categories/components/CustomCategories/RenameSubcategory.tsx","../src/categories/components/CustomCategories/DeleteSubcategory.tsx","../src/categories/components/SubcategoryRow.tsx","../src/categories/components/SubcategoryList.tsx","../src/categories/components/CategoryRow.tsx","../src/categories/components/CategoryList.tsx","../src/categories/components/CategorySelector.tsx","../src/categories/components/CategorySelectorDrawer.tsx"],"sourcesContent":["import React from 'react'\nimport { GlobalDataContext, useCategoryStore } from '../../common'\n\nexport const useCategoryUiStore = () => {\n const context = React.useContext(GlobalDataContext)\n\n if (!context) {\n throw new Error('useCategoryUiStore() must be used within the GlobalDataContext')\n }\n\n return useCategoryStore().uiStore\n}\n","export const ON_CLICK_EVENTS = {\n ON_CATEGORY_EXPANDED: 'onCategoryExpanded',\n ON_CATEGORY_COLLAPSED: 'onCategoryCollapsed',\n ON_CATEGORY_SELECTED: 'onCategorySelected',\n ON_SUBCATEGORY_ADD_CLICK: 'onSubcategoryAddClick',\n ON_SUBCATEGORY_ADD_CANCEL_CLICK: 'onSubcategoryAddCancelClick',\n ON_SUBCATEGORY_ADDED: 'onSubcategoryAdded',\n ON_SUBCATEGORY_EDIT_CLICK: 'onSubcategoryEditClick',\n ON_SUBCATEGORY_EDIT_CANCEL_CLICK: 'onSubcategoryEditCancelClick',\n ON_SUBCATEGORY_DELETE_CLICK: 'onSubcategoryDeleteClick',\n ON_SUBCATEGORY_DELETED: 'onSubcategoryDeleted',\n ON_SUBCATEGORY_SAVED: 'onSubcategorySaved',\n}\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport { Text } from '@mxenabled/mxui'\nimport { TextField } from '@mxenabled/mxui'\n\nimport { Dialog, useGlobalCopyStore } from '../../../common'\nimport type { DynamicCopyElement } from '../../../core'\nimport DialogContent from '@mui/material/DialogContent'\n\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\nexport enum CustomCategoryModalType {\n ADD = 'add',\n EDIT = 'edit',\n DELETE = 'delete',\n}\n\ninterface CustomCategoryModalProps {\n categoryName?: string\n onClose: () => void\n onSave: (name: string) => void\n isOpen: boolean\n type: CustomCategoryModalType\n}\n\nconst CustomCategoryModal: React.FC<CustomCategoryModalProps> = ({\n categoryName = '',\n onClose,\n onSave,\n isOpen,\n type,\n}) => {\n const [name, setName] = React.useState(categoryName)\n const { categories: copy } = useGlobalCopyStore()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n let headingText = ''\n let primaryText: DynamicCopyElement = []\n\n const isDeleteType = type === CustomCategoryModalType.DELETE\n const displayName = categoryName.length > 50 ? `${categoryName.slice(0, 50)}...` : categoryName\n const inputAriaLabel =\n type === CustomCategoryModalType.EDIT\n ? (buildDynamicCopy(copy.edit_subcategory_aria, displayName) as string)\n : copy.add_subcategory_aria\n\n switch (type) {\n case CustomCategoryModalType.ADD:\n headingText = copy.add_subcategory_title\n break\n case CustomCategoryModalType.EDIT:\n headingText = buildDynamicCopy(copy.edit_subcategory_title, displayName) as string\n break\n case CustomCategoryModalType.DELETE:\n headingText = copy.delete_subcategory_heading\n primaryText = buildDynamicCopy(\n copy.all_transactions_in_this_subcategory,\n <Text bold={true} component=\"span\">\n {buildDynamicCopy(copy.all_parent_category, displayName) as string}\n </Text>,\n ) as DynamicCopyElement\n break\n }\n\n return (\n <Dialog\n copy={{\n title: headingText,\n }}\n disablePrimaryButton={!name}\n isOpen={isOpen}\n onClose={() => {\n setShouldDisableDrawerScroll(false)\n onClose()\n }}\n onPrimaryAction={() => {\n setShouldDisableDrawerScroll(false)\n onSave(name)\n }}\n >\n <DialogContent>\n {isDeleteType ? (\n (primaryText as React.ReactNode)\n ) : (\n <TextField\n label={inputAriaLabel}\n name=\"modify-subcategory\"\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setName(e.target.value)}\n placeholder={copy.input_placeholder}\n slotProps={{\n htmlInput: {\n 'aria-label': inputAriaLabel,\n maxLength: 50,\n },\n }}\n sx={{ width: '100%' }}\n truncate={true}\n value={name}\n />\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nexport default observer(CustomCategoryModal)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { useCategoryUiStore } from '../../context/hooks'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface AddSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n}\n\nconst AddSubcategory: React.FC<AddSubcategoryProps> = ({ announce, parentCategory }) => {\n const [showAdd, setShowAdd] = React.useState(false)\n const { addCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n const { setShouldDisableDrawerScroll } = useCategoryUiStore()\n\n const handleAdd = async (name: string) => {\n await addCategory(name.trim(), parentCategory.guid)\n announce(buildDynamicCopy(copy.add_subcategory_announcement, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADDED)\n setShowAdd(false)\n }\n\n const handleAdding = async () => {\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CLICK)\n setShouldDisableDrawerScroll(true)\n setShowAdd(true)\n }\n\n const handleModalClose = () => {\n setShowAdd(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_ADD_CANCEL_CLICK)\n }\n\n return (\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton onClick={handleAdding} sx={{ ml: 60 }}>\n <ListItemText\n primary={copy.add_subcategory_button}\n slotProps={{ primary: { color: 'primary', fontWeight: 'normal', variant: 'body1' } }}\n />\n </ListItemButton>\n\n {showAdd && (\n <CustomCategoryModal\n isOpen={showAdd}\n onClose={handleModalClose}\n onSave={handleAdd}\n type={CustomCategoryModalType.ADD}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(AddSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport type { Category } from '../../../core'\n\nimport CustomCategoryModal from './CustomCategoryModal'\n\nimport { CustomCategoryModalType } from './CustomCategoryModal'\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\ninterface RenameSubcategoryProps {\n announce: (message: string) => void\n setShowRename: (show: boolean) => void\n subCategory: Category\n showRename: boolean\n}\n\nconst RenameSubcategory: React.FC<RenameSubcategoryProps> = ({\n announce,\n setShowRename,\n subCategory,\n showRename,\n}) => {\n const { onEvent } = useEvent()\n const { updateCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleRename = async (name: string) => {\n await updateCategory({ ...subCategory, name })\n announce(buildDynamicCopy(copy.edit_subcategory_announcement, subCategory.name, name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_SAVED)\n setShowRename(false)\n }\n\n const handleModalClose = () => {\n setShowRename(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CANCEL_CLICK)\n }\n\n return (\n <CustomCategoryModal\n categoryName={subCategory.name}\n isOpen={showRename}\n onClose={handleModalClose}\n onSave={handleRename}\n type={CustomCategoryModalType.EDIT}\n />\n )\n}\n\nexport default observer(RenameSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport CustomCategoryModal, { CustomCategoryModalType } from './CustomCategoryModal'\n\nimport { useCategoryStore, useEvent, useGlobalCopyStore } from '../../../common'\nimport type { Category } from '../../../core'\n\nimport { ON_CLICK_EVENTS } from '../../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../../core/utils/Localization'\n\ninterface DeleteSubcategoryProps {\n announce: (message: string) => void\n parentCategory: Category\n showDelete: boolean\n setShowDelete: (isOpen: boolean) => void\n subCategory: Category\n}\n\nconst DeleteSubcategory: React.FC<DeleteSubcategoryProps> = ({\n announce,\n parentCategory,\n showDelete,\n setShowDelete,\n subCategory,\n}) => {\n const { onEvent } = useEvent()\n const { removeCategory } = useCategoryStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const handleClose = () => {\n setShowDelete(false)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }\n\n const handleDelete = async () => {\n await removeCategory(subCategory.guid)\n announce(buildDynamicCopy(copy.delete_subcategory_announcement, subCategory.name) as string)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETED)\n setShowDelete(false)\n }\n\n return (\n <CustomCategoryModal\n categoryName={parentCategory.name}\n isOpen={showDelete}\n onClose={handleClose}\n onSave={handleDelete}\n type={CustomCategoryModalType.DELETE}\n />\n )\n}\n\nexport default observer(DeleteSubcategory)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Box from '@mui/material/Box'\nimport Chip from '@mui/material/Chip'\nimport IconButton from '@mui/material/IconButton'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { CheckCircle, Delete, Edit } from '@mxenabled/mx-icons'\n\nimport type { Category } from '../../core'\n\nimport RenameSubcategory from './CustomCategories/RenameSubcategory'\nimport DeleteSubcategory from './CustomCategories/DeleteSubcategory'\n\nimport { useEvent, useGlobalCopyStore } from '../../common'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface SubcategoryRowProps {\n announce: (message: string) => void\n parentCategory: Category\n subCategory: Category\n}\n\nconst SubcategoryRow: React.FC<SubcategoryRowProps> = ({\n announce,\n parentCategory,\n subCategory,\n}) => {\n const {\n onSelect,\n selectedGuid,\n setSelectedGuid,\n setShouldDisableDrawerScroll,\n showSelected,\n unselectable,\n unselectableText,\n } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n const { onEvent } = useEvent()\n\n const [showRename, setShowRename] = React.useState(false)\n const [showDelete, setShowDelete] = React.useState(false)\n\n const isCustom = Boolean(subCategory.revision)\n const isSelected = subCategory.guid === selectedGuid\n const isSelectable = !unselectable.some((item) => item === subCategory.guid)\n const handleClick = () => {\n if (isSelectable) {\n // Internal state\n setSelectedGuid(subCategory.guid)\n // External notification\n onSelect(subCategory.guid)\n onEvent(ON_CLICK_EVENTS.ON_CATEGORY_SELECTED)\n }\n }\n\n return (\n <ListItem\n className=\"mx-cat-subcategory-row\"\n disableGutters={true}\n disablePadding={true}\n sx={{ pl: 58 }}\n >\n <ListItemButton\n aria-pressed={isSelected}\n color=\"secondary\"\n onClick={handleClick}\n sx={{ height: 44, minWidth: 0, overflow: 'hidden' }}\n >\n <ListItemText\n primary={subCategory.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1', noWrap: true } }}\n />\n {showSelected && isSelected && <CheckCircle fontSize=\"small\" />}\n {!isSelectable && <Chip label={unselectableText} />}\n </ListItemButton>\n {isCustom && (\n <Box\n className={`mx-cat-subcategory-edit-container`}\n sx={{ marginRight: 24, flexShrink: 0 }}\n >\n <IconButton\n aria-label={buildDynamicCopy(copy.edit_subcategory_title, subCategory.name) as string}\n onClick={() => {\n setShowRename(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_EDIT_CLICK)\n }}\n >\n <Edit color=\"secondary\" />\n </IconButton>\n <IconButton\n aria-label={buildDynamicCopy(copy.delete_subcategory_aria, subCategory.name) as string}\n edge=\"end\"\n onClick={() => {\n setShowDelete(true)\n setShouldDisableDrawerScroll(true)\n onEvent(ON_CLICK_EVENTS.ON_SUBCATEGORY_DELETE_CLICK)\n }}\n >\n <Delete color=\"secondary\" />\n </IconButton>\n </Box>\n )}\n {showDelete && (\n <DeleteSubcategory\n announce={announce}\n parentCategory={parentCategory}\n setShowDelete={setShowDelete}\n showDelete={showDelete}\n subCategory={subCategory}\n />\n )}\n {showRename && (\n <RenameSubcategory\n announce={announce}\n setShowRename={setShowRename}\n showRename={showRename}\n subCategory={subCategory}\n />\n )}\n </ListItem>\n )\n}\n\nexport default observer(SubcategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Collapse from '@mui/material/Collapse'\nimport Divider from '@mui/material/Divider'\nimport List from '@mui/material/List'\n\nimport type { Category } from '../../core'\nimport AddSubcategory from './CustomCategories/AddSubcategory'\nimport SubcategoryRow from './SubcategoryRow'\nimport { useCategoryUiStore } from '../context/hooks'\nimport { useAriaLive } from '../../common/hooks/useAriaLive'\n\ninterface SubcategoryListProps {\n categories: Category[]\n parentCategory: Category\n}\n\nconst SubcategoryList: React.FC<SubcategoryListProps> = ({ categories, parentCategory }) => {\n const { expandedGuid, searchValue } = useCategoryUiStore()\n const { announce, ariaLive } = useAriaLive()\n const isExpanded = parentCategory.guid === expandedGuid\n const isFiltered = Boolean(searchValue)\n\n return (\n <Collapse\n in={isExpanded || isFiltered}\n sx={{ backgroundColor: 'background.default' }}\n timeout=\"auto\"\n unmountOnExit={true}\n >\n {ariaLive}\n <List\n aria-labelledby={`category-${parentCategory.guid}`}\n className=\"mx-cat-subcategory-list\"\n id={`subcategories-${parentCategory.guid}`}\n >\n {categories.map((category) => (\n <React.Fragment key={category.guid}>\n <SubcategoryRow\n announce={announce}\n parentCategory={parentCategory}\n subCategory={category}\n />\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n </React.Fragment>\n ))}\n {!isFiltered && <AddSubcategory announce={announce} parentCategory={parentCategory} />}\n </List>\n </Collapse>\n )\n}\n\nexport default observer(SubcategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Divider from '@mui/material/Divider'\nimport ListItem from '@mui/material/ListItem'\nimport ListItemAvatar from '@mui/material/ListItemAvatar'\nimport ListItemButton from '@mui/material/ListItemButton'\nimport ListItemIcon from '@mui/material/ListItemIcon'\nimport ListItemText from '@mui/material/ListItemText'\n\nimport { ExpandMore } from '@mxenabled/mx-icons'\n\nimport { CategoryIcon } from '@mxenabled/mxui'\n\nimport { useEvent } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport { ON_CLICK_EVENTS } from '../constants/OnClickEvents'\nimport SubcategoryList from './SubcategoryList'\n\ninterface CategoryRowProps {\n category: Category\n subCategories: Category[]\n}\n\nconst CategoryRow: React.FC<CategoryRowProps> = ({ category, subCategories }) => {\n const { expandedGuid, searchValue, setExpandedGuid } = useCategoryUiStore()\n const { onEvent } = useEvent()\n const isExpanded = category.guid === expandedGuid\n\n const handleExpanderClick = () => {\n const guid = category.guid !== expandedGuid ? category.guid : null\n setExpandedGuid(guid)\n onEvent(guid ? ON_CLICK_EVENTS.ON_CATEGORY_EXPANDED : ON_CLICK_EVENTS.ON_CATEGORY_COLLAPSED)\n }\n\n return (\n <React.Fragment>\n <ListItem disableGutters={true} disablePadding={true}>\n <ListItemButton\n aria-controls={`subcategories-${category.guid}`}\n aria-expanded={category.guid === expandedGuid}\n aria-label={category.name}\n id={`category-${category.guid}`}\n key={category.guid}\n onClick={handleExpanderClick}\n >\n <ListItemAvatar>\n <CategoryIcon categoryGuid={category.guid} />\n </ListItemAvatar>\n <ListItemText\n primary={category.name}\n slotProps={{ primary: { fontWeight: 'normal', variant: 'body1' } }}\n />\n <ListItemIcon>\n <ExpandMore\n sx={{\n transition: 'transform 0.3s ease-in-out',\n transform: isExpanded || searchValue ? 'rotate(180deg)' : 'rotate(0deg)',\n }}\n />\n </ListItemIcon>\n </ListItemButton>\n </ListItem>\n <Divider aria-hidden=\"true\" component=\"li\" sx={{ ml: 58 }} />\n <li style={{ listStyle: 'none' }}>\n <SubcategoryList categories={subCategories} parentCategory={category} />\n </li>\n </React.Fragment>\n )\n}\n\nexport default observer(CategoryRow)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\nimport List from '@mui/material/List'\nimport Paper from '@mui/material/Paper'\n\nimport { useCategoryStore, useGlobalCopyStore } from '../../common'\nimport type { Category } from '../../core'\n\nimport { useCategoryUiStore } from '../context/hooks'\nimport CategoryRow from './CategoryRow'\nimport { buildDynamicCopy } from '../../core/utils/Localization'\n\ninterface NestedCategory {\n category: Category\n children: Category[]\n}\n\nconst CategoryList: React.FC = () => {\n const { categories } = useCategoryStore()\n const { searchValue } = useCategoryUiStore()\n const { categories: copy } = useGlobalCopyStore()\n\n const buildNestedCategories = (categories: Category[], filter = ''): NestedCategory[] => {\n return categories.reduce((acc, currCategory) => {\n if (currCategory.parent_guid === null) {\n const categoriesWithParent = [\n {\n ...currCategory,\n name: buildDynamicCopy(copy.all_parent_category, currCategory.name) as string,\n parent_guid: currCategory.guid,\n },\n ...categories,\n ]\n const children = categoriesWithParent.filter(\n (category) =>\n category.parent_guid === currCategory.guid &&\n category.name.toLowerCase().includes(filter.toLowerCase()),\n )\n\n if (currCategory.name.toLowerCase().includes(filter.toLowerCase()) || children.length > 0) {\n return [...acc, { category: { ...currCategory }, children }]\n }\n }\n return acc\n }, [] as NestedCategory[])\n }\n\n const nestedCategories = buildNestedCategories(categories, searchValue)\n\n return (\n <Paper className=\"mx-cat-category-list\" sx={{ boxShadow: 'none' }}>\n <List>\n {nestedCategories.map((nested: NestedCategory) => (\n <CategoryRow\n category={nested.category}\n key={nested.category.guid}\n subCategories={nested.children}\n />\n ))}\n </List>\n </Paper>\n )\n}\n\nexport default observer(CategoryList)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport Stack from '@mui/material/Stack'\n\nimport {\n Loader,\n SearchBox,\n useCategoryStore,\n useGlobalCopyStore,\n useGlobalUiStore,\n} from '../../common'\n\nimport { useCategoryUiStore } from '../context/hooks'\n\nimport CategoryList from './CategoryList'\n\nexport interface CategorySelectorProps {\n initialSelected?: string\n onSelect: (guid: string) => void\n showSelected?: boolean\n unselectable?: string[]\n unselectableText?: string\n}\n\nconst CategorySelector: React.FC<CategorySelectorProps> = ({\n initialSelected,\n onSelect = undefined,\n showSelected = true,\n unselectable = [],\n unselectableText = 'Unselectable',\n}) => {\n const { categories, loadCategories } = useCategoryStore()\n const { common: copy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n const {\n searchValue,\n setExpandedGuid,\n setOnSelect,\n setSearchValue,\n setSelectedGuid,\n setShowSelected,\n setUnselectable,\n setUnselectableText,\n } = useCategoryUiStore()\n\n React.useEffect(() => {\n if (onSelect) {\n setOnSelect(onSelect)\n }\n })\n\n React.useEffect(() => {\n if (!categories.length) {\n loadCategories()\n }\n }, [])\n\n React.useEffect(() => {\n // Reset per-transaction; keyed off initialSelected so a category reload doesn't clear a typed search term.\n setSelectedGuid(initialSelected ?? null)\n setSearchValue('')\n }, [initialSelected])\n\n React.useEffect(() => {\n // Expand the selection's parent (or its own accordion if top-level).\n const selectedCategory = categories.find((category) => category.guid === initialSelected)\n setExpandedGuid(\n selectedCategory ? (selectedCategory.parent_guid ?? selectedCategory.guid) : null,\n )\n }, [categories, initialSelected])\n\n React.useEffect(() => {\n setShowSelected(showSelected)\n setUnselectable(unselectable)\n setUnselectableText(unselectableText)\n }, [showSelected, unselectable, unselectableText])\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Stack className=\"mx-cat-category-selector\" sx={{ width: '100%' }}>\n <SearchBox\n ariaLabel={copy.search_aria}\n cancelAriaLabel={copy.cancel_search_aria}\n onChange={(value) => setSearchValue(value)}\n placeholder={copy.search_placeholder}\n searchValue={searchValue}\n />\n <CategoryList />\n </Stack>\n )\n}\n\nexport default observer(CategorySelector)\n","import React from 'react'\nimport { observer } from 'mobx-react-lite'\n\nimport { Drawer, Loader, useGlobalCopyStore, useGlobalUiStore } from '../../common'\n\nimport CategorySelector from './CategorySelector'\n\nimport type { CategorySelectorProps } from './CategorySelector'\n\nexport interface CategorySelectorDrawerProps extends CategorySelectorProps {\n disableScroll?: boolean\n id?: string\n onClose: () => void\n title: string\n showDrawer: boolean\n}\n\nconst CategorySelectorDrawer: React.FC<CategorySelectorDrawerProps> = ({\n id,\n onClose,\n title,\n showDrawer,\n ...categorySelectorProps\n}) => {\n const { common: commonCopy } = useGlobalCopyStore()\n const { isCopyLoaded } = useGlobalUiStore()\n\n if (!isCopyLoaded) {\n return <Loader />\n }\n\n return (\n <Drawer\n ariaLabelClose={commonCopy.close_aria}\n className=\"mx-cat-category-selector-drawer\"\n id={id}\n isOpen={showDrawer}\n onClose={onClose}\n title={title}\n >\n <CategorySelector {...categorySelectorProps} />\n </Drawer>\n )\n}\n\nexport default observer(CategorySelectorDrawer)\n"],"names":["useCategoryUiStore","React","GlobalDataContext","useCategoryStore","ON_CLICK_EVENTS","CustomCategoryModalType","CustomCategoryModal","categoryName","onClose","onSave","isOpen","type","name","setName","copy","useGlobalCopyStore","setShouldDisableDrawerScroll","headingText","primaryText","isDeleteType","displayName","inputAriaLabel","buildDynamicCopy","jsx","Text","Dialog","DialogContent","TextField","e","CustomCategoryModal$1","observer","AddSubcategory","announce","parentCategory","showAdd","setShowAdd","addCategory","onEvent","useEvent","handleAdd","handleAdding","handleModalClose","jsxs","ListItem","ListItemButton","ListItemText","AddSubcategory$1","RenameSubcategory","setShowRename","subCategory","showRename","updateCategory","handleRename","RenameSubcategory$1","DeleteSubcategory","showDelete","setShowDelete","removeCategory","handleClose","handleDelete","DeleteSubcategory$1","SubcategoryRow","onSelect","selectedGuid","setSelectedGuid","showSelected","unselectable","unselectableText","isCustom","isSelected","isSelectable","item","CheckCircle","Chip","Box","IconButton","Edit","Delete","SubcategoryRow$1","SubcategoryList","categories","expandedGuid","searchValue","ariaLive","useAriaLive","isExpanded","isFiltered","Collapse","List","category","Divider","SubcategoryList$1","CategoryRow","subCategories","setExpandedGuid","handleExpanderClick","guid","ListItemAvatar","CategoryIcon","ListItemIcon","ExpandMore","CategoryRow$1","CategoryList","nestedCategories","filter","acc","currCategory","children","Paper","nested","CategoryList$1","CategorySelector","initialSelected","loadCategories","isCopyLoaded","useGlobalUiStore","setOnSelect","setSearchValue","setShowSelected","setUnselectable","setUnselectableText","selectedCategory","Stack","SearchBox","value","Loader","CategorySelector$1","CategorySelectorDrawer","id","title","showDrawer","categorySelectorProps","commonCopy","Drawer","CategorySelectorDrawer$1"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import h from "bowser";
|
|
2
|
-
import { A as r } from "./ApiEndpoints-
|
|
2
|
+
import { A as r } from "./ApiEndpoints-DXwIYNUV.mjs";
|
|
3
3
|
import { g as u } from "./Localization-DnoVyBNK.mjs";
|
|
4
4
|
class o extends Error {
|
|
5
5
|
status;
|
|
@@ -142,4 +142,4 @@ export {
|
|
|
142
142
|
c as F,
|
|
143
143
|
E as G
|
|
144
144
|
};
|
|
145
|
-
//# sourceMappingURL=GlobalCopyApi-
|
|
145
|
+
//# sourceMappingURL=GlobalCopyApi-CLhyon-B.mjs.map
|