@entrypulse/builder 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entry-pulse.js +455 -445
- package/dist/entry-pulse.js.map +1 -1
- package/dist/entry-pulse.umd.cjs +1 -1
- package/dist/entry-pulse.umd.cjs.map +1 -1
- package/package.json +1 -1
package/dist/entry-pulse.umd.cjs
CHANGED
|
@@ -199,5 +199,5 @@ Take a look at the reducer(s) handling this action type: ${m.type}.
|
|
|
199
199
|
* LICENSE file in the root directory of this source tree.
|
|
200
200
|
*/var Fm;function q1(){return Fm||(Fm=1,process.env.NODE_ENV!=="production"&&(function(){function e(c,d){return c===d&&(c!==0||1/c===1/d)||c!==c&&d!==d}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=D,r=typeof Object.is=="function"?Object.is:e,o=t.useSyncExternalStore,n=t.useRef,a=t.useEffect,s=t.useMemo,i=t.useDebugValue;Fc.useSyncExternalStoreWithSelector=function(c,d,f,u,h){var m=n(null);if(m.current===null){var g={hasValue:!1,value:null};m.current=g}else g=m.current;m=s(function(){function b(N){if(!C){if(C=!0,w=N,N=u(N),h!==void 0&&g.hasValue){var E=g.value;if(h(E,N))return x=E}return x=N}if(E=x,r(w,N))return E;var M=u(N);return h!==void 0&&h(E,M)?(w=N,E):(w=N,x=M)}var C=!1,w,x,S=f===void 0?null:f;return[function(){return b(d())},S===null?void 0:function(){return b(S())}]},[d,f,u,h]);var y=o(c,m[0],m[1]);return a(function(){g.hasValue=!0,g.value=y},[y]),i(y),y},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Fc}var $m;function Q1(){return $m||($m=1,process.env.NODE_ENV==="production"?Ks.exports=Y1():Ks.exports=q1()),Ks.exports}var K1=Q1();function X1(e){e()}function J1(){let e=null,t=null;return{clear(){e=null,t=null},notify(){X1(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let o=e;for(;o;)r.push(o),o=o.next;return r},subscribe(r){let o=!0;const n=t={callback:r,next:null,prev:t};return n.prev?n.prev.next=n:e=n,function(){!o||e===null||(o=!1,n.next?n.next.prev=n.prev:t=n.prev,n.prev?n.prev.next=n.next:e=n.next)}}}}var Gm={notify(){},get:()=>[]};function Z1(e,t){let r,o=Gm,n=0,a=!1;function s(y){f();const b=o.subscribe(y);let C=!1;return()=>{C||(C=!0,b(),u())}}function i(){o.notify()}function c(){g.onStateChange&&g.onStateChange()}function d(){return a}function f(){n++,r||(r=e.subscribe(c),o=J1())}function u(){n--,r&&n===0&&(r(),r=void 0,o.clear(),o=Gm)}function h(){a||(a=!0,f())}function m(){a&&(a=!1,u())}const g={addNestedSub:s,notifyNestedSubs:i,handleChangeWrapper:c,isSubscribed:d,trySubscribe:h,tryUnsubscribe:m,getListeners:()=>o};return g}var R1=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",e_=R1(),t_=()=>typeof navigator<"u"&&navigator.product==="ReactNative",r_=t_(),o_=()=>e_||r_?v.useLayoutEffect:v.useEffect,n_=o_(),$c=Symbol.for("react-redux-context"),Gc=typeof globalThis<"u"?globalThis:{};function a_(){if(!v.createContext)return{};const e=Gc[$c]??(Gc[$c]=new Map);let t=e.get(v.createContext);return t||(t=v.createContext(null),process.env.NODE_ENV!=="production"&&(t.displayName="ReactRedux"),e.set(v.createContext,t)),t}var eo=a_();function s_(e){const{children:t,context:r,serverState:o,store:n}=e,a=v.useMemo(()=>{const c=Z1(n),d={store:n,subscription:c,getServerState:o?()=>o:void 0};if(process.env.NODE_ENV==="production")return d;{const{identityFunctionCheck:f="once",stabilityCheck:u="once"}=e;return Object.assign(d,{stabilityCheck:u,identityFunctionCheck:f})}},[n,o]),s=v.useMemo(()=>n.getState(),[n]);n_(()=>{const{subscription:c}=a;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),s!==n.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[a,s]);const i=r||eo;return v.createElement(i.Provider,{value:a},t)}var l_=s_;function Vc(e=eo){return function(){const r=v.useContext(e);if(process.env.NODE_ENV!=="production"&&!r)throw new Error("could not find react-redux context value; please ensure the component is wrapped in a <Provider>");return r}}var Vm=Vc();function zc(e=eo){const t=e===eo?Vm:Vc(e),r=()=>{const{store:o}=t();return o};return Object.assign(r,{withTypes:()=>r}),r}var i_=zc();function c_(e=eo){const t=e===eo?i_:zc(e),r=()=>t().dispatch;return Object.assign(r,{withTypes:()=>r}),r}var d_=(e,t)=>e===t;function u_(e=eo){const t=e===eo?Vm:Vc(e),r=(o,n={})=>{const{equalityFn:a=d_}=typeof n=="function"?{equalityFn:n}:n;if(process.env.NODE_ENV!=="production"){if(!o)throw new Error("You must pass a selector to useSelector");if(typeof o!="function")throw new Error("You must pass a function as a selector to useSelector");if(typeof a!="function")throw new Error("You must pass a function as an equality function to useSelector")}const s=t(),{store:i,subscription:c,getServerState:d}=s,f=v.useRef(!0),u=v.useCallback({[o.name](m){const g=o(m);if(process.env.NODE_ENV!=="production"){const{devModeChecks:y={}}=typeof n=="function"?{}:n,{identityFunctionCheck:b,stabilityCheck:C}=s,{identityFunctionCheck:w,stabilityCheck:x}={stabilityCheck:C,identityFunctionCheck:b,...y};if(x==="always"||x==="once"&&f.current){const S=o(m);if(!a(g,S)){let N;try{throw new Error}catch(E){({stack:N}=E)}console.warn("Selector "+(o.name||"unknown")+` returned a different result when called with the same parameters. This can lead to unnecessary rerenders.
|
|
201
201
|
Selectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization`,{state:m,selected:g,selected2:S,stack:N})}}if((w==="always"||w==="once"&&f.current)&&g===m){let S;try{throw new Error}catch(N){({stack:S}=N)}console.warn("Selector "+(o.name||"unknown")+` returned the root state when called. This can lead to unnecessary rerenders.
|
|
202
|
-
Selectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.`,{stack:S})}f.current&&(f.current=!1)}return g}}[o.name],[o]),h=K1.useSyncExternalStoreWithSelector(c.addNestedSub,i.getState,d||i.getState,u,a);return v.useDebugValue(h),h};return Object.assign(r,{withTypes:()=>r}),r}const lr=e=>v.createElement("button",{type:"button","data-testid":e.testID,disabled:e.disabled&&!e.disabledTranslation,className:e.className,title:e.disabledTranslation&&e.disabled?e.disabledTranslation.title:e.title,onClick:t=>e.handleOnClick(t)},e.disabledTranslation&&e.disabled?e.disabledTranslation.label:e.label),p_=D.forwardRef((e,t)=>v.createElement("span",{...e.dragHandleAttributes,"data-testid":e.testID,ref:t,className:e.className,title:e.title},e.label)),f_=e=>{const{component:t,...r}=e,o=Oe(r.schema.suppressStandardClassnames||me.betweenRules,r.schema.classNames.betweenRules);return v.createElement("div",{className:o,"data-testid":ge.inlineCombinator},v.createElement(t,{...r,testID:ge.combinators}))},zm={name:"",value:"",label:""},Bm=e=>["atleast","atmost","exactly"].includes(No(e)??""),Um=[],h_=e=>{const{match:t,options:r,title:o,className:n,disabled:a,testID:s,schema:i,thresholdPlaceholder:c,selectorComponent:d=e.schema.controls.valueSelector,numericEditorComponent:f=e.schema.controls.valueEditor}=e,{thresholdNum:u,thresholdRule:h,thresholdSchema:m,handleChangeMode:g,handleChangeThreshold:y}=m_(e),b=D.useMemo(()=>c?{...zm,placeholder:c}:zm,[c]);return v.createElement(v.Fragment,null,v.createElement(d,{schema:i,testID:s,className:n,title:o,handleOnChange:g,disabled:a,value:t.mode,options:r,multiple:!1,listsAsArrays:!1,path:Um,level:0}),Bm(t.mode)&&v.createElement(f,{skipHook:!0,testID:s,inputType:"number",title:o,className:n,disabled:a,handleOnChange:y,field:"",operator:"",value:u,valueSource:"value",fieldData:b,schema:m,path:Um,level:0,rule:h}))},m_=e=>{const{match:t,handleOnChange:r}=e,o=v.useMemo(()=>typeof t.threshold=="number"?Math.max(0,t.threshold):1,[t.threshold]);return{thresholdNum:o,thresholdRule:v.useMemo(()=>({field:"",operator:"=",value:o}),[o]),thresholdSchema:v.useMemo(()=>({...e.schema,parseNumbers:!0}),[e.schema]),handleChangeMode:D.useCallback(n=>{Bm(n)&&typeof t.threshold!="number"?r({...t,mode:n,threshold:1}):r({...t,mode:n})},[r,t]),handleChangeThreshold:D.useCallback(n=>{r({...t,threshold:Ds(n,{parseNumbers:!0})})},[r,t])}},g_=e=>{const t=v.useId();return v.createElement("label",{"data-testid":e.testID,className:e.className,title:e.title,htmlFor:t},v.createElement("input",{id:t,type:"checkbox",onChange:r=>e.handleOnChange(r.target.checked),checked:!!e.checked,disabled:e.disabled}),e.label)},Nt={errorInvalidIndependentCombinatorsProp:"QueryBuilder was rendered with a truthy independentCombinators prop. This prop is deprecated and unnecessary. Furthermore, the initial query/defaultQuery prop was of type RuleGroupType instead of type RuleGroupIC. More info: https://react-querybuilder.js.org/docs/components/querybuilder#independent-combinators",errorUnnecessaryIndependentCombinatorsProp:"QueryBuilder was rendered with the deprecated and unnecessary independentCombinators prop. To use independent combinators, make sure the query/defaultQuery prop is of type RuleGroupIC when the component mounts. More info: https://react-querybuilder.js.org/docs/components/querybuilder#independent-combinators",errorDeprecatedRuleGroupProps:"A custom RuleGroup component has rendered a standard RuleGroup component with deprecated props. The combinator, not, and rules props should not be used. Instead, the full group object should be passed as the ruleGroup prop.",errorDeprecatedRuleProps:"A custom RuleGroup component has rendered a standard Rule component with deprecated props. The field, operator, value, and valueSource props should not be used. Instead, the full rule object should be passed as the rule prop.",errorBothQueryDefaultQuery:"QueryBuilder was rendered with both query and defaultQuery props. QueryBuilder must be either controlled or uncontrolled (specify either the query prop, or the defaultQuery prop, but not both). Decide between using a controlled or uncontrolled query builder and remove one of these props. More info: https://reactjs.org/link/controlled-components",errorUncontrolledToControlled:"QueryBuilder is changing from an uncontrolled component to be controlled. This is likely caused by the query changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled query builder for the lifetime of the component. More info: https://reactjs.org/link/controlled-components",errorControlledToUncontrolled:"QueryBuilder is changing from a controlled component to be uncontrolled. This is likely caused by the query changing from defined to undefined, which should not happen. Decide between using a controlled or uncontrolled query builder for the lifetime of the component. More info: https://reactjs.org/link/controlled-components",errorEnabledDndWithoutReactDnD:"QueryBuilder was rendered with the enableDragAndDrop prop set to true, but either react-dnd was not detected or one of react-dnd-html5-backend or react-dnd-touch-backend was not detected. To enable drag-and-drop functionality, install react-dnd and one of the backend packages and wrap QueryBuilder in QueryBuilderDnD from @react-querybuilder/dnd.",errorDeprecatedDebugImport:"Importing from react-querybuilder/debug is deprecated. To enable Redux DevTools for React Query Builder's internal store, set globalThis.__RQB_DEVTOOLS__ = true."},Bn=Om({name:"queries",initialState:{},reducers:{setQueryState:(e,{payload:{qbId:t,query:r}})=>{e[t]=r}},selectors:{getQuerySelectorById:(e,t)=>e[t]}}),Wm=v.createContext(null),Bc=Om({name:"warnings",initialState:{[Nt.errorInvalidIndependentCombinatorsProp]:!1,[Nt.errorUnnecessaryIndependentCombinatorsProp]:!1,[Nt.errorDeprecatedRuleGroupProps]:!1,[Nt.errorDeprecatedRuleProps]:!1,[Nt.errorBothQueryDefaultQuery]:!1,[Nt.errorUncontrolledToControlled]:!1,[Nt.errorControlledToUncontrolled]:!1,[Nt.errorEnabledDndWithoutReactDnD]:!1,[Nt.errorDeprecatedDebugImport]:!1},reducers:{rqbWarn:(e,{payload:t})=>{e[t]||(console.error(t),e[t]=!0)}}}),Hm=j1(Bn,Bc).withLazyLoadedSlices(),b_=e=>c_(e),y_=e=>zc(e),v_=e=>u_(e),x_=e=>({useRQB_INTERNAL_QueryBuilderDispatch:b_(e),useRQB_INTERNAL_QueryBuilderStore:y_(e),useRQB_INTERNAL_QueryBuilderSelector:v_(e)}),Uc=({payload:e,onQueryChange:t})=>r=>{r(Bn.actions.setQueryState(e)),typeof t=="function"&&t(e.query)},Wc=x_(Wm),Hc=Wc.useRQB_INTERNAL_QueryBuilderDispatch,w_=Wc.useRQB_INTERNAL_QueryBuilderStore,C_=Wc.useRQB_INTERNAL_QueryBuilderSelector,{rqbWarn:S_}=Bc.actions,Ao=e=>t=>{setTimeout(()=>t(S_(e)))},N_={reducer:Hm,preloadedState:{queries:Bn.getInitialState(),warnings:Bc.getInitialState()},middleware:e=>e({serializableCheck:{ignoredActions:[Bn.actions.setQueryState.type],ignoredPaths:[/^queries\b.*\.rules\.\d+\.value$/]}})},E_=e=>{const[t,r]=D.useState(e),[o,n]=D.useState(null);return e!==t&&(n(t),r(e)),o},k_=e=>{const t=Hc(),{defaultQuery:r,queryProp:o}=e,n=E_(!!o);process.env.NODE_ENV!=="production"&&(o&&r?t(Ao(Nt.errorBothQueryDefaultQuery)):n===!0&&!o&&r?t(Ao(Nt.errorControlledToUncontrolled)):n===!1&&o&&!r&&t(Ao(Nt.errorUncontrolledToControlled)))};function jc(e,t,r){const o=Hc();process.env.NODE_ENV!=="production"&&t&&(e==="independentCombinators"&&(r==="invalid"&&o(Ao(Nt.errorInvalidIndependentCombinatorsProp)),r==="unnecessary"&&o(Ao(Nt.errorUnnecessaryIndependentCombinatorsProp))),e==="rule"&&o(Ao(Nt.errorDeprecatedRuleProps)),e==="ruleGroup"&&o(Ao(Nt.errorDeprecatedRuleGroupProps)))}const jm=e=>{const{optionList:t,optionsMap:r,defaultOption:o}=D.useMemo(()=>Xo({placeholder:e.translations.fields,optionList:e.fields,autoSelectOption:e.autoSelectField,baseOption:e.baseField}),[e.autoSelectField,e.baseField,e.fields,e.translations.fields]);return{fields:t,fieldMap:r,defaultField:o}},__=e=>{const t=S1({...N_,devTools:e?{name:"React Query Builder"}:!1});return t.addSlice=r=>{Hm.inject(r),t.dispatch({type:crypto.randomUUID().slice(0,8),meta:`Initializing state for slice "${r.name}"`})},t};let Yc=null;function Ym(e){return Yc||(Yc=__(globalThis==null?void 0:globalThis.__RQB_DEVTOOLS__)),Yc}const To=e=>t=>Bn.selectors.getQuerySelectorById({queries:t.queries},e),D_=(e,t)=>{const r=v.useContext(qc);return C_(e,t)??(r==null?void 0:r.initialQuery)},A_={},T_={},I_=[],P_={},M_=()=>null,qm=()=>"",Io=()=>!0,O_=(...e)=>{console.log(...e)};function L_(e,t){const{query:r,defaultQuery:o,getValueEditorSeparator:n=M_,getRuleClassname:a=qm,getRuleGroupClassname:s=qm,onAddRule:i=Io,onAddGroup:c=Io,onMoveRule:d=Io,onMoveGroup:f=Io,onGroupRule:u=Io,onGroupGroup:h=Io,onRemove:m=Io,onQueryChange:g,showCombinatorsBetweenRules:y=!1,showNotToggle:b=!1,showShiftActions:C=!1,showCloneButtons:w=!1,showLockButtons:x=!1,showMuteButtons:S=!1,suppressStandardClassnames:N=!1,resetOnFieldChange:E=!0,resetOnOperatorChange:M=!1,autoSelectField:k=!0,autoSelectOperator:T=!0,autoSelectValue:A=!0,addRuleToNewGroups:L=!1,listsAsArrays:O=!1,parseNumbers:F=!1,disabled:V=!1,validator:re,onLog:K=O_,idGenerator:H,accessibleDescriptionGenerator:ee=hk}=e,{qbId:G,rqbContext:z,fields:Ce,fieldMap:$,combinators:q,getParameters:xe,getOperatorsMain:oe,getMatchModesMain:he,getRuleDefaultOperator:Y,getSubQueryBuilderPropsMain:ce,getValueEditorTypeMain:te,getValueSourcesMain:Ne,getValuesMain:be,getRuleDefaultValue:ue,getInputTypeMain:X,createRule:ne,createRuleGroup:pe}=t,{controlClassnames:Se,controlElements:je,debugMode:Je,enableDragAndDrop:Re,enableMountQueryChange:Ye,translations:ye}=z,rt=!!y,Le=!!b,Ge=!!C,Ue=!!w,Ee=!!x,ct=!!S,et=!!E,_r=!!M,Yt=!!k,_=!!T,I=!!A,P=!!L,W=!!O,U=!!N,J=(e.maxLevels??0)>0?Number(e.maxLevels):1/0,B=D.useCallback((...fe)=>{Je&&K(...fe)},[Je,K]);k_({defaultQuery:o,queryProp:r});const Q=w_(),ie=Hc(),De=D.useMemo(()=>To(G),[G]),Ve=D_(De),Dt=D.useCallback(()=>De(Q.getState()),[Q,De]),_e=D.useMemo(()=>pe(),[pe]),Ke=r??Ve??o??_e,ot=Ke.id?Ke:As(Ke,{idGenerator:H}),[dr]=D.useState(ot),rn=D.useMemo(()=>({...z,initialQuery:dr}),[z,dr]);D.useEffect(()=>{r&&!Object.is(r,Ve)&&ie(Uc({payload:{qbId:G,query:r},onQueryChange:void 0}))},[r,G,Ve,ie]);const er=D.useMemo(()=>Mn(ot),[ot]),on=!!e.independentCombinators&&!er;jc("independentCombinators",on||!on&&(e.independentCombinators??"not present")!=="not present",on?"invalid":"unnecessary");const qn=D.useRef(!1);D.useEffect(()=>{qn.current||(qn.current=!0,ie(Uc({payload:{qbId:G,query:ot},onQueryChange:Ye&&typeof g=="function"?g:void 0})))},[Ye,g,G,ie,ot]);const At=D.useCallback(fe=>{ie(Uc({payload:{qbId:G,query:fe},onQueryChange:g}))},[g,G,ie]),nn=Array.isArray(V)&&V||I_,mt=V===!0,fl=ot.disabled||nn.some(fe=>fe.length===0),Qn=D.useCallback((fe,Te,Fe)=>{const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Te,Me)||mt){B({qbId:G,type:ht.parentPathDisabled,rule:fe,parentPath:Te,query:Me});return}const Pe=i(fe,Te,Me,Fe);if(!Pe){B({qbId:G,type:ht.onAddRuleFalse,rule:fe,parentPath:Te,query:Me});return}const wt=Pe===!0?fe:Pe,Pt=Xh(Me,wt,Te,{combinators:q,combinatorPreceding:wt.combinatorPreceding??void 0,idGenerator:H});B({qbId:G,type:ht.add,query:Me,newQuery:Pt,newRule:wt,parentPath:Te}),At(Pt)},[q,At,H,B,i,G,Q,mt]),Kn=D.useCallback((fe,Te,Fe)=>{if(Te.length>=J)return;const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Te,Me)||mt){B({qbId:G,type:ht.parentPathDisabled,ruleGroup:fe,parentPath:Te,query:Me});return}const Pe=c(fe,Te,Me,Fe);if(!Pe){B({qbId:G,type:ht.onAddGroupFalse,ruleGroup:fe,parentPath:Te,query:Me});return}const wt=Pe===!0?fe:Pe,Pt=Xh(Me,wt,Te,{combinators:q,combinatorPreceding:wt.combinatorPreceding??void 0,idGenerator:H});B({qbId:G,type:ht.add,query:Me,newQuery:Pt,newGroup:wt,parentPath:Te}),At(Pt)},[q,At,H,B,J,c,G,Q,mt]),Xn=D.useCallback((fe,Te,Fe)=>{const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Fe,Me)&&fe!=="disabled"||mt){B({qbId:G,type:ht.pathDisabled,path:Fe,prop:fe,value:Te,query:Me});return}const Pe=_k(Me,fe,Te,Fe,{resetOnFieldChange:et,resetOnOperatorChange:_r,getRuleDefaultOperator:Y,getValueSources:Ne,getRuleDefaultValue:ue,getMatchModes:he});B({qbId:G,type:ht.update,query:Me,newQuery:Pe,prop:fe,value:Te,path:Fe}),At(Pe)},[At,he,Y,ue,Ne,B,G,Q,mt,et,_r]),an=D.useCallback((fe,Te)=>{const Fe=To(G)(Q.getState());if(!Fe)return;if(Zo(fe,Fe)||mt){B({qbId:G,type:ht.pathDisabled,path:fe,query:Fe});return}const Me=ut(fe,Fe);if(Me)if(m(Me,fe,Fe,Te)){const Pe=Ak(Fe,fe);B({qbId:G,type:ht.remove,query:Fe,newQuery:Pe,path:fe,ruleOrGroup:Me}),At(Pe)}else B({qbId:G,type:ht.onRemoveFalse,ruleOrGroup:Me,path:fe,query:Fe})},[At,B,m,G,Q,mt]),Jn=D.useCallback((fe,Te,Fe,Me)=>{const Pe=To(G)(Q.getState());if(!Pe)return;if(Zo(fe,Pe)||mt){B({qbId:G,type:ht.pathDisabled,oldPath:fe,newPath:Te,query:Pe});return}const wt=Ik(Pe,fe,Te,{clone:Fe,combinators:q,idGenerator:H}),Pt=ut(fe,Pe),oo=Xe(Pt),Dr=(oo?f:d)(Pt,fe,Te,Pe,wt,{clone:Fe,combinators:q},Me);if(!Dr){B({qbId:G,type:oo?ht.onMoveGroupFalse:ht.onMoveRuleFalse,ruleOrGroup:Pt,oldPath:fe,newPath:Te,clone:Fe,query:Pe,nextQuery:wt});return}const no=Xe(Dr)?Dr:wt;B({qbId:G,type:ht.move,query:Pe,newQuery:no,oldPath:fe,newPath:Te,clone:Fe}),At(no)},[q,At,H,B,f,d,G,Q,mt]),Zn=D.useCallback((fe,Te,Fe,Me)=>{const Pe=To(G)(Q.getState());if(!Pe)return;if(Zo(fe,Pe)||mt){B({qbId:G,type:ht.pathDisabled,sourcePath:fe,targetPath:Te,query:Pe});return}const wt=Mk(Pe,fe,Te,{clone:Fe,combinators:q,idGenerator:H}),Pt=ut(fe,Pe),oo=Xe(Pt),Dr=(oo?h:u)(Pt,fe,Te,Pe,wt,{clone:Fe,combinators:q},Me);if(!Dr){B({qbId:G,type:oo?ht.onGroupGroupFalse:ht.onGroupRuleFalse,ruleOrGroup:Pt,sourcePath:fe,targetPath:Te,clone:Fe,query:Pe,nextQuery:wt});return}const no=Xe(Dr)?Dr:wt;B({qbId:G,type:ht.group,query:Pe,newQuery:no,sourcePath:fe,targetPath:Te,clone:Fe}),At(no)},[q,At,H,B,h,u,G,Q,mt]),{validationResult:tr,validationMap:Rn}=D.useMemo(()=>{const fe=typeof re=="function"&&ot?re(ot):A_;return{validationResult:fe,validationMap:typeof fe=="boolean"?T_:fe}},[ot,re]),hl=Re?"enabled":"disabled",ml=er||rt?"enabled":"disabled",gl=D.useMemo(()=>typeof ot.combinator=="string"?{combinator:ot.combinator}:P_,[ot.combinator]),bl=D.useMemo(()=>Oe(U||me.queryBuilder,Oe(Se.queryBuilder),mt&&Se.disabled,typeof tr=="boolean"&&tr&&Se.valid,typeof tr=="boolean"&&!tr&&Se.invalid,U||{[me.disabled]:mt,[me.valid]:typeof tr=="boolean"&&tr,[me.invalid]:typeof tr=="boolean"&&!tr}),[Se.disabled,Se.invalid,Se.queryBuilder,Se.valid,mt,U,tr]),ea=D.useCallback(fe=>pe(fe??er),[pe,er]),yl=D.useMemo(()=>({addRuleToNewGroups:P,accessibleDescriptionGenerator:ee,autoSelectField:Yt,autoSelectOperator:_,autoSelectValue:I,classNames:Se,combinators:q,getParameters:xe,controls:je,createRule:ne,createRuleGroup:ea,disabledPaths:nn,enableDragAndDrop:Re,fieldMap:$,fields:Ce,dispatchQuery:At,getQuery:Dt,getInputType:X,getOperators:oe,getMatchModes:he,getRuleClassname:a,getRuleDefaultOperator:Y,getRuleDefaultValue:ue,getRuleGroupClassname:s,getSubQueryBuilderProps:ce,getValueEditorSeparator:n,getValueEditorType:te,getValues:be,getValueSources:Ne,independentCombinators:er,listsAsArrays:W,maxLevels:J,parseNumbers:F,qbId:G,resetOnFieldChange:et,resetOnOperatorChange:_r,showCloneButtons:Ue,showCombinatorsBetweenRules:rt,showLockButtons:Ee,showMuteButtons:ct,showNotToggle:Le,showShiftActions:Ge,suppressStandardClassnames:U,validationMap:Rn}),[ee,P,Yt,_,I,q,Se,je,ne,ea,nn,At,Re,$,Ce,X,oe,he,Dt,a,Y,ue,s,ce,n,te,be,Ne,xe,er,W,J,F,G,et,_r,Ue,rt,Ee,ct,Le,Ge,U,Rn]);return{actions:D.useMemo(()=>({moveRule:Jn,onGroupAdd:Kn,onGroupRemove:an,onPropChange:Xn,onRuleAdd:Qn,onRuleRemove:an,groupRule:Zn}),[Zn,Jn,Kn,Xn,Qn,an]),rootGroup:ot,rootGroupDisabled:fl,queryDisabled:mt,rqbContext:rn,schema:yl,translations:ye,wrapperClassName:bl,dndEnabledAttr:hl,inlineCombinatorsAttr:ml,combinatorPropObject:gl}}const F_=e=>{const[t]=D.useState(Xt),{fields:r,baseField:o,operators:n,baseOperator:a,combinators:s,baseCombinator:i,getParameters:c,translations:d,enableMountQueryChange:f=!0,controlClassnames:u,controlElements:h,getDefaultField:m,getDefaultOperator:g,getDefaultValue:y,getMatchModes:b,getOperators:C,getSubQueryBuilderProps:w,getValueEditorType:x,getValueSources:S,getInputType:N,getValues:E,autoSelectField:M=!0,autoSelectOperator:k=!0,autoSelectValue:T=!0,addRuleToNewGroups:A=!1,enableDragAndDrop:L,listsAsArrays:O=!1,debugMode:F=!1,idGenerator:V=Xt}=e,[re]=D.useState(e.query??e.defaultQuery),K=K_({controlClassnames:u,controlElements:h,debugMode:F,enableDragAndDrop:L,enableMountQueryChange:f,translations:d,initialQuery:re,qbId:t,finalize:!0}),{translations:H}=K,{fields:ee,fieldMap:G}=jm({fields:r,baseField:o,autoSelectField:M,translations:H}),{optionList:z}=D.useMemo(()=>Xo({optionList:s??In,labelMap:ak,baseOption:i,autoSelectOption:!0}),[i,s]),Ce=D.useCallback((X,ne,pe)=>Xo({optionList:(c==null?void 0:c(X,ne,pe))??[],autoSelectOption:!0}).optionList,[c]),{optionList:$}=D.useMemo(()=>Xo({optionList:n??sk,placeholder:H.operators,labelMap:Th,baseOption:a,autoSelectOption:k}),[k,a,n,H.operators]),q=D.useCallback((X,{fieldData:ne})=>Xo({optionList:(ne==null?void 0:ne.operators)??(C==null?void 0:C(X,{fieldData:ne}))??$,placeholder:H.operators,baseOption:a,labelMap:Th,autoSelectOption:k}).optionList,[k,a,C,$,H.operators]),xe=D.useCallback(X=>{const ne=G[X];return ne!=null&&ne.defaultOperator?ne.defaultOperator:g?typeof g=="function"?g(X,{fieldData:ne}):g:xt(q(X,{fieldData:ne})??[])??""},[G,g,q]),oe=D.useCallback((X,ne,{fieldData:pe})=>pe.valueEditorType?typeof pe.valueEditorType=="function"?pe.valueEditorType(ne):pe.valueEditorType:(x==null?void 0:x(X,ne,{fieldData:pe}))??"text",[x]),he=D.useCallback((X,ne,pe)=>Yh(G[X],ne,S),[G,S]),Y=D.useCallback((X,ne)=>gk(G[X],b),[G,b]),ce=D.useCallback((X,ne)=>(w==null?void 0:w(X,ne))??{},[w]),te=D.useCallback((X,ne,{fieldData:pe})=>Xo({optionList:(pe==null?void 0:pe.values)??(E==null?void 0:E(X,ne,{fieldData:pe}))??[],placeholder:H.values,autoSelectOption:T}).optionList,[T,E,H.values]),Ne=D.useCallback(X=>bk(X,{fieldData:G[X.field]??{},fields:ee,getParameters:(ne,pe,Se)=>Ce(ne,pe,Se),listsAsArrays:O,getValueEditorType:(ne,pe,Se)=>oe(ne,pe,Se),getValues:(ne,pe,Se)=>te(ne,pe,Se),getDefaultValue:y&&((ne,pe)=>y(ne,pe))}),[G,ee,y,oe,te,O,Ce]),be=D.useCallback((X,ne,{fieldData:pe})=>{if(N){const Se=N(X,ne,{fieldData:pe});if(Se)return Se}return"text"},[N]),ue=D.useCallback(()=>{let X="";const ne=ee;/* v8 ignore else -- @preserve */if((ne==null?void 0:ne.length)>0&&ne[0]){const Ye=xt(ne);/* v8 ignore else -- @preserve */Ye&&(X=Ye)}if(m)if(typeof m=="function"){const Ye=m(ne);/* v8 ignore else -- @preserve */Ye&&(X=Ye)}else X=m;const pe=xe(X),Se=xt(he(X,pe,{fieldData:Ko(ne,X)}))??"value",je=xt(Y(X,{fieldData:Ko(ne,X)})),Je={id:V(),field:X,operator:pe,valueSource:Se,value:"",...je?{match:{mode:je,threshold:1}}:null},Re=Ne(Je);return{...Je,value:Re}},[ee,m,Y,xe,Ne,he,V]);return{qbId:t,rqbContext:K,fields:ee,fieldMap:G,combinators:z,getParameters:Ce,getMatchModesMain:Y,getOperatorsMain:q,getRuleDefaultOperator:xe,getSubQueryBuilderPropsMain:ce,getValueEditorTypeMain:oe,getValueSourcesMain:he,getValuesMain:te,getRuleDefaultValue:Ne,getInputTypeMain:be,createRule:ue,createRuleGroup:D.useCallback(X=>X?{id:V(),rules:A?[ue()]:[],not:!1}:{id:V(),rules:A?[ue()]:[],combinator:xt(z)??"",not:!1},[A,z,ue,V])}},Qm=e=>L_(e,F_(e)),qc=D.createContext({}),$_=v.memo(function(t){const r=Km(t),{previewRef:o,dropRef:n,schema:{controls:{ruleGroupBodyElements:a,ruleGroupHeaderElements:s}}}=r,i=st(r.addRule),c=st(r.addGroup),d=st(r.cloneGroup),f=st(r.toggleLockGroup),u=st(r.toggleMuteGroup),h=st(r.removeGroup),m=st(r.shiftGroupUp),g=st(r.shiftGroupDown),y=D.useMemo(()=>({addRule:i,addGroup:c,cloneGroup:d,toggleLockGroup:f,toggleMuteGroup:u,removeGroup:h,shiftGroupUp:m,shiftGroupDown:g}),[i,c,d,f,u,h,m,g]);return v.createElement("div",{ref:o,title:r.accessibleDescription,className:r.outerClassName,"data-testid":ge.ruleGroup,"data-not":r.ruleGroup.not?"true":void 0,"data-dragmonitorid":r.dragMonitorId,"data-dropmonitorid":r.dropMonitorId,"data-rule-group-id":r.id,"data-level":r.path.length,"data-path":JSON.stringify(r.path)},v.createElement("div",{ref:n,className:r.classNames.header},v.createElement(s,{...r,...y})),v.createElement("div",{className:r.classNames.body},v.createElement(a,{...r,...y})))}),G_=v.memo(function(t){const{dragRef:r,schema:{controls:{shiftActions:o,dragHandle:n,combinatorSelector:a,notToggle:s,addRuleAction:i,addGroupAction:c,cloneGroupAction:d,lockGroupAction:f,muteGroupAction:u,removeGroupAction:h}}}=t,m=D.useMemo(()=>({level:t.path.length,path:t.path,disabled:t.disabled,context:t.context,validation:t.validationResult,schema:t.schema}),[t.path,t.disabled,t.context,t.validationResult,t.schema]),g=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.title,shiftDown:t.translations.shiftActionDown.title}:void 0,[t.schema.showShiftActions,t.translations]),y=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.label,shiftDown:t.translations.shiftActionDown.label}:void 0,[t.schema.showShiftActions,t.translations]);return v.createElement(D.Fragment,null,t.schema.showShiftActions&&t.path.length>0&&v.createElement(o,{key:ge.shiftActions,...m,testID:ge.shiftActions,titles:g,labels:y,className:t.classNames.shiftActions,shiftUp:t.shiftGroupUp,shiftDown:t.shiftGroupDown,shiftUpDisabled:t.shiftUpDisabled,shiftDownDisabled:t.shiftDownDisabled,ruleOrGroup:t.ruleGroup}),t.path.length>0&&t.schema.enableDragAndDrop&&v.createElement(n,{key:ge.dragHandle,...m,testID:ge.dragHandle,ref:r,title:t.translations.dragHandle.title,label:t.translations.dragHandle.label,className:t.classNames.dragHandle,dragHandleAttributes:t.dragHandleAttributes,ruleOrGroup:t.ruleGroup}),!t.schema.showCombinatorsBetweenRules&&!t.schema.independentCombinators&&v.createElement(a,{key:ge.combinators,...m,testID:ge.combinators,options:t.schema.combinators,value:t.combinator,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:t.onCombinatorChange,rules:t.ruleGroup.rules,ruleGroup:t.ruleGroup}),t.schema.showNotToggle&&v.createElement(s,{key:ge.notToggle,...m,testID:ge.notToggle,className:t.classNames.notToggle,title:t.translations.notToggle.title,label:t.translations.notToggle.label,checked:t.ruleGroup.not,handleOnChange:t.onNotToggleChange,ruleGroup:t.ruleGroup}),v.createElement(i,{key:ge.addRule,...m,testID:ge.addRule,label:t.translations.addRule.label,title:t.translations.addRule.title,className:t.classNames.addRule,handleOnClick:t.addRule,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.maxLevels>t.path.length&&v.createElement(c,{key:ge.addGroup,...m,testID:ge.addGroup,label:t.translations.addGroup.label,title:t.translations.addGroup.title,className:t.classNames.addGroup,handleOnClick:t.addGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.showCloneButtons&&t.path.length>0&&v.createElement(d,{key:ge.cloneGroup,...m,testID:ge.cloneGroup,label:t.translations.cloneRuleGroup.label,title:t.translations.cloneRuleGroup.title,className:t.classNames.cloneGroup,handleOnClick:t.cloneGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.showLockButtons&&v.createElement(f,{key:ge.lockGroup,...m,testID:ge.lockGroup,label:t.translations.lockGroup.label,title:t.translations.lockGroup.title,className:t.classNames.lockGroup,handleOnClick:t.toggleLockGroup,rules:t.ruleGroup.rules,disabledTranslation:t.parentDisabled?void 0:t.translations.lockGroupDisabled,ruleOrGroup:t.ruleGroup}),t.schema.showMuteButtons&&v.createElement(u,{key:ge.muteGroup,...m,testID:ge.muteGroup,label:t.ruleGroup.muted?t.translations.unmuteGroup.label:t.translations.muteGroup.label,title:t.ruleGroup.muted?t.translations.unmuteGroup.title:t.translations.muteGroup.title,className:t.classNames.muteGroup,handleOnClick:t.toggleMuteGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.path.length>0&&v.createElement(h,{key:ge.removeGroup,...m,testID:ge.removeGroup,label:t.translations.removeGroup.label,title:t.translations.removeGroup.title,className:t.classNames.removeGroup,handleOnClick:t.removeGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}))}),V_=v.memo(function(t){const{schema:{controls:{combinatorSelector:r,inlineCombinator:o,ruleGroup:n,rule:a}}}=t;return v.createElement(D.Fragment,null,t.ruleGroup.rules.map((s,i,{length:c})=>{const d=t.pathsMemo[i],f=d.path,u=d.disabled||typeof s!="string"&&s.disabled,h=Eo([0],f),m=t.path.length===0&&i===c-1,g=typeof s=="string"?[...f,s].join("-"):s.id;return v.createElement(D.Fragment,{key:g},i>0&&!t.schema.independentCombinators&&t.schema.showCombinatorsBetweenRules&&v.createElement(o,{key:ge.inlineCombinator,options:t.schema.combinators,value:t.combinator,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:t.onCombinatorChange,rules:t.ruleGroup.rules,level:t.path.length,context:t.context,validation:t.validationResult,component:r,path:f,disabled:t.disabled,schema:t.schema,ruleGroup:t.ruleGroup}),typeof s=="string"?v.createElement(o,{key:`${ge.inlineCombinator}-independent`,options:t.schema.combinators,value:s,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:y=>t.onIndependentCombinatorChange(y,i),rules:t.ruleGroup.rules,level:t.path.length,context:t.context,validation:t.validationResult,component:r,path:f,disabled:u,schema:t.schema,ruleGroup:t.ruleGroup}):Xe(s)?v.createElement(n,{key:ge.ruleGroup,id:s.id,schema:t.schema,actions:t.actions,path:f,translations:t.translations,ruleGroup:s,rules:s.rules,combinator:Pn(s)?s.combinator:void 0,not:!!s.not,disabled:u,parentDisabled:t.parentDisabled||t.disabled,parentMuted:t.parentMuted||t.muted,shiftUpDisabled:h,shiftDownDisabled:m,context:t.context}):v.createElement(a,{key:ge.rule,id:s.id,rule:s,field:s.field,operator:s.operator,value:s.value,valueSource:s.valueSource,schema:t.schema,actions:t.actions,path:f,disabled:u,parentDisabled:t.parentDisabled||t.disabled,parentMuted:t.parentMuted||t.muted,translations:t.translations,shiftUpDisabled:h,shiftDownDisabled:m,context:t.context}))}))}),Km=e=>{const{id:t,path:r,ruleGroup:o,schema:{qbId:n,accessibleDescriptionGenerator:a,classNames:s,combinators:i,createRule:c,createRuleGroup:d,disabledPaths:f,independentCombinators:u,validationMap:h,enableDragAndDrop:m,getRuleGroupClassname:g,suppressStandardClassnames:y},actions:{onGroupAdd:b,onGroupRemove:C,onPropChange:w,onRuleAdd:x,moveRule:S},disabled:N,parentDisabled:E,parentMuted:M,shiftUpDisabled:k,shiftDownDisabled:T,combinator:A,rules:L,not:O,dropEffect:F="move",groupItems:V=!1,dragMonitorId:re="",dropMonitorId:K="",previewRef:H=null,dragRef:ee=null,dropRef:G=null,isDragging:z=!1,isOver:Ce=!1,dropNotAllowed:$=!1}=e;jc("ruleGroup",!o),Jm(m,!!(re||K||H||ee||G));const q=!!E||!!N,xe=!!M||!!(o!=null&&o.muted),oe=D.useMemo(()=>o&&Pn(o)?o.combinator:o?xt(i):A??xt(i),[A,i,o]),he=D.useMemo(()=>{if(o){if(o.combinator===oe||u)return o;const Ee=structuredClone(o);return Ee.combinator=oe,Ee}return{rules:L,not:O}},[oe,u,O,o,L]),Y=D.useMemo(()=>({header:Oe(y||me.header,s.header,Ce&&F==="copy"&&s.dndCopy,$&&s.dndDropNotAllowed,y||{[me.dndOver]:Ce,[me.dndCopy]:Ce&&F==="copy",[me.dndDropNotAllowed]:$}),shiftActions:Oe(y||me.shiftActions,s.shiftActions),dragHandle:Oe(y||me.dragHandle,s.dragHandle),combinators:Oe(y||me.combinators,s.valueSelector,s.combinators),notToggle:Oe(y||me.notToggle,s.notToggle),addRule:Oe(y||me.addRule,s.actionElement,s.addRule),addGroup:Oe(y||me.addGroup,s.actionElement,s.addGroup),cloneGroup:Oe(y||me.cloneGroup,s.actionElement,s.cloneGroup),lockGroup:Oe(y||me.lockGroup,s.actionElement,s.lockGroup),muteGroup:Oe(y||me.muteGroup,s.actionElement,s.muteGroup),removeGroup:Oe(y||me.removeGroup,s.actionElement,s.removeGroup),body:Oe(y||me.body,s.body)}),[s.actionElement,s.addGroup,s.addRule,s.body,s.cloneGroup,s.combinators,s.dndCopy,s.dndDropNotAllowed,s.dragHandle,s.header,s.lockGroup,s.muteGroup,s.notToggle,s.removeGroup,s.shiftActions,s.valueSelector,F,$,Ce,y]),ce=D.useCallback(Ee=>{q||w("combinator",Ee,r)},[q,w,r]),te=D.useCallback((Ee,ct,et)=>{q||w("combinator",Ee,[...r,ct])},[q,w,r]),Ne=D.useCallback((Ee,ct)=>{q||w("not",Ee,r)},[q,w,r]),be=D.useCallback((Ee,ct)=>{if(!q){const et=c();x(et,r,ct)}},[c,q,x,r]),ue=D.useCallback((Ee,ct)=>{if(!q){const et=d();b(et,r,ct)}},[d,q,b,r]),X=D.useCallback(()=>{if(!q){const Ee=[...at(r),r.at(-1)+1];S(r,Ee,!0)}},[q,S,r]),ne=D.useCallback((Ee,ct)=>{!q&&!k&&S(r,"up",Ee==null?void 0:Ee.altKey)},[q,S,r,k]),pe=D.useCallback((Ee,ct)=>{!q&&!T&&S(r,"down",Ee==null?void 0:Ee.altKey)},[q,S,r,T]),Se=D.useCallback(()=>{w("disabled",!q,r)},[q,w,r]),je=D.useCallback(()=>{w("muted",!he.muted,r)},[he.muted,w,r]),Je=D.useCallback(()=>{q||C(r)},[q,C,r]),Re=h[t??""],Ye=D.useMemo(()=>Hh(Re),[Re]),ye=D.useMemo(()=>{var Ee;return u?null:((Ee=Ko(i,oe))==null?void 0:Ee.className)??""},[oe,i,u]),rt=D.useMemo(()=>g(he),[g,he]),Le=D.useMemo(()=>Oe(rt,ye,y||me.ruleGroup,s.ruleGroup,q&&s.disabled,xe&&s.muted,z&&s.dndDragging,Ce&&V&&s.dndGroup,y||{[me.disabled]:q,[me.muted]:xe,[me.dndDragging]:z,[me.dndGroup]:Ce&&V},Ye),[s.disabled,s.muted,s.dndDragging,s.dndGroup,s.ruleGroup,ye,q,xe,V,z,Ce,rt,y,Ye]),Ge=X_({disabled:q,disabledPaths:f,path:r,nestedArray:he.rules}),Ue=D.useMemo(()=>a({path:r,qbId:n}),[a,r,n]);return{...e,addGroup:ue,addRule:be,accessibleDescription:Ue,classNames:Y,cloneGroup:X,combinator:oe,disabled:q,dragMonitorId:re,dragRef:ee,dropMonitorId:K,dropRef:G,isDragging:z,isOver:Ce,muted:xe,onCombinatorChange:ce,onGroupAdd:b,onIndependentCombinatorChange:te,onNotToggleChange:Ne,outerClassName:Le,parentDisabled:E,pathsMemo:Ge,previewRef:H,removeGroup:Je,ruleGroup:he,shiftGroupUp:ne,shiftGroupDown:pe,toggleLockGroup:Se,toggleMuteGroup:je,validationClassName:Ye,validationResult:Re}},z_=e=>{var t,r,o,n;return v.createElement("div",{"data-testid":e.testID,className:e.className},v.createElement("button",{type:"button",disabled:e.disabled||e.shiftUpDisabled,onClick:e.shiftUp,title:(t=e.titles)==null?void 0:t.shiftUp},(r=e.labels)==null?void 0:r.shiftUp),v.createElement("button",{type:"button",disabled:e.disabled||e.shiftDownDisabled,onClick:e.shiftDown,title:(o=e.titles)==null?void 0:o.shiftDown},(n=e.labels)==null?void 0:n.shiftDown))},B_=({name:e,disabled:t,checked:r,label:o,handleOnChange:n})=>{const a=v.useId();return v.createElement("label",{htmlFor:a},v.createElement("input",{id:a,type:"radio",value:e,disabled:t,checked:r,onChange:s=>n(s.target.value)}),o)},U_=e=>{const{operator:t,value:r,handleOnChange:o,title:n,className:a,type:s="text",inputType:i,values:c=[],listsAsArrays:d,fieldData:f,disabled:u,separator:h=null,testID:m,selectorComponent:g=e.schema.controls.valueSelector,parseNumbers:y,skipHook:b,valueSource:C,...w}=e,{valueAsArray:x,multiValueHandler:S,bigIntValueHandler:N,parseNumberMethod:E,valueListItemClassName:M,inputTypeCoerced:k}=W_(e);if(t==="null"||t==="notNull")return null;const T=(f==null?void 0:f.placeholder)??"";if((t==="between"||t==="notBetween")&&(s==="select"||s==="text")){const A=["from","to"].map((L,O)=>s==="text"?v.createElement("input",{key:L,type:k,placeholder:T,value:x[O]??"",className:M,disabled:u,onChange:F=>S(F.target.value,O)}):v.createElement(g,{key:L,...w,schema:e.schema,className:M,handleOnChange:F=>S(F,O),disabled:u,value:x[O]??xt(c),options:c,listsAsArrays:d}));return v.createElement("span",{"data-testid":m,className:a,title:n},A[0],h,A[1])}switch(s){case"select":case"multiselect":return v.createElement(g,{...w,schema:e.schema,testID:m,className:a,title:n,handleOnChange:o,disabled:u,value:r,options:c,multiple:s==="multiselect",listsAsArrays:d});case"textarea":return v.createElement("textarea",{"data-testid":m,placeholder:T,value:r,title:n,className:a,disabled:u,onChange:A=>o(A.target.value)});case"switch":case"checkbox":return v.createElement("input",{"data-testid":m,type:"checkbox",className:a,title:n,onChange:A=>o(A.target.checked),checked:!!r,disabled:u});case"radio":return v.createElement("span",{"data-testid":m,className:a,title:n},c.map(A=>v.createElement(B_,{key:A.name,name:A.name,disabled:u,checked:r===A.name,handleOnChange:o,label:A.label})))}return i==="bigint"?v.createElement("input",{"data-testid":m,type:k,placeholder:T,value:`${r}`,title:n,className:a,disabled:u,onChange:A=>N(A.target.value)}):v.createElement("input",{"data-testid":m,type:k,placeholder:T,value:r,title:n,className:a,disabled:u,onChange:A=>o(Ds(A.target.value,{parseNumbers:E}))})},W_=e=>{const{handleOnChange:t,inputType:r,operator:o,value:n,listsAsArrays:a,parseNumbers:s,values:i,type:c,skipHook:d,schema:{classNames:f,suppressStandardClassnames:u}}=e;D.useEffect(()=>{!d&&c!=="multiselect"&&!["between","notBetween","in","notIn"].includes(o)&&(Array.isArray(n)||r==="number"&&typeof n=="string"&&n.includes(","))&&t(Es(n,{retainEmptyStrings:!0})[0]??"")},[t,r,o,d,c,n]);const h=D.useMemo(()=>Es(n,{retainEmptyStrings:!0}),[n]),m=D.useMemo(()=>pk({parseNumbers:s,inputType:r}),[r,s]);return{valueAsArray:h,multiValueHandler:D.useCallback((g,y)=>{const b=Ds(g,{parseNumbers:m}),C=y===0&&(o==="between"||o==="notBetween")&&(h.length<2||h[1]===void 0);if(h[y]===b&&!C){t(a?h:Ns(h,","));return}const w=[...h];w[y]=b,C&&(w[1]=xt(i)),t(a?w:Ns(w,","))},[t,a,o,m,h,i]),bigIntValueHandler:D.useCallback(g=>{const y=Ds(g,{parseNumbers:m,bigIntOnOverflow:!0});let b;try{b=BigInt(y)}catch{t(y);return}t(b)},[t,m]),parseNumberMethod:m,valueListItemClassName:Oe(u||me.valueListItem,f==null?void 0:f.valueListItem),inputTypeCoerced:r==="bigint"||o==="in"||o==="notIn"?"text":r||"text"}},H_=e=>{const{multiple:t,onChange:r}=e;return D.useMemo(()=>t?o=>r(Array.from(o.target.selectedOptions).map(n=>n.value)):o=>r(o.target.value),[t,r])},j_=e=>uk(e)?e.map(t=>v.createElement("optgroup",{key:t.label,label:t.label},t.options.map(r=>v.createElement("option",{key:r.name,value:r.name,disabled:r.disabled},r.label)))):Array.isArray(e)?e.map(t=>v.createElement("option",{key:t.name,value:t.name,disabled:t.disabled},t.label)):null,Un=e=>{const{onChange:t,val:r}=Y_(e),o=H_({multiple:e.multiple,onChange:t});return v.createElement("select",{"data-testid":e.testID,className:e.className,value:r,title:e.title,disabled:e.disabled,multiple:!!e.multiple,onChange:o},j_(e.options))},Y_=e=>{const{handleOnChange:t,listsAsArrays:r=!1,multiple:o=!1,value:n}=e;return{onChange:D.useCallback(a=>{if(o){const s=Es(a);t(r?s:Ns(s,","))}else t(a)},[t,r,o]),val:D.useMemo(()=>o?Es(n).map(String):n,[o,n])}},q_=({props:e})=>{const t=Qm(e),r=t.schema.controls.ruleGroup,o=qc;return v.createElement(o.Provider,{key:t.dndEnabledAttr,value:t.rqbContext},v.createElement("div",{role:"form",className:t.wrapperClassName,"data-dnd":t.dndEnabledAttr,"data-inlinecombinators":t.inlineCombinatorsAttr},v.createElement(r,{translations:t.translations,ruleGroup:t.rootGroup,rules:t.rootGroup.rules,...t.combinatorPropObject,not:!!t.rootGroup.not,schema:t.schema,actions:t.actions,id:t.rootGroup.id,path:Ph,disabled:t.rootGroupDisabled,shiftUpDisabled:!0,shiftDownDisabled:!0,parentDisabled:t.queryDisabled,context:e.context})))},Xs=()=>null,Q_=D.forwardRef(Xs),Js={},K_=({finalize:e,...t})=>{var g,y,b,C,w,x,S,N,E,M,k,T,A,L,O,F,V,re,K,H,ee,G,z,Ce,$,q,xe,oe,he,Y,ce,te,Ne,be,ue,X,ne,pe,Se,je,Je,Re,Ye,ye,rt,Le,Ge,Ue,Ee,ct,et,_r,Yt,_,I,P,W,U,J,B,Q,ie,De,Ve,Dt,_e,Ke,ot,dr,rn,er,on,qn,At,nn,mt,fl,Qn,Kn,Xn,an,Jn,Zn,tr,Rn,hl,ml,gl,bl,ea,yl,fe,Te,Fe,Me,Pe,wt,Pt,oo,Dr,no,Zg,Rg,eb,tb,rb,ob,nb;const r=D.useContext(qc),o=D.useMemo(()=>Ck(t,r),[t,r,e]),n=e?r.enableDragAndDrop!==!1&&qh(!1,t.enableDragAndDrop,r.enableDragAndDrop):t.enableDragAndDrop??r.enableDragAndDrop,a=D.useMemo(()=>vk(r.controlClassnames,t.controlClassnames),[r.controlClassnames,t.controlClassnames]),s=D.useMemo(()=>({actionElement:a.actionElement,addGroup:a.addGroup,addRule:a.addRule,body:a.body,cloneGroup:a.cloneGroup,cloneRule:a.cloneRule,combinators:a.combinators,dragHandle:a.dragHandle,fields:a.fields,header:a.header,lockGroup:a.lockGroup,lockRule:a.lockRule,muteGroup:a.muteGroup,muteRule:a.muteRule,muted:a.muted,notToggle:a.notToggle,operators:a.operators,queryBuilder:a.queryBuilder,removeGroup:a.removeGroup,removeRule:a.removeRule,rule:a.rule,ruleGroup:a.ruleGroup,shiftActions:a.shiftActions,value:a.value,valueSelector:a.valueSelector,valueSource:a.valueSource,betweenRules:a.betweenRules,valid:a.valid,invalid:a.invalid,dndDragging:a.dndDragging,dndOver:a.dndOver,dndCopy:a.dndCopy,dndGroup:a.dndGroup,dndDropNotAllowed:a.dndDropNotAllowed,dndPreviewPosition:a.dndPreviewPosition,dndHidden:a.dndHidden,disabled:a.disabled,valueListItem:a.valueListItem,matchMode:a.matchMode,matchThreshold:a.matchThreshold,branches:a.branches,hasSubQuery:a.hasSubQuery,loading:a.loading,valueDateTimeRelative:a.valueDateTimeRelative}),[a.actionElement,a.addGroup,a.addRule,a.betweenRules,a.body,a.branches,a.cloneGroup,a.cloneRule,a.combinators,a.disabled,a.dndCopy,a.dndDropNotAllowed,a.dndPreviewPosition,a.dndHidden,a.dndGroup,a.dndDragging,a.dndOver,a.dragHandle,a.fields,a.hasSubQuery,a.header,a.invalid,a.loading,a.lockGroup,a.lockRule,a.muteGroup,a.muteRule,a.muted,a.matchMode,a.matchThreshold,a.notToggle,a.operators,a.queryBuilder,a.removeGroup,a.removeRule,a.rule,a.ruleGroup,a.shiftActions,a.valid,a.value,a.valueDateTimeRelative,a.valueListItem,a.valueSelector,a.valueSource]),i=r.controlElements??Js,c=t.controlElements??Js,d=D.useCallback((ur,ta,ra)=>{const oa=ur==="dragHandle"?Q_:Xs,vl=(ur.endsWith("Action")&&c.actionElement?c.actionElement:void 0)??(ur.endsWith("Selector")&&c.valueSelector?c.valueSelector:void 0),xl=(ur.endsWith("Action")&&i.actionElement?i.actionElement:void 0)??(ur.endsWith("Selector")&&i.valueSelector?i.valueSelector:void 0),na=ta===null?oa:ta??vl??(ra===null?oa:ra??xl);return na?{[ur]:na}:{[ur]:Zs[ur]}},[i.actionElement,i.valueSelector,e,c.actionElement,c.valueSelector]),f=D.useMemo(()=>Object.assign({},d("addGroupAction",c.addGroupAction,i.addGroupAction),d("addRuleAction",c.addRuleAction,i.addRuleAction),d("cloneGroupAction",c.cloneGroupAction,i.cloneGroupAction),d("cloneRuleAction",c.cloneRuleAction,i.cloneRuleAction),d("combinatorSelector",c.combinatorSelector,i.combinatorSelector),d("dragHandle",c.dragHandle,i.dragHandle),d("fieldSelector",c.fieldSelector,i.fieldSelector),d("inlineCombinator",c.inlineCombinator,i.inlineCombinator),d("lockGroupAction",c.lockGroupAction,i.lockGroupAction),d("lockRuleAction",c.lockRuleAction,i.lockRuleAction),d("muteGroupAction",c.muteGroupAction,i.muteGroupAction),d("muteRuleAction",c.muteRuleAction,i.muteRuleAction),d("notToggle",c.notToggle,i.notToggle),d("operatorSelector",c.operatorSelector,i.operatorSelector),d("removeGroupAction",c.removeGroupAction,i.removeGroupAction),d("removeRuleAction",c.removeRuleAction,i.removeRuleAction),d("shiftActions",c.shiftActions,i.shiftActions),{valueEditor:c.valueEditor===null?Xs:c.valueEditor??(i.valueEditor===null?Xs:i.valueEditor)??Zs.valueEditor},d("valueSourceSelector",c.valueSourceSelector,i.valueSourceSelector),d("matchModeEditor",c.matchModeEditor,i.matchModeEditor),d("rule",c.rule,i.rule),d("ruleGroup",c.ruleGroup,i.ruleGroup),d("ruleGroupBodyElements",c.ruleGroupBodyElements,i.ruleGroupBodyElements),d("ruleGroupHeaderElements",c.ruleGroupHeaderElements,i.ruleGroupHeaderElements),{actionElement:c.actionElement??i.actionElement??Zs.actionElement},{valueSelector:c.valueSelector??i.valueSelector??Zs.valueSelector}),[i.actionElement,i.addGroupAction,i.addRuleAction,i.cloneGroupAction,i.cloneRuleAction,i.combinatorSelector,i.dragHandle,i.fieldSelector,i.inlineCombinator,i.lockGroupAction,i.lockRuleAction,i.muteGroupAction,i.muteRuleAction,i.matchModeEditor,i.notToggle,i.operatorSelector,i.removeGroupAction,i.removeRuleAction,i.rule,i.ruleGroup,i.ruleGroupBodyElements,i.ruleGroupHeaderElements,i.shiftActions,i.valueEditor,i.valueSelector,i.valueSourceSelector,d,e,c.actionElement,c.addGroupAction,c.addRuleAction,c.cloneGroupAction,c.cloneRuleAction,c.combinatorSelector,c.dragHandle,c.fieldSelector,c.inlineCombinator,c.lockGroupAction,c.lockRuleAction,c.muteGroupAction,c.muteRuleAction,c.matchModeEditor,c.notToggle,c.operatorSelector,c.removeGroupAction,c.removeRuleAction,c.rule,c.ruleGroup,c.ruleGroupBodyElements,c.ruleGroupHeaderElements,c.shiftActions,c.valueEditor,c.valueSelector,c.valueSourceSelector]),u=t.translations??Js,h=r.translations??Js,m=D.useMemo(()=>{var ur,ta,ra,oa,vl,xl,na,ab,sb,lb,ib,cb,db,ub,pb,fb,hb,mb,gb,bb,yb,vb,xb,wb,Cb,Sb,Nb,Eb,kb,_b,Db,Ab,Tb,Ib,Pb,Mb,Ob,Lb,Fb,$b,Gb,Vb,zb,Bb,Ub,Wb,Hb,jb,Yb,qb,Qb,Kb,Xb,Jb,Zb,Rb,ey,ty,ry,oy,ny,ay,sy,ly,iy,cy,dy,uy,py,fy,hy,my,gy,by,yy,vy,xy,wy,Cy,Sy,Ny,Ey,ky,_y,Dy,Ay,Ty,Iy,Py,My,Oy,Ly,Fy,$y,Gy,Vy,zy,By,Uy,Wy,Hy,jy,Yy,qy,Qy,Ky,Xy,Jy;return Object.assign({},He("addGroup",{label:[(ur=u.addGroup)==null?void 0:ur.label,(ta=h.addGroup)==null?void 0:ta.label],title:[(ra=u.addGroup)==null?void 0:ra.title,(oa=h.addGroup)==null?void 0:oa.title]},We),He("addRule",{label:[(vl=u.addRule)==null?void 0:vl.label,(xl=h.addRule)==null?void 0:xl.label],title:[(na=u.addRule)==null?void 0:na.title,(ab=h.addRule)==null?void 0:ab.title]},We),He("cloneRule",{label:[(sb=u.cloneRule)==null?void 0:sb.label,(lb=h.cloneRule)==null?void 0:lb.label],title:[(ib=u.cloneRule)==null?void 0:ib.title,(cb=h.cloneRule)==null?void 0:cb.title]},We),He("cloneRuleGroup",{label:[(db=u.cloneRuleGroup)==null?void 0:db.label,(ub=h.cloneRuleGroup)==null?void 0:ub.label],title:[(pb=u.cloneRuleGroup)==null?void 0:pb.title,(fb=h.cloneRuleGroup)==null?void 0:fb.title]},We),He("combinators",{title:[(hb=u.combinators)==null?void 0:hb.title,(mb=h.combinators)==null?void 0:mb.title]},We),He("dragHandle",{label:[(gb=u.dragHandle)==null?void 0:gb.label,(bb=h.dragHandle)==null?void 0:bb.label],title:[(yb=u.dragHandle)==null?void 0:yb.title,(vb=h.dragHandle)==null?void 0:vb.title]},We),He("fields",{placeholderGroupLabel:[(xb=u.fields)==null?void 0:xb.placeholderGroupLabel,(wb=h.fields)==null?void 0:wb.placeholderGroupLabel],placeholderLabel:[(Cb=u.fields)==null?void 0:Cb.placeholderLabel,(Sb=h.fields)==null?void 0:Sb.placeholderLabel],placeholderName:[(Nb=u.fields)==null?void 0:Nb.placeholderName,(Eb=h.fields)==null?void 0:Eb.placeholderName],title:[(kb=u.fields)==null?void 0:kb.title,(_b=h.fields)==null?void 0:_b.title]},We),He("lockGroup",{label:[(Db=u.lockGroup)==null?void 0:Db.label,(Ab=h.lockGroup)==null?void 0:Ab.label],title:[(Tb=u.lockGroup)==null?void 0:Tb.title,(Ib=h.lockGroup)==null?void 0:Ib.title]},We),He("lockGroupDisabled",{label:[(Pb=u.lockGroupDisabled)==null?void 0:Pb.label,(Mb=h.lockGroupDisabled)==null?void 0:Mb.label],title:[(Ob=u.lockGroupDisabled)==null?void 0:Ob.title,(Lb=h.lockGroupDisabled)==null?void 0:Lb.title]},We),He("lockRule",{label:[(Fb=u.lockRule)==null?void 0:Fb.label,($b=h.lockRule)==null?void 0:$b.label],title:[(Gb=u.lockRule)==null?void 0:Gb.title,(Vb=h.lockRule)==null?void 0:Vb.title]},We),He("lockRuleDisabled",{label:[(zb=u.lockRuleDisabled)==null?void 0:zb.label,(Bb=h.lockRuleDisabled)==null?void 0:Bb.label],title:[(Ub=u.lockRuleDisabled)==null?void 0:Ub.title,(Wb=h.lockRuleDisabled)==null?void 0:Wb.title]},We),He("muteGroup",{label:[(Hb=u.muteGroup)==null?void 0:Hb.label,(jb=h.muteGroup)==null?void 0:jb.label],title:[(Yb=u.muteGroup)==null?void 0:Yb.title,(qb=h.muteGroup)==null?void 0:qb.title]},We),He("unmuteGroup",{label:[(Qb=u.unmuteGroup)==null?void 0:Qb.label,(Kb=h.unmuteGroup)==null?void 0:Kb.label],title:[(Xb=u.unmuteGroup)==null?void 0:Xb.title,(Jb=h.unmuteGroup)==null?void 0:Jb.title]},We),He("muteRule",{label:[(Zb=u.muteRule)==null?void 0:Zb.label,(Rb=h.muteRule)==null?void 0:Rb.label],title:[(ey=u.muteRule)==null?void 0:ey.title,(ty=h.muteRule)==null?void 0:ty.title]},We),He("unmuteRule",{label:[(ry=u.unmuteRule)==null?void 0:ry.label,(oy=h.unmuteRule)==null?void 0:oy.label],title:[(ny=u.unmuteRule)==null?void 0:ny.title,(ay=h.unmuteRule)==null?void 0:ay.title]},We),He("notToggle",{label:[(sy=u.notToggle)==null?void 0:sy.label,(ly=h.notToggle)==null?void 0:ly.label],title:[(iy=u.notToggle)==null?void 0:iy.title,(cy=h.notToggle)==null?void 0:cy.title]},We),He("operators",{placeholderGroupLabel:[(dy=u.operators)==null?void 0:dy.placeholderGroupLabel,(uy=h.operators)==null?void 0:uy.placeholderGroupLabel],placeholderLabel:[(py=u.operators)==null?void 0:py.placeholderLabel,(fy=h.operators)==null?void 0:fy.placeholderLabel],placeholderName:[(hy=u.operators)==null?void 0:hy.placeholderName,(my=h.operators)==null?void 0:my.placeholderName],title:[(gy=u.operators)==null?void 0:gy.title,(by=h.operators)==null?void 0:by.title]},We),He("values",{placeholderGroupLabel:[(yy=u.values)==null?void 0:yy.placeholderGroupLabel,(vy=h.values)==null?void 0:vy.placeholderGroupLabel],placeholderLabel:[(xy=u.values)==null?void 0:xy.placeholderLabel,(wy=h.values)==null?void 0:wy.placeholderLabel],placeholderName:[(Cy=u.values)==null?void 0:Cy.placeholderName,(Sy=h.values)==null?void 0:Sy.placeholderName],title:[(Ny=u.values)==null?void 0:Ny.title,(Ey=h.values)==null?void 0:Ey.title]},We),He("removeGroup",{label:[(ky=u.removeGroup)==null?void 0:ky.label,(_y=h.removeGroup)==null?void 0:_y.label],title:[(Dy=u.removeGroup)==null?void 0:Dy.title,(Ay=h.removeGroup)==null?void 0:Ay.title]},We),He("removeRule",{label:[(Ty=u.removeRule)==null?void 0:Ty.label,(Iy=h.removeRule)==null?void 0:Iy.label],title:[(Py=u.removeRule)==null?void 0:Py.title,(My=h.removeRule)==null?void 0:My.title]},We),He("shiftActionDown",{label:[(Oy=u.shiftActionDown)==null?void 0:Oy.label,(Ly=h.shiftActionDown)==null?void 0:Ly.label],title:[(Fy=u.shiftActionDown)==null?void 0:Fy.title,($y=h.shiftActionDown)==null?void 0:$y.title]},We),He("shiftActionUp",{label:[(Gy=u.shiftActionUp)==null?void 0:Gy.label,(Vy=h.shiftActionUp)==null?void 0:Vy.label],title:[(zy=u.shiftActionUp)==null?void 0:zy.title,(By=h.shiftActionUp)==null?void 0:By.title]},We),He("matchMode",{title:[(Uy=u.matchMode)==null?void 0:Uy.title,(Wy=h.matchMode)==null?void 0:Wy.title]},We),He("matchThreshold",{title:[(Hy=u.matchThreshold)==null?void 0:Hy.title,(jy=h.matchThreshold)==null?void 0:jy.title],placeholderName:[(Yy=u.matchThreshold)==null?void 0:Yy.placeholderName,(qy=h.matchThreshold)==null?void 0:qy.placeholderName]},We),He("value",{title:[(Qy=u.value)==null?void 0:Qy.title,(Ky=h.value)==null?void 0:Ky.title]},We),He("valueSourceSelector",{title:[(Xy=u.valueSourceSelector)==null?void 0:Xy.title,(Jy=h.valueSourceSelector)==null?void 0:Jy.title]},We))},[(g=h.addGroup)==null?void 0:g.label,(y=h.addGroup)==null?void 0:y.title,(b=h.addRule)==null?void 0:b.label,(C=h.addRule)==null?void 0:C.title,(w=h.cloneRule)==null?void 0:w.label,(x=h.cloneRule)==null?void 0:x.title,(S=h.cloneRuleGroup)==null?void 0:S.label,(N=h.cloneRuleGroup)==null?void 0:N.title,(E=h.combinators)==null?void 0:E.title,(M=h.dragHandle)==null?void 0:M.label,(k=h.dragHandle)==null?void 0:k.title,(T=h.fields)==null?void 0:T.placeholderGroupLabel,(A=h.fields)==null?void 0:A.placeholderLabel,(L=h.fields)==null?void 0:L.placeholderName,(O=h.fields)==null?void 0:O.title,(F=h.lockGroup)==null?void 0:F.label,(V=h.lockGroup)==null?void 0:V.title,(re=h.lockGroupDisabled)==null?void 0:re.label,(K=h.lockGroupDisabled)==null?void 0:K.title,(H=h.lockRule)==null?void 0:H.label,(ee=h.lockRule)==null?void 0:ee.title,(G=h.lockRuleDisabled)==null?void 0:G.label,(z=h.lockRuleDisabled)==null?void 0:z.title,(Ce=h.muteGroup)==null?void 0:Ce.label,($=h.muteGroup)==null?void 0:$.title,(q=h.unmuteGroup)==null?void 0:q.label,(xe=h.unmuteGroup)==null?void 0:xe.title,(oe=h.muteRule)==null?void 0:oe.label,(he=h.muteRule)==null?void 0:he.title,(Y=h.unmuteRule)==null?void 0:Y.label,(ce=h.unmuteRule)==null?void 0:ce.title,(te=h.matchMode)==null?void 0:te.title,(Ne=h.matchThreshold)==null?void 0:Ne.title,(be=h.matchThreshold)==null?void 0:be.placeholderName,(ue=h.notToggle)==null?void 0:ue.label,(X=h.notToggle)==null?void 0:X.title,(ne=h.operators)==null?void 0:ne.placeholderGroupLabel,(pe=h.operators)==null?void 0:pe.placeholderLabel,(Se=h.operators)==null?void 0:Se.placeholderName,(je=h.operators)==null?void 0:je.title,(Je=h.removeGroup)==null?void 0:Je.label,(Re=h.removeGroup)==null?void 0:Re.title,(Ye=h.removeRule)==null?void 0:Ye.label,(ye=h.removeRule)==null?void 0:ye.title,(rt=h.shiftActionDown)==null?void 0:rt.label,(Le=h.shiftActionDown)==null?void 0:Le.title,(Ge=h.shiftActionUp)==null?void 0:Ge.label,(Ue=h.shiftActionUp)==null?void 0:Ue.title,(Ee=h.value)==null?void 0:Ee.title,(ct=h.values)==null?void 0:ct.placeholderGroupLabel,(et=h.values)==null?void 0:et.placeholderLabel,(_r=h.values)==null?void 0:_r.placeholderName,(Yt=h.values)==null?void 0:Yt.title,(_=h.valueSourceSelector)==null?void 0:_.title,e,(I=u.addGroup)==null?void 0:I.label,(P=u.addGroup)==null?void 0:P.title,(W=u.addRule)==null?void 0:W.label,(U=u.addRule)==null?void 0:U.title,(J=u.cloneRule)==null?void 0:J.label,(B=u.cloneRule)==null?void 0:B.title,(Q=u.cloneRuleGroup)==null?void 0:Q.label,(ie=u.cloneRuleGroup)==null?void 0:ie.title,(De=u.combinators)==null?void 0:De.title,(Ve=u.dragHandle)==null?void 0:Ve.label,(Dt=u.dragHandle)==null?void 0:Dt.title,(_e=u.fields)==null?void 0:_e.placeholderGroupLabel,(Ke=u.fields)==null?void 0:Ke.placeholderLabel,(ot=u.fields)==null?void 0:ot.placeholderName,(dr=u.fields)==null?void 0:dr.title,(rn=u.lockGroup)==null?void 0:rn.label,(er=u.lockGroup)==null?void 0:er.title,(on=u.lockGroupDisabled)==null?void 0:on.label,(qn=u.lockGroupDisabled)==null?void 0:qn.title,(At=u.lockRule)==null?void 0:At.label,(nn=u.lockRule)==null?void 0:nn.title,(mt=u.lockRuleDisabled)==null?void 0:mt.label,(fl=u.lockRuleDisabled)==null?void 0:fl.title,(Qn=u.muteGroup)==null?void 0:Qn.label,(Kn=u.muteGroup)==null?void 0:Kn.title,(Xn=u.unmuteGroup)==null?void 0:Xn.label,(an=u.unmuteGroup)==null?void 0:an.title,(Jn=u.muteRule)==null?void 0:Jn.label,(Zn=u.muteRule)==null?void 0:Zn.title,(tr=u.unmuteRule)==null?void 0:tr.label,(Rn=u.unmuteRule)==null?void 0:Rn.title,(hl=u.matchMode)==null?void 0:hl.title,(ml=u.matchThreshold)==null?void 0:ml.title,(gl=u.matchThreshold)==null?void 0:gl.placeholderName,(bl=u.notToggle)==null?void 0:bl.label,(ea=u.notToggle)==null?void 0:ea.title,(yl=u.operators)==null?void 0:yl.placeholderGroupLabel,(fe=u.operators)==null?void 0:fe.placeholderLabel,(Te=u.operators)==null?void 0:Te.placeholderName,(Fe=u.operators)==null?void 0:Fe.title,(Me=u.removeGroup)==null?void 0:Me.label,(Pe=u.removeGroup)==null?void 0:Pe.title,(wt=u.removeRule)==null?void 0:wt.label,(Pt=u.removeRule)==null?void 0:Pt.title,(oo=u.shiftActionDown)==null?void 0:oo.label,(Dr=u.shiftActionDown)==null?void 0:Dr.title,(no=u.shiftActionUp)==null?void 0:no.label,(Zg=u.shiftActionUp)==null?void 0:Zg.title,(Rg=u.value)==null?void 0:Rg.title,(eb=u.values)==null?void 0:eb.placeholderGroupLabel,(tb=u.values)==null?void 0:tb.placeholderLabel,(rb=u.values)==null?void 0:rb.placeholderName,(ob=u.values)==null?void 0:ob.title,(nb=u.valueSourceSelector)==null?void 0:nb.title]);return{...o,controlClassnames:s,controlElements:f,enableDragAndDrop:n,translations:m,initialQuery:t.initialQuery,qbId:t.qbId}},X_=({disabled:e,path:t,nestedArray:r,disabledPaths:o})=>{const n=r.length;return D.useMemo(()=>{const a=[];for(let s=0;s<n;s++){const i=[...t,s];a[s]={path:i,disabled:e||o.some(c=>Eo(i,c))}}return a},[e,t,n,o])};let Xm=!1;const Jm=(e,t)=>{process.env.NODE_ENV!=="production"&&!Xm&&e&&!t&&(console.error(Nt.errorEnabledDndWithoutReactDnD),Xm=!0)},st=e=>D.useCallback((t,r)=>{t==null||t.preventDefault(),t==null||t.stopPropagation(),e(t,r)},[e]),J_={mode:"all"},Z_=[{name:"",value:"",label:""}],R_=v.memo(function(t){const r=rD(t),{dndRef:o}=r,n=st(r.cloneRule),a=st(r.toggleLockRule),s=st(r.toggleMuteRule),i=st(r.removeRule),c=st(r.shiftRuleUp),d=st(r.shiftRuleDown),f=D.useMemo(()=>({cloneRule:n,toggleLockRule:a,toggleMuteRule:s,removeRule:i,shiftRuleUp:c,shiftRuleDown:d}),[n,i,d,c,a,s]);return v.createElement("div",{ref:o,"data-testid":ge.rule,"data-dragmonitorid":r.dragMonitorId,"data-dropmonitorid":r.dropMonitorId,className:r.outerClassName,"data-rule-id":r.id,"data-level":r.path.length,"data-path":JSON.stringify(r.path)},r.matchModes.length>0?v.createElement(tD,{...r,...f}):v.createElement(Zm,{...r,...f}))}),Zm=v.memo(function(t){const{dragRef:r,schema:{controls:{shiftActions:o,dragHandle:n,fieldSelector:a,matchModeEditor:s,operatorSelector:i,valueSourceSelector:c,valueEditor:d,cloneRuleAction:f,lockRuleAction:u,muteRuleAction:h,removeRuleAction:m,ruleGroupBodyElements:g,ruleGroupHeaderElements:y}},groupComponentsWrapper:b=v.Fragment}=t,C=D.useMemo(()=>({level:t.path.length,path:t.path,disabled:t.disabled,context:t.context,validation:t.validationResult,schema:t.schema,rule:t.rule}),[t.path,t.disabled,t.context,t.validationResult,t.schema,t.rule]),w=D.useMemo(()=>!(t.schema.fields.length===1&&Jr(t.schema.fields[0])&&"value"in t.schema.fields[0]&&t.schema.fields[0].value===""),[t.schema.fields]),x=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.title,shiftDown:t.translations.shiftActionDown.title}:void 0,[t.schema.showShiftActions,t.translations]),S=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.label,shiftDown:t.translations.shiftActionDown.label}:void 0,[t.schema.showShiftActions,t.translations]);return v.createElement(v.Fragment,null,t.schema.showShiftActions&&v.createElement(o,{key:ge.shiftActions,...C,testID:ge.shiftActions,titles:x,labels:S,className:t.classNames.shiftActions,ruleOrGroup:t.rule,shiftUp:t.shiftRuleUp,shiftDown:t.shiftRuleDown,shiftUpDisabled:t.shiftUpDisabled,shiftDownDisabled:t.shiftDownDisabled}),t.schema.enableDragAndDrop&&v.createElement(n,{key:ge.dragHandle,...C,testID:ge.dragHandle,ref:r,title:t.translations.dragHandle.title,label:t.translations.dragHandle.label,className:t.classNames.dragHandle,dragHandleAttributes:t.dragHandleAttributes,ruleOrGroup:t.rule}),w&&v.createElement(a,{key:ge.fields,...C,testID:ge.fields,options:t.schema.fields,title:t.translations.fields.title,value:t.rule.field,operator:t.rule.operator,className:t.classNames.fields,handleOnChange:t.onChangeField}),(t.schema.autoSelectField||t.rule.field!==t.translations.fields.placeholderName)&&(t.subQuery?v.createElement(s,{key:ge.matchModeEditor,...C,testID:ge.matchModeEditor,field:t.rule.field,fieldData:t.fieldData,title:t.translations.matchMode.title,options:t.matchModes,thresholdPlaceholder:t.translations.matchThreshold.placeholderName,match:t.rule.match??J_,className:t.classNames.matchMode,classNames:t.classNames,handleOnChange:t.onChangeMatchMode}):v.createElement(v.Fragment,null,v.createElement(i,{key:ge.operators,...C,testID:ge.operators,field:t.rule.field,fieldData:t.fieldData,title:t.translations.operators.title,options:t.operators,value:t.rule.operator,className:t.classNames.operators,handleOnChange:t.onChangeOperator}),(t.schema.autoSelectOperator||t.rule.operator!==t.translations.operators.placeholderName)&&!t.hideValueControls&&v.createElement(v.Fragment,null,!["null","notnull"].includes(No(`${t.rule.operator}`))&&t.valueSources.length>1&&v.createElement(c,{key:ge.valueSourceSelector,...C,testID:ge.valueSourceSelector,field:t.rule.field,fieldData:t.fieldData,title:t.translations.valueSourceSelector.title,options:t.valueSourceOptions,value:t.rule.valueSource??"value",className:t.classNames.valueSource,handleOnChange:t.onChangeValueSource}),v.createElement(d,{key:ge.valueEditor,...C,testID:ge.valueEditor,field:t.rule.field,fieldData:t.fieldData,title:t.translations.value.title,operator:t.rule.operator,value:t.rule.value,valueSource:t.rule.valueSource??"value",type:t.valueEditorType,inputType:t.inputType,values:t.values,listsAsArrays:t.schema.listsAsArrays,parseNumbers:t.schema.parseNumbers,separator:t.valueEditorSeparator,className:t.classNames.value,handleOnChange:t.onChangeValue})))),t.subQuery&&v.createElement(b,{className:t.subQuery.classNames.header},v.createElement(y,t.subQuery)),t.schema.showCloneButtons&&v.createElement(f,{key:ge.cloneRule,...C,testID:ge.cloneRule,label:t.translations.cloneRule.label,title:t.translations.cloneRule.title,className:t.classNames.cloneRule,ruleOrGroup:t.rule,handleOnClick:t.cloneRule}),t.schema.showLockButtons&&v.createElement(u,{key:ge.lockRule,...C,testID:ge.lockRule,label:t.translations.lockRule.label,title:t.translations.lockRule.title,className:t.classNames.lockRule,ruleOrGroup:t.rule,handleOnClick:t.toggleLockRule,disabledTranslation:t.parentDisabled?void 0:t.translations.lockRuleDisabled}),t.schema.showMuteButtons&&v.createElement(h,{key:ge.muteRule,...C,testID:ge.muteRule,label:t.rule.muted?t.translations.unmuteRule.label:t.translations.muteRule.label,title:t.rule.muted?t.translations.unmuteRule.title:t.translations.muteRule.title,className:t.classNames.muteRule,ruleOrGroup:t.rule,handleOnClick:t.toggleMuteRule}),v.createElement(m,{key:ge.removeRule,...C,testID:ge.removeRule,label:t.translations.removeRule.label,title:t.translations.removeRule.title,className:t.classNames.removeRule,ruleOrGroup:t.rule,handleOnClick:t.removeRule}),t.subQuery&&v.createElement(b,{className:t.subQuery.classNames.body},v.createElement(g,t.subQuery)))}),eD=e=>v.createElement("div",e),tD=v.memo(function(t){const r=D.useMemo(()=>t.schema.createRuleGroup(),[t.schema]),o=Qm({...t.subQueryBuilderProps,enableDragAndDrop:!1,disabled:t.disabled,fields:t.subproperties.fields,enableMountQueryChange:!Xe(t.rule.value)||!t.rule.value.id,query:Xe(t.rule.value)?t.rule.value:r,onQueryChange:t.onChangeValue}),n=Km({...o,ruleGroup:o.rootGroup,path:Ph,disabled:t.disabled,parentDisabled:o.queryDisabled,id:o.rootGroup.id,shiftUpDisabled:!0,shiftDownDisabled:!0}),a=st(n.addRule),s=st(n.addGroup),i=st(n.cloneGroup),c=st(n.toggleLockGroup),d=st(n.removeGroup),f=st(n.shiftGroupUp),u=st(n.shiftGroupDown),h=D.useMemo(()=>({...n,addGroup:s,addRule:a,cloneGroup:i,removeGroup:d,shiftGroupDown:u,shiftGroupUp:f,toggleLockGroup:c}),[s,a,i,d,u,f,n,c]);return v.createElement(Zm,{...t,groupComponentsWrapper:t.groupComponentsWrapper??eD,subQuery:h})}),rD=e=>{const{id:t,path:r,rule:o,schema:{classNames:n,fields:a,fieldMap:s,getParameters:i,getInputType:c,getMatchModes:d,getOperators:f,getSubQueryBuilderProps:u,getValueEditorType:h,getValueEditorSeparator:m,getValueSources:g,getValues:y,validationMap:b,enableDragAndDrop:C,getRuleClassname:w,suppressStandardClassnames:x},actions:{moveRule:S,onPropChange:N,onRuleRemove:E},disabled:M,parentDisabled:k,parentMuted:T,shiftUpDisabled:A,shiftDownDisabled:L,field:O,operator:F,value:V,valueSource:re,dropEffect:K="move",groupItems:H=!1,dragMonitorId:ee="",dropMonitorId:G="",dndRef:z=null,dragRef:Ce=null,isDragging:$=!1,isOver:q=!1,dropNotAllowed:xe=!1}=e;jc("rule",!o),Jm(C,!!(ee||G||z||Ce));const oe=!!k||!!M,he=!!T||!!(o!=null&&o.muted),Y=D.useMemo(()=>o??{id:t,field:O??"",operator:F??"",value:V,valueSource:re},[O,t,F,o,V,re]),ce=D.useMemo(()=>({shiftActions:Oe(x||me.shiftActions,n.shiftActions),dragHandle:Oe(x||me.dragHandle,n.dragHandle),fields:Oe(x||me.fields,n.valueSelector,n.fields),matchMode:Oe(x||me.matchMode,n.valueSelector,n.matchMode),matchThreshold:Oe(x||me.matchThreshold,n.valueSelector,n.matchThreshold),operators:Oe(x||me.operators,n.valueSelector,n.operators),valueSource:Oe(x||me.valueSource,n.valueSelector,n.valueSource),value:Oe(x||me.value,n.value),cloneRule:Oe(x||me.cloneRule,n.actionElement,n.cloneRule),lockRule:Oe(x||me.lockRule,n.actionElement,n.lockRule),muteRule:Oe(x||me.muteRule,n.actionElement,n.muteRule),removeRule:Oe(x||me.removeRule,n.actionElement,n.removeRule),valueListItem:Oe(x||me.valueListItem,n.valueListItem)}),[n.shiftActions,n.dragHandle,n.valueSelector,n.fields,n.matchMode,n.matchThreshold,n.operators,n.valueSource,n.value,n.actionElement,n.cloneRule,n.lockRule,n.muteRule,n.removeRule,n.valueListItem,x]),te=D.useCallback(_e=>(Ke,ot)=>{oe||N(_e,Ke,r,ot)},[oe,N,r]),Ne=D.useMemo(()=>te("field"),[te]),be=D.useMemo(()=>te("operator"),[te]),ue=D.useMemo(()=>te("match"),[te]),X=D.useMemo(()=>te("valueSource"),[te]),ne=D.useMemo(()=>te("value"),[te]),pe=D.useCallback((_e,Ke)=>{if(!oe){const ot=[...at(r),r.at(-1)+1];S(r,ot,!0,Ke)}},[oe,S,r]),Se=D.useCallback((_e,Ke)=>N("disabled",!oe,r,Ke),[oe,N,r]),je=D.useCallback((_e,Ke)=>N("muted",!Y.muted,r,Ke),[Y.muted,N,r]),Je=D.useCallback((_e,Ke)=>{oe||E(r)},[oe,E,r]),Re=D.useCallback((_e,Ke)=>{!oe&&!A&&S(r,"up",_e==null?void 0:_e.altKey,Ke)},[oe,S,r,A]),Ye=D.useCallback((_e,Ke)=>{!oe&&!L&&S(r,"down",_e==null?void 0:_e.altKey,Ke)},[oe,S,r,L]),ye=D.useMemo(()=>(s==null?void 0:s[Y.field])??{name:Y.field,value:Y.field,label:Y.field},[s,Y.field]),rt=D.useMemo(()=>ye.inputType??c(Y.field,Y.operator,{fieldData:ye}),[ye,c,Y.field,Y.operator]),Le=D.useMemo(()=>d(Y.field,{fieldData:ye}),[ye,d,Y.field]),Ge=D.useMemo(()=>f(Y.field,{fieldData:ye}),[ye,f,Y.field]),Ue=D.useMemo(()=>Ko(Ge,Y.operator),[Ge,Y.operator]),Ee=Ue==null?void 0:Ue.arity,ct=typeof Ee=="string"&&Ee==="unary"||typeof Ee=="number"&&Ee<2,et=D.useMemo(()=>{const _e=g(Y.field,Y.operator,{fieldData:ye});return Y.valueSource&&!Ko(_e,Y.valueSource)?[..._e,{name:Y.valueSource,value:Y.valueSource,label:Y.valueSource}]:_e},[ye,g,Y.field,Y.operator,Y.valueSource]),_r=D.useMemo(()=>et.map(({value:_e})=>_e),[et]),Yt=D.useMemo(()=>i(Y.field,Y.operator,{fieldData:ye}),[ye,i,Y.field,Y.operator]),_=D.useMemo(()=>Yt&&Yt.length>0?Yt:null,[Yt]),I=D.useMemo(()=>Y.valueSource==="field"?"select":Y.valueSource==="parameter"?_?No(Y.operator)==="in"||No(Y.operator)==="notin"?"multiselect":"select":"text":h(Y.field,Y.operator,{fieldData:ye}),[ye,h,_,Y.field,Y.operator,Y.valueSource]),P=D.useMemo(()=>m(Y.field,Y.operator,{fieldData:ye}),[ye,m,Y.field,Y.operator]),W=D.useMemo(()=>{const _e=Y.valueSource==="field"?zh(ye,a,Y.operator):Y.valueSource==="parameter"?_??[]:y(Y.field,Y.operator,{fieldData:ye});return _s(_e)||Zr(_e)?ks(_e):_e},[ye,a,y,_,Y.field,Y.operator,Y.valueSource]),U=D.useMemo(()=>u(Y.field,{fieldData:ye}),[ye,u,Y.field]),J=jm({translations:e.translations,fields:ye.subproperties??U.fields??Z_,autoSelectField:e.schema.autoSelectField||!!ye.subproperties}),B=D.useMemo(()=>b[t??""]??(typeof ye.validator=="function"?ye.validator(Y):null),[ye,t,Y,b]),Q=D.useMemo(()=>Hh(B),[B]),ie=(ye==null?void 0:ye.className)??"",De=(Ue==null?void 0:Ue.className)??"",Ve=Le.length>0,Dt=D.useMemo(()=>Oe(w(Y,{fieldData:ye}),ie,De,x||me.rule,n.rule,oe&&n.disabled,he&&n.muted,$&&n.dndDragging,q&&n.dndOver,q&&K==="copy"&&n.dndCopy,q&&H&&n.dndGroup,xe&&n.dndDropNotAllowed,Ve&&n.hasSubQuery,x||{[me.disabled]:oe,[me.muted]:he,[me.dndDragging]:$,[me.dndOver]:q,[me.dndCopy]:q&&K==="copy",[me.dndGroup]:q&&H,[me.dndDropNotAllowed]:xe,[me.hasSubQuery]:Ve},Q),[n.disabled,n.muted,n.dndCopy,n.dndDragging,n.dndGroup,n.dndOver,n.dndDropNotAllowed,n.hasSubQuery,n.rule,oe,K,xe,he,ie,ye,w,H,Ve,$,q,De,Y,x,Q]);return{...e,classNames:ce,cloneRule:pe,disabled:oe,dndRef:z,dragMonitorId:ee,dragRef:Ce,dropMonitorId:G,fieldData:ye,generateOnChangeHandler:te,onChangeField:Ne,onChangeMatchMode:ue,onChangeOperator:be,onChangeValueSource:X,onChangeValue:ne,hideValueControls:ct,inputType:rt,matchModes:Le,muted:he,operators:Ge,outerClassName:Dt,removeRule:Je,rule:Y,shiftRuleUp:Re,shiftRuleDown:Ye,subproperties:J,subQueryBuilderProps:U,toggleLockRule:Se,toggleMuteRule:je,validationResult:B,valueEditorSeparator:P,valueEditorType:I,values:W,valueSourceOptions:et,valueSources:_r}},Zs={actionElement:lr,addGroupAction:lr,addRuleAction:lr,cloneGroupAction:lr,cloneRuleAction:lr,combinatorSelector:Un,dragHandle:p_,fieldSelector:Un,inlineCombinator:f_,lockGroupAction:lr,lockRuleAction:lr,matchModeEditor:h_,muteGroupAction:lr,muteRuleAction:lr,notToggle:g_,operatorSelector:Un,removeGroupAction:lr,removeRuleAction:lr,rule:R_,ruleGroup:$_,ruleGroupBodyElements:V_,ruleGroupHeaderElements:G_,shiftActions:z_,valueEditor:U_,valueSelector:Un,valueSourceSelector:Un};Ym();const oD=e=>v.createElement(l_,{context:Wm,store:Ym()},e.children),Rs=e=>v.createElement(oD,null,v.createElement(q_,{props:e}));function Rm(e,t,r){var n,a;const o={visible:!0,required:((n=e.validation)==null?void 0:n.required)??!1,disabled:((a=e.properties)==null?void 0:a.disabled)??!1};return e.logic&&(o.visible=nD(e.logic,t,r),e.logic.requireWhen&&(o.required=el(e.logic.requireWhen,t,r)),e.logic.disableWhen&&(o.disabled=el(e.logic.disableWhen,t,r))),o}function nD(e,t,r){const{showWhen:o,hideWhen:n}=e;let a=!0;if(o&&o.rules&&o.rules.length>0&&(a=el(o,t,r)),n&&n.rules&&n.rules.length>0){const s=el(n,t,r);a=a&&!s}return a}function el(e,t,r){if(!e||!e.rules||e.rules.length===0)return!0;const{combinator:o,rules:n}=e,a=n.map(s=>{const i=r.find(f=>f.id===s.field||f.attributes.name===s.field),c=(i==null?void 0:i.attributes.name)||s.field,d=t[c];return aD(d,s.operator,s.value)});return o==="and"?a.every(s=>s):a.some(s=>s)}function aD(e,t,r){const o=e??"";switch(t){case"equals":case"=":case"==":return o===r;case"notEquals":case"!=":case"<>":return o!==r;case"contains":return String(o).toLowerCase().includes(String(r).toLowerCase());case"notContains":case"doesNotContain":return!String(o).toLowerCase().includes(String(r).toLowerCase());case"startsWith":case"beginsWith":return String(o).toLowerCase().startsWith(String(r).toLowerCase());case"endsWith":return String(o).toLowerCase().endsWith(String(r).toLowerCase());case"matches":try{return new RegExp(r,"i").test(String(o))}catch{return!1}case"isEmpty":case"null":return o===""||o===null||o===void 0||Array.isArray(o)&&o.length===0;case"isNotEmpty":case"notNull":return o!==""&&o!==null&&o!==void 0&&!(Array.isArray(o)&&o.length===0);case"greaterThan":case">":return Number(o)>Number(r);case"greaterThanOrEquals":case">=":return Number(o)>=Number(r);case"lessThan":case"<":return Number(o)<Number(r);case"lessThanOrEquals":case"<=":return Number(o)<=Number(r);case"between":if(Array.isArray(r)&&r.length===2){const n=Number(o);return n>=Number(r[0])&&n<=Number(r[1])}return!1;case"notBetween":if(Array.isArray(r)&&r.length===2){const n=Number(o);return n<Number(r[0])||n>Number(r[1])}return!0;case"in":return Array.isArray(r)?r.includes(o):!1;case"notIn":return Array.isArray(r)?!r.includes(o):!0;case"isTrue":return o===!0||o==="true"||o===1;case"isFalse":return o===!1||o==="false"||o===0;case"hasLength":return Array.isArray(o)&&o.length===Number(r);case"hasMinLength":return Array.isArray(o)&&o.length>=Number(r);case"hasMaxLength":return Array.isArray(o)&&o.length<=Number(r);case"includes":case"arrayContains":return Array.isArray(o)&&o.includes(r);case"notIncludes":case"arrayNotContains":return!Array.isArray(o)||!o.includes(r);default:return console.warn(`Unknown operator: ${t}`),!0}}function sD(e){const t=[{name:"isEmpty",label:"is empty"},{name:"isNotEmpty",label:"is not empty"}],r=[{name:"equals",label:"equals"},{name:"notEquals",label:"does not equal"}],o=[...r,{name:"contains",label:"contains"},{name:"notContains",label:"does not contain"},{name:"startsWith",label:"starts with"},{name:"endsWith",label:"ends with"},...t],n=[...r,{name:"greaterThan",label:"is greater than"},{name:"greaterThanOrEquals",label:"is greater than or equal to"},{name:"lessThan",label:"is less than"},{name:"lessThanOrEquals",label:"is less than or equal to"},{name:"between",label:"is between"},...t],a=[{name:"isTrue",label:"is checked"},{name:"isFalse",label:"is not checked"}],s=[...r,{name:"in",label:"is one of"},{name:"notIn",label:"is not one of"},...t],i=[{name:"includes",label:"includes"},{name:"notIncludes",label:"does not include"},{name:"hasLength",label:"has exactly"},{name:"hasMinLength",label:"has at least"},{name:"hasMaxLength",label:"has at most"},...t];switch(e){case"shortText":case"longText":case"multiLineInput":case"textEditor":case"email":case"phone":case"url":case"password":case"location":return o;case"number":case"slider":case"rangeSlider":return n;case"decisionBox":case"toggleSwitch":return a;case"singleChoice":case"dropdown":return s;case"multipleChoice":case"tags":return i;case"date":case"time":case"dateTime":case"dateRange":case"multipleDates":return[...r,{name:"greaterThan",label:"is after"},{name:"lessThan",label:"is before"},{name:"between",label:"is between"},...t];case"fileUpload":case"imageUpload":case"multiFileUpload":case"multiImageUpload":return t;case"singleChoiceMatrix":case"multipleChoiceMatrix":case"matrixTable":return t;default:return[...r,...t]}}function lD(e){switch(e){case"number":case"slider":case"rangeSlider":return"number";case"decisionBox":case"toggleSwitch":return"checkbox";case"date":case"dateRange":case"multipleDates":return"date";case"time":return"time";case"dateTime":return"datetime-local";case"singleChoice":case"dropdown":case"multipleChoice":case"tags":return"select";case"email":return"email";default:return"text"}}function iD(e){var t;if((t=e.config)!=null&&t.options&&Array.isArray(e.config.options))return e.config.options.map(r=>({name:r.value,label:r.label}))}function tl(e){return!e||!e.rules||e.rules.length===0?{combinator:"and",rules:[]}:{combinator:e.combinator,rules:e.rules.map(t=>({field:t.field,operator:t.operator,value:t.value}))}}function rl(e){return{combinator:e.combinator,rules:e.rules.filter(t=>"field"in t).map(t=>"field"in t?{field:t.field,operator:t.operator,value:t.value}:null).filter(Boolean)}}const ol=({title:e,children:t,defaultOpen:r=!1,badge:o})=>{const[n,a]=D.useState(r);return l.jsxs(Uf,{open:n,onOpenChange:a,className:p("border border-border rounded-lg overflow-hidden"),children:[l.jsx(Wf,{asChild:!0,children:l.jsxs(Ze,{variant:"ghost",className:p("w-full flex items-center justify-between px-3 py-2 h-auto bg-muted/50 hover:bg-muted rounded-none"),children:[l.jsxs("span",{className:p("flex items-center gap-2 text-sm font-medium text-foreground"),children:[e,o&&l.jsx(Oi,{variant:"secondary",className:p("text-xs"),children:o})]}),l.jsx(Yo,{className:p("h-4 w-4 transition-transform",n&&"rotate-180")})]})}),l.jsx(Hf,{children:l.jsx("div",{className:p("p-3 bg-card"),children:t})})]})},cD=({element:e,elements:t,onUpdate:r})=>{var u,h,m,g,y,b,C,w,x,S,N,E,M,k,T,A,L,O,F,V,re,K,H,ee,G,z,Ce,$,q,xe,oe,he,Y,ce,te,Ne,be,ue,X,ne,pe,Se,je,Je,Re,Ye,ye,rt;const o=D.useMemo(()=>t.filter(Le=>Le.id!==e.id).filter(Le=>!["divider","spacer","paragraph","image","link","formHeading","sectionHeading","subheading","submit"].includes(Le.type)).map(Le=>{var ct;const Ge=sD(Le.type),Ue=lD(Le.type),Ee=iD(Le);return{name:Le.id,label:Le.properties.label||Le.attributes.name||`Field ${Le.order+1}`,inputType:Ue,operators:Ge.map(et=>({name:et.name,label:et.label})),values:Ee==null?void 0:Ee.map(et=>({name:et.name,label:et.label})),defaultOperator:((ct=Ge[0])==null?void 0:ct.name)||"equals"}}),[t,e.id]),n=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,showWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),a=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,hideWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),s=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,requireWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),i=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,disableWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),c=D.useCallback(()=>{r({logic:void 0})},[r]),d=e.logic&&((((h=(u=e.logic.showWhen)==null?void 0:u.rules)==null?void 0:h.length)??0)>0||(((g=(m=e.logic.hideWhen)==null?void 0:m.rules)==null?void 0:g.length)??0)>0||(((b=(y=e.logic.requireWhen)==null?void 0:y.rules)==null?void 0:b.length)??0)>0||(((w=(C=e.logic.disableWhen)==null?void 0:C.rules)==null?void 0:w.length)??0)>0),f=(((N=(S=(x=e.logic)==null?void 0:x.showWhen)==null?void 0:S.rules)==null?void 0:N.length)??0)+(((k=(M=(E=e.logic)==null?void 0:E.hideWhen)==null?void 0:M.rules)==null?void 0:k.length)??0)+(((L=(A=(T=e.logic)==null?void 0:T.requireWhen)==null?void 0:A.rules)==null?void 0:L.length)??0)+(((V=(F=(O=e.logic)==null?void 0:O.disableWhen)==null?void 0:F.rules)==null?void 0:V.length)??0);return o.length===0?l.jsxs("div",{className:p("text-sm text-muted-foreground p-4 text-center bg-muted/50 rounded-lg"),children:[l.jsx(mf,{className:p("w-8 h-8 mx-auto mb-2 text-muted-foreground/50")}),l.jsx("p",{children:"Add more fields to enable conditional logic."}),l.jsx("p",{className:p("text-xs mt-1"),children:"Logic rules require other fields to reference."})]}):l.jsxs("div",{className:p("space-y-3"),children:[l.jsxs("div",{className:p("flex items-center justify-between"),children:[l.jsx("div",{className:p("text-sm text-muted-foreground"),children:d?l.jsxs("span",{className:p("flex items-center gap-2"),children:[l.jsx("span",{className:p("w-2 h-2 bg-primary rounded-full")}),f," rule",f!==1?"s":""," ","configured"]}):l.jsx("span",{className:p("text-muted-foreground/70"),children:"No logic configured"})}),d&&l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-destructive hover:text-destructive hover:bg-destructive/10"),onClick:c,children:[l.jsx(Ti,{className:p("h-3 w-3 mr-1")}),"Clear all"]})]}),l.jsxs(ol,{title:"Show When",defaultOpen:!!((H=(K=(re=e.logic)==null?void 0:re.showWhen)==null?void 0:K.rules)!=null&&H.length),badge:(z=(G=(ee=e.logic)==null?void 0:ee.showWhen)==null?void 0:G.rules)!=null&&z.length?String(e.logic.showWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will only be visible when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((Ce=e.logic)==null?void 0:Ce.showWhen),onQueryChange:n,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Hide When",defaultOpen:!!((xe=(q=($=e.logic)==null?void 0:$.hideWhen)==null?void 0:q.rules)!=null&&xe.length),badge:(Y=(he=(oe=e.logic)==null?void 0:oe.hideWhen)==null?void 0:he.rules)!=null&&Y.length?String(e.logic.hideWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be hidden when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((ce=e.logic)==null?void 0:ce.hideWhen),onQueryChange:a,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Required When",defaultOpen:!!((be=(Ne=(te=e.logic)==null?void 0:te.requireWhen)==null?void 0:Ne.rules)!=null&&be.length),badge:(ne=(X=(ue=e.logic)==null?void 0:ue.requireWhen)==null?void 0:X.rules)!=null&&ne.length?String(e.logic.requireWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be required when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((pe=e.logic)==null?void 0:pe.requireWhen),onQueryChange:s,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Disabled When",defaultOpen:!!((Je=(je=(Se=e.logic)==null?void 0:Se.disableWhen)==null?void 0:je.rules)!=null&&Je.length),badge:(ye=(Ye=(Re=e.logic)==null?void 0:Re.disableWhen)==null?void 0:Ye.rules)!=null&&ye.length?String(e.logic.disableWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be disabled when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((rt=e.logic)==null?void 0:rt.disableWhen),onQueryChange:i,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]})]})};var dD=Object.defineProperty,uD=(e,t)=>dD(e,"name",{value:t,configurable:!0}),pD=v.forwardRef(uD(function(t,r){return l.jsx(Ie.label,{...t,ref:r,onMouseDown:o=>{var a;o.target.closest("button, input, select, textarea")||((a=t.onMouseDown)==null||a.call(t,o),!o.defaultPrevented&&o.detail>1&&o.preventDefault())}})},"Label")),eg=pD;const fD=es("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Zt=v.forwardRef(({className:e,...t},r)=>l.jsx(eg,{ref:r,className:p(fD(),e),...t}));Zt.displayName=eg.displayName;const Qc=v.forwardRef(({className:e,...t},r)=>l.jsx("textarea",{className:p("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));Qc.displayName="Textarea";var hD=Object.defineProperty,Vr=(e,t)=>hD(e,"name",{value:t,configurable:!0}),Kc="Checkbox",[mD,gI]=rr(Kc),[gD,Xc]=mD(Kc);function tg(e){const{__scopeCheckbox:t,checked:r,children:o,defaultChecked:n,disabled:a,form:s,name:i,onCheckedChange:c,required:d,value:f="on",internal_do_not_use_render:u}=e,[h,m]=br({prop:r,defaultProp:n??!1,onChange:c,caller:Kc}),[g,y]=v.useState(null),[b,C]=v.useState(null),w=v.useRef(!1),[x,S]=v.useReducer(M=>M+1,0),N=g?!!s||!!g.closest("form"):!0,E={checked:h,disabled:a,setChecked:m,control:g,setControl:y,name:i,form:s,value:f,hasConsumerStoppedPropagationRef:w,userInteractionCount:x,onUserInteraction:S,required:d,defaultChecked:zr(n)?!1:n,isFormControl:N,bubbleInput:b,setBubbleInput:C};return l.jsx(gD,{scope:t,...E,children:og(u)?u(E):o})}Vr(tg,"CheckboxProvider");var bD="CheckboxTrigger",yD=v.forwardRef(Vr(function({__scopeCheckbox:t,onKeyDown:r,onClick:o,...n},a){const{control:s,value:i,disabled:c,checked:d,required:f,setControl:u,setChecked:h,hasConsumerStoppedPropagationRef:m,onUserInteraction:g,isFormControl:y,bubbleInput:b}=Xc(bD,t),C=ze(a,u),w=v.useRef(d);return v.useEffect(()=>{const x=s==null?void 0:s.form;if(x){const S=Vr(()=>h(w.current),"reset");return x.addEventListener("reset",S),()=>x.removeEventListener("reset",S)}},[s,h]),l.jsx(Ie.button,{type:"button",role:"checkbox","aria-checked":zr(d)?"mixed":d,"aria-required":f,"data-state":Jc(d),"data-disabled":c?"":void 0,disabled:c,value:i,...n,ref:C,onKeyDown:we(r,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:we(o,x=>{g(),h(S=>zr(S)?!0:!S),b&&y&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})})},"CheckboxTrigger")),rg=v.forwardRef(Vr(function(t,r){const{__scopeCheckbox:o,name:n,checked:a,defaultChecked:s,required:i,disabled:c,value:d,onCheckedChange:f,form:u,...h}=t;return l.jsx(tg,{__scopeCheckbox:o,checked:a,defaultChecked:s,disabled:c,required:i,onCheckedChange:f,name:n,form:u,value:d,internal_do_not_use_render:({isFormControl:m})=>l.jsxs(l.Fragment,{children:[l.jsx(yD,{...h,ref:r,__scopeCheckbox:o}),m&&l.jsx(CD,{__scopeCheckbox:o})]})})},"Checkbox")),vD="CheckboxIndicator",xD=v.forwardRef(Vr(function(t,r){const{__scopeCheckbox:o,forceMount:n,...a}=t,s=Xc(vD,o);return l.jsx(Vo,{present:n||zr(s.checked)||s.checked===!0,children:l.jsx(Ie.span,{"data-state":Jc(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:r,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),wD="CheckboxBubbleInput",CD=v.forwardRef(Vr(function({__scopeCheckbox:t,onClick:r,...o},n){const{control:a,hasConsumerStoppedPropagationRef:s,userInteractionCount:i,checked:c,defaultChecked:d,required:f,disabled:u,name:h,value:m,form:g,bubbleInput:y,setBubbleInput:b}=Xc(wD,t),C=ze(n,b),w=bi(a),x=v.useRef(!1),S=v.useRef(c),N=v.useRef(i);v.useEffect(()=>{const M=y;if(!M)return;const k=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(k,"checked").set,L=i!==N.current;N.current=i;const O=S.current!==c;S.current=c;const F=!(L&&s.current);if(O&&A){x.current=!L;const V=new Event("click",{bubbles:F});M.indeterminate=zr(c),A.call(M,zr(c)?!1:c),M.dispatchEvent(V),x.current=!1}},[y,c,s,i]);const E=v.useRef(zr(c)?!1:c);return l.jsx(Ie.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??E.current,required:f,disabled:u,name:h,value:m,form:g,...o,tabIndex:-1,ref:C,onClick:we(r,M=>{x.current&&M.stopPropagation()}),style:{...o.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function og(e){return typeof e=="function"}Vr(og,"isFunction");function zr(e){return e==="indeterminate"}Vr(zr,"isIndeterminate");function Jc(e){return zr(e)?"indeterminate":e?"checked":"unchecked"}Vr(Jc,"getState");const Zc=v.forwardRef(({className:e,...t},r)=>l.jsx(rg,{ref:r,className:p("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:l.jsx(xD,{className:p("grid place-content-center text-current"),children:l.jsx(pf,{className:p("h-4 w-4")})})}));Zc.displayName=rg.displayName;var SD=Object.defineProperty,Ht=(e,t)=>SD(e,"name",{value:t,configurable:!0}),Nr="Accordion",ND=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Rc,ED,kD]=Sa(Nr),[nl,bI]=rr(Nr,[kD,$f]),ed=$f(),_D=v.forwardRef(Ht(function(t,r){const{type:o,...n}=t,a=n,s=n;return l.jsx(Rc.Provider,{scope:t.__scopeAccordion,children:o==="multiple"?l.jsx(ID,{...s,ref:r}):l.jsx(TD,{...a,ref:r})})},"Accordion")),[ng,DD]=nl(Nr),[ag,AD]=nl(Nr,{collapsible:!1}),TD=v.forwardRef(Ht(function(t,r){const{value:o,defaultValue:n,onValueChange:a=Ht(()=>{},"onValueChange"),collapsible:s=!1,...i}=t,[c,d]=br({prop:o,defaultProp:n??"",onChange:a,caller:Nr});return l.jsx(ng,{scope:t.__scopeAccordion,value:v.useMemo(()=>c?[c]:[],[c]),onItemOpen:d,onItemClose:v.useCallback(()=>s&&d(""),[s,d]),children:l.jsx(ag,{scope:t.__scopeAccordion,collapsible:s,children:l.jsx(sg,{...i,ref:r})})})},"AccordionImplSingle")),ID=v.forwardRef(Ht(function(t,r){const{value:o,defaultValue:n,onValueChange:a=Ht(()=>{},"onValueChange"),...s}=t,[i,c]=br({prop:o,defaultProp:n??[],onChange:a,caller:Nr}),d=v.useCallback(u=>c((h=[])=>[...h,u]),[c]),f=v.useCallback(u=>c((h=[])=>h.filter(m=>m!==u)),[c]);return l.jsx(ng,{scope:t.__scopeAccordion,value:i,onItemOpen:d,onItemClose:f,children:l.jsx(ag,{scope:t.__scopeAccordion,collapsible:!0,children:l.jsx(sg,{...s,ref:r})})})},"AccordionImplMultiple")),[PD,al]=nl(Nr),sg=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,disabled:n,dir:a,orientation:s="vertical",...i}=t,c=v.useRef(null),d=ze(c,r),f=ED(o),h=hn(a)==="ltr",m=we(t.onKeyDown,g=>{var T;if(!ND.includes(g.key))return;const y=g.target,b=f().filter(A=>{var L;return!((L=A.ref.current)!=null&&L.disabled)}),C=b.findIndex(A=>A.ref.current===y),w=b.length;if(C===-1)return;g.preventDefault();let x=C;const S=0,N=w-1,E=Ht(()=>{x=C+1,x>N&&(x=S)},"moveNext"),M=Ht(()=>{x=C-1,x<S&&(x=N)},"movePrev");switch(g.key){case"Home":x=S;break;case"End":x=N;break;case"ArrowRight":s==="horizontal"&&(h?E():M());break;case"ArrowDown":s==="vertical"&&E();break;case"ArrowLeft":s==="horizontal"&&(h?M():E());break;case"ArrowUp":s==="vertical"&&M();break}const k=x%w;(T=b[k].ref.current)==null||T.focus()});return l.jsx(PD,{scope:o,disabled:n,direction:a,orientation:s,children:l.jsx(Rc.Slot,{scope:o,children:l.jsx(Ie.div,{...i,"data-orientation":s,ref:d,onKeyDown:n?void 0:m})})})},"AccordionImpl")),td="AccordionItem",[MD,rd]=nl(td),OD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,value:n,...a}=t,s=al(td,o),i=DD(td,o),c=ed(o),d=Hr(),f=n&&i.value.includes(n)||!1,u=s.disabled||t.disabled;return l.jsx(MD,{scope:o,open:f,disabled:u,triggerId:d,children:l.jsx(Bf,{"data-orientation":s.orientation,"data-state":od(f),...c,...a,ref:r,disabled:u,open:f,onOpenChange:h=>{h?i.onItemOpen(n):i.onItemClose(n)}})})},"AccordionItem")),LD="AccordionHeader",FD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(LD,o);return l.jsx(Ie.h3,{"data-orientation":a.orientation,"data-state":od(s.open),"data-disabled":s.disabled?"":void 0,...n,ref:r})},"AccordionHeader")),lg="AccordionTrigger",$D=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(lg,o),i=AD(lg,o),c=ed(o);return l.jsx(Rc.ItemSlot,{scope:o,children:l.jsx(FN,{"aria-disabled":s.open&&!i.collapsible||void 0,"data-orientation":a.orientation,id:s.triggerId,...c,...n,ref:r})})},"AccordionTrigger")),GD="AccordionContent",VD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(GD,o),i=ed(o);return l.jsx($N,{role:"region","aria-labelledby":s.triggerId,"data-orientation":a.orientation,...i,...n,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})},"AccordionContent"));function od(e){return e?"open":"closed"}Ht(od,"getState");var zD=_D,BD=OD,UD=FD,ig=$D,cg=VD;const dg=zD,nd=v.forwardRef(({className:e,...t},r)=>l.jsx(BD,{ref:r,className:p("border-b",e),...t}));nd.displayName="AccordionItem";const ad=v.forwardRef(({className:e,children:t,...r},o)=>l.jsx(UD,{className:p("flex"),children:l.jsxs(ig,{ref:o,className:p("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...r,children:[t,l.jsx(Yo,{className:p("h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200")})]})}));ad.displayName=ig.displayName;const sd=v.forwardRef(({className:e,children:t,...r},o)=>l.jsx(cg,{ref:o,className:p("overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"),...r,children:l.jsx("div",{className:p("pb-4 pt-0",e),children:t})}));sd.displayName=cg.displayName;function ld(e,t,r){var o,n,a,s;switch(t){case"properties":return(o=e.properties)==null?void 0:o[r];case"config":return(n=e.config)==null?void 0:n[r];case"layout":return(a=e.layout)==null?void 0:a[r];case"validation":return(s=e.validation)==null?void 0:s[r];default:return}}function WD(e,t,r,o){switch(e){case"properties":return{properties:{...t.properties,[r]:o}};case"config":return{config:{...t.config,[r]:o}};case"layout":return{layout:{...t.layout,[r]:o}};case"validation":return{validation:{...t.validation,[r]:o}};default:return{}}}function HD(e,t,r){const{field:o,value:n}=r;if(o.includes(".")){const[s,...i]=o.split("."),c=i.join(".");return ld(e,s,c)===n}return ld(e,t.section,o)===n}const ug=({field:e,element:t,onUpdate:r})=>{var a;const o=ld(t,e.section,e.key)??e.defaultValue,n=s=>{r(WD(e.section,t,e.key,s))};switch(e.type){case"text":case"url":case"color":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Kt,{type:e.type==="color"?"color":e.type==="url"?"url":"text",value:o??"",onChange:s=>n(s.target.value),placeholder:e.placeholder}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"textarea":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Qc,{value:o??"",onChange:s=>n(s.target.value),placeholder:e.placeholder,rows:e.rows??3}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"number":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Kt,{type:"number",value:o??"",onChange:s=>{const i=s.target.value;n(i?Number.isInteger(e.min)||Number.isInteger(e.max)?parseInt(i,10):parseFloat(i):void 0)},placeholder:e.placeholder,min:e.min,max:e.max}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"checkbox":return l.jsxs("div",{className:p("flex items-start space-x-2"),children:[l.jsx(Zc,{id:`ds-${e.section}-${e.key}`,checked:!!o,onCheckedChange:s=>n(!!s)}),l.jsxs("div",{className:p("space-y-0.5 leading-none"),children:[l.jsx(Zt,{htmlFor:`ds-${e.section}-${e.key}`,className:p("text-xs font-medium text-foreground cursor-pointer"),children:e.label}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]})]});case"select":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsxs(Xa,{value:o!=null?String(o):"",onValueChange:s=>{var c;const i=(c=e.options)==null?void 0:c.find(d=>typeof d.value=="number"&&String(d.value)===s);n(i?i.value:s)},children:[l.jsx(vn,{children:l.jsx(Ja,{placeholder:e.placeholder||"Select..."})}),l.jsx(xn,{children:(a=e.options)==null?void 0:a.map(s=>l.jsx(yo,{value:String(s.value),children:s.label},String(s.value)))})]}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});default:return null}},jD=({title:e,icon:t,defaultOpen:r=!0,children:o})=>l.jsx(dg,{type:"single",collapsible:!0,defaultValue:r?"item":void 0,children:l.jsxs(nd,{value:"item",className:p("border-b border-border"),children:[l.jsx(ad,{className:p("px-4 py-3 hover:bg-muted/50 hover:no-underline"),children:l.jsxs("span",{className:p("text-sm font-medium text-foreground flex items-center gap-2"),children:[t&&l.jsx("span",{children:t}),e]})}),l.jsx(sd,{className:p("px-4 pb-4 mb-4"),children:l.jsx("div",{className:p("space-y-4"),children:o})})]})}),YD=({element:e,schema:t,onUpdate:r})=>{const o=t.fields.filter(c=>c.showWhen?HD(e,c,c.showWhen):!0),n=[];let a=[];const s=()=>{a.length>0&&(n.push(a),a=[])};for(const c of o)c.colSpan===1?(a.push(c),a.length===2&&s()):(s(),n.push([c]));s();const{configSection:i}=t;return l.jsx(jD,{title:(i==null?void 0:i.title)??"Settings",icon:i==null?void 0:i.icon,defaultOpen:!1,children:n.map((c,d)=>{if(!c.every(u=>u.colSpan===1)){const u=c[0];return l.jsx(ug,{field:u,element:e,onUpdate:r},`${u.section}.${u.key}`)}return l.jsx("div",{className:p("grid grid-cols-2 gap-2"),children:c.map(u=>l.jsx(ug,{field:u,element:e,onUpdate:r},`${u.section}.${u.key}`))},`row-${d}`)})})},to=({title:e,children:t,defaultOpen:r=!0,icon:o})=>l.jsx(dg,{type:"single",collapsible:!0,defaultValue:r?"item":void 0,children:l.jsxs(nd,{value:"item",className:p("border-b border-border"),children:[l.jsx(ad,{className:p("px-4 py-3 hover:bg-muted/50 hover:no-underline"),children:l.jsxs("span",{className:p("text-sm font-medium text-foreground flex items-center gap-2"),children:[o&&l.jsx("span",{children:o}),e]})}),l.jsx(sd,{className:p("px-4 pb-4 mb-4"),children:l.jsx("div",{className:p("space-y-4"),children:t})})]})}),Be=({label:e,value:t,onChange:r,type:o="text",placeholder:n,rows:a=3,min:s,max:i,step:c,helpText:d})=>l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:e}),o==="textarea"?l.jsx(Qc,{value:t??"",onChange:f=>r(f.target.value),placeholder:n,rows:a,className:p("resize-none")}):o==="color"?l.jsxs("div",{className:p("flex gap-2"),children:[l.jsx("input",{type:"color",value:(t==null?void 0:t.toString())||"#000000",onChange:f=>r(f.target.value),className:p("w-10 h-9 border border-input rounded-md cursor-pointer")}),l.jsx(Kt,{type:"text",value:t??"",onChange:f=>r(f.target.value),placeholder:n||"#000000",className:p("flex-1")})]}):l.jsx(Kt,{type:o,value:t??"",onChange:f=>r(f.target.value),placeholder:n,min:s,max:i,step:c}),d&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:d})]}),pg=({label:e,checked:t,onChange:r,description:o})=>l.jsxs("div",{className:p("flex items-start gap-3"),children:[l.jsx(Zc,{id:e,checked:t||!1,onCheckedChange:n=>r(n===!0),className:p("mt-0.5")}),l.jsxs("div",{className:p("grid gap-0.5 leading-none"),children:[l.jsx(Zt,{htmlFor:e,className:p("text-sm font-medium cursor-pointer"),children:e}),o&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:o})]})]}),id=({label:e,value:t,onChange:r,options:o,helpText:n})=>l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:e}),l.jsxs(Xa,{value:(t==null?void 0:t.toString())??"",onValueChange:r,children:[l.jsx(vn,{className:p("w-full"),children:l.jsx(Ja,{placeholder:"Select..."})}),l.jsx(xn,{children:o.map(a=>l.jsx(yo,{value:a.value,children:a.label},a.value))})]}),n&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:n})]}),qD=({options:e,onChange:t})=>{const r=(s,i,c)=>{const d=[...e];if(d[s]={...d[s],[i]:c},i==="label"){const f=d[s].value,u=e[s].label;(!f||f===Pl(u))&&(d[s].value=Pl(c))}t(d)},o=()=>{const s=e.length+1;t([...e,{label:`Option ${s}`,value:`option${s}`}])},n=s=>{e.length>1&&t(e.filter((i,c)=>c!==s))},a=(s,i)=>{const c=i==="up"?s-1:s+1;if(c<0||c>=e.length)return;const d=[...e];[d[s],d[c]]=[d[c],d[s]],t(d)};return l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Options"}),l.jsx("div",{className:p("space-y-2"),children:e.map((s,i)=>l.jsxs("div",{className:p("flex items-center gap-1"),children:[l.jsxs("div",{className:p("flex flex-col gap-0.5"),children:[l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-5 w-5"),onClick:()=>a(i,"up"),disabled:i===0,children:l.jsx(ff,{className:p("h-3 w-3")})}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-5 w-5"),onClick:()=>a(i,"down"),disabled:i===e.length-1,children:l.jsx(Yo,{className:p("h-3 w-3")})})]}),l.jsx(Kt,{type:"text",value:s.label,onChange:c=>r(i,"label",c.target.value),placeholder:"Label",className:p("flex-1 h-8")}),l.jsx(Kt,{type:"text",value:s.value,onChange:c=>r(i,"value",c.target.value),placeholder:"Value",className:p("w-20 h-8 text-muted-foreground")}),l.jsx(as,{children:l.jsxs(vr,{children:[l.jsx(xr,{asChild:!0,children:l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>n(i),disabled:e.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})}),l.jsx(sr,{children:"Remove option"})]})})]},i))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:o,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add option"]})]})},QD=({rows:e,columns:t,onRowsChange:r,onColumnsChange:o,showColumnType:n=!1})=>{const a=()=>{const u=`row${e.length+1}`;r([...e,{id:u,label:`Row ${e.length+1}`}])},s=u=>{e.length>1&&r(e.filter((h,m)=>m!==u))},i=(u,h,m)=>{const g=[...e];g[u]={...g[u],[h]:m},r(g)},c=()=>{const u=`col${t.length+1}`;o([...t,{id:u,label:`Column ${t.length+1}`,type:"text"}])},d=u=>{t.length>1&&o(t.filter((h,m)=>m!==u))},f=(u,h,m)=>{const g=[...t];g[u]={...g[u],[h]:m},o(g)};return l.jsxs("div",{className:p("space-y-4"),children:[l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Rows"}),l.jsx("div",{className:p("space-y-2"),children:e.map((u,h)=>l.jsxs("div",{className:p("flex items-center gap-2"),children:[l.jsx(Kt,{type:"text",value:u.id,onChange:m=>i(h,"id",m.target.value),placeholder:"Row ID",className:p("w-24 h-8 font-mono text-xs")}),l.jsx(Kt,{type:"text",value:u.label,onChange:m=>i(h,"label",m.target.value),placeholder:"Row label",className:p("flex-1 h-8")}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>s(h),disabled:e.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})]},h))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:a,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add row"]})]}),l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Columns"}),l.jsx("div",{className:p("space-y-2"),children:t.map((u,h)=>l.jsxs("div",{className:p("flex items-center gap-2"),children:[l.jsx(Kt,{type:"text",value:u.id,onChange:m=>f(h,"id",m.target.value),placeholder:"Column ID",className:p("w-24 h-8 font-mono text-xs")}),l.jsx(Kt,{type:"text",value:u.label,onChange:m=>f(h,"label",m.target.value),placeholder:"Column label",className:p("flex-1 h-8")}),n&&l.jsxs(Xa,{value:u.type||"text",onValueChange:m=>f(h,"type",m),children:[l.jsx(vn,{className:p("w-24 h-8"),children:l.jsx(Ja,{})}),l.jsxs(xn,{children:[l.jsx(yo,{value:"text",children:"Text"}),l.jsx(yo,{value:"number",children:"Number"}),l.jsx(yo,{value:"dropdown",children:"Dropdown"})]})]}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>d(h),disabled:t.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})]},h))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:c,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add column"]})]})]})},KD=({element:e,onUpdate:t})=>{const r=(c,d)=>{t({properties:{...e.properties,[c]:d}})},o=["shortText","longText","multiLineInput","textEditor","number","email","phone","url","location","password","dropdown","tags","date","time","dateTime","multipleDates","dateRange"].includes(e.type),n=!["divider","spacer","paragraph","image","link"].includes(e.type),a=["paragraph"].includes(e.type),s=["link"].includes(e.type),i=["image"].includes(e.type);return l.jsxs(to,{title:"Properties",icon:"📝",children:[!["divider","spacer"].includes(e.type)&&l.jsx(Be,{label:"Label",value:e.properties.label,onChange:c=>r("label",c),placeholder:"Enter label..."}),o&&l.jsx(Be,{label:"Placeholder",value:e.properties.placeholder,onChange:c=>r("placeholder",c),placeholder:"Enter placeholder..."}),n&&l.jsx(Be,{label:"Description",value:e.properties.description,onChange:c=>r("description",c),type:"textarea",placeholder:"Enter description...",rows:2}),a&&l.jsx(Be,{label:"Content",value:e.properties.content,onChange:c=>r("content",c),type:"textarea",placeholder:"Enter paragraph text...",rows:4}),s&&l.jsxs(l.Fragment,{children:[l.jsx(Be,{label:"Link Text",value:e.properties.content,onChange:c=>r("content",c),placeholder:"Click here"}),l.jsx(Be,{label:"URL",value:e.properties.href,onChange:c=>r("href",c),type:"url",placeholder:"https://example.com"}),l.jsx(id,{label:"Target",value:e.properties.target,onChange:c=>r("target",c),options:[{value:"_blank",label:"New Tab"},{value:"_self",label:"Same Tab"}]})]}),i&&l.jsxs(l.Fragment,{children:[l.jsx(Be,{label:"Image URL",value:e.properties.src,onChange:c=>r("src",c),type:"url",placeholder:"https://example.com/image.jpg"}),l.jsx(Be,{label:"Alt Text",value:e.properties.alt,onChange:c=>r("alt",c),placeholder:"Image description"})]}),["shortText","number"].includes(e.type)&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Prefix",value:e.properties.prefix,onChange:c=>r("prefix",c),placeholder:"$"}),l.jsx(Be,{label:"Suffix",value:e.properties.suffix,onChange:c=>r("suffix",c),placeholder:".00"})]})]})},XD=({element:e,onUpdate:t})=>{const r=(n,a)=>{t({layout:{...e.layout,[n]:a}})},o=!["divider","spacer","formHeading","sectionHeading","subheading","paragraph","image","link","captcha","decisionBox"].includes(e.type);return l.jsxs(to,{title:"Layout",icon:"📐",defaultOpen:!1,children:[o&&l.jsx(id,{label:"Label Position",value:e.layout.labelPosition,onChange:n=>r("labelPosition",n),options:[{value:"top",label:"Top"},{value:"left",label:"Left"},{value:"hidden",label:"Hidden"}]}),l.jsx(id,{label:"Size",value:e.layout.size,onChange:n=>r("size",n),options:[{value:"small",label:"Small"},{value:"default",label:"Default"},{value:"medium",label:"Medium"},{value:"large",label:"Large"},{value:"full",label:"Full Width"}]}),l.jsx(Be,{label:"Custom Width",value:e.layout.width,onChange:n=>r("width",n),placeholder:"e.g., 50%, 300px"}),l.jsx(Be,{label:"CSS Class",value:e.layout.className,onChange:n=>r("className",n),placeholder:"custom-class",helpText:"Additional CSS classes"})]})},JD=({element:e,onUpdate:t})=>{var c,d,f,u,h,m,g,y,b,C,w;const r=(x,S)=>{t({validation:{...e.validation,[x]:S}})},o=Sv(e.type),n=["shortText","longText","multiLineInput","textEditor","password"].includes(e.type),a=["number","slider","rangeSlider"].includes(e.type),s=["multiFileUpload","multiImageUpload"].includes(e.type),i=["multipleDates"].includes(e.type);return l.jsxs(to,{title:"Validation",icon:"✅",defaultOpen:!1,children:[o.supportsRequired&&l.jsx(pg,{label:"Required",checked:(c=e.validation)==null?void 0:c.required,onChange:x=>r("required",x),description:"Field must be filled"}),n&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Length",value:(d=e.validation)==null?void 0:d.minLength,onChange:x=>r("minLength",x?parseInt(x):void 0),type:"number",placeholder:"0",min:0}),l.jsx(Be,{label:"Max Length",value:(f=e.validation)==null?void 0:f.maxLength,onChange:x=>r("maxLength",x?parseInt(x):void 0),type:"number",placeholder:"255",min:0})]}),a&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Value",value:(u=e.validation)==null?void 0:u.min,onChange:x=>r("min",x?parseFloat(x):void 0),type:"number"}),l.jsx(Be,{label:"Max Value",value:(h=e.validation)==null?void 0:h.max,onChange:x=>r("max",x?parseFloat(x):void 0),type:"number"})]}),o.supportsPattern&&l.jsx(Be,{label:"Pattern (Regex)",value:(m=e.validation)==null?void 0:m.pattern,onChange:x=>r("pattern",x),placeholder:"^[a-zA-Z]+$",helpText:"Regular expression for validation"}),s&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Files",value:(g=e.validation)==null?void 0:g.minFiles,onChange:x=>r("minFiles",x?parseInt(x):void 0),type:"number",min:0}),l.jsx(Be,{label:"Max Files",value:(y=e.validation)==null?void 0:y.maxFiles,onChange:x=>r("maxFiles",x?parseInt(x):void 0),type:"number",min:1})]}),i&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Dates",value:(b=e.validation)==null?void 0:b.minDates,onChange:x=>r("minDates",x?parseInt(x):void 0),type:"number",min:0}),l.jsx(Be,{label:"Max Dates",value:(C=e.validation)==null?void 0:C.maxDates,onChange:x=>r("maxDates",x?parseInt(x):void 0),type:"number",min:1})]}),l.jsx(Be,{label:"Error Message",value:(w=e.validation)==null?void 0:w.errorMessage,onChange:x=>r("errorMessage",x),placeholder:"Custom error message..."})]})},ZD=({element:e,onUpdate:t,existingNames:r})=>{const[o,n]=D.useState(null),a=(s,i)=>{{const c=new Set(r);c.delete(e.attributes.name),c.has(i)?n("This field name already exists"):!i||i.trim()===""?n("Field name is required"):/^[a-zA-Z][a-zA-Z0-9_]*$/.test(i)?n(null):n("Must start with letter, only letters/numbers/underscores")}t({attributes:{...e.attributes,[s]:i}})};return l.jsx(to,{title:"Attributes",icon:"🏷️",defaultOpen:!1,children:l.jsxs("div",{children:[l.jsx("label",{className:p("block text-sm font-medium text-gray-700 mb-1"),children:"Field Name"}),l.jsx("input",{type:"text",value:e.attributes.name||"",onChange:s=>a("name",s.target.value),placeholder:"fieldName",className:p("w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:border-transparent",o?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-blue-500")}),o&&l.jsx("p",{className:p("mt-1 text-xs text-red-600"),children:o}),l.jsx("p",{className:p("mt-1 text-xs text-gray-500"),children:"Used as the key in JSON output"})]})})},RD=({element:e,onUpdate:t})=>{var n,a,s,i;const r=c=>{t({config:{...e.config,options:c}})},o=(c,d)=>{t({config:{...e.config,[c]:d}})};return l.jsxs(to,{title:"Options",icon:"📋",children:[l.jsx(qD,{options:((n=e.config)==null?void 0:n.options)||[],onChange:r}),l.jsx(pg,{label:"Allow 'Other' option",checked:(a=e.config)==null?void 0:a.allowOther,onChange:c=>o("allowOther",c),description:"Let users enter custom value"}),((s=e.config)==null?void 0:s.allowOther)&&l.jsx(Be,{label:"Other Label",value:(i=e.config)==null?void 0:i.otherLabel,onChange:c=>o("otherLabel",c),placeholder:"Other..."})]})},eA=({element:e,onUpdate:t})=>{var o,n;const r=(a,s)=>{t({config:{...e.config,[a]:s}})};return l.jsx(to,{title:"Matrix Configuration",icon:"📊",children:l.jsx(QD,{rows:((o=e.config)==null?void 0:o.matrixRows)||[],columns:((n=e.config)==null?void 0:n.matrixColumns)||[],onRowsChange:a=>r("matrixRows",a),onColumnsChange:a=>r("matrixColumns",a),showColumnType:e.type==="matrixTable"})})},tA=()=>l.jsxs("div",{className:p("flex flex-col items-center justify-center h-full text-center px-6 py-12"),children:[l.jsx("div",{className:p("w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4"),children:l.jsx(bS,{className:p("w-6 h-6 text-muted-foreground")})}),l.jsx("h3",{className:p("text-sm font-medium text-foreground mb-1"),children:"No element selected"}),l.jsx("p",{className:p("text-xs text-muted-foreground"),children:"Click on an element in the canvas to edit its properties"})]}),rA=({element:e,onUpdate:t,propertyConfig:r})=>{const o=(f,u)=>{t({properties:{...e.properties,[f]:u}})},n=r??{showLabel:!0,showPlaceholder:!0,showDescription:!0,showPrefix:!1,showSuffix:!1},a=n.showLabel!==!1,s=n.showPlaceholder===!0,i=n.showDescription!==!1,c=n.showPrefix===!0,d=n.showSuffix===!0;return!a&&!s&&!i&&!c&&!d?null:l.jsxs(to,{title:"Properties",icon:"📝",children:[a&&l.jsx(Be,{label:"Label",value:e.properties.label,onChange:f=>o("label",f),placeholder:"Enter label..."}),s&&l.jsx(Be,{label:"Placeholder",value:e.properties.placeholder,onChange:f=>o("placeholder",f),placeholder:"Enter placeholder..."}),i&&l.jsx(Be,{label:"Description",value:e.properties.description,onChange:f=>o("description",f),type:"textarea",placeholder:"Enter description...",rows:2}),(c||d)&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[c&&l.jsx(Be,{label:"Prefix",value:e.properties.prefix,onChange:f=>o("prefix",f),placeholder:"$"}),d&&l.jsx(Be,{label:"Suffix",value:e.properties.suffix,onChange:f=>o("suffix",f),placeholder:".00"})]})]})},oA=()=>{const e=_v(),t=R(g=>g.updateElement),r=R(g=>g.deleteElement),o=R(g=>g.duplicateElement),n=R(g=>g.schema.elements),a=D.useMemo(()=>new Set(n.map(g=>g.attributes.name).filter(Boolean)),[n]);if(!e)return l.jsx("div",{className:p("w-72 bg-card border-l border-border flex-col h-full hidden"),children:l.jsx(tA,{})});const s=g=>{t(e.id,g)},i=dt.get(e.type),c=!!(i!=null&&i.renderSettings),d=i==null?void 0:i.settingsSchema,f=c||!!d,u=i!=null&&i.icon&&typeof i.icon=="string"?i.icon:Pi[e.type],h=(i==null?void 0:i.label)??Ii[e.type],m=d==null?void 0:d.showSections;return l.jsxs("div",{className:p("w-72 bg-card border-l border-border flex flex-col h-full flex-shrink-0"),children:[l.jsxs("div",{className:p("p-4 border-b border-border"),children:[l.jsxs("div",{className:p("flex items-center gap-2 mb-1"),children:[l.jsx("span",{className:p("text-xl"),children:u}),l.jsx("h2",{className:p("text-lg font-semibold text-foreground"),children:h})]}),l.jsxs("div",{className:p("flex gap-2 mt-3"),children:[l.jsxs(Ze,{variant:"secondary",size:"sm",className:p("flex-1"),onClick:()=>o(e.id),children:[l.jsx(uS,{className:p("h-3 w-3 mr-1")}),"Duplicate"]}),l.jsxs(Ze,{variant:"destructive",size:"sm",className:p("flex-1"),onClick:()=>{window.confirm("Are you sure you want to delete this element?")&&r(e.id)},children:[l.jsx(Ti,{className:p("h-3 w-3 mr-1")}),"Delete"]})]})]}),l.jsxs(Ji,{className:p("flex-1"),children:[c&&i.renderSettings({element:e,onUpdate:s}),!c&&l.jsxs(l.Fragment,{children:[(m==null?void 0:m.properties)!==!1&&(f?l.jsx(rA,{element:e,onUpdate:s,propertyConfig:d==null?void 0:d.properties}):l.jsx(KD,{element:e,onUpdate:s})),(m==null?void 0:m.options)!==!1&&XS(e.type)&&l.jsx(RD,{element:e,onUpdate:s}),(m==null?void 0:m.matrix)!==!1&&ZS(e.type)&&l.jsx(eA,{element:e,onUpdate:s}),d&&l.jsx(YD,{element:e,schema:d,onUpdate:s}),(m==null?void 0:m.layout)!==!1&&l.jsx(XD,{element:e,onUpdate:s}),(m==null?void 0:m.validation)!==!1&&((i==null?void 0:i.supportsValidation)??JS(e.type))&&!Ol(e.type)&&l.jsx(JD,{element:e,onUpdate:s}),(m==null?void 0:m.attributes)!==!1&&((i==null?void 0:i.structure)==="field"||YS(e.type))&&!Ol(e.type)&&l.jsx(ZD,{element:e,onUpdate:s,existingNames:a}),(m==null?void 0:m.logic)!==!1&&!Ol(e.type)&&l.jsx(to,{title:"Conditional Logic",icon:"⚡",children:l.jsx(cD,{element:e,elements:n,onUpdate:s})})]})]})]})};var Wn=e=>e.type==="checkbox",sl=e=>e.type==="file",ro=e=>e instanceof Date,Et=e=>e==null;const cd=e=>typeof e=="object";var tt=e=>!Et(e)&&!Array.isArray(e)&&cd(e)&&!ro(e),nA=e=>tt(e)&&e.target?Wn(e.target)?e.target.checked:sl(e.target)?e.target.files:e.target.value:e,aA=(e,t)=>t.split(".").some((r,o,n)=>!isNaN(Number(r))&&e.has(n.slice(0,o).join("."))),fg=e=>{const t=e.constructor&&e.constructor.prototype;return tt(t)&&t.hasOwnProperty("isPrototypeOf")},ll=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function lt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(ll&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(tt(e)&&fg(e)))return e;const o=r?[]:Object.create(Object.getPrototypeOf(e));for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=lt(e[n]));return o}const en={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ir={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},cr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},hg="root",dd=["__proto__","constructor","prototype"],sA=/^\w*$/;var Hn=e=>sA.test(e),qe=e=>e===void 0;const lA=/[.[\]'"]/;var il=e=>e.split(lA).filter(Boolean),le=(e,t,r)=>{if(!t||!tt(e))return r;const o=Hn(t)?[t]:il(t);if(o.some(a=>dd.includes(a)))return r;const n=o.reduce((a,s)=>Et(a)?void 0:a[s],e);return qe(n)||n===e?qe(e[t])?r:e[t]:n},Er=e=>typeof e=="boolean",Rt=e=>typeof e=="function",Qe=(e,t,r)=>{let o=-1;const n=Hn(t)?[t]:il(t),a=n.length,s=a-1;for(;++o<a;){const i=n[o];let c=r;if(o!==s){const d=e[i];c=tt(d)||Array.isArray(d)?d:isNaN(+n[o+1])?{}:[]}if(dd.includes(i))return;e[i]=c,e=e[i]}};const mg=D.createContext(null);mg.displayName="HookFormControlContext";var iA=(e,t,r,o=!0)=>{const n={};for(const a in e)Object.defineProperty(n,a,{get:()=>{const s=a;return t._proxyFormState[s]!==ir.all&&(t._proxyFormState[s]=!o||ir.all),e[s]}});return n};const cA=ll?D.useLayoutEffect:D.useEffect;var kt=e=>typeof e=="string",dA=(e,t,r,o,n)=>kt(e)?(o&&t.watch.add(e),le(r,e,n)):Array.isArray(e)?e.map(a=>(o&&t.watch.add(a),le(r,a))):(o&&(t.watchAll=!0),r),ud=e=>Et(e)||!cd(e);const gg=(e,t)=>t.length===0&&!Array.isArray(e)&&!fg(e);function kr(e,t,r=new WeakMap){if(e===t)return!0;if(ud(e)||ud(t))return Object.is(e,t);if(ro(e)&&ro(t))return Object.is(e.getTime(),t.getTime());const o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;if(gg(e,o)||gg(t,n))return Object.is(e,t);if(!o.length&&Array.isArray(e)!==Array.isArray(t))return!1;const a=r.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{const s=new WeakSet;s.add(t),r.set(e,s)}for(const s of o){const i=e[s];if(!(s in t))return!1;if(s!=="ref"){const c=t[s];if(ro(i)&&ro(c)||(tt(i)||Array.isArray(i))&&(tt(c)||Array.isArray(c))?!kr(i,c,r):!Object.is(i,c))return!1}}return!0}var cl=e=>({isOnSubmit:!e||e===ir.onSubmit,isOnBlur:e===ir.onBlur,isOnChange:e===ir.onChange,isOnAll:e===ir.all,isOnTouch:e===ir.onTouched}),pd=(e,t,r)=>{if(r)return!1;if(t.watchAll||t.watch.has(e))return!0;for(const o of t.watch)if(e.startsWith(o)&&e.charAt(o.length)===".")return!0;return!1};const jn=(e,t,r,o)=>{for(const n of r||Object.keys(e)){const a=le(e,n);if(a){const{_f:s,...i}=a;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],n)&&!o)return!0;if(s.ref&&t(s.ref,s.name)&&!o)return!0;if(jn(i,t))break}else if(tt(i)&&jn(i,t))break}}};var bg=(e,t,r)=>{const o=le(e,r),n=Array.isArray(o)?o:[];return Qe(n,hg,t[r]),Qe(e,r,n),e},_t=e=>tt(e)&&!Object.keys(e).length,dl=e=>{if(!ll)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},fd=e=>e.type==="radio",ul=e=>e instanceof RegExp,uA=(e,t,r,o,n)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[o]:n||!0}}:{};const yg={value:!1,isValid:!1},vg={value:!0,isValid:!0};var xg=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qe(e[0].attributes.value)?qe(e[0].value)||e[0].value===""?vg:{value:e[0].value,isValid:!0}:vg:yg}return yg};const wg={isValid:!1,value:null};var Cg=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,wg):wg;function Sg(e,t,r="validate"){if(kt(e)||Array.isArray(e)&&e.every(kt)||Er(e)&&!e)return{type:r,message:kt(e)?e:"",ref:t}}var tn=e=>tt(e)&&!ul(e)?e:{value:e,message:""},Ng=async(e,t,r,o,n,a)=>{const{ref:s,refs:i,required:c,maxLength:d,minLength:f,min:u,max:h,pattern:m,validate:g,name:y,valueAsNumber:b,mount:C}=e._f,w=le(r,y);if(!C||t.has(y))return{};const x=i?i[0]:s,S=O=>{if(n&&x.reportValidity){const F=Er(O)?"":O||"";i?i.forEach(V=>V.setCustomValidity(F)):x.setCustomValidity(F),x.reportValidity()}},N={},E=fd(s),M=Wn(s),k=E||M,T=(b||sl(s))&&qe(s.value)&&qe(w)||dl(s)&&s.value===""||w===""||Array.isArray(w)&&!w.length,A=uA.bind(null,y,o,N),L=(O,F,V,re=cr.maxLength,K=cr.minLength)=>{const H=O?F:V;N[y]={type:O?re:K,message:H,ref:s,...A(O?re:K,H)}};if(a?!Array.isArray(w)||!w.length:c&&(!k&&(T||Et(w))||Er(w)&&!w||M&&!xg(i).isValid||E&&!Cg(i).isValid)){const{value:O,message:F}=kt(c)?{value:!!c,message:c}:tn(c);if(O&&(N[y]={type:cr.required,message:F,ref:x,...A(cr.required,F)},!o))return S(F),N}if(!T&&(!Et(u)||!Et(h))){let O,F;const V=tn(h),re=tn(u);if(!Et(w)&&!isNaN(w)){const K=s.valueAsNumber||w&&+w;Et(V.value)||(O=K>V.value),Et(re.value)||(F=K<re.value)}else{const K=s.valueAsDate||new Date(w),H=z=>new Date(new Date().toDateString()+" "+z),ee=s.type=="time",G=s.type=="week";kt(V.value)&&w&&(O=ee?H(w)>H(V.value):G?w>V.value:K>new Date(V.value)),kt(re.value)&&w&&(F=ee?H(w)<H(re.value):G?w<re.value:K<new Date(re.value))}if((O||F)&&(L(!!O,V.message,re.message,cr.max,cr.min),!o))return S(N[y].message),N}if((d||f)&&!T&&(kt(w)||a&&Array.isArray(w))){const O=tn(d),F=tn(f),V=!Et(O.value)&&w.length>+O.value,re=!Et(F.value)&&w.length<+F.value;if((V||re)&&(L(V,O.message,F.message),!o))return S(N[y].message),N}if(m&&!T&&kt(w)){const{value:O,message:F}=tn(m);if(ul(O)&&!w.match(O)&&(N[y]={type:cr.pattern,message:F,ref:s,...A(cr.pattern,F)},!o))return S(F),N}if(g){if(Rt(g)){const O=await g(w,r),F=Sg(O,x);if(F&&(N[y]={...F,...A(cr.validate,F.message)},!o))return S(F.message),N}else if(tt(g)){let O={};for(const F in g){if(!_t(O)&&!o)break;const V=Sg(await g[F](w,r),x,F);V&&(O={...V,...A(F,V.message)},S(V.message),o&&(N[y]=O))}if(!_t(O)&&(N[y]={ref:x,...O},!o))return N}}return S(!0),N},pl=e=>Array.isArray(e)?e:[e],Eg=e=>Array.isArray(e)?e.filter(Boolean):[];function pA(e,t){const r=t.slice(0,-1).length;let o=0;for(;o<r;){if(Et(e)){e=void 0;break}e=e[t[o]],o++}return e}function fA(e){for(const t in e)if(e.hasOwnProperty(t)&&!qe(e[t]))return!1;return!0}function it(e,t){if(kt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Hn(t)?[t]:il(t);if(r.some(s=>dd.includes(String(s))))return e;const o=r.length===1?e:pA(e,r),n=r.length-1,a=r[n];return o&&delete o[a],n!==0&&(tt(o)&&_t(o)||Array.isArray(o)&&fA(o))&&it(e,r.slice(0,-1)),e}const kg=e=>{const t={};for(const r of Object.keys(e))if(cd(e[r])&&e[r]!==null&&!ro(e[r])){const o=kg(e[r]);for(const n of Object.keys(o))t[`${r}.${n}`]=o[n]}else t[r]=e[r];return t},hd=D.createContext(null);hd.displayName="HookFormContext";const md=()=>D.useContext(hd),_g=({children:e,watch:t,getValues:r,getFieldState:o,setError:n,clearErrors:a,setValue:s,setValues:i,trigger:c,formState:d,resetField:f,reset:u,resetDefaultValues:h,handleSubmit:m,unregister:g,control:y,register:b,setFocus:C,subscribe:w})=>{const x=D.useMemo(()=>({watch:t,getValues:r,getFieldState:o,setError:n,clearErrors:a,setValue:s,setValues:i,trigger:c,formState:d,resetField:f,reset:u,resetDefaultValues:h,handleSubmit:m,unregister:g,control:y,register:b,setFocus:C,subscribe:w}),[a,y,d,o,r,m,b,u,h,f,n,C,s,i,w,c,g,t]);return D.createElement(hd.Provider,{value:x},D.createElement(mg.Provider,{value:x.control},e))};var Dg=()=>{let e=[];return{get observers(){return e},next:n=>{for(const a of e)a.next&&a.next(n)},subscribe:n=>(e.push(n),{unsubscribe:()=>{e=e.filter(a=>a!==n)}}),unsubscribe:()=>{e=[]}}};function Ag(e,t){const r={};for(const o in e)if(e.hasOwnProperty(o)){const n=e[o],a=t[o];if(n&&tt(n)&&a){const s=Ag(n,a);tt(s)&&(r[o]=s)}else e[o]&&(r[o]=a)}return r}var Tg=e=>e.type==="select-multiple",hA=e=>fd(e)||Wn(e),gd=e=>dl(e)&&e.isConnected,mA=e=>{for(const t in e)if(Rt(e[t]))return!0;return!1};function Ig(e){return Array.isArray(e)||tt(e)&&!mA(e)}function Pg(e){return!!(e&&"_f"in e)}function Mg(e){return Array.isArray(e)?!e.some(t=>!qe(t)):!Object.keys(e).length}function bd(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function yd(e,t={},r){for(const o in e){const n=e[o],a=r&&r[o];Ig(n)&&(!Array.isArray(n)||!Pg(a))?(t[o]=Array.isArray(n)?[]:{},yd(n,t[o],a),Mg(t[o])&&bd(t,o)):qe(n)||(t[o]=!0)}return t}function Po(e,t,r,o){r||(r=yd(t,{},o));for(const n in e){const a=e[n],s=o&&o[n];Ig(a)&&(!Array.isArray(a)||!Pg(s))?(qe(t)||ud(r[n])?r[n]=yd(a,Array.isArray(a)?[]:{},s):Po(a,Et(t)?{}:t[n],r[n],s),Mg(r[n])&&bd(r,n)):kr(a,t[n])?bd(r,n):r[n]=!0}return r}var Og=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:o})=>qe(e)?e:t?e===""?NaN:e&&+e:r&&kt(e)?new Date(e):o?o(e):e;function Lg(e){const t=e.ref;return sl(t)?t.files:fd(t)?Cg(e.refs).value:Tg(t)?[...t.selectedOptions].map(({value:r})=>r):Wn(t)?xg(e.refs).value:Og(qe(t.value)?e.ref.value:t.value,e)}var gA=(e,t,r,o)=>{const n={};for(const a of e){const s=le(t,a);s&&Qe(n,a,s._f)}return{criteriaMode:r,names:[...e],fields:n,shouldUseNativeValidation:o}},Yn=e=>qe(e)?e:ul(e)?e.source:tt(e)?ul(e.value)?e.value.source:e.value:e;const Fg="AsyncFunction";var bA=e=>{if(!e||!e.validate)return!1;if(Rt(e.validate))return e.validate.constructor.name===Fg;if(tt(e.validate)){for(const t in e.validate)if(e.validate[t].constructor.name===Fg)return!0}return!1},yA=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function $g(e,t,r){const o=le(e,r);if(o||Hn(r))return{error:o,name:r};const n=r.split(".");for(;n.length;){const a=n.join("."),s=le(t,a),i=le(e,a);if(s&&!Array.isArray(s)&&r!==a)return{name:r};if(i&&i.type)return{name:a,error:i};if(i&&i.root&&i.root.type)return{name:`${a}.root`,error:i.root};n.pop()}return{name:r}}var vA=(e,t,r,o)=>{r(e);const{name:n,...a}=e,s=Object.keys(a);return!s.length||o&&s.length>=Object.keys(t).length||s.find(i=>t[i]===(!o||ir.all))},xA=(e,t,r)=>!e||!t||e===t||pl(e).some(o=>o&&(r?o===t||o.startsWith(t+"."):o.startsWith(t)||t.startsWith(o))),wA=(e,t,r,o,n)=>n.isOnAll?!1:!r&&n.isOnTouch?!(t||e):(r?o.isOnBlur:n.isOnBlur)?!e:(r?o.isOnChange:n.isOnChange)?e:!0,CA=(e,t)=>!Eg(le(e,t)).length&&it(e,t);const SA={mode:ir.onSubmit,reValidateMode:ir.onChange,shouldFocusError:!0},vd="form",NA=(e,t)=>{for(const r in e)r in t||delete e[r];Object.assign(e,t)},Gg={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function EA(e={}){let t={...SA,...e},r={...lt(Gg),isLoading:Rt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},o={},n=tt(t.defaultValues)||tt(t.values)?lt(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:lt(n),s={action:!1,mount:!1,watch:!1,keepIsValid:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const c={},d={};let f=0,u=cl(t.mode),h=cl(t.reValidateMode);const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},g={...m};let y={...g};const b={array:Dg(),state:Dg()};let C=0;const w=t.criteriaMode===ir.all,x=(_,I)=>P=>{clearTimeout(d[_]),d[_]=setTimeout(I,P)},S=async _=>{if(!s.keepIsValid&&!t.disabled&&(g.isValid||y.isValid||_)){const I=++C;let P;t.resolver?(P=_t((await V()).errors),I===C&&N()):P=await H({fields:o,onlyCheckValid:!0,eventType:en.VALID}),I===C&&P!==r.isValid&&b.state.next({isValid:P})}},N=(_,I)=>{!t.disabled&&(g.isValidating||g.validatingFields||y.isValidating||y.validatingFields)&&((_||Array.from(i.mount)).forEach(P=>{P&&(I?Qe(r.validatingFields,P,I):it(r.validatingFields,P))}),b.state.next({validatingFields:r.validatingFields,isValidating:!_t(r.validatingFields)}))},E=()=>{r.dirtyFields=Po(n,a,void 0,o)},M=(_,I=[],P,W,U=!0,J=!0)=>{if(W&&P&&!t.disabled){if(s.action=!0,J&&Array.isArray(le(o,_))){const B=P(le(o,_),W.argA,W.argB);U&&Qe(o,_,B)}if(J&&Array.isArray(le(r.errors,_))){const B=P(le(r.errors,_),W.argA,W.argB);U&&Qe(r.errors,_,B),CA(r.errors,_)}if((g.touchedFields||y.touchedFields)&&J&&Array.isArray(le(r.touchedFields,_))){const B=P(le(r.touchedFields,_),W.argA,W.argB);U&&Qe(r.touchedFields,_,B)}(g.dirtyFields||y.dirtyFields)&&E(),b.state.next({name:_,isDirty:G(_,I),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Qe(a,_,I)},k=(_,I)=>{Qe(r.errors,_,I),r.errors={...r.errors},b.state.next({errors:r.errors})},T=_=>{r.errors=_,b.state.next({errors:r.errors,isValid:!1})},A=_=>{const I=Hn(_)?[_]:il(_);let P=a,W=n;for(let U=0;U<I.length-1;U++){const J=I[U];if(P=Et(P)?P:P[J],W=Et(W)?W:W[J],P===null&&W!==null)return!0}return!1},L=(_,I,P,W)=>{const U=le(o,_);if(U){if(A(_))return;const J=qe(le(a,_)),B=le(a,_,qe(P)?le(n,_):P);qe(B)||W&&W.defaultChecked||I?Qe(a,_,I?B:Lg(U._f)):$(_,B),s.mount&&!s.action&&(S(),J&&r.isDirty&&(g.isDirty||y.isDirty)&&(G()||(r.isDirty=!1,b.state.next({...r}))),e.shouldUnregister&&J&&!qe(le(a,_))&&pd(_,i)&&(s.watch=!0))}},O=(_,I,P,W,U)=>{let J=!1,B=!1;const Q={name:_};if(!t.disabled||W===!0){if(!P||W){const ie=kr(le(n,_),I);(g.isDirty||y.isDirty)&&(B=r.isDirty,r.isDirty=Q.isDirty=!ie||G(),J=B!==Q.isDirty),B=!!le(r.dirtyFields,_),ie!==r.isDirty?NA(r.dirtyFields,Po(n,a,void 0,o)):ie?it(r.dirtyFields,_):Qe(r.dirtyFields,_,!0),Q.dirtyFields=r.dirtyFields,J=J||(g.dirtyFields||y.dirtyFields)&&B!==!ie}if(P){const ie=le(r.touchedFields,_);ie||(Qe(r.touchedFields,_,P),Q.touchedFields=r.touchedFields,J=J||(g.touchedFields||y.touchedFields)&&ie!==P)}J&&U&&b.state.next(Q)}return J?Q:{}},F=(_,I,P,W)=>{const U=le(r.errors,_),J=(g.isValid||y.isValid)&&Er(I)&&r.isValid!==I;if(t.delayError&&P?(c[_]=x(_,()=>k(_,P)),c[_](t.delayError)):(clearTimeout(d[_]),delete c[_],P?Qe(r.errors,_,P):it(r.errors,_),r.errors={...r.errors}),(P?!kr(U,P):U)||!_t(W)||J){const B={...W,...J&&Er(I)?{isValid:I}:{},errors:r.errors,name:_};r={...r,...B},b.state.next(B)}},V=async _=>(N(_,!0),await t.resolver(a,t.context,gA(_||i.mount,o,t.criteriaMode,t.shouldUseNativeValidation))),re=async _=>{const{errors:I}=await V(_);if(N(_),_){for(const P of _){const W=le(I,P);W?i.array.has(P)&&tt(W)&&!Object.keys(W).some(U=>!Number.isNaN(Number(U)))?bg(r.errors,{[P]:W},P):Qe(r.errors,P,W):it(r.errors,P)}r.errors={...r.errors}}else r.errors=I;return I},K=async({name:_,eventType:I})=>{if(e.validate){const P=await e.validate({formValues:a,formState:r,name:_,eventType:I});if(tt(P))for(const W in P){const U=P[W];U&&X(`${vd}.${W}`,{message:kt(U.message)?U.message:"",type:U.type||cr.validate})}else kt(P)||!P?X(vd,{message:P||"",type:cr.validate}):ue(vd);return P}return!0},H=async({fields:_,onlyCheckValid:I,name:P,eventType:W,context:U={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(U.runRootValidation=!0,!await K({name:P,eventType:W})&&(U.valid=!1,I)))return U.valid;for(const J in _){const B=_[J];if(B){const{_f:Q,...ie}=B;if(Q){const De=i.array.has(Q.name),Ve=B._f&&bA(B._f),Dt=g.validatingFields||g.isValidating||y.validatingFields||y.isValidating;Ve&&Dt&&N([Q.name],!0);const _e=await Ng(B,i.disabled,a,w,t.shouldUseNativeValidation&&!I,De);if(Ve&&Dt&&N([Q.name]),_e[Q.name]&&(U.valid=!1,I)||(!I&&(le(_e,Q.name)?De?bg(r.errors,_e,Q.name):Qe(r.errors,Q.name,_e[Q.name]):it(r.errors,Q.name)),e.shouldUseNativeValidation&&_e[Q.name]))break}!_t(ie)&&await H({context:U,onlyCheckValid:I,fields:ie,name:J,eventType:W})}}return U.valid},ee=()=>{for(const _ of i.unMount){const I=le(o,_);I&&(I._f.refs?I._f.refs.every(P=>!gd(P)):!gd(I._f.ref))&&je(_)}i.unMount=new Set},G=(_,I)=>(_&&I&&Qe(a,_,I),!kr(s.mount?a:n,n)),z=(_,I,P)=>dA(_,i,{...s.mount?a:qe(I)?n:kt(_)?{[_]:I}:I},P,I),Ce=_=>Eg(le(s.mount?a:n,_,t.shouldUnregister?le(n,_,[]):[])),$=(_,I,P={},W=!1,U=!1)=>{const J=le(o,_);let B=I;if(J){const Q=J._f;Q&&(!Q.disabled&&Qe(a,_,Og(I,Q)),B=dl(Q.ref)&&Et(I)?"":I,Tg(Q.ref)?[...Q.ref.options].forEach(ie=>ie.selected=B.includes(ie.value)):Q.refs?Wn(Q.ref)?Q.refs.forEach(ie=>{(!ie.defaultChecked||!ie.disabled)&&(Array.isArray(B)?ie.checked=!!B.find(De=>De===ie.value):ie.checked=B===ie.value||!!B)}):Q.refs.forEach(ie=>ie.checked=ie.value===B):sl(Q.ref)?Q.ref.value="":(Q.ref.value=B,!Q.ref.type&&!U&&b.state.next({name:_,values:W?a:lt(a)})))}(P.shouldDirty||P.shouldTouch)&&O(_,B,P.shouldTouch,P.shouldDirty,!U),P.shouldValidate&&te(_,{delayError:P.delayError})},q=(_,I,P,W=!1,U=!1)=>{for(const J in I){if(!I.hasOwnProperty(J))return;const B=I[J],Q=_+"."+J,ie=le(o,Q);(i.array.has(_)||tt(B)||ie&&!ie._f)&&!ro(B)?q(Q,B,P,W,U):$(Q,B,P,W,U)}},xe=(_,I,P,W,U=!1)=>{const J=le(o,_),B=i.array.has(_),Q=W?I:lt(I),ie=le(a,_),De=kr(ie,Q);if(De||Qe(a,_,Q),B)b.array.next({name:_,values:W?a:lt(a)}),(g.isDirty||g.dirtyFields||y.isDirty||y.dirtyFields)&&P.shouldDirty&&(E(),U||b.state.next({name:_,dirtyFields:r.dirtyFields,isDirty:G(_,Q)}));else{const Ve=Array.isArray(Q)&&!Q.length||_t(Q);!J||J._f||Et(Q)||Ve?$(_,Q,P,W,U):q(_,Q,P,W,U)}if(!De&&!U){const Ve=pd(_,i),Dt=W?a:lt(a);b.state.next({...Ve&&r,name:s.mount||Ve?_:void 0,values:Dt})}},oe=(_,I,P={})=>xe(_,I,P,!1),he=(_,I={})=>{const P=Rt(_)?_(a):_;if(!kr(a,P)){a={...a,...P};const W=kg(P);for(const U of i.mount)U in W&&xe(U,W[U],I,!0,!0);b.state.next({...r,name:void 0,type:void 0,...f?{values:a}:{}}),I.shouldValidate&&S()}},Y=async _=>{s.mount=!0;const I=_.target;let P=I.name,W=!0;const U=le(o,P),J=B=>{W=Number.isNaN(B)||ro(B)&&isNaN(B.getTime())||kr(B,le(a,P,B))};if(U){let B,Q;const ie=I.type?Lg(U._f):nA(_),De=_.type===en.BLUR||_.type===en.FOCUS_OUT,Ve=!yA(U._f)&&!e.validate&&!t.resolver&&!le(r.errors,P)&&!U._f.deps,Dt=Ve||wA(De,le(r.touchedFields,P),r.isSubmitted,h,u),_e=pd(P,i,De);if(Qe(a,P,ie),De){if(!I||!I.readOnly){U._f.onBlur&&U._f.onBlur(_);const dr=c[P];dr&&dr(0)}}else U._f.onChange&&U._f.onChange(_);const Ke=O(P,ie,De),ot=!_t(Ke)||_e;if(!De&&b.state.next({name:P,type:_.type,...f?{values:lt(a)}:{}}),Dt)return(!Ve||!r.isValid)&&(g.isValid||y.isValid)&&(t.mode==="onBlur"?De&&S():De||S()),ot&&b.state.next({name:P,..._e?{}:Ke});if(!t.resolver&&e.validate&&await K({name:P,eventType:_.type}),!De&&_e&&b.state.next({...r}),t.resolver){const{errors:dr}=await V([P]);if(N([P]),J(ie),!W){!_t(Ke)&&b.state.next(Ke);return}const rn=$g(r.errors,o,P),er=$g(dr,o,rn.name||P);B=er.error,P=er.name,Q=_t(dr)}else N([P],!0),B=(await Ng(U,i.disabled,a,w,t.shouldUseNativeValidation))[P],N([P]),J(ie),W&&(B?Q=!1:(g.isValid||y.isValid)&&(Q=await H({fields:o,onlyCheckValid:!0,name:P,eventType:_.type})));W&&(U._f.deps&&(!Array.isArray(U._f.deps)||U._f.deps.length>0)&&te(U._f.deps),F(P,Q,B,Ke))}},ce=(_,I)=>{if(le(r.errors,I)&&_.focus)return _.focus(),1},te=async(_,I={})=>{let P,W;const U=pl(_);if(t.resolver){const J=await re(qe(_)?_:U);P=_t(J),W=_?!U.some(B=>le(J,B)):P}else _?(W=(await Promise.all(U.map(async J=>{const B=le(o,J);return await H({fields:B&&B._f?{[J]:B}:B,eventType:en.TRIGGER})}))).every(Boolean),!(!W&&!r.isValid)&&S()):W=P=await H({fields:o,name:_,eventType:en.TRIGGER});if(I.delayError&&t.delayError&&kt(_)){const J=le(r.errors,_);J?(it(r.errors,_),c[_]=x(_,()=>k(_,J)),c[_](t.delayError)):(clearTimeout(d[_]),delete c[_])}return b.state.next({...!kt(_)||(g.isValid||y.isValid)&&P!==r.isValid?{}:{name:_},...t.resolver||!_?{isValid:P}:{},errors:r.errors}),I.shouldFocus&&!W&&jn(o,ce,_?U:i.mount),W},Ne=(_,I)=>{let P={...s.mount?a:n};return I&&(P=Ag(I.dirtyFields?r.dirtyFields:r.touchedFields,P)),qe(_)?P:kt(_)?le(P,_):_.map(W=>le(P,W))},be=(_,I)=>({invalid:!!le((I||r).errors,_),isDirty:!!le((I||r).dirtyFields,_),error:le((I||r).errors,_),isValidating:!!le(r.validatingFields,_),isTouched:!!le((I||r).touchedFields,_)}),ue=_=>{const I=_?pl(_):void 0;I==null||I.forEach(P=>it(r.errors,P)),I?I.forEach(P=>{b.state.next({name:P,errors:r.errors})}):(r.errors={},b.state.next({errors:r.errors}))},X=(_,I,P)=>{const W=(le(o,_,{_f:{}})._f||{}).ref,U=le(r.errors,_)||{},{ref:J,message:B,type:Q,...ie}=U;Qe(r.errors,_,{...ie,...I,ref:W}),b.state.next({name:_,errors:r.errors,isValid:!1}),P&&P.shouldFocus&&W&&W.focus&&W.focus()},ne=(_,I)=>{if(Rt(_)){f++;const{unsubscribe:P}=b.state.subscribe({next:U=>"values"in U&&_(U.values||z(void 0,I),U)});let W=!1;return{unsubscribe:()=>{W||(W=!0,f--,P())}}}return z(_,I,!0)},pe=_=>{var I;const P=!!(!((I=_.formState)===null||I===void 0)&&I.values);P&&f++;const{unsubscribe:W}=b.state.subscribe({next:J=>{if(xA(_.name,J.name,_.exact)&&vA(J,_.formState||g,ct,_.reRenderRoot)){const B={...a};_.callback({values:B,...r,...J,defaultValues:n})}}});if(!P)return W;let U=!1;return()=>{U||(U=!0,f--,W())}},Se=_=>(s.mount=!0,y={...y,..._.formState},pe({..._,formState:{...m,..._.formState}})),je=(_,I={})=>{for(const P of _?pl(_):i.mount)i.mount.delete(P),i.array.delete(P),I.keepValue||(it(o,P),it(a,P)),!I.keepError&&it(r.errors,P),!I.keepDirty&&it(r.dirtyFields,P),!I.keepTouched&&it(r.touchedFields,P),!I.keepIsValidating&&it(r.validatingFields,P),!t.shouldUnregister&&!I.keepDefaultValue&&it(n,P);b.state.next({values:lt(a)}),b.state.next({...r,...I.keepDirty?{isDirty:G()}:{}}),!I.keepIsValid&&S()},Je=({disabled:_,name:I})=>{if(Er(_)&&s.mount||_||i.disabled.has(I)){const U=i.disabled.has(I)!==!!_;_?i.disabled.add(I):i.disabled.delete(I),U&&s.mount&&!s.action&&S()}},Re=(_,I={})=>{let P=le(o,_);const W=Er(I.disabled)||Er(t.disabled),U=!i.registerName.has(_)&&P&&P._f&&!P._f.mount;return Qe(o,_,{...P||{},_f:{...P&&P._f?P._f:{ref:{name:_}},name:_,mount:!0,...I}}),i.mount.add(_),P&&!U?Je({disabled:Er(I.disabled)?I.disabled:t.disabled,name:_}):L(_,!0,I.value),{...W?{disabled:I.disabled||t.disabled}:{},...t.progressive?{required:!!I.required,min:Yn(I.min),max:Yn(I.max),minLength:Yn(I.minLength),maxLength:Yn(I.maxLength),pattern:Yn(I.pattern)}:{},name:_,onChange:Y,onBlur:Y,ref:J=>{if(J){i.registerName.add(_),Re(_,I),i.registerName.delete(_),P=le(o,_);const B=qe(J.value)&&J.querySelectorAll&&J.querySelectorAll("input,select,textarea")[0]||J,Q=hA(B),ie=P._f.refs||[];if(Q?ie.find(Ve=>Ve===B):B===P._f.ref)return;const De={...P._f};Q?(De.refs=[...ie.filter(gd),B,...Array.isArray(le(n,_))?[{}]:[]],De.ref={type:B.type,name:_}):(De.ref=B,delete De.refs),Qe(o,_,{_f:De}),L(_,!1,void 0,B)}else P=le(o,_,{}),P._f&&(P._f.mount=!1),(t.shouldUnregister||I.shouldUnregister)&&!(aA(i.array,_)&&s.action)&&i.unMount.add(_)}}},Ye=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&jn(o,ce,i.mount),ye=_=>{Er(_)&&(b.state.next({disabled:_}),jn(o,(I,P)=>{const W=le(o,P);W&&(I.disabled=W._f.disabled||_,Array.isArray(W._f.refs)&&W._f.refs.forEach(U=>{U.disabled=W._f.disabled||_}))},0,!1))},rt=(_,I)=>async P=>{let W;P&&(P.preventDefault&&P.preventDefault(),P.persist&&P.persist());let U=lt(a);if(b.state.next({isSubmitting:!0}),t.resolver){const{errors:J,values:B}=await V();N(),r.errors=J,U=lt(B)}else await H({fields:o,eventType:en.SUBMIT});if(i.disabled.size)for(const J of i.disabled)it(U,J);if(it(r.errors,hg),_t(r.errors)){b.state.next({errors:{}});try{await _(U,P)}catch(J){W=J}}else I&&await I({...r.errors},P),Ye(),setTimeout(Ye);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:_t(r.errors)&&!W,submitCount:r.submitCount+1,errors:r.errors}),W)throw W},Le=(_,I={})=>{le(o,_)&&(qe(I.defaultValue)?oe(_,lt(le(n,_))):(oe(_,I.defaultValue),Qe(n,_,lt(I.defaultValue))),I.keepTouched||it(r.touchedFields,_),I.keepDirty||(it(r.dirtyFields,_),r.isDirty=I.defaultValue?G(_,lt(le(n,_))):G()),I.keepError||(it(r.errors,_),g.isValid&&S()),b.state.next({...r}))},Ge=(_,I={})=>{const P=_?lt(_):n,W=lt(P),U=_t(_),J=W,B=o;if(I.keepDefaultValues||(n=P),!I.keepValues){if(I.keepDirtyValues){const Q=new Set([...i.mount,...Object.keys(Po(n,a,void 0,B))]);for(const ie of Array.from(Q)){const De=le(r.dirtyFields,ie),Ve=le(a,ie),Dt=le(J,ie);De&&!qe(Ve)?Qe(J,ie,Ve):!De&&!qe(Dt)&&oe(ie,Dt)}}else{if(ll&&qe(_))for(const Q of i.mount){const ie=le(o,Q);if(ie&&ie._f){const De=Array.isArray(ie._f.refs)?ie._f.refs[0]:ie._f.ref;if(dl(De)){const Ve=De.closest("form");if(Ve){Ve.reset();break}}}}if(I.keepFieldsRef)for(const Q of i.mount)oe(Q,le(J,Q));else o={}}if(t.shouldUnregister){if(a=I.keepDefaultValues?lt(n):{},I.keepFieldsRef)for(const Q of i.mount)Qe(a,Q,le(J,Q))}else a=lt(J);b.array.next({values:{...J}}),b.state.next({name:void 0,type:void 0,values:{...J}})}i={mount:I.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!g.isValid||!!I.keepIsValid||!!I.keepDirtyValues||!t.shouldUnregister&&!_t(J),s.watch=!!t.shouldUnregister,s.keepIsValid=!!I.keepIsValid,s.action=!1,I.keepErrors||(r.errors={}),b.state.next({submitCount:I.keepSubmitCount?r.submitCount:0,isDirty:U?!1:I.keepDirty?r.isDirty:I.keepValues?G():!!(I.keepDefaultValues&&!kr(_,n)),isSubmitted:I.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:U?{}:I.keepDirtyValues?I.keepDefaultValues&&a?Po(n,a,void 0,B):r.dirtyFields:I.keepDefaultValues&&_?Po(n,_,void 0,B):I.keepDirty?r.dirtyFields:{},touchedFields:I.keepTouched?r.touchedFields:{},errors:I.keepErrors?r.errors:{},isSubmitSuccessful:I.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:n})},Ue=(_,I)=>Ge(Rt(_)?_(a):_,{...t.resetOptions,...I}),Ee=(_,I={})=>{const P=le(o,_),W=P&&P._f;if(W){const U=W.refs?W.refs[0]:W.ref;U.focus&&setTimeout(()=>{U.focus(),I.shouldSelect&&Rt(U.select)&&U.select()})}},ct=_=>{const{name:I,type:P,values:W,...U}=_;r={...r,...U}},Yt={control:{register:Re,unregister:je,getFieldState:be,handleSubmit:rt,setError:X,_subscribe:pe,_runSchema:V,_updateIsValidating:N,_focusError:Ye,_getWatch:z,_getDirty:G,_setValid:S,_setFieldArray:M,_setDisabledField:Je,_setErrors:T,_getFieldArray:Ce,_reset:Ge,_resetDefaultValues:()=>Rt(t.defaultValues)&&t.defaultValues().then(_=>{Ue(_,t.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:ee,_disableForm:ye,_subjects:b,_proxyFormState:g,get _fields(){return o},get _formValues(){return a},get _state(){return s},set _state(_){s=_},get _defaultValues(){return n},get _names(){return i},set _names(_){i=_},get _formState(){return r},get _options(){return t},set _options(_){t={...t,..._},u=cl(t.mode),h=cl(t.reValidateMode)}},subscribe:Se,trigger:te,register:Re,handleSubmit:rt,watch:ne,setValue:oe,setValues:he,getValues:Ne,reset:Ue,resetField:Le,resetDefaultValues:(_,I={})=>{if(n=lt(_),!I.keepDirty){const P=Po(n,a,void 0,o);r.dirtyFields=P,r.isDirty=!_t(P)}I.keepIsValid||S(),b.state.next({...r,defaultValues:n})},clearErrors:ue,unregister:je,setError:X,setFocus:Ee,getFieldState:be};return{...Yt,formControl:Yt}}function Vg(e={}){const t=D.useRef(void 0),r=D.useRef(void 0),o=D.useRef(e.formControl),[n,a]=D.useState(()=>({...lt(Gg),isLoading:Rt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Rt(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&o.current!==e.formControl)if(o.current=e.formControl,e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!Rt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:i,...c}=EA(e);t.current={...c,formState:n}}const s=t.current.control;return s._options=e,cA(()=>{const i=s._subscribe({formState:s._proxyFormState,callback:()=>a({...s._formState,defaultValues:s._defaultValues}),reRenderRoot:!0});return a(c=>({...c,isReady:!0})),s._formState.isReady=!0,i},[s]),D.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),D.useEffect(()=>{e.mode&&(s._options.mode=e.mode),e.reValidateMode&&(s._options.reValidateMode=e.reValidateMode)},[s,e.mode,e.reValidateMode]),D.useEffect(()=>{e.errors&&(s._setErrors(e.errors),s._focusError())},[s,e.errors]),D.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),D.useEffect(()=>{if(s._proxyFormState.isDirty){const i=s._getDirty();i!==n.isDirty&&s._subjects.state.next({isDirty:i})}},[s,n.isDirty]),D.useEffect(()=>{var i;e.values&&!kr(e.values,r.current)?(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),!((i=s._options.resetOptions)===null||i===void 0)&&i.keepIsValid||s._setValid(),r.current=e.values,a(c=>({...c}))):s._resetDefaultValues()},[s,e.values]),D.useEffect(()=>{s._state.mount||(s._setValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),t.current.formState=D.useMemo(()=>iA(n,s),[s,n]),t.current}function zg(e){return["divider","paragraph","heading","link","image"].includes(e.type)?"layout":["submit","button"].includes(e.type)?"action":["pages","group","repeatGroup"].includes(e.type)?"container":"field"}function Bg(e,t){var n;const r=[],o=new Map;for(const a of t){const s=((n=a.attributes)==null?void 0:n.name)||a.id;o.set(s,a)}for(const[a,s]of Object.entries(e)){const i=o.get(a);if(i){const c=zg(i);if(c==="layout"||c==="action")continue;r.push({id:a,value:s,type:i.type,category:c})}else r.push({id:a,value:s,type:"unknown",category:"field"})}return r}function xd(e,t,r="keyValue"){return r==="array"?Bg(e,t):e}function kA(e,t){var n;const r={},o=new Map;for(const a of t){const s=((n=a.attributes)==null?void 0:n.name)||a.id;o.set(s,a)}for(const[a,s]of Object.entries(e)){const i=o.get(a);if(i){const c=zg(i);(c==="field"||c==="container")&&(r[a]=s)}else r[a]=s}return r}const _A=({currentPage:e,totalPages:t,pages:r,showStepNumbers:o,onPageClick:n})=>{const a=(e+1)/t*100;return l.jsxs("div",{className:p("mb-8"),children:[l.jsx("div",{className:p("h-2 bg-gray-200 rounded-full overflow-hidden"),children:l.jsx("div",{className:p("h-full bg-blue-600 transition-all duration-300 ease-out"),style:{width:`${a}%`}})}),o&&l.jsx("div",{className:p("flex justify-between mt-4"),children:r.map((s,i)=>{const c=i<e,d=i===e;return l.jsxs("button",{type:"button",onClick:()=>n==null?void 0:n(i),disabled:i>e,className:p(`flex flex-col items-center ${n&&i<=e?"cursor-pointer":"cursor-default"}`),children:[l.jsx("div",{className:p(`w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium transition-colors ${c?"bg-blue-600 text-white":d?"bg-blue-600 text-white ring-4 ring-blue-100":"bg-gray-200 text-gray-500"}`),children:c?l.jsx("svg",{className:p("w-4 h-4"),fill:"currentColor",viewBox:"0 0 20 20",children:l.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}):i+1}),l.jsx("span",{className:p(`mt-2 text-xs font-medium ${d?"text-blue-600":"text-gray-500"}`),children:s.title})]},s.id)})})]})},DA=({page:e,pageIndex:t,totalPages:r})=>l.jsxs("div",{className:p("mb-6"),children:[l.jsxs("div",{className:p("flex items-center justify-between mb-2"),children:[l.jsx("h2",{className:p("text-xl font-semibold text-gray-900"),children:e.title}),l.jsxs("span",{className:p("text-sm text-gray-500"),children:["Step ",t+1," of ",r]})]}),e.description&&l.jsx("p",{className:p("text-gray-600"),children:e.description})]}),AA=({currentPage:e,totalPages:t,allowSkip:r,isSubmitting:o,onPrevious:n,onNext:a,onSkip:s})=>{const i=e===0,c=e===t-1;return l.jsxs("div",{className:p("flex items-center justify-between mt-8 pt-6 border-t border-gray-200"),children:[l.jsx("div",{children:!i&&l.jsx("button",{type:"button",onClick:n,className:p("px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500"),children:"← Previous"})}),l.jsxs("div",{className:p("flex gap-3"),children:[r&&!c&&l.jsx("button",{type:"button",onClick:s,className:p("px-4 py-2 text-sm font-medium text-gray-500 hover:text-gray-700"),children:"Skip"}),c?l.jsx("button",{type:"submit",disabled:o,className:p("px-6 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed"),children:o?"Submitting...":"Submit"}):l.jsx("button",{type:"button",onClick:a,className:p("px-6 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500"),children:"Next →"})]})]})},Ug=({element:e,elements:t})=>{const{setValue:r,watch:o,register:n,unregister:a}=md(),s=o(),{visible:i,required:c,disabled:d}=D.useMemo(()=>Rm(e,s,t),[e,s,t]),f=e.attributes.name;if(D.useEffect(()=>{var N,E,M,k,T,A;if(f){if(!i){a(f,{keepValue:!0});return}return n(f,{required:c?((N=e.validation)==null?void 0:N.errorMessage)||"This field is required":void 0,minLength:(E=e.validation)==null?void 0:E.minLength,maxLength:(M=e.validation)==null?void 0:M.maxLength,min:(k=e.validation)==null?void 0:k.min,max:(T=e.validation)==null?void 0:T.max,pattern:IA((A=e.validation)==null?void 0:A.pattern),disabled:d||e.properties.disabled||void 0}),()=>a(f,{keepValue:!0})}},[f,i,c,d,e.validation,e.properties.disabled,n,a]),!i)return null;const u=o(f),h=d||e.properties.disabled||!1,m={small:"max-w-xs",medium:"max-w-md",large:"max-w-lg",full:"w-full",default:"max-w-md"},g=m[e.layout.size||"default"]||m.default,y=dt.get(e.type),b=(N,E)=>{const M=t.filter(k=>k.parentId===N).sort((k,T)=>k.order-T.order);return l.jsx("div",{className:p("space-y-4"),children:M.map(k=>l.jsx(Ug,{element:{...k,attributes:{...k.attributes,name:E?`${E}.${k.attributes.name}`:k.attributes.name}},elements:t},k.id))})},C={element:e,properties:e.properties,layout:e.layout,validation:{...e.validation,required:c},logic:e.logic,config:e.config,mode:"render",value:u,onChange:N=>r(f,N),errors:[],formValues:s,readOnly:!1,disabled:h,allElements:t,renderChildren:b},w=()=>y!=null&&y.render?y.render(C):l.jsxs("div",{className:p("p-3 bg-yellow-50 border border-yellow-200 rounded-md text-sm text-yellow-700"),children:[l.jsxs("p",{className:p("font-medium"),children:["Unknown element type: ",e.type]}),l.jsxs("p",{className:p("text-xs mt-1"),children:["This element is not registered in the element registry. Please register it using ",l.jsx("code",{children:"registerElement()"}),"."]})]});return(y==null?void 0:y.structure)==="page"&&["heading","layout","special"].includes(y.subCategory||"")||["paragraph","image","link","formHeading","sectionHeading","subheading","divider","spacer","captcha","submit"].includes(e.type)?l.jsx("div",{className:p(g,"mb-4"),children:w()}):l.jsx("div",{className:p(g,"mb-4"),children:w()})};function TA(e){var o,n,a;if(e.attributes.defaultValue!==void 0)return e.attributes.defaultValue;const t=dt.get(e.type);switch(t==null?void 0:t.dataType){case"array":return[];case"boolean":return!1;case"number":return((o=e.config)==null?void 0:o.min)??0;case"object":return e.type==="rangeSlider"?[((n=e.config)==null?void 0:n.min)??0,((a=e.config)==null?void 0:a.max)??100]:e.type==="dateRange"?{start:"",end:""}:{};default:return""}}function IA(e){if(e)try{return new RegExp(e)}catch{return}}function PA(e){const t={};return e.forEach(r=>{var o;(o=r.attributes)!=null&&o.name&&(t[r.attributes.name]=TA(r))}),t}function MA(e,t){const r=[],o=n=>{var a;for(const s of n)(a=s.attributes)!=null&&a.name&&r.push(s.attributes.name),o(t.filter(i=>i.parentId===s.id))};return o(e),r}const wd=({schema:e,onSubmit:t,initialValues:r,onPageChange:o,submissionFormat:n="keyValue"})=>{const[a,s]=D.useState(0),[i,c]=D.useState(!1),[d,f]=D.useState(null),u=D.useMemo(()=>e.elements.find(A=>A.type==="pages"),[e.elements]),h=D.useMemo(()=>{var A,L,O,F,V;return{showProgressBar:((A=u==null?void 0:u.config)==null?void 0:A.showProgressBar)??!0,showStepNumbers:((L=u==null?void 0:u.config)==null?void 0:L.showStepNumbers)??!0,allowSkip:((O=u==null?void 0:u.config)==null?void 0:O.allowSkip)??!1,validateOnNext:((F=u==null?void 0:u.config)==null?void 0:F.validateOnNext)??!0,steps:((V=u==null?void 0:u.config)==null?void 0:V.steps)||[{id:"step1",label:"Step 1"}]}},[u]),m=D.useMemo(()=>u?h.steps.map(L=>{const O=e.elements.filter(F=>{var V;return F.parentId===`${u.id}:${L.id}`||F.parentId===u.id&&((V=F.config)==null?void 0:V.wizardStepId)===L.id});return{id:L.id,title:L.label,description:L.description,elements:O.sort((F,V)=>F.order-V.order)}}):[],[u,h.steps,e.elements]),g=D.useMemo(()=>e.elements.filter(A=>A.type!=="pages"),[e.elements]),y=D.useMemo(()=>r||PA(g),[r,g]),b=Vg({defaultValues:y,mode:"onChange"}),{handleSubmit:C,trigger:w}=b,x=D.useCallback(A=>{A>=0&&A<m.length&&(s(A),o==null||o(A))},[m.length,o]),S=D.useCallback(()=>{x(a-1)},[a,x]),N=D.useCallback(async()=>{if(h.validateOnNext){const A=MA(m[a].elements,e.elements);if(!await w(A))return}x(a+1)},[a,h.validateOnNext,m,e.elements,w,x]),E=D.useCallback(()=>{x(a+1)},[a,x]),M=D.useCallback(async A=>{c(!0);try{const L=xd(A,e.elements,n);console.log("Wizard form submitted:",L),f(L),await(t==null?void 0:t(L))}catch(L){console.error("Form submission error:",L)}finally{c(!1)}},[t,e.elements,n]),k=D.useCallback(A=>{if(a<m.length-1){A.preventDefault(),N();return}C(M)(A)},[a,m.length,N,C,M]),T=m[a];return T?l.jsxs("div",{className:p("max-w-3xl mx-auto"),children:[l.jsx(_g,{...b,children:l.jsxs("form",{onSubmit:k,className:p("space-y-1"),children:[h.showProgressBar&&l.jsx(_A,{currentPage:a,totalPages:m.length,pages:m,showStepNumbers:h.showStepNumbers,onPageClick:h.allowSkip?x:void 0}),l.jsx(DA,{page:T,pageIndex:a,totalPages:m.length}),l.jsx("div",{className:p("space-y-4"),children:T.elements.map(A=>l.jsx(Ug,{element:A,elements:e.elements},A.id))}),l.jsx(AA,{currentPage:a,totalPages:m.length,allowSkip:h.allowSkip,isSubmitting:i,onPrevious:S,onNext:N,onSkip:E})]})}),d&&l.jsxs("div",{className:p("mt-8 p-4 bg-green-50 border border-green-200 rounded-lg"),children:[l.jsx("h3",{className:p("text-lg font-medium text-green-800 mb-2"),children:"Form Submitted Successfully!"}),l.jsx("pre",{className:p("text-sm text-green-700 overflow-x-auto"),children:JSON.stringify(d,null,2)})]})]}):l.jsxs("div",{className:p("p-8 text-center text-gray-500"),children:[l.jsx("p",{children:"No wizard steps configured."}),l.jsx("p",{className:p("text-sm mt-2"),children:"Add steps to the wizard element to create a multi-page form."})]})};function OA(e){var o,n,a;if(e.attributes.defaultValue!==void 0)return e.attributes.defaultValue;const t=dt.get(e.type);switch(t==null?void 0:t.dataType){case"array":return[];case"boolean":return!1;case"number":return((o=e.config)==null?void 0:o.min)??0;case"object":return e.type==="rangeSlider"?[((n=e.config)==null?void 0:n.min)??0,((a=e.config)==null?void 0:a.max)??100]:e.type==="dateRange"?{start:"",end:""}:{};default:return""}}function LA(e){const t={};return e.forEach(r=>{var o;(o=r.attributes)!=null&&o.name&&(t[r.attributes.name]=OA(r))}),t}const Wg=({element:e,elements:t})=>{const{watch:r}=md(),o=r(),{visible:n,required:a,disabled:s}=D.useMemo(()=>Rm(e,o,t),[e,o,t]);return n?l.jsx(FA,{element:e,elements:t,dynamicRequired:a,dynamicDisabled:s}):null},FA=({element:e,elements:t,dynamicRequired:r,dynamicDisabled:o})=>{const{setValue:n,watch:a}=md(),s=e.attributes.name,i=a(s),c=o||e.properties.disabled||!1,d=r,f={small:"max-w-xs",medium:"max-w-md",large:"max-w-lg",full:"w-full",default:"max-w-md"},u=f[e.layout.size||"default"]||f.default,h=dt.get(e.type),m=(w,x)=>{const S=t.filter(N=>N.parentId===w).sort((N,E)=>N.order-E.order);return l.jsx("div",{className:p("space-y-4"),children:S.map(N=>l.jsx(Wg,{element:{...N,attributes:{...N.attributes,name:x?`${x}.${N.attributes.name}`:N.attributes.name}},elements:t},N.id))})},g={element:e,properties:e.properties,layout:e.layout,validation:{...e.validation,required:d},logic:e.logic,config:e.config,mode:"render",value:i,onChange:w=>n(s,w),errors:[],formValues:a(),readOnly:!1,disabled:c,allElements:t,renderChildren:m},y=()=>h!=null&&h.render?h.render(g):l.jsxs("div",{className:p("p-3 bg-yellow-50 border border-yellow-200 rounded-md text-sm text-yellow-700"),children:[l.jsxs("p",{className:p("font-medium"),children:["Unknown element type: ",e.type]}),l.jsxs("p",{className:p("text-xs mt-1"),children:["This element is not registered in the element registry. Please register it using ",l.jsx("code",{children:"registerElement()"}),"."]})]});return(h==null?void 0:h.structure)==="page"&&["heading","layout","special"].includes(h.subCategory||"")||["paragraph","image","link","formHeading","sectionHeading","subheading","divider","spacer","captcha","submit"].includes(e.type)?l.jsx("div",{className:p(u,"mb-4"),children:y()}):l.jsx("div",{className:p(u,"mb-4"),children:y()})},Hg=({schema:e,onSubmit:t,initialValues:r,submissionFormat:o="keyValue"})=>{const[n,a]=D.useState(null);if(D.useMemo(()=>e.elements.some(h=>h.type==="pages"),[e.elements]))return l.jsx(wd,{schema:e,onSubmit:t,initialValues:r,submissionFormat:o});const i=D.useMemo(()=>e.elements.filter(h=>!h.parentId),[e.elements]),c=D.useMemo(()=>r||LA(i),[r,i]),d=Vg({defaultValues:c,mode:"onChange"}),f=D.useCallback(h=>{const m=xd(h,e.elements,o);console.log("Form submitted:",m),a(m),t==null||t(m)},[t,e.elements,o]),u=D.useMemo(()=>[...i].sort((h,m)=>h.order-m.order),[i]);return l.jsxs("div",{className:p("max-w-3xl mx-auto"),children:[l.jsx(_g,{...d,children:l.jsxs("form",{onSubmit:d.handleSubmit(f),className:p("space-y-1"),children:[l.jsx("div",{className:p(""),children:e.description&&l.jsx("p",{className:p("mt-2 text-gray-600"),children:e.description})}),l.jsx("div",{className:p("space-y-4"),children:u.map(h=>l.jsx(Wg,{element:h,elements:e.elements},h.id))})]})}),n&&l.jsxs("div",{className:p("mt-8 p-4 bg-green-50 border border-green-200 rounded-lg"),children:[l.jsx("h3",{className:p("text-lg font-medium text-green-800 mb-2"),children:"Submitted Data:"}),l.jsx("pre",{className:p("text-sm text-green-700 overflow-x-auto"),children:JSON.stringify(n,null,2)})]})]})},jg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("rounded-xl border bg-card text-card-foreground shadow",e),...t}));jg.displayName="Card";const $A=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("flex flex-col space-y-1.5 p-6",e),...t}));$A.displayName="CardHeader";const GA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("font-semibold leading-none tracking-tight",e),...t}));GA.displayName="CardTitle";const VA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("text-sm text-muted-foreground",e),...t}));VA.displayName="CardDescription";const Yg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("p-6 pt-0",e),...t}));Yg.displayName="CardContent";const zA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("flex items-center p-6 pt-0",e),...t}));zA.displayName="CardFooter";const BA=es("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),qg=v.forwardRef(({className:e,variant:t,...r},o)=>l.jsx("div",{ref:o,role:"alert",className:p(BA({variant:t}),e),...r}));qg.displayName="Alert";const Qg=v.forwardRef(({className:e,...t},r)=>l.jsx("h5",{ref:r,className:p("mb-1 font-medium leading-none tracking-tight",e),...t}));Qg.displayName="AlertTitle";const Kg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("text-sm [&_p]:leading-relaxed",e),...t}));Kg.displayName="AlertDescription";const UA={id:"design",label:"Design Mode",icon:hS,order:0,keyboardShortcut:"d",description:"Edit your form layout and properties",renderContent:(e,t)=>l.jsxs(l.Fragment,{children:[t==null?void 0:t.ElementSidebar,t==null?void 0:t.Canvas,t==null?void 0:t.PropertyPanel]})},WA={id:"preview",label:"Preview Mode",icon:hf,order:10,keyboardShortcut:"p",description:"Preview your form as an end user",renderContent:(e,t)=>{const{schema:r,setMode:o,submissionFormat:n,onSubmit:a}=e,s=r.elements.some(c=>c.type==="pages"),i=c=>{console.log("Form submitted:",c),a==null||a(c)};return l.jsx("div",{className:p("flex-1 overflow-y-auto bg-muted/30"),children:l.jsxs("div",{className:p("py-8 px-4"),children:[l.jsx("div",{className:p("max-w-3xl mx-auto mb-6"),children:l.jsxs("div",{className:p("flex items-center justify-between"),children:[l.jsxs("div",{className:p("flex items-center gap-2 text-sm text-muted-foreground"),children:[l.jsx(hf,{className:p("h-4","w-4")}),l.jsx("span",{children:"Preview Mode"}),s&&l.jsx(Oi,{variant:"secondary",children:"Wizard Form"})]}),l.jsxs(Ze,{variant:"ghost",size:"sm",onClick:()=>o("design"),children:[l.jsx(dS,{className:p("h-4","w-4","mr-1")}),"Back to Editor"]})]})}),l.jsx(jg,{className:p("max-w-3xl mx-auto"),children:l.jsx(Yg,{className:p("p-8"),children:r.elements.length===0?l.jsxs("div",{className:p("text-center py-12 text-muted-foreground"),children:[l.jsx(fS,{className:p("h-12","w-12","mx-auto","mb-4","text-muted-foreground/50")}),l.jsx("p",{className:p("text-lg font-medium mb-2"),children:"No elements to preview"}),l.jsx("p",{className:p("text-sm"),children:"Switch to Design mode and add some elements to your form."})]}):s?l.jsx(wd,{schema:r,onSubmit:i,submissionFormat:n}):l.jsx(Hg,{schema:r,onSubmit:i,submissionFormat:n})})}),r.elements.some(c=>c.logic)&&l.jsx("div",{className:p("max-w-3xl mx-auto mt-6"),children:l.jsxs(qg,{children:[l.jsx(mf,{className:p("h-4","w-4")}),l.jsx(Qg,{children:"Conditional Logic Active"}),l.jsx(Kg,{children:"This form has conditional logic rules. Some fields may show/hide based on your input."})]})})]})})}};function Xg(){Vt.has("design")||Vt.register(UA),Vt.has("preview")||Vt.register(WA)}Xg();const Jg=({initialSchema:e,onSchemaChange:t,toolbarActions:r,toolbarConfig:o,sidebarTabs:n,sidebarConfig:a,onPreviewSubmit:s,showElementSidebar:i=!0,showPropertyPanel:c=!0,submissionFormat:d="array",className:f})=>{const u=R(S=>S.mode),h=R(S=>S.setMode),m=R(S=>S.schema),g=R(S=>S.loadSchema);D.useEffect(()=>kv(),[]),D.useEffect(()=>{e&&g(e)},[e,g]),D.useEffect(()=>{t&&t(m)},[m,t]);const y=r||o?{...o,actions:[...(o==null?void 0:o.actions)??[],...r??[]]}:void 0,b=n||a!=null&&a.tabs?[...(a==null?void 0:a.tabs)??[],...n??[]]:void 0,C=Vt.get(u),w=D.useMemo(()=>({schema:m,currentMode:u,setMode:h,submissionFormat:d,onSubmit:s,showElementSidebar:i,showPropertyPanel:c,loadSchema:g}),[m,u,h,d,s,i,c,g]),x=D.useMemo(()=>({ElementSidebar:i?l.jsx(sE,{sidebarTabs:b}):void 0,Canvas:l.jsx(kE,{toolbarConfig:y}),PropertyPanel:c?l.jsx(oA,{}):void 0}),[i,b,y,c]);return l.jsx("div",{className:p("ep-main-layout h-screen flex flex-col bg-muted/50",f),children:l.jsx("div",{className:p("flex-1 flex overflow-hidden"),children:C?C.renderContent(w,x):null})})};Z.AffixInput=zl,Z.CanvasElementRenderer=Za,Z.CanvasPreviewWrapper=Ex,Z.ElementDescription=wa,Z.ElementLabel=xa,Z.EmptyState=kx,Z.EntryPulse=Jg,Z.ErrorMessages=fn,Z.FieldWrapper=Nx,Z.FormElementRenderer=vf,Z.FormPreview=Hg,Z.IconInput=uo,Z.InputWrapper=de,Z.WizardForm=wd,Z.builtInElements=yf,Z.createSidebarTab=th,Z.createSidebarTabs=nE,Z.createToolbarAction=sh,Z.createToolbarActions=mE,Z.default=Jg,Z.elementRegistry=dt,Z.extractContextValues=j,Z.filterFieldData=kA,Z.getButtonClassName=_x,Z.getCanvasInputClassName=Ct,Z.getElementDefinition=Pv,Z.getElementIcon=xf,Z.getElementLabel=Mi,Z.getInputClassName=Ot,Z.getModeDefinition=xE,Z.hasElement=Mv,Z.hasMode=wE,Z.isActionDisabled=lh,Z.isActionHidden=Zi,Z.isElementRegistered=RS,Z.isSidebarTabDisabled=rh,Z.isSidebarTabHidden=oh,Z.modeRegistry=Vt,Z.registerBuiltInElements=LS,Z.registerBuiltinModes=Xg,Z.registerElement=Av,Z.registerElements=Tv,Z.registerMode=bE,Z.registerModes=yE,Z.renderElement=tN,Z.renderElementOnCanvas=eN,Z.transformSubmissionData=xd,Z.transformToArrayFormat=Bg,Z.unregisterElement=Iv,Z.unregisterMode=vE,Z.useFormStore=R,Object.defineProperties(Z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
202
|
+
Selectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.`,{stack:S})}f.current&&(f.current=!1)}return g}}[o.name],[o]),h=K1.useSyncExternalStoreWithSelector(c.addNestedSub,i.getState,d||i.getState,u,a);return v.useDebugValue(h),h};return Object.assign(r,{withTypes:()=>r}),r}const lr=e=>v.createElement("button",{type:"button","data-testid":e.testID,disabled:e.disabled&&!e.disabledTranslation,className:e.className,title:e.disabledTranslation&&e.disabled?e.disabledTranslation.title:e.title,onClick:t=>e.handleOnClick(t)},e.disabledTranslation&&e.disabled?e.disabledTranslation.label:e.label),p_=D.forwardRef((e,t)=>v.createElement("span",{...e.dragHandleAttributes,"data-testid":e.testID,ref:t,className:e.className,title:e.title},e.label)),f_=e=>{const{component:t,...r}=e,o=Oe(r.schema.suppressStandardClassnames||me.betweenRules,r.schema.classNames.betweenRules);return v.createElement("div",{className:o,"data-testid":ge.inlineCombinator},v.createElement(t,{...r,testID:ge.combinators}))},zm={name:"",value:"",label:""},Bm=e=>["atleast","atmost","exactly"].includes(No(e)??""),Um=[],h_=e=>{const{match:t,options:r,title:o,className:n,disabled:a,testID:s,schema:i,thresholdPlaceholder:c,selectorComponent:d=e.schema.controls.valueSelector,numericEditorComponent:f=e.schema.controls.valueEditor}=e,{thresholdNum:u,thresholdRule:h,thresholdSchema:m,handleChangeMode:g,handleChangeThreshold:y}=m_(e),b=D.useMemo(()=>c?{...zm,placeholder:c}:zm,[c]);return v.createElement(v.Fragment,null,v.createElement(d,{schema:i,testID:s,className:n,title:o,handleOnChange:g,disabled:a,value:t.mode,options:r,multiple:!1,listsAsArrays:!1,path:Um,level:0}),Bm(t.mode)&&v.createElement(f,{skipHook:!0,testID:s,inputType:"number",title:o,className:n,disabled:a,handleOnChange:y,field:"",operator:"",value:u,valueSource:"value",fieldData:b,schema:m,path:Um,level:0,rule:h}))},m_=e=>{const{match:t,handleOnChange:r}=e,o=v.useMemo(()=>typeof t.threshold=="number"?Math.max(0,t.threshold):1,[t.threshold]);return{thresholdNum:o,thresholdRule:v.useMemo(()=>({field:"",operator:"=",value:o}),[o]),thresholdSchema:v.useMemo(()=>({...e.schema,parseNumbers:!0}),[e.schema]),handleChangeMode:D.useCallback(n=>{Bm(n)&&typeof t.threshold!="number"?r({...t,mode:n,threshold:1}):r({...t,mode:n})},[r,t]),handleChangeThreshold:D.useCallback(n=>{r({...t,threshold:Ds(n,{parseNumbers:!0})})},[r,t])}},g_=e=>{const t=v.useId();return v.createElement("label",{"data-testid":e.testID,className:e.className,title:e.title,htmlFor:t},v.createElement("input",{id:t,type:"checkbox",onChange:r=>e.handleOnChange(r.target.checked),checked:!!e.checked,disabled:e.disabled}),e.label)},Nt={errorInvalidIndependentCombinatorsProp:"QueryBuilder was rendered with a truthy independentCombinators prop. This prop is deprecated and unnecessary. Furthermore, the initial query/defaultQuery prop was of type RuleGroupType instead of type RuleGroupIC. More info: https://react-querybuilder.js.org/docs/components/querybuilder#independent-combinators",errorUnnecessaryIndependentCombinatorsProp:"QueryBuilder was rendered with the deprecated and unnecessary independentCombinators prop. To use independent combinators, make sure the query/defaultQuery prop is of type RuleGroupIC when the component mounts. More info: https://react-querybuilder.js.org/docs/components/querybuilder#independent-combinators",errorDeprecatedRuleGroupProps:"A custom RuleGroup component has rendered a standard RuleGroup component with deprecated props. The combinator, not, and rules props should not be used. Instead, the full group object should be passed as the ruleGroup prop.",errorDeprecatedRuleProps:"A custom RuleGroup component has rendered a standard Rule component with deprecated props. The field, operator, value, and valueSource props should not be used. Instead, the full rule object should be passed as the rule prop.",errorBothQueryDefaultQuery:"QueryBuilder was rendered with both query and defaultQuery props. QueryBuilder must be either controlled or uncontrolled (specify either the query prop, or the defaultQuery prop, but not both). Decide between using a controlled or uncontrolled query builder and remove one of these props. More info: https://reactjs.org/link/controlled-components",errorUncontrolledToControlled:"QueryBuilder is changing from an uncontrolled component to be controlled. This is likely caused by the query changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled query builder for the lifetime of the component. More info: https://reactjs.org/link/controlled-components",errorControlledToUncontrolled:"QueryBuilder is changing from a controlled component to be uncontrolled. This is likely caused by the query changing from defined to undefined, which should not happen. Decide between using a controlled or uncontrolled query builder for the lifetime of the component. More info: https://reactjs.org/link/controlled-components",errorEnabledDndWithoutReactDnD:"QueryBuilder was rendered with the enableDragAndDrop prop set to true, but either react-dnd was not detected or one of react-dnd-html5-backend or react-dnd-touch-backend was not detected. To enable drag-and-drop functionality, install react-dnd and one of the backend packages and wrap QueryBuilder in QueryBuilderDnD from @react-querybuilder/dnd.",errorDeprecatedDebugImport:"Importing from react-querybuilder/debug is deprecated. To enable Redux DevTools for React Query Builder's internal store, set globalThis.__RQB_DEVTOOLS__ = true."},Bn=Om({name:"queries",initialState:{},reducers:{setQueryState:(e,{payload:{qbId:t,query:r}})=>{e[t]=r}},selectors:{getQuerySelectorById:(e,t)=>e[t]}}),Wm=v.createContext(null),Bc=Om({name:"warnings",initialState:{[Nt.errorInvalidIndependentCombinatorsProp]:!1,[Nt.errorUnnecessaryIndependentCombinatorsProp]:!1,[Nt.errorDeprecatedRuleGroupProps]:!1,[Nt.errorDeprecatedRuleProps]:!1,[Nt.errorBothQueryDefaultQuery]:!1,[Nt.errorUncontrolledToControlled]:!1,[Nt.errorControlledToUncontrolled]:!1,[Nt.errorEnabledDndWithoutReactDnD]:!1,[Nt.errorDeprecatedDebugImport]:!1},reducers:{rqbWarn:(e,{payload:t})=>{e[t]||(console.error(t),e[t]=!0)}}}),Hm=j1(Bn,Bc).withLazyLoadedSlices(),b_=e=>c_(e),y_=e=>zc(e),v_=e=>u_(e),x_=e=>({useRQB_INTERNAL_QueryBuilderDispatch:b_(e),useRQB_INTERNAL_QueryBuilderStore:y_(e),useRQB_INTERNAL_QueryBuilderSelector:v_(e)}),Uc=({payload:e,onQueryChange:t})=>r=>{r(Bn.actions.setQueryState(e)),typeof t=="function"&&t(e.query)},Wc=x_(Wm),Hc=Wc.useRQB_INTERNAL_QueryBuilderDispatch,w_=Wc.useRQB_INTERNAL_QueryBuilderStore,C_=Wc.useRQB_INTERNAL_QueryBuilderSelector,{rqbWarn:S_}=Bc.actions,Ao=e=>t=>{setTimeout(()=>t(S_(e)))},N_={reducer:Hm,preloadedState:{queries:Bn.getInitialState(),warnings:Bc.getInitialState()},middleware:e=>e({serializableCheck:{ignoredActions:[Bn.actions.setQueryState.type],ignoredPaths:[/^queries\b.*\.rules\.\d+\.value$/]}})},E_=e=>{const[t,r]=D.useState(e),[o,n]=D.useState(null);return e!==t&&(n(t),r(e)),o},k_=e=>{const t=Hc(),{defaultQuery:r,queryProp:o}=e,n=E_(!!o);process.env.NODE_ENV!=="production"&&(o&&r?t(Ao(Nt.errorBothQueryDefaultQuery)):n===!0&&!o&&r?t(Ao(Nt.errorControlledToUncontrolled)):n===!1&&o&&!r&&t(Ao(Nt.errorUncontrolledToControlled)))};function jc(e,t,r){const o=Hc();process.env.NODE_ENV!=="production"&&t&&(e==="independentCombinators"&&(r==="invalid"&&o(Ao(Nt.errorInvalidIndependentCombinatorsProp)),r==="unnecessary"&&o(Ao(Nt.errorUnnecessaryIndependentCombinatorsProp))),e==="rule"&&o(Ao(Nt.errorDeprecatedRuleProps)),e==="ruleGroup"&&o(Ao(Nt.errorDeprecatedRuleGroupProps)))}const jm=e=>{const{optionList:t,optionsMap:r,defaultOption:o}=D.useMemo(()=>Xo({placeholder:e.translations.fields,optionList:e.fields,autoSelectOption:e.autoSelectField,baseOption:e.baseField}),[e.autoSelectField,e.baseField,e.fields,e.translations.fields]);return{fields:t,fieldMap:r,defaultField:o}},__=e=>{const t=S1({...N_,devTools:e?{name:"React Query Builder"}:!1});return t.addSlice=r=>{Hm.inject(r),t.dispatch({type:crypto.randomUUID().slice(0,8),meta:`Initializing state for slice "${r.name}"`})},t};let Yc=null;function Ym(e){return Yc||(Yc=__(globalThis==null?void 0:globalThis.__RQB_DEVTOOLS__)),Yc}const To=e=>t=>Bn.selectors.getQuerySelectorById({queries:t.queries},e),D_=(e,t)=>{const r=v.useContext(qc);return C_(e,t)??(r==null?void 0:r.initialQuery)},A_={},T_={},I_=[],P_={},M_=()=>null,qm=()=>"",Io=()=>!0,O_=(...e)=>{console.log(...e)};function L_(e,t){const{query:r,defaultQuery:o,getValueEditorSeparator:n=M_,getRuleClassname:a=qm,getRuleGroupClassname:s=qm,onAddRule:i=Io,onAddGroup:c=Io,onMoveRule:d=Io,onMoveGroup:f=Io,onGroupRule:u=Io,onGroupGroup:h=Io,onRemove:m=Io,onQueryChange:g,showCombinatorsBetweenRules:y=!1,showNotToggle:b=!1,showShiftActions:C=!1,showCloneButtons:w=!1,showLockButtons:x=!1,showMuteButtons:S=!1,suppressStandardClassnames:N=!1,resetOnFieldChange:E=!0,resetOnOperatorChange:M=!1,autoSelectField:k=!0,autoSelectOperator:T=!0,autoSelectValue:A=!0,addRuleToNewGroups:L=!1,listsAsArrays:O=!1,parseNumbers:F=!1,disabled:V=!1,validator:re,onLog:K=O_,idGenerator:H,accessibleDescriptionGenerator:ee=hk}=e,{qbId:G,rqbContext:z,fields:Ce,fieldMap:$,combinators:q,getParameters:xe,getOperatorsMain:oe,getMatchModesMain:he,getRuleDefaultOperator:Y,getSubQueryBuilderPropsMain:ce,getValueEditorTypeMain:te,getValueSourcesMain:Ne,getValuesMain:be,getRuleDefaultValue:ue,getInputTypeMain:X,createRule:ne,createRuleGroup:pe}=t,{controlClassnames:Se,controlElements:je,debugMode:Je,enableDragAndDrop:Re,enableMountQueryChange:Ye,translations:ye}=z,rt=!!y,Le=!!b,Ge=!!C,Ue=!!w,Ee=!!x,ct=!!S,et=!!E,_r=!!M,Yt=!!k,_=!!T,I=!!A,P=!!L,W=!!O,U=!!N,J=(e.maxLevels??0)>0?Number(e.maxLevels):1/0,B=D.useCallback((...fe)=>{Je&&K(...fe)},[Je,K]);k_({defaultQuery:o,queryProp:r});const Q=w_(),ie=Hc(),De=D.useMemo(()=>To(G),[G]),Ve=D_(De),Dt=D.useCallback(()=>De(Q.getState()),[Q,De]),_e=D.useMemo(()=>pe(),[pe]),Ke=r??Ve??o??_e,ot=Ke.id?Ke:As(Ke,{idGenerator:H}),[dr]=D.useState(ot),rn=D.useMemo(()=>({...z,initialQuery:dr}),[z,dr]);D.useEffect(()=>{r&&!Object.is(r,Ve)&&ie(Uc({payload:{qbId:G,query:r},onQueryChange:void 0}))},[r,G,Ve,ie]);const er=D.useMemo(()=>Mn(ot),[ot]),on=!!e.independentCombinators&&!er;jc("independentCombinators",on||!on&&(e.independentCombinators??"not present")!=="not present",on?"invalid":"unnecessary");const qn=D.useRef(!1);D.useEffect(()=>{qn.current||(qn.current=!0,ie(Uc({payload:{qbId:G,query:ot},onQueryChange:Ye&&typeof g=="function"?g:void 0})))},[Ye,g,G,ie,ot]);const At=D.useCallback(fe=>{ie(Uc({payload:{qbId:G,query:fe},onQueryChange:g}))},[g,G,ie]),nn=Array.isArray(V)&&V||I_,mt=V===!0,fl=ot.disabled||nn.some(fe=>fe.length===0),Qn=D.useCallback((fe,Te,Fe)=>{const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Te,Me)||mt){B({qbId:G,type:ht.parentPathDisabled,rule:fe,parentPath:Te,query:Me});return}const Pe=i(fe,Te,Me,Fe);if(!Pe){B({qbId:G,type:ht.onAddRuleFalse,rule:fe,parentPath:Te,query:Me});return}const wt=Pe===!0?fe:Pe,Pt=Xh(Me,wt,Te,{combinators:q,combinatorPreceding:wt.combinatorPreceding??void 0,idGenerator:H});B({qbId:G,type:ht.add,query:Me,newQuery:Pt,newRule:wt,parentPath:Te}),At(Pt)},[q,At,H,B,i,G,Q,mt]),Kn=D.useCallback((fe,Te,Fe)=>{if(Te.length>=J)return;const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Te,Me)||mt){B({qbId:G,type:ht.parentPathDisabled,ruleGroup:fe,parentPath:Te,query:Me});return}const Pe=c(fe,Te,Me,Fe);if(!Pe){B({qbId:G,type:ht.onAddGroupFalse,ruleGroup:fe,parentPath:Te,query:Me});return}const wt=Pe===!0?fe:Pe,Pt=Xh(Me,wt,Te,{combinators:q,combinatorPreceding:wt.combinatorPreceding??void 0,idGenerator:H});B({qbId:G,type:ht.add,query:Me,newQuery:Pt,newGroup:wt,parentPath:Te}),At(Pt)},[q,At,H,B,J,c,G,Q,mt]),Xn=D.useCallback((fe,Te,Fe)=>{const Me=To(G)(Q.getState());if(!Me)return;if(Zo(Fe,Me)&&fe!=="disabled"||mt){B({qbId:G,type:ht.pathDisabled,path:Fe,prop:fe,value:Te,query:Me});return}const Pe=_k(Me,fe,Te,Fe,{resetOnFieldChange:et,resetOnOperatorChange:_r,getRuleDefaultOperator:Y,getValueSources:Ne,getRuleDefaultValue:ue,getMatchModes:he});B({qbId:G,type:ht.update,query:Me,newQuery:Pe,prop:fe,value:Te,path:Fe}),At(Pe)},[At,he,Y,ue,Ne,B,G,Q,mt,et,_r]),an=D.useCallback((fe,Te)=>{const Fe=To(G)(Q.getState());if(!Fe)return;if(Zo(fe,Fe)||mt){B({qbId:G,type:ht.pathDisabled,path:fe,query:Fe});return}const Me=ut(fe,Fe);if(Me)if(m(Me,fe,Fe,Te)){const Pe=Ak(Fe,fe);B({qbId:G,type:ht.remove,query:Fe,newQuery:Pe,path:fe,ruleOrGroup:Me}),At(Pe)}else B({qbId:G,type:ht.onRemoveFalse,ruleOrGroup:Me,path:fe,query:Fe})},[At,B,m,G,Q,mt]),Jn=D.useCallback((fe,Te,Fe,Me)=>{const Pe=To(G)(Q.getState());if(!Pe)return;if(Zo(fe,Pe)||mt){B({qbId:G,type:ht.pathDisabled,oldPath:fe,newPath:Te,query:Pe});return}const wt=Ik(Pe,fe,Te,{clone:Fe,combinators:q,idGenerator:H}),Pt=ut(fe,Pe),oo=Xe(Pt),Dr=(oo?f:d)(Pt,fe,Te,Pe,wt,{clone:Fe,combinators:q},Me);if(!Dr){B({qbId:G,type:oo?ht.onMoveGroupFalse:ht.onMoveRuleFalse,ruleOrGroup:Pt,oldPath:fe,newPath:Te,clone:Fe,query:Pe,nextQuery:wt});return}const no=Xe(Dr)?Dr:wt;B({qbId:G,type:ht.move,query:Pe,newQuery:no,oldPath:fe,newPath:Te,clone:Fe}),At(no)},[q,At,H,B,f,d,G,Q,mt]),Zn=D.useCallback((fe,Te,Fe,Me)=>{const Pe=To(G)(Q.getState());if(!Pe)return;if(Zo(fe,Pe)||mt){B({qbId:G,type:ht.pathDisabled,sourcePath:fe,targetPath:Te,query:Pe});return}const wt=Mk(Pe,fe,Te,{clone:Fe,combinators:q,idGenerator:H}),Pt=ut(fe,Pe),oo=Xe(Pt),Dr=(oo?h:u)(Pt,fe,Te,Pe,wt,{clone:Fe,combinators:q},Me);if(!Dr){B({qbId:G,type:oo?ht.onGroupGroupFalse:ht.onGroupRuleFalse,ruleOrGroup:Pt,sourcePath:fe,targetPath:Te,clone:Fe,query:Pe,nextQuery:wt});return}const no=Xe(Dr)?Dr:wt;B({qbId:G,type:ht.group,query:Pe,newQuery:no,sourcePath:fe,targetPath:Te,clone:Fe}),At(no)},[q,At,H,B,h,u,G,Q,mt]),{validationResult:tr,validationMap:Rn}=D.useMemo(()=>{const fe=typeof re=="function"&&ot?re(ot):A_;return{validationResult:fe,validationMap:typeof fe=="boolean"?T_:fe}},[ot,re]),hl=Re?"enabled":"disabled",ml=er||rt?"enabled":"disabled",gl=D.useMemo(()=>typeof ot.combinator=="string"?{combinator:ot.combinator}:P_,[ot.combinator]),bl=D.useMemo(()=>Oe(U||me.queryBuilder,Oe(Se.queryBuilder),mt&&Se.disabled,typeof tr=="boolean"&&tr&&Se.valid,typeof tr=="boolean"&&!tr&&Se.invalid,U||{[me.disabled]:mt,[me.valid]:typeof tr=="boolean"&&tr,[me.invalid]:typeof tr=="boolean"&&!tr}),[Se.disabled,Se.invalid,Se.queryBuilder,Se.valid,mt,U,tr]),ea=D.useCallback(fe=>pe(fe??er),[pe,er]),yl=D.useMemo(()=>({addRuleToNewGroups:P,accessibleDescriptionGenerator:ee,autoSelectField:Yt,autoSelectOperator:_,autoSelectValue:I,classNames:Se,combinators:q,getParameters:xe,controls:je,createRule:ne,createRuleGroup:ea,disabledPaths:nn,enableDragAndDrop:Re,fieldMap:$,fields:Ce,dispatchQuery:At,getQuery:Dt,getInputType:X,getOperators:oe,getMatchModes:he,getRuleClassname:a,getRuleDefaultOperator:Y,getRuleDefaultValue:ue,getRuleGroupClassname:s,getSubQueryBuilderProps:ce,getValueEditorSeparator:n,getValueEditorType:te,getValues:be,getValueSources:Ne,independentCombinators:er,listsAsArrays:W,maxLevels:J,parseNumbers:F,qbId:G,resetOnFieldChange:et,resetOnOperatorChange:_r,showCloneButtons:Ue,showCombinatorsBetweenRules:rt,showLockButtons:Ee,showMuteButtons:ct,showNotToggle:Le,showShiftActions:Ge,suppressStandardClassnames:U,validationMap:Rn}),[ee,P,Yt,_,I,q,Se,je,ne,ea,nn,At,Re,$,Ce,X,oe,he,Dt,a,Y,ue,s,ce,n,te,be,Ne,xe,er,W,J,F,G,et,_r,Ue,rt,Ee,ct,Le,Ge,U,Rn]);return{actions:D.useMemo(()=>({moveRule:Jn,onGroupAdd:Kn,onGroupRemove:an,onPropChange:Xn,onRuleAdd:Qn,onRuleRemove:an,groupRule:Zn}),[Zn,Jn,Kn,Xn,Qn,an]),rootGroup:ot,rootGroupDisabled:fl,queryDisabled:mt,rqbContext:rn,schema:yl,translations:ye,wrapperClassName:bl,dndEnabledAttr:hl,inlineCombinatorsAttr:ml,combinatorPropObject:gl}}const F_=e=>{const[t]=D.useState(Xt),{fields:r,baseField:o,operators:n,baseOperator:a,combinators:s,baseCombinator:i,getParameters:c,translations:d,enableMountQueryChange:f=!0,controlClassnames:u,controlElements:h,getDefaultField:m,getDefaultOperator:g,getDefaultValue:y,getMatchModes:b,getOperators:C,getSubQueryBuilderProps:w,getValueEditorType:x,getValueSources:S,getInputType:N,getValues:E,autoSelectField:M=!0,autoSelectOperator:k=!0,autoSelectValue:T=!0,addRuleToNewGroups:A=!1,enableDragAndDrop:L,listsAsArrays:O=!1,debugMode:F=!1,idGenerator:V=Xt}=e,[re]=D.useState(e.query??e.defaultQuery),K=K_({controlClassnames:u,controlElements:h,debugMode:F,enableDragAndDrop:L,enableMountQueryChange:f,translations:d,initialQuery:re,qbId:t,finalize:!0}),{translations:H}=K,{fields:ee,fieldMap:G}=jm({fields:r,baseField:o,autoSelectField:M,translations:H}),{optionList:z}=D.useMemo(()=>Xo({optionList:s??In,labelMap:ak,baseOption:i,autoSelectOption:!0}),[i,s]),Ce=D.useCallback((X,ne,pe)=>Xo({optionList:(c==null?void 0:c(X,ne,pe))??[],autoSelectOption:!0}).optionList,[c]),{optionList:$}=D.useMemo(()=>Xo({optionList:n??sk,placeholder:H.operators,labelMap:Th,baseOption:a,autoSelectOption:k}),[k,a,n,H.operators]),q=D.useCallback((X,{fieldData:ne})=>Xo({optionList:(ne==null?void 0:ne.operators)??(C==null?void 0:C(X,{fieldData:ne}))??$,placeholder:H.operators,baseOption:a,labelMap:Th,autoSelectOption:k}).optionList,[k,a,C,$,H.operators]),xe=D.useCallback(X=>{const ne=G[X];return ne!=null&&ne.defaultOperator?ne.defaultOperator:g?typeof g=="function"?g(X,{fieldData:ne}):g:xt(q(X,{fieldData:ne})??[])??""},[G,g,q]),oe=D.useCallback((X,ne,{fieldData:pe})=>pe.valueEditorType?typeof pe.valueEditorType=="function"?pe.valueEditorType(ne):pe.valueEditorType:(x==null?void 0:x(X,ne,{fieldData:pe}))??"text",[x]),he=D.useCallback((X,ne,pe)=>Yh(G[X],ne,S),[G,S]),Y=D.useCallback((X,ne)=>gk(G[X],b),[G,b]),ce=D.useCallback((X,ne)=>(w==null?void 0:w(X,ne))??{},[w]),te=D.useCallback((X,ne,{fieldData:pe})=>Xo({optionList:(pe==null?void 0:pe.values)??(E==null?void 0:E(X,ne,{fieldData:pe}))??[],placeholder:H.values,autoSelectOption:T}).optionList,[T,E,H.values]),Ne=D.useCallback(X=>bk(X,{fieldData:G[X.field]??{},fields:ee,getParameters:(ne,pe,Se)=>Ce(ne,pe,Se),listsAsArrays:O,getValueEditorType:(ne,pe,Se)=>oe(ne,pe,Se),getValues:(ne,pe,Se)=>te(ne,pe,Se),getDefaultValue:y&&((ne,pe)=>y(ne,pe))}),[G,ee,y,oe,te,O,Ce]),be=D.useCallback((X,ne,{fieldData:pe})=>{if(N){const Se=N(X,ne,{fieldData:pe});if(Se)return Se}return"text"},[N]),ue=D.useCallback(()=>{let X="";const ne=ee;/* v8 ignore else -- @preserve */if((ne==null?void 0:ne.length)>0&&ne[0]){const Ye=xt(ne);/* v8 ignore else -- @preserve */Ye&&(X=Ye)}if(m)if(typeof m=="function"){const Ye=m(ne);/* v8 ignore else -- @preserve */Ye&&(X=Ye)}else X=m;const pe=xe(X),Se=xt(he(X,pe,{fieldData:Ko(ne,X)}))??"value",je=xt(Y(X,{fieldData:Ko(ne,X)})),Je={id:V(),field:X,operator:pe,valueSource:Se,value:"",...je?{match:{mode:je,threshold:1}}:null},Re=Ne(Je);return{...Je,value:Re}},[ee,m,Y,xe,Ne,he,V]);return{qbId:t,rqbContext:K,fields:ee,fieldMap:G,combinators:z,getParameters:Ce,getMatchModesMain:Y,getOperatorsMain:q,getRuleDefaultOperator:xe,getSubQueryBuilderPropsMain:ce,getValueEditorTypeMain:oe,getValueSourcesMain:he,getValuesMain:te,getRuleDefaultValue:Ne,getInputTypeMain:be,createRule:ue,createRuleGroup:D.useCallback(X=>X?{id:V(),rules:A?[ue()]:[],not:!1}:{id:V(),rules:A?[ue()]:[],combinator:xt(z)??"",not:!1},[A,z,ue,V])}},Qm=e=>L_(e,F_(e)),qc=D.createContext({}),$_=v.memo(function(t){const r=Km(t),{previewRef:o,dropRef:n,schema:{controls:{ruleGroupBodyElements:a,ruleGroupHeaderElements:s}}}=r,i=st(r.addRule),c=st(r.addGroup),d=st(r.cloneGroup),f=st(r.toggleLockGroup),u=st(r.toggleMuteGroup),h=st(r.removeGroup),m=st(r.shiftGroupUp),g=st(r.shiftGroupDown),y=D.useMemo(()=>({addRule:i,addGroup:c,cloneGroup:d,toggleLockGroup:f,toggleMuteGroup:u,removeGroup:h,shiftGroupUp:m,shiftGroupDown:g}),[i,c,d,f,u,h,m,g]);return v.createElement("div",{ref:o,title:r.accessibleDescription,className:r.outerClassName,"data-testid":ge.ruleGroup,"data-not":r.ruleGroup.not?"true":void 0,"data-dragmonitorid":r.dragMonitorId,"data-dropmonitorid":r.dropMonitorId,"data-rule-group-id":r.id,"data-level":r.path.length,"data-path":JSON.stringify(r.path)},v.createElement("div",{ref:n,className:r.classNames.header},v.createElement(s,{...r,...y})),v.createElement("div",{className:r.classNames.body},v.createElement(a,{...r,...y})))}),G_=v.memo(function(t){const{dragRef:r,schema:{controls:{shiftActions:o,dragHandle:n,combinatorSelector:a,notToggle:s,addRuleAction:i,addGroupAction:c,cloneGroupAction:d,lockGroupAction:f,muteGroupAction:u,removeGroupAction:h}}}=t,m=D.useMemo(()=>({level:t.path.length,path:t.path,disabled:t.disabled,context:t.context,validation:t.validationResult,schema:t.schema}),[t.path,t.disabled,t.context,t.validationResult,t.schema]),g=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.title,shiftDown:t.translations.shiftActionDown.title}:void 0,[t.schema.showShiftActions,t.translations]),y=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.label,shiftDown:t.translations.shiftActionDown.label}:void 0,[t.schema.showShiftActions,t.translations]);return v.createElement(D.Fragment,null,t.schema.showShiftActions&&t.path.length>0&&v.createElement(o,{key:ge.shiftActions,...m,testID:ge.shiftActions,titles:g,labels:y,className:t.classNames.shiftActions,shiftUp:t.shiftGroupUp,shiftDown:t.shiftGroupDown,shiftUpDisabled:t.shiftUpDisabled,shiftDownDisabled:t.shiftDownDisabled,ruleOrGroup:t.ruleGroup}),t.path.length>0&&t.schema.enableDragAndDrop&&v.createElement(n,{key:ge.dragHandle,...m,testID:ge.dragHandle,ref:r,title:t.translations.dragHandle.title,label:t.translations.dragHandle.label,className:t.classNames.dragHandle,dragHandleAttributes:t.dragHandleAttributes,ruleOrGroup:t.ruleGroup}),!t.schema.showCombinatorsBetweenRules&&!t.schema.independentCombinators&&v.createElement(a,{key:ge.combinators,...m,testID:ge.combinators,options:t.schema.combinators,value:t.combinator,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:t.onCombinatorChange,rules:t.ruleGroup.rules,ruleGroup:t.ruleGroup}),t.schema.showNotToggle&&v.createElement(s,{key:ge.notToggle,...m,testID:ge.notToggle,className:t.classNames.notToggle,title:t.translations.notToggle.title,label:t.translations.notToggle.label,checked:t.ruleGroup.not,handleOnChange:t.onNotToggleChange,ruleGroup:t.ruleGroup}),v.createElement(i,{key:ge.addRule,...m,testID:ge.addRule,label:t.translations.addRule.label,title:t.translations.addRule.title,className:t.classNames.addRule,handleOnClick:t.addRule,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.maxLevels>t.path.length&&v.createElement(c,{key:ge.addGroup,...m,testID:ge.addGroup,label:t.translations.addGroup.label,title:t.translations.addGroup.title,className:t.classNames.addGroup,handleOnClick:t.addGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.showCloneButtons&&t.path.length>0&&v.createElement(d,{key:ge.cloneGroup,...m,testID:ge.cloneGroup,label:t.translations.cloneRuleGroup.label,title:t.translations.cloneRuleGroup.title,className:t.classNames.cloneGroup,handleOnClick:t.cloneGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.schema.showLockButtons&&v.createElement(f,{key:ge.lockGroup,...m,testID:ge.lockGroup,label:t.translations.lockGroup.label,title:t.translations.lockGroup.title,className:t.classNames.lockGroup,handleOnClick:t.toggleLockGroup,rules:t.ruleGroup.rules,disabledTranslation:t.parentDisabled?void 0:t.translations.lockGroupDisabled,ruleOrGroup:t.ruleGroup}),t.schema.showMuteButtons&&v.createElement(u,{key:ge.muteGroup,...m,testID:ge.muteGroup,label:t.ruleGroup.muted?t.translations.unmuteGroup.label:t.translations.muteGroup.label,title:t.ruleGroup.muted?t.translations.unmuteGroup.title:t.translations.muteGroup.title,className:t.classNames.muteGroup,handleOnClick:t.toggleMuteGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}),t.path.length>0&&v.createElement(h,{key:ge.removeGroup,...m,testID:ge.removeGroup,label:t.translations.removeGroup.label,title:t.translations.removeGroup.title,className:t.classNames.removeGroup,handleOnClick:t.removeGroup,rules:t.ruleGroup.rules,ruleOrGroup:t.ruleGroup}))}),V_=v.memo(function(t){const{schema:{controls:{combinatorSelector:r,inlineCombinator:o,ruleGroup:n,rule:a}}}=t;return v.createElement(D.Fragment,null,t.ruleGroup.rules.map((s,i,{length:c})=>{const d=t.pathsMemo[i],f=d.path,u=d.disabled||typeof s!="string"&&s.disabled,h=Eo([0],f),m=t.path.length===0&&i===c-1,g=typeof s=="string"?[...f,s].join("-"):s.id;return v.createElement(D.Fragment,{key:g},i>0&&!t.schema.independentCombinators&&t.schema.showCombinatorsBetweenRules&&v.createElement(o,{key:ge.inlineCombinator,options:t.schema.combinators,value:t.combinator,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:t.onCombinatorChange,rules:t.ruleGroup.rules,level:t.path.length,context:t.context,validation:t.validationResult,component:r,path:f,disabled:t.disabled,schema:t.schema,ruleGroup:t.ruleGroup}),typeof s=="string"?v.createElement(o,{key:`${ge.inlineCombinator}-independent`,options:t.schema.combinators,value:s,title:t.translations.combinators.title,className:t.classNames.combinators,handleOnChange:y=>t.onIndependentCombinatorChange(y,i),rules:t.ruleGroup.rules,level:t.path.length,context:t.context,validation:t.validationResult,component:r,path:f,disabled:u,schema:t.schema,ruleGroup:t.ruleGroup}):Xe(s)?v.createElement(n,{key:ge.ruleGroup,id:s.id,schema:t.schema,actions:t.actions,path:f,translations:t.translations,ruleGroup:s,rules:s.rules,combinator:Pn(s)?s.combinator:void 0,not:!!s.not,disabled:u,parentDisabled:t.parentDisabled||t.disabled,parentMuted:t.parentMuted||t.muted,shiftUpDisabled:h,shiftDownDisabled:m,context:t.context}):v.createElement(a,{key:ge.rule,id:s.id,rule:s,field:s.field,operator:s.operator,value:s.value,valueSource:s.valueSource,schema:t.schema,actions:t.actions,path:f,disabled:u,parentDisabled:t.parentDisabled||t.disabled,parentMuted:t.parentMuted||t.muted,translations:t.translations,shiftUpDisabled:h,shiftDownDisabled:m,context:t.context}))}))}),Km=e=>{const{id:t,path:r,ruleGroup:o,schema:{qbId:n,accessibleDescriptionGenerator:a,classNames:s,combinators:i,createRule:c,createRuleGroup:d,disabledPaths:f,independentCombinators:u,validationMap:h,enableDragAndDrop:m,getRuleGroupClassname:g,suppressStandardClassnames:y},actions:{onGroupAdd:b,onGroupRemove:C,onPropChange:w,onRuleAdd:x,moveRule:S},disabled:N,parentDisabled:E,parentMuted:M,shiftUpDisabled:k,shiftDownDisabled:T,combinator:A,rules:L,not:O,dropEffect:F="move",groupItems:V=!1,dragMonitorId:re="",dropMonitorId:K="",previewRef:H=null,dragRef:ee=null,dropRef:G=null,isDragging:z=!1,isOver:Ce=!1,dropNotAllowed:$=!1}=e;jc("ruleGroup",!o),Jm(m,!!(re||K||H||ee||G));const q=!!E||!!N,xe=!!M||!!(o!=null&&o.muted),oe=D.useMemo(()=>o&&Pn(o)?o.combinator:o?xt(i):A??xt(i),[A,i,o]),he=D.useMemo(()=>{if(o){if(o.combinator===oe||u)return o;const Ee=structuredClone(o);return Ee.combinator=oe,Ee}return{rules:L,not:O}},[oe,u,O,o,L]),Y=D.useMemo(()=>({header:Oe(y||me.header,s.header,Ce&&F==="copy"&&s.dndCopy,$&&s.dndDropNotAllowed,y||{[me.dndOver]:Ce,[me.dndCopy]:Ce&&F==="copy",[me.dndDropNotAllowed]:$}),shiftActions:Oe(y||me.shiftActions,s.shiftActions),dragHandle:Oe(y||me.dragHandle,s.dragHandle),combinators:Oe(y||me.combinators,s.valueSelector,s.combinators),notToggle:Oe(y||me.notToggle,s.notToggle),addRule:Oe(y||me.addRule,s.actionElement,s.addRule),addGroup:Oe(y||me.addGroup,s.actionElement,s.addGroup),cloneGroup:Oe(y||me.cloneGroup,s.actionElement,s.cloneGroup),lockGroup:Oe(y||me.lockGroup,s.actionElement,s.lockGroup),muteGroup:Oe(y||me.muteGroup,s.actionElement,s.muteGroup),removeGroup:Oe(y||me.removeGroup,s.actionElement,s.removeGroup),body:Oe(y||me.body,s.body)}),[s.actionElement,s.addGroup,s.addRule,s.body,s.cloneGroup,s.combinators,s.dndCopy,s.dndDropNotAllowed,s.dragHandle,s.header,s.lockGroup,s.muteGroup,s.notToggle,s.removeGroup,s.shiftActions,s.valueSelector,F,$,Ce,y]),ce=D.useCallback(Ee=>{q||w("combinator",Ee,r)},[q,w,r]),te=D.useCallback((Ee,ct,et)=>{q||w("combinator",Ee,[...r,ct])},[q,w,r]),Ne=D.useCallback((Ee,ct)=>{q||w("not",Ee,r)},[q,w,r]),be=D.useCallback((Ee,ct)=>{if(!q){const et=c();x(et,r,ct)}},[c,q,x,r]),ue=D.useCallback((Ee,ct)=>{if(!q){const et=d();b(et,r,ct)}},[d,q,b,r]),X=D.useCallback(()=>{if(!q){const Ee=[...at(r),r.at(-1)+1];S(r,Ee,!0)}},[q,S,r]),ne=D.useCallback((Ee,ct)=>{!q&&!k&&S(r,"up",Ee==null?void 0:Ee.altKey)},[q,S,r,k]),pe=D.useCallback((Ee,ct)=>{!q&&!T&&S(r,"down",Ee==null?void 0:Ee.altKey)},[q,S,r,T]),Se=D.useCallback(()=>{w("disabled",!q,r)},[q,w,r]),je=D.useCallback(()=>{w("muted",!he.muted,r)},[he.muted,w,r]),Je=D.useCallback(()=>{q||C(r)},[q,C,r]),Re=h[t??""],Ye=D.useMemo(()=>Hh(Re),[Re]),ye=D.useMemo(()=>{var Ee;return u?null:((Ee=Ko(i,oe))==null?void 0:Ee.className)??""},[oe,i,u]),rt=D.useMemo(()=>g(he),[g,he]),Le=D.useMemo(()=>Oe(rt,ye,y||me.ruleGroup,s.ruleGroup,q&&s.disabled,xe&&s.muted,z&&s.dndDragging,Ce&&V&&s.dndGroup,y||{[me.disabled]:q,[me.muted]:xe,[me.dndDragging]:z,[me.dndGroup]:Ce&&V},Ye),[s.disabled,s.muted,s.dndDragging,s.dndGroup,s.ruleGroup,ye,q,xe,V,z,Ce,rt,y,Ye]),Ge=X_({disabled:q,disabledPaths:f,path:r,nestedArray:he.rules}),Ue=D.useMemo(()=>a({path:r,qbId:n}),[a,r,n]);return{...e,addGroup:ue,addRule:be,accessibleDescription:Ue,classNames:Y,cloneGroup:X,combinator:oe,disabled:q,dragMonitorId:re,dragRef:ee,dropMonitorId:K,dropRef:G,isDragging:z,isOver:Ce,muted:xe,onCombinatorChange:ce,onGroupAdd:b,onIndependentCombinatorChange:te,onNotToggleChange:Ne,outerClassName:Le,parentDisabled:E,pathsMemo:Ge,previewRef:H,removeGroup:Je,ruleGroup:he,shiftGroupUp:ne,shiftGroupDown:pe,toggleLockGroup:Se,toggleMuteGroup:je,validationClassName:Ye,validationResult:Re}},z_=e=>{var t,r,o,n;return v.createElement("div",{"data-testid":e.testID,className:e.className},v.createElement("button",{type:"button",disabled:e.disabled||e.shiftUpDisabled,onClick:e.shiftUp,title:(t=e.titles)==null?void 0:t.shiftUp},(r=e.labels)==null?void 0:r.shiftUp),v.createElement("button",{type:"button",disabled:e.disabled||e.shiftDownDisabled,onClick:e.shiftDown,title:(o=e.titles)==null?void 0:o.shiftDown},(n=e.labels)==null?void 0:n.shiftDown))},B_=({name:e,disabled:t,checked:r,label:o,handleOnChange:n})=>{const a=v.useId();return v.createElement("label",{htmlFor:a},v.createElement("input",{id:a,type:"radio",value:e,disabled:t,checked:r,onChange:s=>n(s.target.value)}),o)},U_=e=>{const{operator:t,value:r,handleOnChange:o,title:n,className:a,type:s="text",inputType:i,values:c=[],listsAsArrays:d,fieldData:f,disabled:u,separator:h=null,testID:m,selectorComponent:g=e.schema.controls.valueSelector,parseNumbers:y,skipHook:b,valueSource:C,...w}=e,{valueAsArray:x,multiValueHandler:S,bigIntValueHandler:N,parseNumberMethod:E,valueListItemClassName:M,inputTypeCoerced:k}=W_(e);if(t==="null"||t==="notNull")return null;const T=(f==null?void 0:f.placeholder)??"";if((t==="between"||t==="notBetween")&&(s==="select"||s==="text")){const A=["from","to"].map((L,O)=>s==="text"?v.createElement("input",{key:L,type:k,placeholder:T,value:x[O]??"",className:M,disabled:u,onChange:F=>S(F.target.value,O)}):v.createElement(g,{key:L,...w,schema:e.schema,className:M,handleOnChange:F=>S(F,O),disabled:u,value:x[O]??xt(c),options:c,listsAsArrays:d}));return v.createElement("span",{"data-testid":m,className:a,title:n},A[0],h,A[1])}switch(s){case"select":case"multiselect":return v.createElement(g,{...w,schema:e.schema,testID:m,className:a,title:n,handleOnChange:o,disabled:u,value:r,options:c,multiple:s==="multiselect",listsAsArrays:d});case"textarea":return v.createElement("textarea",{"data-testid":m,placeholder:T,value:r,title:n,className:a,disabled:u,onChange:A=>o(A.target.value)});case"switch":case"checkbox":return v.createElement("input",{"data-testid":m,type:"checkbox",className:a,title:n,onChange:A=>o(A.target.checked),checked:!!r,disabled:u});case"radio":return v.createElement("span",{"data-testid":m,className:a,title:n},c.map(A=>v.createElement(B_,{key:A.name,name:A.name,disabled:u,checked:r===A.name,handleOnChange:o,label:A.label})))}return i==="bigint"?v.createElement("input",{"data-testid":m,type:k,placeholder:T,value:`${r}`,title:n,className:a,disabled:u,onChange:A=>N(A.target.value)}):v.createElement("input",{"data-testid":m,type:k,placeholder:T,value:r,title:n,className:a,disabled:u,onChange:A=>o(Ds(A.target.value,{parseNumbers:E}))})},W_=e=>{const{handleOnChange:t,inputType:r,operator:o,value:n,listsAsArrays:a,parseNumbers:s,values:i,type:c,skipHook:d,schema:{classNames:f,suppressStandardClassnames:u}}=e;D.useEffect(()=>{!d&&c!=="multiselect"&&!["between","notBetween","in","notIn"].includes(o)&&(Array.isArray(n)||r==="number"&&typeof n=="string"&&n.includes(","))&&t(Es(n,{retainEmptyStrings:!0})[0]??"")},[t,r,o,d,c,n]);const h=D.useMemo(()=>Es(n,{retainEmptyStrings:!0}),[n]),m=D.useMemo(()=>pk({parseNumbers:s,inputType:r}),[r,s]);return{valueAsArray:h,multiValueHandler:D.useCallback((g,y)=>{const b=Ds(g,{parseNumbers:m}),C=y===0&&(o==="between"||o==="notBetween")&&(h.length<2||h[1]===void 0);if(h[y]===b&&!C){t(a?h:Ns(h,","));return}const w=[...h];w[y]=b,C&&(w[1]=xt(i)),t(a?w:Ns(w,","))},[t,a,o,m,h,i]),bigIntValueHandler:D.useCallback(g=>{const y=Ds(g,{parseNumbers:m,bigIntOnOverflow:!0});let b;try{b=BigInt(y)}catch{t(y);return}t(b)},[t,m]),parseNumberMethod:m,valueListItemClassName:Oe(u||me.valueListItem,f==null?void 0:f.valueListItem),inputTypeCoerced:r==="bigint"||o==="in"||o==="notIn"?"text":r||"text"}},H_=e=>{const{multiple:t,onChange:r}=e;return D.useMemo(()=>t?o=>r(Array.from(o.target.selectedOptions).map(n=>n.value)):o=>r(o.target.value),[t,r])},j_=e=>uk(e)?e.map(t=>v.createElement("optgroup",{key:t.label,label:t.label},t.options.map(r=>v.createElement("option",{key:r.name,value:r.name,disabled:r.disabled},r.label)))):Array.isArray(e)?e.map(t=>v.createElement("option",{key:t.name,value:t.name,disabled:t.disabled},t.label)):null,Un=e=>{const{onChange:t,val:r}=Y_(e),o=H_({multiple:e.multiple,onChange:t});return v.createElement("select",{"data-testid":e.testID,className:e.className,value:r,title:e.title,disabled:e.disabled,multiple:!!e.multiple,onChange:o},j_(e.options))},Y_=e=>{const{handleOnChange:t,listsAsArrays:r=!1,multiple:o=!1,value:n}=e;return{onChange:D.useCallback(a=>{if(o){const s=Es(a);t(r?s:Ns(s,","))}else t(a)},[t,r,o]),val:D.useMemo(()=>o?Es(n).map(String):n,[o,n])}},q_=({props:e})=>{const t=Qm(e),r=t.schema.controls.ruleGroup,o=qc;return v.createElement(o.Provider,{key:t.dndEnabledAttr,value:t.rqbContext},v.createElement("div",{role:"form",className:t.wrapperClassName,"data-dnd":t.dndEnabledAttr,"data-inlinecombinators":t.inlineCombinatorsAttr},v.createElement(r,{translations:t.translations,ruleGroup:t.rootGroup,rules:t.rootGroup.rules,...t.combinatorPropObject,not:!!t.rootGroup.not,schema:t.schema,actions:t.actions,id:t.rootGroup.id,path:Ph,disabled:t.rootGroupDisabled,shiftUpDisabled:!0,shiftDownDisabled:!0,parentDisabled:t.queryDisabled,context:e.context})))},Xs=()=>null,Q_=D.forwardRef(Xs),Js={},K_=({finalize:e,...t})=>{var g,y,b,C,w,x,S,N,E,M,k,T,A,L,O,F,V,re,K,H,ee,G,z,Ce,$,q,xe,oe,he,Y,ce,te,Ne,be,ue,X,ne,pe,Se,je,Je,Re,Ye,ye,rt,Le,Ge,Ue,Ee,ct,et,_r,Yt,_,I,P,W,U,J,B,Q,ie,De,Ve,Dt,_e,Ke,ot,dr,rn,er,on,qn,At,nn,mt,fl,Qn,Kn,Xn,an,Jn,Zn,tr,Rn,hl,ml,gl,bl,ea,yl,fe,Te,Fe,Me,Pe,wt,Pt,oo,Dr,no,Zg,Rg,eb,tb,rb,ob,nb;const r=D.useContext(qc),o=D.useMemo(()=>Ck(t,r),[t,r,e]),n=e?r.enableDragAndDrop!==!1&&qh(!1,t.enableDragAndDrop,r.enableDragAndDrop):t.enableDragAndDrop??r.enableDragAndDrop,a=D.useMemo(()=>vk(r.controlClassnames,t.controlClassnames),[r.controlClassnames,t.controlClassnames]),s=D.useMemo(()=>({actionElement:a.actionElement,addGroup:a.addGroup,addRule:a.addRule,body:a.body,cloneGroup:a.cloneGroup,cloneRule:a.cloneRule,combinators:a.combinators,dragHandle:a.dragHandle,fields:a.fields,header:a.header,lockGroup:a.lockGroup,lockRule:a.lockRule,muteGroup:a.muteGroup,muteRule:a.muteRule,muted:a.muted,notToggle:a.notToggle,operators:a.operators,queryBuilder:a.queryBuilder,removeGroup:a.removeGroup,removeRule:a.removeRule,rule:a.rule,ruleGroup:a.ruleGroup,shiftActions:a.shiftActions,value:a.value,valueSelector:a.valueSelector,valueSource:a.valueSource,betweenRules:a.betweenRules,valid:a.valid,invalid:a.invalid,dndDragging:a.dndDragging,dndOver:a.dndOver,dndCopy:a.dndCopy,dndGroup:a.dndGroup,dndDropNotAllowed:a.dndDropNotAllowed,dndPreviewPosition:a.dndPreviewPosition,dndHidden:a.dndHidden,disabled:a.disabled,valueListItem:a.valueListItem,matchMode:a.matchMode,matchThreshold:a.matchThreshold,branches:a.branches,hasSubQuery:a.hasSubQuery,loading:a.loading,valueDateTimeRelative:a.valueDateTimeRelative}),[a.actionElement,a.addGroup,a.addRule,a.betweenRules,a.body,a.branches,a.cloneGroup,a.cloneRule,a.combinators,a.disabled,a.dndCopy,a.dndDropNotAllowed,a.dndPreviewPosition,a.dndHidden,a.dndGroup,a.dndDragging,a.dndOver,a.dragHandle,a.fields,a.hasSubQuery,a.header,a.invalid,a.loading,a.lockGroup,a.lockRule,a.muteGroup,a.muteRule,a.muted,a.matchMode,a.matchThreshold,a.notToggle,a.operators,a.queryBuilder,a.removeGroup,a.removeRule,a.rule,a.ruleGroup,a.shiftActions,a.valid,a.value,a.valueDateTimeRelative,a.valueListItem,a.valueSelector,a.valueSource]),i=r.controlElements??Js,c=t.controlElements??Js,d=D.useCallback((ur,ta,ra)=>{const oa=ur==="dragHandle"?Q_:Xs,vl=(ur.endsWith("Action")&&c.actionElement?c.actionElement:void 0)??(ur.endsWith("Selector")&&c.valueSelector?c.valueSelector:void 0),xl=(ur.endsWith("Action")&&i.actionElement?i.actionElement:void 0)??(ur.endsWith("Selector")&&i.valueSelector?i.valueSelector:void 0),na=ta===null?oa:ta??vl??(ra===null?oa:ra??xl);return na?{[ur]:na}:{[ur]:Zs[ur]}},[i.actionElement,i.valueSelector,e,c.actionElement,c.valueSelector]),f=D.useMemo(()=>Object.assign({},d("addGroupAction",c.addGroupAction,i.addGroupAction),d("addRuleAction",c.addRuleAction,i.addRuleAction),d("cloneGroupAction",c.cloneGroupAction,i.cloneGroupAction),d("cloneRuleAction",c.cloneRuleAction,i.cloneRuleAction),d("combinatorSelector",c.combinatorSelector,i.combinatorSelector),d("dragHandle",c.dragHandle,i.dragHandle),d("fieldSelector",c.fieldSelector,i.fieldSelector),d("inlineCombinator",c.inlineCombinator,i.inlineCombinator),d("lockGroupAction",c.lockGroupAction,i.lockGroupAction),d("lockRuleAction",c.lockRuleAction,i.lockRuleAction),d("muteGroupAction",c.muteGroupAction,i.muteGroupAction),d("muteRuleAction",c.muteRuleAction,i.muteRuleAction),d("notToggle",c.notToggle,i.notToggle),d("operatorSelector",c.operatorSelector,i.operatorSelector),d("removeGroupAction",c.removeGroupAction,i.removeGroupAction),d("removeRuleAction",c.removeRuleAction,i.removeRuleAction),d("shiftActions",c.shiftActions,i.shiftActions),{valueEditor:c.valueEditor===null?Xs:c.valueEditor??(i.valueEditor===null?Xs:i.valueEditor)??Zs.valueEditor},d("valueSourceSelector",c.valueSourceSelector,i.valueSourceSelector),d("matchModeEditor",c.matchModeEditor,i.matchModeEditor),d("rule",c.rule,i.rule),d("ruleGroup",c.ruleGroup,i.ruleGroup),d("ruleGroupBodyElements",c.ruleGroupBodyElements,i.ruleGroupBodyElements),d("ruleGroupHeaderElements",c.ruleGroupHeaderElements,i.ruleGroupHeaderElements),{actionElement:c.actionElement??i.actionElement??Zs.actionElement},{valueSelector:c.valueSelector??i.valueSelector??Zs.valueSelector}),[i.actionElement,i.addGroupAction,i.addRuleAction,i.cloneGroupAction,i.cloneRuleAction,i.combinatorSelector,i.dragHandle,i.fieldSelector,i.inlineCombinator,i.lockGroupAction,i.lockRuleAction,i.muteGroupAction,i.muteRuleAction,i.matchModeEditor,i.notToggle,i.operatorSelector,i.removeGroupAction,i.removeRuleAction,i.rule,i.ruleGroup,i.ruleGroupBodyElements,i.ruleGroupHeaderElements,i.shiftActions,i.valueEditor,i.valueSelector,i.valueSourceSelector,d,e,c.actionElement,c.addGroupAction,c.addRuleAction,c.cloneGroupAction,c.cloneRuleAction,c.combinatorSelector,c.dragHandle,c.fieldSelector,c.inlineCombinator,c.lockGroupAction,c.lockRuleAction,c.muteGroupAction,c.muteRuleAction,c.matchModeEditor,c.notToggle,c.operatorSelector,c.removeGroupAction,c.removeRuleAction,c.rule,c.ruleGroup,c.ruleGroupBodyElements,c.ruleGroupHeaderElements,c.shiftActions,c.valueEditor,c.valueSelector,c.valueSourceSelector]),u=t.translations??Js,h=r.translations??Js,m=D.useMemo(()=>{var ur,ta,ra,oa,vl,xl,na,ab,sb,lb,ib,cb,db,ub,pb,fb,hb,mb,gb,bb,yb,vb,xb,wb,Cb,Sb,Nb,Eb,kb,_b,Db,Ab,Tb,Ib,Pb,Mb,Ob,Lb,Fb,$b,Gb,Vb,zb,Bb,Ub,Wb,Hb,jb,Yb,qb,Qb,Kb,Xb,Jb,Zb,Rb,ey,ty,ry,oy,ny,ay,sy,ly,iy,cy,dy,uy,py,fy,hy,my,gy,by,yy,vy,xy,wy,Cy,Sy,Ny,Ey,ky,_y,Dy,Ay,Ty,Iy,Py,My,Oy,Ly,Fy,$y,Gy,Vy,zy,By,Uy,Wy,Hy,jy,Yy,qy,Qy,Ky,Xy,Jy;return Object.assign({},He("addGroup",{label:[(ur=u.addGroup)==null?void 0:ur.label,(ta=h.addGroup)==null?void 0:ta.label],title:[(ra=u.addGroup)==null?void 0:ra.title,(oa=h.addGroup)==null?void 0:oa.title]},We),He("addRule",{label:[(vl=u.addRule)==null?void 0:vl.label,(xl=h.addRule)==null?void 0:xl.label],title:[(na=u.addRule)==null?void 0:na.title,(ab=h.addRule)==null?void 0:ab.title]},We),He("cloneRule",{label:[(sb=u.cloneRule)==null?void 0:sb.label,(lb=h.cloneRule)==null?void 0:lb.label],title:[(ib=u.cloneRule)==null?void 0:ib.title,(cb=h.cloneRule)==null?void 0:cb.title]},We),He("cloneRuleGroup",{label:[(db=u.cloneRuleGroup)==null?void 0:db.label,(ub=h.cloneRuleGroup)==null?void 0:ub.label],title:[(pb=u.cloneRuleGroup)==null?void 0:pb.title,(fb=h.cloneRuleGroup)==null?void 0:fb.title]},We),He("combinators",{title:[(hb=u.combinators)==null?void 0:hb.title,(mb=h.combinators)==null?void 0:mb.title]},We),He("dragHandle",{label:[(gb=u.dragHandle)==null?void 0:gb.label,(bb=h.dragHandle)==null?void 0:bb.label],title:[(yb=u.dragHandle)==null?void 0:yb.title,(vb=h.dragHandle)==null?void 0:vb.title]},We),He("fields",{placeholderGroupLabel:[(xb=u.fields)==null?void 0:xb.placeholderGroupLabel,(wb=h.fields)==null?void 0:wb.placeholderGroupLabel],placeholderLabel:[(Cb=u.fields)==null?void 0:Cb.placeholderLabel,(Sb=h.fields)==null?void 0:Sb.placeholderLabel],placeholderName:[(Nb=u.fields)==null?void 0:Nb.placeholderName,(Eb=h.fields)==null?void 0:Eb.placeholderName],title:[(kb=u.fields)==null?void 0:kb.title,(_b=h.fields)==null?void 0:_b.title]},We),He("lockGroup",{label:[(Db=u.lockGroup)==null?void 0:Db.label,(Ab=h.lockGroup)==null?void 0:Ab.label],title:[(Tb=u.lockGroup)==null?void 0:Tb.title,(Ib=h.lockGroup)==null?void 0:Ib.title]},We),He("lockGroupDisabled",{label:[(Pb=u.lockGroupDisabled)==null?void 0:Pb.label,(Mb=h.lockGroupDisabled)==null?void 0:Mb.label],title:[(Ob=u.lockGroupDisabled)==null?void 0:Ob.title,(Lb=h.lockGroupDisabled)==null?void 0:Lb.title]},We),He("lockRule",{label:[(Fb=u.lockRule)==null?void 0:Fb.label,($b=h.lockRule)==null?void 0:$b.label],title:[(Gb=u.lockRule)==null?void 0:Gb.title,(Vb=h.lockRule)==null?void 0:Vb.title]},We),He("lockRuleDisabled",{label:[(zb=u.lockRuleDisabled)==null?void 0:zb.label,(Bb=h.lockRuleDisabled)==null?void 0:Bb.label],title:[(Ub=u.lockRuleDisabled)==null?void 0:Ub.title,(Wb=h.lockRuleDisabled)==null?void 0:Wb.title]},We),He("muteGroup",{label:[(Hb=u.muteGroup)==null?void 0:Hb.label,(jb=h.muteGroup)==null?void 0:jb.label],title:[(Yb=u.muteGroup)==null?void 0:Yb.title,(qb=h.muteGroup)==null?void 0:qb.title]},We),He("unmuteGroup",{label:[(Qb=u.unmuteGroup)==null?void 0:Qb.label,(Kb=h.unmuteGroup)==null?void 0:Kb.label],title:[(Xb=u.unmuteGroup)==null?void 0:Xb.title,(Jb=h.unmuteGroup)==null?void 0:Jb.title]},We),He("muteRule",{label:[(Zb=u.muteRule)==null?void 0:Zb.label,(Rb=h.muteRule)==null?void 0:Rb.label],title:[(ey=u.muteRule)==null?void 0:ey.title,(ty=h.muteRule)==null?void 0:ty.title]},We),He("unmuteRule",{label:[(ry=u.unmuteRule)==null?void 0:ry.label,(oy=h.unmuteRule)==null?void 0:oy.label],title:[(ny=u.unmuteRule)==null?void 0:ny.title,(ay=h.unmuteRule)==null?void 0:ay.title]},We),He("notToggle",{label:[(sy=u.notToggle)==null?void 0:sy.label,(ly=h.notToggle)==null?void 0:ly.label],title:[(iy=u.notToggle)==null?void 0:iy.title,(cy=h.notToggle)==null?void 0:cy.title]},We),He("operators",{placeholderGroupLabel:[(dy=u.operators)==null?void 0:dy.placeholderGroupLabel,(uy=h.operators)==null?void 0:uy.placeholderGroupLabel],placeholderLabel:[(py=u.operators)==null?void 0:py.placeholderLabel,(fy=h.operators)==null?void 0:fy.placeholderLabel],placeholderName:[(hy=u.operators)==null?void 0:hy.placeholderName,(my=h.operators)==null?void 0:my.placeholderName],title:[(gy=u.operators)==null?void 0:gy.title,(by=h.operators)==null?void 0:by.title]},We),He("values",{placeholderGroupLabel:[(yy=u.values)==null?void 0:yy.placeholderGroupLabel,(vy=h.values)==null?void 0:vy.placeholderGroupLabel],placeholderLabel:[(xy=u.values)==null?void 0:xy.placeholderLabel,(wy=h.values)==null?void 0:wy.placeholderLabel],placeholderName:[(Cy=u.values)==null?void 0:Cy.placeholderName,(Sy=h.values)==null?void 0:Sy.placeholderName],title:[(Ny=u.values)==null?void 0:Ny.title,(Ey=h.values)==null?void 0:Ey.title]},We),He("removeGroup",{label:[(ky=u.removeGroup)==null?void 0:ky.label,(_y=h.removeGroup)==null?void 0:_y.label],title:[(Dy=u.removeGroup)==null?void 0:Dy.title,(Ay=h.removeGroup)==null?void 0:Ay.title]},We),He("removeRule",{label:[(Ty=u.removeRule)==null?void 0:Ty.label,(Iy=h.removeRule)==null?void 0:Iy.label],title:[(Py=u.removeRule)==null?void 0:Py.title,(My=h.removeRule)==null?void 0:My.title]},We),He("shiftActionDown",{label:[(Oy=u.shiftActionDown)==null?void 0:Oy.label,(Ly=h.shiftActionDown)==null?void 0:Ly.label],title:[(Fy=u.shiftActionDown)==null?void 0:Fy.title,($y=h.shiftActionDown)==null?void 0:$y.title]},We),He("shiftActionUp",{label:[(Gy=u.shiftActionUp)==null?void 0:Gy.label,(Vy=h.shiftActionUp)==null?void 0:Vy.label],title:[(zy=u.shiftActionUp)==null?void 0:zy.title,(By=h.shiftActionUp)==null?void 0:By.title]},We),He("matchMode",{title:[(Uy=u.matchMode)==null?void 0:Uy.title,(Wy=h.matchMode)==null?void 0:Wy.title]},We),He("matchThreshold",{title:[(Hy=u.matchThreshold)==null?void 0:Hy.title,(jy=h.matchThreshold)==null?void 0:jy.title],placeholderName:[(Yy=u.matchThreshold)==null?void 0:Yy.placeholderName,(qy=h.matchThreshold)==null?void 0:qy.placeholderName]},We),He("value",{title:[(Qy=u.value)==null?void 0:Qy.title,(Ky=h.value)==null?void 0:Ky.title]},We),He("valueSourceSelector",{title:[(Xy=u.valueSourceSelector)==null?void 0:Xy.title,(Jy=h.valueSourceSelector)==null?void 0:Jy.title]},We))},[(g=h.addGroup)==null?void 0:g.label,(y=h.addGroup)==null?void 0:y.title,(b=h.addRule)==null?void 0:b.label,(C=h.addRule)==null?void 0:C.title,(w=h.cloneRule)==null?void 0:w.label,(x=h.cloneRule)==null?void 0:x.title,(S=h.cloneRuleGroup)==null?void 0:S.label,(N=h.cloneRuleGroup)==null?void 0:N.title,(E=h.combinators)==null?void 0:E.title,(M=h.dragHandle)==null?void 0:M.label,(k=h.dragHandle)==null?void 0:k.title,(T=h.fields)==null?void 0:T.placeholderGroupLabel,(A=h.fields)==null?void 0:A.placeholderLabel,(L=h.fields)==null?void 0:L.placeholderName,(O=h.fields)==null?void 0:O.title,(F=h.lockGroup)==null?void 0:F.label,(V=h.lockGroup)==null?void 0:V.title,(re=h.lockGroupDisabled)==null?void 0:re.label,(K=h.lockGroupDisabled)==null?void 0:K.title,(H=h.lockRule)==null?void 0:H.label,(ee=h.lockRule)==null?void 0:ee.title,(G=h.lockRuleDisabled)==null?void 0:G.label,(z=h.lockRuleDisabled)==null?void 0:z.title,(Ce=h.muteGroup)==null?void 0:Ce.label,($=h.muteGroup)==null?void 0:$.title,(q=h.unmuteGroup)==null?void 0:q.label,(xe=h.unmuteGroup)==null?void 0:xe.title,(oe=h.muteRule)==null?void 0:oe.label,(he=h.muteRule)==null?void 0:he.title,(Y=h.unmuteRule)==null?void 0:Y.label,(ce=h.unmuteRule)==null?void 0:ce.title,(te=h.matchMode)==null?void 0:te.title,(Ne=h.matchThreshold)==null?void 0:Ne.title,(be=h.matchThreshold)==null?void 0:be.placeholderName,(ue=h.notToggle)==null?void 0:ue.label,(X=h.notToggle)==null?void 0:X.title,(ne=h.operators)==null?void 0:ne.placeholderGroupLabel,(pe=h.operators)==null?void 0:pe.placeholderLabel,(Se=h.operators)==null?void 0:Se.placeholderName,(je=h.operators)==null?void 0:je.title,(Je=h.removeGroup)==null?void 0:Je.label,(Re=h.removeGroup)==null?void 0:Re.title,(Ye=h.removeRule)==null?void 0:Ye.label,(ye=h.removeRule)==null?void 0:ye.title,(rt=h.shiftActionDown)==null?void 0:rt.label,(Le=h.shiftActionDown)==null?void 0:Le.title,(Ge=h.shiftActionUp)==null?void 0:Ge.label,(Ue=h.shiftActionUp)==null?void 0:Ue.title,(Ee=h.value)==null?void 0:Ee.title,(ct=h.values)==null?void 0:ct.placeholderGroupLabel,(et=h.values)==null?void 0:et.placeholderLabel,(_r=h.values)==null?void 0:_r.placeholderName,(Yt=h.values)==null?void 0:Yt.title,(_=h.valueSourceSelector)==null?void 0:_.title,e,(I=u.addGroup)==null?void 0:I.label,(P=u.addGroup)==null?void 0:P.title,(W=u.addRule)==null?void 0:W.label,(U=u.addRule)==null?void 0:U.title,(J=u.cloneRule)==null?void 0:J.label,(B=u.cloneRule)==null?void 0:B.title,(Q=u.cloneRuleGroup)==null?void 0:Q.label,(ie=u.cloneRuleGroup)==null?void 0:ie.title,(De=u.combinators)==null?void 0:De.title,(Ve=u.dragHandle)==null?void 0:Ve.label,(Dt=u.dragHandle)==null?void 0:Dt.title,(_e=u.fields)==null?void 0:_e.placeholderGroupLabel,(Ke=u.fields)==null?void 0:Ke.placeholderLabel,(ot=u.fields)==null?void 0:ot.placeholderName,(dr=u.fields)==null?void 0:dr.title,(rn=u.lockGroup)==null?void 0:rn.label,(er=u.lockGroup)==null?void 0:er.title,(on=u.lockGroupDisabled)==null?void 0:on.label,(qn=u.lockGroupDisabled)==null?void 0:qn.title,(At=u.lockRule)==null?void 0:At.label,(nn=u.lockRule)==null?void 0:nn.title,(mt=u.lockRuleDisabled)==null?void 0:mt.label,(fl=u.lockRuleDisabled)==null?void 0:fl.title,(Qn=u.muteGroup)==null?void 0:Qn.label,(Kn=u.muteGroup)==null?void 0:Kn.title,(Xn=u.unmuteGroup)==null?void 0:Xn.label,(an=u.unmuteGroup)==null?void 0:an.title,(Jn=u.muteRule)==null?void 0:Jn.label,(Zn=u.muteRule)==null?void 0:Zn.title,(tr=u.unmuteRule)==null?void 0:tr.label,(Rn=u.unmuteRule)==null?void 0:Rn.title,(hl=u.matchMode)==null?void 0:hl.title,(ml=u.matchThreshold)==null?void 0:ml.title,(gl=u.matchThreshold)==null?void 0:gl.placeholderName,(bl=u.notToggle)==null?void 0:bl.label,(ea=u.notToggle)==null?void 0:ea.title,(yl=u.operators)==null?void 0:yl.placeholderGroupLabel,(fe=u.operators)==null?void 0:fe.placeholderLabel,(Te=u.operators)==null?void 0:Te.placeholderName,(Fe=u.operators)==null?void 0:Fe.title,(Me=u.removeGroup)==null?void 0:Me.label,(Pe=u.removeGroup)==null?void 0:Pe.title,(wt=u.removeRule)==null?void 0:wt.label,(Pt=u.removeRule)==null?void 0:Pt.title,(oo=u.shiftActionDown)==null?void 0:oo.label,(Dr=u.shiftActionDown)==null?void 0:Dr.title,(no=u.shiftActionUp)==null?void 0:no.label,(Zg=u.shiftActionUp)==null?void 0:Zg.title,(Rg=u.value)==null?void 0:Rg.title,(eb=u.values)==null?void 0:eb.placeholderGroupLabel,(tb=u.values)==null?void 0:tb.placeholderLabel,(rb=u.values)==null?void 0:rb.placeholderName,(ob=u.values)==null?void 0:ob.title,(nb=u.valueSourceSelector)==null?void 0:nb.title]);return{...o,controlClassnames:s,controlElements:f,enableDragAndDrop:n,translations:m,initialQuery:t.initialQuery,qbId:t.qbId}},X_=({disabled:e,path:t,nestedArray:r,disabledPaths:o})=>{const n=r.length;return D.useMemo(()=>{const a=[];for(let s=0;s<n;s++){const i=[...t,s];a[s]={path:i,disabled:e||o.some(c=>Eo(i,c))}}return a},[e,t,n,o])};let Xm=!1;const Jm=(e,t)=>{process.env.NODE_ENV!=="production"&&!Xm&&e&&!t&&(console.error(Nt.errorEnabledDndWithoutReactDnD),Xm=!0)},st=e=>D.useCallback((t,r)=>{t==null||t.preventDefault(),t==null||t.stopPropagation(),e(t,r)},[e]),J_={mode:"all"},Z_=[{name:"",value:"",label:""}],R_=v.memo(function(t){const r=rD(t),{dndRef:o}=r,n=st(r.cloneRule),a=st(r.toggleLockRule),s=st(r.toggleMuteRule),i=st(r.removeRule),c=st(r.shiftRuleUp),d=st(r.shiftRuleDown),f=D.useMemo(()=>({cloneRule:n,toggleLockRule:a,toggleMuteRule:s,removeRule:i,shiftRuleUp:c,shiftRuleDown:d}),[n,i,d,c,a,s]);return v.createElement("div",{ref:o,"data-testid":ge.rule,"data-dragmonitorid":r.dragMonitorId,"data-dropmonitorid":r.dropMonitorId,className:r.outerClassName,"data-rule-id":r.id,"data-level":r.path.length,"data-path":JSON.stringify(r.path)},r.matchModes.length>0?v.createElement(tD,{...r,...f}):v.createElement(Zm,{...r,...f}))}),Zm=v.memo(function(t){const{dragRef:r,schema:{controls:{shiftActions:o,dragHandle:n,fieldSelector:a,matchModeEditor:s,operatorSelector:i,valueSourceSelector:c,valueEditor:d,cloneRuleAction:f,lockRuleAction:u,muteRuleAction:h,removeRuleAction:m,ruleGroupBodyElements:g,ruleGroupHeaderElements:y}},groupComponentsWrapper:b=v.Fragment}=t,C=D.useMemo(()=>({level:t.path.length,path:t.path,disabled:t.disabled,context:t.context,validation:t.validationResult,schema:t.schema,rule:t.rule}),[t.path,t.disabled,t.context,t.validationResult,t.schema,t.rule]),w=D.useMemo(()=>!(t.schema.fields.length===1&&Jr(t.schema.fields[0])&&"value"in t.schema.fields[0]&&t.schema.fields[0].value===""),[t.schema.fields]),x=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.title,shiftDown:t.translations.shiftActionDown.title}:void 0,[t.schema.showShiftActions,t.translations]),S=D.useMemo(()=>t.schema.showShiftActions?{shiftUp:t.translations.shiftActionUp.label,shiftDown:t.translations.shiftActionDown.label}:void 0,[t.schema.showShiftActions,t.translations]);return v.createElement(v.Fragment,null,t.schema.showShiftActions&&v.createElement(o,{key:ge.shiftActions,...C,testID:ge.shiftActions,titles:x,labels:S,className:t.classNames.shiftActions,ruleOrGroup:t.rule,shiftUp:t.shiftRuleUp,shiftDown:t.shiftRuleDown,shiftUpDisabled:t.shiftUpDisabled,shiftDownDisabled:t.shiftDownDisabled}),t.schema.enableDragAndDrop&&v.createElement(n,{key:ge.dragHandle,...C,testID:ge.dragHandle,ref:r,title:t.translations.dragHandle.title,label:t.translations.dragHandle.label,className:t.classNames.dragHandle,dragHandleAttributes:t.dragHandleAttributes,ruleOrGroup:t.rule}),w&&v.createElement(a,{key:ge.fields,...C,testID:ge.fields,options:t.schema.fields,title:t.translations.fields.title,value:t.rule.field,operator:t.rule.operator,className:t.classNames.fields,handleOnChange:t.onChangeField}),(t.schema.autoSelectField||t.rule.field!==t.translations.fields.placeholderName)&&(t.subQuery?v.createElement(s,{key:ge.matchModeEditor,...C,testID:ge.matchModeEditor,field:t.rule.field,fieldData:t.fieldData,title:t.translations.matchMode.title,options:t.matchModes,thresholdPlaceholder:t.translations.matchThreshold.placeholderName,match:t.rule.match??J_,className:t.classNames.matchMode,classNames:t.classNames,handleOnChange:t.onChangeMatchMode}):v.createElement(v.Fragment,null,v.createElement(i,{key:ge.operators,...C,testID:ge.operators,field:t.rule.field,fieldData:t.fieldData,title:t.translations.operators.title,options:t.operators,value:t.rule.operator,className:t.classNames.operators,handleOnChange:t.onChangeOperator}),(t.schema.autoSelectOperator||t.rule.operator!==t.translations.operators.placeholderName)&&!t.hideValueControls&&v.createElement(v.Fragment,null,!["null","notnull"].includes(No(`${t.rule.operator}`))&&t.valueSources.length>1&&v.createElement(c,{key:ge.valueSourceSelector,...C,testID:ge.valueSourceSelector,field:t.rule.field,fieldData:t.fieldData,title:t.translations.valueSourceSelector.title,options:t.valueSourceOptions,value:t.rule.valueSource??"value",className:t.classNames.valueSource,handleOnChange:t.onChangeValueSource}),v.createElement(d,{key:ge.valueEditor,...C,testID:ge.valueEditor,field:t.rule.field,fieldData:t.fieldData,title:t.translations.value.title,operator:t.rule.operator,value:t.rule.value,valueSource:t.rule.valueSource??"value",type:t.valueEditorType,inputType:t.inputType,values:t.values,listsAsArrays:t.schema.listsAsArrays,parseNumbers:t.schema.parseNumbers,separator:t.valueEditorSeparator,className:t.classNames.value,handleOnChange:t.onChangeValue})))),t.subQuery&&v.createElement(b,{className:t.subQuery.classNames.header},v.createElement(y,t.subQuery)),t.schema.showCloneButtons&&v.createElement(f,{key:ge.cloneRule,...C,testID:ge.cloneRule,label:t.translations.cloneRule.label,title:t.translations.cloneRule.title,className:t.classNames.cloneRule,ruleOrGroup:t.rule,handleOnClick:t.cloneRule}),t.schema.showLockButtons&&v.createElement(u,{key:ge.lockRule,...C,testID:ge.lockRule,label:t.translations.lockRule.label,title:t.translations.lockRule.title,className:t.classNames.lockRule,ruleOrGroup:t.rule,handleOnClick:t.toggleLockRule,disabledTranslation:t.parentDisabled?void 0:t.translations.lockRuleDisabled}),t.schema.showMuteButtons&&v.createElement(h,{key:ge.muteRule,...C,testID:ge.muteRule,label:t.rule.muted?t.translations.unmuteRule.label:t.translations.muteRule.label,title:t.rule.muted?t.translations.unmuteRule.title:t.translations.muteRule.title,className:t.classNames.muteRule,ruleOrGroup:t.rule,handleOnClick:t.toggleMuteRule}),v.createElement(m,{key:ge.removeRule,...C,testID:ge.removeRule,label:t.translations.removeRule.label,title:t.translations.removeRule.title,className:t.classNames.removeRule,ruleOrGroup:t.rule,handleOnClick:t.removeRule}),t.subQuery&&v.createElement(b,{className:t.subQuery.classNames.body},v.createElement(g,t.subQuery)))}),eD=e=>v.createElement("div",e),tD=v.memo(function(t){const r=D.useMemo(()=>t.schema.createRuleGroup(),[t.schema]),o=Qm({...t.subQueryBuilderProps,enableDragAndDrop:!1,disabled:t.disabled,fields:t.subproperties.fields,enableMountQueryChange:!Xe(t.rule.value)||!t.rule.value.id,query:Xe(t.rule.value)?t.rule.value:r,onQueryChange:t.onChangeValue}),n=Km({...o,ruleGroup:o.rootGroup,path:Ph,disabled:t.disabled,parentDisabled:o.queryDisabled,id:o.rootGroup.id,shiftUpDisabled:!0,shiftDownDisabled:!0}),a=st(n.addRule),s=st(n.addGroup),i=st(n.cloneGroup),c=st(n.toggleLockGroup),d=st(n.removeGroup),f=st(n.shiftGroupUp),u=st(n.shiftGroupDown),h=D.useMemo(()=>({...n,addGroup:s,addRule:a,cloneGroup:i,removeGroup:d,shiftGroupDown:u,shiftGroupUp:f,toggleLockGroup:c}),[s,a,i,d,u,f,n,c]);return v.createElement(Zm,{...t,groupComponentsWrapper:t.groupComponentsWrapper??eD,subQuery:h})}),rD=e=>{const{id:t,path:r,rule:o,schema:{classNames:n,fields:a,fieldMap:s,getParameters:i,getInputType:c,getMatchModes:d,getOperators:f,getSubQueryBuilderProps:u,getValueEditorType:h,getValueEditorSeparator:m,getValueSources:g,getValues:y,validationMap:b,enableDragAndDrop:C,getRuleClassname:w,suppressStandardClassnames:x},actions:{moveRule:S,onPropChange:N,onRuleRemove:E},disabled:M,parentDisabled:k,parentMuted:T,shiftUpDisabled:A,shiftDownDisabled:L,field:O,operator:F,value:V,valueSource:re,dropEffect:K="move",groupItems:H=!1,dragMonitorId:ee="",dropMonitorId:G="",dndRef:z=null,dragRef:Ce=null,isDragging:$=!1,isOver:q=!1,dropNotAllowed:xe=!1}=e;jc("rule",!o),Jm(C,!!(ee||G||z||Ce));const oe=!!k||!!M,he=!!T||!!(o!=null&&o.muted),Y=D.useMemo(()=>o??{id:t,field:O??"",operator:F??"",value:V,valueSource:re},[O,t,F,o,V,re]),ce=D.useMemo(()=>({shiftActions:Oe(x||me.shiftActions,n.shiftActions),dragHandle:Oe(x||me.dragHandle,n.dragHandle),fields:Oe(x||me.fields,n.valueSelector,n.fields),matchMode:Oe(x||me.matchMode,n.valueSelector,n.matchMode),matchThreshold:Oe(x||me.matchThreshold,n.valueSelector,n.matchThreshold),operators:Oe(x||me.operators,n.valueSelector,n.operators),valueSource:Oe(x||me.valueSource,n.valueSelector,n.valueSource),value:Oe(x||me.value,n.value),cloneRule:Oe(x||me.cloneRule,n.actionElement,n.cloneRule),lockRule:Oe(x||me.lockRule,n.actionElement,n.lockRule),muteRule:Oe(x||me.muteRule,n.actionElement,n.muteRule),removeRule:Oe(x||me.removeRule,n.actionElement,n.removeRule),valueListItem:Oe(x||me.valueListItem,n.valueListItem)}),[n.shiftActions,n.dragHandle,n.valueSelector,n.fields,n.matchMode,n.matchThreshold,n.operators,n.valueSource,n.value,n.actionElement,n.cloneRule,n.lockRule,n.muteRule,n.removeRule,n.valueListItem,x]),te=D.useCallback(_e=>(Ke,ot)=>{oe||N(_e,Ke,r,ot)},[oe,N,r]),Ne=D.useMemo(()=>te("field"),[te]),be=D.useMemo(()=>te("operator"),[te]),ue=D.useMemo(()=>te("match"),[te]),X=D.useMemo(()=>te("valueSource"),[te]),ne=D.useMemo(()=>te("value"),[te]),pe=D.useCallback((_e,Ke)=>{if(!oe){const ot=[...at(r),r.at(-1)+1];S(r,ot,!0,Ke)}},[oe,S,r]),Se=D.useCallback((_e,Ke)=>N("disabled",!oe,r,Ke),[oe,N,r]),je=D.useCallback((_e,Ke)=>N("muted",!Y.muted,r,Ke),[Y.muted,N,r]),Je=D.useCallback((_e,Ke)=>{oe||E(r)},[oe,E,r]),Re=D.useCallback((_e,Ke)=>{!oe&&!A&&S(r,"up",_e==null?void 0:_e.altKey,Ke)},[oe,S,r,A]),Ye=D.useCallback((_e,Ke)=>{!oe&&!L&&S(r,"down",_e==null?void 0:_e.altKey,Ke)},[oe,S,r,L]),ye=D.useMemo(()=>(s==null?void 0:s[Y.field])??{name:Y.field,value:Y.field,label:Y.field},[s,Y.field]),rt=D.useMemo(()=>ye.inputType??c(Y.field,Y.operator,{fieldData:ye}),[ye,c,Y.field,Y.operator]),Le=D.useMemo(()=>d(Y.field,{fieldData:ye}),[ye,d,Y.field]),Ge=D.useMemo(()=>f(Y.field,{fieldData:ye}),[ye,f,Y.field]),Ue=D.useMemo(()=>Ko(Ge,Y.operator),[Ge,Y.operator]),Ee=Ue==null?void 0:Ue.arity,ct=typeof Ee=="string"&&Ee==="unary"||typeof Ee=="number"&&Ee<2,et=D.useMemo(()=>{const _e=g(Y.field,Y.operator,{fieldData:ye});return Y.valueSource&&!Ko(_e,Y.valueSource)?[..._e,{name:Y.valueSource,value:Y.valueSource,label:Y.valueSource}]:_e},[ye,g,Y.field,Y.operator,Y.valueSource]),_r=D.useMemo(()=>et.map(({value:_e})=>_e),[et]),Yt=D.useMemo(()=>i(Y.field,Y.operator,{fieldData:ye}),[ye,i,Y.field,Y.operator]),_=D.useMemo(()=>Yt&&Yt.length>0?Yt:null,[Yt]),I=D.useMemo(()=>Y.valueSource==="field"?"select":Y.valueSource==="parameter"?_?No(Y.operator)==="in"||No(Y.operator)==="notin"?"multiselect":"select":"text":h(Y.field,Y.operator,{fieldData:ye}),[ye,h,_,Y.field,Y.operator,Y.valueSource]),P=D.useMemo(()=>m(Y.field,Y.operator,{fieldData:ye}),[ye,m,Y.field,Y.operator]),W=D.useMemo(()=>{const _e=Y.valueSource==="field"?zh(ye,a,Y.operator):Y.valueSource==="parameter"?_??[]:y(Y.field,Y.operator,{fieldData:ye});return _s(_e)||Zr(_e)?ks(_e):_e},[ye,a,y,_,Y.field,Y.operator,Y.valueSource]),U=D.useMemo(()=>u(Y.field,{fieldData:ye}),[ye,u,Y.field]),J=jm({translations:e.translations,fields:ye.subproperties??U.fields??Z_,autoSelectField:e.schema.autoSelectField||!!ye.subproperties}),B=D.useMemo(()=>b[t??""]??(typeof ye.validator=="function"?ye.validator(Y):null),[ye,t,Y,b]),Q=D.useMemo(()=>Hh(B),[B]),ie=(ye==null?void 0:ye.className)??"",De=(Ue==null?void 0:Ue.className)??"",Ve=Le.length>0,Dt=D.useMemo(()=>Oe(w(Y,{fieldData:ye}),ie,De,x||me.rule,n.rule,oe&&n.disabled,he&&n.muted,$&&n.dndDragging,q&&n.dndOver,q&&K==="copy"&&n.dndCopy,q&&H&&n.dndGroup,xe&&n.dndDropNotAllowed,Ve&&n.hasSubQuery,x||{[me.disabled]:oe,[me.muted]:he,[me.dndDragging]:$,[me.dndOver]:q,[me.dndCopy]:q&&K==="copy",[me.dndGroup]:q&&H,[me.dndDropNotAllowed]:xe,[me.hasSubQuery]:Ve},Q),[n.disabled,n.muted,n.dndCopy,n.dndDragging,n.dndGroup,n.dndOver,n.dndDropNotAllowed,n.hasSubQuery,n.rule,oe,K,xe,he,ie,ye,w,H,Ve,$,q,De,Y,x,Q]);return{...e,classNames:ce,cloneRule:pe,disabled:oe,dndRef:z,dragMonitorId:ee,dragRef:Ce,dropMonitorId:G,fieldData:ye,generateOnChangeHandler:te,onChangeField:Ne,onChangeMatchMode:ue,onChangeOperator:be,onChangeValueSource:X,onChangeValue:ne,hideValueControls:ct,inputType:rt,matchModes:Le,muted:he,operators:Ge,outerClassName:Dt,removeRule:Je,rule:Y,shiftRuleUp:Re,shiftRuleDown:Ye,subproperties:J,subQueryBuilderProps:U,toggleLockRule:Se,toggleMuteRule:je,validationResult:B,valueEditorSeparator:P,valueEditorType:I,values:W,valueSourceOptions:et,valueSources:_r}},Zs={actionElement:lr,addGroupAction:lr,addRuleAction:lr,cloneGroupAction:lr,cloneRuleAction:lr,combinatorSelector:Un,dragHandle:p_,fieldSelector:Un,inlineCombinator:f_,lockGroupAction:lr,lockRuleAction:lr,matchModeEditor:h_,muteGroupAction:lr,muteRuleAction:lr,notToggle:g_,operatorSelector:Un,removeGroupAction:lr,removeRuleAction:lr,rule:R_,ruleGroup:$_,ruleGroupBodyElements:V_,ruleGroupHeaderElements:G_,shiftActions:z_,valueEditor:U_,valueSelector:Un,valueSourceSelector:Un};Ym();const oD=e=>v.createElement(l_,{context:Wm,store:Ym()},e.children),Rs=e=>v.createElement(oD,null,v.createElement(q_,{props:e}));function Rm(e,t,r){var n,a;const o={visible:!0,required:((n=e.validation)==null?void 0:n.required)??!1,disabled:((a=e.properties)==null?void 0:a.disabled)??!1};return e.logic&&(o.visible=nD(e.logic,t,r),e.logic.requireWhen&&(o.required=el(e.logic.requireWhen,t,r)),e.logic.disableWhen&&(o.disabled=el(e.logic.disableWhen,t,r))),o}function nD(e,t,r){const{showWhen:o,hideWhen:n}=e;let a=!0;if(o&&o.rules&&o.rules.length>0&&(a=el(o,t,r)),n&&n.rules&&n.rules.length>0){const s=el(n,t,r);a=a&&!s}return a}function el(e,t,r){if(!e||!e.rules||e.rules.length===0)return!0;const{combinator:o,rules:n}=e,a=n.map(s=>{const i=r.find(f=>f.id===s.field||f.attributes.name===s.field),c=(i==null?void 0:i.attributes.name)||s.field,d=t[c];return aD(d,s.operator,s.value)});return o==="and"?a.every(s=>s):a.some(s=>s)}function aD(e,t,r){const o=e??"";switch(t){case"equals":case"=":case"==":return o===r;case"notEquals":case"!=":case"<>":return o!==r;case"contains":return String(o).toLowerCase().includes(String(r).toLowerCase());case"notContains":case"doesNotContain":return!String(o).toLowerCase().includes(String(r).toLowerCase());case"startsWith":case"beginsWith":return String(o).toLowerCase().startsWith(String(r).toLowerCase());case"endsWith":return String(o).toLowerCase().endsWith(String(r).toLowerCase());case"matches":try{return new RegExp(r,"i").test(String(o))}catch{return!1}case"isEmpty":case"null":return o===""||o===null||o===void 0||Array.isArray(o)&&o.length===0;case"isNotEmpty":case"notNull":return o!==""&&o!==null&&o!==void 0&&!(Array.isArray(o)&&o.length===0);case"greaterThan":case">":return Number(o)>Number(r);case"greaterThanOrEquals":case">=":return Number(o)>=Number(r);case"lessThan":case"<":return Number(o)<Number(r);case"lessThanOrEquals":case"<=":return Number(o)<=Number(r);case"between":if(Array.isArray(r)&&r.length===2){const n=Number(o);return n>=Number(r[0])&&n<=Number(r[1])}return!1;case"notBetween":if(Array.isArray(r)&&r.length===2){const n=Number(o);return n<Number(r[0])||n>Number(r[1])}return!0;case"in":return Array.isArray(r)?r.includes(o):!1;case"notIn":return Array.isArray(r)?!r.includes(o):!0;case"isTrue":return o===!0||o==="true"||o===1;case"isFalse":return o===!1||o==="false"||o===0;case"hasLength":return Array.isArray(o)&&o.length===Number(r);case"hasMinLength":return Array.isArray(o)&&o.length>=Number(r);case"hasMaxLength":return Array.isArray(o)&&o.length<=Number(r);case"includes":case"arrayContains":return Array.isArray(o)&&o.includes(r);case"notIncludes":case"arrayNotContains":return!Array.isArray(o)||!o.includes(r);default:return console.warn(`Unknown operator: ${t}`),!0}}function sD(e){const t=[{name:"isEmpty",label:"is empty"},{name:"isNotEmpty",label:"is not empty"}],r=[{name:"equals",label:"equals"},{name:"notEquals",label:"does not equal"}],o=[...r,{name:"contains",label:"contains"},{name:"notContains",label:"does not contain"},{name:"startsWith",label:"starts with"},{name:"endsWith",label:"ends with"},...t],n=[...r,{name:"greaterThan",label:"is greater than"},{name:"greaterThanOrEquals",label:"is greater than or equal to"},{name:"lessThan",label:"is less than"},{name:"lessThanOrEquals",label:"is less than or equal to"},{name:"between",label:"is between"},...t],a=[{name:"isTrue",label:"is checked"},{name:"isFalse",label:"is not checked"}],s=[...r,{name:"in",label:"is one of"},{name:"notIn",label:"is not one of"},...t],i=[{name:"includes",label:"includes"},{name:"notIncludes",label:"does not include"},{name:"hasLength",label:"has exactly"},{name:"hasMinLength",label:"has at least"},{name:"hasMaxLength",label:"has at most"},...t];switch(e){case"shortText":case"longText":case"multiLineInput":case"textEditor":case"email":case"phone":case"url":case"password":case"location":return o;case"number":case"slider":case"rangeSlider":return n;case"decisionBox":case"toggleSwitch":return a;case"singleChoice":case"dropdown":return s;case"multipleChoice":case"tags":return i;case"date":case"time":case"dateTime":case"dateRange":case"multipleDates":return[...r,{name:"greaterThan",label:"is after"},{name:"lessThan",label:"is before"},{name:"between",label:"is between"},...t];case"fileUpload":case"imageUpload":case"multiFileUpload":case"multiImageUpload":return t;case"singleChoiceMatrix":case"multipleChoiceMatrix":case"matrixTable":return t;default:return[...r,...t]}}function lD(e){switch(e){case"number":case"slider":case"rangeSlider":return"number";case"decisionBox":case"toggleSwitch":return"checkbox";case"date":case"dateRange":case"multipleDates":return"date";case"time":return"time";case"dateTime":return"datetime-local";case"singleChoice":case"dropdown":case"multipleChoice":case"tags":return"select";case"email":return"email";default:return"text"}}function iD(e){var t;if((t=e.config)!=null&&t.options&&Array.isArray(e.config.options))return e.config.options.map(r=>({name:r.value,label:r.label}))}function tl(e){return!e||!e.rules||e.rules.length===0?{combinator:"and",rules:[]}:{combinator:e.combinator,rules:e.rules.map(t=>({field:t.field,operator:t.operator,value:t.value}))}}function rl(e){return{combinator:e.combinator,rules:e.rules.filter(t=>"field"in t).map(t=>"field"in t?{field:t.field,operator:t.operator,value:t.value}:null).filter(Boolean)}}const ol=({title:e,children:t,defaultOpen:r=!1,badge:o})=>{const[n,a]=D.useState(r);return l.jsxs(Uf,{open:n,onOpenChange:a,className:p("border border-border rounded-lg overflow-hidden"),children:[l.jsx(Wf,{asChild:!0,children:l.jsxs(Ze,{variant:"ghost",className:p("w-full flex items-center justify-between px-3 py-2 h-auto bg-muted/50 hover:bg-muted rounded-none"),children:[l.jsxs("span",{className:p("flex items-center gap-2 text-sm font-medium text-foreground"),children:[e,o&&l.jsx(Oi,{variant:"secondary",className:p("text-xs"),children:o})]}),l.jsx(Yo,{className:p("h-4 w-4 transition-transform",n&&"rotate-180")})]})}),l.jsx(Hf,{children:l.jsx("div",{className:p("p-3 bg-card"),children:t})})]})},cD=({element:e,elements:t,onUpdate:r})=>{var u,h,m,g,y,b,C,w,x,S,N,E,M,k,T,A,L,O,F,V,re,K,H,ee,G,z,Ce,$,q,xe,oe,he,Y,ce,te,Ne,be,ue,X,ne,pe,Se,je,Je,Re,Ye,ye,rt;const o=D.useMemo(()=>t.filter(Le=>Le.id!==e.id).filter(Le=>!["divider","spacer","paragraph","image","link","formHeading","sectionHeading","subheading","submit"].includes(Le.type)).map(Le=>{var ct;const Ge=sD(Le.type),Ue=lD(Le.type),Ee=iD(Le);return{name:Le.id,label:Le.properties.label||Le.attributes.name||`Field ${Le.order+1}`,inputType:Ue,operators:Ge.map(et=>({name:et.name,label:et.label})),values:Ee==null?void 0:Ee.map(et=>({name:et.name,label:et.label})),defaultOperator:((ct=Ge[0])==null?void 0:ct.name)||"equals"}}),[t,e.id]),n=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,showWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),a=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,hideWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),s=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,requireWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),i=D.useCallback(Le=>{const Ge=rl(Le),Ue={...e.logic,disableWhen:Ge.rules.length>0?Ge:void 0};r({logic:Ue})},[e.logic,r]),c=D.useCallback(()=>{r({logic:void 0})},[r]),d=e.logic&&((((h=(u=e.logic.showWhen)==null?void 0:u.rules)==null?void 0:h.length)??0)>0||(((g=(m=e.logic.hideWhen)==null?void 0:m.rules)==null?void 0:g.length)??0)>0||(((b=(y=e.logic.requireWhen)==null?void 0:y.rules)==null?void 0:b.length)??0)>0||(((w=(C=e.logic.disableWhen)==null?void 0:C.rules)==null?void 0:w.length)??0)>0),f=(((N=(S=(x=e.logic)==null?void 0:x.showWhen)==null?void 0:S.rules)==null?void 0:N.length)??0)+(((k=(M=(E=e.logic)==null?void 0:E.hideWhen)==null?void 0:M.rules)==null?void 0:k.length)??0)+(((L=(A=(T=e.logic)==null?void 0:T.requireWhen)==null?void 0:A.rules)==null?void 0:L.length)??0)+(((V=(F=(O=e.logic)==null?void 0:O.disableWhen)==null?void 0:F.rules)==null?void 0:V.length)??0);return o.length===0?l.jsxs("div",{className:p("text-sm text-muted-foreground p-4 text-center bg-muted/50 rounded-lg"),children:[l.jsx(mf,{className:p("w-8 h-8 mx-auto mb-2 text-muted-foreground/50")}),l.jsx("p",{children:"Add more fields to enable conditional logic."}),l.jsx("p",{className:p("text-xs mt-1"),children:"Logic rules require other fields to reference."})]}):l.jsxs("div",{className:p("space-y-3"),children:[l.jsxs("div",{className:p("flex items-center justify-between"),children:[l.jsx("div",{className:p("text-sm text-muted-foreground"),children:d?l.jsxs("span",{className:p("flex items-center gap-2"),children:[l.jsx("span",{className:p("w-2 h-2 bg-primary rounded-full")}),f," rule",f!==1?"s":""," ","configured"]}):l.jsx("span",{className:p("text-muted-foreground/70"),children:"No logic configured"})}),d&&l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-destructive hover:text-destructive hover:bg-destructive/10"),onClick:c,children:[l.jsx(Ti,{className:p("h-3 w-3 mr-1")}),"Clear all"]})]}),l.jsxs(ol,{title:"Show When",defaultOpen:!!((H=(K=(re=e.logic)==null?void 0:re.showWhen)==null?void 0:K.rules)!=null&&H.length),badge:(z=(G=(ee=e.logic)==null?void 0:ee.showWhen)==null?void 0:G.rules)!=null&&z.length?String(e.logic.showWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will only be visible when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((Ce=e.logic)==null?void 0:Ce.showWhen),onQueryChange:n,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Hide When",defaultOpen:!!((xe=(q=($=e.logic)==null?void 0:$.hideWhen)==null?void 0:q.rules)!=null&&xe.length),badge:(Y=(he=(oe=e.logic)==null?void 0:oe.hideWhen)==null?void 0:he.rules)!=null&&Y.length?String(e.logic.hideWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be hidden when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((ce=e.logic)==null?void 0:ce.hideWhen),onQueryChange:a,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Required When",defaultOpen:!!((be=(Ne=(te=e.logic)==null?void 0:te.requireWhen)==null?void 0:Ne.rules)!=null&&be.length),badge:(ne=(X=(ue=e.logic)==null?void 0:ue.requireWhen)==null?void 0:X.rules)!=null&&ne.length?String(e.logic.requireWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be required when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((pe=e.logic)==null?void 0:pe.requireWhen),onQueryChange:s,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]}),l.jsxs(ol,{title:"Disabled When",defaultOpen:!!((Je=(je=(Se=e.logic)==null?void 0:Se.disableWhen)==null?void 0:je.rules)!=null&&Je.length),badge:(ye=(Ye=(Re=e.logic)==null?void 0:Re.disableWhen)==null?void 0:Ye.rules)!=null&&ye.length?String(e.logic.disableWhen.rules.length):void 0,children:[l.jsx("p",{className:p("text-xs text-muted-foreground mb-2"),children:"This element will be disabled when these conditions are met."}),l.jsx("div",{className:p("query-builder-wrapper"),children:l.jsx(Rs,{fields:o,query:tl((rt=e.logic)==null?void 0:rt.disableWhen),onQueryChange:i,controlClassnames:{queryBuilder:"qb-lite",ruleGroup:"bg-muted/50 p-2 rounded border border-border",combinators:"px-2 py-1 border border-input rounded text-sm bg-background",addRule:"px-2 py-1 bg-primary text-primary-foreground rounded text-xs hover:bg-primary/90",addGroup:"px-2 py-1 bg-secondary text-secondary-foreground rounded text-xs hover:bg-secondary/80 ml-1",removeGroup:"px-2 py-1 bg-destructive/10 text-destructive rounded text-xs hover:bg-destructive/20",removeRule:"px-1 py-1 text-destructive hover:text-destructive/80",fields:"px-2 py-1 border border-input rounded text-sm min-w-[120px] bg-background",operators:"px-2 py-1 border border-input rounded text-sm mx-1 bg-background",value:"px-2 py-1 border border-input rounded text-sm bg-background"}})})]})]})};var dD=Object.defineProperty,uD=(e,t)=>dD(e,"name",{value:t,configurable:!0}),pD=v.forwardRef(uD(function(t,r){return l.jsx(Ie.label,{...t,ref:r,onMouseDown:o=>{var a;o.target.closest("button, input, select, textarea")||((a=t.onMouseDown)==null||a.call(t,o),!o.defaultPrevented&&o.detail>1&&o.preventDefault())}})},"Label")),eg=pD;const fD=es("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Zt=v.forwardRef(({className:e,...t},r)=>l.jsx(eg,{ref:r,className:p(fD(),e),...t}));Zt.displayName=eg.displayName;const Qc=v.forwardRef(({className:e,...t},r)=>l.jsx("textarea",{className:p("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:r,...t}));Qc.displayName="Textarea";var hD=Object.defineProperty,Vr=(e,t)=>hD(e,"name",{value:t,configurable:!0}),Kc="Checkbox",[mD,gI]=rr(Kc),[gD,Xc]=mD(Kc);function tg(e){const{__scopeCheckbox:t,checked:r,children:o,defaultChecked:n,disabled:a,form:s,name:i,onCheckedChange:c,required:d,value:f="on",internal_do_not_use_render:u}=e,[h,m]=br({prop:r,defaultProp:n??!1,onChange:c,caller:Kc}),[g,y]=v.useState(null),[b,C]=v.useState(null),w=v.useRef(!1),[x,S]=v.useReducer(M=>M+1,0),N=g?!!s||!!g.closest("form"):!0,E={checked:h,disabled:a,setChecked:m,control:g,setControl:y,name:i,form:s,value:f,hasConsumerStoppedPropagationRef:w,userInteractionCount:x,onUserInteraction:S,required:d,defaultChecked:zr(n)?!1:n,isFormControl:N,bubbleInput:b,setBubbleInput:C};return l.jsx(gD,{scope:t,...E,children:og(u)?u(E):o})}Vr(tg,"CheckboxProvider");var bD="CheckboxTrigger",yD=v.forwardRef(Vr(function({__scopeCheckbox:t,onKeyDown:r,onClick:o,...n},a){const{control:s,value:i,disabled:c,checked:d,required:f,setControl:u,setChecked:h,hasConsumerStoppedPropagationRef:m,onUserInteraction:g,isFormControl:y,bubbleInput:b}=Xc(bD,t),C=ze(a,u),w=v.useRef(d);return v.useEffect(()=>{const x=s==null?void 0:s.form;if(x){const S=Vr(()=>h(w.current),"reset");return x.addEventListener("reset",S),()=>x.removeEventListener("reset",S)}},[s,h]),l.jsx(Ie.button,{type:"button",role:"checkbox","aria-checked":zr(d)?"mixed":d,"aria-required":f,"data-state":Jc(d),"data-disabled":c?"":void 0,disabled:c,value:i,...n,ref:C,onKeyDown:we(r,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:we(o,x=>{g(),h(S=>zr(S)?!0:!S),b&&y&&(m.current=x.isPropagationStopped(),m.current||x.stopPropagation())})})},"CheckboxTrigger")),rg=v.forwardRef(Vr(function(t,r){const{__scopeCheckbox:o,name:n,checked:a,defaultChecked:s,required:i,disabled:c,value:d,onCheckedChange:f,form:u,...h}=t;return l.jsx(tg,{__scopeCheckbox:o,checked:a,defaultChecked:s,disabled:c,required:i,onCheckedChange:f,name:n,form:u,value:d,internal_do_not_use_render:({isFormControl:m})=>l.jsxs(l.Fragment,{children:[l.jsx(yD,{...h,ref:r,__scopeCheckbox:o}),m&&l.jsx(CD,{__scopeCheckbox:o})]})})},"Checkbox")),vD="CheckboxIndicator",xD=v.forwardRef(Vr(function(t,r){const{__scopeCheckbox:o,forceMount:n,...a}=t,s=Xc(vD,o);return l.jsx(Vo,{present:n||zr(s.checked)||s.checked===!0,children:l.jsx(Ie.span,{"data-state":Jc(s.checked),"data-disabled":s.disabled?"":void 0,...a,ref:r,style:{pointerEvents:"none",...t.style}})})},"CheckboxIndicator")),wD="CheckboxBubbleInput",CD=v.forwardRef(Vr(function({__scopeCheckbox:t,onClick:r,...o},n){const{control:a,hasConsumerStoppedPropagationRef:s,userInteractionCount:i,checked:c,defaultChecked:d,required:f,disabled:u,name:h,value:m,form:g,bubbleInput:y,setBubbleInput:b}=Xc(wD,t),C=ze(n,b),w=bi(a),x=v.useRef(!1),S=v.useRef(c),N=v.useRef(i);v.useEffect(()=>{const M=y;if(!M)return;const k=window.HTMLInputElement.prototype,A=Object.getOwnPropertyDescriptor(k,"checked").set,L=i!==N.current;N.current=i;const O=S.current!==c;S.current=c;const F=!(L&&s.current);if(O&&A){x.current=!L;const V=new Event("click",{bubbles:F});M.indeterminate=zr(c),A.call(M,zr(c)?!1:c),M.dispatchEvent(V),x.current=!1}},[y,c,s,i]);const E=v.useRef(zr(c)?!1:c);return l.jsx(Ie.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??E.current,required:f,disabled:u,name:h,value:m,form:g,...o,tabIndex:-1,ref:C,onClick:we(r,M=>{x.current&&M.stopPropagation()}),style:{...o.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function og(e){return typeof e=="function"}Vr(og,"isFunction");function zr(e){return e==="indeterminate"}Vr(zr,"isIndeterminate");function Jc(e){return zr(e)?"indeterminate":e?"checked":"unchecked"}Vr(Jc,"getState");const Zc=v.forwardRef(({className:e,...t},r)=>l.jsx(rg,{ref:r,className:p("grid place-content-center peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:l.jsx(xD,{className:p("grid place-content-center text-current"),children:l.jsx(pf,{className:p("h-4 w-4")})})}));Zc.displayName=rg.displayName;var SD=Object.defineProperty,Ht=(e,t)=>SD(e,"name",{value:t,configurable:!0}),Nr="Accordion",ND=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Rc,ED,kD]=Sa(Nr),[nl,bI]=rr(Nr,[kD,$f]),ed=$f(),_D=v.forwardRef(Ht(function(t,r){const{type:o,...n}=t,a=n,s=n;return l.jsx(Rc.Provider,{scope:t.__scopeAccordion,children:o==="multiple"?l.jsx(ID,{...s,ref:r}):l.jsx(TD,{...a,ref:r})})},"Accordion")),[ng,DD]=nl(Nr),[ag,AD]=nl(Nr,{collapsible:!1}),TD=v.forwardRef(Ht(function(t,r){const{value:o,defaultValue:n,onValueChange:a=Ht(()=>{},"onValueChange"),collapsible:s=!1,...i}=t,[c,d]=br({prop:o,defaultProp:n??"",onChange:a,caller:Nr});return l.jsx(ng,{scope:t.__scopeAccordion,value:v.useMemo(()=>c?[c]:[],[c]),onItemOpen:d,onItemClose:v.useCallback(()=>s&&d(""),[s,d]),children:l.jsx(ag,{scope:t.__scopeAccordion,collapsible:s,children:l.jsx(sg,{...i,ref:r})})})},"AccordionImplSingle")),ID=v.forwardRef(Ht(function(t,r){const{value:o,defaultValue:n,onValueChange:a=Ht(()=>{},"onValueChange"),...s}=t,[i,c]=br({prop:o,defaultProp:n??[],onChange:a,caller:Nr}),d=v.useCallback(u=>c((h=[])=>[...h,u]),[c]),f=v.useCallback(u=>c((h=[])=>h.filter(m=>m!==u)),[c]);return l.jsx(ng,{scope:t.__scopeAccordion,value:i,onItemOpen:d,onItemClose:f,children:l.jsx(ag,{scope:t.__scopeAccordion,collapsible:!0,children:l.jsx(sg,{...s,ref:r})})})},"AccordionImplMultiple")),[PD,al]=nl(Nr),sg=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,disabled:n,dir:a,orientation:s="vertical",...i}=t,c=v.useRef(null),d=ze(c,r),f=ED(o),h=hn(a)==="ltr",m=we(t.onKeyDown,g=>{var T;if(!ND.includes(g.key))return;const y=g.target,b=f().filter(A=>{var L;return!((L=A.ref.current)!=null&&L.disabled)}),C=b.findIndex(A=>A.ref.current===y),w=b.length;if(C===-1)return;g.preventDefault();let x=C;const S=0,N=w-1,E=Ht(()=>{x=C+1,x>N&&(x=S)},"moveNext"),M=Ht(()=>{x=C-1,x<S&&(x=N)},"movePrev");switch(g.key){case"Home":x=S;break;case"End":x=N;break;case"ArrowRight":s==="horizontal"&&(h?E():M());break;case"ArrowDown":s==="vertical"&&E();break;case"ArrowLeft":s==="horizontal"&&(h?M():E());break;case"ArrowUp":s==="vertical"&&M();break}const k=x%w;(T=b[k].ref.current)==null||T.focus()});return l.jsx(PD,{scope:o,disabled:n,direction:a,orientation:s,children:l.jsx(Rc.Slot,{scope:o,children:l.jsx(Ie.div,{...i,"data-orientation":s,ref:d,onKeyDown:n?void 0:m})})})},"AccordionImpl")),td="AccordionItem",[MD,rd]=nl(td),OD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,value:n,...a}=t,s=al(td,o),i=DD(td,o),c=ed(o),d=Hr(),f=n&&i.value.includes(n)||!1,u=s.disabled||t.disabled;return l.jsx(MD,{scope:o,open:f,disabled:u,triggerId:d,children:l.jsx(Bf,{"data-orientation":s.orientation,"data-state":od(f),...c,...a,ref:r,disabled:u,open:f,onOpenChange:h=>{h?i.onItemOpen(n):i.onItemClose(n)}})})},"AccordionItem")),LD="AccordionHeader",FD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(LD,o);return l.jsx(Ie.h3,{"data-orientation":a.orientation,"data-state":od(s.open),"data-disabled":s.disabled?"":void 0,...n,ref:r})},"AccordionHeader")),lg="AccordionTrigger",$D=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(lg,o),i=AD(lg,o),c=ed(o);return l.jsx(Rc.ItemSlot,{scope:o,children:l.jsx(FN,{"aria-disabled":s.open&&!i.collapsible||void 0,"data-orientation":a.orientation,id:s.triggerId,...c,...n,ref:r})})},"AccordionTrigger")),GD="AccordionContent",VD=v.forwardRef(Ht(function(t,r){const{__scopeAccordion:o,...n}=t,a=al(Nr,o),s=rd(GD,o),i=ed(o);return l.jsx($N,{role:"region","aria-labelledby":s.triggerId,"data-orientation":a.orientation,...i,...n,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...t.style}})},"AccordionContent"));function od(e){return e?"open":"closed"}Ht(od,"getState");var zD=_D,BD=OD,UD=FD,ig=$D,cg=VD;const dg=zD,nd=v.forwardRef(({className:e,...t},r)=>l.jsx(BD,{ref:r,className:p("border-b",e),...t}));nd.displayName="AccordionItem";const ad=v.forwardRef(({className:e,children:t,...r},o)=>l.jsx(UD,{className:p("flex"),children:l.jsxs(ig,{ref:o,className:p("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...r,children:[t,l.jsx(Yo,{className:p("h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200")})]})}));ad.displayName=ig.displayName;const sd=v.forwardRef(({className:e,children:t,...r},o)=>l.jsx(cg,{ref:o,className:p("overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"),...r,children:l.jsx("div",{className:p("pb-4 pt-0",e),children:t})}));sd.displayName=cg.displayName;function ld(e,t,r){var o,n,a,s;switch(t){case"properties":return(o=e.properties)==null?void 0:o[r];case"config":return(n=e.config)==null?void 0:n[r];case"layout":return(a=e.layout)==null?void 0:a[r];case"validation":return(s=e.validation)==null?void 0:s[r];default:return}}function WD(e,t,r,o){switch(e){case"properties":return{properties:{...t.properties,[r]:o}};case"config":return{config:{...t.config,[r]:o}};case"layout":return{layout:{...t.layout,[r]:o}};case"validation":return{validation:{...t.validation,[r]:o}};default:return{}}}function HD(e,t,r){const{field:o,value:n}=r;if(o.includes(".")){const[s,...i]=o.split("."),c=i.join(".");return ld(e,s,c)===n}return ld(e,t.section,o)===n}const ug=({field:e,element:t,onUpdate:r})=>{var a;const o=ld(t,e.section,e.key)??e.defaultValue,n=s=>{r(WD(e.section,t,e.key,s))};switch(e.type){case"text":case"url":case"color":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Kt,{type:e.type==="color"?"color":e.type==="url"?"url":"text",value:o??"",onChange:s=>n(s.target.value),placeholder:e.placeholder}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"textarea":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Qc,{value:o??"",onChange:s=>n(s.target.value),placeholder:e.placeholder,rows:e.rows??3}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"number":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsx(Kt,{type:"number",value:o??"",onChange:s=>{const i=s.target.value;n(i?Number.isInteger(e.min)||Number.isInteger(e.max)?parseInt(i,10):parseFloat(i):void 0)},placeholder:e.placeholder,min:e.min,max:e.max}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});case"checkbox":return l.jsxs("div",{className:p("flex items-start space-x-2"),children:[l.jsx(Zc,{id:`ds-${e.section}-${e.key}`,checked:!!o,onCheckedChange:s=>n(!!s)}),l.jsxs("div",{className:p("space-y-0.5 leading-none"),children:[l.jsx(Zt,{htmlFor:`ds-${e.section}-${e.key}`,className:p("text-xs font-medium text-foreground cursor-pointer"),children:e.label}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]})]});case"select":return l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-xs font-medium text-muted-foreground"),children:e.label}),l.jsxs(Xa,{value:o!=null?String(o):"",onValueChange:s=>{var c;const i=(c=e.options)==null?void 0:c.find(d=>typeof d.value=="number"&&String(d.value)===s);n(i?i.value:s)},children:[l.jsx(vn,{children:l.jsx(Ja,{placeholder:e.placeholder||"Select..."})}),l.jsx(xn,{children:(a=e.options)==null?void 0:a.map(s=>l.jsx(yo,{value:String(s.value),children:s.label},String(s.value)))})]}),e.description&&l.jsx("p",{className:p("text-[11px] text-muted-foreground"),children:e.description})]});default:return null}},jD=({title:e,icon:t,defaultOpen:r=!0,children:o})=>l.jsx(dg,{type:"single",collapsible:!0,defaultValue:r?"item":void 0,children:l.jsxs(nd,{value:"item",className:p("border-b border-border"),children:[l.jsx(ad,{className:p("px-4 py-3 hover:bg-muted/50 hover:no-underline"),children:l.jsxs("span",{className:p("text-sm font-medium text-foreground flex items-center gap-2"),children:[t&&l.jsx("span",{children:t}),e]})}),l.jsx(sd,{className:p("px-4 pb-4 mb-4"),children:l.jsx("div",{className:p("space-y-4"),children:o})})]})}),YD=({element:e,schema:t,onUpdate:r})=>{const o=t.fields.filter(c=>c.showWhen?HD(e,c,c.showWhen):!0),n=[];let a=[];const s=()=>{a.length>0&&(n.push(a),a=[])};for(const c of o)c.colSpan===1?(a.push(c),a.length===2&&s()):(s(),n.push([c]));s();const{configSection:i}=t;return l.jsx(jD,{title:(i==null?void 0:i.title)??"Settings",icon:i==null?void 0:i.icon,defaultOpen:!1,children:n.map((c,d)=>{if(!c.every(u=>u.colSpan===1)){const u=c[0];return l.jsx(ug,{field:u,element:e,onUpdate:r},`${u.section}.${u.key}`)}return l.jsx("div",{className:p("grid grid-cols-2 gap-2"),children:c.map(u=>l.jsx(ug,{field:u,element:e,onUpdate:r},`${u.section}.${u.key}`))},`row-${d}`)})})},to=({title:e,children:t,defaultOpen:r=!0,icon:o})=>l.jsx(dg,{type:"single",collapsible:!0,defaultValue:r?"item":void 0,children:l.jsxs(nd,{value:"item",className:p("border-b border-border"),children:[l.jsx(ad,{className:p("px-4 py-3 hover:bg-muted/50 hover:no-underline"),children:l.jsxs("span",{className:p("text-sm font-medium text-foreground flex items-center gap-2"),children:[o&&l.jsx("span",{children:o}),e]})}),l.jsx(sd,{className:p("px-4 pb-4 mb-4"),children:l.jsx("div",{className:p("space-y-4"),children:t})})]})}),Be=({label:e,value:t,onChange:r,type:o="text",placeholder:n,rows:a=3,min:s,max:i,step:c,helpText:d})=>l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:e}),o==="textarea"?l.jsx(Qc,{value:t??"",onChange:f=>r(f.target.value),placeholder:n,rows:a,className:p("resize-none")}):o==="color"?l.jsxs("div",{className:p("flex gap-2"),children:[l.jsx("input",{type:"color",value:(t==null?void 0:t.toString())||"#000000",onChange:f=>r(f.target.value),className:p("w-10 h-9 border border-input rounded-md cursor-pointer")}),l.jsx(Kt,{type:"text",value:t??"",onChange:f=>r(f.target.value),placeholder:n||"#000000",className:p("flex-1")})]}):l.jsx(Kt,{type:o,value:t??"",onChange:f=>r(f.target.value),placeholder:n,min:s,max:i,step:c}),d&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:d})]}),pg=({label:e,checked:t,onChange:r,description:o})=>l.jsxs("div",{className:p("flex items-start gap-3"),children:[l.jsx(Zc,{id:e,checked:t||!1,onCheckedChange:n=>r(n===!0),className:p("mt-0.5")}),l.jsxs("div",{className:p("grid gap-0.5 leading-none"),children:[l.jsx(Zt,{htmlFor:e,className:p("text-sm font-medium cursor-pointer"),children:e}),o&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:o})]})]}),id=({label:e,value:t,onChange:r,options:o,helpText:n})=>l.jsxs("div",{className:p("space-y-1.5"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:e}),l.jsxs(Xa,{value:(t==null?void 0:t.toString())??"",onValueChange:r,children:[l.jsx(vn,{className:p("w-full"),children:l.jsx(Ja,{placeholder:"Select..."})}),l.jsx(xn,{children:o.map(a=>l.jsx(yo,{value:a.value,children:a.label},a.value))})]}),n&&l.jsx("p",{className:p("text-xs text-muted-foreground"),children:n})]}),qD=({options:e,onChange:t})=>{const r=(s,i,c)=>{const d=[...e];if(d[s]={...d[s],[i]:c},i==="label"){const f=d[s].value,u=e[s].label;(!f||f===Pl(u))&&(d[s].value=Pl(c))}t(d)},o=()=>{const s=e.length+1;t([...e,{label:`Option ${s}`,value:`option${s}`}])},n=s=>{e.length>1&&t(e.filter((i,c)=>c!==s))},a=(s,i)=>{const c=i==="up"?s-1:s+1;if(c<0||c>=e.length)return;const d=[...e];[d[s],d[c]]=[d[c],d[s]],t(d)};return l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Options"}),l.jsx("div",{className:p("space-y-2"),children:e.map((s,i)=>l.jsxs("div",{className:p("flex items-center gap-1"),children:[l.jsxs("div",{className:p("flex flex-col gap-0.5"),children:[l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-5 w-5"),onClick:()=>a(i,"up"),disabled:i===0,children:l.jsx(ff,{className:p("h-3 w-3")})}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-5 w-5"),onClick:()=>a(i,"down"),disabled:i===e.length-1,children:l.jsx(Yo,{className:p("h-3 w-3")})})]}),l.jsx(Kt,{type:"text",value:s.label,onChange:c=>r(i,"label",c.target.value),placeholder:"Label",className:p("flex-1 h-8")}),l.jsx(Kt,{type:"text",value:s.value,onChange:c=>r(i,"value",c.target.value),placeholder:"Value",className:p("w-20 h-8 text-muted-foreground")}),l.jsx(as,{children:l.jsxs(vr,{children:[l.jsx(xr,{asChild:!0,children:l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>n(i),disabled:e.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})}),l.jsx(sr,{children:"Remove option"})]})})]},i))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:o,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add option"]})]})},QD=({rows:e,columns:t,onRowsChange:r,onColumnsChange:o,showColumnType:n=!1})=>{const a=()=>{const u=`row${e.length+1}`;r([...e,{id:u,label:`Row ${e.length+1}`}])},s=u=>{e.length>1&&r(e.filter((h,m)=>m!==u))},i=(u,h,m)=>{const g=[...e];g[u]={...g[u],[h]:m},r(g)},c=()=>{const u=`col${t.length+1}`;o([...t,{id:u,label:`Column ${t.length+1}`,type:"text"}])},d=u=>{t.length>1&&o(t.filter((h,m)=>m!==u))},f=(u,h,m)=>{const g=[...t];g[u]={...g[u],[h]:m},o(g)};return l.jsxs("div",{className:p("space-y-4"),children:[l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Rows"}),l.jsx("div",{className:p("space-y-2"),children:e.map((u,h)=>l.jsxs("div",{className:p("flex items-center gap-2"),children:[l.jsx(Kt,{type:"text",value:u.id,onChange:m=>i(h,"id",m.target.value),placeholder:"Row ID",className:p("w-24 h-8 font-mono text-xs")}),l.jsx(Kt,{type:"text",value:u.label,onChange:m=>i(h,"label",m.target.value),placeholder:"Row label",className:p("flex-1 h-8")}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>s(h),disabled:e.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})]},h))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:a,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add row"]})]}),l.jsxs("div",{className:p("space-y-2"),children:[l.jsx(Zt,{className:p("text-sm font-medium"),children:"Columns"}),l.jsx("div",{className:p("space-y-2"),children:t.map((u,h)=>l.jsxs("div",{className:p("flex items-center gap-2"),children:[l.jsx(Kt,{type:"text",value:u.id,onChange:m=>f(h,"id",m.target.value),placeholder:"Column ID",className:p("w-24 h-8 font-mono text-xs")}),l.jsx(Kt,{type:"text",value:u.label,onChange:m=>f(h,"label",m.target.value),placeholder:"Column label",className:p("flex-1 h-8")}),n&&l.jsxs(Xa,{value:u.type||"text",onValueChange:m=>f(h,"type",m),children:[l.jsx(vn,{className:p("w-24 h-8"),children:l.jsx(Ja,{})}),l.jsxs(xn,{children:[l.jsx(yo,{value:"text",children:"Text"}),l.jsx(yo,{value:"number",children:"Number"}),l.jsx(yo,{value:"dropdown",children:"Dropdown"})]})]}),l.jsx(Ze,{variant:"ghost",size:"icon",className:p("h-8 w-8"),onClick:()=>d(h),disabled:t.length<=1,children:l.jsx(Ka,{className:p("h-4 w-4")})})]},h))}),l.jsxs(Ze,{variant:"ghost",size:"sm",className:p("text-primary"),onClick:c,children:[l.jsx(Ai,{className:p("h-4 w-4 mr-1")}),"Add column"]})]})]})},KD=({element:e,onUpdate:t})=>{const r=(c,d)=>{t({properties:{...e.properties,[c]:d}})},o=["shortText","longText","multiLineInput","textEditor","number","email","phone","url","location","password","dropdown","tags","date","time","dateTime","multipleDates","dateRange"].includes(e.type),n=!["divider","spacer","paragraph","image","link"].includes(e.type),a=["paragraph"].includes(e.type),s=["link"].includes(e.type),i=["image"].includes(e.type);return l.jsxs(to,{title:"Properties",icon:"📝",children:[!["divider","spacer"].includes(e.type)&&l.jsx(Be,{label:"Label",value:e.properties.label,onChange:c=>r("label",c),placeholder:"Enter label..."}),o&&l.jsx(Be,{label:"Placeholder",value:e.properties.placeholder,onChange:c=>r("placeholder",c),placeholder:"Enter placeholder..."}),n&&l.jsx(Be,{label:"Description",value:e.properties.description,onChange:c=>r("description",c),type:"textarea",placeholder:"Enter description...",rows:2}),a&&l.jsx(Be,{label:"Content",value:e.properties.content,onChange:c=>r("content",c),type:"textarea",placeholder:"Enter paragraph text...",rows:4}),s&&l.jsxs(l.Fragment,{children:[l.jsx(Be,{label:"Link Text",value:e.properties.content,onChange:c=>r("content",c),placeholder:"Click here"}),l.jsx(Be,{label:"URL",value:e.properties.href,onChange:c=>r("href",c),type:"url",placeholder:"https://example.com"}),l.jsx(id,{label:"Target",value:e.properties.target,onChange:c=>r("target",c),options:[{value:"_blank",label:"New Tab"},{value:"_self",label:"Same Tab"}]})]}),i&&l.jsxs(l.Fragment,{children:[l.jsx(Be,{label:"Image URL",value:e.properties.src,onChange:c=>r("src",c),type:"url",placeholder:"https://example.com/image.jpg"}),l.jsx(Be,{label:"Alt Text",value:e.properties.alt,onChange:c=>r("alt",c),placeholder:"Image description"})]}),["shortText","number"].includes(e.type)&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Prefix",value:e.properties.prefix,onChange:c=>r("prefix",c),placeholder:"$"}),l.jsx(Be,{label:"Suffix",value:e.properties.suffix,onChange:c=>r("suffix",c),placeholder:".00"})]})]})},XD=({element:e,onUpdate:t})=>{const r=(n,a)=>{t({layout:{...e.layout,[n]:a}})},o=!["divider","spacer","formHeading","sectionHeading","subheading","paragraph","image","link","captcha","decisionBox"].includes(e.type);return l.jsxs(to,{title:"Layout",icon:"📐",defaultOpen:!1,children:[o&&l.jsx(id,{label:"Label Position",value:e.layout.labelPosition,onChange:n=>r("labelPosition",n),options:[{value:"top",label:"Top"},{value:"left",label:"Left"},{value:"hidden",label:"Hidden"}]}),l.jsx(id,{label:"Size",value:e.layout.size,onChange:n=>r("size",n),options:[{value:"small",label:"Small"},{value:"default",label:"Default"},{value:"medium",label:"Medium"},{value:"large",label:"Large"},{value:"full",label:"Full Width"}]}),l.jsx(Be,{label:"Custom Width",value:e.layout.width,onChange:n=>r("width",n),placeholder:"e.g., 50%, 300px"}),l.jsx(Be,{label:"CSS Class",value:e.layout.className,onChange:n=>r("className",n),placeholder:"custom-class",helpText:"Additional CSS classes"})]})},JD=({element:e,onUpdate:t})=>{var c,d,f,u,h,m,g,y,b,C,w;const r=(x,S)=>{t({validation:{...e.validation,[x]:S}})},o=Sv(e.type),n=["shortText","longText","multiLineInput","textEditor","password"].includes(e.type),a=["number","slider","rangeSlider"].includes(e.type),s=["multiFileUpload","multiImageUpload"].includes(e.type),i=["multipleDates"].includes(e.type);return l.jsxs(to,{title:"Validation",icon:"✅",defaultOpen:!1,children:[o.supportsRequired&&l.jsx(pg,{label:"Required",checked:(c=e.validation)==null?void 0:c.required,onChange:x=>r("required",x),description:"Field must be filled"}),n&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Length",value:(d=e.validation)==null?void 0:d.minLength,onChange:x=>r("minLength",x?parseInt(x):void 0),type:"number",placeholder:"0",min:0}),l.jsx(Be,{label:"Max Length",value:(f=e.validation)==null?void 0:f.maxLength,onChange:x=>r("maxLength",x?parseInt(x):void 0),type:"number",placeholder:"255",min:0})]}),a&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Value",value:(u=e.validation)==null?void 0:u.min,onChange:x=>r("min",x?parseFloat(x):void 0),type:"number"}),l.jsx(Be,{label:"Max Value",value:(h=e.validation)==null?void 0:h.max,onChange:x=>r("max",x?parseFloat(x):void 0),type:"number"})]}),o.supportsPattern&&l.jsx(Be,{label:"Pattern (Regex)",value:(m=e.validation)==null?void 0:m.pattern,onChange:x=>r("pattern",x),placeholder:"^[a-zA-Z]+$",helpText:"Regular expression for validation"}),s&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Files",value:(g=e.validation)==null?void 0:g.minFiles,onChange:x=>r("minFiles",x?parseInt(x):void 0),type:"number",min:0}),l.jsx(Be,{label:"Max Files",value:(y=e.validation)==null?void 0:y.maxFiles,onChange:x=>r("maxFiles",x?parseInt(x):void 0),type:"number",min:1})]}),i&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[l.jsx(Be,{label:"Min Dates",value:(b=e.validation)==null?void 0:b.minDates,onChange:x=>r("minDates",x?parseInt(x):void 0),type:"number",min:0}),l.jsx(Be,{label:"Max Dates",value:(C=e.validation)==null?void 0:C.maxDates,onChange:x=>r("maxDates",x?parseInt(x):void 0),type:"number",min:1})]}),l.jsx(Be,{label:"Error Message",value:(w=e.validation)==null?void 0:w.errorMessage,onChange:x=>r("errorMessage",x),placeholder:"Custom error message..."})]})},ZD=({element:e,onUpdate:t,existingNames:r})=>{const[o,n]=D.useState(null),a=(s,i)=>{{const c=new Set(r);c.delete(e.attributes.name),c.has(i)?n("This field name already exists"):!i||i.trim()===""?n("Field name is required"):/^[a-zA-Z][a-zA-Z0-9_]*$/.test(i)?n(null):n("Must start with letter, only letters/numbers/underscores")}t({attributes:{...e.attributes,[s]:i}})};return l.jsx(to,{title:"Attributes",icon:"🏷️",defaultOpen:!1,children:l.jsxs("div",{children:[l.jsx("label",{className:p("block text-sm font-medium text-gray-700 mb-1"),children:"Field Name"}),l.jsx("input",{type:"text",value:e.attributes.name||"",onChange:s=>a("name",s.target.value),placeholder:"fieldName",className:p("w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:border-transparent",o?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-blue-500")}),o&&l.jsx("p",{className:p("mt-1 text-xs text-red-600"),children:o}),l.jsx("p",{className:p("mt-1 text-xs text-gray-500"),children:"Used as the key in JSON output"})]})})},RD=({element:e,onUpdate:t})=>{var n,a,s,i;const r=c=>{t({config:{...e.config,options:c}})},o=(c,d)=>{t({config:{...e.config,[c]:d}})};return l.jsxs(to,{title:"Options",icon:"📋",children:[l.jsx(qD,{options:((n=e.config)==null?void 0:n.options)||[],onChange:r}),l.jsx(pg,{label:"Allow 'Other' option",checked:(a=e.config)==null?void 0:a.allowOther,onChange:c=>o("allowOther",c),description:"Let users enter custom value"}),((s=e.config)==null?void 0:s.allowOther)&&l.jsx(Be,{label:"Other Label",value:(i=e.config)==null?void 0:i.otherLabel,onChange:c=>o("otherLabel",c),placeholder:"Other..."})]})},eA=({element:e,onUpdate:t})=>{var o,n;const r=(a,s)=>{t({config:{...e.config,[a]:s}})};return l.jsx(to,{title:"Matrix Configuration",icon:"📊",children:l.jsx(QD,{rows:((o=e.config)==null?void 0:o.matrixRows)||[],columns:((n=e.config)==null?void 0:n.matrixColumns)||[],onRowsChange:a=>r("matrixRows",a),onColumnsChange:a=>r("matrixColumns",a),showColumnType:e.type==="matrixTable"})})},tA=()=>l.jsxs("div",{className:p("flex flex-col items-center justify-center h-full text-center px-6 py-12"),children:[l.jsx("div",{className:p("w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4"),children:l.jsx(bS,{className:p("w-6 h-6 text-muted-foreground")})}),l.jsx("h3",{className:p("text-sm font-medium text-foreground mb-1"),children:"No element selected"}),l.jsx("p",{className:p("text-xs text-muted-foreground"),children:"Click on an element in the canvas to edit its properties"})]}),rA=({element:e,onUpdate:t,propertyConfig:r})=>{const o=(f,u)=>{t({properties:{...e.properties,[f]:u}})},n=r??{showLabel:!0,showPlaceholder:!0,showDescription:!0,showPrefix:!1,showSuffix:!1},a=n.showLabel!==!1,s=n.showPlaceholder===!0,i=n.showDescription!==!1,c=n.showPrefix===!0,d=n.showSuffix===!0;return!a&&!s&&!i&&!c&&!d?null:l.jsxs(to,{title:"Properties",icon:"📝",children:[a&&l.jsx(Be,{label:"Label",value:e.properties.label,onChange:f=>o("label",f),placeholder:"Enter label..."}),s&&l.jsx(Be,{label:"Placeholder",value:e.properties.placeholder,onChange:f=>o("placeholder",f),placeholder:"Enter placeholder..."}),i&&l.jsx(Be,{label:"Description",value:e.properties.description,onChange:f=>o("description",f),type:"textarea",placeholder:"Enter description...",rows:2}),(c||d)&&l.jsxs("div",{className:p("grid grid-cols-2 gap-2"),children:[c&&l.jsx(Be,{label:"Prefix",value:e.properties.prefix,onChange:f=>o("prefix",f),placeholder:"$"}),d&&l.jsx(Be,{label:"Suffix",value:e.properties.suffix,onChange:f=>o("suffix",f),placeholder:".00"})]})]})},oA=()=>{const e=_v(),t=R(g=>g.updateElement),r=R(g=>g.deleteElement),o=R(g=>g.duplicateElement),n=R(g=>g.schema.elements),a=D.useMemo(()=>new Set(n.map(g=>g.attributes.name).filter(Boolean)),[n]);if(!e)return l.jsx("div",{className:p("w-72 bg-card border-l border-border flex-col h-full hidden"),children:l.jsx(tA,{})});const s=g=>{t(e.id,g)},i=dt.get(e.type),c=!!(i!=null&&i.renderSettings),d=i==null?void 0:i.settingsSchema,f=c||!!d,u=i!=null&&i.icon&&typeof i.icon=="string"?i.icon:Pi[e.type],h=(i==null?void 0:i.label)??Ii[e.type],m=d==null?void 0:d.showSections;return l.jsxs("div",{className:p("w-72 bg-card border-l border-border flex flex-col h-full flex-shrink-0"),children:[l.jsxs("div",{className:p("p-4 border-b border-border"),children:[l.jsxs("div",{className:p("flex items-center gap-2 mb-1"),children:[l.jsx("span",{className:p("text-xl"),children:u}),l.jsx("h2",{className:p("text-lg font-semibold text-foreground"),children:h})]}),l.jsxs("div",{className:p("flex gap-2 mt-3"),children:[l.jsxs(Ze,{variant:"secondary",size:"sm",className:p("flex-1"),onClick:()=>o(e.id),children:[l.jsx(uS,{className:p("h-3 w-3 mr-1")}),"Duplicate"]}),l.jsxs(Ze,{variant:"destructive",size:"sm",className:p("flex-1"),onClick:()=>{window.confirm("Are you sure you want to delete this element?")&&r(e.id)},children:[l.jsx(Ti,{className:p("h-3 w-3 mr-1")}),"Delete"]})]})]}),l.jsxs(Ji,{className:p("flex-1"),children:[c&&i.renderSettings({element:e,onUpdate:s}),!c&&l.jsxs(l.Fragment,{children:[(m==null?void 0:m.properties)!==!1&&(f?l.jsx(rA,{element:e,onUpdate:s,propertyConfig:d==null?void 0:d.properties}):l.jsx(KD,{element:e,onUpdate:s})),(m==null?void 0:m.options)!==!1&&XS(e.type)&&l.jsx(RD,{element:e,onUpdate:s}),(m==null?void 0:m.matrix)!==!1&&ZS(e.type)&&l.jsx(eA,{element:e,onUpdate:s}),d&&l.jsx(YD,{element:e,schema:d,onUpdate:s}),(m==null?void 0:m.layout)!==!1&&l.jsx(XD,{element:e,onUpdate:s}),(m==null?void 0:m.validation)!==!1&&((i==null?void 0:i.supportsValidation)??JS(e.type))&&!Ol(e.type)&&l.jsx(JD,{element:e,onUpdate:s}),(m==null?void 0:m.attributes)!==!1&&((i==null?void 0:i.structure)==="field"||YS(e.type))&&!Ol(e.type)&&l.jsx(ZD,{element:e,onUpdate:s,existingNames:a}),(m==null?void 0:m.logic)!==!1&&!Ol(e.type)&&l.jsx(to,{title:"Conditional Logic",icon:"⚡",children:l.jsx(cD,{element:e,elements:n,onUpdate:s})})]})]})]})};var Wn=e=>e.type==="checkbox",sl=e=>e.type==="file",ro=e=>e instanceof Date,Et=e=>e==null;const cd=e=>typeof e=="object";var tt=e=>!Et(e)&&!Array.isArray(e)&&cd(e)&&!ro(e),nA=e=>tt(e)&&e.target?Wn(e.target)?e.target.checked:sl(e.target)?e.target.files:e.target.value:e,aA=(e,t)=>t.split(".").some((r,o,n)=>!isNaN(Number(r))&&e.has(n.slice(0,o).join("."))),fg=e=>{const t=e.constructor&&e.constructor.prototype;return tt(t)&&t.hasOwnProperty("isPrototypeOf")},ll=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function lt(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(ll&&(e instanceof Blob||t))return e;const r=Array.isArray(e);if(!r&&!(tt(e)&&fg(e)))return e;const o=r?[]:Object.create(Object.getPrototypeOf(e));for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=lt(e[n]));return o}const en={BLUR:"blur",FOCUS_OUT:"focusout",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ir={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},cr={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},hg="root",dd=["__proto__","constructor","prototype"],sA=/^\w*$/;var Hn=e=>sA.test(e),qe=e=>e===void 0;const lA=/[.[\]'"]/;var il=e=>e.split(lA).filter(Boolean),le=(e,t,r)=>{if(!t||!tt(e))return r;const o=Hn(t)?[t]:il(t);if(o.some(a=>dd.includes(a)))return r;const n=o.reduce((a,s)=>Et(a)?void 0:a[s],e);return qe(n)||n===e?qe(e[t])?r:e[t]:n},Er=e=>typeof e=="boolean",Rt=e=>typeof e=="function",Qe=(e,t,r)=>{let o=-1;const n=Hn(t)?[t]:il(t),a=n.length,s=a-1;for(;++o<a;){const i=n[o];let c=r;if(o!==s){const d=e[i];c=tt(d)||Array.isArray(d)?d:isNaN(+n[o+1])?{}:[]}if(dd.includes(i))return;e[i]=c,e=e[i]}};const mg=D.createContext(null);mg.displayName="HookFormControlContext";var iA=(e,t,r,o=!0)=>{const n={};for(const a in e)Object.defineProperty(n,a,{get:()=>{const s=a;return t._proxyFormState[s]!==ir.all&&(t._proxyFormState[s]=!o||ir.all),e[s]}});return n};const cA=ll?D.useLayoutEffect:D.useEffect;var kt=e=>typeof e=="string",dA=(e,t,r,o,n)=>kt(e)?(o&&t.watch.add(e),le(r,e,n)):Array.isArray(e)?e.map(a=>(o&&t.watch.add(a),le(r,a))):(o&&(t.watchAll=!0),r),ud=e=>Et(e)||!cd(e);const gg=(e,t)=>t.length===0&&!Array.isArray(e)&&!fg(e);function kr(e,t,r=new WeakMap){if(e===t)return!0;if(ud(e)||ud(t))return Object.is(e,t);if(ro(e)&&ro(t))return Object.is(e.getTime(),t.getTime());const o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;if(gg(e,o)||gg(t,n))return Object.is(e,t);if(!o.length&&Array.isArray(e)!==Array.isArray(t))return!1;const a=r.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{const s=new WeakSet;s.add(t),r.set(e,s)}for(const s of o){const i=e[s];if(!(s in t))return!1;if(s!=="ref"){const c=t[s];if(ro(i)&&ro(c)||(tt(i)||Array.isArray(i))&&(tt(c)||Array.isArray(c))?!kr(i,c,r):!Object.is(i,c))return!1}}return!0}var cl=e=>({isOnSubmit:!e||e===ir.onSubmit,isOnBlur:e===ir.onBlur,isOnChange:e===ir.onChange,isOnAll:e===ir.all,isOnTouch:e===ir.onTouched}),pd=(e,t,r)=>{if(r)return!1;if(t.watchAll||t.watch.has(e))return!0;for(const o of t.watch)if(e.startsWith(o)&&e.charAt(o.length)===".")return!0;return!1};const jn=(e,t,r,o)=>{for(const n of r||Object.keys(e)){const a=le(e,n);if(a){const{_f:s,...i}=a;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],n)&&!o)return!0;if(s.ref&&t(s.ref,s.name)&&!o)return!0;if(jn(i,t))break}else if(tt(i)&&jn(i,t))break}}};var bg=(e,t,r)=>{const o=le(e,r),n=Array.isArray(o)?o:[];return Qe(n,hg,t[r]),Qe(e,r,n),e},_t=e=>tt(e)&&!Object.keys(e).length,dl=e=>{if(!ll)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},fd=e=>e.type==="radio",ul=e=>e instanceof RegExp,uA=(e,t,r,o,n)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[o]:n||!0}}:{};const yg={value:!1,isValid:!1},vg={value:!0,isValid:!0};var xg=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!qe(e[0].attributes.value)?qe(e[0].value)||e[0].value===""?vg:{value:e[0].value,isValid:!0}:vg:yg}return yg};const wg={isValid:!1,value:null};var Cg=e=>Array.isArray(e)?e.reduce((t,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:t,wg):wg;function Sg(e,t,r="validate"){if(kt(e)||Array.isArray(e)&&e.every(kt)||Er(e)&&!e)return{type:r,message:kt(e)?e:"",ref:t}}var tn=e=>tt(e)&&!ul(e)?e:{value:e,message:""},Ng=async(e,t,r,o,n,a)=>{const{ref:s,refs:i,required:c,maxLength:d,minLength:f,min:u,max:h,pattern:m,validate:g,name:y,valueAsNumber:b,mount:C}=e._f,w=le(r,y);if(!C||t.has(y))return{};const x=i?i[0]:s,S=O=>{if(n&&x.reportValidity){const F=Er(O)?"":O||"";i?i.forEach(V=>V.setCustomValidity(F)):x.setCustomValidity(F),x.reportValidity()}},N={},E=fd(s),M=Wn(s),k=E||M,T=(b||sl(s))&&qe(s.value)&&qe(w)||dl(s)&&s.value===""||w===""||Array.isArray(w)&&!w.length,A=uA.bind(null,y,o,N),L=(O,F,V,re=cr.maxLength,K=cr.minLength)=>{const H=O?F:V;N[y]={type:O?re:K,message:H,ref:s,...A(O?re:K,H)}};if(a?!Array.isArray(w)||!w.length:c&&(!k&&(T||Et(w))||Er(w)&&!w||M&&!xg(i).isValid||E&&!Cg(i).isValid)){const{value:O,message:F}=kt(c)?{value:!!c,message:c}:tn(c);if(O&&(N[y]={type:cr.required,message:F,ref:x,...A(cr.required,F)},!o))return S(F),N}if(!T&&(!Et(u)||!Et(h))){let O,F;const V=tn(h),re=tn(u);if(!Et(w)&&!isNaN(w)){const K=s.valueAsNumber||w&&+w;Et(V.value)||(O=K>V.value),Et(re.value)||(F=K<re.value)}else{const K=s.valueAsDate||new Date(w),H=z=>new Date(new Date().toDateString()+" "+z),ee=s.type=="time",G=s.type=="week";kt(V.value)&&w&&(O=ee?H(w)>H(V.value):G?w>V.value:K>new Date(V.value)),kt(re.value)&&w&&(F=ee?H(w)<H(re.value):G?w<re.value:K<new Date(re.value))}if((O||F)&&(L(!!O,V.message,re.message,cr.max,cr.min),!o))return S(N[y].message),N}if((d||f)&&!T&&(kt(w)||a&&Array.isArray(w))){const O=tn(d),F=tn(f),V=!Et(O.value)&&w.length>+O.value,re=!Et(F.value)&&w.length<+F.value;if((V||re)&&(L(V,O.message,F.message),!o))return S(N[y].message),N}if(m&&!T&&kt(w)){const{value:O,message:F}=tn(m);if(ul(O)&&!w.match(O)&&(N[y]={type:cr.pattern,message:F,ref:s,...A(cr.pattern,F)},!o))return S(F),N}if(g){if(Rt(g)){const O=await g(w,r),F=Sg(O,x);if(F&&(N[y]={...F,...A(cr.validate,F.message)},!o))return S(F.message),N}else if(tt(g)){let O={};for(const F in g){if(!_t(O)&&!o)break;const V=Sg(await g[F](w,r),x,F);V&&(O={...V,...A(F,V.message)},S(V.message),o&&(N[y]=O))}if(!_t(O)&&(N[y]={ref:x,...O},!o))return N}}return S(!0),N},pl=e=>Array.isArray(e)?e:[e],Eg=e=>Array.isArray(e)?e.filter(Boolean):[];function pA(e,t){const r=t.slice(0,-1).length;let o=0;for(;o<r;){if(Et(e)){e=void 0;break}e=e[t[o]],o++}return e}function fA(e){for(const t in e)if(e.hasOwnProperty(t)&&!qe(e[t]))return!1;return!0}function it(e,t){if(kt(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;const r=Array.isArray(t)?t:Hn(t)?[t]:il(t);if(r.some(s=>dd.includes(String(s))))return e;const o=r.length===1?e:pA(e,r),n=r.length-1,a=r[n];return o&&delete o[a],n!==0&&(tt(o)&&_t(o)||Array.isArray(o)&&fA(o))&&it(e,r.slice(0,-1)),e}const kg=e=>{const t={};for(const r of Object.keys(e))if(cd(e[r])&&e[r]!==null&&!ro(e[r])){const o=kg(e[r]);for(const n of Object.keys(o))t[`${r}.${n}`]=o[n]}else t[r]=e[r];return t},hd=D.createContext(null);hd.displayName="HookFormContext";const md=()=>D.useContext(hd),_g=({children:e,watch:t,getValues:r,getFieldState:o,setError:n,clearErrors:a,setValue:s,setValues:i,trigger:c,formState:d,resetField:f,reset:u,resetDefaultValues:h,handleSubmit:m,unregister:g,control:y,register:b,setFocus:C,subscribe:w})=>{const x=D.useMemo(()=>({watch:t,getValues:r,getFieldState:o,setError:n,clearErrors:a,setValue:s,setValues:i,trigger:c,formState:d,resetField:f,reset:u,resetDefaultValues:h,handleSubmit:m,unregister:g,control:y,register:b,setFocus:C,subscribe:w}),[a,y,d,o,r,m,b,u,h,f,n,C,s,i,w,c,g,t]);return D.createElement(hd.Provider,{value:x},D.createElement(mg.Provider,{value:x.control},e))};var Dg=()=>{let e=[];return{get observers(){return e},next:n=>{for(const a of e)a.next&&a.next(n)},subscribe:n=>(e.push(n),{unsubscribe:()=>{e=e.filter(a=>a!==n)}}),unsubscribe:()=>{e=[]}}};function Ag(e,t){const r={};for(const o in e)if(e.hasOwnProperty(o)){const n=e[o],a=t[o];if(n&&tt(n)&&a){const s=Ag(n,a);tt(s)&&(r[o]=s)}else e[o]&&(r[o]=a)}return r}var Tg=e=>e.type==="select-multiple",hA=e=>fd(e)||Wn(e),gd=e=>dl(e)&&e.isConnected,mA=e=>{for(const t in e)if(Rt(e[t]))return!0;return!1};function Ig(e){return Array.isArray(e)||tt(e)&&!mA(e)}function Pg(e){return!!(e&&"_f"in e)}function Mg(e){return Array.isArray(e)?!e.some(t=>!qe(t)):!Object.keys(e).length}function bd(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function yd(e,t={},r){for(const o in e){const n=e[o],a=r&&r[o];Ig(n)&&(!Array.isArray(n)||!Pg(a))?(t[o]=Array.isArray(n)?[]:{},yd(n,t[o],a),Mg(t[o])&&bd(t,o)):qe(n)||(t[o]=!0)}return t}function Po(e,t,r,o){r||(r=yd(t,{},o));for(const n in e){const a=e[n],s=o&&o[n];Ig(a)&&(!Array.isArray(a)||!Pg(s))?(qe(t)||ud(r[n])?r[n]=yd(a,Array.isArray(a)?[]:{},s):Po(a,Et(t)?{}:t[n],r[n],s),Mg(r[n])&&bd(r,n)):kr(a,t[n])?bd(r,n):r[n]=!0}return r}var Og=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:o})=>qe(e)?e:t?e===""?NaN:e&&+e:r&&kt(e)?new Date(e):o?o(e):e;function Lg(e){const t=e.ref;return sl(t)?t.files:fd(t)?Cg(e.refs).value:Tg(t)?[...t.selectedOptions].map(({value:r})=>r):Wn(t)?xg(e.refs).value:Og(qe(t.value)?e.ref.value:t.value,e)}var gA=(e,t,r,o)=>{const n={};for(const a of e){const s=le(t,a);s&&Qe(n,a,s._f)}return{criteriaMode:r,names:[...e],fields:n,shouldUseNativeValidation:o}},Yn=e=>qe(e)?e:ul(e)?e.source:tt(e)?ul(e.value)?e.value.source:e.value:e;const Fg="AsyncFunction";var bA=e=>{if(!e||!e.validate)return!1;if(Rt(e.validate))return e.validate.constructor.name===Fg;if(tt(e.validate)){for(const t in e.validate)if(e.validate[t].constructor.name===Fg)return!0}return!1},yA=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function $g(e,t,r){const o=le(e,r);if(o||Hn(r))return{error:o,name:r};const n=r.split(".");for(;n.length;){const a=n.join("."),s=le(t,a),i=le(e,a);if(s&&!Array.isArray(s)&&r!==a)return{name:r};if(i&&i.type)return{name:a,error:i};if(i&&i.root&&i.root.type)return{name:`${a}.root`,error:i.root};n.pop()}return{name:r}}var vA=(e,t,r,o)=>{r(e);const{name:n,...a}=e,s=Object.keys(a);return!s.length||o&&s.length>=Object.keys(t).length||s.find(i=>t[i]===(!o||ir.all))},xA=(e,t,r)=>!e||!t||e===t||pl(e).some(o=>o&&(r?o===t||o.startsWith(t+"."):o.startsWith(t)||t.startsWith(o))),wA=(e,t,r,o,n)=>n.isOnAll?!1:!r&&n.isOnTouch?!(t||e):(r?o.isOnBlur:n.isOnBlur)?!e:(r?o.isOnChange:n.isOnChange)?e:!0,CA=(e,t)=>!Eg(le(e,t)).length&&it(e,t);const SA={mode:ir.onSubmit,reValidateMode:ir.onChange,shouldFocusError:!0},vd="form",NA=(e,t)=>{for(const r in e)r in t||delete e[r];Object.assign(e,t)},Gg={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function EA(e={}){let t={...SA,...e},r={...lt(Gg),isLoading:Rt(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},o={},n=tt(t.defaultValues)||tt(t.values)?lt(t.defaultValues||t.values)||{}:{},a=t.shouldUnregister?{}:lt(n),s={action:!1,mount:!1,watch:!1,keepIsValid:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set};const c={},d={};let f=0,u=cl(t.mode),h=cl(t.reValidateMode);const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},g={...m};let y={...g};const b={array:Dg(),state:Dg()};let C=0;const w=t.criteriaMode===ir.all,x=(_,I)=>P=>{clearTimeout(d[_]),d[_]=setTimeout(I,P)},S=async _=>{if(!s.keepIsValid&&!t.disabled&&(g.isValid||y.isValid||_)){const I=++C;let P;t.resolver?(P=_t((await V()).errors),I===C&&N()):P=await H({fields:o,onlyCheckValid:!0,eventType:en.VALID}),I===C&&P!==r.isValid&&b.state.next({isValid:P})}},N=(_,I)=>{!t.disabled&&(g.isValidating||g.validatingFields||y.isValidating||y.validatingFields)&&((_||Array.from(i.mount)).forEach(P=>{P&&(I?Qe(r.validatingFields,P,I):it(r.validatingFields,P))}),b.state.next({validatingFields:r.validatingFields,isValidating:!_t(r.validatingFields)}))},E=()=>{r.dirtyFields=Po(n,a,void 0,o)},M=(_,I=[],P,W,U=!0,J=!0)=>{if(W&&P&&!t.disabled){if(s.action=!0,J&&Array.isArray(le(o,_))){const B=P(le(o,_),W.argA,W.argB);U&&Qe(o,_,B)}if(J&&Array.isArray(le(r.errors,_))){const B=P(le(r.errors,_),W.argA,W.argB);U&&Qe(r.errors,_,B),CA(r.errors,_)}if((g.touchedFields||y.touchedFields)&&J&&Array.isArray(le(r.touchedFields,_))){const B=P(le(r.touchedFields,_),W.argA,W.argB);U&&Qe(r.touchedFields,_,B)}(g.dirtyFields||y.dirtyFields)&&E(),b.state.next({name:_,isDirty:G(_,I),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Qe(a,_,I)},k=(_,I)=>{Qe(r.errors,_,I),r.errors={...r.errors},b.state.next({errors:r.errors})},T=_=>{r.errors=_,b.state.next({errors:r.errors,isValid:!1})},A=_=>{const I=Hn(_)?[_]:il(_);let P=a,W=n;for(let U=0;U<I.length-1;U++){const J=I[U];if(P=Et(P)?P:P[J],W=Et(W)?W:W[J],P===null&&W!==null)return!0}return!1},L=(_,I,P,W)=>{const U=le(o,_);if(U){if(A(_))return;const J=qe(le(a,_)),B=le(a,_,qe(P)?le(n,_):P);qe(B)||W&&W.defaultChecked||I?Qe(a,_,I?B:Lg(U._f)):$(_,B),s.mount&&!s.action&&(S(),J&&r.isDirty&&(g.isDirty||y.isDirty)&&(G()||(r.isDirty=!1,b.state.next({...r}))),e.shouldUnregister&&J&&!qe(le(a,_))&&pd(_,i)&&(s.watch=!0))}},O=(_,I,P,W,U)=>{let J=!1,B=!1;const Q={name:_};if(!t.disabled||W===!0){if(!P||W){const ie=kr(le(n,_),I);(g.isDirty||y.isDirty)&&(B=r.isDirty,r.isDirty=Q.isDirty=!ie||G(),J=B!==Q.isDirty),B=!!le(r.dirtyFields,_),ie!==r.isDirty?NA(r.dirtyFields,Po(n,a,void 0,o)):ie?it(r.dirtyFields,_):Qe(r.dirtyFields,_,!0),Q.dirtyFields=r.dirtyFields,J=J||(g.dirtyFields||y.dirtyFields)&&B!==!ie}if(P){const ie=le(r.touchedFields,_);ie||(Qe(r.touchedFields,_,P),Q.touchedFields=r.touchedFields,J=J||(g.touchedFields||y.touchedFields)&&ie!==P)}J&&U&&b.state.next(Q)}return J?Q:{}},F=(_,I,P,W)=>{const U=le(r.errors,_),J=(g.isValid||y.isValid)&&Er(I)&&r.isValid!==I;if(t.delayError&&P?(c[_]=x(_,()=>k(_,P)),c[_](t.delayError)):(clearTimeout(d[_]),delete c[_],P?Qe(r.errors,_,P):it(r.errors,_),r.errors={...r.errors}),(P?!kr(U,P):U)||!_t(W)||J){const B={...W,...J&&Er(I)?{isValid:I}:{},errors:r.errors,name:_};r={...r,...B},b.state.next(B)}},V=async _=>(N(_,!0),await t.resolver(a,t.context,gA(_||i.mount,o,t.criteriaMode,t.shouldUseNativeValidation))),re=async _=>{const{errors:I}=await V(_);if(N(_),_){for(const P of _){const W=le(I,P);W?i.array.has(P)&&tt(W)&&!Object.keys(W).some(U=>!Number.isNaN(Number(U)))?bg(r.errors,{[P]:W},P):Qe(r.errors,P,W):it(r.errors,P)}r.errors={...r.errors}}else r.errors=I;return I},K=async({name:_,eventType:I})=>{if(e.validate){const P=await e.validate({formValues:a,formState:r,name:_,eventType:I});if(tt(P))for(const W in P){const U=P[W];U&&X(`${vd}.${W}`,{message:kt(U.message)?U.message:"",type:U.type||cr.validate})}else kt(P)||!P?X(vd,{message:P||"",type:cr.validate}):ue(vd);return P}return!0},H=async({fields:_,onlyCheckValid:I,name:P,eventType:W,context:U={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(U.runRootValidation=!0,!await K({name:P,eventType:W})&&(U.valid=!1,I)))return U.valid;for(const J in _){const B=_[J];if(B){const{_f:Q,...ie}=B;if(Q){const De=i.array.has(Q.name),Ve=B._f&&bA(B._f),Dt=g.validatingFields||g.isValidating||y.validatingFields||y.isValidating;Ve&&Dt&&N([Q.name],!0);const _e=await Ng(B,i.disabled,a,w,t.shouldUseNativeValidation&&!I,De);if(Ve&&Dt&&N([Q.name]),_e[Q.name]&&(U.valid=!1,I)||(!I&&(le(_e,Q.name)?De?bg(r.errors,_e,Q.name):Qe(r.errors,Q.name,_e[Q.name]):it(r.errors,Q.name)),e.shouldUseNativeValidation&&_e[Q.name]))break}!_t(ie)&&await H({context:U,onlyCheckValid:I,fields:ie,name:J,eventType:W})}}return U.valid},ee=()=>{for(const _ of i.unMount){const I=le(o,_);I&&(I._f.refs?I._f.refs.every(P=>!gd(P)):!gd(I._f.ref))&&je(_)}i.unMount=new Set},G=(_,I)=>(_&&I&&Qe(a,_,I),!kr(s.mount?a:n,n)),z=(_,I,P)=>dA(_,i,{...s.mount?a:qe(I)?n:kt(_)?{[_]:I}:I},P,I),Ce=_=>Eg(le(s.mount?a:n,_,t.shouldUnregister?le(n,_,[]):[])),$=(_,I,P={},W=!1,U=!1)=>{const J=le(o,_);let B=I;if(J){const Q=J._f;Q&&(!Q.disabled&&Qe(a,_,Og(I,Q)),B=dl(Q.ref)&&Et(I)?"":I,Tg(Q.ref)?[...Q.ref.options].forEach(ie=>ie.selected=B.includes(ie.value)):Q.refs?Wn(Q.ref)?Q.refs.forEach(ie=>{(!ie.defaultChecked||!ie.disabled)&&(Array.isArray(B)?ie.checked=!!B.find(De=>De===ie.value):ie.checked=B===ie.value||!!B)}):Q.refs.forEach(ie=>ie.checked=ie.value===B):sl(Q.ref)?Q.ref.value="":(Q.ref.value=B,!Q.ref.type&&!U&&b.state.next({name:_,values:W?a:lt(a)})))}(P.shouldDirty||P.shouldTouch)&&O(_,B,P.shouldTouch,P.shouldDirty,!U),P.shouldValidate&&te(_,{delayError:P.delayError})},q=(_,I,P,W=!1,U=!1)=>{for(const J in I){if(!I.hasOwnProperty(J))return;const B=I[J],Q=_+"."+J,ie=le(o,Q);(i.array.has(_)||tt(B)||ie&&!ie._f)&&!ro(B)?q(Q,B,P,W,U):$(Q,B,P,W,U)}},xe=(_,I,P,W,U=!1)=>{const J=le(o,_),B=i.array.has(_),Q=W?I:lt(I),ie=le(a,_),De=kr(ie,Q);if(De||Qe(a,_,Q),B)b.array.next({name:_,values:W?a:lt(a)}),(g.isDirty||g.dirtyFields||y.isDirty||y.dirtyFields)&&P.shouldDirty&&(E(),U||b.state.next({name:_,dirtyFields:r.dirtyFields,isDirty:G(_,Q)}));else{const Ve=Array.isArray(Q)&&!Q.length||_t(Q);!J||J._f||Et(Q)||Ve?$(_,Q,P,W,U):q(_,Q,P,W,U)}if(!De&&!U){const Ve=pd(_,i),Dt=W?a:lt(a);b.state.next({...Ve&&r,name:s.mount||Ve?_:void 0,values:Dt})}},oe=(_,I,P={})=>xe(_,I,P,!1),he=(_,I={})=>{const P=Rt(_)?_(a):_;if(!kr(a,P)){a={...a,...P};const W=kg(P);for(const U of i.mount)U in W&&xe(U,W[U],I,!0,!0);b.state.next({...r,name:void 0,type:void 0,...f?{values:a}:{}}),I.shouldValidate&&S()}},Y=async _=>{s.mount=!0;const I=_.target;let P=I.name,W=!0;const U=le(o,P),J=B=>{W=Number.isNaN(B)||ro(B)&&isNaN(B.getTime())||kr(B,le(a,P,B))};if(U){let B,Q;const ie=I.type?Lg(U._f):nA(_),De=_.type===en.BLUR||_.type===en.FOCUS_OUT,Ve=!yA(U._f)&&!e.validate&&!t.resolver&&!le(r.errors,P)&&!U._f.deps,Dt=Ve||wA(De,le(r.touchedFields,P),r.isSubmitted,h,u),_e=pd(P,i,De);if(Qe(a,P,ie),De){if(!I||!I.readOnly){U._f.onBlur&&U._f.onBlur(_);const dr=c[P];dr&&dr(0)}}else U._f.onChange&&U._f.onChange(_);const Ke=O(P,ie,De),ot=!_t(Ke)||_e;if(!De&&b.state.next({name:P,type:_.type,...f?{values:lt(a)}:{}}),Dt)return(!Ve||!r.isValid)&&(g.isValid||y.isValid)&&(t.mode==="onBlur"?De&&S():De||S()),ot&&b.state.next({name:P,..._e?{}:Ke});if(!t.resolver&&e.validate&&await K({name:P,eventType:_.type}),!De&&_e&&b.state.next({...r}),t.resolver){const{errors:dr}=await V([P]);if(N([P]),J(ie),!W){!_t(Ke)&&b.state.next(Ke);return}const rn=$g(r.errors,o,P),er=$g(dr,o,rn.name||P);B=er.error,P=er.name,Q=_t(dr)}else N([P],!0),B=(await Ng(U,i.disabled,a,w,t.shouldUseNativeValidation))[P],N([P]),J(ie),W&&(B?Q=!1:(g.isValid||y.isValid)&&(Q=await H({fields:o,onlyCheckValid:!0,name:P,eventType:_.type})));W&&(U._f.deps&&(!Array.isArray(U._f.deps)||U._f.deps.length>0)&&te(U._f.deps),F(P,Q,B,Ke))}},ce=(_,I)=>{if(le(r.errors,I)&&_.focus)return _.focus(),1},te=async(_,I={})=>{let P,W;const U=pl(_);if(t.resolver){const J=await re(qe(_)?_:U);P=_t(J),W=_?!U.some(B=>le(J,B)):P}else _?(W=(await Promise.all(U.map(async J=>{const B=le(o,J);return await H({fields:B&&B._f?{[J]:B}:B,eventType:en.TRIGGER})}))).every(Boolean),!(!W&&!r.isValid)&&S()):W=P=await H({fields:o,name:_,eventType:en.TRIGGER});if(I.delayError&&t.delayError&&kt(_)){const J=le(r.errors,_);J?(it(r.errors,_),c[_]=x(_,()=>k(_,J)),c[_](t.delayError)):(clearTimeout(d[_]),delete c[_])}return b.state.next({...!kt(_)||(g.isValid||y.isValid)&&P!==r.isValid?{}:{name:_},...t.resolver||!_?{isValid:P}:{},errors:r.errors}),I.shouldFocus&&!W&&jn(o,ce,_?U:i.mount),W},Ne=(_,I)=>{let P={...s.mount?a:n};return I&&(P=Ag(I.dirtyFields?r.dirtyFields:r.touchedFields,P)),qe(_)?P:kt(_)?le(P,_):_.map(W=>le(P,W))},be=(_,I)=>({invalid:!!le((I||r).errors,_),isDirty:!!le((I||r).dirtyFields,_),error:le((I||r).errors,_),isValidating:!!le(r.validatingFields,_),isTouched:!!le((I||r).touchedFields,_)}),ue=_=>{const I=_?pl(_):void 0;I==null||I.forEach(P=>it(r.errors,P)),I?I.forEach(P=>{b.state.next({name:P,errors:r.errors})}):(r.errors={},b.state.next({errors:r.errors}))},X=(_,I,P)=>{const W=(le(o,_,{_f:{}})._f||{}).ref,U=le(r.errors,_)||{},{ref:J,message:B,type:Q,...ie}=U;Qe(r.errors,_,{...ie,...I,ref:W}),b.state.next({name:_,errors:r.errors,isValid:!1}),P&&P.shouldFocus&&W&&W.focus&&W.focus()},ne=(_,I)=>{if(Rt(_)){f++;const{unsubscribe:P}=b.state.subscribe({next:U=>"values"in U&&_(U.values||z(void 0,I),U)});let W=!1;return{unsubscribe:()=>{W||(W=!0,f--,P())}}}return z(_,I,!0)},pe=_=>{var I;const P=!!(!((I=_.formState)===null||I===void 0)&&I.values);P&&f++;const{unsubscribe:W}=b.state.subscribe({next:J=>{if(xA(_.name,J.name,_.exact)&&vA(J,_.formState||g,ct,_.reRenderRoot)){const B={...a};_.callback({values:B,...r,...J,defaultValues:n})}}});if(!P)return W;let U=!1;return()=>{U||(U=!0,f--,W())}},Se=_=>(s.mount=!0,y={...y,..._.formState},pe({..._,formState:{...m,..._.formState}})),je=(_,I={})=>{for(const P of _?pl(_):i.mount)i.mount.delete(P),i.array.delete(P),I.keepValue||(it(o,P),it(a,P)),!I.keepError&&it(r.errors,P),!I.keepDirty&&it(r.dirtyFields,P),!I.keepTouched&&it(r.touchedFields,P),!I.keepIsValidating&&it(r.validatingFields,P),!t.shouldUnregister&&!I.keepDefaultValue&&it(n,P);b.state.next({values:lt(a)}),b.state.next({...r,...I.keepDirty?{isDirty:G()}:{}}),!I.keepIsValid&&S()},Je=({disabled:_,name:I})=>{if(Er(_)&&s.mount||_||i.disabled.has(I)){const U=i.disabled.has(I)!==!!_;_?i.disabled.add(I):i.disabled.delete(I),U&&s.mount&&!s.action&&S()}},Re=(_,I={})=>{let P=le(o,_);const W=Er(I.disabled)||Er(t.disabled),U=!i.registerName.has(_)&&P&&P._f&&!P._f.mount;return Qe(o,_,{...P||{},_f:{...P&&P._f?P._f:{ref:{name:_}},name:_,mount:!0,...I}}),i.mount.add(_),P&&!U?Je({disabled:Er(I.disabled)?I.disabled:t.disabled,name:_}):L(_,!0,I.value),{...W?{disabled:I.disabled||t.disabled}:{},...t.progressive?{required:!!I.required,min:Yn(I.min),max:Yn(I.max),minLength:Yn(I.minLength),maxLength:Yn(I.maxLength),pattern:Yn(I.pattern)}:{},name:_,onChange:Y,onBlur:Y,ref:J=>{if(J){i.registerName.add(_),Re(_,I),i.registerName.delete(_),P=le(o,_);const B=qe(J.value)&&J.querySelectorAll&&J.querySelectorAll("input,select,textarea")[0]||J,Q=hA(B),ie=P._f.refs||[];if(Q?ie.find(Ve=>Ve===B):B===P._f.ref)return;const De={...P._f};Q?(De.refs=[...ie.filter(gd),B,...Array.isArray(le(n,_))?[{}]:[]],De.ref={type:B.type,name:_}):(De.ref=B,delete De.refs),Qe(o,_,{_f:De}),L(_,!1,void 0,B)}else P=le(o,_,{}),P._f&&(P._f.mount=!1),(t.shouldUnregister||I.shouldUnregister)&&!(aA(i.array,_)&&s.action)&&i.unMount.add(_)}}},Ye=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&jn(o,ce,i.mount),ye=_=>{Er(_)&&(b.state.next({disabled:_}),jn(o,(I,P)=>{const W=le(o,P);W&&(I.disabled=W._f.disabled||_,Array.isArray(W._f.refs)&&W._f.refs.forEach(U=>{U.disabled=W._f.disabled||_}))},0,!1))},rt=(_,I)=>async P=>{let W;P&&(P.preventDefault&&P.preventDefault(),P.persist&&P.persist());let U=lt(a);if(b.state.next({isSubmitting:!0}),t.resolver){const{errors:J,values:B}=await V();N(),r.errors=J,U=lt(B)}else await H({fields:o,eventType:en.SUBMIT});if(i.disabled.size)for(const J of i.disabled)it(U,J);if(it(r.errors,hg),_t(r.errors)){b.state.next({errors:{}});try{await _(U,P)}catch(J){W=J}}else I&&await I({...r.errors},P),Ye(),setTimeout(Ye);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:_t(r.errors)&&!W,submitCount:r.submitCount+1,errors:r.errors}),W)throw W},Le=(_,I={})=>{le(o,_)&&(qe(I.defaultValue)?oe(_,lt(le(n,_))):(oe(_,I.defaultValue),Qe(n,_,lt(I.defaultValue))),I.keepTouched||it(r.touchedFields,_),I.keepDirty||(it(r.dirtyFields,_),r.isDirty=I.defaultValue?G(_,lt(le(n,_))):G()),I.keepError||(it(r.errors,_),g.isValid&&S()),b.state.next({...r}))},Ge=(_,I={})=>{const P=_?lt(_):n,W=lt(P),U=_t(_),J=W,B=o;if(I.keepDefaultValues||(n=P),!I.keepValues){if(I.keepDirtyValues){const Q=new Set([...i.mount,...Object.keys(Po(n,a,void 0,B))]);for(const ie of Array.from(Q)){const De=le(r.dirtyFields,ie),Ve=le(a,ie),Dt=le(J,ie);De&&!qe(Ve)?Qe(J,ie,Ve):!De&&!qe(Dt)&&oe(ie,Dt)}}else{if(ll&&qe(_))for(const Q of i.mount){const ie=le(o,Q);if(ie&&ie._f){const De=Array.isArray(ie._f.refs)?ie._f.refs[0]:ie._f.ref;if(dl(De)){const Ve=De.closest("form");if(Ve){Ve.reset();break}}}}if(I.keepFieldsRef)for(const Q of i.mount)oe(Q,le(J,Q));else o={}}if(t.shouldUnregister){if(a=I.keepDefaultValues?lt(n):{},I.keepFieldsRef)for(const Q of i.mount)Qe(a,Q,le(J,Q))}else a=lt(J);b.array.next({values:{...J}}),b.state.next({name:void 0,type:void 0,values:{...J}})}i={mount:I.keepDirtyValues?i.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!g.isValid||!!I.keepIsValid||!!I.keepDirtyValues||!t.shouldUnregister&&!_t(J),s.watch=!!t.shouldUnregister,s.keepIsValid=!!I.keepIsValid,s.action=!1,I.keepErrors||(r.errors={}),b.state.next({submitCount:I.keepSubmitCount?r.submitCount:0,isDirty:U?!1:I.keepDirty?r.isDirty:I.keepValues?G():!!(I.keepDefaultValues&&!kr(_,n)),isSubmitted:I.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:U?{}:I.keepDirtyValues?I.keepDefaultValues&&a?Po(n,a,void 0,B):r.dirtyFields:I.keepDefaultValues&&_?Po(n,_,void 0,B):I.keepDirty?r.dirtyFields:{},touchedFields:I.keepTouched?r.touchedFields:{},errors:I.keepErrors?r.errors:{},isSubmitSuccessful:I.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:n})},Ue=(_,I)=>Ge(Rt(_)?_(a):_,{...t.resetOptions,...I}),Ee=(_,I={})=>{const P=le(o,_),W=P&&P._f;if(W){const U=W.refs?W.refs[0]:W.ref;U.focus&&setTimeout(()=>{U.focus(),I.shouldSelect&&Rt(U.select)&&U.select()})}},ct=_=>{const{name:I,type:P,values:W,...U}=_;r={...r,...U}},Yt={control:{register:Re,unregister:je,getFieldState:be,handleSubmit:rt,setError:X,_subscribe:pe,_runSchema:V,_updateIsValidating:N,_focusError:Ye,_getWatch:z,_getDirty:G,_setValid:S,_setFieldArray:M,_setDisabledField:Je,_setErrors:T,_getFieldArray:Ce,_reset:Ge,_resetDefaultValues:()=>Rt(t.defaultValues)&&t.defaultValues().then(_=>{Ue(_,t.resetOptions),b.state.next({isLoading:!1})}),_removeUnmounted:ee,_disableForm:ye,_subjects:b,_proxyFormState:g,get _fields(){return o},get _formValues(){return a},get _state(){return s},set _state(_){s=_},get _defaultValues(){return n},get _names(){return i},set _names(_){i=_},get _formState(){return r},get _options(){return t},set _options(_){t={...t,..._},u=cl(t.mode),h=cl(t.reValidateMode)}},subscribe:Se,trigger:te,register:Re,handleSubmit:rt,watch:ne,setValue:oe,setValues:he,getValues:Ne,reset:Ue,resetField:Le,resetDefaultValues:(_,I={})=>{if(n=lt(_),!I.keepDirty){const P=Po(n,a,void 0,o);r.dirtyFields=P,r.isDirty=!_t(P)}I.keepIsValid||S(),b.state.next({...r,defaultValues:n})},clearErrors:ue,unregister:je,setError:X,setFocus:Ee,getFieldState:be};return{...Yt,formControl:Yt}}function Vg(e={}){const t=D.useRef(void 0),r=D.useRef(void 0),o=D.useRef(e.formControl),[n,a]=D.useState(()=>({...lt(Gg),isLoading:Rt(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Rt(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&o.current!==e.formControl)if(o.current=e.formControl,e.formControl)t.current={...e.formControl,formState:n},e.defaultValues&&!Rt(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:i,...c}=EA(e);t.current={...c,formState:n}}const s=t.current.control;return s._options=e,cA(()=>{const i=s._subscribe({formState:s._proxyFormState,callback:()=>a({...s._formState,defaultValues:s._defaultValues}),reRenderRoot:!0});return a(c=>({...c,isReady:!0})),s._formState.isReady=!0,i},[s]),D.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),D.useEffect(()=>{e.mode&&(s._options.mode=e.mode),e.reValidateMode&&(s._options.reValidateMode=e.reValidateMode)},[s,e.mode,e.reValidateMode]),D.useEffect(()=>{e.errors&&(s._setErrors(e.errors),s._focusError())},[s,e.errors]),D.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),D.useEffect(()=>{if(s._proxyFormState.isDirty){const i=s._getDirty();i!==n.isDirty&&s._subjects.state.next({isDirty:i})}},[s,n.isDirty]),D.useEffect(()=>{var i;e.values&&!kr(e.values,r.current)?(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),!((i=s._options.resetOptions)===null||i===void 0)&&i.keepIsValid||s._setValid(),r.current=e.values,a(c=>({...c}))):s._resetDefaultValues()},[s,e.values]),D.useEffect(()=>{s._state.mount||(s._setValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),t.current.formState=D.useMemo(()=>iA(n,s),[s,n]),t.current}function zg(e){return["divider","paragraph","heading","link","image"].includes(e.type)?"layout":["submit","button"].includes(e.type)?"action":["pages","group","repeatGroup"].includes(e.type)?"container":"field"}function Bg(e,t){var a,s;const r=[],o=new Map,n=new Map;for(const i of t){const c=((a=i.attributes)==null?void 0:a.name)||i.id;o.set(c,i),n.set(i.id,i)}for(const[i,c]of Object.entries(e)){const d=o.get(i);if(d){if(d.parentId){const u=n.get(d.parentId);if(u&&(u.type==="repeatGroup"||u.type==="repeatElement")&&e[((s=u.attributes)==null?void 0:s.name)||u.id]!==void 0)continue}const f=zg(d);if(f==="layout"||f==="action")continue;r.push({id:i,value:c,type:d.type,category:f})}else r.push({id:i,value:c,type:"unknown",category:"field"})}return r}function xd(e,t,r="keyValue"){return r==="array"?Bg(e,t):e}function kA(e,t){var a,s;const r={},o=new Map,n=new Map;for(const i of t){const c=((a=i.attributes)==null?void 0:a.name)||i.id;o.set(c,i),n.set(i.id,i)}for(const[i,c]of Object.entries(e)){const d=o.get(i);if(d){if(d.parentId){const u=n.get(d.parentId);if(u&&(u.type==="repeatGroup"||u.type==="repeatElement")&&e[((s=u.attributes)==null?void 0:s.name)||u.id]!==void 0)continue}const f=zg(d);(f==="field"||f==="container")&&(r[i]=c)}else r[i]=c}return r}const _A=({currentPage:e,totalPages:t,pages:r,showStepNumbers:o,onPageClick:n})=>{const a=(e+1)/t*100;return l.jsxs("div",{className:p("mb-8"),children:[l.jsx("div",{className:p("h-2 bg-gray-200 rounded-full overflow-hidden"),children:l.jsx("div",{className:p("h-full bg-blue-600 transition-all duration-300 ease-out"),style:{width:`${a}%`}})}),o&&l.jsx("div",{className:p("flex justify-between mt-4"),children:r.map((s,i)=>{const c=i<e,d=i===e;return l.jsxs("button",{type:"button",onClick:()=>n==null?void 0:n(i),disabled:i>e,className:p(`flex flex-col items-center ${n&&i<=e?"cursor-pointer":"cursor-default"}`),children:[l.jsx("div",{className:p(`w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium transition-colors ${c?"bg-blue-600 text-white":d?"bg-blue-600 text-white ring-4 ring-blue-100":"bg-gray-200 text-gray-500"}`),children:c?l.jsx("svg",{className:p("w-4 h-4"),fill:"currentColor",viewBox:"0 0 20 20",children:l.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}):i+1}),l.jsx("span",{className:p(`mt-2 text-xs font-medium ${d?"text-blue-600":"text-gray-500"}`),children:s.title})]},s.id)})})]})},DA=({page:e,pageIndex:t,totalPages:r})=>l.jsxs("div",{className:p("mb-6"),children:[l.jsxs("div",{className:p("flex items-center justify-between mb-2"),children:[l.jsx("h2",{className:p("text-xl font-semibold text-gray-900"),children:e.title}),l.jsxs("span",{className:p("text-sm text-gray-500"),children:["Step ",t+1," of ",r]})]}),e.description&&l.jsx("p",{className:p("text-gray-600"),children:e.description})]}),AA=({currentPage:e,totalPages:t,allowSkip:r,isSubmitting:o,onPrevious:n,onNext:a,onSkip:s})=>{const i=e===0,c=e===t-1;return l.jsxs("div",{className:p("flex items-center justify-between mt-8 pt-6 border-t border-gray-200"),children:[l.jsx("div",{children:!i&&l.jsx("button",{type:"button",onClick:n,className:p("px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-blue-500"),children:"← Previous"})}),l.jsxs("div",{className:p("flex gap-3"),children:[r&&!c&&l.jsx("button",{type:"button",onClick:s,className:p("px-4 py-2 text-sm font-medium text-gray-500 hover:text-gray-700"),children:"Skip"}),c?l.jsx("button",{type:"submit",disabled:o,className:p("px-6 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed"),children:o?"Submitting...":"Submit"}):l.jsx("button",{type:"button",onClick:a,className:p("px-6 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500"),children:"Next →"})]})]})},Ug=({element:e,elements:t})=>{const{setValue:r,watch:o,register:n,unregister:a}=md(),s=o(),{visible:i,required:c,disabled:d}=D.useMemo(()=>Rm(e,s,t),[e,s,t]),f=e.attributes.name;if(D.useEffect(()=>{var N,E,M,k,T,A;if(f){if(!i){a(f,{keepValue:!0});return}return n(f,{required:c?((N=e.validation)==null?void 0:N.errorMessage)||"This field is required":void 0,minLength:(E=e.validation)==null?void 0:E.minLength,maxLength:(M=e.validation)==null?void 0:M.maxLength,min:(k=e.validation)==null?void 0:k.min,max:(T=e.validation)==null?void 0:T.max,pattern:IA((A=e.validation)==null?void 0:A.pattern),disabled:d||e.properties.disabled||void 0}),()=>a(f,{keepValue:!0})}},[f,i,c,d,e.validation,e.properties.disabled,n,a]),!i)return null;const u=o(f),h=d||e.properties.disabled||!1,m={small:"max-w-xs",medium:"max-w-md",large:"max-w-lg",full:"w-full",default:"max-w-md"},g=m[e.layout.size||"default"]||m.default,y=dt.get(e.type),b=(N,E)=>{const M=t.filter(k=>k.parentId===N).sort((k,T)=>k.order-T.order);return l.jsx("div",{className:p("space-y-4"),children:M.map(k=>l.jsx(Ug,{element:{...k,attributes:{...k.attributes,name:E?`${E}.${k.attributes.name}`:k.attributes.name}},elements:t},k.id))})},C={element:e,properties:e.properties,layout:e.layout,validation:{...e.validation,required:c},logic:e.logic,config:e.config,mode:"render",value:u,onChange:N=>r(f,N),errors:[],formValues:s,readOnly:!1,disabled:h,allElements:t,renderChildren:b},w=()=>y!=null&&y.render?y.render(C):l.jsxs("div",{className:p("p-3 bg-yellow-50 border border-yellow-200 rounded-md text-sm text-yellow-700"),children:[l.jsxs("p",{className:p("font-medium"),children:["Unknown element type: ",e.type]}),l.jsxs("p",{className:p("text-xs mt-1"),children:["This element is not registered in the element registry. Please register it using ",l.jsx("code",{children:"registerElement()"}),"."]})]});return(y==null?void 0:y.structure)==="page"&&["heading","layout","special"].includes(y.subCategory||"")||["paragraph","image","link","formHeading","sectionHeading","subheading","divider","spacer","captcha","submit"].includes(e.type)?l.jsx("div",{className:p(g,"mb-4"),children:w()}):l.jsx("div",{className:p(g,"mb-4"),children:w()})};function TA(e){var o,n,a;if(e.attributes.defaultValue!==void 0)return e.attributes.defaultValue;const t=dt.get(e.type);switch(t==null?void 0:t.dataType){case"array":return[];case"boolean":return!1;case"number":return((o=e.config)==null?void 0:o.min)??0;case"object":return e.type==="rangeSlider"?[((n=e.config)==null?void 0:n.min)??0,((a=e.config)==null?void 0:a.max)??100]:e.type==="dateRange"?{start:"",end:""}:{};default:return""}}function IA(e){if(e)try{return new RegExp(e)}catch{return}}function PA(e){const t={};return e.forEach(r=>{var o;(o=r.attributes)!=null&&o.name&&(t[r.attributes.name]=TA(r))}),t}function MA(e,t){const r=[],o=n=>{var a;for(const s of n)(a=s.attributes)!=null&&a.name&&r.push(s.attributes.name),o(t.filter(i=>i.parentId===s.id))};return o(e),r}const wd=({schema:e,onSubmit:t,initialValues:r,onPageChange:o,submissionFormat:n="keyValue"})=>{const[a,s]=D.useState(0),[i,c]=D.useState(!1),[d,f]=D.useState(null),u=D.useMemo(()=>e.elements.find(A=>A.type==="pages"),[e.elements]),h=D.useMemo(()=>{var A,L,O,F,V;return{showProgressBar:((A=u==null?void 0:u.config)==null?void 0:A.showProgressBar)??!0,showStepNumbers:((L=u==null?void 0:u.config)==null?void 0:L.showStepNumbers)??!0,allowSkip:((O=u==null?void 0:u.config)==null?void 0:O.allowSkip)??!1,validateOnNext:((F=u==null?void 0:u.config)==null?void 0:F.validateOnNext)??!0,steps:((V=u==null?void 0:u.config)==null?void 0:V.steps)||[{id:"step1",label:"Step 1"}]}},[u]),m=D.useMemo(()=>u?h.steps.map(L=>{const O=e.elements.filter(F=>{var V;return F.parentId===`${u.id}:${L.id}`||F.parentId===u.id&&((V=F.config)==null?void 0:V.wizardStepId)===L.id});return{id:L.id,title:L.label,description:L.description,elements:O.sort((F,V)=>F.order-V.order)}}):[],[u,h.steps,e.elements]),g=D.useMemo(()=>e.elements.filter(A=>A.type!=="pages"),[e.elements]),y=D.useMemo(()=>r||PA(g),[r,g]),b=Vg({defaultValues:y,mode:"onChange"}),{handleSubmit:C,trigger:w}=b,x=D.useCallback(A=>{A>=0&&A<m.length&&(s(A),o==null||o(A))},[m.length,o]),S=D.useCallback(()=>{x(a-1)},[a,x]),N=D.useCallback(async()=>{if(h.validateOnNext){const A=MA(m[a].elements,e.elements);if(!await w(A))return}x(a+1)},[a,h.validateOnNext,m,e.elements,w,x]),E=D.useCallback(()=>{x(a+1)},[a,x]),M=D.useCallback(async A=>{c(!0);try{const L=xd(A,e.elements,n);console.log("Wizard form submitted:",L),f(L),await(t==null?void 0:t(L))}catch(L){console.error("Form submission error:",L)}finally{c(!1)}},[t,e.elements,n]),k=D.useCallback(A=>{if(a<m.length-1){A.preventDefault(),N();return}C(M)(A)},[a,m.length,N,C,M]),T=m[a];return T?l.jsxs("div",{className:p("max-w-3xl mx-auto"),children:[l.jsx(_g,{...b,children:l.jsxs("form",{onSubmit:k,className:p("space-y-1"),children:[h.showProgressBar&&l.jsx(_A,{currentPage:a,totalPages:m.length,pages:m,showStepNumbers:h.showStepNumbers,onPageClick:h.allowSkip?x:void 0}),l.jsx(DA,{page:T,pageIndex:a,totalPages:m.length}),l.jsx("div",{className:p("space-y-4"),children:T.elements.map(A=>l.jsx(Ug,{element:A,elements:e.elements},A.id))}),l.jsx(AA,{currentPage:a,totalPages:m.length,allowSkip:h.allowSkip,isSubmitting:i,onPrevious:S,onNext:N,onSkip:E})]})}),d&&l.jsxs("div",{className:p("mt-8 p-4 bg-green-50 border border-green-200 rounded-lg"),children:[l.jsx("h3",{className:p("text-lg font-medium text-green-800 mb-2"),children:"Form Submitted Successfully!"}),l.jsx("pre",{className:p("text-sm text-green-700 overflow-x-auto"),children:JSON.stringify(d,null,2)})]})]}):l.jsxs("div",{className:p("p-8 text-center text-gray-500"),children:[l.jsx("p",{children:"No wizard steps configured."}),l.jsx("p",{className:p("text-sm mt-2"),children:"Add steps to the wizard element to create a multi-page form."})]})};function OA(e){var o,n,a;if(e.attributes.defaultValue!==void 0)return e.attributes.defaultValue;const t=dt.get(e.type);switch(t==null?void 0:t.dataType){case"array":return[];case"boolean":return!1;case"number":return((o=e.config)==null?void 0:o.min)??0;case"object":return e.type==="rangeSlider"?[((n=e.config)==null?void 0:n.min)??0,((a=e.config)==null?void 0:a.max)??100]:e.type==="dateRange"?{start:"",end:""}:{};default:return""}}function LA(e){const t={};return e.forEach(r=>{var o;(o=r.attributes)!=null&&o.name&&(t[r.attributes.name]=OA(r))}),t}const Wg=({element:e,elements:t})=>{const{watch:r}=md(),o=r(),{visible:n,required:a,disabled:s}=D.useMemo(()=>Rm(e,o,t),[e,o,t]);return n?l.jsx(FA,{element:e,elements:t,dynamicRequired:a,dynamicDisabled:s}):null},FA=({element:e,elements:t,dynamicRequired:r,dynamicDisabled:o})=>{const{setValue:n,watch:a}=md(),s=e.attributes.name,i=a(s),c=o||e.properties.disabled||!1,d=r,f={small:"max-w-xs",medium:"max-w-md",large:"max-w-lg",full:"w-full",default:"max-w-md"},u=f[e.layout.size||"default"]||f.default,h=dt.get(e.type),m=(w,x)=>{const S=t.filter(N=>N.parentId===w).sort((N,E)=>N.order-E.order);return l.jsx("div",{className:p("space-y-4"),children:S.map(N=>l.jsx(Wg,{element:{...N,attributes:{...N.attributes,name:x?`${x}.${N.attributes.name}`:N.attributes.name}},elements:t},N.id))})},g={element:e,properties:e.properties,layout:e.layout,validation:{...e.validation,required:d},logic:e.logic,config:e.config,mode:"render",value:i,onChange:w=>n(s,w),errors:[],formValues:a(),readOnly:!1,disabled:c,allElements:t,renderChildren:m},y=()=>h!=null&&h.render?h.render(g):l.jsxs("div",{className:p("p-3 bg-yellow-50 border border-yellow-200 rounded-md text-sm text-yellow-700"),children:[l.jsxs("p",{className:p("font-medium"),children:["Unknown element type: ",e.type]}),l.jsxs("p",{className:p("text-xs mt-1"),children:["This element is not registered in the element registry. Please register it using ",l.jsx("code",{children:"registerElement()"}),"."]})]});return(h==null?void 0:h.structure)==="page"&&["heading","layout","special"].includes(h.subCategory||"")||["paragraph","image","link","formHeading","sectionHeading","subheading","divider","spacer","captcha","submit"].includes(e.type)?l.jsx("div",{className:p(u,"mb-4"),children:y()}):l.jsx("div",{className:p(u,"mb-4"),children:y()})},Hg=({schema:e,onSubmit:t,initialValues:r,submissionFormat:o="keyValue"})=>{const[n,a]=D.useState(null);if(D.useMemo(()=>e.elements.some(h=>h.type==="pages"),[e.elements]))return l.jsx(wd,{schema:e,onSubmit:t,initialValues:r,submissionFormat:o});const i=D.useMemo(()=>e.elements.filter(h=>!h.parentId),[e.elements]),c=D.useMemo(()=>r||LA(i),[r,i]),d=Vg({defaultValues:c,mode:"onChange"}),f=D.useCallback(h=>{const m=xd(h,e.elements,o);console.log("Form submitted:",m),a(m),t==null||t(m)},[t,e.elements,o]),u=D.useMemo(()=>[...i].sort((h,m)=>h.order-m.order),[i]);return l.jsxs("div",{className:p("max-w-3xl mx-auto"),children:[l.jsx(_g,{...d,children:l.jsxs("form",{onSubmit:d.handleSubmit(f),className:p("space-y-1"),children:[l.jsx("div",{className:p(""),children:e.description&&l.jsx("p",{className:p("mt-2 text-gray-600"),children:e.description})}),l.jsx("div",{className:p("space-y-4"),children:u.map(h=>l.jsx(Wg,{element:h,elements:e.elements},h.id))})]})}),n&&l.jsxs("div",{className:p("mt-8 p-4 bg-green-50 border border-green-200 rounded-lg"),children:[l.jsx("h3",{className:p("text-lg font-medium text-green-800 mb-2"),children:"Submitted Data:"}),l.jsx("pre",{className:p("text-sm text-green-700 overflow-x-auto"),children:JSON.stringify(n,null,2)})]})]})},jg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("rounded-xl border bg-card text-card-foreground shadow",e),...t}));jg.displayName="Card";const $A=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("flex flex-col space-y-1.5 p-6",e),...t}));$A.displayName="CardHeader";const GA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("font-semibold leading-none tracking-tight",e),...t}));GA.displayName="CardTitle";const VA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("text-sm text-muted-foreground",e),...t}));VA.displayName="CardDescription";const Yg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("p-6 pt-0",e),...t}));Yg.displayName="CardContent";const zA=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("flex items-center p-6 pt-0",e),...t}));zA.displayName="CardFooter";const BA=es("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),qg=v.forwardRef(({className:e,variant:t,...r},o)=>l.jsx("div",{ref:o,role:"alert",className:p(BA({variant:t}),e),...r}));qg.displayName="Alert";const Qg=v.forwardRef(({className:e,...t},r)=>l.jsx("h5",{ref:r,className:p("mb-1 font-medium leading-none tracking-tight",e),...t}));Qg.displayName="AlertTitle";const Kg=v.forwardRef(({className:e,...t},r)=>l.jsx("div",{ref:r,className:p("text-sm [&_p]:leading-relaxed",e),...t}));Kg.displayName="AlertDescription";const UA={id:"design",label:"Design Mode",icon:hS,order:0,keyboardShortcut:"d",description:"Edit your form layout and properties",renderContent:(e,t)=>l.jsxs(l.Fragment,{children:[t==null?void 0:t.ElementSidebar,t==null?void 0:t.Canvas,t==null?void 0:t.PropertyPanel]})},WA={id:"preview",label:"Preview Mode",icon:hf,order:10,keyboardShortcut:"p",description:"Preview your form as an end user",renderContent:(e,t)=>{const{schema:r,setMode:o,submissionFormat:n,onSubmit:a}=e,s=r.elements.some(c=>c.type==="pages"),i=c=>{console.log("Form submitted:",c),a==null||a(c)};return l.jsx("div",{className:p("flex-1 overflow-y-auto bg-muted/30"),children:l.jsxs("div",{className:p("py-8 px-4"),children:[l.jsx("div",{className:p("max-w-3xl mx-auto mb-6"),children:l.jsxs("div",{className:p("flex items-center justify-between"),children:[l.jsxs("div",{className:p("flex items-center gap-2 text-sm text-muted-foreground"),children:[l.jsx(hf,{className:p("h-4","w-4")}),l.jsx("span",{children:"Preview Mode"}),s&&l.jsx(Oi,{variant:"secondary",children:"Wizard Form"})]}),l.jsxs(Ze,{variant:"ghost",size:"sm",onClick:()=>o("design"),children:[l.jsx(dS,{className:p("h-4","w-4","mr-1")}),"Back to Editor"]})]})}),l.jsx(jg,{className:p("max-w-3xl mx-auto"),children:l.jsx(Yg,{className:p("p-8"),children:r.elements.length===0?l.jsxs("div",{className:p("text-center py-12 text-muted-foreground"),children:[l.jsx(fS,{className:p("h-12","w-12","mx-auto","mb-4","text-muted-foreground/50")}),l.jsx("p",{className:p("text-lg font-medium mb-2"),children:"No elements to preview"}),l.jsx("p",{className:p("text-sm"),children:"Switch to Design mode and add some elements to your form."})]}):s?l.jsx(wd,{schema:r,onSubmit:i,submissionFormat:n}):l.jsx(Hg,{schema:r,onSubmit:i,submissionFormat:n})})}),r.elements.some(c=>c.logic)&&l.jsx("div",{className:p("max-w-3xl mx-auto mt-6"),children:l.jsxs(qg,{children:[l.jsx(mf,{className:p("h-4","w-4")}),l.jsx(Qg,{children:"Conditional Logic Active"}),l.jsx(Kg,{children:"This form has conditional logic rules. Some fields may show/hide based on your input."})]})})]})})}};function Xg(){Vt.has("design")||Vt.register(UA),Vt.has("preview")||Vt.register(WA)}Xg();const Jg=({initialSchema:e,onSchemaChange:t,toolbarActions:r,toolbarConfig:o,sidebarTabs:n,sidebarConfig:a,onPreviewSubmit:s,showElementSidebar:i=!0,showPropertyPanel:c=!0,submissionFormat:d="array",className:f})=>{const u=R(S=>S.mode),h=R(S=>S.setMode),m=R(S=>S.schema),g=R(S=>S.loadSchema);D.useEffect(()=>kv(),[]),D.useEffect(()=>{e&&g(e)},[e,g]),D.useEffect(()=>{t&&t(m)},[m,t]);const y=r||o?{...o,actions:[...(o==null?void 0:o.actions)??[],...r??[]]}:void 0,b=n||a!=null&&a.tabs?[...(a==null?void 0:a.tabs)??[],...n??[]]:void 0,C=Vt.get(u),w=D.useMemo(()=>({schema:m,currentMode:u,setMode:h,submissionFormat:d,onSubmit:s,showElementSidebar:i,showPropertyPanel:c,loadSchema:g}),[m,u,h,d,s,i,c,g]),x=D.useMemo(()=>({ElementSidebar:i?l.jsx(sE,{sidebarTabs:b}):void 0,Canvas:l.jsx(kE,{toolbarConfig:y}),PropertyPanel:c?l.jsx(oA,{}):void 0}),[i,b,y,c]);return l.jsx("div",{className:p("ep-main-layout h-screen flex flex-col bg-muted/50",f),children:l.jsx("div",{className:p("flex-1 flex overflow-hidden"),children:C?C.renderContent(w,x):null})})};Z.AffixInput=zl,Z.CanvasElementRenderer=Za,Z.CanvasPreviewWrapper=Ex,Z.ElementDescription=wa,Z.ElementLabel=xa,Z.EmptyState=kx,Z.EntryPulse=Jg,Z.ErrorMessages=fn,Z.FieldWrapper=Nx,Z.FormElementRenderer=vf,Z.FormPreview=Hg,Z.IconInput=uo,Z.InputWrapper=de,Z.WizardForm=wd,Z.builtInElements=yf,Z.createSidebarTab=th,Z.createSidebarTabs=nE,Z.createToolbarAction=sh,Z.createToolbarActions=mE,Z.default=Jg,Z.elementRegistry=dt,Z.extractContextValues=j,Z.filterFieldData=kA,Z.getButtonClassName=_x,Z.getCanvasInputClassName=Ct,Z.getElementDefinition=Pv,Z.getElementIcon=xf,Z.getElementLabel=Mi,Z.getInputClassName=Ot,Z.getModeDefinition=xE,Z.hasElement=Mv,Z.hasMode=wE,Z.isActionDisabled=lh,Z.isActionHidden=Zi,Z.isElementRegistered=RS,Z.isSidebarTabDisabled=rh,Z.isSidebarTabHidden=oh,Z.modeRegistry=Vt,Z.registerBuiltInElements=LS,Z.registerBuiltinModes=Xg,Z.registerElement=Av,Z.registerElements=Tv,Z.registerMode=bE,Z.registerModes=yE,Z.renderElement=tN,Z.renderElementOnCanvas=eN,Z.transformSubmissionData=xd,Z.transformToArrayFormat=Bg,Z.unregisterElement=Iv,Z.unregisterMode=vE,Z.useFormStore=R,Object.defineProperties(Z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
203
203
|
//# sourceMappingURL=entry-pulse.umd.cjs.map
|