linear-react-components-ui 2.3.1-beta.4 → 2.4.0-beta.0
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/form2/types.d.ts +1 -1
- package/lib/form2/useForm/index.js +27 -35
- package/lib/form2/useForm/index.js.map +1 -1
- package/lib/inputs2/mask/index.js +81 -97
- package/lib/inputs2/mask/index.js.map +1 -1
- package/lib/node_modules/lodash/lodash.js +2 -2
- package/lib/node_modules/lodash/lodash.js.map +1 -1
- package/lib/treeview/Node.js +218 -177
- package/lib/treeview/Node.js.map +1 -1
- package/package.json +1 -1
package/lib/form2/types.d.ts
CHANGED
|
@@ -129,5 +129,5 @@ export interface UseFormReturn<T> {
|
|
|
129
129
|
* Define erros manualmente em campos do formulário, útil para erros externos (ex: backend).
|
|
130
130
|
* @param errors - Objeto contendo mensagens de erro para campos.
|
|
131
131
|
*/
|
|
132
|
-
setExternalErrors: (errors: Record<string, string[]
|
|
132
|
+
setExternalErrors: (errors: Record<string, string[]>) => void;
|
|
133
133
|
}
|
|
@@ -10,7 +10,6 @@ const useForm = ({
|
|
|
10
10
|
}) => {
|
|
11
11
|
const [values, setValues] = useState(initialValues);
|
|
12
12
|
const [errors, setErrors] = useState({});
|
|
13
|
-
const [externalErrors, setExternalErrorsState] = useState({});
|
|
14
13
|
const [changed, setChanged] = useState({});
|
|
15
14
|
const [touched, setTouched] = useState({});
|
|
16
15
|
const fieldsRef = useRef({});
|
|
@@ -55,27 +54,18 @@ const useForm = ({
|
|
|
55
54
|
return fieldValidators_1.every((validator_1) => !validator_1(value_1, values));
|
|
56
55
|
});
|
|
57
56
|
};
|
|
58
|
-
const mergeErrors = (internalErrors, externalErrorsState) => {
|
|
59
|
-
const mergedErrors = _.cloneDeep(internalErrors);
|
|
60
|
-
const externalPaths = Object.keys(flattenValidators(externalErrorsState));
|
|
61
|
-
externalPaths.forEach((path_3) => {
|
|
62
|
-
const internalFieldErrors = _.get(mergedErrors, path_3) ?? [];
|
|
63
|
-
const externalFieldErrors = _.get(externalErrorsState, path_3) ?? [];
|
|
64
|
-
_.set(mergedErrors, path_3, [...internalFieldErrors, ...externalFieldErrors]);
|
|
65
|
-
});
|
|
66
|
-
return mergedErrors;
|
|
67
|
-
};
|
|
68
|
-
const allErrors = mergeErrors(errors, externalErrors);
|
|
69
57
|
const getFieldError = (name) => {
|
|
70
|
-
const fieldErrors_1 = _.get(
|
|
58
|
+
const fieldErrors_1 = _.get(errors, name) ?? [];
|
|
71
59
|
return fieldErrors_1;
|
|
72
60
|
};
|
|
73
|
-
const setExternalErrors = (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
61
|
+
const setExternalErrors = (externalErrors) => {
|
|
62
|
+
setErrors((prevStateErrors) => {
|
|
63
|
+
const newErrorsState = _.cloneDeep(prevStateErrors);
|
|
64
|
+
Object.entries(externalErrors).forEach(([key, value_2]) => {
|
|
65
|
+
_.set(newErrorsState, key, value_2);
|
|
66
|
+
});
|
|
67
|
+
return newErrorsState;
|
|
77
68
|
});
|
|
78
|
-
setExternalErrorsState(newExternalErrorsState);
|
|
79
69
|
};
|
|
80
70
|
const getFieldValue = (name_0) => {
|
|
81
71
|
return _.get(values, name_0);
|
|
@@ -107,21 +97,18 @@ const useForm = ({
|
|
|
107
97
|
const compareField = (name_3, valueToCompare_0) => {
|
|
108
98
|
return _.isEqual(_.get(values, name_3), valueToCompare_0);
|
|
109
99
|
};
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
fieldsToClean.forEach((key_0) => {
|
|
113
|
-
_.unset(newErrorsState, key_0);
|
|
114
|
-
});
|
|
115
|
-
return newErrorsState;
|
|
116
|
-
};
|
|
117
|
-
const cleanErrors = (fieldsToClean_0) => {
|
|
118
|
-
if (!fieldsToClean_0) {
|
|
100
|
+
const cleanErrors = (fieldsToClean) => {
|
|
101
|
+
if (!fieldsToClean) {
|
|
119
102
|
setErrors({});
|
|
120
|
-
setExternalErrorsState({});
|
|
121
103
|
return;
|
|
122
104
|
}
|
|
123
|
-
setErrors((prevErrorsState_0) =>
|
|
124
|
-
|
|
105
|
+
setErrors((prevErrorsState_0) => {
|
|
106
|
+
const newErrorsState_0 = _.cloneDeep(prevErrorsState_0);
|
|
107
|
+
fieldsToClean.forEach((key_0) => {
|
|
108
|
+
_.unset(newErrorsState_0, key_0);
|
|
109
|
+
});
|
|
110
|
+
return newErrorsState_0;
|
|
111
|
+
});
|
|
125
112
|
};
|
|
126
113
|
const reset = (inputsToReset, internalReset) => {
|
|
127
114
|
const newValuesState = _.cloneDeep(values);
|
|
@@ -138,11 +125,15 @@ const useForm = ({
|
|
|
138
125
|
setTouched(newTouchedState);
|
|
139
126
|
setChanged(newChangedState);
|
|
140
127
|
if (inputsToReset) {
|
|
141
|
-
setErrors((
|
|
142
|
-
|
|
128
|
+
setErrors((prevErrorsState_1) => {
|
|
129
|
+
const newErrorsState_1 = _.cloneDeep(prevErrorsState_1);
|
|
130
|
+
inputsToReset.forEach((key_2) => {
|
|
131
|
+
_.unset(newErrorsState_1, key_2);
|
|
132
|
+
});
|
|
133
|
+
return newErrorsState_1;
|
|
134
|
+
});
|
|
143
135
|
} else {
|
|
144
136
|
setErrors({});
|
|
145
|
-
setExternalErrorsState({});
|
|
146
137
|
}
|
|
147
138
|
if (!internalReset) {
|
|
148
139
|
valuesToCompareInChangedRef.current = initialValuesRef.current;
|
|
@@ -168,7 +159,7 @@ const useForm = ({
|
|
|
168
159
|
fieldsRef.current[name_4] = inputElement;
|
|
169
160
|
}, ref),
|
|
170
161
|
value: _.get(values, name_4, _.get(initialValuesRef.current, name_4, "")),
|
|
171
|
-
errors: _.get(
|
|
162
|
+
errors: _.get(errors, name_4, []),
|
|
172
163
|
onChange: (event) => {
|
|
173
164
|
const {
|
|
174
165
|
value: value_4
|
|
@@ -206,6 +197,7 @@ const useForm = ({
|
|
|
206
197
|
};
|
|
207
198
|
const handleSubmit = (callback) => (event_1) => {
|
|
208
199
|
event_1.preventDefault();
|
|
200
|
+
event_1.stopPropagation?.();
|
|
209
201
|
const validationErrors = validateAllFields();
|
|
210
202
|
const hasErrors_0 = !_.isEmpty(validationErrors);
|
|
211
203
|
if (hasErrors_0) return;
|
|
@@ -217,7 +209,7 @@ const useForm = ({
|
|
|
217
209
|
reset,
|
|
218
210
|
changed,
|
|
219
211
|
values,
|
|
220
|
-
errors
|
|
212
|
+
errors,
|
|
221
213
|
touched,
|
|
222
214
|
isValid,
|
|
223
215
|
formHasChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/form2/useForm/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { ChangeEvent, FocusEvent, FormEvent, useRef, useState } from 'react';\nimport type {\n FieldErrors, FieldChanged, FieldTouched, FieldFocusOptions, UseFormProps,\n UseFormReturn, DeepPartial,\n RegisterOptions,\n} from '../types';\nimport { deepMergeValues, flattenValidators, mergeRefs } from '../helpers';\n\nconst useForm = <ValuesType extends Record<string, any>>({\n initialValues,\n validators = {},\n options = { validationMode: 'default' },\n}: UseFormProps<ValuesType>): UseFormReturn<ValuesType> => {\n const [values, setValues] = useState<ValuesType>(initialValues);\n const [errors, setErrors] = useState<FieldErrors<ValuesType>>({});\n const [externalErrors, setExternalErrorsState] = useState<FieldErrors<ValuesType>>({});\n const [changed, setChanged] = useState<FieldChanged<ValuesType>>({});\n const [touched, setTouched] = useState<FieldTouched<ValuesType>>({});\n const fieldsRef = useRef<Record<string, HTMLInputElement | HTMLTextAreaElement | null>>({});\n const initialValuesRef = useRef<ValuesType>(initialValues);\n const valuesToCompareInChangedRef = useRef<ValuesType>(initialValues);\n\n const flattenedValidators = flattenValidators(validators);\n\n const validateBatchOfFields = (\n valuesSnapshot: ValuesType,\n touchedFields: FieldTouched<ValuesType> = touched,\n errorsFields: FieldErrors<ValuesType> = errors,\n ) => {\n const fieldsToValidate = Object.keys(flattenedValidators).filter((path) => {\n const wasTouched = _.get(touchedFields, path);\n const hasErrors = !_.isEmpty(_.get(errorsFields, path));\n return Boolean(wasTouched || hasErrors);\n });\n\n if (!fieldsToValidate.length) return;\n\n setErrors((prevErrorsState) => {\n const updatedErrorsState = _.cloneDeep(prevErrorsState);\n\n fieldsToValidate.forEach((path) => {\n const value = _.get(valuesSnapshot, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n const fieldErrors = fieldValidators\n .map((validator: any) => validator(value, valuesSnapshot))\n .filter((message: string) => Boolean(message));\n\n _.set(updatedErrorsState, path, fieldErrors);\n });\n\n return updatedErrorsState;\n });\n };\n\n const validateAllFields = () => {\n const allValidationErrors: FieldErrors<ValuesType> = {};\n\n Object.keys(flattenedValidators).forEach((path) => {\n const value = _.get(values, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n const fieldErrors = fieldValidators\n .map((validator: any) => validator(value, values))\n .filter((message: string) => Boolean(message));\n\n if (fieldErrors.length) {\n _.set(allValidationErrors, path, fieldErrors);\n }\n });\n\n setErrors(allValidationErrors);\n return allValidationErrors;\n };\n\n const checkFormIsValid = () => {\n return Object.keys(flattenedValidators).every((path) => {\n const value = _.get(values, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n return fieldValidators.every((validator: any) => !validator(value, values));\n });\n };\n\n const mergeErrors = (\n internalErrors: FieldErrors<ValuesType>,\n externalErrorsState: FieldErrors<ValuesType>,\n ): FieldErrors<ValuesType> => {\n const mergedErrors = _.cloneDeep(internalErrors);\n const externalPaths = Object.keys(flattenValidators(externalErrorsState));\n\n externalPaths.forEach((path) => {\n const internalFieldErrors = (_.get(mergedErrors, path) as string[]) ?? [];\n const externalFieldErrors = (_.get(externalErrorsState, path) as string[]) ?? [];\n _.set(mergedErrors, path, [...internalFieldErrors, ...externalFieldErrors]);\n });\n\n return mergedErrors;\n };\n\n const allErrors = mergeErrors(errors, externalErrors);\n\n const getFieldError = (name: string): string[] => {\n const fieldErrors = _.get(allErrors, name) as string[] ?? [];\n return fieldErrors;\n };\n\n const setExternalErrors = (newExternalErrors: Record<string, string[] | null | undefined>) => {\n const newExternalErrorsState: FieldErrors<ValuesType> = {};\n Object.entries(newExternalErrors ?? {}).forEach(([key, value]) => {\n if (!_.isEmpty(value)) _.set(newExternalErrorsState, key, value);\n });\n setExternalErrorsState(newExternalErrorsState);\n };\n\n const getFieldValue = (name: string): any => {\n return _.get(values, name);\n };\n\n const setFieldValue = (name: string, value: any) => {\n setValues((prevStateValues) => {\n const updatedValuesState = _.cloneDeep(prevStateValues);\n _.set(updatedValuesState, name, value);\n\n const valueToCompare = _.get(valuesToCompareInChangedRef.current, name);\n const hasChanged = !_.isEqual(valueToCompare, value);\n\n setChanged((prevStateChanged) => {\n const updatedChangedState = _.cloneDeep(prevStateChanged);\n _.set(updatedChangedState, name, hasChanged);\n return updatedChangedState;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(updatedValuesState);\n }\n\n return updatedValuesState;\n });\n };\n\n const setFieldFocus = (name: string, fieldFocusOptions?: FieldFocusOptions) => {\n const field = fieldsRef.current[name];\n field?.focus?.();\n if (fieldFocusOptions?.shouldSelect) {\n field?.select?.();\n }\n };\n\n const compareField = (name: string, valueToCompare: any): boolean => {\n return _.isEqual(_.get(values, name), valueToCompare);\n };\n\n const unsetErrorPaths = (\n errorsState: FieldErrors<ValuesType>,\n fieldsToClean: string[],\n ): FieldErrors<ValuesType> => {\n const newErrorsState = _.cloneDeep(errorsState);\n fieldsToClean.forEach((key) => {\n _.unset(newErrorsState, key);\n });\n return newErrorsState;\n };\n\n const cleanErrors = (fieldsToClean?: string[]) => {\n if (!fieldsToClean) {\n setErrors({});\n setExternalErrorsState({});\n return;\n }\n\n setErrors(prevErrorsState => unsetErrorPaths(prevErrorsState, fieldsToClean));\n setExternalErrorsState(prevErrorsState => unsetErrorPaths(prevErrorsState, fieldsToClean));\n };\n\n const reset = (inputsToReset?: string[], internalReset?: boolean) => {\n const newValuesState = _.cloneDeep(values);\n const newTouchedState = _.cloneDeep(touched);\n const newChangedState = _.cloneDeep(changed);\n const inputs = inputsToReset ?? Object.keys(initialValuesRef.current);\n\n inputs.forEach((key) => {\n const initialValue = _.get(initialValuesRef.current, key);\n _.set(newValuesState, key, initialValue);\n _.set(newTouchedState, key, false);\n _.set(newChangedState, key, false);\n });\n\n setValues(newValuesState);\n setTouched(newTouchedState);\n setChanged(newChangedState);\n\n if (inputsToReset) {\n setErrors(prevErrorsState => unsetErrorPaths(prevErrorsState, inputsToReset));\n setExternalErrorsState(prevErrorsState => unsetErrorPaths(prevErrorsState, inputsToReset));\n } else {\n setErrors({});\n setExternalErrorsState({});\n }\n\n if (!internalReset) { valuesToCompareInChangedRef.current = initialValuesRef.current; }\n };\n\n const changeValues = (fieldValues: DeepPartial<ValuesType>) => {\n reset(undefined, true);\n setValues((prevStateValues) => {\n const newValuesState = deepMergeValues(prevStateValues, fieldValues);\n valuesToCompareInChangedRef.current = newValuesState;\n return newValuesState;\n });\n };\n\n const register = (\n name: string,\n registerOptions?: RegisterOptions,\n ) => {\n const { onChange, onBlur, ref } = registerOptions ?? {};\n return {\n name,\n ref: mergeRefs<HTMLInputElement | HTMLTextAreaElement>((inputElement: any) => {\n fieldsRef.current[name] = inputElement;\n }, ref),\n value: _.get(values, name, _.get(initialValuesRef.current, name, '')),\n errors: _.get(allErrors, name, []),\n onChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { value } = event.target;\n\n setValues((prevStateValues) => {\n const updatedValues = _.cloneDeep(prevStateValues);\n _.set(updatedValues, name, value);\n\n const hasChanged = !_.isEqual(_.get(valuesToCompareInChangedRef.current, name), value);\n setChanged((prevStateChanged) => {\n const updatedChangedState = _.cloneDeep(prevStateChanged);\n _.set(updatedChangedState, name, hasChanged);\n return updatedChangedState;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(updatedValues, touched, errors);\n }\n\n return updatedValues;\n });\n\n onChange?.(event);\n },\n onBlur: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const touchedSnapshot = _.cloneDeep(touched);\n _.set(touchedSnapshot, name, true);\n\n setTouched((prevStateTouched) => {\n const updated = _.cloneDeep(prevStateTouched);\n _.set(updated, name, true);\n return updated;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(values, touchedSnapshot, errors);\n }\n\n onBlur?.(event);\n },\n };\n };\n\n const handleSubmit = (callback: (data: ValuesType) => void) => (event: FormEvent) => {\n event.preventDefault();\n\n const validationErrors = validateAllFields();\n const hasErrors = !_.isEmpty(validationErrors);\n\n if (hasErrors) return;\n callback(values);\n };\n\n const isValid = checkFormIsValid();\n const formHasChange = Object.values(changed).some(Boolean);\n\n return {\n reset,\n changed,\n values,\n errors: allErrors,\n touched,\n isValid,\n formHasChange,\n register,\n cleanErrors,\n changeValues,\n compareField,\n handleSubmit,\n getFieldValue,\n getFieldError,\n setFieldFocus,\n setFieldValue,\n setExternalErrors,\n initialValues: initialValuesRef.current,\n };\n};\n\nexport default useForm;\n"],"names":["useForm","initialValues","validators","options","validationMode","values","setValues","useState","errors","setErrors","externalErrors","setExternalErrorsState","changed","setChanged","touched","setTouched","fieldsRef","useRef","initialValuesRef","valuesToCompareInChangedRef","flattenedValidators","flattenValidators","validateBatchOfFields","valuesSnapshot","touchedFields","errorsFields","fieldsToValidate","Object","keys","filter","path","wasTouched","_","get","hasErrors","isEmpty","Boolean","length","prevErrorsState","updatedErrorsState","cloneDeep","forEach","value","fieldValidators","fieldErrors","map","validator","message","set","validateAllFields","allValidationErrors","checkFormIsValid","every","mergeErrors","internalErrors","externalErrorsState","mergedErrors","externalPaths","internalFieldErrors","externalFieldErrors","allErrors","getFieldError","name","setExternalErrors","newExternalErrors","newExternalErrorsState","entries","key","getFieldValue","setFieldValue","prevStateValues","updatedValuesState","valueToCompare","current","hasChanged","isEqual","prevStateChanged","updatedChangedState","setFieldFocus","fieldFocusOptions","field","focus","shouldSelect","select","compareField","unsetErrorPaths","errorsState","fieldsToClean","newErrorsState","unset","cleanErrors","reset","inputsToReset","internalReset","newValuesState","newTouchedState","newChangedState","inputs","initialValue","changeValues","fieldValues","undefined","deepMergeValues","register","registerOptions","onChange","onBlur","ref","mergeRefs","inputElement","event","target","updatedValues","touchedSnapshot","prevStateTouched","updated","handleSubmit","callback","preventDefault","validationErrors","isValid","formHasChange","some"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/form2/useForm/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { ChangeEvent, FocusEvent, FormEvent, useRef, useState } from 'react';\nimport type {\n FieldErrors, FieldChanged, FieldTouched, FieldFocusOptions, UseFormProps,\n UseFormReturn, DeepPartial,\n RegisterOptions,\n} from '../types';\nimport { deepMergeValues, flattenValidators, mergeRefs } from '../helpers';\n\nconst useForm = <ValuesType extends Record<string, any>>({\n initialValues,\n validators = {},\n options = { validationMode: 'default' },\n}: UseFormProps<ValuesType>): UseFormReturn<ValuesType> => {\n const [values, setValues] = useState<ValuesType>(initialValues);\n const [errors, setErrors] = useState<FieldErrors<ValuesType>>({});\n const [changed, setChanged] = useState<FieldChanged<ValuesType>>({});\n const [touched, setTouched] = useState<FieldTouched<ValuesType>>({});\n const fieldsRef = useRef<Record<string, HTMLInputElement | HTMLTextAreaElement | null>>({});\n const initialValuesRef = useRef<ValuesType>(initialValues);\n const valuesToCompareInChangedRef = useRef<ValuesType>(initialValues);\n\n const flattenedValidators = flattenValidators(validators);\n\n const validateBatchOfFields = (\n valuesSnapshot: ValuesType,\n touchedFields: FieldTouched<ValuesType> = touched,\n errorsFields: FieldErrors<ValuesType> = errors,\n ) => {\n const fieldsToValidate = Object.keys(flattenedValidators).filter((path) => {\n const wasTouched = _.get(touchedFields, path);\n const hasErrors = !_.isEmpty(_.get(errorsFields, path));\n return Boolean(wasTouched || hasErrors);\n });\n\n if (!fieldsToValidate.length) return;\n\n setErrors((prevErrorsState) => {\n const updatedErrorsState = _.cloneDeep(prevErrorsState);\n\n fieldsToValidate.forEach((path) => {\n const value = _.get(valuesSnapshot, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n const fieldErrors = fieldValidators\n .map((validator: any) => validator(value, valuesSnapshot))\n .filter((message: string) => Boolean(message));\n\n _.set(updatedErrorsState, path, fieldErrors);\n });\n\n return updatedErrorsState;\n });\n };\n\n const validateAllFields = () => {\n const allValidationErrors: FieldErrors<ValuesType> = {};\n\n Object.keys(flattenedValidators).forEach((path) => {\n const value = _.get(values, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n const fieldErrors = fieldValidators\n .map((validator: any) => validator(value, values))\n .filter((message: string) => Boolean(message));\n\n if (fieldErrors.length) {\n _.set(allValidationErrors, path, fieldErrors);\n }\n });\n\n setErrors(allValidationErrors);\n return allValidationErrors;\n };\n\n const checkFormIsValid = () => {\n return Object.keys(flattenedValidators).every((path) => {\n const value = _.get(values, path);\n const fieldValidators = _.get(flattenedValidators, path) ?? [];\n return fieldValidators.every((validator: any) => !validator(value, values));\n });\n };\n\n const getFieldError = (name: string): string[] => {\n const fieldErrors = _.get(errors, name) as string[] ?? [];\n return fieldErrors;\n };\n\n const setExternalErrors = (externalErrors: Record<string, string[]>) => {\n setErrors((prevStateErrors) => {\n const newErrorsState = _.cloneDeep(prevStateErrors);\n Object.entries(externalErrors).forEach(([key, value]) => {\n _.set(newErrorsState, key, value);\n });\n return newErrorsState;\n });\n };\n\n const getFieldValue = (name: string): any => {\n return _.get(values, name);\n };\n\n const setFieldValue = (name: string, value: any) => {\n setValues((prevStateValues) => {\n const updatedValuesState = _.cloneDeep(prevStateValues);\n _.set(updatedValuesState, name, value);\n\n const valueToCompare = _.get(valuesToCompareInChangedRef.current, name);\n const hasChanged = !_.isEqual(valueToCompare, value);\n\n setChanged((prevStateChanged) => {\n const updatedChangedState = _.cloneDeep(prevStateChanged);\n _.set(updatedChangedState, name, hasChanged);\n return updatedChangedState;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(updatedValuesState);\n }\n\n return updatedValuesState;\n });\n };\n\n const setFieldFocus = (name: string, fieldFocusOptions?: FieldFocusOptions) => {\n const field = fieldsRef.current[name];\n field?.focus?.();\n if (fieldFocusOptions?.shouldSelect) {\n field?.select?.();\n }\n };\n\n const compareField = (name: string, valueToCompare: any): boolean => {\n return _.isEqual(_.get(values, name), valueToCompare);\n };\n\n const cleanErrors = (fieldsToClean?: string[]) => {\n if (!fieldsToClean) {\n setErrors({});\n return;\n }\n\n setErrors((prevErrorsState) => {\n const newErrorsState = _.cloneDeep(prevErrorsState);\n fieldsToClean.forEach((key) => {\n _.unset(newErrorsState, key);\n });\n return newErrorsState;\n });\n };\n\n const reset = (inputsToReset?: string[], internalReset?: boolean) => {\n const newValuesState = _.cloneDeep(values);\n const newTouchedState = _.cloneDeep(touched);\n const newChangedState = _.cloneDeep(changed);\n const inputs = inputsToReset ?? Object.keys(initialValuesRef.current);\n\n inputs.forEach((key) => {\n const initialValue = _.get(initialValuesRef.current, key);\n _.set(newValuesState, key, initialValue);\n _.set(newTouchedState, key, false);\n _.set(newChangedState, key, false);\n });\n\n setValues(newValuesState);\n setTouched(newTouchedState);\n setChanged(newChangedState);\n\n if (inputsToReset) {\n setErrors((prevErrorsState) => {\n const newErrorsState = _.cloneDeep(prevErrorsState);\n inputsToReset.forEach((key) => {\n _.unset(newErrorsState, key);\n });\n return newErrorsState;\n });\n } else {\n setErrors({});\n }\n\n if (!internalReset) { valuesToCompareInChangedRef.current = initialValuesRef.current; }\n };\n\n const changeValues = (fieldValues: DeepPartial<ValuesType>) => {\n reset(undefined, true);\n setValues((prevStateValues) => {\n const newValuesState = deepMergeValues(prevStateValues, fieldValues);\n valuesToCompareInChangedRef.current = newValuesState;\n return newValuesState;\n });\n };\n\n const register = (\n name: string,\n registerOptions?: RegisterOptions,\n ) => {\n const { onChange, onBlur, ref } = registerOptions ?? {};\n return {\n name,\n ref: mergeRefs<HTMLInputElement | HTMLTextAreaElement>((inputElement: any) => {\n fieldsRef.current[name] = inputElement;\n }, ref),\n value: _.get(values, name, _.get(initialValuesRef.current, name, '')),\n errors: _.get(errors, name, []),\n onChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { value } = event.target;\n\n setValues((prevStateValues) => {\n const updatedValues = _.cloneDeep(prevStateValues);\n _.set(updatedValues, name, value);\n\n const hasChanged = !_.isEqual(_.get(valuesToCompareInChangedRef.current, name), value);\n setChanged((prevStateChanged) => {\n const updatedChangedState = _.cloneDeep(prevStateChanged);\n _.set(updatedChangedState, name, hasChanged);\n return updatedChangedState;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(updatedValues, touched, errors);\n }\n\n return updatedValues;\n });\n\n onChange?.(event);\n },\n onBlur: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const touchedSnapshot = _.cloneDeep(touched);\n _.set(touchedSnapshot, name, true);\n\n setTouched((prevStateTouched) => {\n const updated = _.cloneDeep(prevStateTouched);\n _.set(updated, name, true);\n return updated;\n });\n\n if (options.validationMode === 'default') {\n validateBatchOfFields(values, touchedSnapshot, errors);\n }\n\n onBlur?.(event);\n },\n };\n };\n\n const handleSubmit = (callback: (data: ValuesType) => void) => (event: FormEvent) => {\n event.preventDefault();\n event.stopPropagation?.();\n\n const validationErrors = validateAllFields();\n const hasErrors = !_.isEmpty(validationErrors);\n\n if (hasErrors) return;\n callback(values);\n };\n\n const isValid = checkFormIsValid();\n const formHasChange = Object.values(changed).some(Boolean);\n\n return {\n reset,\n changed,\n values,\n errors,\n touched,\n isValid,\n formHasChange,\n register,\n cleanErrors,\n changeValues,\n compareField,\n handleSubmit,\n getFieldValue,\n getFieldError,\n setFieldFocus,\n setFieldValue,\n setExternalErrors,\n initialValues: initialValuesRef.current,\n };\n};\n\nexport default useForm;\n"],"names":["useForm","initialValues","validators","options","validationMode","values","setValues","useState","errors","setErrors","changed","setChanged","touched","setTouched","fieldsRef","useRef","initialValuesRef","valuesToCompareInChangedRef","flattenedValidators","flattenValidators","validateBatchOfFields","valuesSnapshot","touchedFields","errorsFields","fieldsToValidate","Object","keys","filter","path","wasTouched","_","get","hasErrors","isEmpty","Boolean","length","prevErrorsState","updatedErrorsState","cloneDeep","forEach","value","fieldValidators","fieldErrors","map","validator","message","set","validateAllFields","allValidationErrors","checkFormIsValid","every","getFieldError","name","setExternalErrors","externalErrors","prevStateErrors","newErrorsState","entries","key","getFieldValue","setFieldValue","prevStateValues","updatedValuesState","valueToCompare","current","hasChanged","isEqual","prevStateChanged","updatedChangedState","setFieldFocus","fieldFocusOptions","field","focus","shouldSelect","select","compareField","cleanErrors","fieldsToClean","unset","reset","inputsToReset","internalReset","newValuesState","newTouchedState","newChangedState","inputs","initialValue","changeValues","fieldValues","undefined","deepMergeValues","register","registerOptions","onChange","onBlur","ref","mergeRefs","inputElement","event","target","updatedValues","touchedSnapshot","prevStateTouched","updated","handleSubmit","callback","preventDefault","stopPropagation","validationErrors","isValid","formHasChange","some"],"mappings":"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"}
|
|
@@ -6,9 +6,7 @@ import { useIMask } from "react-imask";
|
|
|
6
6
|
import { mergeRefs } from "../../form2/helpers.js";
|
|
7
7
|
import { Input as Input$1 } from "../textfield/index.js";
|
|
8
8
|
const Input = forwardRef((props, ref) => {
|
|
9
|
-
const $ = compilerRuntimeExports.c(
|
|
10
|
-
let onAccept;
|
|
11
|
-
let onComplete;
|
|
9
|
+
const $ = compilerRuntimeExports.c(46);
|
|
12
10
|
let rest;
|
|
13
11
|
let t0;
|
|
14
12
|
let t1;
|
|
@@ -34,40 +32,34 @@ const Input = forwardRef((props, ref) => {
|
|
|
34
32
|
normalizeZeros: t8,
|
|
35
33
|
padFractionalZeros: t9,
|
|
36
34
|
mapToRadix: t10,
|
|
37
|
-
onComplete,
|
|
38
|
-
onAccept,
|
|
39
35
|
...rest
|
|
40
36
|
} = props);
|
|
41
37
|
$[0] = props;
|
|
42
|
-
$[1] =
|
|
43
|
-
$[2] =
|
|
44
|
-
$[3] =
|
|
45
|
-
$[4] =
|
|
46
|
-
$[5] =
|
|
47
|
-
$[6] =
|
|
48
|
-
$[7] =
|
|
49
|
-
$[8] =
|
|
50
|
-
$[9] =
|
|
51
|
-
$[10] =
|
|
52
|
-
$[11] =
|
|
53
|
-
$[12] =
|
|
54
|
-
$[13] = t8;
|
|
55
|
-
$[14] = t9;
|
|
38
|
+
$[1] = rest;
|
|
39
|
+
$[2] = t0;
|
|
40
|
+
$[3] = t1;
|
|
41
|
+
$[4] = t10;
|
|
42
|
+
$[5] = t2;
|
|
43
|
+
$[6] = t3;
|
|
44
|
+
$[7] = t4;
|
|
45
|
+
$[8] = t5;
|
|
46
|
+
$[9] = t6;
|
|
47
|
+
$[10] = t7;
|
|
48
|
+
$[11] = t8;
|
|
49
|
+
$[12] = t9;
|
|
56
50
|
} else {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
t8 = $[13];
|
|
70
|
-
t9 = $[14];
|
|
51
|
+
rest = $[1];
|
|
52
|
+
t0 = $[2];
|
|
53
|
+
t1 = $[3];
|
|
54
|
+
t10 = $[4];
|
|
55
|
+
t2 = $[5];
|
|
56
|
+
t3 = $[6];
|
|
57
|
+
t4 = $[7];
|
|
58
|
+
t5 = $[8];
|
|
59
|
+
t6 = $[9];
|
|
60
|
+
t7 = $[10];
|
|
61
|
+
t8 = $[11];
|
|
62
|
+
t9 = $[12];
|
|
71
63
|
}
|
|
72
64
|
const mask = t0 === void 0 ? "" : t0;
|
|
73
65
|
const unmask = t1 === void 0 ? true : t1;
|
|
@@ -80,17 +72,17 @@ const Input = forwardRef((props, ref) => {
|
|
|
80
72
|
const normalizeZeros = t8 === void 0 ? false : t8;
|
|
81
73
|
const padFractionalZeros = t9 === void 0 ? false : t9;
|
|
82
74
|
let t11;
|
|
83
|
-
if ($[
|
|
75
|
+
if ($[13] !== t10) {
|
|
84
76
|
t11 = t10 === void 0 ? [] : t10;
|
|
85
|
-
$[
|
|
86
|
-
$[
|
|
77
|
+
$[13] = t10;
|
|
78
|
+
$[14] = t11;
|
|
87
79
|
} else {
|
|
88
|
-
t11 = $[
|
|
80
|
+
t11 = $[14];
|
|
89
81
|
}
|
|
90
82
|
const mapToRadix = t11;
|
|
91
83
|
const t12 = mask;
|
|
92
84
|
let t13;
|
|
93
|
-
if ($[
|
|
85
|
+
if ($[15] !== lazy || $[16] !== mapToRadix || $[17] !== normalizeZeros || $[18] !== padFractionalZeros || $[19] !== placeholderChar || $[20] !== radix || $[21] !== scale || $[22] !== t12) {
|
|
94
86
|
t13 = {
|
|
95
87
|
mask: t12,
|
|
96
88
|
lazy,
|
|
@@ -101,31 +93,30 @@ const Input = forwardRef((props, ref) => {
|
|
|
101
93
|
normalizeZeros,
|
|
102
94
|
padFractionalZeros
|
|
103
95
|
};
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
96
|
+
$[15] = lazy;
|
|
97
|
+
$[16] = mapToRadix;
|
|
98
|
+
$[17] = normalizeZeros;
|
|
99
|
+
$[18] = padFractionalZeros;
|
|
100
|
+
$[19] = placeholderChar;
|
|
101
|
+
$[20] = radix;
|
|
102
|
+
$[21] = scale;
|
|
103
|
+
$[22] = t12;
|
|
104
|
+
$[23] = t13;
|
|
113
105
|
} else {
|
|
114
|
-
t13 = $[
|
|
106
|
+
t13 = $[23];
|
|
115
107
|
}
|
|
116
108
|
let t14;
|
|
117
|
-
if ($[
|
|
109
|
+
if ($[24] !== rest) {
|
|
118
110
|
t14 = (imaskValue, ___, event) => {
|
|
119
|
-
onComplete?.(imaskValue, event);
|
|
111
|
+
rest?.onComplete?.(imaskValue, event);
|
|
120
112
|
};
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
113
|
+
$[24] = rest;
|
|
114
|
+
$[25] = t14;
|
|
123
115
|
} else {
|
|
124
|
-
t14 = $[
|
|
116
|
+
t14 = $[25];
|
|
125
117
|
}
|
|
126
118
|
const {
|
|
127
119
|
ref: inputRef,
|
|
128
|
-
maskRef,
|
|
129
120
|
value,
|
|
130
121
|
unmaskedValue,
|
|
131
122
|
setValue: t15
|
|
@@ -133,7 +124,7 @@ const Input = forwardRef((props, ref) => {
|
|
|
133
124
|
onComplete: t14,
|
|
134
125
|
onAccept: (acceptValue, imask, event_0) => {
|
|
135
126
|
const valueToSet = unmask ? imask.unmaskedValue : imask.value;
|
|
136
|
-
onAccept?.(valueToSet, event_0);
|
|
127
|
+
rest?.onAccept?.(valueToSet, event_0);
|
|
137
128
|
setValue(acceptValue);
|
|
138
129
|
props?.onChange?.({
|
|
139
130
|
...event_0,
|
|
@@ -147,20 +138,20 @@ const Input = forwardRef((props, ref) => {
|
|
|
147
138
|
});
|
|
148
139
|
const setValue = t15;
|
|
149
140
|
let t16;
|
|
150
|
-
if ($[
|
|
141
|
+
if ($[26] !== autoCompleteMask || $[27] !== mask || $[28] !== rest || $[29] !== setValue || $[30] !== unmaskedValue) {
|
|
151
142
|
t16 = (event_1) => {
|
|
152
143
|
if (unmaskedValue.trim().length && autoCompleteMask) {
|
|
153
144
|
const currentValue = unmaskedValue;
|
|
154
145
|
const sizeMask = mask?.toString().replace(/\D+/g, "").length;
|
|
155
146
|
if (sizeMask && sizeMask > currentValue.length) {
|
|
156
|
-
|
|
147
|
+
bb101: switch (autoCompleteMask) {
|
|
157
148
|
case "left": {
|
|
158
149
|
setValue(currentValue.padStart(sizeMask, "0"));
|
|
159
|
-
break
|
|
150
|
+
break bb101;
|
|
160
151
|
}
|
|
161
152
|
case "right": {
|
|
162
153
|
setValue(currentValue.padEnd(sizeMask, "0"));
|
|
163
|
-
break
|
|
154
|
+
break bb101;
|
|
164
155
|
}
|
|
165
156
|
default: {
|
|
166
157
|
setValue(currentValue);
|
|
@@ -170,67 +161,60 @@ const Input = forwardRef((props, ref) => {
|
|
|
170
161
|
}
|
|
171
162
|
rest?.onBlur?.(event_1);
|
|
172
163
|
};
|
|
173
|
-
$[
|
|
174
|
-
$[
|
|
175
|
-
$[
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
164
|
+
$[26] = autoCompleteMask;
|
|
165
|
+
$[27] = mask;
|
|
166
|
+
$[28] = rest;
|
|
167
|
+
$[29] = setValue;
|
|
168
|
+
$[30] = unmaskedValue;
|
|
169
|
+
$[31] = t16;
|
|
179
170
|
} else {
|
|
180
|
-
t16 = $[
|
|
171
|
+
t16 = $[31];
|
|
181
172
|
}
|
|
182
173
|
const handleBlur = t16;
|
|
183
174
|
let t17;
|
|
184
|
-
if ($[
|
|
175
|
+
if ($[32] !== props.value || $[33] !== setValue) {
|
|
185
176
|
t17 = () => {
|
|
186
|
-
if (_.isNil(props?.value)) {
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
const externalValue = _.toString(props.value);
|
|
190
|
-
const currentValue_0 = unmask ? maskRef.current?.unmaskedValue : maskRef.current?.value;
|
|
191
|
-
if (externalValue !== currentValue_0) {
|
|
192
|
-
setValue(externalValue);
|
|
177
|
+
if (!_.isNil(props?.value)) {
|
|
178
|
+
setValue(_.toString(props?.value));
|
|
193
179
|
}
|
|
194
180
|
};
|
|
195
|
-
$[
|
|
196
|
-
$[
|
|
197
|
-
$[
|
|
198
|
-
$[37] = unmask;
|
|
199
|
-
$[38] = t17;
|
|
181
|
+
$[32] = props.value;
|
|
182
|
+
$[33] = setValue;
|
|
183
|
+
$[34] = t17;
|
|
200
184
|
} else {
|
|
201
|
-
t17 = $[
|
|
185
|
+
t17 = $[34];
|
|
202
186
|
}
|
|
203
187
|
const t18 = props?.value;
|
|
204
188
|
let t19;
|
|
205
|
-
if ($[
|
|
189
|
+
if ($[35] !== t18) {
|
|
206
190
|
t19 = [t18];
|
|
207
|
-
$[
|
|
208
|
-
$[
|
|
191
|
+
$[35] = t18;
|
|
192
|
+
$[36] = t19;
|
|
209
193
|
} else {
|
|
210
|
-
t19 = $[
|
|
194
|
+
t19 = $[36];
|
|
211
195
|
}
|
|
212
196
|
useEffect(t17, t19);
|
|
213
197
|
const t20 = inputRef;
|
|
214
198
|
let t21;
|
|
215
|
-
if ($[
|
|
199
|
+
if ($[37] !== ref || $[38] !== t20) {
|
|
216
200
|
t21 = mergeRefs(ref, t20);
|
|
217
|
-
$[
|
|
218
|
-
$[
|
|
219
|
-
$[
|
|
201
|
+
$[37] = ref;
|
|
202
|
+
$[38] = t20;
|
|
203
|
+
$[39] = t21;
|
|
220
204
|
} else {
|
|
221
|
-
t21 = $[
|
|
205
|
+
t21 = $[39];
|
|
222
206
|
}
|
|
223
207
|
let t22;
|
|
224
|
-
if ($[
|
|
208
|
+
if ($[40] !== handleBlur || $[41] !== placeholder || $[42] !== rest || $[43] !== t21 || $[44] !== value) {
|
|
225
209
|
t22 = /* @__PURE__ */ jsx(Input$1, { ...rest, type: "text", value, placeholder, onBlur: handleBlur, onChange: _temp, ref: t21 });
|
|
226
|
-
$[
|
|
227
|
-
$[
|
|
228
|
-
$[
|
|
229
|
-
$[
|
|
230
|
-
$[
|
|
231
|
-
$[
|
|
210
|
+
$[40] = handleBlur;
|
|
211
|
+
$[41] = placeholder;
|
|
212
|
+
$[42] = rest;
|
|
213
|
+
$[43] = t21;
|
|
214
|
+
$[44] = value;
|
|
215
|
+
$[45] = t22;
|
|
232
216
|
} else {
|
|
233
|
-
t22 = $[
|
|
217
|
+
t22 = $[45];
|
|
234
218
|
}
|
|
235
219
|
return t22;
|
|
236
220
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/mask/index.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { mergeRefs } from '../../form2/helpers';\nimport * as TextField from '../textfield';\nimport type { MaskFieldProps } from './types';\n\nconst Input = forwardRef<HTMLInputElement, MaskFieldProps>((props, ref) => {\n const { \n mask = '', unmask = true, lazy = true, placeholder = '', autoCompleteMask = undefined,\n radix = '', placeholderChar = '_', scale = 0, normalizeZeros = false, padFractionalZeros = false,\n mapToRadix = [],
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/mask/index.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from 'react';\nimport _ from 'lodash';\nimport { useIMask } from 'react-imask';\nimport { mergeRefs } from '../../form2/helpers';\nimport * as TextField from '../textfield';\nimport type { MaskFieldProps } from './types';\n\nconst Input = forwardRef<HTMLInputElement, MaskFieldProps>((props, ref) => {\n const { \n mask = '', unmask = true, lazy = true, placeholder = '', autoCompleteMask = undefined,\n radix = '', placeholderChar = '_', scale = 0, normalizeZeros = false, padFractionalZeros = false,\n mapToRadix = [], ...rest\n } = props;\n\n const { ref: inputRef, value, unmaskedValue, setValue } = useIMask({\n mask: mask as string,\n lazy,\n scale,\n radix,\n mapToRadix,\n placeholderChar,\n normalizeZeros,\n padFractionalZeros,\n }, {\n onComplete: (imaskValue, ___, event) => {\n rest?.onComplete?.(imaskValue, event);\n },\n onAccept: (acceptValue, imask, event) => {\n const valueToSet = unmask ? imask.unmaskedValue : imask.value;\n rest?.onAccept?.(valueToSet, event);\n setValue(acceptValue);\n props?.onChange?.({\n ...event,\n target: {\n ...event?.target,\n name: props?.name,\n value: valueToSet,\n },\n } as React.ChangeEvent<HTMLInputElement>);\n },\n });\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (unmaskedValue.trim().length && autoCompleteMask) {\n const currentValue = unmaskedValue;\n const sizeMask = mask?.toString().replace(/\\D+/g, '').length;\n if (sizeMask && sizeMask > currentValue.length) {\n switch (autoCompleteMask) {\n case 'left':\n setValue(currentValue.padStart(sizeMask, '0'));\n break;\n case 'right':\n setValue(currentValue.padEnd(sizeMask, '0'));\n break;\n default:\n setValue(currentValue);\n break;\n }\n }\n }\n rest?.onBlur?.(event);\n };\n\n useEffect(() => {\n if (!_.isNil(props?.value)) { \n setValue(_.toString(props?.value)); \n }\n }, [props?.value]);\n\n return (\n <TextField.Input\n {...rest}\n type=\"text\"\n value={value}\n placeholder={placeholder}\n onBlur={handleBlur}\n onChange={() => { }}\n ref={mergeRefs(ref, inputRef as React.Ref<HTMLInputElement>)} />\n );\n});\n\nInput.displayName = 'MaskInputField';\nexport { Input };\nexport type { MaskFieldProps };\n"],"names":["Input","forwardRef","props","ref","$","_c","rest","t0","t1","t10","t2","t3","t4","t5","t6","t7","t8","t9","mask","unmask","lazy","placeholder","autoCompleteMask","radix","placeholderChar","scale","normalizeZeros","padFractionalZeros","mapToRadix","undefined","t11","t12","t13","t14","imaskValue","___","event","onComplete","inputRef","value","unmaskedValue","setValue","t15","useIMask","onAccept","acceptValue","imask","event_0","valueToSet","onChange","target","name","t16","event_1","trim","length","currentValue","sizeMask","toString","replace","bb101","padStart","padEnd","onBlur","handleBlur","t17","_","isNil","t18","t19","useEffect","t20","t21","mergeRefs","t22","TextField.Input","_temp","displayName"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ var hasRequiredLodash;
|
|
|
13
13
|
function requireLodash() {
|
|
14
14
|
if (hasRequiredLodash) return lodash$1.exports;
|
|
15
15
|
hasRequiredLodash = 1;
|
|
16
|
-
(function(module, exports) {
|
|
16
|
+
(function(module, exports$1) {
|
|
17
17
|
(function() {
|
|
18
18
|
var undefined$1;
|
|
19
19
|
var VERSION = "4.17.21";
|
|
@@ -341,7 +341,7 @@ function requireLodash() {
|
|
|
341
341
|
var freeGlobal = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
342
342
|
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
343
343
|
var root = freeGlobal || freeSelf || Function("return this")();
|
|
344
|
-
var freeExports = exports && !exports.nodeType && exports;
|
|
344
|
+
var freeExports = exports$1 && !exports$1.nodeType && exports$1;
|
|
345
345
|
var freeModule = freeExports && true && module && !module.nodeType && module;
|
|
346
346
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
347
347
|
var freeProcess = moduleExports && freeGlobal.process;
|