unifyedx-storybook-new 0.1.66 → 0.1.67

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.
@@ -42982,7 +42982,7 @@ const computePosition = (reference, floating, options) => {
42982
42982
  * @copyright ReactTooltip Team
42983
42983
  * @license MIT
42984
42984
  */
42985
- const h="react-tooltip-core-styles",w="react-tooltip-base-styles",b={core:false,base:false};function S({css:e,id:t=w,type:o="base",ref:l}){var r,n;if(!e||"undefined"==typeof document||b[o])return;if("core"===o&&"undefined"!=typeof process&&(null===(r=null===process||void 0===process?void 0:process.env)||void 0===r?void 0:r.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if("base"!==o&&"undefined"!=typeof process&&(null===(n=null===process||void 0===process?void 0:process.env)||void 0===n?void 0:n.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;"core"===o&&(t=h),l||(l={});const{insertAt:i}=l;if(document.getElementById(t))return;const c=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.id=t,s.type="text/css","top"===i&&c.firstChild?c.insertBefore(s,c.firstChild):c.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e)),b[o]=true;}const E=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:o=null,place:l="top",offset:r=10,strategy:n="absolute",middlewares:i=[offset(Number(r)),flip({fallbackAxisSideDirection:"start"}),shift({padding:5})],border:c,arrowSize:s=8})=>{if(!e)return {tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return {tooltipStyles:{},tooltipArrowStyles:{},place:l};const a=i;return o?(a.push(arrow({element:o,padding:5})),computePosition(e,t,{placement:l,strategy:n,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:l})=>{var r,n;const i={left:`${e}px`,top:`${t}px`,border:c},{x:a,y:u}=null!==(r=l.arrow)&&void 0!==r?r:{x:0,y:0},d=null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom",p=c&&{borderBottom:c,borderRight:c};let v=0;if(c){const e=`${c}`.match(/(\d+)px/);v=(null==e?void 0:e[1])?Number(e[1]):1;}return {tooltipStyles:i,tooltipArrowStyles:{left:null!=a?`${a}px`:"",top:null!=u?`${u}px`:"",right:"",bottom:"",...p,[d]:`-${s/2+v}px`},place:o}}))):computePosition(e,t,{placement:"bottom",strategy:n,middleware:a}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))},A=(e,t)=>!("CSS"in window&&"supports"in window.CSS)||window.CSS.supports(e,t),_$2=(e,t,o)=>{let l=null;const r=function(...r){const n=()=>{l=null;};!l&&(e.apply(this,r),l=setTimeout(n,t));};return r.cancel=()=>{l&&(clearTimeout(l),l=null);},r},O=e=>null!==e&&!Array.isArray(e)&&"object"==typeof e,k=(e,t)=>{if(e===t)return true;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every(((e,o)=>k(e,t[o])));if(Array.isArray(e)!==Array.isArray(t))return false;if(!O(e)||!O(t))return e===t;const o=Object.keys(e),l=Object.keys(t);return o.length===l.length&&o.every((o=>k(e[o],t[o])))},T=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return false;const t=getComputedStyle(e);return ["overflow","overflow-x","overflow-y"].some((e=>{const o=t.getPropertyValue(e);return "auto"===o||"scroll"===o}))},L$1=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(T(t))return t;t=t.parentElement;}return document.scrollingElement||document.documentElement},C="undefined"!=typeof window?useLayoutEffect:useEffect,R=e=>{e.current&&(clearTimeout(e.current),e.current=null);},x="DEFAULT_TOOLTIP_ID",N$1={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},$$1=createContext({getTooltipData:()=>N$1});function z$1(e=x){return useContext($$1).getTooltipData(e)}var B$1={tooltip:"core-styles-module_tooltip__3vRRp",fixed:"core-styles-module_fixed__pcSol",arrow:"core-styles-module_arrow__cvMwQ",noArrow:"core-styles-module_noArrow__xock6",clickable:"core-styles-module_clickable__ZuTTB",show:"core-styles-module_show__Nt9eE",closing:"core-styles-module_closing__sGnxF"},D={tooltip:"styles-module_tooltip__mnnfp",arrow:"styles-module_arrow__K0L3T",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};const q=({forwardRef:t,id:l,className:i,classNameArrow:c,variant:u="dark",anchorId:d,anchorSelect:p,place:v="top",offset:m=10,events:h=["hover"],openOnClick:w=false,positionStrategy:b="absolute",middlewares:S,wrapper:g,delayShow:A=0,delayHide:O=0,float:T=false,hidden:x=false,noArrow:N=false,clickable:$=false,closeOnEsc:I=false,closeOnScroll:j=false,closeOnResize:q=false,openEvents:H,closeEvents:M,globalCloseEvents:W,imperativeModeOnly:P,style:V,position:F,afterShow:K,afterHide:U,disableTooltip:X,content:Y,contentWrapperRef:G,isOpen:Z,defaultIsOpen:J=false,setIsOpen:Q,activeAnchor:ee,setActiveAnchor:te,border:oe,opacity:le,arrowColor:re,arrowSize:ne=8,role:ie="tooltip"})=>{var ce;const se=useRef(null),ae=useRef(null),ue=useRef(null),de=useRef(null),pe=useRef(null),[ve,me]=useState({tooltipStyles:{},tooltipArrowStyles:{},place:v}),[fe,ye]=useState(false),[he,we]=useState(false),[be,Se]=useState(null),ge=useRef(false),Ee=useRef(null),{anchorRefs:Ae,setActiveAnchor:_e}=z$1(l),Oe=useRef(false),[ke,Te]=useState([]),Le=useRef(false),Ce=w||h.includes("click"),Re=Ce||(null==H?void 0:H.click)||(null==H?void 0:H.dblclick)||(null==H?void 0:H.mousedown),xe=H?{...H}:{mouseover:true,focus:true,mouseenter:false,click:false,dblclick:false,mousedown:false};!H&&Ce&&Object.assign(xe,{mouseenter:false,focus:false,mouseover:false,click:true});const Ne=M?{...M}:{mouseout:true,blur:true,mouseleave:false,click:false,dblclick:false,mouseup:false};!M&&Ce&&Object.assign(Ne,{mouseleave:false,blur:false,mouseout:false});const $e=W?{...W}:{escape:I||false,scroll:j||false,resize:q||false,clickOutsideAnchor:Re||false};P&&(Object.assign(xe,{mouseover:false,focus:false,mouseenter:false,click:false,dblclick:false,mousedown:false}),Object.assign(Ne,{mouseout:false,blur:false,mouseleave:false,click:false,dblclick:false,mouseup:false}),Object.assign($e,{escape:false,scroll:false,resize:false,clickOutsideAnchor:false})),C((()=>(Le.current=true,()=>{Le.current=false;})),[]);const Ie=e=>{Le.current&&(e&&we(true),setTimeout((()=>{Le.current&&(null==Q||Q(e),void 0===Z&&ye(e));}),10));};useEffect((()=>{if(void 0===Z)return ()=>null;Z&&we(true);const e=setTimeout((()=>{ye(Z);}),10);return ()=>{clearTimeout(e);}}),[Z]),useEffect((()=>{if(fe!==ge.current)if(R(pe),ge.current=fe,fe)null==K||K();else {const e=(e=>{const t=e.match(/^([\d.]+)(ms|s)$/);if(!t)return 0;const[,o,l]=t;return Number(o)*("ms"===l?1:1e3)})(getComputedStyle(document.body).getPropertyValue("--rt-transition-show-delay"));pe.current=setTimeout((()=>{we(false),Se(null),null==U||U();}),e+25);}}),[fe]);const ze=e=>{me((t=>k(t,e)?t:e));},je=(e=A)=>{R(ue),he?Ie(true):ue.current=setTimeout((()=>{Ie(true);}),e);},Be=(e=O)=>{R(de),de.current=setTimeout((()=>{Oe.current||Ie(false);}),e);},De=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==o?void 0:o.isConnected))return te(null),void _e({current:null});A?je():Ie(true),te(o),_e({current:o}),R(de);},qe=()=>{$?Be(O||100):O?Be():Ie(false),R(ue);},He=({x:e,y:t})=>{var o;const l={getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})};E({place:null!==(o=null==be?void 0:be.place)&&void 0!==o?o:v,offset:m,elementReference:l,tooltipReference:se.current,tooltipArrowReference:ae.current,strategy:b,middlewares:S,border:oe,arrowSize:ne}).then((e=>{ze(e);}));},Me=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};He(o),Ee.current=o;},We=e=>{var t;if(!fe)return;const o=e.target;if(!o.isConnected)return;if(null===(t=se.current)||void 0===t?void 0:t.contains(o))return;[document.querySelector(`[id='${d}']`),...ke].some((e=>null==e?void 0:e.contains(o)))||(Ie(false),R(ue));},Pe=_$2(De,50),Ve=_$2(qe,50),Fe=e=>{Ve.cancel(),Pe(e);},Ke=()=>{Pe.cancel(),Ve();},Ue=useCallback((()=>{var e,t;const o=null!==(e=null==be?void 0:be.position)&&void 0!==e?e:F;o?He(o):T?Ee.current&&He(Ee.current):(null==ee?void 0:ee.isConnected)&&E({place:null!==(t=null==be?void 0:be.place)&&void 0!==t?t:v,offset:m,elementReference:ee,tooltipReference:se.current,tooltipArrowReference:ae.current,strategy:b,middlewares:S,border:oe,arrowSize:ne}).then((e=>{Le.current&&ze(e);}));}),[fe,ee,Y,V,v,null==be?void 0:be.place,m,b,F,null==be?void 0:be.position,T,ne]);useEffect((()=>{var e,t;const o=new Set(Ae);ke.forEach((e=>{(null==X?void 0:X(e))||o.add({current:e});}));const l=document.querySelector(`[id='${d}']`);l&&!(null==X?void 0:X(l))&&o.add({current:l});const r=()=>{Ie(false);},n=L$1(ee),i=L$1(se.current);$e.scroll&&(window.addEventListener("scroll",r),null==n||n.addEventListener("scroll",r),null==i||i.addEventListener("scroll",r));let c=null;$e.resize?window.addEventListener("resize",r):ee&&se.current&&(c=autoUpdate(ee,se.current,Ue,{ancestorResize:true,elementResize:true,layoutShift:true}));const s=e=>{"Escape"===e.key&&Ie(false);};$e.escape&&window.addEventListener("keydown",s),$e.clickOutsideAnchor&&window.addEventListener("click",We);const a=[],u=e=>Boolean((null==e?void 0:e.target)&&(null==ee?void 0:ee.contains(e.target))),p=e=>{fe&&u(e)||De(e);},v=e=>{fe&&u(e)&&qe();},m=["mouseover","mouseout","mouseenter","mouseleave","focus","blur"],y=["click","dblclick","mousedown","mouseup"];Object.entries(xe).forEach((([e,t])=>{t&&(m.includes(e)?a.push({event:e,listener:Fe}):y.includes(e)&&a.push({event:e,listener:p}));})),Object.entries(Ne).forEach((([e,t])=>{t&&(m.includes(e)?a.push({event:e,listener:Ke}):y.includes(e)&&a.push({event:e,listener:v}));})),T&&a.push({event:"pointermove",listener:Me});const h=()=>{Oe.current=true;},w=()=>{Oe.current=false,qe();},b=$&&(Ne.mouseout||Ne.mouseleave);return b&&(null===(e=se.current)||void 0===e||e.addEventListener("mouseover",h),null===(t=se.current)||void 0===t||t.addEventListener("mouseout",w)),a.forEach((({event:e,listener:t})=>{o.forEach((o=>{var l;null===(l=o.current)||void 0===l||l.addEventListener(e,t);}));})),()=>{var e,t;$e.scroll&&(window.removeEventListener("scroll",r),null==n||n.removeEventListener("scroll",r),null==i||i.removeEventListener("scroll",r)),$e.resize?window.removeEventListener("resize",r):null==c||c(),$e.clickOutsideAnchor&&window.removeEventListener("click",We),$e.escape&&window.removeEventListener("keydown",s),b&&(null===(e=se.current)||void 0===e||e.removeEventListener("mouseover",h),null===(t=se.current)||void 0===t||t.removeEventListener("mouseout",w)),a.forEach((({event:e,listener:t})=>{o.forEach((o=>{var l;null===(l=o.current)||void 0===l||l.removeEventListener(e,t);}));}));}}),[ee,Ue,he,Ae,ke,H,M,W,Ce,A,O]),useEffect((()=>{var e,t;let o=null!==(t=null!==(e=null==be?void 0:be.anchorSelect)&&void 0!==e?e:p)&&void 0!==t?t:"";!o&&l&&(o=`[data-tooltip-id='${l.replace(/'/g,"\\'")}']`);const r=new MutationObserver((e=>{const t=[],r=[];e.forEach((e=>{if("attributes"===e.type&&"data-tooltip-id"===e.attributeName){e.target.getAttribute("data-tooltip-id")===l?t.push(e.target):e.oldValue===l&&r.push(e.target);}if("childList"===e.type){if(ee){const t=[...e.removedNodes].filter((e=>1===e.nodeType));if(o)try{r.push(...t.filter((e=>e.matches(o)))),r.push(...t.flatMap((e=>[...e.querySelectorAll(o)])));}catch(e){}t.some((e=>{var t;return !!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,ee))&&(we(false),Ie(false),te(null),R(ue),R(de),true)}));}if(o)try{const l=[...e.addedNodes].filter((e=>1===e.nodeType));t.push(...l.filter((e=>e.matches(o)))),t.push(...l.flatMap((e=>[...e.querySelectorAll(o)])));}catch(e){}}})),(t.length||r.length)&&Te((e=>[...e.filter((e=>!r.includes(e))),...t]));}));return r.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:["data-tooltip-id"],attributeOldValue:true}),()=>{r.disconnect();}}),[l,p,null==be?void 0:be.anchorSelect,ee]),useEffect((()=>{Ue();}),[Ue]),useEffect((()=>{if(!(null==G?void 0:G.current))return ()=>null;const e=new ResizeObserver((()=>{setTimeout((()=>Ue()));}));return e.observe(G.current),()=>{e.disconnect();}}),[Y,null==G?void 0:G.current]),useEffect((()=>{var e;const t=document.querySelector(`[id='${d}']`),o=[...ke,t];ee&&o.includes(ee)||te(null!==(e=ke[0])&&void 0!==e?e:t);}),[d,ke,ee]),useEffect((()=>(J&&Ie(true),()=>{R(ue),R(de);})),[]),useEffect((()=>{var e;let t=null!==(e=null==be?void 0:be.anchorSelect)&&void 0!==e?e:p;if(!t&&l&&(t=`[data-tooltip-id='${l.replace(/'/g,"\\'")}']`),t)try{const e=Array.from(document.querySelectorAll(t));Te(e);}catch(e){Te([]);}}),[l,p,null==be?void 0:be.anchorSelect]),useEffect((()=>{ue.current&&(R(ue),je(A));}),[A]);const Xe=null!==(ce=null==be?void 0:be.content)&&void 0!==ce?ce:Y,Ye=fe&&Object.keys(ve.tooltipStyles).length>0;return useImperativeHandle(t,(()=>({open:e=>{if(null==e?void 0:e.anchorSelect)try{document.querySelector(e.anchorSelect);}catch(t){return void console.warn(`[react-tooltip] "${e.anchorSelect}" is not a valid CSS selector`)}Se(null!=e?e:null),(null==e?void 0:e.delay)?je(e.delay):Ie(true);},close:e=>{(null==e?void 0:e.delay)?Be(e.delay):Ie(false);},activeAnchor:ee,place:ve.place,isOpen:Boolean(he&&!x&&Xe&&Ye)}))),he&&!x&&Xe?React__default.createElement(g,{id:l,role:ie,className:classNames$1("react-tooltip",B$1.tooltip,D.tooltip,D[u],i,`react-tooltip__place-${ve.place}`,B$1[Ye?"show":"closing"],Ye?"react-tooltip__show":"react-tooltip__closing","fixed"===b&&B$1.fixed,$&&B$1.clickable),onTransitionEnd:e=>{R(pe),fe||"opacity"!==e.propertyName||(we(false),Se(null),null==U||U());},style:{...V,...ve.tooltipStyles,opacity:void 0!==le&&Ye?le:void 0},ref:se},Xe,React__default.createElement(g,{className:classNames$1("react-tooltip-arrow",B$1.arrow,D.arrow,c,N&&B$1.noArrow),style:{...ve.tooltipArrowStyles,background:re?`linear-gradient(to right bottom, transparent 50%, ${re} 50%)`:void 0,"--rt-arrow-size":`${ne}px`},ref:ae})):null},H=({content:t})=>React__default.createElement("span",{dangerouslySetInnerHTML:{__html:t}}),M=React__default.forwardRef((({id:t,anchorId:l,anchorSelect:n,content:i,html:c,render:a,className:u,classNameArrow:d,variant:p="dark",place:v="top",offset:m=10,wrapper:f="div",children:h=null,events:w=["hover"],openOnClick:b=false,positionStrategy:S="absolute",middlewares:g,delayShow:E=0,delayHide:_=0,float:O=false,hidden:k=false,noArrow:T=false,clickable:L=false,closeOnEsc:C=false,closeOnScroll:R=false,closeOnResize:x=false,openEvents:N,closeEvents:$,globalCloseEvents:I,imperativeModeOnly:j=false,style:B,position:D,isOpen:M,defaultIsOpen:W=false,disableStyleInjection:P=false,border:V,opacity:F,arrowColor:K,arrowSize:U,setIsOpen:X,afterShow:Y,afterHide:G,disableTooltip:Z,role:J="tooltip"},Q)=>{const[ee,te]=useState(i),[oe,le]=useState(c),[re,ne]=useState(v),[ie,ce]=useState(p),[se,ae]=useState(m),[ue,de]=useState(E),[pe,ve]=useState(_),[me,fe]=useState(O),[ye,he]=useState(k),[we,be]=useState(f),[Se,ge]=useState(w),[Ee,Ae]=useState(S),[_e,Oe]=useState(null),[ke,Te]=useState(null),Le=useRef(P),{anchorRefs:Ce,activeAnchor:Re}=z$1(t),xe=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var l;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(l=null==e?void 0:e.getAttribute(o))&&void 0!==l?l:null;}return t}),{}),Ne=e=>{const t={place:e=>{var t;ne(null!==(t=e)&&void 0!==t?t:v);},content:e=>{te(null!=e?e:i);},html:e=>{le(null!=e?e:c);},variant:e=>{var t;ce(null!==(t=e)&&void 0!==t?t:p);},offset:e=>{ae(null===e?m:Number(e));},wrapper:e=>{var t;be(null!==(t=e)&&void 0!==t?t:f);},events:e=>{const t=null==e?void 0:e.split(" ");ge(null!=t?t:w);},"position-strategy":e=>{var t;Ae(null!==(t=e)&&void 0!==t?t:S);},"delay-show":e=>{de(null===e?E:Number(e));},"delay-hide":e=>{ve(null===e?_:Number(e));},float:e=>{fe(null===e?O:"true"===e);},hidden:e=>{he(null===e?k:"true"===e);},"class-name":e=>{Oe(e);}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var l;null===(l=t[e])||void 0===l||l.call(t,o);}));};useEffect((()=>{te(i);}),[i]),useEffect((()=>{le(c);}),[c]),useEffect((()=>{ne(v);}),[v]),useEffect((()=>{ce(p);}),[p]),useEffect((()=>{ae(m);}),[m]),useEffect((()=>{de(E);}),[E]),useEffect((()=>{ve(_);}),[_]),useEffect((()=>{fe(O);}),[O]),useEffect((()=>{he(k);}),[k]),useEffect((()=>{Ae(S);}),[S]),useEffect((()=>{Le.current!==P&&console.warn("[react-tooltip] Do not change `disableStyleInjection` dynamically.");}),[P]),useEffect((()=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent("react-tooltip-inject-styles",{detail:{disableCore:"core"===P,disableBase:P}}));}),[]),useEffect((()=>{var e;const o=new Set(Ce);let r=n;if(!r&&t&&(r=`[data-tooltip-id='${t.replace(/'/g,"\\'")}']`),r)try{document.querySelectorAll(r).forEach((e=>{o.add({current:e});}));}catch(e){console.warn(`[react-tooltip] "${r}" is not a valid CSS selector`);}const i=document.querySelector(`[id='${l}']`);if(i&&o.add({current:i}),!o.size)return ()=>null;const c=null!==(e=null!=ke?ke:i)&&void 0!==e?e:Re.current,s=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=xe(c);Ne(o);}));})),a={attributes:true,childList:false,subtree:false};if(c){const e=xe(c);Ne(e),s.observe(c,a);}return ()=>{s.disconnect();}}),[Ce,Re,ke,l,n]),useEffect((()=>{(null==B?void 0:B.border)&&console.warn("[react-tooltip] Do not set `style.border`. Use `border` prop instead."),V&&!A("border",`${V}`)&&console.warn(`[react-tooltip] "${V}" is not a valid \`border\`.`),(null==B?void 0:B.opacity)&&console.warn("[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead."),F&&!A("opacity",`${F}`)&&console.warn(`[react-tooltip] "${F}" is not a valid \`opacity\`.`);}),[]);let $e=h;const Ie=useRef(null);if(a){const t=a({content:(null==ke?void 0:ke.getAttribute("data-tooltip-content"))||ee||null,activeAnchor:ke});$e=t?React__default.createElement("div",{ref:Ie,className:"react-tooltip-content-wrapper"},t):null;}else ee&&($e=ee);oe&&($e=React__default.createElement(H,{content:oe}));const ze={forwardRef:Q,id:t,anchorId:l,anchorSelect:n,className:classNames$1(u,_e),classNameArrow:d,content:$e,contentWrapperRef:Ie,place:re,variant:ie,offset:se,wrapper:we,events:Se,openOnClick:b,positionStrategy:Ee,middlewares:g,delayShow:ue,delayHide:pe,float:me,hidden:ye,noArrow:T,clickable:L,closeOnEsc:C,closeOnScroll:R,closeOnResize:x,openEvents:N,closeEvents:$,globalCloseEvents:I,imperativeModeOnly:j,style:B,position:D,isOpen:M,defaultIsOpen:W,border:V,opacity:F,arrowColor:K,arrowSize:U,setIsOpen:X,afterShow:Y,afterHide:G,disableTooltip:Z,activeAnchor:ke,setActiveAnchor:e=>Te(e),role:J};return React__default.createElement(q,{...ze})}));"undefined"!=typeof window&&window.addEventListener("react-tooltip-inject-styles",(e=>{e.detail.disableCore||S({css:`:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{position:absolute;top:0;left:0;pointer-events:none;opacity:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay)ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay)ease-in}`,type:"core"}),e.detail.disableBase||S({css:`
42985
+ const h="react-tooltip-core-styles",w="react-tooltip-base-styles",b={core:false,base:false};function S({css:e,id:t=w,type:o="base",ref:l}){var r,n;if(!e||"undefined"==typeof document||b[o])return;if("core"===o&&"undefined"!=typeof process&&(null===(r=null===process||void 0===process?void 0:process.env)||void 0===r?void 0:r.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if("base"!==o&&"undefined"!=typeof process&&(null===(n=null===process||void 0===process?void 0:process.env)||void 0===n?void 0:n.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;"core"===o&&(t=h),l||(l={});const{insertAt:i}=l;if(document.getElementById(t))return;const c=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.id=t,s.type="text/css","top"===i&&c.firstChild?c.insertBefore(s,c.firstChild):c.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e)),b[o]=true;}const E=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:o=null,place:l="top",offset:r=10,strategy:n="absolute",middlewares:i=[offset(Number(r)),flip({fallbackAxisSideDirection:"start"}),shift({padding:5})],border:c,arrowSize:s=8})=>{if(!e)return {tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return {tooltipStyles:{},tooltipArrowStyles:{},place:l};const a=i;return o?(a.push(arrow({element:o,padding:5})),computePosition(e,t,{placement:l,strategy:n,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:l})=>{var r,n;const i={left:`${e}px`,top:`${t}px`,border:c},{x:a,y:u}=null!==(r=l.arrow)&&void 0!==r?r:{x:0,y:0},d=null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom",p=c&&{borderBottom:c,borderRight:c};let v=0;if(c){const e=`${c}`.match(/(\d+)px/);v=(null==e?void 0:e[1])?Number(e[1]):1;}return {tooltipStyles:i,tooltipArrowStyles:{left:null!=a?`${a}px`:"",top:null!=u?`${u}px`:"",right:"",bottom:"",...p,[d]:`-${s/2+v}px`},place:o}}))):computePosition(e,t,{placement:"bottom",strategy:n,middleware:a}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))},A=(e,t)=>!("CSS"in window&&"supports"in window.CSS)||window.CSS.supports(e,t),_$1=(e,t,o)=>{let l=null;const r=function(...r){const n=()=>{l=null;};!l&&(e.apply(this,r),l=setTimeout(n,t));};return r.cancel=()=>{l&&(clearTimeout(l),l=null);},r},O=e=>null!==e&&!Array.isArray(e)&&"object"==typeof e,k=(e,t)=>{if(e===t)return true;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every(((e,o)=>k(e,t[o])));if(Array.isArray(e)!==Array.isArray(t))return false;if(!O(e)||!O(t))return e===t;const o=Object.keys(e),l=Object.keys(t);return o.length===l.length&&o.every((o=>k(e[o],t[o])))},T=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return false;const t=getComputedStyle(e);return ["overflow","overflow-x","overflow-y"].some((e=>{const o=t.getPropertyValue(e);return "auto"===o||"scroll"===o}))},L$1=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(T(t))return t;t=t.parentElement;}return document.scrollingElement||document.documentElement},C="undefined"!=typeof window?useLayoutEffect:useEffect,R=e=>{e.current&&(clearTimeout(e.current),e.current=null);},x="DEFAULT_TOOLTIP_ID",N$1={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},$$1=createContext({getTooltipData:()=>N$1});function z$1(e=x){return useContext($$1).getTooltipData(e)}var B$1={tooltip:"core-styles-module_tooltip__3vRRp",fixed:"core-styles-module_fixed__pcSol",arrow:"core-styles-module_arrow__cvMwQ",noArrow:"core-styles-module_noArrow__xock6",clickable:"core-styles-module_clickable__ZuTTB",show:"core-styles-module_show__Nt9eE",closing:"core-styles-module_closing__sGnxF"},D={tooltip:"styles-module_tooltip__mnnfp",arrow:"styles-module_arrow__K0L3T",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};const q=({forwardRef:t,id:l,className:i,classNameArrow:c,variant:u="dark",anchorId:d,anchorSelect:p,place:v="top",offset:m=10,events:h=["hover"],openOnClick:w=false,positionStrategy:b="absolute",middlewares:S,wrapper:g,delayShow:A=0,delayHide:O=0,float:T=false,hidden:x=false,noArrow:N=false,clickable:$=false,closeOnEsc:I=false,closeOnScroll:j=false,closeOnResize:q=false,openEvents:H,closeEvents:M,globalCloseEvents:W,imperativeModeOnly:P,style:V,position:F,afterShow:K,afterHide:U,disableTooltip:X,content:Y,contentWrapperRef:G,isOpen:Z,defaultIsOpen:J=false,setIsOpen:Q,activeAnchor:ee,setActiveAnchor:te,border:oe,opacity:le,arrowColor:re,arrowSize:ne=8,role:ie="tooltip"})=>{var ce;const se=useRef(null),ae=useRef(null),ue=useRef(null),de=useRef(null),pe=useRef(null),[ve,me]=useState({tooltipStyles:{},tooltipArrowStyles:{},place:v}),[fe,ye]=useState(false),[he,we]=useState(false),[be,Se]=useState(null),ge=useRef(false),Ee=useRef(null),{anchorRefs:Ae,setActiveAnchor:_e}=z$1(l),Oe=useRef(false),[ke,Te]=useState([]),Le=useRef(false),Ce=w||h.includes("click"),Re=Ce||(null==H?void 0:H.click)||(null==H?void 0:H.dblclick)||(null==H?void 0:H.mousedown),xe=H?{...H}:{mouseover:true,focus:true,mouseenter:false,click:false,dblclick:false,mousedown:false};!H&&Ce&&Object.assign(xe,{mouseenter:false,focus:false,mouseover:false,click:true});const Ne=M?{...M}:{mouseout:true,blur:true,mouseleave:false,click:false,dblclick:false,mouseup:false};!M&&Ce&&Object.assign(Ne,{mouseleave:false,blur:false,mouseout:false});const $e=W?{...W}:{escape:I||false,scroll:j||false,resize:q||false,clickOutsideAnchor:Re||false};P&&(Object.assign(xe,{mouseover:false,focus:false,mouseenter:false,click:false,dblclick:false,mousedown:false}),Object.assign(Ne,{mouseout:false,blur:false,mouseleave:false,click:false,dblclick:false,mouseup:false}),Object.assign($e,{escape:false,scroll:false,resize:false,clickOutsideAnchor:false})),C((()=>(Le.current=true,()=>{Le.current=false;})),[]);const Ie=e=>{Le.current&&(e&&we(true),setTimeout((()=>{Le.current&&(null==Q||Q(e),void 0===Z&&ye(e));}),10));};useEffect((()=>{if(void 0===Z)return ()=>null;Z&&we(true);const e=setTimeout((()=>{ye(Z);}),10);return ()=>{clearTimeout(e);}}),[Z]),useEffect((()=>{if(fe!==ge.current)if(R(pe),ge.current=fe,fe)null==K||K();else {const e=(e=>{const t=e.match(/^([\d.]+)(ms|s)$/);if(!t)return 0;const[,o,l]=t;return Number(o)*("ms"===l?1:1e3)})(getComputedStyle(document.body).getPropertyValue("--rt-transition-show-delay"));pe.current=setTimeout((()=>{we(false),Se(null),null==U||U();}),e+25);}}),[fe]);const ze=e=>{me((t=>k(t,e)?t:e));},je=(e=A)=>{R(ue),he?Ie(true):ue.current=setTimeout((()=>{Ie(true);}),e);},Be=(e=O)=>{R(de),de.current=setTimeout((()=>{Oe.current||Ie(false);}),e);},De=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==o?void 0:o.isConnected))return te(null),void _e({current:null});A?je():Ie(true),te(o),_e({current:o}),R(de);},qe=()=>{$?Be(O||100):O?Be():Ie(false),R(ue);},He=({x:e,y:t})=>{var o;const l={getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})};E({place:null!==(o=null==be?void 0:be.place)&&void 0!==o?o:v,offset:m,elementReference:l,tooltipReference:se.current,tooltipArrowReference:ae.current,strategy:b,middlewares:S,border:oe,arrowSize:ne}).then((e=>{ze(e);}));},Me=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};He(o),Ee.current=o;},We=e=>{var t;if(!fe)return;const o=e.target;if(!o.isConnected)return;if(null===(t=se.current)||void 0===t?void 0:t.contains(o))return;[document.querySelector(`[id='${d}']`),...ke].some((e=>null==e?void 0:e.contains(o)))||(Ie(false),R(ue));},Pe=_$1(De,50),Ve=_$1(qe,50),Fe=e=>{Ve.cancel(),Pe(e);},Ke=()=>{Pe.cancel(),Ve();},Ue=useCallback((()=>{var e,t;const o=null!==(e=null==be?void 0:be.position)&&void 0!==e?e:F;o?He(o):T?Ee.current&&He(Ee.current):(null==ee?void 0:ee.isConnected)&&E({place:null!==(t=null==be?void 0:be.place)&&void 0!==t?t:v,offset:m,elementReference:ee,tooltipReference:se.current,tooltipArrowReference:ae.current,strategy:b,middlewares:S,border:oe,arrowSize:ne}).then((e=>{Le.current&&ze(e);}));}),[fe,ee,Y,V,v,null==be?void 0:be.place,m,b,F,null==be?void 0:be.position,T,ne]);useEffect((()=>{var e,t;const o=new Set(Ae);ke.forEach((e=>{(null==X?void 0:X(e))||o.add({current:e});}));const l=document.querySelector(`[id='${d}']`);l&&!(null==X?void 0:X(l))&&o.add({current:l});const r=()=>{Ie(false);},n=L$1(ee),i=L$1(se.current);$e.scroll&&(window.addEventListener("scroll",r),null==n||n.addEventListener("scroll",r),null==i||i.addEventListener("scroll",r));let c=null;$e.resize?window.addEventListener("resize",r):ee&&se.current&&(c=autoUpdate(ee,se.current,Ue,{ancestorResize:true,elementResize:true,layoutShift:true}));const s=e=>{"Escape"===e.key&&Ie(false);};$e.escape&&window.addEventListener("keydown",s),$e.clickOutsideAnchor&&window.addEventListener("click",We);const a=[],u=e=>Boolean((null==e?void 0:e.target)&&(null==ee?void 0:ee.contains(e.target))),p=e=>{fe&&u(e)||De(e);},v=e=>{fe&&u(e)&&qe();},m=["mouseover","mouseout","mouseenter","mouseleave","focus","blur"],y=["click","dblclick","mousedown","mouseup"];Object.entries(xe).forEach((([e,t])=>{t&&(m.includes(e)?a.push({event:e,listener:Fe}):y.includes(e)&&a.push({event:e,listener:p}));})),Object.entries(Ne).forEach((([e,t])=>{t&&(m.includes(e)?a.push({event:e,listener:Ke}):y.includes(e)&&a.push({event:e,listener:v}));})),T&&a.push({event:"pointermove",listener:Me});const h=()=>{Oe.current=true;},w=()=>{Oe.current=false,qe();},b=$&&(Ne.mouseout||Ne.mouseleave);return b&&(null===(e=se.current)||void 0===e||e.addEventListener("mouseover",h),null===(t=se.current)||void 0===t||t.addEventListener("mouseout",w)),a.forEach((({event:e,listener:t})=>{o.forEach((o=>{var l;null===(l=o.current)||void 0===l||l.addEventListener(e,t);}));})),()=>{var e,t;$e.scroll&&(window.removeEventListener("scroll",r),null==n||n.removeEventListener("scroll",r),null==i||i.removeEventListener("scroll",r)),$e.resize?window.removeEventListener("resize",r):null==c||c(),$e.clickOutsideAnchor&&window.removeEventListener("click",We),$e.escape&&window.removeEventListener("keydown",s),b&&(null===(e=se.current)||void 0===e||e.removeEventListener("mouseover",h),null===(t=se.current)||void 0===t||t.removeEventListener("mouseout",w)),a.forEach((({event:e,listener:t})=>{o.forEach((o=>{var l;null===(l=o.current)||void 0===l||l.removeEventListener(e,t);}));}));}}),[ee,Ue,he,Ae,ke,H,M,W,Ce,A,O]),useEffect((()=>{var e,t;let o=null!==(t=null!==(e=null==be?void 0:be.anchorSelect)&&void 0!==e?e:p)&&void 0!==t?t:"";!o&&l&&(o=`[data-tooltip-id='${l.replace(/'/g,"\\'")}']`);const r=new MutationObserver((e=>{const t=[],r=[];e.forEach((e=>{if("attributes"===e.type&&"data-tooltip-id"===e.attributeName){e.target.getAttribute("data-tooltip-id")===l?t.push(e.target):e.oldValue===l&&r.push(e.target);}if("childList"===e.type){if(ee){const t=[...e.removedNodes].filter((e=>1===e.nodeType));if(o)try{r.push(...t.filter((e=>e.matches(o)))),r.push(...t.flatMap((e=>[...e.querySelectorAll(o)])));}catch(e){}t.some((e=>{var t;return !!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,ee))&&(we(false),Ie(false),te(null),R(ue),R(de),true)}));}if(o)try{const l=[...e.addedNodes].filter((e=>1===e.nodeType));t.push(...l.filter((e=>e.matches(o)))),t.push(...l.flatMap((e=>[...e.querySelectorAll(o)])));}catch(e){}}})),(t.length||r.length)&&Te((e=>[...e.filter((e=>!r.includes(e))),...t]));}));return r.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:["data-tooltip-id"],attributeOldValue:true}),()=>{r.disconnect();}}),[l,p,null==be?void 0:be.anchorSelect,ee]),useEffect((()=>{Ue();}),[Ue]),useEffect((()=>{if(!(null==G?void 0:G.current))return ()=>null;const e=new ResizeObserver((()=>{setTimeout((()=>Ue()));}));return e.observe(G.current),()=>{e.disconnect();}}),[Y,null==G?void 0:G.current]),useEffect((()=>{var e;const t=document.querySelector(`[id='${d}']`),o=[...ke,t];ee&&o.includes(ee)||te(null!==(e=ke[0])&&void 0!==e?e:t);}),[d,ke,ee]),useEffect((()=>(J&&Ie(true),()=>{R(ue),R(de);})),[]),useEffect((()=>{var e;let t=null!==(e=null==be?void 0:be.anchorSelect)&&void 0!==e?e:p;if(!t&&l&&(t=`[data-tooltip-id='${l.replace(/'/g,"\\'")}']`),t)try{const e=Array.from(document.querySelectorAll(t));Te(e);}catch(e){Te([]);}}),[l,p,null==be?void 0:be.anchorSelect]),useEffect((()=>{ue.current&&(R(ue),je(A));}),[A]);const Xe=null!==(ce=null==be?void 0:be.content)&&void 0!==ce?ce:Y,Ye=fe&&Object.keys(ve.tooltipStyles).length>0;return useImperativeHandle(t,(()=>({open:e=>{if(null==e?void 0:e.anchorSelect)try{document.querySelector(e.anchorSelect);}catch(t){return void console.warn(`[react-tooltip] "${e.anchorSelect}" is not a valid CSS selector`)}Se(null!=e?e:null),(null==e?void 0:e.delay)?je(e.delay):Ie(true);},close:e=>{(null==e?void 0:e.delay)?Be(e.delay):Ie(false);},activeAnchor:ee,place:ve.place,isOpen:Boolean(he&&!x&&Xe&&Ye)}))),he&&!x&&Xe?React__default.createElement(g,{id:l,role:ie,className:classNames$1("react-tooltip",B$1.tooltip,D.tooltip,D[u],i,`react-tooltip__place-${ve.place}`,B$1[Ye?"show":"closing"],Ye?"react-tooltip__show":"react-tooltip__closing","fixed"===b&&B$1.fixed,$&&B$1.clickable),onTransitionEnd:e=>{R(pe),fe||"opacity"!==e.propertyName||(we(false),Se(null),null==U||U());},style:{...V,...ve.tooltipStyles,opacity:void 0!==le&&Ye?le:void 0},ref:se},Xe,React__default.createElement(g,{className:classNames$1("react-tooltip-arrow",B$1.arrow,D.arrow,c,N&&B$1.noArrow),style:{...ve.tooltipArrowStyles,background:re?`linear-gradient(to right bottom, transparent 50%, ${re} 50%)`:void 0,"--rt-arrow-size":`${ne}px`},ref:ae})):null},H=({content:t})=>React__default.createElement("span",{dangerouslySetInnerHTML:{__html:t}}),M=React__default.forwardRef((({id:t,anchorId:l,anchorSelect:n,content:i,html:c,render:a,className:u,classNameArrow:d,variant:p="dark",place:v="top",offset:m=10,wrapper:f="div",children:h=null,events:w=["hover"],openOnClick:b=false,positionStrategy:S="absolute",middlewares:g,delayShow:E=0,delayHide:_=0,float:O=false,hidden:k=false,noArrow:T=false,clickable:L=false,closeOnEsc:C=false,closeOnScroll:R=false,closeOnResize:x=false,openEvents:N,closeEvents:$,globalCloseEvents:I,imperativeModeOnly:j=false,style:B,position:D,isOpen:M,defaultIsOpen:W=false,disableStyleInjection:P=false,border:V,opacity:F,arrowColor:K,arrowSize:U,setIsOpen:X,afterShow:Y,afterHide:G,disableTooltip:Z,role:J="tooltip"},Q)=>{const[ee,te]=useState(i),[oe,le]=useState(c),[re,ne]=useState(v),[ie,ce]=useState(p),[se,ae]=useState(m),[ue,de]=useState(E),[pe,ve]=useState(_),[me,fe]=useState(O),[ye,he]=useState(k),[we,be]=useState(f),[Se,ge]=useState(w),[Ee,Ae]=useState(S),[_e,Oe]=useState(null),[ke,Te]=useState(null),Le=useRef(P),{anchorRefs:Ce,activeAnchor:Re}=z$1(t),xe=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var l;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(l=null==e?void 0:e.getAttribute(o))&&void 0!==l?l:null;}return t}),{}),Ne=e=>{const t={place:e=>{var t;ne(null!==(t=e)&&void 0!==t?t:v);},content:e=>{te(null!=e?e:i);},html:e=>{le(null!=e?e:c);},variant:e=>{var t;ce(null!==(t=e)&&void 0!==t?t:p);},offset:e=>{ae(null===e?m:Number(e));},wrapper:e=>{var t;be(null!==(t=e)&&void 0!==t?t:f);},events:e=>{const t=null==e?void 0:e.split(" ");ge(null!=t?t:w);},"position-strategy":e=>{var t;Ae(null!==(t=e)&&void 0!==t?t:S);},"delay-show":e=>{de(null===e?E:Number(e));},"delay-hide":e=>{ve(null===e?_:Number(e));},float:e=>{fe(null===e?O:"true"===e);},hidden:e=>{he(null===e?k:"true"===e);},"class-name":e=>{Oe(e);}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var l;null===(l=t[e])||void 0===l||l.call(t,o);}));};useEffect((()=>{te(i);}),[i]),useEffect((()=>{le(c);}),[c]),useEffect((()=>{ne(v);}),[v]),useEffect((()=>{ce(p);}),[p]),useEffect((()=>{ae(m);}),[m]),useEffect((()=>{de(E);}),[E]),useEffect((()=>{ve(_);}),[_]),useEffect((()=>{fe(O);}),[O]),useEffect((()=>{he(k);}),[k]),useEffect((()=>{Ae(S);}),[S]),useEffect((()=>{Le.current!==P&&console.warn("[react-tooltip] Do not change `disableStyleInjection` dynamically.");}),[P]),useEffect((()=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent("react-tooltip-inject-styles",{detail:{disableCore:"core"===P,disableBase:P}}));}),[]),useEffect((()=>{var e;const o=new Set(Ce);let r=n;if(!r&&t&&(r=`[data-tooltip-id='${t.replace(/'/g,"\\'")}']`),r)try{document.querySelectorAll(r).forEach((e=>{o.add({current:e});}));}catch(e){console.warn(`[react-tooltip] "${r}" is not a valid CSS selector`);}const i=document.querySelector(`[id='${l}']`);if(i&&o.add({current:i}),!o.size)return ()=>null;const c=null!==(e=null!=ke?ke:i)&&void 0!==e?e:Re.current,s=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=xe(c);Ne(o);}));})),a={attributes:true,childList:false,subtree:false};if(c){const e=xe(c);Ne(e),s.observe(c,a);}return ()=>{s.disconnect();}}),[Ce,Re,ke,l,n]),useEffect((()=>{(null==B?void 0:B.border)&&console.warn("[react-tooltip] Do not set `style.border`. Use `border` prop instead."),V&&!A("border",`${V}`)&&console.warn(`[react-tooltip] "${V}" is not a valid \`border\`.`),(null==B?void 0:B.opacity)&&console.warn("[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead."),F&&!A("opacity",`${F}`)&&console.warn(`[react-tooltip] "${F}" is not a valid \`opacity\`.`);}),[]);let $e=h;const Ie=useRef(null);if(a){const t=a({content:(null==ke?void 0:ke.getAttribute("data-tooltip-content"))||ee||null,activeAnchor:ke});$e=t?React__default.createElement("div",{ref:Ie,className:"react-tooltip-content-wrapper"},t):null;}else ee&&($e=ee);oe&&($e=React__default.createElement(H,{content:oe}));const ze={forwardRef:Q,id:t,anchorId:l,anchorSelect:n,className:classNames$1(u,_e),classNameArrow:d,content:$e,contentWrapperRef:Ie,place:re,variant:ie,offset:se,wrapper:we,events:Se,openOnClick:b,positionStrategy:Ee,middlewares:g,delayShow:ue,delayHide:pe,float:me,hidden:ye,noArrow:T,clickable:L,closeOnEsc:C,closeOnScroll:R,closeOnResize:x,openEvents:N,closeEvents:$,globalCloseEvents:I,imperativeModeOnly:j,style:B,position:D,isOpen:M,defaultIsOpen:W,border:V,opacity:F,arrowColor:K,arrowSize:U,setIsOpen:X,afterShow:Y,afterHide:G,disableTooltip:Z,activeAnchor:ke,setActiveAnchor:e=>Te(e),role:J};return React__default.createElement(q,{...ze})}));"undefined"!=typeof window&&window.addEventListener("react-tooltip-inject-styles",(e=>{e.detail.disableCore||S({css:`:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{position:absolute;top:0;left:0;pointer-events:none;opacity:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay)ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay)ease-in}`,type:"core"}),e.detail.disableBase||S({css:`
42986
42986
  .styles-module_tooltip__mnnfp{padding:8px 16px;border-radius:3px;font-size:90%;width:max-content}.styles-module_arrow__K0L3T{width:var(--rt-arrow-size);height:var(--rt-arrow-size)}[class*='react-tooltip__place-top']>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*='react-tooltip__place-right']>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*='react-tooltip__place-bottom']>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*='react-tooltip__place-left']>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}`,type:"base"});}));
42987
42987
 
42988
42988
  const Tooltip = ({
@@ -69682,7 +69682,7 @@ function requireLodash () {
69682
69682
  }
69683
69683
 
69684
69684
  var lodashExports = requireLodash();
69685
- const _$1 = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
69685
+ const _ = /*@__PURE__*/getDefaultExportFromCjs(lodashExports);
69686
69686
 
69687
69687
  // src/hooks/useDebounce.js
69688
69688
 
@@ -70681,9 +70681,9 @@ const AddUserGroupsRolesModal = ({
70681
70681
  const handleBack = (changedExistingShares) => {
70682
70682
  console.log("changedExistingShares", changedExistingShares);
70683
70683
  setShares(changedExistingShares);
70684
- const hasPermissionChanged = !_$1.isEqual(
70685
- _$1.mapValues(existingShares, (arr) => arr.map((o) => ({ id: o.id, permission: o.permission }))),
70686
- _$1.mapValues(changedExistingShares, (arr) => arr.map((o) => ({ id: o.id, permission: o.permission })))
70684
+ const hasPermissionChanged = !_.isEqual(
70685
+ _.mapValues(existingShares, (arr) => arr.map((o) => ({ id: o.id, permission: o.permission }))),
70686
+ _.mapValues(changedExistingShares, (arr) => arr.map((o) => ({ id: o.id, permission: o.permission })))
70687
70687
  );
70688
70688
  setDataChanged(hasPermissionChanged);
70689
70689
  setView(view === ModalView.MEMBERS ? returnView : ModalView.INVITE);
@@ -75241,11 +75241,9 @@ function TreeView({
75241
75241
  }
75242
75242
 
75243
75243
  function SectionRenderer({ item, data: initialData, updateHandler, validationErrors = {} }) {
75244
- console.log(item);
75245
75244
  const [section, setSection] = React__default.useState(item);
75246
75245
  const [data, setData] = React__default.useState(() => {
75247
75246
  const sectionData = initialData && initialData[item.key] || (item.type === "datatable" ? [] : {});
75248
- console.log("Initial Section data for", item.key, sectionData);
75249
75247
  return sectionData;
75250
75248
  });
75251
75249
  const getOptions = React__default.useCallback((field) => {
@@ -75254,6 +75252,8 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75254
75252
  const configData = initialData[config];
75255
75253
  if (Array.isArray(configData)) {
75256
75254
  return configData.map((item2) => ({
75255
+ id: item2[valueField],
75256
+ // Add id for backward compatibility
75257
75257
  value: item2[valueField],
75258
75258
  label: item2[labelField]
75259
75259
  }));
@@ -75262,6 +75262,15 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75262
75262
  }
75263
75263
  return field.options || [];
75264
75264
  }, [initialData]);
75265
+ const handleFieldChange = React__default.useCallback((fieldKey, value) => {
75266
+ setData((prevData) => {
75267
+ const newData = { ...prevData, [fieldKey]: value };
75268
+ if (updateHandler) {
75269
+ updateHandler(section.key, newData);
75270
+ }
75271
+ return newData;
75272
+ });
75273
+ }, [updateHandler, section.key]);
75265
75274
  React__default.useEffect(() => {
75266
75275
  if (initialData && initialData[item.key]) {
75267
75276
  setData(initialData[item.key]);
@@ -75272,18 +75281,9 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75272
75281
  if (prevInitialDataRef.current !== initialData) {
75273
75282
  prevInitialDataRef.current = initialData;
75274
75283
  const sectionData = initialData && initialData[item.key] || {};
75275
- console.log("Updated Section data for", item.key, sectionData);
75276
75284
  setData(sectionData);
75277
75285
  }
75278
75286
  }, [initialData, item.key]);
75279
- console.log("Section data", data);
75280
- const prevDataRef = useRef(data);
75281
- useEffect(() => {
75282
- if (prevDataRef.current !== data && updateHandler && typeof updateHandler === "function") {
75283
- prevDataRef.current = data;
75284
- updateHandler(section.key, data);
75285
- }
75286
- }, [section.key, data, updateHandler]);
75287
75287
  const shouldShowField = (field) => {
75288
75288
  if (!field.dependsOn) return true;
75289
75289
  const { field: dependentField, value: requiredValue, operator = "equals" } = field.dependsOn;
@@ -75346,13 +75346,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75346
75346
  name: field.key,
75347
75347
  placeholder: field.placeholder,
75348
75348
  value: data[field.key] || field.default || "",
75349
- onChange: (e) => {
75350
- const newData = { ...data, [field.key]: e.target.value };
75351
- setData(newData);
75352
- if (updateHandler) {
75353
- updateHandler(section.key, newData);
75354
- }
75355
- },
75349
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75356
75350
  required: field.required,
75357
75351
  disabled: field.disabled ? field.disabled : false,
75358
75352
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75367,13 +75361,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75367
75361
  name: field.key,
75368
75362
  placeholder: field.placeholder,
75369
75363
  value: data[field.key] || field.default || "",
75370
- onChange: (e) => {
75371
- const newData = { ...data, [field.key]: e.target.value };
75372
- setData(newData);
75373
- if (updateHandler) {
75374
- updateHandler(section.key, newData);
75375
- }
75376
- },
75364
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75377
75365
  rows: 3,
75378
75366
  required: field.required,
75379
75367
  disabled: field.disabled ? field.disabled : false,
@@ -75390,13 +75378,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75390
75378
  name: field.key,
75391
75379
  placeholder: field.placeholder,
75392
75380
  value: data[field.key] || field.default || "",
75393
- onChange: (e) => {
75394
- const newData = { ...data, [field.key]: e.target.value };
75395
- setData(newData);
75396
- if (updateHandler) {
75397
- updateHandler(section.key, newData);
75398
- }
75399
- },
75381
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75400
75382
  required: field.required,
75401
75383
  disabled: field.disabled ? field.disabled : false,
75402
75384
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75410,13 +75392,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75410
75392
  {
75411
75393
  name: field.key,
75412
75394
  checked: Boolean(data[field.key] || field.default),
75413
- onChange: (checked) => {
75414
- const newData = { ...data, [field.key]: checked };
75415
- setData(newData);
75416
- if (updateHandler) {
75417
- updateHandler(section.key, newData);
75418
- }
75419
- },
75395
+ onChange: (checked) => handleFieldChange(field.key, checked),
75420
75396
  label: field.placeholder || field.label,
75421
75397
  disabled: field.disabled ? field.disabled : false,
75422
75398
  className: "w-full"
@@ -75430,13 +75406,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75430
75406
  {
75431
75407
  name: field.key,
75432
75408
  value: data[field.key] || field.default || "",
75433
- onChange: (value) => {
75434
- const newData = { ...data, [field.key]: value };
75435
- setData(newData);
75436
- if (updateHandler) {
75437
- updateHandler(section.key, newData);
75438
- }
75439
- },
75409
+ onChange: (value) => handleFieldChange(field.key, value),
75440
75410
  options: getOptions(field),
75441
75411
  placeholder: field.placeholder || `Select ${field.label}`,
75442
75412
  required: field.required,
@@ -75455,13 +75425,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75455
75425
  defaultValue: field.default,
75456
75426
  placeholder: field.placeholder || "Enter email address",
75457
75427
  value: data[field.key] || "",
75458
- onChange: (e) => {
75459
- const newData = { ...data, [field.key]: e.target.value };
75460
- setData(newData);
75461
- if (updateHandler) {
75462
- updateHandler(section.key, newData);
75463
- }
75464
- },
75428
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75465
75429
  required: field.required,
75466
75430
  disabled: field.disabled ? field.disabled : false,
75467
75431
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75478,13 +75442,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75478
75442
  defaultValue: field.default,
75479
75443
  placeholder: field.placeholder || "Enter URL",
75480
75444
  value: data[field.key] || "",
75481
- onChange: (e) => {
75482
- const newData = { ...data, [field.key]: e.target.value };
75483
- setData(newData);
75484
- if (updateHandler) {
75485
- updateHandler(section.key, newData);
75486
- }
75487
- },
75445
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75488
75446
  required: field.required,
75489
75447
  disabled: field.disabled ? field.disabled : false,
75490
75448
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75501,13 +75459,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75501
75459
  defaultValue: field.default,
75502
75460
  placeholder: field.placeholder || "Enter password",
75503
75461
  value: data[field.key] || "",
75504
- onChange: (e) => {
75505
- const newData = { ...data, [field.key]: e.target.value };
75506
- setData(newData);
75507
- if (updateHandler) {
75508
- updateHandler(section.key, newData);
75509
- }
75510
- },
75462
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75511
75463
  required: field.required,
75512
75464
  disabled: field.disabled ? field.disabled : false,
75513
75465
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75520,13 +75472,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75520
75472
  MultiSelect,
75521
75473
  {
75522
75474
  selectedItems: data[field.key] || [],
75523
- onSelectionChange: (selectedItems) => {
75524
- const newData = { ...data, [field.key]: selectedItems };
75525
- setData(newData);
75526
- if (updateHandler) {
75527
- updateHandler(section.key, newData);
75528
- }
75529
- },
75475
+ onSelectionChange: (selectedItems) => handleFieldChange(field.key, selectedItems),
75530
75476
  options: field.options || [],
75531
75477
  placeholder: field.placeholder || `Select ${field.label}`,
75532
75478
  disabled: field.disabled ? field.disabled : false,
@@ -75540,14 +75486,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75540
75486
  ToggleSwitch,
75541
75487
  {
75542
75488
  checked: typeof data[field.key] === "boolean" ? data[field.key] : field.default,
75543
- onChange: (isOn) => {
75544
- console.log("Toggle changed:", field.key, isOn);
75545
- const newData = { ...data, [field.key]: isOn };
75546
- setData(newData);
75547
- if (updateHandler) {
75548
- updateHandler(section.key, newData);
75549
- }
75550
- },
75489
+ onChange: (isOn) => handleFieldChange(field.key, isOn),
75551
75490
  label: field.placeholder || field.label,
75552
75491
  disabled: field.disabled ? field.disabled : false
75553
75492
  }
@@ -75559,13 +75498,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75559
75498
  {
75560
75499
  label: field.label,
75561
75500
  value: data[field.key] ? new Date(data[field.key]) : null,
75562
- onChange: (date) => {
75563
- const newData = { ...data, [field.key]: date ? date.toISOString().split("T")[0] : "" };
75564
- setData(newData);
75565
- if (updateHandler) {
75566
- updateHandler(section.key, newData);
75567
- }
75568
- },
75501
+ onChange: (date) => handleFieldChange(field.key, date ? date.toISOString().split("T")[0] : ""),
75569
75502
  placeholder: field.placeholder || "Select date",
75570
75503
  disabled: field.disabled ? field.disabled : false,
75571
75504
  error: validationErrors[section.key]?.[field.key],
@@ -75577,13 +75510,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75577
75510
  {
75578
75511
  label: field.label,
75579
75512
  value: data[field.key] || { from: null, to: null },
75580
- onChange: (dateRange) => {
75581
- const newData = { ...data, [field.key]: dateRange };
75582
- setData(newData);
75583
- if (updateHandler) {
75584
- updateHandler(section.key, newData);
75585
- }
75586
- },
75513
+ onChange: (dateRange) => handleFieldChange(field.key, dateRange),
75587
75514
  placeholder: field.placeholder || "Select date range",
75588
75515
  disabled: field.disabled ? field.disabled : false,
75589
75516
  error: validationErrors[section.key]?.[field.key],
@@ -75641,13 +75568,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75641
75568
  SearchBar,
75642
75569
  {
75643
75570
  value: data[field.key] || "",
75644
- onChange: (value) => {
75645
- const newData = { ...data, [field.key]: value };
75646
- setData(newData);
75647
- if (updateHandler) {
75648
- updateHandler(section.key, newData);
75649
- }
75650
- },
75571
+ onChange: (value) => handleFieldChange(field.key, value),
75651
75572
  placeholder: field.placeholder || `Search ${field.label}`,
75652
75573
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
75653
75574
  }
@@ -75663,13 +75584,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75663
75584
  defaultValue: field.default,
75664
75585
  placeholder: field.placeholder || "Select date and time",
75665
75586
  value: data[field.key] || "",
75666
- onChange: (e) => {
75667
- const newData = { ...data, [field.key]: e.target.value };
75668
- setData(newData);
75669
- if (updateHandler) {
75670
- updateHandler(section.key, newData);
75671
- }
75672
- },
75587
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75673
75588
  required: field.required,
75674
75589
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
75675
75590
  }
@@ -75685,13 +75600,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75685
75600
  defaultValue: field.default,
75686
75601
  placeholder: field.placeholder || "Select time",
75687
75602
  value: data[field.key] || "",
75688
- onChange: (e) => {
75689
- const newData = { ...data, [field.key]: e.target.value };
75690
- setData(newData);
75691
- if (updateHandler) {
75692
- updateHandler(section.key, newData);
75693
- }
75694
- },
75603
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75695
75604
  required: field.required,
75696
75605
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
75697
75606
  }
@@ -75706,13 +75615,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75706
75615
  name: field.key,
75707
75616
  defaultValue: field.default || "#000000",
75708
75617
  value: data[field.key] || "#000000",
75709
- onChange: (e) => {
75710
- const newData = { ...data, [field.key]: e.target.value };
75711
- setData(newData);
75712
- if (updateHandler) {
75713
- updateHandler(section.key, newData);
75714
- }
75715
- },
75618
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75716
75619
  className: `w-full h-10 ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
75717
75620
  }
75718
75621
  ),
@@ -75726,13 +75629,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75726
75629
  name: field.key,
75727
75630
  defaultValue: field.default || field.min || 0,
75728
75631
  value: data[field.key] || field.min || 0,
75729
- onChange: (e) => {
75730
- const newData = { ...data, [field.key]: e.target.value };
75731
- setData(newData);
75732
- if (updateHandler) {
75733
- updateHandler(section.key, newData);
75734
- }
75735
- },
75632
+ onChange: (e) => handleFieldChange(field.key, e.target.value),
75736
75633
  min: field.min || 0,
75737
75634
  max: field.max || 100,
75738
75635
  step: field.step || 1,
@@ -75757,11 +75654,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75757
75654
  name: field.key,
75758
75655
  onChange: (e) => {
75759
75656
  const file = e.target.files[0];
75760
- const newData = { ...data, [field.key]: file ? file.name : "" };
75761
- setData(newData);
75762
- if (updateHandler) {
75763
- updateHandler(section.key, newData);
75764
- }
75657
+ handleFieldChange(field.key, file ? file.name : "");
75765
75658
  },
75766
75659
  accept: field.accept,
75767
75660
  className: `w-full ${validationErrors[section.key]?.[field.key] ? "border-red-500" : ""}`
@@ -75776,13 +75669,7 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75776
75669
  endpoints: field.endpoints || {},
75777
75670
  initialData: data[field.key] || field.initialData || [],
75778
75671
  className: field.className || "",
75779
- onCollectionChange: (newCollections) => {
75780
- const newData = { ...data, [field.key]: newCollections };
75781
- setData(newData);
75782
- if (updateHandler) {
75783
- updateHandler(section.key, newData);
75784
- }
75785
- },
75672
+ onCollectionChange: (newCollections) => handleFieldChange(field.key, newCollections),
75786
75673
  showSearch: field.showSearch !== false,
75787
75674
  allowAdd: field.allowAdd !== false,
75788
75675
  allowEdit: field.allowEdit !== false,
@@ -75806,6 +75693,9 @@ function SectionRenderer({ item, data: initialData, updateHandler, validationErr
75806
75693
  ] }, idx)) })
75807
75694
  ] }) });
