@dartcom/ui-kit 3.2.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/buttons/delete/delete.js.map +1 -1
- package/dist/cjs/components/buttons/edit/edit.js +35 -0
- package/dist/cjs/components/buttons/edit/edit.js.map +1 -0
- package/dist/cjs/components/form/form.js +14 -15
- package/dist/cjs/components/form/form.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/node_modules/@mui/icons-material/esm/Edit.js +14 -0
- package/dist/cjs/node_modules/@mui/icons-material/esm/Edit.js.map +1 -0
- package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js +0 -35
- package/dist/cjs/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/esm/components/buttons/delete/delete.js.map +1 -1
- package/dist/esm/components/buttons/edit/edit.js +2 -0
- package/dist/esm/components/buttons/edit/edit.js.map +1 -0
- package/dist/esm/components/form/form.js +1 -1
- package/dist/esm/components/form/form.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/node_modules/@mui/icons-material/esm/Edit.js +3 -0
- package/dist/esm/node_modules/@mui/icons-material/esm/Edit.js.map +1 -0
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js +1 -1
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js.map +1 -1
- package/dist/esm/scene.yaml.js +1 -1
- package/dist/esm/types/components/buttons/delete/delete.d.ts +1 -7
- package/dist/esm/types/components/buttons/delete/delete.d.ts.map +1 -1
- package/dist/esm/types/components/buttons/delete/types.d.ts +8 -0
- package/dist/esm/types/components/buttons/delete/types.d.ts.map +1 -0
- package/dist/esm/types/components/buttons/edit/edit.d.ts +5 -0
- package/dist/esm/types/components/buttons/edit/edit.d.ts.map +1 -0
- package/dist/esm/types/components/buttons/edit/edit.stories.d.ts +7 -0
- package/dist/esm/types/components/buttons/edit/edit.stories.d.ts.map +1 -0
- package/dist/esm/types/components/buttons/edit/index.d.ts +2 -0
- package/dist/esm/types/components/buttons/edit/index.d.ts.map +1 -0
- package/dist/esm/types/components/buttons/edit/types.d.ts +3 -0
- package/dist/esm/types/components/buttons/edit/types.d.ts.map +1 -0
- package/dist/esm/types/components/buttons/index.d.ts +1 -0
- package/dist/esm/types/components/buttons/index.d.ts.map +1 -1
- package/dist/esm/types/components/dialog/dialog.d.ts +5 -0
- package/dist/esm/types/components/dialog/dialog.d.ts.map +1 -0
- package/dist/esm/types/components/dialog/index.d.ts +2 -0
- package/dist/esm/types/components/dialog/index.d.ts.map +1 -0
- package/dist/esm/types/components/dialog/types.d.ts +5 -0
- package/dist/esm/types/components/dialog/types.d.ts.map +1 -0
- package/dist/esm/types/components/form/form.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sources":["../../../../../src/components/buttons/delete/delete.tsx"],"sourcesContent":["import * as React from 'react';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n Slide,\n} from '@mui/material';\nimport { TransitionProps } from '@mui/material/transitions';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement;\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\
|
|
1
|
+
{"version":3,"file":"delete.js","sources":["../../../../../src/components/buttons/delete/delete.tsx"],"sourcesContent":["import * as React from 'react';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n IconButton,\n Slide,\n} from '@mui/material';\nimport { TransitionProps } from '@mui/material/transitions';\n\nimport { DeleteButtonProps } from './types';\n\nconst Transition = React.forwardRef(function Transition(\n props: TransitionProps & {\n children: React.ReactElement;\n },\n ref: React.Ref<unknown>,\n) {\n return <Slide direction=\"up\" ref={ref} {...props} />;\n});\n\nconst DeleteButton: React.FC<DeleteButtonProps> = ({\n notification,\n onDelete,\n}) => {\n const id = React.useId();\n\n const [openNotification, setOpenNotification] = React.useState(false);\n\n const handleOpenNotification = () => {\n setOpenNotification(true);\n };\n\n const handleCloseNotification = () => {\n setOpenNotification(false);\n };\n\n return (\n <React.Fragment>\n <IconButton\n onClick={() => {\n if (notification) {\n handleOpenNotification();\n } else {\n onDelete();\n }\n }}>\n <DeleteIcon fontSize=\"small\" color=\"error\" />\n </IconButton>\n\n {notification ? (\n <Dialog\n slots={{\n transition: Transition,\n }}\n open={openNotification}\n onClose={handleCloseNotification}>\n <DialogTitle id={`${id}-dialog-title`}>\n {notification.title}\n </DialogTitle>\n\n <DialogContent>\n <DialogContentText id={`${id}-dialog-text`}>\n {notification.description}\n </DialogContentText>\n </DialogContent>\n\n <DialogActions>\n <Button\n variant=\"contained\"\n color=\"error\"\n sx={{\n textTransform: 'none',\n }}\n onClick={handleCloseNotification}>\n Отмена\n </Button>\n\n <Button\n variant=\"contained\"\n sx={{\n textTransform: 'none',\n }}\n onClick={() => {\n onDelete();\n\n handleCloseNotification();\n }}>\n Подтвердить\n </Button>\n </DialogActions>\n </Dialog>\n ) : null}\n </React.Fragment>\n );\n};\n\nexport default DeleteButton;\n"],"names":["Transition","React","forwardRef","props","ref","_jsx","Slide","direction","DeleteButton","notification","onDelete","id","useId","openNotification","setOpenNotification","useState","handleCloseNotification","_jsxs","Fragment","children","IconButton","onClick","DeleteIcon","fontSize","color","Dialog","slots","transition","open","onClose","DialogTitle","title","DialogContent","DialogContentText","description","DialogActions","Button","variant","sx","textTransform"],"mappings":"mxBAgBA,MAAMA,EAAaC,EAAMC,WAAW,SAClCC,EAGAC,GAEA,OAAOC,EAACC,EAAK,CAACC,UAAU,KAAKH,IAAKA,KAASD,GAC7C,GAEMK,EAA4C,EAChDC,eACAC,eAEA,MAAMC,EAAKV,EAAMW,SAEVC,EAAkBC,GAAuBb,EAAMc,UAAS,GAMzDC,EAA0B,KAC9BF,GAAoB,IAGtB,OACEG,EAAChB,EAAMiB,SAAQ,CAAAC,SAAA,CACbd,EAACe,EAAU,CACTC,QAAS,KACHZ,EAXVK,GAAoB,GAcZJ,KAEHS,SACDd,EAACiB,EAAU,CAACC,SAAS,QAAQC,MAAM,YAGpCf,EACCQ,EAACQ,EAAM,CACLC,MAAO,CACLC,WAAY3B,GAEd4B,KAAMf,EACNgB,QAASb,EAAuBG,SAAA,CAChCd,EAACyB,EAAW,CAACnB,GAAI,GAAGA,iBAAiBQ,SAClCV,EAAasB,QAGhB1B,EAAC2B,EAAa,CAAAb,SACZd,EAAC4B,GAAkBtB,GAAI,GAAGA,gBAAgBQ,SACvCV,EAAayB,gBAIlBjB,EAACkB,aACC9B,EAAC+B,EAAM,CACLC,QAAQ,YACRb,MAAM,QACNc,GAAI,CACFC,cAAe,QAEjBlB,QAASL,EAAuBG,SAAA,WAIlCd,EAAC+B,EAAM,CACLC,QAAQ,YACRC,GAAI,CACFC,cAAe,QAEjBlB,QAAS,KACPX,IAEAM,KACDG,SAAA,sBAKL"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import*as r from"react";import t from"../../../node_modules/@mui/icons-material/esm/Edit.js";import m from"../../../node_modules/@mui/material/esm/IconButton/IconButton.js";const e=e=>{const i=r.useId();return o(r.Fragment,{children:o(m,{id:i,...e,children:o(t,{fontSize:"small",color:"primary"})})})};export{e as default};
|
|
2
|
+
//# sourceMappingURL=edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.js","sources":["../../../../../src/components/buttons/edit/edit.tsx"],"sourcesContent":["import * as React from 'react';\nimport EditIcon from '@mui/icons-material/Edit';\nimport { IconButton } from '@mui/material';\n\nimport { EditButtonProps } from './types';\n\nconst EditButton: React.FC<EditButtonProps> = (props) => {\n const buttonId = React.useId();\n\n return (\n <React.Fragment>\n <IconButton id={buttonId} {...props}>\n <EditIcon fontSize=\"small\" color=\"primary\" />\n </IconButton>\n </React.Fragment>\n );\n};\n\nexport default EditButton;\n"],"names":["EditButton","props","buttonId","React","useId","_jsx","Fragment","children","IconButton","id","EditIcon","fontSize","color"],"mappings":"qNAMA,MAAMA,EAAyCC,IAC7C,MAAMC,EAAWC,EAAMC,QAEvB,OACEC,EAACF,EAAMG,SAAQ,CAAAC,SACbF,EAACG,EAAU,CAACC,GAAIP,KAAcD,EAAKM,SACjCF,EAACK,EAAQ,CAACC,SAAS,QAAQC,MAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as n,jsx as t}from"react/jsx-runtime";import e from"../../node_modules/@mui/material/esm/Box/Box.js";function o({form:o,sx:r={},fields:s,buttons:i,observers:m,onSubmit:l}){const{handleSubmit:x}=o;return n(e,{component:"form",sx:{display:"grid",gap:"15px",...r},onSubmit:x(l),children:[t(e,{sx:{display:"grid",gap:"15px",...s.sx},children:s.content}),i?.content?t(e,{sx:{display:"flex",alignItems:"center",gap:"15px",...i.sx},children:i.content}):null,m?.content]})}export{o as default};
|
|
2
2
|
//# sourceMappingURL=form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sources":["../../../../src/components/form/form.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, SxProps } from '@mui/material';\r\nimport {
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../../src/components/form/form.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Box, SxProps } from '@mui/material';\r\nimport { FieldValues, SubmitHandler, UseFormReturn } from 'react-hook-form';\r\n\r\ninterface CustomFormProp<T extends FieldValues> {\r\n form: UseFormReturn<T>;\r\n\r\n onSubmit: SubmitHandler<T>;\r\n\r\n sx?: SxProps;\r\n\r\n fields: {\r\n content: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n buttons?: {\r\n content?: React.ReactNode;\r\n sx?: SxProps;\r\n };\r\n\r\n observers?: {\r\n content?: React.ReactNode;\r\n };\r\n}\r\n\r\n/**\r\n * Используем этот компонент как основную обертку для формы\r\n * Все поля должны хранится при инициализации формы и быть доступны через контекст формы\r\n * @template T - Интрефейс данных формы.\r\n * @param {React.ReactNode} children - Все компоненты, которым нужен контекст фор.\r\n * @param {UseFormReturn<T>} form - Форма useForm, которая содержит все поля.\r\n * @param {SxProps} [sx={}] - Опциональные стили самой формы.\r\n * @param {SubmitHandler<T>} onSubmit - Функция обработки отправки формы.\r\n *\r\n * @returns {JSX.Element} The rendered form component with form context.\r\n */\r\nfunction CustomForm<T extends FieldValues>({\r\n form,\r\n sx = {},\r\n fields,\r\n buttons,\r\n observers,\r\n onSubmit,\r\n}: CustomFormProp<T>) {\r\n const { handleSubmit } = form;\r\n\r\n return (\r\n <Box\r\n component=\"form\"\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...sx,\r\n }}\r\n onSubmit={handleSubmit(onSubmit)}>\r\n <Box\r\n sx={{\r\n display: 'grid',\r\n\r\n gap: '15px',\r\n\r\n ...fields.sx,\r\n }}>\r\n {fields.content}\r\n </Box>\r\n\r\n {buttons?.content ? (\r\n <Box\r\n sx={{\r\n display: 'flex',\r\n\r\n alignItems: 'center',\r\n\r\n gap: '15px',\r\n\r\n ...buttons.sx,\r\n }}>\r\n {buttons.content}\r\n </Box>\r\n ) : null}\r\n {observers?.content}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CustomForm;\r\n"],"names":["CustomForm","form","sx","fields","buttons","observers","onSubmit","handleSubmit","_jsxs","Box","component","display","gap","children","_jsx","content","alignItems"],"mappings":"iHAqCA,SAASA,GAAkCC,KACzCA,EAAIC,GACJA,EAAK,CAAA,EAAEC,OACPA,EAAMC,QACNA,EAAOC,UACPA,EAASC,SACTA,IAEA,MAAMC,aAAEA,GAAiBN,EAEzB,OACEO,EAACC,EAAG,CACFC,UAAU,OACVR,GAAI,CACFS,QAAS,OAETC,IAAK,UAEFV,GAELI,SAAUC,EAAaD,GAASO,SAAA,CAChCC,EAACL,EAAG,CACFP,GAAI,CACFS,QAAS,OAETC,IAAK,UAEFT,EAAOD,IACXW,SACAV,EAAOY,UAGTX,GAASW,QACRD,EAACL,EAAG,CACFP,GAAI,CACFS,QAAS,OAETK,WAAY,SAEZJ,IAAK,UAEFR,EAAQF,IACZW,SACAT,EAAQW,UAET,KACHV,GAAWU,UAGlB"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{default as List}from"./components/list/list.js";export{default as NoData}from"./components/no-data/no-data.js";export{default as DeleteButton}from"./components/buttons/delete/delete.js";export{default as Checkbox}from"./components/checkbox/checkbox.js";export{default as Form}from"./components/form/form.js";export{default as Select}from"./components/select/select.js";export{default as Input}from"./components/input/input.js";export{default as DragList}from"./components/drag-list/drag-list.js";export{default as LeafletLayer}from"./components/layers/leaflet/leaflet.js";export{useGetLeafletLayer}from"./components/layers/leaflet/hooks/useGetLeafletLayer.js";export{GlobalConfig}from"./configs/global/global.js";export{_testApiKeys}from"./configs/global/constants.js";export{API_METHODS}from"./constants/api.js";export{PanelsNames}from"./constants/map.js";
|
|
1
|
+
export{default as List}from"./components/list/list.js";export{default as NoData}from"./components/no-data/no-data.js";export{default as DeleteButton}from"./components/buttons/delete/delete.js";export{default as EditButton}from"./components/buttons/edit/edit.js";export{default as Checkbox}from"./components/checkbox/checkbox.js";export{default as Form}from"./components/form/form.js";export{default as Select}from"./components/select/select.js";export{default as Input}from"./components/input/input.js";export{default as DragList}from"./components/drag-list/drag-list.js";export{default as LeafletLayer}from"./components/layers/leaflet/leaflet.js";export{useGetLeafletLayer}from"./components/layers/leaflet/hooks/useGetLeafletLayer.js";export{GlobalConfig}from"./configs/global/global.js";export{_testApiKeys}from"./configs/global/constants.js";export{API_METHODS}from"./constants/api.js";export{PanelsNames}from"./constants/map.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";import r from"../../material/esm/utils/createSvgIcon.js";var a=r(t("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");export{a as default};
|
|
3
|
+
//# sourceMappingURL=Edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Edit.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"react";var t=e=>e instanceof Date,r=e=>null==e;const n=e=>"object"==typeof e;var s=e=>!r(e)&&!Array.isArray(e)&&n(e)&&!t(e),a=e=>s(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,o="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function u(e){let t;const r=Array.isArray(e),n="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else{if(o&&(e instanceof Blob||n)||!r&&!s(e))return e;if(t=r?[]:Object.create(Object.getPrototypeOf(e)),r||(e=>{const t=e.constructor&&e.constructor.prototype;return s(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=u(e[r]));else t=e}return t}var i=e=>/^\w*$/.test(e),l=e=>void 0===e,c=e=>{return t=e.replace(/["|']|\]/g,"").split(/\.|\[/),Array.isArray(t)?t.filter(Boolean):[];var t},
|
|
1
|
+
import e from"react";var t=e=>e instanceof Date,r=e=>null==e;const n=e=>"object"==typeof e;var s=e=>!r(e)&&!Array.isArray(e)&&n(e)&&!t(e),a=e=>s(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,o="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function u(e){let t;const r=Array.isArray(e),n="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)t=new Date(e);else{if(o&&(e instanceof Blob||n)||!r&&!s(e))return e;if(t=r?[]:Object.create(Object.getPrototypeOf(e)),r||(e=>{const t=e.constructor&&e.constructor.prototype;return s(t)&&t.hasOwnProperty("isPrototypeOf")})(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=u(e[r]));else t=e}return t}var i=e=>/^\w*$/.test(e),l=e=>void 0===e,c=e=>{return t=e.replace(/["|']|\]/g,"").split(/\.|\[/),Array.isArray(t)?t.filter(Boolean):[];var t},f=(e,t,n)=>{if(!t||!s(e))return n;const a=(i(t)?[t]:c(t)).reduce((e,t)=>r(e)?e:e[t],e);return l(a)||a===e?l(e[t])?n:e[t]:a},d=e=>"boolean"==typeof e,m=(e,t,r)=>{let n=-1;const a=i(t)?[t]:c(t),o=a.length,u=o-1;for(;++n<o;){const t=a[n];let o=r;if(n!==u){const r=e[t];o=s(r)||Array.isArray(r)?r:isNaN(+a[n+1])?{}:[]}if("__proto__"===t||"constructor"===t||"prototype"===t)return;e[t]=o,e=e[t]}};const y="blur",b="change",g="all",p=e.createContext(null);p.displayName="HookFormContext";const _=()=>e.useContext(p);const V="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function h(t){const r=_(),{control:n=r.control,disabled:s,name:a,exact:o}=t||{},[u,i]=e.useState(n._formState),l=e.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return V(()=>n._subscribe({name:a,formState:l.current,exact:o,callback:e=>{!s&&i({...n._formState,...e})}}),[a,s,o]),e.useEffect(()=>{l.current.isValid&&n._setValid(!0)},[n]),e.useMemo(()=>((e,t,r,n=!0)=>{const s={defaultValues:t._defaultValues};for(const a in e)Object.defineProperty(s,a,{get:()=>{const s=a;return t._proxyFormState[s]!==g&&(t._proxyFormState[s]=!n||g),r&&(r[s]=!0),e[s]}});return s})(u,n,l.current,!1),[u,n])}var v=e=>r(e)||!n(e);function A(e,r,n=new WeakSet){if(v(e)||v(r))return e===r;if(t(e)&&t(r))return e.getTime()===r.getTime();const a=Object.keys(e),o=Object.keys(r);if(a.length!==o.length)return!1;if(n.has(e)||n.has(r))return!0;n.add(e),n.add(r);for(const u of a){const a=e[u];if(!o.includes(u))return!1;if("ref"!==u){const e=r[u];if(t(a)&&t(e)||s(a)&&s(e)||Array.isArray(a)&&Array.isArray(e)?!A(a,e,n):a!==e)return!1}}return!0}function x(t){const r=_(),{control:n=r.control,name:s,defaultValue:a,disabled:o,exact:u,compute:i}=t||{},l=e.useRef(a),c=e.useRef(i),d=e.useRef(void 0);c.current=i;const m=e.useMemo(()=>n._getWatch(s,l.current),[n,s]),[y,b]=e.useState(c.current?c.current(m):m);return V(()=>n._subscribe({name:s,formState:{values:!0},exact:u,callback:e=>{if(!o){const t=((e,t,r,n,s)=>"string"==typeof e?f(r,e,s):Array.isArray(e)?e.map(e=>f(r,e)):r)(s,n._names,e.values||n._formValues,0,l.current);if(c.current){const e=c.current(t);A(e,d.current)||(b(e),d.current=e)}else b(t)}}}),[n,o,s,u]),e.useEffect(()=>n._removeUnmounted()),y}function F(t){const r=_(),{name:n,disabled:s,control:o=r.control,shouldUnregister:i,defaultValue:c}=t,g=((e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)))(o._names.array,n),p=e.useMemo(()=>f(o._formValues,n,f(o._defaultValues,n,c)),[o,n,c]),V=x({control:o,name:n,defaultValue:p,exact:!0}),v=h({control:o,name:n,exact:!0}),A=e.useRef(t),F=e.useRef(void 0),k=e.useRef(o.register(n,{...t.rules,value:V,...d(t.disabled)?{disabled:t.disabled}:{}}));A.current=t;const w=e.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(v.errors,n)},isDirty:{enumerable:!0,get:()=>!!f(v.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!f(v.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!f(v.validatingFields,n)},error:{enumerable:!0,get:()=>f(v.errors,n)}}),[v,n]),S=e.useCallback(e=>k.current.onChange({target:{value:a(e),name:n},type:b}),[n]),C=e.useCallback(()=>k.current.onBlur({target:{value:f(o._formValues,n),name:n},type:y}),[n,o._formValues]),O=e.useCallback(e=>{const t=f(o._fields,n);t&&e&&(t._f.ref={focus:()=>e.focus&&e.focus(),select:()=>e.select&&e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})},[o._fields,n]),j=e.useMemo(()=>({name:n,value:V,...d(s)||v.disabled?{disabled:v.disabled||s}:{},onChange:S,onBlur:C,ref:O}),[n,s,v.disabled,S,C,O,V]);return e.useEffect(()=>{const e=o._options.shouldUnregister||i,t=F.current;t&&t!==n&&!g&&o.unregister(t),o.register(n,{...A.current.rules,...d(A.current.disabled)?{disabled:A.current.disabled}:{}});const r=(e,t)=>{const r=f(o._fields,e);r&&r._f&&(r._f.mount=t)};if(r(n,!0),e){const e=u(f(o._options.defaultValues,n,A.current.defaultValue));m(o._defaultValues,n,e),l(f(o._formValues,n))&&m(o._formValues,n,e)}return!g&&o.register(n),F.current=n,()=>{(g?e&&!o._state.action:e)?o.unregister(n):r(n,!1)}},[n,o,g,i]),e.useEffect(()=>{o._setDisabledField({disabled:s,name:n})},[s,n,o]),e.useMemo(()=>({field:j,formState:v,fieldState:w}),[j,v,w])}const k=e=>e.render(F(e));export{k as Controller,f as get,m as set,F as useController,_ as useFormContext,h as useFormState,x as useWatch};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|