react-form-manage 1.0.5 → 1.0.6-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.
Files changed (60) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/components/Form/FormCleanUp.d.ts +2 -0
  3. package/dist/components/Form/FormCleanUp.js +46 -0
  4. package/dist/components/Form/FormItem.d.ts +18 -0
  5. package/dist/components/Form/FormItem.js +46 -0
  6. package/dist/components/Form/FormList.d.ts +8 -0
  7. package/dist/components/Form/FormList.js +11 -0
  8. package/dist/components/Form/InputWrapper.d.ts +6 -0
  9. package/dist/components/Form/InputWrapper.js +7 -0
  10. package/dist/components/Input.d.ts +5 -0
  11. package/dist/components/Input.js +8 -0
  12. package/dist/constants/validation.d.ts +31 -0
  13. package/dist/constants/validation.js +33 -0
  14. package/dist/contexts/FormContext.d.ts +2 -0
  15. package/dist/contexts/FormContext.js +2 -0
  16. package/dist/hooks/useFormItemControl.d.ts +22 -0
  17. package/dist/hooks/useFormItemControl.js +390 -0
  18. package/dist/hooks/useFormListControl.d.ts +26 -0
  19. package/dist/hooks/useFormListControl.js +280 -0
  20. package/dist/index.d.ts +8 -134
  21. package/dist/index.js +9 -0
  22. package/dist/providers/Form.d.ts +28 -0
  23. package/dist/providers/Form.js +322 -0
  24. package/dist/stores/formStore.d.ts +25 -0
  25. package/dist/stores/formStore.js +304 -0
  26. package/dist/types/index.d.ts +1 -0
  27. package/dist/types/index.js +1 -0
  28. package/dist/types/public.d.ts +51 -0
  29. package/dist/types/public.js +1 -0
  30. package/dist/utils/obj.util.d.ts +2 -0
  31. package/dist/utils/obj.util.js +24 -0
  32. package/package.json +30 -47
  33. package/src/App.css +49 -0
  34. package/src/App.tsx +36 -0
  35. package/src/assets/react.svg +1 -0
  36. package/src/components/Form/FormCleanUp.tsx +57 -0
  37. package/src/components/Form/FormItem.tsx +60 -0
  38. package/src/components/Form/FormList.tsx +13 -0
  39. package/src/components/Form/InputWrapper.tsx +17 -0
  40. package/src/components/Input.jsx +13 -0
  41. package/src/components/Input.tsx +21 -0
  42. package/src/constants/validation.ts +63 -0
  43. package/src/contexts/FormContext.ts +3 -0
  44. package/src/hooks/useFormItemControl.ts +558 -0
  45. package/src/hooks/useFormListControl.ts +378 -0
  46. package/src/index.css +68 -0
  47. package/src/index.ts +30 -0
  48. package/src/main.tsx +10 -0
  49. package/src/providers/Form.tsx +429 -0
  50. package/src/stores/formStore.ts +477 -0
  51. package/src/types/index.ts +1 -0
  52. package/src/types/public.ts +50 -0
  53. package/src/utils/obj.util.ts +42 -0
  54. package/dist/index.cjs +0 -1937
  55. package/dist/index.cjs.d.ts +0 -1
  56. package/dist/index.cjs.map +0 -1
  57. package/dist/index.esm.d.ts +0 -1
  58. package/dist/index.esm.js +0 -1926
  59. package/dist/index.esm.js.map +0 -1
  60. package/src/types/components.d.ts +0 -135