75808
75695
  }
75696
+ const SectionRenderer$1 = React__default.memo(SectionRenderer, (prevProps, nextProps) => {
75697
+ return prevProps.item === nextProps.item && prevProps.data === nextProps.data && prevProps.updateHandler === nextProps.updateHandler && JSON.stringify(prevProps.validationErrors) === JSON.stringify(nextProps.validationErrors);
75698
+ });
75809
75699
 
75810
75700
  const AvatarGroup = ({ children }) => /* @__PURE__ */ jsx("div", { className: "flex -space-x-2", children });
75811
75701
  function DataTableRenderer({ item, data: initialData, updateHandler, validationErrors = {} }) {
@@ -75813,6 +75703,7 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75813
75703
  const [section, setSection] = useState(item);
75814
75704
  const [audienceRowId, setAudienceRowId] = useState(null);
75815
75705
  const [audienceFieldName, setAudienceFieldName] = useState(null);
75706
+ const isStructuralChangeRef = useRef(false);
75816
75707
  const [data, setData] = useState(() => {
75817
75708
  const existingData = initialData && initialData[section.key] || [];
75818
75709
  return existingData.length > 0 ? existingData : [{ id: 0 }];
@@ -75820,32 +75711,35 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75820
75711
  useEffect(() => {
75821
75712
  const existingData = initialData && initialData[section.key] || [];
75822
75713
  const newData = existingData.length > 0 ? existingData : [{ id: 0 }];
75823
- console.log(`[DataTableRenderer] ${section.key} - Data update:`, {
75824
- existingData,
75825
- newData,
75826
- initialData
75714
+ setData((prevData) => {
75715
+ if (JSON.stringify(prevData) !== JSON.stringify(newData)) {
75716
+ return newData;
75717
+ }
75718
+ return prevData;
75827
75719
  });
75828
- setData(newData);
75829
75720
  }, [initialData, section.key]);
75721
+ const debounce = React__default.useCallback((func, delay) => {
75722
+ let timeoutId;
75723
+ return (...args) => {
75724
+ clearTimeout(timeoutId);
75725
+ timeoutId = setTimeout(() => func.apply(null, args), delay);
75726
+ };
75727
+ }, []);
75830
75728
  const debouncedUpdate = React__default.useCallback(
75831
- _.debounce((newData) => {
75729
+ debounce((newData) => {
75832
75730
  if (updateHandler && typeof updateHandler === "function") {
75833
75731
  updateHandler(section.key, newData);
75834
75732
  }
75835
75733
  }, 300),
75836
- [section.key, updateHandler]
75734
+ [section.key, updateHandler, debounce]
75837
75735
  );
75838
75736
  useEffect(() => {
75839
- debouncedUpdate(data);
75840
- return () => debouncedUpdate.cancel();
75737
+ if (!isStructuralChangeRef.current) {
75738
+ debouncedUpdate(data);
75739
+ } else {
75740
+ isStructuralChangeRef.current = false;
75741
+ }
75841
75742
  }, [data, debouncedUpdate]);
75842
- useEffect(() => {
75843
- return () => {
75844
- if (updateTimeoutRef.current) {
75845
- clearTimeout(updateTimeoutRef.current);
75846
- }
75847
- };
75848
- }, []);
75849
75743
  const updateFieldValue = React__default.useCallback((field, rowIndex, value) => {
75850
75744
  setData((prevData) => {
75851
75745
  const newData = [...prevData];
@@ -75853,14 +75747,14 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75853
75747
  return newData;
75854
75748
  });
75855
75749
  }, []);
75750
+ const getFieldError = React__default.useCallback((field, rowIndex) => {
75751
+ return validationErrors[section.key]?.[rowIndex]?.[field.key];
75752
+ }, [validationErrors, section.key]);
75753
+ const renderError = React__default.useCallback((field, rowIndex) => {
75754
+ const error = getFieldError(field, rowIndex);
75755
+ return error ? /* @__PURE__ */ jsx("div", { className: "text-red-500 text-xs mt-1", children: error }) : null;
75756
+ }, [getFieldError]);
75856
75757
  const getFieldRenderer = React__default.useCallback((field) => {
75857
- const getFieldError = React__default.useCallback((rowIndex) => {
75858
- return validationErrors[section.key]?.[rowIndex]?.[field.key];
75859
- }, [validationErrors, section.key, field.key]);
75860
- const renderError = React__default.useCallback((rowIndex) => {
75861
- const error = getFieldError(rowIndex);
75862
- return error ? /* @__PURE__ */ jsx("div", { className: "text-red-500 text-xs mt-1", children: error }) : null;
75863
- }, [getFieldError]);
75864
75758
  switch (field.fieldtype) {
75865
75759
  case "text":
75866
75760
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75871,10 +75765,10 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75871
75765
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75872
75766
  placeholder: field.placeholder || `Enter ${field.label}`,
75873
75767
  required: field.required,
75874
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
75768
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75875
75769
  }
75876
75770
  ),
75877
- renderError(rowIndex)
75771
+ renderError(field, rowIndex)
75878
75772
  ] });
75879
75773
  case "textarea":
75880
75774
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75885,11 +75779,11 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75885
75779
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75886
75780
  placeholder: field.placeholder || `Enter ${field.label}`,
75887
75781
  required: field.required,
75888
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`,
75782
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`,
75889
75783
  rows: 3
75890
75784
  }
75891
75785
  ),
75892
- renderError(rowIndex)
75786
+ renderError(field, rowIndex)
75893
75787
  ] });
