@evolver-fi/evolver-basics-admin-components 0.0.19-beta.1 → 0.0.20

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 (63) hide show
  1. package/dist/EnumSelectFilter-DiJhYa2m.js +40 -0
  2. package/dist/EnumSelectFilter-DiJhYa2m.js.map +1 -0
  3. package/dist/{ExpandMore-CFLBmfHS.js → ExpandMore-D6gf2UVG.js} +2 -2
  4. package/dist/{ExpandMore-CFLBmfHS.js.map → ExpandMore-D6gf2UVG.js.map} +1 -1
  5. package/dist/FilterLink-CHw7-m82.js +43 -0
  6. package/dist/FilterLink-CHw7-m82.js.map +1 -0
  7. package/dist/{JwtTokensRoute-CavNQu9F.js → JwtTokensRoute-B3SgLM0q.js} +8 -7
  8. package/dist/{JwtTokensRoute-CavNQu9F.js.map → JwtTokensRoute-B3SgLM0q.js.map} +1 -1
  9. package/dist/ScheduledTasksRoute-CNhOAAKd.js +1152 -0
  10. package/dist/ScheduledTasksRoute-CNhOAAKd.js.map +1 -0
  11. package/dist/SingleLogMessageRoute-C9CL51r-.js +274 -0
  12. package/dist/SingleLogMessageRoute-C9CL51r-.js.map +1 -0
  13. package/dist/SingleMessageRoute-DaaWvgfS.js +293 -0
  14. package/dist/SingleMessageRoute-DaaWvgfS.js.map +1 -0
  15. package/dist/Table-DgRqEB1x.js +154 -0
  16. package/dist/Table-DgRqEB1x.js.map +1 -0
  17. package/dist/TableMetadataDisplay-C7RP2ZrM.js +122 -0
  18. package/dist/TableMetadataDisplay-C7RP2ZrM.js.map +1 -0
  19. package/dist/TextFilter-BKUfkFQe.js +70 -0
  20. package/dist/TextFilter-BKUfkFQe.js.map +1 -0
  21. package/dist/{TriggerablesRoute-BY72XS5U.js → TriggerablesRoute-opCAjNCv.js} +1075 -1055
  22. package/dist/TriggerablesRoute-opCAjNCv.js.map +1 -0
  23. package/dist/createSvgIcon-Cf1cru4R.js +3945 -0
  24. package/dist/createSvgIcon-Cf1cru4R.js.map +1 -0
  25. package/dist/evolverClient-B_TZXnpV.js +1602 -0
  26. package/dist/evolverClient-B_TZXnpV.js.map +1 -0
  27. package/dist/filter/index.js +11 -0
  28. package/dist/filter/index.js.map +1 -0
  29. package/dist/jwt-tokens/index.js +1 -1
  30. package/dist/main/index.js +48 -31
  31. package/dist/main/index.js.map +1 -1
  32. package/dist/message-log/index.js +1 -1
  33. package/dist/message-sending/index.js +1 -1
  34. package/dist/{parser-CI353PAC.js → parser-Bj3mcA83.js} +2 -2
  35. package/dist/{parser-CI353PAC.js.map → parser-Bj3mcA83.js.map} +1 -1
  36. package/dist/scheduled-tasks/index.js +9 -5
  37. package/dist/table/index.js +6 -0
  38. package/dist/table/index.js.map +1 -0
  39. package/dist/triggerables/index.js +5 -3
  40. package/dist/types/admin-components/src/components/filter/index.d.ts +5 -0
  41. package/dist/types/admin-components/src/components/table/index.d.ts +3 -0
  42. package/dist/types/admin-components/src/index.d.ts +3 -1
  43. package/dist/types/admin-components/src/routes/jwt-tokens/JwtTokensRoute.d.ts +1 -1
  44. package/dist/types/admin-components/src/routes/scheduled-tasks/action.d.ts +20 -0
  45. package/dist/types/admin-components/src/routes/scheduled-tasks/index.d.ts +3 -2
  46. package/dist/types/admin-components/src/routes/triggerables/action.d.ts +10 -0
  47. package/dist/types/admin-components/src/routes/triggerables/index.d.ts +2 -1
  48. package/dist/types/filter.d.ts +2 -0
  49. package/dist/types/table.d.ts +2 -0
  50. package/dist/{validation-BRENvwZ0.js → validation-DStiilqx.js} +2 -2
  51. package/dist/{validation-BRENvwZ0.js.map → validation-DStiilqx.js.map} +1 -1
  52. package/package.json +9 -1
  53. package/dist/ScheduledTaskFormRoute-CnVsqh-c.js +0 -1039
  54. package/dist/ScheduledTaskFormRoute-CnVsqh-c.js.map +0 -1
  55. package/dist/SingleLogMessageRoute-B6hkr7rG.js +0 -305
  56. package/dist/SingleLogMessageRoute-B6hkr7rG.js.map +0 -1
  57. package/dist/SingleMessageRoute-Bxix2rv7.js +0 -320
  58. package/dist/SingleMessageRoute-Bxix2rv7.js.map +0 -1
  59. package/dist/TableMetadataDisplay-DTDUH1KY.js +0 -330
  60. package/dist/TableMetadataDisplay-DTDUH1KY.js.map +0 -1
  61. package/dist/TriggerablesRoute-BY72XS5U.js.map +0 -1
  62. package/dist/createSvgIcon-DCKQGUI3.js +0 -5543
  63. package/dist/createSvgIcon-DCKQGUI3.js.map +0 -1
