linear-react-components-ui 2.4.0-beta.0 → 2.4.0-beta.1

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.
@@ -837,8 +837,8 @@ input::-webkit-inner-spin-button {
837
837
  box-shadow: 0 0 0 2px #6C757D;
838
838
  }
839
839
  .checkbox-field-root .container .input-root .input[data-state-size=small] {
840
- width: 14px;
841
- height: 14px;
840
+ width: 16px;
841
+ height: 16px;
842
842
  }
843
843
  .checkbox-field-root .container .input-root .input[data-state-size=default] {
844
844
  width: 18px;
@@ -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[]>) => void;
132
+ setExternalErrors: (errors: Record<string, string[] | null | undefined>) => void;
133
133
  }
@@ -10,6 +10,7 @@ const useForm = ({
10
10
  }) => {
11
11
  const [values, setValues] = useState(initialValues);
12
12
  const [errors, setErrors] = useState({});
13
+ const [externalErrors, setExternalErrorsState] = useState({});
13
14
  const [changed, setChanged] = useState({});
14
15
  const [touched, setTouched] = useState({});
15
16
  const fieldsRef = useRef({});
@@ -54,18 +55,27 @@ const useForm = ({
54
55
  return fieldValidators_1.every((validator_1) => !validator_1(value_1, values));
55
56
  });
56
57
  };
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);
57
69
  const getFieldError = (name) => {
58
- const fieldErrors_1 = _.get(errors, name) ?? [];
70
+ const fieldErrors_1 = _.get(allErrors, name) ?? [];
59
71
  return fieldErrors_1;
60
72
  };
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;
73
+ const setExternalErrors = (newExternalErrors) => {
74
+ const newExternalErrorsState = {};
75
+ Object.entries(newExternalErrors ?? {}).forEach(([key, value_2]) => {
76
+ if (!_.isEmpty(value_2)) _.set(newExternalErrorsState, key, value_2);
68
77
  });
78
+ setExternalErrorsState(newExternalErrorsState);
69
79
  };