75894
75788
  case "number":
75895
75789
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75901,10 +75795,10 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75901
75795
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75902
75796
  placeholder: field.placeholder || `Enter ${field.label}`,
75903
75797
  required: field.required,
75904
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
75798
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75905
75799
  }
75906
75800
  ),
75907
- renderError(rowIndex)
75801
+ renderError(field, rowIndex)
75908
75802
  ] });
75909
75803
  case "email":
75910
75804
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75916,10 +75810,10 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75916
75810
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75917
75811
  placeholder: field.placeholder || "Enter email address",
75918
75812
  required: field.required,
75919
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
75813
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75920
75814
  }
75921
75815
  ),
75922
- renderError(rowIndex)
75816
+ renderError(field, rowIndex)
75923
75817
  ] });
75924
75818
  case "url":
75925
75819
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75931,10 +75825,10 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75931
75825
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75932
75826
  placeholder: field.placeholder || "Enter URL",
75933
75827
  required: field.required,
75934
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
75828
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75935
75829
  }
75936
75830
  ),
75937
- renderError(rowIndex)
75831
+ renderError(field, rowIndex)
75938
75832
  ] });
75939
75833
  case "password":
75940
75834
  return (props, rowIndex) => /* @__PURE__ */ jsxs("div", { children: [
@@ -75946,48 +75840,44 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
75946
75840
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
75947
75841
  placeholder: field.placeholder || "Enter password",
75948
75842
  required: field.required,
75949
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
75843
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75950
75844
  }
75951
75845
  ),
75952
- renderError(rowIndex)
75846
+ renderError(field, rowIndex)
75953
75847
  ] });
