@senyao-design-system/magic-tree
Version:
A tree component implemented with Konva for handling large datasets.
46 lines (43 loc) • 42.6 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),Ct=require("react-dom"),J=require("react-konva"),Tt=require("konva"),ir=require("react-konva-utils");function wt(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return r.default=e,Object.freeze(r)}const Re=wt(P);var cr={exports:{}},De={};/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ar;function Pt(){if(Ar)return De;Ar=1;var e=P,r=Symbol.for("react.element"),n=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function u(d,f,m){var p,y={},L=null,$=null;m!==void 0&&(L=""+m),f.key!==void 0&&(L=""+f.key),f.ref!==void 0&&($=f.ref);for(p in f)a.call(f,p)&&!i.hasOwnProperty(p)&&(y[p]=f[p]);if(d&&d.defaultProps)for(p in f=d.defaultProps,f)y[p]===void 0&&(y[p]=f[p]);return{$$typeof:r,type:d,key:L,ref:$,props:y,_owner:o.current}}return De.Fragment=n,De.jsx=u,De.jsxs=u,De}var Fe={};/**
* @license React
* react-jsx-runtime.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var $r;function Ot(){return $r||($r=1,process.env.NODE_ENV!=="production"&&function(){var e=P,r=Symbol.for("react.element"),n=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),d=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),$=Symbol.for("react.offscreen"),E=Symbol.iterator,_="@@iterator";function V(t){if(t===null||typeof t!="object")return null;var s=E&&t[E]||t[_];return typeof s=="function"?s:null}var T=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(t){{for(var s=arguments.length,l=new Array(s>1?s-1:0),b=1;b<s;b++)l[b-1]=arguments[b];A("error",t,l)}}function A(t,s,l){{var b=T.ReactDebugCurrentFrame,I=b.getStackAddendum();I!==""&&(s+="%s",l=l.concat([I]));var N=l.map(function(O){return String(O)});N.unshift("Warning: "+s),Function.prototype.apply.call(console[t],console,N)}}var j=!1,c=!1,G=!1,R=!1,ve=!1,ce;ce=Symbol.for("react.module.reference");function ne(t){return!!(typeof t=="string"||typeof t=="function"||t===a||t===i||ve||t===o||t===m||t===p||R||t===$||j||c||G||typeof t=="object"&&t!==null&&(t.$$typeof===L||t.$$typeof===y||t.$$typeof===u||t.$$typeof===d||t.$$typeof===f||t.$$typeof===ce||t.getModuleId!==void 0))}function ee(t,s,l){var b=t.displayName;if(b)return b;var I=s.displayName||s.name||"";return I!==""?l+"("+I+")":l}function xe(t){return t.displayName||"Context"}function U(t){if(t==null)return null;if(typeof t.tag=="number"&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case a:return"Fragment";case n:return"Portal";case i:return"Profiler";case o:return"StrictMode";case m:return"Suspense";case p:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case d:var s=t;return xe(s)+".Consumer";case u:var l=t;return xe(l._context)+".Provider";case f:return ee(t,t.render,"ForwardRef");case y:var b=t.displayName||null;return b!==null?b:U(t.type)||"Memo";case L:{var I=t,N=I._payload,O=I._init;try{return U(O(N))}catch{return null}}}return null}var Z=Object.assign,H=0,pe,fe,re,Ce,ye,oe,S;function Y(){}Y.__reactDisabledLog=!0;function le(){{if(H===0){pe=console.log,fe=console.info,re=console.warn,Ce=console.error,ye=console.group,oe=console.groupCollapsed,S=console.groupEnd;var t={configurable:!0,enumerable:!0,value:Y,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}H++}}function he(){{if(H--,H===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Z({},t,{value:pe}),info:Z({},t,{value:fe}),warn:Z({},t,{value:re}),error:Z({},t,{value:Ce}),group:Z({},t,{value:ye}),groupCollapsed:Z({},t,{value:oe}),groupEnd:Z({},t,{value:S})})}H<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var we=T.ReactCurrentDispatcher,h;function x(t,s,l){{if(h===void 0)try{throw Error()}catch(I){var b=I.stack.trim().match(/\n( *(at )?)/);h=b&&b[1]||""}return`
`+h+t}}var C=!1,W;{var K=typeof WeakMap=="function"?WeakMap:Map;W=new K}function v(t,s){if(!t||C)return"";{var l=W.get(t);if(l!==void 0)return l}var b;C=!0;var I=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var N;N=we.current,we.current=null,le();try{if(s){var O=function(){throw Error()};if(Object.defineProperty(O.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(O,[])}catch(ie){b=ie}Reflect.construct(t,[],O)}else{try{O.call()}catch(ie){b=ie}t.call(O.prototype)}}else{try{throw Error()}catch(ie){b=ie}t()}}catch(ie){if(ie&&b&&typeof ie.stack=="string"){for(var w=ie.stack.split(`
`),ae=b.stack.split(`
`),B=w.length-1,q=ae.length-1;B>=1&&q>=0&&w[B]!==ae[q];)q--;for(;B>=1&&q>=0;B--,q--)if(w[B]!==ae[q]){if(B!==1||q!==1)do if(B--,q--,q<0||w[B]!==ae[q]){var de=`
`+w[B].replace(" at new "," at ");return t.displayName&&de.includes("<anonymous>")&&(de=de.replace("<anonymous>",t.displayName)),typeof t=="function"&&W.set(t,de),de}while(B>=1&&q>=0);break}}}finally{C=!1,we.current=N,he(),Error.prepareStackTrace=I}var Ae=t?t.displayName||t.name:"",Pe=Ae?x(Ae):"";return typeof t=="function"&&W.set(t,Pe),Pe}function me(t,s,l){return v(t,!1)}function Te(t){var s=t.prototype;return!!(s&&s.isReactComponent)}function Se(t,s,l){if(t==null)return"";if(typeof t=="function")return v(t,Te(t));if(typeof t=="string")return x(t);switch(t){case m:return x("Suspense");case p:return x("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case f:return me(t.render);case y:return Se(t.type,s,l);case L:{var b=t,I=b._payload,N=b._init;try{return Se(N(I),s,l)}catch{}}}return""}var _e=Object.prototype.hasOwnProperty,mr={},yr=T.ReactDebugCurrentFrame;function Ve(t){if(t){var s=t._owner,l=Se(t.type,t._source,s?s.type:null);yr.setExtraStackFrame(l)}else yr.setExtraStackFrame(null)}function nt(t,s,l,b,I){{var N=Function.call.bind(_e);for(var O in t)if(N(t,O)){var w=void 0;try{if(typeof t[O]!="function"){var ae=Error((b||"React class")+": "+l+" type `"+O+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[O]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ae.name="Invariant Violation",ae}w=t[O](s,O,b,l,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(B){w=B}w&&!(w instanceof Error)&&(Ve(I),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",b||"React class",l,O,typeof w),Ve(null)),w instanceof Error&&!(w.message in mr)&&(mr[w.message]=!0,Ve(I),g("Failed %s type: %s",l,w.message),Ve(null))}}}var at=Array.isArray;function rr(t){return at(t)}function ot(t){{var s=typeof Symbol=="function"&&Symbol.toStringTag,l=s&&t[Symbol.toStringTag]||t.constructor.name||"Object";return l}}function it(t){try{return br(t),!1}catch{return!0}}function br(t){return""+t}function gr(t){if(it(t))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ot(t)),br(t)}var Er=T.ReactCurrentOwner,st={key:!0,ref:!0,__self:!0,__source:!0},xr,Sr;function ct(t){if(_e.call(t,"ref")){var s=Object.getOwnPropertyDescriptor(t,"ref").get;if(s&&s.isReactWarning)return!1}return t.ref!==void 0}function ut(t){if(_e.call(t,"key")){var s=Object.getOwnPropertyDescriptor(t,"key").get;if(s&&s.isReactWarning)return!1}return t.key!==void 0}function ft(t,s){typeof t.ref=="string"&&Er.current}function lt(t,s){{var l=function(){xr||(xr=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};l.isReactWarning=!0,Object.defineProperty(t,"key",{get:l,configurable:!0})}}function dt(t,s){{var l=function(){Sr||(Sr=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",s))};l.isReactWarning=!0,Object.defineProperty(t,"ref",{get:l,configurable:!0})}}var vt=function(t,s,l,b,I,N,O){var w={$$typeof:r,type:t,key:s,ref:l,props:O,_owner:N};return w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(w,"_self",{configurable:!1,enumerable:!1,writable:!1,value:b}),Object.defineProperty(w,"_source",{configurable:!1,enumerable:!1,writable:!1,value:I}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w};function pt(t,s,l,b,I){{var N,O={},w=null,ae=null;l!==void 0&&(gr(l),w=""+l),ut(s)&&(gr(s.key),w=""+s.key),ct(s)&&(ae=s.ref,ft(s,I));for(N in s)_e.call(s,N)&&!st.hasOwnProperty(N)&&(O[N]=s[N]);if(t&&t.defaultProps){var B=t.defaultProps;for(N in B)O[N]===void 0&&(O[N]=B[N])}if(w||ae){var q=typeof t=="function"?t.displayName||t.name||"Unknown":t;w&<(O,q),ae&&dt(O,q)}return vt(t,w,ae,I,b,Er.current,O)}}var tr=T.ReactCurrentOwner,_r=T.ReactDebugCurrentFrame;function Oe(t){if(t){var s=t._owner,l=Se(t.type,t._source,s?s.type:null);_r.setExtraStackFrame(l)}else _r.setExtraStackFrame(null)}var nr;nr=!1;function ar(t){return typeof t=="object"&&t!==null&&t.$$typeof===r}function Rr(){{if(tr.current){var t=U(tr.current.type);if(t)return`
Check the render method of \``+t+"`."}return""}}function ht(t){return""}var Cr={};function mt(t){{var s=Rr();if(!s){var l=typeof t=="string"?t:t.displayName||t.name;l&&(s=`
Check the top-level render call using <`+l+">.")}return s}}function Tr(t,s){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var l=mt(s);if(Cr[l])return;Cr[l]=!0;var b="";t&&t._owner&&t._owner!==tr.current&&(b=" It was passed a child from "+U(t._owner.type)+"."),Oe(t),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',l,b),Oe(null)}}function wr(t,s){{if(typeof t!="object")return;if(rr(t))for(var l=0;l<t.length;l++){var b=t[l];ar(b)&&Tr(b,s)}else if(ar(t))t._store&&(t._store.validated=!0);else if(t){var I=V(t);if(typeof I=="function"&&I!==t.entries)for(var N=I.call(t),O;!(O=N.next()).done;)ar(O.value)&&Tr(O.value,s)}}}function yt(t){{var s=t.type;if(s==null||typeof s=="string")return;var l;if(typeof s=="function")l=s.propTypes;else if(typeof s=="object"&&(s.$$typeof===f||s.$$typeof===y))l=s.propTypes;else return;if(l){var b=U(s);nt(l,t.props,"prop",b,t)}else if(s.PropTypes!==void 0&&!nr){nr=!0;var I=U(s);g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I||"Unknown")}typeof s.getDefaultProps=="function"&&!s.getDefaultProps.isReactClassApproved&&g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function bt(t){{for(var s=Object.keys(t.props),l=0;l<s.length;l++){var b=s[l];if(b!=="children"&&b!=="key"){Oe(t),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",b),Oe(null);break}}t.ref!==null&&(Oe(t),g("Invalid attribute `ref` supplied to `React.Fragment`."),Oe(null))}}var Pr={};function Or(t,s,l,b,I,N){{var O=ne(t);if(!O){var w="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(w+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var ae=ht();ae?w+=ae:w+=Rr();var B;t===null?B="null":rr(t)?B="array":t!==void 0&&t.$$typeof===r?(B="<"+(U(t.type)||"Unknown")+" />",w=" Did you accidentally export a JSX literal instead of a component?"):B=typeof t,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",B,w)}var q=pt(t,s,l,I,N);if(q==null)return q;if(O){var de=s.children;if(de!==void 0)if(b)if(rr(de)){for(var Ae=0;Ae<de.length;Ae++)wr(de[Ae],t);Object.freeze&&Object.freeze(de)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else wr(de,t)}if(_e.call(s,"key")){var Pe=U(t),ie=Object.keys(s).filter(function(Rt){return Rt!=="key"}),or=ie.length>0?"{key: someKey, "+ie.join(": ..., ")+": ...}":"{key: someKey}";if(!Pr[Pe+or]){var _t=ie.length>0?"{"+ie.join(": ..., ")+": ...}":"{}";g(`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`,or,Pe,_t,Pe),Pr[Pe+or]=!0}}return t===a?bt(q):yt(q),q}}function gt(t,s,l){return Or(t,s,l,!0)}function Et(t,s,l){return Or(t,s,l,!1)}var xt=Et,St=gt;Fe.Fragment=a,Fe.jsx=xt,Fe.jsxs=St}()),Fe}process.env.NODE_ENV==="production"?cr.exports=Pt():cr.exports=Ot();var He=cr.exports;function At(e){if(e.sheet)return e.sheet;for(var r=0;r<document.styleSheets.length;r++)if(document.styleSheets[r].ownerNode===e)return document.styleSheets[r]}function $t(e){var r=document.createElement("style");return r.setAttribute("data-emotion",e.key),e.nonce!==void 0&&r.setAttribute("nonce",e.nonce),r.appendChild(document.createTextNode("")),r.setAttribute("data-s",""),r}var Mt=function(){function e(n){var a=this;this._insertTag=function(o){var i;a.tags.length===0?a.insertionPoint?i=a.insertionPoint.nextSibling:a.prepend?i=a.container.firstChild:i=a.before:i=a.tags[a.tags.length-1].nextSibling,a.container.insertBefore(o,i),a.tags.push(o)},this.isSpeedy=n.speedy===void 0?!0:n.speedy,this.tags=[],this.ctr=0,this.nonce=n.nonce,this.key=n.key,this.container=n.container,this.prepend=n.prepend,this.insertionPoint=n.insertionPoint,this.before=null}var r=e.prototype;return r.hydrate=function(a){a.forEach(this._insertTag)},r.insert=function(a){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag($t(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=At(o);try{i.insertRule(a,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(a));this.ctr++},r.flush=function(){this.tags.forEach(function(a){var o;return(o=a.parentNode)==null?void 0:o.removeChild(a)}),this.tags=[],this.ctr=0},e}(),te="-ms-",Ke="-moz-",M="-webkit-",Ur="comm",vr="rule",pr="decl",kt="@import",Vr="@keyframes",It="@layer",Dt=Math.abs,Je=String.fromCharCode,Ft=Object.assign;function jt(e,r){return Q(e,0)^45?(((r<<2^Q(e,0))<<2^Q(e,1))<<2^Q(e,2))<<2^Q(e,3):0}function Gr(e){return e.trim()}function Nt(e,r){return(e=r.exec(e))?e[0]:e}function k(e,r,n){return e.replace(r,n)}function ur(e,r){return e.indexOf(r)}function Q(e,r){return e.charCodeAt(r)|0}function Le(e,r,n){return e.slice(r,n)}function be(e){return e.length}function hr(e){return e.length}function Ge(e,r){return r.push(e),e}function Lt(e,r){return e.map(r).join("")}var Ze=1,ke=1,zr=0,se=0,X=0,Ie="";function Qe(e,r,n,a,o,i,u){return{value:e,root:r,parent:n,type:a,props:o,children:i,line:Ze,column:ke,length:u,return:""}}function je(e,r){return Ft(Qe("",null,null,"",null,null,0),e,{length:-e.length},r)}function Yt(){return X}function Wt(){return X=se>0?Q(Ie,--se):0,ke--,X===10&&(ke=1,Ze--),X}function ue(){return X=se<zr?Q(Ie,se++):0,ke++,X===10&&(ke=1,Ze++),X}function Ee(){return Q(Ie,se)}function ze(){return se}function Ue(e,r){return Le(Ie,e,r)}function Ye(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Br(e){return Ze=ke=1,zr=be(Ie=e),se=0,[]}function qr(e){return Ie="",e}function Be(e){return Gr(Ue(se-1,fr(e===91?e+2:e===40?e+1:e)))}function Ut(e){for(;(X=Ee())&&X<33;)ue();return Ye(e)>2||Ye(X)>3?"":" "}function Vt(e,r){for(;--r&&ue()&&!(X<48||X>102||X>57&&X<65||X>70&&X<97););return Ue(e,ze()+(r<6&&Ee()==32&&ue()==32))}function fr(e){for(;ue();)switch(X){case e:return se;case 34:case 39:e!==34&&e!==39&&fr(X);break;case 40:e===41&&fr(e);break;case 92:ue();break}return se}function Gt(e,r){for(;ue()&&e+X!==57;)if(e+X===84&&Ee()===47)break;return"/*"+Ue(r,se-1)+"*"+Je(e===47?e:ue())}function zt(e){for(;!Ye(Ee());)ue();return Ue(e,se)}function Bt(e){return qr(qe("",null,null,null,[""],e=Br(e),0,[0],e))}function qe(e,r,n,a,o,i,u,d,f){for(var m=0,p=0,y=u,L=0,$=0,E=0,_=1,V=1,T=1,g=0,A="",j=o,c=i,G=a,R=A;V;)switch(E=g,g=ue()){case 40:if(E!=108&&Q(R,y-1)==58){ur(R+=k(Be(g),"&","&\f"),"&\f")!=-1&&(T=-1);break}case 34:case 39:case 91:R+=Be(g);break;case 9:case 10:case 13:case 32:R+=Ut(E);break;case 92:R+=Vt(ze()-1,7);continue;case 47:switch(Ee()){case 42:case 47:Ge(qt(Gt(ue(),ze()),r,n),f);break;default:R+="/"}break;case 123*_:d[m++]=be(R)*T;case 125*_:case 59:case 0:switch(g){case 0:case 125:V=0;case 59+p:T==-1&&(R=k(R,/\f/g,"")),$>0&&be(R)-y&&Ge($>32?kr(R+";",a,n,y-1):kr(k(R," ","")+";",a,n,y-2),f);break;case 59:R+=";";default:if(Ge(G=Mr(R,r,n,m,p,o,d,A,j=[],c=[],y),i),g===123)if(p===0)qe(R,r,G,G,j,i,y,d,c);else switch(L===99&&Q(R,3)===110?100:L){case 100:case 108:case 109:case 115:qe(e,G,G,a&&Ge(Mr(e,G,G,0,0,o,d,A,o,j=[],y),c),o,c,y,d,a?j:c);break;default:qe(R,G,G,G,[""],c,0,d,c)}}m=p=$=0,_=T=1,A=R="",y=u;break;case 58:y=1+be(R),$=E;default:if(_<1){if(g==123)--_;else if(g==125&&_++==0&&Wt()==125)continue}switch(R+=Je(g),g*_){case 38:T=p>0?1:(R+="\f",-1);break;case 44:d[m++]=(be(R)-1)*T,T=1;break;case 64:Ee()===45&&(R+=Be(ue())),L=Ee(),p=y=be(A=R+=zt(ze())),g++;break;case 45:E===45&&be(R)==2&&(_=0)}}return i}function Mr(e,r,n,a,o,i,u,d,f,m,p){for(var y=o-1,L=o===0?i:[""],$=hr(L),E=0,_=0,V=0;E<a;++E)for(var T=0,g=Le(e,y+1,y=Dt(_=u[E])),A=e;T<$;++T)(A=Gr(_>0?L[T]+" "+g:k(g,/&\f/g,L[T])))&&(f[V++]=A);return Qe(e,r,n,o===0?vr:d,f,m,p)}function qt(e,r,n){return Qe(e,r,n,Ur,Je(Yt()),Le(e,2,-2),0)}function kr(e,r,n,a){return Qe(e,r,n,pr,Le(e,0,a),Le(e,a+1,-1),a)}function Me(e,r){for(var n="",a=hr(e),o=0;o<a;o++)n+=r(e[o],o,e,r)||"";return n}function Xt(e,r,n,a){switch(e.type){case It:if(e.children.length)break;case kt:case pr:return e.return=e.return||e.value;case Ur:return"";case Vr:return e.return=e.value+"{"+Me(e.children,a)+"}";case vr:e.value=e.props.join(",")}return be(n=Me(e.children,a))?e.return=e.value+"{"+n+"}":""}function Ht(e){var r=hr(e);return function(n,a,o,i){for(var u="",d=0;d<r;d++)u+=e[d](n,a,o,i)||"";return u}}function Kt(e){return function(r){r.root||(r=r.return)&&e(r)}}function Jt(e){var r=Object.create(null);return function(n){return r[n]===void 0&&(r[n]=e(n)),r[n]}}var Zt=function(r,n,a){for(var o=0,i=0;o=i,i=Ee(),o===38&&i===12&&(n[a]=1),!Ye(i);)ue();return Ue(r,se)},Qt=function(r,n){var a=-1,o=44;do switch(Ye(o)){case 0:o===38&&Ee()===12&&(n[a]=1),r[a]+=Zt(se-1,n,a);break;case 2:r[a]+=Be(o);break;case 4:if(o===44){r[++a]=Ee()===58?"&\f":"",n[a]=r[a].length;break}default:r[a]+=Je(o)}while(o=ue());return r},en=function(r,n){return qr(Qt(Br(r),n))},Ir=new WeakMap,rn=function(r){if(!(r.type!=="rule"||!r.parent||r.length<1)){for(var n=r.value,a=r.parent,o=r.column===a.column&&r.line===a.line;a.type!=="rule";)if(a=a.parent,!a)return;if(!(r.props.length===1&&n.charCodeAt(0)!==58&&!Ir.get(a))&&!o){Ir.set(r,!0);for(var i=[],u=en(n,i),d=a.props,f=0,m=0;f<u.length;f++)for(var p=0;p<d.length;p++,m++)r.props[m]=i[f]?u[f].replace(/&\f/g,d[p]):d[p]+" "+u[f]}}},tn=function(r){if(r.type==="decl"){var n=r.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(r.return="",r.value="")}};function Xr(e,r){switch(jt(e,r)){case 5103:return M+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return M+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return M+e+Ke+e+te+e+e;case 6828:case 4268:return M+e+te+e+e;case 6165:return M+e+te+"flex-"+e+e;case 5187:return M+e+k(e,/(\w+).+(:[^]+)/,M+"box-$1$2"+te+"flex-$1$2")+e;case 5443:return M+e+te+"flex-item-"+k(e,/flex-|-self/,"")+e;case 4675:return M+e+te+"flex-line-pack"+k(e,/align-content|flex-|-self/,"")+e;case 5548:return M+e+te+k(e,"shrink","negative")+e;case 5292:return M+e+te+k(e,"basis","preferred-size")+e;case 6060:return M+"box-"+k(e,"-grow","")+M+e+te+k(e,"grow","positive")+e;case 4554:return M+k(e,/([^-])(transform)/g,"$1"+M+"$2")+e;case 6187:return k(k(k(e,/(zoom-|grab)/,M+"$1"),/(image-set)/,M+"$1"),e,"")+e;case 5495:case 3959:return k(e,/(image-set\([^]*)/,M+"$1$`$1");case 4968:return k(k(e,/(.+:)(flex-)?(.*)/,M+"box-pack:$3"+te+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+M+e+e;case 4095:case 3583:case 4068:case 2532:return k(e,/(.+)-inline(.+)/,M+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(be(e)-1-r>6)switch(Q(e,r+1)){case 109:if(Q(e,r+4)!==45)break;case 102:return k(e,/(.+:)(.+)-([^]+)/,"$1"+M+"$2-$3$1"+Ke+(Q(e,r+3)==108?"$3":"$2-$3"))+e;case 115:return~ur(e,"stretch")?Xr(k(e,"stretch","fill-available"),r)+e:e}break;case 4949:if(Q(e,r+1)!==115)break;case 6444:switch(Q(e,be(e)-3-(~ur(e,"!important")&&10))){case 107:return k(e,":",":"+M)+e;case 101:return k(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+M+(Q(e,14)===45?"inline-":"")+"box$3$1"+M+"$2$3$1"+te+"$2box$3")+e}break;case 5936:switch(Q(e,r+11)){case 114:return M+e+te+k(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return M+e+te+k(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return M+e+te+k(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return M+e+te+e+e}return e}var nn=function(r,n,a,o){if(r.length>-1&&!r.return)switch(r.type){case pr:r.return=Xr(r.value,r.length);break;case Vr:return Me([je(r,{value:k(r.value,"@","@"+M)})],o);case vr:if(r.length)return Lt(r.props,function(i){switch(Nt(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Me([je(r,{props:[k(i,/:(read-\w+)/,":"+Ke+"$1")]})],o);case"::placeholder":return Me([je(r,{props:[k(i,/:(plac\w+)/,":"+M+"input-$1")]}),je(r,{props:[k(i,/:(plac\w+)/,":"+Ke+"$1")]}),je(r,{props:[k(i,/:(plac\w+)/,te+"input-$1")]})],o)}return""})}},an=[nn],on=function(r){var n=r.key;if(n==="css"){var a=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(a,function(_){var V=_.getAttribute("data-emotion");V.indexOf(" ")!==-1&&(document.head.appendChild(_),_.setAttribute("data-s",""))})}var o=r.stylisPlugins||an,i={},u,d=[];u=r.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(_){for(var V=_.getAttribute("data-emotion").split(" "),T=1;T<V.length;T++)i[V[T]]=!0;d.push(_)});var f,m=[rn,tn];{var p,y=[Xt,Kt(function(_){p.insert(_)})],L=Ht(m.concat(o,y)),$=function(V){return Me(Bt(V),L)};f=function(V,T,g,A){p=g,$(V?V+"{"+T.styles+"}":T.styles),A&&(E.inserted[T.name]=!0)}}var E={key:n,sheet:new Mt({key:n,container:u,nonce:r.nonce,speedy:r.speedy,prepend:r.prepend,insertionPoint:r.insertionPoint}),nonce:r.nonce,inserted:i,registered:{},insert:f};return E.sheet.hydrate(d),E},lr={exports:{}},D={};/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Dr;function sn(){if(Dr)return D;Dr=1;var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,a=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,d=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,m=e?Symbol.for("react.concurrent_mode"):60111,p=e?Symbol.for("react.forward_ref"):60112,y=e?Symbol.for("react.suspense"):60113,L=e?Symbol.for("react.suspense_list"):60120,$=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,_=e?Symbol.for("react.block"):60121,V=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,g=e?Symbol.for("react.scope"):60119;function A(c){if(typeof c=="object"&&c!==null){var G=c.$$typeof;switch(G){case r:switch(c=c.type,c){case f:case m:case a:case i:case o:case y:return c;default:switch(c=c&&c.$$typeof,c){case d:case p:case E:case $:case u:return c;default:return G}}case n:return G}}}function j(c){return A(c)===m}return D.AsyncMode=f,D.ConcurrentMode=m,D.ContextConsumer=d,D.ContextProvider=u,D.Element=r,D.ForwardRef=p,D.Fragment=a,D.Lazy=E,D.Memo=$,D.Portal=n,D.Profiler=i,D.StrictMode=o,D.Suspense=y,D.isAsyncMode=function(c){return j(c)||A(c)===f},D.isConcurrentMode=j,D.isContextConsumer=function(c){return A(c)===d},D.isContextProvider=function(c){return A(c)===u},D.isElement=function(c){return typeof c=="object"&&c!==null&&c.$$typeof===r},D.isForwardRef=function(c){return A(c)===p},D.isFragment=function(c){return A(c)===a},D.isLazy=function(c){return A(c)===E},D.isMemo=function(c){return A(c)===$},D.isPortal=function(c){return A(c)===n},D.isProfiler=function(c){return A(c)===i},D.isStrictMode=function(c){return A(c)===o},D.isSuspense=function(c){return A(c)===y},D.isValidElementType=function(c){return typeof c=="string"||typeof c=="function"||c===a||c===m||c===i||c===o||c===y||c===L||typeof c=="object"&&c!==null&&(c.$$typeof===E||c.$$typeof===$||c.$$typeof===u||c.$$typeof===d||c.$$typeof===p||c.$$typeof===V||c.$$typeof===T||c.$$typeof===g||c.$$typeof===_)},D.typeOf=A,D}var F={};/** @license React v16.13.1
* react-is.development.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Fr;function cn(){return Fr||(Fr=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,a=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,d=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,m=e?Symbol.for("react.concurrent_mode"):60111,p=e?Symbol.for("react.forward_ref"):60112,y=e?Symbol.for("react.suspense"):60113,L=e?Symbol.for("react.suspense_list"):60120,$=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,_=e?Symbol.for("react.block"):60121,V=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,g=e?Symbol.for("react.scope"):60119;function A(v){return typeof v=="string"||typeof v=="function"||v===a||v===m||v===i||v===o||v===y||v===L||typeof v=="object"&&v!==null&&(v.$$typeof===E||v.$$typeof===$||v.$$typeof===u||v.$$typeof===d||v.$$typeof===p||v.$$typeof===V||v.$$typeof===T||v.$$typeof===g||v.$$typeof===_)}function j(v){if(typeof v=="object"&&v!==null){var me=v.$$typeof;switch(me){case r:var Te=v.type;switch(Te){case f:case m:case a:case i:case o:case y:return Te;default:var Se=Te&&Te.$$typeof;switch(Se){case d:case p:case E:case $:case u:return Se;default:return me}}case n:return me}}}var c=f,G=m,R=d,ve=u,ce=r,ne=p,ee=a,xe=E,U=$,Z=n,H=i,pe=o,fe=y,re=!1;function Ce(v){return re||(re=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),ye(v)||j(v)===f}function ye(v){return j(v)===m}function oe(v){return j(v)===d}function S(v){return j(v)===u}function Y(v){return typeof v=="object"&&v!==null&&v.$$typeof===r}function le(v){return j(v)===p}function he(v){return j(v)===a}function we(v){return j(v)===E}function h(v){return j(v)===$}function x(v){return j(v)===n}function C(v){return j(v)===i}function W(v){return j(v)===o}function K(v){return j(v)===y}F.AsyncMode=c,F.ConcurrentMode=G,F.ContextConsumer=R,F.ContextProvider=ve,F.Element=ce,F.ForwardRef=ne,F.Fragment=ee,F.Lazy=xe,F.Memo=U,F.Portal=Z,F.Profiler=H,F.StrictMode=pe,F.Suspense=fe,F.isAsyncMode=Ce,F.isConcurrentMode=ye,F.isContextConsumer=oe,F.isContextProvider=S,F.isElement=Y,F.isForwardRef=le,F.isFragment=he,F.isLazy=we,F.isMemo=h,F.isPortal=x,F.isProfiler=C,F.isStrictMode=W,F.isSuspense=K,F.isValidElementType=A,F.typeOf=j}()),F}process.env.NODE_ENV==="production"?lr.exports=sn():lr.exports=cn();var un=lr.exports,Hr=un,fn={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ln={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Kr={};Kr[Hr.ForwardRef]=fn;Kr[Hr.Memo]=ln;var dn=!0;function vn(e,r,n){var a="";return n.split(" ").forEach(function(o){e[o]!==void 0?r.push(e[o]+";"):o&&(a+=o+" ")}),a}var Jr=function(r,n,a){var o=r.key+"-"+n.name;(a===!1||dn===!1)&&r.registered[o]===void 0&&(r.registered[o]=n.styles)},pn=function(r,n,a){Jr(r,n,a);var o=r.key+"-"+n.name;if(r.inserted[n.name]===void 0){var i=n;do r.insert(n===i?"."+o:"",i,r.sheet,!0),i=i.next;while(i!==void 0)}};function hn(e){for(var r=0,n,a=0,o=e.length;o>=4;++a,o-=4)n=e.charCodeAt(a)&255|(e.charCodeAt(++a)&255)<<8|(e.charCodeAt(++a)&255)<<16|(e.charCodeAt(++a)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,r=(n&65535)*1540483477+((n>>>16)*59797<<16)^(r&65535)*1540483477+((r>>>16)*59797<<16);switch(o){case 3:r^=(e.charCodeAt(a+2)&255)<<16;case 2:r^=(e.charCodeAt(a+1)&255)<<8;case 1:r^=e.charCodeAt(a)&255,r=(r&65535)*1540483477+((r>>>16)*59797<<16)}return r^=r>>>13,r=(r&65535)*1540483477+((r>>>16)*59797<<16),((r^r>>>15)>>>0).toString(36)}var mn={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},yn=/[A-Z]|^ms/g,bn=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Zr=function(r){return r.charCodeAt(1)===45},jr=function(r){return r!=null&&typeof r!="boolean"},sr=Jt(function(e){return Zr(e)?e:e.replace(yn,"-$&").toLowerCase()}),Nr=function(r,n){switch(r){case"animation":case"animationName":if(typeof n=="string")return n.replace(bn,function(a,o,i){return ge={name:o,styles:i,next:ge},o})}return mn[r]!==1&&!Zr(r)&&typeof n=="number"&&n!==0?n+"px":n};function We(e,r,n){if(n==null)return"";var a=n;if(a.__emotion_styles!==void 0)return a;switch(typeof n){case"boolean":return"";case"object":{var o=n;if(o.anim===1)return ge={name:o.name,styles:o.styles,next:ge},o.name;var i=n;if(i.styles!==void 0){var u=i.next;if(u!==void 0)for(;u!==void 0;)ge={name:u.name,styles:u.styles,next:ge},u=u.next;var d=i.styles+";";return d}return gn(e,r,n)}case"function":{if(e!==void 0){var f=ge,m=n(e);return ge=f,We(e,r,m)}break}}var p=n;return p}function gn(e,r,n){var a="";if(Array.isArray(n))for(var o=0;o<n.length;o++)a+=We(e,r,n[o])+";";else for(var i in n){var u=n[i];if(typeof u!="object"){var d=u;jr(d)&&(a+=sr(i)+":"+Nr(i,d)+";")}else if(Array.isArray(u)&&typeof u[0]=="string"&&r==null)for(var f=0;f<u.length;f++)jr(u[f])&&(a+=sr(i)+":"+Nr(i,u[f])+";");else{var m=We(e,r,u);switch(i){case"animation":case"animationName":{a+=sr(i)+":"+m+";";break}default:a+=i+"{"+m+"}"}}}return a}var Lr=/label:\s*([^\s;{]+)\s*(;|$)/g,ge;function En(e,r,n){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var a=!0,o="";ge=void 0;var i=e[0];if(i==null||i.raw===void 0)a=!1,o+=We(n,r,i);else{var u=i;o+=u[0]}for(var d=1;d<e.length;d++)if(o+=We(n,r,e[d]),a){var f=i;o+=f[d]}Lr.lastIndex=0;for(var m="",p;(p=Lr.exec(o))!==null;)m+="-"+p[1];var y=hn(o)+m;return{name:y,styles:o,next:ge}}var xn=function(r){return r()},Sn=Re.useInsertionEffect?Re.useInsertionEffect:!1,_n=Sn||xn,Qr=Re.createContext(typeof HTMLElement<"u"?on({key:"css"}):null);Qr.Provider;var Rn=function(r){return P.forwardRef(function(n,a){var o=P.useContext(Qr);return r(n,o,a)})},Cn=Re.createContext({}),er={}.hasOwnProperty,dr="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",et=function(r,n){var a={};for(var o in n)er.call(n,o)&&(a[o]=n[o]);return a[dr]=r,a},Tn=function(r){var n=r.cache,a=r.serialized,o=r.isStringTag;return Jr(n,a,o),_n(function(){return pn(n,a,o)}),null},wn=Rn(function(e,r,n){var a=e.css;typeof a=="string"&&r.registered[a]!==void 0&&(a=r.registered[a]);var o=e[dr],i=[a],u="";typeof e.className=="string"?u=vn(r.registered,i,e.className):e.className!=null&&(u=e.className+" ");var d=En(i,void 0,Re.useContext(Cn));u+=r.key+"-"+d.name;var f={};for(var m in e)er.call(e,m)&&m!=="css"&&m!==dr&&(f[m]=e[m]);return f.className=u,n&&(f.ref=n),Re.createElement(Re.Fragment,null,Re.createElement(Tn,{cache:r,serialized:d,isStringTag:typeof o=="string"}),Re.createElement(o,f))}),rt=wn,z=function(r,n,a){return er.call(n,"css")?He.jsx(rt,et(r,n),a):He.jsx(r,n,a)},Xe=function(r,n,a){return er.call(n,"css")?He.jsxs(rt,et(r,n),a):He.jsxs(r,n,a)};const Pn=24,On=20,$e=16,Ne=4,Yr="#bbbfc4",An="#333",$n=14,Mn="Arial, sans-serif",kn="#f0f0f0",Wr=20,In=0,Dn="M 0 0 L 0 8 L 4 4 Z",Fn="M 0 0 L 8 0 L 4 4 Z",jn=({x:e,y:r,radius:n,stroke:a})=>{const o=P.useRef(null);return P.useEffect(()=>{if(!o.current)return;const i=new Tt.Animation(u=>{var f;if(!u||!((f=o.current)!=null&&f.getStage()))return;const d=u.timeDiff*360/1e3;o.current.rotation((o.current.rotation()+d)%360)},o.current.getLayer()||o.current.getStage());return i.start(),()=>{i.stop()}},[]),z(J.Arc,{ref:o,x:e,y:r,innerRadius:n*.6,outerRadius:n,angle:270,fill:a,rotation:0})};function Nn({node:e,x:r,y:n,width:a,height:o,onToggleExpand:i,renderNodeContent:u,onNodeClick:d,onNodeHover:f,isHovered:m,isLoading:p,onNodePress:y,icon:L,iconSize:$}){var ye,oe;const E=e.children&&e.children.length>0,_=e.hasAsyncChildren&&!E&&!p||E,T=e.depth*On,g=$e+Ne*2,A=a-In-15,[j,c]=P.useState(null),[G,R]=P.useState(!1);P.useEffect(()=>{if(e.icon&&e.icon.type==="image"&&typeof e.icon.content=="string"){const S=new window.Image;S.src=e.icon.content,S.onload=()=>{c(S),R(!1)},S.onerror=()=>{console.error(`Failed to load image: ${S.src}`),c(null),R(!0)}}else c(null),R(!1)},[e.icon]);const ve=T+g;let ce=ve,ne=null;if(e.icon||L){const S=((ye=e.icon)==null?void 0:ye.width)||($??$e),Y=((oe=e.icon)==null?void 0:oe.height)||($??$e),le=ve+Ne,he=(o-Y)/2;e.icon?e.icon.type==="image"?j&&!G?ne=z(J.Group,{x:le,y:he,children:z(J.Image,{image:j,width:S,height:Y})}):G&&(ne=Xe(J.Group,{x:le,y:he,children:[z(J.Rect,{width:S,height:Y,fill:"#cccccc"}),z(J.Text,{text:"X",fill:"red",fontSize:Y*.8,width:S,height:Y,align:"center",verticalAlign:"middle"})]})):e.icon.type==="html"?ne=z(J.Group,{x:le,y:he,children:z(ir.Html,{divProps:{style:{width:`${S}px`,height:`${Y}px`,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"}},children:e.icon.content})}):e.icon.type==="konva"&&(ne=z(J.Group,{x:le,y:he,children:e.icon.content})):ne=z(J.Group,{x:le,y:he,children:z(ir.Html,{divProps:{style:{display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"none"}},children:L(e)})}),ne&&(ce=le+S+Ne)}const ee=Math.max(0,A-ce),xe=0;console.log("calculatedContentWidth",ee);const U=S=>{S.cancelBubble=!0,p||i(e.id)},Z=S=>{d&&d(e,S)},H=S=>{f(e,S);const Y=S.target.getStage();Y&&(Y.container().style.cursor="pointer")},pe=S=>{f(null,S);const Y=S.target.getStage();Y&&(Y.container().style.cursor="default")},fe=S=>{y&&y(e,S)},re=z(J.Text,{x:0,y:xe,text:e.label,fontSize:$n,fontFamily:Mn,fill:An,width:ee,height:o,verticalAlign:"middle"}),Ce={node:e,depth:e.depth,isExpanded:e.isExpanded,hasChildren:E||!!e.hasAsyncChildren,isHovered:m,isLoading:p,contentX:0,contentY:0,contentWidth:ee,contentHeight:o};return Xe(J.Group,{x:r,y:n,onClick:Z,onTap:Z,onMouseDown:fe,onMouseEnter:H,onMouseLeave:pe,children:[z(J.Rect,{width:a,height:o,fill:m?kn:void 0,opacity:m?.5:0}),(e.isExpanded&&p||!p&&_)&&Xe(J.Group,{x:T,y:0,width:g,height:o,onClick:!p&&_?U:void 0,onTap:!p&&_?U:void 0,onMouseEnter:S=>{if(!p&&_){const Y=S.target.getStage();Y&&(Y.container().style.cursor="pointer")}},onMouseLeave:S=>{const Y=S.target.getStage();Y&&(Y.container().style.cursor="default")},listening:!0,children:[z(J.Rect,{width:g,height:o,opacity:0}),e.isExpanded&&p&&z(jn,{x:Ne+$e/2,y:o/2,radius:$e/2.5,stroke:Yr}),!p&&_&&z(J.Path,{x:Ne+$e/2,y:o/2,offsetX:(e.isExpanded&&E?8*1.5:4*1.5)/2,offsetY:(e.isExpanded&&E?4*1.5:8*1.5)/2,data:e.isExpanded&&E?Fn:Dn,fill:Yr,scale:{x:1.5,y:1.5},listening:!1})]}),ne,z(J.Group,{x:ce,y:0,children:u?z(ir.Html,{divProps:{style:{pointerEvents:"none",display:"flex",alignItems:"center",justifyContent:"flex-start",width:`${ee}px`,height:`${o}px`}},children:u(Ce)}):re})]})}const Ln=e=>{const r=new Map,n=[...e];for(;n.length>0;){const a=n.pop();a&&(r.set(a.id,a),a.children&&a.children.forEach(o=>n.push(o)))}return r},tt=(e,r,n,a,o=0,i=0)=>{let u=[],d=i;for(const f of e){const m=r.has(f.id),p={...f,depth:o,y:d,parentId:a,isExpanded:m};if(u.push(p),d+=n,f.children&&m){const y=tt(f.children,r,n,f.id,o+1,d);u=u.concat(y),y.length>0&&(d=y[y.length-1].y+n)}}return u};function Yn({data:e,expandedKeys:r,onExpand:n,nodeHeight:a=Pn,width:o,height:i,renderNodeContent:u,onNodeClick:d,onNodeHover:f,onLoadData:m,onNodeDragStart:p,icon:y,iconSize:L,showNodeTooltip:$}){const[E,_]=P.useState(0),[V,T]=P.useState(null),[g,A]=P.useState(new Set),[j,c]=P.useState(0),[G,R]=P.useState(0),[ve,ce]=P.useState({visible:!1,content:"",x:0,y:0,nodeId:null}),ne=P.useRef(null),ee=P.useRef(null),xe=o??j,U=i??G,Z=P.useMemo(()=>new Set(r),[r]);P.useEffect(()=>{if(o!==void 0&&i!==void 0){o!==void 0&&c(o),i!==void 0&&R(i);return}const h=new ResizeObserver(x=>{if(x&&x.length>0){const C=x[0];o===void 0&&c(C.contentRect.width),i===void 0&&R(C.contentRect.height)}});return ee.current&&(o===void 0&&c(ee.current.clientWidth),i===void 0&&R(ee.current.clientHeight),h.observe(ee.current)),()=>{ee.current&&h.unobserve(ee.current),h.disconnect()}},[o,i]);const H=P.useMemo(()=>Ln(e),[e]),pe=P.useRef(null);P.useEffect(()=>{m&&r.forEach(h=>{const x=H.get(h);x&&x.hasAsyncChildren&&(!x.children||x.children.length===0)&&!g.has(h)&&(A(C=>new Set(C).add(h)),m(x).catch(C=>{console.error(`Error loading data for node ${h}:`,C)}).finally(()=>{A(C=>{const W=new Set(C);return W.delete(h),W})}))})},[r,H,m,g]);const fe=P.useMemo(()=>tt(e,Z,a),[e,Z,a]),re=P.useMemo(()=>fe.length*a,[fe,a]),Ce=P.useMemo(()=>{const h=Math.floor(E/a),x=Math.min(h+Math.ceil(U/a)+1,fe.length);return fe.slice(h,x)},[fe,E,U,a]);P.useEffect(()=>{const h=ne.current;if(!h)return;const x=C=>{C.evt.preventDefault();const W=C.evt.deltaY;_(K=>Math.max(0,Math.min(K+W,re-U)))};return h.on("wheel",x),()=>{h.off("wheel",x)}},[re,U]);const ye=P.useCallback((h,x)=>{if(p&&x.evt.button===0){const C=ne.current;if(!C)return;const W=C.getPointerPosition();if(!W)return;const K=H.get(h.id);if(!K)return;const v={node:K,pointerPosition:W,rawEvent:x.evt};p(v),x.evt.preventDefault()}},[p,H]),oe=P.useCallback(h=>{if(!pe.current)return;const{initialMouseY:x,initialScrollTop:C}=pe.current,W=h.clientY-x,K=U,v=re-K;if(v<=0)return;let me=K/re*K;me=Math.max(me,Wr),me=Math.min(me,K);const Te=K-me,Se=v/Te;let _e=C+W*Se;_e=Math.max(0,Math.min(_e,v)),_(_e)},[U,re]),S=P.useCallback(()=>{pe.current=null,document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",S)},[oe]),Y=P.useCallback(h=>{h.preventDefault(),pe.current={initialMouseY:h.clientY,initialScrollTop:E},document.addEventListener("mousemove",oe),document.addEventListener("mouseup",S)},[E,oe,S]);P.useEffect(()=>()=>{document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",S)},[oe,S]);const le=P.useCallback((h,x)=>{T(h?h.id:null);const C=h?H.get(h.id):null;if($&&C&&x){let W="";typeof $=="function"?W=$(C):$===!0&&(W=C.label),ce(W?{visible:!0,content:W,x:x.evt.clientX+10,y:x.evt.clientY+10,nodeId:C.id}:K=>({...K,visible:!1,nodeId:null}))}else ce(W=>({...W,visible:!1,nodeId:null}));f&&f(C||h,x)},[f,H,$,ce]),he=P.useCallback((h,x)=>{if(d){const C=H.get(h.id);d(C||h,x)}},[d,H]),we=P.useCallback(h=>{Z.has(h)?n(r.filter(x=>x!==h)):n([...r,h])},[r,Z,n]);return Xe("div",{ref:ee,style:{width:o!==void 0?`${o}px`:"100%",height:i!==void 0?`${i}px`:"100%",overflow:"hidden",position:"relative"},children:[z(J.Stage,{ref:ne,width:xe,height:U,style:{position:"absolute",top:0,left:0},children:z(J.Layer,{y:-E,children:Ce.map(h=>z(Nn,{node:h,x:0,y:h.y,width:xe,height:a,onToggleExpand:we,renderNodeContent:u,onNodeClick:he,onNodeHover:le,isHovered:h.id===V,isLoading:g.has(h.id),onNodePress:ye,icon:y,iconSize:L},h.id))})}),re>U&&z("div",{style:{position:"absolute",right:0,top:0,width:"10px",height:`${U}px`,backgroundColor:"#eee"},children:(()=>{const h=U,x=re-h;let C=h/re*h;C=Math.max(C,Wr),C=Math.min(C,h);const W=h-C,K=x>0?E/x*W:0;return z("div",{style:{position:"absolute",right:0,top:`${K}px`,width:"100%",height:`${C}px`,backgroundColor:"#888",borderRadius:"5px",cursor:"pointer"},onMouseDown:Y})})()}),ve.visible&&Ct.createPortal(z("div",{style:{position:"fixed",top:`${ve.y}px`,left:`${ve.x}px`,background:"black",color:"white",padding:"5px 10px",borderRadius:"4px",fontSize:"12px",zIndex:1e4,pointerEvents:"none",whiteSpace:"nowrap"},children:ve.content}),document.body)]})}exports.MagicTree=Yn;
//# sourceMappingURL=index.js.map