@modern-admin/web 0.3.5 → 0.4.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/README.md +42 -0
- package/dist/config/runtime-config.d.ts +84 -0
- package/dist/config/runtime-config.js +19 -0
- package/dist/config/vite.d.ts +84 -0
- package/dist/config/vite.js +166 -0
- package/dist/lib/index.js +0 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/mount.d.ts.map +1 -1
- package/dist/standalone/assets/{action-component-host-CXIbN-8V.js → action-component-host-CuzX-99S.js} +2 -2
- package/dist/standalone/assets/action-component-host-CuzX-99S.js.br +0 -0
- package/dist/standalone/assets/action-component-host-CuzX-99S.js.gz +0 -0
- package/dist/standalone/assets/{action-component-host-CXIbN-8V.js.map → action-component-host-CuzX-99S.js.map} +1 -1
- package/dist/standalone/assets/{action-page-OsWfKQ6C.js → action-page-BUTCUZ7e.js} +2 -2
- package/dist/standalone/assets/action-page-BUTCUZ7e.js.br +0 -0
- package/dist/standalone/assets/action-page-BUTCUZ7e.js.gz +0 -0
- package/dist/standalone/assets/{action-page-OsWfKQ6C.js.map → action-page-BUTCUZ7e.js.map} +1 -1
- package/dist/standalone/assets/{ai-assistant-widget-Bt4Z7Fmr.js → ai-assistant-widget-B3Xy7bCi.js} +2 -2
- package/dist/standalone/assets/ai-assistant-widget-B3Xy7bCi.js.br +0 -0
- package/dist/standalone/assets/ai-assistant-widget-B3Xy7bCi.js.gz +0 -0
- package/dist/standalone/assets/{ai-assistant-widget-Bt4Z7Fmr.js.map → ai-assistant-widget-B3Xy7bCi.js.map} +1 -1
- package/dist/standalone/assets/{audit-log-page-2wuGiWg-.js → audit-log-page-GHzf7mLS.js} +2 -2
- package/dist/standalone/assets/audit-log-page-GHzf7mLS.js.br +0 -0
- package/dist/standalone/assets/audit-log-page-GHzf7mLS.js.gz +0 -0
- package/dist/standalone/assets/{audit-log-page-2wuGiWg-.js.map → audit-log-page-GHzf7mLS.js.map} +1 -1
- package/dist/standalone/assets/{calendar-BZVUWakC.js → calendar-DxUwrP2r.js} +2 -2
- package/dist/standalone/assets/calendar-DxUwrP2r.js.br +0 -0
- package/dist/standalone/assets/calendar-DxUwrP2r.js.gz +0 -0
- package/dist/standalone/assets/{calendar-BZVUWakC.js.map → calendar-DxUwrP2r.js.map} +1 -1
- package/dist/standalone/assets/{chart-widget-BtJb6YXV.js → chart-widget-DnK78Joj.js} +2 -2
- package/dist/standalone/assets/chart-widget-DnK78Joj.js.br +0 -0
- package/dist/standalone/assets/chart-widget-DnK78Joj.js.gz +0 -0
- package/dist/standalone/assets/{chart-widget-BtJb6YXV.js.map → chart-widget-DnK78Joj.js.map} +1 -1
- package/dist/standalone/assets/{command-BNF_evMy.js → command-Df4Effbo.js} +2 -2
- package/dist/standalone/assets/command-Df4Effbo.js.br +0 -0
- package/dist/standalone/assets/command-Df4Effbo.js.gz +0 -0
- package/dist/standalone/assets/{command-BNF_evMy.js.map → command-Df4Effbo.js.map} +1 -1
- package/dist/standalone/assets/{date-picker-LfbUehd1.js → date-picker-BM6tYOT1.js} +2 -2
- package/dist/standalone/assets/date-picker-BM6tYOT1.js.br +0 -0
- package/dist/standalone/assets/date-picker-BM6tYOT1.js.gz +0 -0
- package/dist/standalone/assets/{date-picker-LfbUehd1.js.map → date-picker-BM6tYOT1.js.map} +1 -1
- package/dist/standalone/assets/{edit-page-DCRB9Y_q.js → edit-page-C_QYbzrq.js} +2 -2
- package/dist/standalone/assets/edit-page-C_QYbzrq.js.br +0 -0
- package/dist/standalone/assets/edit-page-C_QYbzrq.js.gz +0 -0
- package/dist/standalone/assets/{edit-page-DCRB9Y_q.js.map → edit-page-C_QYbzrq.js.map} +1 -1
- package/dist/standalone/assets/{empty-DAEAjFd3.js → empty-BQFNUnfh.js} +2 -2
- package/dist/standalone/assets/empty-BQFNUnfh.js.br +0 -0
- package/dist/standalone/assets/empty-BQFNUnfh.js.gz +0 -0
- package/dist/standalone/assets/{empty-DAEAjFd3.js.map → empty-BQFNUnfh.js.map} +1 -1
- package/dist/standalone/assets/{global-search-dialog-HMLztOho.js → global-search-dialog-DMgCfJpF.js} +2 -2
- package/dist/standalone/assets/global-search-dialog-DMgCfJpF.js.br +0 -0
- package/dist/standalone/assets/global-search-dialog-DMgCfJpF.js.gz +0 -0
- package/dist/standalone/assets/{global-search-dialog-HMLztOho.js.map → global-search-dialog-DMgCfJpF.js.map} +1 -1
- package/dist/standalone/assets/{heavy-fields-ZuqfOFMv.js → heavy-fields-Do2qd-Wi.js} +2 -2
- package/dist/standalone/assets/heavy-fields-Do2qd-Wi.js.br +0 -0
- package/dist/standalone/assets/{heavy-fields-ZuqfOFMv.js.gz → heavy-fields-Do2qd-Wi.js.gz} +0 -0
- package/dist/standalone/assets/{heavy-fields-ZuqfOFMv.js.map → heavy-fields-Do2qd-Wi.js.map} +1 -1
- package/dist/standalone/assets/{home-page-HmheewiP.js → home-page-eGVeZnKR.js} +3 -3
- package/dist/standalone/assets/home-page-eGVeZnKR.js.br +0 -0
- package/dist/standalone/assets/home-page-eGVeZnKR.js.gz +0 -0
- package/dist/standalone/assets/{home-page-HmheewiP.js.map → home-page-eGVeZnKR.js.map} +1 -1
- package/dist/standalone/assets/{icon-registry-BV44--RL.js → icon-registry-BroqBCns.js} +2 -2
- package/dist/standalone/assets/icon-registry-BroqBCns.js.br +0 -0
- package/dist/standalone/assets/{icon-registry-BV44--RL.js.gz → icon-registry-BroqBCns.js.gz} +0 -0
- package/dist/standalone/assets/{icon-registry-BV44--RL.js.map → icon-registry-BroqBCns.js.map} +1 -1
- package/dist/standalone/assets/index-C3MuojaM.js +15 -0
- package/dist/standalone/assets/index-C3MuojaM.js.br +0 -0
- package/dist/standalone/assets/index-C3MuojaM.js.gz +0 -0
- package/dist/standalone/assets/{index-t4woXGa-.js.map → index-C3MuojaM.js.map} +1 -1
- package/dist/standalone/assets/{json-editor-sGw4fDoj.js → json-editor-BQLKoybQ.js} +2 -2
- package/dist/standalone/assets/json-editor-BQLKoybQ.js.br +0 -0
- package/dist/standalone/assets/json-editor-BQLKoybQ.js.gz +0 -0
- package/dist/standalone/assets/{json-editor-sGw4fDoj.js.map → json-editor-BQLKoybQ.js.map} +1 -1
- package/dist/standalone/assets/{property-renderer-DyCwdVkh.js → property-renderer--LvNtRJE.js} +4 -4
- package/dist/standalone/assets/property-renderer--LvNtRJE.js.br +0 -0
- package/dist/standalone/assets/property-renderer--LvNtRJE.js.gz +0 -0
- package/dist/standalone/assets/{property-renderer-DyCwdVkh.js.map → property-renderer--LvNtRJE.js.map} +1 -1
- package/dist/standalone/assets/{reference-Dfd804y3.js → reference-UuQ6Jts1.js} +2 -2
- package/dist/standalone/assets/reference-UuQ6Jts1.js.br +0 -0
- package/dist/standalone/assets/reference-UuQ6Jts1.js.gz +0 -0
- package/dist/standalone/assets/{reference-Dfd804y3.js.map → reference-UuQ6Jts1.js.map} +1 -1
- package/dist/standalone/assets/{revisions-button-DXZAh2Lu.js → revisions-button-DHcQjj4r.js} +2 -2
- package/dist/standalone/assets/revisions-button-DHcQjj4r.js.br +0 -0
- package/dist/standalone/assets/revisions-button-DHcQjj4r.js.gz +0 -0
- package/dist/standalone/assets/{revisions-button-DXZAh2Lu.js.map → revisions-button-DHcQjj4r.js.map} +1 -1
- package/dist/standalone/assets/{select-BWf6walM.js → select-B30EsRTA.js} +2 -2
- package/dist/standalone/assets/select-B30EsRTA.js.br +0 -0
- package/dist/standalone/assets/select-B30EsRTA.js.gz +0 -0
- package/dist/standalone/assets/{select-BWf6walM.js.map → select-B30EsRTA.js.map} +1 -1
- package/dist/standalone/assets/{settings-page-Co7sWbbL.js → settings-page-3r5atVKG.js} +2 -2
- package/dist/standalone/assets/settings-page-3r5atVKG.js.br +0 -0
- package/dist/standalone/assets/settings-page-3r5atVKG.js.gz +0 -0
- package/dist/standalone/assets/{settings-page-Co7sWbbL.js.map → settings-page-3r5atVKG.js.map} +1 -1
- package/dist/standalone/assets/{show-page-D-_vldWV.js → show-page-CmRDBZRg.js} +2 -2
- package/dist/standalone/assets/show-page-CmRDBZRg.js.br +0 -0
- package/dist/standalone/assets/show-page-CmRDBZRg.js.gz +0 -0
- package/dist/standalone/assets/{show-page-D-_vldWV.js.map → show-page-CmRDBZRg.js.map} +1 -1
- package/dist/standalone/assets/{tabs-khcHka8W.js → tabs-BXeUKAN4.js} +2 -2
- package/dist/standalone/assets/tabs-BXeUKAN4.js.br +0 -0
- package/dist/standalone/assets/tabs-BXeUKAN4.js.gz +0 -0
- package/dist/standalone/assets/{tabs-khcHka8W.js.map → tabs-BXeUKAN4.js.map} +1 -1
- package/dist/standalone/assets/{value-format-CPnbnlE6.js → value-format-BikdS7In.js} +2 -2
- package/dist/standalone/assets/value-format-BikdS7In.js.br +0 -0
- package/dist/standalone/assets/value-format-BikdS7In.js.gz +0 -0
- package/dist/standalone/assets/{value-format-CPnbnlE6.js.map → value-format-BikdS7In.js.map} +1 -1
- package/dist/standalone/assets/{wizard-create-page-CFwMs8E3.js → wizard-create-page-ChrGqxlO.js} +2 -2
- package/dist/standalone/assets/wizard-create-page-ChrGqxlO.js.br +0 -0
- package/dist/standalone/assets/wizard-create-page-ChrGqxlO.js.gz +0 -0
- package/dist/standalone/assets/{wizard-create-page-CFwMs8E3.js.map → wizard-create-page-ChrGqxlO.js.map} +1 -1
- package/dist/standalone/assets/{zod-BbfEBA4A.js → zod-CF8JsamI.js} +2 -2
- package/dist/standalone/assets/zod-CF8JsamI.js.br +0 -0
- package/dist/standalone/assets/zod-CF8JsamI.js.gz +0 -0
- package/dist/standalone/assets/{zod-BbfEBA4A.js.map → zod-CF8JsamI.js.map} +1 -1
- package/dist/standalone/index.html +4 -4
- package/dist/standalone/index.html.br +0 -0
- package/dist/standalone/index.html.gz +0 -0
- package/package.json +27 -5
- package/src/mount.tsx +8 -2
- package/src/standalone.tsx +1 -0
- package/src/vite.ts +219 -0
- package/vite.config.ts +13 -104
- package/dist/standalone/assets/action-component-host-CXIbN-8V.js.br +0 -0
- package/dist/standalone/assets/action-component-host-CXIbN-8V.js.gz +0 -0
- package/dist/standalone/assets/action-page-OsWfKQ6C.js.br +0 -0
- package/dist/standalone/assets/action-page-OsWfKQ6C.js.gz +0 -0
- package/dist/standalone/assets/ai-assistant-widget-Bt4Z7Fmr.js.br +0 -0
- package/dist/standalone/assets/ai-assistant-widget-Bt4Z7Fmr.js.gz +0 -0
- package/dist/standalone/assets/audit-log-page-2wuGiWg-.js.br +0 -0
- package/dist/standalone/assets/audit-log-page-2wuGiWg-.js.gz +0 -0
- package/dist/standalone/assets/calendar-BZVUWakC.js.br +0 -0
- package/dist/standalone/assets/calendar-BZVUWakC.js.gz +0 -0
- package/dist/standalone/assets/chart-widget-BtJb6YXV.js.br +0 -0
- package/dist/standalone/assets/chart-widget-BtJb6YXV.js.gz +0 -0
- package/dist/standalone/assets/command-BNF_evMy.js.br +0 -0
- package/dist/standalone/assets/command-BNF_evMy.js.gz +0 -0
- package/dist/standalone/assets/date-picker-LfbUehd1.js.br +0 -0
- package/dist/standalone/assets/date-picker-LfbUehd1.js.gz +0 -0
- package/dist/standalone/assets/edit-page-DCRB9Y_q.js.br +0 -0
- package/dist/standalone/assets/edit-page-DCRB9Y_q.js.gz +0 -0
- package/dist/standalone/assets/empty-DAEAjFd3.js.br +0 -0
- package/dist/standalone/assets/empty-DAEAjFd3.js.gz +0 -0
- package/dist/standalone/assets/global-search-dialog-HMLztOho.js.br +0 -0
- package/dist/standalone/assets/global-search-dialog-HMLztOho.js.gz +0 -0
- package/dist/standalone/assets/heavy-fields-ZuqfOFMv.js.br +0 -0
- package/dist/standalone/assets/home-page-HmheewiP.js.br +0 -0
- package/dist/standalone/assets/home-page-HmheewiP.js.gz +0 -0
- package/dist/standalone/assets/icon-registry-BV44--RL.js.br +0 -0
- package/dist/standalone/assets/index-t4woXGa-.js +0 -15
- package/dist/standalone/assets/index-t4woXGa-.js.br +0 -0
- package/dist/standalone/assets/index-t4woXGa-.js.gz +0 -0
- package/dist/standalone/assets/json-editor-sGw4fDoj.js.br +0 -0
- package/dist/standalone/assets/json-editor-sGw4fDoj.js.gz +0 -0
- package/dist/standalone/assets/property-renderer-DyCwdVkh.js.br +0 -0
- package/dist/standalone/assets/property-renderer-DyCwdVkh.js.gz +0 -0
- package/dist/standalone/assets/reference-Dfd804y3.js.br +0 -0
- package/dist/standalone/assets/reference-Dfd804y3.js.gz +0 -0
- package/dist/standalone/assets/revisions-button-DXZAh2Lu.js.br +0 -0
- package/dist/standalone/assets/revisions-button-DXZAh2Lu.js.gz +0 -0
- package/dist/standalone/assets/select-BWf6walM.js.br +0 -0
- package/dist/standalone/assets/select-BWf6walM.js.gz +0 -0
- package/dist/standalone/assets/settings-page-Co7sWbbL.js.br +0 -0
- package/dist/standalone/assets/settings-page-Co7sWbbL.js.gz +0 -0
- package/dist/standalone/assets/show-page-D-_vldWV.js.br +0 -0
- package/dist/standalone/assets/show-page-D-_vldWV.js.gz +0 -0
- package/dist/standalone/assets/tabs-khcHka8W.js.br +0 -0
- package/dist/standalone/assets/tabs-khcHka8W.js.gz +0 -0
- package/dist/standalone/assets/value-format-CPnbnlE6.js.br +0 -0
- package/dist/standalone/assets/value-format-CPnbnlE6.js.gz +0 -0
- package/dist/standalone/assets/wizard-create-page-CFwMs8E3.js.br +0 -0
- package/dist/standalone/assets/wizard-create-page-CFwMs8E3.js.gz +0 -0
- package/dist/standalone/assets/zod-BbfEBA4A.js.br +0 -0
- package/dist/standalone/assets/zod-BbfEBA4A.js.gz +0 -0
package/dist/standalone/assets/{wizard-create-page-CFwMs8E3.js → wizard-create-page-ChrGqxlO.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,s as r}from"./with-selector-NDLhu4dT.js";import{t as i}from"./plus-Dk-FzitW.js";import{t as a}from"./x-C3kLunD6.js";import{s as o}from"./dist-Dpg8xy_r.js";import{s}from"./empty-
|
|
2
|
-
//# sourceMappingURL=wizard-create-page-
|
|
1
|
+
import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,s as r}from"./with-selector-NDLhu4dT.js";import{t as i}from"./plus-Dk-FzitW.js";import{t as a}from"./x-C3kLunD6.js";import{s as o}from"./dist-Dpg8xy_r.js";import{s}from"./empty-BQFNUnfh.js";import{K as c,et as l,i as u,j as d}from"./router-wFvtgo77.js";import{c as f,l as p}from"./action-component-host-CuzX-99S.js";import{a as m,i as h,t as g}from"./card-4cS4uWCP.js";import{a as _,c as v,i as y,n as b,o as x,r as S,s as C,t as w}from"./zod-CF8JsamI.js";import{l as T,n as E}from"./property-renderer--LvNtRJE.js";import{_t as D,g as O,gt as k,h as A,i as j,m as M,yt as N}from"./index-C3MuojaM.js";var P=e(t(),1),F=n();function I({steps:e,properties:t,resourceId:n,control:c,trigger:l,onSubmit:u,onCancel:d,isSubmitting:f=!1,submitError:p,labels:m={}}){let h=m.back??`Back`,g=m.next??`Next`,_=m.submit??`Create`,v=m.cancel??`Cancel`,y=m.stepOf??`Step {current} of {total}`,[b,S]=P.useState(0),C=P.useMemo(()=>{let n=new Set(e.flatMap(e=>e.properties??[])),r=t.filter(e=>!n.has(e.path));return e.map(e=>e.properties?e.properties.map(e=>t.find(t=>t.path===e)).filter(e=>e!=null):r)},[e,t]),w=e.length,T=b===0,j=b===w-1,I=async()=>{let e=(C[b]??[]).map(e=>e.path);(e.length===0||await l(e))&&S(e=>Math.min(e+1,w-1))},R=e[b],z=C[b]??[],B=y.replace(`{current}`,String(b+1)).replace(`{total}`,String(w));return(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`px-6 pt-6 pb-5`,children:[(0,F.jsx)(`div`,{className:`flex w-full max-w-xl items-start mx-auto`,children:e.map((t,n)=>(0,F.jsxs)(P.Fragment,{children:[(0,F.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center`,children:[(0,F.jsx)(`div`,{className:r(`flex h-8 w-8 items-center justify-center rounded-full border-2 text-sm font-semibold transition-colors`,n<b&&`border-primary bg-primary text-primary-foreground`,n===b&&`border-primary bg-background text-primary`,n>b&&`border-border bg-background text-muted-foreground`),children:n<b?(0,F.jsx)(N,{className:`size-3.5`}):n+1}),(0,F.jsx)(`span`,{className:r(`mt-1.5 hidden max-w-[6rem] text-center text-xs leading-tight sm:block`,n===b?`font-medium text-foreground`:n<b?`text-primary`:`text-muted-foreground`),children:t.label})]}),n<e.length-1&&(0,F.jsx)(`div`,{className:r(`mx-2 mt-3.5 h-0.5 flex-1 transition-colors`,n<b?`bg-primary`:`bg-border`)})]},n))}),(0,F.jsxs)(`p`,{className:`mt-2 text-center text-xs text-muted-foreground sm:hidden`,children:[B,R.label?` · ${R.label}`:``]})]}),R.description&&(0,F.jsx)(`p`,{className:`px-6 pb-2 text-sm text-muted-foreground`,children:R.description}),(0,F.jsx)(`div`,{className:`gap-4 px-6 pb-4 [column-fill:_balance] md:columns-2`,children:z.map(e=>(0,F.jsx)(L,{control:c,property:e,children:(0,F.jsx)(x,{control:c,name:e.path,render:({field:t,fieldState:r})=>(0,F.jsxs)(M,{"data-invalid":r.error?!0:void 0,className:`mb-8 break-inside-avoid`,children:[(0,F.jsxs)(O,{htmlFor:t.name,children:[e.label,e.description?(0,F.jsx)(s,{content:e.description,ariaLabel:e.description}):null,e.isRequired&&(0,F.jsx)(`span`,{className:`ml-1 text-destructive`,children:`*`})]}),(0,F.jsx)(E,{property:e,value:t.value,onChange:t.onChange,disabled:f,resourceId:n}),r.error?.message&&(0,F.jsx)(A,{children:r.error.message})]})})},e.path))}),(0,F.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-6 py-4`,children:[(0,F.jsx)(`div`,{children:p&&(0,F.jsx)(`span`,{className:`text-sm text-destructive`,children:p})}),(0,F.jsxs)(`div`,{className:`flex gap-2`,children:[T?(0,F.jsxs)(o,{type:`button`,variant:`ghost`,onClick:d,disabled:f,children:[(0,F.jsx)(a,{className:`size-4`}),v]}):(0,F.jsxs)(o,{type:`button`,variant:`outline`,onClick:()=>S(e=>e-1),disabled:f,children:[(0,F.jsx)(D,{className:`size-4`}),h]}),j?(0,F.jsxs)(o,{type:`button`,onClick:u,disabled:f,children:[(0,F.jsx)(i,{className:`size-4`}),_]}):(0,F.jsxs)(o,{type:`button`,onClick:()=>void I(),disabled:f,children:[g,(0,F.jsx)(k,{className:`size-4`})]})]})]})]})}I.displayName=`WizardForm`;function L({control:e,property:t,children:n}){let r=t.showWhen,i=v({control:e,name:r?.field??t.path});return r?y(r,{[r.field]:i})?(0,F.jsx)(F.Fragment,{children:n}):null:(0,F.jsx)(F.Fragment,{children:n})}function R({resourceId:e,steps:t,labels:n}){let r=c(e),i=d(e),a=u(),{t:o,locale:s}=l(),v=j(),y=P.useMemo(()=>r?T(r.properties,`edit`,r.propertyOrder?.edit).filter(e=>!e.isDisabled):[],[r]),x=P.useRef(()=>({})),E=P.useMemo(()=>b(y,o,()=>x.current()),[y,s]),D=P.useMemo(()=>{let e={};for(let t of y)e[t.path]=S(t);return e},[y]),O=C({resolver:w(E),defaultValues:D});x.current=O.getValues,P.useEffect(()=>{O.reset(D)},[D]);let[k,A]=P.useState(null),M=async t=>{A(null);try{let n=await i.mutateAsync(t),r=n.record.errors;if(r&&Object.keys(r).length>0){for(let[e,t]of Object.entries(r)){let n=typeof t==`string`?t:t?.message??`Invalid value`;O.setError(e,{type:`server`,message:n})}n.record.baseError&&A(String(n.record.baseError)),v.error({key:`toast:validationFailed`});return}v.success({key:`toast:created`}),a({name:`show`,resourceId:e,recordId:String(n.record.id)})}catch(e){let t=e instanceof Error?e.message:String(e);A(t),v.error({key:`toast:createFailed`},{description:t})}},N=()=>{O.handleSubmit(M,()=>{v.error({key:`toast:validationFailed`})})()};if(!r)return(0,F.jsx)(`div`,{className:`p-6`,children:o(`common:loading`)});let L={back:o(`common:back`),next:o(`common:next`),submit:o(`common:create`),cancel:o(`common:cancel`),stepOf:o(`wizard:stepOf`),...n};return(0,F.jsxs)(`div`,{className:`flex min-h-full flex-col gap-4`,children:[(0,F.jsx)(f,{items:[p(o(`common:home`)),{label:r.name,to:{name:`list`,resourceId:e}},{label:o(`common:new`)}]}),(0,F.jsxs)(g,{className:`flex-1`,children:[(0,F.jsx)(h,{children:(0,F.jsx)(m,{className:`truncate`,children:o(`common:newRecord`,{name:r.name})})}),(0,F.jsx)(_,{...O,children:(0,F.jsx)(I,{steps:t,properties:y,resourceId:e,control:O.control,trigger:O.trigger,onSubmit:N,onCancel:()=>a({name:`list`,resourceId:e}),isSubmitting:O.formState.isSubmitting,submitError:k,labels:L})})]})]})}export{R as ResourceWizardCreatePage};
|
|
2
|
+
//# sourceMappingURL=wizard-create-page-ChrGqxlO.js.map
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-create-page-CFwMs8E3.js","names":[],"sources":["../../../../react/src/components/wizard-form.tsx","../../../../react/src/pages/wizard-create-page.tsx"],"sourcesContent":["// WizardForm — multi-step create form. Each step shows a subset of the\n// resource's editable properties. Clicking \"Next\" validates only the current\n// step's fields before advancing; \"Back\" never re-validates. \"Create\" on the\n// final step triggers the caller-supplied submit handler.\n//\n// The component is i18n-unaware: all visible strings are passed via the\n// `labels` prop with English defaults. The ResourceWizardCreatePage calls\n// t() and wires the results in.\n\nimport * as React from 'react'\nimport { useWatch, type Control, type UseFormTrigger } from 'react-hook-form'\nimport {\n Button,\n Field,\n FieldError,\n FieldLabel,\n FormField,\n InfoTooltip,\n cn,\n} from '@modern-admin/ui'\nimport { Check, ChevronLeft, ChevronRight, Plus, X } from 'lucide-react'\nimport { PropertyEditor } from '../property-renderer.js'\nimport { evaluateShowWhen } from '../show-when.js'\nimport type { PropertyJSON } from '../types.js'\n\n// ── Public types ──────────────────────────────────────────────────────────────\n\nexport interface WizardStep {\n /** Short label shown in the step indicator circles */\n label: string\n /** Optional longer description rendered below the step indicator */\n description?: string\n /**\n * Property paths (from the resource) to show in this step.\n * If omitted on exactly one step, that step receives all properties not\n * claimed by the other steps (catch-all).\n */\n properties?: string[]\n}\n\nexport interface WizardFormLabels {\n back?: string\n next?: string\n submit?: string\n cancel?: string\n /** Template: 'Step {current} of {total}' — shown only on mobile */\n stepOf?: string\n}\n\ntype FormValues = Record<string, unknown>\n\nexport interface WizardFormProps {\n steps: WizardStep[]\n /** All editable properties of the resource. */\n properties: PropertyJSON[]\n resourceId: string\n control: Control<FormValues>\n trigger: UseFormTrigger<FormValues>\n onSubmit: () => void\n onCancel: () => void\n isSubmitting?: boolean\n submitError?: string | null\n labels?: WizardFormLabels\n}\n\n// ── WizardForm ────────────────────────────────────────────────────────────────\n\nexport function WizardForm({\n steps,\n properties,\n resourceId,\n control,\n trigger,\n onSubmit,\n onCancel,\n isSubmitting = false,\n submitError,\n labels = {},\n}: WizardFormProps): React.ReactElement {\n const backLabel = labels.back ?? 'Back'\n const nextLabel = labels.next ?? 'Next'\n const submitLabel = labels.submit ?? 'Create'\n const cancelLabel = labels.cancel ?? 'Cancel'\n const stepOfTemplate = labels.stepOf ?? 'Step {current} of {total}'\n\n const [currentStep, setCurrentStep] = React.useState(0)\n\n // ── Distribute properties across steps ───────────────────────────────────\n const stepProperties = React.useMemo<PropertyJSON[][]>(() => {\n const claimedPaths = new Set(steps.flatMap((s) => s.properties ?? []))\n const unclaimed = properties.filter((p) => !claimedPaths.has(p.path))\n return steps.map((step) => {\n if (step.properties) {\n return step.properties\n .map((path) => properties.find((p) => p.path === path))\n .filter((p): p is PropertyJSON => p != null)\n }\n return unclaimed\n })\n }, [steps, properties])\n\n const totalSteps = steps.length\n const isFirst = currentStep === 0\n const isLast = currentStep === totalSteps - 1\n\n const handleNext = async (): Promise<void> => {\n const paths = (stepProperties[currentStep] ?? []).map((p) => p.path)\n // When the step has no properties, advance without validation.\n const valid =\n paths.length === 0 ||\n (await trigger(paths as Parameters<typeof trigger>[0]))\n if (valid) setCurrentStep((s) => Math.min(s + 1, totalSteps - 1))\n }\n\n const currentStepDef = steps[currentStep]!\n const currentProperties = stepProperties[currentStep] ?? []\n\n const stepOfLabel = stepOfTemplate\n .replace('{current}', String(currentStep + 1))\n .replace('{total}', String(totalSteps))\n\n return (\n <div>\n {/* ── Step indicator ──────────────────────────────────────────── */}\n <div className=\"px-6 pt-6 pb-5\">\n <div className=\"flex w-full max-w-xl items-start mx-auto\">\n {steps.map((step, index) => (\n <React.Fragment key={index}>\n {/* Step node */}\n <div className=\"flex shrink-0 flex-col items-center\">\n <div\n className={cn(\n 'flex h-8 w-8 items-center justify-center rounded-full border-2 text-sm font-semibold transition-colors',\n index < currentStep &&\n 'border-primary bg-primary text-primary-foreground',\n index === currentStep &&\n 'border-primary bg-background text-primary',\n index > currentStep &&\n 'border-border bg-background text-muted-foreground',\n )}\n >\n {index < currentStep ? (\n <Check className=\"size-3.5\" />\n ) : (\n index + 1\n )}\n </div>\n <span\n className={cn(\n 'mt-1.5 hidden max-w-[6rem] text-center text-xs leading-tight sm:block',\n index === currentStep\n ? 'font-medium text-foreground'\n : index < currentStep\n ? 'text-primary'\n : 'text-muted-foreground',\n )}\n >\n {step.label}\n </span>\n </div>\n {/* Connector line between nodes */}\n {index < steps.length - 1 && (\n <div\n className={cn(\n 'mx-2 mt-3.5 h-0.5 flex-1 transition-colors',\n index < currentStep ? 'bg-primary' : 'bg-border',\n )}\n />\n )}\n </React.Fragment>\n ))}\n </div>\n {/* Mobile: compact \"Step N of M · Label\" summary */}\n <p className=\"mt-2 text-center text-xs text-muted-foreground sm:hidden\">\n {stepOfLabel}\n {currentStepDef.label ? ` · ${currentStepDef.label}` : ''}\n </p>\n </div>\n\n {/* ── Step description ────────────────────────────────────────── */}\n {currentStepDef.description && (\n <p className=\"px-6 pb-2 text-sm text-muted-foreground\">\n {currentStepDef.description}\n </p>\n )}\n\n {/* ── Fields ──────────────────────────────────────────────────── */}\n <div className=\"gap-4 px-6 pb-4 [column-fill:_balance] md:columns-2\">\n {currentProperties.map((property) => (\n <WizardConditionalField\n key={property.path}\n control={control}\n property={property}\n >\n <FormField\n control={control}\n name={property.path}\n render={({ field, fieldState }) => (\n <Field\n data-invalid={fieldState.error ? true : undefined}\n className=\"mb-8 break-inside-avoid\"\n >\n <FieldLabel htmlFor={field.name}>\n {property.label}\n {property.description ? (\n <InfoTooltip\n content={property.description}\n ariaLabel={property.description}\n />\n ) : null}\n {property.isRequired && (\n <span className=\"ml-1 text-destructive\">*</span>\n )}\n </FieldLabel>\n <PropertyEditor\n property={property}\n value={field.value}\n onChange={field.onChange}\n disabled={isSubmitting}\n resourceId={resourceId}\n />\n {fieldState.error?.message && (\n <FieldError>{fieldState.error.message}</FieldError>\n )}\n </Field>\n )}\n />\n </WizardConditionalField>\n ))}\n </div>\n\n {/* ── Navigation footer ───────────────────────────────────────── */}\n <div className=\"flex items-center justify-between border-t border-border px-6 py-4\">\n <div>\n {submitError && (\n <span className=\"text-sm text-destructive\">{submitError}</span>\n )}\n </div>\n <div className=\"flex gap-2\">\n {isFirst ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n onClick={onCancel}\n disabled={isSubmitting}\n >\n <X className=\"size-4\" />\n {cancelLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setCurrentStep((s) => s - 1)}\n disabled={isSubmitting}\n >\n <ChevronLeft className=\"size-4\" />\n {backLabel}\n </Button>\n )}\n {isLast ? (\n <Button type=\"button\" onClick={onSubmit} disabled={isSubmitting}>\n <Plus className=\"size-4\" />\n {submitLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n onClick={() => void handleNext()}\n disabled={isSubmitting}\n >\n {nextLabel}\n <ChevronRight className=\"size-4\" />\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nWizardForm.displayName = 'WizardForm'\n\n// ── WizardConditionalField ────────────────────────────────────────────────────\n// Same showWhen evaluation as ConditionalField in edit-page, scoped here.\n\ninterface WizardConditionalFieldProps {\n control: Control<FormValues>\n property: PropertyJSON\n children: React.ReactNode\n}\n\nfunction WizardConditionalField({\n control,\n property,\n children,\n}: WizardConditionalFieldProps): React.ReactElement | null {\n const rule = property.showWhen\n const watched = useWatch({ control, name: rule?.field ?? property.path })\n if (!rule) return <>{children}</>\n return evaluateShowWhen(rule, { [rule.field]: watched }) ? <>{children}</> : null\n}\n","// ResourceWizardCreatePage — multi-step creation form for a resource.\n// Analogous to ResourceEditPage but splits the fields across declarative\n// `steps`, each validated independently before advancing. Submit on the final\n// step creates the record and navigates to its show page.\n\nimport * as React from 'react'\nimport { useForm, type SubmitHandler } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { Card, CardHeader, CardTitle, Form } from '@modern-admin/ui'\nimport { useCreateRecord, useResource } from '../hooks.js'\nimport { useNavigate } from '../router.js'\nimport { useI18n } from '../i18n.js'\nimport { useNotify } from '../notify.js'\nimport { PageBreadcrumbs, homeCrumb } from '../breadcrumbs.js'\nimport { buildValidationSchema, defaultValueFor } from '../validation.js'\nimport type { PropertyJSON } from '../types.js'\nimport { visibleRecordProperties } from '../relations.js'\nimport {\n WizardForm,\n type WizardStep,\n type WizardFormLabels,\n} from '../components/wizard-form.js'\n\nexport interface ResourceWizardCreatePageProps {\n resourceId: string\n /** Step definitions. Each step declares which property paths it shows. */\n steps: WizardStep[]\n /**\n * Override wizard button labels. Falls back to locale translations.\n * Useful when embedding the page with a custom i18n setup.\n */\n labels?: WizardFormLabels\n}\n\ntype FormValues = Record<string, unknown>\n\nexport function ResourceWizardCreatePage({\n resourceId,\n steps,\n labels: labelsProp,\n}: ResourceWizardCreatePageProps): React.ReactElement {\n const resource = useResource(resourceId)\n const create = useCreateRecord(resourceId)\n const navigate = useNavigate()\n const { t, locale } = useI18n()\n const notify = useNotify()\n\n const editable = React.useMemo<PropertyJSON[]>(\n () =>\n resource\n ? visibleRecordProperties(resource.properties, 'edit', resource.propertyOrder?.edit).filter(\n (p) => !p.isDisabled,\n )\n : [],\n [resource],\n )\n\n // Route live form values into the validation schema (same pattern as edit-page).\n const getValuesRef = React.useRef<() => FormValues>(() => ({}))\n\n const schema = React.useMemo(\n () => buildValidationSchema(editable, t, () => getValuesRef.current()),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [editable, locale],\n )\n\n const defaults = React.useMemo<FormValues>(() => {\n const out: FormValues = {}\n for (const p of editable) out[p.path] = defaultValueFor(p)\n return out\n }, [editable])\n\n const form = useForm<FormValues>({\n resolver: zodResolver(schema),\n defaultValues: defaults,\n })\n\n getValuesRef.current = form.getValues\n\n // Reset when the resource schema arrives (resource loaded after mount).\n React.useEffect(() => {\n form.reset(defaults)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaults])\n\n const [submitError, setSubmitError] = React.useState<string | null>(null)\n\n const onSubmit: SubmitHandler<FormValues> = async (values) => {\n setSubmitError(null)\n try {\n const result = await create.mutateAsync(values)\n const errors = result.record.errors as Record<\n string,\n { message?: string } | string\n >\n if (errors && Object.keys(errors).length > 0) {\n for (const [path, err] of Object.entries(errors)) {\n const message =\n typeof err === 'string' ? err : (err?.message ?? 'Invalid value')\n form.setError(path, { type: 'server', message })\n }\n if (result.record.baseError) setSubmitError(String(result.record.baseError))\n notify.error({ key: 'toast:validationFailed' })\n return\n }\n notify.success({ key: 'toast:created' })\n navigate({ name: 'show', resourceId, recordId: String(result.record.id) })\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n setSubmitError(message)\n notify.error({ key: 'toast:createFailed' }, { description: message })\n }\n }\n\n const handleSubmit = (): void => {\n void form.handleSubmit(onSubmit, () => {\n notify.error({ key: 'toast:validationFailed' })\n })()\n }\n\n if (!resource) return <div className=\"p-6\">{t('common:loading')}</div>\n\n const labels: WizardFormLabels = {\n back: t('common:back'),\n next: t('common:next'),\n submit: t('common:create'),\n cancel: t('common:cancel'),\n stepOf: t('wizard:stepOf'),\n ...labelsProp,\n }\n\n const crumbs = [\n homeCrumb(t('common:home')),\n { label: resource.name, to: { name: 'list' as const, resourceId } },\n { label: t('common:new') },\n ]\n\n return (\n <div className=\"flex min-h-full flex-col gap-4\">\n <PageBreadcrumbs items={crumbs} />\n <Card className=\"flex-1\">\n <CardHeader>\n <CardTitle className=\"truncate\">\n {t('common:newRecord', { name: resource.name })}\n </CardTitle>\n </CardHeader>\n <Form {...form}>\n <WizardForm\n steps={steps}\n properties={editable}\n resourceId={resourceId}\n control={form.control}\n trigger={form.trigger}\n onSubmit={handleSubmit}\n onCancel={() => navigate({ name: 'list', resourceId })}\n isSubmitting={form.formState.isSubmitting}\n submitError={submitError}\n labels={labels}\n />\n </Form>\n </Card>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wizard-create-page-ChrGqxlO.js","names":[],"sources":["../../../../react/src/components/wizard-form.tsx","../../../../react/src/pages/wizard-create-page.tsx"],"sourcesContent":["// WizardForm — multi-step create form. Each step shows a subset of the\n// resource's editable properties. Clicking \"Next\" validates only the current\n// step's fields before advancing; \"Back\" never re-validates. \"Create\" on the\n// final step triggers the caller-supplied submit handler.\n//\n// The component is i18n-unaware: all visible strings are passed via the\n// `labels` prop with English defaults. The ResourceWizardCreatePage calls\n// t() and wires the results in.\n\nimport * as React from 'react'\nimport { useWatch, type Control, type UseFormTrigger } from 'react-hook-form'\nimport {\n Button,\n Field,\n FieldError,\n FieldLabel,\n FormField,\n InfoTooltip,\n cn,\n} from '@modern-admin/ui'\nimport { Check, ChevronLeft, ChevronRight, Plus, X } from 'lucide-react'\nimport { PropertyEditor } from '../property-renderer.js'\nimport { evaluateShowWhen } from '../show-when.js'\nimport type { PropertyJSON } from '../types.js'\n\n// ── Public types ──────────────────────────────────────────────────────────────\n\nexport interface WizardStep {\n /** Short label shown in the step indicator circles */\n label: string\n /** Optional longer description rendered below the step indicator */\n description?: string\n /**\n * Property paths (from the resource) to show in this step.\n * If omitted on exactly one step, that step receives all properties not\n * claimed by the other steps (catch-all).\n */\n properties?: string[]\n}\n\nexport interface WizardFormLabels {\n back?: string\n next?: string\n submit?: string\n cancel?: string\n /** Template: 'Step {current} of {total}' — shown only on mobile */\n stepOf?: string\n}\n\ntype FormValues = Record<string, unknown>\n\nexport interface WizardFormProps {\n steps: WizardStep[]\n /** All editable properties of the resource. */\n properties: PropertyJSON[]\n resourceId: string\n control: Control<FormValues>\n trigger: UseFormTrigger<FormValues>\n onSubmit: () => void\n onCancel: () => void\n isSubmitting?: boolean\n submitError?: string | null\n labels?: WizardFormLabels\n}\n\n// ── WizardForm ────────────────────────────────────────────────────────────────\n\nexport function WizardForm({\n steps,\n properties,\n resourceId,\n control,\n trigger,\n onSubmit,\n onCancel,\n isSubmitting = false,\n submitError,\n labels = {},\n}: WizardFormProps): React.ReactElement {\n const backLabel = labels.back ?? 'Back'\n const nextLabel = labels.next ?? 'Next'\n const submitLabel = labels.submit ?? 'Create'\n const cancelLabel = labels.cancel ?? 'Cancel'\n const stepOfTemplate = labels.stepOf ?? 'Step {current} of {total}'\n\n const [currentStep, setCurrentStep] = React.useState(0)\n\n // ── Distribute properties across steps ───────────────────────────────────\n const stepProperties = React.useMemo<PropertyJSON[][]>(() => {\n const claimedPaths = new Set(steps.flatMap((s) => s.properties ?? []))\n const unclaimed = properties.filter((p) => !claimedPaths.has(p.path))\n return steps.map((step) => {\n if (step.properties) {\n return step.properties\n .map((path) => properties.find((p) => p.path === path))\n .filter((p): p is PropertyJSON => p != null)\n }\n return unclaimed\n })\n }, [steps, properties])\n\n const totalSteps = steps.length\n const isFirst = currentStep === 0\n const isLast = currentStep === totalSteps - 1\n\n const handleNext = async (): Promise<void> => {\n const paths = (stepProperties[currentStep] ?? []).map((p) => p.path)\n // When the step has no properties, advance without validation.\n const valid =\n paths.length === 0 ||\n (await trigger(paths as Parameters<typeof trigger>[0]))\n if (valid) setCurrentStep((s) => Math.min(s + 1, totalSteps - 1))\n }\n\n const currentStepDef = steps[currentStep]!\n const currentProperties = stepProperties[currentStep] ?? []\n\n const stepOfLabel = stepOfTemplate\n .replace('{current}', String(currentStep + 1))\n .replace('{total}', String(totalSteps))\n\n return (\n <div>\n {/* ── Step indicator ──────────────────────────────────────────── */}\n <div className=\"px-6 pt-6 pb-5\">\n <div className=\"flex w-full max-w-xl items-start mx-auto\">\n {steps.map((step, index) => (\n <React.Fragment key={index}>\n {/* Step node */}\n <div className=\"flex shrink-0 flex-col items-center\">\n <div\n className={cn(\n 'flex h-8 w-8 items-center justify-center rounded-full border-2 text-sm font-semibold transition-colors',\n index < currentStep &&\n 'border-primary bg-primary text-primary-foreground',\n index === currentStep &&\n 'border-primary bg-background text-primary',\n index > currentStep &&\n 'border-border bg-background text-muted-foreground',\n )}\n >\n {index < currentStep ? (\n <Check className=\"size-3.5\" />\n ) : (\n index + 1\n )}\n </div>\n <span\n className={cn(\n 'mt-1.5 hidden max-w-[6rem] text-center text-xs leading-tight sm:block',\n index === currentStep\n ? 'font-medium text-foreground'\n : index < currentStep\n ? 'text-primary'\n : 'text-muted-foreground',\n )}\n >\n {step.label}\n </span>\n </div>\n {/* Connector line between nodes */}\n {index < steps.length - 1 && (\n <div\n className={cn(\n 'mx-2 mt-3.5 h-0.5 flex-1 transition-colors',\n index < currentStep ? 'bg-primary' : 'bg-border',\n )}\n />\n )}\n </React.Fragment>\n ))}\n </div>\n {/* Mobile: compact \"Step N of M · Label\" summary */}\n <p className=\"mt-2 text-center text-xs text-muted-foreground sm:hidden\">\n {stepOfLabel}\n {currentStepDef.label ? ` · ${currentStepDef.label}` : ''}\n </p>\n </div>\n\n {/* ── Step description ────────────────────────────────────────── */}\n {currentStepDef.description && (\n <p className=\"px-6 pb-2 text-sm text-muted-foreground\">\n {currentStepDef.description}\n </p>\n )}\n\n {/* ── Fields ──────────────────────────────────────────────────── */}\n <div className=\"gap-4 px-6 pb-4 [column-fill:_balance] md:columns-2\">\n {currentProperties.map((property) => (\n <WizardConditionalField\n key={property.path}\n control={control}\n property={property}\n >\n <FormField\n control={control}\n name={property.path}\n render={({ field, fieldState }) => (\n <Field\n data-invalid={fieldState.error ? true : undefined}\n className=\"mb-8 break-inside-avoid\"\n >\n <FieldLabel htmlFor={field.name}>\n {property.label}\n {property.description ? (\n <InfoTooltip\n content={property.description}\n ariaLabel={property.description}\n />\n ) : null}\n {property.isRequired && (\n <span className=\"ml-1 text-destructive\">*</span>\n )}\n </FieldLabel>\n <PropertyEditor\n property={property}\n value={field.value}\n onChange={field.onChange}\n disabled={isSubmitting}\n resourceId={resourceId}\n />\n {fieldState.error?.message && (\n <FieldError>{fieldState.error.message}</FieldError>\n )}\n </Field>\n )}\n />\n </WizardConditionalField>\n ))}\n </div>\n\n {/* ── Navigation footer ───────────────────────────────────────── */}\n <div className=\"flex items-center justify-between border-t border-border px-6 py-4\">\n <div>\n {submitError && (\n <span className=\"text-sm text-destructive\">{submitError}</span>\n )}\n </div>\n <div className=\"flex gap-2\">\n {isFirst ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n onClick={onCancel}\n disabled={isSubmitting}\n >\n <X className=\"size-4\" />\n {cancelLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={() => setCurrentStep((s) => s - 1)}\n disabled={isSubmitting}\n >\n <ChevronLeft className=\"size-4\" />\n {backLabel}\n </Button>\n )}\n {isLast ? (\n <Button type=\"button\" onClick={onSubmit} disabled={isSubmitting}>\n <Plus className=\"size-4\" />\n {submitLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n onClick={() => void handleNext()}\n disabled={isSubmitting}\n >\n {nextLabel}\n <ChevronRight className=\"size-4\" />\n </Button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nWizardForm.displayName = 'WizardForm'\n\n// ── WizardConditionalField ────────────────────────────────────────────────────\n// Same showWhen evaluation as ConditionalField in edit-page, scoped here.\n\ninterface WizardConditionalFieldProps {\n control: Control<FormValues>\n property: PropertyJSON\n children: React.ReactNode\n}\n\nfunction WizardConditionalField({\n control,\n property,\n children,\n}: WizardConditionalFieldProps): React.ReactElement | null {\n const rule = property.showWhen\n const watched = useWatch({ control, name: rule?.field ?? property.path })\n if (!rule) return <>{children}</>\n return evaluateShowWhen(rule, { [rule.field]: watched }) ? <>{children}</> : null\n}\n","// ResourceWizardCreatePage — multi-step creation form for a resource.\n// Analogous to ResourceEditPage but splits the fields across declarative\n// `steps`, each validated independently before advancing. Submit on the final\n// step creates the record and navigates to its show page.\n\nimport * as React from 'react'\nimport { useForm, type SubmitHandler } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { Card, CardHeader, CardTitle, Form } from '@modern-admin/ui'\nimport { useCreateRecord, useResource } from '../hooks.js'\nimport { useNavigate } from '../router.js'\nimport { useI18n } from '../i18n.js'\nimport { useNotify } from '../notify.js'\nimport { PageBreadcrumbs, homeCrumb } from '../breadcrumbs.js'\nimport { buildValidationSchema, defaultValueFor } from '../validation.js'\nimport type { PropertyJSON } from '../types.js'\nimport { visibleRecordProperties } from '../relations.js'\nimport {\n WizardForm,\n type WizardStep,\n type WizardFormLabels,\n} from '../components/wizard-form.js'\n\nexport interface ResourceWizardCreatePageProps {\n resourceId: string\n /** Step definitions. Each step declares which property paths it shows. */\n steps: WizardStep[]\n /**\n * Override wizard button labels. Falls back to locale translations.\n * Useful when embedding the page with a custom i18n setup.\n */\n labels?: WizardFormLabels\n}\n\ntype FormValues = Record<string, unknown>\n\nexport function ResourceWizardCreatePage({\n resourceId,\n steps,\n labels: labelsProp,\n}: ResourceWizardCreatePageProps): React.ReactElement {\n const resource = useResource(resourceId)\n const create = useCreateRecord(resourceId)\n const navigate = useNavigate()\n const { t, locale } = useI18n()\n const notify = useNotify()\n\n const editable = React.useMemo<PropertyJSON[]>(\n () =>\n resource\n ? visibleRecordProperties(resource.properties, 'edit', resource.propertyOrder?.edit).filter(\n (p) => !p.isDisabled,\n )\n : [],\n [resource],\n )\n\n // Route live form values into the validation schema (same pattern as edit-page).\n const getValuesRef = React.useRef<() => FormValues>(() => ({}))\n\n const schema = React.useMemo(\n () => buildValidationSchema(editable, t, () => getValuesRef.current()),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [editable, locale],\n )\n\n const defaults = React.useMemo<FormValues>(() => {\n const out: FormValues = {}\n for (const p of editable) out[p.path] = defaultValueFor(p)\n return out\n }, [editable])\n\n const form = useForm<FormValues>({\n resolver: zodResolver(schema),\n defaultValues: defaults,\n })\n\n getValuesRef.current = form.getValues\n\n // Reset when the resource schema arrives (resource loaded after mount).\n React.useEffect(() => {\n form.reset(defaults)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaults])\n\n const [submitError, setSubmitError] = React.useState<string | null>(null)\n\n const onSubmit: SubmitHandler<FormValues> = async (values) => {\n setSubmitError(null)\n try {\n const result = await create.mutateAsync(values)\n const errors = result.record.errors as Record<\n string,\n { message?: string } | string\n >\n if (errors && Object.keys(errors).length > 0) {\n for (const [path, err] of Object.entries(errors)) {\n const message =\n typeof err === 'string' ? err : (err?.message ?? 'Invalid value')\n form.setError(path, { type: 'server', message })\n }\n if (result.record.baseError) setSubmitError(String(result.record.baseError))\n notify.error({ key: 'toast:validationFailed' })\n return\n }\n notify.success({ key: 'toast:created' })\n navigate({ name: 'show', resourceId, recordId: String(result.record.id) })\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err)\n setSubmitError(message)\n notify.error({ key: 'toast:createFailed' }, { description: message })\n }\n }\n\n const handleSubmit = (): void => {\n void form.handleSubmit(onSubmit, () => {\n notify.error({ key: 'toast:validationFailed' })\n })()\n }\n\n if (!resource) return <div className=\"p-6\">{t('common:loading')}</div>\n\n const labels: WizardFormLabels = {\n back: t('common:back'),\n next: t('common:next'),\n submit: t('common:create'),\n cancel: t('common:cancel'),\n stepOf: t('wizard:stepOf'),\n ...labelsProp,\n }\n\n const crumbs = [\n homeCrumb(t('common:home')),\n { label: resource.name, to: { name: 'list' as const, resourceId } },\n { label: t('common:new') },\n ]\n\n return (\n <div className=\"flex min-h-full flex-col gap-4\">\n <PageBreadcrumbs items={crumbs} />\n <Card className=\"flex-1\">\n <CardHeader>\n <CardTitle className=\"truncate\">\n {t('common:newRecord', { name: resource.name })}\n </CardTitle>\n </CardHeader>\n <Form {...form}>\n <WizardForm\n steps={steps}\n properties={editable}\n resourceId={resourceId}\n control={form.control}\n trigger={form.trigger}\n onSubmit={handleSubmit}\n onCancel={() => navigate({ name: 'list', resourceId })}\n isSubmitting={form.formState.isSubmitting}\n submitError={submitError}\n labels={labels}\n />\n </Form>\n </Card>\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,g as r,s as i}from"./with-selector-NDLhu4dT.js";import{S as a,a as o,b as s,d as c,f as l,g as u,h as d,i as f,m as p,n as m,o as h,p as g,r as _,s as v,u as y,x as b}from"./schemas-twnCb1uT.js";import{q as x}from"./index-t4woXGa-.js";var S=e(t(),1),C=e=>e.type===`checkbox`,w=e=>e instanceof Date,T=e=>e==null,E=e=>typeof e==`object`,D=e=>!T(e)&&!Array.isArray(e)&&E(e)&&!w(e),O=e=>D(e)&&e.target?C(e.target)?e.target.checked:e.target.value:e,k=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),A=e=>{let t=e.constructor&&e.constructor.prototype;return D(t)&&t.hasOwnProperty(`isPrototypeOf`)},ee=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function j(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(ee&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(D(e)&&A(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=j(e[t]));return r}var M={BLUR:`blur`,FOCUS_OUT:`focusout`,CHANGE:`change`,SUBMIT:`submit`,TRIGGER:`trigger`,VALID:`valid`},N={onBlur:`onBlur`,onChange:`onChange`,onSubmit:`onSubmit`,onTouched:`onTouched`,all:`all`},P={max:`max`,min:`min`,maxLength:`maxLength`,minLength:`minLength`,pattern:`pattern`,required:`required`,validate:`validate`},te=`root`,ne=[`__proto__`,`constructor`,`prototype`],re=/^\w*$/,ie=e=>re.test(e),F=e=>e===void 0,ae=/[.[\]'"]/,oe=e=>e.split(ae).filter(Boolean),I=(e,t,n)=>{if(!t||!D(e))return n;let r=ie(t)?[t]:oe(t);if(r.some(e=>ne.includes(e)))return n;let i=r.reduce((e,t)=>T(e)?void 0:e[t],e);return F(i)||i===e?F(e[t])?n:e[t]:i},L=e=>typeof e==`boolean`,R=e=>typeof e==`function`,z=(e,t,n)=>{let r=-1,i=ie(t)?[t]:oe(t),a=i.length,o=a-1;for(;++r<a;){let t=i[r],a=n;if(r!==o){let n=e[t];a=D(n)||Array.isArray(n)?n:isNaN(+i[r+1])?{}:[]}if(ne.includes(t))return;e[t]=a,e=e[t]}},se=S.createContext(null);se.displayName=`HookFormControlContext`;var B=()=>S.useContext(se),ce=(e,t,n,r=!0)=>{let i={};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==N.all&&(t._proxyFormState[i]=!r||N.all),n&&(n[i]=!0),e[i]}});return i},le=ee?S.useLayoutEffect:S.useEffect;function V(e){let t=B(),{control:n=t,disabled:r,name:i,exact:a}=e||{},[o,s]=S.useState(()=>({...n._formState,defaultValues:n._defaultValues})),c=S.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return le(()=>n._subscribe({name:i,formState:c.current,exact:a,callback:e=>{!r&&s({...n._formState,...e,defaultValues:n._defaultValues})}}),[i,r,a]),S.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),S.useMemo(()=>ce(o,n,c.current,!1),[o,n])}var H=e=>typeof e==`string`,ue=(e,t,n,r,i)=>H(e)?(r&&t.watch.add(e),I(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),I(n,e))):(r&&(t.watchAll=!0),n),de=e=>T(e)||!E(e),U=(e,t)=>t.length===0&&!Array.isArray(e)&&!A(e);function W(e,t,n=new WeakMap){if(e===t)return!0;if(de(e)||de(t))return Object.is(e,t);if(w(e)&&w(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(U(e,r)||U(t,i))return Object.is(e,t);if(!r.length&&Array.isArray(e)!==Array.isArray(t))return!1;let a=n.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{let r=new WeakSet;r.add(t),n.set(e,r)}for(let i of r){let r=e[i];if(!(i in t))return!1;if(i!==`ref`){let e=t[i];if(w(r)&&w(e)||(D(r)||Array.isArray(r))&&(D(e)||Array.isArray(e))?!W(r,e,n):!Object.is(r,e))return!1}}return!0}function fe(e){let t=B(),{control:n=t,name:r,defaultValue:i,disabled:a,exact:o,compute:s}=e||{},c=S.useRef(i),l=S.useRef(s),u=S.useRef(void 0),d=S.useRef(n),f=S.useRef(r);l.current=s;let[p,m]=S.useState(()=>{let e=n._getWatch(r,c.current);return l.current?l.current(e):e}),h=S.useCallback(e=>{let t=ue(r,n._names,e||n._formValues,!1,c.current);return l.current?l.current(t):t},[n._formValues,n._names,r]),g=S.useCallback(e=>{if(!a){let t=ue(r,n._names,e||n._formValues,!1,c.current);if(l.current){let e=l.current(t);W(e,u.current)||(m(e),u.current=e)}else m(t)}},[n._formValues,n._names,a,r]);le(()=>((d.current!==n||!W(f.current,r))&&(d.current=n,f.current=r,g()),n._subscribe({name:r,formState:{values:!0},exact:o,callback:e=>{g(e.values)}})),[n,o,r,g]),S.useEffect(()=>n._removeUnmounted());let _=d.current!==n,v=f.current,y=S.useMemo(()=>{if(a)return null;let e=!_&&!W(v,r);return _||e?h():null},[a,_,r,v,h]);return y===null?p:y}function pe(e){let t=B(),{name:n,disabled:r,control:i=t,shouldUnregister:a,defaultValue:o,exact:s=!0}=e,c=k(i._names.array,n),l=fe({control:i,name:n,defaultValue:S.useMemo(()=>I(i._formValues,n,I(i._defaultValues,n,o)),[i,n,o]),exact:s}),u=V({control:i,name:n,exact:s}),d=S.useRef(e),f=S.useRef(null),p=S.useRef(i.register(n,{...e.rules,value:l,...L(e.disabled)?{disabled:e.disabled}:{}}));d.current=e;let m=S.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!I(u.errors,n)},isDirty:{enumerable:!0,get:()=>!!I(u.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!I(u.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!I(u.validatingFields,n)},error:{enumerable:!0,get:()=>I(u.errors,n)}}),[u,n]),h=S.useCallback(e=>{let t=O(e);return I(i._fields,n)||(p.current=i.register(n,{...d.current.rules,value:t})),p.current.onChange({target:{value:O(e),name:n},type:M.CHANGE})},[n,i]),g=S.useCallback(()=>p.current.onBlur({target:{value:I(i._formValues,n),name:n},type:M.BLUR}),[n,i._formValues]),_=S.useCallback(e=>{e&&(f.current={focus:()=>R(e.focus)&&e.focus(),select:()=>R(e.select)&&e.select(),setCustomValidity:t=>R(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>R(e.reportValidity)&&e.reportValidity()});let t=I(i._fields,n);t&&t._f&&e&&(t._f.ref=f.current)},[i._fields,n]),v=S.useMemo(()=>({name:n,value:l,...L(r)||u.disabled?{disabled:u.disabled||r}:{},onChange:h,onBlur:g,ref:_}),[n,r,u.disabled,h,g,_,l]);return S.useEffect(()=>{let e=i._options.shouldUnregister||a;i.register(n,{...d.current.rules,...L(d.current.disabled)?{disabled:d.current.disabled}:{}});let t=(e,t)=>{let n=I(i._fields,e);n&&n._f&&(n._f.mount=t)};if(t(n,!0),e){let e=j(I(a?i._defaultValues:i._options.values||i._defaultValues,n,I(i._options.defaultValues,n,d.current.defaultValue)));z(i._defaultValues,n,e),F(I(i._formValues,n))&&z(i._formValues,n,e)}if(!c&&i.register(n),f.current){let e=I(i._fields,n);e&&e._f&&(e._f.ref=f.current)}return()=>{(c?e&&!i._state.action:e)?i.unregister(n):t(n,!1)}},[n,i,c,a]),S.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),S.useMemo(()=>({field:v,formState:u,fieldState:m}),[v,u,m])}var me=e=>e.render(pe(e)),he=e=>{let t={};for(let n of Object.keys(e))if(E(e[n])&&e[n]!==null&&!w(e[n])){let r=he(e[n]);for(let e of Object.keys(r))t[`${n}.${e}`]=r[e]}else t[n]=e[n];return t},ge=S.createContext(null);ge.displayName=`HookFormContext`;var _e=()=>S.useContext(ge),G=({children:e,watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:f,unregister:p,control:m,register:h,setFocus:g,subscribe:_})=>{let v=S.useMemo(()=>({watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:f,unregister:p,control:m,register:h,setFocus:g,subscribe:_}),[a,m,l,r,n,f,h,d,u,i,g,o,s,_,c,p,t]);return S.createElement(ge.Provider,{value:v},S.createElement(se.Provider,{value:v.control},e))},ve=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},ye=e=>Array.isArray(e)?e.filter(Boolean):[],be=e=>Array.isArray(e)?e:[e],xe=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function Se(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&D(i)&&a){let e=Se(i,a);D(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var K=e=>D(e)&&!Object.keys(e).length,Ce=e=>e.type===`file`,we=e=>{if(!ee)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Te=e=>e.type===`select-multiple`,Ee=e=>e.type===`radio`,De=e=>Ee(e)||C(e),Oe=e=>we(e)&&e.isConnected;function ke(e,t){let n=t.slice(0,-1).length,r=0;for(;r<n;){if(T(e)){e=void 0;break}e=e[t[r]],r++}return e}function Ae(e){for(let t in e)if(e.hasOwnProperty(t)&&!F(e[t]))return!1;return!0}function q(e,t){if(H(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let n=Array.isArray(t)?t:ie(t)?[t]:oe(t);if(n.some(e=>ne.includes(String(e))))return e;let r=n.length===1?e:ke(e,n),i=n.length-1,a=n[i];return r&&delete r[a],i!==0&&(D(r)&&K(r)||Array.isArray(r)&&Ae(r))&&q(e,n.slice(0,-1)),e}var je=e=>{for(let t in e)if(R(e[t]))return!0;return!1};function Me(e){return Array.isArray(e)||D(e)&&!je(e)}function Ne(e,t={}){for(let n in e){let r=e[n];Me(r)?(t[n]=Array.isArray(r)?[]:{},Ne(r,t[n])):F(r)||(t[n]=!0)}return t}function J(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){let t=e.map(e=>J(e));return t.some(e=>e!==void 0)?t:void 0}if(D(e)){let t={};for(let n in e){let r=J(e[n]);F(r)||(t[n]=r)}return Object.keys(t).length?t:void 0}}}function Y(e,t,n){n||=Ne(t);for(let r in e){let i=e[r];if(Me(i))F(t)||de(n[r])?n[r]=Ne(i,Array.isArray(i)?[]:{}):Y(i,T(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!W(i,e)}}return J(n)||{}}var Pe={value:!1,isValid:!1},Fe={value:!0,isValid:!0},Ie=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!F(e[0].attributes.value)?F(e[0].value)||e[0].value===``?Fe:{value:e[0].value,isValid:!0}:Fe:Pe}return Pe},Le=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>F(e)?e:t?e===``?NaN:e&&+e:n&&H(e)?new Date(e):r?r(e):e,Re={isValid:!1,value:null},ze=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Re):Re;function Be(e){let t=e.ref;return Ce(t)?t.files:Ee(t)?ze(e.refs).value:Te(t)?[...t.selectedOptions].map(({value:e})=>e):C(t)?Ie(e.refs).value:Le(F(t.value)?e.ref.value:t.value,e)}var Ve=(e,t,n,r)=>{let i={};for(let n of e){let e=I(t,n);e&&z(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},X=e=>e instanceof RegExp,He=e=>F(e)?e:X(e)?e.source:D(e)?X(e.value)?e.value.source:e.value:e,Ue=e=>({isOnSubmit:!e||e===N.onSubmit,isOnBlur:e===N.onBlur,isOnChange:e===N.onChange,isOnAll:e===N.all,isOnTouch:e===N.onTouched}),We=`AsyncFunction`,Ge=e=>{if(!e||!e.validate)return!1;if(R(e.validate))return e.validate.constructor.name===We;if(D(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===We)return!0}return!1},Ke=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),qe=(e,t,n)=>{if(n)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let n of t.watch)if(e.startsWith(n)&&e.charAt(n.length)===`.`)return!0;return!1},Je=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=I(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Je(a,t))break}else if(D(a)&&Je(a,t))break}}};function Ye(e,t,n){let r=I(e,n);if(r||ie(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=I(t,r),o=I(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Xe=(e,t,n,r)=>{n(e);let{name:i,...a}=e,o=Object.keys(a);return!o.length||r&&o.length>=Object.keys(t).length||o.find(e=>t[e]===(!r||N.all))},Ze=(e,t,n)=>!e||!t||e===t||be(e).some(e=>e&&(n?e===t||e.startsWith(t+`.`):e.startsWith(t)||t.startsWith(e))),Qe=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,$e=(e,t)=>!ye(I(e,t)).length&&q(e,t),et=(e,t,n)=>{let r=I(e,n),i=Array.isArray(r)?r:[];return z(i,te,t[n]),z(e,n,i),e};function tt(e,t,n=`validate`){if(H(e)||Array.isArray(e)&&e.every(H)||L(e)&&!e)return{type:n,message:H(e)?e:``,ref:t}}var Z=e=>D(e)&&!X(e)?e:{value:e,message:``},nt=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:f,pattern:p,validate:m,name:h,valueAsNumber:g,mount:_}=e._f,v=I(n,h);if(!_||t.has(h))return{};let y=s?s[0]:o,b=e=>{if(i&&y.reportValidity){let t=L(e)?``:e||``;s?s.forEach(e=>e.setCustomValidity(t)):y.setCustomValidity(t),y.reportValidity()}},x={},S=Ee(o),w=C(o),E=S||w,O=(g||Ce(o))&&F(o.value)&&F(v)||we(o)&&o.value===``||v===``||Array.isArray(v)&&!v.length,k=ve.bind(null,h,r,x),A=(e,t,n,r=P.maxLength,i=P.minLength)=>{let a=e?t:n;x[h]={type:e?r:i,message:a,ref:o,...k(e?r:i,a)}};if(a?!Array.isArray(v)||!v.length:c&&(!E&&(O||T(v))||L(v)&&!v||w&&!Ie(s).isValid||S&&!ze(s).isValid)){let{value:e,message:t}=H(c)?{value:!!c,message:c}:Z(c);if(e&&(x[h]={type:P.required,message:t,ref:y,...k(P.required,t)},!r))return b(t),x}if(!O&&(!T(d)||!T(f))){let e,t,n=Z(f),i=Z(d);if(!T(v)&&!isNaN(v)){let r=o.valueAsNumber||v&&+v;T(n.value)||(e=r>n.value),T(i.value)||(t=r<i.value)}else{let r=o.valueAsDate||new Date(v),a=e=>new Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;H(n.value)&&v&&(e=s?a(v)>a(n.value):c?v>n.value:r>new Date(n.value)),H(i.value)&&v&&(t=s?a(v)<a(i.value):c?v<i.value:r<new Date(i.value))}if((e||t)&&(A(!!e,n.message,i.message,P.max,P.min),!r))return b(x[h].message),x}if((l||u)&&!O&&(H(v)||a&&Array.isArray(v))){let e=Z(l),t=Z(u),n=!T(e.value)&&v.length>+e.value,i=!T(t.value)&&v.length<+t.value;if((n||i)&&(A(n,e.message,t.message),!r))return b(x[h].message),x}if(p&&!O&&H(v)){let{value:e,message:t}=Z(p);if(X(e)&&!v.match(e)&&(x[h]={type:P.pattern,message:t,ref:o,...k(P.pattern,t)},!r))return b(t),x}if(m){if(R(m)){let e=tt(await m(v,n),y);if(e&&(x[h]={...e,...k(P.validate,e.message)},!r))return b(e.message),x}else if(D(m)){let e={};for(let t in m){if(!K(e)&&!r)break;let i=tt(await m[t](v,n),y,t);i&&(e={...i,...k(t,i.message)},b(i.message),r&&(x[h]=e))}if(!K(e)&&(x[h]={ref:y,...e},!r))return x}}return b(!0),x},rt={mode:N.onSubmit,reValidateMode:N.onChange,shouldFocusError:!0},it=`form`,at={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function ot(e={}){let t={...rt,...e},n={...j(at),isLoading:R(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},i=(D(t.defaultValues)||D(t.values))&&j(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:j(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,l=0,u=0,d=Ue(t.mode),f=Ue(t.reValidateMode),p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...p},h={...m},g={array:xe(),state:xe()},_=t.criteriaMode===N.all,v=e=>t=>{clearTimeout(l),l=setTimeout(e,t)},y=async e=>{if(!o.keepIsValid&&!t.disabled&&(m.isValid||h.isValid||e)){let e;t.resolver?(e=K((await B()).errors),b()):e=await V({fields:r,onlyCheckValid:!0,eventType:M.VALID}),e!==n.isValid&&g.state.next({isValid:e})}},b=(e,r)=>{!t.disabled&&(m.isValidating||m.validatingFields||h.isValidating||h.validatingFields)&&((e||Array.from(s.mount)).forEach(e=>{e&&(r?z(n.validatingFields,e,r):q(n.validatingFields,e))}),g.state.next({validatingFields:n.validatingFields,isValidating:!K(n.validatingFields)}))},x=()=>{n.dirtyFields=Y(i,a)},S=(e,i=[],s,c,l=!0,u=!0)=>{if(c&&s&&!t.disabled){if(o.action=!0,u&&Array.isArray(I(r,e))){let t=s(I(r,e),c.argA,c.argB);l&&z(r,e,t)}if(u&&Array.isArray(I(n.errors,e))){let t=s(I(n.errors,e),c.argA,c.argB);l&&z(n.errors,e,t),$e(n.errors,e)}if((m.touchedFields||h.touchedFields)&&u&&Array.isArray(I(n.touchedFields,e))){let t=s(I(n.touchedFields,e),c.argA,c.argB);l&&z(n.touchedFields,e,t)}(m.dirtyFields||h.dirtyFields)&&x(),g.state.next({name:e,isDirty:U(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else z(a,e,i)},E=(e,t)=>{z(n.errors,e,t),n.errors={...n.errors},g.state.next({errors:n.errors})},A=e=>{n.errors=e,g.state.next({errors:n.errors,isValid:!1})},ne=e=>{let t=ie(e)?[e]:oe(e),n=a,r=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(n=T(n)?n:n[i],r=T(r)?r:r[i],n===null&&r!==null)return!0}return!1},re=(t,c,l,u)=>{let d=I(r,t);if(d){if(ne(t))return;let r=F(I(a,t)),f=I(a,t,F(l)?I(i,t):l);F(f)||u&&u.defaultChecked||c?z(a,t,c?f:Be(d._f)):me(t,f),o.mount&&!o.action&&(y(),r&&n.isDirty&&(m.isDirty||h.isDirty)&&(U()||(n.isDirty=!1,g.state.next({...n}))),e.shouldUnregister&&r&&!F(I(a,t))&&qe(t,s)&&(o.watch=!0))}},ae=(e,r,o,s,c)=>{let l=!1,u=!1,d={name:e};if(!t.disabled){if(!o||s){let t=W(I(i,e),r);(m.isDirty||h.isDirty)&&(u=n.isDirty,n.isDirty=d.isDirty=!t||U(),l=u!==d.isDirty),u=!!I(n.dirtyFields,e),t===n.isDirty?t?q(n.dirtyFields,e):z(n.dirtyFields,e,!0):n.dirtyFields=Y(i,a),d.dirtyFields=n.dirtyFields,l||=(m.dirtyFields||h.dirtyFields)&&u!==!t}if(o){let t=I(n.touchedFields,e);t||(z(n.touchedFields,e,o),d.touchedFields=n.touchedFields,l||=(m.touchedFields||h.touchedFields)&&t!==o)}l&&c&&g.state.next(d)}return l?d:{}},se=(e,r,i,a)=>{let o=I(n.errors,e),s=(m.isValid||h.isValid)&&L(r)&&n.isValid!==r;if(t.delayError&&i?(c=v(()=>E(e,i)),c(t.delayError)):(clearTimeout(l),c=null,i?z(n.errors,e,i):q(n.errors,e),n.errors={...n.errors}),(i?!W(o,i):o)||!K(a)||s){let t={...a,...s&&L(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},g.state.next(t)}},B=async e=>(b(e,!0),await t.resolver(a,t.context,Ve(e||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),ce=async e=>{let{errors:t}=await B(e);if(b(e),e){for(let r of e){let e=I(t,r);e?s.array.has(r)&&D(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e)))?et(n.errors,{[r]:e},r):z(n.errors,r,e):q(n.errors,r)}n.errors={...n.errors}}else n.errors=t;return t},le=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(D(i))for(let e in i){let t=i[e];t&&J(`${it}.${e}`,{message:H(t.message)?t.message:``,type:t.type||P.validate})}else H(i)||!i?J(it,{message:i||``,type:P.validate}):Ne(it);return i}return!0},V=async({fields:r,onlyCheckValid:i,name:o,eventType:c,context:l={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(l.runRootValidation=!0,!await le({name:o,eventType:c})&&(l.valid=!1,i)))return l.valid;for(let o in r){let u=r[o];if(u){let{_f:r,...d}=u;if(r){let o=s.array.has(r.name),c=u._f&&Ge(u._f),d=m.validatingFields||m.isValidating||h.validatingFields||h.isValidating;c&&d&&b([r.name],!0);let f=await nt(u,s.disabled,a,_,t.shouldUseNativeValidation&&!i,o);if(c&&d&&b([r.name]),f[r.name]&&(l.valid=!1,i)||(!i&&(I(f,r.name)?o?et(n.errors,f,r.name):z(n.errors,r.name,f[r.name]):q(n.errors,r.name)),e.shouldUseNativeValidation&&f[r.name]))break}!K(d)&&await V({context:l,onlyCheckValid:i,fields:d,name:o,eventType:c})}}return l.valid},de=()=>{for(let e of s.unMount){let t=I(r,e);t&&(t._f.refs?t._f.refs.every(e=>!Oe(e)):!Oe(t._f.ref))&&Re(e)}s.unMount=new Set},U=(e,n)=>!t.disabled&&(e&&n&&z(a,e,n),!W(o.mount?a:i,i)),fe=(e,t,n)=>ue(e,s,{...o.mount?a:F(t)?i:H(e)?{[e]:t}:t},n,t),pe=e=>ye(I(o.mount?a:i,e,t.shouldUnregister?I(i,e,[]):[])),me=(e,t,n={},i=!1,o=!1)=>{let s=I(r,e),c=t;if(s){let n=s._f;n&&(!n.disabled&&z(a,e,Le(t,n)),c=we(n.ref)&&T(t)?``:t,Te(n.ref)?[...n.ref.options].forEach(e=>e.selected=c.includes(e.value)):n.refs?C(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(c)?e.checked=!!c.find(t=>t===e.value):e.checked=c===e.value||!!c)}):n.refs.forEach(e=>e.checked=e.value===c):Ce(n.ref)?n.ref.value=``:(n.ref.value=c,!n.ref.type&&!o&&g.state.next({name:e,values:i?a:j(a)})))}(n.shouldDirty||n.shouldTouch)&&ae(e,c,n.shouldTouch,n.shouldDirty,!o),n.shouldValidate&&Ae(e)},ge=(e,t,n,i=!1,a=!1)=>{for(let o in t){if(!t.hasOwnProperty(o))return;let c=t[o],l=e+`.`+o,u=I(r,l);(s.array.has(e)||D(c)||u&&!u._f)&&!w(c)?ge(l,c,n,i,a):me(l,c,n,i,a)}},_e=(e,t,i,c,l=!1)=>{let u=I(r,e),d=s.array.has(e),f=c?t:j(t),p=W(I(a,e),f);if(p||z(a,e,f),d)g.array.next({name:e,values:c?a:j(a)}),(m.isDirty||m.dirtyFields||h.isDirty||h.dirtyFields)&&i.shouldDirty&&(x(),l||g.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:U(e,f)}));else{let t=Array.isArray(f)&&!f.length||K(f);!u||u._f||T(f)||t?me(e,f,i,c,l):ge(e,f,i,c,l)}if(!p&&!l){let t=qe(e,s),r=c?a:j(a);g.state.next({...t&&n,name:o.mount||t?e:void 0,values:r})}},G=(e,t,n={})=>_e(e,t,n,!1),ve=(e,t={})=>{let r=R(e)?e(a):e;if(!W(a,r)){a={...a,...r};let e=he(r);for(let n of s.mount)n in e&&_e(n,e[n],t,!0,!0);g.state.next({...n,name:void 0,type:void 0,...u?{values:a}:{}}),t.shouldValidate&&y()}},Ee=async i=>{o.mount=!0;let l=i.target,p=l.name,v=!0,x=I(r,p),S=e=>{v=Number.isNaN(e)||w(e)&&isNaN(e.getTime())||W(e,I(a,p,e))};if(x){let o,C,w=l.type?Be(x._f):O(i),T=i.type===M.BLUR||i.type===M.FOCUS_OUT,E=!Ke(x._f)&&!e.validate&&!t.resolver&&!I(n.errors,p)&&!x._f.deps,D=E||Qe(T,I(n.touchedFields,p),n.isSubmitted,f,d),k=qe(p,s,T);z(a,p,w),T?(!l||!l.readOnly)&&(x._f.onBlur&&x._f.onBlur(i),c&&c(0)):x._f.onChange&&x._f.onChange(i);let A=ae(p,w,T),ee=!K(A)||k;if(!T&&g.state.next({name:p,type:i.type,...u?{values:j(a)}:{}}),D)return(!E||!n.isValid)&&(m.isValid||h.isValid)&&(t.mode===`onBlur`?T&&y():T||y()),ee&&g.state.next({name:p,...k?{}:A});if(!t.resolver&&e.validate&&await le({name:p,eventType:i.type}),!T&&k&&g.state.next({...n}),t.resolver){let{errors:e}=await B([p]);if(b([p]),S(w),!v){!K(A)&&g.state.next(A);return}let t=Ye(n.errors,r,p),i=Ye(e,r,t.name||p);o=i.error,p=i.name,C=K(e)}else b([p],!0),o=(await nt(x,s.disabled,a,_,t.shouldUseNativeValidation))[p],b([p]),S(w),v&&(o?C=!1:(m.isValid||h.isValid)&&(C=await V({fields:r,onlyCheckValid:!0,name:p,eventType:i.type})));v&&(x._f.deps&&(!Array.isArray(x._f.deps)||x._f.deps.length>0)&&Ae(x._f.deps),se(p,C,o,A))}},ke=(e,t)=>{if(I(n.errors,t)&&e.focus)return e.focus(),1},Ae=async(e,i={})=>{let a,o,c=be(e);if(t.resolver){let t=await ce(F(e)?e:c);a=K(t),o=e?!c.some(e=>I(t,e)):a}else e?(o=(await Promise.all(c.map(async e=>{let t=I(r,e);return await V({fields:t&&t._f?{[e]:t}:t,eventType:M.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&y()):o=a=await V({fields:r,name:e,eventType:M.TRIGGER});return g.state.next({...!H(e)||(m.isValid||h.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Je(r,ke,e?c:s.mount),o},je=(e,t)=>{let r={...o.mount?a:i};return t&&(r=Se(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),F(e)?r:H(e)?I(r,e):e.map(e=>I(r,e))},Me=(e,t)=>({invalid:!!I((t||n).errors,e),isDirty:!!I((t||n).dirtyFields,e),error:I((t||n).errors,e),isValidating:!!I(n.validatingFields,e),isTouched:!!I((t||n).touchedFields,e)}),Ne=e=>{let t=e?be(e):void 0;t?.forEach(e=>q(n.errors,e)),t?t.forEach(e=>{g.state.next({name:e,errors:n.errors})}):g.state.next({errors:{}})},J=(e,t,i)=>{let a=(I(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=I(n.errors,e)||{};z(n.errors,e,{...l,...t,ref:a}),g.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Pe=(e,t)=>{if(R(e)){u++;let{unsubscribe:n}=g.state.subscribe({next:n=>`values`in n&&e(n.values||fe(void 0,t),n)}),r=!1;return{unsubscribe:()=>{r||(r=!0,u--,n())}}}return fe(e,t,!0)},Fe=e=>{let t=!!e.formState?.values;t&&u++;let{unsubscribe:r}=g.state.subscribe({next:t=>{if(Ze(e.name,t.name,e.exact)&&Xe(t,e.formState||m,lt,e.reRenderRoot)){let r={...a};e.callback({values:r,...n,...t,defaultValues:i})}}});if(!t)return r;let o=!1;return()=>{o||(o=!0,u--,r())}},Ie=e=>(o.mount=!0,h={...h,...e.formState},Fe({...e,formState:{...p,...e.formState}})),Re=(e,o={})=>{for(let c of e?be(e):s.mount)s.mount.delete(c),s.array.delete(c),o.keepValue||(q(r,c),q(a,c)),!o.keepError&&q(n.errors,c),!o.keepDirty&&q(n.dirtyFields,c),!o.keepTouched&&q(n.touchedFields,c),!o.keepIsValidating&&q(n.validatingFields,c),!t.shouldUnregister&&!o.keepDefaultValue&&q(i,c);g.state.next({values:j(a)}),g.state.next({...n,...o.keepDirty?{isDirty:U()}:{}}),!o.keepIsValid&&y()},ze=({disabled:e,name:t})=>{if(L(e)&&o.mount||e||s.disabled.has(t)){let n=s.disabled.has(t)!==!!e;e?s.disabled.add(t):s.disabled.delete(t),n&&o.mount&&!o.action&&y()}},X=(e,n={})=>{let a=I(r,e),c=L(n.disabled)||L(t.disabled),l=!s.registerName.has(e)&&a&&a._f&&!a._f.mount;return z(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),s.mount.add(e),a&&!l?ze({disabled:L(n.disabled)?n.disabled:t.disabled,name:e}):re(e,!0,n.value),{...c?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:He(n.min),max:He(n.max),minLength:He(n.minLength),maxLength:He(n.maxLength),pattern:He(n.pattern)}:{},name:e,onChange:Ee,onBlur:Ee,ref:c=>{if(c){s.registerName.add(e),X(e,n),s.registerName.delete(e),a=I(r,e);let t=F(c.value)&&c.querySelectorAll&&c.querySelectorAll(`input,select,textarea`)[0]||c,o=De(t),l=a._f.refs||[];if(o?l.find(e=>e===t):t===a._f.ref)return;z(r,e,{_f:{...a._f,...o?{refs:[...l.filter(Oe),t,...Array.isArray(I(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),re(e,!1,void 0,t)}else a=I(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(k(s.array,e)&&o.action)&&s.unMount.add(e)}}},We=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&Je(r,ke,s.mount),tt=e=>{L(e)&&(g.state.next({disabled:e}),Je(r,(t,n)=>{let i=I(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},Z=(e,i)=>async o=>{let c;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let l=j(a);if(g.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await B();b(),n.errors=e,l=j(t)}else await V({fields:r,eventType:M.SUBMIT});if(s.disabled.size)for(let e of s.disabled)q(l,e);if(q(n.errors,te),K(n.errors)){g.state.next({errors:{}});try{await e(l,o)}catch(e){c=e}}else i&&await i({...n.errors},o),We(),setTimeout(We);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(n.errors)&&!c,submitCount:n.submitCount+1,errors:n.errors}),c)throw c},ot=(e,t={})=>{I(r,e)&&(F(t.defaultValue)?G(e,j(I(i,e))):(G(e,t.defaultValue),z(i,e,j(t.defaultValue))),t.keepTouched||q(n.touchedFields,e),t.keepDirty||(q(n.dirtyFields,e),n.isDirty=t.defaultValue?U(e,j(I(i,e))):U()),t.keepError||(q(n.errors,e),m.isValid&&y()),g.state.next({...n}))},st=(e,c={})=>{let l=e?j(e):i,u=j(l),d=K(e),f=u;if(c.keepDefaultValues||(i=l),!c.keepValues){if(c.keepDirtyValues){let e=new Set([...s.mount,...Object.keys(Y(i,a))]);for(let t of Array.from(e)){let e=I(n.dirtyFields,t),r=I(a,t),i=I(f,t);e&&!F(r)?z(f,t,r):!e&&!F(i)&&G(t,i)}}else{if(ee&&F(e))for(let e of s.mount){let t=I(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(we(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(c.keepFieldsRef)for(let e of s.mount)G(e,I(f,e));else r={}}if(t.shouldUnregister){if(a=c.keepDefaultValues?j(i):{},c.keepFieldsRef)for(let e of s.mount)z(a,e,I(f,e))}else a=j(f);g.array.next({values:{...f}}),g.state.next({name:void 0,type:void 0,values:{...f}})}s={mount:c.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!m.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!t.shouldUnregister&&!K(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,c.keepErrors||(n.errors={}),g.state.next({submitCount:c.keepSubmitCount?n.submitCount:0,isDirty:d?!1:c.keepDirty?n.isDirty:c.keepValues?U():!!(c.keepDefaultValues&&!W(e,i)),isSubmitted:c.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:c.keepDirtyValues?c.keepDefaultValues&&a?Y(i,a):n.dirtyFields:c.keepDefaultValues&&e?Y(i,e):c.keepDirty?n.dirtyFields:{},touchedFields:c.keepTouched?n.touchedFields:{},errors:c.keepErrors?n.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Q=(e,n)=>st(R(e)?e(a):e,{...t.resetOptions,...n}),ct=(e,t={})=>{let n=I(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&R(e.select)&&e.select()})}},lt=e=>{let{name:t,type:r,values:i,...a}=e;n={...n,...a}},ut={control:{register:X,unregister:Re,getFieldState:Me,handleSubmit:Z,setError:J,_subscribe:Fe,_runSchema:B,_updateIsValidating:b,_focusError:We,_getWatch:fe,_getDirty:U,_setValid:y,_setFieldArray:S,_setDisabledField:ze,_setErrors:A,_getFieldArray:pe,_reset:st,_resetDefaultValues:()=>R(t.defaultValues)&&t.defaultValues().then(e=>{Q(e,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:de,_disableForm:tt,_subjects:g,_proxyFormState:m,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return s},set _names(e){s=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e},d=Ue(t.mode),f=Ue(t.reValidateMode)}},subscribe:Ie,trigger:Ae,register:X,handleSubmit:Z,watch:Pe,setValue:G,setValues:ve,getValues:je,reset:Q,resetField:ot,resetDefaultValues:(e,t={})=>{if(i=j(e),!t.keepDirty){let e=Y(i,a);n.dirtyFields=e,n.isDirty=!K(e)}t.keepIsValid||y(),g.state.next({...n,defaultValues:i})},clearErrors:Ne,unregister:Re,setError:J,setFocus:ct,getFieldState:Me};return{...ut,formControl:ut}}function st(e={}){let t=S.useRef(void 0),n=S.useRef(void 0),r=S.useRef(e.formControl),[i,a]=S.useState(()=>({...j(at),isLoading:R(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:R(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl)if(r.current=e.formControl,e.formControl)t.current={...e.formControl,formState:i},e.defaultValues&&!R(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...r}=ot(e);t.current={...r,formState:i}}let o=t.current.control;return o._options=e,le(()=>{let e=o._subscribe({formState:o._proxyFormState,callback:()=>a({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return a(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),S.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),S.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),S.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),S.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),S.useEffect(()=>{if(o._proxyFormState.isDirty){let e=o._getDirty();e!==i.isDirty&&o._subjects.state.next({isDirty:e})}},[o,i.isDirty]),S.useEffect(()=>{e.values&&!W(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),o._options.resetOptions?.keepIsValid||o._setValid(),n.current=e.values,a(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),S.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=S.useMemo(()=>ce(i,o),[o,i]),t.current}var Q=n(),ct=G,lt=S.createContext(null),ut=({...e})=>(0,Q.jsx)(lt.Provider,{value:{name:e.name},children:(0,Q.jsx)(me,{...e})}),dt=S.createContext(null),ft=()=>{let e=S.useContext(lt),t=S.useContext(dt),{getFieldState:n,formState:r}=_e();if(!e)throw Error(`useFormField must be used within <FormField>`);if(!t)throw Error(`useFormField must be used within <FormItem>`);let i=n(e.name,r),{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},pt=S.forwardRef(({className:e,...t},n)=>{let r=S.useId();return(0,Q.jsx)(dt.Provider,{value:{id:r},children:(0,Q.jsx)(`div`,{ref:n,className:i(`space-y-2`,e),...t})})});pt.displayName=`FormItem`;var mt=S.forwardRef(({className:e,...t},n)=>{let{error:r,formItemId:a}=ft();return(0,Q.jsx)(x,{ref:n,className:i(r&&`text-destructive`,e),htmlFor:a,...t})});mt.displayName=`FormLabel`;var ht=S.forwardRef(({...e},t)=>{let{error:n,formItemId:i,formDescriptionId:a,formMessageId:o}=ft();return(0,Q.jsx)(r,{ref:t,id:i,"aria-describedby":n?`${a} ${o}`:`${a}`,"aria-invalid":!!n,...e})});ht.displayName=`FormControl`;var gt=S.forwardRef(({className:e,...t},n)=>{let{formDescriptionId:r}=ft();return(0,Q.jsx)(`p`,{ref:n,id:r,className:i(`text-sm text-muted-foreground`,e),...t})});gt.displayName=`FormDescription`;var _t=S.forwardRef(({className:e,children:t,...n},r)=>{let{error:a,formMessageId:o}=ft(),s=a?String(a.message??``):t;return s?(0,Q.jsx)(`p`,{ref:r,id:o,className:i(`text-sm font-medium text-destructive`,e),...n,children:s}):null});_t.displayName=`FormMessage`;var vt=e=>e==null||typeof e==`string`&&e.trim()===``,yt=(e,t)=>e===t?!0:e==null||t==null?!1:e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():typeof e==`number`&&typeof t==`string`?String(e)===t:typeof e==`string`&&typeof t==`number`?e===String(t):typeof e==`boolean`&&typeof t==`string`&&String(e)===t;function bt(e,t){if(!e)return!0;let n=t[e.field],r=vt(n);if(e.defaultWhenEmpty&&r)return!0;let i=!1;return`equals`in e&&e.equals!==void 0&&(i=!0,yt(n,e.equals))||`notEquals`in e&&e.notEquals!==void 0&&(i=!0,!yt(n,e.notEquals))||e.in&&e.in.length>0&&(i=!0,e.in.some(e=>yt(n,e)))||e.notIn&&e.notIn.length>0&&(i=!0,!e.notIn.some(e=>yt(n,e)))||e.isEmpty!==void 0&&(i=!0,e.isEmpty===r)?!0:!i}var xt=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,St=/^https?:\/\/.+/i,Ct=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,$=e=>e==null||typeof e==`string`&&e.trim()===``;function wt(e,t,n){let r=e.label,i=e=>n===`email`?xt.test(e):n===`url`?St.test(e):n!==`uuid`||Ct.test(e),a=n===`email`?`validation:invalidEmail`:n===`url`?`validation:invalidUrl`:n===`uuid`?`validation:invalidUuid`:null;return d([p(),m(),_()]).transform(e=>typeof e==`string`?e:e==null?``:String(e)).superRefine((n,o)=>{if(n.trim()===``){e.isRequired&&o.addIssue({code:`custom`,message:t(`validation:required`,{label:r})});return}a&&!i(n)&&o.addIssue({code:`custom`,message:t(a,{label:r})})}).transform(e=>e.trim()===``?null:e)}function Tt(e,t,n=!1){let r=e.label;return u().superRefine((i,a)=>{if($(i)){e.isRequired&&a.addIssue({code:`custom`,message:t(`validation:required`,{label:r})});return}let o=typeof i==`number`?i:Number(i);if(!Number.isFinite(o)){a.addIssue({code:`custom`,message:t(`validation:invalidNumber`,{label:r})});return}n&&!Number.isInteger(o)&&a.addIssue({code:`custom`,message:t(`validation:invalidInteger`,{label:r})})}).transform(e=>{if($(e))return null;let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:null})}function Et(e,t){return l(e=>typeof e==`boolean`?e:!!e,h())}function Dt(e,t){let n=e.label;return d([p(),v(),m(),_()]).superRefine((r,i)=>{if($(r)){e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})});return}let a=r instanceof Date?r:new Date(String(r));Number.isNaN(a.getTime())&&i.addIssue({code:`custom`,message:t(`validation:invalidDate`,{label:n})})}).transform(e=>$(e)?null:e)}function Ot(e,t){let n=e.label;return d([p(),y(),m(),_()]).superRefine((r,i)=>{$(r)&&e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})})}).transform(e=>$(e)?null:e)}function kt(e,t){let n=e.label;return l(e=>{if(e==null)return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t)if(Array.isArray(e))for(let t of e)t!=null&&t!==``&&n.push(t);else e!=null&&e!==``&&n.push(e);return n},o(d([p(),y()]))).superRefine((r,i)=>{e.isRequired&&r.length===0&&i.addIssue({code:`custom`,message:t(`validation:emptySelection`,{label:n})})})}function At(e,t){return e.isArray?kt(e,t):wt(e,t)}function jt(e,t){let n=e.label,r=new Set((e.availableValues??[]).map(e=>e.value));return d([p(),m(),_()]).transform(e=>e==null?``:String(e)).superRefine((i,a)=>{if(i===``){e.isRequired&&a.addIssue({code:`custom`,message:t(`validation:required`,{label:n})});return}r.has(i)||a.addIssue({code:`custom`,message:t(`validation:notInList`,{label:n})})}).transform(e=>e===``?null:e)}function Mt(e,t){let n=e.label;return u().superRefine((r,i)=>{(r==null||r===``)&&e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})})}).transform(e=>e===``?null:e)}function Nt(e,t){let n=e.label;return l(e=>{if(e==null)return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t)if(!(e==null||e===``)){if(typeof e==`string`||typeof e==`number`){n.push({id:String(e)});continue}if(typeof e==`object`){let t=e,r=t.id??t.value;if(r==null||r===``)continue;n.push({...t,id:String(r)})}}return n},o(g(p(),u()))).superRefine((r,i)=>{e.isRequired&&r.length===0&&i.addIssue({code:`custom`,message:t(`validation:emptySelection`,{label:n})})})}function Pt(e,t){if(e.type===`m2m`)return Nt(e,t);if(e.availableValues&&e.availableValues.length>0)return jt(e,t);if(e.reference)return e.isArray?kt(e,t):Ot(e,t);switch(e.type){case`boolean`:return Et(e,t);case`number`:case`float`:case`currency`:case`money`:return Tt(e,t,!1);case`integer`:return Tt(e,t,!0);case`date`:case`datetime`:case`datetime-local`:return Dt(e,t);case`email`:return wt(e,t,`email`);case`url`:return wt(e,t,`url`);case`uuid`:return wt(e,t,`uuid`);case`json`:return Mt(e,t);case`string`:case`text`:case`textarea`:case`password`:case`richtext`:case`color`:case`file`:return At(e,t);default:return wt(e,t)}}function Ft(e,t,n){let r=Pt(e,t);return!e.showWhen||!n?r:f().superRefine((t,i)=>{if(!bt(e.showWhen,n()))return;let a=r.safeParse(t);if(!a.success)for(let e of a.error.issues)i.addIssue({...e})}).transform(t=>{if(!bt(e.showWhen,n()))return t;let i=r.safeParse(t);return i.success?i.data:t})}function It(e,t,n){let r={};for(let i of e)r[i.path]=Ft(i,t,n);return c(r)}function Lt(e){return e.type===`boolean`?!1:e.type===`json`?null:e.isArray?[]:``}var Rt=(e,t,n)=>{if(e&&`reportValidity`in e){let r=I(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},zt=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Rt(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>Rt(t,n,e))}},Bt=(e,t)=>{t.shouldUseNativeValidation&&zt(e,t);let n={};for(let r in e){let i=I(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.ref});if(Vt(t.names||Object.keys(e),r)){let e=Object.assign({},I(n,r));z(e,`root`,a),z(n,r,e)}else z(n,r,a)}return n},Vt=(e,t)=>{let n=Ht(t).replace(/[.*+?^${}()|\\]/g,`\\$&`);return e.some(e=>Ht(e).match(`^${n}\\.\\d+`))};function Ht(e){return e.replace(/[\[\]]/g,``)}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ut.apply(null,arguments)}function Wt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Gt(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(`unionErrors`in r){var s=r.unionErrors[0].errors[0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ve(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function Kt(e,t){for(var n={},r=function(){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors[0][0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(Ut({},t,{path:[].concat(r.path,t.path)}))})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ve(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()};e.length;)r();return n}function qt(e,t,n){if(n===void 0&&(n={}),function(e){return`_def`in e&&typeof e._def==`object`&&`typeName`in e._def}(e))return function(r,i,a){try{return Promise.resolve(Wt(function(){return Promise.resolve(e[n.mode===`sync`?`parse`:`parseAsync`](r,t)).then(function(e){return a.shouldUseNativeValidation&&zt({},a),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:Bt(Gt(e.errors,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(r,i,o){try{return Promise.resolve(Wt(function(){return Promise.resolve((n.mode===`sync`?s:b)(e,r,t)).then(function(e){return o.shouldUseNativeValidation&&zt({},o),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return e instanceof a}(e))return{values:{},errors:Bt(Kt(e.issues,!o.shouldUseNativeValidation&&o.criteriaMode===`all`),o)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}export{ct as a,fe as c,bt as i,It as n,ut as o,Lt as r,st as s,qt as t};
|
|
2
|
-
//# sourceMappingURL=zod-
|
|
1
|
+
import{a as e,n as t}from"./createLucideIcon-CUopU_LC.js";import{S as n,g as r,s as i}from"./with-selector-NDLhu4dT.js";import{S as a,a as o,b as s,d as c,f as l,g as u,h as d,i as f,m as p,n as m,o as h,p as g,r as _,s as v,u as y,x as b}from"./schemas-twnCb1uT.js";import{q as x}from"./index-C3MuojaM.js";var S=e(t(),1),C=e=>e.type===`checkbox`,w=e=>e instanceof Date,T=e=>e==null,E=e=>typeof e==`object`,D=e=>!T(e)&&!Array.isArray(e)&&E(e)&&!w(e),O=e=>D(e)&&e.target?C(e.target)?e.target.checked:e.target.value:e,k=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),A=e=>{let t=e.constructor&&e.constructor.prototype;return D(t)&&t.hasOwnProperty(`isPrototypeOf`)},ee=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function j(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(ee&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(D(e)&&A(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=j(e[t]));return r}var M={BLUR:`blur`,FOCUS_OUT:`focusout`,CHANGE:`change`,SUBMIT:`submit`,TRIGGER:`trigger`,VALID:`valid`},N={onBlur:`onBlur`,onChange:`onChange`,onSubmit:`onSubmit`,onTouched:`onTouched`,all:`all`},P={max:`max`,min:`min`,maxLength:`maxLength`,minLength:`minLength`,pattern:`pattern`,required:`required`,validate:`validate`},te=`root`,ne=[`__proto__`,`constructor`,`prototype`],re=/^\w*$/,ie=e=>re.test(e),F=e=>e===void 0,ae=/[.[\]'"]/,oe=e=>e.split(ae).filter(Boolean),I=(e,t,n)=>{if(!t||!D(e))return n;let r=ie(t)?[t]:oe(t);if(r.some(e=>ne.includes(e)))return n;let i=r.reduce((e,t)=>T(e)?void 0:e[t],e);return F(i)||i===e?F(e[t])?n:e[t]:i},L=e=>typeof e==`boolean`,R=e=>typeof e==`function`,z=(e,t,n)=>{let r=-1,i=ie(t)?[t]:oe(t),a=i.length,o=a-1;for(;++r<a;){let t=i[r],a=n;if(r!==o){let n=e[t];a=D(n)||Array.isArray(n)?n:isNaN(+i[r+1])?{}:[]}if(ne.includes(t))return;e[t]=a,e=e[t]}},se=S.createContext(null);se.displayName=`HookFormControlContext`;var B=()=>S.useContext(se),ce=(e,t,n,r=!0)=>{let i={};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==N.all&&(t._proxyFormState[i]=!r||N.all),n&&(n[i]=!0),e[i]}});return i},le=ee?S.useLayoutEffect:S.useEffect;function V(e){let t=B(),{control:n=t,disabled:r,name:i,exact:a}=e||{},[o,s]=S.useState(()=>({...n._formState,defaultValues:n._defaultValues})),c=S.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return le(()=>n._subscribe({name:i,formState:c.current,exact:a,callback:e=>{!r&&s({...n._formState,...e,defaultValues:n._defaultValues})}}),[i,r,a]),S.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),S.useMemo(()=>ce(o,n,c.current,!1),[o,n])}var H=e=>typeof e==`string`,ue=(e,t,n,r,i)=>H(e)?(r&&t.watch.add(e),I(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),I(n,e))):(r&&(t.watchAll=!0),n),de=e=>T(e)||!E(e),U=(e,t)=>t.length===0&&!Array.isArray(e)&&!A(e);function W(e,t,n=new WeakMap){if(e===t)return!0;if(de(e)||de(t))return Object.is(e,t);if(w(e)&&w(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(U(e,r)||U(t,i))return Object.is(e,t);if(!r.length&&Array.isArray(e)!==Array.isArray(t))return!1;let a=n.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{let r=new WeakSet;r.add(t),n.set(e,r)}for(let i of r){let r=e[i];if(!(i in t))return!1;if(i!==`ref`){let e=t[i];if(w(r)&&w(e)||(D(r)||Array.isArray(r))&&(D(e)||Array.isArray(e))?!W(r,e,n):!Object.is(r,e))return!1}}return!0}function fe(e){let t=B(),{control:n=t,name:r,defaultValue:i,disabled:a,exact:o,compute:s}=e||{},c=S.useRef(i),l=S.useRef(s),u=S.useRef(void 0),d=S.useRef(n),f=S.useRef(r);l.current=s;let[p,m]=S.useState(()=>{let e=n._getWatch(r,c.current);return l.current?l.current(e):e}),h=S.useCallback(e=>{let t=ue(r,n._names,e||n._formValues,!1,c.current);return l.current?l.current(t):t},[n._formValues,n._names,r]),g=S.useCallback(e=>{if(!a){let t=ue(r,n._names,e||n._formValues,!1,c.current);if(l.current){let e=l.current(t);W(e,u.current)||(m(e),u.current=e)}else m(t)}},[n._formValues,n._names,a,r]);le(()=>((d.current!==n||!W(f.current,r))&&(d.current=n,f.current=r,g()),n._subscribe({name:r,formState:{values:!0},exact:o,callback:e=>{g(e.values)}})),[n,o,r,g]),S.useEffect(()=>n._removeUnmounted());let _=d.current!==n,v=f.current,y=S.useMemo(()=>{if(a)return null;let e=!_&&!W(v,r);return _||e?h():null},[a,_,r,v,h]);return y===null?p:y}function pe(e){let t=B(),{name:n,disabled:r,control:i=t,shouldUnregister:a,defaultValue:o,exact:s=!0}=e,c=k(i._names.array,n),l=fe({control:i,name:n,defaultValue:S.useMemo(()=>I(i._formValues,n,I(i._defaultValues,n,o)),[i,n,o]),exact:s}),u=V({control:i,name:n,exact:s}),d=S.useRef(e),f=S.useRef(null),p=S.useRef(i.register(n,{...e.rules,value:l,...L(e.disabled)?{disabled:e.disabled}:{}}));d.current=e;let m=S.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!I(u.errors,n)},isDirty:{enumerable:!0,get:()=>!!I(u.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!I(u.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!I(u.validatingFields,n)},error:{enumerable:!0,get:()=>I(u.errors,n)}}),[u,n]),h=S.useCallback(e=>{let t=O(e);return I(i._fields,n)||(p.current=i.register(n,{...d.current.rules,value:t})),p.current.onChange({target:{value:O(e),name:n},type:M.CHANGE})},[n,i]),g=S.useCallback(()=>p.current.onBlur({target:{value:I(i._formValues,n),name:n},type:M.BLUR}),[n,i._formValues]),_=S.useCallback(e=>{e&&(f.current={focus:()=>R(e.focus)&&e.focus(),select:()=>R(e.select)&&e.select(),setCustomValidity:t=>R(e.setCustomValidity)&&e.setCustomValidity(t),reportValidity:()=>R(e.reportValidity)&&e.reportValidity()});let t=I(i._fields,n);t&&t._f&&e&&(t._f.ref=f.current)},[i._fields,n]),v=S.useMemo(()=>({name:n,value:l,...L(r)||u.disabled?{disabled:u.disabled||r}:{},onChange:h,onBlur:g,ref:_}),[n,r,u.disabled,h,g,_,l]);return S.useEffect(()=>{let e=i._options.shouldUnregister||a;i.register(n,{...d.current.rules,...L(d.current.disabled)?{disabled:d.current.disabled}:{}});let t=(e,t)=>{let n=I(i._fields,e);n&&n._f&&(n._f.mount=t)};if(t(n,!0),e){let e=j(I(a?i._defaultValues:i._options.values||i._defaultValues,n,I(i._options.defaultValues,n,d.current.defaultValue)));z(i._defaultValues,n,e),F(I(i._formValues,n))&&z(i._formValues,n,e)}if(!c&&i.register(n),f.current){let e=I(i._fields,n);e&&e._f&&(e._f.ref=f.current)}return()=>{(c?e&&!i._state.action:e)?i.unregister(n):t(n,!1)}},[n,i,c,a]),S.useEffect(()=>{i._setDisabledField({disabled:r,name:n})},[r,n,i]),S.useMemo(()=>({field:v,formState:u,fieldState:m}),[v,u,m])}var me=e=>e.render(pe(e)),he=e=>{let t={};for(let n of Object.keys(e))if(E(e[n])&&e[n]!==null&&!w(e[n])){let r=he(e[n]);for(let e of Object.keys(r))t[`${n}.${e}`]=r[e]}else t[n]=e[n];return t},ge=S.createContext(null);ge.displayName=`HookFormContext`;var _e=()=>S.useContext(ge),G=({children:e,watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:f,unregister:p,control:m,register:h,setFocus:g,subscribe:_})=>{let v=S.useMemo(()=>({watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:f,unregister:p,control:m,register:h,setFocus:g,subscribe:_}),[a,m,l,r,n,f,h,d,u,i,g,o,s,_,c,p,t]);return S.createElement(ge.Provider,{value:v},S.createElement(se.Provider,{value:v.control},e))},ve=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},ye=e=>Array.isArray(e)?e.filter(Boolean):[],be=e=>Array.isArray(e)?e:[e],xe=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function Se(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&D(i)&&a){let e=Se(i,a);D(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var K=e=>D(e)&&!Object.keys(e).length,Ce=e=>e.type===`file`,we=e=>{if(!ee)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Te=e=>e.type===`select-multiple`,Ee=e=>e.type===`radio`,De=e=>Ee(e)||C(e),Oe=e=>we(e)&&e.isConnected;function ke(e,t){let n=t.slice(0,-1).length,r=0;for(;r<n;){if(T(e)){e=void 0;break}e=e[t[r]],r++}return e}function Ae(e){for(let t in e)if(e.hasOwnProperty(t)&&!F(e[t]))return!1;return!0}function q(e,t){if(H(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let n=Array.isArray(t)?t:ie(t)?[t]:oe(t);if(n.some(e=>ne.includes(String(e))))return e;let r=n.length===1?e:ke(e,n),i=n.length-1,a=n[i];return r&&delete r[a],i!==0&&(D(r)&&K(r)||Array.isArray(r)&&Ae(r))&&q(e,n.slice(0,-1)),e}var je=e=>{for(let t in e)if(R(e[t]))return!0;return!1};function Me(e){return Array.isArray(e)||D(e)&&!je(e)}function Ne(e,t={}){for(let n in e){let r=e[n];Me(r)?(t[n]=Array.isArray(r)?[]:{},Ne(r,t[n])):F(r)||(t[n]=!0)}return t}function J(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){let t=e.map(e=>J(e));return t.some(e=>e!==void 0)?t:void 0}if(D(e)){let t={};for(let n in e){let r=J(e[n]);F(r)||(t[n]=r)}return Object.keys(t).length?t:void 0}}}function Y(e,t,n){n||=Ne(t);for(let r in e){let i=e[r];if(Me(i))F(t)||de(n[r])?n[r]=Ne(i,Array.isArray(i)?[]:{}):Y(i,T(t)?{}:t[r],n[r]);else{let e=t[r];n[r]=!W(i,e)}}return J(n)||{}}var Pe={value:!1,isValid:!1},Fe={value:!0,isValid:!0},Ie=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!F(e[0].attributes.value)?F(e[0].value)||e[0].value===``?Fe:{value:e[0].value,isValid:!0}:Fe:Pe}return Pe},Le=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>F(e)?e:t?e===``?NaN:e&&+e:n&&H(e)?new Date(e):r?r(e):e,Re={isValid:!1,value:null},ze=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,Re):Re;function Be(e){let t=e.ref;return Ce(t)?t.files:Ee(t)?ze(e.refs).value:Te(t)?[...t.selectedOptions].map(({value:e})=>e):C(t)?Ie(e.refs).value:Le(F(t.value)?e.ref.value:t.value,e)}var Ve=(e,t,n,r)=>{let i={};for(let n of e){let e=I(t,n);e&&z(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},X=e=>e instanceof RegExp,He=e=>F(e)?e:X(e)?e.source:D(e)?X(e.value)?e.value.source:e.value:e,Ue=e=>({isOnSubmit:!e||e===N.onSubmit,isOnBlur:e===N.onBlur,isOnChange:e===N.onChange,isOnAll:e===N.all,isOnTouch:e===N.onTouched}),We=`AsyncFunction`,Ge=e=>{if(!e||!e.validate)return!1;if(R(e.validate))return e.validate.constructor.name===We;if(D(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===We)return!0}return!1},Ke=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),qe=(e,t,n)=>{if(n)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let n of t.watch)if(e.startsWith(n)&&e.charAt(n.length)===`.`)return!0;return!1},Je=(e,t,n,r)=>{for(let i of n||Object.keys(e)){let n=I(e,i);if(n){let{_f:e,...a}=n;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(Je(a,t))break}else if(D(a)&&Je(a,t))break}}};function Ye(e,t,n){let r=I(e,n);if(r||ie(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=I(t,r),o=I(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Xe=(e,t,n,r)=>{n(e);let{name:i,...a}=e,o=Object.keys(a);return!o.length||r&&o.length>=Object.keys(t).length||o.find(e=>t[e]===(!r||N.all))},Ze=(e,t,n)=>!e||!t||e===t||be(e).some(e=>e&&(n?e===t||e.startsWith(t+`.`):e.startsWith(t)||t.startsWith(e))),Qe=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,$e=(e,t)=>!ye(I(e,t)).length&&q(e,t),et=(e,t,n)=>{let r=I(e,n),i=Array.isArray(r)?r:[];return z(i,te,t[n]),z(e,n,i),e};function tt(e,t,n=`validate`){if(H(e)||Array.isArray(e)&&e.every(H)||L(e)&&!e)return{type:n,message:H(e)?e:``,ref:t}}var Z=e=>D(e)&&!X(e)?e:{value:e,message:``},nt=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:f,pattern:p,validate:m,name:h,valueAsNumber:g,mount:_}=e._f,v=I(n,h);if(!_||t.has(h))return{};let y=s?s[0]:o,b=e=>{if(i&&y.reportValidity){let t=L(e)?``:e||``;s?s.forEach(e=>e.setCustomValidity(t)):y.setCustomValidity(t),y.reportValidity()}},x={},S=Ee(o),w=C(o),E=S||w,O=(g||Ce(o))&&F(o.value)&&F(v)||we(o)&&o.value===``||v===``||Array.isArray(v)&&!v.length,k=ve.bind(null,h,r,x),A=(e,t,n,r=P.maxLength,i=P.minLength)=>{let a=e?t:n;x[h]={type:e?r:i,message:a,ref:o,...k(e?r:i,a)}};if(a?!Array.isArray(v)||!v.length:c&&(!E&&(O||T(v))||L(v)&&!v||w&&!Ie(s).isValid||S&&!ze(s).isValid)){let{value:e,message:t}=H(c)?{value:!!c,message:c}:Z(c);if(e&&(x[h]={type:P.required,message:t,ref:y,...k(P.required,t)},!r))return b(t),x}if(!O&&(!T(d)||!T(f))){let e,t,n=Z(f),i=Z(d);if(!T(v)&&!isNaN(v)){let r=o.valueAsNumber||v&&+v;T(n.value)||(e=r>n.value),T(i.value)||(t=r<i.value)}else{let r=o.valueAsDate||new Date(v),a=e=>new Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;H(n.value)&&v&&(e=s?a(v)>a(n.value):c?v>n.value:r>new Date(n.value)),H(i.value)&&v&&(t=s?a(v)<a(i.value):c?v<i.value:r<new Date(i.value))}if((e||t)&&(A(!!e,n.message,i.message,P.max,P.min),!r))return b(x[h].message),x}if((l||u)&&!O&&(H(v)||a&&Array.isArray(v))){let e=Z(l),t=Z(u),n=!T(e.value)&&v.length>+e.value,i=!T(t.value)&&v.length<+t.value;if((n||i)&&(A(n,e.message,t.message),!r))return b(x[h].message),x}if(p&&!O&&H(v)){let{value:e,message:t}=Z(p);if(X(e)&&!v.match(e)&&(x[h]={type:P.pattern,message:t,ref:o,...k(P.pattern,t)},!r))return b(t),x}if(m){if(R(m)){let e=tt(await m(v,n),y);if(e&&(x[h]={...e,...k(P.validate,e.message)},!r))return b(e.message),x}else if(D(m)){let e={};for(let t in m){if(!K(e)&&!r)break;let i=tt(await m[t](v,n),y,t);i&&(e={...i,...k(t,i.message)},b(i.message),r&&(x[h]=e))}if(!K(e)&&(x[h]={ref:y,...e},!r))return x}}return b(!0),x},rt={mode:N.onSubmit,reValidateMode:N.onChange,shouldFocusError:!0},it=`form`,at={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function ot(e={}){let t={...rt,...e},n={...j(at),isLoading:R(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},i=(D(t.defaultValues)||D(t.values))&&j(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:j(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,l=0,u=0,d=Ue(t.mode),f=Ue(t.reValidateMode),p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...p},h={...m},g={array:xe(),state:xe()},_=t.criteriaMode===N.all,v=e=>t=>{clearTimeout(l),l=setTimeout(e,t)},y=async e=>{if(!o.keepIsValid&&!t.disabled&&(m.isValid||h.isValid||e)){let e;t.resolver?(e=K((await B()).errors),b()):e=await V({fields:r,onlyCheckValid:!0,eventType:M.VALID}),e!==n.isValid&&g.state.next({isValid:e})}},b=(e,r)=>{!t.disabled&&(m.isValidating||m.validatingFields||h.isValidating||h.validatingFields)&&((e||Array.from(s.mount)).forEach(e=>{e&&(r?z(n.validatingFields,e,r):q(n.validatingFields,e))}),g.state.next({validatingFields:n.validatingFields,isValidating:!K(n.validatingFields)}))},x=()=>{n.dirtyFields=Y(i,a)},S=(e,i=[],s,c,l=!0,u=!0)=>{if(c&&s&&!t.disabled){if(o.action=!0,u&&Array.isArray(I(r,e))){let t=s(I(r,e),c.argA,c.argB);l&&z(r,e,t)}if(u&&Array.isArray(I(n.errors,e))){let t=s(I(n.errors,e),c.argA,c.argB);l&&z(n.errors,e,t),$e(n.errors,e)}if((m.touchedFields||h.touchedFields)&&u&&Array.isArray(I(n.touchedFields,e))){let t=s(I(n.touchedFields,e),c.argA,c.argB);l&&z(n.touchedFields,e,t)}(m.dirtyFields||h.dirtyFields)&&x(),g.state.next({name:e,isDirty:U(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else z(a,e,i)},E=(e,t)=>{z(n.errors,e,t),n.errors={...n.errors},g.state.next({errors:n.errors})},A=e=>{n.errors=e,g.state.next({errors:n.errors,isValid:!1})},ne=e=>{let t=ie(e)?[e]:oe(e),n=a,r=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(n=T(n)?n:n[i],r=T(r)?r:r[i],n===null&&r!==null)return!0}return!1},re=(t,c,l,u)=>{let d=I(r,t);if(d){if(ne(t))return;let r=F(I(a,t)),f=I(a,t,F(l)?I(i,t):l);F(f)||u&&u.defaultChecked||c?z(a,t,c?f:Be(d._f)):me(t,f),o.mount&&!o.action&&(y(),r&&n.isDirty&&(m.isDirty||h.isDirty)&&(U()||(n.isDirty=!1,g.state.next({...n}))),e.shouldUnregister&&r&&!F(I(a,t))&&qe(t,s)&&(o.watch=!0))}},ae=(e,r,o,s,c)=>{let l=!1,u=!1,d={name:e};if(!t.disabled){if(!o||s){let t=W(I(i,e),r);(m.isDirty||h.isDirty)&&(u=n.isDirty,n.isDirty=d.isDirty=!t||U(),l=u!==d.isDirty),u=!!I(n.dirtyFields,e),t===n.isDirty?t?q(n.dirtyFields,e):z(n.dirtyFields,e,!0):n.dirtyFields=Y(i,a),d.dirtyFields=n.dirtyFields,l||=(m.dirtyFields||h.dirtyFields)&&u!==!t}if(o){let t=I(n.touchedFields,e);t||(z(n.touchedFields,e,o),d.touchedFields=n.touchedFields,l||=(m.touchedFields||h.touchedFields)&&t!==o)}l&&c&&g.state.next(d)}return l?d:{}},se=(e,r,i,a)=>{let o=I(n.errors,e),s=(m.isValid||h.isValid)&&L(r)&&n.isValid!==r;if(t.delayError&&i?(c=v(()=>E(e,i)),c(t.delayError)):(clearTimeout(l),c=null,i?z(n.errors,e,i):q(n.errors,e),n.errors={...n.errors}),(i?!W(o,i):o)||!K(a)||s){let t={...a,...s&&L(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},g.state.next(t)}},B=async e=>(b(e,!0),await t.resolver(a,t.context,Ve(e||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),ce=async e=>{let{errors:t}=await B(e);if(b(e),e){for(let r of e){let e=I(t,r);e?s.array.has(r)&&D(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e)))?et(n.errors,{[r]:e},r):z(n.errors,r,e):q(n.errors,r)}n.errors={...n.errors}}else n.errors=t;return t},le=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(D(i))for(let e in i){let t=i[e];t&&J(`${it}.${e}`,{message:H(t.message)?t.message:``,type:t.type||P.validate})}else H(i)||!i?J(it,{message:i||``,type:P.validate}):Ne(it);return i}return!0},V=async({fields:r,onlyCheckValid:i,name:o,eventType:c,context:l={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(l.runRootValidation=!0,!await le({name:o,eventType:c})&&(l.valid=!1,i)))return l.valid;for(let o in r){let u=r[o];if(u){let{_f:r,...d}=u;if(r){let o=s.array.has(r.name),c=u._f&&Ge(u._f),d=m.validatingFields||m.isValidating||h.validatingFields||h.isValidating;c&&d&&b([r.name],!0);let f=await nt(u,s.disabled,a,_,t.shouldUseNativeValidation&&!i,o);if(c&&d&&b([r.name]),f[r.name]&&(l.valid=!1,i)||(!i&&(I(f,r.name)?o?et(n.errors,f,r.name):z(n.errors,r.name,f[r.name]):q(n.errors,r.name)),e.shouldUseNativeValidation&&f[r.name]))break}!K(d)&&await V({context:l,onlyCheckValid:i,fields:d,name:o,eventType:c})}}return l.valid},de=()=>{for(let e of s.unMount){let t=I(r,e);t&&(t._f.refs?t._f.refs.every(e=>!Oe(e)):!Oe(t._f.ref))&&Re(e)}s.unMount=new Set},U=(e,n)=>!t.disabled&&(e&&n&&z(a,e,n),!W(o.mount?a:i,i)),fe=(e,t,n)=>ue(e,s,{...o.mount?a:F(t)?i:H(e)?{[e]:t}:t},n,t),pe=e=>ye(I(o.mount?a:i,e,t.shouldUnregister?I(i,e,[]):[])),me=(e,t,n={},i=!1,o=!1)=>{let s=I(r,e),c=t;if(s){let n=s._f;n&&(!n.disabled&&z(a,e,Le(t,n)),c=we(n.ref)&&T(t)?``:t,Te(n.ref)?[...n.ref.options].forEach(e=>e.selected=c.includes(e.value)):n.refs?C(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(Array.isArray(c)?e.checked=!!c.find(t=>t===e.value):e.checked=c===e.value||!!c)}):n.refs.forEach(e=>e.checked=e.value===c):Ce(n.ref)?n.ref.value=``:(n.ref.value=c,!n.ref.type&&!o&&g.state.next({name:e,values:i?a:j(a)})))}(n.shouldDirty||n.shouldTouch)&&ae(e,c,n.shouldTouch,n.shouldDirty,!o),n.shouldValidate&&Ae(e)},ge=(e,t,n,i=!1,a=!1)=>{for(let o in t){if(!t.hasOwnProperty(o))return;let c=t[o],l=e+`.`+o,u=I(r,l);(s.array.has(e)||D(c)||u&&!u._f)&&!w(c)?ge(l,c,n,i,a):me(l,c,n,i,a)}},_e=(e,t,i,c,l=!1)=>{let u=I(r,e),d=s.array.has(e),f=c?t:j(t),p=W(I(a,e),f);if(p||z(a,e,f),d)g.array.next({name:e,values:c?a:j(a)}),(m.isDirty||m.dirtyFields||h.isDirty||h.dirtyFields)&&i.shouldDirty&&(x(),l||g.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:U(e,f)}));else{let t=Array.isArray(f)&&!f.length||K(f);!u||u._f||T(f)||t?me(e,f,i,c,l):ge(e,f,i,c,l)}if(!p&&!l){let t=qe(e,s),r=c?a:j(a);g.state.next({...t&&n,name:o.mount||t?e:void 0,values:r})}},G=(e,t,n={})=>_e(e,t,n,!1),ve=(e,t={})=>{let r=R(e)?e(a):e;if(!W(a,r)){a={...a,...r};let e=he(r);for(let n of s.mount)n in e&&_e(n,e[n],t,!0,!0);g.state.next({...n,name:void 0,type:void 0,...u?{values:a}:{}}),t.shouldValidate&&y()}},Ee=async i=>{o.mount=!0;let l=i.target,p=l.name,v=!0,x=I(r,p),S=e=>{v=Number.isNaN(e)||w(e)&&isNaN(e.getTime())||W(e,I(a,p,e))};if(x){let o,C,w=l.type?Be(x._f):O(i),T=i.type===M.BLUR||i.type===M.FOCUS_OUT,E=!Ke(x._f)&&!e.validate&&!t.resolver&&!I(n.errors,p)&&!x._f.deps,D=E||Qe(T,I(n.touchedFields,p),n.isSubmitted,f,d),k=qe(p,s,T);z(a,p,w),T?(!l||!l.readOnly)&&(x._f.onBlur&&x._f.onBlur(i),c&&c(0)):x._f.onChange&&x._f.onChange(i);let A=ae(p,w,T),ee=!K(A)||k;if(!T&&g.state.next({name:p,type:i.type,...u?{values:j(a)}:{}}),D)return(!E||!n.isValid)&&(m.isValid||h.isValid)&&(t.mode===`onBlur`?T&&y():T||y()),ee&&g.state.next({name:p,...k?{}:A});if(!t.resolver&&e.validate&&await le({name:p,eventType:i.type}),!T&&k&&g.state.next({...n}),t.resolver){let{errors:e}=await B([p]);if(b([p]),S(w),!v){!K(A)&&g.state.next(A);return}let t=Ye(n.errors,r,p),i=Ye(e,r,t.name||p);o=i.error,p=i.name,C=K(e)}else b([p],!0),o=(await nt(x,s.disabled,a,_,t.shouldUseNativeValidation))[p],b([p]),S(w),v&&(o?C=!1:(m.isValid||h.isValid)&&(C=await V({fields:r,onlyCheckValid:!0,name:p,eventType:i.type})));v&&(x._f.deps&&(!Array.isArray(x._f.deps)||x._f.deps.length>0)&&Ae(x._f.deps),se(p,C,o,A))}},ke=(e,t)=>{if(I(n.errors,t)&&e.focus)return e.focus(),1},Ae=async(e,i={})=>{let a,o,c=be(e);if(t.resolver){let t=await ce(F(e)?e:c);a=K(t),o=e?!c.some(e=>I(t,e)):a}else e?(o=(await Promise.all(c.map(async e=>{let t=I(r,e);return await V({fields:t&&t._f?{[e]:t}:t,eventType:M.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&y()):o=a=await V({fields:r,name:e,eventType:M.TRIGGER});return g.state.next({...!H(e)||(m.isValid||h.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&Je(r,ke,e?c:s.mount),o},je=(e,t)=>{let r={...o.mount?a:i};return t&&(r=Se(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),F(e)?r:H(e)?I(r,e):e.map(e=>I(r,e))},Me=(e,t)=>({invalid:!!I((t||n).errors,e),isDirty:!!I((t||n).dirtyFields,e),error:I((t||n).errors,e),isValidating:!!I(n.validatingFields,e),isTouched:!!I((t||n).touchedFields,e)}),Ne=e=>{let t=e?be(e):void 0;t?.forEach(e=>q(n.errors,e)),t?t.forEach(e=>{g.state.next({name:e,errors:n.errors})}):g.state.next({errors:{}})},J=(e,t,i)=>{let a=(I(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=I(n.errors,e)||{};z(n.errors,e,{...l,...t,ref:a}),g.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},Pe=(e,t)=>{if(R(e)){u++;let{unsubscribe:n}=g.state.subscribe({next:n=>`values`in n&&e(n.values||fe(void 0,t),n)}),r=!1;return{unsubscribe:()=>{r||(r=!0,u--,n())}}}return fe(e,t,!0)},Fe=e=>{let t=!!e.formState?.values;t&&u++;let{unsubscribe:r}=g.state.subscribe({next:t=>{if(Ze(e.name,t.name,e.exact)&&Xe(t,e.formState||m,lt,e.reRenderRoot)){let r={...a};e.callback({values:r,...n,...t,defaultValues:i})}}});if(!t)return r;let o=!1;return()=>{o||(o=!0,u--,r())}},Ie=e=>(o.mount=!0,h={...h,...e.formState},Fe({...e,formState:{...p,...e.formState}})),Re=(e,o={})=>{for(let c of e?be(e):s.mount)s.mount.delete(c),s.array.delete(c),o.keepValue||(q(r,c),q(a,c)),!o.keepError&&q(n.errors,c),!o.keepDirty&&q(n.dirtyFields,c),!o.keepTouched&&q(n.touchedFields,c),!o.keepIsValidating&&q(n.validatingFields,c),!t.shouldUnregister&&!o.keepDefaultValue&&q(i,c);g.state.next({values:j(a)}),g.state.next({...n,...o.keepDirty?{isDirty:U()}:{}}),!o.keepIsValid&&y()},ze=({disabled:e,name:t})=>{if(L(e)&&o.mount||e||s.disabled.has(t)){let n=s.disabled.has(t)!==!!e;e?s.disabled.add(t):s.disabled.delete(t),n&&o.mount&&!o.action&&y()}},X=(e,n={})=>{let a=I(r,e),c=L(n.disabled)||L(t.disabled),l=!s.registerName.has(e)&&a&&a._f&&!a._f.mount;return z(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),s.mount.add(e),a&&!l?ze({disabled:L(n.disabled)?n.disabled:t.disabled,name:e}):re(e,!0,n.value),{...c?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:He(n.min),max:He(n.max),minLength:He(n.minLength),maxLength:He(n.maxLength),pattern:He(n.pattern)}:{},name:e,onChange:Ee,onBlur:Ee,ref:c=>{if(c){s.registerName.add(e),X(e,n),s.registerName.delete(e),a=I(r,e);let t=F(c.value)&&c.querySelectorAll&&c.querySelectorAll(`input,select,textarea`)[0]||c,o=De(t),l=a._f.refs||[];if(o?l.find(e=>e===t):t===a._f.ref)return;z(r,e,{_f:{...a._f,...o?{refs:[...l.filter(Oe),t,...Array.isArray(I(i,e))?[{}]:[]],ref:{type:t.type,name:e}}:{ref:t}}}),re(e,!1,void 0,t)}else a=I(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(k(s.array,e)&&o.action)&&s.unMount.add(e)}}},We=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&Je(r,ke,s.mount),tt=e=>{L(e)&&(g.state.next({disabled:e}),Je(r,(t,n)=>{let i=I(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},Z=(e,i)=>async o=>{let c;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let l=j(a);if(g.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await B();b(),n.errors=e,l=j(t)}else await V({fields:r,eventType:M.SUBMIT});if(s.disabled.size)for(let e of s.disabled)q(l,e);if(q(n.errors,te),K(n.errors)){g.state.next({errors:{}});try{await e(l,o)}catch(e){c=e}}else i&&await i({...n.errors},o),We(),setTimeout(We);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(n.errors)&&!c,submitCount:n.submitCount+1,errors:n.errors}),c)throw c},ot=(e,t={})=>{I(r,e)&&(F(t.defaultValue)?G(e,j(I(i,e))):(G(e,t.defaultValue),z(i,e,j(t.defaultValue))),t.keepTouched||q(n.touchedFields,e),t.keepDirty||(q(n.dirtyFields,e),n.isDirty=t.defaultValue?U(e,j(I(i,e))):U()),t.keepError||(q(n.errors,e),m.isValid&&y()),g.state.next({...n}))},st=(e,c={})=>{let l=e?j(e):i,u=j(l),d=K(e),f=u;if(c.keepDefaultValues||(i=l),!c.keepValues){if(c.keepDirtyValues){let e=new Set([...s.mount,...Object.keys(Y(i,a))]);for(let t of Array.from(e)){let e=I(n.dirtyFields,t),r=I(a,t),i=I(f,t);e&&!F(r)?z(f,t,r):!e&&!F(i)&&G(t,i)}}else{if(ee&&F(e))for(let e of s.mount){let t=I(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(we(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(c.keepFieldsRef)for(let e of s.mount)G(e,I(f,e));else r={}}if(t.shouldUnregister){if(a=c.keepDefaultValues?j(i):{},c.keepFieldsRef)for(let e of s.mount)z(a,e,I(f,e))}else a=j(f);g.array.next({values:{...f}}),g.state.next({name:void 0,type:void 0,values:{...f}})}s={mount:c.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!m.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!t.shouldUnregister&&!K(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,c.keepErrors||(n.errors={}),g.state.next({submitCount:c.keepSubmitCount?n.submitCount:0,isDirty:d?!1:c.keepDirty?n.isDirty:c.keepValues?U():!!(c.keepDefaultValues&&!W(e,i)),isSubmitted:c.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:c.keepDirtyValues?c.keepDefaultValues&&a?Y(i,a):n.dirtyFields:c.keepDefaultValues&&e?Y(i,e):c.keepDirty?n.dirtyFields:{},touchedFields:c.keepTouched?n.touchedFields:{},errors:c.keepErrors?n.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},Q=(e,n)=>st(R(e)?e(a):e,{...t.resetOptions,...n}),ct=(e,t={})=>{let n=I(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&R(e.select)&&e.select()})}},lt=e=>{let{name:t,type:r,values:i,...a}=e;n={...n,...a}},ut={control:{register:X,unregister:Re,getFieldState:Me,handleSubmit:Z,setError:J,_subscribe:Fe,_runSchema:B,_updateIsValidating:b,_focusError:We,_getWatch:fe,_getDirty:U,_setValid:y,_setFieldArray:S,_setDisabledField:ze,_setErrors:A,_getFieldArray:pe,_reset:st,_resetDefaultValues:()=>R(t.defaultValues)&&t.defaultValues().then(e=>{Q(e,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:de,_disableForm:tt,_subjects:g,_proxyFormState:m,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return s},set _names(e){s=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e},d=Ue(t.mode),f=Ue(t.reValidateMode)}},subscribe:Ie,trigger:Ae,register:X,handleSubmit:Z,watch:Pe,setValue:G,setValues:ve,getValues:je,reset:Q,resetField:ot,resetDefaultValues:(e,t={})=>{if(i=j(e),!t.keepDirty){let e=Y(i,a);n.dirtyFields=e,n.isDirty=!K(e)}t.keepIsValid||y(),g.state.next({...n,defaultValues:i})},clearErrors:Ne,unregister:Re,setError:J,setFocus:ct,getFieldState:Me};return{...ut,formControl:ut}}function st(e={}){let t=S.useRef(void 0),n=S.useRef(void 0),r=S.useRef(e.formControl),[i,a]=S.useState(()=>({...j(at),isLoading:R(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:R(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl)if(r.current=e.formControl,e.formControl)t.current={...e.formControl,formState:i},e.defaultValues&&!R(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...r}=ot(e);t.current={...r,formState:i}}let o=t.current.control;return o._options=e,le(()=>{let e=o._subscribe({formState:o._proxyFormState,callback:()=>a({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return a(e=>({...e,isReady:!0})),o._formState.isReady=!0,e},[o]),S.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),S.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),S.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),S.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),S.useEffect(()=>{if(o._proxyFormState.isDirty){let e=o._getDirty();e!==i.isDirty&&o._subjects.state.next({isDirty:e})}},[o,i.isDirty]),S.useEffect(()=>{e.values&&!W(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),o._options.resetOptions?.keepIsValid||o._setValid(),n.current=e.values,a(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),S.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=S.useMemo(()=>ce(i,o),[o,i]),t.current}var Q=n(),ct=G,lt=S.createContext(null),ut=({...e})=>(0,Q.jsx)(lt.Provider,{value:{name:e.name},children:(0,Q.jsx)(me,{...e})}),dt=S.createContext(null),ft=()=>{let e=S.useContext(lt),t=S.useContext(dt),{getFieldState:n,formState:r}=_e();if(!e)throw Error(`useFormField must be used within <FormField>`);if(!t)throw Error(`useFormField must be used within <FormItem>`);let i=n(e.name,r),{id:a}=t;return{id:a,name:e.name,formItemId:`${a}-form-item`,formDescriptionId:`${a}-form-item-description`,formMessageId:`${a}-form-item-message`,...i}},pt=S.forwardRef(({className:e,...t},n)=>{let r=S.useId();return(0,Q.jsx)(dt.Provider,{value:{id:r},children:(0,Q.jsx)(`div`,{ref:n,className:i(`space-y-2`,e),...t})})});pt.displayName=`FormItem`;var mt=S.forwardRef(({className:e,...t},n)=>{let{error:r,formItemId:a}=ft();return(0,Q.jsx)(x,{ref:n,className:i(r&&`text-destructive`,e),htmlFor:a,...t})});mt.displayName=`FormLabel`;var ht=S.forwardRef(({...e},t)=>{let{error:n,formItemId:i,formDescriptionId:a,formMessageId:o}=ft();return(0,Q.jsx)(r,{ref:t,id:i,"aria-describedby":n?`${a} ${o}`:`${a}`,"aria-invalid":!!n,...e})});ht.displayName=`FormControl`;var gt=S.forwardRef(({className:e,...t},n)=>{let{formDescriptionId:r}=ft();return(0,Q.jsx)(`p`,{ref:n,id:r,className:i(`text-sm text-muted-foreground`,e),...t})});gt.displayName=`FormDescription`;var _t=S.forwardRef(({className:e,children:t,...n},r)=>{let{error:a,formMessageId:o}=ft(),s=a?String(a.message??``):t;return s?(0,Q.jsx)(`p`,{ref:r,id:o,className:i(`text-sm font-medium text-destructive`,e),...n,children:s}):null});_t.displayName=`FormMessage`;var vt=e=>e==null||typeof e==`string`&&e.trim()===``,yt=(e,t)=>e===t?!0:e==null||t==null?!1:e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():typeof e==`number`&&typeof t==`string`?String(e)===t:typeof e==`string`&&typeof t==`number`?e===String(t):typeof e==`boolean`&&typeof t==`string`&&String(e)===t;function bt(e,t){if(!e)return!0;let n=t[e.field],r=vt(n);if(e.defaultWhenEmpty&&r)return!0;let i=!1;return`equals`in e&&e.equals!==void 0&&(i=!0,yt(n,e.equals))||`notEquals`in e&&e.notEquals!==void 0&&(i=!0,!yt(n,e.notEquals))||e.in&&e.in.length>0&&(i=!0,e.in.some(e=>yt(n,e)))||e.notIn&&e.notIn.length>0&&(i=!0,!e.notIn.some(e=>yt(n,e)))||e.isEmpty!==void 0&&(i=!0,e.isEmpty===r)?!0:!i}var xt=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,St=/^https?:\/\/.+/i,Ct=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,$=e=>e==null||typeof e==`string`&&e.trim()===``;function wt(e,t,n){let r=e.label,i=e=>n===`email`?xt.test(e):n===`url`?St.test(e):n!==`uuid`||Ct.test(e),a=n===`email`?`validation:invalidEmail`:n===`url`?`validation:invalidUrl`:n===`uuid`?`validation:invalidUuid`:null;return d([p(),m(),_()]).transform(e=>typeof e==`string`?e:e==null?``:String(e)).superRefine((n,o)=>{if(n.trim()===``){e.isRequired&&o.addIssue({code:`custom`,message:t(`validation:required`,{label:r})});return}a&&!i(n)&&o.addIssue({code:`custom`,message:t(a,{label:r})})}).transform(e=>e.trim()===``?null:e)}function Tt(e,t,n=!1){let r=e.label;return u().superRefine((i,a)=>{if($(i)){e.isRequired&&a.addIssue({code:`custom`,message:t(`validation:required`,{label:r})});return}let o=typeof i==`number`?i:Number(i);if(!Number.isFinite(o)){a.addIssue({code:`custom`,message:t(`validation:invalidNumber`,{label:r})});return}n&&!Number.isInteger(o)&&a.addIssue({code:`custom`,message:t(`validation:invalidInteger`,{label:r})})}).transform(e=>{if($(e))return null;let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:null})}function Et(e,t){return l(e=>typeof e==`boolean`?e:!!e,h())}function Dt(e,t){let n=e.label;return d([p(),v(),m(),_()]).superRefine((r,i)=>{if($(r)){e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})});return}let a=r instanceof Date?r:new Date(String(r));Number.isNaN(a.getTime())&&i.addIssue({code:`custom`,message:t(`validation:invalidDate`,{label:n})})}).transform(e=>$(e)?null:e)}function Ot(e,t){let n=e.label;return d([p(),y(),m(),_()]).superRefine((r,i)=>{$(r)&&e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})})}).transform(e=>$(e)?null:e)}function kt(e,t){let n=e.label;return l(e=>{if(e==null)return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t)if(Array.isArray(e))for(let t of e)t!=null&&t!==``&&n.push(t);else e!=null&&e!==``&&n.push(e);return n},o(d([p(),y()]))).superRefine((r,i)=>{e.isRequired&&r.length===0&&i.addIssue({code:`custom`,message:t(`validation:emptySelection`,{label:n})})})}function At(e,t){return e.isArray?kt(e,t):wt(e,t)}function jt(e,t){let n=e.label,r=new Set((e.availableValues??[]).map(e=>e.value));return d([p(),m(),_()]).transform(e=>e==null?``:String(e)).superRefine((i,a)=>{if(i===``){e.isRequired&&a.addIssue({code:`custom`,message:t(`validation:required`,{label:n})});return}r.has(i)||a.addIssue({code:`custom`,message:t(`validation:notInList`,{label:n})})}).transform(e=>e===``?null:e)}function Mt(e,t){let n=e.label;return u().superRefine((r,i)=>{(r==null||r===``)&&e.isRequired&&i.addIssue({code:`custom`,message:t(`validation:required`,{label:n})})}).transform(e=>e===``?null:e)}function Nt(e,t){let n=e.label;return l(e=>{if(e==null)return[];let t=Array.isArray(e)?e:[e],n=[];for(let e of t)if(!(e==null||e===``)){if(typeof e==`string`||typeof e==`number`){n.push({id:String(e)});continue}if(typeof e==`object`){let t=e,r=t.id??t.value;if(r==null||r===``)continue;n.push({...t,id:String(r)})}}return n},o(g(p(),u()))).superRefine((r,i)=>{e.isRequired&&r.length===0&&i.addIssue({code:`custom`,message:t(`validation:emptySelection`,{label:n})})})}function Pt(e,t){if(e.type===`m2m`)return Nt(e,t);if(e.availableValues&&e.availableValues.length>0)return jt(e,t);if(e.reference)return e.isArray?kt(e,t):Ot(e,t);switch(e.type){case`boolean`:return Et(e,t);case`number`:case`float`:case`currency`:case`money`:return Tt(e,t,!1);case`integer`:return Tt(e,t,!0);case`date`:case`datetime`:case`datetime-local`:return Dt(e,t);case`email`:return wt(e,t,`email`);case`url`:return wt(e,t,`url`);case`uuid`:return wt(e,t,`uuid`);case`json`:return Mt(e,t);case`string`:case`text`:case`textarea`:case`password`:case`richtext`:case`color`:case`file`:return At(e,t);default:return wt(e,t)}}function Ft(e,t,n){let r=Pt(e,t);return!e.showWhen||!n?r:f().superRefine((t,i)=>{if(!bt(e.showWhen,n()))return;let a=r.safeParse(t);if(!a.success)for(let e of a.error.issues)i.addIssue({...e})}).transform(t=>{if(!bt(e.showWhen,n()))return t;let i=r.safeParse(t);return i.success?i.data:t})}function It(e,t,n){let r={};for(let i of e)r[i.path]=Ft(i,t,n);return c(r)}function Lt(e){return e.type===`boolean`?!1:e.type===`json`?null:e.isArray?[]:``}var Rt=(e,t,n)=>{if(e&&`reportValidity`in e){let r=I(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},zt=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Rt(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>Rt(t,n,e))}},Bt=(e,t)=>{t.shouldUseNativeValidation&&zt(e,t);let n={};for(let r in e){let i=I(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.ref});if(Vt(t.names||Object.keys(e),r)){let e=Object.assign({},I(n,r));z(e,`root`,a),z(n,r,e)}else z(n,r,a)}return n},Vt=(e,t)=>{let n=Ht(t).replace(/[.*+?^${}()|\\]/g,`\\$&`);return e.some(e=>Ht(e).match(`^${n}\\.\\d+`))};function Ht(e){return e.replace(/[\[\]]/g,``)}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ut.apply(null,arguments)}function Wt(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Gt(e,t){for(var n={};e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(`unionErrors`in r){var s=r.unionErrors[0].errors[0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ve(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function Kt(e,t){for(var n={},r=function(){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o])if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors[0][0];n[o]={message:s.message,type:s.code}}else n[o]={message:a,type:i};if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(Ut({},t,{path:[].concat(r.path,t.path)}))})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=ve(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()};e.length;)r();return n}function qt(e,t,n){if(n===void 0&&(n={}),function(e){return`_def`in e&&typeof e._def==`object`&&`typeName`in e._def}(e))return function(r,i,a){try{return Promise.resolve(Wt(function(){return Promise.resolve(e[n.mode===`sync`?`parse`:`parseAsync`](r,t)).then(function(e){return a.shouldUseNativeValidation&&zt({},a),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:Bt(Gt(e.errors,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(r,i,o){try{return Promise.resolve(Wt(function(){return Promise.resolve((n.mode===`sync`?s:b)(e,r,t)).then(function(e){return o.shouldUseNativeValidation&&zt({},o),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return e instanceof a}(e))return{values:{},errors:Bt(Kt(e.issues,!o.shouldUseNativeValidation&&o.criteriaMode===`all`),o)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}export{ct as a,fe as c,bt as i,It as n,ut as o,Lt as r,st as s,qt as t};
|
|
2
|
+
//# sourceMappingURL=zod-CF8JsamI.js.map
|
|
Binary file
|
|
Binary file
|