70
80
  const getFieldValue = (name_0) => {
71
81
  return _.get(values, name_0);
@@ -97,18 +107,21 @@ const useForm = ({
97
107
  const compareField = (name_3, valueToCompare_0) => {
98
108
  return _.isEqual(_.get(values, name_3), valueToCompare_0);
99
109
  };
100
- const cleanErrors = (fieldsToClean) => {
101
- if (!fieldsToClean) {
110
+ const unsetErrorPaths = (errorsState, fieldsToClean) => {
111
+ const newErrorsState = _.cloneDeep(errorsState);
112
+ fieldsToClean.forEach((key_0) => {
113
+ _.unset(newErrorsState, key_0);
114
+ });
115
+ return newErrorsState;
116
+ };
117
+ const cleanErrors = (fieldsToClean_0) => {
118
+ if (!fieldsToClean_0) {
102
119
  setErrors({});
120
+ setExternalErrorsState({});
103
121
  return;
104
122
  }
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
- });
123
+ setErrors((prevErrorsState_0) => unsetErrorPaths(prevErrorsState_0, fieldsToClean_0));
124
+ setExternalErrorsState((prevErrorsState_1) => unsetErrorPaths(prevErrorsState_1, fieldsToClean_0));
112
125
  };
113
126
  const reset = (inputsToReset, internalReset) => {
114
127
  const newValuesState = _.cloneDeep(values);
@@ -125,15 +138,11 @@ const useForm = ({
125
138
  setTouched(newTouchedState);
126
139
  setChanged(newChangedState);
127
140
  if (inputsToReset) {
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
- });
141
+ setErrors((prevErrorsState_2) => unsetErrorPaths(prevErrorsState_2, inputsToReset));
142
+ setExternalErrorsState((prevErrorsState_3) => unsetErrorPaths(prevErrorsState_3, inputsToReset));
135
143
  } else {
136
144
  setErrors({});
145
+ setExternalErrorsState({});
137
146
  }
138
147
  if (!internalReset) {
139
148
  valuesToCompareInChangedRef.current = initialValuesRef.current;
@@ -159,7 +168,7 @@ const useForm = ({
159
168
  fieldsRef.current[name_4] = inputElement;
160
169
  }, ref),
161
170
  value: _.get(values, name_4, _.get(initialValuesRef.current, name_4, "")),
162
- errors: _.get(errors, name_4, []),
171
+ errors: _.get(allErrors, name_4, []),
163
172
  onChange: (event) => {
164
173
  const {
165
174
  value: value_4
@@ -197,7 +206,6 @@ const useForm = ({
197
206
  };
198
207
  const handleSubmit = (callback) => (event_1) => {
199
208
  event_1.preventDefault();
200
- event_1.stopPropagation?.();
201
209
  const validationErrors = validateAllFields();
202
210
  const hasErrors_0 = !_.isEmpty(validationErrors);
203
211
  if (hasErrors_0) return;
@@ -209,7 +217,7 @@ const useForm = ({
209
217
  reset,
210
218
  changed,
211
219
  values,
212
- errors,
220
+ errors: allErrors,
213
221
  touched,
214
222
  isValid,
215
223
  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 [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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"}
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(46);
9
+ const $ = compilerRuntimeExports.c(51);
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] = 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;
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
- 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];
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 ($[13] !== t10) {
83
+ if ($[15] !== t10) {
76
84
  t11 = t10 === void 0 ? [] : t10;
77
- $[13] = t10;
78
- $[14] = t11;
85
+ $[15] = t10;
86
+ $[16] = t11;
79
87
  } else {
80
- t11 = $[14];
88
+ t11 = $[16];
81
89
  }
82
90
  const mapToRadix = t11;
83
91
  const t12 = mask;
84
92
  let t13;
85
- if ($[15] !== lazy || $[16] !== mapToRadix || $[17] !== normalizeZeros || $[18] !== padFractionalZeros || $[19] !== placeholderChar || $[20] !== radix || $[21] !== scale || $[22] !== t12) {
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,38 +101,40 @@ const Input = forwardRef((props, ref) => {
93
101
  normalizeZeros,
94
102
  padFractionalZeros
95
103
  };
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;
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 = $[23];
114
+ t13 = $[25];
107
115
  }
108
116
  let t14;
109
- if ($[24] !== rest) {
110
- t14 = (imaskValue, ___, event) => {
111
- rest?.onComplete?.(imaskValue, event);
117
+ if ($[26] !== onComplete || $[27] !== unmask) {
118
+ t14 = (imaskValue, imask, event) => {
119
+ onComplete?.(unmask ? imask.unmaskedValue : imaskValue, event);
112
120
  };
113
- $[24] = rest;
114
- $[25] = t14;
121
+ $[26] = onComplete;
122
+ $[27] = unmask;
123
+ $[28] = t14;
115
124
  } else {
116
- t14 = $[25];
125
+ t14 = $[28];
117
126
  }
118
127
  const {
119
128
  ref: inputRef,
129
+ maskRef,
120
130
  value,
121
131
  unmaskedValue,
122
132
  setValue: t15
123
133
  } = useIMask(t13, {
124
134
  onComplete: t14,
125
- onAccept: (acceptValue, imask, event_0) => {
126
- const valueToSet = unmask ? imask.unmaskedValue : imask.value;
127
- rest?.onAccept?.(valueToSet, event_0);
135
+ onAccept: (acceptValue, imask_0, event_0) => {
136
+ const valueToSet = unmask ? imask_0.unmaskedValue : imask_0.value;
137
+ onAccept?.(valueToSet, event_0);
128
138
  setValue(acceptValue);
129
139
  props?.onChange?.({
130
140
  ...event_0,
@@ -138,20 +148,20 @@ const Input = forwardRef((props, ref) => {
138
148
  });
139
149
  const setValue = t15;
140
150
  let t16;
141
- if ($[26] !== autoCompleteMask || $[27] !== mask || $[28] !== rest || $[29] !== setValue || $[30] !== unmaskedValue) {
151
+ if ($[29] !== autoCompleteMask || $[30] !== mask || $[31] !== rest || $[32] !== setValue || $[33] !== unmaskedValue) {
142
152
  t16 = (event_1) => {
143
153
  if (unmaskedValue.trim().length && autoCompleteMask) {
144
154
  const currentValue = unmaskedValue;
145
155
  const sizeMask = mask?.toString().replace(/\D+/g, "").length;
146
156
  if (sizeMask && sizeMask > currentValue.length) {
147
- bb101: switch (autoCompleteMask) {
157
+ bb99: switch (autoCompleteMask) {
148
158
  case "left": {
149
159
  setValue(currentValue.padStart(sizeMask, "0"));
150
- break bb101;
160
+ break bb99;
151
161
  }
152
162
  case "right": {
153
163
  setValue(currentValue.padEnd(sizeMask, "0"));
154
- break bb101;
164
+ break bb99;
155
165
  }
156
166
  default: {
157
167
  setValue(currentValue);
@@ -161,60 +171,67 @@ const Input = forwardRef((props, ref) => {
161
171
  }
162
172
  rest?.onBlur?.(event_1);
163
173
  };
164
- $[26] = autoCompleteMask;
165
- $[27] = mask;
166
- $[28] = rest;
167
- $[29] = setValue;
168
- $[30] = unmaskedValue;
169
- $[31] = t16;
174
+ $[29] = autoCompleteMask;
175
+ $[30] = mask;
176
+ $[31] = rest;
177
+ $[32] = setValue;
178
+ $[33] = unmaskedValue;
179
+ $[34] = t16;
170
180
  } else {
171
- t16 = $[31];
181
+ t16 = $[34];
172
182
  }
173
183
  const handleBlur = t16;
174
184
  let t17;
175
- if ($[32] !== props.value || $[33] !== setValue) {
185
+ if ($[35] !== maskRef || $[36] !== props.value || $[37] !== setValue || $[38] !== unmask) {
176
186
  t17 = () => {
177
- if (!_.isNil(props?.value)) {
178
- setValue(_.toString(props?.value));
187
+ if (_.isNil(props?.value)) {
188
+ return;
189
+ }
190
+ const externalValue = _.toString(props.value);
191
+ const currentValue_0 = unmask ? maskRef.current?.unmaskedValue : maskRef.current?.value;
192
+ if (externalValue !== currentValue_0) {
193
+ setValue(externalValue);
179
194
  }
180
195
  };
181
- $[32] = props.value;
182
- $[33] = setValue;
183
- $[34] = t17;
196
+ $[35] = maskRef;
197
+ $[36] = props.value;
198
+ $[37] = setValue;
199
+ $[38] = unmask;
200
+ $[39] = t17;
184
201
  } else {
185
- t17 = $[34];
202
+ t17 = $[39];
186
203
  }
187
204
  const t18 = props?.value;
188
205
  let t19;
189
- if ($[35] !== t18) {
206
+ if ($[40] !== t18) {
190
207
  t19 = [t18];
191
- $[35] = t18;
192
- $[36] = t19;
208
+ $[40] = t18;
209
+ $[41] = t19;
193
210
  } else {
194
- t19 = $[36];
211
+ t19 = $[41];
195
212
  }
196
213
  useEffect(t17, t19);
197
214
  const t20 = inputRef;
198
215
  let t21;
199
- if ($[37] !== ref || $[38] !== t20) {
216
+ if ($[42] !== ref || $[43] !== t20) {
200
217
  t21 = mergeRefs(ref, t20);
201
- $[37] = ref;
202
- $[38] = t20;
203
- $[39] = t21;
218
+ $[42] = ref;
219
+ $[43] = t20;
220
+ $[44] = t21;
204
221
  } else {
205
- t21 = $[39];
222
+ t21 = $[44];
206
223
  }
207
224
  let t22;
208
- if ($[40] !== handleBlur || $[41] !== placeholder || $[42] !== rest || $[43] !== t21 || $[44] !== value) {
225
+ if ($[45] !== handleBlur || $[46] !== placeholder || $[47] !== rest || $[48] !== t21 || $[49] !== value) {
209
226
  t22 = /* @__PURE__ */ jsx(Input$1, { ...rest, type: "text", value, placeholder, onBlur: handleBlur, onChange: _temp, ref: t21 });
210
- $[40] = handleBlur;
211
- $[41] = placeholder;
212
- $[42] = rest;
213
- $[43] = t21;
214
- $[44] = value;
215
- $[45] = t22;
227
+ $[45] = handleBlur;
228
+ $[46] = placeholder;
229
+ $[47] = rest;
230
+ $[48] = t21;
231
+ $[49] = value;
232
+ $[50] = t22;
216
233
  } else {
217
- t22 = $[45];
234
+ t22 = $[50];
218
235
  }
219
236
  return t22;
220
237
  });
@@ -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 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":";;;;;;;AAOA,MAAMA,QAAQC,WAA6C,CAAAC,OAAAC,QAAA;AAAA,QAAAC,IAAAC,uBAAAA,EAAA,EAAA;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAb,SAAAF,OAAA;AACzD,KAAA;AAAA,MAAAgB,MAAAX;AAAAA,MAAAY,QAAAX;AAAAA,MAAAY,MAAAV;AAAAA,MAAAW,aAAAV;AAAAA,MAAAW,kBAAAV;AAAAA,MAAAW,OAAAV;AAAAA,MAAAW,iBAAAV;AAAAA,MAAAW,OAAAV;AAAAA,MAAAW,gBAAAV;AAAAA,MAAAW,oBAAAV;AAAAA,MAAAW,YAAAnB;AAAAA,MAAA,GAAAH;AAAAA,IAAAA,IAIIJ;AAAME,WAAAF;AAAAE,WAAAE;AAAAF,WAAAG;AAAAH,WAAAI;AAAAJ,WAAAK;AAAAL,WAAAM;AAAAN,WAAAO;AAAAP,WAAAQ;AAAAR,WAAAS;AAAAT,WAAAU;AAAAV,YAAAW;AAAAX,YAAAY;AAAAZ,YAAAa;AAAAA,EAAA,OAAA;AAAAX,WAAAF,EAAA,CAAA;AAAAG,SAAAH,EAAA,CAAA;AAAAI,SAAAJ,EAAA,CAAA;AAAAK,UAAAL,EAAA,CAAA;AAAAM,SAAAN,EAAA,CAAA;AAAAO,SAAAP,EAAA,CAAA;AAAAQ,SAAAR,EAAA,CAAA;AAAAS,SAAAT,EAAA,CAAA;AAAAU,SAAAV,EAAA,CAAA;AAAAW,SAAAX,EAAA,EAAA;AAAAY,SAAAZ,EAAA,EAAA;AAAAa,SAAAb,EAAA,EAAA;AAAA,EAAA;AAHR,QAAAc,OAAAX,OAAAsB,SAAA,KAAAtB;AAAW,QAAAY,SAAAX,OAAAqB,SAAA,OAAArB;AAAe,QAAAY,OAAAV,OAAAmB,SAAA,OAAAnB;AAAa,QAAAW,cAAAV,OAAAkB,SAAA,KAAAlB;AAAkB,QAAAW,mBAAAV,OAAAiB,SAAAA,SAAAjB;AACzD,QAAAW,QAAAV,OAAAgB,SAAA,KAAAhB;AAAY,QAAAW,kBAAAV,OAAAe,SAAA,MAAAf;AAAuB,QAAAW,QAAAV,OAAAc,SAAA,IAAAd;AAAW,QAAAW,iBAAAV,OAAAa,SAAA,QAAAb;AAAwB,QAAAW,qBAAAV,OAAAY,SAAA,QAAAZ;AAA0B,MAAAa;AAAA,MAAA1B,UAAAK,KAAA;AAChGqB,UAAArB,QAAAoB,SAAA,CAAA,IAAApB;AAAeL,YAAAK;AAAAL,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,UAAA1B,EAAA,EAAA;AAAA,EAAA;AAAf,QAAAwB,aAAAE;AAIM,QAAAC,MAAAb;AAAc,MAAAc;AAAA,MAAA5B,EAAA,EAAA,MAAAgB,QAAAhB,EAAA,EAAA,MAAAwB,cAAAxB,EAAA,EAAA,MAAAsB,kBAAAtB,EAAA,EAAA,MAAAuB,sBAAAvB,EAAA,EAAA,MAAAoB,mBAAApB,EAAA,EAAA,MAAAmB,SAAAnB,EAAA,EAAA,MAAAqB,SAAArB,UAAA2B,KAAA;AAD6CC,UAAA;AAAA,MAAAd,MAC3Da;AAAAA,MAAcX;AAAAA,MAAAK;AAAAA,MAAAF;AAAAA,MAAAK;AAAAA,MAAAJ;AAAAA,MAAAE;AAAAA,MAAAC;AAAAA,IAAAA;AAQrBvB,YAAAgB;AAAAhB,YAAAwB;AAAAxB,YAAAsB;AAAAtB,YAAAuB;AAAAvB,YAAAoB;AAAApB,YAAAmB;AAAAnB,YAAAqB;AAAArB,YAAA2B;AAAA3B,YAAA4B;AAAAA,EAAA,OAAA;AAAAA,UAAA5B,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA6B;AAAA,MAAA7B,UAAAE,MAAA;AACa2B,UAAAA,CAAAC,YAAAC,KAAAC,UAAA;AACV9B,YAAI+B,aAAeH,YAAYE,KAAK;AAAA,IAAC;AACtChC,YAAAE;AAAAF,YAAA6B;AAAAA,EAAA,OAAA;AAAAA,UAAA7B,EAAA,EAAA;AAAA,EAAA;AAZH,QAAA;AAAA,IAAAD,KAAAmC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC,UAAAC;AAAAA,EAAAA,IAA0DC,SAASX,KAShE;AAAA,IAAAK,YACWJ;AAAAA,IAEXW,UACSA,CAAAC,aAAAC,OAAAC,YAAA;AACR,YAAAC,aAAmB7B,SAAS2B,MAAKN,gBAAiBM,MAAKP;AACvDjC,YAAIsC,WAAaI,YAAYZ,OAAK;AAClCK,eAASI,WAAW;AACpB3C,aAAK+C,WAAa;AAAA,QAAA,GACbb;AAAAA,QAAKc,QACA;AAAA,UAAA,GACHd,SAAKc;AAAAA,UAAQC,MACVjD,OAAKiD;AAAAA,UAAMZ,OACVS;AAAAA,QAAAA;AAAAA,MACT,CACsC;AAAA,IAAC;AAAA,EAAA,CAE5C;AA1B4CP,QAAAA,WAAAA;AAAQ,MAAAW;AAAA,MAAAhD,EAAA,EAAA,MAAAkB,oBAAAlB,EAAA,EAAA,MAAAc,QAAAd,EAAA,EAAA,MAAAE,QAAAF,EAAA,EAAA,MAAAqC,YAAArC,UAAAoC,eAAA;AA4BlCY,UAAAC,CAAAA,YAAA;AACjB,UAAIb,cAAac,OAAOC,UAApBjC,kBAA+C;AACjD,cAAAkC,eAAqBhB;AACrB,cAAAiB,WAAiBvC,MAAIwC,SAAAA,EAAoBC,QAAC,QAAQ,EAAS,EAACJ;AAC5D,YAAIE,YAAYA,WAAWD,aAAYD,QAAO;AAAAK,yBACpCtC,kBAAAA;AAAAA,YAAgB,KACjB,QAAM;AACTmB,uBAASe,aAAYK,SAAUJ,UAAU,GAAG,CAAC;AAC7C,oBAAAG;AAAAA,YAAM;AAAA,YAAA,KACH,SAAO;AACVnB,uBAASe,aAAYM,OAAQL,UAAU,GAAG,CAAC;AAC3C,oBAAAG;AAAAA,YAAM;AAAA,YAAA,SAAA;AAENnB,uBAASe,YAAY;AAAA,YAAC;AAAA,UAAA;AAAA,QAEzB;AAAA,MACF;AAEHlD,YAAIyD,SAAW3B,OAAK;AAAA,IAAC;AACtBhC,YAAAkB;AAAAlB,YAAAc;AAAAd,YAAAE;AAAAF,YAAAqC;AAAArC,YAAAoC;AAAApC,YAAAgD;AAAAA,EAAA,OAAA;AAAAA,UAAAhD,EAAA,EAAA;AAAA,EAAA;AAnBD,QAAA4D,aAAmBZ;AAmBjB,MAAAa;AAAA,MAAA7D,UAAAF,MAAAqC,SAAAnC,UAAAqC,UAAA;AAEQwB,UAAAA,MAAA;AACR,UAAI,CAACC,EAACC,MAAOjE,OAAKqC,KAAO,GAAC;AACxBE,iBAASyB,EAACR,SAAUxD,OAAKqC,KAAO,CAAC;AAAA,MAAC;AAAA,IACnC;AACFnC,MAAA,EAAA,IAAAF,MAAAqC;AAAAnC,YAAAqC;AAAArC,YAAA6D;AAAAA,EAAA,OAAA;AAAAA,UAAA7D,EAAA,EAAA;AAAA,EAAA;AAAG,QAAAgE,MAAAlE,OAAKqC;AAAO,MAAA8B;AAAA,MAAAjE,UAAAgE,KAAA;AAAbC,UAAA,CAACD,GAAY;AAAChE,YAAAgE;AAAAhE,YAAAiE;AAAAA,EAAA,OAAA;AAAAA,UAAAjE,EAAA,EAAA;AAAA,EAAA;AAJjBkE,YAAUL,KAIPI,GAAc;AAUO,QAAAE,MAAAjC;AAAuC,MAAAkC;AAAA,MAAApE,EAAA,EAAA,MAAAD,OAAAC,UAAAmE,KAAA;AAAtDC,UAAAC,UAAUtE,KAAKoE,GAAuC;AAACnE,YAAAD;AAAAC,YAAAmE;AAAAnE,YAAAoE;AAAAA,EAAA,OAAA;AAAAA,UAAApE,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAsE;AAAA,MAAAtE,EAAA,EAAA,MAAA4D,cAAA5D,EAAA,EAAA,MAAAiB,eAAAjB,EAAA,EAAA,MAAAE,QAAAF,EAAA,EAAA,MAAAoE,OAAApE,UAAAmC,OAAA;AAP9DmC,UAAA,oBAAAC,SAAA,EAAA,GACMrE,MACC,MAAA,QACEiC,OACMlB,aACL2C,QAAAA,YACE,UAAAY,OACL,KAAAJ,KAAuD;AAAIpE,YAAA4D;AAAA5D,YAAAiB;AAAAjB,YAAAE;AAAAF,YAAAoE;AAAApE,YAAAmC;AAAAnC,YAAAsE;AAAAA,EAAA,OAAA;AAAAA,UAAAtE,EAAA,EAAA;AAAA,EAAA;AAAA,SAPlEsE;AAOkE,CAErE;AAED1E,MAAM6E,cAAc;AA1EuC,SAAAD,QAAA;AAAA;"}
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, imask, event) => {\n onComplete?.(unmask ? imask.unmaskedValue : 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","imask","event","unmaskedValue","inputRef","maskRef","value","setValue","t15","useIMask","acceptValue","imask_0","event_0","valueToSet","onChange","target","name","t16","event_1","trim","length","currentValue","sizeMask","toString","replace","bb99","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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"}
@@ -101,7 +101,7 @@ const Item = forwardRef((props, ref) => {
101
101
  const t6 = props["aria-hidden"] || !hasPartOfFilter;
102
102
  let t7;
103
103
  if ($[20] !== ariaSelected || $[21] !== disabled || $[22] !== hasFocus || $[23] !== isMultipleWithCheckboxes || $[24] !== props.label || $[25] !== props.value || $[26] !== readOnly) {
104
- t7 = isMultipleWithCheckboxes && /* @__PURE__ */ jsx(Input, { rounded: true, disabled, readOnly, checked: ariaSelected, size: "default", variant: "secondary", "data-state-in-focus-select-field": hasFocus, name: String(props.label).concat("-").concat(props.value) });
104
+ t7 = isMultipleWithCheckboxes && /* @__PURE__ */ jsx(Input, { rounded: true, disabled, readOnly, checked: ariaSelected, size: "small", variant: "secondary", "data-state-in-focus-select-field": hasFocus, name: String(props.label).concat("-").concat(props.value) });
105
105
  $[20] = ariaSelected;
106
106
  $[21] = disabled;
107
107
  $[22] = hasFocus;
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../src/lib/inputs2/selectfield/item.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, forwardRef, MouseEvent, ReactNode } from 'react';\nimport * as Checkbox from '../checkboxfield';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemProps extends ComponentProps<'li'> {\n value: any;\n label: string;\n disabled?: boolean;\n readOnly?: boolean;\n children: ReactNode;\n}\n\nconst Item = forwardRef<HTMLLIElement, SelectFieldItemProps>(\n (props, ref) => {\n const { disabled, readOnly, children } = props;\n const {\n striped, filterValue, valueSelect, activeDescendant, handleOnChange, handleChangeLiSelected,\n isMultipleSelect, isMultipleDefault, isMultipleWithCheckboxes,\n } = useSelectFieldContext();\n\n const valueToString = _.toString(props.value);\n const hasFocus = Boolean(activeDescendant === valueToString);\n const ariaSelected = !isMultipleSelect ?\n Boolean(props.value === valueSelect)\n : [...valueSelect].includes(props.value);\n const addOrRemove = !isMultipleSelect ? undefined : ariaSelected;\n const hasPartOfFilter = Boolean(\n String(props.label)\n .toLowerCase()\n .includes(filterValue?.toString().toLowerCase() ?? ''),\n );\n\n const handleOnClickItem = (event: MouseEvent<HTMLLIElement>) => {\n if (isMultipleDefault && ariaSelected) event.preventDefault();\n else { handleOnChange?.(props.value, props.label, addOrRemove); }\n };\n\n return (\n <li\n ref={(el) => {\n if (el) {\n if (ariaSelected) { handleChangeLiSelected(el); }\n if (typeof ref === 'function') {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }\n }}\n key={props.value}\n id={props.value}\n hidden={props.hidden || !hasPartOfFilter}\n tabIndex={-1}\n title={props.label}\n aria-label={props.label}\n aria-selected={ariaSelected}\n aria-hidden={props['aria-hidden'] || !hasPartOfFilter}\n aria-disabled={disabled}\n data-content-value={props.value}\n data-content-label={props.label}\n data-state-striped={striped}\n data-state-in-focus={hasFocus}\n data-state-filtered={hasPartOfFilter}\n data-state-multiple-with-default={isMultipleDefault}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n data-testid=\"test-select-field-listbox-item\"\n role=\"option\"\n onClick={handleOnClickItem}\n onMouseDown={(event) => { event.preventDefault(); }}\n {...props}>\n {isMultipleWithCheckboxes && (\n <Checkbox.Input\n rounded\n disabled={disabled}\n readOnly={readOnly}\n checked={ariaSelected}\n size=\"default\"\n variant=\"secondary\"\n data-state-in-focus-select-field={hasFocus}\n name={String(props.label).concat('-').concat(props.value)} />\n )}\n {children}\n </li>\n );\n },\n);\n\nItem.displayName = 'SelectFieldItem';\nexport { Item };\nexport type { SelectFieldItemProps };\n"],"names":["Item","forwardRef","props","ref","$","_c","disabled","readOnly","children","striped","filterValue","valueSelect","activeDescendant","handleOnChange","handleChangeLiSelected","isMultipleSelect","isMultipleDefault","isMultipleWithCheckboxes","useSelectFieldContext","t0","value","_","toString","valueToString","hasFocus","Boolean","t1","includes","ariaSelected","addOrRemove","undefined","t2","label","String","toLowerCase","hasPartOfFilter","t3","event","preventDefault","handleOnClickItem","t4","el","current","t5","hidden","t6","t7","Checkbox.Input","concat","t8","_temp","displayName","event_0"],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sources":["../../../src/lib/inputs2/selectfield/item.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, forwardRef, MouseEvent, ReactNode } from 'react';\nimport * as Checkbox from '../checkboxfield';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemProps extends ComponentProps<'li'> {\n value: any;\n label: string;\n disabled?: boolean;\n readOnly?: boolean;\n children: ReactNode;\n}\n\nconst Item = forwardRef<HTMLLIElement, SelectFieldItemProps>(\n (props, ref) => {\n const { disabled, readOnly, children } = props;\n const {\n striped, filterValue, valueSelect, activeDescendant, handleOnChange, handleChangeLiSelected,\n isMultipleSelect, isMultipleDefault, isMultipleWithCheckboxes,\n } = useSelectFieldContext();\n\n const valueToString = _.toString(props.value);\n const hasFocus = Boolean(activeDescendant === valueToString);\n const ariaSelected = !isMultipleSelect ?\n Boolean(props.value === valueSelect)\n : [...valueSelect].includes(props.value);\n const addOrRemove = !isMultipleSelect ? undefined : ariaSelected;\n const hasPartOfFilter = Boolean(\n String(props.label)\n .toLowerCase()\n .includes(filterValue?.toString().toLowerCase() ?? ''),\n );\n\n const handleOnClickItem = (event: MouseEvent<HTMLLIElement>) => {\n if (isMultipleDefault && ariaSelected) event.preventDefault();\n else { handleOnChange?.(props.value, props.label, addOrRemove); }\n };\n\n return (\n <li\n ref={(el) => {\n if (el) {\n if (ariaSelected) { handleChangeLiSelected(el); }\n if (typeof ref === 'function') {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }\n }}\n key={props.value}\n id={props.value}\n hidden={props.hidden || !hasPartOfFilter}\n tabIndex={-1}\n title={props.label}\n aria-label={props.label}\n aria-selected={ariaSelected}\n aria-hidden={props['aria-hidden'] || !hasPartOfFilter}\n aria-disabled={disabled}\n data-content-value={props.value}\n data-content-label={props.label}\n data-state-striped={striped}\n data-state-in-focus={hasFocus}\n data-state-filtered={hasPartOfFilter}\n data-state-multiple-with-default={isMultipleDefault}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n data-testid=\"test-select-field-listbox-item\"\n role=\"option\"\n onClick={handleOnClickItem}\n onMouseDown={(event) => { event.preventDefault(); }}\n {...props}>\n {isMultipleWithCheckboxes && (\n <Checkbox.Input\n rounded\n disabled={disabled}\n readOnly={readOnly}\n checked={ariaSelected}\n size=\"small\"\n variant=\"secondary\"\n data-state-in-focus-select-field={hasFocus}\n name={String(props.label).concat('-').concat(props.value)} />\n )}\n {children}\n </li>\n );\n },\n);\n\nItem.displayName = 'SelectFieldItem';\nexport { Item };\nexport type { SelectFieldItemProps };\n"],"names":["Item","forwardRef","props","ref","$","_c","disabled","readOnly","children","striped","filterValue","valueSelect","activeDescendant","handleOnChange","handleChangeLiSelected","isMultipleSelect","isMultipleDefault","isMultipleWithCheckboxes","useSelectFieldContext","t0","value","_","toString","valueToString","hasFocus","Boolean","t1","includes","ariaSelected","addOrRemove","undefined","t2","label","String","toLowerCase","hasPartOfFilter","t3","event","preventDefault","handleOnClickItem","t4","el","current","t5","hidden","t6","t7","Checkbox.Input","concat","t8","_temp","displayName","event_0"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ComponentProps } from 'react';
2
- import { UseScrollEndReachedParams } from 'src/lib/hooks/useScrollEndReached/types';
2
+ import { UseScrollEndReachedParams } from '../../hooks/useScrollEndReached/types';
3
3
  interface SelectFieldListBoxProps extends ComponentProps<'div'>, UseScrollEndReachedParams {
4
4
  dropdownMaxWidth?: number;
5
5
  }