75954
75848
  case "select":
75955
- case "dropdown": {
75956
- const options = React__default.useMemo(() => {
75849
+ case "dropdown":
75850
+ return (props, rowIndex) => {
75851
+ let options = [];
75957
75852
  if (field.optionsFrom && initialData) {
75958
75853
  const { config, valueField, labelField } = field.optionsFrom;
75959
75854
  const configData = initialData[config] || [];
75960
75855
  if (Array.isArray(configData)) {
75961
- return configData.map((item2) => ({
75856
+ options = configData.map((item2) => ({
75857
+ id: item2[valueField] || "",
75858
+ // Add id for backward compatibility
75962
75859
  value: item2[valueField] || "",
75963
75860
  label: item2[labelField] || ""
75964
75861
  }));
75965
75862
  }
75863
+ } else {
75864
+ options = field.options || [];
75966
75865
  }
75967
- return field.options || [];
75968
- }, [field.optionsFrom, initialData?.[field.optionsFrom?.config], field.options]);
75969
- const SelectField = React__default.memo(({ props, rowIndex }) => {
75970
- const handleChange = React__default.useCallback((value) => {
75971
- updateFieldValue(field, rowIndex, value);
75972
- }, [rowIndex]);
75973
- const error = getFieldError(rowIndex);
75974
75866
  return /* @__PURE__ */ jsxs("div", { children: [
75975
75867
  /* @__PURE__ */ jsx(
75976
75868
  Select,
75977
75869
  {
75978
75870
  value: props[field.key] || "",
75979
- onChange: handleChange,
75871
+ onChange: (value) => updateFieldValue(field, rowIndex, value),
75980
75872
  options,
75981
75873
  placeholder: field.placeholder || `Select ${field.label}`,
75982
75874
  required: field.required,
75983
- className: `w-full ${error ? "border-red-500" : ""}`
75875
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
75984
75876
  }
75985
75877
  ),
75986
- error && /* @__PURE__ */ jsx("div", { className: "text-red-500 text-xs mt-1", children: error })
75878
+ renderError(field, rowIndex)
75987
75879
  ] });
75988
- });
75989
- return (props, rowIndex) => /* @__PURE__ */ jsx(SelectField, { props, rowIndex });
75990
- }
75880
+ };
75991
75881
  case "multiselect":
75992
75882
  return (props, rowIndex) => {
75993
75883
  const currentValue = props[field.key] || [];
@@ -76167,17 +76057,16 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76167
76057
  onChange: (e) => updateFieldValue(field, rowIndex, e.target.value),
76168
76058
  placeholder: field.placeholder || `Enter ${field.label}`,
76169
76059
  required: field.required,
76170
- className: `w-full ${getFieldError(rowIndex) ? "border-red-500" : ""}`
76060
+ className: `w-full ${getFieldError(field, rowIndex) ? "border-red-500" : ""}`
76171
76061
  }
76172
76062
  ),
76173
- renderError(rowIndex)
76063
+ renderError(field, rowIndex)
76174
76064
  ] });
