@amateescu/portal-ui-components 0.0.48 → 0.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/Box-DU079Glg.js +57 -0
  2. package/dist/{Button-Bx3LbSbV.js → Button-BgsadnaR.js} +13 -13
  3. package/dist/{ButtonBase-DV7q7wxh.js → ButtonBase-ugYh038t.js} +8 -8
  4. package/dist/{CheckBox-YBX2j1qt.js → CheckBox-D9YmAV-l.js} +1 -1
  5. package/dist/{CircularProgress-BXi3nXc9.js → CircularProgress-D1FWO7Cz.js} +1 -1
  6. package/dist/{Clear-Bz9hw2Wj.js → Clear-B32X2R1T.js} +1 -1
  7. package/dist/Close-IqnCWZPM.js +8 -0
  8. package/dist/{DefaultPropsProvider-ByENA_w0.js → DefaultPropsProvider-BQx1AiAq.js} +20 -19
  9. package/dist/ExpandMore-CHNJSd5N.js +8 -0
  10. package/dist/ListItem-1DiNy9oq.js +422 -0
  11. package/dist/ListItemText-VX0lo95z.js +434 -0
  12. package/dist/Modal-BnD35xWv.js +1325 -0
  13. package/dist/{Search-D_9Ptbky.js → Search-DnJ3yLMg.js} +1 -1
  14. package/dist/assets/PassportFilter.css +1 -0
  15. package/dist/assets/PassportFilterDrawer.css +1 -0
  16. package/dist/assets/PassportFilterFreeTextFilter.css +1 -0
  17. package/dist/components/LoadingAnimation/LoadingAnimation.js +8 -60
  18. package/dist/components/Login/Login.js +1 -1
  19. package/dist/components/PassportButton/PassportButton.js +1 -1
  20. package/dist/components/PassportDatePicker/PassportDatePicker.js +21 -20
  21. package/dist/components/PassportDateTimePicker/PassportDateTimePicker.js +298 -291
  22. package/dist/components/PassportDatesFilter/PassportDatesFilter.js +24 -26
  23. package/dist/components/PassportFilter/PassportFilter.d.ts +5 -0
  24. package/dist/components/PassportFilter/PassportFilter.d.ts.map +1 -0
  25. package/dist/components/PassportFilter/PassportFilter.js +154 -0
  26. package/dist/components/PassportFilter/PassportFilter.stories.d.ts +13 -0
  27. package/dist/components/PassportFilter/PassportFilter.stories.d.ts.map +1 -0
  28. package/dist/components/PassportFilter/PassportFilter.types.d.ts +61 -0
  29. package/dist/components/PassportFilter/PassportFilter.types.d.ts.map +1 -0
  30. package/dist/components/PassportFilter/PassportFilter.types.js +5 -0
  31. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.d.ts +5 -0
  32. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.d.ts.map +1 -0
  33. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.js +756 -0
  34. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.types.d.ts +28 -0
  35. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.types.d.ts.map +1 -0
  36. package/dist/components/PassportFilter/PassportFilterDrawer/PassportFilterDrawer.types.js +1 -0
  37. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.d.ts +4 -0
  38. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.d.ts.map +1 -0
  39. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.js +94 -0
  40. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.types.d.ts +16 -0
  41. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.types.d.ts.map +1 -0
  42. package/dist/components/PassportFilter/PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.types.js +1 -0
  43. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.d.ts +4 -0
  44. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.d.ts.map +1 -0
  45. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.js +736 -0
  46. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.types.d.ts +37 -0
  47. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.types.d.ts.map +1 -0
  48. package/dist/components/PassportFilter/PassportFilterFreeTextFilter/PassportFilterFreeTextFilter.types.js +1 -0
  49. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.d.ts +4 -0
  50. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.d.ts.map +1 -0
  51. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.js +180 -0
  52. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.types.d.ts +17 -0
  53. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.types.d.ts.map +1 -0
  54. package/dist/components/PassportFilter/PassportFilterSelectionList/PassportFilterSelectionList.types.js +1 -0
  55. package/dist/components/PassportInput/PassportInput.js +2 -2
  56. package/dist/components/PassportMultiSelect/PassportMultiSelect.js +1 -1
  57. package/dist/components/PassportPagination/PassportPagination.js +96 -94
  58. package/dist/components/PassportSearchableMultiSelect/PassportSearchableMultiSelect.js +1 -1
  59. package/dist/components/PassportSearchableMultiSelectDetailed/PassportSearchableMultiSelectDetailed.js +1 -1
  60. package/dist/components/PassportTreeSelect/PassportTreeSelect.js +82 -79
  61. package/dist/components/index.d.ts +1 -0
  62. package/dist/components/index.d.ts.map +1 -1
  63. package/dist/components/index.js +4 -2
  64. package/dist/{createSvgIcon-D5xeIEZ_.js → createSvgIcon-Crk7qT6j.js} +1 -1
  65. package/dist/{extendSxProp-BtJlbIOl.js → extendSxProp-BHclE0DL.js} +1 -1
  66. package/dist/getReactElementRef-CIbXfZbo.js +45 -0
  67. package/dist/index-DfCFE9GG.js +9 -0
  68. package/dist/listItemButtonClasses-BLTBU8Yh.js +476 -0
  69. package/dist/listItemIconClasses-B_UAYnw7.js +9 -0
  70. package/dist/listItemTextClasses-D5in-Wsc.js +9 -0
  71. package/dist/main.js +41 -37
  72. package/dist/portal-utils/arrays.d.ts +2 -0
  73. package/dist/portal-utils/arrays.d.ts.map +1 -0
  74. package/dist/portal-utils/arrays.js +10 -0
  75. package/dist/portal-utils/index.d.ts +1 -0
  76. package/dist/portal-utils/index.d.ts.map +1 -1
  77. package/dist/portal-utils/index.js +17 -15
  78. package/dist/types/index.d.ts +1 -0
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/useControlled-D1L5tREc.js +31 -0
  81. package/dist/useFormControl-Ivp9nwoj.js +53 -0
  82. package/dist/{useMobilePicker-CFsW9hUG.js → useMobilePicker-BombQ5QA.js} +5381 -7587
  83. package/dist/useSlot-B1oIMjd_.js +126 -0
  84. package/dist/useTheme-9dlwNzrD.js +10 -0
  85. package/dist/{useTheme-Cz8ZipjJ.js → useTheme-Dxbczges.js} +3 -3
  86. package/dist/useThemeProps-j6Er0aGl.js +27 -0
  87. package/dist/{useFormControl-MVwkyimi.js → utils-6k-H8qFR.js} +155 -231
  88. package/package.json +1 -1
  89. package/dist/useSlot-Bm5YJQBR.js +0 -160
