linear-react-components-ui 2.3.1-beta.2 → 2.3.1-beta.4
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.
|
@@ -60,8 +60,8 @@ const useForm = ({
|
|
|
60
60
|
const externalPaths = Object.keys(flattenValidators(externalErrorsState));
|
|
61
61
|
externalPaths.forEach((path_3) => {
|
|
62
62
|
const internalFieldErrors = _.get(mergedErrors, path_3) ?? [];
|
|
63
|
-
|
|
64
|
-
_.set(mergedErrors, path_3,
|
|
63
|
+
const externalFieldErrors = _.get(externalErrorsState, path_3) ?? [];
|
|
64
|
+
_.set(mergedErrors, path_3, [...internalFieldErrors, ...externalFieldErrors]);
|
|
65
65
|
});
|
|
66
66
|
return mergedErrors;
|
|
67
67
|
};
|
|
@@ -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 if (internalFieldErrors.length) return;\n _.set(mergedErrors, path, _.get(externalErrorsState, path));\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","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 [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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"}
|
|
@@ -6,7 +6,9 @@ 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(
|
|
9
|
+
const $ = compilerRuntimeExports.c(50);
|
|
10
|
+
let onAccept;
|
|
11
|
+
let onComplete;
|
|
10
12
|
let rest;
|
|
11
13
|
let t0;
|
|
12
14
|
let t1;
|
|
@@ -32,34 +34,40 @@ const Input = forwardRef((props, ref) => {
|
|
|
32
34
|
normalizeZeros: t8,
|
|
33
35
|
padFractionalZeros: t9,
|
|
34
36
|
mapToRadix: t10,
|
|
37
|
+
onComplete,
|
|
38
|
+
onAccept,
|
|
35
39
|
...rest
|
|
36
40
|
} = props);
|
|
37
41
|
$[0] = props;
|
|
38
|
-
$[1] =
|
|
39
|
-
$[2] =
|
|
40
|
-
$[3] =
|
|
41
|
-
$[4] =
|
|
42
|
-
$[5] =
|
|
43
|
-
$[6] =
|
|
44
|
-
$[7] =
|
|
45
|
-
$[8] =
|
|
46
|
-
$[9] =
|
|
47
|
-
$[10] =
|
|
48
|
-
$[11] =
|
|
49
|
-
$[12] =
|
|
42
|
+
$[1] = onAccept;
|
|
43
|
+
$[2] = onComplete;
|
|
44
|
+
$[3] = rest;
|
|
45
|
+
$[4] = t0;
|
|
46
|
+
$[5] = t1;
|
|
47
|
+
$[6] = t10;
|
|
48
|
+
$[7] = t2;
|
|
49
|
+
$[8] = t3;
|
|
50
|
+
$[9] = t4;
|
|
51
|
+
$[10] = t5;
|
|
52
|
+
$[11] = t6;
|
|
53
|
+
$[12] = t7;
|
|
54
|
+
$[13] = t8;
|
|
55
|
+
$[14] = t9;
|
|
50
56
|
} else {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
onAccept = $[1];
|
|
58
|
+
onComplete = $[2];
|
|
59
|
+
rest = $[3];
|
|
60
|
+
t0 = $[4];
|
|
61
|
+
t1 = $[5];
|
|
62
|
+
t10 = $[6];
|
|
63
|
+
t2 = $[7];
|
|
64
|
+
t3 = $[8];
|
|
65
|
+
t4 = $[9];
|
|
66
|
+
t5 = $[10];
|
|
67
|
+
t6 = $[11];
|
|
68
|
+
t7 = $[12];
|
|
69
|
+
t8 = $[13];
|
|
70
|
+
t9 = $[14];
|
|
63
71
|
}
|
|
64
72
|
const mask = t0 === void 0 ? "" : t0;
|
|
65
73
|
const unmask = t1 === void 0 ? true : t1;
|
|
@@ -72,17 +80,17 @@ const Input = forwardRef((props, ref) => {
|
|
|
72
80
|
const normalizeZeros = t8 === void 0 ? false : t8;
|
|
73
81
|
const padFractionalZeros = t9 === void 0 ? false : t9;
|
|
74
82
|
let t11;
|
|
75
|
-
if ($[
|
|
83
|
+
if ($[15] !== t10) {
|
|
76
84
|
t11 = t10 === void 0 ? [] : t10;
|
|
77
|
-
$[
|
|
78
|
-
$[
|
|
85
|
+
$[15] = t10;
|
|
86
|
+
$[16] = t11;
|
|
79
87
|
} else {
|
|
80
|
-
t11 = $[
|
|
88
|
+
t11 = $[16];
|
|
81
89
|
}
|
|
82
90
|
const mapToRadix = t11;
|
|
83
91
|
const t12 = mask;
|
|
84
92
|
let t13;
|
|
85
|
-
if ($[
|
|
93
|
+
if ($[17] !== lazy || $[18] !== mapToRadix || $[19] !== normalizeZeros || $[20] !== padFractionalZeros || $[21] !== placeholderChar || $[22] !== radix || $[23] !== scale || $[24] !== t12) {
|
|
86
94
|
t13 = {
|
|
87
95
|
mask: t12,
|
|
88
96
|
lazy,
|
|
@@ -93,30 +101,31 @@ const Input = forwardRef((props, ref) => {
|
|
|
93
101
|
normalizeZeros,
|
|
94
102
|
padFractionalZeros
|
|
95
103
|
};
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
100
|
-
$[
|
|
101
|
-
$[
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
104
|
+
$[17] = lazy;
|
|
105
|
+
$[18] = mapToRadix;
|
|
106
|
+
$[19] = normalizeZeros;
|
|
107
|
+
$[20] = padFractionalZeros;
|
|
108
|
+
$[21] = placeholderChar;
|
|
109
|
+
$[22] = radix;
|
|
110
|
+
$[23] = scale;
|
|
111
|
+
$[24] = t12;
|
|
112
|
+
$[25] = t13;
|
|
105
113
|
} else {
|
|
106
|
-
t13 = $[
|
|
114
|
+
t13 = $[25];
|
|
107
115
|
}
|
|
108
116
|
let t14;
|
|
109
|
-
if ($[
|
|
117
|
+
if ($[26] !== onComplete) {
|
|
110
118
|
t14 = (imaskValue, ___, event) => {
|
|
111
|
-
|
|
119
|
+
onComplete?.(imaskValue, event);
|
|
112
120
|
};
|
|
113
|
-
$[
|
|
114
|
-
$[
|
|
121
|
+
$[26] = onComplete;
|
|
122
|
+
$[27] = t14;
|
|
115
123
|
} else {
|
|
116
|
-
t14 = $[
|
|
124
|
+
t14 = $[27];
|
|
117
125
|
}
|
|
118
126
|
const {
|
|
119
127
|
ref: inputRef,
|
|
128
|
+
maskRef,
|
|
120
129
|
value,
|
|
121
130
|
unmaskedValue,
|
|
122
131
|
setValue: t15
|
|
@@ -124,7 +133,7 @@ const Input = forwardRef((props, ref) => {
|
|
|
124
133
|
onComplete: t14,
|
|
125
134
|
onAccept: (acceptValue, imask, event_0) => {
|
|
126
135
|
const valueToSet = unmask ? imask.unmaskedValue : imask.value;
|
|
127
|
-
|
|
136
|
+
onAccept?.(valueToSet, event_0);
|
|
128
137
|
setValue(acceptValue);
|
|
129
138
|
props?.onChange?.({
|
|
130
139
|
...event_0,
|
|
@@ -138,20 +147,20 @@ const Input = forwardRef((props, ref) => {
|
|
|
138
147
|
});
|
|
139
148
|
const setValue = t15;
|
|
140
149
|
let t16;
|
|
141
|
-
if ($[
|
|
150
|
+
if ($[28] !== autoCompleteMask || $[29] !== mask || $[30] !== rest || $[31] !== setValue || $[32] !== unmaskedValue) {
|
|
142
151
|
t16 = (event_1) => {
|
|
143
152
|
if (unmaskedValue.trim().length && autoCompleteMask) {
|
|
144
153
|
const currentValue = unmaskedValue;
|
|
145
154
|
const sizeMask = mask?.toString().replace(/\D+/g, "").length;
|
|
146
155
|
if (sizeMask && sizeMask > currentValue.length) {
|
|
147
|
-
|
|
156
|
+
bb95: switch (autoCompleteMask) {
|
|
148
157
|
case "left": {
|
|
149
158
|
setValue(currentValue.padStart(sizeMask, "0"));
|
|
150
|
-
break
|
|
159
|
+
break bb95;
|
|
151
160
|
}
|
|
152
161
|
case "right": {
|
|
153
162
|
setValue(currentValue.padEnd(sizeMask, "0"));
|
|
154
|
-
break
|
|
163
|
+
break bb95;
|
|
155
164
|
}
|
|
156
165
|
default: {
|
|
157
166
|
setValue(currentValue);
|
|
@@ -161,60 +170,67 @@ const Input = forwardRef((props, ref) => {
|
|
|
161
170
|
}
|
|
162
171
|
rest?.onBlur?.(event_1);
|
|
163
172
|
};
|
|
164
|
-
$[
|
|
165
|
-
$[
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
168
|
-
$[
|
|
169
|
-
$[
|
|
173
|
+
$[28] = autoCompleteMask;
|
|
174
|
+
$[29] = mask;
|
|
175
|
+
$[30] = rest;
|
|
176
|
+
$[31] = setValue;
|
|
177
|
+
$[32] = unmaskedValue;
|
|
178
|
+
$[33] = t16;
|
|
170
179
|
} else {
|
|
171
|
-
t16 = $[
|
|
180
|
+
t16 = $[33];
|
|
172
181
|
}
|
|
173
182
|
const handleBlur = t16;
|
|
174
183
|
let t17;
|
|
175
|
-
if ($[
|
|
184
|
+
if ($[34] !== maskRef || $[35] !== props.value || $[36] !== setValue || $[37] !== unmask) {
|
|
176
185
|
t17 = () => {
|
|
177
|
-
if (
|
|
178
|
-
|
|
186
|
+
if (_.isNil(props?.value)) {
|
|
187
|
+
return;
|
|
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);
|
|
179
193
|
}
|
|
180
194
|
};
|
|
181
|
-
$[
|
|
182
|
-
$[
|
|
183
|
-
$[
|
|
195
|
+
$[34] = maskRef;
|
|
196
|
+
$[35] = props.value;
|
|
197
|
+
$[36] = setValue;
|
|
198
|
+
$[37] = unmask;
|
|
199
|
+
$[38] = t17;
|
|
184
200
|
} else {
|
|
185
|
-
t17 = $[
|
|
201
|
+
t17 = $[38];
|
|
186
202
|
}
|
|
187
203
|
const t18 = props?.value;
|
|
188
204
|
let t19;
|
|
189
|
-
if ($[
|
|
205
|
+
if ($[39] !== t18) {
|
|
190
206
|
t19 = [t18];
|
|
191
|
-
$[
|
|
192
|
-
$[
|
|
207
|
+
$[39] = t18;
|
|
208
|
+
$[40] = t19;
|
|
193
209
|
} else {
|
|
194
|
-
t19 = $[
|
|
210
|
+
t19 = $[40];
|
|
195
211
|
}
|
|
196
212
|
useEffect(t17, t19);
|
|
197
213
|
const t20 = inputRef;
|
|
198
214
|
let t21;
|
|
199
|
-
if ($[
|
|
215
|
+
if ($[41] !== ref || $[42] !== t20) {
|
|
200
216
|
t21 = mergeRefs(ref, t20);
|
|
201
|
-
$[
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
217
|
+
$[41] = ref;
|
|
218
|
+
$[42] = t20;
|
|
219
|
+
$[43] = t21;
|
|
204
220
|
} else {
|
|
205
|
-
t21 = $[
|
|
221
|
+
t21 = $[43];
|
|
206
222
|
}
|
|
207
223
|
let t22;
|
|
208
|
-
if ($[
|
|
224
|
+
if ($[44] !== handleBlur || $[45] !== placeholder || $[46] !== rest || $[47] !== t21 || $[48] !== value) {
|
|
209
225
|
t22 = /* @__PURE__ */ jsx(Input$1, { ...rest, type: "text", value, placeholder, onBlur: handleBlur, onChange: _temp, ref: t21 });
|
|
210
|
-
$[
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
213
|
-
$[
|
|
214
|
-
$[
|
|
215
|
-
$[
|
|
226
|
+
$[44] = handleBlur;
|
|
227
|
+
$[45] = placeholder;
|
|
228
|
+
$[46] = rest;
|
|
229
|
+
$[47] = t21;
|
|
230
|
+
$[48] = value;
|
|
231
|
+
$[49] = t22;
|
|
216
232
|
} else {
|
|
217
|
-
t22 = $[
|
|
233
|
+
t22 = $[49];
|
|
218
234
|
}
|
|
219
235
|
return t22;
|
|
220
236
|
});
|
|
@@ -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 = [], ...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
|
|
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 = [], onComplete, onAccept, ...rest\n } = props;\n\n const { ref: inputRef, maskRef, 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 onComplete?.(imaskValue, event);\n },\n onAccept: (acceptValue, imask, event) => {\n const valueToSet = unmask ? imask.unmaskedValue : imask.value;\n 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)) return;\n const externalValue = _.toString(props.value);\n const currentValue = unmask ? maskRef.current?.unmaskedValue : maskRef.current?.value;\n if (externalValue !== currentValue) setValue(externalValue);\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","onAccept","onComplete","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","inputRef","maskRef","value","unmaskedValue","setValue","t15","useIMask","acceptValue","imask","event_0","valueToSet","onChange","target","name","t16","event_1","trim","length","currentValue","sizeMask","toString","replace","bb95","padStart","padEnd","onBlur","handleBlur","t17","_","isNil","externalValue","currentValue_0","current","t18","t19","useEffect","t20","t21","mergeRefs","t22","TextField.Input","_temp","displayName"],"mappings":"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"}
|