76175
76065
  }
76176
76066
  }, [updateFieldValue, validationErrors, section.key, initialData]);
76177
76067
  const addBlankRow = useCallback(() => {
76178
- console.log("[DataTableRenderer] Adding blank row");
76068
+ isStructuralChangeRef.current = true;
76179
76069
  setData((prevData) => {
76180
- console.log("[DataTableRenderer] Current data before add:", prevData);
76181
76070
  const blankRow = {
76182
76071
  id: prevData.length
76183
76072
  // Assign next available ID
@@ -76189,22 +76078,31 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76189
76078
  blankRow[field.key] = "";
76190
76079
  }
76191
76080
  });
76192
- console.log("[DataTableRenderer] New blank row:", blankRow);
76193
76081
  const newData = [...prevData, blankRow];
76194
- console.log("[DataTableRenderer] Updated data:", newData);
76082
+ setTimeout(() => {
76083
+ if (updateHandler && typeof updateHandler === "function") {
76084
+ updateHandler(section.key, newData);
76085
+ }
76086
+ }, 0);
76195
76087
  return newData;
76196
76088
  });
76197
- }, [section.fields]);
76089
+ }, [section.fields, updateHandler, section.key]);
76198
76090
  const removeRow = useCallback((index) => {
76091
+ isStructuralChangeRef.current = true;
76199
76092
  setData((prevData) => {
76200
76093
  if (prevData.length <= 1) {
76201
76094
  return prevData;
76202
76095
  }
76203
76096
  const newData = [...prevData];
76204
76097
  newData.splice(index, 1);
76098
+ setTimeout(() => {
76099
+ if (updateHandler && typeof updateHandler === "function") {
76100
+ updateHandler(section.key, newData);
76101
+ }
76102
+ }, 0);
76205
76103
  return newData;
76206
76104
  });
76207
- }, []);
76105
+ }, [updateHandler, section.key]);
76208
76106
  const [draggedIndex, setDraggedIndex] = useState(null);