@@ -0,0 +1,736 @@
1
+ import { jsx as d, jsxs as R, Fragment as se } from "react/jsx-runtime";
2
+ import { SelectionType as ae, SearchInputType as _ } from "../PassportFilter.types.js";
3
+ import { PassportButton as Z } from "../../PassportButton/PassportButton.js";
4
+ import { C as ce, a as le } from "../../../CheckBox-D9YmAV-l.js";
5
+ import { S as ue } from "../../../Search-DnJ3yLMg.js";
6
+ import { TextField as ee, InputAdornment as fe, Popper as me, Checkbox as pe, FormControl as de, Select as ge, MenuItem as ye } from "@mui/material";
7
+ import * as C from "react";
8
+ import { useRef as be, useState as B, useEffect as ne } from "react";
9
+ import he from "../PassportFilterFreeTextButtons/PassportFilterFreeTextButtons.js";
10
+ import { arraysContainSameElements as Oe } from "../../../portal-utils/arrays.js";
11
+ import { o as ve, P as e, c as Te, f as we, b as Ee, h as Ce, s as xe, u as ke } from "../../../DefaultPropsProvider-BQx1AiAq.js";
12
+ import { a as $e, d as Re } from "../../../ButtonBase-ugYh038t.js";
13
+ import { g as je, o as Q, e as Ne, a as Ge } from "../../../getReactElementRef-CIbXfZbo.js";
14
+ import { i as Le, a as Pe } from "../../../listItemButtonClasses-BLTBU8Yh.js";
15
+ import { u as _e } from "../../../useTheme-9dlwNzrD.js";
16
+ import { u as Me } from "../../../useTheme-Dxbczges.js";
17
+ import { e as De } from "../../../extendSxProp-BHclE0DL.js";
18
+ import { u as ze } from "../../../useThemeProps-j6Er0aGl.js";
19
+ import { L as Ae, a as Ie } from "../../../ListItemText-VX0lo95z.js";
20
+ import '../../../assets/PassportFilterFreeTextFilter.css';const We = ve(), Be = (n, o) => n.filter((i) => o.includes(i)), G = (n, o, i) => {
21
+ const r = n.keys[0];
22
+ Array.isArray(o) ? o.forEach((a, s) => {
23
+ i((g, y) => {
24
+ s <= n.keys.length - 1 && (s === 0 ? Object.assign(g, y) : g[n.up(n.keys[s])] = y);
25
+ }, a);
26
+ }) : o && typeof o == "object" ? (Object.keys(o).length > n.keys.length ? n.keys : Be(n.keys, Object.keys(o))).forEach((s) => {
27
+ if (n.keys.includes(s)) {
28
+ const g = o[s];
29
+ g !== void 0 && i((y, v) => {
30
+ r === s ? Object.assign(y, v) : y[n.up(s)] = v;
31
+ }, g);
32
+ }
33
+ }) : (typeof o == "number" || typeof o == "string") && i((a, s) => {
34
+ Object.assign(a, s);
35
+ }, o);
36
+ };
37
+ function q(n) {
38
+ return `--Grid-${n}Spacing`;
39
+ }
40
+ function F(n) {
41
+ return `--Grid-parent-${n}Spacing`;
42
+ }
43
+ const te = "--Grid-columns", N = "--Grid-parent-columns", Ve = ({
44
+ theme: n,
45
+ ownerState: o
46
+ }) => {
47
+ const i = {};
48
+ return G(n.breakpoints, o.size, (r, a) => {
49
+ let s = {};
50
+ a === "grow" && (s = {
51
+ flexBasis: 0,
52
+ flexGrow: 1,
53
+ maxWidth: "100%"
54
+ }), a === "auto" && (s = {
55
+ flexBasis: "auto",
56
+ flexGrow: 0,
57
+ flexShrink: 0,
58
+ maxWidth: "none",
59
+ width: "auto"
60
+ }), typeof a == "number" && (s = {
61
+ flexGrow: 0,
62
+ flexBasis: "auto",
63
+ width: `calc(100% * ${a} / var(${N}) - (var(${N}) - ${a}) * (var(${F("column")}) / var(${N})))`
64
+ }), r(i, s);
65
+ }), i;
66
+ }, qe = ({
67
+ theme: n,
68
+ ownerState: o
69
+ }) => {
70
+ const i = {};
71
+ return G(n.breakpoints, o.offset, (r, a) => {
72
+ let s = {};
73
+ a === "auto" && (s = {
74
+ marginLeft: "auto"
75
+ }), typeof a == "number" && (s = {
76
+ marginLeft: a === 0 ? "0px" : `calc(100% * ${a} / var(${N}) + var(${F("column")}) * ${a} / var(${N}))`
77
+ }), r(i, s);
78
+ }), i;
79
+ }, Ue = ({
80
+ theme: n,
81
+ ownerState: o
82
+ }) => {
83
+ if (!o.container)
84
+ return {};
85
+ const i = {
86
+ [te]: 12
87
+ };
88
+ return G(n.breakpoints, o.columns, (r, a) => {
89
+ const s = a ?? 12;
90
+ r(i, {
91
+ [te]: s,
92
+ "> *": {
93
+ [N]: s
94
+ }
95
+ });
96
+ }), i;
97
+ }, Fe = ({
98
+ theme: n,
99
+ ownerState: o
100
+ }) => {
101
+ if (!o.container)
102
+ return {};
103
+ const i = {};
104
+ return G(n.breakpoints, o.rowSpacing, (r, a) => {
105
+ const s = typeof a == "string" ? a : n.spacing?.(a);
106
+ r(i, {
107
+ [q("row")]: s,
108
+ "> *": {
109
+ [F("row")]: s
110
+ }
111
+ });
112
+ }), i;
113
+ }, He = ({
114
+ theme: n,
115
+ ownerState: o
116
+ }) => {
117
+ if (!o.container)
118
+ return {};
119
+ const i = {};
120
+ return G(n.breakpoints, o.columnSpacing, (r, a) => {
121
+ const s = typeof a == "string" ? a : n.spacing?.(a);
122
+ r(i, {
123
+ [q("column")]: s,
124
+ "> *": {
125
+ [F("column")]: s
126
+ }
127
+ });
128
+ }), i;
129
+ }, Se = ({
130
+ theme: n,
131
+ ownerState: o
132
+ }) => {
133
+ if (!o.container)
134
+ return {};
135
+ const i = {};
136
+ return G(n.breakpoints, o.direction, (r, a) => {
137
+ r(i, {
138
+ flexDirection: a
139
+ });
140
+ }), i;
141
+ }, Xe = ({
142
+ ownerState: n
143
+ }) => ({
144
+ minWidth: 0,
145
+ boxSizing: "border-box",
146
+ ...n.container && {
147
+ display: "flex",
148
+ flexWrap: "wrap",
149
+ ...n.wrap && n.wrap !== "wrap" && {
150
+ flexWrap: n.wrap
151
+ },
152
+ gap: `var(${q("row")}) var(${q("column")})`
153
+ }
154
+ }), Ye = (n) => {
155
+ const o = [];
156
+ return Object.entries(n).forEach(([i, r]) => {
157
+ r !== !1 && r !== void 0 && o.push(`grid-${i}-${String(r)}`);
158
+ }), o;
159
+ }, Ke = (n, o = "xs") => {
160
+ function i(r) {
161
+ return r === void 0 ? !1 : typeof r == "string" && !Number.isNaN(Number(r)) || typeof r == "number" && r > 0;
162
+ }
163
+ if (i(n))
164
+ return [`spacing-${o}-${String(n)}`];
165
+ if (typeof n == "object" && !Array.isArray(n)) {
166
+ const r = [];
167
+ return Object.entries(n).forEach(([a, s]) => {
168
+ i(s) && r.push(`spacing-${a}-${String(s)}`);
169
+ }), r;
170
+ }
171
+ return [];
172
+ }, Je = (n) => n === void 0 ? [] : typeof n == "object" ? Object.entries(n).map(([o, i]) => `direction-${o}-${i}`) : [`direction-xs-${String(n)}`], Qe = (n) => ["item", "zeroMinWidth"].includes(n) ? `The \`${n}\` prop has been removed and is no longer necessary. You can safely remove it.` : `The \`${n}\` prop has been removed. See https://mui.com/material-ui/migration/upgrade-to-grid-v2/ for migration instructions.`, oe = [];
173
+ function Ze(n, o) {
174
+ const i = [];
175
+ n.item !== void 0 && (delete n.item, i.push("item")), n.zeroMinWidth !== void 0 && (delete n.zeroMinWidth, i.push("zeroMinWidth")), o.keys.forEach((r) => {
176
+ n[r] !== void 0 && (i.push(r), delete n[r]);
177
+ }), process.env.NODE_ENV !== "production" && i.forEach((r) => {
178
+ oe.includes(r) || (oe.push(r), console.warn(`MUI Grid: ${Qe(r)}
179
+ `));
180
+ });
181
+ }
182
+ const en = Ce(), nn = We("div", {
183
+ name: "MuiGrid",
184
+ slot: "Root"
185
+ });
186
+ function tn(n) {
187
+ return ze({
188
+ props: n,
189
+ name: "MuiGrid",
190
+ defaultTheme: en
191
+ });
192
+ }
193
+ function on(n = {}) {
194
+ const {
195
+ // This will allow adding custom styled fn (for example for custom sx style function)
196
+ createStyledComponent: o = nn,
197
+ useThemeProps: i = tn,
198
+ useTheme: r = Me,
199
+ componentName: a = "MuiGrid"
200
+ } = n, s = (f, m) => {
201
+ const {
202
+ container: b,
203
+ direction: p,
204
+ spacing: h,
205
+ wrap: c,
206
+ size: O
207
+ } = f, T = {
208
+ root: ["root", b && "container", c !== "wrap" && `wrap-xs-${String(c)}`, ...Je(p), ...Ye(O), ...b ? Ke(h, m.breakpoints.keys[0]) : []]
209
+ };
210
+ return we(T, (w) => Ee(a, w), {});
211
+ };
212
+ function g(f, m, b = () => !0) {
213
+ const p = {};
214
+ return f === null || (Array.isArray(f) ? f.forEach((h, c) => {
215
+ h !== null && b(h) && m.keys[c] && (p[m.keys[c]] = h);
216
+ }) : typeof f == "object" ? Object.keys(f).forEach((h) => {
217
+ const c = f[h];
218
+ c != null && b(c) && (p[h] = c);
219
+ }) : p[m.keys[0]] = f), p;
220
+ }
221
+ const y = o(Ue, He, Fe, Ve, Se, Xe, qe), v = /* @__PURE__ */ C.forwardRef(function(m, b) {
222
+ const p = r(), h = i(m), c = De(h);
223
+ Ze(c, p.breakpoints);
224
+ const {
225
+ className: O,
226
+ children: T,
227
+ columns: w = 12,
228
+ container: D = !1,
229
+ component: H = "div",
230
+ direction: z = "row",
231
+ wrap: A = "wrap",
232
+ size: I = {},
233
+ offset: S = {},
234
+ spacing: j = 0,
235
+ rowSpacing: $ = j,
236
+ columnSpacing: L = j,
237
+ unstable_level: k = 0,
238
+ ...X
239
+ } = c, Y = g(I, p.breakpoints, (x) => x !== !1), P = g(S, p.breakpoints), K = m.columns ?? (k ? void 0 : w), J = m.spacing ?? (k ? void 0 : j), t = m.rowSpacing ?? m.spacing ?? (k ? void 0 : $), u = m.columnSpacing ?? m.spacing ?? (k ? void 0 : L), l = {
240
+ ...c,
241
+ level: k,
242
+ columns: K,
243
+ container: D,
244
+ direction: z,
245
+ wrap: A,
246
+ spacing: J,
247
+ rowSpacing: t,
248
+ columnSpacing: u,
249
+ size: Y,
250
+ offset: P
251
+ }, E = s(l, p);
252
+ return /* @__PURE__ */ d(y, {
253
+ ref: b,
254
+ as: H,
255
+ ownerState: l,
256
+ className: Te(E.root, O),
257
+ ...X,
258
+ children: C.Children.map(T, (x) => /* @__PURE__ */ C.isValidElement(x) && Le(x, ["Grid"]) && D && x.props.container ? /* @__PURE__ */ C.cloneElement(x, {
259
+ unstable_level: x.props?.unstable_level ?? k + 1
260
+ }) : x)
261
+ });
262
+ });
263
+ return process.env.NODE_ENV !== "production" && (v.propTypes = {
264
+ children: e.node,
265
+ className: e.string,
266
+ columns: e.oneOfType([e.arrayOf(e.number), e.number, e.object]),
267
+ columnSpacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
268
+ component: e.elementType,
269
+ container: e.bool,
270
+ direction: e.oneOfType([e.oneOf(["column-reverse", "column", "row-reverse", "row"]), e.arrayOf(e.oneOf(["column-reverse", "column", "row-reverse", "row"])), e.object]),
271
+ offset: e.oneOfType([e.string, e.number, e.arrayOf(e.oneOfType([e.string, e.number])), e.object]),
272
+ rowSpacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
273
+ size: e.oneOfType([e.string, e.bool, e.number, e.arrayOf(e.oneOfType([e.string, e.bool, e.number])), e.object]),
274
+ spacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
275
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
276
+ wrap: e.oneOf(["nowrap", "wrap-reverse", "wrap"])
277
+ }), v.muiName = "Grid", v;
278
+ }
279
+ function rn(n, o) {
280
+ if (process.env.NODE_ENV === "production")
281
+ return () => () => null;
282
+ const i = o ? {
283
+ ...o.propTypes
284
+ } : null;
285
+ return (a) => (s, g, y, v, f, ...m) => {
286
+ const b = f || g, p = i?.[b];
287
+ if (p) {
288
+ const h = p(s, g, y, v, f, ...m);
289
+ if (h)
290
+ return h;
291
+ }
292
+ return typeof s[g] < "u" && !s[a] ? new Error(`The prop \`${b}\` of \`${n}\` can only be used together with the \`${a}\` prop.`) : null;
293
+ };
294
+ }
295
+ const M = on({
296
+ createStyledComponent: xe("div", {
297
+ name: "MuiGrid",
298
+ slot: "Root",
299
+ overridesResolver: (n, o) => {
300
+ const {
301
+ ownerState: i
302
+ } = n;
303
+ return [o.root, i.container && o.container];
304
+ }
305
+ }),
306
+ componentName: "MuiGrid",
307
+ useThemeProps: (n) => ke({
308
+ props: n,
309
+ name: "MuiGrid"
310
+ }),
311
+ useTheme: _e
312
+ });
313
+ process.env.NODE_ENV !== "production" && (M.propTypes = {
314
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
315
+ // │ These PropTypes are generated from the TypeScript type definitions. │
316
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
317
+ // └─────────────────────────────────────────────────────────────────────┘
318
+ /**
319
+ * The content of the component.
320
+ */
321
+ children: e.node,
322
+ /**
323
+ * The number of columns.
324
+ * @default 12
325
+ */
326
+ columns: e.oneOfType([e.arrayOf(e.number), e.number, e.object]),
327
+ /**
328
+ * Defines the horizontal space between the type `item` components.
329
+ * It overrides the value of the `spacing` prop.
330
+ */
331
+ columnSpacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
332
+ /**
333
+ * If `true`, the component will have the flex *container* behavior.
334
+ * You should be wrapping *items* with a *container*.
335
+ * @default false
336
+ */
337
+ container: e.bool,
338
+ /**
339
+ * Defines the `flex-direction` style property.
340
+ * It is applied for all screen sizes.
341
+ * @default 'row'
342
+ */
343
+ direction: e.oneOfType([e.oneOf(["column-reverse", "column", "row-reverse", "row"]), e.arrayOf(e.oneOf(["column-reverse", "column", "row-reverse", "row"])), e.object]),
344
+ /**
345
+ * Defines the offset value for the type `item` components.
346
+ */
347
+ offset: e.oneOfType([e.string, e.number, e.arrayOf(e.oneOfType([e.string, e.number])), e.object]),
348
+ /**
349
+ * Defines the vertical space between the type `item` components.
350
+ * It overrides the value of the `spacing` prop.
351
+ */
352
+ rowSpacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
353
+ /**
354
+ * Defines the size of the the type `item` components.
355
+ */
356
+ size: e.oneOfType([e.string, e.bool, e.number, e.arrayOf(e.oneOfType([e.string, e.bool, e.number])), e.object]),
357
+ /**
358
+ * Defines the space between the type `item` components.
359
+ * It can only be used on a type `container` component.
360
+ * @default 0
361
+ */
362
+ spacing: e.oneOfType([e.arrayOf(e.oneOfType([e.number, e.string])), e.number, e.object, e.string]),
363
+ /**
364
+ * @ignore
365
+ */
366
+ sx: e.oneOfType([e.arrayOf(e.oneOfType([e.func, e.object, e.bool])), e.func, e.object]),
367
+ /**
368
+ * @internal
369
+ * The level of the grid starts from `0` and increases when the grid nests
370
+ * inside another grid. Nesting is defined as a container Grid being a direct
371
+ * child of a container Grid.
372
+ *
373
+ * ```js
374
+ * <Grid container> // level 0
375
+ * <Grid container> // level 1
376
+ * <Grid container> // level 2
377
+ * ```
378
+ *
379
+ * Only consecutive grid is considered nesting. A grid container will start at
380
+ * `0` if there are non-Grid container element above it.
381
+ *
382
+ * ```js
383
+ * <Grid container> // level 0
384
+ * <div>
385
+ * <Grid container> // level 0
386
+ * ```
387
+ *
388
+ * ```js
389
+ * <Grid container> // level 0
390
+ * <Grid>
391
+ * <Grid container> // level 0
392
+ * ```
393
+ */
394
+ unstable_level: e.number,
395
+ /**
396
+ * Defines the `flex-wrap` style property.
397
+ * It's applied for all screen sizes.
398
+ * @default 'wrap'
399
+ */
400
+ wrap: e.oneOf(["nowrap", "wrap-reverse", "wrap"])
401
+ });
402
+ if (process.env.NODE_ENV !== "production") {
403
+ const n = M, o = rn("Grid", n);
404
+ n.propTypes = {
405
+ // eslint-disable-next-line react/forbid-foreign-prop-types
406
+ ...n.propTypes,
407
+ direction: o("container"),
408
+ spacing: o("container"),
409
+ wrap: o("container")
410
+ };
411
+ }
412
+ function re(n) {
413
+ return n.substring(2).toLowerCase();
414
+ }
415
+ function sn(n, o) {
416
+ return o.documentElement.clientWidth < n.clientX || o.documentElement.clientHeight < n.clientY;
417
+ }
418
+ function U(n) {
419
+ const {
420
+ children: o,
421
+ disableReactTree: i = !1,
422
+ mouseEvent: r = "onClick",
423
+ onClickAway: a,
424
+ touchEvent: s = "onTouchEnd"
425
+ } = n, g = C.useRef(!1), y = C.useRef(null), v = C.useRef(!1), f = C.useRef(!1);
426
+ C.useEffect(() => (setTimeout(() => {
427
+ v.current = !0;
428
+ }, 0), () => {
429
+ v.current = !1;
430
+ }), []);
431
+ const m = $e(je(o), y), b = Re((c) => {
432
+ const O = f.current;
433
+ f.current = !1;
434
+ const T = Q(y.current);
435
+ if (!v.current || !y.current || "clientX" in c && sn(c, T))
436
+ return;
437
+ if (g.current) {
438
+ g.current = !1;
439
+ return;
440
+ }
441
+ let w;
442
+ c.composedPath ? w = c.composedPath().includes(y.current) : w = !T.documentElement.contains(
443
+ // @ts-expect-error returns `false` as intended when not dispatched from a Node
444
+ c.target
445
+ ) || y.current.contains(
446
+ // @ts-expect-error returns `false` as intended when not dispatched from a Node
447
+ c.target
448
+ ), !w && (i || !O) && a(c);
449
+ }), p = (c) => (O) => {
450
+ f.current = !0;
451
+ const T = o.props[c];
452
+ T && T(O);
453
+ }, h = {
454
+ ref: m
455
+ };
456
+ return s !== !1 && (h[s] = p(s)), C.useEffect(() => {
457
+ if (s !== !1) {
458
+ const c = re(s), O = Q(y.current), T = () => {
459
+ g.current = !0;
460
+ };
461
+ return O.addEventListener(c, b), O.addEventListener("touchmove", T), () => {
462
+ O.removeEventListener(c, b), O.removeEventListener("touchmove", T);
463
+ };
464
+ }
465
+ }, [b, s]), r !== !1 && (h[r] = p(r)), C.useEffect(() => {
466
+ if (r !== !1) {
467
+ const c = re(r), O = Q(y.current);
468
+ return O.addEventListener(c, b), () => {
469
+ O.removeEventListener(c, b);
470
+ };
471
+ }
472
+ }, [b, r]), /* @__PURE__ */ C.cloneElement(o, h);
473
+ }
474
+ process.env.NODE_ENV !== "production" && (U.propTypes = {
475
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
476
+ // │ These PropTypes are generated from the TypeScript type definitions. │
477
+ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
478
+ // └─────────────────────────────────────────────────────────────────────┘
479
+ /**
480
+ * The wrapped element.
481
+ */
482
+ children: Ne.isRequired,
483
+ /**
484
+ * If `true`, the React tree is ignored and only the DOM tree is considered.
485
+ * This prop changes how portaled elements are handled.
486
+ * @default false
487
+ */
488
+ disableReactTree: e.bool,
489
+ /**
490
+ * The mouse event to listen to. You can disable the listener by providing `false`.
491
+ * @default 'onClick'
492
+ */
493
+ mouseEvent: e.oneOf(["onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerUp", !1]),
494
+ /**
495
+ * Callback fired when a "click away" event is detected.
496
+ */
497
+ onClickAway: e.func.isRequired,
498
+ /**
499
+ * The touch event to listen to. You can disable the listener by providing `false`.
500
+ * @default 'onTouchEnd'
501
+ */
502
+ touchEvent: e.oneOf(["onTouchEnd", "onTouchStart", !1])
503
+ });
504
+ process.env.NODE_ENV !== "production" && (U.propTypes = Ge(U.propTypes));
505
+ const an = "_freeTextOptionsContainer_1ctmu_1", cn = "_drawerButtons_1ctmu_9", ln = "_validationMsg_1ctmu_23", un = "_customScrollbar_1ctmu_30", V = {
506
+ freeTextOptionsContainer: an,
507
+ drawerButtons: cn,
508
+ validationMsg: ln,
509
+ customScrollbar: un
510
+ }, Nn = ({
511
+ freeTextFilters: n,
512
+ addFreeTextFilter: o,
513
+ removeFreeTextFilter: i,
514
+ updateFreeTextFilter: r,
515
+ relevantFreeSearch: a,
516
+ setRelevantFreeSearch: s,
517
+ updateRelevantFreeSearch: g,
518
+ checkRelevantFreeSearch: y,
519
+ uncheckRelevantFreeSearch: v,
520
+ filterFreeSearch: f,
521
+ setFilterFreeSearch: m,
522
+ dropdownValues: b = {},
523
+ searchPlaceholder: p = "Search",
524
+ cancelLabel: h = "Cancel",
525
+ applyLabel: c = "Apply",
526
+ checkedIcon: O = /* @__PURE__ */ d(ce, {}),
527
+ uncheckedIcon: T = /* @__PURE__ */ d(le, {}),
528
+ freeTextButtonsProps: w
529
+ }) => {
530
+ const D = be(null), [H, z] = B(null), [A, I] = B(!1), [S, j] = B(!1), [$, L] = B([]);
531
+ ne(() => {
532
+ if (a.length === 0) {
533
+ const t = f?.filter((u) => u.field)?.map((u) => ({
534
+ ...u,
535
+ value: ""
536
+ }));
537
+ t?.forEach((u) => u.checked = !1), t && s(t);
538
+ }
539
+ }, [f]), ne(() => {
540
+ S && (m(n), j(!1));
541
+ }, [n]);
542
+ const k = () => {
543
+ z(null), I(!1);
544
+ };
545
+ function X(t) {
546
+ z(t.currentTarget), I(!0);
547
+ }
548
+ function Y(t) {
549
+ n.find((u) => u.field === t.field) ? (i(t.field), v(t.field)) : (o(t), y(t.field));
550
+ }
551
+ function P() {
552
+ m(n), k();
553
+ }
554
+ const K = ((t) => {
555
+ if (!t.checked) return !0;
556
+ const u = [];
557
+ let l = !0;
558
+ if (t.checked && t.value === "" && (u.push("Field is required"), l = !1), t.checked && t.inputType === _.all && t.minLength && t.value.length < t.minLength && (u.push(`Should have at least ${t.minLength} characters`), l = !1), t.checked && t.inputType === _.all && t.maxLength && t.value.length > t.maxLength && (u.push(`Should have maximum ${t.minLength} characters`), l = !1), t.checked && t.inputType === _.numeric && t.minLength && +t.value < t.minLength && (u.push(`Minimum value is ${t.minLength}`), l = !1), t.checked && t.inputType === _.numeric && t.maxLength && +t.value > t.maxLength && (u.push(`Maximum value is ${t.maxLength}`), l = !1), t.checked && t.inputType === _.numeric && t.value !== "" && !J(t.value) && (u.push("Should have only numeric characters"), l = !1), l) {
559
+ const E = $.filter((x) => x.field !== t.field);
560
+ E.length !== $.length && L(E);
561
+ } else {
562
+ const E = [...$];
563
+ if (!E.some((W) => W.field === t.field))
564
+ E.push({
565
+ field: t.field,
566
+ messages: u
567
+ }), L(E);
568
+ else {
569
+ const W = E.findIndex((ie) => ie.field === t.field);
570
+ Oe(E[W].messages, u) || (E[W].messages = u, L(E));
571
+ }
572
+ }
573
+ return l;
574
+ });
575
+ function J(t) {
576
+ return !isNaN(parseFloat(t));
577
+ }
578
+ return /* @__PURE__ */ R(se, { children: [
579
+ /* @__PURE__ */ d(
580
+ ee,
581
+ {
582
+ inputRef: D,
583
+ onKeyDown: (t) => {
584
+ t.key === "Enter" && (P(), t.preventDefault());
585
+ },
586
+ autoComplete: "off",
587
+ size: "small",
588
+ variant: "outlined",
589
+ onClick: X,
590
+ placeholder: p,
591
+ className: V.customScrollbar,
592
+ sx: {
593
+ borderRadius: "50px",
594
+ border: "none",
595
+ bgcolor: "var(--color-light-gray-blue)",
596
+ height: "44px",
597
+ overflowX: "auto",
598
+ overflowY: "hidden",
599
+ width: "100%",
600
+ maxWidth: "100%",
601
+ marginRight: "10px",
602
+ "& fieldset": { border: "none" }
603
+ },
604
+ slotProps: {
605
+ input: {
606
+ startAdornment: /* @__PURE__ */ R(fe, { position: "start", children: [
607
+ /* @__PURE__ */ d(ue, {}),
608
+ /* @__PURE__ */ d(
609
+ he,
610
+ {
611
+ handleSearch: P,
612
+ setRemovedFilter: j,
613
+ freeTextFilters: n,
614
+ removeFreeTextFilter: i,
615
+ uncheckRelevantFreeSearch: v,
616
+ filterCategories: w?.filterCategories ?? [],
617
+ setFilterCategories: w?.setFilterCategories ?? (() => {
618
+ }),
619
+ translate: w?.translate,
620
+ removeIcon: w?.removeIcon
621
+ }
622
+ )
623
+ ] })
624
+ }
625
+ }
626
+ }
627
+ ),
628
+ /* @__PURE__ */ d(
629
+ me,
630
+ {
631
+ open: A,
632
+ anchorEl: H,
633
+ id: A ? "search-popper" : void 0,
634
+ placement: "bottom-start",
635
+ sx: {
636
+ width: "500px"
637
+ },
638
+ children: /* @__PURE__ */ d(
639
+ U,
640
+ {
641
+ onClickAway: (t) => {
642
+ if (t.target?.localName === "body") {
643
+ t.preventDefault();
644
+ return;
645
+ }
646
+ k();
647
+ },
648
+ children: /* @__PURE__ */ R("div", { className: V.freeTextOptionsContainer, children: [
649
+ /* @__PURE__ */ d(Pe, { component: "nav", children: a?.map((t) => {
650
+ const u = $.filter((l) => l.field === t.field);
651
+ return /* @__PURE__ */ R(M, { container: !0, rowSpacing: 1, columnSpacing: { xs: 1, sm: 2, md: 3 }, sx: { display: "flex", flexDirection: "row", alignContent: "center", alignItems: "center" }, children: [
652
+ /* @__PURE__ */ d(M, { size: 6, children: /* @__PURE__ */ R(
653
+ Ae,
654
+ {
655
+ onClick: () => Y(t),
656
+ sx: {
657
+ "&.Mui-selected": {
658
+ backgroundColor: "var(--color-mui-selected)",
659
+ color: "var(--color-blue)",
660
+ borderRadius: "4px",
661
+ ":hover": {
662
+ backgroundColor: "var(--color-mui-selected)"
663
+ }
664
+ }
665
+ },
666
+ children: [
667
+ /* @__PURE__ */ d(
668
+ pe,
669
+ {
670
+ checked: t.checked,
671
+ icon: T,
672
+ checkedIcon: O
673
+ }
674
+ ),
675
+ /* @__PURE__ */ d(Ie, { primary: t.field })
676
+ ]
677
+ },
678
+ t.field
679
+ ) }),
680
+ /* @__PURE__ */ d(M, { size: 6, children: t.selectionType === ae.input ? /* @__PURE__ */ R("div", { children: [
681
+ /* @__PURE__ */ d(
682
+ ee,
683
+ {
684
+ size: "small",
685
+ error: !K(t),
686
+ variant: "outlined",
687
+ placeholder: `Value for ${t.field}`,
688
+ onChange: (l) => {
689
+ g(t.field, l.target.value), r(t.field, l.target.value);
690
+ },
691
+ value: t.value,
692
+ required: !0,
693
+ disabled: !t.checked,
694
+ sx: {
695
+ width: "100%"
696
+ }
697
+ }
698
+ ),
699
+ u?.length > 0 && /* @__PURE__ */ d("p", { className: V.validationMsg, children: u[0].messages[0] })
700
+ ] }) : /* @__PURE__ */ d(de, { fullWidth: !0, size: "small", children: /* @__PURE__ */ d(
701
+ ge,
702
+ {
703
+ labelId: `${t.field.replace(" ", "_")}-select-label`,
704
+ id: `${t.field.replace(" ", "_")}-select`,
705
+ value: t.value,
706
+ disabled: !t.checked,
707
+ onChange: (l) => {
708
+ g(t.field, l.target.value), r(t.field, l.target.value);
709
+ },
710
+ children: b[t.field]?.map((l) => /* @__PURE__ */ d(ye, { value: l, children: l }, l))
711
+ },
712
+ `${t.field.replace(" ", "_")}-select`
713
+ ) }) })
714
+ ] });
715
+ }) }),
716
+ /* @__PURE__ */ R("div", { className: V.drawerButtons, children: [
717
+ /* @__PURE__ */ d(Z, { content: h, onClick: k }),
718
+ /* @__PURE__ */ d(
719
+ Z,
720
+ {
721
+ content: c,
722
+ disabled: $?.length > 0,
723
+ onClick: P
724
+ }
725
+ )
726
+ ] })
727
+ ] })
728
+ }
729
+ )
730
+ }
731
+ )
732
+ ] });
733
+ };
734
+ export {
735
+ Nn as default
736
+ };