@harnessio/forms 0.16.0 → 0.17.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.
@@ -12,8 +12,9 @@ export declare function unsetEmptyArrayOutputTransformer(): IOutputTransformerFu
12
12
  /**
13
13
  * unset property if it contains empty object
14
14
  * @param path - If path is passed it will unset empty object on the path
15
+ * @param useTargetValue - If true, use currentTargetValue instead of currentRawValue (useful for cleanup after child transformers)
15
16
  */
16
- export declare function unsetEmptyObjectOutputTransformer(path?: string): IOutputTransformerFunc;
17
+ export declare function unsetEmptyObjectOutputTransformer(path?: string, useTargetValue?: boolean): IOutputTransformerFunc;
17
18
  /**
18
19
  * unset property if it contains empty string
19
20
  */
@@ -6,6 +6,8 @@ type TransformItem = {
6
6
  isPrimitive: boolean;
7
7
  inputTransform?: IInputDefinition['inputTransform'];
8
8
  outputTransform?: IInputDefinition['outputTransform'];
9
+ inputPriority: 'early' | 'normal' | 'late';
10
+ outputPriority: 'early' | 'normal' | 'late';
9
11
  };
10
12
  /** convert data model to form model using input transformer functions */
11
13
  export declare function inputTransformValues(values: Record<string, any>, transformerItems: TransformItem[]): Record<string, any>;
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";var Re=Object.defineProperty;var Ie=(r,e,n)=>e in r?Re(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var D=(r,e,n)=>Ie(r,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("lodash-es"),y=require("react"),T=require("react-hook-form"),Se=require("zod"),_e=require("@hookform/resolvers");function Ve(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const t=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(e,n,t.get?t:{enumerable:!0,get:()=>r[n]})}}return e.default=r,Object.freeze(e)}const p=Ve(Se);class ce extends Error{constructor(e){super(`Input component '${e}' is already registered.`)}}class ${constructor(e){D(this,"componentBank");D(this,"allowOverride");this.allowOverride=(e==null?void 0:e.allowOverride)??!1,this.componentBank=new Map}registerComponent(e){if(!this.allowOverride&&this.getComponent(e.internalType))throw new ce(e.internalType);this.componentBank.set(e.internalType,e)}getComponent(e){if(e&&!c.isEmpty(e))return this.componentBank.get(e)}listRegisteredComponents(){return Array.from(this.componentBank.keys())}clone(){const e=new $({allowOverride:this.allowOverride});return this.listRegisteredComponents().forEach(n=>{e.registerComponent(this.componentBank.get(n))}),e}}var N={exports:{}},w={};/*
1
+ "use strict";var _e=Object.defineProperty;var Ve=(r,e,t)=>e in r?_e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>Ve(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("lodash-es"),g=require("react"),C=require("react-hook-form"),we=require("zod"),Fe=require("@hookform/resolvers");function xe(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const h=xe(we);class de extends Error{constructor(e){super(`Input component '${e}' is already registered.`)}}class J{constructor(e){D(this,"componentBank");D(this,"allowOverride");this.allowOverride=(e==null?void 0:e.allowOverride)??!1,this.componentBank=new Map}registerComponent(e){if(!this.allowOverride&&this.getComponent(e.internalType))throw new de(e.internalType);this.componentBank.set(e.internalType,e)}getComponent(e){if(e&&!f.isEmpty(e))return this.componentBank.get(e)}listRegisteredComponents(){return Array.from(this.componentBank.keys())}clone(){const e=new J({allowOverride:this.allowOverride});return this.listRegisteredComponents().forEach(t=>{e.registerComponent(this.componentBank.get(t))}),e}}var Z={exports:{}},V={};/*
2
2
  object-assign
3
3
  (c) Sindre Sorhus
4
4
  @license MIT
5
- */var B,te;function we(){if(te)return B;te=1;var r=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function t(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function o(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var a={},u=0;u<10;u++)a["_"+String.fromCharCode(u)]=u;var i=Object.getOwnPropertyNames(a).map(function(f){return a[f]});if(i.join("")!=="0123456789")return!1;var l={};return"abcdefghijklmnopqrst".split("").forEach(function(f){l[f]=f}),Object.keys(Object.assign({},l)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return B=o()?Object.assign:function(s,a){for(var u,i=t(s),l,f=1;f<arguments.length;f++){u=Object(arguments[f]);for(var m in u)e.call(u,m)&&(i[m]=u[m]);if(r){l=r(u);for(var d=0;d<l.length;d++)n.call(u,l[d])&&(i[l[d]]=u[l[d]])}}return i},B}/** @license React v17.0.2
5
+ */var $,oe;function Ae(){if(oe)return $;oe=1;var r=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function n(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function i(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var o={},a=0;a<10;a++)o["_"+String.fromCharCode(a)]=a;var c=Object.getOwnPropertyNames(o).map(function(u){return o[u]});if(c.join("")!=="0123456789")return!1;var d={};return"abcdefghijklmnopqrst".split("").forEach(function(u){d[u]=u}),Object.keys(Object.assign({},d)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return $=i()?Object.assign:function(s,o){for(var a,c=n(s),d,u=1;u<arguments.length;u++){a=Object(arguments[u]);for(var m in a)e.call(a,m)&&(c[m]=a[m]);if(r){d=r(a);for(var l=0;l<d.length;l++)t.call(a,d[l])&&(c[d[l]]=a[d[l]])}}return c},$}/** @license React v17.0.2
6
6
  * react-jsx-runtime.production.min.js
7
7
  *
8
8
  * Copyright (c) Facebook, Inc. and its affiliates.
9
9
  *
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
- */var ne;function Fe(){if(ne)return w;ne=1,we();var r=y,e=60103;if(w.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var n=Symbol.for;e=n("react.element"),w.Fragment=n("react.fragment")}var t=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o=Object.prototype.hasOwnProperty,s={key:!0,ref:!0,__self:!0,__source:!0};function a(u,i,l){var f,m={},d=null,h=null;l!==void 0&&(d=""+l),i.key!==void 0&&(d=""+i.key),i.ref!==void 0&&(h=i.ref);for(f in i)o.call(i,f)&&!s.hasOwnProperty(f)&&(m[f]=i[f]);if(u&&u.defaultProps)for(f in i=u.defaultProps,i)m[f]===void 0&&(m[f]=i[f]);return{$$typeof:e,type:u,key:d,ref:h,props:m,_owner:t.current}}return w.jsx=a,w.jsxs=a,w}var se;function Pe(){return se||(se=1,N.exports=Fe()),N.exports}var g=Pe();const fe=y.createContext({});function xe({children:r,metadata:e,inputErrorHandler:n,readonly:t}){return g.jsx(fe.Provider,{value:{metadata:e,readonly:t,inputErrorHandler:n},children:r})}function le(){const r=y.useContext(fe);return r||console.warn("useRootFormContext must be used within RootFormProvider"),r}class Ae extends y.Component{constructor(){super(...arguments);D(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n,t){var s,a;console.error(n,t);const o=new Error(`Form input [${this.props.inputType}] has failed at path [${this.props.path}]. Error: ${n}, Error info: ${t}`);(a=(s=this.props).inputErrorHandler)==null||a.call(s,o)}render(){return this.state.hasError?g.jsx(g.Fragment,{}):this.props.children}}const ae=({children:r,withoutWrapper:e=!1})=>e||!r?r:g.jsx("div",{children:r}),de=y.memo(function({path:e,factory:n,onUpdate:t,onChange:o,initialValues:s,input:a,withoutWrapper:u=!1}){var z,G,K,Q,X;const i=T.useFormContext(),{formState:l}=i,{fixedValues:f={}}={},{metadata:m,readonly:d,inputErrorHandler:h}=le(),v=n==null?void 0:n.getComponent(a.inputType),O=!!(a.isVisible||typeof a.disabled=="function"||typeof((z=a.validation)==null?void 0:z.schema)=="function"||typeof((G=a.warning)==null?void 0:G.schema)=="function"),E=!!((K=a.warning)!=null&&K.schema||(Q=a.validation)!=null&&Q.schema),b=O?i.watch():{},R=E?O?T.get(b,a.path):i.watch(a.path):void 0,I=y.useMemo(()=>{if(!O)return{};let P=b;return f&&Object.keys(f).forEach(q=>{const x=f[q];P=c.set(P,q,x)}),P},[O,b,f]),V=!a.isVisible||a.isVisible(I,m),C=d||a.readonly,S=typeof a.disabled=="function"?a.disabled(I,m):a.disabled,j=(X=a.warning)==null?void 0:X.schema,L=y.useMemo(()=>{var ee,re;if(!V||typeof j>"u")return;const P=typeof j=="function"?j(I,m):j,{success:q,error:x}=P.safeParse(R),Y=(re=(ee=x==null?void 0:x.errors)==null?void 0:ee[0])==null?void 0:re.message;return!q&&Y?Y:void 0},[a.path,R,j,V,m]),H=y.useMemo(()=>({path:e,key:e,initialValues:s,onUpdate:t,onChange:o,factory:n,readonly:C,input:a,disabled:S,warning:L}),[n,s,a,o,t,e,C,l.errors,S,L]),je=y.useMemo(()=>V?g.jsxs(g.Fragment,{children:[a.before?a.before:null,g.jsx(Ae,{path:e,inputType:a.inputType,inputErrorHandler:h,children:v==null?void 0:v.renderComponent(H)}),a.after?a.after:null]}):null,[V,a.before,a.inputType,a.after,e,v,H,l.errors]);return v?g.jsx(ae,{withoutWrapper:u,children:je}):g.jsx(ae,{withoutWrapper:u,children:g.jsxs("p",{children:["Input component not found (internal type: ",a.inputType,")"]})})});class qe{getType(){return this.internalType}}function oe(){return typeof window<"u"&&"requestIdleCallback"in window?window.requestIdleCallback:function(r,e){const n=Date.now(),t=(e==null?void 0:e.timeout)||1;return setTimeout(function(){r({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-n))}})},t)}}function ue(){return typeof window<"u"&&"cancelIdleCallback"in window?window.cancelIdleCallback:clearTimeout}function De(r){const{mode:e="onSubmit",resolver:n,defaultValues:t,shouldFocusError:o,onValuesChange:s,onValidationChange:a,onSubmit:u,onInputRenderError:i,metadata:l,children:f,autoFocusPath:m,readonly:d}=r,h=T.useForm({mode:e,reValidateMode:"onChange",defaultValues:t,shouldFocusError:o,resolver:n}),v=y.useRef(!1),O=y.useRef(JSON.stringify(t??{}));y.useEffect(()=>{O.current=JSON.stringify(t??{}),h.reset(t,{})},[h.reset,t]),y.useEffect(()=>{const C=oe(),S=ue(),j=C(()=>{h.reset({},{keepErrors:!0,keepDirty:!0,keepDirtyValues:!0,keepValues:!0,keepDefaultValues:!1,keepIsSubmitted:!0,keepTouched:!0,keepIsValid:!0,keepSubmitCount:!0})});return()=>S(j)},[]);const{handleSubmit:E}=h,b=y.useRef(s);y.useEffect(()=>{b.current=s},[s]);const R=y.useRef(a);y.useEffect(()=>{R.current=a},[a]);const I=y.useRef(!1);y.useEffect(()=>{const C=h.watch(S=>{var j;I.current||JSON.stringify(S??{})!==O.current&&((j=b.current)==null||j.call(b,{...S}),v.current===!0&&(I.current=!0,h.trigger().finally(()=>{I.current=!1})))});return()=>{C.unsubscribe()}},[h]);const V=y.useRef(!0);return y.useEffect(()=>{var C;if(V.current){V.current=!1;return}(C=R.current)==null||C.call(R,{isValid:h.formState.isValid,isSubmitted:h.formState.isSubmitted})},[h.formState.isValid,h.formState.isSubmitted]),y.useEffect(()=>{if(m){const C=oe(),S=ue(),j=C(()=>{h.setFocus(m)});return()=>S(j)}},[h,m]),g.jsx(xe,{metadata:l,readonly:d,inputErrorHandler:i,children:g.jsx(T.FormProvider,{...h,children:typeof f=="function"?f({...h,submitForm:async()=>{u&&(v.current=!0,E(C=>{u(C)})())}}):f})})}const ke=r=>{const e={},n=t=>{t.forEach(o=>{const{path:s,default:a,inputs:u}=o;Array.isArray(u)?n(u):c.get(e,s)===void 0&&c.set(e,s,a)})};return Array.isArray(r.inputs)&&n(r.inputs),e};function Me(r,e){const n=r.inputs.map(t=>{const o=Ne(e,t.path);return o||t});return{...r,inputs:n}}function Ne(r,e){return r.inputs.find(n=>n.path===e)}const me="__temp_",Be=r=>me+r.split(".").join("__");function pe(r){const e={...r};return c.forOwn(e,(n,t)=>{t.startsWith(me)&&delete e[t]}),e}const Ze="Required field";function F(r){let e;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}else e=r;if(typeof e=="string")return e;if(c.isArray(e))return F(e[0]);const n=e;return c.isObject(n)&&(n!=null&&n.message)?e==null?void 0:e.message:"Unknown error"}function he(r,e,n){let t={};if(k(t,r.inputs,e,n),n!=null&&n.prefix){const s=n==null?void 0:n.prefix.replace(/.$/,"");t=c.set({},s,t)}return p.object(A(t,e,n))}function $e(r,e,n){const t=Object.keys(r).filter(a=>/^\d+$/.test(a)&&!a.startsWith("_")).map(a=>parseInt(a,10)).sort((a,u)=>a-u);if(t.length===0)return null;const o=Math.max(...t),s=[];for(let a=0;a<=o;a++)if(t.includes(a)){const u=r[a],i=A({item:u},e,n);s.push(i.item||p.any().optional())}else s.push(p.any().optional());return p.tuple(s).rest(p.any()).optional()}function A(r,e,n){const t={};return Object.keys(r).forEach(o=>{const{_requiredOnly:s,_schemaObj:a,_input:u,_isList:i,_isArrayItem:l,_isTuple:f,_schema:m}=r[o];if(f&&!i&&!l){const d=$e(r[o],e,n);if(d){t[o]=d;return}}if(i&&a&&u){const d=p.object(A(a,e,n)),h=p.union([p.array(d).optional(),ye(u,n)]),v=ie(m,u,e,n,h);t[o]=v}else if(l&&u){const d=a!=null&&a.___array?A({___array:a.___array},e,n):{___array:p.any()},h=We(d,u,n),v=ie(m,u,e,n,h);t[o]=v}else if(m&&u){const d=Ue(m,u,e,n);t[o]=d}else s&&u?t[o]=W(u,n):t[o]=p.object(A(r[o],e,n)).optional()}),t}function ye(r,e){return p.string().superRefine((n,t)=>{var o;if((o=e==null?void 0:e.validationConfig)!=null&&o.globalValidation){const s=e.validationConfig.globalValidation(n,r,e.metadata);if(s.error)return t.addIssue({code:p.ZodIssueCode.custom,message:s.error}),!1;if(!s.continue)return!0}return!0})}function We(r,e,n){return p.union([p.array(r.___array).optional(),ye(e,n)])}function Ue(r,e,n,t){return p.any().optional().superRefine(async(o,s)=>{var u,i;if(e.required&&!(await W(e,t).safeParseAsync(o)).success)return s.addIssue({code:p.ZodIssueCode.custom,message:Z(e,t)}),p.NEVER;if((u=t==null?void 0:t.validationConfig)!=null&&u.globalValidation){const l=(i=t==null?void 0:t.validationConfig)==null?void 0:i.globalValidation(o,e,t.metadata);if(l.error)return s.addIssue({code:p.ZodIssueCode.custom,message:l.error}),p.NEVER;if(!l.continue)return!0}const a=ge(r,n);if(a){const l=await a.safeParseAsync(o);if(!l.success){const f=F(l==null?void 0:l.error.message),m=f==="Required"?Z(e,t):f;s.addIssue({code:p.ZodIssueCode.custom,message:m})}}})}function ie(r,e,n,t,o){return p.any().optional().superRefine(async(s,a)=>{var f,m;const i=await W(e,t).safeParseAsync(s);if(e.required&&!i.success){const d=F(i.error.message);return a.addIssue({code:p.ZodIssueCode.custom,message:d,fatal:!0}),p.NEVER}if(!e.required&&!i.success)return p.NEVER;if((f=t==null?void 0:t.validationConfig)!=null&&f.globalValidation){const d=(m=t==null?void 0:t.validationConfig)==null?void 0:m.globalValidation(s,e,t.metadata);if(d.error)return a.addIssue({code:p.ZodIssueCode.custom,message:F(d.error)}),p.NEVER;if(!d.continue)return!0}if(!c.isArray(s))return a.addIssue({code:p.ZodIssueCode.custom,message:"'Value is not array'"}),p.NEVER;const l=ge(r,n);if(l){const d=await l.safeParseAsync(s);if(!d.success)return a.addIssue({code:p.ZodIssueCode.custom,message:F(d.error.message)}),p.NEVER}}).pipe(o??p.any())}function k(r,e,n,t,o){e.forEach(s=>{var u,i,l,f,m,d,h;const a=n;if(!s.isVisible||(u=s.isVisible)!=null&&u.call(s,a,t==null?void 0:t.metadata)){const v=c.get(r,s.path);if((i=s.validation)!=null&&i.schema?c.set(r,s.path,c.merge(v,{_schema:(l=s.validation)==null?void 0:l.schema,_input:s})):s.required&&c.set(r,s.path,c.merge(v,{_requiredOnly:!0,_input:s})),s.inputs&&k(r,s.inputs,n,t),s.inputType==="list"){const O={};k(O,(m=(f=s.inputConfig)==null?void 0:f.inputs)==null?void 0:m.map(b=>({...b,path:b.relativePath})),n,t);const E=c.get(r,s.path);c.set(r,s.path,c.merge(E,{_schemaObj:O,_isList:!0,_input:s}))}if(!((d=s.validation)!=null&&d.schema)&&s.inputType==="array"){const O={};k(O,[{...s.inputConfig.input,path:"___array"}],n,t),c.set(r,s.path,c.merge(v,{_schemaObj:O,_schema:(h=s.validation)==null?void 0:h.schema,_isArrayItem:!0,_input:s}))}}}),e.forEach(s=>{var u;const a=n;if((!s.isVisible||(u=s.isVisible)!=null&&u.call(s,a,t==null?void 0:t.metadata))&&s.path){const i=s.path.split(".");i.forEach((l,f)=>{if(f>0&&/^\d+$/.test(l)){const m=i.slice(0,f).join("."),d=m?c.get(r,m):r;d&&typeof d=="object"&&(d._isTuple=!0)}})}})}function Z(r,e){var n,t,o;return((t=(n=e==null?void 0:e.validationConfig)==null?void 0:n.requiredMessagePerInput)==null?void 0:t[r.inputType])??((o=e==null?void 0:e.validationConfig)==null?void 0:o.requiredMessage)??Ze}function W(r,e){var t,o,s,a,u,i;if((o=(t=e==null?void 0:e.validationConfig)==null?void 0:t.requiredSchemaPerInput)!=null&&o[r.inputType])return(a=(s=e==null?void 0:e.validationConfig)==null?void 0:s.requiredSchemaPerInput)==null?void 0:a[r.inputType];if((u=e==null?void 0:e.validationConfig)!=null&&u.requiredSchema)return(i=e==null?void 0:e.validationConfig)==null?void 0:i.requiredSchema;const n=Z(r,e);return p.any().optional().superRefine((l,f)=>{typeof l=="object"&&c.isEmpty(l)&&f.addIssue({code:p.ZodIssueCode.custom,message:n}),(c.isUndefined(l)||l==="")&&f.addIssue({code:p.ZodIssueCode.custom,message:n})})}function ge(r,e){if(r instanceof p.ZodType)return r;if(typeof r=="function")return r(e)}const Je=r=>Array.isArray(r==null?void 0:r.errors),Le=(r,e)=>{const n={};for(;r.length;){const t=r[0],{code:o,message:s,path:a}=t,u=a.join(".");if(!n[u])if("unionErrors"in t){const i=t.unionErrors[0].errors[0];n[u]={message:i.message,type:i.code}}else n[u]={message:s,type:o};"unionErrors"in t&&t.unionErrors.forEach(i=>i.errors.forEach(l=>r.push(l)));{const i=n[u].types,l=i&&i[t.code];n[u]=T.appendErrors(u,e,n,o,l?[].concat(l,t.message):t.message)}r.shift()}return n};function He(r,e){return y.useCallback(async(n,t,o)=>{try{return await he(r,n,e).parseAsync(n),{values:n,errors:{}}}catch(s){if(Je(s))return{values:{},errors:_e.toNestErrors(Le(s.errors,!0),o)};throw s}},[r,e])}function be(r,e){const n=c.cloneDeep(r);return e.forEach(t=>{if(t.inputTransform){const o=c.isArray(t.inputTransform)?t.inputTransform:[t.inputTransform];let s;const a=t.path.split(".");if(a.length>1){const u=a.slice(0,-1).join("."),i=c.get(n,u);typeof i=="string"||typeof i=="number"||typeof i=="boolean"?s=void 0:s=c.get(n,t.path)}else s=c.get(n,t.path);o.forEach(u=>{const i=u(s,n);i&&(s=i.value,c.set(n,i.path??t.path,i.value))})}}),n}function ve(r,e,n){const t=[];let o={};n||(o=c.cloneDeep(r));const s=c.cloneDeep(r);return e.forEach(a=>{if(a.outputTransform){const u=c.isArray(a.outputTransform)?a.outputTransform:[a.outputTransform];let i=c.get(s,a.path);u.forEach(l=>{const f=l(i,s);if(f)if(i=f.value,f.path){if(f.merge){const m=c.get(o,f.path);let d;m?d=c.merge({},m,f.value):d=f.value,c.set(o,f.path,d)}else c.set(o,f.path,f.value);f.unset&&t.push(a.path)}else c.set(o,a.path,f.value)})}}),t.forEach(a=>{c.unset(o,a)}),o}function U(r){return r.reduce((n,t)=>Array.isArray(t.inputs)?[...n,t,...U(t.inputs)]:[...n,t],[])}const ze=r=>{if(r!==void 0)return{value:r}},Ge=r=>{if(r!==void 0)return{value:r}};function J(r,e){const t=U(r.inputs).reduce((o,s)=>{const a=s.inputType==="text"||s.inputType==="boolean"||s.inputType==="number"||s.inputType==="textarea"||s.inputType==="select",u=!!s.inputTransform,i=!!s.outputTransform,l=Array.isArray(s.inputs)&&s.inputs.length>0,f=s.inputType==="list"||s.inputType==="array";return u||i?o.push({path:s.path,inputTransform:s.inputTransform,outputTransform:s.outputTransform,level:s.path.split(".").length,isPrimitive:a}):e&&!(l||f)&&o.push({path:s.path,inputTransform:ze,outputTransform:Ge,level:s.path.split(".").length,isPrimitive:a}),o},[]);return t.sort((o,s)=>o.level===s.level?o.isPrimitive?1:-1:o.level<s.level?-1:1),t}function Oe(r,e,n,t={}){const{preserve:o}=t,s=U(r.inputs),a=c.cloneDeep(e);return s.forEach(u=>{o&&o.includes(u.path)||u.isVisible&&!u.isVisible(e,n)&&c.unset(a,u.path)}),a}function Ke(r,e){const n=J(e);return be(r,n)}function Qe(r,e,n,t={}){const o=t.cleanOutput,s=J(e,o);let a=Oe(e,r,n,t);return a=ve(a,s,t.cleanOutput),a=pe(a),a}function Xe(r){const e={},n=t=>{t.forEach(o=>{const{default:s,path:a,inputs:u}=o;Array.isArray(u)?n(u):s!==void 0&&c.set(e,a,s)})};return Array.isArray(r.inputs)&&n(r.inputs),e}function Ye(){return function(r,e){if(!(typeof r>"u"))return!r||!c.isPlainObject(r)?{value:r}:{value:Object.getOwnPropertyNames(r).map(n=>({key:n,value:r[n]}))}}}function er(r){return function(e,n){if(typeof e>"u")return;if(!e||!c.isArray(e))return{value:e};const t={value:e.reduce((o,s)=>({...o,[s.key]:r!=null&&r.assignKeyToValue?s.key:s.value??(r==null?void 0:r.fallbackValue)}),{})};return r!=null&&r.unsetIfEmpty&&Object.getOwnPropertyNames(t.value).length===0?{value:void 0}:t}}function rr(){return function(r,e){if(!(typeof r>"u"))return c.isArray(r)&&c.isEmpty(r)?{value:void 0}:{value:r}}}function tr(r){return function(e,n){const t=r?c.get(n,r):e;if(!(typeof t>"u")){if(c.isNull(t))return{value:void 0,path:r};if(c.isObject(t)){const o=c.omitBy(t,c.isNil);if(c.isEmpty(o))return{value:void 0,path:r}}return{value:t,path:r}}}}function nr(){return function(r,e){if(!(typeof r>"u"))return c.isString(r)&&c.isEmpty(r)?{value:void 0}:{value:r}}}function sr(r){return function(e,n){const t=c.get(n,r);if(typeof t=="string")return{value:t};if(!(typeof t=="number"||typeof t=="boolean")&&e!==void 0)return{value:e}}}function ar(r){return function(e,n){if(typeof e>"u")return;if(!e)return{value:e};const t=c.get(n,r);if(typeof t=="object"){const o=ir(t);if(Object.getOwnPropertyNames(o).length===1)return{value:e,path:r}}return{value:e}}}function or(r){return function(e,n){const t=c.get(n,r);if(typeof t=="string")return{value:[t]};if(!(typeof t=="number"||typeof t=="boolean")&&e!==void 0)return{value:e}}}function ur(r,e){return function(n,t){if(typeof n>"u")return;if(!n)return{value:n};const o=c.get(t,r);if(c.isArray(o)){if(o.length===1)return{value:o[0],path:r};if(o.length===0&&e!=null&&e.unsetIfEmpty)return{value:void 0,path:r}}return{value:n}}}function Te(r){return typeof r=="object"?!Object.getOwnPropertyNames(r).some(e=>!Te(r[e])):c.isUndefined(r)}function ir(r){return c.omitBy(r,e=>typeof e=="object"?Te(e):c.isUndefined(e))}function M(r){const{items:e,className:n,withoutWrapper:t=!0,...o}=r,s=e.map(a=>g.jsx(de,{input:a,path:a.path,...o},`${a.inputType}_${a.path}`));return t?g.jsx(g.Fragment,{children:s}):g.jsx("div",{className:n,children:s})}M.displayName="RenderInputs";const Ee=y.forwardRef((r,e)=>{const{inputs:n,className:t,factory:o,withoutWrapper:s}=r;return s?g.jsxs(y.Fragment,{children:[n.hero,g.jsx(M,{items:n.inputs,factory:o})]}):g.jsxs("div",{className:t,ref:e,children:[n.hero,g.jsx(M,{items:n.inputs,factory:o})]})});Ee.displayName="RenderForm";function cr(r){let e=!0;return c.forOwn(r,n=>{e=e&&(n===""||c.isNull(n)||c.isUndefined(n))}),e}const fr=(r="")=>c.capitalize(r.split("_").join(" ")),Ce=(r,e=2,n,t=1e3)=>{let o=!1;const s=()=>{requestAnimationFrame(()=>{o||(e-=1,e<=0?r():s())})};return n&&Date.now()-n<=t?(r(),()=>{}):(s(),()=>{o=!0})};function lr(r,e){return{...r,inputs:r.inputs.map(n=>_(n,e))}}function _(r,e){var i,l,f;const{override:n,...t}=r,o=e&&n?n[e]:void 0,{inputConfig:s,...a}=o||{},u=o?{...t,...a}:t;if((t.inputConfig||s)&&(u.inputConfig={...t.inputConfig,...s}),u.inputs&&(u.inputs=u.inputs.map(m=>_(m,e))),u.inputType==="list"&&u.inputConfig){const m=((i=t.inputConfig)==null?void 0:i.inputs)||[],d=(s==null?void 0:s.inputs)||[];if(m.length>0||d.length>0){const h=Math.max(m.length,d.length);u.inputConfig.inputs=Array.from({length:h},(v,O)=>{var R;const E=m[O],b=d[O];if(!E&&b)return _(b,e);if(E&&!b)return _(E,e);if(E&&b){const I=E.override?{...E.override}:{};return e&&b&&(I[e]=(R=E.override)!=null&&R[e]?{...E.override[e],...b}:b),_({...E,override:I},e)}}).filter(Boolean)}else u.inputConfig.inputs&&(u.inputConfig.inputs=u.inputConfig.inputs.map(h=>_(h,e)))}if(u.inputType==="array"&&u.inputConfig){const m=(l=t.inputConfig)==null?void 0:l.input,d=s==null?void 0:s.input;if(m&&d){const h=m.override?{...m.override}:{};e&&d&&(h[e]=(f=m.override)!=null&&f[e]?{...m.override[e],...d}:d),u.inputConfig.input=_({...m,override:h},e)}else u.inputConfig.input&&(u.inputConfig.input=_(u.inputConfig.input,e))}return u}function dr(r){const{field:{onBlur:e,...n},...t}=T.useController(r),o=y.useRef(Date.now());return{...t,field:{...n,onBlur:Ce(e,2,o.current)}}}Object.defineProperty(exports,"Controller",{enumerable:!0,get:()=>T.Controller});Object.defineProperty(exports,"Form",{enumerable:!0,get:()=>T.Form});Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:()=>T.FormProvider});Object.defineProperty(exports,"get",{enumerable:!0,get:()=>T.get});Object.defineProperty(exports,"set",{enumerable:!0,get:()=>T.set});Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:()=>T.useFieldArray});Object.defineProperty(exports,"useForm",{enumerable:!0,get:()=>T.useForm});Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:()=>T.useFormContext});Object.defineProperty(exports,"useFormState",{enumerable:!0,get:()=>T.useFormState});Object.defineProperty(exports,"useWatch",{enumerable:!0,get:()=>T.useWatch});exports.InputComponent=qe;exports.InputComponentRenderer=de;exports.InputFactory=$;exports.InputOverrideError=ce;exports.RenderForm=Ee;exports.RenderInputs=M;exports.RootForm=De;exports.afterFrames=Ce;exports.applyFormOverrides=lr;exports.applyInputOverride=_;exports.arrayToObjectOutputTransformer=er;exports.collectDefaultValues=Xe;exports.convertDataToFormModel=Ke;exports.convertFormModelToData=Qe;exports.generateReadableLabel=fr;exports.getDefaultValuesFromFormDefinition=ke;exports.getTemporaryPath=Be;exports.getTransformers=J;exports.getValidationSchema=he;exports.inputTransformValues=be;exports.isChildrenEmpty=cr;exports.objectToArrayInputTransformer=Ye;exports.outputTransformValues=ve;exports.overrideFormDefinition=Me;exports.processValidationParseResponse=F;exports.removeTemporaryFieldsValue=pe;exports.shorthandArrayInputTransformer=or;exports.shorthandArrayOutputTransformer=ur;exports.shorthandObjectInputTransformer=sr;exports.shorthandObjectOutputTransformer=ar;exports.unsetEmptyArrayOutputTransformer=rr;exports.unsetEmptyObjectOutputTransformer=tr;exports.unsetEmptyStringOutputTransformer=nr;exports.unsetHiddenInputsValues=Oe;exports.useController=dr;exports.useRootFormContext=le;exports.useZodValidationResolver=He;
12
+ */var ae;function qe(){if(ae)return V;ae=1,Ae();var r=g,e=60103;if(V.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var t=Symbol.for;e=t("react.element"),V.Fragment=t("react.fragment")}var n=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i=Object.prototype.hasOwnProperty,s={key:!0,ref:!0,__self:!0,__source:!0};function o(a,c,d){var u,m={},l=null,p=null;d!==void 0&&(l=""+d),c.key!==void 0&&(l=""+c.key),c.ref!==void 0&&(p=c.ref);for(u in c)i.call(c,u)&&!s.hasOwnProperty(u)&&(m[u]=c[u]);if(a&&a.defaultProps)for(u in c=a.defaultProps,c)m[u]===void 0&&(m[u]=c[u]);return{$$typeof:e,type:a,key:l,ref:p,props:m,_owner:n.current}}return V.jsx=o,V.jsxs=o,V}var ie;function De(){return ie||(ie=1,Z.exports=qe()),Z.exports}var v=De();const me=g.createContext({});function ke({children:r,metadata:e,inputErrorHandler:t,readonly:n}){return v.jsx(me.Provider,{value:{metadata:e,readonly:n,inputErrorHandler:t},children:r})}function pe(){const r=g.useContext(me);return r||console.warn("useRootFormContext must be used within RootFormProvider"),r}class Me extends g.Component{constructor(){super(...arguments);D(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){var s,o;console.error(t,n);const i=new Error(`Form input [${this.props.inputType}] has failed at path [${this.props.path}]. Error: ${t}, Error info: ${n}`);(o=(s=this.props).inputErrorHandler)==null||o.call(s,i)}render(){return this.state.hasError?v.jsx(v.Fragment,{}):this.props.children}}const ue=({children:r,withoutWrapper:e=!1})=>e||!r?r:v.jsx("div",{children:r}),he=g.memo(function({path:e,factory:t,onUpdate:n,onChange:i,initialValues:s,input:o,withoutWrapper:a=!1}){var Q,X,Y,ee,re;const c=C.useFormContext(),{formState:d}=c,{fixedValues:u={}}={},{metadata:m,readonly:l,inputErrorHandler:p}=pe(),O=t==null?void 0:t.getComponent(o.inputType),y=!!(o.isVisible||typeof o.disabled=="function"||typeof((Q=o.validation)==null?void 0:Q.schema)=="function"||typeof((X=o.warning)==null?void 0:X.schema)=="function"),T=!!((Y=o.warning)!=null&&Y.schema||(ee=o.validation)!=null&&ee.schema),b=y?c.watch():{},j=T?y?C.get(b,o.path):c.watch(o.path):void 0,S=g.useMemo(()=>{if(!y)return{};let F=b;return u&&Object.keys(u).forEach(q=>{const x=u[q];F=f.set(F,q,x)}),F},[y,b,u]),_=!o.isVisible||o.isVisible(S,m),E=l||o.readonly,P=typeof o.disabled=="function"?o.disabled(S,m):o.disabled,R=(re=o.warning)==null?void 0:re.schema,G=g.useMemo(()=>{var ne,se;if(!_||typeof R>"u")return;const F=typeof R=="function"?R(S,m):R,{success:q,error:x}=F.safeParse(j),te=(se=(ne=x==null?void 0:x.errors)==null?void 0:ne[0])==null?void 0:se.message;return!q&&te?te:void 0},[o.path,j,R,_,m]),K=g.useMemo(()=>({path:e,key:e,initialValues:s,onUpdate:n,onChange:i,factory:t,readonly:E,input:o,disabled:P,warning:G}),[t,s,o,i,n,e,E,d.errors,P,G]),Ie=g.useMemo(()=>_?v.jsxs(v.Fragment,{children:[o.before?o.before:null,v.jsx(Me,{path:e,inputType:o.inputType,inputErrorHandler:p,children:O==null?void 0:O.renderComponent(K)}),o.after?o.after:null]}):null,[_,o.before,o.inputType,o.after,e,O,K,d.errors]);return O?v.jsx(ue,{withoutWrapper:a,children:Ie}):v.jsx(ue,{withoutWrapper:a,children:v.jsxs("p",{children:["Input component not found (internal type: ",o.inputType,")"]})})});class Ne{getType(){return this.internalType}}function ce(){return typeof window<"u"&&"requestIdleCallback"in window?window.requestIdleCallback:function(r,e){const t=Date.now(),n=(e==null?void 0:e.timeout)||1;return setTimeout(function(){r({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},n)}}function fe(){return typeof window<"u"&&"cancelIdleCallback"in window?window.cancelIdleCallback:clearTimeout}function Ze(r){const{mode:e="onSubmit",resolver:t,defaultValues:n,shouldFocusError:i,onValuesChange:s,onValidationChange:o,onSubmit:a,onInputRenderError:c,metadata:d,children:u,autoFocusPath:m,readonly:l}=r,p=C.useForm({mode:e,reValidateMode:"onChange",defaultValues:n,shouldFocusError:i,resolver:t}),O=g.useRef(!1),y=g.useRef(JSON.stringify(n??{}));g.useEffect(()=>{y.current=JSON.stringify(n??{}),p.reset(n,{})},[p.reset,n]),g.useEffect(()=>{const E=ce(),P=fe(),R=E(()=>{p.reset({},{keepErrors:!0,keepDirty:!0,keepDirtyValues:!0,keepValues:!0,keepDefaultValues:!1,keepIsSubmitted:!0,keepTouched:!0,keepIsValid:!0,keepSubmitCount:!0})});return()=>P(R)},[]);const{handleSubmit:T}=p,b=g.useRef(s);g.useEffect(()=>{b.current=s},[s]);const j=g.useRef(o);g.useEffect(()=>{j.current=o},[o]);const S=g.useRef(!1);g.useEffect(()=>{const E=p.watch(P=>{var R;S.current||JSON.stringify(P??{})!==y.current&&((R=b.current)==null||R.call(b,{...P}),O.current===!0&&(S.current=!0,p.trigger().finally(()=>{S.current=!1})))});return()=>{E.unsubscribe()}},[p]);const _=g.useRef(!0);return g.useEffect(()=>{var E;if(_.current){_.current=!1;return}(E=j.current)==null||E.call(j,{isValid:p.formState.isValid,isSubmitted:p.formState.isSubmitted})},[p.formState.isValid,p.formState.isSubmitted]),g.useEffect(()=>{if(m){const E=ce(),P=fe(),R=E(()=>{p.setFocus(m)});return()=>P(R)}},[p,m]),v.jsx(ke,{metadata:d,readonly:l,inputErrorHandler:c,children:v.jsx(C.FormProvider,{...p,children:typeof u=="function"?u({...p,submitForm:async()=>{a&&(O.current=!0,T(E=>{a(E)})())}}):u})})}const $e=r=>{const e={},t=n=>{n.forEach(i=>{const{path:s,default:o,inputs:a}=i;Array.isArray(a)?t(a):f.get(e,s)===void 0&&f.set(e,s,o)})};return Array.isArray(r.inputs)&&t(r.inputs),e};function Be(r,e){const t=r.inputs.map(n=>{const i=We(e,n.path);return i||n});return{...r,inputs:t}}function We(r,e){return r.inputs.find(t=>t.path===e)}const ye="__temp_",Ue=r=>ye+r.split(".").join("__");function ge(r){const e={...r};return f.forOwn(e,(t,n)=>{n.startsWith(ye)&&delete e[n]}),e}const Je="Required field";function w(r){let e;if(typeof r=="string")try{e=JSON.parse(r)}catch{e=r}else e=r;if(typeof e=="string")return e;if(f.isArray(e))return w(e[0]);const t=e;return f.isObject(t)&&(t!=null&&t.message)?e==null?void 0:e.message:"Unknown error"}function be(r,e,t){let n={};if(k(n,r.inputs,e,t),t!=null&&t.prefix){const s=t==null?void 0:t.prefix.replace(/.$/,"");n=f.set({},s,n)}return h.object(A(n,e,t))}function Le(r,e,t){const n=Object.keys(r).filter(o=>/^\d+$/.test(o)&&!o.startsWith("_")).map(o=>parseInt(o,10)).sort((o,a)=>o-a);if(n.length===0)return null;const i=Math.max(...n),s=[];for(let o=0;o<=i;o++)if(n.includes(o)){const a=r[o],c=A({item:a},e,t);s.push(c.item||h.any().optional())}else s.push(h.any().optional());return h.tuple(s).rest(h.any()).optional()}function A(r,e,t){const n={};return Object.keys(r).forEach(i=>{const{_requiredOnly:s,_schemaObj:o,_input:a,_isList:c,_isArrayItem:d,_isTuple:u,_schema:m}=r[i];if(u&&!c&&!d){const l=Le(r[i],e,t);if(l){n[i]=l;return}}if(c&&o&&a){const l=h.object(A(o,e,t)),p=h.union([h.array(l).optional(),ve(a,t)]),O=le(m,a,e,t,p);n[i]=O}else if(d&&a){const l=o!=null&&o.___array?A({___array:o.___array},e,t):{___array:h.any()},p=He(l,a,t),O=le(m,a,e,t,p);n[i]=O}else if(m&&a){const l=ze(m,a,e,t);n[i]=l}else s&&a?n[i]=L(a,t):n[i]=h.object(A(r[i],e,t)).optional()}),n}function ve(r,e){return h.string().superRefine((t,n)=>{var i;if((i=e==null?void 0:e.validationConfig)!=null&&i.globalValidation){const s=e.validationConfig.globalValidation(t,r,e.metadata);if(s.error)return n.addIssue({code:h.ZodIssueCode.custom,message:s.error}),!1;if(!s.continue)return!0}return!0})}function He(r,e,t){return h.union([h.array(r.___array).optional(),ve(e,t)])}function ze(r,e,t,n){return h.any().optional().superRefine(async(i,s)=>{var a,c;if(e.required&&!(await L(e,n).safeParseAsync(i)).success)return s.addIssue({code:h.ZodIssueCode.custom,message:U(e,n)}),h.NEVER;if((a=n==null?void 0:n.validationConfig)!=null&&a.globalValidation){const d=(c=n==null?void 0:n.validationConfig)==null?void 0:c.globalValidation(i,e,n.metadata);if(d.error)return s.addIssue({code:h.ZodIssueCode.custom,message:d.error}),h.NEVER;if(!d.continue)return!0}const o=Oe(r,t);if(o){const d=await o.safeParseAsync(i);if(!d.success){const u=w(d==null?void 0:d.error.message),m=u==="Required"?U(e,n):u;s.addIssue({code:h.ZodIssueCode.custom,message:m})}}})}function le(r,e,t,n,i){return h.any().optional().superRefine(async(s,o)=>{var u,m;const c=await L(e,n).safeParseAsync(s);if(e.required&&!c.success){const l=w(c.error.message);return o.addIssue({code:h.ZodIssueCode.custom,message:l,fatal:!0}),h.NEVER}if(!e.required&&!c.success)return h.NEVER;if((u=n==null?void 0:n.validationConfig)!=null&&u.globalValidation){const l=(m=n==null?void 0:n.validationConfig)==null?void 0:m.globalValidation(s,e,n.metadata);if(l.error)return o.addIssue({code:h.ZodIssueCode.custom,message:w(l.error)}),h.NEVER;if(!l.continue)return!0}if(!f.isArray(s))return o.addIssue({code:h.ZodIssueCode.custom,message:"'Value is not array'"}),h.NEVER;const d=Oe(r,t);if(d){const l=await d.safeParseAsync(s);if(!l.success)return o.addIssue({code:h.ZodIssueCode.custom,message:w(l.error.message)}),h.NEVER}}).pipe(i??h.any())}function k(r,e,t,n,i){e.forEach(s=>{var a,c,d,u,m,l,p;const o=t;if(!s.isVisible||(a=s.isVisible)!=null&&a.call(s,o,n==null?void 0:n.metadata)){const O=f.get(r,s.path);if((c=s.validation)!=null&&c.schema?f.set(r,s.path,f.merge(O,{_schema:(d=s.validation)==null?void 0:d.schema,_input:s})):s.required&&f.set(r,s.path,f.merge(O,{_requiredOnly:!0,_input:s})),s.inputs&&k(r,s.inputs,t,n),s.inputType==="list"){const y={};k(y,(m=(u=s.inputConfig)==null?void 0:u.inputs)==null?void 0:m.map(b=>({...b,path:b.relativePath})),t,n);const T=f.get(r,s.path);f.set(r,s.path,f.merge(T,{_schemaObj:y,_isList:!0,_input:s}))}if(!((l=s.validation)!=null&&l.schema)&&s.inputType==="array"){const y={};k(y,[{...s.inputConfig.input,path:"___array"}],t,n),f.set(r,s.path,f.merge(O,{_schemaObj:y,_schema:(p=s.validation)==null?void 0:p.schema,_isArrayItem:!0,_input:s}))}}}),e.forEach(s=>{var a;const o=t;if((!s.isVisible||(a=s.isVisible)!=null&&a.call(s,o,n==null?void 0:n.metadata))&&s.path){const c=s.path.split(".");c.forEach((d,u)=>{if(u>0&&/^\d+$/.test(d)){const m=c.slice(0,u).join("."),l=m?f.get(r,m):r;l&&typeof l=="object"&&(l._isTuple=!0)}})}})}function U(r,e){var t,n,i;return((n=(t=e==null?void 0:e.validationConfig)==null?void 0:t.requiredMessagePerInput)==null?void 0:n[r.inputType])??((i=e==null?void 0:e.validationConfig)==null?void 0:i.requiredMessage)??Je}function L(r,e){var n,i,s,o,a,c;if((i=(n=e==null?void 0:e.validationConfig)==null?void 0:n.requiredSchemaPerInput)!=null&&i[r.inputType])return(o=(s=e==null?void 0:e.validationConfig)==null?void 0:s.requiredSchemaPerInput)==null?void 0:o[r.inputType];if((a=e==null?void 0:e.validationConfig)!=null&&a.requiredSchema)return(c=e==null?void 0:e.validationConfig)==null?void 0:c.requiredSchema;const t=U(r,e);return h.any().optional().superRefine((d,u)=>{typeof d=="object"&&f.isEmpty(d)&&u.addIssue({code:h.ZodIssueCode.custom,message:t}),(f.isUndefined(d)||d==="")&&u.addIssue({code:h.ZodIssueCode.custom,message:t})})}function Oe(r,e){if(r instanceof h.ZodType)return r;if(typeof r=="function")return r(e)}const Ge=r=>Array.isArray(r==null?void 0:r.errors),Ke=(r,e)=>{const t={};for(;r.length;){const n=r[0],{code:i,message:s,path:o}=n,a=o.join(".");if(!t[a])if("unionErrors"in n){const c=n.unionErrors[0].errors[0];t[a]={message:c.message,type:c.code}}else t[a]={message:s,type:i};"unionErrors"in n&&n.unionErrors.forEach(c=>c.errors.forEach(d=>r.push(d)));{const c=t[a].types,d=c&&c[n.code];t[a]=C.appendErrors(a,e,t,i,d?[].concat(d,n.message):n.message)}r.shift()}return t};function Qe(r,e){return g.useCallback(async(t,n,i)=>{try{return await be(r,t,e).parseAsync(t),{values:t,errors:{}}}catch(s){if(Ge(s))return{values:{},errors:Fe.toNestErrors(Ke(s.errors,!0),i)};throw s}},[r,e])}const B=(r,e)=>r.level!==e.level?r.level-e.level:r.isPrimitive?1:-1,W=(r,e)=>r.level!==e.level?e.level-r.level:r.isPrimitive?-1:1;function M(r,e,t){f.get(r,e)===void 0&&t===void 0||f.set(r,e,t)}function Te(r,e){const t=f.cloneDeep(r),n=e.filter(a=>a.inputPriority==="early"),i=e.filter(a=>a.inputPriority==="normal"),s=e.filter(a=>a.inputPriority==="late");return n.sort(B),i.sort(B),s.sort(B),[...n,...i,...s].forEach(a=>{if(a.inputTransform){const c=f.isArray(a.inputTransform)?a.inputTransform:[a.inputTransform];let d;const u=a.path.split(".");if(u.length>1){const m=u.slice(0,-1).join("."),l=f.get(t,m);typeof l=="string"||typeof l=="number"||typeof l=="boolean"?d=void 0:d=f.get(t,a.path)}else d=f.get(t,a.path);c.forEach(m=>{const l=m(d,t);l&&(d=l.value,M(t,l.path??a.path,l.value))})}}),t}function Ce(r,e,t){const n=e.filter(u=>u.outputPriority==="early"),i=e.filter(u=>u.outputPriority==="normal"),s=e.filter(u=>u.outputPriority==="late");n.sort(W),i.sort(W),s.sort(W);const o=[...n,...i,...s],a=[];let c={};t||(c=f.cloneDeep(r));const d=f.cloneDeep(r);return o.forEach(u=>{if(u.outputTransform){const m=f.isArray(u.outputTransform)?u.outputTransform:[u.outputTransform];let l=f.get(d,u.path);m.forEach(p=>{const O=f.get(c,u.path),y=p(l,d,O,c);if(y)if(l=y.value,y.path){if(y.merge){const T=f.get(c,y.path);let b;T?b=f.merge({},T,y.value):b=y.value,M(c,y.path,b)}else M(c,y.path,y.value);y.unset&&a.push(u.path)}else M(c,u.path,y.value)})}}),a.forEach(u=>{f.unset(c,u)}),c}function H(r){return r.reduce((t,n)=>Array.isArray(n.inputs)?[...t,n,...H(n.inputs)]:[...t,n],[])}const Xe=r=>{if(r!==void 0)return{value:r}},Ye=r=>{if(r!==void 0)return{value:r}};function z(r,e){return H(r.inputs).reduce((i,s)=>{var l,p;const o=s.inputType==="text"||s.inputType==="boolean"||s.inputType==="number"||s.inputType==="textarea"||s.inputType==="select",a=!!s.inputTransform,c=!!s.outputTransform,d=Array.isArray(s.inputs)&&s.inputs.length>0,u=s.inputType==="list"||s.inputType==="array";return a||c?i.push({path:s.path,inputTransform:s.inputTransform,outputTransform:s.outputTransform,level:s.path.split(".").length,isPrimitive:o,inputPriority:((l=s.transformerPriority)==null?void 0:l.input)??"normal",outputPriority:((p=s.transformerPriority)==null?void 0:p.output)??"normal"}):e&&!(d||u)&&i.push({path:s.path,inputTransform:Xe,outputTransform:Ye,level:s.path.split(".").length,isPrimitive:o,inputPriority:"normal",outputPriority:"normal"}),i},[])}function Ee(r,e,t,n={}){const{preserve:i}=n,s=H(r.inputs),o=f.cloneDeep(e);return s.forEach(a=>{i&&i.includes(a.path)||a.isVisible&&!a.isVisible(e,t)&&f.unset(o,a.path)}),o}function er(r,e){const t=z(e);return Te(r,t)}function rr(r,e,t,n={}){const i=n.cleanOutput,s=z(e,i);let o=Ee(e,r,t,n);return o=Ce(o,s,n.cleanOutput),o=ge(o),o}function tr(r){const e={},t=n=>{n.forEach(i=>{const{default:s,path:o,inputs:a}=i;Array.isArray(a)?t(a):s!==void 0&&f.set(e,o,s)})};return Array.isArray(r.inputs)&&t(r.inputs),e}function nr(){return function(r,e){if(!(typeof r>"u"))return!r||!f.isPlainObject(r)?{value:r}:{value:Object.getOwnPropertyNames(r).map(t=>({key:t,value:r[t]}))}}}function sr(r){return function(e){if(typeof e>"u")return;if(!e||!f.isArray(e))return{value:e};const t={value:e.reduce((n,i)=>({...n,[i.key]:r!=null&&r.assignKeyToValue?i.key:i.value??(r==null?void 0:r.fallbackValue)}),{})};return r!=null&&r.unsetIfEmpty&&Object.getOwnPropertyNames(t.value).length===0?{value:void 0}:t}}function or(){return function(r){if(!(typeof r>"u"))return f.isArray(r)&&f.isEmpty(r)?{value:void 0}:{value:r}}}function ar(r,e){return function(t,n,i,s){let o;if(r?o=f.get(e&&s?s:n,r):o=e?i:t,!(typeof o>"u")){if(f.isNull(o))return{value:void 0,path:r};if(f.isObject(o)){const a=je(f.cloneDeep(o));return Object.getOwnPropertyNames(a).length===0?{value:void 0,path:r}:void 0}return{value:o,path:r}}}}function ir(){return function(r){if(!(typeof r>"u"))return f.isString(r)&&f.isEmpty(r)?{value:void 0}:{value:r}}}function ur(r){return function(e,t){const n=f.get(t,r);if(typeof n=="string")return{value:n};if(!(typeof n=="number"||typeof n=="boolean")&&e!==void 0)return{value:e}}}function cr(r){return function(e,t,n,i){if(typeof e>"u")return;if(!e)return{value:e};const s=f.get(i||t,r);if(typeof s=="object"){const o=je(s);if(Object.getOwnPropertyNames(o).length===1)return{value:e,path:r}}return{value:e}}}function fr(r){return function(e,t){const n=f.get(t,r);if(typeof n=="string")return{value:[n]};if(!(typeof n=="number"||typeof n=="boolean")&&e!==void 0)return{value:e}}}function lr(r,e){return function(t,n){if(typeof t>"u")return;if(!t)return{value:t};const i=f.get(n,r);if(f.isArray(i)){if(i.length===1)return{value:i[0],path:r};if(i.length===0&&e!=null&&e.unsetIfEmpty)return{value:void 0,path:r}}return{value:t}}}function Re(r){return f.isNil(r)?!0:f.isArray(r)?r.length===0:typeof r=="object"?!Object.getOwnPropertyNames(r).some(e=>!Re(r[e])):f.isUndefined(r)}function je(r){return f.omitBy(r,e=>typeof e=="object"?Re(e):f.isUndefined(e))}function N(r){const{items:e,className:t,withoutWrapper:n=!0,...i}=r,s=e.map(o=>v.jsx(he,{input:o,path:o.path,...i},`${o.inputType}_${o.path}`));return n?v.jsx(v.Fragment,{children:s}):v.jsx("div",{className:t,children:s})}N.displayName="RenderInputs";const Se=g.forwardRef((r,e)=>{const{inputs:t,className:n,factory:i,withoutWrapper:s}=r;return s?v.jsxs(g.Fragment,{children:[t.hero,v.jsx(N,{items:t.inputs,factory:i})]}):v.jsxs("div",{className:n,ref:e,children:[t.hero,v.jsx(N,{items:t.inputs,factory:i})]})});Se.displayName="RenderForm";function dr(r){let e=!0;return f.forOwn(r,t=>{e=e&&(t===""||f.isNull(t)||f.isUndefined(t))}),e}const mr=(r="")=>f.capitalize(r.split("_").join(" ")),Pe=(r,e=2,t,n=1e3)=>{let i=!1;const s=()=>{requestAnimationFrame(()=>{i||(e-=1,e<=0?r():s())})};return t&&Date.now()-t<=n?(r(),()=>{}):(s(),()=>{i=!0})};function pr(r,e){return{...r,inputs:r.inputs.map(t=>I(t,e))}}function I(r,e){var c,d,u;const{override:t,...n}=r,i=e&&t?t[e]:void 0,{inputConfig:s,...o}=i||{},a=i?{...n,...o}:n;if((n.inputConfig||s)&&(a.inputConfig={...n.inputConfig,...s}),a.inputs&&(a.inputs=a.inputs.map(m=>I(m,e))),a.inputType==="list"&&a.inputConfig){const m=((c=n.inputConfig)==null?void 0:c.inputs)||[],l=(s==null?void 0:s.inputs)||[];if(m.length>0||l.length>0){const p=Math.max(m.length,l.length);a.inputConfig.inputs=Array.from({length:p},(O,y)=>{var j;const T=m[y],b=l[y];if(!T&&b)return I(b,e);if(T&&!b)return I(T,e);if(T&&b){const S=T.override?{...T.override}:{};return e&&b&&(S[e]=(j=T.override)!=null&&j[e]?{...T.override[e],...b}:b),I({...T,override:S},e)}}).filter(Boolean)}else a.inputConfig.inputs&&(a.inputConfig.inputs=a.inputConfig.inputs.map(p=>I(p,e)))}if(a.inputType==="array"&&a.inputConfig){const m=(d=n.inputConfig)==null?void 0:d.input,l=s==null?void 0:s.input;if(m&&l){const p=m.override?{...m.override}:{};e&&l&&(p[e]=(u=m.override)!=null&&u[e]?{...m.override[e],...l}:l),a.inputConfig.input=I({...m,override:p},e)}else a.inputConfig.input&&(a.inputConfig.input=I(a.inputConfig.input,e))}return a}function hr(r){const{field:{onBlur:e,...t},...n}=C.useController(r),i=g.useRef(Date.now());return{...n,field:{...t,onBlur:Pe(e,2,i.current)}}}Object.defineProperty(exports,"Controller",{enumerable:!0,get:()=>C.Controller});Object.defineProperty(exports,"Form",{enumerable:!0,get:()=>C.Form});Object.defineProperty(exports,"FormProvider",{enumerable:!0,get:()=>C.FormProvider});Object.defineProperty(exports,"get",{enumerable:!0,get:()=>C.get});Object.defineProperty(exports,"set",{enumerable:!0,get:()=>C.set});Object.defineProperty(exports,"useFieldArray",{enumerable:!0,get:()=>C.useFieldArray});Object.defineProperty(exports,"useForm",{enumerable:!0,get:()=>C.useForm});Object.defineProperty(exports,"useFormContext",{enumerable:!0,get:()=>C.useFormContext});Object.defineProperty(exports,"useFormState",{enumerable:!0,get:()=>C.useFormState});Object.defineProperty(exports,"useWatch",{enumerable:!0,get:()=>C.useWatch});exports.InputComponent=Ne;exports.InputComponentRenderer=he;exports.InputFactory=J;exports.InputOverrideError=de;exports.RenderForm=Se;exports.RenderInputs=N;exports.RootForm=Ze;exports.afterFrames=Pe;exports.applyFormOverrides=pr;exports.applyInputOverride=I;exports.arrayToObjectOutputTransformer=sr;exports.collectDefaultValues=tr;exports.convertDataToFormModel=er;exports.convertFormModelToData=rr;exports.generateReadableLabel=mr;exports.getDefaultValuesFromFormDefinition=$e;exports.getTemporaryPath=Ue;exports.getTransformers=z;exports.getValidationSchema=be;exports.inputTransformValues=Te;exports.isChildrenEmpty=dr;exports.objectToArrayInputTransformer=nr;exports.outputTransformValues=Ce;exports.overrideFormDefinition=Be;exports.processValidationParseResponse=w;exports.removeTemporaryFieldsValue=ge;exports.shorthandArrayInputTransformer=fr;exports.shorthandArrayOutputTransformer=lr;exports.shorthandObjectInputTransformer=ur;exports.shorthandObjectOutputTransformer=cr;exports.unsetEmptyArrayOutputTransformer=or;exports.unsetEmptyObjectOutputTransformer=ar;exports.unsetEmptyStringOutputTransformer=ir;exports.unsetHiddenInputsValues=Ee;exports.useController=hr;exports.useRootFormContext=pe;exports.useZodValidationResolver=Qe;
13
13
  //# sourceMappingURL=index.cjs.map