76209
76107
  const handleDragStart = useCallback((e, index) => {
76210
76108
  setDraggedIndex(index);
@@ -76231,7 +76129,6 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76231
76129
  setDraggedIndex(null);
76232
76130
  }, []);
76233
76131
  const handleAddAudience = useCallback((selectedEntities) => {
76234
- console.log("[DataTableRenderer] handleAddAudience called with:", selectedEntities);
76235
76132
  setData((prevData) => {
76236
76133
  const newData = [...prevData];
76237
76134
  if (audienceRowId !== null && audienceFieldName && newData[audienceRowId]) {
@@ -76244,7 +76141,6 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76244
76141
  groups: [...newData[audienceRowId][audienceFieldName]?.groups || [], ...groups],
76245
76142
  roles: [...newData[audienceRowId][audienceFieldName]?.roles || [], ...roles]
76246
76143
  };
76247
- console.log("[DataTableRenderer] Updated audience data:", newData[audienceRowId][audienceFieldName]);
76248
76144
  }
76249
76145
  return newData;
76250
76146
  });
@@ -76290,7 +76186,7 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76290
76186
  onDragEnd: handleDragEnd,
76291
76187
  children: [
76292
76188
  /* @__PURE__ */ jsx("td", { className: "px-4 py-2 ", children: /* @__PURE__ */ jsx("div", { className: "cursor-move text-gray-400 hover:text-gray-600", children: /* @__PURE__ */ jsx(GripVertical, { size: 16 }) }) }),
76293
- section.fields.map((field, fieldIndex) => /* @__PURE__ */ jsx("td", { className: "px-4 py-2 ", children: getFieldRenderer(field)(row, rowIndex) }, fieldIndex)),
76189
+ section.fields.map((field, fieldIndex) => /* @__PURE__ */ jsx("td", { className: "px-4 py-2 ", children: getFieldRenderer(field)(row, rowIndex) }, `field-${rowIndex}-${fieldIndex}-${field.key}`)),
76294
76190
  /* @__PURE__ */ jsx("td", { className: "px-4 py-2 ", children: /* @__PURE__ */ jsx(
76295
76191
  "button",
76296
76192
  {
@@ -76302,7 +76198,7 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76302
76198
  ) })
76303
76199
  ]
76304
76200
  },
76305
- rowIndex
76201
+ `row-${rowIndex}-${row.id || "empty"}`
76306
76202
  )) })
