linear-react-components-ui 1.1.26-beta.16 → 1.1.26-beta.17
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/lib/alerts/index.d.ts +3 -3
- package/lib/alerts/index.js +2 -1
- package/lib/buttons/DefaultButton.js +1 -1
- package/lib/buttons/index.d.ts +1 -1
- package/lib/buttons/index.js +1 -0
- package/lib/calendar/base/helpers.js +27 -84
- package/lib/calendar/base/helpers.js.map +1 -1
- package/lib/calendar/base/index.js +29 -33
- package/lib/calendar/base/index.js.map +1 -1
- package/lib/checkbox/index.js +31 -44
- package/lib/checkbox/index.js.map +1 -1
- package/lib/dialog/Alert.js +10 -12
- package/lib/dialog/Alert.js.map +1 -1
- package/lib/dialog/Custom.js +2 -3
- package/lib/dialog/Custom.js.map +1 -1
- package/lib/dialog/Error.js +9 -11
- package/lib/dialog/Error.js.map +1 -1
- package/lib/dialog/Information.js +8 -10
- package/lib/dialog/Information.js.map +1 -1
- package/lib/dialog/Question.js +4 -4
- package/lib/dialog/Warning.js +11 -13
- package/lib/dialog/Warning.js.map +1 -1
- package/lib/dialog/base/index.d.ts +4 -0
- package/lib/dialog/base/index.js +78 -72
- package/lib/dialog/base/index.js.map +1 -1
- package/lib/dialog/form/index.js +3 -7
- package/lib/dialog/form/index.js.map +1 -1
- package/lib/drawer/Drawer.js +4 -5
- package/lib/drawer/Drawer.js.map +1 -1
- package/lib/dropdown/Popup.js.map +1 -1
- package/lib/dropdown/index.d.ts +3 -0
- package/lib/dropdown/index.js +6 -0
- package/lib/dropdown/index.js.map +1 -0
- package/lib/dropdown/withDropdown.js +1 -1
- package/lib/fieldset/index.js +17 -18
- package/lib/fieldset/index.js.map +1 -1
- package/lib/form/FieldArray.js +18 -20
- package/lib/form/FieldArray.js.map +1 -1
- package/lib/form/helpers.js +16 -17
- package/lib/form/helpers.js.map +1 -1
- package/lib/form/index.js +46 -52
- package/lib/form/index.js.map +1 -1
- package/lib/index.js +20 -23
- package/lib/index.js.map +1 -1
- package/lib/inputs/base/InputTextBase.js +1 -1
- package/lib/inputs/color/index.js +22 -25
- package/lib/inputs/color/index.js.map +1 -1
- package/lib/inputs/date/index.js +15 -19
- package/lib/inputs/date/index.js.map +1 -1
- package/lib/inputs/file/DefaultFile.js +1 -1
- package/lib/inputs/file/DragDropFile.js +3 -4
- package/lib/inputs/file/DragDropFile.js.map +1 -1
- package/lib/inputs/file/File.js +9 -11
- package/lib/inputs/file/File.js.map +1 -1
- package/lib/inputs/file/FileButtonSettings.js +1 -1
- package/lib/inputs/index.d.ts +14 -0
- package/lib/inputs/index.js +40 -0
- package/lib/inputs/index.js.map +1 -0
- package/lib/inputs/inputHOC.js +0 -1
- package/lib/inputs/inputHOC.js.map +1 -1
- package/lib/inputs/multiSelect/ActionButtons.js +16 -19
- package/lib/inputs/multiSelect/ActionButtons.js.map +1 -1
- package/lib/inputs/number/format_number.js +6 -7
- package/lib/inputs/number/format_number.js.map +1 -1
- package/lib/inputs/period/helper.js +19 -27
- package/lib/inputs/period/helper.js.map +1 -1
- package/lib/inputs/period/index.js +4 -5
- package/lib/inputs/period/index.js.map +1 -1
- package/lib/inputs/search/index.js +1 -1
- package/lib/inputs/select/helper.js +22 -23
- package/lib/inputs/select/helper.js.map +1 -1
- package/lib/inputs/select/index.js +7 -8
- package/lib/inputs/select/index.js.map +1 -1
- package/lib/inputs2/checkboxfield/index.js +1 -2
- package/lib/inputs2/checkboxfield/index.js.map +1 -1
- package/lib/inputs2/colorfield/index.js +1 -4
- package/lib/inputs2/colorfield/index.js.map +1 -1
- package/lib/inputs2/date/datefield/calendarbox.js +1 -4
- package/lib/inputs2/date/datefield/calendarbox.js.map +1 -1
- package/lib/inputs2/date/datefield/index.js +0 -1
- package/lib/inputs2/date/datefield/index.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/calendarbox.js +16 -19
- package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/index.js +0 -1
- package/lib/inputs2/date/dateperiodfield/index.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/triggers.js +14 -18
- package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
- package/lib/inputs2/date/helpers.js +19 -30
- package/lib/inputs2/date/helpers.js.map +1 -1
- package/lib/inputs2/filefield/index.js +17 -20
- package/lib/inputs2/filefield/index.js.map +1 -1
- package/lib/inputs2/index.js +18 -18
- package/lib/inputs2/numberfield/currency.js +6 -11
- package/lib/inputs2/numberfield/currency.js.map +1 -1
- package/lib/inputs2/numberfield/decimal.js +9 -14
- package/lib/inputs2/numberfield/decimal.js.map +1 -1
- package/lib/inputs2/numberfield/index.js +12 -17
- package/lib/inputs2/numberfield/index.js.map +1 -1
- package/lib/inputs2/radiofield/index.js +1 -2
- package/lib/inputs2/radiofield/index.js.map +1 -1
- package/lib/inputs2/selectfield/index.js +4 -5
- package/lib/inputs2/selectfield/index.js.map +1 -1
- package/lib/inputs2/textareafield/index.js +4 -5
- package/lib/inputs2/textareafield/index.js.map +1 -1
- package/lib/inputs2/textfield/index.js +4 -5
- package/lib/inputs2/textfield/index.js.map +1 -1
- package/lib/internals/constants.js +3 -4
- package/lib/internals/constants.js.map +1 -1
- package/lib/labels/DefaultLabel.js +1 -1
- package/lib/labels/index.d.ts +1 -1
- package/lib/labels/index.js +5 -4
- package/lib/list/helpers.js +4 -6
- package/lib/list/helpers.js.map +1 -1
- package/lib/menus/float/index.js +1 -1
- package/lib/menus/sidenav/NavMenuItem.js +1 -1
- package/lib/menus/sidenav/NavSubMenuItem.js +1 -1
- package/lib/panel/Default.js +14 -15
- package/lib/panel/Default.js.map +1 -1
- package/lib/popover/index.js +1 -1
- package/lib/radio/index.js +1 -1
- package/lib/skeleton/index.js +13 -14
- package/lib/skeleton/index.js.map +1 -1
- package/lib/spinner/index.d.ts +2 -0
- package/lib/spinner/index.js +1 -0
- package/lib/spinner/index.js.map +1 -1
- package/lib/table/Body.js +23 -26
- package/lib/table/Body.js.map +1 -1
- package/lib/tabs/DropdownTabs.js +31 -40
- package/lib/tabs/DropdownTabs.js.map +1 -1
- package/lib/tabs/MenuTabs.js +16 -19
- package/lib/tabs/MenuTabs.js.map +1 -1
- package/lib/tabs/context.js +3 -3
- package/lib/treetable/Body.js +18 -24
- package/lib/treetable/Body.js.map +1 -1
- package/lib/treetable/Header.js +9 -12
- package/lib/treetable/Header.js.map +1 -1
- package/lib/treetable/Row.js +37 -40
- package/lib/treetable/Row.js.map +1 -1
- package/lib/uitour/index.js +3 -5
- package/lib/uitour/index.js.map +1 -1
- package/package.json +277 -34
- package/lib/buttons/ButtonGroups.js +0 -13
- package/lib/buttons/ButtonGroups.js.map +0 -1
- package/lib/dropdown/helper.js +0 -9
- package/lib/dropdown/helper.js.map +0 -1
- package/lib/panel/ToolBar.js +0 -20
- package/lib/panel/ToolBar.js.map +0 -1
package/lib/form/index.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
import { jsxs as mr, jsx as w } from "react/jsx-runtime";
|
|
2
2
|
import { useState as m, useContext as pr, useRef as j, useCallback as C, useEffect as E, Fragment as gr } from "react";
|
|
3
|
-
import
|
|
3
|
+
import n from "../_virtual/lodash.js";
|
|
4
4
|
import { changeValue as M, FormContext as Er } from "./helpers.js";
|
|
5
|
-
import { default as
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as
|
|
8
|
-
import { default as
|
|
9
|
-
import '../assets/styles/
|
|
5
|
+
import { default as Rr } from "./Field.js";
|
|
6
|
+
import { default as Qr } from "./FieldNumber.js";
|
|
7
|
+
import { default as Dr } from "./FieldArray.js";
|
|
8
|
+
import { default as Ur } from "./FieldPeriod.js";
|
|
9
|
+
import '../assets/styles/form.css';/* empty css */
|
|
10
10
|
import "../dialog/base/index.js";
|
|
11
|
-
import "../_virtual/compiler-runtime.js";
|
|
12
|
-
import "../buttons/DefaultButton.js";
|
|
13
|
-
/* empty css */
|
|
14
|
-
import "react-dom";
|
|
15
|
-
/* empty css */
|
|
16
|
-
/* empty css */
|
|
17
11
|
import Fr from "../dialog/Question.js";
|
|
18
12
|
import { FormSecurityContext as hr } from "./withFormSecurity.js";
|
|
19
13
|
import yr from "../node_modules/uuid/dist/v1.js";
|
|
20
|
-
const
|
|
14
|
+
const Cr = ({
|
|
21
15
|
submitOnPressEnterKey: F = !0,
|
|
22
16
|
dataSource: p,
|
|
23
17
|
securityBeforeUnload: x,
|
|
@@ -39,61 +33,61 @@ const qr = ({
|
|
|
39
33
|
useInternalState: l = !1,
|
|
40
34
|
onValidateErrorsOnTab: b
|
|
41
35
|
}) => {
|
|
42
|
-
const Z = yr(), [v, S] = m(p), [h, K] = m(p), [Q, _] = m(F), [O, N] = m({}), [q, rr] = m(0), [tr, er] = m(!1), f = pr(hr), or = j(null), a = j({}), d = j([]),
|
|
36
|
+
const Z = yr(), [v, S] = m(p), [h, K] = m(p), [Q, _] = m(F), [O, N] = m({}), [q, rr] = m(0), [tr, er] = m(!1), f = pr(hr), or = j(null), a = j({}), d = j([]), i = l ? v : p, D = (r, t) => {
|
|
43
37
|
const e = r instanceof Array ? r : [r];
|
|
44
38
|
let o = [];
|
|
45
|
-
return e.forEach((
|
|
46
|
-
if (typeof
|
|
47
|
-
const c =
|
|
39
|
+
return e.forEach((s) => {
|
|
40
|
+
if (typeof s == "function") {
|
|
41
|
+
const c = s(t);
|
|
48
42
|
c && (o = [...o, c]);
|
|
49
43
|
}
|
|
50
44
|
}), o;
|
|
51
|
-
},
|
|
52
|
-
const e = r ||
|
|
53
|
-
let o =
|
|
54
|
-
return
|
|
55
|
-
const L =
|
|
45
|
+
}, sr = (r, t) => {
|
|
46
|
+
const e = r || i;
|
|
47
|
+
let o = n.pickBy(O, (s, c) => Object.keys(t).includes(c));
|
|
48
|
+
return n.forEach(t, (s, c) => {
|
|
49
|
+
const L = n.get(e, c), dr = D(s, L);
|
|
56
50
|
o = {
|
|
57
51
|
...o,
|
|
58
52
|
[c]: dr
|
|
59
53
|
};
|
|
60
54
|
}), o;
|
|
61
55
|
}, y = (r, t = !0, e = null) => {
|
|
62
|
-
const o =
|
|
63
|
-
return t && er(
|
|
64
|
-
},
|
|
56
|
+
const o = sr(r, e || a.current), s = Object.values(o).every((c) => c.length === 0);
|
|
57
|
+
return t && er(s), s;
|
|
58
|
+
}, nr = C((r) => {
|
|
65
59
|
const {
|
|
66
60
|
target: t
|
|
67
61
|
} = r;
|
|
68
62
|
!l && u ? u((e) => M(e, t)) : S((e) => M(e, t));
|
|
69
|
-
}, []),
|
|
63
|
+
}, []), ir = (r, t, e) => {
|
|
70
64
|
if (e) {
|
|
71
65
|
let o = O;
|
|
72
|
-
const
|
|
73
|
-
|
|
66
|
+
const s = D(e, t);
|
|
67
|
+
s.length === 0 ? o = n.omit(o, r) : o = {
|
|
74
68
|
...o,
|
|
75
|
-
[r]:
|
|
69
|
+
[r]: s
|
|
76
70
|
}, N(o);
|
|
77
71
|
}
|
|
78
72
|
}, P = C((r) => {
|
|
79
|
-
r && (r.preventDefault(), r.stopPropagation()), y(
|
|
80
|
-
}, [
|
|
73
|
+
r && (r.preventDefault(), r.stopPropagation()), y(i) && H(i);
|
|
74
|
+
}, [i]), U = (r, t) => {
|
|
81
75
|
const e = t ? t instanceof Array ? t : [t] : [];
|
|
82
76
|
e.length > 0 ? (r((o) => {
|
|
83
|
-
const
|
|
77
|
+
const s = JSON.parse(JSON.stringify(o));
|
|
84
78
|
return e.forEach((c) => {
|
|
85
|
-
c &&
|
|
86
|
-
}),
|
|
87
|
-
}), N((o) => (e.forEach((
|
|
88
|
-
delete o[
|
|
79
|
+
c && n.set(s, c, n.get(h, c));
|
|
80
|
+
}), s;
|
|
81
|
+
}), N((o) => (e.forEach((s) => {
|
|
82
|
+
delete o[s];
|
|
89
83
|
}), o))) : (r(JSON.parse(JSON.stringify(h))), N({}));
|
|
90
84
|
}, cr = (r) => {
|
|
91
85
|
U(!l && u ? u : S, r);
|
|
92
86
|
}, fr = (r) => {
|
|
93
|
-
const t =
|
|
87
|
+
const t = n.omit(a, r);
|
|
94
88
|
a.current = t;
|
|
95
89
|
}, k = (r) => {
|
|
96
|
-
r.preventDefault(),
|
|
90
|
+
r.preventDefault(), n.isEqual(i, h);
|
|
97
91
|
}, lr = C((r) => {
|
|
98
92
|
if (!r.tabId) return;
|
|
99
93
|
const t = [...d.current].findIndex((e) => e.name === r.name);
|
|
@@ -103,7 +97,7 @@ const qr = ({
|
|
|
103
97
|
} else
|
|
104
98
|
d.current = [...d.current, r];
|
|
105
99
|
if (b) {
|
|
106
|
-
const e =
|
|
100
|
+
const e = n.uniq(n.compact(d.current.map((o) => {
|
|
107
101
|
if (o.hasErrors) return String(o.tabId);
|
|
108
102
|
})));
|
|
109
103
|
b(e);
|
|
@@ -117,13 +111,13 @@ const qr = ({
|
|
|
117
111
|
}
|
|
118
112
|
}), r;
|
|
119
113
|
}, B = () => {
|
|
120
|
-
if (!
|
|
114
|
+
if (!n.isEmpty(f)) {
|
|
121
115
|
const {
|
|
122
116
|
onChangedData: r
|
|
123
117
|
} = f;
|
|
124
|
-
R && !
|
|
118
|
+
R && !n.isEqual(i, R) ? r(!0) : r(!1);
|
|
125
119
|
}
|
|
126
|
-
u && l && u(
|
|
120
|
+
u && l && u(i), g && g(y(i, !0)), V || (W(P), J && J(cr), A && A(() => y(i))), n.isEmpty(i) && K(i);
|
|
127
121
|
};
|
|
128
122
|
E(() => {
|
|
129
123
|
l && B();
|
|
@@ -135,12 +129,12 @@ const qr = ({
|
|
|
135
129
|
!V && F !== Q && _(F);
|
|
136
130
|
}, [F]), E(() => {
|
|
137
131
|
const r = Object.values(a.current).reduce((t, e) => t + (e?.length || 0), 0);
|
|
138
|
-
a.current && g && q !== r && (rr(r), g(y(
|
|
139
|
-
}, [a.current, q, g, JSON.stringify(
|
|
132
|
+
a.current && g && q !== r && (rr(r), g(y(i, !0, a.current)));
|
|
133
|
+
}, [a.current, q, g, JSON.stringify(i)]);
|
|
140
134
|
const ur = {
|
|
141
135
|
skeletonize: X,
|
|
142
|
-
handlerFieldChange:
|
|
143
|
-
handlerFieldValidate:
|
|
136
|
+
handlerFieldChange: nr,
|
|
137
|
+
handlerFieldValidate: ir,
|
|
144
138
|
handleValidationErrorsOnTab: lr,
|
|
145
139
|
handlerStoreValidators: (r, t) => {
|
|
146
140
|
a.current = {
|
|
@@ -157,16 +151,16 @@ const qr = ({
|
|
|
157
151
|
};
|
|
158
152
|
return /* @__PURE__ */ mr(gr, { children: [
|
|
159
153
|
/* @__PURE__ */ w(Er.Provider, { value: ur, children: /* @__PURE__ */ w("form", { id: Z, ref: or, style: z, ...ar(), role: "presentation", className: `form-component ${I}`, children: Y }) }),
|
|
160
|
-
/* @__PURE__ */ w(Fr, { zIndex: "99999999", title: T || "Dados Alterados", text: $ || "Você possui dados alterados, confirma o fechamento?", visible: !
|
|
154
|
+
/* @__PURE__ */ w(Fr, { zIndex: "99999999", title: T || "Dados Alterados", text: $ || "Você possui dados alterados, confirma o fechamento?", visible: !n.isEmpty(f) && f.showQuestion, onConfirmClick: f ? f.onConfirmClick : () => {
|
|
161
155
|
}, onUnconfirmClick: f ? f.onUnconfirmClick : () => {
|
|
162
156
|
} })
|
|
163
157
|
] });
|
|
164
158
|
};
|
|
165
159
|
export {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
160
|
+
Rr as Field,
|
|
161
|
+
Dr as FieldArray,
|
|
162
|
+
Qr as FieldNumber,
|
|
163
|
+
Ur as FieldPeriod,
|
|
164
|
+
Cr as default
|
|
171
165
|
};
|
|
172
166
|
//# sourceMappingURL=index.js.map
|
package/lib/form/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/lib/form/index.tsx"],"sourcesContent":["import { Fragment, useState, useEffect, useContext, useRef, FormEvent, useCallback, KeyboardEvent, Dispatch, SetStateAction } from 'react';\nimport { v1 } from 'uuid';\nimport _ from 'lodash';\nimport { changeValue, FormContext } from './helpers';\nimport Field from './Field';\nimport FieldNumber from './FieldNumber';\nimport FieldArray from './FieldArray';\nimport FieldPeriod from './FieldPeriod';\nimport '../assets/styles/form.scss';\nimport { DialogQuestion } from '../dialog';\nimport { FormSecurityContext } from './withFormSecurity';\nimport { FieldErrors, FieldValidator, FormContextProps, FormProps, OnFielChangeEvent, Validator, type PropsValidateTabErrors } from './types';\n\nconst Form = ({\n submitOnPressEnterKey = true, dataSource, securityBeforeUnload, handlerReset, handlerSubmit,\n handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange,\n onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children,\n useInternalState = false, onValidateErrorsOnTab,\n}: FormProps) => {\n const formId = v1();\n const [data, setData] = useState(dataSource);\n const [originalData, setOriginalData] = useState(dataSource);\n const [submitFormOnEnter, setSubmitFormOnEnter] = useState(submitOnPressEnterKey);\n const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});\n const [oldFieldsValidatorsQuantity, setOldFieldsValidatorsQuantity] = useState(0);\n const [isValid, setIsValid] = useState(false);\n const context = useContext(FormSecurityContext);\n const formRef = useRef<HTMLFormElement | null>(null);\n const fieldsValidators = useRef<FieldValidator>({});\n const tabsWithErrorRef = useRef<PropsValidateTabErrors[]>([]);\n const usedData = useInternalState ? data : dataSource;\n\n const getValidatesErrorMessages = (validators: Validator | Validator[], fieldValue: string) => {\n const validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n let errors: string[] = [];\n validatorsArray.forEach((validator: Validator) => {\n if (typeof validator === 'function') {\n const result = validator(fieldValue);\n if (result) errors = [...errors, result];\n }\n });\n return errors;\n };\n\n const getErrorMessages = (\n currentData: object,\n currentValidators: Validator | Validator[] | FieldValidator,\n ) => {\n const dataValidate = currentData || usedData;\n let currentFieldErrors: FieldErrors = _.pickBy(fieldErrors, (__, fieldName) => {\n const fieldValidatorsNames = Object.keys(currentValidators);\n return fieldValidatorsNames.includes(fieldName);\n }) as FieldErrors;\n _.forEach(currentValidators, (validators, fieldName) => {\n const fieldValue = _.get(dataValidate, fieldName);\n const messages = getValidatesErrorMessages(validators, fieldValue);\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: messages };\n });\n return currentFieldErrors;\n };\n\n const checkIsValid = (\n currentData: object,\n updateState = true,\n currentValidators: Validator | Validator[] | FieldValidator | null = null,\n ): boolean => {\n const currentFieldErrors =\n getErrorMessages(currentData, currentValidators || fieldsValidators.current);\n const isValidNow = Object.values(currentFieldErrors).every(value => value.length === 0);\n if (updateState) setIsValid(isValidNow);\n return isValidNow;\n };\n\n const onFieldChange = useCallback((event: OnFielChangeEvent) => {\n const { target } = event;\n if (!useInternalState && onDataChange) {\n onDataChange((prevState: object) => changeValue(prevState, target));\n } else {\n setData(prevState => changeValue(prevState, target));\n }\n }, []);\n\n const onValidate = (\n fieldName: string,\n fieldValue: string,\n validators: Validator | Validator[],\n ) => {\n if (validators) {\n let currentFieldErrors = fieldErrors;\n const errors = getValidatesErrorMessages(validators, fieldValue);\n if (errors.length === 0) {\n currentFieldErrors = _.omit(currentFieldErrors, fieldName);\n } else {\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: errors };\n }\n setFieldErrors(currentFieldErrors);\n }\n };\n\n const onFormSubmit = useCallback((event?: Event) => {\n if (event) { event.preventDefault(); event.stopPropagation(); }\n if (checkIsValid(usedData)) onSubmit(usedData);\n }, [usedData]);\n\n const onResetField = (\n cb: Dispatch<SetStateAction<object>>,\n fields?: string | string[],\n ) => {\n const fieldsArray = !fields ? [] : (fields instanceof Array ? fields : [fields]);\n if (fieldsArray.length > 0) {\n cb((state: any) => {\n const newState = JSON.parse(JSON.stringify(state));\n fieldsArray.forEach((field) => {\n if (field)\n _.set(newState, field, _.get(originalData, field));\n });\n return newState;\n });\n\n setFieldErrors((state) => {\n fieldsArray.forEach((field) => {\n delete state[field];\n });\n return state;\n });\n } else {\n cb(JSON.parse(JSON.stringify(originalData)));\n setFieldErrors({});\n }\n };\n\n const onReset = (fields?: string | string[]) => {\n if (!useInternalState && onDataChange) {\n onResetField(onDataChange, fields);\n } else {\n onResetField(setData, fields);\n }\n };\n\n const onRemoveFieldValidators = (fieldName: string) => {\n const newFieldsValidators = _.omit(fieldsValidators, fieldName);\n fieldsValidators.current = newFieldsValidators;\n };\n\n const onBeforeUnload = (e: Event) => {\n const event = e as Event;\n event.preventDefault();\n if (_.isEqual(usedData, originalData)) return;\n };\n\n const onValidateTabErrors = useCallback((props: PropsValidateTabErrors) => {\n if (!props.tabId) return;\n\n const tabIndex = [...tabsWithErrorRef.current].findIndex(tab => tab.name === props.name);\n\n if (tabIndex !== -1) {\n const novasTabs = [...tabsWithErrorRef.current];\n novasTabs[tabIndex] = props;\n tabsWithErrorRef.current = [...novasTabs];\n } else {\n tabsWithErrorRef.current = [...tabsWithErrorRef.current, props];\n }\n\n if (onValidateErrorsOnTab) {\n const tabIdsWithErrors = _.uniq(\n _.compact(\n tabsWithErrorRef.current.map((tab) => {\n if (tab.hasErrors) return String(tab.tabId);\n }),\n ),\n );\n onValidateErrorsOnTab(tabIdsWithErrors);\n }\n }, [onValidateErrorsOnTab]);\n\n const formProps = () => {\n let propsForm = null;\n\n if (!disabled) {\n propsForm = {\n onSubmit: (event: FormEvent<HTMLFormElement>) => event.preventDefault(),\n onKeyPress: (event: KeyboardEvent<HTMLFormElement>) => {\n if (event && event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n if (submitFormOnEnter) onFormSubmit();\n }\n },\n };\n }\n return propsForm;\n };\n\n const updateFormState = () => {\n if (!_.isEmpty(context)) {\n const { onChangedData } = context;\n if (securityData && !_.isEqual(usedData, securityData)) {\n onChangedData(true);\n } else {\n onChangedData(false);\n }\n }\n\n if (onDataChange && useInternalState) onDataChange(usedData);\n\n // TODO - Usar debounce para evitar chamada a cada letra digitada\n if (onValidateForm) {\n onValidateForm(checkIsValid(usedData, true));\n }\n\n if (!disabled) {\n handlerSubmit(onFormSubmit);\n if (handlerReset) handlerReset(onReset);\n if (handlerValidates) handlerValidates(() => checkIsValid(usedData));\n }\n if (_.isEmpty(usedData)) setOriginalData(usedData);\n };\n\n useEffect(() => {\n if (useInternalState) updateFormState();\n }, [JSON.stringify(data), useInternalState]);\n\n useEffect(() => {\n if (!useInternalState && onDataChange) updateFormState();\n }, [JSON.stringify(dataSource), useInternalState]);\n\n useEffect(() => {\n if (securityBeforeUnload) {\n if (Object.entries(context).length) context.setSecurityBeforeUnload(true);\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n if (securityBeforeUnload && Object.entries(context).length) \n context.setSecurityBeforeUnload(false);\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload, onBeforeUnload]);\n\n useEffect(() => {\n if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {\n setSubmitFormOnEnter(submitOnPressEnterKey);\n }\n }, [submitOnPressEnterKey]);\n\n useEffect(() => {\n const validatorsQuantity = Object.values(fieldsValidators.current)\n .reduce((acc, currentValue) => acc + (currentValue?.length || 0), 0);\n\n if (fieldsValidators.current && onValidateForm\n && oldFieldsValidatorsQuantity !== validatorsQuantity) {\n setOldFieldsValidatorsQuantity(validatorsQuantity);\n onValidateForm(checkIsValid(usedData, true, fieldsValidators.current));\n }\n }, [\n fieldsValidators.current, oldFieldsValidatorsQuantity, onValidateForm, JSON.stringify(usedData),\n ]);\n\n const contextValues: FormContextProps = {\n skeletonize,\n handlerFieldChange: onFieldChange,\n handlerFieldValidate: onValidate,\n handleValidationErrorsOnTab: onValidateTabErrors,\n handlerStoreValidators: (fieldName, fieldValidates) => {\n fieldsValidators.current = { ...fieldsValidators.current, [fieldName]: fieldValidates };\n },\n handlerRemoveValidators: onRemoveFieldValidators,\n data: useInternalState ? data : dataSource,\n originalData,\n fieldErrors,\n externalFieldErrors,\n isFormValid: isValid,\n };\n\n return (\n <Fragment>\n <FormContext.Provider value={contextValues}>\n <form\n id={formId}\n ref={formRef}\n style={style}\n {...formProps()}\n role=\"presentation\"\n className={`form-component ${customClass}`}>\n {children}\n </form>\n </FormContext.Provider>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle || 'Dados Alterados'}\n text={securityText || 'Você possui dados alterados, confirma o fechamento?'}\n visible={!_.isEmpty(context) && context.showQuestion}\n onConfirmClick={context ? context.onConfirmClick : () => {}}\n onUnconfirmClick={context ? context.onUnconfirmClick : () => {}} />\n </Fragment>\n );\n};\n\nexport default Form;\nexport {\n Field,\n FieldNumber,\n FieldArray,\n FieldPeriod,\n};\n"],"names":["Form","submitOnPressEnterKey","dataSource","securityBeforeUnload","handlerReset","handlerSubmit","handlerValidates","style","customClass","securityTitle","securityText","securityData","onDataChange","onValidateForm","externalFieldErrors","onSubmit","skeletonize","disabled","children","useInternalState","onValidateErrorsOnTab","formId","v1","data","setData","useState","originalData","setOriginalData","submitFormOnEnter","setSubmitFormOnEnter","fieldErrors","setFieldErrors","oldFieldsValidatorsQuantity","setOldFieldsValidatorsQuantity","isValid","setIsValid","context","useContext","FormSecurityContext","formRef","useRef","fieldsValidators","tabsWithErrorRef","usedData","getValidatesErrorMessages","validators","fieldValue","validatorsArray","Array","errors","forEach","validator","result","getErrorMessages","currentData","currentValidators","dataValidate","currentFieldErrors","_","pickBy","__","fieldName","Object","keys","includes","get","messages","checkIsValid","updateState","current","isValidNow","values","every","value","length","onFieldChange","useCallback","event","target","prevState","changeValue","onValidate","omit","onFormSubmit","preventDefault","stopPropagation","onResetField","cb","fields","fieldsArray","state","newState","JSON","parse","stringify","field","set","onReset","onRemoveFieldValidators","newFieldsValidators","onBeforeUnload","e","isEqual","onValidateTabErrors","props","tabId","tabIndex","findIndex","tab","name","novasTabs","tabIdsWithErrors","uniq","compact","map","hasErrors","String","formProps","propsForm","onKeyPress","key","updateFormState","isEmpty","onChangedData","useEffect","entries","setSecurityBeforeUnload","window","addEventListener","removeEventListener","validatorsQuantity","reduce","acc","currentValue","contextValues","handlerFieldChange","handlerFieldValidate","handleValidationErrorsOnTab","handlerStoreValidators","fieldValidates","handlerRemoveValidators","isFormValid","Fragment","jsx","FormContext","DialogQuestion","showQuestion","onConfirmClick","onUnconfirmClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/lib/form/index.tsx"],"sourcesContent":["import { Fragment, useState, useEffect, useContext, useRef, FormEvent, useCallback, KeyboardEvent, Dispatch, SetStateAction } from 'react';\nimport { v1 } from 'uuid';\nimport _ from 'lodash';\nimport { changeValue, FormContext } from './helpers';\nimport Field from './Field';\nimport FieldNumber from './FieldNumber';\nimport FieldArray from './FieldArray';\nimport FieldPeriod from './FieldPeriod';\nimport '../assets/styles/form.scss';\nimport { DialogQuestion } from '../dialog';\nimport { FormSecurityContext } from './withFormSecurity';\nimport { FieldErrors, FieldValidator, FormContextProps, FormProps, OnFielChangeEvent, Validator, type PropsValidateTabErrors } from './types';\n\nconst Form = ({\n submitOnPressEnterKey = true, dataSource, securityBeforeUnload, handlerReset, handlerSubmit,\n handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange,\n onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children,\n useInternalState = false, onValidateErrorsOnTab,\n}: FormProps) => {\n const formId = v1();\n const [data, setData] = useState(dataSource);\n const [originalData, setOriginalData] = useState(dataSource);\n const [submitFormOnEnter, setSubmitFormOnEnter] = useState(submitOnPressEnterKey);\n const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});\n const [oldFieldsValidatorsQuantity, setOldFieldsValidatorsQuantity] = useState(0);\n const [isValid, setIsValid] = useState(false);\n const context = useContext(FormSecurityContext);\n const formRef = useRef<HTMLFormElement | null>(null);\n const fieldsValidators = useRef<FieldValidator>({});\n const tabsWithErrorRef = useRef<PropsValidateTabErrors[]>([]);\n const usedData = useInternalState ? data : dataSource;\n\n const getValidatesErrorMessages = (validators: Validator | Validator[], fieldValue: string) => {\n const validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n let errors: string[] = [];\n validatorsArray.forEach((validator: Validator) => {\n if (typeof validator === 'function') {\n const result = validator(fieldValue);\n if (result) errors = [...errors, result];\n }\n });\n return errors;\n };\n\n const getErrorMessages = (\n currentData: object,\n currentValidators: Validator | Validator[] | FieldValidator,\n ) => {\n const dataValidate = currentData || usedData;\n let currentFieldErrors: FieldErrors = _.pickBy(fieldErrors, (__, fieldName) => {\n const fieldValidatorsNames = Object.keys(currentValidators);\n return fieldValidatorsNames.includes(fieldName);\n }) as FieldErrors;\n _.forEach(currentValidators, (validators, fieldName) => {\n const fieldValue = _.get(dataValidate, fieldName);\n const messages = getValidatesErrorMessages(validators, fieldValue);\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: messages };\n });\n return currentFieldErrors;\n };\n\n const checkIsValid = (\n currentData: object,\n updateState = true,\n currentValidators: Validator | Validator[] | FieldValidator | null = null,\n ): boolean => {\n const currentFieldErrors =\n getErrorMessages(currentData, currentValidators || fieldsValidators.current);\n const isValidNow = Object.values(currentFieldErrors).every(value => value.length === 0);\n if (updateState) setIsValid(isValidNow);\n return isValidNow;\n };\n\n const onFieldChange = useCallback((event: OnFielChangeEvent) => {\n const { target } = event;\n if (!useInternalState && onDataChange) {\n onDataChange((prevState: object) => changeValue(prevState, target));\n } else {\n setData(prevState => changeValue(prevState, target));\n }\n }, []);\n\n const onValidate = (\n fieldName: string,\n fieldValue: string,\n validators: Validator | Validator[],\n ) => {\n if (validators) {\n let currentFieldErrors = fieldErrors;\n const errors = getValidatesErrorMessages(validators, fieldValue);\n if (errors.length === 0) {\n currentFieldErrors = _.omit(currentFieldErrors, fieldName);\n } else {\n currentFieldErrors = { ...currentFieldErrors, [fieldName]: errors };\n }\n setFieldErrors(currentFieldErrors);\n }\n };\n\n const onFormSubmit = useCallback((event?: Event) => {\n if (event) { event.preventDefault(); event.stopPropagation(); }\n if (checkIsValid(usedData)) onSubmit(usedData);\n }, [usedData]);\n\n const onResetField = (\n cb: Dispatch<SetStateAction<object>>,\n fields?: string | string[],\n ) => {\n const fieldsArray = !fields ? [] : (fields instanceof Array ? fields : [fields]);\n if (fieldsArray.length > 0) {\n cb((state: any) => {\n const newState = JSON.parse(JSON.stringify(state));\n fieldsArray.forEach((field) => {\n if (field)\n _.set(newState, field, _.get(originalData, field));\n });\n return newState;\n });\n\n setFieldErrors((state) => {\n fieldsArray.forEach((field) => {\n delete state[field];\n });\n return state;\n });\n } else {\n cb(JSON.parse(JSON.stringify(originalData)));\n setFieldErrors({});\n }\n };\n\n const onReset = (fields?: string | string[]) => {\n if (!useInternalState && onDataChange) {\n onResetField(onDataChange, fields);\n } else {\n onResetField(setData, fields);\n }\n };\n\n const onRemoveFieldValidators = (fieldName: string) => {\n const newFieldsValidators = _.omit(fieldsValidators, fieldName);\n fieldsValidators.current = newFieldsValidators;\n };\n\n const onBeforeUnload = (e: Event) => {\n const event = e as Event;\n event.preventDefault();\n if (_.isEqual(usedData, originalData)) return;\n };\n\n const onValidateTabErrors = useCallback((props: PropsValidateTabErrors) => {\n if (!props.tabId) return;\n\n const tabIndex = [...tabsWithErrorRef.current].findIndex(tab => tab.name === props.name);\n\n if (tabIndex !== -1) {\n const novasTabs = [...tabsWithErrorRef.current];\n novasTabs[tabIndex] = props;\n tabsWithErrorRef.current = [...novasTabs];\n } else {\n tabsWithErrorRef.current = [...tabsWithErrorRef.current, props];\n }\n\n if (onValidateErrorsOnTab) {\n const tabIdsWithErrors = _.uniq(\n _.compact(\n tabsWithErrorRef.current.map((tab) => {\n if (tab.hasErrors) return String(tab.tabId);\n }),\n ),\n );\n onValidateErrorsOnTab(tabIdsWithErrors);\n }\n }, [onValidateErrorsOnTab]);\n\n const formProps = () => {\n let propsForm = null;\n\n if (!disabled) {\n propsForm = {\n onSubmit: (event: FormEvent<HTMLFormElement>) => event.preventDefault(),\n onKeyPress: (event: KeyboardEvent<HTMLFormElement>) => {\n if (event && event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n if (submitFormOnEnter) onFormSubmit();\n }\n },\n };\n }\n return propsForm;\n };\n\n const updateFormState = () => {\n if (!_.isEmpty(context)) {\n const { onChangedData } = context;\n if (securityData && !_.isEqual(usedData, securityData)) {\n onChangedData(true);\n } else {\n onChangedData(false);\n }\n }\n\n if (onDataChange && useInternalState) onDataChange(usedData);\n\n // TODO - Usar debounce para evitar chamada a cada letra digitada\n if (onValidateForm) {\n onValidateForm(checkIsValid(usedData, true));\n }\n\n if (!disabled) {\n handlerSubmit(onFormSubmit);\n if (handlerReset) handlerReset(onReset);\n if (handlerValidates) handlerValidates(() => checkIsValid(usedData));\n }\n if (_.isEmpty(usedData)) setOriginalData(usedData);\n };\n\n useEffect(() => {\n if (useInternalState) updateFormState();\n }, [JSON.stringify(data), useInternalState]);\n\n useEffect(() => {\n if (!useInternalState && onDataChange) updateFormState();\n }, [JSON.stringify(dataSource), useInternalState]);\n\n useEffect(() => {\n if (securityBeforeUnload) {\n if (Object.entries(context).length) context.setSecurityBeforeUnload(true);\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n if (securityBeforeUnload && Object.entries(context).length) \n context.setSecurityBeforeUnload(false);\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload, onBeforeUnload]);\n\n useEffect(() => {\n if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {\n setSubmitFormOnEnter(submitOnPressEnterKey);\n }\n }, [submitOnPressEnterKey]);\n\n useEffect(() => {\n const validatorsQuantity = Object.values(fieldsValidators.current)\n .reduce((acc, currentValue) => acc + (currentValue?.length || 0), 0);\n\n if (fieldsValidators.current && onValidateForm\n && oldFieldsValidatorsQuantity !== validatorsQuantity) {\n setOldFieldsValidatorsQuantity(validatorsQuantity);\n onValidateForm(checkIsValid(usedData, true, fieldsValidators.current));\n }\n }, [\n fieldsValidators.current, oldFieldsValidatorsQuantity, onValidateForm, JSON.stringify(usedData),\n ]);\n\n const contextValues: FormContextProps = {\n skeletonize,\n handlerFieldChange: onFieldChange,\n handlerFieldValidate: onValidate,\n handleValidationErrorsOnTab: onValidateTabErrors,\n handlerStoreValidators: (fieldName, fieldValidates) => {\n fieldsValidators.current = { ...fieldsValidators.current, [fieldName]: fieldValidates };\n },\n handlerRemoveValidators: onRemoveFieldValidators,\n data: useInternalState ? data : dataSource,\n originalData,\n fieldErrors,\n externalFieldErrors,\n isFormValid: isValid,\n };\n\n return (\n <Fragment>\n <FormContext.Provider value={contextValues}>\n <form\n id={formId}\n ref={formRef}\n style={style}\n {...formProps()}\n role=\"presentation\"\n className={`form-component ${customClass}`}>\n {children}\n </form>\n </FormContext.Provider>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle || 'Dados Alterados'}\n text={securityText || 'Você possui dados alterados, confirma o fechamento?'}\n visible={!_.isEmpty(context) && context.showQuestion}\n onConfirmClick={context ? context.onConfirmClick : () => {}}\n onUnconfirmClick={context ? context.onUnconfirmClick : () => {}} />\n </Fragment>\n );\n};\n\nexport default Form;\nexport {\n Field,\n FieldNumber,\n FieldArray,\n FieldPeriod,\n};\n"],"names":["Form","submitOnPressEnterKey","dataSource","securityBeforeUnload","handlerReset","handlerSubmit","handlerValidates","style","customClass","securityTitle","securityText","securityData","onDataChange","onValidateForm","externalFieldErrors","onSubmit","skeletonize","disabled","children","useInternalState","onValidateErrorsOnTab","formId","v1","data","setData","useState","originalData","setOriginalData","submitFormOnEnter","setSubmitFormOnEnter","fieldErrors","setFieldErrors","oldFieldsValidatorsQuantity","setOldFieldsValidatorsQuantity","isValid","setIsValid","context","useContext","FormSecurityContext","formRef","useRef","fieldsValidators","tabsWithErrorRef","usedData","getValidatesErrorMessages","validators","fieldValue","validatorsArray","Array","errors","forEach","validator","result","getErrorMessages","currentData","currentValidators","dataValidate","currentFieldErrors","_","pickBy","__","fieldName","Object","keys","includes","get","messages","checkIsValid","updateState","current","isValidNow","values","every","value","length","onFieldChange","useCallback","event","target","prevState","changeValue","onValidate","omit","onFormSubmit","preventDefault","stopPropagation","onResetField","cb","fields","fieldsArray","state","newState","JSON","parse","stringify","field","set","onReset","onRemoveFieldValidators","newFieldsValidators","onBeforeUnload","e","isEqual","onValidateTabErrors","props","tabId","tabIndex","findIndex","tab","name","novasTabs","tabIdsWithErrors","uniq","compact","map","hasErrors","String","formProps","propsForm","onKeyPress","key","updateFormState","isEmpty","onChangedData","useEffect","entries","setSecurityBeforeUnload","window","addEventListener","removeEventListener","validatorsQuantity","reduce","acc","currentValue","contextValues","handlerFieldChange","handlerFieldValidate","handleValidationErrorsOnTab","handlerStoreValidators","fieldValidates","handlerRemoveValidators","isFormValid","Fragment","jsx","FormContext","DialogQuestion","showQuestion","onConfirmClick","onUnconfirmClick"],"mappings":";;;;;;;;;;;;;AAaA,MAAMA,KAAOA,CAAC;AAAA,EACZC,uBAAAA,IAAwB;AAAA,EAAMC,YAAAA;AAAAA,EAAYC,sBAAAA;AAAAA,EAAsBC,cAAAA;AAAAA,EAAcC,eAAAA;AAAAA,EAC9EC,kBAAAA;AAAAA,EAAkBC,OAAAA;AAAAA,EAAOC,aAAAA;AAAAA,EAAaC,eAAAA;AAAAA,EAAeC,cAAAA;AAAAA,EAAcC,cAAAA;AAAAA,EAAcC,cAAAA;AAAAA,EACjFC,gBAAAA;AAAAA,EAAgBC,qBAAAA;AAAAA,EAAqBC,UAAAA;AAAAA,EAAUC,aAAAA;AAAAA,EAAaC,UAAAA;AAAAA,EAAUC,UAAAA;AAAAA,EACtEC,kBAAAA,IAAmB;AAAA,EAAOC,uBAAAA;AACjB,MAAM;AACf,QAAMC,IAASC,GAAAA,GACT,CAACC,GAAMC,CAAO,IAAIC,EAASvB,CAAU,GACrC,CAACwB,GAAcC,CAAe,IAAIF,EAASvB,CAAU,GACrD,CAAC0B,GAAmBC,CAAoB,IAAIJ,EAASxB,CAAqB,GAC1E,CAAC6B,GAAaC,CAAc,IAAIN,EAAsB,CAAA,CAAE,GACxD,CAACO,GAA6BC,EAA8B,IAAIR,EAAS,CAAC,GAC1E,CAACS,IAASC,EAAU,IAAIV,EAAS,EAAK,GACtCW,IAAUC,GAAWC,EAAmB,GACxCC,KAAUC,EAA+B,IAAI,GAC7CC,IAAmBD,EAAuB,EAAE,GAC5CE,IAAmBF,EAAiC,EAAE,GACtDG,IAAWxB,IAAmBI,IAAOrB,GAErC0C,IAA4BA,CAACC,GAAqCC,MAAuB;AAC7F,UAAMC,IAAqBF,aAAsBG,QAAyBH,IAAf,CAACA,CAAU;AACtE,QAAII,IAAmB,CAAA;AACvBF,WAAAA,EAAgBG,QAAQ,CAACC,MAAyB;AAChD,UAAI,OAAOA,KAAc,YAAY;AACnC,cAAMC,IAASD,EAAUL,CAAU;AACnC,QAAIM,MAAQH,IAAS,CAAC,GAAGA,GAAQG,CAAM;AAAA,MACzC;AAAA,IACF,CAAC,GACMH;AAAAA,EACT,GAEMI,KAAmBA,CACvBC,GACAC,MACG;AACH,UAAMC,IAAeF,KAAeX;AACpC,QAAIc,IAAkCC,EAAEC,OAAO7B,GAAa,CAAC8B,GAAIC,MAClCC,OAAOC,KAAKR,CAAiB,EAC9BS,SAASH,CAAS,CAC/C;AACDH,WAAAA,EAAER,QAAQK,GAAmB,CAACV,GAAYgB,MAAc;AACtD,YAAMf,IAAaY,EAAEO,IAAIT,GAAcK,CAAS,GAC1CK,KAAWtB,EAA0BC,GAAYC,CAAU;AACjEW,MAAAA,IAAqB;AAAA,QAAE,GAAGA;AAAAA,QAAoB,CAACI,CAAS,GAAGK;AAAAA,MAAAA;AAAAA,IAC7D,CAAC,GACMT;AAAAA,EACT,GAEMU,IAAeA,CACnBb,GACAc,IAAc,IACdb,IAAqE,SACzD;AACZ,UAAME,IACJJ,GAAiBC,GAAaC,KAAqBd,EAAiB4B,OAAO,GACvEC,IAAaR,OAAOS,OAAOd,CAAkB,EAAEe,MAAMC,CAAAA,MAASA,EAAMC,WAAW,CAAC;AACtF,WAAIN,QAAwBE,CAAU,GAC/BA;AAAAA,EACT,GAEMK,KAAgBC,EAAY,CAACC,MAA6B;AAC9D,UAAM;AAAA,MAAEC,QAAAA;AAAAA,IAAAA,IAAWD;AACnB,IAAI,CAAC1D,KAAoBP,IACvBA,EAAa,CAACmE,MAAsBC,EAAYD,GAAWD,CAAM,CAAC,IAElEtD,EAAQuD,CAAAA,MAAaC,EAAYD,GAAWD,CAAM,CAAC;AAAA,EAEvD,GAAG,CAAA,CAAE,GAECG,KAAaA,CACjBpB,GACAf,GACAD,MACG;AACH,QAAIA,GAAY;AACd,UAAIY,IAAqB3B;AACzB,YAAMmB,IAASL,EAA0BC,GAAYC,CAAU;AAC/D,MAAIG,EAAOyB,WAAW,IACpBjB,IAAqBC,EAAEwB,KAAKzB,GAAoBI,CAAS,IAEzDJ,IAAqB;AAAA,QAAE,GAAGA;AAAAA,QAAoB,CAACI,CAAS,GAAGZ;AAAAA,MAAAA,GAE7DlB,EAAe0B,CAAkB;AAAA,IACnC;AAAA,EACF,GAEM0B,IAAeP,EAAY,CAACC,MAAkB;AAClD,IAAIA,MAASA,EAAMO,eAAAA,GAAkBP,EAAMQ,gBAAAA,IACvClB,EAAaxB,CAAQ,KAAG5B,EAAS4B,CAAQ;AAAA,EAC/C,GAAG,CAACA,CAAQ,CAAC,GAEP2C,IAAeA,CACnBC,GACAC,MACG;AACH,UAAMC,IAAeD,IAAeA,aAAkBxC,QAAQwC,IAAS,CAACA,CAAM,IAAhD,CAAA;AAC9B,IAAIC,EAAYf,SAAS,KACvBa,EAAG,CAACG,MAAe;AACjB,YAAMC,IAAWC,KAAKC,MAAMD,KAAKE,UAAUJ,CAAK,CAAC;AACjDD,aAAAA,EAAYvC,QAAS6C,CAAAA,MAAU;AAC7B,QAAIA,OACAC,IAAIL,GAAUI,GAAOrC,EAAEO,IAAIvC,GAAcqE,CAAK,CAAC;AAAA,MACrD,CAAC,GACMJ;AAAAA,IACT,CAAC,GAED5D,EAAgB2D,CAAAA,OACdD,EAAYvC,QAAS6C,CAAAA,MAAU;AAC7B,aAAOL,EAAMK,CAAK;AAAA,IACpB,CAAC,GACML,EACR,MAEDH,EAAGK,KAAKC,MAAMD,KAAKE,UAAUpE,CAAY,CAAC,CAAC,GAC3CK,EAAe,CAAA,CAAE;AAAA,EAErB,GAEMkE,KAAUA,CAACT,MAA+B;AAC9C,IACEF,EADE,CAACnE,KAAoBP,IACVA,IAEAY,GAFcgE,CAAM;AAAA,EAIrC,GAEMU,KAA0BA,CAACrC,MAAsB;AACrD,UAAMsC,IAAsBzC,EAAEwB,KAAKzC,GAAkBoB,CAAS;AAC9DpB,IAAAA,EAAiB4B,UAAU8B;AAAAA,EAC7B,GAEMC,IAAiBA,CAACC,MAAa;AAGnC,IAFcA,EACRjB,eAAAA,GACF1B,EAAE4C,QAAQ3D,GAAUjB,CAAY;AAAA,EACtC,GAEM6E,KAAsB3B,EAAY,CAAC4B,MAAkC;AACzE,QAAI,CAACA,EAAMC,MAAO;AAElB,UAAMC,IAAW,CAAC,GAAGhE,EAAiB2B,OAAO,EAAEsC,UAAUC,CAAAA,MAAOA,EAAIC,SAASL,EAAMK,IAAI;AAEvF,QAAIH,MAAa,IAAI;AACnB,YAAMI,IAAY,CAAC,GAAGpE,EAAiB2B,OAAO;AAC9CyC,MAAAA,EAAUJ,CAAQ,IAAIF,GACtB9D,EAAiB2B,UAAU,CAAC,GAAGyC,CAAS;AAAA,IAC1C;AACEpE,MAAAA,EAAiB2B,UAAU,CAAC,GAAG3B,EAAiB2B,SAASmC,CAAK;AAGhE,QAAIpF,GAAuB;AACzB,YAAM2F,IAAmBrD,EAAEsD,KACzBtD,EAAEuD,QACAvE,EAAiB2B,QAAQ6C,IAAKN,CAAAA,MAAQ;AACpC,YAAIA,EAAIO,UAAW,QAAOC,OAAOR,EAAIH,KAAK;AAAA,MAC5C,CAAC,CACH,CACF;AACArF,MAAAA,EAAsB2F,CAAgB;AAAA,IACxC;AAAA,EACF,GAAG,CAAC3F,CAAqB,CAAC,GAEpBiG,KAAYA,MAAM;AACtB,QAAIC,IAAY;AAEhB,WAAKrG,MACHqG,IAAY;AAAA,MACVvG,UAAUA,CAAC8D,MAAsCA,EAAMO,eAAAA;AAAAA,MACvDmC,YAAYA,CAAC1C,MAA0C;AACrD,QAAIA,KAASA,EAAM2C,QAAQ,YACzB3C,EAAMO,eAAAA,GACNP,EAAMQ,gBAAAA,GACFzD,KAAmBuD,EAAAA;AAAAA,MAE3B;AAAA,IAAA,IAGGmC;AAAAA,EACT,GAEMG,IAAkBA,MAAM;AAC5B,QAAI,CAAC/D,EAAEgE,QAAQtF,CAAO,GAAG;AACvB,YAAM;AAAA,QAAEuF,eAAAA;AAAAA,MAAAA,IAAkBvF;AAC1B,MAAIzB,KAAgB,CAAC+C,EAAE4C,QAAQ3D,GAAUhC,CAAY,IACnDgH,EAAc,EAAI,IAElBA,EAAc,EAAK;AAAA,IAEvB;AAEA,IAAI/G,KAAgBO,KAAkBP,EAAa+B,CAAQ,GAGvD9B,KACFA,EAAesD,EAAaxB,GAAU,EAAI,CAAC,GAGxC1B,MACHZ,EAAc8E,CAAY,GACtB/E,OAA2B6F,EAAO,GAClC3F,KAAkBA,EAAiB,MAAM6D,EAAaxB,CAAQ,CAAC,IAEjEe,EAAEgE,QAAQ/E,CAAQ,OAAmBA,CAAQ;AAAA,EACnD;AAEAiF,EAAAA,EAAU,MAAM;AACd,IAAIzG,KAAkBsG,EAAAA;AAAAA,EACxB,GAAG,CAAC7B,KAAKE,UAAUvE,CAAI,GAAGJ,CAAgB,CAAC,GAE3CyG,EAAU,MAAM;AACd,IAAI,CAACzG,KAAoBP,KAAc6G,EAAAA;AAAAA,EACzC,GAAG,CAAC7B,KAAKE,UAAU5F,CAAU,GAAGiB,CAAgB,CAAC,GAEjDyG,EAAU,OACJzH,MACE2D,OAAO+D,QAAQzF,CAAO,EAAEsC,UAAQtC,EAAQ0F,wBAAwB,EAAI,GACxEC,OAAOC,iBAAiB,gBAAgB5B,CAAc,IAEjD,MAAM;AACX,IAAIjG,KAAwB2D,OAAO+D,QAAQzF,CAAO,EAAEsC,UAClDtC,EAAQ0F,wBAAwB,EAAK,GACvCC,OAAOE,oBAAoB,gBAAgB7B,CAAc;AAAA,EAC3D,IACC,CAACjG,GAAsBiG,CAAc,CAAC,GAEzCwB,EAAU,MAAM;AACd,IAAI,CAAC3G,KAAYhB,MAA0B2B,KACzCC,EAAqB5B,CAAqB;AAAA,EAE9C,GAAG,CAACA,CAAqB,CAAC,GAE1B2H,EAAU,MAAM;AACd,UAAMM,IAAqBpE,OAAOS,OAAO9B,EAAiB4B,OAAO,EAC9D8D,OAAO,CAACC,GAAKC,MAAiBD,KAAOC,GAAc3D,UAAU,IAAI,CAAC;AAErE,IAAIjC,EAAiB4B,WAAWxD,KAC3BmB,MAAgCkG,MACnCjG,GAA+BiG,CAAkB,GACjDrH,EAAesD,EAAaxB,GAAU,IAAMF,EAAiB4B,OAAO,CAAC;AAAA,EAEzE,GAAG,CACD5B,EAAiB4B,SAASrC,GAA6BnB,GAAgB+E,KAAKE,UAAUnD,CAAQ,CAAC,CAChG;AAED,QAAM2F,KAAkC;AAAA,IACtCtH,aAAAA;AAAAA,IACAuH,oBAAoB5D;AAAAA,IACpB6D,sBAAsBvD;AAAAA,IACtBwD,6BAA6BlC;AAAAA,IAC7BmC,wBAAwBA,CAAC7E,GAAW8E,MAAmB;AACrDlG,MAAAA,EAAiB4B,UAAU;AAAA,QAAE,GAAG5B,EAAiB4B;AAAAA,QAAS,CAACR,CAAS,GAAG8E;AAAAA,MAAAA;AAAAA,IACzE;AAAA,IACAC,yBAAyB1C;AAAAA,IACzB3E,MAAMJ,IAAmBI,IAAOrB;AAAAA,IAChCwB,cAAAA;AAAAA,IACAI,aAAAA;AAAAA,IACAhB,qBAAAA;AAAAA,IACA+H,aAAa3G;AAAAA,EAAAA;AAGf,4BACG4G,IAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAY,UAAZ,EAAqB,OAAOV,IAC3B,UAAA,gBAAAS,EAAC,QAAA,EACC,IAAI1H,GACJ,KAAKkB,IACL,OAAAhC,GACA,GAAI8G,MACJ,MAAK,gBACL,WAAW,kBAAkB7G,CAAW,IACvCU,UAAAA,EAAAA,CACH,EAAA,CACF;AAAA,IACA,gBAAA6H,EAACE,MACC,QAAO,YACP,OAAOxI,KAAiB,mBACxB,MAAMC,KAAgB,uDACtB,SAAS,CAACgD,EAAEgE,QAAQtF,CAAO,KAAKA,EAAQ8G,cACxC,gBAAgB9G,IAAUA,EAAQ+G,iBAAiB,MAAM;AAAA,IAAC,GAC1D,kBAAkB/G,IAAUA,EAAQgH,mBAAmB,MAAM;AAAA,IAAC,EAAA,CAAE;AAAA,EAAA,GACpE;AAEJ;"}
|
package/lib/index.js
CHANGED
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
import { default as
|
|
1
|
+
import { default as p } from "./panel/Default.js";
|
|
2
|
+
import './assets/styles/label.css';import './assets/styles/button.css';import './assets/styles/panel.css';/* empty css */
|
|
3
|
+
import { default as d } from "./toolbar/index.js";
|
|
2
4
|
import "react/jsx-runtime";
|
|
3
5
|
import "./_virtual/compiler-runtime.js";
|
|
4
|
-
import "
|
|
5
|
-
|
|
6
|
-
import { default as
|
|
7
|
-
import './assets/styles/label.css';import './assets/styles/panel.css';import './assets/styles/noPermission.css';import './assets/styles/button.css';/* empty css */
|
|
8
|
-
import "./panel/helpers.js";
|
|
9
|
-
/* empty css */
|
|
6
|
+
import { default as u } from "./buttons/Button.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import { default as i } from "./labels/DefaultLabel.js";
|
|
10
9
|
/* empty css */
|
|
11
|
-
import { default as
|
|
12
|
-
import { default as
|
|
13
|
-
|
|
14
|
-
import { default as
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as R } from "./tabs/index.js";
|
|
17
|
-
import { default as j } from "./dialog/base/index.js";
|
|
10
|
+
import { default as n } from "./icons/index.js";
|
|
11
|
+
import { default as T } from "./list/index.js";
|
|
12
|
+
import { default as g } from "./radio/index.js";
|
|
13
|
+
import { default as D } from "./tabs/index.js";
|
|
14
|
+
import { default as P } from "./dialog/base/index.js";
|
|
18
15
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
u as Button,
|
|
17
|
+
P as Dialog,
|
|
18
|
+
n as Icon,
|
|
19
|
+
i as Label,
|
|
20
|
+
T as List,
|
|
21
|
+
p as Panel,
|
|
22
|
+
g as Radio,
|
|
23
|
+
D as Tab,
|
|
24
|
+
d as Toolbar
|
|
28
25
|
};
|
|
29
26
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ import De from "../../_virtual/lodash.js";
|
|
|
4
4
|
import we from "../inputHOC.js";
|
|
5
5
|
import '../../assets/styles/input.css';/* empty css */
|
|
6
6
|
import { getRightElements as Oe, getInputWrapperClass as Fe, getInputClass as Ne } from "./helpers.js";
|
|
7
|
-
import {
|
|
7
|
+
import { actionsOnPermissionDenied as Pe, OPTIONS_ON_DENIED as f } from "../../permissionValidations.js";
|
|
8
8
|
import Re from "../../hint/index.js";
|
|
9
9
|
import { ErrorMessage as We } from "../errorMessage/index.js";
|
|
10
10
|
import H from "../../textContent/index.js";
|
|
@@ -4,13 +4,10 @@ import { useState as B, useRef as F, useEffect as R } from "react";
|
|
|
4
4
|
import T from "../../_virtual/lodash.js";
|
|
5
5
|
import _ from "../text/index.js";
|
|
6
6
|
import P from "../../buttons/Button.js";
|
|
7
|
-
import '../../assets/styles/colorpicker.css';import '../../assets/styles/button.css'
|
|
8
|
-
import "react-dom";
|
|
9
|
-
/* empty css */
|
|
10
|
-
/* empty css */
|
|
7
|
+
import '../../assets/styles/colorpicker.css';import '../../assets/styles/button.css';/* empty css */
|
|
11
8
|
/* empty css */
|
|
12
|
-
const
|
|
13
|
-
const
|
|
9
|
+
const A = (l) => {
|
|
10
|
+
const e = S.c(17), {
|
|
14
11
|
asTextField: y,
|
|
15
12
|
value: E,
|
|
16
13
|
onChange: o,
|
|
@@ -18,44 +15,44 @@ const J = (l) => {
|
|
|
18
15
|
name: a
|
|
19
16
|
} = l, g = y === void 0 ? !0 : y, i = E === void 0 ? "#aaaaaa" : E, [r, v] = B(i), s = F(null);
|
|
20
17
|
let u;
|
|
21
|
-
|
|
18
|
+
e[0] === Symbol.for("react.memo_cache_sentinel") ? (u = T.debounce(V, 300), e[0] = u) : u = e[0];
|
|
22
19
|
const I = u;
|
|
23
20
|
let m;
|
|
24
|
-
|
|
21
|
+
e[1] !== o ? (m = (t) => {
|
|
25
22
|
const {
|
|
26
23
|
target: x
|
|
27
|
-
} =
|
|
28
|
-
v(x.value), o && I(o,
|
|
29
|
-
},
|
|
24
|
+
} = t;
|
|
25
|
+
v(x.value), o && I(o, t);
|
|
26
|
+
}, e[1] = o, e[2] = m) : m = e[2];
|
|
30
27
|
const b = m;
|
|
31
28
|
let f;
|
|
32
|
-
|
|
29
|
+
e[3] !== o ? (f = (t) => {
|
|
33
30
|
const {
|
|
34
31
|
target: x
|
|
35
|
-
} =
|
|
36
|
-
v(x.value), o && (
|
|
37
|
-
},
|
|
32
|
+
} = t;
|
|
33
|
+
v(x.value), o && (t.persist(), I(o, t));
|
|
34
|
+
}, e[3] = o, e[4] = f) : f = e[4];
|
|
38
35
|
const p = f;
|
|
39
36
|
let d;
|
|
40
|
-
|
|
37
|
+
e[5] === Symbol.for("react.memo_cache_sentinel") ? (d = () => {
|
|
41
38
|
s.current && s.current.click();
|
|
42
|
-
},
|
|
39
|
+
}, e[5] = d) : d = e[5];
|
|
43
40
|
const N = d;
|
|
44
41
|
let C, h;
|
|
45
|
-
|
|
42
|
+
e[6] !== i ? (C = () => {
|
|
46
43
|
v(i);
|
|
47
|
-
}, h = [i],
|
|
44
|
+
}, h = [i], e[6] = i, e[7] = C, e[8] = h) : (C = e[7], h = e[8]), R(C, h);
|
|
48
45
|
let k;
|
|
49
|
-
return
|
|
50
|
-
|
|
46
|
+
return e[9] !== g || e[10] !== r || e[11] !== a || e[12] !== n || e[13] !== b || e[14] !== p || e[15] !== l ? (k = g ? /* @__PURE__ */ c(_, { ...l, value: r, onChange: (t) => {
|
|
47
|
+
t && b(t);
|
|
51
48
|
}, leftElements: [/* @__PURE__ */ c("div", { className: "colorpicker-colormirror", style: {
|
|
52
49
|
background: r
|
|
53
|
-
} }, "colorMirror"), /* @__PURE__ */ c("input", { className: "colorpicker-hideinputcolor", ref: s, type: "color", defaultValue: r, name: `${a}-hidden`, onClick: (
|
|
50
|
+
} }, "colorMirror"), /* @__PURE__ */ c("input", { className: "colorpicker-hideinputcolor", ref: s, type: "color", defaultValue: r, name: `${a}-hidden`, onClick: (t) => n ? n(t) : void 0, onInput: p }, "inputColor")], rightElements: /* @__PURE__ */ c(P, { className: "colorpicker-palettebutton", onClick: N, iconName: "pallete", boxShadow: !1 }, "palettebutton") }) : /* @__PURE__ */ c("input", { name: a, ref: s, type: "color", defaultValue: r, onClick: (t) => n ? n(t) : void 0, onInput: p }, "inputColor"), e[9] = g, e[10] = r, e[11] = a, e[12] = n, e[13] = b, e[14] = p, e[15] = l, e[16] = k) : k = e[16], k;
|
|
54
51
|
};
|
|
55
|
-
function V(l,
|
|
56
|
-
l(
|
|
52
|
+
function V(l, e) {
|
|
53
|
+
l(e);
|
|
57
54
|
}
|
|
58
55
|
export {
|
|
59
|
-
|
|
56
|
+
A as default
|
|
60
57
|
};
|
|
61
58
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/inputs/color/index.tsx"],"sourcesContent":["import { useState, useEffect, useRef, MouseEvent, ChangeEvent } from 'react';\nimport _ from 'lodash';\nimport TextField from '../text';\nimport Button from '../../buttons';\nimport '../../assets/styles/colorpicker.scss';\nimport { IColorProps } from './types';\nimport { CustomInputEvent } from '../base/types';\n\nconst ColorPicker = (props: IColorProps) => {\n const {\n asTextField = true,\n value = '#aaaaaa',\n onChange,\n onButtonClick,\n name,\n } = props;\n const [color, setColor] = useState(value);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const debouncedOnChange = _.debounce((func, e) => { func(e); }, 300);\n\n const onInputChange = (e: CustomInputEvent) => {\n const { target } = e;\n setColor(target.value);\n if (onChange) {\n // Nota: A aplicação desta regra é limitada a projetos usando React 16 ou\n // inferior porque o pool de eventos foi removido no React 17. CORRIGIR\n // e.persist();\n debouncedOnChange(onChange, e);\n }\n };\n\n const onInputChangeDefault = (e: ChangeEvent<HTMLInputElement>) => {\n const { target } = e;\n setColor(target.value);\n if (onChange) {\n e.persist();\n debouncedOnChange(onChange, e);\n }\n };\n\n const onPaletteButtonClick = () => {\n if (inputRef.current) inputRef.current.click();\n };\n\n useEffect(() => {\n setColor(value);\n }, [value]);\n\n return (\n asTextField\n ? (\n <TextField\n {...props}\n value={color}\n onChange={(e?: CustomInputEvent) => {\n if (e) onInputChange(e);\n }}\n leftElements={[\n <div key=\"colorMirror\" className=\"colorpicker-colormirror\" style={{ background: color }} />,\n <input\n key=\"inputColor\"\n className=\"colorpicker-hideinputcolor\"\n ref={inputRef}\n type=\"color\"\n defaultValue={color}\n name={`${name}-hidden`}\n onClick={(e: MouseEvent<HTMLInputElement>) => (\n onButtonClick ? onButtonClick(e) : undefined\n )}\n onInput={onInputChangeDefault} />,\n ]}\n rightElements={\n <Button\n className=\"colorpicker-palettebutton\"\n key=\"palettebutton\"\n onClick={onPaletteButtonClick}\n iconName=\"pallete\"\n boxShadow={false} />} />\n )\n : (\n <input\n key=\"inputColor\"\n name={name}\n ref={inputRef}\n type=\"color\"\n defaultValue={color}\n onClick={(e: MouseEvent<HTMLInputElement>) => (\n onButtonClick ? onButtonClick(e) : undefined\n )}\n onInput={onInputChangeDefault} />\n )\n );\n};\n\nexport default ColorPicker;\n"],"names":["ColorPicker","props","$","_c","asTextField","t0","value","t1","onChange","onButtonClick","name","undefined","color","setColor","useState","inputRef","useRef","t2","Symbol","for","_","debounce","_temp","debouncedOnChange","t3","e_0","target","e","onInputChange","t4","e_1","target_0","persist","onInputChangeDefault","t5","current","click","onPaletteButtonClick","t6","t7","useEffect","t8","TextField","e_2","background","jsx","e_3","Button","e_4","func"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/inputs/color/index.tsx"],"sourcesContent":["import { useState, useEffect, useRef, MouseEvent, ChangeEvent } from 'react';\nimport _ from 'lodash';\nimport TextField from '../text';\nimport Button from '../../buttons';\nimport '../../assets/styles/colorpicker.scss';\nimport { IColorProps } from './types';\nimport { CustomInputEvent } from '../base/types';\n\nconst ColorPicker = (props: IColorProps) => {\n const {\n asTextField = true,\n value = '#aaaaaa',\n onChange,\n onButtonClick,\n name,\n } = props;\n const [color, setColor] = useState(value);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const debouncedOnChange = _.debounce((func, e) => { func(e); }, 300);\n\n const onInputChange = (e: CustomInputEvent) => {\n const { target } = e;\n setColor(target.value);\n if (onChange) {\n // Nota: A aplicação desta regra é limitada a projetos usando React 16 ou\n // inferior porque o pool de eventos foi removido no React 17. CORRIGIR\n // e.persist();\n debouncedOnChange(onChange, e);\n }\n };\n\n const onInputChangeDefault = (e: ChangeEvent<HTMLInputElement>) => {\n const { target } = e;\n setColor(target.value);\n if (onChange) {\n e.persist();\n debouncedOnChange(onChange, e);\n }\n };\n\n const onPaletteButtonClick = () => {\n if (inputRef.current) inputRef.current.click();\n };\n\n useEffect(() => {\n setColor(value);\n }, [value]);\n\n return (\n asTextField\n ? (\n <TextField\n {...props}\n value={color}\n onChange={(e?: CustomInputEvent) => {\n if (e) onInputChange(e);\n }}\n leftElements={[\n <div key=\"colorMirror\" className=\"colorpicker-colormirror\" style={{ background: color }} />,\n <input\n key=\"inputColor\"\n className=\"colorpicker-hideinputcolor\"\n ref={inputRef}\n type=\"color\"\n defaultValue={color}\n name={`${name}-hidden`}\n onClick={(e: MouseEvent<HTMLInputElement>) => (\n onButtonClick ? onButtonClick(e) : undefined\n )}\n onInput={onInputChangeDefault} />,\n ]}\n rightElements={\n <Button\n className=\"colorpicker-palettebutton\"\n key=\"palettebutton\"\n onClick={onPaletteButtonClick}\n iconName=\"pallete\"\n boxShadow={false} />} />\n )\n : (\n <input\n key=\"inputColor\"\n name={name}\n ref={inputRef}\n type=\"color\"\n defaultValue={color}\n onClick={(e: MouseEvent<HTMLInputElement>) => (\n onButtonClick ? onButtonClick(e) : undefined\n )}\n onInput={onInputChangeDefault} />\n )\n );\n};\n\nexport default ColorPicker;\n"],"names":["ColorPicker","props","$","_c","asTextField","t0","value","t1","onChange","onButtonClick","name","undefined","color","setColor","useState","inputRef","useRef","t2","Symbol","for","_","debounce","_temp","debouncedOnChange","t3","e_0","target","e","onInputChange","t4","e_1","target_0","persist","onInputChangeDefault","t5","current","click","onPaletteButtonClick","t6","t7","useEffect","t8","TextField","e_2","background","jsx","e_3","Button","e_4","func"],"mappings":"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"}
|
package/lib/inputs/date/index.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { jsxs as ue, jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import '../../assets/styles/button.css';import '../../assets/styles/
|
|
2
|
+
import '../../assets/styles/button.css';import '../../assets/styles/datepicker.css';/* empty css */
|
|
3
3
|
import { useState as g, useRef as C, useEffect as w } from "react";
|
|
4
4
|
import i from "../../node_modules/moment/dist/moment.js";
|
|
5
|
-
import "../../_virtual/compiler-runtime.js";
|
|
6
|
-
/* empty css */
|
|
7
5
|
import de from "../../gridlayout/GridCol.js";
|
|
6
|
+
import "../../_virtual/compiler-runtime.js";
|
|
8
7
|
import fe from "../../buttons/Button.js";
|
|
9
|
-
/* empty css */
|
|
10
|
-
import "react-dom";
|
|
11
|
-
/* empty css */
|
|
12
8
|
/* empty css */
|
|
13
9
|
import me from "../../calendar/base/index.js";
|
|
14
10
|
import ge from "../mask/BaseMask.js";
|
|
15
11
|
import Ce from "./Dialog.js";
|
|
16
|
-
import
|
|
17
|
-
import { getMomentValue as
|
|
18
|
-
const
|
|
12
|
+
import he from "./Dropdown.js";
|
|
13
|
+
import { getMomentValue as De, EN_US_FORMAT as pe, EN_US_FORMAT_DATETIME as ye, blocksDateTimeFormat as Ee, PT_BR_FORMAT as be, PT_BR_FORMAT_DATETIME as Fe } from "./helpers.js";
|
|
14
|
+
const Ae = (t) => {
|
|
19
15
|
const {
|
|
20
16
|
showButtonOpen: O = !0,
|
|
21
17
|
openOnFocus: U = !0,
|
|
@@ -33,7 +29,7 @@ const ze = (t) => {
|
|
|
33
29
|
gridLayout: S,
|
|
34
30
|
shouldCloseOnEsc: X = !0,
|
|
35
31
|
isDateTimeField: f = !1
|
|
36
|
-
} = t, Z = f ? Date : "00/00/0000", V = f ? "DD/MM/YYYY HH:mm" : void 0, u = f ? Fe : be,
|
|
32
|
+
} = t, Z = f ? Date : "00/00/0000", V = f ? "DD/MM/YYYY HH:mm" : void 0, u = f ? Fe : be, h = f ? ye : pe, [p, y] = g(r ? De(r) : void 0), [s, d] = g(!1), [I, L] = g(i(r, V).format()), [$, M] = g(), [_, k] = g(!1), [l, ee] = g({
|
|
37
33
|
disabled: !1,
|
|
38
34
|
readOnly: !1,
|
|
39
35
|
unvisible: !1,
|
|
@@ -49,7 +45,7 @@ const ze = (t) => {
|
|
|
49
45
|
!c && s && n && d(!1);
|
|
50
46
|
}, A = (e) => {
|
|
51
47
|
if (X && s && e && e.key && e.key === "Escape" && (e.preventDefault(), d(!1), a.current?.focus()), s && c && e && e.key && e.key === "Tab") {
|
|
52
|
-
const n = v.current?.getElementsByClassName("navbutton"), F = (v.current?.getElementsByClassName("-selectedday"))[0].firstChild,
|
|
48
|
+
const n = v.current?.getElementsByClassName("navbutton"), F = (v.current?.getElementsByClassName("-selectedday"))[0].firstChild, D = Array.from([...n, F]), K = D[0], H = D[D.length - 1];
|
|
53
49
|
e.shiftKey && document.activeElement === K ? (e.preventDefault(), H.focus()) : !e.shiftKey && document.activeElement === H && (e.preventDefault(), K.focus());
|
|
54
50
|
}
|
|
55
51
|
e.stopPropagation();
|
|
@@ -75,13 +71,13 @@ const ze = (t) => {
|
|
|
75
71
|
const o = e.target.value ?? "";
|
|
76
72
|
if (t.onChange) {
|
|
77
73
|
if (ie(o)) {
|
|
78
|
-
const
|
|
74
|
+
const D = {
|
|
79
75
|
target: {
|
|
80
|
-
value: i(o, u).format(
|
|
76
|
+
value: i(o, u).format(h),
|
|
81
77
|
name: e.target.name
|
|
82
78
|
}
|
|
83
79
|
};
|
|
84
|
-
t.onChange(
|
|
80
|
+
t.onChange(D, o);
|
|
85
81
|
} else if (e.target.value === "") {
|
|
86
82
|
const F = {
|
|
87
83
|
target: {
|
|
@@ -111,18 +107,18 @@ const ze = (t) => {
|
|
|
111
107
|
j(o.format(u), void 0), c && k(!1);
|
|
112
108
|
}, currentDateButton: (o) => P.current = o, calendarContainer: (o) => {
|
|
113
109
|
v.current = o;
|
|
114
|
-
} }), ce = () => l && l.readOnly ? null : c ? /* @__PURE__ */ m(Ce, { dialogSize: Q, handlerClose: ne, children: z(
|
|
110
|
+
} }), ce = () => l && l.readOnly ? null : c ? /* @__PURE__ */ m(Ce, { dialogSize: Q, handlerClose: ne, children: z(p, t?.calendarColorStyle) }) : /* @__PURE__ */ m(he, { showButtonOpen: O, inputDimensions: $, containerRef: B, dropdownRef: (e) => {
|
|
115
111
|
E.current = e;
|
|
116
|
-
}, children: z(
|
|
112
|
+
}, children: z(p, t?.calendarColorStyle) });
|
|
117
113
|
if (w(() => {
|
|
118
|
-
r && i(r,
|
|
114
|
+
r && i(r, h).format() !== "Invalid date" && i(I, h).format() !== i(r, h).format() ? (y(i(r, h)), L(r)) : !r && r !== I && (y(void 0), L(r));
|
|
119
115
|
}, [r]), w(() => (window.addEventListener("resize", R), document.addEventListener("keydown", A), a.current && R(), s && c && k(!0), () => {
|
|
120
116
|
window.removeEventListener("resize", R), document.removeEventListener("keydown", A);
|
|
121
117
|
}), [a.current, s]), w(() => (document.addEventListener("scroll", b), document.getElementById("modal-dialog-content")?.addEventListener("scroll", b), () => {
|
|
122
118
|
document.removeEventListener("scroll", b), document.getElementById("modal-dialog-content")?.removeEventListener("scroll", b);
|
|
123
119
|
}), []), l && l.unvisible) return null;
|
|
124
120
|
const Y = () => /* @__PURE__ */ ue("div", { ref: B, onBlur: oe, className: "datepicker-container", children: [
|
|
125
|
-
/* @__PURE__ */ m(ge, { ...t, gridLayout: void 0, isDateTimeField: f, value:
|
|
121
|
+
/* @__PURE__ */ m(ge, { ...t, gridLayout: void 0, isDateTimeField: f, value: p ? p.format(u) : " ", mask: Z, pattern: V, blocks: f ? Ee : {}, onComplete: (e) => {
|
|
126
122
|
e && j(e.target?.maskedValue, e);
|
|
127
123
|
}, onBlur: ae, onFocus: (e) => {
|
|
128
124
|
re(e);
|
|
@@ -136,6 +132,6 @@ const ze = (t) => {
|
|
|
136
132
|
return S ? /* @__PURE__ */ m(de, { customClass: "-withinput", cols: S, children: Y() }) : Y();
|
|
137
133
|
};
|
|
138
134
|
export {
|
|
139
|
-
|
|
135
|
+
Ae as default
|
|
140
136
|
};
|
|
141
137
|
//# sourceMappingURL=index.js.map
|