@plutonhq/core-frontend 0.1.26 → 0.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/@types/backups.d.ts +3 -0
- package/dist-lib/@types/backups.d.ts.map +1 -1
- package/dist-lib/@types/plans.d.ts +2 -0
- package/dist-lib/@types/plans.d.ts.map +1 -1
- package/dist-lib/@types/restores.d.ts +2 -0
- package/dist-lib/@types/restores.d.ts.map +1 -1
- package/dist-lib/components/Device/DeviceInfo/DeviceInfo.module.scss.js +26 -26
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js +26 -26
- package/dist-lib/components/Plan/PlanBackups/PlanBackups.js.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanForm/PlanForm.js +64 -80
- package/dist-lib/components/Plan/PlanForm/PlanForm.js.map +1 -1
- package/dist-lib/components/Plan/PlanHistory/PlanHistory.js +1 -1
- package/dist-lib/components/Plan/PlanHistory/PlanHistory.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanSourceSettings.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanSourceSettings.js +39 -30
- package/dist-lib/components/Plan/PlanSettings/PlanSourceSettings.js.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.js +25 -25
- package/dist-lib/components/Plan/PlanStats/PlanStats.js.map +1 -1
- package/dist-lib/components/Plan/PlanStats/PlanStats.module.scss.js +1 -1
- package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
- package/dist-lib/components/common/Icon/Icon.js +12 -1
- package/dist-lib/components/common/Icon/Icon.js.map +1 -1
- package/dist-lib/components/common/form/IntervalField/IntervalField.d.ts.map +1 -1
- package/dist-lib/components/common/form/IntervalField/IntervalField.js +66 -46
- package/dist-lib/components/common/form/IntervalField/IntervalField.js.map +1 -1
- package/dist-lib/components/common/form/StoragePicker/StoragePicker.d.ts.map +1 -1
- package/dist-lib/components/common/form/StoragePicker/StoragePicker.js +49 -47
- package/dist-lib/components/common/form/StoragePicker/StoragePicker.js.map +1 -1
- package/dist-lib/components/common/form/TagsInput/TagsInput.d.ts +2 -1
- package/dist-lib/components/common/form/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist-lib/components/common/form/TagsInput/TagsInput.js +15 -15
- package/dist-lib/components/common/form/TagsInput/TagsInput.js.map +1 -1
- package/dist-lib/components/common/form/TimePicker/TimePicker.module.scss.js +13 -13
- package/dist-lib/hooks/usePlanSingleActions.js +7 -7
- package/dist-lib/hooks/usePlanSingleActions.js.map +1 -1
- package/dist-lib/styles/core-frontend.css +1 -1
- package/dist-lib/styles/global.scss +6 -0
- package/dist-lib/utils/constants.js +1 -1
- package/dist-lib/utils/constants.js.map +1 -1
- package/dist-lib/utils/helpers.d.ts +2 -0
- package/dist-lib/utils/helpers.d.ts.map +1 -1
- package/dist-lib/utils/helpers.js +55 -33
- package/dist-lib/utils/helpers.js.map +1 -1
- package/dist-lib/utils/plans.js +6 -6
- package/dist-lib/utils/plans.js.map +1 -1
- package/dist-lib/utils.js +34 -33
- package/package.json +1 -1
- package/src/@types/backups.ts +3 -0
- package/src/@types/plans.ts +2 -0
- package/src/@types/restores.ts +2 -0
- package/src/components/Device/DeviceInfo/DeviceInfo.module.scss +1 -0
- package/src/components/Plan/PlanBackups/PlanBackups.tsx +5 -2
- package/src/components/Plan/PlanForm/PlanForm.tsx +1 -19
- package/src/components/Plan/PlanHistory/PlanHistory.tsx +1 -1
- package/src/components/Plan/PlanSettings/PlanSourceSettings.tsx +15 -1
- package/src/components/Plan/PlanStats/PlanStats.module.scss +3 -0
- package/src/components/Plan/PlanStats/PlanStats.tsx +2 -8
- package/src/components/common/Icon/Icon.tsx +12 -0
- package/src/components/common/form/IntervalField/IntervalField.tsx +21 -1
- package/src/components/common/form/StoragePicker/StoragePicker.tsx +8 -1
- package/src/components/common/form/TagsInput/TagsInput.tsx +3 -2
- package/src/components/common/form/TimePicker/TimePicker.module.scss +1 -0
- package/src/hooks/usePlanSingleActions.tsx +2 -2
- package/src/styles/global.scss +6 -0
- package/src/utils/constants.ts +1 -1
- package/src/utils/helpers.ts +25 -0
- package/src/utils/plans.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalField.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/IntervalField/IntervalField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IntervalField.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/IntervalField/IntervalField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOxD,KAAK,kBAAkB,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,qFASpB,kBAAkB,4CAyIpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,42 +1,44 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as r, jsxs as t, Fragment as n } from "react/jsx-runtime";
|
|
2
|
+
import d from "../../Icon/Icon.js";
|
|
3
3
|
import k from "../FormField/FormField.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import F from "../NumberInput/NumberInput.js";
|
|
5
|
+
import o from "../Select/Select.js";
|
|
6
|
+
import M from "../TimePicker/TimePicker.js";
|
|
7
|
+
import l from "./IntervalField.module.scss.js";
|
|
8
|
+
const H = ({
|
|
9
|
+
label: u,
|
|
9
10
|
fieldValue: e,
|
|
10
|
-
description:
|
|
11
|
-
customClasses:
|
|
11
|
+
description: c,
|
|
12
|
+
customClasses: v = "",
|
|
12
13
|
hint: p = "",
|
|
13
14
|
error: y = "",
|
|
14
|
-
required:
|
|
15
|
-
onUpdate:
|
|
16
|
-
}) => /* @__PURE__ */
|
|
15
|
+
required: b = !1,
|
|
16
|
+
onUpdate: a
|
|
17
|
+
}) => /* @__PURE__ */ r(
|
|
17
18
|
k,
|
|
18
19
|
{
|
|
19
20
|
type: "interval",
|
|
20
|
-
label:
|
|
21
|
+
label: u,
|
|
21
22
|
hint: p,
|
|
22
23
|
error: y,
|
|
23
|
-
required:
|
|
24
|
-
description:
|
|
25
|
-
classes: `${
|
|
26
|
-
children: /* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
|
|
24
|
+
required: b,
|
|
25
|
+
description: c,
|
|
26
|
+
classes: `${l.intervalField} ${v} ${y ? l.fieldHasError : ""}`,
|
|
27
|
+
children: /* @__PURE__ */ r("div", { className: l.intervalFieldInner, children: /* @__PURE__ */ t("div", { className: l.intervalFieldOptions, children: [
|
|
28
|
+
/* @__PURE__ */ r(
|
|
29
|
+
o,
|
|
29
30
|
{
|
|
30
31
|
options: [
|
|
31
32
|
{ label: "Hourly", value: "hourly" },
|
|
32
33
|
{ label: "Daily", value: "daily" },
|
|
33
34
|
{ label: "Weekly", value: "weekly" },
|
|
34
35
|
{ label: "Monthly", value: "monthly" },
|
|
36
|
+
{ label: "Every x Minutes", value: "minutes" },
|
|
35
37
|
{ label: "Every x Hours", value: "hours" },
|
|
36
38
|
{ label: "Every x Days", value: "days" }
|
|
37
39
|
],
|
|
38
40
|
fieldValue: e.type,
|
|
39
|
-
onUpdate: (s) =>
|
|
41
|
+
onUpdate: (s) => a({
|
|
40
42
|
...e,
|
|
41
43
|
type: s,
|
|
42
44
|
time: e.time || "",
|
|
@@ -44,24 +46,24 @@ const S = ({
|
|
|
44
46
|
hours: e.hours || ""
|
|
45
47
|
}),
|
|
46
48
|
full: !0,
|
|
47
|
-
customClasses:
|
|
49
|
+
customClasses: l.intervalSelect
|
|
48
50
|
}
|
|
49
51
|
),
|
|
50
|
-
e.type === "days" && /* @__PURE__ */
|
|
52
|
+
e.type === "days" && /* @__PURE__ */ r(n, { children: /* @__PURE__ */ r("div", { className: l.weekDays, children: ["sun", "mon", "tue", "wed", "thur", "fri", "sat"].map((s) => {
|
|
51
53
|
var h;
|
|
52
54
|
return /* @__PURE__ */ t(
|
|
53
55
|
"button",
|
|
54
56
|
{
|
|
55
|
-
className: (h = e == null ? void 0 : e.days) != null && h.includes(s) ?
|
|
57
|
+
className: (h = e == null ? void 0 : e.days) != null && h.includes(s) ? l.weekDayActive : "",
|
|
56
58
|
onClick: () => {
|
|
57
|
-
var
|
|
58
|
-
return
|
|
59
|
+
var i, m;
|
|
60
|
+
return a({
|
|
59
61
|
...e,
|
|
60
|
-
days: (
|
|
62
|
+
days: (i = e == null ? void 0 : e.days) != null && i.includes(s) ? (m = e.days) == null ? void 0 : m.replace(s + "-", "").replace(s, "") : e.days + s + "-"
|
|
61
63
|
});
|
|
62
64
|
},
|
|
63
65
|
children: [
|
|
64
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ r(d, { type: "check", size: 10 }),
|
|
65
67
|
" ",
|
|
66
68
|
s
|
|
67
69
|
]
|
|
@@ -69,14 +71,14 @@ const S = ({
|
|
|
69
71
|
"weekday" + s
|
|
70
72
|
);
|
|
71
73
|
}) }) }),
|
|
72
|
-
e.type !== "hourly" && e.type !== "hours" && /* @__PURE__ */ t(
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */
|
|
74
|
+
e.type !== "hourly" && e.type !== "hours" && e.type !== "minutes" && /* @__PURE__ */ t(n, { children: [
|
|
75
|
+
/* @__PURE__ */ r("span", { children: "at" }),
|
|
76
|
+
/* @__PURE__ */ r(M, { fieldValue: e.time || "10:00AM", onUpdate: (s) => a({ ...e, time: s }) })
|
|
75
77
|
] }),
|
|
76
|
-
e.type === "weekly" && /* @__PURE__ */ t(
|
|
77
|
-
/* @__PURE__ */
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
|
|
78
|
+
e.type === "weekly" && /* @__PURE__ */ t(n, { children: [
|
|
79
|
+
/* @__PURE__ */ r("span", { children: "on" }),
|
|
80
|
+
/* @__PURE__ */ r(
|
|
81
|
+
o,
|
|
80
82
|
{
|
|
81
83
|
options: [
|
|
82
84
|
{ label: "Sunday", value: "sun" },
|
|
@@ -88,14 +90,14 @@ const S = ({
|
|
|
88
90
|
{ label: "Saturday", value: "sat" }
|
|
89
91
|
],
|
|
90
92
|
fieldValue: e.days || "sun",
|
|
91
|
-
onUpdate: (s) =>
|
|
93
|
+
onUpdate: (s) => a({ ...e, days: s })
|
|
92
94
|
}
|
|
93
95
|
)
|
|
94
96
|
] }),
|
|
95
|
-
e.type === "monthly" && /* @__PURE__ */ t(
|
|
96
|
-
/* @__PURE__ */
|
|
97
|
-
/* @__PURE__ */
|
|
98
|
-
|
|
97
|
+
e.type === "monthly" && /* @__PURE__ */ t(n, { children: [
|
|
98
|
+
/* @__PURE__ */ r("span", { children: "on" }),
|
|
99
|
+
/* @__PURE__ */ r(
|
|
100
|
+
o,
|
|
99
101
|
{
|
|
100
102
|
options: [
|
|
101
103
|
{ label: "1st day of the Month", value: "first" },
|
|
@@ -103,14 +105,32 @@ const S = ({
|
|
|
103
105
|
{ label: "Last day of the Month", value: "last" }
|
|
104
106
|
],
|
|
105
107
|
fieldValue: e.days || "first",
|
|
106
|
-
onUpdate: (s) =>
|
|
108
|
+
onUpdate: (s) => a({ ...e, days: s })
|
|
107
109
|
}
|
|
108
110
|
)
|
|
109
111
|
] }),
|
|
110
|
-
e.type === "
|
|
111
|
-
/* @__PURE__ */
|
|
112
|
-
/* @__PURE__ */
|
|
113
|
-
|
|
112
|
+
e.type === "minutes" && /* @__PURE__ */ t(n, { children: [
|
|
113
|
+
/* @__PURE__ */ r("span", { children: "Every" }),
|
|
114
|
+
/* @__PURE__ */ r(
|
|
115
|
+
F,
|
|
116
|
+
{
|
|
117
|
+
min: 5,
|
|
118
|
+
inline: !0,
|
|
119
|
+
fieldValue: e.minutes || 5,
|
|
120
|
+
onUpdate: (s) => a({
|
|
121
|
+
...e,
|
|
122
|
+
minutes: s
|
|
123
|
+
}),
|
|
124
|
+
placeholder: "1"
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
" ",
|
|
128
|
+
"Minutes"
|
|
129
|
+
] }),
|
|
130
|
+
e.type === "hours" && /* @__PURE__ */ t(n, { children: [
|
|
131
|
+
/* @__PURE__ */ r("span", { children: "Every" }),
|
|
132
|
+
/* @__PURE__ */ r(
|
|
133
|
+
o,
|
|
114
134
|
{
|
|
115
135
|
options: [
|
|
116
136
|
{ label: "3 hours", value: "3hrs" },
|
|
@@ -120,7 +140,7 @@ const S = ({
|
|
|
120
140
|
{ label: "18 hours", value: "18hrs" }
|
|
121
141
|
],
|
|
122
142
|
fieldValue: e.hours || "3hrs",
|
|
123
|
-
onUpdate: (s) =>
|
|
143
|
+
onUpdate: (s) => a({ ...e, hours: s })
|
|
124
144
|
}
|
|
125
145
|
)
|
|
126
146
|
] })
|
|
@@ -128,6 +148,6 @@ const S = ({
|
|
|
128
148
|
}
|
|
129
149
|
);
|
|
130
150
|
export {
|
|
131
|
-
|
|
151
|
+
H as default
|
|
132
152
|
};
|
|
133
153
|
//# sourceMappingURL=IntervalField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntervalField.js","sources":["../../../../../src/components/common/form/IntervalField/IntervalField.tsx"],"sourcesContent":["import { PlanInterval } from '../../../../@types/plans';\r\nimport Icon from '../../Icon/Icon';\r\nimport FormField from '../FormField/FormField';\r\nimport Select from '../Select/Select';\r\nimport TimePicker from '../TimePicker/TimePicker';\r\nimport classes from './IntervalField.module.scss';\r\n\r\ntype IntervalFieldProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n hint?: string;\r\n error?: string;\r\n required?: boolean;\r\n fieldValue: PlanInterval;\r\n onUpdate: (value: PlanInterval) => void;\r\n};\r\n\r\nconst IntervalField = ({\r\n label,\r\n fieldValue,\r\n description,\r\n customClasses = '',\r\n hint = '',\r\n error = '',\r\n required = false,\r\n onUpdate,\r\n}: IntervalFieldProps) => {\r\n return (\r\n <FormField\r\n type=\"interval\"\r\n label={label}\r\n hint={hint}\r\n error={error}\r\n required={required}\r\n description={description}\r\n classes={`${classes.intervalField} ${customClasses} ${error ? classes.fieldHasError : ''}`}\r\n >\r\n <div className={classes.intervalFieldInner}>\r\n <div className={classes.intervalFieldOptions}>\r\n <Select\r\n options={[\r\n { label: 'Hourly', value: 'hourly' },\r\n { label: 'Daily', value: 'daily' },\r\n { label: 'Weekly', value: 'weekly' },\r\n { label: 'Monthly', value: 'monthly' },\r\n { label: 'Every x Hours', value: 'hours' },\r\n { label: 'Every x Days', value: 'days' },\r\n ]}\r\n fieldValue={fieldValue.type}\r\n onUpdate={(val) =>\r\n onUpdate({\r\n ...fieldValue,\r\n type: val as PlanInterval['type'],\r\n time: fieldValue.time || '',\r\n days: fieldValue.days || '',\r\n hours: fieldValue.hours || '',\r\n })\r\n }\r\n full={true}\r\n customClasses={classes.intervalSelect}\r\n />\r\n {fieldValue.type === 'days' && (\r\n <>\r\n <div className={classes.weekDays}>\r\n {['sun', 'mon', 'tue', 'wed', 'thur', 'fri', 'sat'].map((d) => {\r\n return (\r\n <button\r\n key={'weekday' + d}\r\n className={fieldValue?.days?.includes(d) ? classes.weekDayActive : ''}\r\n onClick={() =>\r\n onUpdate({\r\n ...fieldValue,\r\n days: fieldValue?.days?.includes(d)\r\n ? fieldValue.days?.replace(d + '-', '').replace(d, '')\r\n : fieldValue.days + d + '-',\r\n })\r\n }\r\n >\r\n <Icon type=\"check\" size={10} /> {d}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </>\r\n )}\r\n {fieldValue.type !== 'hourly' && fieldValue.type !== 'hours' && (\r\n <>\r\n <span>at</span>\r\n <TimePicker fieldValue={fieldValue.time || '10:00AM'} onUpdate={(val) => onUpdate({ ...fieldValue, time: val })} />\r\n </>\r\n )}\r\n\r\n {fieldValue.type === 'weekly' && (\r\n <>\r\n <span>on</span>\r\n <Select\r\n options={[\r\n { label: 'Sunday', value: 'sun' },\r\n { label: 'Monday', value: 'mon' },\r\n { label: 'Tuesday', value: 'tue' },\r\n { label: 'Wednesday', value: 'wed' },\r\n { label: 'Thursday', value: 'thur' },\r\n { label: 'Friday', value: 'fri' },\r\n { label: 'Saturday', value: 'sat' },\r\n ]}\r\n fieldValue={fieldValue.days || 'sun'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, days: val })}\r\n />\r\n </>\r\n )}\r\n {fieldValue.type === 'monthly' && (\r\n <>\r\n <span>on</span>\r\n <Select\r\n options={[\r\n { label: '1st day of the Month', value: 'first' },\r\n { label: '15th day of the Month', value: 'middle' },\r\n { label: 'Last day of the Month', value: 'last' },\r\n ]}\r\n fieldValue={fieldValue.days || 'first'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, days: val })}\r\n />\r\n </>\r\n )}\r\n {fieldValue.type === 'hours' && (\r\n <>\r\n <span>Every</span>\r\n <Select\r\n options={[\r\n { label: '3 hours', value: '3hrs' },\r\n { label: '6 hours', value: '6hrs' },\r\n { label: '9 hours', value: '9hrs' },\r\n { label: '12 hours', value: '12hrs' },\r\n { label: '18 hours', value: '18hrs' },\r\n ]}\r\n fieldValue={fieldValue.hours || '3hrs'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, hours: val })}\r\n />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default IntervalField;\r\n"],"names":["IntervalField","label","fieldValue","description","customClasses","hint","error","required","onUpdate","jsx","FormField","classes","jsxs","Select","val","Fragment","d","_a","_b","Icon","TimePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IntervalField.js","sources":["../../../../../src/components/common/form/IntervalField/IntervalField.tsx"],"sourcesContent":["import { NumberInput } from '../../..';\r\nimport { PlanInterval } from '../../../../@types/plans';\r\nimport Icon from '../../Icon/Icon';\r\nimport FormField from '../FormField/FormField';\r\nimport Select from '../Select/Select';\r\nimport TimePicker from '../TimePicker/TimePicker';\r\nimport classes from './IntervalField.module.scss';\r\n\r\ntype IntervalFieldProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n hint?: string;\r\n error?: string;\r\n required?: boolean;\r\n fieldValue: PlanInterval;\r\n onUpdate: (value: PlanInterval) => void;\r\n};\r\n\r\nconst IntervalField = ({\r\n label,\r\n fieldValue,\r\n description,\r\n customClasses = '',\r\n hint = '',\r\n error = '',\r\n required = false,\r\n onUpdate,\r\n}: IntervalFieldProps) => {\r\n return (\r\n <FormField\r\n type=\"interval\"\r\n label={label}\r\n hint={hint}\r\n error={error}\r\n required={required}\r\n description={description}\r\n classes={`${classes.intervalField} ${customClasses} ${error ? classes.fieldHasError : ''}`}\r\n >\r\n <div className={classes.intervalFieldInner}>\r\n <div className={classes.intervalFieldOptions}>\r\n <Select\r\n options={[\r\n { label: 'Hourly', value: 'hourly' },\r\n { label: 'Daily', value: 'daily' },\r\n { label: 'Weekly', value: 'weekly' },\r\n { label: 'Monthly', value: 'monthly' },\r\n { label: 'Every x Minutes', value: 'minutes' },\r\n { label: 'Every x Hours', value: 'hours' },\r\n { label: 'Every x Days', value: 'days' },\r\n ]}\r\n fieldValue={fieldValue.type}\r\n onUpdate={(val) =>\r\n onUpdate({\r\n ...fieldValue,\r\n type: val as PlanInterval['type'],\r\n time: fieldValue.time || '',\r\n days: fieldValue.days || '',\r\n hours: fieldValue.hours || '',\r\n })\r\n }\r\n full={true}\r\n customClasses={classes.intervalSelect}\r\n />\r\n {fieldValue.type === 'days' && (\r\n <>\r\n <div className={classes.weekDays}>\r\n {['sun', 'mon', 'tue', 'wed', 'thur', 'fri', 'sat'].map((d) => {\r\n return (\r\n <button\r\n key={'weekday' + d}\r\n className={fieldValue?.days?.includes(d) ? classes.weekDayActive : ''}\r\n onClick={() =>\r\n onUpdate({\r\n ...fieldValue,\r\n days: fieldValue?.days?.includes(d)\r\n ? fieldValue.days?.replace(d + '-', '').replace(d, '')\r\n : fieldValue.days + d + '-',\r\n })\r\n }\r\n >\r\n <Icon type=\"check\" size={10} /> {d}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </>\r\n )}\r\n {fieldValue.type !== 'hourly' && fieldValue.type !== 'hours' && fieldValue.type !== 'minutes' && (\r\n <>\r\n <span>at</span>\r\n <TimePicker fieldValue={fieldValue.time || '10:00AM'} onUpdate={(val) => onUpdate({ ...fieldValue, time: val })} />\r\n </>\r\n )}\r\n\r\n {fieldValue.type === 'weekly' && (\r\n <>\r\n <span>on</span>\r\n <Select\r\n options={[\r\n { label: 'Sunday', value: 'sun' },\r\n { label: 'Monday', value: 'mon' },\r\n { label: 'Tuesday', value: 'tue' },\r\n { label: 'Wednesday', value: 'wed' },\r\n { label: 'Thursday', value: 'thur' },\r\n { label: 'Friday', value: 'fri' },\r\n { label: 'Saturday', value: 'sat' },\r\n ]}\r\n fieldValue={fieldValue.days || 'sun'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, days: val })}\r\n />\r\n </>\r\n )}\r\n {fieldValue.type === 'monthly' && (\r\n <>\r\n <span>on</span>\r\n <Select\r\n options={[\r\n { label: '1st day of the Month', value: 'first' },\r\n { label: '15th day of the Month', value: 'middle' },\r\n { label: 'Last day of the Month', value: 'last' },\r\n ]}\r\n fieldValue={fieldValue.days || 'first'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, days: val })}\r\n />\r\n </>\r\n )}\r\n {fieldValue.type === 'minutes' && (\r\n <>\r\n <span>Every</span>\r\n <NumberInput\r\n min={5}\r\n inline={true}\r\n fieldValue={fieldValue.minutes || 5}\r\n onUpdate={(minutes) =>\r\n onUpdate({\r\n ...fieldValue,\r\n minutes: minutes,\r\n })\r\n }\r\n placeholder=\"1\"\r\n />{' '}\r\n Minutes\r\n </>\r\n )}\r\n {fieldValue.type === 'hours' && (\r\n <>\r\n <span>Every</span>\r\n <Select\r\n options={[\r\n { label: '3 hours', value: '3hrs' },\r\n { label: '6 hours', value: '6hrs' },\r\n { label: '9 hours', value: '9hrs' },\r\n { label: '12 hours', value: '12hrs' },\r\n { label: '18 hours', value: '18hrs' },\r\n ]}\r\n fieldValue={fieldValue.hours || '3hrs'}\r\n onUpdate={(val: string) => onUpdate({ ...fieldValue, hours: val })}\r\n />\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default IntervalField;\r\n"],"names":["IntervalField","label","fieldValue","description","customClasses","hint","error","required","onUpdate","jsx","FormField","classes","jsxs","Select","val","Fragment","d","_a","_b","Icon","TimePicker","NumberInput","minutes"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoragePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/StoragePicker/StoragePicker.tsx"],"names":[],"mappings":"AASA,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,UAAU,kBAAkB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAClE;AAED,QAAA,MAAM,aAAa,GAAI,0DAAuE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"StoragePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/StoragePicker/StoragePicker.tsx"],"names":[],"mappings":"AASA,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,UAAU,kBAAkB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAClE;AAED,QAAA,MAAM,aAAa,GAAI,0DAAuE,kBAAkB,4CAwH/G,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,38 +1,40 @@
|
|
|
1
|
-
import { jsx as o, jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import
|
|
1
|
+
import { jsx as o, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { useState as p, useMemo as F, useEffect as g } from "react";
|
|
3
|
+
import i from "./StoragePicker.module.scss.js";
|
|
4
4
|
import O from "../Select/Select.js";
|
|
5
5
|
import { useGetStorages as U } from "../../../../services/storage.js";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
const
|
|
11
|
-
const [t,
|
|
6
|
+
import j from "../Input/Input.js";
|
|
7
|
+
import q from "../../FolderPicker/FolderPicker.js";
|
|
8
|
+
import V from "../../Icon/Icon.js";
|
|
9
|
+
import W from "../../../Storage/AddStorage/AddStorage.js";
|
|
10
|
+
const I = ({ onUpdate: N, storagePath: $ = "", storageId: P, disabled: a = !1, deviceId: S }) => {
|
|
11
|
+
const [t, h] = p(), [v, k] = p(!1), [y, w] = p(!1), [r, n] = p(() => $), f = (t == null ? void 0 : t.type) === "local", d = (t == null ? void 0 : t.defaultPath) && (t == null ? void 0 : t.defaultPath) !== "/", M = d ? `${t.defaultPath}${r ? `/${r}` : ""}` : r, { data: u } = U(), c = [...(u == null ? void 0 : u.result) || []];
|
|
12
12
|
console.log("allStorages :", c), console.log("selectedStorage :", t);
|
|
13
|
-
const x = F(() => c.map(({ name:
|
|
14
|
-
label:
|
|
13
|
+
const x = F(() => c.map(({ name: l, id: s, type: B }) => ({
|
|
14
|
+
label: l,
|
|
15
15
|
value: s.toString(),
|
|
16
16
|
image: /* @__PURE__ */ o("img", { src: `/providers/${B}.png` })
|
|
17
17
|
})), [c]), A = (e) => {
|
|
18
18
|
if (console.log("storageID :", e), e === "add_new")
|
|
19
|
-
return
|
|
20
|
-
const
|
|
21
|
-
(
|
|
19
|
+
return w(!0);
|
|
20
|
+
const l = c.find((s) => s.id == e);
|
|
21
|
+
(l || e === "local") && h(l);
|
|
22
22
|
};
|
|
23
|
-
return
|
|
24
|
-
if (c.length > 0 &&
|
|
25
|
-
const e = c.find((
|
|
26
|
-
if (
|
|
27
|
-
const
|
|
28
|
-
|
|
23
|
+
return g(() => {
|
|
24
|
+
if (c.length > 0 && P) {
|
|
25
|
+
const e = c.find((l) => l.id === P);
|
|
26
|
+
if (h(e), e != null && e.defaultPath && e.defaultPath !== "/") {
|
|
27
|
+
const l = e.defaultPath + "/";
|
|
28
|
+
n((s) => s.startsWith(l) ? s.slice(l.length) : s);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
}, [
|
|
32
|
-
t &&
|
|
33
|
-
}, [t,
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
}, [u]), g(() => {
|
|
32
|
+
t && N({ storage: t, path: M });
|
|
33
|
+
}, [t, r]), g(() => {
|
|
34
|
+
a || (h(null), n(""));
|
|
35
|
+
}, [S, a]), /* @__PURE__ */ m("div", { className: i.storagePicker, children: [
|
|
36
|
+
/* @__PURE__ */ o("div", { className: i.storagePickerInput, children: /* @__PURE__ */ m("div", { children: [
|
|
37
|
+
/* @__PURE__ */ o("div", { className: i.storage, children: /* @__PURE__ */ o(
|
|
36
38
|
O,
|
|
37
39
|
{
|
|
38
40
|
fieldValue: t != null && t.id ? t.id : "",
|
|
@@ -43,50 +45,50 @@ const H = ({ onUpdate: w, storagePath: N = "", storageId: m, disabled: i = !1, d
|
|
|
43
45
|
],
|
|
44
46
|
onUpdate: A,
|
|
45
47
|
full: !0,
|
|
46
|
-
disabled:
|
|
48
|
+
disabled: a
|
|
47
49
|
}
|
|
48
50
|
) }),
|
|
49
|
-
/* @__PURE__ */
|
|
50
|
-
|
|
51
|
+
/* @__PURE__ */ m("div", { className: `${i.path} ${d ? i.withBucket : ""}`, children: [
|
|
52
|
+
d && /* @__PURE__ */ o("span", { className: i.defaultPath, title: `Bucket: ${t.defaultPath}`, children: t.defaultPath + "/" }),
|
|
51
53
|
/* @__PURE__ */ o(
|
|
52
|
-
|
|
54
|
+
j,
|
|
53
55
|
{
|
|
54
|
-
disabled:
|
|
55
|
-
fieldValue:
|
|
56
|
-
onUpdate: (e) =>
|
|
57
|
-
placeholder:
|
|
56
|
+
disabled: a,
|
|
57
|
+
fieldValue: r,
|
|
58
|
+
onUpdate: (e) => n(!f && e.startsWith("/") ? e.slice(1) : e),
|
|
59
|
+
placeholder: f ? "Select a folder" : d ? "subfolder" : "folder-or-bucket/subfolder",
|
|
58
60
|
full: !0,
|
|
59
|
-
required: !
|
|
60
|
-
error: !
|
|
61
|
+
required: !a && f,
|
|
62
|
+
error: !a && f && !r ? "Required" : ""
|
|
61
63
|
}
|
|
62
64
|
),
|
|
63
|
-
(t == null ? void 0 : t.type) && !
|
|
65
|
+
(t == null ? void 0 : t.type) && !a && t.type === "local" && /* @__PURE__ */ o(
|
|
64
66
|
"button",
|
|
65
67
|
{
|
|
66
|
-
className:
|
|
68
|
+
className: i.fileManagerBtn,
|
|
67
69
|
"data-tooltip-id": "appTooltip",
|
|
68
70
|
"data-tooltip-content": "Open FileManager to Select Directory",
|
|
69
71
|
"data-tooltip-place": "top",
|
|
70
|
-
onClick: () =>
|
|
71
|
-
children: /* @__PURE__ */ o(
|
|
72
|
+
onClick: () => k(!0),
|
|
73
|
+
children: /* @__PURE__ */ o(V, { type: "folders", size: 16 })
|
|
72
74
|
}
|
|
73
75
|
)
|
|
74
76
|
] })
|
|
75
77
|
] }) }),
|
|
76
|
-
v && !
|
|
77
|
-
|
|
78
|
+
v && !a && /* @__PURE__ */ o(
|
|
79
|
+
q,
|
|
78
80
|
{
|
|
79
|
-
deviceId:
|
|
81
|
+
deviceId: S || "main",
|
|
80
82
|
title: "Select Path",
|
|
81
|
-
selected:
|
|
82
|
-
close: () =>
|
|
83
|
-
onSelect: (e) =>
|
|
83
|
+
selected: r,
|
|
84
|
+
close: () => k(!1),
|
|
85
|
+
onSelect: (e) => n(e)
|
|
84
86
|
}
|
|
85
87
|
),
|
|
86
|
-
y && /* @__PURE__ */ o(
|
|
88
|
+
y && /* @__PURE__ */ o(W, { close: () => w(!1) })
|
|
87
89
|
] });
|
|
88
90
|
};
|
|
89
91
|
export {
|
|
90
|
-
|
|
92
|
+
I as default
|
|
91
93
|
};
|
|
92
94
|
//# sourceMappingURL=StoragePicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoragePicker.js","sources":["../../../../../src/components/common/form/StoragePicker/StoragePicker.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\r\nimport classes from './StoragePicker.module.scss';\r\nimport Select from '../Select/Select';\r\nimport { useGetStorages } from '../../../../services/storage';\r\nimport Input from '../Input/Input';\r\nimport FolderPicker from '../../FolderPicker/FolderPicker';\r\nimport Icon from '../../Icon/Icon';\r\nimport AddStorage from '../../../Storage/AddStorage/AddStorage';\r\n\r\ntype storageItem = { name: string; id: string; type: string; defaultPath?: string };\r\n\r\ninterface StoragePickerProps {\r\n storagePath?: string;\r\n storageId?: string;\r\n disabled?: boolean;\r\n deviceId?: string;\r\n onUpdate: (val: { storage: storageItem; path: string }) => void;\r\n}\r\n\r\nconst StoragePicker = ({ onUpdate, storagePath = '', storageId, disabled = false, deviceId }: StoragePickerProps) => {\r\n const [selectedStorage, setSelectedStorage] = useState<null | storageItem>();\r\n const [showFolderPicker, setShowFolderPicker] = useState(false);\r\n const [showAddStorageModal, setShowAddStorageModal] = useState(false);\r\n const [path, setPath] = useState(() => storagePath);\r\n const isLocalStorage = selectedStorage?.type === 'local';\r\n const hasBucketName = selectedStorage?.defaultPath && selectedStorage?.defaultPath !== '/';\r\n const fullPath = hasBucketName ? `${selectedStorage.defaultPath}${path ? `/${path}` : ''}` : path;\r\n\r\n const { data: allStorageData } = useGetStorages();\r\n const allUserStorages = (allStorageData?.result as storageItem[]) || [];\r\n const allStorages = [...allUserStorages];\r\n\r\n console.log('allStorages :', allStorages);\r\n console.log('selectedStorage :', selectedStorage);\r\n\r\n const storageOptions = useMemo(() => {\r\n const storageOpts = allStorages.map(({ name, id, type }) => ({\r\n label: name,\r\n value: id.toString(),\r\n image: <img src={`/providers/${type}.png`} />,\r\n }));\r\n return storageOpts;\r\n }, [allStorages]);\r\n\r\n const selectStorage = (storageID: string) => {\r\n console.log('storageID :', storageID);\r\n if (storageID === 'add_new') {\r\n return setShowAddStorageModal(true);\r\n }\r\n const theStorage = allStorages.find((s) => s.id == storageID);\r\n if (theStorage || storageID === 'local') {\r\n setSelectedStorage(theStorage);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (allStorages.length > 0 && storageId) {\r\n const currentStorage = allStorages.find((s) => s.id === storageId);\r\n setSelectedStorage(currentStorage);\r\n if (currentStorage?.defaultPath && currentStorage.defaultPath !== '/') {\r\n const prefix = currentStorage.defaultPath + '/';\r\n setPath((prev) => (prev.startsWith(prefix) ? prev.slice(prefix.length) : prev));\r\n }\r\n }\r\n }, [allStorageData]);\r\n\r\n useEffect(() => {\r\n if (selectedStorage) {\r\n onUpdate({ storage: selectedStorage, path: fullPath });\r\n }\r\n }, [selectedStorage, path]);\r\n\r\n // console.log('Storage path :', path, !disabled && isLocalStorage && !path);\r\n\r\n return (\r\n <div className={classes.storagePicker}>\r\n <div className={classes.storagePickerInput}>\r\n <div>\r\n <div className={classes.storage}>\r\n <Select\r\n fieldValue={selectedStorage?.id ? selectedStorage.id : ''}\r\n options={[\r\n { label: 'Select Storage', value: '', icon: 'storages' },\r\n ...storageOptions,\r\n { label: '+ Add New Storage', value: 'add_new', icon: 'plus' },\r\n ]}\r\n onUpdate={selectStorage}\r\n full={true}\r\n disabled={disabled}\r\n />\r\n </div>\r\n <div className={`${classes.path} ${hasBucketName ? classes.withBucket : ''}`}>\r\n {hasBucketName && (\r\n <span className={classes.defaultPath} title={`Bucket: ${selectedStorage.defaultPath}`}>\r\n {selectedStorage.defaultPath + '/'}\r\n </span>\r\n )}\r\n <Input\r\n disabled={disabled}\r\n fieldValue={path}\r\n onUpdate={(val) => setPath(val.startsWith('/') ? val.slice(1) : val)} //if the val starts with a slash remove it\r\n placeholder={isLocalStorage ? 'Select a folder' : hasBucketName ? 'subfolder' : `folder-or-bucket/subfolder`}\r\n full={true}\r\n required={!disabled && isLocalStorage}\r\n error={(!disabled && isLocalStorage && !path ? 'Required' : '') as string}\r\n />\r\n {selectedStorage?.type && !disabled && selectedStorage.type === 'local' && (\r\n <button\r\n className={classes.fileManagerBtn}\r\n data-tooltip-id=\"appTooltip\"\r\n data-tooltip-content=\"Open FileManager to Select Directory\"\r\n data-tooltip-place=\"top\"\r\n onClick={() => setShowFolderPicker(true)}\r\n >\r\n <Icon type=\"folders\" size={16} />\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n {showFolderPicker && !disabled && (\r\n <FolderPicker\r\n deviceId={deviceId || 'main'}\r\n title=\"Select Path\"\r\n selected={path}\r\n close={() => setShowFolderPicker(false)}\r\n onSelect={(newVal) => setPath(newVal)}\r\n />\r\n )}\r\n {showAddStorageModal && <AddStorage close={() => setShowAddStorageModal(false)} />}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StoragePicker;\r\n"],"names":["StoragePicker","onUpdate","storagePath","storageId","disabled","deviceId","selectedStorage","setSelectedStorage","useState","showFolderPicker","setShowFolderPicker","showAddStorageModal","setShowAddStorageModal","path","setPath","isLocalStorage","hasBucketName","fullPath","allStorageData","useGetStorages","allStorages","storageOptions","useMemo","name","id","type","jsx","selectStorage","storageID","theStorage","useEffect","currentStorage","s","prefix","prev","jsxs","classes","Select","Input","val","Icon","FolderPicker","newVal","AddStorage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StoragePicker.js","sources":["../../../../../src/components/common/form/StoragePicker/StoragePicker.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\r\nimport classes from './StoragePicker.module.scss';\r\nimport Select from '../Select/Select';\r\nimport { useGetStorages } from '../../../../services/storage';\r\nimport Input from '../Input/Input';\r\nimport FolderPicker from '../../FolderPicker/FolderPicker';\r\nimport Icon from '../../Icon/Icon';\r\nimport AddStorage from '../../../Storage/AddStorage/AddStorage';\r\n\r\ntype storageItem = { name: string; id: string; type: string; defaultPath?: string };\r\n\r\ninterface StoragePickerProps {\r\n storagePath?: string;\r\n storageId?: string;\r\n disabled?: boolean;\r\n deviceId?: string;\r\n onUpdate: (val: { storage: storageItem; path: string }) => void;\r\n}\r\n\r\nconst StoragePicker = ({ onUpdate, storagePath = '', storageId, disabled = false, deviceId }: StoragePickerProps) => {\r\n const [selectedStorage, setSelectedStorage] = useState<null | storageItem>();\r\n const [showFolderPicker, setShowFolderPicker] = useState(false);\r\n const [showAddStorageModal, setShowAddStorageModal] = useState(false);\r\n const [path, setPath] = useState(() => storagePath);\r\n const isLocalStorage = selectedStorage?.type === 'local';\r\n const hasBucketName = selectedStorage?.defaultPath && selectedStorage?.defaultPath !== '/';\r\n const fullPath = hasBucketName ? `${selectedStorage.defaultPath}${path ? `/${path}` : ''}` : path;\r\n\r\n const { data: allStorageData } = useGetStorages();\r\n const allUserStorages = (allStorageData?.result as storageItem[]) || [];\r\n const allStorages = [...allUserStorages];\r\n\r\n console.log('allStorages :', allStorages);\r\n console.log('selectedStorage :', selectedStorage);\r\n\r\n const storageOptions = useMemo(() => {\r\n const storageOpts = allStorages.map(({ name, id, type }) => ({\r\n label: name,\r\n value: id.toString(),\r\n image: <img src={`/providers/${type}.png`} />,\r\n }));\r\n return storageOpts;\r\n }, [allStorages]);\r\n\r\n const selectStorage = (storageID: string) => {\r\n console.log('storageID :', storageID);\r\n if (storageID === 'add_new') {\r\n return setShowAddStorageModal(true);\r\n }\r\n const theStorage = allStorages.find((s) => s.id == storageID);\r\n if (theStorage || storageID === 'local') {\r\n setSelectedStorage(theStorage);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (allStorages.length > 0 && storageId) {\r\n const currentStorage = allStorages.find((s) => s.id === storageId);\r\n setSelectedStorage(currentStorage);\r\n if (currentStorage?.defaultPath && currentStorage.defaultPath !== '/') {\r\n const prefix = currentStorage.defaultPath + '/';\r\n setPath((prev) => (prev.startsWith(prefix) ? prev.slice(prefix.length) : prev));\r\n }\r\n }\r\n }, [allStorageData]);\r\n\r\n useEffect(() => {\r\n if (selectedStorage) {\r\n onUpdate({ storage: selectedStorage, path: fullPath });\r\n }\r\n }, [selectedStorage, path]);\r\n\r\n useEffect(() => {\r\n if (!disabled) {\r\n setSelectedStorage(null);\r\n setPath('');\r\n }\r\n }, [deviceId, disabled]);\r\n\r\n // console.log('Storage path :', path, !disabled && isLocalStorage && !path);\r\n\r\n return (\r\n <div className={classes.storagePicker}>\r\n <div className={classes.storagePickerInput}>\r\n <div>\r\n <div className={classes.storage}>\r\n <Select\r\n fieldValue={selectedStorage?.id ? selectedStorage.id : ''}\r\n options={[\r\n { label: 'Select Storage', value: '', icon: 'storages' },\r\n ...storageOptions,\r\n { label: '+ Add New Storage', value: 'add_new', icon: 'plus' },\r\n ]}\r\n onUpdate={selectStorage}\r\n full={true}\r\n disabled={disabled}\r\n />\r\n </div>\r\n <div className={`${classes.path} ${hasBucketName ? classes.withBucket : ''}`}>\r\n {hasBucketName && (\r\n <span className={classes.defaultPath} title={`Bucket: ${selectedStorage.defaultPath}`}>\r\n {selectedStorage.defaultPath + '/'}\r\n </span>\r\n )}\r\n <Input\r\n disabled={disabled}\r\n fieldValue={path}\r\n onUpdate={(val) => setPath(!isLocalStorage && val.startsWith('/') ? val.slice(1) : val)} //if the val starts with a slash remove it (only for remote storages, local paths need the leading slash)\r\n placeholder={isLocalStorage ? 'Select a folder' : hasBucketName ? 'subfolder' : `folder-or-bucket/subfolder`}\r\n full={true}\r\n required={!disabled && isLocalStorage}\r\n error={(!disabled && isLocalStorage && !path ? 'Required' : '') as string}\r\n />\r\n {selectedStorage?.type && !disabled && selectedStorage.type === 'local' && (\r\n <button\r\n className={classes.fileManagerBtn}\r\n data-tooltip-id=\"appTooltip\"\r\n data-tooltip-content=\"Open FileManager to Select Directory\"\r\n data-tooltip-place=\"top\"\r\n onClick={() => setShowFolderPicker(true)}\r\n >\r\n <Icon type=\"folders\" size={16} />\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n {showFolderPicker && !disabled && (\r\n <FolderPicker\r\n deviceId={deviceId || 'main'}\r\n title=\"Select Path\"\r\n selected={path}\r\n close={() => setShowFolderPicker(false)}\r\n onSelect={(newVal) => setPath(newVal)}\r\n />\r\n )}\r\n {showAddStorageModal && <AddStorage close={() => setShowAddStorageModal(false)} />}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StoragePicker;\r\n"],"names":["StoragePicker","onUpdate","storagePath","storageId","disabled","deviceId","selectedStorage","setSelectedStorage","useState","showFolderPicker","setShowFolderPicker","showAddStorageModal","setShowAddStorageModal","path","setPath","isLocalStorage","hasBucketName","fullPath","allStorageData","useGetStorages","allStorages","storageOptions","useMemo","name","id","type","jsx","selectStorage","storageID","theStorage","useEffect","currentStorage","s","prefix","prev","jsxs","classes","Select","Input","val","Icon","FolderPicker","newVal","AddStorage"],"mappings":";;;;;;;;;AAmBA,MAAMA,IAAgB,CAAC,EAAE,UAAAC,GAAU,aAAAC,IAAc,IAAI,WAAAC,GAAW,UAAAC,IAAW,IAAO,UAAAC,QAAmC;AAClH,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxC,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GACxD,CAACG,GAAqBC,CAAsB,IAAIJ,EAAS,EAAK,GAC9D,CAACK,GAAMC,CAAO,IAAIN,EAAS,MAAMN,CAAW,GAC5Ca,KAAiBT,KAAA,gBAAAA,EAAiB,UAAS,SAC3CU,KAAgBV,KAAA,gBAAAA,EAAiB,iBAAeA,KAAA,gBAAAA,EAAiB,iBAAgB,KACjFW,IAAWD,IAAgB,GAAGV,EAAgB,WAAW,GAAGO,IAAO,IAAIA,CAAI,KAAK,EAAE,KAAKA,GAEvF,EAAE,MAAMK,EAAA,IAAmBC,EAAA,GAE3BC,IAAc,CAAC,IADIF,KAAA,gBAAAA,EAAgB,WAA4B,CAAA,CAC9B;AAEvC,UAAQ,IAAI,iBAAiBE,CAAW,GACxC,QAAQ,IAAI,qBAAqBd,CAAe;AAEhD,QAAMe,IAAiBC,EAAQ,MACRF,EAAY,IAAI,CAAC,EAAE,MAAAG,GAAM,IAAAC,GAAI,MAAAC,SAAY;AAAA,IAC1D,OAAOF;AAAA,IACP,OAAOC,EAAG,SAAA;AAAA,IACV,OAAO,gBAAAE,EAAC,OAAA,EAAI,KAAK,cAAcD,CAAI,OAAA,CAAQ;AAAA,EAAA,EAC5C,GAEF,CAACL,CAAW,CAAC,GAEVO,IAAgB,CAACC,MAAsB;AAE1C,QADA,QAAQ,IAAI,eAAeA,CAAS,GAChCA,MAAc;AACf,aAAOhB,EAAuB,EAAI;AAErC,UAAMiB,IAAaT,EAAY,KAAK,CAAC,MAAM,EAAE,MAAMQ,CAAS;AAC5D,KAAIC,KAAcD,MAAc,YAC7BrB,EAAmBsB,CAAU;AAAA,EAEnC;AAEA,SAAAC,EAAU,MAAM;AACb,QAAIV,EAAY,SAAS,KAAKjB,GAAW;AACtC,YAAM4B,IAAiBX,EAAY,KAAK,CAACY,MAAMA,EAAE,OAAO7B,CAAS;AAEjE,UADAI,EAAmBwB,CAAc,GAC7BA,KAAA,QAAAA,EAAgB,eAAeA,EAAe,gBAAgB,KAAK;AACpE,cAAME,IAASF,EAAe,cAAc;AAC5C,QAAAjB,EAAQ,CAACoB,MAAUA,EAAK,WAAWD,CAAM,IAAIC,EAAK,MAAMD,EAAO,MAAM,IAAIC,CAAK;AAAA,MACjF;AAAA,IACH;AAAA,EACH,GAAG,CAAChB,CAAc,CAAC,GAEnBY,EAAU,MAAM;AACb,IAAIxB,KACDL,EAAS,EAAE,SAASK,GAAiB,MAAMW,GAAU;AAAA,EAE3D,GAAG,CAACX,GAAiBO,CAAI,CAAC,GAE1BiB,EAAU,MAAM;AACb,IAAK1B,MACFG,EAAmB,IAAI,GACvBO,EAAQ,EAAE;AAAA,EAEhB,GAAG,CAACT,GAAUD,CAAQ,CAAC,GAKpB,gBAAA+B,EAAC,OAAA,EAAI,WAAWC,EAAQ,eACrB,UAAA;AAAA,IAAA,gBAAAV,EAAC,OAAA,EAAI,WAAWU,EAAQ,oBACrB,4BAAC,OAAA,EACE,UAAA;AAAA,MAAA,gBAAAV,EAAC,OAAA,EAAI,WAAWU,EAAQ,SACrB,UAAA,gBAAAV;AAAA,QAACW;AAAA,QAAA;AAAA,UACE,YAAY/B,KAAA,QAAAA,EAAiB,KAAKA,EAAgB,KAAK;AAAA,UACvD,SAAS;AAAA,YACN,EAAE,OAAO,kBAAkB,OAAO,IAAI,MAAM,WAAA;AAAA,YAC5C,GAAGe;AAAA,YACH,EAAE,OAAO,qBAAqB,OAAO,WAAW,MAAM,OAAA;AAAA,UAAO;AAAA,UAEhE,UAAUM;AAAA,UACV,MAAM;AAAA,UACN,UAAAvB;AAAA,QAAA;AAAA,MAAA,GAEN;AAAA,MACA,gBAAA+B,EAAC,OAAA,EAAI,WAAW,GAAGC,EAAQ,IAAI,IAAIpB,IAAgBoB,EAAQ,aAAa,EAAE,IACtE,UAAA;AAAA,QAAApB,KACE,gBAAAU,EAAC,QAAA,EAAK,WAAWU,EAAQ,aAAa,OAAO,WAAW9B,EAAgB,WAAW,IAC/E,UAAAA,EAAgB,cAAc,KAClC;AAAA,QAEH,gBAAAoB;AAAA,UAACY;AAAA,UAAA;AAAA,YACE,UAAAlC;AAAA,YACA,YAAYS;AAAA,YACZ,UAAU,CAAC0B,MAAQzB,EAAQ,CAACC,KAAkBwB,EAAI,WAAW,GAAG,IAAIA,EAAI,MAAM,CAAC,IAAIA,CAAG;AAAA,YACtF,aAAaxB,IAAiB,oBAAoBC,IAAgB,cAAc;AAAA,YAChF,MAAM;AAAA,YACN,UAAU,CAACZ,KAAYW;AAAA,YACvB,OAAQ,CAACX,KAAYW,KAAkB,CAACF,IAAO,aAAa;AAAA,UAAA;AAAA,QAAA;AAAA,SAE9DP,KAAA,gBAAAA,EAAiB,SAAQ,CAACF,KAAYE,EAAgB,SAAS,WAC7D,gBAAAoB;AAAA,UAAC;AAAA,UAAA;AAAA,YACE,WAAWU,EAAQ;AAAA,YACnB,mBAAgB;AAAA,YAChB,wBAAqB;AAAA,YACrB,sBAAmB;AAAA,YACnB,SAAS,MAAM1B,EAAoB,EAAI;AAAA,YAEvC,UAAA,gBAAAgB,EAACc,GAAA,EAAK,MAAK,WAAU,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAClC,EAAA,CAEN;AAAA,IAAA,EAAA,CACH,EAAA,CACH;AAAA,IACC/B,KAAoB,CAACL,KACnB,gBAAAsB;AAAA,MAACe;AAAA,MAAA;AAAA,QACE,UAAUpC,KAAY;AAAA,QACtB,OAAM;AAAA,QACN,UAAUQ;AAAA,QACV,OAAO,MAAMH,EAAoB,EAAK;AAAA,QACtC,UAAU,CAACgC,MAAW5B,EAAQ4B,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,IAGzC/B,KAAuB,gBAAAe,EAACiB,GAAA,EAAW,OAAO,MAAM/B,EAAuB,EAAK,EAAA,CAAG;AAAA,EAAA,GACnF;AAEN;"}
|
|
@@ -5,9 +5,10 @@ type TagsInputProps = {
|
|
|
5
5
|
icon?: string;
|
|
6
6
|
type?: string;
|
|
7
7
|
inline?: boolean;
|
|
8
|
+
hint?: string;
|
|
8
9
|
fieldValue: string[];
|
|
9
10
|
onUpdate: (f: string[]) => void;
|
|
10
11
|
};
|
|
11
|
-
declare const TagsInput: ({ label, description, customClasses, fieldValue, onUpdate, icon, type, inline }: TagsInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare const TagsInput: ({ label, description, customClasses, hint, fieldValue, onUpdate, icon, type, inline }: TagsInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
13
|
export default TagsInput;
|
|
13
14
|
//# sourceMappingURL=TagsInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/TagsInput/TagsInput.tsx"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"TagsInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/common/form/TagsInput/TagsInput.tsx"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAI,uFAA8G,cAAc,4CAgE9I,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as r, jsxs as p } from "react/jsx-runtime";
|
|
2
|
-
import { useState as d, useEffect as
|
|
2
|
+
import { useState as d, useEffect as N } from "react";
|
|
3
3
|
import n from "./TagsInput.module.scss.js";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
const
|
|
4
|
+
import D from "../../Icon/Icon.js";
|
|
5
|
+
import F from "../FormField/FormField.js";
|
|
6
|
+
const K = ({ label: u, description: h, customClasses: f = "", hint: v = "", fieldValue: a = [], onUpdate: c, icon: y, type: i = "tag", inline: T }) => {
|
|
7
7
|
const [s, o] = d(() => Array.isArray(a) ? a : []), [l, g] = d("");
|
|
8
|
-
|
|
8
|
+
N(() => {
|
|
9
9
|
Array.isArray(a) && o(a);
|
|
10
10
|
}, [a]);
|
|
11
11
|
const m = (t) => {
|
|
@@ -13,39 +13,39 @@ const E = ({ label: u, description: h, customClasses: f = "", fieldValue: a = []
|
|
|
13
13
|
const e = [...s, t];
|
|
14
14
|
o(e), g(""), c(e);
|
|
15
15
|
}
|
|
16
|
-
}, T = (t) => {
|
|
17
|
-
const e = s.filter((w) => t !== w);
|
|
18
|
-
o(e), c(e);
|
|
19
16
|
}, x = (t) => {
|
|
17
|
+
const e = s.filter((A) => t !== A);
|
|
18
|
+
o(e), c(e);
|
|
19
|
+
}, $ = (t) => {
|
|
20
20
|
if (t.target.value.includes(",")) {
|
|
21
21
|
const e = t.target.value.replace(",", "");
|
|
22
22
|
m(e);
|
|
23
23
|
} else
|
|
24
24
|
g(t.target.value);
|
|
25
|
-
},
|
|
25
|
+
}, w = (t) => {
|
|
26
26
|
t.key === "Enter" && (t.preventDefault(), m(l));
|
|
27
27
|
};
|
|
28
|
-
return /* @__PURE__ */ r(
|
|
28
|
+
return /* @__PURE__ */ r(F, { type: "tags", label: u, hint: v, description: h, inline: T, classes: `${n.tagField} ${f}`, children: /* @__PURE__ */ p("div", { className: n.tagBox, children: [
|
|
29
29
|
s.map((t, e) => /* @__PURE__ */ p("div", { className: n.tag, children: [
|
|
30
|
-
/* @__PURE__ */ r(
|
|
30
|
+
/* @__PURE__ */ r(D, { size: 13, type: y || "tags" }),
|
|
31
31
|
" ",
|
|
32
32
|
t,
|
|
33
33
|
" ",
|
|
34
|
-
/* @__PURE__ */ r("i", { title: "Remove", onClick: () =>
|
|
34
|
+
/* @__PURE__ */ r("i", { title: "Remove", onClick: () => x(t), children: "✖" })
|
|
35
35
|
] }, t + e)),
|
|
36
36
|
/* @__PURE__ */ r("div", { className: n.textInput, children: /* @__PURE__ */ r(
|
|
37
37
|
"input",
|
|
38
38
|
{
|
|
39
39
|
type: "text",
|
|
40
40
|
value: l,
|
|
41
|
-
onChange: (t) =>
|
|
42
|
-
onKeyDown:
|
|
41
|
+
onChange: (t) => $(t),
|
|
42
|
+
onKeyDown: w,
|
|
43
43
|
placeholder: `${i}${s.length + 1}, ${i}${s.length + 2}`
|
|
44
44
|
}
|
|
45
45
|
) })
|
|
46
46
|
] }) });
|
|
47
47
|
};
|
|
48
48
|
export {
|
|
49
|
-
|
|
49
|
+
K as default
|
|
50
50
|
};
|
|
51
51
|
//# sourceMappingURL=TagsInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.js","sources":["../../../../../src/components/common/form/TagsInput/TagsInput.tsx"],"sourcesContent":["import { ChangeEvent, KeyboardEvent, useEffect, useState } from 'react';\r\nimport classes from './TagsInput.module.scss';\r\nimport Icon from '../../Icon/Icon';\r\nimport FormField from '../FormField/FormField';\r\n\r\ntype TagsInputProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n icon?: string;\r\n type?: string;\r\n inline?: boolean;\r\n fieldValue: string[];\r\n onUpdate: (f: string[]) => void;\r\n};\r\n\r\nconst TagsInput = ({ label, description, customClasses = '', fieldValue = [], onUpdate, icon, type = 'tag', inline }: TagsInputProps) => {\r\n const [tags, setTags] = useState<string[]>(() => (Array.isArray(fieldValue) ? fieldValue : []));\r\n const [newTag, setNewTag] = useState('');\r\n\r\n useEffect(() => {\r\n if (Array.isArray(fieldValue)) {\r\n setTags(fieldValue);\r\n }\r\n }, [fieldValue]);\r\n\r\n const addTag = (tag: string) => {\r\n if (tag.length > 1) {\r\n const updated = [...tags, tag];\r\n setTags(updated);\r\n setNewTag('');\r\n onUpdate(updated);\r\n }\r\n };\r\n\r\n const removeTag = (t: string) => {\r\n const updatedTags = tags.filter((tag) => t !== tag);\r\n setTags(updatedTags);\r\n onUpdate(updatedTags);\r\n };\r\n\r\n const updateTag = (e: ChangeEvent<HTMLInputElement>) => {\r\n if (e.target.value.includes(',')) {\r\n const tagValue = e.target.value.replace(',', '');\r\n addTag(tagValue);\r\n } else {\r\n setNewTag(e.target.value);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n addTag(newTag);\r\n }\r\n };\r\n\r\n return (\r\n <FormField type={'tags'} label={label} description={description} inline={inline} classes={`${classes.tagField} ${customClasses}`}>\r\n <div className={classes.tagBox}>\r\n {tags.map((t, i) => (\r\n <div className={classes.tag} key={t + i}>\r\n <Icon size={13} type={icon || 'tags'} /> {t}{' '}\r\n <i title=\"Remove\" onClick={() => removeTag(t)}>\r\n ✖\r\n </i>\r\n </div>\r\n ))}\r\n <div className={classes.textInput}>\r\n <input\r\n type=\"text\"\r\n value={newTag}\r\n onChange={(e) => updateTag(e)}\r\n onKeyDown={handleKeyDown}\r\n placeholder={`${type}${tags.length + 1}, ${type}${tags.length + 2}`}\r\n />\r\n </div>\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default TagsInput;\r\n"],"names":["TagsInput","label","description","customClasses","fieldValue","onUpdate","icon","type","inline","tags","setTags","useState","newTag","setNewTag","useEffect","addTag","tag","updated","removeTag","updatedTags","updateTag","e","tagValue","handleKeyDown","FormField","classes","i","jsx","Icon"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"TagsInput.js","sources":["../../../../../src/components/common/form/TagsInput/TagsInput.tsx"],"sourcesContent":["import { ChangeEvent, KeyboardEvent, useEffect, useState } from 'react';\r\nimport classes from './TagsInput.module.scss';\r\nimport Icon from '../../Icon/Icon';\r\nimport FormField from '../FormField/FormField';\r\n\r\ntype TagsInputProps = {\r\n label?: string;\r\n description?: string;\r\n customClasses?: string;\r\n icon?: string;\r\n type?: string;\r\n inline?: boolean;\r\n hint?: string;\r\n fieldValue: string[];\r\n onUpdate: (f: string[]) => void;\r\n};\r\n\r\nconst TagsInput = ({ label, description, customClasses = '', hint = '', fieldValue = [], onUpdate, icon, type = 'tag', inline }: TagsInputProps) => {\r\n const [tags, setTags] = useState<string[]>(() => (Array.isArray(fieldValue) ? fieldValue : []));\r\n const [newTag, setNewTag] = useState('');\r\n\r\n useEffect(() => {\r\n if (Array.isArray(fieldValue)) {\r\n setTags(fieldValue);\r\n }\r\n }, [fieldValue]);\r\n\r\n const addTag = (tag: string) => {\r\n if (tag.length > 1) {\r\n const updated = [...tags, tag];\r\n setTags(updated);\r\n setNewTag('');\r\n onUpdate(updated);\r\n }\r\n };\r\n\r\n const removeTag = (t: string) => {\r\n const updatedTags = tags.filter((tag) => t !== tag);\r\n setTags(updatedTags);\r\n onUpdate(updatedTags);\r\n };\r\n\r\n const updateTag = (e: ChangeEvent<HTMLInputElement>) => {\r\n if (e.target.value.includes(',')) {\r\n const tagValue = e.target.value.replace(',', '');\r\n addTag(tagValue);\r\n } else {\r\n setNewTag(e.target.value);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n addTag(newTag);\r\n }\r\n };\r\n\r\n return (\r\n <FormField type={'tags'} label={label} hint={hint} description={description} inline={inline} classes={`${classes.tagField} ${customClasses}`}>\r\n <div className={classes.tagBox}>\r\n {tags.map((t, i) => (\r\n <div className={classes.tag} key={t + i}>\r\n <Icon size={13} type={icon || 'tags'} /> {t}{' '}\r\n <i title=\"Remove\" onClick={() => removeTag(t)}>\r\n ✖\r\n </i>\r\n </div>\r\n ))}\r\n <div className={classes.textInput}>\r\n <input\r\n type=\"text\"\r\n value={newTag}\r\n onChange={(e) => updateTag(e)}\r\n onKeyDown={handleKeyDown}\r\n placeholder={`${type}${tags.length + 1}, ${type}${tags.length + 2}`}\r\n />\r\n </div>\r\n </div>\r\n </FormField>\r\n );\r\n};\r\n\r\nexport default TagsInput;\r\n"],"names":["TagsInput","label","description","customClasses","hint","fieldValue","onUpdate","icon","type","inline","tags","setTags","useState","newTag","setNewTag","useEffect","addTag","tag","updated","removeTag","updatedTags","updateTag","e","tagValue","handleKeyDown","FormField","classes","i","jsx","Icon"],"mappings":";;;;;AAiBA,MAAMA,IAAY,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,eAAAC,IAAgB,IAAI,MAAAC,IAAO,IAAI,YAAAC,IAAa,CAAA,GAAI,UAAAC,GAAU,MAAAC,GAAM,MAAAC,IAAO,OAAO,QAAAC,QAA6B;AACjJ,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAmB,MAAO,MAAM,QAAQP,CAAU,IAAIA,IAAa,EAAG,GACxF,CAACQ,GAAQC,CAAS,IAAIF,EAAS,EAAE;AAEvC,EAAAG,EAAU,MAAM;AACb,IAAI,MAAM,QAAQV,CAAU,KACzBM,EAAQN,CAAU;AAAA,EAExB,GAAG,CAACA,CAAU,CAAC;AAEf,QAAMW,IAAS,CAACC,MAAgB;AAC7B,QAAIA,EAAI,SAAS,GAAG;AACjB,YAAMC,IAAU,CAAC,GAAGR,GAAMO,CAAG;AAC7B,MAAAN,EAAQO,CAAO,GACfJ,EAAU,EAAE,GACZR,EAASY,CAAO;AAAA,IACnB;AAAA,EACH,GAEMC,IAAY,CAAC,MAAc;AAC9B,UAAMC,IAAcV,EAAK,OAAO,CAACO,MAAQ,MAAMA,CAAG;AAClD,IAAAN,EAAQS,CAAW,GACnBd,EAASc,CAAW;AAAA,EACvB,GAEMC,IAAY,CAACC,MAAqC;AACrD,QAAIA,EAAE,OAAO,MAAM,SAAS,GAAG,GAAG;AAC/B,YAAMC,IAAWD,EAAE,OAAO,MAAM,QAAQ,KAAK,EAAE;AAC/C,MAAAN,EAAOO,CAAQ;AAAA,IAClB;AACG,MAAAT,EAAUQ,EAAE,OAAO,KAAK;AAAA,EAE9B,GAEME,IAAgB,CAACF,MAAuC;AAC3D,IAAIA,EAAE,QAAQ,YACXA,EAAE,eAAA,GACFN,EAAOH,CAAM;AAAA,EAEnB;AAEA,2BACIY,GAAA,EAAU,MAAM,QAAQ,OAAAxB,GAAc,MAAAG,GAAY,aAAAF,GAA0B,QAAAO,GAAgB,SAAS,GAAGiB,EAAQ,QAAQ,IAAIvB,CAAa,IACvI,4BAAC,OAAA,EAAI,WAAWuB,EAAQ,QACpB,UAAA;AAAA,IAAAhB,EAAK,IAAI,CAAC,GAAGiB,wBACV,OAAA,EAAI,WAAWD,EAAQ,KACrB,UAAA;AAAA,MAAA,gBAAAE,EAACC,GAAA,EAAK,MAAM,IAAI,MAAMtB,KAAQ,QAAQ;AAAA,MAAE;AAAA,MAAE;AAAA,MAAG;AAAA,MAC7C,gBAAAqB,EAAC,OAAE,OAAM,UAAS,SAAS,MAAMT,EAAU,CAAC,GAAG,UAAA,IAAA,CAE/C;AAAA,IAAA,KAJ+B,IAAIQ,CAKtC,CACF;AAAA,IACD,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAQ,WACrB,UAAA,gBAAAE;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,MAAK;AAAA,QACL,OAAOf;AAAA,QACP,UAAU,CAACS,MAAMD,EAAUC,CAAC;AAAA,QAC5B,WAAWE;AAAA,QACX,aAAa,GAAGhB,CAAI,GAAGE,EAAK,SAAS,CAAC,KAAKF,CAAI,GAAGE,EAAK,SAAS,CAAC;AAAA,MAAA;AAAA,IAAA,EACpE,CACH;AAAA,EAAA,EAAA,CACH,EAAA,CACH;AAEN;"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
const e = "
|
|
1
|
+
const e = "_fieldLabel_ULrhm", t = "_description_rw8mf", i = "_timePickerField_4fodp", c = "_fieldInner_UTZUY", m = "_currentTime_dReP3", n = "_dropBtn_Moh49", s = "_timeSelect_d41Qr", r = "_times_BcmYs", _ = "_timeInput_hMH0v", o = "_ampm_HZ5i5", d = "_ampmActive_7Wbcf", l = {
|
|
2
2
|
fieldLabel: e,
|
|
3
3
|
description: t,
|
|
4
4
|
timePickerField: i,
|
|
5
|
-
fieldInner:
|
|
6
|
-
currentTime:
|
|
7
|
-
dropBtn:
|
|
5
|
+
fieldInner: c,
|
|
6
|
+
currentTime: m,
|
|
7
|
+
dropBtn: n,
|
|
8
8
|
timeSelect: s,
|
|
9
|
-
times:
|
|
10
|
-
timeInput:
|
|
11
|
-
ampm:
|
|
9
|
+
times: r,
|
|
10
|
+
timeInput: _,
|
|
11
|
+
ampm: o,
|
|
12
12
|
ampmActive: d
|
|
13
13
|
};
|
|
14
14
|
export {
|
|
15
|
-
|
|
15
|
+
o as ampm,
|
|
16
16
|
d as ampmActive,
|
|
17
|
-
|
|
17
|
+
m as currentTime,
|
|
18
18
|
l as default,
|
|
19
19
|
t as description,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
n as dropBtn,
|
|
21
|
+
c as fieldInner,
|
|
22
22
|
e as fieldLabel,
|
|
23
|
-
|
|
23
|
+
_ as timeInput,
|
|
24
24
|
i as timePickerField,
|
|
25
25
|
s as timeSelect,
|
|
26
|
-
|
|
26
|
+
r as times
|
|
27
27
|
};
|
|
28
28
|
//# sourceMappingURL=TimePicker.module.scss.js.map
|