@@ -1 +0,0 @@
1
- export * from './index';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/utils/obj.util.js","../src/stores/formStore.js","../src/components/Form/FormCleanUp.jsx","../src/providers/Form.jsx","../src/constants/validation.js","../src/hooks/useFormItemControl.js","../src/components/Form/FormItem.jsx","../src/hooks/useFormListControl.js","../src/components/Form/FormList.jsx","../src/components/Input.jsx","../src/components/Form/InputWrapper.jsx"],"sourcesContent":["import { filter, isNil, join } from \"lodash\";\n\nexport function getAllNoneObjStringPath(value, prevPath) {\n if (typeof value === \"object\") {\n return Object.keys(value).reduce((prev, cur) => {\n return [\n ...prev,\n\n ...getAllNoneObjStringPath(\n value[cur],\n join(\n filter([prevPath, cur], (v) => !isNil(v) && v !== \"\"),\n \".\"\n )\n ),\n ];\n }, []);\n }\n return [prevPath];\n}\n\nexport function getAllStringPath(value, prevPath) {\n if (typeof value === \"object\") {\n return Object.keys(value).reduce((prev, cur) => {\n return [\n ...prev,\n join(\n filter([prevPath, cur], (v) => !isNil(v) && v !== \"\"),\n \".\"\n ),\n ...getAllStringPath(\n value[cur],\n join(\n filter([prevPath, cur], (v) => !isNil(v) && v !== \"\"),\n \".\"\n )\n ),\n ];\n }, []);\n }\n return [];\n}\n","import { produce } from \"immer\";\nimport { cloneDeep, get, isNil, isNumber, last, set, unset } from \"lodash\";\nimport { v4 } from \"uuid\";\nimport { create } from \"zustand\";\nimport { getAllNoneObjStringPath } from \"../utils/obj.util\";\nexport const useFormStore = create((storeSet, storeGet) => ({\n forms: {},\n initialValues: {},\n formStates: {},\n cacheData: {},\n formInstances: [],\n submitHistory: {},\n setData(formName, name, value) {\n return storeSet(\n produce((state) => {\n const oldValues = state.forms;\n set(oldValues, `${formName}.${name}`, value);\n }),\n );\n },\n\n getCacheData(formName) {\n return get(storeGet(), `cacheData.${formName}`);\n },\n\n setCacheData(formName, name, value) {\n return storeSet(\n produce((state) => {\n const oldValues = state.cacheData;\n set(oldValues, `${formName}.${name}`, value);\n }),\n );\n },\n\n clearCacheData(formName) {\n return storeSet(\n produce((state) => {\n const oldValues = state.cacheData;\n\n if (formName) {\n set(oldValues, formName, {});\n } else {\n set(oldValues, \"\", {});\n }\n }),\n );\n },\n\n getFormItemValue(formName, name) {\n return get(storeGet().forms?.[formName], name);\n },\n\n getFormValues(formName) {\n return storeGet().forms?.[formName];\n },\n\n clearFormValues(formName) {\n return storeSet(\n produce((state) => {\n const oldValues = state.forms;\n\n // console.log(\"Clear form values\", formName);\n\n unset(oldValues, formName);\n\n // console.log(JSON.parse(JSON.stringify(oldValues)));\n }),\n );\n },\n\n clearFormInitialValues(formName) {\n return storeSet(\n produce((state) => {\n const oldValues = state.initialValues;\n\n // console.log(\"Clear form initial values\", formName);\n\n unset(oldValues, formName);\n\n // console.log(JSON.parse(JSON.stringify(oldValues)));\n }),\n );\n },\n\n clearObjKeyItem(formName, name) {\n return storeSet(\n produce((state) => {\n const oldValues = state.forms;\n\n // console.log(\"Clear item value\", formName, name);\n\n unset(oldValues, `${formName}.${name}`);\n\n // console.log(JSON.parse(JSON.stringify(oldValues)));\n }),\n );\n },\n clearArrItem(formName, name) {\n return storeSet(\n produce((state) => {\n const oldValues = state.forms;\n\n console.log(\"Clear item array value\", formName, name);\n\n const arrPath = name.split(\".\").slice(0, -1).join(\".\");\n\n const elPath = Number(name.split(\".\").slice(-1).join(\"\"));\n\n const getArrItem = get(oldValues, `${formName}.${arrPath}`);\n\n if (isNumber(elPath)) {\n getArrItem.splice(elPath, 1);\n }\n\n // console.log(JSON.parse(JSON.stringify(oldValues)));\n }),\n );\n },\n\n setFormState({ formName, isInitied, submitState }) {\n return storeSet(\n produce((state) => {\n const oldValues = state.formStates;\n const getFormState = get(storeGet().formStates, formName);\n\n if (isNil(getFormState)) {\n set(oldValues, formName, { isInitied, submitState });\n } else {\n if (!isNil(isInitied)) {\n set(oldValues, `${formName}.isInitied`, isInitied);\n }\n\n if (!isNil(submitState)) {\n set(oldValues, `${formName}.submitState`, submitState);\n }\n }\n }),\n );\n },\n\n clearFormState(formName) {\n return storeSet(\n produce((state) => {\n const oldValues = state.formStates;\n\n // console.log(\"Clear form state\", formName);\n\n unset(oldValues, formName);\n\n // console.log(JSON.parse(JSON.stringify(oldValues)));\n }),\n );\n },\n\n getFormState(formName) {\n return get(storeGet(), `formStates.${formName}`);\n },\n\n setFormInitData(formName, initValues) {\n return storeSet(\n produce((state) => {\n const oldValues = state.initialValues;\n const listInitPath = getAllNoneObjStringPath(initValues);\n\n // console.log({ listInitPath, initValues });\n\n listInitPath.forEach((k) => {\n if (get(initValues, k)) {\n // console.log(\"init form data values: \", k, get(initValues, k));\n set(oldValues, `${formName}.${k}`, get(initValues, k));\n }\n });\n }),\n );\n },\n\n getInitData(formName, name) {\n return get(storeGet().initialValues, `${formName}.${name}`);\n },\n\n setInitData(formName, name, value) {\n return storeSet(\n produce((state) => {\n const oldValues = state.initialValues;\n // console.log(\"Inner init: \", `${formName}.${name}`, value);\n set(oldValues, `${formName}.${name}`, value);\n }),\n );\n },\n\n setFormInstance({\n formName,\n resetFields,\n submit,\n submitAsync,\n setFieldValue,\n setFieldValues,\n getFieldValue,\n getFieldValues,\n getFieldErrors,\n setFieldFocus,\n }) {\n return storeSet(\n produce((state) => {\n const storeListeners = state.formInstances;\n const findListenerIndex = storeListeners.findIndex(\n (l) => l.formName === formName,\n );\n if (findListenerIndex > -1) {\n if (!isNil(resetFields)) {\n storeListeners[findListenerIndex].resetFields = resetFields;\n }\n if (!isNil(submit)) {\n storeListeners[findListenerIndex].submit = submit;\n }\n if (!isNil(setFieldFocus)) {\n storeListeners[findListenerIndex].setFieldFocus = setFieldFocus;\n }\n if (!isNil(submitAsync)) {\n storeListeners[findListenerIndex].submitAsync = submitAsync;\n }\n\n if (!isNil(setFieldValue)) {\n storeListeners[findListenerIndex].setFieldValue = setFieldValue;\n }\n\n if (!isNil(setFieldValues)) {\n storeListeners[findListenerIndex].setFieldValues = setFieldValues;\n }\n\n if (!isNil(getFieldValue)) {\n storeListeners[findListenerIndex].getFieldValue = getFieldValue;\n }\n\n if (!isNil(getFieldValues)) {\n storeListeners[findListenerIndex].getFieldValues = getFieldValues;\n }\n\n if (!isNil(getFieldErrors)) {\n storeListeners[findListenerIndex].getFieldErrors = getFieldErrors;\n }\n\n return;\n }\n storeListeners.push({\n formName,\n resetFields,\n submit,\n submitAsync,\n setFieldValue,\n setFieldValues,\n getFieldValue,\n getFieldValues,\n getFieldErrors,\n setFieldFocus,\n });\n }),\n );\n },\n revokeFormInstance({ formName }) {\n return storeSet(\n produce((state) => {\n const instances = state.formInstances;\n\n const findInstanceIndex = instances.findIndex(\n (l) => l.formName == formName,\n );\n\n // console.log(\"Find item for revoke: \", findListenerIndex, formItemId);\n\n if (findInstanceIndex > -1) {\n // const listenersInfo = cloneDeep(instances[findInstanceIndex]);\n\n instances.splice(findInstanceIndex, 1);\n\n // onAfterRevoke(\n // listenersInfo,\n // instances.filter(\n // (l) =>\n // l.name === listenersInfo.name &&\n // l.formName === listenersInfo.formName &&\n // l.formItemId !== listenersInfo.formItemId\n // )\n // );\n }\n }),\n );\n },\n\n getCurrentSubmit(formName) {\n return last(get(storeGet().submitHistory, formName)) || null;\n },\n getSubmitHistory(formName) {\n return get(storeGet().submitHistory, formName);\n },\n setSubmitHistory(formName, submitData) {\n return storeSet(\n produce((state) => {\n const oldValues = get(state.submitHistory, formName);\n if (oldValues) {\n oldValues.push(submitData);\n oldValues.splice(0, oldValues.length - 3);\n } else {\n set(state.submitHistory, formName, [submitData]);\n }\n console.log(\"Submit history: \", formName);\n }),\n );\n },\n}));\n\nexport const useFormListeners = create((storeSet, storeGet) => ({\n listeners: [],\n getListener(formItemId) {\n return storeGet().listeners.find((l) => l.formItemId === formItemId);\n },\n getListeners() {\n return storeGet().listeners;\n },\n setListener({\n formName,\n name,\n onChange,\n onReset,\n isTouched,\n isDirty,\n formItemId,\n internalErrors,\n onFocus,\n emitFocus,\n }) {\n return storeSet(\n produce((state) => {\n const storeListeners = state.listeners;\n const findListenerIndex = state.listeners.findIndex(\n (l) => l.formItemId === formItemId,\n );\n\n if (findListenerIndex > -1) {\n if (!isNil(formName)) {\n storeListeners[findListenerIndex].formName = formName;\n }\n if (!isNil(name)) {\n storeListeners[findListenerIndex].name = name;\n }\n if (!isNil(onChange)) {\n storeListeners[findListenerIndex].onChange = onChange;\n }\n if (!isNil(onReset)) {\n storeListeners[findListenerIndex].onReset = onReset;\n }\n if (!isNil(isTouched)) {\n storeListeners[findListenerIndex].isTouched = isTouched;\n }\n if (!isNil(isDirty)) {\n storeListeners[findListenerIndex].isDirty = isDirty;\n }\n if (!isNil(internalErrors)) {\n storeListeners[findListenerIndex].internalErrors = internalErrors;\n }\n if (!isNil(onFocus)) {\n storeListeners[findListenerIndex].onFocus = onFocus;\n }\n if (!isNil(emitFocus)) {\n storeListeners[findListenerIndex].emitFocus = emitFocus;\n }\n\n return;\n }\n storeListeners.push({\n name,\n formName,\n isTouched,\n isDirty,\n formItemId,\n internalErrors,\n onChange,\n onReset,\n });\n }),\n );\n },\n revokeListener(formItemId, onAfterRevoke) {\n return storeSet(\n produce((state) => {\n const storeListeners = state.listeners;\n\n const findListenerIndex = storeListeners.findIndex(\n (l) => l.formItemId == formItemId,\n );\n\n // console.log(\"Find item for revoke: \", findListenerIndex, formItemId);\n\n if (findListenerIndex > -1) {\n const listenersInfo = cloneDeep(storeListeners[findListenerIndex]);\n\n storeListeners.splice(findListenerIndex, 1);\n\n onAfterRevoke(\n listenersInfo,\n storeListeners.filter(\n (l) =>\n l.name === listenersInfo.name &&\n l.formName === listenersInfo.formName &&\n l.formItemId !== listenersInfo.formItemId,\n ),\n );\n }\n }),\n );\n },\n}));\n\nexport const useFormCleanUp = create((storeSet) => ({\n cleanUpStack: [],\n setCleanUpStack({ name, type, itemKey, formName }) {\n return storeSet(\n produce((state) => {\n const oldValues = state.cleanUpStack;\n const cleanUpKey = v4();\n oldValues.push({ name, type, key: cleanUpKey, itemKey, formName });\n }),\n );\n },\n clearCleanUpStack() {\n return storeSet(\n produce((state) => {\n state.cleanUpStack = [];\n }),\n );\n },\n}));\n","import { useEffect } from \"react\";\nimport { useShallow } from \"zustand/react/shallow\";\nimport {\n useFormCleanUp,\n useFormListeners,\n useFormStore,\n} from \"../../stores/formStore\";\n\nconst FormCleanUp = () => {\n const { cleanUpStack, clearCleanUpStack } = useFormCleanUp(\n useShallow((state) => ({\n cleanUpStack: state.cleanUpStack,\n clearCleanUpStack: state.clearCleanUpStack,\n })),\n );\n\n const { revokeListener } = useFormListeners(\n useShallow((state) => ({\n revokeListener: state.revokeListener,\n })),\n );\n const { clearObjKeyItem, clearArrItem } = useFormStore(\n useShallow((state) => {\n return {\n clearObjKeyItem: state.clearObjKeyItem,\n clearArrItem: state.clearArrItem,\n };\n }),\n );\n\n useEffect(() => {\n if (Array.isArray(cleanUpStack) && cleanUpStack?.length) {\n // console.log(\"Trigger clean up: \", cleanUpStack);\n cleanUpStack.forEach((c) => {\n if (c.itemKey) {\n console.log(\"Revoke in Clean up: \", c);\n revokeListener(c.itemKey, (listener, same) => {\n if (!same.length) {\n console.log(\"Trigger after revoke: \", listener, same);\n clearObjKeyItem(listener.formName, listener.name);\n }\n });\n } else {\n if (c.type === \"array\") {\n console.log(c);\n clearArrItem(c.formName, c.name);\n } else {\n }\n }\n });\n clearCleanUpStack();\n }\n }, [cleanUpStack]);\n return <></>;\n};\n\nexport default FormCleanUp;\n","import { cloneDeep, get, isEqual, last, set, uniq } from \"lodash\";\nimport { useTask } from \"minh-custom-hooks-release\";\nimport { createContext, useContext, useEffect, useState } from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { useShallow } from \"zustand/react/shallow\"; // Import useShallow\nimport FormCleanUp from \"../components/Form/FormCleanUp\";\nimport { useFormListeners, useFormStore } from \"../stores/formStore\";\nimport { getAllNoneObjStringPath } from \"../utils/obj.util\";\n\nexport const FormContext = createContext(null);\n\nexport default function Form({\n children,\n formName,\n initialValues,\n onFinish,\n onReject,\n onFinally,\n FormElement,\n ...props\n}) {\n const {\n getFormItemValue,\n setInitData,\n setData,\n getFormValues,\n setFormState,\n setFormInstance,\n revokeFormInstance,\n setSubmitHistory,\n clearFormValues,\n clearFormInitialValues,\n clearFormState,\n } = useFormStore(\n useShallow((state) => ({\n setInitData: state.setFormInitData,\n getFormValues: state.getFormValues,\n setFormState: state.setFormState,\n setFormInstance: state.setFormInstance,\n revokeFormInstance: state.revokeFormInstance,\n setData: state.setData,\n setSubmitHistory: state.setSubmitHistory,\n getFormItemValue: state.getFormItemValue,\n clearFormValues: state.clearFormValues,\n clearFormInitialValues: state.clearFormInitialValues,\n clearFormState: state.clearFormState,\n\n // Test, nhớ xóa sau khi xong\n formStates: state.formStates?.[formName],\n })),\n );\n\n const { getListeners } = useFormListeners(\n useShallow((state) => {\n return {\n getListeners: state.getListeners,\n };\n }),\n );\n\n const setFieldValue = (name, value, options) => {\n const listener = getListeners().find(\n (l) => l.name === name && l.formName === formName,\n );\n if (listener) {\n listener.onChange(value, options);\n } else {\n setData(formName, name, value);\n }\n };\n\n const setFieldValues = (values, options = { notTriggerDirty: false }) => {\n const allStringPath = getAllNoneObjStringPath(values);\n\n allStringPath.forEach((p) => {\n const listener = getListeners().find(\n (l) => l.name === p && l.formName === formName,\n );\n if (listener) {\n listener.onChange(get(values, listener.name), options);\n } else {\n setData(formName, p, get(values, p));\n }\n });\n };\n\n const getFieldValue = (name) => {\n return getFormItemValue(formName, name);\n };\n\n const getFieldValues = (names = []) => {\n return names.map((name) => ({\n name,\n value: getFormItemValue(formName, name),\n }));\n };\n\n const setFieldFocus = (name) => {\n const listener = getListeners().find(\n (l) => l.name === name && l.formName === formName,\n );\n if (listener && typeof listener.emitFocus === \"function\") {\n listener.emitFocus();\n }\n };\n\n const getFieldErrors = (names) => {\n const listeners = getListeners().filter(\n (l) => names.includes(l.name) && l.formName === formName,\n );\n return listeners.map((l) => ({\n name: l.name,\n errors: l.internalErrors || [],\n }));\n };\n\n const getAllFieldErrors = () => {\n return getListeners()\n ?.filter((l) => {\n return l.internalErrors?.length && l.formName === formName;\n })\n .map((l) => ({\n name: l.name,\n formName: l.formName,\n formItemId: l.formItemId,\n errors: l.internalErrors,\n }));\n };\n\n // Submit data\n const {\n run: runSubmit,\n runAsync: runSubmitAsync,\n state: _,\n reset,\n } = useTask({\n async task(props) {\n try {\n flushSync(setFormState({ formName, submitState: \"submitting\" }));\n const errorFields = getAllFieldErrors();\n const listeners = getListeners().filter((l) => l.formName === formName);\n const formValues = getFormValues(formName);\n\n const resultValues = cloneDeep(formValues);\n const cleanValues = {};\n uniq(listeners, (l) => l.name).forEach((l) => {\n set(cleanValues, l.name, get(resultValues, l.name));\n });\n\n const handleIsolateCase = async () => {\n if (!errorFields?.length) {\n if (typeof props?.externalFinishCallback !== \"function\") {\n onFinish && (await onFinish(cleanValues, resultValues));\n } else {\n if (props?.callBothFinish) {\n onFinish && (await onFinish(cleanValues, resultValues));\n await props?.externalFinishCallback(cleanValues, resultValues);\n } else {\n await props?.externalFinishCallback(cleanValues, resultValues);\n }\n }\n\n // if (!isEqual(cleanValues, last(getSubmitHistory(formName)))) {\n // setSubmitHistory(formName, cleanValues);\n // }\n\n setSubmitHistory(formName, cleanValues);\n\n // if (\n // !isEqual(\n // resultValues,\n // last(submitHistoryWithUnRegisteredValues.current)\n // )\n // ) {\n // submitHistoryWithUnRegisteredValues.current = [\n // ...submitHistoryWithUnRegisteredValues.current,\n // resultValues,\n // ].slice(-10, 10);\n // }\n\n // resultWatchQueue.current.forEach((l) => {\n // l.emitSubmitTrigger(cleanValues);\n // l.emitDataChange(cleanValues);\n // l.emitDataWithUnRegisteredValuesChange(resultValues);\n // l.emitSubmitTriggerWithUnRegisteredValues(resultValues);\n // });\n } else {\n if (typeof props?.externalRejectCallback !== \"function\") {\n onReject && (await onReject(errorFields));\n } else {\n if (props?.callBothReject) {\n onReject && (await onReject(errorFields));\n await props?.externalRejectCallback(errorFields);\n } else {\n await props?.externalRejectCallback(errorFields);\n }\n }\n }\n };\n\n const handleFinallyCase = async () => {\n if (typeof props?.externalFinallyCallback !== \"function\") {\n onFinally &&\n (await onFinally({\n errorsField: errorFields,\n values: cleanValues,\n withUnRegisteredValues: resultValues,\n }));\n } else {\n if (props?.callBothFinally) {\n onFinally &&\n (await onFinally({\n errorsField: errorFields,\n values: cleanValues,\n withUnRegisteredValues: resultValues,\n }));\n await props?.externalFinallyCallback({\n errorsField: errorFields,\n values: cleanValues,\n withUnRegisteredValues: resultValues,\n });\n } else {\n await props?.externalFinallyCallback({\n errorsField: errorFields,\n values: cleanValues,\n withUnRegisteredValues: resultValues,\n });\n }\n }\n };\n\n await Promise.allSettled([handleIsolateCase(), handleFinallyCase()]);\n\n if (errorFields?.length) {\n setFormState({ formName, submitState: \"rejected\" });\n } else {\n setFormState({ formName, submitState: \"submitted\" });\n }\n } catch (error) {\n console.error(\"Error in form submit: \", error);\n setFormState({ formName, submitState: \"rejected\" });\n }\n },\n });\n\n const resetFields = (resetOptions) => {\n reset();\n flushSync(\n setFormState({\n formName,\n isInitied: false,\n }),\n );\n const totalListenerFields = getListeners();\n if (Array.isArray(resetOptions)) {\n totalListenerFields.forEach((l) => {\n const findListenerByName = resetOptions.find((o) => o.name === l.name);\n\n if (findListenerByName) {\n l.onReset(findListenerByName?.value);\n }\n });\n\n totalListenerFields\n .filter((l) => resetOptions.find((o) => o.name !== l.name))\n .forEach((l) => {\n l?.onReset?.();\n });\n } else if (typeof resetOptions === \"object\") {\n const allStringPath = getAllNoneObjStringPath(resetOptions);\n allStringPath.forEach((p) => {\n const listener = totalListenerFields.find(\n (l) => l.name === p && l.formName === formName,\n );\n if (listener) {\n listener.onChange(get(resetOptions, listener.name));\n } else {\n setData(formName, p, get(resetOptions, p));\n }\n });\n } else {\n totalListenerFields.forEach((l) => {\n l?.onReset?.();\n });\n }\n\n setFormState({\n formName,\n isInitied: true,\n });\n };\n\n useEffect(() => {\n setInitData(formName, initialValues);\n setFormState({\n formName,\n isInitied: true,\n submitState: \"idle\",\n });\n setFormInstance({\n formName,\n resetFields,\n submit: runSubmit,\n submitAsync: runSubmitAsync,\n setFieldValue,\n setFieldValues,\n getFieldValue,\n getFieldValues,\n setFieldFocus,\n getFieldErrors,\n });\n\n return () => {\n revokeFormInstance({ formName });\n clearFormInitialValues(formName);\n clearFormValues(formName);\n clearFormState(formName);\n };\n }, []);\n\n return (\n <FormContext.Provider\n value={{\n formName,\n }}\n >\n {FormElement ? (\n <FormElement\n onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n runSubmit();\n }}\n {...props}\n >\n {children}\n </FormElement>\n ) : (\n <form\n onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n\n runSubmit();\n }}\n {...props}\n >\n {children}\n </form>\n )}\n <FormCleanUp />\n </FormContext.Provider>\n );\n}\n\nexport function useFormContext() {\n const c = useContext(FormContext);\n\n if (!c) throw new Error(\"Must be use inside FormProvider\");\n\n return c;\n}\n\nexport function useForm(formNameOrFormInstance) {\n const formInstance = useFormStore((state) => {\n return state.formInstances.find(\n (i) =>\n i.formName ===\n (formNameOrFormInstance?.formName ?? formNameOrFormInstance),\n );\n });\n\n return [formInstance];\n}\n\nexport function useWatch(name, formNameOrFormInstance) {\n const [formInstance] = useForm(formNameOrFormInstance);\n\n const value = useFormStore((state) => {\n return state.getFormItemValue(\n formInstance?.formName ?? formNameOrFormInstance,\n name,\n );\n });\n\n return value;\n}\n\nexport function useSubmitDataWatch({\n formNameOrFormInstance,\n triggerWhenChange = false,\n mapFn,\n}) {\n const [formInstance] = useForm(formNameOrFormInstance);\n\n const value = useFormStore((state) => {\n return last(get(state.submitHistory, formInstance?.formName));\n });\n\n const [submitData, setSubmitData] = useState(\n mapFn ? mapFn(value, null) : value,\n );\n\n useEffect(() => {\n if (!triggerWhenChange || !isEqual(submitData, value)) {\n setSubmitData(mapFn ? mapFn(value, submitData) : value);\n }\n }, [value, triggerWhenChange]);\n\n return submitData;\n}\n\nexport const useFormStateWatch = (formNameOrFormInstance) => {\n const [formInstance] = useForm(formNameOrFormInstance);\n\n const formState = useFormStore((state) => {\n return state.formStates?.[formInstance?.formName];\n });\n\n return formState;\n};\n\nForm.useForm = useForm;\nForm.useWatch = useWatch;\nForm.useSubmitDataWatch = useSubmitDataWatch;\nForm.useFormStateWatch = useFormStateWatch;\n","// ESM re-declaration of validation constants to match src/constants/validation.ts\nexport const IS_STRING_NUMBER_REGEX = /^\\d+$/;\n\nexport const IS_USERNAME_REGEX = /^[a-zA-Z0-9._]{3,16}$/;\n\nexport const IS_PASSWORD_REGEX = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n\nexport const IS_POSITIVE_STRING_NUMBER_REGEX = /^[1-9]\\d*$/;\n\nexport const IS_POSITIVE_INTEGER_STRING_NUMBER_REGEX = /^(?:0|[1-9]\\d*)(?:\\.\\d+)?$/;\n\nexport const IS_VIETNAMESE_PHONE_NUMBER_REGEX = /^(?:\\+84|0)[\\s\\-\\.]?(?:3[2-9]|5[6|8|9]|7[06-9]|8[1-5]|9[0-9])[\\s\\-\\.]?\\d[\\d\\s\\-\\.]{6,8}$/;\n\nexport const IS_EMAIL_REGEX = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\n\nexport const IS_NAME_REGEX = /^[A-Za-zÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂÂÊÔƠƯăâêôơưÇçÝýỳỵỷỹ\\s]{2,50}$/;\n\nexport const IS_NOSPACE_STRING_AND_NUMBER_REGEX = /^[A-Za-zÀ-ỹ0-9]+$/;\n\nexport const IS_STRING_AND_NUMBER_REGEX = /^[A-Za-zÀ-ỹ0-9][A-Za-zÀ-ỹ0-9\\s]*$/;\n\nexport const IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_REGEX = /^[A-Za-z0-9]+$/;\n\nexport const IS_ALPHABET_STRING_AND_NUMBER_REGEX = /^[A-Za-z0-9]+(?:\\s[A-Za-z0-9]+)*$/;\n\nexport const IS_NO_SPACE_ALPHABET_STRING_REGEX = /^[A-Za-z]+$/;\n\n// default message\nexport const HANDLER_INVALID_MESSAGE = \"Invalid value!\";\n\nexport const MIN_INVALID_MESSAGE = \"Min value invalid!\";\nexport const MAX_INVALID_MESSAGE = \"Max value invalid!\";\nexport const MIN_INVALID_LENGTH_MESSAGE = \"Max length invalid!\";\nexport const MAX_INVALID_LENGTH_MESSAGE = \"Max length invalid!\";\n\nexport const IS_STRING_NUMBER_INVALID_MESSAGE = \"Must be number!\";\nexport const IS_USERNAME_INVALID_MESSAGE = `Username must be containes string, number, '.' or '_'!`;\nexport const IS_PASSWORD_INVALID_MESSAGE =\n \"Password must be contains Minimum 8 characters, with uppercase, lowercase, number, special character!\";\nexport const IS_POSITIVE_STRING_NUMBER_INVALID_MESSAGE = \"Must be positive number!\";\nexport const IS_POSITIVE_INTEGER_STRING_NUMBER_INVALID_MESSAGE =\n \"Must be positive integer number!\";\nexport const IS_VIETNAMESE_PHONE_NUMBER_INVALID_MESSAGE = \"Invalid phone number format!\";\nexport const IS_EMAIL_INVALID_MESSAGE = \"Invalid email format!\";\nexport const IS_NAME_INVALID_MESSAGE = \"Invalid name format!\";\nexport const IS_NOSPACE_STRING_AND_NUMBER_MESSAGE =\n \"String must only includes string and number without whitespace!\";\nexport const IS_STRING_AND_NUMBER_MESSAGE =\n \"String must only includes string, number and whitespace!\";\nexport const IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_MESSAGE =\n \"String must only includes alphabet characters and numbers!\";\nexport const IS_ALPHABET_STRING_AND_NUMBER_MESSAGE =\n \"String must only includes alphabet charaters, numbers and whitespace\";\nexport const IS_NO_SPACE_ALPHABET_STRING_MESSAGE = \"String must only includes alphabet\";\n","import { get, isNil } from \"lodash\";\nimport { useTaskEffect } from \"minh-custom-hooks-release\";\nimport { useEffect, useMemo } from \"react\";\nimport { useShallow } from \"zustand/react/shallow\"; // Import useShallow\nimport {\n IS_ALPHABET_STRING_AND_NUMBER_REGEX,\n IS_EMAIL_REGEX,\n IS_NAME_REGEX,\n IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_REGEX,\n IS_NO_SPACE_ALPHABET_STRING_REGEX,\n IS_NOSPACE_STRING_AND_NUMBER_REGEX,\n IS_PASSWORD_REGEX,\n IS_POSITIVE_INTEGER_STRING_NUMBER_REGEX,\n IS_POSITIVE_STRING_NUMBER_REGEX,\n IS_STRING_AND_NUMBER_REGEX,\n IS_STRING_NUMBER_REGEX,\n IS_USERNAME_REGEX,\n IS_VIETNAMESE_PHONE_NUMBER_REGEX,\n} from \"../constants/validation\";\nimport { useFormContext } from \"../providers/Form\";\nimport {\n useFormCleanUp,\n useFormListeners,\n useFormStore,\n} from \"../stores/formStore\";\n\nconst VALID_PREMITIVE_TYPE = [\"string\", \"number\", \"undefined\"];\n\nexport default function useFormItemControl({\n formName,\n form,\n name,\n initialValue,\n formItemId,\n rules,\n elementRef,\n}) {\n const contextForm = useFormContext();\n const { value, setData, getCacheData, getFormValues } = useFormStore(\n useShallow((state) => {\n return {\n value: get(\n state.forms,\n `${formName || form?.formName || contextForm?.formName}.${name}`,\n ),\n setData: state.setData,\n getCacheData: state.getCacheData,\n getFormValues: state.getFormValues,\n };\n }),\n );\n\n const { setCleanUpStack } = useFormCleanUp(\n useShallow((state) => ({\n setCleanUpStack: state.setCleanUpStack,\n })),\n );\n\n const {\n initValue: internalInitValue,\n setInitData,\n getInitData,\n } = useFormStore(\n useShallow((state) => {\n // console.log(\n // \"Shallow get initValue: \",\n // formName || form?.formName || contextForm?.formName,\n // name,\n // get(\n // state.initialValues,\n // `${formName || form?.formName || contextForm?.formName}.${name}`\n // )\n // );\n return {\n initValue: get(\n state.initialValues,\n `${formName || form?.formName || contextForm?.formName}.${name}`,\n ),\n setInitData: state.setInitData,\n getInitData: state.getInitData,\n };\n }),\n );\n\n const { listener, setListener } = useFormListeners(\n useShallow((state) => {\n // console.log(\n // \"Get listener from store: \",\n // state.listeners.find((l) => l.formItemId === formItemId)\n // );\n return {\n listener: state.listeners.find((l) => l.formItemId === formItemId),\n setListener: state.setListener,\n };\n }),\n );\n\n const onInitData = (value) => {\n // console.log(\n // \"Init:\",\n // formName || form?.formName || contextForm?.formName,\n // name,\n // value\n // );\n setInitData(\n formName || form?.formName || contextForm?.formName,\n name,\n value,\n );\n };\n\n const onFocus = () => {\n setListener({\n formItemId,\n isTouched: true,\n isDirty: listener?.isDirty,\n });\n };\n\n const emitFocus = () => {\n if (elementRef?.current) {\n elementRef.current.focus();\n }\n };\n\n const onChange = (value, options) => {\n if (options?.notTriggerDirty !== true) {\n setListener({\n formItemId,\n isDirty: true,\n isTouched: listener?.isTouched,\n });\n }\n setData(formName || form?.formName || contextForm?.formName, name, value);\n };\n\n const onReset = (value) => {\n console.log(\n \"Reset\",\n value,\n getInitData(formName || form?.formName || contextForm?.formName, name),\n );\n onChange(\n isNil(value)\n ? getInitData(formName || form?.formName || contextForm?.formName, name)\n : value,\n );\n };\n\n // validate field rules\n const internalRules = useMemo(() => {\n return rules || [];\n }, [rules]);\n\n const { data: errors, state } = useTaskEffect({\n async task() {\n const listErrors = [];\n\n const formValues = getFormValues(\n formName || form?.formName || contextForm?.formName,\n );\n\n const ruleToTask = internalRules?.map((r, index) => async () => {\n const ruleName = r?.name || index;\n\n const fieldValue = value?.toString?.();\n\n if (typeof r.handler === \"function\") {\n if (!(await r.handler(value, formValues))) {\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n\n if (VALID_PREMITIVE_TYPE.includes(typeof value)) {\n // REQUIRE\n if (r.required && !(fieldValue?.toString()?.trim()?.length > 0)) {\n // tempMessage.push(\"This field is required!\");\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // Min Max\n if (!isNil(r.min) || !isNil(r.max)) {\n if (isNil(value)) {\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n if (\n (r.min ?? Number.MIN_SAFE_INTEGER) <=\n (r.max ?? Number.MAX_SAFE_INTEGER)\n ) {\n if (!isNil(r.min)) {\n if (!isNaN(Number(fieldValue)) && Number(fieldValue) <= r.min) {\n // tempMessage.push(MIN_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n\n if (!isNil(r.max)) {\n if (!isNaN(Number(fieldValue)) && Number(fieldValue) >= r.max) {\n // tempMessage.push(MAX_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n }\n }\n\n // MIN LENGTH MAX LENGTH\n if (!isNil(r.minLength) || !isNil(r.maxLength)) {\n if (\n (r.minLength ?? Number.MIN_SAFE_INTEGER) <=\n (r.maxLength ?? Number.MAX_SAFE_INTEGER)\n ) {\n if (!isNil(r.minLength)) {\n if (fieldValue?.length <= r.minLength) {\n // tempMessage.push(MIN_INVALID_LENGTH_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n\n if (!isNil(r.maxLength)) {\n if (fieldValue?.length >= r.maxLength) {\n // tempMessage.push(MAX_INVALID_LENGTH_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n }\n }\n\n // Password\n if (r.isPassword && !IS_PASSWORD_REGEX.test(fieldValue)) {\n // tempMessage.push(IS_PASSWORD_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // Username\n if (r.isUsername && !IS_USERNAME_REGEX.test(fieldValue)) {\n // tempMessage.push(IS_USERNAME_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // Is Vietnamese Phone number\n if (\n r.isPhoneNumber &&\n !IS_VIETNAMESE_PHONE_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_VIETNAMESE_PHONE_NUMBER_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // String number\n if (r.isStringNumber && !IS_STRING_NUMBER_REGEX.test(fieldValue)) {\n // tempMessage.push(IS_STRING_NUMBER_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // String positive number\n if (\n r.isPositiveStringNumber &&\n !IS_POSITIVE_STRING_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_POSITIVE_STRING_NUMBER_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // String positive integer number\n if (\n r.isPositiveIntegerStringNumber &&\n !IS_POSITIVE_INTEGER_STRING_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n // IS_POSITIVE_INTEGER_STRING_NUMBER_INVALID_MESSAGE\n // );\n }\n\n // Email\n if (r.isEmail && !IS_EMAIL_REGEX.test(fieldValue)) {\n // tempMessage.push(IS_EMAIL_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // Vietnamese Name\n if (r.isVietnameseName && !IS_NAME_REGEX.test(fieldValue)) {\n // tempMessage.push(IS_NAME_INVALID_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // String and number without whitespace\n if (\n r.isNoSpaceStringAndNumber &&\n !IS_NOSPACE_STRING_AND_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_NOSPACE_STRING_AND_NUMBER_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n // String and number with\n if (\n r.isStringAndNumber &&\n !IS_STRING_AND_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_STRING_AND_NUMBER_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n\n if (\n r.isNoSpaceOnlyAlphabetStringAndNumber &&\n !IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n if (\n r.isOnlyAlphabetStringAndNumber &&\n !IS_ALPHABET_STRING_AND_NUMBER_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_ALPHABET_STRING_AND_NUMBER_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n if (\n r.isNoSpaceAlphabetString &&\n !IS_NO_SPACE_ALPHABET_STRING_REGEX.test(fieldValue)\n ) {\n // tempMessage.push(IS_NO_SPACE_ALPHABET_STRING_MESSAGE);\n listErrors.push({\n ruleName,\n message: r.message,\n });\n\n return;\n }\n }\n });\n\n // console.log(\"Trigger validate: \", listErrors);\n\n for (const rAsync of ruleToTask) {\n await rAsync();\n }\n\n setListener({ formItemId, internalErrors: listErrors });\n\n return listErrors;\n },\n deps: [internalRules, value],\n onError(err) {\n console.log(err);\n },\n });\n\n // useEffect(() => {\n // console.log({ name, errors });\n // }, [errors]);\n\n // useEffect(() => {\n // console.log({ name, listener });\n // }, [listener]);\n\n useEffect(() => {\n // console.log({ internalInitValue, value, initialValue });\n // console.log(\"Init item value: \", name, value, internalInitValue);\n // console.log(\"internalInitValue: \", internalInitValue);\n\n if (!value) {\n if (!internalInitValue) {\n if (!isNil(initialValue)) {\n console.log(\"On init data\", initialValue);\n onInitData(initialValue);\n }\n } else {\n onChange(internalInitValue);\n }\n }\n }, [internalInitValue]);\n\n useEffect(() => {\n if (!listener) {\n setListener({\n onChange,\n emitFocus,\n isTouched: false,\n isDirty: false,\n name,\n formName: formName || form?.formName || contextForm?.formName,\n formItemId,\n onReset,\n });\n }\n\n // return () => {\n // console.log(\"Revoke listener\", listener);\n\n // };\n }, []);\n\n useEffect(() => {\n if (listener) {\n setListener({\n formItemId,\n onChange,\n name,\n formName: formName || form?.formName || contextForm?.formName,\n onReset,\n isTouched: listener?.isTouched,\n isDirty: listener?.isDirty,\n });\n }\n const cacheData = getCacheData(\n formName || form?.formName || contextForm?.formName,\n );\n\n // console.log(\"Get cache Data after list change: \", cacheData);\n\n if (cacheData) {\n const getNewDataFromCache = get(cacheData, name);\n\n // console.log(\"Init data when change form ite: \", name, cacheData);\n\n if (!getNewDataFromCache) {\n onChange(initialValue);\n } else onChange(getNewDataFromCache);\n }\n }, [name, formName || form?.formName || contextForm?.formName]);\n\n useEffect(() => {\n return () => {\n setCleanUpStack({\n itemKey: formItemId,\n });\n };\n }, []);\n\n return {\n value,\n onChange,\n state,\n errors,\n onFocus,\n isDirty: listener?.isDirty,\n };\n}\n","import { cloneElement, useRef, useState } from \"react\";\nimport { v4 } from \"uuid\";\nimport useFormItemControl from \"../../hooks/useFormItemControl\";\n\nexport default function FormItem({\n children,\n name,\n formName,\n initialValue,\n formItemId: externalFormItemId,\n rules,\n valuePropName = \"value\",\n getValueFromEvent,\n}) {\n const elRef = useRef();\n\n const [formItemId] = useState(externalFormItemId ?? v4());\n const { value, onChange, errors, state, onFocus, isDirty } =\n useFormItemControl({\n formName,\n name,\n initialValue,\n formItemId,\n rules,\n elementRef: elRef,\n });\n // console.log(\"re-render\", formName, name);\n\n // useEffect(() => {\n // console.log({ value });\n // }, [value]);\n\n return cloneElement(children, {\n // ref: inputRef,\n [valuePropName]: value,\n onChange: (e) => {\n let val = e;\n if (getValueFromEvent && typeof getValueFromEvent === \"function\") {\n val = getValueFromEvent(e);\n } else {\n if (e && e.target) {\n val = e.target.value;\n }\n }\n onChange(val);\n },\n // onFocus: () => {\n // setIsTouched(true);\n // },\n // isTouched: isTouched,\n isDirty: isDirty,\n // errors: errors,\n // formState,\n\n errors,\n onFocus,\n validateState: state,\n ref: elRef,\n });\n}\n","import { cloneDeep, get, isNil } from \"lodash\";\nimport { useEffect, useState } from \"react\";\nimport { v4 } from \"uuid\";\nimport { useShallow } from \"zustand/react/shallow\";\nimport { useFormContext } from \"../providers/Form\";\nimport { useFormCleanUp, useFormStore } from \"../stores/formStore\";\n\nexport default function useFormListControl({\n name,\n form,\n initialValues,\n formName,\n}) {\n const contextForm = useFormContext();\n const getFormValues = useFormStore((state) => state.getFormValues);\n const [listFormInitValues, setListFormInitValues] = useState();\n const { clearCacheData, setCacheData } = useFormStore(\n useShallow((state) => ({\n cacheData: state.cacheData,\n clearCacheData: state.clearCacheData,\n setCacheData: state.setCacheData,\n })),\n );\n const { setCleanUpStack } = useFormCleanUp(\n useShallow((state) => ({\n setCleanUpStack: state.setCleanUpStack,\n })),\n );\n const { initValue: internalInitValue, formState } = useFormStore(\n useShallow((state) => {\n // console.log(\n // \"Shallow get initValue: \",\n // formName || form?.formName || contextForm?.formName,\n // name,\n // get(\n // state.initialValues,\n // `${formName || form?.formName || contextForm?.formName}.${name}`\n // )\n // );\n return {\n initValue: get(\n state.initialValues,\n `${formName || form?.formName || contextForm?.formName}.${name}`,\n ),\n formState: get(\n state.formStates,\n formName || form?.formName || contextForm?.formName,\n ),\n setInitData: state.setInitData,\n getFormState: state.getFormState,\n };\n }),\n );\n\n const [listFields, setListFields] = useState([]);\n\n const handleCacheListField = (prev, cur) => {\n const currentFormValues = cloneDeep(\n getFormValues(formName || form?.formName || contextForm?.formName),\n );\n\n const formDataBeforeChange = get(currentFormValues, name);\n\n const mapPrevWithKey = formDataBeforeChange\n .map((d, index) => {\n const findPrev = prev.find((p, pIndex) => pIndex === index);\n\n if (!findPrev) return undefined;\n\n return {\n key: findPrev.key,\n value: d,\n };\n })\n .filter(Boolean);\n\n const mapCurWithKey = cur.map(\n (c) => mapPrevWithKey.find((m) => m.key === c.key) || c,\n );\n\n const getNewValueCache = mapCurWithKey.filter(Boolean).map((c) => c.value);\n\n const startRemoveIndex =\n formDataBeforeChange.length - getNewValueCache.length;\n // console.log(\"Before list fields: \", prev);\n // console.log(\"After list fields: \", cur);\n // console.log(\"Before change arr value: \", formDataBeforeChange);\n // console.log(\"Mapping prev value with prev fields: \", mapPrevWithKey);\n // console.log(\"Mapping Cur value with prev fields: \", mapCurWithKey);\n // console.log(\"After change arr value: \", getNewValueCache);\n\n // Nếu số phần tử trước khi thay đổi mảng lớn hơn thì đẩy 2 phần tử còn lại vào clean up stack để clear\n if (startRemoveIndex > 0) {\n Array.from(Array(startRemoveIndex))\n .map((_, index) => {\n return getNewValueCache.length + index;\n })\n .forEach((index) => {\n // console.log(\"Data for cleanup arr element: \", {\n // formName: formName || form?.formName || contextForm?.formName,\n // name: `${name}.${index}`,\n // type: \"array\",\n // });\n setCleanUpStack({\n formName: formName || form?.formName || contextForm?.formName,\n name: `${name}.${index}`,\n type: \"array\",\n });\n });\n }\n\n // console.log({ getNewValueCache });\n setCacheData(\n formName || form?.formName || contextForm?.formName,\n name,\n getNewValueCache,\n );\n };\n\n const add = (index) => {\n setListFields((prev) => {\n if (index > prev.length) return prev;\n\n if (index < 0) return prev;\n\n if (index === prev.length) {\n const newName = `${name}.${prev.length}`;\n const newKey = v4();\n const result = [\n ...prev,\n {\n name: newName,\n key: newKey,\n },\n ];\n\n return result;\n }\n\n const clonePrev = [...prev];\n\n const result = clonePrev\n .reduce((prev, cur, curIndex) => {\n const newKey = v4();\n if (curIndex === index)\n return [\n ...prev,\n {\n key: newKey,\n },\n cur,\n ];\n\n return [...prev, cur];\n }, [])\n .map((r, index) => ({\n name: `${name}.${index}`,\n key: r.key,\n }));\n handleCacheListField(prev, result);\n return result;\n });\n };\n\n const remove = ({ index, key }) => {\n setListFields((prev) => {\n if (!isNil(key)) {\n const clonePrev = [...prev];\n\n const removedItem = clonePrev.filter((d) => d.key !== key);\n\n console.log(\"Remove data: \", removedItem);\n\n const result = removedItem.map((r, index) => ({\n name: `${name}.${index}`,\n key: r.key,\n }));\n handleCacheListField(prev, result);\n\n return result;\n }\n if (!isNil(index)) {\n if (index > prev.length - 1 || index < 0) return prev;\n\n const clonePrev = [...prev];\n\n clonePrev.splice(index, 1);\n\n const result = clonePrev.map((r, index) => ({\n name: `${name}.${index}`,\n key: r.key,\n }));\n handleCacheListField(prev, result);\n\n return result;\n }\n\n return prev;\n });\n };\n\n const move = ({ from, fromKey, to }) => {\n setListFields((prev) => {\n console.log(\"move list item: \", { from, to });\n if (\n from >= listFields.length ||\n from < 0 ||\n to >= listFields.length ||\n to < 0 ||\n from === to\n )\n return prev;\n console.log(\"Trigger move item: \");\n\n if (!isNil(fromKey)) {\n const findItemIndex = prev.findIndex((p) => p.key === fromKey);\n if (findItemIndex < 0) return prev;\n const moveItem = cloneDeep(listFields[findItemIndex]);\n\n const result = prev\n .reduce((prev, cur, curIndex) => {\n if (findItemIndex === curIndex) return [...prev];\n if (to === curIndex) {\n if (findItemIndex > to) return [...prev, moveItem, cur];\n else return [...prev, cur, moveItem];\n } else {\n return [...prev, cur];\n }\n }, [])\n .map((i, index) => ({\n key: i.key,\n name: `${name}.${index}`,\n }));\n\n handleCacheListField(prev, result);\n\n return result;\n } else if (!isNil(from)) {\n console.log(\"Trigger from index: \");\n const moveItem = cloneDeep(listFields[from]);\n\n const result = prev\n .reduce((prev, cur, curIndex) => {\n if (from === curIndex) return [...prev];\n if (to === curIndex) {\n if (from > to) return [...prev, moveItem, cur];\n else return [...prev, cur, moveItem];\n } else {\n return [...prev, cur];\n }\n }, [])\n .map((i, index) => ({\n key: i.key,\n name: `${name}.${index}`,\n }));\n\n console.log({ result });\n\n handleCacheListField(prev, result);\n\n return result;\n }\n\n return prev;\n });\n };\n\n useEffect(() => {\n console.log(\"Trigger init\", formState?.isInitied, internalInitValue);\n if (formState?.isInitied) {\n if (Array.isArray(listFormInitValues)) {\n const result = listFormInitValues.map((_, i) => {\n const itemName = `${name}.${i}`;\n const key = v4();\n return {\n key,\n name: itemName,\n };\n });\n\n console.log(\"Get local init values: \", listFormInitValues, result);\n\n setListFields(result);\n setCacheData(\n formName || form?.formName || contextForm?.formName,\n name,\n listFormInitValues,\n );\n\n return;\n }\n\n if (Array.isArray(internalInitValue)) {\n const result = internalInitValue.map((_, i) => {\n const itemName = `${name}.${i}`;\n const key = v4();\n return {\n key,\n name: itemName,\n };\n });\n\n // console.log(\"Get form init values: \", internalInitValue, result);\n\n setListFields(result);\n setListFormInitValues(internalInitValue);\n\n return;\n }\n\n // console.log({ initialValues });\n\n // console.log(\"After init: \", { result: cloneDeep(result) });\n\n if (Array.isArray(initialValues)) {\n const result = initialValues.map((_, i) => {\n const itemName = `${name}.${i}`;\n const key = v4();\n return {\n key,\n name: itemName,\n };\n });\n\n if (initialValues) {\n setCacheData(\n formName || form?.formName || contextForm?.formName,\n name,\n initialValues,\n );\n }\n\n setListFields(result);\n setListFormInitValues(initialValues);\n\n // console.log(\"Get form init values: \", internalInitValue, result);\n\n return;\n }\n }\n }, [formState?.isInitied]);\n\n // useEffect(() => {\n // console.log(\"Show form list init values: \", { internalInitValue });\n // }, [internalInitValue]);\n\n // useEffect(() => {\n // console.log(\"List fields update: \", listFields);\n // }, [listFields]);\n\n useEffect(() => {\n // console.log({ listFields });\n return () => {\n // console.log(\"Cleanup listfield change\");\n clearCacheData();\n };\n }, [listFields]);\n\n return { listFields, move, add, remove };\n}\n","import useTestRrenderListControl from \"../../hooks/useFormListControl.js\";\n\nconst FormList = ({ name, initialValues, form, formName, children }) => {\n const { listFields, ...actions } = useTestRrenderListControl({\n name,\n initialValues,\n form,\n formName,\n });\n return children(listFields, { ...actions });\n};\n\nexport default FormList;\n","const Input = ({ onChange, ref, ...props }) => {\n return (\n <input\n ref={ref}\n onChange={(e) => {\n onChange && onChange(e.target.value);\n }}\n {...props}\n />\n );\n};\n\nexport default Input;\n","import { cloneElement } from \"react\";\n\nconst InputWrapper = ({ children, errors = [], ...props }) => {\n return (\n <div>\n {cloneElement(children, props)}\n {(props.isDirty || props.formState === \"submitted\") &&\n errors?.map((r) => (\n <div key={`${props.name}-${props.formItemId}-${r.ruleName}`}>\n {r?.message}\n </div>\n ))}\n </div>\n );\n};\n\nexport default InputWrapper;\n"],"names":["getAllNoneObjStringPath","value","prevPath","Object","keys","reduce","prev","cur","concat","join","filter","v","isNil","useFormStore","create","storeSet","storeGet","forms","initialValues","formStates","cacheData","formInstances","submitHistory","setData","formName","name","produce","state","oldValues","set","getCacheData","get","setCacheData","clearCacheData","getFormItemValue","_storeGet$forms","getFormValues","_storeGet$forms2","clearFormValues","unset","clearFormInitialValues","clearObjKeyItem","clearArrItem","console","log","arrPath","split","slice","elPath","Number","getArrItem","isNumber","splice","setFormState","_ref","isInitied","submitState","getFormState","clearFormState","setFormInitData","initValues","listInitPath","forEach","k","getInitData","setInitData","setFormInstance","_ref2","resetFields","submit","submitAsync","setFieldValue","setFieldValues","getFieldValue","getFieldValues","getFieldErrors","setFieldFocus","storeListeners","findListenerIndex","findIndex","l","push","revokeFormInstance","_ref3","instances","findInstanceIndex","getCurrentSubmit","last","getSubmitHistory","setSubmitHistory","submitData","length","useFormListeners","listeners","getListener","formItemId","find","getListeners","setListener","_ref4","onChange","onReset","isTouched","isDirty","internalErrors","onFocus","emitFocus","revokeListener","onAfterRevoke","listenersInfo","cloneDeep","useFormCleanUp","cleanUpStack","setCleanUpStack","_ref5","type","itemKey","cleanUpKey","v4","key","clearCleanUpStack","FormCleanUp","_useFormCleanUp","useShallow","_useFormListeners","_useFormStore","useEffect","Array","isArray","c","listener","same","h","Fragment","_catch","body","recover","result","e","then","FormContext","createContext","Form","children","onFinish","onReject","onFinally","FormElement","props","_objectWithoutPropertiesLoose","_excluded","_state$formStates","options","values","notTriggerDirty","allStringPath","p","names","map","includes","errors","getAllFieldErrors","_getListeners","_l$internalErrors","_useTask","useTask","task","_temp","flushSync","errorFields","formValues","resultValues","cleanValues","uniq","handleIsolateCase","_temp1","_temp6","_temp5","externalFinishCallback","_temp2","_onFinish","Promise","resolve","_temp4","callBothFinish","_temp3","_onFinish2","_temp0","externalRejectCallback","_temp7","_onReject","_temp9","callBothReject","_temp8","_onReject2","reject","handleFinallyCase","_temp13","externalFinallyCallback","_temp10","_onFinally","errorsField","withUnRegisteredValues","_temp12","callBothFinally","_temp11","_onFinally2","allSettled","error","runSubmit","run","runSubmitAsync","runAsync","reset","resetOptions","totalListenerFields","findListenerByName","o","Provider","_extends","onSubmit","preventDefault","stopPropagation","useFormContext","useContext","Error","useForm","formNameOrFormInstance","formInstance","i","_formNameOrFormInstan","useWatch","_useForm","_formInstance$formNam","useSubmitDataWatch","_ref2$triggerWhenChan","triggerWhenChange","mapFn","_useForm2","_useState","useState","setSubmitData","isEqual","useFormStateWatch","_useForm3","formState","_state$formStates2","IS_STRING_NUMBER_REGEX","IS_USERNAME_REGEX","IS_PASSWORD_REGEX","IS_POSITIVE_STRING_NUMBER_REGEX","IS_POSITIVE_INTEGER_STRING_NUMBER_REGEX","IS_VIETNAMESE_PHONE_NUMBER_REGEX","IS_EMAIL_REGEX","IS_NAME_REGEX","IS_NOSPACE_STRING_AND_NUMBER_REGEX","IS_STRING_AND_NUMBER_REGEX","IS_NO_SPACE_ALPHABET_STRING_AND_NUMBER_REGEX","IS_ALPHABET_STRING_AND_NUMBER_REGEX","IS_NO_SPACE_ALPHABET_STRING_REGEX","_iteratorSymbol","Symbol","iterator","_settle","pact","s","_Pact","bind","observer","prototype","onFulfilled","onRejected","callback","_this","_isSettledPact","thenable","_forTo","array","check","_cycle","VALID_PREMITIVE_TYPE","_forOf","target","step","next","done","return","_fixup","TypeError","useFormItemControl","form","initialValue","rules","elementRef","contextForm","_useFormStore2","initValue","internalInitValue","onInitData","current","focus","internalRules","useMemo","_useTaskEffect","useTaskEffect","listErrors","ruleToTask","r","index","_result","_exit","_fieldValue$toString","required","fieldValue","toString","trim","ruleName","message","min","max","_r$min","_r$max","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","isNaN","minLength","maxLength","_r$minLength","_r$maxLength","isPassword","test","isUsername","isPhoneNumber","isStringNumber","isPositiveStringNumber","isPositiveIntegerStringNumber","isEmail","isVietnameseName","isNoSpaceStringAndNumber","isStringAndNumber","isNoSpaceOnlyAlphabetStringAndNumber","isOnlyAlphabetStringAndNumber","isNoSpaceAlphabetString","handler","_r$handler","rAsync","deps","onError","err","data","getNewDataFromCache","FormItem","_cloneElement","externalFormItemId","_ref$valuePropName","valuePropName","getValueFromEvent","elRef","useRef","_useFormItemControl","cloneElement","val","validateState","ref","useFormListControl","listFormInitValues","setListFormInitValues","_useState2","listFields","setListFields","handleCacheListField","currentFormValues","formDataBeforeChange","mapPrevWithKey","d","findPrev","pIndex","undefined","Boolean","mapCurWithKey","m","getNewValueCache","startRemoveIndex","from","_","add","newName","newKey","clonePrev","curIndex","remove","removedItem","move","fromKey","to","findItemIndex","moveItem","itemName","FormList","_useTestRrenderListCo","useTestRrenderListControl","actions","Input","InputWrapper","_ref$errors"],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './index';