76307
76203
  ] }) }),
76308
76204
  audienceRowId !== null && (() => {
@@ -76311,9 +76207,6 @@ function DataTableRenderer({ item, data: initialData, updateHandler, validationE
76311
76207
  groups: data[audienceRowId][audienceFieldName].groups || [],
76312
76208
  roles: data[audienceRowId][audienceFieldName].roles || []
76313
76209
  } : { users: [], groups: [], roles: [] };
76314
- console.log("[DataTableRenderer] Opening modal with existing data:", existingAudienceData);
76315
- console.log("[DataTableRenderer] Row data:", data[audienceRowId]);
76316
- console.log("[DataTableRenderer] Field name:", audienceFieldName);
76317
76210
  return /* @__PURE__ */ jsx(
76318
76211
  AddUserGroupsRolesModal,
76319
76212
  {
@@ -76769,7 +76662,7 @@ const UnknownType = ({ item }) => /* @__PURE__ */ jsxs("div", { className: "p-3
76769
76662
  /* @__PURE__ */ jsx("span", { className: "font-mono", children: String(item?.type ?? "N/A") })
76770
76663
  ] });
76771
76664
  const REGISTRY = /* @__PURE__ */ Object.create(null);
76772
- REGISTRY.section = SectionRenderer;
76665
+ REGISTRY.section = SectionRenderer$1;
76773
76666
  REGISTRY.datatable = DataTableRenderer$1;
76774
76667
  REGISTRY.managecollectionlist = ManageCollectionListRenderer;
76775
76668
  REGISTRY["manage-collection-list"] = ManageCollectionListRenderer;
@@ -76939,16 +76832,10 @@ function DynamicConfig({
76939
76832
  }
76940
76833
  }
76941
76834
  }, [configdata, reload, appid, disableApi]);
76942
- const handleSectionChange = (name, sectiondata) => {
76943
- console.log("Section change:", { name, sectiondata });
76835
+ const handleSectionChange = React__default.useCallback((name, sectiondata) => {
76944
76836
  setData((prev) => {
76945
76837
  const newData = JSON.parse(JSON.stringify(prev || {}));
76946
76838
  newData[name] = sectiondata;
76947
- console.log("Complete data after update:", {
76948
- updatedSection: name,
76949
- sectionData: sectiondata,
76950
- allData: newData
76951
- });
76952
76839
  return newData;
76953
76840
  });
76954
76841
  setValidationErrors((prevErrors) => {
@@ -76958,7 +76845,7 @@ function DynamicConfig({
76958
76845
  }
76959
76846
  return newErrors;
76960
76847
  });
76961
- };
76848
+ }, []);
76962
76849
  const validateRequiredFields = () => {
76963
76850
  const errors = {};
76964
76851
  if (!config || !data) {