@@ -0,0 +1,122 @@
1
+ import { j as s } from "./jsx-runtime-B6kdoens.js";
2
+ import { Box as m, IconButton as j, Stack as u } from "@mui/material";
3
+ import { d as $ } from "./ExpandMore-D6gf2UVG.js";
4
+ import S, { useState as R } from "react";
5
+ import { r as g, i as b } from "./createSvgIcon-Cf1cru4R.js";
6
+ var f = {}, O = b;
7
+ Object.defineProperty(f, "__esModule", {
8
+ value: !0
9
+ });
10
+ var x = f.default = void 0, _ = O(g()), L = s;
11
+ x = f.default = (0, _.default)(/* @__PURE__ */ (0, L.jsx)("path", {
12
+ d: "m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"
13
+ }), "ExpandLess");
14
+ const w = (t, e) => e !== void 0 ? `${t}: ${e}` : "", M = ({ metadata: t, open: e }) => {
15
+ const a = e ? Object.entries(t) : Object.entries(t).slice(0, 1);
16
+ return s.jsx(m, { sx: { whiteSpace: "pre-line", padding: "10px" }, children: a.map(([r, i]) => w(r, i)).join(`
17
+ `) });
18
+ }, v = ({ metadata: t }) => {
19
+ const [e, a] = S.useState(!1), r = (i) => {
20
+ i.preventDefault(), i.stopPropagation(), a(!e);
21
+ };
22
+ return s.jsxs(m, { sx: { display: "flex", flexDirection: "row", alignItems: "flex-start" }, children: [s.jsx(j, { onClick: r, children: e ? s.jsx(x, {}) : s.jsx($, {}) }), s.jsx(M, { open: e, metadata: t })] });
23
+ }, F = (t, e) => {
24
+ const a = t.trim(), r = new URLSearchParams();
25
+ if (!a)
26
+ return r;
27
+ const i = a.indexOf("-"), n = String(e);
28
+ if (i >= 0) {
29
+ const o = a.split("-", 2), c = o[0].trim(), d = o[1].trim();
30
+ return c && r.append(`${n}.min`, c), d && r.append(`${n}.max`, d), r;
31
+ }
32
+ return r.append(`${n}.min`, a), r.append(`${n}.max`, a), r;
33
+ }, D = /\d{4}-\d{2}-\d{2}((\s|T)\d{2}:\d{2}:\d{2})?/g, U = (t, e) => {
34
+ const a = (l) => l.length > 10 ? l : `${l} 00:00:00`, r = (l) => l.length > 10 ? l : `${l} 23:59:59`, i = t.trim(), n = new URLSearchParams();
35
+ if (!i)
36
+ return n;
37
+ const o = i.charAt(i.length - 1) === "-", c = i.indexOf("-") === 0, d = t.match(D);
38
+ if (!d || d.length === 0)
39
+ return n;
40
+ const p = String(e);
41
+ return d.length === 1 ? !o && !c ? (n.append(`${p}.min`, a(d[0])), n.append(`${p}.max`, r(d[0])), n) : (n.append(`${p}.${c ? "max" : "min"}`, c ? r(d[0]) : a(d[0])), n) : (n.append(`${p}.min`, a(d[0])), n.append(`${p}.max`, r(d[1])), n);
42
+ }, z = (t) => t.slice(0, t.indexOf(".")).replace("T", " "), H = (t) => s.jsx(v, { metadata: t }), N = (t, e) => {
43
+ const a = new URLSearchParams();
44
+ return t && Object.entries(t).forEach(([r, i]) => {
45
+ var n;
46
+ i && (((n = e == null ? void 0 : e[r]) == null ? void 0 : n.call(e, i, r)) ?? new URLSearchParams({ [r]: i })).forEach((c, d) => {
47
+ a.append(d, c);
48
+ });
49
+ }), a;
50
+ };
51
+ var h = {}, k = b;
52
+ Object.defineProperty(h, "__esModule", {
53
+ value: !0
54
+ });
55
+ var P = h.default = void 0, T = k(g()), E = s;
56
+ P = h.default = (0, T.default)(/* @__PURE__ */ (0, E.jsx)("path", {
57
+ d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"
58
+ }), "ArrowBack");
59
+ const Q = (t) => {
60
+ if (!t || typeof t != "object" || !("metadata" in t))
61
+ return t;
62
+ const e = Array.isArray(t.metadata) && t.metadata.some((a) => "key" in a && a.key) ? Object.fromEntries(
63
+ t.metadata.map(({ key: a, value: r }) => [a, r])
64
+ ) : t.metadata;
65
+ return { ...t, metadata: e };
66
+ }, W = (t) => t.slice(0, t.indexOf(".")).replace("T", " "), G = (t) => /^\d*$/.test(t) ? void 0 : "Value must be numeric!", J = (t) => /^[0-9]*\s*-{0,1}\s*[0-9]*$/.test(t) ? void 0 : "Value must be numeric or a range!", X = (t) => /^(\d{4}-\d{2}-\d{2}((\s|T)\d{2}:\d{2}:\d{2})?){0,1}\s*-{0,1}\s*(\d{4}-\d{2}-\d{2}((\s|T)\d{2}:\d{2}:\d{2})?){0,1}$/.test(
67
+ t
68
+ ) ? void 0 : "Value must be a date(time) or range!", Y = ({
69
+ value: t
70
+ }) => {
71
+ const [e, a] = R(!1), r = (n) => {
72
+ n.preventDefault(), n.stopPropagation(), a((o) => !o);
73
+ }, i = Object.keys(t).length;
74
+ return /* @__PURE__ */ s.jsxs(u, { children: [
75
+ /* @__PURE__ */ s.jsxs(u, { direction: "row", alignItems: "center", spacing: 1, children: [
76
+ /* @__PURE__ */ s.jsx(
77
+ j,
78
+ {
79
+ onClick: r,
80
+ sx: { maxWidth: "max-content", p: 0, mr: 1 },
81
+ children: e ? /* @__PURE__ */ s.jsx(x, {}) : /* @__PURE__ */ s.jsx($, {})
82
+ }
83
+ ),
84
+ /* @__PURE__ */ s.jsxs(m, { children: [
85
+ "(",
86
+ i,
87
+ ")"
88
+ ] })
89
+ ] }),
90
+ /* @__PURE__ */ s.jsx(
91
+ u,
92
+ {
93
+ whiteSpace: "pre-line",
94
+ mt: e ? 1 : 0,
95
+ height: e ? "auto" : 0,
96
+ overflow: "hidden",
97
+ children: Object.entries(t).map(([n, o]) => /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
98
+ /* @__PURE__ */ s.jsxs(m, { children: [
99
+ n,
100
+ ":"
101
+ ] }),
102
+ /* @__PURE__ */ s.jsx(m, { ml: 1, children: o })
103
+ ] }, n))
104
+ }
105
+ )
106
+ ] });
107
+ };
108
+ export {
109
+ Y as T,
110
+ F as a,
111
+ z as b,
112
+ N as c,
113
+ P as d,
114
+ W as e,
115
+ U as f,
116
+ X as g,
117
+ G as h,
118
+ H as i,
119
+ Q as m,
120
+ J as n
121
+ };
122
+ //# sourceMappingURL=TableMetadataDisplay-C7RP2ZrM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableMetadataDisplay-C7RP2ZrM.js","sources":["../../node_modules/@mui/icons-material/ExpandLess.js","../../node_modules/@evolver-fi/evolver-basics/dist/esm/common/components/ListMetadata.js","../../node_modules/@evolver-fi/evolver-basics/dist/esm/common/components/listUtils.js","../../node_modules/@evolver-fi/evolver-basics/dist/esm/common/utils/filterUtils.js","../../node_modules/@mui/icons-material/ArrowBack.js","../src/components/metadata/utils.ts","../src/common/format.ts","../src/common/validation.ts","../src/components/metadata/TableMetadataDisplay.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\n}), 'ExpandLess');","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Box, IconButton } from '@mui/material';\nimport ExpandLess from '@mui/icons-material/ExpandLess';\nimport ExpandMore from '@mui/icons-material/ExpandMore';\nimport React from 'react';\nconst formatSingleMetadata = (key, value) => {\n if (value !== undefined)\n return `${key}: ${value}`;\n return '';\n};\nconst Metadata = ({ metadata, open }) => {\n const metadataList = open ? Object.entries(metadata) : Object.entries(metadata).slice(0, 1);\n return (_jsx(Box, { sx: { whiteSpace: 'pre-line', padding: '10px' }, children: metadataList.map(([key, value]) => formatSingleMetadata(key, value)).join('\\n') }));\n};\nexport const ListMetadata = ({ metadata }) => {\n const [open, setOpen] = React.useState(false);\n const handleClick = (event) => {\n event.preventDefault();\n event.stopPropagation();\n setOpen(!open);\n };\n return (_jsxs(Box, { sx: { display: 'flex', flexDirection: 'row', alignItems: 'flex-start' }, children: [_jsx(IconButton, { onClick: handleClick, children: open ? _jsx(ExpandLess, {}) : _jsx(ExpandMore, {}) }), _jsx(Metadata, { open: open, metadata: metadata })] }));\n};\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { ListMetadata } from './ListMetadata';\n// TODO add typings for all the formatters so that only valid keys are passed\nexport const formatNumberRangeFilter = (value, key) => {\n const trimmed = value.trim();\n const result = new URLSearchParams();\n if (!trimmed) {\n return result;\n }\n const rangeSeparatorIndex = trimmed.indexOf('-');\n const keyStr = String(key);\n if (rangeSeparatorIndex >= 0) {\n const parts = trimmed.split('-', 2);\n const start = parts[0].trim();\n const end = parts[1].trim();\n if (start) {\n result.append(`${keyStr}.min`, start);\n }\n if (end) {\n result.append(`${keyStr}.max`, end);\n }\n return result;\n }\n result.append(`${keyStr}.min`, trimmed);\n result.append(`${keyStr}.max`, trimmed);\n return result;\n};\nconst datetimePattern = /\\d{4}-\\d{2}-\\d{2}((\\s|T)\\d{2}:\\d{2}:\\d{2})?/g;\nexport const formatDatetimeRangeFilter = (value, key) => {\n const formatMin = (value) => (value.length > 10 ? value : `${value} 00:00:00`);\n const formatMax = (value) => (value.length > 10 ? value : `${value} 23:59:59`);\n const trimmed = value.trim();\n const result = new URLSearchParams();\n if (!trimmed) {\n return result;\n }\n const isStartOnly = trimmed.charAt(trimmed.length - 1) === '-';\n const isEndOnly = trimmed.indexOf('-') === 0;\n const matches = value.match(datetimePattern);\n if (!matches || matches.length === 0) {\n return result;\n }\n const keyStr = String(key);\n if (matches.length === 1) {\n if (!isStartOnly && !isEndOnly) {\n result.append(`${keyStr}.min`, formatMin(matches[0]));\n result.append(`${keyStr}.max`, formatMax(matches[0]));\n return result;\n }\n result.append(`${keyStr}.${isEndOnly ? 'max' : 'min'}`, isEndOnly ? formatMax(matches[0]) : formatMin(matches[0]));\n return result;\n }\n result.append(`${keyStr}.min`, formatMin(matches[0]));\n result.append(`${keyStr}.max`, formatMax(matches[1]));\n return result;\n};\nexport const formatDateTime = (value) => value.slice(0, value.indexOf('.')).replace('T', ' ');\nexport const formatMetadata = (metadata) => {\n return _jsx(ListMetadata, { metadata: metadata });\n};\nexport const getParameterValueFormatters = (definitions) => {\n const result = {};\n definitions.forEach((definition) => {\n if (definition.paramValueFormatter) {\n result[definition.filterKey] = definition.paramValueFormatter;\n }\n });\n return result;\n};\n","export const filterFromUrlSearchParams = (query, keys) => {\n const filter = {};\n keys.forEach((k) => {\n const value = query.get(k.toString());\n if (value) {\n filter[k] = value.toString();\n }\n });\n return filter;\n};\n/**\n * Produce a filter value from a row value. Best effort recognition of the different types of objects.\n * @param rowValue\n * @returns\n */\nexport const filterValueFromRowValue = (rowValue) => {\n if (Array.isArray(rowValue)) {\n return formatKeyValueArray(rowValue);\n }\n else if (typeof rowValue === 'object') {\n return formatObject(rowValue);\n }\n return rowValue.toString();\n};\nexport const formatObject = (value) => {\n return Object.entries(value)\n .map(([k, v]) => `${k}=${v}`)\n .join(',');\n};\nexport const formatKeyValueArray = (value) => {\n return value.map((v) => `${v.key}=${v.value}`).join(',');\n};\nexport const createFilterQuery = (filters, formatterByKey) => {\n const result = new URLSearchParams();\n if (!filters) {\n return result;\n }\n Object.entries(filters).forEach(([key, value]) => {\n if (value) {\n const subResult = formatterByKey?.[key]?.(value, key) ?? new URLSearchParams({ [key]: value });\n subResult.forEach((subValue, subKey) => {\n result.append(subKey, subValue);\n });\n }\n });\n return result;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z\"\n}), 'ArrowBack');","export const mapMetadata = (message: unknown): unknown => {\n if (!message || typeof message !== \"object\" || !(\"metadata\" in message))\n return message;\n\n const metadata =\n Array.isArray(message.metadata) &&\n message.metadata.some((m) => \"key\" in m && m.key)\n ? Object.fromEntries(\n message.metadata.map(({ key, value }) => [key, value])\n )\n : message.metadata;\n\n return { ...message, metadata };\n};\n","export const formatDateTime = (value: string): string =>\n value.slice(0, value.indexOf(\".\")).replace(\"T\", \" \");\n","import { ValidationError } from \"./types\";\n\nexport const numberValidator = (value: string): ValidationError =>\n !/^\\d*$/.test(value) ? \"Value must be numeric!\" : undefined;\n\nexport const booleanValidator = (value: string): ValidationError =>\n !/^(true|false)$/.test(value) ? \"Value must be true or false!\" : undefined;\n\nexport const numberRangeValidator = (value: string): ValidationError =>\n !/^[0-9]*\\s*-{0,1}\\s*[0-9]*$/.test(value)\n ? \"Value must be numeric or a range!\"\n : undefined;\n\nexport const datetimeRangeValidator = (value: string): ValidationError =>\n !/^(\\d{4}-\\d{2}-\\d{2}((\\s|T)\\d{2}:\\d{2}:\\d{2})?){0,1}\\s*-{0,1}\\s*(\\d{4}-\\d{2}-\\d{2}((\\s|T)\\d{2}:\\d{2}:\\d{2})?){0,1}$/.test(\n value\n )\n ? \"Value must be a date(time) or range!\"\n : undefined;\n","import ExpandLess from \"@mui/icons-material/ExpandLess\";\nimport ExpandMore from \"@mui/icons-material/ExpandMore\";\nimport { Box, IconButton, Stack } from \"@mui/material\";\nimport { useState } from \"react\";\nimport { Fragment } from \"react/jsx-runtime\";\nimport { GenericCellProps } from \"../table/types\";\n\nexport const TableMetadataDisplay = ({\n value,\n}: GenericCellProps<Record<string, string>>) => {\n const [open, setOpen] = useState(false);\n const handleClick = (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setOpen((prev) => !prev);\n };\n\n const amount = Object.keys(value).length;\n\n return (\n <Stack>\n <Stack direction=\"row\" alignItems=\"center\" spacing={1}>\n <IconButton\n onClick={handleClick}\n sx={{ maxWidth: \"max-content\", p: 0, mr: 1 }}\n >\n {open ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n <Box>({amount})</Box>\n </Stack>\n <Stack\n whiteSpace=\"pre-line\"\n mt={open ? 1 : 0}\n height={open ? \"auto\" : 0}\n overflow=\"hidden\"\n >\n {Object.entries(value).map(([k, v]) => (\n <Fragment key={k}>\n <Box>{k}:</Box>\n <Box ml={1}>{v}</Box>\n </Fragment>\n ))}\n </Stack>\n </Stack>\n );\n};\n"],"names":["_interopRequireDefault","require$$0","ExpandLess","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","formatSingleMetadata","key","value","Metadata","metadata","open","metadataList","_jsx","Box","ListMetadata","setOpen","React","handleClick","event","_jsxs","IconButton","ExpandMore","formatNumberRangeFilter","trimmed","result","rangeSeparatorIndex","keyStr","parts","start","end","datetimePattern","formatDatetimeRangeFilter","formatMin","formatMax","isStartOnly","isEndOnly","matches","formatDateTime","formatMetadata","createFilterQuery","filters","formatterByKey","_a","subValue","subKey","ArrowBack","mapMetadata","message","m","numberValidator","numberRangeValidator","datetimeRangeValidator","TableMetadataDisplay","useState","prev","amount","Stack","jsxs","jsx","k","v","Fragment"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -0,0 +1,70 @@
1
+ import { j as e } from "./jsx-runtime-B6kdoens.js";
2
+ import { r as f, i as j } from "./createSvgIcon-Cf1cru4R.js";
3
+ import { FormHelperText as m, FormControl as v, OutlinedInput as b, InputAdornment as w, IconButton as h } from "@mui/material";
4
+ import { useRef as F, useState as R } from "react";
5
+ const _ = ({
6
+ helperText: s,
7
+ error: t
8
+ }) => /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
9
+ s && /* @__PURE__ */ e.jsx(m, { sx: { whiteSpace: "normal", overflowWrap: "anywhere" }, children: s }),
10
+ t && /* @__PURE__ */ e.jsx(m, { sx: { whiteSpace: "normal", overflowWrap: "anywhere" }, children: t })
11
+ ] });
12
+ var u = {}, y = j;
13
+ Object.defineProperty(u, "__esModule", {
14
+ value: !0
15
+ });
16
+ var d = u.default = void 0, I = y(f()), S = e;
17
+ d = u.default = (0, I.default)(/* @__PURE__ */ (0, S.jsx)("path", {
18
+ d: "M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12z"
19
+ }), "Backspace");
20
+ const B = ({
21
+ name: s,
22
+ value: t,
23
+ defaultValue: n,
24
+ onChange: r,
25
+ helperText: x,
26
+ validator: l
27
+ }) => {
28
+ const i = F(null), [c, o] = R(t ?? n ?? ""), a = l == null ? void 0 : l(c);
29
+ return /* @__PURE__ */ e.jsxs(v, { size: "small", error: !!a, variant: "outlined", fullWidth: !0, children: [
30
+ /* @__PURE__ */ e.jsx(
31
+ b,
32
+ {
33
+ name: s,
34
+ inputRef: i,
35
+ value: t,
36
+ defaultValue: n,
37
+ onChange: (p) => {
38
+ o(p.target.value), r == null || r(p.target.value);
39
+ },
40
+ endAdornment: /* @__PURE__ */ e.jsx(
41
+ w,
42
+ {
43
+ position: "end",
44
+ sx: { visibility: c ? "visible" : "hidden" },
45
+ children: /* @__PURE__ */ e.jsx(
46
+ h,
47
+ {
48
+ size: "small",
49
+ type: "submit",
50
+ onClick: () => {
51
+ r == null || r(""), o(""), i.current && (i.current.value = "", i.current.dispatchEvent(
52
+ new Event("input", { bubbles: !0 })
53
+ ));
54
+ },
55
+ children: /* @__PURE__ */ e.jsx(d, {})
56
+ }
57
+ )
58
+ }
59
+ )
60
+ }
61
+ ),
62
+ /* @__PURE__ */ e.jsx(_, { helperText: x, error: a })
63
+ ] });
64
+ };
65
+ export {
66
+ _ as F,
67
+ B as T,
68
+ d
69
+ };
70
+ //# sourceMappingURL=TextFilter-BKUfkFQe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextFilter-BKUfkFQe.js","sources":["../src/components/filter/FilterHelperTexts.tsx","../../node_modules/@mui/icons-material/Backspace.js","../src/components/filter/TextFilter.tsx"],"sourcesContent":["import { FormHelperText } from \"@mui/material\";\n\nexport const FilterHelperTexts = ({\n helperText,\n error,\n}: {\n helperText?: React.ReactNode;\n error?: string;\n}) => (\n <>\n {helperText && (\n <FormHelperText sx={{ whiteSpace: \"normal\", overflowWrap: \"anywhere\" }}>\n {helperText}\n </FormHelperText>\n )}\n {error && (\n <FormHelperText sx={{ whiteSpace: \"normal\", overflowWrap: \"anywhere\" }}>\n {error}\n </FormHelperText>\n )}\n </>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12z\"\n}), 'Backspace');","import Backspace from \"@mui/icons-material/Backspace\";\nimport {\n FormControl,\n IconButton,\n InputAdornment,\n OutlinedInput,\n} from \"@mui/material\";\nimport { useRef, useState } from \"react\";\nimport { FilterHelperTexts } from \"./FilterHelperTexts\";\nimport { GenericFilterProps } from \"./types\";\n\nexport const TextFilter = ({\n name,\n value,\n defaultValue,\n onChange,\n helperText,\n validator,\n}: GenericFilterProps<string>) => {\n const ref = useRef<HTMLInputElement>(null);\n\n const [localValue, setLocalValue] = useState(value ?? defaultValue ?? \"\");\n const error = validator?.(localValue);\n\n return (\n <FormControl size=\"small\" error={!!error} variant=\"outlined\" fullWidth>\n <OutlinedInput\n name={name}\n inputRef={ref}\n value={value}\n defaultValue={defaultValue}\n onChange={(e) => {\n setLocalValue(e.target.value);\n onChange?.(e.target.value);\n }}\n endAdornment={\n <InputAdornment\n position=\"end\"\n sx={{ visibility: localValue ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n size=\"small\"\n type=\"submit\"\n onClick={() => {\n onChange?.(\"\");\n setLocalValue(\"\");\n if (ref.current) {\n ref.current.value = \"\";\n ref.current.dispatchEvent(\n new Event(\"input\", { bubbles: true })\n );\n }\n }}\n >\n <Backspace />\n </IconButton>\n </InputAdornment>\n }\n />\n <FilterHelperTexts helperText={helperText} error={error} />\n </FormControl>\n );\n};\n"],"names":["FilterHelperTexts","helperText","error","jsxs","Fragment","jsx","FormHelperText","_interopRequireDefault","require$$0","Backspace","default_1","_createSvgIcon","require$$1","_jsxRuntime","require$$2","TextFilter","name","value","defaultValue","onChange","validator","ref","useRef","localValue","setLocalValue","useState","FormControl","OutlinedInput","e","InputAdornment","IconButton"],"mappings":";;;;AAEO,MAAMA,IAAoB,CAAC;AAAA,EAChC,YAAAC;AAAA,EACA,OAAAC;AACF,MAKKC,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,EACCH,KAAAI,gBAAAA,EAAA,IAACC,KAAe,IAAI,EAAE,YAAY,UAAU,cAAc,WAAW,GAClE,UACHL,EAAA,CAAA;AAAA,EAEDC,KACEG,gBAAAA,EAAA,IAAAC,GAAA,EAAe,IAAI,EAAE,YAAY,UAAU,cAAc,cACvD,UACHJ,EAAA,CAAA;AAAA,EAEJ,CAAA;YCjBEK,IAAyBC;AAC7B,OAAO,eAAeC,GAAS,cAAc;AAAA,EAC3C,OAAO;AACT,CAAC;AACc,IAAAC,IAAAD,EAAA,UAAG,QACdE,IAAiBJ,EAAuBK,GAAgC,GACxEC,IAAcC;AACHJ,IAAeD,EAAA,cAAOE,EAAe,6BAA2BE,EAAY,KAAK,QAAQ;AAAA,EACtG,GAAG;AACL,CAAC,GAAG,WAAW;ACDR,MAAME,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAlB;AAAA,EACA,WAAAmB;AACF,MAAkC;AAC1B,QAAAC,IAAMC,EAAyB,IAAI,GAEnC,CAACC,GAAYC,CAAa,IAAIC,EAASR,KAASC,KAAgB,EAAE,GAClEhB,IAAQkB,KAAA,gBAAAA,EAAYG;AAGxB,SAAApB,gBAAAA,EAAA,KAACuB,GAAY,EAAA,MAAK,SAAQ,OAAO,CAAC,CAACxB,GAAO,SAAQ,YAAW,WAAS,IACpE,UAAA;AAAA,IAAAG,gBAAAA,EAAA;AAAA,MAACsB;AAAA,MAAA;AAAA,QACC,MAAAX;AAAA,QACA,UAAUK;AAAA,QACV,OAAAJ;AAAA,QACA,cAAAC;AAAA,QACA,UAAU,CAACU,MAAM;AACD,UAAAJ,EAAAI,EAAE,OAAO,KAAK,GACjBT,KAAA,QAAAA,EAAAS,EAAE,OAAO;AAAA,QACtB;AAAA,QACA,cACEvB,gBAAAA,EAAA;AAAA,UAACwB;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,IAAI,EAAE,YAAYN,IAAa,YAAY,SAAS;AAAA,YAEpD,UAAAlB,gBAAAA,EAAA;AAAA,cAACyB;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,SAAS,MAAM;AACb,kBAAAX,KAAA,QAAAA,EAAW,KACXK,EAAc,EAAE,GACZH,EAAI,YACNA,EAAI,QAAQ,QAAQ,IACpBA,EAAI,QAAQ;AAAA,oBACV,IAAI,MAAM,SAAS,EAAE,SAAS,GAAM,CAAA;AAAA,kBACtC;AAAA,gBAEJ;AAAA,gBAEA,gCAACZ,GAAU,CAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACb;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ;AAAA,IACAJ,gBAAAA,EAAAA,IAACL,GAAkB,EAAA,YAAAC,GAAwB,OAAAC,EAAc,CAAA;AAAA,EAAA,GAC3D;AAEJ;","x_google_ignoreList":[1]}