@devtable/dashboard 8.6.2 → 8.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard.es.js +35 -37
- package/dist/dashboard.umd.js +11 -11
- package/package.json +1 -1
package/dist/dashboard.umd.js
CHANGED
|
@@ -72,7 +72,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
72
72
|
`].includes(Ue)})},[N]),me=function(Be,on,fn){var zt=!0,mn=Be;P==null||P(null);var Nn=fn?null:Sk(Be,N);return y!=="combobox"&&Nn&&(mn="",$==null||$(Nn),ie(!1),zt=!1),M&<!==mn&&M(mn,{source:on?"typing":"effect"}),zt},Ae=function(Be){!Be||!Be.trim()||M(Be,{source:"submit"})};T.useEffect(function(){!vt&&!ke&&y!=="combobox"&&me("",!1,!1)},[vt]),T.useEffect(function(){_t&&C&&Ht(!1),C&&et(!1)},[C]);var Qe=Fd(),ft=Nt(Qe,2),Wt=ft[0],qt=ft[1],dn=function(Be){var on=Wt(),fn=Be.which;if(fn===oe.ENTER&&(y!=="combobox"&&Be.preventDefault(),vt||ie(!0)),qt(!!lt),fn===oe.BACKSPACE&&!on&&ke&&!lt&&h.length){for(var zt=bn(h),mn=null,Nn=zt.length-1;Nn>=0;Nn-=1){var No=zt[Nn];if(!No.disabled){zt.splice(Nn,1),mn=No;break}}mn&&p(zt,{type:"remove",values:[mn]})}for(var Mr=arguments.length,Ni=new Array(Mr>1?Mr-1:0),kr=1;kr<Mr;kr++)Ni[kr-1]=arguments[kr];if(vt&&We.current){var s0;(s0=We.current).onKeyDown.apply(s0,[Be].concat(Ni))}we==null||we.apply(void 0,[Be].concat(Ni))},xt=function(Be){for(var on=arguments.length,fn=new Array(on>1?on-1:0),zt=1;zt<on;zt++)fn[zt-1]=arguments[zt];if(vt&&We.current){var mn;(mn=We.current).onKeyUp.apply(mn,[Be].concat(fn))}q==null||q.apply(void 0,[Be].concat(fn))},V=function(Be){var on=h.filter(function(fn){return fn!==Be});p(on,{type:"remove",values:[Be]})},J=T.useRef(!1),Q=function(){et(!0),C||(re&&!J.current&&re.apply(void 0,arguments),Y.includes("focus")&&ie(!0)),J.current=!0},pe=function(){et(!1,function(){J.current=!1,ie(!1)}),!C&&(lt&&(y==="tags"?M(lt,{source:"submit"}):y==="multiple"&&M("",{source:"blur"})),Se&&Se.apply(void 0,arguments))},ye=[];T.useEffect(function(){return function(){ye.forEach(function(Ue){return clearTimeout(Ue)}),ye.splice(0,ye.length)}},[]);var Te=function(Be){var on,fn=Be.target,zt=(on=ct.current)===null||on===void 0?void 0:on.getPopupElement();if(zt&&zt.contains(fn)){var mn=setTimeout(function(){var Ni=ye.indexOf(mn);if(Ni!==-1&&ye.splice(Ni,1),Mt(),!Ee&&!zt.contains(document.activeElement)){var kr;(kr=at.current)===null||kr===void 0||kr.focus()}});ye.push(mn)}for(var Nn=arguments.length,No=new Array(Nn>1?Nn-1:0),Mr=1;Mr<Nn;Mr++)No[Mr-1]=arguments[Mr];ve==null||ve.apply(void 0,[Be].concat(No))},Ie=T.useState(null),De=Nt(Ie,2),Ge=De[0],ze=De[1],qe=T.useState({}),Ct=Nt(qe,2),rn=Ct[1];function vn(){rn({})}Un(function(){if(Vt){var Ue,Be=Math.ceil((Ue=$e.current)===null||Ue===void 0?void 0:Ue.offsetWidth);Ge!==Be&&!Number.isNaN(Be)&&ze(Be)}},[Vt]);var Dt;dt&&(Dt=function(Be){ie(Be)}),aw(function(){var Ue;return[$e.current,(Ue=ct.current)===null||Ue===void 0?void 0:Ue.getPopupElement()]},Vt,ie,!!dt);var Gn=T.useMemo(function(){return Pt(Pt({},e),{},{notFoundContent:m,open:vt,triggerOpen:Vt,id:i,showSearch:ge,multiple:ke,toggleOpen:ie})},[e,m,Vt,vt,i,ge,ke,ie]),sr=B!==void 0?B:_||!ke&&y!=="combobox",an;sr&&(an=l(qo,{className:pt("".concat(o,"-arrow"),At({},"".concat(o,"-arrow-loading"),_)),customizeIcon:G,customizeIconProps:{loading:_,searchValue:lt,open:vt,focused:Ne,showSearch:ge}}));var sn,ZK=function(){var Be;w==null||w(),(Be=at.current)===null||Be===void 0||Be.focus(),p([],{type:"clear",values:h}),me("",!1,!1)};!C&&R&&(h.length||lt)&&!(y==="combobox"&<==="")&&(sn=l(qo,{className:"".concat(o,"-clear"),onMouseDown:ZK,customizeIcon:K,children:"\xD7"}));var JK=l(W,{ref:We}),e6=pt(o,a,(r={},At(r,"".concat(o,"-focused"),Ne),At(r,"".concat(o,"-multiple"),ke),At(r,"".concat(o,"-single"),!ke),At(r,"".concat(o,"-allow-clear"),R),At(r,"".concat(o,"-show-arrow"),sr),At(r,"".concat(o,"-disabled"),C),At(r,"".concat(o,"-loading"),_),At(r,"".concat(o,"-open"),vt),At(r,"".concat(o,"-customize-input"),kt),At(r,"".concat(o,"-show-search"),ge),r)),a0=l(eh,{ref:ct,disabled:C,prefixCls:o,visible:Vt,popupElement:JK,containerWidth:Ge,animation:ee,transitionName:ne,dropdownStyle:U,dropdownClassName:X,direction:c,dropdownMatchSelectWidth:ce,dropdownRender:ue,dropdownAlign:se,placement:ae,getPopupContainer:xe,empty:g,getTriggerDOMNode:function(){return Ve.current},onPopupVisibleChange:Dt,onPopupMouseEnter:vn,children:dt?T.cloneElement(dt,{ref:Gt}):l(gf,{...e,domRef:Ve,prefixCls:o,inputElement:kt,ref:at,id:i,showSearch:ge,autoClearSearchValue:z,mode:y,activeDescendantId:O,tagRender:u,values:h,open:vt,onToggleOpen:ie,activeValue:F,searchValue:lt,onSearch:me,onSearchSubmit:Ae,onRemove:V,tokenWithEnter:fe})}),nd;return dt?nd=a0:nd=b("div",{className:e6,...Ke,ref:$e,onMouseDown:Te,onKeyDown:dn,onKeyUp:xt,onFocus:Q,onBlur:pe,children:[Ne&&!vt&&l("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite",children:"".concat(h.map(function(Ue){var Be=Ue.label,on=Ue.value;return["number","string"].includes(qn(Be))?Be:on}).join(", "))}),a0,an,sn]}),l(Vd.Provider,{value:Gn,children:nd})});process.env.NODE_ENV!=="production"&&(Tl.displayName="BaseSelect");const Ek=function(e,t){var n=T.useRef({values:new Map,options:new Map}),r=T.useMemo(function(){var o=n.current,a=o.values,s=o.options,u=e.map(function(h){if(h.label===void 0){var p;return Pt(Pt({},h),{},{label:(p=a.get(h.value))===null||p===void 0?void 0:p.label})}return h}),c=new Map,f=new Map;return u.forEach(function(h){c.set(h.value,h),f.set(h.value,t.get(h.value)||s.get(h.value))}),n.current.values=c,n.current.options=f,u},[e,t]),i=T.useCallback(function(o){return t.get(o)||n.current.options.get(o)},[t]);return[r,i]};function Ml(e,t){return qs(e).join("").toUpperCase().includes(t)}const Tk=function(e,t,n,r,i){return T.useMemo(function(){if(!n||r===!1)return e;var o=t.options,a=t.label,s=t.value,u=[],c=typeof r=="function",f=n.toUpperCase(),h=c?r:function(g,v){return i?Ml(v[i],f):v[o]?Ml(v[a!=="children"?a:"label"],f):Ml(v[s],f)},p=c?function(g){return El(g)}:function(g){return g};return e.forEach(function(g){if(g[o]){var v=h(n,p(g));if(v)u.push(g);else{var m=g[o].filter(function(w){return h(n,p(w))});m.length&&u.push(Pt(Pt({},g),{},At({},o,m)))}return}h(n,p(g))&&u.push(g)}),u},[e,r,i,n,t])};var rh=0,Mk=process.env.NODE_ENV!=="test"&&Xr();function kk(){var e;return Mk?(e=rh,rh+=1):e="TEST_OR_SSR",e}function ih(e){var t=T.useState(),n=Nt(t,2),r=n[0],i=n[1];return T.useEffect(function(){i("rc_select_".concat(kk()))},[]),e||r}var Ok=["children","value"],Dk=["children"];function Rk(e){var t=e,n=t.key,r=t.props,i=r.children,o=r.value,a=Yr(r,Ok);return Pt({key:n,value:o!==void 0?o:n,children:i},a)}function kl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return pr(e).map(function(n,r){if(!T.isValidElement(n)||!n.type)return null;var i=n,o=i.type.isSelectOptGroup,a=i.key,s=i.props,u=s.children,c=Yr(s,Dk);return t||!o?Rk(n):Pt(Pt({key:"__RC_SELECT_GRP__".concat(a===null?r:a,"__"),label:a},c),{},{options:kl(u)})}).filter(function(n){return n})}function Ak(e,t,n,r,i){return T.useMemo(function(){var o=e,a=!e;a&&(o=kl(t));var s=new Map,u=new Map,c=function(p,g,v){v&&typeof v=="string"&&p.set(g[v],g)};function f(h){for(var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g=0;g<h.length;g+=1){var v=h[g];!v[n.options]||p?(s.set(v[n.value],v),c(u,v,n.label),c(u,v,r),c(u,v,i)):f(v[n.options],!0)}}return f(o),{options:o,valueOptions:s,labelOptions:u}},[e,t,n,r,i])}function oh(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}var ah=function(){return null};ah.isSelectOptGroup=!0;var sh=function(){return null};sh.isSelectOption=!0;function lh(e,t){var n=en({},e);return Array.isArray(t)&&t.forEach(function(r){delete n[r]}),n}function vr(e){return vr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vr(e)}function Pk(e,t){if(vr(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(vr(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function uh(e){var t=Pk(e,"string");return vr(t)==="symbol"?t:String(t)}function Ji(e,t,n){return t=uh(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ch(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function eo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ch(Object(n),!0).forEach(function(r){Ji(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ch(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Nk(e){if(Array.isArray(e))return e}function Ik(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(f){c=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}function dh(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $k(e,t){if(!!e){if(typeof e=="string")return dh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dh(e,t)}}function Lk(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
73
73
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mr(e,t){return Nk(e)||Ik(e,t)||$k(e,t)||Lk()}function Vk(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o<r.length;o++)i=r[o],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function zk(e,t){if(e==null)return{};var n=Vk(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],!(t.indexOf(r)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}var fh=T.forwardRef(function(e,t){var n=e.height,r=e.offset,i=e.children,o=e.prefixCls,a=e.onInnerResize,s={},u={display:"flex",flexDirection:"column"};return r!==void 0&&(s={height:n,position:"relative",overflow:"hidden"},u=eo(eo({},u),{},{transform:"translateY(".concat(r,"px)"),position:"absolute",left:0,right:0,top:0})),l("div",{style:s,children:l(Ho,{onResize:function(f){var h=f.offsetHeight;h&&a&&a()},children:l("div",{style:u,className:pt(Ji({},"".concat(o,"-holder-inner"),o)),ref:t,children:i})})})});fh.displayName="Filler";function ph(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,uh(r.key),r)}}function gh(e,t,n){return t&&hh(e.prototype,t),n&&hh(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ol(e,t){return Ol=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Ol(e,t)}function Fk(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ol(e,t)}function ya(e){return ya=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ya(e)}function Bk(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function jk(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gk(e,t){if(t&&(vr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jk(e)}function Kk(e){var t=Bk();return function(){var r=ya(e),i;if(t){var o=ya(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Gk(this,i)}}var Hk=20;function vh(e){return"touches"in e?e.touches[0].pageY:e.pageY}var Wk=function(e){Fk(n,e);var t=Kk(n);function n(){var r;ph(this,n);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return r=t.call.apply(t,[this].concat(o)),r.moveRaf=null,r.scrollbarRef=T.createRef(),r.thumbRef=T.createRef(),r.visibleTimeout=null,r.state={dragging:!1,pageY:null,startTop:null,visible:!1},r.delayHidden=function(){clearTimeout(r.visibleTimeout),r.setState({visible:!0}),r.visibleTimeout=setTimeout(function(){r.setState({visible:!1})},2e3)},r.onScrollbarTouchStart=function(s){s.preventDefault()},r.onContainerMouseDown=function(s){s.stopPropagation(),s.preventDefault()},r.patchEvents=function(){window.addEventListener("mousemove",r.onMouseMove),window.addEventListener("mouseup",r.onMouseUp),r.thumbRef.current.addEventListener("touchmove",r.onMouseMove),r.thumbRef.current.addEventListener("touchend",r.onMouseUp)},r.removeEvents=function(){var s;window.removeEventListener("mousemove",r.onMouseMove),window.removeEventListener("mouseup",r.onMouseUp),(s=r.scrollbarRef.current)===null||s===void 0||s.removeEventListener("touchstart",r.onScrollbarTouchStart),r.thumbRef.current&&(r.thumbRef.current.removeEventListener("touchstart",r.onMouseDown),r.thumbRef.current.removeEventListener("touchmove",r.onMouseMove),r.thumbRef.current.removeEventListener("touchend",r.onMouseUp)),It.cancel(r.moveRaf)},r.onMouseDown=function(s){var u=r.props.onStartMove;r.setState({dragging:!0,pageY:vh(s),startTop:r.getTop()}),u(),r.patchEvents(),s.stopPropagation(),s.preventDefault()},r.onMouseMove=function(s){var u=r.state,c=u.dragging,f=u.pageY,h=u.startTop,p=r.props.onScroll;if(It.cancel(r.moveRaf),c){var g=vh(s)-f,v=h+g,m=r.getEnableScrollRange(),w=r.getEnableHeightRange(),y=w?v/w:0,C=Math.ceil(y*m);r.moveRaf=It(function(){p(C)})}},r.onMouseUp=function(){var s=r.props.onStopMove;r.setState({dragging:!1}),s(),r.removeEvents()},r.getSpinHeight=function(){var s=r.props,u=s.height,c=s.count,f=u/c*10;return f=Math.max(f,Hk),f=Math.min(f,u/2),Math.floor(f)},r.getEnableScrollRange=function(){var s=r.props,u=s.scrollHeight,c=s.height;return u-c||0},r.getEnableHeightRange=function(){var s=r.props.height,u=r.getSpinHeight();return s-u||0},r.getTop=function(){var s=r.props.scrollTop,u=r.getEnableScrollRange(),c=r.getEnableHeightRange();if(s===0||u===0)return 0;var f=s/u;return f*c},r.showScroll=function(){var s=r.props,u=s.height,c=s.scrollHeight;return c>u},r}return gh(n,[{key:"componentDidMount",value:function(){this.scrollbarRef.current.addEventListener("touchstart",this.onScrollbarTouchStart),this.thumbRef.current.addEventListener("touchstart",this.onMouseDown)}},{key:"componentDidUpdate",value:function(i){i.scrollTop!==this.props.scrollTop&&this.delayHidden()}},{key:"componentWillUnmount",value:function(){this.removeEvents(),clearTimeout(this.visibleTimeout)}},{key:"render",value:function(){var i=this.state,o=i.dragging,a=i.visible,s=this.props.prefixCls,u=this.getSpinHeight(),c=this.getTop(),f=this.showScroll(),h=f&&a;return l("div",{ref:this.scrollbarRef,className:pt("".concat(s,"-scrollbar"),Ji({},"".concat(s,"-scrollbar-show"),f)),style:{width:8,top:0,bottom:0,right:0,position:"absolute",display:h?null:"none"},onMouseDown:this.onContainerMouseDown,onMouseMove:this.delayHidden,children:l("div",{ref:this.thumbRef,className:pt("".concat(s,"-scrollbar-thumb"),Ji({},"".concat(s,"-scrollbar-thumb-moving"),o)),style:{width:"100%",height:u,top:c,left:0,position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"},onMouseDown:this.onMouseDown})})}}]),n}(T.Component);function qk(e){var t=e.children,n=e.setRef,r=T.useCallback(function(i){n(i)},[]);return T.cloneElement(t,{ref:r})}function Uk(e,t,n,r,i,o){var a=o.getKey;return e.slice(t,n+1).map(function(s,u){var c=t+u,f=i(s,c,{}),h=a(s);return l(qk,{setRef:function(g){return r(s,g)},children:f},h)})}var Yk=function(){function e(){ph(this,e),this.maps=void 0,this.maps=Object.create(null)}return gh(e,[{key:"set",value:function(n,r){this.maps[n]=r}},{key:"get",value:function(n){return this.maps[n]}}]),e}();function Xk(e,t,n){var r=T.useState(0),i=mr(r,2),o=i[0],a=i[1],s=x.useRef(new Map),u=x.useRef(new Yk),c=x.useRef();function f(){It.cancel(c.current)}function h(){f(),c.current=It(function(){s.current.forEach(function(g,v){if(g&&g.offsetParent){var m=Ki(g),w=m.offsetHeight;u.current.get(v)!==w&&u.current.set(v,m.offsetHeight)}}),a(function(g){return g+1})})}function p(g,v){var m=e(g),w=s.current.get(m);v?(s.current.set(m,v),h()):s.current.delete(m),!w!=!v&&(v?t==null||t(g):n==null||n(g))}return x.useEffect(function(){return f},[]),[p,h,u.current,o]}function Qk(e,t,n,r,i,o,a,s){var u=T.useRef();return function(c){if(c==null){s();return}if(It.cancel(u.current),typeof c=="number")a(c);else if(c&&vr(c)==="object"){var f,h=c.align;"index"in c?f=c.index:f=t.findIndex(function(m){return i(m)===c.key});var p=c.offset,g=p===void 0?0:p,v=function m(w,y){if(!(w<0||!e.current)){var C=e.current.clientHeight,_=!1,S=y;if(C){for(var E=y||h,k=0,A=0,L=0,F=Math.min(t.length,f),P=0;P<=F;P+=1){var O=i(t[P]);A=k;var I=n.get(O);L=A+(I===void 0?r:I),k=L,P===f&&I===void 0&&(_=!0)}var z=null;switch(E){case"top":z=A-g;break;case"bottom":z=L-C+g;break;default:{var M=e.current.scrollTop,$=M+C;A<M?S="top":L>$&&(S="bottom")}}z!==null&&z!==e.current.scrollTop&&a(z)}u.current=It(function(){_&&o(),m(w-1,S)})}};v(3)}}}function Zk(e,t,n){var r=e.length,i=t.length,o,a;if(r===0&&i===0)return null;r<i?(o=e,a=t):(o=t,a=e);var s={__EMPTY_ITEM__:!0};function u(v){return v!==void 0?n(v):s}for(var c=null,f=Math.abs(r-i)!==1,h=0;h<a.length;h+=1){var p=u(o[h]),g=u(a[h]);if(p!==g){c=h,f=f||p!==u(a[h+1]);break}}return c===null?null:{index:c,multiple:f}}function Jk(e,t,n){var r=T.useState(e),i=mr(r,2),o=i[0],a=i[1],s=T.useState(null),u=mr(s,2),c=u[0],f=u[1];return T.useEffect(function(){var h=Zk(o||[],e||[],t);(h==null?void 0:h.index)!==void 0&&(n==null||n(h.index),f(e[h.index])),a(e)},[e]),[c]}var eO=(typeof navigator>"u"?"undefined":vr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const mh=function(e,t){var n=x.useRef(!1),r=x.useRef(null);function i(){clearTimeout(r.current),n.current=!0,r.current=setTimeout(function(){n.current=!1},50)}var o=x.useRef({top:e,bottom:t});return o.current.top=e,o.current.bottom=t,function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,u=a<0&&o.current.top||a>0&&o.current.bottom;return s&&u?(clearTimeout(r.current),n.current=!1):(!u||n.current)&&i(),!n.current&&u}};function tO(e,t,n,r){var i=x.useRef(0),o=x.useRef(null),a=x.useRef(null),s=x.useRef(!1),u=mh(t,n);function c(h){if(!!e){It.cancel(o.current);var p=h.deltaY;i.current+=p,a.current=p,!u(p)&&(eO||h.preventDefault(),o.current=It(function(){var g=s.current?10:1;r(i.current*g),i.current=0}))}}function f(h){!e||(s.current=h.detail===a.current)}return[c,f]}var nO=14/15;function rO(e,t,n){var r=x.useRef(!1),i=x.useRef(0),o=x.useRef(null),a=x.useRef(null),s,u=function(p){if(r.current){var g=Math.ceil(p.touches[0].pageY),v=i.current-g;i.current=g,n(v)&&p.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){v*=nO,(!n(v,!0)||Math.abs(v)<=.1)&&clearInterval(a.current)},16)}},c=function(){r.current=!1,s()},f=function(p){s(),p.touches.length===1&&!r.current&&(r.current=!0,i.current=Math.ceil(p.touches[0].pageY),o.current=p.target,o.current.addEventListener("touchmove",u),o.current.addEventListener("touchend",c))};s=function(){o.current&&(o.current.removeEventListener("touchmove",u),o.current.removeEventListener("touchend",c))},Un(function(){return e&&t.current.addEventListener("touchstart",f),function(){var h;(h=t.current)===null||h===void 0||h.removeEventListener("touchstart",f),s(),clearInterval(a.current)}},[e])}var iO=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","component","onScroll","onVisibleChange"],oO=[],aO={overflowY:"auto",overflowAnchor:"none"};function sO(e,t){var n=e.prefixCls,r=n===void 0?"rc-virtual-list":n,i=e.className,o=e.height,a=e.itemHeight,s=e.fullHeight,u=s===void 0?!0:s,c=e.style,f=e.data,h=e.children,p=e.itemKey,g=e.virtual,v=e.component,m=v===void 0?"div":v,w=e.onScroll,y=e.onVisibleChange,C=zk(e,iO),_=!!(g!==!1&&o&&a),S=_&&f&&a*f.length>o,E=x.useState(0),k=mr(E,2),A=k[0],L=k[1],F=x.useState(!1),P=mr(F,2),O=P[0],I=P[1],z=pt(r,i),M=f||oO,$=x.useRef(),N=x.useRef(),R=x.useRef(),B=T.useCallback(function(Ce){return typeof p=="function"?p(Ce):Ce==null?void 0:Ce[p]},[p]),G={getKey:B};function K(Ce){L(function(Ne){var et;typeof Ce=="function"?et=Ce(Ne):et=Ce;var Mt=ke(et);return $.current.scrollTop=Mt,Mt})}var W=x.useRef({start:0,end:M.length}),ee=x.useRef(),ne=Jk(M,B),U=mr(ne,1),X=U[0];ee.current=X;var ce=Xk(B,null,null),ue=mr(ce,4),se=ue[0],ae=ue[1],xe=ue[2],be=ue[3],Y=T.useMemo(function(){if(!_)return{scrollHeight:void 0,start:0,end:M.length-1,offset:void 0};if(!S){var Ce;return{scrollHeight:((Ce=N.current)===null||Ce===void 0?void 0:Ce.offsetHeight)||0,start:0,end:M.length-1,offset:void 0}}for(var Ne=0,et,Mt,lt,kt=M.length,dt=0;dt<kt;dt+=1){var Gt=M[dt],Ot=B(Gt),bt=xe.get(Ot),_t=Ne+(bt===void 0?a:bt);_t>=A&&et===void 0&&(et=dt,Mt=Ne),_t>A+o&<===void 0&&(lt=dt),Ne=_t}return et===void 0&&(et=0,Mt=0,lt=Math.ceil(o/a)),lt===void 0&&(lt=M.length-1),lt=Math.min(lt+1,M.length),{scrollHeight:Ne,start:et,end:lt,offset:Mt}},[S,_,A,M,be,o]),re=Y.scrollHeight,Se=Y.start,q=Y.end,we=Y.offset;W.current.start=Se,W.current.end=q;var ve=re-o,_e=x.useRef(ve);_e.current=ve;function ke(Ce){var Ne=Ce;return Number.isNaN(_e.current)||(Ne=Math.min(Ne,_e.current)),Ne=Math.max(Ne,0),Ne}var ge=A<=0,Ke=A>=ve,Pe=mh(ge,Ke);function Xe(Ce){var Ne=Ce;K(Ne)}function Ee(Ce){var Ne=Ce.currentTarget.scrollTop;Ne!==A&&K(Ne),w==null||w(Ce)}var Fe=tO(_,ge,Ke,function(Ce){K(function(Ne){var et=Ne+Ce;return et})}),$e=mr(Fe,2),Ve=$e[0],ct=$e[1];rO(_,$,function(Ce,Ne){return Pe(Ce,Ne)?!1:(Ve({preventDefault:function(){},deltaY:Ce}),!0)}),Un(function(){function Ce(Ne){_&&Ne.preventDefault()}return $.current.addEventListener("wheel",Ve),$.current.addEventListener("DOMMouseScroll",ct),$.current.addEventListener("MozMousePixelScroll",Ce),function(){$.current&&($.current.removeEventListener("wheel",Ve),$.current.removeEventListener("DOMMouseScroll",ct),$.current.removeEventListener("MozMousePixelScroll",Ce))}},[_]);var at=Qk($,M,xe,a,B,ae,K,function(){var Ce;(Ce=R.current)===null||Ce===void 0||Ce.delayHidden()});T.useImperativeHandle(t,function(){return{scrollTo:at}}),Un(function(){if(y){var Ce=M.slice(Se,q+1);y(Ce,M)}},[Se,q,M]);var We=Uk(M,Se,q,se,h,G),st=null;return o&&(st=eo(Ji({},u?"height":"maxHeight",o),aO),_&&(st.overflowY="hidden",O&&(st.pointerEvents="none"))),b("div",{style:eo(eo({},c),{},{position:"relative"}),className:z,...C,children:[l(m,{className:"".concat(r,"-holder"),style:st,ref:$,onScroll:Ee,children:l(fh,{prefixCls:r,height:re,offset:we,onInnerResize:ae,ref:N,children:We})}),_&&l(Wk,{ref:R,prefixCls:r,scrollTop:A,height:o,scrollHeight:re,count:M.length,onScroll:Xe,onStartMove:function(){I(!0)},onStopMove:function(){I(!1)}})]})}var Dl=T.forwardRef(sO);Dl.displayName="List";function lO(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var yh=T.createContext(null),uO=["disabled","title","children","style","className"];function bh(e){return typeof e=="string"||typeof e=="number"}var cO=function(t,n){var r=zd(),i=r.prefixCls,o=r.id,a=r.open,s=r.multiple,u=r.mode,c=r.searchValue,f=r.toggleOpen,h=r.notFoundContent,p=r.onPopupScroll,g=T.useContext(yh),v=g.flattenOptions,m=g.onActiveValue,w=g.defaultActiveFirstOption,y=g.onSelect,C=g.menuItemSelectedIcon,_=g.rawValues,S=g.fieldNames,E=g.virtual,k=g.listHeight,A=g.listItemHeight,L="".concat(i,"-item"),F=Fs(function(){return v},[a,v],function(U,X){return X[0]&&U[1]!==X[1]}),P=T.useRef(null),O=function(X){X.preventDefault()},I=function(X){P.current&&P.current.scrollTo(typeof X=="number"?{index:X}:X)},z=function(X){for(var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,ue=F.length,se=0;se<ue;se+=1){var ae=(X+se*ce+ue)%ue,xe=F[ae],be=xe.group,Y=xe.data;if(!be&&!Y.disabled)return ae}return-1},M=T.useState(function(){return z(0)}),$=Nt(M,2),N=$[0],R=$[1],B=function(X){var ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;R(X);var ue={source:ce?"keyboard":"mouse"},se=F[X];if(!se){m(null,-1,ue);return}m(se.value,X,ue)};x.useEffect(function(){B(w!==!1?z(0):-1)},[F.length,c]);var G=T.useCallback(function(U){return _.has(U)&&u!=="combobox"},[u,bn(_).toString(),_.size]);x.useEffect(function(){var U=setTimeout(function(){if(!s&&a&&_.size===1){var ce=Array.from(_)[0],ue=F.findIndex(function(se){var ae=se.data;return ae.value===ce});ue!==-1&&(B(ue),I(ue))}});if(a){var X;(X=P.current)===null||X===void 0||X.scrollTo(void 0)}return function(){return clearTimeout(U)}},[a,c]);var K=function(X){X!==void 0&&y(X,{selected:!_.has(X)}),s||f(!1)};if(T.useImperativeHandle(n,function(){return{onKeyDown:function(X){var ce=X.which,ue=X.ctrlKey;switch(ce){case oe.N:case oe.P:case oe.UP:case oe.DOWN:{var se=0;if(ce===oe.UP?se=-1:ce===oe.DOWN?se=1:lO()&&ue&&(ce===oe.N?se=1:ce===oe.P&&(se=-1)),se!==0){var ae=z(N+se,se);I(ae),B(ae,!0)}break}case oe.ENTER:{var xe=F[N];xe&&!xe.data.disabled?K(xe.value):K(void 0),a&&X.preventDefault();break}case oe.ESC:f(!1),a&&X.stopPropagation()}},onKeyUp:function(){},scrollTo:function(X){I(X)}}}),F.length===0)return l("div",{role:"listbox",id:"".concat(o,"_list"),className:"".concat(L,"-empty"),onMouseDown:O,children:h});var W=Object.keys(S).map(function(U){return S[U]}),ee=function(X){return X.label},ne=function(X){var ce=F[X];if(!ce)return null;var ue=ce.data||{},se=ue.value,ae=ce.group,xe=Qr(ue,!0),be=ee(ce);return ce?x.createElement("div",{"aria-label":typeof be=="string"&&!ae?be:null,...xe,key:X,role:ae?"presentation":"option",id:"".concat(o,"_list_").concat(X),"aria-selected":G(se)},se):null};return b(Oe,{children:[b("div",{role:"listbox",id:"".concat(o,"_list"),style:{height:0,width:0,overflow:"hidden"},children:[ne(N-1),ne(N),ne(N+1)]}),l(Dl,{itemKey:"key",ref:P,data:F,height:k,itemHeight:A,fullHeight:!1,onMouseDown:O,onScroll:p,virtual:E,children:function(U,X){var ce,ue=U.group,se=U.groupOption,ae=U.data,xe=U.label,be=U.value,Y=ae.key;if(ue){var re,Se=(re=ae.title)!==null&&re!==void 0?re:bh(xe)?xe.toString():void 0;return l("div",{className:pt(L,"".concat(L,"-group")),title:Se,children:xe!==void 0?xe:Y})}var q=ae.disabled,we=ae.title;ae.children;var ve=ae.style,_e=ae.className,ke=Yr(ae,uO),ge=lh(ke,W),Ke=G(be),Pe="".concat(L,"-option"),Xe=pt(L,Pe,_e,(ce={},At(ce,"".concat(Pe,"-grouped"),se),At(ce,"".concat(Pe,"-active"),N===X&&!q),At(ce,"".concat(Pe,"-disabled"),q),At(ce,"".concat(Pe,"-selected"),Ke),ce)),Ee=ee(U),Fe=!C||typeof C=="function"||Ke,$e=typeof Ee=="number"?Ee:Ee||be,Ve=bh($e)?$e.toString():void 0;return we!==void 0&&(Ve=we),b("div",{...Qr(ge),"aria-selected":Ke,className:Xe,title:Ve,onMouseMove:function(){N===X||q||B(X)},onClick:function(){q||K(be)},style:ve,children:[l("div",{className:"".concat(Pe,"-content"),children:$e}),T.isValidElement(C)||Ke,Fe&&l(qo,{className:"".concat(L,"-option-state"),customizeIcon:C,customizeIconProps:{isSelected:Ke},children:Ke?"\u2713":null})]})}})]})},wh=T.forwardRef(cO);wh.displayName="OptionList";function dO(e){var t=e.mode,n=e.options,r=e.children,i=e.backfill,o=e.allowClear,a=e.placeholder,s=e.getInputElement,u=e.showSearch,c=e.onSearch,f=e.defaultOpen,h=e.autoFocus,p=e.labelInValue,g=e.value,v=e.inputValue,m=e.optionLabelProp,w=ma(t),y=u!==void 0?u:w||t==="combobox",C=n||kl(r);if(it(t!=="tags"||C.every(function(k){return!k.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),t==="tags"||t==="combobox"){var _=C.some(function(k){return k.options?k.options.some(function(A){return typeof("value"in A?A.value:A.key)=="number"}):typeof("value"in k?k.value:k.key)=="number"});it(!_,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(it(t!=="combobox"||!m,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),it(t==="combobox"||!i,"`backfill` only works with `combobox` mode."),it(t==="combobox"||!s,"`getInputElement` only work with `combobox` mode."),Ad(t!=="combobox"||!s||!o||!a,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),c&&!y&&t!=="combobox"&&t!=="tags"&&it(!1,"`onSearch` should work with `showSearch` instead of use alone."),Ad(!f||h,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),g!=null){var S=qs(g);it(!p||S.every(function(k){return qn(k)==="object"&&("key"in k||"value"in k)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),it(!w||Array.isArray(g),"`value` should be array when `mode` is `multiple` or `tags`")}if(r){var E=null;pr(r).some(function(k){if(!T.isValidElement(k)||!k.type)return!1;var A=k,L=A.type;if(L.isSelectOption)return!1;if(L.isSelectOptGroup){var F=pr(k.props.children).every(function(P){return!T.isValidElement(P)||!k.type||P.type.isSelectOption?!0:(E=P.type,!1)});return!F}return E=L,!0}),E&&it(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(E.displayName||E.name||E,"`.")),it(v===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function fO(e,t){if(e){var n=function r(i){for(var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=0;a<i.length;a++){var s=i[a];if(s[t==null?void 0:t.value]===null)return it(!1,"`value` in Select options should not be `null`."),!0;if(!o&&Array.isArray(s[t==null?void 0:t.options])&&r(s[t==null?void 0:t.options],!0))break}};n(e)}}var pO=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],hO=["inputValue"];function gO(e){return!e||qn(e)!=="object"}var xh=T.forwardRef(function(e,t){var n=e.id,r=e.mode,i=e.prefixCls,o=i===void 0?"rc-select":i,a=e.backfill,s=e.fieldNames,u=e.inputValue,c=e.searchValue,f=e.onSearch,h=e.autoClearSearchValue,p=h===void 0?!0:h,g=e.onSelect,v=e.onDeselect,m=e.dropdownMatchSelectWidth,w=m===void 0?!0:m,y=e.filterOption,C=e.filterSort,_=e.optionFilterProp,S=e.optionLabelProp,E=e.options,k=e.children,A=e.defaultActiveFirstOption,L=e.menuItemSelectedIcon,F=e.virtual,P=e.listHeight,O=P===void 0?200:P,I=e.listItemHeight,z=I===void 0?20:I,M=e.value,$=e.defaultValue,N=e.labelInValue,R=e.onChange,B=Yr(e,pO),G=ih(n),K=ma(r),W=!!(!E&&k),ee=T.useMemo(function(){return y===void 0&&r==="combobox"?!1:y},[y,r]),ne=T.useMemo(function(){return nh(s,W)},[JSON.stringify(s),W]),U=zi("",{value:c!==void 0?c:u,postState:function(fe){return fe||""}}),X=Nt(U,2),ce=X[0],ue=X[1],se=Ak(E,k,ne,_,S),ae=se.valueOptions,xe=se.labelOptions,be=se.options,Y=T.useCallback(function(ie){var fe=qs(ie);return fe.map(function(me){var Ae,Qe,ft,Wt,qt;if(gO(me))Ae=me;else{var dn;ft=me.key,Qe=me.label,Ae=(dn=me.value)!==null&&dn!==void 0?dn:ft}var xt=ae.get(Ae);if(xt){var V;if(Qe===void 0&&(Qe=xt==null?void 0:xt[S||ne.label]),ft===void 0&&(ft=(V=xt==null?void 0:xt.key)!==null&&V!==void 0?V:Ae),Wt=xt==null?void 0:xt.disabled,qt=xt==null?void 0:xt.title,process.env.NODE_ENV!=="production"&&!S){var J=xt==null?void 0:xt[ne.label];J!==void 0&&J!==Qe&&it(!1,"`label` of `value` is not same as `label` in Select options.")}}return{label:Qe,value:Ae,key:ft,disabled:Wt,title:qt}})},[ne,S,ae]),re=zi($,{value:M}),Se=Nt(re,2),q=Se[0],we=Se[1],ve=T.useMemo(function(){var ie,fe=Y(q);return r==="combobox"&&!((ie=fe[0])!==null&&ie!==void 0&&ie.value)?[]:fe},[q,Y,r]),_e=Ek(ve,ae),ke=Nt(_e,2),ge=ke[0],Ke=ke[1],Pe=T.useMemo(function(){if(!r&&ge.length===1){var ie=ge[0];if(ie.value===null&&(ie.label===null||ie.label===void 0))return[]}return ge.map(function(fe){var me;return Pt(Pt({},fe),{},{label:(me=fe.label)!==null&&me!==void 0?me:fe.value})})},[r,ge]),Xe=T.useMemo(function(){return new Set(ge.map(function(ie){return ie.value}))},[ge]);T.useEffect(function(){if(r==="combobox"){var ie,fe=(ie=ge[0])===null||ie===void 0?void 0:ie.value;ue(dx(fe)?String(fe):"")}},[ge]);var Ee=oh(function(ie,fe){var me,Ae=fe!=null?fe:ie;return me={},At(me,ne.value,ie),At(me,ne.label,Ae),me}),Fe=T.useMemo(function(){if(r!=="tags")return be;var ie=bn(be),fe=function(Ae){return ae.has(Ae)};return bn(ge).sort(function(me,Ae){return me.value<Ae.value?-1:1}).forEach(function(me){var Ae=me.value;fe(Ae)||ie.push(Ee(Ae,me.label))}),ie},[Ee,be,ae,ge,r]),$e=Tk(Fe,ne,ce,ee,_),Ve=T.useMemo(function(){return r!=="tags"||!ce||$e.some(function(ie){return ie[_||"value"]===ce})?$e:[Ee(ce)].concat(bn($e))},[Ee,_,r,$e,ce]),ct=T.useMemo(function(){return C?bn(Ve).sort(function(ie,fe){return C(ie,fe)}):Ve},[Ve,C]),at=T.useMemo(function(){return xk(ct,{fieldNames:ne,childrenAsData:W})},[ct,ne,W]),We=function(fe){var me=Y(fe);if(we(me),R&&(me.length!==ge.length||me.some(function(ft,Wt){var qt;return((qt=ge[Wt])===null||qt===void 0?void 0:qt.value)!==(ft==null?void 0:ft.value)}))){var Ae=N?me:me.map(function(ft){return ft.value}),Qe=me.map(function(ft){return El(Ke(ft.value))});R(K?Ae:Ae[0],K?Qe:Qe[0])}},st=T.useState(null),Ce=Nt(st,2),Ne=Ce[0],et=Ce[1],Mt=T.useState(0),lt=Nt(Mt,2),kt=lt[0],dt=lt[1],Gt=A!==void 0?A:r!=="combobox",Ot=T.useCallback(function(ie,fe){var me=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Ae=me.source,Qe=Ae===void 0?"keyboard":Ae;dt(fe),a&&r==="combobox"&&ie!==null&&Qe==="keyboard"&&et(String(ie))},[a,r]),bt=function(fe,me,Ae){var Qe=function(){var ye,Te=Ke(fe);return[N?{label:Te==null?void 0:Te[ne.label],value:fe,key:(ye=Te==null?void 0:Te.key)!==null&&ye!==void 0?ye:fe}:fe,El(Te)]};if(me&&g){var ft=Qe(),Wt=Nt(ft,2),qt=Wt[0],dn=Wt[1];g(qt,dn)}else if(!me&&v&&Ae!=="clear"){var xt=Qe(),V=Nt(xt,2),J=V[0],Q=V[1];v(J,Q)}},_t=oh(function(ie,fe){var me,Ae=K?fe.selected:!0;Ae?me=K?[].concat(bn(ge),[ie]):[ie]:me=ge.filter(function(Qe){return Qe.value!==ie}),We(me),bt(ie,Ae),r==="combobox"?et(""):(!ma||p)&&(ue(""),et(""))}),Ht=function(fe,me){We(fe);var Ae=me.type,Qe=me.values;(Ae==="remove"||Ae==="clear")&&Qe.forEach(function(ft){bt(ft.value,!1,Ae)})},vt=function(fe,me){if(ue(fe),et(null),me.source==="submit"){var Ae=(fe||"").trim();if(Ae){var Qe=Array.from(new Set([].concat(bn(Xe),[Ae])));We(Qe),bt(Ae,!0),ue("")}return}me.source!=="blur"&&(r==="combobox"&&We(fe),f==null||f(fe))},cn=function(fe){var me=fe;r!=="tags"&&(me=fe.map(function(Qe){var ft=xe.get(Qe);return ft==null?void 0:ft.value}).filter(function(Qe){return Qe!==void 0}));var Ae=Array.from(new Set([].concat(bn(Xe),bn(me))));We(Ae),Ae.forEach(function(Qe){bt(Qe,!0)})},Vt=T.useMemo(function(){var ie=F!==!1&&w!==!1;return Pt(Pt({},se),{},{flattenOptions:at,onActiveValue:Ot,defaultActiveFirstOption:Gt,onSelect:_t,menuItemSelectedIcon:L,rawValues:Xe,fieldNames:ne,virtual:ie,listHeight:O,listItemHeight:z,childrenAsData:W})},[se,at,Ot,Gt,_t,L,Xe,ne,F,w,O,z,W]);return process.env.NODE_ENV!=="production"&&(dO(e),fO(be,ne)),l(yh.Provider,{value:Vt,children:l(Tl,{...B,id:G,prefixCls:o,ref:t,omitDomProps:hO,mode:r,displayValues:Pe,onDisplayValuesChange:Ht,searchValue:ce,onSearch:vt,autoClearSearchValue:p,onSearchSplit:cn,dropdownMatchSelectWidth:w,OptionList:wh,emptyOptions:!at.length,activeValue:Ne,activeDescendantId:"".concat(G,"_list_").concat(kt)})})});process.env.NODE_ENV!=="production"&&(xh.displayName="Select");var Sh=xh;Sh.Option=sh,Sh.OptGroup=ah;function Ch(e,t){var n=new Set;return e.forEach(function(r){t.has(r)||n.add(r)}),n}function vO(e){var t=e||{},n=t.disabled,r=t.disableCheckbox,i=t.checkable;return!!(n||r)||i===!1}function mO(e,t,n,r){for(var i=new Set(e),o=new Set,a=0;a<=n;a+=1){var s=t.get(a)||new Set;s.forEach(function(h){var p=h.key,g=h.node,v=h.children,m=v===void 0?[]:v;i.has(p)&&!r(g)&&m.filter(function(w){return!r(w.node)}).forEach(function(w){i.add(w.key)})})}for(var u=new Set,c=n;c>=0;c-=1){var f=t.get(c)||new Set;f.forEach(function(h){var p=h.parent,g=h.node;if(!(r(g)||!h.parent||u.has(h.parent.key))){if(r(h.parent.node)){u.add(p.key);return}var v=!0,m=!1;(p.children||[]).filter(function(w){return!r(w.node)}).forEach(function(w){var y=w.key,C=i.has(y);v&&!C&&(v=!1),!m&&(C||o.has(y))&&(m=!0)}),v&&i.add(p.key),m&&o.add(p.key),u.add(p.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Ch(o,i))}}function yO(e,t,n,r,i){for(var o=new Set(e),a=new Set(t),s=0;s<=r;s+=1){var u=n.get(s)||new Set;u.forEach(function(p){var g=p.key,v=p.node,m=p.children,w=m===void 0?[]:m;!o.has(g)&&!a.has(g)&&!i(v)&&w.filter(function(y){return!i(y.node)}).forEach(function(y){o.delete(y.key)})})}a=new Set;for(var c=new Set,f=r;f>=0;f-=1){var h=n.get(f)||new Set;h.forEach(function(p){var g=p.parent,v=p.node;if(!(i(v)||!p.parent||c.has(p.parent.key))){if(i(p.parent.node)){c.add(g.key);return}var m=!0,w=!1;(g.children||[]).filter(function(y){return!i(y.node)}).forEach(function(y){var C=y.key,_=o.has(C);m&&!_&&(m=!1),!w&&(_||a.has(C))&&(w=!0)}),m||o.delete(g.key),w&&a.add(g.key),c.add(g.key)}})}return{checkedKeys:Array.from(o),halfCheckedKeys:Array.from(Ch(a,o))}}function fi(e,t,n,r){var i=[],o;r?o=r:o=vO;var a=new Set(e.filter(function(f){var h=!!n[f];return h||i.push(f),h})),s=new Map,u=0;Object.keys(n).forEach(function(f){var h=n[f],p=h.level,g=s.get(p);g||(g=new Set,s.set(p,g)),g.add(h),u=Math.max(u,p)}),it(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(f){return"'".concat(f,"'")}).join(", ")));var c;return t===!0?c=mO(a,s,u,o):c=yO(a,t.halfCheckedKeys,s,u,o),c}function ba(){return ba=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ba.apply(this,arguments)}function Jn(e){return Jn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jn(e)}function bO(e,t){if(Jn(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Jn(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _h(e){var t=bO(e,"string");return Jn(t)==="symbol"?t:String(t)}function Et(e,t,n){return t=_h(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Xt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Eh(Object(n),!0).forEach(function(r){Et(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Eh(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rl(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wO(e){if(Array.isArray(e))return Rl(e)}function xO(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Th(e,t){if(!!e){if(typeof e=="string")return Rl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Rl(e,t)}}function SO(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
74
74
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Nr(e){return wO(e)||xO(e)||Th(e)||SO()}function Mh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_h(r.key),r)}}function Oh(e,t,n){return t&&kh(e.prototype,t),n&&kh(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function er(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Al(e,t){return Al=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Al(e,t)}function Dh(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Al(e,t)}function wa(e){return wa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},wa(e)}function CO(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _O(e,t){if(t&&(Jn(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return er(e)}function Rh(e){var t=CO();return function(){var r=wa(e),i;if(t){var o=wa(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return _O(this,i)}}var Pl=T.createContext(null);function EO(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o<r.length;o++)i=r[o],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function xa(e,t){if(e==null)return{};var n=EO(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],!(t.indexOf(r)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}var TO=function(t){for(var n=t.prefixCls,r=t.level,i=t.isStart,o=t.isEnd,a="".concat(n,"-indent-unit"),s=[],u=0;u<r;u+=1){var c;s.push(l("span",{className:pt(a,(c={},Et(c,"".concat(a,"-start"),i[u]),Et(c,"".concat(a,"-end"),o[u]),c))},u))}return l("span",{"aria-hidden":"true",className:"".concat(n,"-indent"),children:s})};const MO=T.memo(TO);var kO=["children"];function to(e,t){return e!=null?e:t}function Sa(e){var t=e||{},n=t.title,r=t._title,i=t.key,o=t.children,a=n||"title";return{title:a,_title:r||[a],key:i||"key",children:o||"children"}}function OO(e,t){var n=new Map;function r(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";(i||[]).forEach(function(a){var s=a[t.key],u=a[t.children];it(s!=null,"Tree node must have a certain key: [".concat(o).concat(s,"]"));var c=String(s);it(!n.has(c)||s===null||s===void 0,"Same 'key' exist in the Tree: ".concat(c)),n.set(c,!0),r(u,"".concat(o).concat(c," > "))})}r(e)}function DO(e){function t(n){var r=pr(n);return r.map(function(i){if(!IO(i))return it(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var o=i.key,a=i.props,s=a.children,u=xa(a,kO),c=Xt({key:o},u),f=t(s);return f.length&&(c.children=f),c}).filter(function(i){return i})}return t(e)}function Nl(e,t,n){var r=Sa(n),i=r._title,o=r.key,a=r.children,s=new Set(t===!0?[]:t),u=[];function c(f){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return f.map(function(p,g){for(var v=Ih(h?h.pos:"0",g),m=to(p[o],v),w,y=0;y<i.length;y+=1){var C=i[y];if(p[C]!==void 0){w=p[C];break}}var _=Xt(Xt({},lh(p,[].concat(Nr(i),[o,a]))),{},{title:w,key:m,parent:h,pos:v,children:null,data:p,isStart:[].concat(Nr(h?h.isStart:[]),[g===0]),isEnd:[].concat(Nr(h?h.isEnd:[]),[g===f.length-1])});return u.push(_),t===!0||s.has(m)?_.children=c(p[a]||[],_):_.children=[],_})}return c(e),u}function RO(e,t,n){var r={};Jn(n)==="object"?r=n:r={externalGetKey:n},r=r||{};var i=r,o=i.childrenPropName,a=i.externalGetKey,s=i.fieldNames,u=Sa(s),c=u.key,f=u.children,h=o||f,p;a?typeof a=="string"?p=function(m){return m[a]}:typeof a=="function"&&(p=function(m){return a(m)}):p=function(m,w){return to(m[c],w)};function g(v,m,w,y){var C=v?v[h]:e,_=v?Ih(w.pos,m):"0",S=v?[].concat(Nr(y),[v]):[];if(v){var E=p(v,_),k={node:v,index:m,pos:_,key:E,parentPos:w.node?w.pos:null,level:w.level+1,nodes:S};t(k)}C&&C.forEach(function(A,L){g(A,L,{node:v,pos:_,level:w?w.level+1:-1},S)})}g(null)}function Ah(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.initWrapper,r=t.processEntity,i=t.onProcessFinished,o=t.externalGetKey,a=t.childrenPropName,s=t.fieldNames,u=arguments.length>2?arguments[2]:void 0,c=o||u,f={},h={},p={posEntities:f,keyEntities:h};return n&&(p=n(p)||p),RO(e,function(g){var v=g.node,m=g.index,w=g.pos,y=g.key,C=g.parentPos,_=g.level,S=g.nodes,E={node:v,nodes:S,index:m,key:y,pos:w,level:_},k=to(y,w);f[w]=E,h[k]=E,E.parent=f[C],E.parent&&(E.parent.children=E.parent.children||[],E.parent.children.push(E)),r&&r(E,p)},{externalGetKey:c,childrenPropName:a,fieldNames:s}),i&&i(p),p}function no(e,t){var n=t.expandedKeys,r=t.selectedKeys,i=t.loadedKeys,o=t.loadingKeys,a=t.checkedKeys,s=t.halfCheckedKeys,u=t.dragOverNodeKey,c=t.dropPosition,f=t.keyEntities,h=f[e],p={eventKey:e,expanded:n.indexOf(e)!==-1,selected:r.indexOf(e)!==-1,loaded:i.indexOf(e)!==-1,loading:o.indexOf(e)!==-1,checked:a.indexOf(e)!==-1,halfChecked:s.indexOf(e)!==-1,pos:String(h?h.pos:""),dragOver:u===e&&c===0,dragOverGapTop:u===e&&c===-1,dragOverGapBottom:u===e&&c===1};return p}function $t(e){var t=e.data,n=e.expanded,r=e.selected,i=e.checked,o=e.loaded,a=e.loading,s=e.halfChecked,u=e.dragOver,c=e.dragOverGapTop,f=e.dragOverGapBottom,h=e.pos,p=e.active,g=e.eventKey,v=Xt(Xt({},t),{},{expanded:n,selected:r,checked:i,loaded:o,loading:a,halfChecked:s,dragOver:u,dragOverGapTop:c,dragOverGapBottom:f,pos:h,active:p,key:g});return"props"in v||Object.defineProperty(v,"props",{get:function(){return it(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),e}}),v}var AO=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],Ph="open",Nh="close",PO="---",NO=function(e){Dh(n,e);var t=Rh(n);function n(){var r;Mh(this,n);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return r=t.call.apply(t,[this].concat(o)),r.state={dragNodeHighlight:!1},r.selectHandle=void 0,r.onSelectorClick=function(s){var u=r.props.context.onNodeClick;u(s,$t(r.props)),r.isSelectable()?r.onSelect(s):r.onCheck(s)},r.onSelectorDoubleClick=function(s){var u=r.props.context.onNodeDoubleClick;u(s,$t(r.props))},r.onSelect=function(s){if(!r.isDisabled()){var u=r.props.context.onNodeSelect;s.preventDefault(),u(s,$t(r.props))}},r.onCheck=function(s){if(!r.isDisabled()){var u=r.props,c=u.disableCheckbox,f=u.checked,h=r.props.context.onNodeCheck;if(!(!r.isCheckable()||c)){s.preventDefault();var p=!f;h(s,$t(r.props),p)}}},r.onMouseEnter=function(s){var u=r.props.context.onNodeMouseEnter;u(s,$t(r.props))},r.onMouseLeave=function(s){var u=r.props.context.onNodeMouseLeave;u(s,$t(r.props))},r.onContextMenu=function(s){var u=r.props.context.onNodeContextMenu;u(s,$t(r.props))},r.onDragStart=function(s){var u=r.props.context.onNodeDragStart;s.stopPropagation(),r.setState({dragNodeHighlight:!0}),u(s,er(r));try{s.dataTransfer.setData("text/plain","")}catch{}},r.onDragEnter=function(s){var u=r.props.context.onNodeDragEnter;s.preventDefault(),s.stopPropagation(),u(s,er(r))},r.onDragOver=function(s){var u=r.props.context.onNodeDragOver;s.preventDefault(),s.stopPropagation(),u(s,er(r))},r.onDragLeave=function(s){var u=r.props.context.onNodeDragLeave;s.stopPropagation(),u(s,er(r))},r.onDragEnd=function(s){var u=r.props.context.onNodeDragEnd;s.stopPropagation(),r.setState({dragNodeHighlight:!1}),u(s,er(r))},r.onDrop=function(s){var u=r.props.context.onNodeDrop;s.preventDefault(),s.stopPropagation(),r.setState({dragNodeHighlight:!1}),u(s,er(r))},r.onExpand=function(s){var u=r.props,c=u.loading,f=u.context.onNodeExpand;c||f(s,$t(r.props))},r.setSelectHandle=function(s){r.selectHandle=s},r.getNodeState=function(){var s=r.props.expanded;return r.isLeaf()?null:s?Ph:Nh},r.hasChildren=function(){var s=r.props.eventKey,u=r.props.context.keyEntities,c=u[s]||{},f=c.children;return!!(f||[]).length},r.isLeaf=function(){var s=r.props,u=s.isLeaf,c=s.loaded,f=r.props.context.loadData,h=r.hasChildren();return u===!1?!1:u||!f&&!h||f&&c&&!h},r.isDisabled=function(){var s=r.props.disabled,u=r.props.context.disabled;return!!(u||s)},r.isCheckable=function(){var s=r.props.checkable,u=r.props.context.checkable;return!u||s===!1?!1:u},r.syncLoadData=function(s){var u=s.expanded,c=s.loading,f=s.loaded,h=r.props.context,p=h.loadData,g=h.onNodeLoad;c||p&&u&&!r.isLeaf()&&!r.hasChildren()&&!f&&g($t(r.props))},r.isDraggable=function(){var s=r.props,u=s.data,c=s.context.draggable;return!!(c&&(!c.nodeDraggable||c.nodeDraggable(u)))},r.renderDragHandler=function(){var s=r.props.context,u=s.draggable,c=s.prefixCls;return u!=null&&u.icon?l("span",{className:"".concat(c,"-draggable-icon"),children:u.icon}):null},r.renderSwitcherIconDom=function(s){var u=r.props.switcherIcon,c=r.props.context.switcherIcon,f=u||c;return typeof f=="function"?f(Xt(Xt({},r.props),{},{isLeaf:s})):f},r.renderSwitcher=function(){var s=r.props.expanded,u=r.props.context.prefixCls;if(r.isLeaf()){var c=r.renderSwitcherIconDom(!0);return c!==!1?l("span",{className:pt("".concat(u,"-switcher"),"".concat(u,"-switcher-noop")),children:c}):null}var f=pt("".concat(u,"-switcher"),"".concat(u,"-switcher_").concat(s?Ph:Nh)),h=r.renderSwitcherIconDom(!1);return h!==!1?l("span",{onClick:r.onExpand,className:f,children:h}):null},r.renderCheckbox=function(){var s=r.props,u=s.checked,c=s.halfChecked,f=s.disableCheckbox,h=r.props.context.prefixCls,p=r.isDisabled(),g=r.isCheckable();if(!g)return null;var v=typeof g!="boolean"?g:null;return l("span",{className:pt("".concat(h,"-checkbox"),u&&"".concat(h,"-checkbox-checked"),!u&&c&&"".concat(h,"-checkbox-indeterminate"),(p||f)&&"".concat(h,"-checkbox-disabled")),onClick:r.onCheck,children:v})},r.renderIcon=function(){var s=r.props.loading,u=r.props.context.prefixCls;return l("span",{className:pt("".concat(u,"-iconEle"),"".concat(u,"-icon__").concat(r.getNodeState()||"docu"),s&&"".concat(u,"-icon_loading"))})},r.renderSelector=function(){var s=r.state.dragNodeHighlight,u=r.props,c=u.title,f=u.selected,h=u.icon,p=u.loading,g=u.data,v=r.props.context,m=v.prefixCls,w=v.showIcon,y=v.icon,C=v.loadData,_=v.titleRender,S=r.isDisabled(),E="".concat(m,"-node-content-wrapper"),k;if(w){var A=h||y;k=A?l("span",{className:pt("".concat(m,"-iconEle"),"".concat(m,"-icon__customize")),children:typeof A=="function"?A(r.props):A}):r.renderIcon()}else C&&p&&(k=r.renderIcon());var L;typeof c=="function"?L=c(g):_?L=_(g):L=c;var F=l("span",{className:"".concat(m,"-title"),children:L});return b("span",{ref:r.setSelectHandle,title:typeof c=="string"?c:"",className:pt("".concat(E),"".concat(E,"-").concat(r.getNodeState()||"normal"),!S&&(f||s)&&"".concat(m,"-node-selected")),onMouseEnter:r.onMouseEnter,onMouseLeave:r.onMouseLeave,onContextMenu:r.onContextMenu,onClick:r.onSelectorClick,onDoubleClick:r.onSelectorDoubleClick,children:[k,F,r.renderDropIndicator()]})},r.renderDropIndicator=function(){var s=r.props,u=s.disabled,c=s.eventKey,f=r.props.context,h=f.draggable,p=f.dropLevelOffset,g=f.dropPosition,v=f.prefixCls,m=f.indent,w=f.dropIndicatorRender,y=f.dragOverNodeKey,C=f.direction,_=!!h,S=!u&&_&&y===c;return S?w({dropPosition:g,dropLevelOffset:p,indent:m,prefixCls:v,direction:C}):null},r}return Oh(n,[{key:"componentDidMount",value:function(){this.syncLoadData(this.props)}},{key:"componentDidUpdate",value:function(){this.syncLoadData(this.props)}},{key:"isSelectable",value:function(){var i=this.props.selectable,o=this.props.context.selectable;return typeof i=="boolean"?i:o}},{key:"render",value:function(){var i,o=this.props,a=o.eventKey,s=o.className,u=o.style,c=o.dragOver,f=o.dragOverGapTop,h=o.dragOverGapBottom,p=o.isLeaf,g=o.isStart,v=o.isEnd,m=o.expanded,w=o.selected,y=o.checked,C=o.halfChecked,_=o.loading,S=o.domRef,E=o.active;o.data;var k=o.onMouseMove,A=o.selectable,L=xa(o,AO),F=this.props.context,P=F.prefixCls,O=F.filterTreeNode,I=F.keyEntities,z=F.dropContainerKey,M=F.dropTargetKey,$=F.draggingNodeKey,N=this.isDisabled(),R=Qr(L,{aria:!0,data:!0}),B=I[a]||{},G=B.level,K=v[v.length-1],W=this.isDraggable(),ee=!N&&W,ne=$===a,U=A!==void 0?{"aria-selected":!!A}:void 0;return b("div",{ref:S,className:pt(s,"".concat(P,"-treenode"),(i={},Et(i,"".concat(P,"-treenode-disabled"),N),Et(i,"".concat(P,"-treenode-switcher-").concat(m?"open":"close"),!p),Et(i,"".concat(P,"-treenode-checkbox-checked"),y),Et(i,"".concat(P,"-treenode-checkbox-indeterminate"),C),Et(i,"".concat(P,"-treenode-selected"),w),Et(i,"".concat(P,"-treenode-loading"),_),Et(i,"".concat(P,"-treenode-active"),E),Et(i,"".concat(P,"-treenode-leaf-last"),K),Et(i,"".concat(P,"-treenode-draggable"),W),Et(i,"dragging",ne),Et(i,"drop-target",M===a),Et(i,"drop-container",z===a),Et(i,"drag-over",!N&&c),Et(i,"drag-over-gap-top",!N&&f),Et(i,"drag-over-gap-bottom",!N&&h),Et(i,"filter-node",O&&O($t(this.props))),i)),style:u,draggable:ee,"aria-grabbed":ne,onDragStart:ee?this.onDragStart:void 0,onDragEnter:W?this.onDragEnter:void 0,onDragOver:W?this.onDragOver:void 0,onDragLeave:W?this.onDragLeave:void 0,onDrop:W?this.onDrop:void 0,onDragEnd:W?this.onDragEnd:void 0,onMouseMove:k,...U,...R,children:[l(MO,{prefixCls:P,level:G,isStart:g,isEnd:v}),this.renderDragHandler(),this.renderSwitcher(),this.renderCheckbox(),this.renderSelector()]})}}]),n}(T.Component),pi=function(t){return l(Pl.Consumer,{children:function(n){return l(NO,{...t,context:n})}})};pi.displayName="TreeNode",pi.defaultProps={title:PO},pi.isTreeNode=1;function tr(e,t){if(!e)return[];var n=e.slice(),r=n.indexOf(t);return r>=0&&n.splice(r,1),n}function yr(e,t){var n=(e||[]).slice();return n.indexOf(t)===-1&&n.push(t),n}function Il(e){return e.split("-")}function Ih(e,t){return"".concat(e,"-").concat(t)}function IO(e){return e&&e.type&&e.type.isTreeNode}function $O(e,t){var n=[],r=t[e];function i(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];o.forEach(function(a){var s=a.key,u=a.children;n.push(s),i(u)})}return i(r.children),n}function LO(e){if(e.parent){var t=Il(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function VO(e){var t=Il(e.pos);return Number(t[t.length-1])===0}function $h(e,t,n,r,i,o,a,s,u,c){var f,h=e.clientX,p=e.clientY,g=e.target.getBoundingClientRect(),v=g.top,m=g.height,w=(c==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-h),y=(w-12)/r,C=s[n.props.eventKey];if(p<v+m/2){var _=a.findIndex(function($){return $.key===C.key}),S=_<=0?0:_-1,E=a[S].key;C=s[E]}var k=C.key,A=C,L=C.key,F=0,P=0;if(!u.includes(k))for(var O=0;O<y&&LO(C);O+=1)C=C.parent,P+=1;var I=t.props.data,z=C.node,M=!0;return VO(C)&&C.level===0&&p<v+m/2&&o({dragNode:I,dropNode:z,dropPosition:-1})&&C.key===n.props.eventKey?F=-1:(A.children||[]).length&&u.includes(L)?o({dragNode:I,dropNode:z,dropPosition:0})?F=0:M=!1:P===0?y>-1.5?o({dragNode:I,dropNode:z,dropPosition:1})?F=1:M=!1:o({dragNode:I,dropNode:z,dropPosition:0})?F=0:o({dragNode:I,dropNode:z,dropPosition:1})?F=1:M=!1:o({dragNode:I,dropNode:z,dropPosition:1})?F=1:M=!1,{dropPosition:F,dropLevelOffset:P,dropTargetKey:C.key,dropTargetPos:C.pos,dragOverNodeKey:L,dropContainerKey:F===0?null:((f=C.parent)===null||f===void 0?void 0:f.key)||null,dropAllowed:M}}function Lh(e,t){if(!!e){var n=t.multiple;return n?e.slice():e.length?[e[0]]:e}}function $l(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(Jn(e)==="object")t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return it(!1,"`checkedKeys` is not an array or an object"),null;return t}function Vh(e,t){var n=new Set;function r(i){if(!n.has(i)){var o=t[i];if(!!o){n.add(i);var a=o.parent,s=o.node;s.disabled||a&&r(a.key)}}}return(e||[]).forEach(function(i){r(i)}),Nr(n)}function zh(e){if(e==null)throw new TypeError("Cannot destructure "+e)}function zO(e){if(Array.isArray(e))return e}function FO(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);u=!0);}catch(f){c=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}function BO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
75
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hi(e,t){return zO(e)||FO(e,t)||Th(e,t)||BO()}var jO=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],Fh=function(t,n){var r=t.className,i=t.style,o=t.motion,a=t.motionNodes,s=t.motionType,u=t.onMotionStart,c=t.onMotionEnd,f=t.active,h=t.treeNodeRequiredProps,p=xa(t,jO),g=T.useState(!0),v=hi(g,2),m=v[0],w=v[1],y=T.useContext(Pl),C=y.prefixCls,_=T.useRef(!1),S=function(){_.current||c(),_.current=!0};return x.useEffect(function(){a&&s==="hide"&&m&&w(!1)},[a]),x.useEffect(function(){return a&&u(),function(){a&&S()}},[]),a?l(ta,{ref:n,visible:m,...o,motionAppear:s==="show",onAppearEnd:S,onLeaveEnd:S,children:function(E,k){var A=E.className,L=E.style;return l("div",{ref:k,className:pt("".concat(C,"-treenode-motion"),A),style:L,children:a.map(function(F){var P=ba({},(zh(F.data),F.data)),O=F.title,I=F.key,z=F.isStart,M=F.isEnd;delete P.children;var $=no(I,h);return x.createElement(pi,{...P,...$,title:O,active:f,data:F.data,key:I,isStart:z,isEnd:M})})})}}):l(pi,{domRef:n,className:r,style:i,...p,active:f})};Fh.displayName="MotionTreeNode";var GO=T.forwardRef(Fh);function KO(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=e.length,r=t.length;if(Math.abs(n-r)!==1)return{add:!1,key:null};function i(o,a){var s=new Map;o.forEach(function(c){s.set(c,!0)});var u=a.filter(function(c){return!s.has(c)});return u.length===1?u[0]:null}return n<r?{add:!0,key:i(e,t)}:{add:!1,key:i(t,e)}}function Bh(e,t,n){var r=e.findIndex(function(s){return s.key===n}),i=e[r+1],o=t.findIndex(function(s){return s.key===n});if(i){var a=t.findIndex(function(s){return s.key===i.key});return t.slice(o+1,a)}return t.slice(o+1)}var HO=["prefixCls","data","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","height","itemHeight","virtual","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd"],jh={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},WO=function(){},Ir="RC_TREE_MOTION_".concat(Math.random()),Ll={key:Ir},Gh={key:Ir,level:0,index:0,pos:"0",node:Ll,nodes:[Ll]},Kh={parent:null,children:[],pos:Gh.pos,data:Ll,title:null,key:Ir,isStart:[],isEnd:[]};function Hh(e,t,n,r){return t===!1||!n?e:e.slice(0,Math.ceil(n/r)+1)}function Wh(e){var t=e.key,n=e.pos;return to(t,n)}function qO(e){for(var t=String(e.data.key),n=e;n.parent;)n=n.parent,t="".concat(n.data.key," > ").concat(t);return t}var qh=T.forwardRef(function(e,t){var n=e.prefixCls,r=e.data;e.selectable,e.checkable;var i=e.expandedKeys,o=e.selectedKeys,a=e.checkedKeys,s=e.loadedKeys,u=e.loadingKeys,c=e.halfCheckedKeys,f=e.keyEntities,h=e.disabled,p=e.dragging,g=e.dragOverNodeKey,v=e.dropPosition,m=e.motion,w=e.height,y=e.itemHeight,C=e.virtual,_=e.focusable,S=e.activeItem,E=e.focused,k=e.tabIndex,A=e.onKeyDown,L=e.onFocus,F=e.onBlur,P=e.onActiveChange,O=e.onListChangeStart,I=e.onListChangeEnd,z=xa(e,HO),M=T.useRef(null),$=T.useRef(null);T.useImperativeHandle(t,function(){return{scrollTo:function(Ke){M.current.scrollTo(Ke)},getIndentWidth:function(){return $.current.offsetWidth}}});var N=T.useState(i),R=hi(N,2),B=R[0],G=R[1],K=T.useState(r),W=hi(K,2),ee=W[0],ne=W[1],U=T.useState(r),X=hi(U,2),ce=X[0],ue=X[1],se=T.useState([]),ae=hi(se,2),xe=ae[0],be=ae[1],Y=T.useState(null),re=hi(Y,2),Se=re[0],q=re[1],we=T.useRef(r);we.current=r;function ve(){var ge=we.current;ne(ge),ue(ge),be([]),q(null),I()}T.useEffect(function(){G(i);var ge=KO(B,i);if(ge.key!==null)if(ge.add){var Ke=ee.findIndex(function(Ve){var ct=Ve.key;return ct===ge.key}),Pe=Hh(Bh(ee,r,ge.key),C,w,y),Xe=ee.slice();Xe.splice(Ke+1,0,Kh),ue(Xe),be(Pe),q("show")}else{var Ee=r.findIndex(function(Ve){var ct=Ve.key;return ct===ge.key}),Fe=Hh(Bh(r,ee,ge.key),C,w,y),$e=r.slice();$e.splice(Ee+1,0,Kh),ue($e),be(Fe),q("hide")}else ee!==r&&(ne(r),ue(r))},[i,r]),T.useEffect(function(){p||ve()},[p]);var _e=m?ce:r,ke={expandedKeys:i,selectedKeys:o,loadedKeys:s,loadingKeys:u,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:g,dropPosition:v,keyEntities:f};return b(Oe,{children:[E&&S&&l("span",{style:jh,"aria-live":"assertive",children:qO(S)}),l("div",{children:l("input",{style:jh,disabled:_===!1||h,tabIndex:_!==!1?k:null,onKeyDown:A,onFocus:L,onBlur:F,value:"",onChange:WO,"aria-label":"for screen reader"})}),l("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0},children:l("div",{className:"".concat(n,"-indent"),children:l("div",{ref:$,className:"".concat(n,"-indent-unit")})})}),l(Dl,{...z,data:_e,itemKey:Wh,height:w,fullHeight:!1,virtual:C,itemHeight:y,prefixCls:"".concat(n,"-list"),ref:M,onVisibleChange:function(Ke,Pe){var Xe=new Set(Ke),Ee=Pe.filter(function(Fe){return!Xe.has(Fe)});Ee.some(function(Fe){return Wh(Fe)===Ir})&&ve()},children:function(ge){var Ke=ge.pos,Pe=ba({},(zh(ge.data),ge.data)),Xe=ge.title,Ee=ge.key,Fe=ge.isStart,$e=ge.isEnd,Ve=to(Ee,Ke);delete Pe.key,delete Pe.children;var ct=no(Ve,ke);return l(GO,{...Pe,...ct,title:Xe,active:!!S&&Ee===S.key,pos:Ke,data:ge.data,isStart:Fe,isEnd:$e,motion:m,motionNodes:Ee===Ir?xe:null,motionType:Se,onMotionStart:O,onMotionEnd:ve,treeNodeRequiredProps:ke,onMouseMove:function(){P(null)}})}})]})});qh.displayName="NodeList";function UO(e){var t=e.dropPosition,n=e.dropLevelOffset,r=e.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(t){case-1:i.top=0,i.left=-n*r;break;case 1:i.bottom=0,i.left=-n*r;break;case 0:i.bottom=0,i.left=r;break}return l("div",{style:i})}var YO=10,Vl=function(e){Dh(n,e);var t=Rh(n);function n(){var r;Mh(this,n);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return r=t.call.apply(t,[this].concat(o)),r.destroyed=!1,r.delayedDragEnterLogic=void 0,r.loadingRetryTimes={},r.state={keyEntities:{},indent:null,selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],expandedKeys:[],draggingNodeKey:null,dragChildrenKeys:[],dropTargetKey:null,dropPosition:null,dropContainerKey:null,dropLevelOffset:null,dropTargetPos:null,dropAllowed:!0,dragOverNodeKey:null,treeData:[],flattenNodes:[],focused:!1,activeKey:null,listChanging:!1,prevProps:null,fieldNames:Sa()},r.dragStartMousePosition=null,r.dragNode=void 0,r.currentMouseOverDroppableNodeKey=null,r.listRef=T.createRef(),r.onNodeDragStart=function(s,u){var c=r.state,f=c.expandedKeys,h=c.keyEntities,p=r.props.onDragStart,g=u.props.eventKey;r.dragNode=u,r.dragStartMousePosition={x:s.clientX,y:s.clientY};var v=tr(f,g);r.setState({draggingNodeKey:g,dragChildrenKeys:$O(g,h),indent:r.listRef.current.getIndentWidth()}),r.setExpandedKeys(v),window.addEventListener("dragend",r.onWindowDragEnd),p==null||p({event:s,node:$t(u.props)})},r.onNodeDragEnter=function(s,u){var c=r.state,f=c.expandedKeys,h=c.keyEntities,p=c.dragChildrenKeys,g=c.flattenNodes,v=c.indent,m=r.props,w=m.onDragEnter,y=m.onExpand,C=m.allowDrop,_=m.direction,S=u.props,E=S.pos,k=S.eventKey,A=er(r),L=A.dragNode;if(r.currentMouseOverDroppableNodeKey!==k&&(r.currentMouseOverDroppableNodeKey=k),!L){r.resetDragState();return}var F=$h(s,L,u,v,r.dragStartMousePosition,C,g,h,f,_),P=F.dropPosition,O=F.dropLevelOffset,I=F.dropTargetKey,z=F.dropContainerKey,M=F.dropTargetPos,$=F.dropAllowed,N=F.dragOverNodeKey;if(p.indexOf(I)!==-1||!$){r.resetDragState();return}if(r.delayedDragEnterLogic||(r.delayedDragEnterLogic={}),Object.keys(r.delayedDragEnterLogic).forEach(function(R){clearTimeout(r.delayedDragEnterLogic[R])}),L.props.eventKey!==u.props.eventKey&&(s.persist(),r.delayedDragEnterLogic[E]=window.setTimeout(function(){if(r.state.draggingNodeKey!==null){var R=Nr(f),B=h[u.props.eventKey];B&&(B.children||[]).length&&(R=yr(f,u.props.eventKey)),"expandedKeys"in r.props||r.setExpandedKeys(R),y==null||y(R,{node:$t(u.props),expanded:!0,nativeEvent:s.nativeEvent})}},800)),L.props.eventKey===I&&O===0){r.resetDragState();return}r.setState({dragOverNodeKey:N,dropPosition:P,dropLevelOffset:O,dropTargetKey:I,dropContainerKey:z,dropTargetPos:M,dropAllowed:$}),w==null||w({event:s,node:$t(u.props),expandedKeys:f})},r.onNodeDragOver=function(s,u){var c=r.state,f=c.dragChildrenKeys,h=c.flattenNodes,p=c.keyEntities,g=c.expandedKeys,v=c.indent,m=r.props,w=m.onDragOver,y=m.allowDrop,C=m.direction,_=er(r),S=_.dragNode;if(!!S){var E=$h(s,S,u,v,r.dragStartMousePosition,y,h,p,g,C),k=E.dropPosition,A=E.dropLevelOffset,L=E.dropTargetKey,F=E.dropContainerKey,P=E.dropAllowed,O=E.dropTargetPos,I=E.dragOverNodeKey;f.indexOf(L)!==-1||!P||(S.props.eventKey===L&&A===0?r.state.dropPosition===null&&r.state.dropLevelOffset===null&&r.state.dropTargetKey===null&&r.state.dropContainerKey===null&&r.state.dropTargetPos===null&&r.state.dropAllowed===!1&&r.state.dragOverNodeKey===null||r.resetDragState():k===r.state.dropPosition&&A===r.state.dropLevelOffset&&L===r.state.dropTargetKey&&F===r.state.dropContainerKey&&O===r.state.dropTargetPos&&P===r.state.dropAllowed&&I===r.state.dragOverNodeKey||r.setState({dropPosition:k,dropLevelOffset:A,dropTargetKey:L,dropContainerKey:F,dropTargetPos:O,dropAllowed:P,dragOverNodeKey:I}),w==null||w({event:s,node:$t(u.props)}))}},r.onNodeDragLeave=function(s,u){r.currentMouseOverDroppableNodeKey===u.props.eventKey&&!s.currentTarget.contains(s.relatedTarget)&&(r.resetDragState(),r.currentMouseOverDroppableNodeKey=null);var c=r.props.onDragLeave;c==null||c({event:s,node:$t(u.props)})},r.onWindowDragEnd=function(s){r.onNodeDragEnd(s,null,!0),window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDragEnd=function(s,u){var c=r.props.onDragEnd;r.setState({dragOverNodeKey:null}),r.cleanDragState(),c==null||c({event:s,node:$t(u.props)}),r.dragNode=null,window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDrop=function(s,u){var c,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=r.state,p=h.dragChildrenKeys,g=h.dropPosition,v=h.dropTargetKey,m=h.dropTargetPos,w=h.dropAllowed;if(!!w){var y=r.props.onDrop;if(r.setState({dragOverNodeKey:null}),r.cleanDragState(),v!==null){var C=Xt(Xt({},no(v,r.getTreeNodeRequiredProps())),{},{active:((c=r.getActiveItem())===null||c===void 0?void 0:c.key)===v,data:r.state.keyEntities[v].node}),_=p.indexOf(v)!==-1;it(!_,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var S=Il(m),E={event:s,node:$t(C),dragNode:r.dragNode?$t(r.dragNode.props):null,dragNodesKeys:[r.dragNode.props.eventKey].concat(p),dropToGap:g!==0,dropPosition:g+Number(S[S.length-1])};f||y==null||y(E),r.dragNode=null}}},r.cleanDragState=function(){var s=r.state.draggingNodeKey;s!==null&&r.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),r.dragStartMousePosition=null,r.currentMouseOverDroppableNodeKey=null},r.triggerExpandActionExpand=function(s,u){var c=r.state,f=c.expandedKeys,h=c.flattenNodes,p=u.expanded,g=u.key,v=u.isLeaf;if(!(v||s.shiftKey||s.metaKey||s.ctrlKey)){var m=h.filter(function(y){return y.key===g})[0],w=$t(Xt(Xt({},no(g,r.getTreeNodeRequiredProps())),{},{data:m.data}));r.setExpandedKeys(p?tr(f,g):yr(f,g)),r.onNodeExpand(s,w)}},r.onNodeClick=function(s,u){var c=r.props,f=c.onClick,h=c.expandAction;h==="click"&&r.triggerExpandActionExpand(s,u),f==null||f(s,u)},r.onNodeDoubleClick=function(s,u){var c=r.props,f=c.onDoubleClick,h=c.expandAction;h==="doubleClick"&&r.triggerExpandActionExpand(s,u),f==null||f(s,u)},r.onNodeSelect=function(s,u){var c=r.state.selectedKeys,f=r.state,h=f.keyEntities,p=f.fieldNames,g=r.props,v=g.onSelect,m=g.multiple,w=u.selected,y=u[p.key],C=!w;C?m?c=yr(c,y):c=[y]:c=tr(c,y);var _=c.map(function(S){var E=h[S];return E?E.node:null}).filter(function(S){return S});r.setUncontrolledState({selectedKeys:c}),v==null||v(c,{event:"select",selected:C,node:u,selectedNodes:_,nativeEvent:s.nativeEvent})},r.onNodeCheck=function(s,u,c){var f=r.state,h=f.keyEntities,p=f.checkedKeys,g=f.halfCheckedKeys,v=r.props,m=v.checkStrictly,w=v.onCheck,y=u.key,C,_={event:"check",node:u,checked:c,nativeEvent:s.nativeEvent};if(m){var S=c?yr(p,y):tr(p,y),E=tr(g,y);C={checked:S,halfChecked:E},_.checkedNodes=S.map(function(O){return h[O]}).filter(function(O){return O}).map(function(O){return O.node}),r.setUncontrolledState({checkedKeys:S})}else{var k=fi([].concat(Nr(p),[y]),!0,h),A=k.checkedKeys,L=k.halfCheckedKeys;if(!c){var F=new Set(A);F.delete(y);var P=fi(Array.from(F),{checked:!1,halfCheckedKeys:L},h);A=P.checkedKeys,L=P.halfCheckedKeys}C=A,_.checkedNodes=[],_.checkedNodesPositions=[],_.halfCheckedKeys=L,A.forEach(function(O){var I=h[O];if(!!I){var z=I.node,M=I.pos;_.checkedNodes.push(z),_.checkedNodesPositions.push({node:z,pos:M})}}),r.setUncontrolledState({checkedKeys:A},!1,{halfCheckedKeys:L})}w==null||w(C,_)},r.onNodeLoad=function(s){var u=s.key,c=new Promise(function(f,h){r.setState(function(p){var g=p.loadedKeys,v=g===void 0?[]:g,m=p.loadingKeys,w=m===void 0?[]:m,y=r.props,C=y.loadData,_=y.onLoad;if(!C||v.indexOf(u)!==-1||w.indexOf(u)!==-1)return null;var S=C(s);return S.then(function(){var E=r.state.loadedKeys,k=yr(E,u);_==null||_(k,{event:"load",node:s}),r.setUncontrolledState({loadedKeys:k}),r.setState(function(A){return{loadingKeys:tr(A.loadingKeys,u)}}),f()}).catch(function(E){if(r.setState(function(A){return{loadingKeys:tr(A.loadingKeys,u)}}),r.loadingRetryTimes[u]=(r.loadingRetryTimes[u]||0)+1,r.loadingRetryTimes[u]>=YO){var k=r.state.loadedKeys;it(!1,"Retry for `loadData` many times but still failed. No more retry."),r.setUncontrolledState({loadedKeys:yr(k,u)}),f()}h(E)}),{loadingKeys:yr(w,u)}})});return c.catch(function(){}),c},r.onNodeMouseEnter=function(s,u){var c=r.props.onMouseEnter;c==null||c({event:s,node:u})},r.onNodeMouseLeave=function(s,u){var c=r.props.onMouseLeave;c==null||c({event:s,node:u})},r.onNodeContextMenu=function(s,u){var c=r.props.onRightClick;c&&(s.preventDefault(),c({event:s,node:u}))},r.onFocus=function(){var s=r.props.onFocus;r.setState({focused:!0});for(var u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];s==null||s.apply(void 0,c)},r.onBlur=function(){var s=r.props.onBlur;r.setState({focused:!1}),r.onActiveChange(null);for(var u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];s==null||s.apply(void 0,c)},r.getTreeNodeRequiredProps=function(){var s=r.state,u=s.expandedKeys,c=s.selectedKeys,f=s.loadedKeys,h=s.loadingKeys,p=s.checkedKeys,g=s.halfCheckedKeys,v=s.dragOverNodeKey,m=s.dropPosition,w=s.keyEntities;return{expandedKeys:u||[],selectedKeys:c||[],loadedKeys:f||[],loadingKeys:h||[],checkedKeys:p||[],halfCheckedKeys:g||[],dragOverNodeKey:v,dropPosition:m,keyEntities:w}},r.setExpandedKeys=function(s){var u=r.state,c=u.treeData,f=u.fieldNames,h=Nl(c,s,f);r.setUncontrolledState({expandedKeys:s,flattenNodes:h},!0)},r.onNodeExpand=function(s,u){var c=r.state.expandedKeys,f=r.state,h=f.listChanging,p=f.fieldNames,g=r.props,v=g.onExpand,m=g.loadData,w=u.expanded,y=u[p.key];if(!h){var C=c.indexOf(y),_=!w;if(it(w&&C!==-1||!w&&C===-1,"Expand state not sync with index check"),_?c=yr(c,y):c=tr(c,y),r.setExpandedKeys(c),v==null||v(c,{node:u,expanded:_,nativeEvent:s.nativeEvent}),_&&m){var S=r.onNodeLoad(u);S&&S.then(function(){var E=Nl(r.state.treeData,c,p);r.setUncontrolledState({flattenNodes:E})}).catch(function(){var E=r.state.expandedKeys,k=tr(E,y);r.setExpandedKeys(k)})}}},r.onListChangeStart=function(){r.setUncontrolledState({listChanging:!0})},r.onListChangeEnd=function(){setTimeout(function(){r.setUncontrolledState({listChanging:!1})})},r.onActiveChange=function(s){var u=r.state.activeKey,c=r.props.onActiveChange;u!==s&&(r.setState({activeKey:s}),s!==null&&r.scrollTo({key:s}),c==null||c(s))},r.getActiveItem=function(){var s=r.state,u=s.activeKey,c=s.flattenNodes;return u===null?null:c.find(function(f){var h=f.key;return h===u})||null},r.offsetActiveKey=function(s){var u=r.state,c=u.flattenNodes,f=u.activeKey,h=c.findIndex(function(v){var m=v.key;return m===f});h===-1&&s<0&&(h=c.length),h=(h+s+c.length)%c.length;var p=c[h];if(p){var g=p.key;r.onActiveChange(g)}else r.onActiveChange(null)},r.onKeyDown=function(s){var u=r.state,c=u.activeKey,f=u.expandedKeys,h=u.checkedKeys,p=u.fieldNames,g=r.props,v=g.onKeyDown,m=g.checkable,w=g.selectable;switch(s.which){case oe.UP:{r.offsetActiveKey(-1),s.preventDefault();break}case oe.DOWN:{r.offsetActiveKey(1),s.preventDefault();break}}var y=r.getActiveItem();if(y&&y.data){var C=r.getTreeNodeRequiredProps(),_=y.data.isLeaf===!1||!!(y.data[p.children]||[]).length,S=$t(Xt(Xt({},no(c,C)),{},{data:y.data,active:!0}));switch(s.which){case oe.LEFT:{_&&f.includes(c)?r.onNodeExpand({},S):y.parent&&r.onActiveChange(y.parent.key),s.preventDefault();break}case oe.RIGHT:{_&&!f.includes(c)?r.onNodeExpand({},S):y.children&&y.children.length&&r.onActiveChange(y.children[0].key),s.preventDefault();break}case oe.ENTER:case oe.SPACE:{m&&!S.disabled&&S.checkable!==!1&&!S.disableCheckbox?r.onNodeCheck({},S,!h.includes(c)):!m&&w&&!S.disabled&&S.selectable!==!1&&r.onNodeSelect({},S);break}}}v==null||v(s)},r.setUncontrolledState=function(s){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!r.destroyed){var f=!1,h=!0,p={};Object.keys(s).forEach(function(g){if(g in r.props){h=!1;return}f=!0,p[g]=s[g]}),f&&(!u||h)&&r.setState(Xt(Xt({},p),c))}},r.scrollTo=function(s){r.listRef.current.scrollTo(s)},r}return Oh(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props.activeKey;i!==void 0&&i!==this.state.activeKey&&(this.setState({activeKey:i}),i!==null&&this.scrollTo({key:i}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i,o=this.state,a=o.focused,s=o.flattenNodes,u=o.keyEntities,c=o.draggingNodeKey,f=o.activeKey,h=o.dropLevelOffset,p=o.dropContainerKey,g=o.dropTargetKey,v=o.dropPosition,m=o.dragOverNodeKey,w=o.indent,y=this.props,C=y.prefixCls,_=y.className,S=y.style,E=y.showLine,k=y.focusable,A=y.tabIndex,L=A===void 0?0:A,F=y.selectable,P=y.showIcon,O=y.icon,I=y.switcherIcon,z=y.draggable,M=y.checkable,$=y.checkStrictly,N=y.disabled,R=y.motion,B=y.loadData,G=y.filterTreeNode,K=y.height,W=y.itemHeight,ee=y.virtual,ne=y.titleRender,U=y.dropIndicatorRender,X=y.onContextMenu,ce=y.onScroll,ue=y.direction,se=y.rootClassName,ae=y.rootStyle,xe=Qr(this.props,{aria:!0,data:!0}),be;return z&&(Jn(z)==="object"?be=z:typeof z=="function"?be={nodeDraggable:z}:be={}),l(Pl.Provider,{value:{prefixCls:C,selectable:F,showIcon:P,icon:O,switcherIcon:I,draggable:be,draggingNodeKey:c,checkable:M,checkStrictly:$,disabled:N,keyEntities:u,dropLevelOffset:h,dropContainerKey:p,dropTargetKey:g,dropPosition:v,dragOverNodeKey:m,indent:w,direction:ue,dropIndicatorRender:U,loadData:B,filterTreeNode:G,titleRender:ne,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop},children:l("div",{role:"tree",className:pt(C,_,se,(i={},Et(i,"".concat(C,"-show-line"),E),Et(i,"".concat(C,"-focused"),a),Et(i,"".concat(C,"-active-focused"),f!==null),i)),style:ae,children:l(qh,{ref:this.listRef,prefixCls:C,style:S,data:s,disabled:N,selectable:F,checkable:!!M,motion:R,dragging:c!==null,height:K,itemHeight:W,virtual:ee,focusable:k,focused:a,tabIndex:L,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:X,onScroll:ce,...this.getTreeNodeRequiredProps(),...xe})})})}}],[{key:"getDerivedStateFromProps",value:function(i,o){var a=o.prevProps,s={prevProps:i};function u(k){return!a&&k in i||a&&a[k]!==i[k]}var c,f=o.fieldNames;if(u("fieldNames")&&(f=Sa(i.fieldNames),s.fieldNames=f),u("treeData")?c=i.treeData:u("children")&&(it(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=DO(i.children)),c){s.treeData=c;var h=Ah(c,{fieldNames:f});s.keyEntities=Xt(Et({},Ir,Gh),h.keyEntities),process.env.NODE_ENV!=="production"&&OO(c,f)}var p=s.keyEntities||o.keyEntities;if(u("expandedKeys")||a&&u("autoExpandParent"))s.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?Vh(i.expandedKeys,p):i.expandedKeys;else if(!a&&i.defaultExpandAll){var g=Xt({},p);delete g[Ir],s.expandedKeys=Object.keys(g).map(function(k){return g[k].key})}else!a&&i.defaultExpandedKeys&&(s.expandedKeys=i.autoExpandParent||i.defaultExpandParent?Vh(i.defaultExpandedKeys,p):i.defaultExpandedKeys);if(s.expandedKeys||delete s.expandedKeys,c||s.expandedKeys){var v=Nl(c||o.treeData,s.expandedKeys||o.expandedKeys,f);s.flattenNodes=v}if(i.selectable&&(u("selectedKeys")?s.selectedKeys=Lh(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(s.selectedKeys=Lh(i.defaultSelectedKeys,i))),i.checkable){var m;if(u("checkedKeys")?m=$l(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?m=$l(i.defaultCheckedKeys)||{}:c&&(m=$l(i.checkedKeys)||{checkedKeys:o.checkedKeys,halfCheckedKeys:o.halfCheckedKeys}),m){var w=m,y=w.checkedKeys,C=y===void 0?[]:y,_=w.halfCheckedKeys,S=_===void 0?[]:_;if(!i.checkStrictly){var E=fi(C,!0,p);C=E.checkedKeys,S=E.halfCheckedKeys}s.checkedKeys=C,s.halfCheckedKeys=S}}return u("loadedKeys")&&(s.loadedKeys=i.loadedKeys),s}}]),n}(T.Component);Vl.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:UO,allowDrop:function(){return!0},expandAction:!1},Vl.TreeNode=pi;var Uh=T.createContext(null),Yh=T.createContext(null);function Xh(e){return Array.isArray(e)?e:e!==void 0?[e]:[]}function XO(e){var t=e||{},n=t.label,r=t.value,i=t.children,o=r||"value";return{_title:n?[n]:["title","label"],value:o,key:o,children:i||"children"}}function zl(e){return!e||e.disabled||e.disableCheckbox||e.checkable===!1}function QO(e,t){var n=[];function r(i){i.forEach(function(o){var a=o[t.children];a&&(n.push(o[t.value]),r(a))})}return r(e),n}function Fl(e){return e==null}var ZO={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},JO=function(t,n){var r=zd(),i=r.prefixCls,o=r.multiple,a=r.searchValue,s=r.toggleOpen,u=r.open,c=r.notFoundContent,f=T.useContext(Yh),h=f.virtual,p=f.listHeight,g=f.listItemHeight,v=f.treeData,m=f.fieldNames,w=f.onSelect,y=f.dropdownMatchSelectWidth,C=f.treeExpandAction,_=T.useContext(Uh),S=_.checkable,E=_.checkedKeys,k=_.halfCheckedKeys,A=_.treeExpandedKeys,L=_.treeDefaultExpandAll,F=_.treeDefaultExpandedKeys,P=_.onTreeExpand,O=_.treeIcon,I=_.showTreeIcon,z=_.switcherIcon,M=_.treeLine,$=_.treeNodeFilterProp,N=_.loadData,R=_.treeLoadedKeys,B=_.treeMotion,G=_.onTreeLoad,K=_.keyEntities,W=T.useRef(),ee=Fs(function(){return v},[u,v],function(Ee,Fe){return Fe[0]&&Ee[1]!==Fe[1]}),ne=T.useMemo(function(){return S?{checked:E,halfChecked:k}:null},[S,E,k]);T.useEffect(function(){if(u&&!o&&E.length){var Ee;(Ee=W.current)===null||Ee===void 0||Ee.scrollTo({key:E[0]})}},[u]);var U=String(a).toLowerCase(),X=function(Fe){return U?String(Fe[$]).toLowerCase().includes(U):!1},ce=T.useState(F),ue=dr(ce,2),se=ue[0],ae=ue[1],xe=T.useState(null),be=dr(xe,2),Y=be[0],re=be[1],Se=T.useMemo(function(){return A?cr(A):a?Y:se},[se,Y,A,a]);T.useEffect(function(){a&&re(QO(v,m))},[a]);var q=function(Fe){ae(Fe),re(Fe),P&&P(Fe)},we=function(Fe){Fe.preventDefault()},ve=function(Fe,$e){var Ve=$e.node;S&&zl(Ve)||(w(Ve.key,{selected:!E.includes(Ve.key)}),o||s(!1))},_e=T.useState(null),ke=dr(_e,2),ge=ke[0],Ke=ke[1],Pe=K[ge];if(T.useImperativeHandle(n,function(){var Ee;return{scrollTo:(Ee=W.current)===null||Ee===void 0?void 0:Ee.scrollTo,onKeyDown:function($e){var Ve,ct=$e.which;switch(ct){case oe.UP:case oe.DOWN:case oe.LEFT:case oe.RIGHT:(Ve=W.current)===null||Ve===void 0||Ve.onKeyDown($e);break;case oe.ENTER:{if(Pe){var at=(Pe==null?void 0:Pe.node)||{},We=at.selectable,st=at.value;We!==!1&&ve(null,{node:{key:ge},selected:!E.includes(st)})}break}case oe.ESC:s(!1)}},onKeyUp:function(){}}}),ee.length===0)return l("div",{role:"listbox",className:"".concat(i,"-empty"),onMouseDown:we,children:c});var Xe={fieldNames:m};return R&&(Xe.loadedKeys=R),Se&&(Xe.expandedKeys=Se),b("div",{onMouseDown:we,children:[Pe&&u&&l("span",{style:ZO,"aria-live":"assertive",children:Pe.node.value}),l(Vl,{ref:W,focusable:!1,prefixCls:"".concat(i,"-tree"),treeData:ee,height:p,itemHeight:g,virtual:h!==!1&&y!==!1,multiple:o,icon:O,showIcon:I,switcherIcon:z,showLine:M,loadData:a?null:N,motion:B,activeKey:ge,checkable:S,checkStrictly:!0,checkedKeys:ne,selectedKeys:S?[]:E,defaultExpandAll:L,...Xe,onActiveChange:Ke,onSelect:ve,onCheck:ve,onExpand:q,onLoad:G,filterTreeNode:X,expandAction:C})]})},Qh=T.forwardRef(JO);Qh.displayName="OptionList";var Zh=function(){return null},eD="SHOW_ALL",Bl="SHOW_PARENT",jl="SHOW_CHILD";function Jh(e,t,n,r){var i=new Set(e);return t===jl?e.filter(function(o){var a=n[o];return!(a&&a.children&&a.children.some(function(s){var u=s.node;return i.has(u[r.value])})&&a.children.every(function(s){var u=s.node;return zl(u)||i.has(u[r.value])}))}):t===Bl?e.filter(function(o){var a=n[o],s=a?a.parent:null;return!(s&&!zl(s.node)&&i.has(s.key))}):e}var tD=["children","value"];function eg(e){return pr(e).map(function(t){if(!T.isValidElement(t)||!t.type)return null;var n=t,r=n.key,i=n.props,o=i.children,a=i.value,s=Sd(i,tD),u=yn({key:r,value:a},s),c=eg(o);return c.length&&(u.children=c),u}).filter(function(t){return t})}function Gl(e){if(!e)return e;var t=yn({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return it(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),t}}),t}function nD(e,t,n,r,i,o){var a=null,s=null;function u(){function c(f){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return f.map(function(g,v){var m="".concat(h,"-").concat(v),w=g[o.value],y=n.includes(w),C=c(g[o.children]||[],m,y),_=l(Zh,{...g,children:C.map(function(E){return E.node})});if(t===w&&(a=_),y){var S={pos:m,node:_,children:C};return p||s.push(S),S}return null}).filter(function(g){return g})}s||(s=[],c(r),s.sort(function(f,h){var p=f.node.props.value,g=h.node.props.value,v=n.indexOf(p),m=n.indexOf(g);return v-m}))}Object.defineProperty(e,"triggerNode",{get:function(){return it(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),u(),a}}),Object.defineProperty(e,"allCheckedNodes",{get:function(){return it(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),u(),i?s:s.map(function(f){var h=f.node;return h})}})}function rD(e,t){var n=t.id,r=t.pId,i=t.rootPId,o={},a=[],s=e.map(function(u){var c=yn({},u),f=c[n];return o[f]=c,c.key=c.key||f,c});return s.forEach(function(u){var c=u[r],f=o[c];f&&(f.children=f.children||[],f.children.push(u)),(c===i||!f&&i===null)&&a.push(u)}),a}function iD(e,t,n){return T.useMemo(function(){return e?n?rD(e,yn({id:"id",pId:"pId",rootPId:null},n!==!0?n:{})):e:eg(t)},[t,n,e])}const oD=function(e){var t=T.useRef({valueLabels:new Map});return T.useMemo(function(){var n=t.current.valueLabels,r=new Map,i=e.map(function(o){var a,s=o.value,u=(a=o.label)!==null&&a!==void 0?a:n.get(s);return r.set(s,u),yn(yn({},o),{},{label:u})});return t.current.valueLabels=r,[i]},[e])};function tg(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}const aD=function(e,t){return T.useMemo(function(){var n=Ah(e,{fieldNames:t,initWrapper:function(i){return yn(yn({},i),{},{valueEntities:new Map})},processEntity:function(i,o){var a=i.node[t.value];if(process.env.NODE_ENV!=="production"){var s=i.node.key;it(!Fl(a),"TreeNode `value` is invalidate: undefined"),it(!o.valueEntities.has(a),"Same `value` exist in the tree: ".concat(a)),it(!s||String(s)===String(a),"`key` or `value` with TreeNode must be the same or you can remove one of them. key: ".concat(s,", value: ").concat(a,"."))}o.valueEntities.set(a,i)}});return n},[e,t])},sD=function(e,t,n,r){return T.useMemo(function(){var i=e.map(function(u){var c=u.value;return c}),o=t.map(function(u){var c=u.value;return c}),a=i.filter(function(u){return!r[u]});if(n){var s=fi(i,!0,r);i=s.checkedKeys,o=s.halfCheckedKeys}return[Array.from(new Set([].concat(cr(a),cr(i)))),o]},[e,t,n,r])},lD=function(e,t,n){var r=n.treeNodeFilterProp,i=n.filterTreeNode,o=n.fieldNames,a=o.children;return T.useMemo(function(){if(!t||i===!1)return e;var s;if(typeof i=="function")s=i;else{var u=t.toUpperCase();s=function(h,p){var g=p[r];return String(g).toUpperCase().includes(u)}}function c(f){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return f.map(function(p){var g=p[a],v=h||s(t,Gl(p)),m=c(g||[],v);return v||m.length?yn(yn({},p),{},wd({isLeaf:void 0},a,m)):null}).filter(function(p){return p})}return c(e)},[e,t,a,r,i])};function uD(e){var t=e.searchPlaceholder,n=e.treeCheckStrictly,r=e.treeCheckable,i=e.labelInValue,o=e.value,a=e.multiple;it(!t,"`searchPlaceholder` has been removed."),n&&i===!1&&it(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(i||n)&&it(Xh(o).every(function(s){return s&&Rr(s)==="object"&&"value"in s}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),n||a||r?it(!o||Array.isArray(o),"`value` should be an array when `TreeSelect` is checkable or multiple."):it(!Array.isArray(o),"`value` should not be array when `TreeSelect` is single mode.")}var cD=["id","prefixCls","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","treeExpandAction","virtual","listHeight","listItemHeight","onDropdownVisibleChange","dropdownMatchSelectWidth","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"];function dD(e){return!e||Rr(e)!=="object"}var ng=T.forwardRef(function(e,t){var n=e.id,r=e.prefixCls,i=r===void 0?"rc-tree-select":r,o=e.value,a=e.defaultValue,s=e.onChange,u=e.onSelect,c=e.onDeselect,f=e.searchValue,h=e.inputValue,p=e.onSearch,g=e.autoClearSearchValue,v=g===void 0?!0:g,m=e.filterTreeNode,w=e.treeNodeFilterProp,y=w===void 0?"value":w,C=e.showCheckedStrategy,_=C===void 0?jl:C,S=e.treeNodeLabelProp,E=e.multiple,k=e.treeCheckable,A=e.treeCheckStrictly,L=e.labelInValue,F=e.fieldNames,P=e.treeDataSimpleMode,O=e.treeData,I=e.children,z=e.loadData,M=e.treeLoadedKeys,$=e.onTreeLoad,N=e.treeDefaultExpandAll,R=e.treeExpandedKeys,B=e.treeDefaultExpandedKeys,G=e.onTreeExpand,K=e.treeExpandAction,W=e.virtual,ee=e.listHeight,ne=ee===void 0?200:ee,U=e.listItemHeight,X=U===void 0?20:U,ce=e.onDropdownVisibleChange,ue=e.dropdownMatchSelectWidth,se=ue===void 0?!0:ue,ae=e.treeLine,xe=e.treeIcon,be=e.showTreeIcon,Y=e.switcherIcon,re=e.treeMotion,Se=Sd(e,cD),q=ih(n),we=k&&!A,ve=k||A,_e=A||L,ke=ve||E,ge=zi(a,{value:o}),Ke=dr(ge,2),Pe=Ke[0],Xe=Ke[1];process.env.NODE_ENV!=="production"&&uD(e);var Ee=T.useMemo(function(){return XO(F)},[JSON.stringify(F)]),Fe=zi("",{value:f!==void 0?f:h,postState:function(pe){return pe||""}}),$e=dr(Fe,2),Ve=$e[0],ct=$e[1],at=function(pe){ct(pe),p==null||p(pe)},We=iD(O,I,P),st=aD(We,Ee),Ce=st.keyEntities,Ne=st.valueEntities,et=T.useCallback(function(Q){var pe=[],ye=[];return Q.forEach(function(Te){Ne.has(Te)?ye.push(Te):pe.push(Te)}),{missingRawValues:pe,existRawValues:ye}},[Ne]),Mt=lD(We,Ve,{fieldNames:Ee,treeNodeFilterProp:y,filterTreeNode:m}),lt=T.useCallback(function(Q){if(Q){if(S)return Q[S];for(var pe=Ee._title,ye=0;ye<pe.length;ye+=1){var Te=Q[pe[ye]];if(Te!==void 0)return Te}}},[Ee,S]),kt=T.useCallback(function(Q){var pe=Xh(Q);return pe.map(function(ye){return dD(ye)?{value:ye}:ye})},[]),dt=T.useCallback(function(Q){var pe=kt(Q);return pe.map(function(ye){var Te=ye.label,Ie=ye.value,De=ye.halfChecked,Ge,ze=Ne.get(Ie);if(ze){var qe;Te=(qe=Te)!==null&&qe!==void 0?qe:lt(ze.node),Ge=ze.node.disabled}else if(Te===void 0){var Ct=kt(Pe).find(function(rn){return rn.value===Ie});Te=Ct.label}return{label:Te,value:Ie,halfChecked:De,disabled:Ge}})},[Ne,lt,kt,Pe]),Gt=T.useMemo(function(){return kt(Pe)},[kt,Pe]),Ot=T.useMemo(function(){var Q=[],pe=[];return Gt.forEach(function(ye){ye.halfChecked?pe.push(ye):Q.push(ye)}),[Q,pe]},[Gt]),bt=dr(Ot,2),_t=bt[0],Ht=bt[1],vt=T.useMemo(function(){return _t.map(function(Q){return Q.value})},[_t]),cn=sD(_t,Ht,we,Ce),Vt=dr(cn,2),ie=Vt[0],fe=Vt[1],me=T.useMemo(function(){var Q=Jh(ie,_,Ce,Ee),pe=Q.map(function(De){var Ge,ze,qe;return(Ge=(ze=Ce[De])===null||ze===void 0||(qe=ze.node)===null||qe===void 0?void 0:qe[Ee.value])!==null&&Ge!==void 0?Ge:De}),ye=pe.map(function(De){var Ge=_t.find(function(ze){return ze.value===De});return{value:De,label:Ge==null?void 0:Ge.label}}),Te=dt(ye),Ie=Te[0];return!ke&&Ie&&Fl(Ie.value)&&Fl(Ie.label)?[]:Te.map(function(De){var Ge;return yn(yn({},De),{},{label:(Ge=De.label)!==null&&Ge!==void 0?Ge:De.value})})},[Ee,ke,ie,_t,dt,_,Ce]),Ae=oD(me),Qe=dr(Ae,1),ft=Qe[0],Wt=tg(function(Q,pe,ye){var Te=dt(Q);if(Xe(Te),v&&ct(""),s){var Ie=Q;if(we){var De=Jh(Q,_,Ce,Ee);Ie=De.map(function(an){var sn=Ne.get(an);return sn?sn.node[Ee.value]:an})}var Ge=pe||{triggerValue:void 0,selected:void 0},ze=Ge.triggerValue,qe=Ge.selected,Ct=Ie;if(A){var rn=Ht.filter(function(an){return!Ie.includes(an.value)});Ct=[].concat(cr(Ct),cr(rn))}var vn=dt(Ct),Dt={preValue:_t,triggerValue:ze},Gn=!0;(A||ye==="selection"&&!qe)&&(Gn=!1),nD(Dt,ze,Q,We,Gn,Ee),ve?Dt.checked=qe:Dt.selected=qe;var sr=_e?vn:vn.map(function(an){return an.value});s(ke?sr:sr[0],_e?null:vn.map(function(an){return an.label}),Dt)}}),qt=T.useCallback(function(Q,pe){var ye,Te=pe.selected,Ie=pe.source,De=Ce[Q],Ge=De==null?void 0:De.node,ze=(ye=Ge==null?void 0:Ge[Ee.value])!==null&&ye!==void 0?ye:Q;if(!ke)Wt([ze],{selected:!0,triggerValue:ze},"option");else{var qe=Te?[].concat(cr(vt),[ze]):ie.filter(function(sn){return sn!==ze});if(we){var Ct=et(qe),rn=Ct.missingRawValues,vn=Ct.existRawValues,Dt=vn.map(function(sn){return Ne.get(sn).key}),Gn;if(Te){var sr=fi(Dt,!0,Ce);Gn=sr.checkedKeys}else{var an=fi(Dt,{checked:!1,halfCheckedKeys:fe},Ce);Gn=an.checkedKeys}qe=[].concat(cr(rn),cr(Gn.map(function(sn){return Ce[sn].node[Ee.value]})))}Wt(qe,{selected:Te,triggerValue:ze},Ie||"option")}Te||!ke?u==null||u(ze,Gl(Ge)):c==null||c(ze,Gl(Ge))},[et,Ne,Ce,Ee,ke,vt,Wt,we,u,c,ie,fe]),dn=T.useCallback(function(Q){if(ce){var pe={};Object.defineProperty(pe,"documentClickClose",{get:function(){return it(!1,"Second param of `onDropdownVisibleChange` has been removed."),!1}}),ce(Q,pe)}},[ce]),xt=tg(function(Q,pe){var ye=Q.map(function(Te){return Te.value});if(pe.type==="clear"){Wt(ye,{},"selection");return}pe.values.length&&qt(pe.values[0].value,{selected:!1,source:"selection"})}),V=T.useMemo(function(){return{virtual:W,dropdownMatchSelectWidth:se,listHeight:ne,listItemHeight:X,treeData:Mt,fieldNames:Ee,onSelect:qt,treeExpandAction:K}},[W,se,ne,X,Mt,Ee,qt,K]),J=T.useMemo(function(){return{checkable:ve,loadData:z,treeLoadedKeys:M,onTreeLoad:$,checkedKeys:ie,halfCheckedKeys:fe,treeDefaultExpandAll:N,treeExpandedKeys:R,treeDefaultExpandedKeys:B,onTreeExpand:G,treeIcon:xe,treeMotion:re,showTreeIcon:be,switcherIcon:Y,treeLine:ae,treeNodeFilterProp:y,keyEntities:Ce}},[ve,z,M,$,ie,fe,N,R,B,G,xe,re,be,Y,ae,y,Ce]);return l(Yh.Provider,{value:V,children:l(Uh.Provider,{value:J,children:l(Tl,{ref:t,...Se,id:q,prefixCls:i,mode:ke?"multiple":void 0,displayValues:ft,onDisplayValuesChange:xt,searchValue:Ve,onSearch:at,OptionList:Qh,emptyOptions:!We.length,onDropdownVisibleChange:dn,dropdownMatchSelectWidth:se})})})});process.env.NODE_ENV!=="production"&&(ng.displayName="TreeSelect");var ro=ng;ro.TreeNode=Zh,ro.SHOW_ALL=eD,ro.SHOW_PARENT=Bl,ro.SHOW_CHILD=jl;const fD=({rotate:e,onClick:t})=>l("svg",{onClick:t,className:"caret-icon",viewBox:"0 0 1024 1024",focusable:"false","data-icon":"caret-down",width:"14px",height:"14px",fill:"currentColor","aria-hidden":"true",transform:`rotate(${e})`,children:l("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),pD=({expanded:e,isLeaf:t,value:n,onClick:r,...i})=>(n==="0-0-value"&&console.log(i),t?l("span",{style:{width:"14px",display:"inline-block"}}):l(fD,{rotate:e?"0":"-90",onClick:r,...i})),hD=({onClick:e})=>b("svg",{onClick:e,className:"checkbox-icon",width:"16",height:"16",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),l("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),l("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),l("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),gD=({onClick:e,...t})=>l(hD,{onClick:e,...t}),vD=d.createStyles((e,{radius:t=4})=>({root:{borderRadius:e.fn.radius(t),display:"flex",flexWrap:"nowrap",border:"1px solid #ced4da",paddingLeft:"0px",paddingRight:"30px",backgroundColor:"#fff",transition:"border-color 100ms ease",borderColor:"#e9ecef","&.rc-tree-select.rc-tree-select-open":{borderColor:"#228be6 !important",".rc-tree-select-selection-overflow-item-rest":{display:"none"},".rc-tree-select-selection-overflow-item-suffix":{display:"block"}},".rc-tree-select-selector":{height:"auto",lineHeight:1.55,paddingLeft:"12px",resize:"none",boxSizing:"border-box",fontSize:"14px",width:"100%",color:"#000",display:"block",textAlign:"left",minHeight:"36px",cursor:"pointer",flexGrow:1},".rc-tree-select-selection-search-mirror":{display:"none"},".rc-tree-select-selection-search":{flexGrow:1,width:"auto !important"},".rc-tree-select-selection-overflow":{display:"flex",minHeight:"34px",alignItems:"center",flexWrap:"nowrap",marginLeft:"calc(-10px / 2)",boxSizing:"border-box"},".rc-tree-select-selection-overflow-item":{display:"flex",alignItems:"center",backgroundColor:"#f1f3f5",color:"#495057",height:"24px",paddingLeft:"12px",paddingRight:"12px",fontWeight:500,fontSize:"12px",borderRadius:"4px",cursor:"default",userSelect:"none",maxWidth:"calc(100% - 20px)",margin:"calc(10px / 2 - 2px) calc(10px / 2)"},".rc-tree-select-selection-overflow-item-rest":{cursor:"pointer"},".rc-tree-select-selection-overflow-item-suffix":{display:"none",backgroundColor:"transparent",width:"100%",maxWidth:"100%",height:"28px",margin:0,paddingLeft:0,paddingRight:0},input:{flex:1,minWidth:"60px",backgroundColor:"transparent",border:0,outline:0,fontSize:"14px",padding:0,marginLeft:0,color:"inherit",height:"28px",lineHeight:"32px",cursor:"pointer",width:"100%","&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}},".rc-tree-select-clear":{marginRight:"-24px",alignSelf:"center",cursor:"pointer"},"&.rc-tree-select-disabled":{backgroundColor:"rgb(241, 243, 245)",color:"rgb(144, 146, 150)",opacity:.6,"&, .rc-tree-select-selector, input":{cursor:"not-allowed"}}},label:{fontSize:e.fontSizes.sm,fontWeight:500,color:"#212529"},dropdown:{fontSize:e.fontSizes.xs,zIndex:300,paddingTop:"6px","&.rc-tree-select-dropdown-slide-up-leave-active":{display:"none"},".rc-tree-select-tree-list .rc-tree-select-tree-list-holder":{},".rc-tree-select-tree-list, .rc-tree-select-empty":{backgroundColor:"#fff",border:"1px solid #e9ecef",padding:0,boxShadow:"0 1px 3px rgb(0 0 0 / 5%), rgb(0 0 0 / 5%) 0px 10px 15px -5px, rgb(0 0 0 / 4%) 0px 7px 7px -5px",borderRadius:"4px"},".rc-tree-select-empty":{padding:"8px 12px"},".rc-tree-select-tree-treenode":{boxSizing:"border-box",textAlign:"left",width:"100%",padding:"8px 12px",cursor:"pointer",fontSize:"14px",color:"#000",borderRadius:"4px",display:"flex",flexWrap:"nowrap",overflow:"hidden","&:hover":{backgroundColor:"#f1f3f5"},"&.rc-tree-select-tree-treenode-checkbox-checked":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-checked":{stroke:"rgb(64, 192, 87)",animation:"check 200ms linear forwards"}},"&.rc-tree-select-tree-treenode-checkbox-indeterminate":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-indeterminate":{fill:"rgb(64, 192, 87)"}},".rc-tree-select-tree-switcher":{height:"16px",alignSelf:"center",paddingRight:"2px",transition:"color 200ms ease","&:hover":{color:"#228be6","svg.caret-icon":{color:"#228be6"}},"svg.caret-icon":{color:"#ced4da",transition:"all 200ms ease"}},".rc-tree-select-tree-node-content-wrapper":{display:"flex",flexWrap:"nowrap",overflow:"hidden",alignItems:"center",gap:"8px",transition:"color 200ms ease","&:hover":{color:"#228be6"}},".rc-tree-select-tree-iconEle":{height:"16px","svg .border":{stroke:"#ced4da"},".checkbox-icon .checkmark-indeterminate":{fill:"transparent",transition:"fill 200ms ease"},".checkbox-icon .checkmark-checked":{transform:"scale(1.2)",transformOrigin:"center center",strokeDasharray:10,strokeDashoffset:-10},"@keyframes check":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}},".rc-tree-select-tree-title":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",".rc-tree-select-tree-title-desc":{fontSize:"12px",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}},".rc-tree-select-tree-indent":{flexGrow:0,height:0,verticalAlign:"bottom"},".rc-tree-select-tree-indent-unit":{display:"inline-block",width:"1em"}}}})),mD=({disabled:e,classNames:t,styles:n,unstyled:r,radius:i,style:o,label:a,value:s,onChange:u,treeData:c})=>{const{classes:f,cx:h}=vD({radius:i},{name:"FilterTreeSelectWidget",classNames:t,styles:n,unstyled:r}),[p,g]=x.useState((s==null?void 0:s.length)>0),v=w=>{g(w)},m=p&&(s==null?void 0:s.length)>0;return b(d.Stack,{spacing:3,children:[b(d.Group,{position:"apart",children:[l(d.Text,{className:f.label,children:a}),m&&l(d.Tooltip,{label:`${s.length} selected`,children:l(d.Badge,{children:s.length})})]}),l(ro,{disabled:e,allowClear:!0,className:h(f.root,"check-select"),dropdownClassName:h(f.dropdown,""),onDropdownVisibleChange:v,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>l(d.CloseButton,{}),switcherIcon:pD,treeIcon:gD,maxTagTextLength:10,value:s,treeData:c,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Bl,onChange:u,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:w=>`${w.length} selected`})]})};function yD(e){return e.map(t=>{const{label:n,description:r,...i}=t,o={...i,filterBasis:`${n}___${r!=null?r:""}`,description:r,label:n};return r&&(o.label=b("div",{children:[l(d.Text,{title:t.label,children:t.label}),l(d.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const bD=te.observer(({label:e,config:t,value:n,onChange:r})=>{const i=Le(),{state:o,dataProxy:a,len:s}=i.getDataStuffByID(t.options_query_id),u=o==="loading",c=x.useMemo(()=>{if(!a)return[];const g=[...a],v=yD(g);return I0(v)},[a,s]);x.useEffect(()=>{const{default_selection_count:g}=t;if(!g)return;if(c.length===0){console.log("[filter.tree-select] Resetting to empty"),r([],!0);return}const v=c.slice(0,g).map(m=>m.value);console.log(`[filter.tree-select] Selecting first ${g} option(s)`),r(v,!0)},[t.default_selection_count,c]);const f=t.min_width?t.min_width:"200px",p=!!t.options_query_id?u:!1;return l(mD,{disabled:p,style:{minWidth:f,maxWidth:p?f:"unset",borderColor:"#e9ecef"},value:n,onChange:g=>r(g,!1),treeData:c,label:e})}),wD=te.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return l(P0,{...r,...i,config:t});case"multi-select":return l(A0,{...r,...i,config:t});case"tree-select":return l(bD,{...r,...i,config:t});case"text-input":return l(N0,{...r,...i,config:t});case"date-range":return l(hd,{...r,...i,config:t});case"checkbox":return l(O0,{...r,...i,config:t});default:return null}}),rg=te.observer(Z.default.forwardRef(({filter:e,...t},n)=>l("div",{className:"filter-root",ref:n,children:l(Or,{children:l(wD,{filter:e,formFieldProps:t})})}))),ig=te.observer(function({view:t}){const n=Le(),{control:r,handleSubmit:i,reset:o}=j.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),a=j.useWatch({control:r});x.useEffect(()=>{o(n.filters.values)},[n.filters.values,o]),x.useEffect(()=>{n.filters.updatePreviewValues(a)},[a]);const s=n.filters.visibleInView(t.id),u=x.useMemo(()=>s.every(p=>p.should_auto_submit),[s]),c=x.useMemo(()=>s.filter(p=>he.default.get(p,"config.required",!1)),[s]),f=x.useMemo(()=>c.length===0?!1:c.some(p=>!p.requiredAndPass(a[p.key])),[a,c]);if(s.length===0)return null;const h=(p,g)=>(v,m)=>{g(v),(p.should_auto_submit||m)&&n.filters.setValueByKey(p.key,v)};return l("form",{onSubmit:i(n.filters.setValues),children:b(d.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:u?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[l(d.Group,{align:"flex-start",children:s.map(p=>l(j.Controller,{name:p.key,control:r,render:({field:g})=>l(rg,{filter:p,value:g.value,onChange:h(p,g.onChange)})},p.id))}),!u&&l(d.Group,{sx:{alignSelf:"flex-end"},children:l(d.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),i6="",og=Jt.Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:e=>e.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:e}){return["span",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:e,commands:t})=>{const n=Jt.getMarkAttributes(e,this.type);return Object.entries(n).some(([,i])=>!!i)?!0:t.unsetMark(this.name)}}}}),ag=Jt.Extension.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:e=>{var t;return(t=e.style.color)===null||t===void 0?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.color?{style:`color: ${e.color}`}:{}}}}]},addCommands(){return{setColor:e=>({chain:t})=>t().setMark("textStyle",{color:e}).run(),unsetColor:()=>({chain:e})=>e().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),xD=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/,SD=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g,sg=Jt.Mark.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:e=>e.getAttribute("data-color")||e.style.backgroundColor,renderHTML:e=>e.color?{"data-color":e.color,style:`background-color: ${e.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:e}){return["mark",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setHighlight:e=>({commands:t})=>t.setMark(this.name,e),toggleHighlight:e=>({commands:t})=>t.toggleMark(this.name,e),unsetHighlight:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[Jt.markInputRule({find:xD,type:this.type})]},addPasteRules(){return[Jt.markPasteRule({find:SD,type:this.type})]}}),lg=Jt.Extension.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something \u2026",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new d0.Plugin({props:{decorations:({doc:e,selection:t})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=t,i=[];if(!n)return null;const o=e.type.createAndFill(),a=(o==null?void 0:o.sameMarkup(e))&&o.content.findDiffStart(e.content)===null;return e.descendants((s,u)=>{const c=r>=u&&r<=u+s.nodeSize,f=!s.isLeaf&&!s.childCount;if((c||!this.options.showOnlyCurrent)&&f){const h=[this.options.emptyNodeClass];a&&h.push(this.options.emptyEditorClass);const p=rd.Decoration.node(u,u+s.nodeSize,{class:h.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:u,hasAnchor:c}):this.options.placeholder});i.push(p)}return this.options.includeChildren}),rd.DecorationSet.create(e,i)}}})]}}),ug=Jt.Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(e){return e!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sub",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setSubscript:()=>({commands:e})=>e.setMark(this.name),toggleSubscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSubscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),cg=Jt.Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(e){return e!=="super"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sup",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setSuperscript:()=>({commands:e})=>e.setMark(this.name),toggleSuperscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSuperscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),dg=Jt.Extension.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:e=>e.style.textAlign||this.options.defaultAlignment,renderHTML:e=>e.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${e.textAlign}`}}}}]},addCommands(){return{setTextAlign:e=>({commands:t})=>this.options.alignments.includes(e)?this.options.types.every(n=>t.updateAttributes(n,{textAlign:e})):!1,unsetTextAlign:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"textAlign"))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),fg=Jt.Mark.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:e=>e.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:e}){return["u",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setUnderline:()=>({commands:e})=>e.setMark(this.name),toggleUnderline:()=>({commands:e})=>e.toggleMark(this.name),unsetUnderline:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),Kl={fontSize:"14px",lineHeight:"32px",color:"#3D3E45",ul:{paddingLeft:"2em",margin:"6px 0 0"},p:{margin:0},a:{WebkitTapHighlightColor:"transparent",color:"rgb(34, 139, 230)",textDecoration:"none","&:hover":{textDecoration:"underline"},"&:active, &:hover":{outlineWidth:0}},table:{tr:{"th, td":{padding:"0 .5em"}}},details:{summary:{listStyle:"none",cursor:"pointer",transition:"color 300ms ease",userSelect:"none"},"summary::-webkit-details-marker":{display:"none"},"summary:hover":{color:"black","&::before":{opacity:1}},"summary::before":{content:'"\u25BA"',fontSize:"10px",margin:"0px 5px",opacity:.5,display:"inline-block",transition:"opacity 300ms ease, transform 300ms ease"}},"details[open] summary::before":{transform:"rotate(90deg)"},"details + details":{marginTop:"10px"}},pg=({value:e,styles:t={}})=>{const n=id.useEditor({extensions:[ad.default,fg,nt.Link,cg,ug,sg,dg.configure({types:["heading","paragraph"]}),lg.configure({placeholder:"This is placeholder"}),og,ag],content:e,editable:!1}),r=x.useMemo(()=>he.default.defaultsDeep({},{content:Kl},t),[t]);return l(nt.RichTextEditor,{editor:n,styles:r,children:l(nt.RichTextEditor.Content,{})})};function CD(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const hg=te.observer(()=>{const{freezeLayout:e}=Z.default.useContext(Dr),[t,n]=Z.default.useState(!1),{panel:r}=Yt();return Z.default.useEffect(()=>{e(t)},[t]),CD(r.description)?null:b(Oe,{children:[l(d.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:l(pg,{value:r.description,styles:{root:{border:"none"},content:{padding:0}}})}),l(d.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:l(d.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:l(le.InfoCircle,{size:20})})})]})}),_D=te.observer(({view:e})=>{const t=Le(),n=lr.useModals(),{panel:r}=Yt(),{id:i,query:o}=r,{inEditMode:a}=Z.default.useContext(Dr),s=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:u,inFullScreen:c}=Z.default.useContext(Rs),f=()=>{e.panels.duplicateByID(i)},h=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",i])},p=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(i),zIndex:320}),g=Z.default.useCallback(()=>{u(i)},[i,u]),v=!c&&e.type!==rt.Modal;return l(Oe,{children:l(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:b(d.Menu,{withinPortal:!0,children:[l(d.Menu.Target,{children:l(d.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),b(d.Menu.Dropdown,{children:[l(d.Menu.Item,{onClick:s,icon:l(le.Refresh,{size:14}),children:"Refresh"}),l(d.Menu.Item,{onClick:()=>{var m;return t.queries.downloadDataByQueryID((m=o==null?void 0:o.id)!=null?m:"")},icon:l(le.Download,{size:14}),children:"Download Data"}),v&&l(d.Menu.Item,{onClick:g,icon:l(le.ArrowsMaximize,{size:14}),disabled:a,children:"Full Screen"}),a&&b(Oe,{children:[l(d.Divider,{label:"Edit",labelPosition:"center"}),l(d.Menu.Item,{onClick:h,icon:l(le.Settings,{size:14}),children:"Settings"}),l(d.Menu.Item,{onClick:f,icon:l(le.Copy,{size:14}),children:"Duplicate"}),l(d.Menu.Item,{color:"red",onClick:p,icon:l(le.Trash,{size:14}),children:"Delete"})]})]})]})})})}),o6="",ED=te.observer(function(){const{panel:t}=Yt(),{title:n}=t;return n?l(d.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:l(d.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null}),gi=(e,t)=>{const[n,r]=x.useState([]);return x.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(o=>o.schemaRef===t))),[]),n};class vi{constructor(t,n){this.root=t,this.path=n}async deleteItem(t){t===null&&await this.root.deleteItem(this.path);const n=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,H.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:H.get(n,t)}async setItem(t,n){if(t===null)await this.root.setItem(this.path,n);else{const r=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,{...r,[t]:n})}return await this.getItem(t)}watchItem(t,n,r){return t===null?this.root.watchItem(this.path,(i,o)=>{n(i,o)},r):this.root.watchItem(this.path,(i,o)=>{const a=H.get(i,t),s=H.get(o,t);a!==s&&n(a,s)},r)}}class Hl{constructor(t,n,r){Re(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new vi(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new vi(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new vi(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(H.values(t).map(n=>this.constructInstance(new vi(this.attachmentStorage,n.id))))}}class gg{constructor(t){Re(this,"rootRef");this.rootRef=Ft.observable({current:t})}async deleteItem(t){Ft.runInAction(()=>{H.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?Ft.toJS(this.rootRef.current):H.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(H.isObject(n))Ft.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else Ft.runInAction(()=>{H.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return Ft.reaction(()=>this.getValueFromRoot(t),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:H.get(r,"fireImmediately",!1)})}}class TD{constructor(){Re(this,"channels",new Map);Re(this,"globalChannel",new sd.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new sd.default;return this.channels.set(t,r),r}}class MD{constructor(t){Re(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const n=this.instances.get(t.id);if(n)return n;const r={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new TD,instanceData:new gg(t.viz.conf)};return this.instances.set(t.id,r),r}}function vg(e,t,n,r){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new gg({}),colorPalette:{getColor(){return()=>""}},data:t,variables:r}}const kD=e=>{const{panel:t,vizManager:n,data:r,variables:i}=e,o=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),s={...vg(a,r,n,i),viewport:{width:t.layout.w,height:t.layout.h}},u=o.viewRender;return l(u,{context:s,instance:a,...H.omit(e,["panel","vizManager","data"])})},OD=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i,variables:o}=e,a=t.resolveComponent(n.viz.type),s=t.getOrCreateInstance(n),u={...vg(s,i,t,o),panelInfoEditor:r},c=a.configRender;return l(c,{context:u,instance:s,...H.omit(e,["panel","vizManager","data","panelInfoEditor"])})},mg=(e,t)=>{const n=$i.default.bezier(e),r=$i.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},Ca=e=>{const t=$i.default.bezier(e);return function(n){return t(n/100).hex()}},DD={type:"interpolation",displayName:"Red / Green",getColor:mg(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},RD={type:"interpolation",displayName:"Yellow / Blue",getColor:mg(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},AD={type:"interpolation",displayName:"Red",getColor:Ca(["#fff7f1","darkred"]),name:"red",category:"sequential"},PD={type:"interpolation",displayName:"Green",getColor:Ca(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},ND={type:"interpolation",displayName:"Blue",getColor:Ca(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ID={type:"interpolation",displayName:"Orange",getColor:Ca(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},yg="@devtable/dashboard",Wl="8.6.2",bg="Apache-2.0",wg={access:"public",registry:"https://registry.npmjs.org/"},xg=["dist"],Sg="./dist/dashboard.umd.js",Cg="./dist/dashboard.es.js",_g="./dist/index.d.ts",Eg={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Tg={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Mg={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},kg={"@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/form":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@testing-library/cypress":"^8.0.3","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@testing-library/react-hooks":"^8.0.1","@testing-library/user-event":"^14.3.0","@tiptap/extension-code-block-lowlight":"^2.0.0-beta.209","@tiptap/extension-color":"^2.0.0-beta.209","@tiptap/extension-highlight":"^2.0.0-beta.209","@tiptap/extension-link":"^2.0.0-beta.209","@tiptap/extension-placeholder":"^2.0.0-beta.209","@tiptap/extension-subscript":"^2.0.0-beta.209","@tiptap/extension-superscript":"^2.0.0-beta.209","@tiptap/extension-text-align":"^2.0.0-beta.209","@tiptap/extension-text-style":"^2.0.0-beta.209","@tiptap/extension-underline":"^2.0.0-beta.209","@tiptap/react":"^2.0.0-beta.209","@tiptap/starter-kit":"^2.0.0-beta.209","@types/crypto-js":"v4.1.1","@types/d3-array":"3.0.3","@types/eventemitter2":"^4.1.0","@types/file-saver":"2.0.5","@types/lodash":"^4.14.182","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-grid-layout":"^1.3.2",ahooks:"^3.3.11",ajv:"8.11.0",axios:"^0.27.2","crypto-js":"^4.1.1",cypress:"^10.6.0","cypress-wait-until":"^1.7.2",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9","echarts-stat":"1.2.0",jsdom:"^20.0.0","jsdom-testing-mocks":"^1.5.0",lodash:"^4.17.21",lowlight:"^2.8.0",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","rollup-plugin-visualizer":"5.6.0","tabler-icons-react":"^1.48.0",typescript:"^4.6.3"},Og={"@emotion/react":"11.10.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/form":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@tanstack/react-table":"^8.5.13","@tiptap/extension-code-block-lowlight":"^2.0.0-beta.209","@tiptap/extension-color":"^2.0.0-beta.209","@tiptap/extension-highlight":"^2.0.0-beta.209","@tiptap/extension-link":"^2.0.0-beta.209","@tiptap/extension-placeholder":"^2.0.0-beta.209","@tiptap/extension-subscript":"^2.0.0-beta.209","@tiptap/extension-superscript":"^2.0.0-beta.209","@tiptap/extension-text-align":"^2.0.0-beta.209","@tiptap/extension-text-style":"^2.0.0-beta.209","@tiptap/extension-underline":"^2.0.0-beta.209","@tiptap/react":"^2.0.0-beta.209","@tiptap/starter-kit":"^2.0.0-beta.209",ahooks:"^3.3.11",axios:"^0.27.2","chroma-js":"^2.4.2","d3-array":"3.2.0","d3-regression":"1.2.8",dayjs:"1.11.6",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9","echarts-stat":"1.2.0",eventemitter2:"^6.4.6",jszip:"3.10.1",lodash:"^4.17.21",lowlight:"^2.8.0",mobx:"^6.6.1","mobx-react-lite":"^3.4.0","mobx-state-tree":"^5.1.5",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2",react:"^16.8.0 || 17.x || 18.x","react-dom":"^16.8.0 || 17.x || 18.x","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","react-virtual":"^2.10.4","tabler-icons-react":"^1.48.0"},$D=Object.freeze(Object.defineProperty({__proto__:null,name:yg,version:Wl,license:bg,publishConfig:wg,files:xg,main:Sg,module:Cg,types:_g,exports:Eg,scripts:Tg,dependencies:Mg,devDependencies:kg,peerDependencies:Og,default:{name:yg,version:Wl,license:bg,publishConfig:wg,files:xg,main:Sg,module:Cg,types:_g,exports:Eg,scripts:Tg,dependencies:Mg,devDependencies:kg,peerDependencies:Og}},Symbol.toStringTag,{value:"Module"}));class LD{constructor(t){Re(this,"staticColors",new Map);Re(this,"interpolations",new Map);t.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const n=this.encodeColor(t);t.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(n,t)):t.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(n,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class VD{constructor(){Re(this,"plugins",new Map);Re(this,"vizComponents",new Map);Re(this,"factory",{viz:t=>{const n=this.vizComponents.get(t);if(n)return n;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const n of t.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class zD{constructor(){Re(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n,r){var a;if(t.from===t.to)return n;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const i=this.migrations.filter(s=>s.version>t.from&&s.version<=t.to),o=H.orderBy(i,"version","asc");if(((a=H.last(o))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((s,u)=>u.handler(s,r),n)}}class tn extends zD{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,(r,i)=>({version:t,...n(r,i)}))}async migrate({configData:t,panelModel:n}){const r=await t.getItem(null),i=H.get(r,"version",0),o=this.run({from:i,to:this.VERSION},r,{panelModel:n});await t.setItem(null,o)}async needMigration({configData:t}){const n=await t.getItem(null);return H.get(n,"version",0)<this.VERSION}}const Je=(e,t)=>{const[n,{setFalse:r}]=tt.useBoolean(!0),[i,o]=x.useState();x.useEffect(()=>(e.getItem(t).then(s=>{o(s),r()}),e.watchItem(t,s=>{o(s)})));const a=x.useCallback(async s=>{await e.setItem(t,s),o(s)},[e,t]);return{loading:n,value:i,set:a}},ql={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};Rt.use([ut.GridComponent,ut.VisualMapComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function FD({context:e}){const{value:t}=Je(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis_data_key:o,y_axis_data_key:a,z_axis_data_key:s,xAxis3D:u,yAxis3D:c,zAxis3D:f}=H.defaults({},t,ql),h=x.useMemo(()=>{const v=H.minBy(n,m=>m[s]);return H.get(v,s)},[n,s]),p=x.useMemo(()=>{const v=H.maxBy(n,m=>m[s]);return H.get(v,s)},[n,s]),g={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:h,max:p,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:c,zAxis3D:f,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:n.map(v=>[v[o],v[a],v[s]])}]};return t?l(Hn.default,{echarts:Rt,option:g,style:{width:r,height:i}}):null}function BD({label:e,required:t,value:n,onChange:r,data:i,clearable:o=!1,sx:a,...s},u){const c=Z.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const h=Object.keys(i[0]).map(p=>({label:p,value:p}));return o?h.concat([{label:"unset",value:""}]):h},[i]);return l(d.Select,{ref:u,label:e,data:c,value:n,onChange:r,required:t,sx:a,...s})}const mt=Z.default.forwardRef(BD);function jD({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=H.defaults({},t,ql),{control:o,handleSubmit:a,reset:s}=j.useForm({defaultValues:i});return x.useEffect(()=>{s(i)},[t]),t?l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:a(n),children:[l(d.Text,{children:"X Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"x_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"xAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Text,{mt:"lg",children:"Y Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"y_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"yAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Text,{mt:"lg",children:"Z Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"z_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"zAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:b(d.Button,{color:"blue",type:"submit",children:[l(le.DeviceFloppy,{size:20}),l(d.Text,{ml:"md",children:"Save"})]})})]})}):null}class GD extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const KD={displayName:"Bar Chart (3D)",migrator:new GD,name:"bar-3d",viewRender:FD,configRender:jD,createConfig(){return{version:1,config:H.cloneDeep(ql)}}},Ln={mantissa:0,output:"number",trimMantissa:!1,average:!1};function HD({value:e,onChange:t},n){const r=s=>{t({...e,output:s})},i=s=>{const u=s===0?!1:e.trimMantissa;t({...e,mantissa:s,trimMantissa:u})},o=s=>{t({...e,trimMantissa:s.currentTarget.checked})},a=s=>{t({...e,average:s.currentTarget.checked})};return b(d.Stack,{ref:n,children:[b(d.Group,{grow:!0,children:[l(d.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),l(d.Switch,{label:b(d.Stack,{spacing:0,children:[l(d.Text,{children:"Average"}),l(d.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:a,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),b(d.Group,{grow:!0,children:[l(d.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),l(d.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),b(d.Stack,{spacing:0,children:[l(d.Text,{weight:"bold",children:"Preview"}),l(Or,{children:b(d.Group,{position:"apart",children:[b(d.Text,{size:12,color:"gray",children:["123456789 ",l(le.ArrowRight,{size:9})," ",Bt.default(123456789).format(e)]}),b(d.Text,{size:12,color:"gray",children:["1234 ",l(le.ArrowRight,{size:9})," ",Bt.default(1234).format(e)]}),b(d.Text,{size:12,color:"gray",children:["0.1234 ",l(le.ArrowRight,{size:9})," ",Bt.default(.1234).format(e)]})]})})]})]})}const $r=Z.default.forwardRef(HD),Lr={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
75
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hi(e,t){return zO(e)||FO(e,t)||Th(e,t)||BO()}var jO=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],Fh=function(t,n){var r=t.className,i=t.style,o=t.motion,a=t.motionNodes,s=t.motionType,u=t.onMotionStart,c=t.onMotionEnd,f=t.active,h=t.treeNodeRequiredProps,p=xa(t,jO),g=T.useState(!0),v=hi(g,2),m=v[0],w=v[1],y=T.useContext(Pl),C=y.prefixCls,_=T.useRef(!1),S=function(){_.current||c(),_.current=!0};return x.useEffect(function(){a&&s==="hide"&&m&&w(!1)},[a]),x.useEffect(function(){return a&&u(),function(){a&&S()}},[]),a?l(ta,{ref:n,visible:m,...o,motionAppear:s==="show",onAppearEnd:S,onLeaveEnd:S,children:function(E,k){var A=E.className,L=E.style;return l("div",{ref:k,className:pt("".concat(C,"-treenode-motion"),A),style:L,children:a.map(function(F){var P=ba({},(zh(F.data),F.data)),O=F.title,I=F.key,z=F.isStart,M=F.isEnd;delete P.children;var $=no(I,h);return x.createElement(pi,{...P,...$,title:O,active:f,data:F.data,key:I,isStart:z,isEnd:M})})})}}):l(pi,{domRef:n,className:r,style:i,...p,active:f})};Fh.displayName="MotionTreeNode";var GO=T.forwardRef(Fh);function KO(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=e.length,r=t.length;if(Math.abs(n-r)!==1)return{add:!1,key:null};function i(o,a){var s=new Map;o.forEach(function(c){s.set(c,!0)});var u=a.filter(function(c){return!s.has(c)});return u.length===1?u[0]:null}return n<r?{add:!0,key:i(e,t)}:{add:!1,key:i(t,e)}}function Bh(e,t,n){var r=e.findIndex(function(s){return s.key===n}),i=e[r+1],o=t.findIndex(function(s){return s.key===n});if(i){var a=t.findIndex(function(s){return s.key===i.key});return t.slice(o+1,a)}return t.slice(o+1)}var HO=["prefixCls","data","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","height","itemHeight","virtual","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd"],jh={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},WO=function(){},Ir="RC_TREE_MOTION_".concat(Math.random()),Ll={key:Ir},Gh={key:Ir,level:0,index:0,pos:"0",node:Ll,nodes:[Ll]},Kh={parent:null,children:[],pos:Gh.pos,data:Ll,title:null,key:Ir,isStart:[],isEnd:[]};function Hh(e,t,n,r){return t===!1||!n?e:e.slice(0,Math.ceil(n/r)+1)}function Wh(e){var t=e.key,n=e.pos;return to(t,n)}function qO(e){for(var t=String(e.data.key),n=e;n.parent;)n=n.parent,t="".concat(n.data.key," > ").concat(t);return t}var qh=T.forwardRef(function(e,t){var n=e.prefixCls,r=e.data;e.selectable,e.checkable;var i=e.expandedKeys,o=e.selectedKeys,a=e.checkedKeys,s=e.loadedKeys,u=e.loadingKeys,c=e.halfCheckedKeys,f=e.keyEntities,h=e.disabled,p=e.dragging,g=e.dragOverNodeKey,v=e.dropPosition,m=e.motion,w=e.height,y=e.itemHeight,C=e.virtual,_=e.focusable,S=e.activeItem,E=e.focused,k=e.tabIndex,A=e.onKeyDown,L=e.onFocus,F=e.onBlur,P=e.onActiveChange,O=e.onListChangeStart,I=e.onListChangeEnd,z=xa(e,HO),M=T.useRef(null),$=T.useRef(null);T.useImperativeHandle(t,function(){return{scrollTo:function(Ke){M.current.scrollTo(Ke)},getIndentWidth:function(){return $.current.offsetWidth}}});var N=T.useState(i),R=hi(N,2),B=R[0],G=R[1],K=T.useState(r),W=hi(K,2),ee=W[0],ne=W[1],U=T.useState(r),X=hi(U,2),ce=X[0],ue=X[1],se=T.useState([]),ae=hi(se,2),xe=ae[0],be=ae[1],Y=T.useState(null),re=hi(Y,2),Se=re[0],q=re[1],we=T.useRef(r);we.current=r;function ve(){var ge=we.current;ne(ge),ue(ge),be([]),q(null),I()}T.useEffect(function(){G(i);var ge=KO(B,i);if(ge.key!==null)if(ge.add){var Ke=ee.findIndex(function(Ve){var ct=Ve.key;return ct===ge.key}),Pe=Hh(Bh(ee,r,ge.key),C,w,y),Xe=ee.slice();Xe.splice(Ke+1,0,Kh),ue(Xe),be(Pe),q("show")}else{var Ee=r.findIndex(function(Ve){var ct=Ve.key;return ct===ge.key}),Fe=Hh(Bh(r,ee,ge.key),C,w,y),$e=r.slice();$e.splice(Ee+1,0,Kh),ue($e),be(Fe),q("hide")}else ee!==r&&(ne(r),ue(r))},[i,r]),T.useEffect(function(){p||ve()},[p]);var _e=m?ce:r,ke={expandedKeys:i,selectedKeys:o,loadedKeys:s,loadingKeys:u,checkedKeys:a,halfCheckedKeys:c,dragOverNodeKey:g,dropPosition:v,keyEntities:f};return b(Oe,{children:[E&&S&&l("span",{style:jh,"aria-live":"assertive",children:qO(S)}),l("div",{children:l("input",{style:jh,disabled:_===!1||h,tabIndex:_!==!1?k:null,onKeyDown:A,onFocus:L,onBlur:F,value:"",onChange:WO,"aria-label":"for screen reader"})}),l("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0},children:l("div",{className:"".concat(n,"-indent"),children:l("div",{ref:$,className:"".concat(n,"-indent-unit")})})}),l(Dl,{...z,data:_e,itemKey:Wh,height:w,fullHeight:!1,virtual:C,itemHeight:y,prefixCls:"".concat(n,"-list"),ref:M,onVisibleChange:function(Ke,Pe){var Xe=new Set(Ke),Ee=Pe.filter(function(Fe){return!Xe.has(Fe)});Ee.some(function(Fe){return Wh(Fe)===Ir})&&ve()},children:function(ge){var Ke=ge.pos,Pe=ba({},(zh(ge.data),ge.data)),Xe=ge.title,Ee=ge.key,Fe=ge.isStart,$e=ge.isEnd,Ve=to(Ee,Ke);delete Pe.key,delete Pe.children;var ct=no(Ve,ke);return l(GO,{...Pe,...ct,title:Xe,active:!!S&&Ee===S.key,pos:Ke,data:ge.data,isStart:Fe,isEnd:$e,motion:m,motionNodes:Ee===Ir?xe:null,motionType:Se,onMotionStart:O,onMotionEnd:ve,treeNodeRequiredProps:ke,onMouseMove:function(){P(null)}})}})]})});qh.displayName="NodeList";function UO(e){var t=e.dropPosition,n=e.dropLevelOffset,r=e.indent,i={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(t){case-1:i.top=0,i.left=-n*r;break;case 1:i.bottom=0,i.left=-n*r;break;case 0:i.bottom=0,i.left=r;break}return l("div",{style:i})}var YO=10,Vl=function(e){Dh(n,e);var t=Rh(n);function n(){var r;Mh(this,n);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return r=t.call.apply(t,[this].concat(o)),r.destroyed=!1,r.delayedDragEnterLogic=void 0,r.loadingRetryTimes={},r.state={keyEntities:{},indent:null,selectedKeys:[],checkedKeys:[],halfCheckedKeys:[],loadedKeys:[],loadingKeys:[],expandedKeys:[],draggingNodeKey:null,dragChildrenKeys:[],dropTargetKey:null,dropPosition:null,dropContainerKey:null,dropLevelOffset:null,dropTargetPos:null,dropAllowed:!0,dragOverNodeKey:null,treeData:[],flattenNodes:[],focused:!1,activeKey:null,listChanging:!1,prevProps:null,fieldNames:Sa()},r.dragStartMousePosition=null,r.dragNode=void 0,r.currentMouseOverDroppableNodeKey=null,r.listRef=T.createRef(),r.onNodeDragStart=function(s,u){var c=r.state,f=c.expandedKeys,h=c.keyEntities,p=r.props.onDragStart,g=u.props.eventKey;r.dragNode=u,r.dragStartMousePosition={x:s.clientX,y:s.clientY};var v=tr(f,g);r.setState({draggingNodeKey:g,dragChildrenKeys:$O(g,h),indent:r.listRef.current.getIndentWidth()}),r.setExpandedKeys(v),window.addEventListener("dragend",r.onWindowDragEnd),p==null||p({event:s,node:$t(u.props)})},r.onNodeDragEnter=function(s,u){var c=r.state,f=c.expandedKeys,h=c.keyEntities,p=c.dragChildrenKeys,g=c.flattenNodes,v=c.indent,m=r.props,w=m.onDragEnter,y=m.onExpand,C=m.allowDrop,_=m.direction,S=u.props,E=S.pos,k=S.eventKey,A=er(r),L=A.dragNode;if(r.currentMouseOverDroppableNodeKey!==k&&(r.currentMouseOverDroppableNodeKey=k),!L){r.resetDragState();return}var F=$h(s,L,u,v,r.dragStartMousePosition,C,g,h,f,_),P=F.dropPosition,O=F.dropLevelOffset,I=F.dropTargetKey,z=F.dropContainerKey,M=F.dropTargetPos,$=F.dropAllowed,N=F.dragOverNodeKey;if(p.indexOf(I)!==-1||!$){r.resetDragState();return}if(r.delayedDragEnterLogic||(r.delayedDragEnterLogic={}),Object.keys(r.delayedDragEnterLogic).forEach(function(R){clearTimeout(r.delayedDragEnterLogic[R])}),L.props.eventKey!==u.props.eventKey&&(s.persist(),r.delayedDragEnterLogic[E]=window.setTimeout(function(){if(r.state.draggingNodeKey!==null){var R=Nr(f),B=h[u.props.eventKey];B&&(B.children||[]).length&&(R=yr(f,u.props.eventKey)),"expandedKeys"in r.props||r.setExpandedKeys(R),y==null||y(R,{node:$t(u.props),expanded:!0,nativeEvent:s.nativeEvent})}},800)),L.props.eventKey===I&&O===0){r.resetDragState();return}r.setState({dragOverNodeKey:N,dropPosition:P,dropLevelOffset:O,dropTargetKey:I,dropContainerKey:z,dropTargetPos:M,dropAllowed:$}),w==null||w({event:s,node:$t(u.props),expandedKeys:f})},r.onNodeDragOver=function(s,u){var c=r.state,f=c.dragChildrenKeys,h=c.flattenNodes,p=c.keyEntities,g=c.expandedKeys,v=c.indent,m=r.props,w=m.onDragOver,y=m.allowDrop,C=m.direction,_=er(r),S=_.dragNode;if(!!S){var E=$h(s,S,u,v,r.dragStartMousePosition,y,h,p,g,C),k=E.dropPosition,A=E.dropLevelOffset,L=E.dropTargetKey,F=E.dropContainerKey,P=E.dropAllowed,O=E.dropTargetPos,I=E.dragOverNodeKey;f.indexOf(L)!==-1||!P||(S.props.eventKey===L&&A===0?r.state.dropPosition===null&&r.state.dropLevelOffset===null&&r.state.dropTargetKey===null&&r.state.dropContainerKey===null&&r.state.dropTargetPos===null&&r.state.dropAllowed===!1&&r.state.dragOverNodeKey===null||r.resetDragState():k===r.state.dropPosition&&A===r.state.dropLevelOffset&&L===r.state.dropTargetKey&&F===r.state.dropContainerKey&&O===r.state.dropTargetPos&&P===r.state.dropAllowed&&I===r.state.dragOverNodeKey||r.setState({dropPosition:k,dropLevelOffset:A,dropTargetKey:L,dropContainerKey:F,dropTargetPos:O,dropAllowed:P,dragOverNodeKey:I}),w==null||w({event:s,node:$t(u.props)}))}},r.onNodeDragLeave=function(s,u){r.currentMouseOverDroppableNodeKey===u.props.eventKey&&!s.currentTarget.contains(s.relatedTarget)&&(r.resetDragState(),r.currentMouseOverDroppableNodeKey=null);var c=r.props.onDragLeave;c==null||c({event:s,node:$t(u.props)})},r.onWindowDragEnd=function(s){r.onNodeDragEnd(s,null,!0),window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDragEnd=function(s,u){var c=r.props.onDragEnd;r.setState({dragOverNodeKey:null}),r.cleanDragState(),c==null||c({event:s,node:$t(u.props)}),r.dragNode=null,window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDrop=function(s,u){var c,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=r.state,p=h.dragChildrenKeys,g=h.dropPosition,v=h.dropTargetKey,m=h.dropTargetPos,w=h.dropAllowed;if(!!w){var y=r.props.onDrop;if(r.setState({dragOverNodeKey:null}),r.cleanDragState(),v!==null){var C=Xt(Xt({},no(v,r.getTreeNodeRequiredProps())),{},{active:((c=r.getActiveItem())===null||c===void 0?void 0:c.key)===v,data:r.state.keyEntities[v].node}),_=p.indexOf(v)!==-1;it(!_,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var S=Il(m),E={event:s,node:$t(C),dragNode:r.dragNode?$t(r.dragNode.props):null,dragNodesKeys:[r.dragNode.props.eventKey].concat(p),dropToGap:g!==0,dropPosition:g+Number(S[S.length-1])};f||y==null||y(E),r.dragNode=null}}},r.cleanDragState=function(){var s=r.state.draggingNodeKey;s!==null&&r.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),r.dragStartMousePosition=null,r.currentMouseOverDroppableNodeKey=null},r.triggerExpandActionExpand=function(s,u){var c=r.state,f=c.expandedKeys,h=c.flattenNodes,p=u.expanded,g=u.key,v=u.isLeaf;if(!(v||s.shiftKey||s.metaKey||s.ctrlKey)){var m=h.filter(function(y){return y.key===g})[0],w=$t(Xt(Xt({},no(g,r.getTreeNodeRequiredProps())),{},{data:m.data}));r.setExpandedKeys(p?tr(f,g):yr(f,g)),r.onNodeExpand(s,w)}},r.onNodeClick=function(s,u){var c=r.props,f=c.onClick,h=c.expandAction;h==="click"&&r.triggerExpandActionExpand(s,u),f==null||f(s,u)},r.onNodeDoubleClick=function(s,u){var c=r.props,f=c.onDoubleClick,h=c.expandAction;h==="doubleClick"&&r.triggerExpandActionExpand(s,u),f==null||f(s,u)},r.onNodeSelect=function(s,u){var c=r.state.selectedKeys,f=r.state,h=f.keyEntities,p=f.fieldNames,g=r.props,v=g.onSelect,m=g.multiple,w=u.selected,y=u[p.key],C=!w;C?m?c=yr(c,y):c=[y]:c=tr(c,y);var _=c.map(function(S){var E=h[S];return E?E.node:null}).filter(function(S){return S});r.setUncontrolledState({selectedKeys:c}),v==null||v(c,{event:"select",selected:C,node:u,selectedNodes:_,nativeEvent:s.nativeEvent})},r.onNodeCheck=function(s,u,c){var f=r.state,h=f.keyEntities,p=f.checkedKeys,g=f.halfCheckedKeys,v=r.props,m=v.checkStrictly,w=v.onCheck,y=u.key,C,_={event:"check",node:u,checked:c,nativeEvent:s.nativeEvent};if(m){var S=c?yr(p,y):tr(p,y),E=tr(g,y);C={checked:S,halfChecked:E},_.checkedNodes=S.map(function(O){return h[O]}).filter(function(O){return O}).map(function(O){return O.node}),r.setUncontrolledState({checkedKeys:S})}else{var k=fi([].concat(Nr(p),[y]),!0,h),A=k.checkedKeys,L=k.halfCheckedKeys;if(!c){var F=new Set(A);F.delete(y);var P=fi(Array.from(F),{checked:!1,halfCheckedKeys:L},h);A=P.checkedKeys,L=P.halfCheckedKeys}C=A,_.checkedNodes=[],_.checkedNodesPositions=[],_.halfCheckedKeys=L,A.forEach(function(O){var I=h[O];if(!!I){var z=I.node,M=I.pos;_.checkedNodes.push(z),_.checkedNodesPositions.push({node:z,pos:M})}}),r.setUncontrolledState({checkedKeys:A},!1,{halfCheckedKeys:L})}w==null||w(C,_)},r.onNodeLoad=function(s){var u=s.key,c=new Promise(function(f,h){r.setState(function(p){var g=p.loadedKeys,v=g===void 0?[]:g,m=p.loadingKeys,w=m===void 0?[]:m,y=r.props,C=y.loadData,_=y.onLoad;if(!C||v.indexOf(u)!==-1||w.indexOf(u)!==-1)return null;var S=C(s);return S.then(function(){var E=r.state.loadedKeys,k=yr(E,u);_==null||_(k,{event:"load",node:s}),r.setUncontrolledState({loadedKeys:k}),r.setState(function(A){return{loadingKeys:tr(A.loadingKeys,u)}}),f()}).catch(function(E){if(r.setState(function(A){return{loadingKeys:tr(A.loadingKeys,u)}}),r.loadingRetryTimes[u]=(r.loadingRetryTimes[u]||0)+1,r.loadingRetryTimes[u]>=YO){var k=r.state.loadedKeys;it(!1,"Retry for `loadData` many times but still failed. No more retry."),r.setUncontrolledState({loadedKeys:yr(k,u)}),f()}h(E)}),{loadingKeys:yr(w,u)}})});return c.catch(function(){}),c},r.onNodeMouseEnter=function(s,u){var c=r.props.onMouseEnter;c==null||c({event:s,node:u})},r.onNodeMouseLeave=function(s,u){var c=r.props.onMouseLeave;c==null||c({event:s,node:u})},r.onNodeContextMenu=function(s,u){var c=r.props.onRightClick;c&&(s.preventDefault(),c({event:s,node:u}))},r.onFocus=function(){var s=r.props.onFocus;r.setState({focused:!0});for(var u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];s==null||s.apply(void 0,c)},r.onBlur=function(){var s=r.props.onBlur;r.setState({focused:!1}),r.onActiveChange(null);for(var u=arguments.length,c=new Array(u),f=0;f<u;f++)c[f]=arguments[f];s==null||s.apply(void 0,c)},r.getTreeNodeRequiredProps=function(){var s=r.state,u=s.expandedKeys,c=s.selectedKeys,f=s.loadedKeys,h=s.loadingKeys,p=s.checkedKeys,g=s.halfCheckedKeys,v=s.dragOverNodeKey,m=s.dropPosition,w=s.keyEntities;return{expandedKeys:u||[],selectedKeys:c||[],loadedKeys:f||[],loadingKeys:h||[],checkedKeys:p||[],halfCheckedKeys:g||[],dragOverNodeKey:v,dropPosition:m,keyEntities:w}},r.setExpandedKeys=function(s){var u=r.state,c=u.treeData,f=u.fieldNames,h=Nl(c,s,f);r.setUncontrolledState({expandedKeys:s,flattenNodes:h},!0)},r.onNodeExpand=function(s,u){var c=r.state.expandedKeys,f=r.state,h=f.listChanging,p=f.fieldNames,g=r.props,v=g.onExpand,m=g.loadData,w=u.expanded,y=u[p.key];if(!h){var C=c.indexOf(y),_=!w;if(it(w&&C!==-1||!w&&C===-1,"Expand state not sync with index check"),_?c=yr(c,y):c=tr(c,y),r.setExpandedKeys(c),v==null||v(c,{node:u,expanded:_,nativeEvent:s.nativeEvent}),_&&m){var S=r.onNodeLoad(u);S&&S.then(function(){var E=Nl(r.state.treeData,c,p);r.setUncontrolledState({flattenNodes:E})}).catch(function(){var E=r.state.expandedKeys,k=tr(E,y);r.setExpandedKeys(k)})}}},r.onListChangeStart=function(){r.setUncontrolledState({listChanging:!0})},r.onListChangeEnd=function(){setTimeout(function(){r.setUncontrolledState({listChanging:!1})})},r.onActiveChange=function(s){var u=r.state.activeKey,c=r.props.onActiveChange;u!==s&&(r.setState({activeKey:s}),s!==null&&r.scrollTo({key:s}),c==null||c(s))},r.getActiveItem=function(){var s=r.state,u=s.activeKey,c=s.flattenNodes;return u===null?null:c.find(function(f){var h=f.key;return h===u})||null},r.offsetActiveKey=function(s){var u=r.state,c=u.flattenNodes,f=u.activeKey,h=c.findIndex(function(v){var m=v.key;return m===f});h===-1&&s<0&&(h=c.length),h=(h+s+c.length)%c.length;var p=c[h];if(p){var g=p.key;r.onActiveChange(g)}else r.onActiveChange(null)},r.onKeyDown=function(s){var u=r.state,c=u.activeKey,f=u.expandedKeys,h=u.checkedKeys,p=u.fieldNames,g=r.props,v=g.onKeyDown,m=g.checkable,w=g.selectable;switch(s.which){case oe.UP:{r.offsetActiveKey(-1),s.preventDefault();break}case oe.DOWN:{r.offsetActiveKey(1),s.preventDefault();break}}var y=r.getActiveItem();if(y&&y.data){var C=r.getTreeNodeRequiredProps(),_=y.data.isLeaf===!1||!!(y.data[p.children]||[]).length,S=$t(Xt(Xt({},no(c,C)),{},{data:y.data,active:!0}));switch(s.which){case oe.LEFT:{_&&f.includes(c)?r.onNodeExpand({},S):y.parent&&r.onActiveChange(y.parent.key),s.preventDefault();break}case oe.RIGHT:{_&&!f.includes(c)?r.onNodeExpand({},S):y.children&&y.children.length&&r.onActiveChange(y.children[0].key),s.preventDefault();break}case oe.ENTER:case oe.SPACE:{m&&!S.disabled&&S.checkable!==!1&&!S.disableCheckbox?r.onNodeCheck({},S,!h.includes(c)):!m&&w&&!S.disabled&&S.selectable!==!1&&r.onNodeSelect({},S);break}}}v==null||v(s)},r.setUncontrolledState=function(s){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!r.destroyed){var f=!1,h=!0,p={};Object.keys(s).forEach(function(g){if(g in r.props){h=!1;return}f=!0,p[g]=s[g]}),f&&(!u||h)&&r.setState(Xt(Xt({},p),c))}},r.scrollTo=function(s){r.listRef.current.scrollTo(s)},r}return Oh(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var i=this.props.activeKey;i!==void 0&&i!==this.state.activeKey&&(this.setState({activeKey:i}),i!==null&&this.scrollTo({key:i}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var i,o=this.state,a=o.focused,s=o.flattenNodes,u=o.keyEntities,c=o.draggingNodeKey,f=o.activeKey,h=o.dropLevelOffset,p=o.dropContainerKey,g=o.dropTargetKey,v=o.dropPosition,m=o.dragOverNodeKey,w=o.indent,y=this.props,C=y.prefixCls,_=y.className,S=y.style,E=y.showLine,k=y.focusable,A=y.tabIndex,L=A===void 0?0:A,F=y.selectable,P=y.showIcon,O=y.icon,I=y.switcherIcon,z=y.draggable,M=y.checkable,$=y.checkStrictly,N=y.disabled,R=y.motion,B=y.loadData,G=y.filterTreeNode,K=y.height,W=y.itemHeight,ee=y.virtual,ne=y.titleRender,U=y.dropIndicatorRender,X=y.onContextMenu,ce=y.onScroll,ue=y.direction,se=y.rootClassName,ae=y.rootStyle,xe=Qr(this.props,{aria:!0,data:!0}),be;return z&&(Jn(z)==="object"?be=z:typeof z=="function"?be={nodeDraggable:z}:be={}),l(Pl.Provider,{value:{prefixCls:C,selectable:F,showIcon:P,icon:O,switcherIcon:I,draggable:be,draggingNodeKey:c,checkable:M,checkStrictly:$,disabled:N,keyEntities:u,dropLevelOffset:h,dropContainerKey:p,dropTargetKey:g,dropPosition:v,dragOverNodeKey:m,indent:w,direction:ue,dropIndicatorRender:U,loadData:B,filterTreeNode:G,titleRender:ne,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop},children:l("div",{role:"tree",className:pt(C,_,se,(i={},Et(i,"".concat(C,"-show-line"),E),Et(i,"".concat(C,"-focused"),a),Et(i,"".concat(C,"-active-focused"),f!==null),i)),style:ae,children:l(qh,{ref:this.listRef,prefixCls:C,style:S,data:s,disabled:N,selectable:F,checkable:!!M,motion:R,dragging:c!==null,height:K,itemHeight:W,virtual:ee,focusable:k,focused:a,tabIndex:L,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:X,onScroll:ce,...this.getTreeNodeRequiredProps(),...xe})})})}}],[{key:"getDerivedStateFromProps",value:function(i,o){var a=o.prevProps,s={prevProps:i};function u(k){return!a&&k in i||a&&a[k]!==i[k]}var c,f=o.fieldNames;if(u("fieldNames")&&(f=Sa(i.fieldNames),s.fieldNames=f),u("treeData")?c=i.treeData:u("children")&&(it(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),c=DO(i.children)),c){s.treeData=c;var h=Ah(c,{fieldNames:f});s.keyEntities=Xt(Et({},Ir,Gh),h.keyEntities),process.env.NODE_ENV!=="production"&&OO(c,f)}var p=s.keyEntities||o.keyEntities;if(u("expandedKeys")||a&&u("autoExpandParent"))s.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?Vh(i.expandedKeys,p):i.expandedKeys;else if(!a&&i.defaultExpandAll){var g=Xt({},p);delete g[Ir],s.expandedKeys=Object.keys(g).map(function(k){return g[k].key})}else!a&&i.defaultExpandedKeys&&(s.expandedKeys=i.autoExpandParent||i.defaultExpandParent?Vh(i.defaultExpandedKeys,p):i.defaultExpandedKeys);if(s.expandedKeys||delete s.expandedKeys,c||s.expandedKeys){var v=Nl(c||o.treeData,s.expandedKeys||o.expandedKeys,f);s.flattenNodes=v}if(i.selectable&&(u("selectedKeys")?s.selectedKeys=Lh(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(s.selectedKeys=Lh(i.defaultSelectedKeys,i))),i.checkable){var m;if(u("checkedKeys")?m=$l(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?m=$l(i.defaultCheckedKeys)||{}:c&&(m=$l(i.checkedKeys)||{checkedKeys:o.checkedKeys,halfCheckedKeys:o.halfCheckedKeys}),m){var w=m,y=w.checkedKeys,C=y===void 0?[]:y,_=w.halfCheckedKeys,S=_===void 0?[]:_;if(!i.checkStrictly){var E=fi(C,!0,p);C=E.checkedKeys,S=E.halfCheckedKeys}s.checkedKeys=C,s.halfCheckedKeys=S}}return u("loadedKeys")&&(s.loadedKeys=i.loadedKeys),s}}]),n}(T.Component);Vl.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:UO,allowDrop:function(){return!0},expandAction:!1},Vl.TreeNode=pi;var Uh=T.createContext(null),Yh=T.createContext(null);function Xh(e){return Array.isArray(e)?e:e!==void 0?[e]:[]}function XO(e){var t=e||{},n=t.label,r=t.value,i=t.children,o=r||"value";return{_title:n?[n]:["title","label"],value:o,key:o,children:i||"children"}}function zl(e){return!e||e.disabled||e.disableCheckbox||e.checkable===!1}function QO(e,t){var n=[];function r(i){i.forEach(function(o){var a=o[t.children];a&&(n.push(o[t.value]),r(a))})}return r(e),n}function Fl(e){return e==null}var ZO={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},JO=function(t,n){var r=zd(),i=r.prefixCls,o=r.multiple,a=r.searchValue,s=r.toggleOpen,u=r.open,c=r.notFoundContent,f=T.useContext(Yh),h=f.virtual,p=f.listHeight,g=f.listItemHeight,v=f.treeData,m=f.fieldNames,w=f.onSelect,y=f.dropdownMatchSelectWidth,C=f.treeExpandAction,_=T.useContext(Uh),S=_.checkable,E=_.checkedKeys,k=_.halfCheckedKeys,A=_.treeExpandedKeys,L=_.treeDefaultExpandAll,F=_.treeDefaultExpandedKeys,P=_.onTreeExpand,O=_.treeIcon,I=_.showTreeIcon,z=_.switcherIcon,M=_.treeLine,$=_.treeNodeFilterProp,N=_.loadData,R=_.treeLoadedKeys,B=_.treeMotion,G=_.onTreeLoad,K=_.keyEntities,W=T.useRef(),ee=Fs(function(){return v},[u,v],function(Ee,Fe){return Fe[0]&&Ee[1]!==Fe[1]}),ne=T.useMemo(function(){return S?{checked:E,halfChecked:k}:null},[S,E,k]);T.useEffect(function(){if(u&&!o&&E.length){var Ee;(Ee=W.current)===null||Ee===void 0||Ee.scrollTo({key:E[0]})}},[u]);var U=String(a).toLowerCase(),X=function(Fe){return U?String(Fe[$]).toLowerCase().includes(U):!1},ce=T.useState(F),ue=dr(ce,2),se=ue[0],ae=ue[1],xe=T.useState(null),be=dr(xe,2),Y=be[0],re=be[1],Se=T.useMemo(function(){return A?cr(A):a?Y:se},[se,Y,A,a]);T.useEffect(function(){a&&re(QO(v,m))},[a]);var q=function(Fe){ae(Fe),re(Fe),P&&P(Fe)},we=function(Fe){Fe.preventDefault()},ve=function(Fe,$e){var Ve=$e.node;S&&zl(Ve)||(w(Ve.key,{selected:!E.includes(Ve.key)}),o||s(!1))},_e=T.useState(null),ke=dr(_e,2),ge=ke[0],Ke=ke[1],Pe=K[ge];if(T.useImperativeHandle(n,function(){var Ee;return{scrollTo:(Ee=W.current)===null||Ee===void 0?void 0:Ee.scrollTo,onKeyDown:function($e){var Ve,ct=$e.which;switch(ct){case oe.UP:case oe.DOWN:case oe.LEFT:case oe.RIGHT:(Ve=W.current)===null||Ve===void 0||Ve.onKeyDown($e);break;case oe.ENTER:{if(Pe){var at=(Pe==null?void 0:Pe.node)||{},We=at.selectable,st=at.value;We!==!1&&ve(null,{node:{key:ge},selected:!E.includes(st)})}break}case oe.ESC:s(!1)}},onKeyUp:function(){}}}),ee.length===0)return l("div",{role:"listbox",className:"".concat(i,"-empty"),onMouseDown:we,children:c});var Xe={fieldNames:m};return R&&(Xe.loadedKeys=R),Se&&(Xe.expandedKeys=Se),b("div",{onMouseDown:we,children:[Pe&&u&&l("span",{style:ZO,"aria-live":"assertive",children:Pe.node.value}),l(Vl,{ref:W,focusable:!1,prefixCls:"".concat(i,"-tree"),treeData:ee,height:p,itemHeight:g,virtual:h!==!1&&y!==!1,multiple:o,icon:O,showIcon:I,switcherIcon:z,showLine:M,loadData:a?null:N,motion:B,activeKey:ge,checkable:S,checkStrictly:!0,checkedKeys:ne,selectedKeys:S?[]:E,defaultExpandAll:L,...Xe,onActiveChange:Ke,onSelect:ve,onCheck:ve,onExpand:q,onLoad:G,filterTreeNode:X,expandAction:C})]})},Qh=T.forwardRef(JO);Qh.displayName="OptionList";var Zh=function(){return null},eD="SHOW_ALL",Bl="SHOW_PARENT",jl="SHOW_CHILD";function Jh(e,t,n,r){var i=new Set(e);return t===jl?e.filter(function(o){var a=n[o];return!(a&&a.children&&a.children.some(function(s){var u=s.node;return i.has(u[r.value])})&&a.children.every(function(s){var u=s.node;return zl(u)||i.has(u[r.value])}))}):t===Bl?e.filter(function(o){var a=n[o],s=a?a.parent:null;return!(s&&!zl(s.node)&&i.has(s.key))}):e}var tD=["children","value"];function eg(e){return pr(e).map(function(t){if(!T.isValidElement(t)||!t.type)return null;var n=t,r=n.key,i=n.props,o=i.children,a=i.value,s=Sd(i,tD),u=yn({key:r,value:a},s),c=eg(o);return c.length&&(u.children=c),u}).filter(function(t){return t})}function Gl(e){if(!e)return e;var t=yn({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return it(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),t}}),t}function nD(e,t,n,r,i,o){var a=null,s=null;function u(){function c(f){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return f.map(function(g,v){var m="".concat(h,"-").concat(v),w=g[o.value],y=n.includes(w),C=c(g[o.children]||[],m,y),_=l(Zh,{...g,children:C.map(function(E){return E.node})});if(t===w&&(a=_),y){var S={pos:m,node:_,children:C};return p||s.push(S),S}return null}).filter(function(g){return g})}s||(s=[],c(r),s.sort(function(f,h){var p=f.node.props.value,g=h.node.props.value,v=n.indexOf(p),m=n.indexOf(g);return v-m}))}Object.defineProperty(e,"triggerNode",{get:function(){return it(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),u(),a}}),Object.defineProperty(e,"allCheckedNodes",{get:function(){return it(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),u(),i?s:s.map(function(f){var h=f.node;return h})}})}function rD(e,t){var n=t.id,r=t.pId,i=t.rootPId,o={},a=[],s=e.map(function(u){var c=yn({},u),f=c[n];return o[f]=c,c.key=c.key||f,c});return s.forEach(function(u){var c=u[r],f=o[c];f&&(f.children=f.children||[],f.children.push(u)),(c===i||!f&&i===null)&&a.push(u)}),a}function iD(e,t,n){return T.useMemo(function(){return e?n?rD(e,yn({id:"id",pId:"pId",rootPId:null},n!==!0?n:{})):e:eg(t)},[t,n,e])}const oD=function(e){var t=T.useRef({valueLabels:new Map});return T.useMemo(function(){var n=t.current.valueLabels,r=new Map,i=e.map(function(o){var a,s=o.value,u=(a=o.label)!==null&&a!==void 0?a:n.get(s);return r.set(s,u),yn(yn({},o),{},{label:u})});return t.current.valueLabels=r,[i]},[e])};function tg(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}const aD=function(e,t){return T.useMemo(function(){var n=Ah(e,{fieldNames:t,initWrapper:function(i){return yn(yn({},i),{},{valueEntities:new Map})},processEntity:function(i,o){var a=i.node[t.value];if(process.env.NODE_ENV!=="production"){var s=i.node.key;it(!Fl(a),"TreeNode `value` is invalidate: undefined"),it(!o.valueEntities.has(a),"Same `value` exist in the tree: ".concat(a)),it(!s||String(s)===String(a),"`key` or `value` with TreeNode must be the same or you can remove one of them. key: ".concat(s,", value: ").concat(a,"."))}o.valueEntities.set(a,i)}});return n},[e,t])},sD=function(e,t,n,r){return T.useMemo(function(){var i=e.map(function(u){var c=u.value;return c}),o=t.map(function(u){var c=u.value;return c}),a=i.filter(function(u){return!r[u]});if(n){var s=fi(i,!0,r);i=s.checkedKeys,o=s.halfCheckedKeys}return[Array.from(new Set([].concat(cr(a),cr(i)))),o]},[e,t,n,r])},lD=function(e,t,n){var r=n.treeNodeFilterProp,i=n.filterTreeNode,o=n.fieldNames,a=o.children;return T.useMemo(function(){if(!t||i===!1)return e;var s;if(typeof i=="function")s=i;else{var u=t.toUpperCase();s=function(h,p){var g=p[r];return String(g).toUpperCase().includes(u)}}function c(f){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return f.map(function(p){var g=p[a],v=h||s(t,Gl(p)),m=c(g||[],v);return v||m.length?yn(yn({},p),{},wd({isLeaf:void 0},a,m)):null}).filter(function(p){return p})}return c(e)},[e,t,a,r,i])};function uD(e){var t=e.searchPlaceholder,n=e.treeCheckStrictly,r=e.treeCheckable,i=e.labelInValue,o=e.value,a=e.multiple;it(!t,"`searchPlaceholder` has been removed."),n&&i===!1&&it(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(i||n)&&it(Xh(o).every(function(s){return s&&Rr(s)==="object"&&"value"in s}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),n||a||r?it(!o||Array.isArray(o),"`value` should be an array when `TreeSelect` is checkable or multiple."):it(!Array.isArray(o),"`value` should not be array when `TreeSelect` is single mode.")}var cD=["id","prefixCls","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","treeExpandAction","virtual","listHeight","listItemHeight","onDropdownVisibleChange","dropdownMatchSelectWidth","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"];function dD(e){return!e||Rr(e)!=="object"}var ng=T.forwardRef(function(e,t){var n=e.id,r=e.prefixCls,i=r===void 0?"rc-tree-select":r,o=e.value,a=e.defaultValue,s=e.onChange,u=e.onSelect,c=e.onDeselect,f=e.searchValue,h=e.inputValue,p=e.onSearch,g=e.autoClearSearchValue,v=g===void 0?!0:g,m=e.filterTreeNode,w=e.treeNodeFilterProp,y=w===void 0?"value":w,C=e.showCheckedStrategy,_=C===void 0?jl:C,S=e.treeNodeLabelProp,E=e.multiple,k=e.treeCheckable,A=e.treeCheckStrictly,L=e.labelInValue,F=e.fieldNames,P=e.treeDataSimpleMode,O=e.treeData,I=e.children,z=e.loadData,M=e.treeLoadedKeys,$=e.onTreeLoad,N=e.treeDefaultExpandAll,R=e.treeExpandedKeys,B=e.treeDefaultExpandedKeys,G=e.onTreeExpand,K=e.treeExpandAction,W=e.virtual,ee=e.listHeight,ne=ee===void 0?200:ee,U=e.listItemHeight,X=U===void 0?20:U,ce=e.onDropdownVisibleChange,ue=e.dropdownMatchSelectWidth,se=ue===void 0?!0:ue,ae=e.treeLine,xe=e.treeIcon,be=e.showTreeIcon,Y=e.switcherIcon,re=e.treeMotion,Se=Sd(e,cD),q=ih(n),we=k&&!A,ve=k||A,_e=A||L,ke=ve||E,ge=zi(a,{value:o}),Ke=dr(ge,2),Pe=Ke[0],Xe=Ke[1];process.env.NODE_ENV!=="production"&&uD(e);var Ee=T.useMemo(function(){return XO(F)},[JSON.stringify(F)]),Fe=zi("",{value:f!==void 0?f:h,postState:function(pe){return pe||""}}),$e=dr(Fe,2),Ve=$e[0],ct=$e[1],at=function(pe){ct(pe),p==null||p(pe)},We=iD(O,I,P),st=aD(We,Ee),Ce=st.keyEntities,Ne=st.valueEntities,et=T.useCallback(function(Q){var pe=[],ye=[];return Q.forEach(function(Te){Ne.has(Te)?ye.push(Te):pe.push(Te)}),{missingRawValues:pe,existRawValues:ye}},[Ne]),Mt=lD(We,Ve,{fieldNames:Ee,treeNodeFilterProp:y,filterTreeNode:m}),lt=T.useCallback(function(Q){if(Q){if(S)return Q[S];for(var pe=Ee._title,ye=0;ye<pe.length;ye+=1){var Te=Q[pe[ye]];if(Te!==void 0)return Te}}},[Ee,S]),kt=T.useCallback(function(Q){var pe=Xh(Q);return pe.map(function(ye){return dD(ye)?{value:ye}:ye})},[]),dt=T.useCallback(function(Q){var pe=kt(Q);return pe.map(function(ye){var Te=ye.label,Ie=ye.value,De=ye.halfChecked,Ge,ze=Ne.get(Ie);if(ze){var qe;Te=(qe=Te)!==null&&qe!==void 0?qe:lt(ze.node),Ge=ze.node.disabled}else if(Te===void 0){var Ct=kt(Pe).find(function(rn){return rn.value===Ie});Te=Ct.label}return{label:Te,value:Ie,halfChecked:De,disabled:Ge}})},[Ne,lt,kt,Pe]),Gt=T.useMemo(function(){return kt(Pe)},[kt,Pe]),Ot=T.useMemo(function(){var Q=[],pe=[];return Gt.forEach(function(ye){ye.halfChecked?pe.push(ye):Q.push(ye)}),[Q,pe]},[Gt]),bt=dr(Ot,2),_t=bt[0],Ht=bt[1],vt=T.useMemo(function(){return _t.map(function(Q){return Q.value})},[_t]),cn=sD(_t,Ht,we,Ce),Vt=dr(cn,2),ie=Vt[0],fe=Vt[1],me=T.useMemo(function(){var Q=Jh(ie,_,Ce,Ee),pe=Q.map(function(De){var Ge,ze,qe;return(Ge=(ze=Ce[De])===null||ze===void 0||(qe=ze.node)===null||qe===void 0?void 0:qe[Ee.value])!==null&&Ge!==void 0?Ge:De}),ye=pe.map(function(De){var Ge=_t.find(function(ze){return ze.value===De});return{value:De,label:Ge==null?void 0:Ge.label}}),Te=dt(ye),Ie=Te[0];return!ke&&Ie&&Fl(Ie.value)&&Fl(Ie.label)?[]:Te.map(function(De){var Ge;return yn(yn({},De),{},{label:(Ge=De.label)!==null&&Ge!==void 0?Ge:De.value})})},[Ee,ke,ie,_t,dt,_,Ce]),Ae=oD(me),Qe=dr(Ae,1),ft=Qe[0],Wt=tg(function(Q,pe,ye){var Te=dt(Q);if(Xe(Te),v&&ct(""),s){var Ie=Q;if(we){var De=Jh(Q,_,Ce,Ee);Ie=De.map(function(an){var sn=Ne.get(an);return sn?sn.node[Ee.value]:an})}var Ge=pe||{triggerValue:void 0,selected:void 0},ze=Ge.triggerValue,qe=Ge.selected,Ct=Ie;if(A){var rn=Ht.filter(function(an){return!Ie.includes(an.value)});Ct=[].concat(cr(Ct),cr(rn))}var vn=dt(Ct),Dt={preValue:_t,triggerValue:ze},Gn=!0;(A||ye==="selection"&&!qe)&&(Gn=!1),nD(Dt,ze,Q,We,Gn,Ee),ve?Dt.checked=qe:Dt.selected=qe;var sr=_e?vn:vn.map(function(an){return an.value});s(ke?sr:sr[0],_e?null:vn.map(function(an){return an.label}),Dt)}}),qt=T.useCallback(function(Q,pe){var ye,Te=pe.selected,Ie=pe.source,De=Ce[Q],Ge=De==null?void 0:De.node,ze=(ye=Ge==null?void 0:Ge[Ee.value])!==null&&ye!==void 0?ye:Q;if(!ke)Wt([ze],{selected:!0,triggerValue:ze},"option");else{var qe=Te?[].concat(cr(vt),[ze]):ie.filter(function(sn){return sn!==ze});if(we){var Ct=et(qe),rn=Ct.missingRawValues,vn=Ct.existRawValues,Dt=vn.map(function(sn){return Ne.get(sn).key}),Gn;if(Te){var sr=fi(Dt,!0,Ce);Gn=sr.checkedKeys}else{var an=fi(Dt,{checked:!1,halfCheckedKeys:fe},Ce);Gn=an.checkedKeys}qe=[].concat(cr(rn),cr(Gn.map(function(sn){return Ce[sn].node[Ee.value]})))}Wt(qe,{selected:Te,triggerValue:ze},Ie||"option")}Te||!ke?u==null||u(ze,Gl(Ge)):c==null||c(ze,Gl(Ge))},[et,Ne,Ce,Ee,ke,vt,Wt,we,u,c,ie,fe]),dn=T.useCallback(function(Q){if(ce){var pe={};Object.defineProperty(pe,"documentClickClose",{get:function(){return it(!1,"Second param of `onDropdownVisibleChange` has been removed."),!1}}),ce(Q,pe)}},[ce]),xt=tg(function(Q,pe){var ye=Q.map(function(Te){return Te.value});if(pe.type==="clear"){Wt(ye,{},"selection");return}pe.values.length&&qt(pe.values[0].value,{selected:!1,source:"selection"})}),V=T.useMemo(function(){return{virtual:W,dropdownMatchSelectWidth:se,listHeight:ne,listItemHeight:X,treeData:Mt,fieldNames:Ee,onSelect:qt,treeExpandAction:K}},[W,se,ne,X,Mt,Ee,qt,K]),J=T.useMemo(function(){return{checkable:ve,loadData:z,treeLoadedKeys:M,onTreeLoad:$,checkedKeys:ie,halfCheckedKeys:fe,treeDefaultExpandAll:N,treeExpandedKeys:R,treeDefaultExpandedKeys:B,onTreeExpand:G,treeIcon:xe,treeMotion:re,showTreeIcon:be,switcherIcon:Y,treeLine:ae,treeNodeFilterProp:y,keyEntities:Ce}},[ve,z,M,$,ie,fe,N,R,B,G,xe,re,be,Y,ae,y,Ce]);return l(Yh.Provider,{value:V,children:l(Uh.Provider,{value:J,children:l(Tl,{ref:t,...Se,id:q,prefixCls:i,mode:ke?"multiple":void 0,displayValues:ft,onDisplayValuesChange:xt,searchValue:Ve,onSearch:at,OptionList:Qh,emptyOptions:!We.length,onDropdownVisibleChange:dn,dropdownMatchSelectWidth:se})})})});process.env.NODE_ENV!=="production"&&(ng.displayName="TreeSelect");var ro=ng;ro.TreeNode=Zh,ro.SHOW_ALL=eD,ro.SHOW_PARENT=Bl,ro.SHOW_CHILD=jl;const fD=({rotate:e,onClick:t})=>l("svg",{onClick:t,className:"caret-icon",viewBox:"0 0 1024 1024",focusable:"false","data-icon":"caret-down",width:"14px",height:"14px",fill:"currentColor","aria-hidden":"true",transform:`rotate(${e})`,children:l("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),pD=({expanded:e,isLeaf:t,value:n,onClick:r,...i})=>(n==="0-0-value"&&console.log(i),t?l("span",{style:{width:"14px",display:"inline-block"}}):l(fD,{rotate:e?"0":"-90",onClick:r,...i})),hD=({onClick:e})=>b("svg",{onClick:e,className:"checkbox-icon",width:"16",height:"16",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[l("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),l("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),l("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),l("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),gD=({onClick:e,...t})=>l(hD,{onClick:e,...t}),vD=d.createStyles((e,{radius:t=4})=>({root:{borderRadius:e.fn.radius(t),display:"flex",flexWrap:"nowrap",border:"1px solid #ced4da",paddingLeft:"0px",paddingRight:"30px",backgroundColor:"#fff",transition:"border-color 100ms ease",borderColor:"#e9ecef","&.rc-tree-select.rc-tree-select-open":{borderColor:"#228be6 !important",".rc-tree-select-selection-overflow-item-rest":{display:"none"},".rc-tree-select-selection-overflow-item-suffix":{display:"block"}},".rc-tree-select-selector":{height:"auto",lineHeight:1.55,paddingLeft:"12px",resize:"none",boxSizing:"border-box",fontSize:"14px",width:"100%",color:"#000",display:"block",textAlign:"left",minHeight:"36px",cursor:"pointer",flexGrow:1},".rc-tree-select-selection-search-mirror":{display:"none"},".rc-tree-select-selection-search":{flexGrow:1,width:"auto !important"},".rc-tree-select-selection-overflow":{display:"flex",minHeight:"34px",alignItems:"center",flexWrap:"nowrap",marginLeft:"calc(-10px / 2)",boxSizing:"border-box"},".rc-tree-select-selection-overflow-item":{display:"flex",alignItems:"center",backgroundColor:"#f1f3f5",color:"#495057",height:"24px",paddingLeft:"12px",paddingRight:"12px",fontWeight:500,fontSize:"12px",borderRadius:"4px",cursor:"default",userSelect:"none",maxWidth:"calc(100% - 20px)",margin:"calc(10px / 2 - 2px) calc(10px / 2)"},".rc-tree-select-selection-overflow-item-rest":{cursor:"pointer"},".rc-tree-select-selection-overflow-item-suffix":{display:"none",backgroundColor:"transparent",width:"100%",maxWidth:"100%",height:"28px",margin:0,paddingLeft:0,paddingRight:0},input:{flex:1,minWidth:"60px",backgroundColor:"transparent",border:0,outline:0,fontSize:"14px",padding:0,marginLeft:0,color:"inherit",height:"28px",lineHeight:"32px",cursor:"pointer",width:"100%","&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}},".rc-tree-select-clear":{marginRight:"-24px",alignSelf:"center",cursor:"pointer"},"&.rc-tree-select-disabled":{backgroundColor:"rgb(241, 243, 245)",color:"rgb(144, 146, 150)",opacity:.6,"&, .rc-tree-select-selector, input":{cursor:"not-allowed"}}},label:{fontSize:e.fontSizes.sm,fontWeight:500,color:"#212529"},dropdown:{fontSize:e.fontSizes.xs,zIndex:300,paddingTop:"6px","&.rc-tree-select-dropdown-slide-up-leave-active":{display:"none"},".rc-tree-select-tree-list .rc-tree-select-tree-list-holder":{},".rc-tree-select-tree-list, .rc-tree-select-empty":{backgroundColor:"#fff",border:"1px solid #e9ecef",padding:0,boxShadow:"0 1px 3px rgb(0 0 0 / 5%), rgb(0 0 0 / 5%) 0px 10px 15px -5px, rgb(0 0 0 / 4%) 0px 7px 7px -5px",borderRadius:"4px"},".rc-tree-select-empty":{padding:"8px 12px"},".rc-tree-select-tree-treenode":{boxSizing:"border-box",textAlign:"left",width:"100%",padding:"8px 12px",cursor:"pointer",fontSize:"14px",color:"#000",borderRadius:"4px",display:"flex",flexWrap:"nowrap",overflow:"hidden","&:hover":{backgroundColor:"#f1f3f5"},"&.rc-tree-select-tree-treenode-checkbox-checked":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-checked":{stroke:"rgb(64, 192, 87)",animation:"check 200ms linear forwards"}},"&.rc-tree-select-tree-treenode-checkbox-indeterminate":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-indeterminate":{fill:"rgb(64, 192, 87)"}},".rc-tree-select-tree-switcher":{height:"16px",alignSelf:"center",paddingRight:"2px",transition:"color 200ms ease","&:hover":{color:"#228be6","svg.caret-icon":{color:"#228be6"}},"svg.caret-icon":{color:"#ced4da",transition:"all 200ms ease"}},".rc-tree-select-tree-node-content-wrapper":{display:"flex",flexWrap:"nowrap",overflow:"hidden",alignItems:"center",gap:"8px",transition:"color 200ms ease","&:hover":{color:"#228be6"}},".rc-tree-select-tree-iconEle":{height:"16px","svg .border":{stroke:"#ced4da"},".checkbox-icon .checkmark-indeterminate":{fill:"transparent",transition:"fill 200ms ease"},".checkbox-icon .checkmark-checked":{transform:"scale(1.2)",transformOrigin:"center center",strokeDasharray:10,strokeDashoffset:-10},"@keyframes check":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}},".rc-tree-select-tree-title":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",".rc-tree-select-tree-title-desc":{fontSize:"12px",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}},".rc-tree-select-tree-indent":{flexGrow:0,height:0,verticalAlign:"bottom"},".rc-tree-select-tree-indent-unit":{display:"inline-block",width:"1em"}}}})),mD=({disabled:e,classNames:t,styles:n,unstyled:r,radius:i,style:o,label:a,value:s,onChange:u,treeData:c})=>{const{classes:f,cx:h}=vD({radius:i},{name:"FilterTreeSelectWidget",classNames:t,styles:n,unstyled:r}),[p,g]=x.useState((s==null?void 0:s.length)>0),v=w=>{g(w)},m=p&&(s==null?void 0:s.length)>0;return b(d.Stack,{spacing:3,children:[b(d.Group,{position:"apart",children:[l(d.Text,{className:f.label,children:a}),m&&l(d.Tooltip,{label:`${s.length} selected`,children:l(d.Badge,{children:s.length})})]}),l(ro,{disabled:e,allowClear:!0,className:h(f.root,"check-select"),dropdownClassName:h(f.dropdown,""),onDropdownVisibleChange:v,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>l(d.CloseButton,{}),switcherIcon:pD,treeIcon:gD,maxTagTextLength:10,value:s,treeData:c,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Bl,onChange:u,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:w=>`${w.length} selected`})]})};function yD(e){return e.map(t=>{const{label:n,description:r,...i}=t,o={...i,filterBasis:`${n}___${r!=null?r:""}`,description:r,label:n};return r&&(o.label=b("div",{children:[l(d.Text,{title:t.label,children:t.label}),l(d.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const bD=te.observer(({label:e,config:t,value:n,onChange:r})=>{const i=Le(),{state:o,dataProxy:a,len:s}=i.getDataStuffByID(t.options_query_id),u=o==="loading",c=x.useMemo(()=>{if(!a)return[];const g=[...a],v=yD(g);return I0(v)},[a,s]);x.useEffect(()=>{const{default_selection_count:g}=t;if(!g)return;if(c.length===0){console.log("[filter.tree-select] Resetting to empty"),r([],!0);return}const v=c.slice(0,g).map(m=>m.value);console.log(`[filter.tree-select] Selecting first ${g} option(s)`),r(v,!0)},[t.default_selection_count,c]);const f=t.min_width?t.min_width:"200px",p=!!t.options_query_id?u:!1;return l(mD,{disabled:p,style:{minWidth:f,maxWidth:p?f:"unset",borderColor:"#e9ecef"},value:n,onChange:g=>r(g,!1),treeData:c,label:e})}),wD=te.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return l(P0,{...r,...i,config:t});case"multi-select":return l(A0,{...r,...i,config:t});case"tree-select":return l(bD,{...r,...i,config:t});case"text-input":return l(N0,{...r,...i,config:t});case"date-range":return l(hd,{...r,...i,config:t});case"checkbox":return l(O0,{...r,...i,config:t});default:return null}}),rg=te.observer(Z.default.forwardRef(({filter:e,...t},n)=>l("div",{className:"filter-root",ref:n,children:l(Or,{children:l(wD,{filter:e,formFieldProps:t})})}))),ig=te.observer(function({view:t}){const n=Le(),{control:r,handleSubmit:i,reset:o}=j.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),a=j.useWatch({control:r});x.useEffect(()=>{o(n.filters.values)},[n.filters.values,o]),x.useEffect(()=>{n.filters.updatePreviewValues(a)},[a]);const s=n.filters.visibleInView(t.id),u=x.useMemo(()=>s.every(p=>p.should_auto_submit),[s]),c=x.useMemo(()=>s.filter(p=>he.default.get(p,"config.required",!1)),[s]),f=x.useMemo(()=>c.length===0?!1:c.some(p=>!p.requiredAndPass(a[p.key])),[a,c]);if(s.length===0)return null;const h=(p,g)=>(v,m)=>{g(v),(p.should_auto_submit||m)&&n.filters.setValueByKey(p.key,v)};return l("form",{onSubmit:i(n.filters.setValues),children:b(d.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:u?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[l(d.Group,{align:"flex-start",children:s.map(p=>l(j.Controller,{name:p.key,control:r,render:({field:g})=>l(rg,{filter:p,value:g.value,onChange:h(p,g.onChange)})},p.id))}),!u&&l(d.Group,{sx:{alignSelf:"flex-end"},children:l(d.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),i6="",og=Jt.Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:e=>e.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:e}){return["span",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:e,commands:t})=>{const n=Jt.getMarkAttributes(e,this.type);return Object.entries(n).some(([,i])=>!!i)?!0:t.unsetMark(this.name)}}}}),ag=Jt.Extension.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:e=>{var t;return(t=e.style.color)===null||t===void 0?void 0:t.replace(/['"]+/g,"")},renderHTML:e=>e.color?{style:`color: ${e.color}`}:{}}}}]},addCommands(){return{setColor:e=>({chain:t})=>t().setMark("textStyle",{color:e}).run(),unsetColor:()=>({chain:e})=>e().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),xD=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/,SD=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g,sg=Jt.Mark.create({name:"highlight",addOptions(){return{multicolor:!1,HTMLAttributes:{}}},addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:e=>e.getAttribute("data-color")||e.style.backgroundColor,renderHTML:e=>e.color?{"data-color":e.color,style:`background-color: ${e.color}; color: inherit`}:{}}}:{}},parseHTML(){return[{tag:"mark"}]},renderHTML({HTMLAttributes:e}){return["mark",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setHighlight:e=>({commands:t})=>t.setMark(this.name,e),toggleHighlight:e=>({commands:t})=>t.toggleMark(this.name,e),unsetHighlight:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[Jt.markInputRule({find:xD,type:this.type})]},addPasteRules(){return[Jt.markPasteRule({find:SD,type:this.type})]}}),lg=Jt.Extension.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something \u2026",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new d0.Plugin({props:{decorations:({doc:e,selection:t})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=t,i=[];if(!n)return null;const o=e.type.createAndFill(),a=(o==null?void 0:o.sameMarkup(e))&&o.content.findDiffStart(e.content)===null;return e.descendants((s,u)=>{const c=r>=u&&r<=u+s.nodeSize,f=!s.isLeaf&&!s.childCount;if((c||!this.options.showOnlyCurrent)&&f){const h=[this.options.emptyNodeClass];a&&h.push(this.options.emptyEditorClass);const p=rd.Decoration.node(u,u+s.nodeSize,{class:h.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:u,hasAnchor:c}):this.options.placeholder});i.push(p)}return this.options.includeChildren}),rd.DecorationSet.create(e,i)}}})]}}),ug=Jt.Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(e){return e!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sub",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setSubscript:()=>({commands:e})=>e.setMark(this.name),toggleSubscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSubscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),cg=Jt.Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(e){return e!=="super"?!1:null}}]},renderHTML({HTMLAttributes:e}){return["sup",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setSuperscript:()=>({commands:e})=>e.setMark(this.name),toggleSuperscript:()=>({commands:e})=>e.toggleMark(this.name),unsetSuperscript:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),dg=Jt.Extension.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:e=>e.style.textAlign||this.options.defaultAlignment,renderHTML:e=>e.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${e.textAlign}`}}}}]},addCommands(){return{setTextAlign:e=>({commands:t})=>this.options.alignments.includes(e)?this.options.types.every(n=>t.updateAttributes(n,{textAlign:e})):!1,unsetTextAlign:()=>({commands:e})=>this.options.types.every(t=>e.resetAttributes(t,"textAlign"))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),fg=Jt.Mark.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:e=>e.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:e}){return["u",Jt.mergeAttributes(this.options.HTMLAttributes,e),0]},addCommands(){return{setUnderline:()=>({commands:e})=>e.setMark(this.name),toggleUnderline:()=>({commands:e})=>e.toggleMark(this.name),unsetUnderline:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),Kl={fontSize:"14px",lineHeight:"32px",color:"#3D3E45",ul:{paddingLeft:"2em",margin:"6px 0 0"},p:{margin:0},a:{WebkitTapHighlightColor:"transparent",color:"rgb(34, 139, 230)",textDecoration:"none","&:hover":{textDecoration:"underline"},"&:active, &:hover":{outlineWidth:0}},table:{tr:{"th, td":{padding:"0 .5em"}}},details:{summary:{listStyle:"none",cursor:"pointer",transition:"color 300ms ease",userSelect:"none"},"summary::-webkit-details-marker":{display:"none"},"summary:hover":{color:"black","&::before":{opacity:1}},"summary::before":{content:'"\u25BA"',fontSize:"10px",margin:"0px 5px",opacity:.5,display:"inline-block",transition:"opacity 300ms ease, transform 300ms ease"}},"details[open] summary::before":{transform:"rotate(90deg)"},"details + details":{marginTop:"10px"}},pg=({value:e,styles:t={}})=>{const n=id.useEditor({extensions:[ad.default,fg,nt.Link,cg,ug,sg,dg.configure({types:["heading","paragraph"]}),lg.configure({placeholder:"This is placeholder"}),og,ag],content:e,editable:!1}),r=x.useMemo(()=>he.default.defaultsDeep({},{content:Kl},t),[t]);return l(nt.RichTextEditor,{editor:n,styles:r,children:l(nt.RichTextEditor.Content,{})})};function CD(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const hg=te.observer(()=>{const{freezeLayout:e}=Z.default.useContext(Dr),[t,n]=Z.default.useState(!1),{panel:r}=Yt();return Z.default.useEffect(()=>{e(t)},[t]),CD(r.description)?null:b(Oe,{children:[l(d.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:l(pg,{value:r.description,styles:{root:{border:"none"},content:{padding:0}}})}),l(d.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:l(d.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:l(le.InfoCircle,{size:20})})})]})}),_D=te.observer(({view:e})=>{const t=Le(),n=lr.useModals(),{panel:r}=Yt(),{id:i,query:o}=r,{inEditMode:a}=Z.default.useContext(Dr),s=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:u,inFullScreen:c}=Z.default.useContext(Rs),f=()=>{e.panels.duplicateByID(i)},h=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",i])},p=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(i),zIndex:320}),g=Z.default.useCallback(()=>{u(i)},[i,u]),v=!c&&e.type!==rt.Modal;return l(Oe,{children:l(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:b(d.Menu,{withinPortal:!0,children:[l(d.Menu.Target,{children:l(d.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),b(d.Menu.Dropdown,{children:[l(d.Menu.Item,{onClick:s,icon:l(le.Refresh,{size:14}),children:"Refresh"}),l(d.Menu.Item,{onClick:()=>{var m;return t.queries.downloadDataByQueryID((m=o==null?void 0:o.id)!=null?m:"")},icon:l(le.Download,{size:14}),children:"Download Data"}),v&&l(d.Menu.Item,{onClick:g,icon:l(le.ArrowsMaximize,{size:14}),disabled:a,children:"Full Screen"}),a&&b(Oe,{children:[l(d.Divider,{label:"Edit",labelPosition:"center"}),l(d.Menu.Item,{onClick:h,icon:l(le.Settings,{size:14}),children:"Settings"}),l(d.Menu.Item,{onClick:f,icon:l(le.Copy,{size:14}),children:"Duplicate"}),l(d.Menu.Item,{color:"red",onClick:p,icon:l(le.Trash,{size:14}),children:"Delete"})]})]})]})})})}),o6="",ED=te.observer(function(){const{panel:t}=Yt(),{title:n}=t;return n?l(d.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:l(d.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null}),gi=(e,t)=>{const[n,r]=x.useState([]);return x.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(o=>o.schemaRef===t))),[]),n};class vi{constructor(t,n){this.root=t,this.path=n}async deleteItem(t){t===null&&await this.root.deleteItem(this.path);const n=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,H.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:H.get(n,t)}async setItem(t,n){if(t===null)await this.root.setItem(this.path,n);else{const r=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,{...r,[t]:n})}return await this.getItem(t)}watchItem(t,n,r){return t===null?this.root.watchItem(this.path,(i,o)=>{n(i,o)},r):this.root.watchItem(this.path,(i,o)=>{const a=H.get(i,t),s=H.get(o,t);a!==s&&n(a,s)},r)}}class Hl{constructor(t,n,r){Re(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new vi(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new vi(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new vi(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(H.values(t).map(n=>this.constructInstance(new vi(this.attachmentStorage,n.id))))}}class gg{constructor(t){Re(this,"rootRef");this.rootRef=Ft.observable({current:t})}async deleteItem(t){Ft.runInAction(()=>{H.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?Ft.toJS(this.rootRef.current):H.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(H.isObject(n))Ft.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else Ft.runInAction(()=>{H.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return Ft.reaction(()=>this.getValueFromRoot(t),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:H.get(r,"fireImmediately",!1)})}}class TD{constructor(){Re(this,"channels",new Map);Re(this,"globalChannel",new sd.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new sd.default;return this.channels.set(t,r),r}}class MD{constructor(t){Re(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const n=this.instances.get(t.id);if(n)return n;const r={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new TD,instanceData:new gg(t.viz.conf)};return this.instances.set(t.id,r),r}}function vg(e,t,n,r){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new gg({}),colorPalette:{getColor(){return()=>""}},data:t,variables:r}}const kD=e=>{const{panel:t,vizManager:n,data:r,variables:i}=e,o=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),s={...vg(a,r,n,i),viewport:{width:t.layout.w,height:t.layout.h}},u=o.viewRender;return l(u,{context:s,instance:a,...H.omit(e,["panel","vizManager","data"])})},OD=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i,variables:o}=e,a=t.resolveComponent(n.viz.type),s=t.getOrCreateInstance(n),u={...vg(s,i,t,o),panelInfoEditor:r},c=a.configRender;return l(c,{context:u,instance:s,...H.omit(e,["panel","vizManager","data","panelInfoEditor"])})},mg=(e,t)=>{const n=$i.default.bezier(e),r=$i.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},Ca=e=>{const t=$i.default.bezier(e);return function(n){return t(n/100).hex()}},DD={type:"interpolation",displayName:"Red / Green",getColor:mg(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},RD={type:"interpolation",displayName:"Yellow / Blue",getColor:mg(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},AD={type:"interpolation",displayName:"Red",getColor:Ca(["#fff7f1","darkred"]),name:"red",category:"sequential"},PD={type:"interpolation",displayName:"Green",getColor:Ca(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},ND={type:"interpolation",displayName:"Blue",getColor:Ca(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ID={type:"interpolation",displayName:"Orange",getColor:Ca(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},yg="@devtable/dashboard",Wl="8.6.4",bg="Apache-2.0",wg={access:"public",registry:"https://registry.npmjs.org/"},xg=["dist"],Sg="./dist/dashboard.umd.js",Cg="./dist/dashboard.es.js",_g="./dist/index.d.ts",Eg={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Tg={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Mg={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},kg={"@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/form":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@testing-library/cypress":"^8.0.3","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@testing-library/react-hooks":"^8.0.1","@testing-library/user-event":"^14.3.0","@tiptap/extension-code-block-lowlight":"^2.0.0-beta.209","@tiptap/extension-color":"^2.0.0-beta.209","@tiptap/extension-highlight":"^2.0.0-beta.209","@tiptap/extension-link":"^2.0.0-beta.209","@tiptap/extension-placeholder":"^2.0.0-beta.209","@tiptap/extension-subscript":"^2.0.0-beta.209","@tiptap/extension-superscript":"^2.0.0-beta.209","@tiptap/extension-text-align":"^2.0.0-beta.209","@tiptap/extension-text-style":"^2.0.0-beta.209","@tiptap/extension-underline":"^2.0.0-beta.209","@tiptap/react":"^2.0.0-beta.209","@tiptap/starter-kit":"^2.0.0-beta.209","@types/crypto-js":"v4.1.1","@types/d3-array":"3.0.3","@types/eventemitter2":"^4.1.0","@types/file-saver":"2.0.5","@types/lodash":"^4.14.182","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-grid-layout":"^1.3.2",ahooks:"^3.3.11",ajv:"8.11.0",axios:"^0.27.2","crypto-js":"^4.1.1",cypress:"^10.6.0","cypress-wait-until":"^1.7.2",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9","echarts-stat":"1.2.0",jsdom:"^20.0.0","jsdom-testing-mocks":"^1.5.0",lodash:"^4.17.21",lowlight:"^2.8.0",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","rollup-plugin-visualizer":"5.6.0","tabler-icons-react":"^1.48.0",typescript:"^4.6.3"},Og={"@emotion/react":"11.10.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/form":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@tanstack/react-table":"^8.5.13","@tiptap/extension-code-block-lowlight":"^2.0.0-beta.209","@tiptap/extension-color":"^2.0.0-beta.209","@tiptap/extension-highlight":"^2.0.0-beta.209","@tiptap/extension-link":"^2.0.0-beta.209","@tiptap/extension-placeholder":"^2.0.0-beta.209","@tiptap/extension-subscript":"^2.0.0-beta.209","@tiptap/extension-superscript":"^2.0.0-beta.209","@tiptap/extension-text-align":"^2.0.0-beta.209","@tiptap/extension-text-style":"^2.0.0-beta.209","@tiptap/extension-underline":"^2.0.0-beta.209","@tiptap/react":"^2.0.0-beta.209","@tiptap/starter-kit":"^2.0.0-beta.209",ahooks:"^3.3.11",axios:"^0.27.2","chroma-js":"^2.4.2","d3-array":"3.2.0","d3-regression":"1.2.8",dayjs:"1.11.6",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9","echarts-stat":"1.2.0",eventemitter2:"^6.4.6",jszip:"3.10.1",lodash:"^4.17.21",lowlight:"^2.8.0",mobx:"^6.6.1","mobx-react-lite":"^3.4.0","mobx-state-tree":"^5.1.5",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2",react:"^16.8.0 || 17.x || 18.x","react-dom":"^16.8.0 || 17.x || 18.x","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","react-virtual":"^2.10.4","tabler-icons-react":"^1.48.0"},$D=Object.freeze(Object.defineProperty({__proto__:null,name:yg,version:Wl,license:bg,publishConfig:wg,files:xg,main:Sg,module:Cg,types:_g,exports:Eg,scripts:Tg,dependencies:Mg,devDependencies:kg,peerDependencies:Og,default:{name:yg,version:Wl,license:bg,publishConfig:wg,files:xg,main:Sg,module:Cg,types:_g,exports:Eg,scripts:Tg,dependencies:Mg,devDependencies:kg,peerDependencies:Og}},Symbol.toStringTag,{value:"Module"}));class LD{constructor(t){Re(this,"staticColors",new Map);Re(this,"interpolations",new Map);t.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const n=this.encodeColor(t);t.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(n,t)):t.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(n,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class VD{constructor(){Re(this,"plugins",new Map);Re(this,"vizComponents",new Map);Re(this,"factory",{viz:t=>{const n=this.vizComponents.get(t);if(n)return n;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const n of t.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class zD{constructor(){Re(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n,r){var a;if(t.from===t.to)return n;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const i=this.migrations.filter(s=>s.version>t.from&&s.version<=t.to),o=H.orderBy(i,"version","asc");if(((a=H.last(o))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((s,u)=>u.handler(s,r),n)}}class tn extends zD{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,(r,i)=>({version:t,...n(r,i)}))}async migrate({configData:t,panelModel:n}){const r=await t.getItem(null),i=H.get(r,"version",0),o=this.run({from:i,to:this.VERSION},r,{panelModel:n});await t.setItem(null,o)}async needMigration({configData:t}){const n=await t.getItem(null);return H.get(n,"version",0)<this.VERSION}}const Je=(e,t)=>{const[n,{setFalse:r}]=tt.useBoolean(!0),[i,o]=x.useState();x.useEffect(()=>(e.getItem(t).then(s=>{o(s),r()}),e.watchItem(t,s=>{o(s)})));const a=x.useCallback(async s=>{await e.setItem(t,s),o(s)},[e,t]);return{loading:n,value:i,set:a}},ql={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};Rt.use([ut.GridComponent,ut.VisualMapComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function FD({context:e}){const{value:t}=Je(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis_data_key:o,y_axis_data_key:a,z_axis_data_key:s,xAxis3D:u,yAxis3D:c,zAxis3D:f}=H.defaults({},t,ql),h=x.useMemo(()=>{const v=H.minBy(n,m=>m[s]);return H.get(v,s)},[n,s]),p=x.useMemo(()=>{const v=H.maxBy(n,m=>m[s]);return H.get(v,s)},[n,s]),g={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:h,max:p,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:c,zAxis3D:f,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:n.map(v=>[v[o],v[a],v[s]])}]};return t?l(Hn.default,{echarts:Rt,option:g,style:{width:r,height:i}}):null}function BD({label:e,required:t,value:n,onChange:r,data:i,clearable:o=!1,sx:a,...s},u){const c=Z.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const h=Object.keys(i[0]).map(p=>({label:p,value:p}));return o?h.concat([{label:"unset",value:""}]):h},[i]);return l(d.Select,{ref:u,label:e,data:c,value:n,onChange:r,required:t,sx:a,...s})}const mt=Z.default.forwardRef(BD);function jD({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=H.defaults({},t,ql),{control:o,handleSubmit:a,reset:s}=j.useForm({defaultValues:i});return x.useEffect(()=>{s(i)},[t]),t?l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:a(n),children:[l(d.Text,{children:"X Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"x_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"xAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Text,{mt:"lg",children:"Y Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"y_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"yAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Text,{mt:"lg",children:"Z Axis"}),b(d.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(j.Controller,{name:"z_axis_data_key",control:o,render:({field:u})=>l(mt,{label:"Data Field",required:!0,data:r,...u})}),l(j.Controller,{name:"zAxis3D.name",control:o,render:({field:u})=>l(d.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(d.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:b(d.Button,{color:"blue",type:"submit",children:[l(le.DeviceFloppy,{size:20}),l(d.Text,{ml:"md",children:"Save"})]})})]})}):null}class GD extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const KD={displayName:"Bar Chart (3D)",migrator:new GD,name:"bar-3d",viewRender:FD,configRender:jD,createConfig(){return{version:1,config:H.cloneDeep(ql)}}},Ln={mantissa:0,output:"number",trimMantissa:!1,average:!1};function HD({value:e,onChange:t},n){const r=s=>{t({...e,output:s})},i=s=>{const u=s===0?!1:e.trimMantissa;t({...e,mantissa:s,trimMantissa:u})},o=s=>{t({...e,trimMantissa:s.currentTarget.checked})},a=s=>{t({...e,average:s.currentTarget.checked})};return b(d.Stack,{ref:n,children:[b(d.Group,{grow:!0,children:[l(d.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),l(d.Switch,{label:b(d.Stack,{spacing:0,children:[l(d.Text,{children:"Average"}),l(d.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:a,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),b(d.Group,{grow:!0,children:[l(d.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),l(d.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),b(d.Stack,{spacing:0,children:[l(d.Text,{weight:"bold",children:"Preview"}),l(Or,{children:b(d.Group,{position:"apart",children:[b(d.Text,{size:12,color:"gray",children:["123456789 ",l(le.ArrowRight,{size:9})," ",Bt.default(123456789).format(e)]}),b(d.Text,{size:12,color:"gray",children:["1234 ",l(le.ArrowRight,{size:9})," ",Bt.default(1234).format(e)]}),b(d.Text,{size:12,color:"gray",children:["0.1234 ",l(le.ArrowRight,{size:9})," ",Bt.default(.1234).format(e)]})]})})]})]})}const $r=Z.default.forwardRef(HD),Lr={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
76
76
|
`)},br={x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}},Dg={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:qD,configRender:WD,payload:[{name:"type",description:"Always 'click'",valueType:"string"},{name:"seriesType",description:"'boxplot'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"Record of 'name', 'min', 'q1', 'median', 'q3', 'max'",valueType:"object"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function WD(e){return l(Oe,{})}function qD(e){return l(d.Text,{children:"Click chart's series"})}const Ul={x_axis:{name:"X Axis",data_key:"",axisLabel:{rotate:0,formatter:{...Lr},overflow:br}},y_axis:{name:"Y Axis",data_key:"value",label_formatter:Ln},color:"#228be6",reference_lines:[]},io=x.forwardRef(function({value:t,onChange:n,...r},i){return l(d.TextInput,{ref:i,value:t,onChange:n,...r})}),UD=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"},{label:"Quantile(99%, 95%, ...)",value:"quantile"}];function YD({label:e,value:t,onChange:n,pt:r="sm"},i){x.useEffect(()=>{typeof t=="string"&&(console.log(t),n({type:t,config:{}}))},[t,n]);const o=s=>{n(s==="quantile"?{type:"quantile",config:{p:.99}}:{type:s,config:{}})},a=s=>{n({type:"quantile",config:{p:s}})};return b(d.Group,{grow:!0,noWrap:!0,pt:r,children:[l(d.Select,{ref:i,label:e,data:UD,value:t.type,onChange:o}),t.type==="quantile"&&l(d.NumberInput,{label:"p",value:t.config.p,onChange:a,precision:2,min:.05,step:.05,max:1})]})}const Yl=Z.default.forwardRef(YD);function XD({label:e,value:t,onChange:n},r){const[i,o]=Z.default.useState(Array.isArray(t)?[...t]:[]),a=Z.default.useCallback(()=>{o(p=>[...p,""])},[o]),s=Z.default.useCallback(p=>{o(g=>(g.splice(p,1),[...g]))},[o]),u=Z.default.useMemo(()=>!he.default.isEqual(i,t),[i,t]),c=()=>{n(i.map(p=>p.toString()))},f=d.useMantineTheme(),h=Z.default.useMemo(()=>Object.entries(f.colors).map(([p,g])=>g[6]),[f]);return b(Oe,{children:[b(d.Group,{position:"left",ref:r,children:[l(d.Text,{children:e}),l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!u,onClick:c,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Group,{children:[i.map((p,g)=>l(d.ColorInput,{value:p,onChange:v=>{o(m=>(m.splice(g,1,v),[...m]))},swatches:h,rightSection:l(d.ActionIcon,{onClick:()=>s(g),color:"red",children:l(le.Trash,{size:14})}),sx:{width:"45%"}})),l(d.ActionIcon,{onClick:a,color:"blue",variant:"outline",children:l(le.PlaylistAdd,{size:20})})]})]})}const QD=Z.default.forwardRef(XD);function ZD({value:e,onChange:t},n){const{colorManager:r}=x.useContext(zn),i=Z.default.useMemo(()=>r.getStaticColors().map(s=>({label:s.name,group:s.category,value:s.value})),[r]),o=Z.default.useMemo(()=>i.some(a=>a.value===e),[e,i]);return b(d.Group,{position:"apart",spacing:4,ref:n,children:[l(d.TextInput,{placeholder:"Set any color",value:o?"":e,onChange:a=>t(a.currentTarget.value),rightSection:l(d.ColorSwatch,{color:o?"transparent":e,radius:4}),variant:o?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),l(d.Text,{sx:{flexGrow:0},children:"or"}),l(d.Select,{data:i,value:e,onChange:t,variant:o?"default":"filled",placeholder:"Pick a theme color",icon:l(d.ColorSwatch,{color:o?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const kn=Z.default.forwardRef(ZD),_a=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function JD({label:e,value:t,onChange:n},r){var a,s;const[i,o]=Z.default.useState((s=(a=_a.find(u=>u.label===t))==null?void 0:a.value)!=null?s:_a[0].value);return Z.default.useEffect(()=>{const u=_a.find(c=>c.value===i);u&&n(u.label)},[i]),b(d.Stack,{spacing:0,mt:"sm",mb:"lg",children:[l(d.Text,{size:"sm",children:e}),l(d.Slider,{label:null,marks:_a,value:i,onChange:o,step:25,placeholder:"Pick a font size",px:"1em",ref:r})]})}const Rg=Z.default.forwardRef(JD);function e2({label:e,value:t,onChange:n,type:r},i){const[o,a]=Z.default.useState(Array.isArray(t)?[...t]:[]),s=Z.default.useCallback(()=>{a(h=>[...h,""])},[a]),u=Z.default.useCallback(h=>{a(p=>(p.splice(h,1),[...p]))},[a]),c=Z.default.useMemo(()=>!he.default.isEqual(o.map(String),t.map(String)),[o,t]),f=()=>{n(o.map(h=>r==="number"?Number(h):h.toString()))};return b(Oe,{children:[b(d.Group,{position:"left",ref:i,children:[l(d.Text,{children:e}),l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:f,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Group,{children:[o.map((h,p)=>l(d.TextInput,{type:r,value:h,onChange:g=>{const v=g.currentTarget.value;a(m=>(m.splice(p,1,v),[...m]))},rightSection:l(d.ActionIcon,{onClick:()=>u(p),color:"red",children:l(le.Trash,{size:14})}),sx:{width:"45%"}})),l(d.ActionIcon,{onClick:s,color:"blue",variant:"outline",children:l(le.PlaylistAdd,{size:20})})]})]})}const t2=Z.default.forwardRef(e2),Ag=Z.default.forwardRef(function({value:t,onChange:n},r){const i=t.color.type,o=(a,s)=>{const u=he.default.cloneDeep(t);he.default.set(u,a,s),n(u)};return b(Oe,{children:[l(d.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),l(d.Stack,{children:l(d.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:t.size,onChange:a=>o("size",a.currentTarget.value)})}),l(d.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:l(Rg,{label:"Font Weight",value:t.weight,onChange:a=>o("weight",a)})}),l(d.Divider,{my:"xs",label:"Style",labelPosition:"center"}),b(d.Stack,{children:[l(d.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:a=>o("color.type",a)}),i==="static"&&l(kn,{value:t.color.staticColor,onChange:a=>o("color.staticColor",a)}),i==="continuous"&&b(Oe,{children:[l(t2,{label:"Value Range",value:t.color.valueRange,type:"number",onChange:a=>o("color.valueRange",a)}),l(QD,{label:"Color Range",value:t.color.colorRange,onChange:a=>o("color.colorRange",a)})]})]})]})});Z.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},o){const a=(s,u)=>{const c=he.default.cloneDeep(t);he.default.set(c,s,u),n(c)};return b(d.Box,{px:"sm",py:"md",ref:o,children:[l(d.Text,{weight:"bold",pb:0,children:t.name}),l(d.Divider,{my:"xs",label:"Data",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(d.TextInput,{label:"Name",required:!0,value:t.name,onChange:s=>a("name",s.currentTarget.value)}),l(mt,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:s=>a("data_field",s)})]}),l(Yl,{label:"Aggregation",value:t.aggregation,onChange:s=>a("aggregation",s)}),l(d.Divider,{my:"xs",label:"Format",labelPosition:"center"}),l($r,{value:t.formatter,onChange:s=>a("formatter",s)}),i&&l(Ag,{value:t,onChange:n})]})});const Xl={type:"none",config:{}};function n2(e){const t=Array.from(e).sort((r,i)=>r-i),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]}function r2(e,t){const n=e[t],r=Number(n);return isFinite(r)?r:0}function Ea(e,t,n){var r,i,o;try{const a=e.map(s=>r2(s,t));switch(n.type){case"sum":return he.default.sum(a);case"mean":return he.default.mean(a);case"median":return n2(a);case"max":return(r=he.default.max(a))!=null?r:0;case"min":return(i=he.default.min(a))!=null?i:0;case"quantile":return(o=$o.quantile(a,n.config.p))!=null?o:0;default:return a}}catch(a){return console.error(a),null}}var Pg=function(){},oo=function(){};process.env.NODE_ENV!=="production"&&(Pg=function(e,t){!e&&typeof console<"u"&&console.warn(t)},oo=function(e,t){if(!e)throw new Error(t)});const i2=(e,t,n)=>Math.min(Math.max(n,e),t),Ng=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},Ql=(e,t,n)=>-n*e+n*t+e,Ig=(e,t)=>n=>Math.max(Math.min(n,t),e),ao=e=>e%1?Number(e.toFixed(5)):e,Ta=/(-)?([\d]*\.?[\d])+/g,Zl=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,o2=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function so(e){return typeof e=="string"}const Ma={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},$g=Object.assign(Object.assign({},Ma),{transform:Ig(0,1)});Object.assign(Object.assign({},Ma),{default:1});const lo=(e=>({test:t=>so(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}))("%");Object.assign(Object.assign({},lo),{parse:e=>lo.parse(e)/100,transform:e=>lo.transform(e*100)});const Jl=(e,t)=>n=>Boolean(so(n)&&o2.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),Lg=(e,t,n)=>r=>{if(!so(r))return r;const[i,o,a,s]=r.match(Ta);return{[e]:parseFloat(i),[t]:parseFloat(o),[n]:parseFloat(a),alpha:s!==void 0?parseFloat(s):1}},Vr={test:Jl("hsl","hue"),parse:Lg("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+lo.transform(ao(t))+", "+lo.transform(ao(n))+", "+ao($g.transform(r))+")"},a2=Ig(0,255),eu=Object.assign(Object.assign({},Ma),{transform:e=>Math.round(a2(e))}),wr={test:Jl("rgb","red"),parse:Lg("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+eu.transform(e)+", "+eu.transform(t)+", "+eu.transform(n)+", "+ao($g.transform(r))+")"};function s2(e){let t="",n="",r="",i="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const tu={test:Jl("#"),parse:s2,transform:wr.transform},ka={test:e=>wr.test(e)||tu.test(e)||Vr.test(e),parse:e=>wr.test(e)?wr.parse(e):Vr.test(e)?Vr.parse(e):tu.parse(e),transform:e=>so(e)?e:e.hasOwnProperty("red")?wr.transform(e):Vr.transform(e)},Vg="${c}",zg="${n}";function l2(e){var t,n,r,i;return isNaN(e)&&so(e)&&((n=(t=e.match(Ta))===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)+((i=(r=e.match(Zl))===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0)>0}function Fg(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0;const r=e.match(Zl);r&&(n=r.length,e=e.replace(Zl,Vg),t.push(...r.map(ka.parse)));const i=e.match(Ta);return i&&(e=e.replace(Ta,zg),t.push(...i.map(Ma.parse))),{values:t,numColors:n,tokenised:e}}function Bg(e){return Fg(e).values}function jg(e){const{values:t,numColors:n,tokenised:r}=Fg(e),i=t.length;return o=>{let a=r;for(let s=0;s<i;s++)a=a.replace(s<n?Vg:zg,s<n?ka.transform(o[s]):ao(o[s]));return a}}const u2=e=>typeof e=="number"?0:e;function c2(e){const t=Bg(e);return jg(e)(t.map(u2))}const Gg={test:l2,parse:Bg,createTransformer:jg,getAnimatableNone:c2};function nu(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Kg({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,o=0,a=0;if(!t)i=o=a=n;else{const s=n<.5?n*(1+t):n+t-n*t,u=2*n-s;i=nu(u,s,e+1/3),o=nu(u,s,e),a=nu(u,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(o*255),blue:Math.round(a*255),alpha:r}}const d2=(e,t,n)=>{const r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},f2=[tu,wr,Vr],Hg=e=>f2.find(t=>t.test(e)),Wg=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,qg=(e,t)=>{let n=Hg(e),r=Hg(t);oo(!!n,Wg(e)),oo(!!r,Wg(t));let i=n.parse(e),o=r.parse(t);n===Vr&&(i=Kg(i),n=wr),r===Vr&&(o=Kg(o),r=wr);const a=Object.assign({},i);return s=>{for(const u in a)u!=="alpha"&&(a[u]=d2(i[u],o[u],s));return a.alpha=Ql(i.alpha,o.alpha,s),n.transform(a)}},p2=e=>typeof e=="number",h2=(e,t)=>n=>t(e(n)),Ug=(...e)=>e.reduce(h2);function Yg(e,t){return p2(e)?n=>Ql(e,t,n):ka.test(e)?qg(e,t):Zg(e,t)}const Xg=(e,t)=>{const n=[...e],r=n.length,i=e.map((o,a)=>Yg(o,t[a]));return o=>{for(let a=0;a<r;a++)n[a]=i[a](o);return n}},g2=(e,t)=>{const n=Object.assign(Object.assign({},e),t),r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Yg(e[i],t[i]));return i=>{for(const o in r)n[o]=r[o](i);return n}};function Qg(e){const t=Gg.parse(e),n=t.length;let r=0,i=0,o=0;for(let a=0;a<n;a++)r||typeof t[a]=="number"?r++:t[a].hue!==void 0?o++:i++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:o}}const Zg=(e,t)=>{const n=Gg.createTransformer(t),r=Qg(e),i=Qg(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?Ug(Xg(r.parsed,i.parsed),n):(Pg(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),a=>`${a>0?t:e}`)},v2=(e,t)=>n=>Ql(e,t,n);function m2(e){if(typeof e=="number")return v2;if(typeof e=="string")return ka.test(e)?qg:Zg;if(Array.isArray(e))return Xg;if(typeof e=="object")return g2}function y2(e,t,n){const r=[],i=n||m2(e[0]),o=e.length-1;for(let a=0;a<o;a++){let s=i(e[a],e[a+1]);if(t){const u=Array.isArray(t)?t[a]:t;s=Ug(u,s)}r.push(s)}return r}function b2([e,t],[n]){return r=>n(Ng(e,t,r))}function w2(e,t){const n=e.length,r=n-1;return i=>{let o=0,a=!1;if(i<=e[0]?a=!0:i>=e[r]&&(o=r-1,a=!0),!a){let u=1;for(;u<n&&!(e[u]>i||u===r);u++);o=u-1}const s=Ng(e[o],e[o+1],i);return t[o](s)}}function Oa(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const o=e.length;oo(o===t.length,"Both input and output ranges must be the same length"),oo(!r||!Array.isArray(r)||r.length===o-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),e[0]>e[o-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const a=y2(t,r,i),s=o===2?b2(e,a):w2(e,a);return n?u=>s(i2(e[0],e[o-1],u)):s}class x2{constructor({valueRange:t,colorRange:n}){Re(this,"mapper");this.mapper=Oa(t,n)}getColor(t){return this.mapper(t)}}function S2(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function Da({data_field:e,aggregation:t},n){return Ea(n,e,t)}function mi({formatter:e},t){return["string","number"].includes(typeof t)?Bt.default(t).format(e):S2(t)}function C2(e,t){if(e.type==="static")return e.staticColor;if(e.type==="continuous")try{if(Array.isArray(t)||t===null)throw new Error(`[getColorByColorConf] Invalid type of aggregated value: ${t}`);return new x2(e).getColor(t)}catch(n){return console.error(n),"black"}return"black"}function Jg(e,t){const{color:n,data_field:r,aggregation:i,size:o,weight:a}=e,s=Ea(t,r,i),u=mi(e,s);return l(d.Text,{sx:{fontSize:o,display:"inline"},color:C2(n,s),weight:a,children:u})}function _2(e,t){const n={};return e.forEach(r=>{const i=r.name;n[i]=Jg(r,t)}),n}function E2(e){return e.split(" ").map((t,n)=>b(Z.default.Fragment,{children:[t,"\xA0"]},n))}function T2(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
|
|
77
77
|
`,"<br/>").split("<br/>");return n.map((i,o)=>{const a=[E2(i)];return o!==n.length-1&&a.push(l("br",{})),a}).flat().filter(i=>i!==void 0)}function ru(e){return T2(e)}function uo(e,t,n){const r=_2(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(o=>{var c;const a=i.exec(o);if(!a)return ru(o);const s=r[a[1]];if(!s)return ru(o);const u=(c=a[2])!=null?c:"";return b(Oe,{children:[s,ru(u)]})})}function M2(e,t){const n={};return e.forEach(r=>{const{name:i,data_field:o,aggregation:a}=r,s=Ea(t,o,a);n[i]=mi(r,s)}),n}function iu(e,t,n){const r=M2(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(o=>{var c;const a=i.exec(o);if(!a)return o;const s=r[a[1]];if(!s)return o;const u=(c=a[2])!=null?c:"";return`${s}${u}`}).join("")}function Ra({enabled:e,func_content:t}){return(n,r)=>{if(!e)return n;try{return new Function(`return ${t}`)()(n,r)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function Aa(e){return{width:e.width,overflow:e.overflow,ellipsis:e.ellipsis}}function co(e){const t={truncate:"initial",break:"break-all",breakAll:"break-word"}[e.overflow],n=e.overflow==="truncate"?"nowrap":"initial",r={truncate:"ellipsis",break:"clip",breakAll:"clip"}[e.overflow];return`
|
|
78
78
|
max-width: ${e.width}px;
|
|
@@ -107,7 +107,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
107
107
|
${i.join("")}
|
|
108
108
|
</tbody>
|
|
109
109
|
</table>
|
|
110
|
-
`};function R2({config:e}){return{trigger:"item",confine:!0,formatter:D2(e)}}function A2(e,t){return Object.entries(e).map(([r,i])=>{var m,w,y,C;const o=i.map(_=>_[t]).sort((_,S)=>_-S),a=(m=$o.quantile(o,.25))!=null?m:0,s=(w=$o.quantile(o,.5))!=null?w:0,u=(y=$o.quantile(o,.75))!=null?y:0,c=u-a,f=a-1.5*c,h=u+1.5*c,p=Math.max(o[0],f),g=Math.min((C=he.default.last(o))!=null?C:0,h),v=o.filter(_=>_<p||_>g).map(_=>[r,_]);return{name:r,min:p,q1:a,median:s,q3:u,max:g,outliers:v}})}function P2(e,t,n){const r=t.reduce((i,o)=>{const a=Da(o,n);return i[o.name]=mi(o,a),i},{});return e.map(i=>({name:"refs",type:"scatter",data:[],markLine:{data:[{name:i.name,yAxis:Number(r[i.variable_key])}],silent:!0,symbol:["none","none"],label:{formatter:function(){return iu(i.template,t,n)},position:"insideEndTop"}}}))}function N2({config:e,data:t,variables:n}){const{x_axis:r,y_axis:i,color:o,reference_lines:a}=e,s=he.default.groupBy(t,r.data_key),u=A2(s,i.data_key),c=u.map(h=>h.outliers).flat(),f=Aa(r.axisLabel.overflow.x_axis);return{dataset:[{source:u},{source:c}],legend:k2({config:e}),tooltip:R2({config:e}),xAxis:[{type:"category",name:r.name,axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...r.axisLabel,...f,formatter:Ra(r.axisLabel.formatter)}}],yAxis:[{name:i.name,axisLine:{show:!0},axisLabel:{formatter:function(h){return Bt.default(h).format(i.label_formatter)}}}],series:[{name:"Box",type:"boxplot",itemStyle:{color:o,borderColor:"#2F8CC0",borderWidth:2},emphasis:{disabled:!0},boxWidth:[10,40],datasetIndex:0,encode:{y:ou,x:"name",itemName:["name"],tooltip:ou}},{name:"Outlier",type:"scatter",symbolSize:5,itemStyle:{color:"#2F8CC0"},emphasis:{scale:2},datasetIndex:1},...P2(a,n,t)]}}Rt.use([ut.DataZoomComponent,pn.BoxplotChart,ut.MarkLineComponent,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function I2({context:e,instance:t}){const{value:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,{width:o,height:a}=e.viewport,s=H.defaults({},n,Ul),u=wi({vizManager:e.vizManager,instance:t}),c=gi(u.triggerManager,Dg.id),f=x.useMemo(()=>he.default.keyBy(i,s.x_axis.data_key),[i,s.x_axis.data_key]),h=x.useCallback(v=>{const m=he.default.get(f,v.name,{error:"rowData is not found"});c.forEach(w=>{u.runInteraction(w.id,{...v,rowData:m})})},[f,c,u]),p=x.useMemo(()=>({click:h}),[h]),g=x.useMemo(()=>N2({config:s,data:i,variables:r}),[s,i,r]);return!n||!o||!a?null:l(Hn.default,{echarts:Rt,option:g,style:{width:o,height:a},onEvents:p})}function $2({control:e,index:t,remove:n,variableOptions:r}){return b(d.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>l(d.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),l(j.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>l(d.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),l(d.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:l(le.Trash,{size:16})})]},t)}function L2({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=r.map((f,h)=>({...f,...a[h]})),u=()=>i({name:"",template:"",variable_key:""}),c=x.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return b(d.Stack,{children:[s.map((f,h)=>l($2,{control:e,index:h,remove:o,variableOptions:c})),l(d.Group,{position:"center",mt:"xs",children:l(d.Button,{onClick:u,children:"Add a Reference Line"})})]})}const V2=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},au=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=g=>{s({...a,enabled:g})},c=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};s(m),t(m)},f=()=>{o(),s(e)},h=g=>{s(v=>({...v,func_content:g}))},p=()=>{h(Lr.func_content)};return b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),l(d.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),l(V2,{value:a.func_content,onChange:h,disabled:!a.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:p,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:f,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:c,children:"OK"})]})]})]})})]})}),z2=[{label:"Truncate",value:"truncate"},{label:"Break Line",value:"break"},{label:"Break Word",value:"breakAll"}],Pa=x.forwardRef(({sectionTitle:e,value:t,onChange:n},r)=>{const i=o=>a=>{const s=he.default.cloneDeep(t);he.default.set(s,o,a),console.log({prev:t,next:s}),n(s)};return b(d.Stack,{spacing:0,children:[e&&l(d.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",labelProps:{color:"dimmed"}}),b(d.Group,{noWrap:!0,children:[l(d.NumberInput,{label:"Max Width",hideControls:!0,value:t.width,onChange:i("width")}),l(d.Select,{label:"Overflow",data:z2,value:t.overflow,onChange:i("overflow")}),l(d.TextInput,{label:"Ellipsis",value:t.ellipsis,disabled:!0})]})]})}),su=x.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,x_axis:o})},i=o=>{t({...e,tooltip:o})};return b(d.Stack,{ref:n,spacing:0,children:[l(Pa,{sectionTitle:"Overflow on XAxis",value:e.x_axis,onChange:r}),l(Pa,{sectionTitle:"Overflow in Tooltip",value:e.tooltip,onChange:i})]})}),F2=({control:e,data:t,watch:n})=>(n(["x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.name",control:e,render:({field:r})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis.data_key",control:e,render:({field:r})=>l(mt,{label:"X Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:r})=>l(au,{data:t,...r})})]}),l(j.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:r})=>l(su,{...r})})]})),B2=({control:e,data:t,watch:n})=>(n(["y_axis"]),b(Oe,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"y_axis.name",control:e,render:({field:r})=>l(d.TextInput,{label:"Y Axis Name",sx:{flex:1},...r})}),l(j.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>l(mt,{label:"Y Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:"y_axis.label_formatter",control:e,render:({field:r})=>l($r,{...r})})]})]}));function j2({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,{variables:i}=e,o=x.useMemo(()=>H.defaults({},t,Ul),[t]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]),u(["x_axis","y_axis","reference_lines","color"]);const h=c(),p=x.useMemo(()=>!H.isEqual(h,t),[h,t]);return l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:s(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),l(d.Tabs.Tab,{value:"Style",children:"Style"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(F2,{control:a,data:r,watch:u})}),l(d.Tabs.Panel,{value:"Y Axis",children:l(B2,{control:a,data:r,watch:u})}),l(d.Tabs.Panel,{value:"Style",children:b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:"color",control:a,render:({field:g})=>l(kn,{...g})})]})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(L2,{variables:i,control:a,watch:u})})]})]})})}function G2(e){return H.omit(e,"variables")}function K2(e){const{label_formatter:t=Ln,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function H2(e){const t={rotate:0,formatter:{...Lr}},{axisLabel:n=t,...r}=e.x_axis;return{...e,x_axis:{...r,axisLabel:n}}}function W2(e){const t={x_axis:{axisLabel:{overflow:br}}};return he.default.defaultsDeep(t,e)}class q2 extends tn{constructor(){super(...arguments);Re(this,"VERSION",5)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(s=>s.name===a.name)||r.addVariable(a)}),{...n,version:2,config:G2(i)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:K2(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:H2(r)}}),this.version(5,n=>{const{config:r}=n;return{...n,version:5,config:W2(r)}})}}const U2={displayName:"Boxplot",migrator:new q2,name:"boxplot",viewRender:I2,configRender:j2,createConfig(){return{version:5,config:H.cloneDeep(Ul)}},triggers:[Dg]},ev={id:"builtin:button:click-button",displayName:"Click Button",nameRender:X2,configRender:Y2,payload:[]};function Y2(e){return l(Oe,{})}function X2(e){return l(d.Text,{children:"Click this button"})}const lu={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},Q2={left:"flex-start",center:"center",right:"flex-end"},Z2={top:"flex-start",center:"center",bottom:"flex-end"},J2=te.observer(({context:e,instance:t})=>{const n=wi({vizManager:e.vizManager,instance:t}),r=gi(n.triggerManager,ev.id),i=Le(),{value:o}=Je(e.instanceData,"config"),a=x.useMemo(()=>H.defaultsDeep({},o,lu),[o]),{content:s,horizontal_align:u,vertical_align:c,...f}=a,{width:h,height:p}=e.viewport,g={filters:i.filters.values,context:i.context.current},v=()=>{r.forEach(m=>{n.runInteraction(m.id,{})})};return l(d.Center,{sx:{width:h,height:p,justifyContent:Q2[u],alignItems:Z2[c]},children:l(d.Button,{...f,onClick:v,children:H.template(s)(g)})})}),eR=({value:e,onChange:t,label:n})=>{const r=d.useMantineTheme(),i=x.useCallback(a=>()=>t(a),[t]),o=a=>e===a;return b(d.Stack,{spacing:2,children:[l(d.Text,{size:14,sx:{fontWeight:500},children:n}),l(d.Group,{position:"left",spacing:"xs",children:Object.keys(r.colors).map(a=>{const s=r.colors[a][6];return l(d.ColorSwatch,{color:s,onClick:i(a),radius:4,size:26,sx:{cursor:"pointer"},children:o(a)&&l(d.CheckIcon,{width:10,color:"white"})},a)})})]})},tR=d.MANTINE_SIZES.map(e=>({label:e.toUpperCase(),value:e})),nR=({label:e,value:t,onChange:n})=>l(d.Select,{data:tR,label:e,value:t,onChange:n}),rR=[{label:"Filled",value:"filled"},{label:"Outline",value:"outline"},{label:"Light",value:"light"},{label:"White",value:"white"},{label:"Default",value:"default"},{label:"Subtle",value:"subtle"},{label:"Gradient",value:"gradient",disabled:!0}],iR=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],oR=[{label:"Top",value:"top"},{label:"Center",value:"center"},{label:"Bottom",value:"bottom"}];function aR({context:e}){const{value:t,set:n}=Je(e.instanceData,"config");e.data;const r=x.useMemo(()=>H.defaultsDeep({},t,lu),[t]),i=r;x.useEffect(()=>{!H.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});x.useEffect(()=>{c(i)},[i]);const f=u(),h=x.useMemo(()=>!H.isEqual(f,r),[f,r]);return s(["content","variant","color","size","compact","horizontal_align","vertical_align"]),b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Stack,{children:[l(j.Controller,{control:o,name:"content",render:({field:p})=>l(d.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...p,required:!0})}),l(d.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"variant",render:({field:p})=>l(d.Select,{label:"Variant",data:rR,...p})}),l(j.Controller,{control:o,name:"color",render:({field:p})=>l(eR,{label:"Theme",...p})})]}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"size",render:({field:p})=>l(nR,{label:"Size",...p})}),l(j.Controller,{control:o,name:"compact",render:({field:p})=>l(d.Checkbox,{label:"Compact",checked:p.value,onChange:g=>p.onChange(g.currentTarget.checked),mt:26})})]}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"horizontal_align",render:({field:p})=>l(d.Select,{label:"Horizontal Alignment",data:iR,...p})}),l(j.Controller,{control:o,name:"vertical_align",render:({field:p})=>l(d.Select,{label:"Vertical Alignment",data:oR,...p})})]})]})]})}class sR extends tn{constructor(){super(...arguments);Re(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{horizontal_align:r="left",vertical_align:i="center",...o}=n.config;return{...n,version:2,config:{...o,horizontal_align:r,vertical_align:i}}})}}const lR={displayName:"Button",migrator:new sR,name:"button",viewRender:J2,configRender:aR,createConfig(){return{version:2,config:H.cloneDeep(lu)}},triggers:[ev]};function uu(e){const t=[];return e.x_axis_scroll&&t.push({type:"inside",xAxisIndex:[0],filterMode:"none",minSpan:1}),e.y_axis_scroll&&t.push({type:"inside",yAxisIndex:[0],filterMode:"none",minSpan:1}),e.x_axis_slider&&t.push({type:"slider",xAxisIndex:[0],filterMode:"none",bottom:"auto",top:0,height:15,moveHandleSize:0,showDataShadow:!1,minSpan:1}),t}function uR(e){const t=e.y_axes.some(i=>!!i.name);let n=10;t&&(n+=20),e.dataZoom.x_axis_slider&&(n+=20);let r=5;return e.x_axis_name&&(r+=15),e.series.some(i=>!i.hide_in_legend)&&(r+=20),{top:n,bottom:r}}function cR(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function dR(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function fR(e){const t={show:!0,bottom:0,left:"center",type:"scroll"};return t.data=e.filter(n=>!n.hide_in_legend).map(({name:n,type:r})=>({name:n,icon:dR(r),...cR(r)})),t}function pR({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:o,plot:a,name:s,y_axis_data_key:u})=>{const c=`x-axis-for-${s}`,f=`dataset-for-${s}--raw`,h=`dataset-for-${s}--transformed`;n.push({id:f,source:t.map((p,g)=>[g,Number(p[u])])}),n.push({transform:o,id:h,fromDatasetId:f}),r.push({...a,name:s,datasetId:h,xAxisId:c,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:c,datasetId:h,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function hR(e,t){return e.map(n=>({name:"",type:"line",hide_in_legend:!0,data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function gR(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",s=o?"insideEndTop":"end";return{name:i.name,type:"line",hide_in_legend:!i.show_in_legend,yAxisIndex:i.yAxisIndex,data:[],lineStyle:i.lineStyle,markLine:{data:[{name:i.name,[a]:Number(n[i.variable_key])}],silent:!0,symbol:["none","none"],lineStyle:i.lineStyle,label:{formatter:function(){return i.template?iu(i.template,t,r):""},position:s}}}})}function vR({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:s}=t;return s}const{func_content:o}=t,a=H.keyBy(n,r);return(s,u)=>{let c;u.name?c=a[u.name]:c=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:c,params:u,variables:i},{lodash:he.default,interpolate:Oa})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function mR(e,t,n,r){const i=t.map(o=>[o[n],o[r]]);return he.default.unionBy(i,e,0)}function yR({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_group:a,stack:s,color:u,display_name_on_line:c,symbolSize:f,hide_in_legend:h,...p},g,v,m,w,y){const C={label:{show:!!r,position:r,formatter:y[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:s,color:u,symbolSize:vR(f,m,e,w),hide_in_legend:h,...p};if(c&&(C.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!o||o===e)return v?C.data=mR(g,m,e,t):C.data=m.map(S=>S[t]),C;const _=H.groupBy(m,o);return Object.entries(_).map(([S,E])=>{const k=H.cloneDeep(C);if(k.name=S,k.color=void 0,!a)return k.data=E.map(L=>[L[e],L[t]]),k;const A=H.groupBy(E,e);return k.data=Object.entries(A).map(([L,F])=>{const P=Ea(F,t,a);return[L,P]}),k})}function bR(e,t,n,r,i,o,a){const s=t.map(c=>[c,0]);return e.series.map(c=>yR(e,c,s,n,r,a,i)).flat().concat(gR(e.reference_lines,o,a,r)).concat(hR(e.reference_areas,a))}function wR(e,t){const n=e.find(s=>s.axisDim==="x"&&s.axisId==="main-x-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="xAxis.category"?r:Ra(t.x_axis.axisLabel.formatter)(o,a)}function xR(e,t,n){const r=t.reduce((i,{yAxisIndex:o,name:a})=>(i[a]=o,i),{});return{formatter:function(i){const o=Array.isArray(i)?i:[i];if(o.length===0)return"";const a=o.map(({seriesName:c,value:f})=>{var g;if(Array.isArray(f)&&f.length===2&&(f=f[1]),!c)return f;const h=r[c],p=(g=n[h])!=null?g:n.default;return`
|
|
110
|
+
`};function R2({config:e}){return{trigger:"item",confine:!0,formatter:D2(e)}}function A2(e,t){return Object.entries(e).map(([r,i])=>{var m,w,y,C;const o=i.map(_=>_[t]).sort((_,S)=>_-S),a=(m=$o.quantile(o,.25))!=null?m:0,s=(w=$o.quantile(o,.5))!=null?w:0,u=(y=$o.quantile(o,.75))!=null?y:0,c=u-a,f=a-1.5*c,h=u+1.5*c,p=Math.max(o[0],f),g=Math.min((C=he.default.last(o))!=null?C:0,h),v=o.filter(_=>_<p||_>g).map(_=>[r,_]);return{name:r,min:p,q1:a,median:s,q3:u,max:g,outliers:v}})}function P2(e,t,n){const r=t.reduce((i,o)=>{const a=Da(o,n);return i[o.name]=mi(o,a),i},{});return e.map(i=>({name:"refs",type:"scatter",data:[],markLine:{data:[{name:i.name,yAxis:Number(r[i.variable_key])}],silent:!0,symbol:["none","none"],label:{formatter:function(){return iu(i.template,t,n)},position:"insideEndTop"}}}))}function N2({config:e,data:t,variables:n}){const{x_axis:r,y_axis:i,color:o,reference_lines:a}=e,s=he.default.groupBy(t,r.data_key),u=A2(s,i.data_key),c=u.map(h=>h.outliers).flat(),f=Aa(r.axisLabel.overflow.x_axis);return{dataset:[{source:u},{source:c}],legend:k2({config:e}),tooltip:R2({config:e}),xAxis:[{type:"category",name:r.name,axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...r.axisLabel,...f,formatter:Ra(r.axisLabel.formatter)}}],yAxis:[{name:i.name,axisLine:{show:!0},axisLabel:{formatter:function(h){return Bt.default(h).format(i.label_formatter)}}}],series:[{name:"Box",type:"boxplot",itemStyle:{color:o,borderColor:"#2F8CC0",borderWidth:2},emphasis:{disabled:!0},boxWidth:[10,40],datasetIndex:0,encode:{y:ou,x:"name",itemName:["name"],tooltip:ou}},{name:"Outlier",type:"scatter",symbolSize:5,itemStyle:{color:"#2F8CC0"},emphasis:{scale:2},datasetIndex:1},...P2(a,n,t)]}}Rt.use([ut.DataZoomComponent,pn.BoxplotChart,ut.MarkLineComponent,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function I2({context:e,instance:t}){const{value:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,{width:o,height:a}=e.viewport,s=H.defaults({},n,Ul),u=wi({vizManager:e.vizManager,instance:t}),c=gi(u.triggerManager,Dg.id),f=x.useMemo(()=>he.default.keyBy(i,s.x_axis.data_key),[i,s.x_axis.data_key]),h=x.useCallback(v=>{const m=he.default.get(f,v.name,{error:"rowData is not found"});c.forEach(w=>{u.runInteraction(w.id,{...v,rowData:m})})},[f,c,u]),p=x.useMemo(()=>({click:h}),[h]),g=x.useMemo(()=>N2({config:s,data:i,variables:r}),[s,i,r]);return!n||!o||!a?null:l(Hn.default,{echarts:Rt,option:g,style:{width:o,height:a},onEvents:p})}function $2({control:e,index:t,remove:n,variableOptions:r}){return b(d.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>l(d.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),l(j.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>l(d.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),l(d.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:l(le.Trash,{size:16})})]},t)}function L2({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=r.map((f,h)=>({...f,...a[h]})),u=()=>i({name:"",template:"",variable_key:""}),c=x.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return b(d.Stack,{children:[s.map((f,h)=>l($2,{control:e,index:h,remove:o,variableOptions:c})),l(d.Group,{position:"center",mt:"xs",children:l(d.Button,{onClick:u,children:"Add a Reference Line"})})]})}const V2=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},au=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=g=>{s({...a,enabled:g})},c=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};s(m),t(m)},f=()=>{o(),s(e)},h=g=>{s(v=>({...v,func_content:g}))},p=()=>{h(Lr.func_content)};return b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),l(d.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),l(V2,{value:a.func_content,onChange:h,disabled:!a.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:p,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:f,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:c,children:"OK"})]})]})]})})]})}),z2=[{label:"Truncate",value:"truncate"},{label:"Break Line",value:"break"},{label:"Break Word",value:"breakAll"}],Pa=x.forwardRef(({sectionTitle:e,value:t,onChange:n},r)=>{const i=o=>a=>{const s=he.default.cloneDeep(t);he.default.set(s,o,a),console.log({prev:t,next:s}),n(s)};return b(d.Stack,{spacing:0,children:[e&&l(d.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",labelProps:{color:"dimmed"}}),b(d.Group,{noWrap:!0,children:[l(d.NumberInput,{label:"Max Width",hideControls:!0,value:t.width,onChange:i("width")}),l(d.Select,{label:"Overflow",data:z2,value:t.overflow,onChange:i("overflow")}),l(d.TextInput,{label:"Ellipsis",value:t.ellipsis,disabled:!0})]})]})}),su=x.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,x_axis:o})},i=o=>{t({...e,tooltip:o})};return b(d.Stack,{ref:n,spacing:0,children:[l(Pa,{sectionTitle:"Overflow on XAxis",value:e.x_axis,onChange:r}),l(Pa,{sectionTitle:"Overflow in Tooltip",value:e.tooltip,onChange:i})]})}),F2=({control:e,data:t,watch:n})=>(n(["x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.name",control:e,render:({field:r})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis.data_key",control:e,render:({field:r})=>l(mt,{label:"X Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:r})=>l(au,{data:t,...r})})]}),l(j.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:r})=>l(su,{...r})})]})),B2=({control:e,data:t,watch:n})=>(n(["y_axis"]),b(Oe,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"y_axis.name",control:e,render:({field:r})=>l(d.TextInput,{label:"Y Axis Name",sx:{flex:1},...r})}),l(j.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>l(mt,{label:"Y Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:"y_axis.label_formatter",control:e,render:({field:r})=>l($r,{...r})})]})]}));function j2({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,{variables:i}=e,o=x.useMemo(()=>H.defaults({},t,Ul),[t]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]),u(["x_axis","y_axis","reference_lines","color"]);const h=c(),p=x.useMemo(()=>!H.isEqual(h,t),[h,t]);return l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:s(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),l(d.Tabs.Tab,{value:"Style",children:"Style"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(F2,{control:a,data:r,watch:u})}),l(d.Tabs.Panel,{value:"Y Axis",children:l(B2,{control:a,data:r,watch:u})}),l(d.Tabs.Panel,{value:"Style",children:b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:"color",control:a,render:({field:g})=>l(kn,{...g})})]})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(L2,{variables:i,control:a,watch:u})})]})]})})}function G2(e){return H.omit(e,"variables")}function K2(e){const{label_formatter:t=Ln,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function H2(e){const t={rotate:0,formatter:{...Lr}},{axisLabel:n=t,...r}=e.x_axis;return{...e,x_axis:{...r,axisLabel:n}}}function W2(e){const t={x_axis:{axisLabel:{overflow:br}}};return he.default.defaultsDeep(t,e)}class q2 extends tn{constructor(){super(...arguments);Re(this,"VERSION",5)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(s=>s.name===a.name)||r.addVariable(a)}),{...n,version:2,config:G2(i)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:K2(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:H2(r)}}),this.version(5,n=>{const{config:r}=n;return{...n,version:5,config:W2(r)}})}}const U2={displayName:"Boxplot",migrator:new q2,name:"boxplot",viewRender:I2,configRender:j2,createConfig(){return{version:5,config:H.cloneDeep(Ul)}},triggers:[Dg]},ev={id:"builtin:button:click-button",displayName:"Click Button",nameRender:X2,configRender:Y2,payload:[]};function Y2(e){return l(Oe,{})}function X2(e){return l(d.Text,{children:"Click this button"})}const lu={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},Q2={left:"flex-start",center:"center",right:"flex-end"},Z2={top:"flex-start",center:"center",bottom:"flex-end"},J2=te.observer(({context:e,instance:t})=>{const n=wi({vizManager:e.vizManager,instance:t}),r=gi(n.triggerManager,ev.id),i=Le(),{value:o}=Je(e.instanceData,"config"),a=x.useMemo(()=>H.defaultsDeep({},o,lu),[o]),{content:s,horizontal_align:u,vertical_align:c,...f}=a,{width:h,height:p}=e.viewport,g={filters:i.filters.values,context:i.context.current},v=()=>{r.forEach(m=>{n.runInteraction(m.id,{})})};return l(d.Center,{sx:{width:h,height:p,justifyContent:Q2[u],alignItems:Z2[c]},children:l(d.Button,{...f,onClick:v,children:H.template(s)(g)})})}),eR=({value:e,onChange:t,label:n})=>{const r=d.useMantineTheme(),i=x.useCallback(a=>()=>t(a),[t]),o=a=>e===a;return b(d.Stack,{spacing:2,children:[l(d.Text,{size:14,sx:{fontWeight:500},children:n}),l(d.Group,{position:"left",spacing:"xs",children:Object.keys(r.colors).map(a=>{const s=r.colors[a][6];return l(d.ColorSwatch,{color:s,onClick:i(a),radius:4,size:26,sx:{cursor:"pointer"},children:o(a)&&l(d.CheckIcon,{width:10,color:"white"})},a)})})]})},tR=d.MANTINE_SIZES.map(e=>({label:e.toUpperCase(),value:e})),nR=({label:e,value:t,onChange:n})=>l(d.Select,{data:tR,label:e,value:t,onChange:n}),rR=[{label:"Filled",value:"filled"},{label:"Outline",value:"outline"},{label:"Light",value:"light"},{label:"White",value:"white"},{label:"Default",value:"default"},{label:"Subtle",value:"subtle"},{label:"Gradient",value:"gradient",disabled:!0}],iR=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],oR=[{label:"Top",value:"top"},{label:"Center",value:"center"},{label:"Bottom",value:"bottom"}];function aR({context:e}){const{value:t,set:n}=Je(e.instanceData,"config");e.data;const r=x.useMemo(()=>H.defaultsDeep({},t,lu),[t]),i=r;x.useEffect(()=>{!H.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});x.useEffect(()=>{c(i)},[i]);const f=u(),h=x.useMemo(()=>!H.isEqual(f,r),[f,r]);return s(["content","variant","color","size","compact","horizontal_align","vertical_align"]),b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Stack,{children:[l(j.Controller,{control:o,name:"content",render:({field:p})=>l(d.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...p,required:!0})}),l(d.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"variant",render:({field:p})=>l(d.Select,{label:"Variant",data:rR,...p})}),l(j.Controller,{control:o,name:"color",render:({field:p})=>l(eR,{label:"Theme",...p})})]}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"size",render:({field:p})=>l(nR,{label:"Size",...p})}),l(j.Controller,{control:o,name:"compact",render:({field:p})=>l(d.Checkbox,{label:"Compact",checked:p.value,onChange:g=>p.onChange(g.currentTarget.checked),mt:26})})]}),b(d.SimpleGrid,{cols:2,children:[l(j.Controller,{control:o,name:"horizontal_align",render:({field:p})=>l(d.Select,{label:"Horizontal Alignment",data:iR,...p})}),l(j.Controller,{control:o,name:"vertical_align",render:({field:p})=>l(d.Select,{label:"Vertical Alignment",data:oR,...p})})]})]})]})}class sR extends tn{constructor(){super(...arguments);Re(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{horizontal_align:r="left",vertical_align:i="center",...o}=n.config;return{...n,version:2,config:{...o,horizontal_align:r,vertical_align:i}}})}}const lR={displayName:"Button",migrator:new sR,name:"button",viewRender:J2,configRender:aR,createConfig(){return{version:2,config:H.cloneDeep(lu)}},triggers:[ev]};function uu(e){const t=[];return e.x_axis_scroll&&t.push({type:"inside",xAxisIndex:[0],filterMode:"none",minSpan:1}),e.y_axis_scroll&&t.push({type:"inside",yAxisIndex:[0],filterMode:"none",minSpan:1}),e.x_axis_slider&&t.push({type:"slider",xAxisIndex:[0],filterMode:"none",bottom:"auto",top:0,height:15,moveHandleSize:0,showDataShadow:!1,minSpan:1}),t}function uR(e){const t=e.y_axes.some(i=>!!i.name);let n=10;t&&(n+=20),e.dataZoom.x_axis_slider&&(n+=20);let r=5;return e.x_axis_name&&(r+=15),e.series.some(i=>!i.hide_in_legend)&&(r+=20),{top:n,bottom:r}}function cR(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function dR(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function fR(e){const t={show:!0,bottom:0,left:"center",type:"scroll"};return t.data=e.filter(n=>!n.hide_in_legend).map(({name:n,type:r})=>({name:n,icon:dR(r),...cR(r)})),t}function pR({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:o,plot:a,name:s,y_axis_data_key:u})=>{const c=`x-axis-for-${s}`,f=`dataset-for-${s}--raw`,h=`dataset-for-${s}--transformed`;n.push({id:f,source:t.map((p,g)=>[g,Number(p[u])])}),n.push({transform:o,id:h,fromDatasetId:f}),r.push({...a,name:s,datasetId:h,xAxisId:c,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:c,datasetId:h,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function hR(e,t){return e.map(n=>({name:"",type:"line",hide_in_legend:!0,data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function gR(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",s=o?"insideEndTop":"end";return{name:i.name,type:"line",hide_in_legend:!i.show_in_legend,yAxisIndex:i.yAxisIndex,data:[],lineStyle:i.lineStyle,markLine:{data:[{name:i.name,[a]:Number(n[i.variable_key])}],silent:!0,symbol:["none","none"],lineStyle:i.lineStyle,label:{formatter:function(){return i.template?iu(i.template,t,r):""},position:s}}}})}function vR({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:s}=t;return s}const{func_content:o}=t,a=H.keyBy(n,r);return(s,u)=>{let c;u.name?c=a[u.name]:c=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:c,params:u,variables:i},{lodash:he.default,interpolate:Oa})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function mR(e,t,n,r){const i=t.map(o=>[o[n],o[r]]);return he.default.unionBy(i,e,0)}function yR({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_group:a,stack:s,color:u,display_name_on_line:c,symbolSize:f,hide_in_legend:h,...p},g,v,m,w,y){const C={label:{show:!!r,position:r,formatter:y[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:s,color:u,symbolSize:vR(f,m,e,w),hide_in_legend:h,...p};if(c&&(C.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!o||o===e)return v?C.data=mR(g,m,e,t):C.data=m.map(S=>S[t]),C;const _=H.groupBy(m,o);return Object.entries(_).map(([S,E])=>{const k=H.cloneDeep(C);if(k.name=S,k.color=void 0,!a)return k.data=E.map(L=>[L[e],L[t]]),k;const A=H.groupBy(E,e);return k.data=Object.entries(A).map(([L,F])=>{const P=Ea(F,t,a);return[L,P]}),k})}function bR(e,t,n,r,i,o,a){const s=t.map(c=>[c,0]);return e.series.map(c=>yR(e,c,s,n,r,a,i)).flat().concat(gR(e.reference_lines,o,a,r)).concat(hR(e.reference_areas,a))}function wR(e,t){const n=e.find(s=>s.axisDim==="x"&&s.axisId==="main-x-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="xAxis.category"?r:Ra(t.x_axis.axisLabel.formatter)(o,a)}function xR(e,t,n){const r=t.reduce((i,{yAxisIndex:o,name:a})=>(i[a]=o,i),{});return{formatter:function(i){const o=Array.isArray(i)?i:[i];if(o.length===0)return"";const a=o.map(({seriesName:c,value:f})=>{var g;if(Array.isArray(f)&&f.length===2&&(f=f[1]),!c)return f;const h=r[c],p=(g=n[h])!=null?g:n.default;return`
|
|
111
111
|
<tr>
|
|
112
112
|
<th style="text-align: right; padding: 0 1em;">${c}</th>
|
|
113
113
|
<td style="text-align: left; padding: 0 1em;">${p({value:f})}</td>
|
|
@@ -122,7 +122,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
122
122
|
</tbody>
|
|
123
123
|
</table>
|
|
124
124
|
`}}}function SR(e){return e.y_axes.reduce((n,{label_formatter:r},i)=>(n[i]=function(a){let s=a;if(typeof a=="object"&&(Array.isArray(a.value)&&a.value.length===2?s=a.value[1]:s=a.value),!r)return s;try{return Bt.default(s).format(r)}catch(u){return console.error(u),s}},n),{default:({value:n})=>n})}function CR(e,t){const n={};return t.map(r=>{const i=Da(r,e);n[r.name]=mi(r,i)}),n}function _R(e,t,n){var s;const r=t.every(u=>!Number.isNaN(Number(u))),{overflow:i,...o}=e.x_axis.axisLabel,a=Aa(i.x_axis);return[{data:t,name:(s=e.x_axis_name)!=null?s:"",id:"main-x-axis",axisTick:{show:!0,alignWithLabel:!0},type:r?"value":"category",axisLabel:{...o,...a,formatter:Ra(o.formatter)}},...n]}function ER(e,t){return e.y_axes.map(({nameAlignment:n,min:r,max:i,...o},a)=>{var u;let s=o.position;return s||(s=a>0?"right":"left"),{...o,min:r||void 0,max:i||void 0,position:s,axisLabel:{show:!0,formatter:(u=t[a])!=null?u:t.default},axisLine:{show:!0},nameTextStyle:{fontWeight:"bold",align:n},nameLocation:"end",nameGap:15,splitLine:{show:!1}}})}const TR={tooltip:{trigger:"axis",confine:!0},xAxis:[{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0}}],grid:{top:10,left:20,right:15,bottom:25,containLabel:!0}};function MR(e,t,n){const r=CR(t,n),i=SR(e),o=he.default.uniq(t.map(p=>p[e.x_axis_data_key])),a=o.every(p=>!Number.isNaN(Number(p))),s=bR(e,o,a,t,i,n,r),{regressionDataSets:u,regressionSeries:c,regressionXAxes:f}=pR(e,t),h={xAxis:_R(e,o,f),yAxis:ER(e,i),dataset:[...u],series:[...s,...c],tooltip:xR(e,s,i),grid:uR(e),legend:fR(s),dataZoom:uu(e.dataZoom)};return H.defaultsDeep({},h,TR)}const tv={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:OR,configRender:kR,payload:[{name:"seriesType",description:"'line' | 'scatter' | 'bar'",valueType:"string"},{name:"componentType",description:"'series'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"String-typed number, or series' actual value",valueType:"string"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function kR(e){return l(Oe,{})}function OR(e){return l(d.Text,{children:"Click chart's series"})}const yi={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1},cu={regressions:[],series:[],stats:{templates:{bottom:"",top:""}},x_axis:{axisLabel:{rotate:0,formatter:{...Lr},overflow:br}},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:Ln,min:"",max:""}],reference_lines:[],reference_areas:[],dataZoom:yi};Rt.use([ut.DataZoomComponent,pn.BarChart,pn.LineChart,pn.ScatterChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer,ut.MarkLineComponent,ut.MarkAreaComponent]),Rt.registerTransform(Ms.transform.regression);function nv(e){return e.trim().length>0}function DR({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=x.useMemo(()=>he.default.keyBy(t,e.x_axis_data_key),[t,e.x_axis_data_key]),s=gi(i.triggerManager,tv.id),u=x.useCallback(h=>{const p=he.default.get(a,h.name,{error:"rowData is not found"});s.forEach(g=>{i.runInteraction(g.id,{...h,rowData:p})})},[a,s,i]),c=x.useMemo(()=>({click:u}),[u]),f=Z.default.useMemo(()=>MR(e,t,o),[e,t]);return!n||!r?null:l(Hn.default,{echarts:Rt,option:f,style:{width:n,height:r},onEvents:c})}function RR({context:e,instance:t}){const n=wi({vizManager:e.vizManager,instance:t}),{value:r}=Je(e.instanceData,"config"),{variables:i}=e,o=x.useMemo(()=>H.defaults({},r,cu),[r]),a=e.data,{width:s,height:u}=e.viewport,{ref:c,height:f}=Ut.useElementSize(),{ref:h,height:p}=Ut.useElementSize(),g=Z.default.useMemo(()=>{const{stats:{templates:m}}=o;return{top:uo(m.top,i,a),bottom:uo(m.bottom,i,a)}},[o,a]),v=Math.max(0,u-f-p);return b(d.Box,{children:[l(d.Text,{ref:c,align:"left",size:"xs",pl:"sm",sx:{display:nv(o.stats.templates.top)?"block":"none"},children:Object.values(g.top).map(m=>m)}),l(DR,{variables:i,width:s,height:v,data:a,conf:o,interactionManager:n}),l(d.Text,{ref:h,align:"left",size:"xs",pl:"sm",sx:{display:nv(o.stats.templates.bottom)?"block":"none"},children:Object.values(g.bottom).map(m=>m)})]})}const du=x.forwardRef(({value:e,onChange:t},n)=>{const r=i=>o=>{t({...e,[i]:o})};return b(d.Stack,{children:[l(d.Divider,{variant:"dashed",label:"Scroll to Zoom",labelPosition:"center"}),b(d.Group,{children:[l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Enable on X Axis",checked:e.x_axis_scroll,onChange:i=>r("x_axis_scroll")(i.currentTarget.checked)})}),l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Enable on Y Axis",checked:e.y_axis_scroll,onChange:i=>r("y_axis_scroll")(i.currentTarget.checked)})})]}),l(d.Divider,{variant:"dashed",label:"Slider for Zooming",labelPosition:"center"}),b(d.Group,{children:[l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Slider for X Axis",checked:e.x_axis_slider,onChange:i=>r("x_axis_slider")(i.currentTarget.checked)})}),l(d.Tooltip,{label:"Not available for now, will overlap y-axis's label",children:l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Slider for Y Axis",disabled:!e.y_axis_slider,checked:e.y_axis_slider,onChange:i=>r("y_axis_slider")(i.currentTarget.checked)})})})]})]})}),AR=[{label:"Rectangle",value:"rectangle"}],PR=[{label:"Horizontal",value:"horizontal"}];function NR({control:e,index:t,remove:n,variableOptions:r}){return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_areas.${t}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`reference_areas.${t}.color`,control:e,render:({field:i})=>l(d.TextInput,{label:"Color",required:!0,sx:{flex:1},...i})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_areas.${t}.type`,control:e,render:({field:i})=>l(d.Select,{label:"Type",required:!0,data:AR,sx:{flex:1},...i})}),l(j.Controller,{name:`reference_areas.${t}.direction`,control:e,render:({field:i})=>l(d.Select,{label:"Direction",required:!0,data:PR,sx:{flex:1},...i})})]}),l(d.Divider,{variant:"dashed",label:"Data",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_areas.${t}.y_keys.upper`,control:e,render:({field:i})=>l(d.Select,{label:"Upper Boundary",required:!0,data:r,sx:{flex:1},...i})}),l(j.Controller,{name:`reference_areas.${t}.y_keys.lower`,control:e,render:({field:i})=>l(d.Select,{label:"Lower Boundary",required:!0,data:r,sx:{flex:1},...i})})]}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Area"})]},t)}function IR({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"reference_areas"}),a=t("reference_areas"),s=r.map((f,h)=>({...f,...a[h]})),u=()=>i({name:"",type:"rectangle",direction:"horizontal",y_keys:{upper:"",lower:""}}),c=x.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"6px 0px 0px"}},children:[b(d.Tabs.List,{children:[s.map((f,h)=>l(d.Tabs.Tab,{value:h.toString(),children:h+1},h)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((f,h)=>l(d.Tabs.Panel,{value:h.toString(),children:l(NR,{control:e,index:h,remove:o,variableOptions:c})},h))]})}const $R=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],LR=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function VR({control:e,index:t,remove:n,watch:r,variableOptions:i,yAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:s})=>l(d.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...s})}),l(j.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:s})=>l(d.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...s})})]}),l(j.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:s})=>l(d.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...s})}),b(d.Group,{grow:!0,children:[b(d.Stack,{children:[l(j.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:s})=>l(d.Select,{label:"Orientation",data:LR,required:!0,sx:{flex:1},...s})}),a==="vertical"&&l(d.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&l(j.Controller,{name:`reference_lines.${t}.yAxisIndex`,control:e,render:({field:{value:s,onChange:u,...c}})=>{var f;return l(d.Select,{label:"Y Axis",data:o,disabled:o.length===0,...c,value:(f=s==null?void 0:s.toString())!=null?f:"",onChange:h=>{if(!h){u(0);return}u(Number(h))},sx:{flex:1}})}})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:s})=>l(d.Select,{label:"Line Type",data:$R,sx:{flexGrow:1},...s})}),l(j.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:s})=>l(d.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...s})})]}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:s})=>l(kn,{...s})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),l(j.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:s})=>l(d.Checkbox,{label:"Show in legend",checked:s.value,onChange:u=>s.onChange(u.currentTarget.checked)})}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function zR({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>{const p={name:"",template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:qr.random().css()},show_in_legend:!1,yAxisIndex:0};i(p)},c=x.useMemo(()=>n.map(p=>({label:p.name,value:p.name})),[n]),f=t("y_axes"),h=x.useMemo(()=>f.map(({name:p},g)=>({label:p,value:g.toString()})),[f]);return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:g.toString(),children:g+1},g)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:g.toString(),children:l(VR,{control:e,index:g,remove:o,watch:t,variableOptions:c,yAxisOptions:h})},g))]})}const FR=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}],BR=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function jR({control:e,regressionItem:t,index:n,remove:r,yAxisOptions:i,data:o}){const a=t.transform.config.method;return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[l(j.Controller,{name:`regressions.${n}.name`,control:e,render:({field:s})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:s})=>l(mt,{label:"Value Field",required:!0,data:o,sx:{flex:1},...s})}),l(j.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:({field:{value:s,onChange:u,...c}})=>{var f;return l(d.Select,{label:"Y Axis",data:i,disabled:i.length===0,...c,value:(f=s==null?void 0:s.toString())!=null?f:"",onChange:h=>{if(!h){u(0);return}u(Number(h))},sx:{flex:1}})}})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:s})=>l(d.Select,{label:"Method",data:FR,sx:{flex:1},...s})}),a==="polynomial"&&l(j.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:s})=>l(d.NumberInput,{label:"Order",sx:{flex:1},...s})})]}),l(d.Divider,{mb:-15,variant:"dashed",label:"Line Style",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`regressions.${n}.plot.lineStyle.type`,control:e,render:({field:s})=>l(d.Select,{label:"Line Type",data:BR,sx:{flexGrow:1},...s})}),l(j.Controller,{name:`regressions.${n}.plot.lineStyle.width`,control:e,render:({field:s})=>l(d.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...s})})]}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:s})=>l(kn,{...s})})]}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Regression Line"})]},n)}function GR({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"regressions"}),a=t("regressions"),s=r.map((h,p)=>({...h,...a[p]})),u=t("y_axes"),c=Z.default.useMemo(()=>u.map(({name:h},p)=>({label:h,value:p.toString()})),[u]),f=()=>i({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666",lineStyle:{type:"solid",width:1}}});return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((h,p)=>l(d.Tabs.Tab,{value:p.toString(),children:p+1},p)),l(d.Tabs.Tab,{onClick:f,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((h,p)=>l(d.Tabs.Panel,{value:p.toString(),children:l(jR,{regressionItem:h,control:e,index:p,remove:o,yAxisOptions:c,data:n},p)},p))]})}const fo={static:{type:"static",size:10},dynamic:{type:"dynamic",func_content:["function getSize({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here"," // return 10","}"].join(`
|
|
125
|
-
`)}},KR=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function HR({control:e,index:t}){return b(Oe,{children:[b(d.Group,{grow:!0,align:"top",children:[l(j.Controller,{name:`series.${t}.stack`,control:e,render:({field:n})=>l(d.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),l(j.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:n})=>l(d.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),l(j.Controller,{name:`series.${t}.barGap`,control:e,render:({field:n})=>l(d.Select,{label:"Bar Gap",data:KR,sx:{flexGrow:1},...n})})]})}const WR=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},qR=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o();const{type:p,func_content:g}=a,v={type:p,func_content:g};s(v),t(v)},c=()=>{o(),s(e)},f=p=>{s(g=>({...g,func_content:p}))},h=()=>{f(fo.dynamic.func_content)};return b(Oe,{children:[l(d.Box,{sx:{width:"50%"},children:l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),l(d.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),l(WR,{value:a.func_content,onChange:f}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},UR=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:l(qR,{value:e,onChange:t,data:n}),YR=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return l(Oe,{children:l(d.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},XR=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],rv=x.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...fo[a]})};return b(d.SimpleGrid,{cols:2,children:[l(d.Select,{ref:i,label:e,data:XR,value:t.type,onChange:o,sx:{flexGrow:1}}),l(YR,{value:t,onChange:n}),l(UR,{value:t,onChange:n,data:r})]})}),QR=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],ZR=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function JR({control:e,index:t,seriesItem:n,data:r}){const i=n.showSymbol;return b(Oe,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:o})=>l(d.Select,{label:"Line Type",data:ZR,sx:{flexGrow:1},...o})}),l(j.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:o})=>l(d.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...o})})]}),b(d.Group,{grow:!0,align:"center",children:[l(j.Controller,{name:`series.${t}.step`,control:e,render:({field:o})=>l(d.Select,{label:"Step",data:QR,sx:{flexGrow:1,maxWidth:"48%"},...o,value:String(o.value),onChange:a=>{const s=a==="false"?!1:a;o.onChange(s)}})}),b(d.Stack,{children:[l(j.Controller,{name:`series.${t}.smooth`,control:e,render:({field:o})=>l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Smooth Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),l(j.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:o})=>{var a;return l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Display Name on Line",checked:(a=o.value)!=null?a:!1,onChange:s=>o.onChange(s.currentTarget.checked)})})}})]})]}),b(d.Stack,{children:[l(j.Controller,{name:`series.${t}.showSymbol`,control:e,render:({field:o})=>l(d.Box,{mt:10,mb:-10,sx:{flexGrow:1},children:l(d.Switch,{label:"Show Symbol on Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),i&&l(j.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:o})=>l(rv,{label:"Symbol Size",data:r,...o})})]})]})}function eA({control:e,index:t,data:n}){return l(j.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:r})=>l(rv,{label:"Size",data:n,...r})})}const tA=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function nA({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:o}){const a=r.type,s=r.group_by_key;return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[l(d.Stack,{children:l(j.Controller,{name:`series.${t}.type`,control:e,render:({field:u})=>l(d.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),l(j.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:u})=>l(mt,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...f}})=>{var h;return l(d.Select,{label:"Y Axis",data:i,disabled:i.length===0,...f,value:(h=u==null?void 0:u.toString())!=null?h:"",onChange:p=>{if(!p){c(0);return}c(Number(p))},sx:{flex:1}})}}),l(j.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>l(mt,{label:"Group By",data:o,clearable:!0,sx:{flex:1},...u})})]}),s&&l(j.Controller,{name:`series.${t}.aggregation_on_group`,control:e,render:({field:u})=>{var c;return l(Yl,{label:"Aggregation on Group",value:(c=u.value)!=null?c:Xl,onChange:u.onChange,pt:0})}}),a==="line"&&l(JR,{index:t,control:e,seriesItem:r,data:o}),a==="bar"&&l(HR,{index:t,control:e}),a==="scatter"&&l(eA,{index:t,control:e,data:o}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),l(j.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>l(d.Select,{label:"Label Position",data:tA,...u})}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>l(kn,{...u})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),l(j.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:u})=>l(d.Checkbox,{label:"Hide in legend",checked:u.value,onChange:c=>u.onChange(c.currentTarget.checked)})}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function rA({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"series"}),a=t("series"),s=r.map((h,p)=>({...h,...a[p]})),u=()=>i({type:"bar",name:Ut.randomId(),showSymbol:!1,symbolSize:fo.static,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1},hide_in_legend:!1}),c=t("y_axes"),f=Z.default.useMemo(()=>c.map(({name:h},p)=>({label:h,value:p.toString()})),[c]);return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((h,p)=>l(d.Tabs.Tab,{value:p.toString(),children:p+1},h.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((h,p)=>l(d.Tabs.Panel,{value:p.toString(),children:l(nA,{control:e,index:p,remove:o,seriesItem:h,yAxisOptions:f,data:n},h.id)},h.id))]})}function iA({control:e,watch:t}){return t("stats"),l(d.Stack,{children:b(d.Stack,{spacing:0,children:[l(j.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>l(io,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),l(j.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>l(io,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}function oA({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>l(mt,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis_name",control:t,render:({field:r})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>l(au,{data:e,...r})})]}),l(j.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>l(su,{...r})})]})}const aA=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],sA=[{label:"left",value:"left"},{label:"right",value:"right"}];function lA({control:e,index:t,remove:n}){return b(d.Stack,{my:0,p:"0",sx:{position:"relative"},children:[l(d.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),l(j.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>l(d.Select,{label:"Align",required:!0,data:aA,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>l(d.Select,{label:"Position",required:!0,data:sA,sx:{flex:1},...r})})}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>l($r,{...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>l(d.TextInput,{label:"Min",...r})}),l(j.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>l(d.TextInput,{label:"Max",...r})})]})]}),l(d.Button,{mt:20,leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function uA({control:e,watch:t}){const{fields:n,append:r,remove:i}=j.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,c)=>({...u,...o[c]})),s=()=>r({name:"",label_formatter:Ln});return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[a.map((u,c)=>l(d.Tabs.Tab,{value:c.toString(),children:c+1},c)),l(d.Tabs.Tab,{onClick:s,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),a.map((u,c)=>l(d.Tabs.Panel,{value:c.toString(),children:l(lA,{control:e,index:c,remove:i})},c))]})}function cA(e){function t({name:n="",template:r="",variable_key:i="",orientation:o="horizontal",...a}){return{name:n,template:r,variable_key:i,orientation:o,...a}}return e.map(t)}function dA(e){function t({type:n,name:r,showSymbol:i,symbolSize:o=fo.static,y_axis_data_key:a="value",yAxisIndex:s=0,label_position:u="top",stack:c="1",color:f="black",barWidth:h="30",barGap:p="0%",smooth:g=!1,step:v=!1,group_by_key:m="",aggregation_on_group:w=Xl,display_name_on_line:y=!1,lineStyle:C={type:"solid",width:1},hide_in_legend:_=!1}){const S={type:n,name:r,showSymbol:i,symbolSize:o,y_axis_data_key:a,yAxisIndex:s,label_position:u,stack:c,color:f,barWidth:h,barGap:p,smooth:g,step:v,group_by_key:m,aggregation_on_group:w,display_name_on_line:y,lineStyle:C,hide_in_legend:_};return typeof o=="number"&&(S.symbolSize={...fo.static,size:o}),S}return e.map(t)}function fA(e){return e||{templates:{top:"",bottom:""}}}function pA({series:e,stats:t,reference_lines:n,...r}){return{series:dA(e!=null?e:[]),stats:fA(t),reference_lines:cA(n!=null?n:[]),...r}}function hA({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,o=x.useMemo(()=>H.defaultsDeep({},t,cu),[t]),a=x.useMemo(()=>pA(o),[o]);x.useEffect(()=>{!H.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:s,handleSubmit:u,watch:c,getValues:f,reset:h}=j.useForm({defaultValues:a});x.useEffect(()=>{h(a)},[a]);const p=f(),g=x.useMemo(()=>!H.isEqual(p,o),[p,o]);return c(["dataZoom"]),l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:u(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),l(d.Tabs.Tab,{value:"Series",children:"Series"}),l(d.Tabs.Tab,{value:"Regression Lines",children:"Regression Lines"}),l(d.Tabs.Tab,{value:"Stats",children:"Stats"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),l(d.Tabs.Tab,{value:"Reference Areas",children:"Reference Areas"}),l(d.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(oA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Y Axes",children:l(uA,{control:s,watch:c})}),l(d.Tabs.Panel,{value:"Series",children:l(rA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Regression Lines",children:l(GR,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Stats",children:l(iA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(zR,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Reference Areas",children:l(IR,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Zooming",children:l(j.Controller,{name:"dataZoom",control:s,render:({field:v})=>l(du,{...v})})})]})]})})}function gA(e){const t=H.cloneDeep(H.omit(e,"variables"));return t.stats=H.omit(t.stats,"variables"),t}function vA(e){const{rotate:t,formatter:n=Lr}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function mA(e){const{dataZoom:t=yi,...n}=e;return{...n,dataZoom:t}}function yA(e){const t={x_axis:{axisLabel:{overflow:br}}};return he.default.defaultsDeep(t,e)}function bA(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:qr.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:r,show_in_legend:i}});return{...e,reference_lines:t}}function wA(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:r=0}=n;return{...n,yAxisIndex:r}});return{...e,reference_lines:t}}function xA(e){const t=e.series.map(n=>{const{aggregation_on_group:r=Xl}=n;return{...n,aggregation_on_group:r}});return{...e,series:t}}class SA extends tn{constructor(){super(...arguments);Re(this,"VERSION",8)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(s=>{r.variables.find(u=>u.name===s.name)||r.addVariable(s)}),(H.get(i,"stats.variables")||[]).forEach(s=>{r.variables.find(u=>u.name===s.name)||r.addVariable(s)}),{...n,version:2,config:gA(i)}}),this.version(3,n=>({...n,version:3,config:vA(n.config)})),this.version(4,n=>({...n,version:4,config:mA(n.config)})),this.version(5,n=>({...n,version:5,config:yA(n.config)})),this.version(6,n=>({...n,version:6,config:bA(n.config)})),this.version(7,n=>({...n,version:7,config:wA(n.config)})),this.version(8,n=>({...n,version:8,config:xA(n.config)}))}}const CA={displayName:"Cartesian Chart",migrator:new SA,name:"cartesian",viewRender:RR,configRender:hA,createConfig(){return{version:8,config:H.cloneDeep(cu)}},triggers:[tv]},iv={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:EA,configRender:_A,payload:[{name:"type",description:"Always 'click'",valueType:"string"},{name:"seriesType",description:"'line' | 'bar'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function _A(e){return l(Oe,{})}function EA(e){return l(d.Text,{children:"Click chart's series"})}const ov={label_template:"${percentage.x} of ${x_axis.name} causes ${percentage.y} of ${bar.name}",color:"rgba(0,0,0,0.3)"},fu={x_axis:{name:"X Axis",data_key:"",axisLabel:{rotate:0,formatter:{...Lr},overflow:br}},data_key:"value",bar:{name:"Value",nameAlignment:"left",color:"#228be6",label_formatter:Ln},line:{name:"Value",nameAlignment:"right",color:"red"},dataZoom:yi,markLine:ov};function Na(e){return Bt.default(e).format({output:"percent",mantissa:0})}function TA(e){const t=e.value[1];try{return Na(t)}catch(n){return console.error(n),t}}function MA(e){function t(n){let r=n;if(typeof n=="object"&&(Array.isArray(n.value)&&n.value.length===2?r=n.value[1]:r=n.value),!e.bar.label_formatter)return r;try{return Bt.default(r).format(e.bar.label_formatter)}catch(i){return console.error(i),r}}return{bar:t,line:TA,lineValue:Na}}function kA(e,t,n){const{label_template:r}=e.markLine;if(!r)return"";const i={...e,percentage:t,count:n},o=Object.keys(i),a=Object.values(i);return new Function(...o,`return \`${r}\`;`)(...a)}function OA(e,t){if(t.length===0)return{};const n=t.findIndex(s=>s[1]>=.8);if(n===-1)return{};const r=t[n],i={x:Na((n+1)/t.length),y:Na(r[1])},o={left:n+1,right:t.length-n-1},a=r[0];return a?{name:"",silent:!0,symbol:"triangle",symbolRotate:180,symbolSize:[10,8],data:[{name:"",symbol:"none",xAxis:a,lineStyle:{color:e.markLine.color},label:{formatter:kA(e,i,o)}}]}:{}}function DA(e,t,n){const r=t.map(s=>[s[e.x_axis.data_key],Number(s[e.data_key])]).sort((s,u)=>u[1]-s[1]),i=r.reduce((s,u)=>s+u[1],0),o=r.reduce((s,u,c)=>{const f=c===0?0:s[c-1][1];return s.push([u[0],f+u[1]]),s},[]).map(s=>[s[0],s[1]/i]),a=OA(e,o);return[{name:e.bar.name,type:"bar",barMaxWidth:20,itemStyle:{color:e.bar.color},label:{show:!1,position:"top",formatter:n.bar},yAxisIndex:0,data:r},{name:e.line.name,type:"line",itemStyle:{color:e.line.color},symbolSize:2,lineStyle:{width:1},label:{show:!1,position:"top",formatter:n.line},yAxisIndex:1,data:o,markLine:a}]}const RA=(e,t)=>n=>{const r=Array.isArray(n)?n:[n];if(r.length===0)return"";const i=r.map((s,u)=>{const c=s.seriesName,[f,h]=s.value;if(!c)return h;const p=u===0?t.bar:t.lineValue;return`
|
|
125
|
+
`)}},KR=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function HR({control:e,index:t}){return b(Oe,{children:[b(d.Group,{grow:!0,align:"top",children:[l(j.Controller,{name:`series.${t}.stack`,control:e,render:({field:n})=>l(d.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),l(j.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:n})=>l(d.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),l(j.Controller,{name:`series.${t}.barGap`,control:e,render:({field:n})=>l(d.Select,{label:"Bar Gap",data:KR,sx:{flexGrow:1},...n})})]})}const WR=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},qR=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o();const{type:p,func_content:g}=a,v={type:p,func_content:g};s(v),t(v)},c=()=>{o(),s(e)},f=p=>{s(g=>({...g,func_content:p}))},h=()=>{f(fo.dynamic.func_content)};return b(Oe,{children:[l(d.Box,{sx:{width:"50%"},children:l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),l(d.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),l(WR,{value:a.func_content,onChange:f}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},UR=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:l(qR,{value:e,onChange:t,data:n}),YR=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return l(Oe,{children:l(d.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},XR=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],rv=x.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...fo[a]})};return b(d.SimpleGrid,{cols:2,children:[l(d.Select,{ref:i,label:e,data:XR,value:t.type,onChange:o,sx:{flexGrow:1}}),l(YR,{value:t,onChange:n}),l(UR,{value:t,onChange:n,data:r})]})}),QR=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],ZR=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function JR({control:e,index:t,seriesItem:n,data:r}){const i=n.showSymbol;return b(Oe,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:o})=>l(d.Select,{label:"Line Type",data:ZR,sx:{flexGrow:1},...o})}),l(j.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:o})=>l(d.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...o})})]}),b(d.Group,{grow:!0,align:"center",children:[l(j.Controller,{name:`series.${t}.step`,control:e,render:({field:o})=>l(d.Select,{label:"Step",data:QR,sx:{flexGrow:1,maxWidth:"48%"},...o,value:String(o.value),onChange:a=>{const s=a==="false"?!1:a;o.onChange(s)}})}),b(d.Stack,{children:[l(j.Controller,{name:`series.${t}.smooth`,control:e,render:({field:o})=>l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Smooth Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),l(j.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:o})=>{var a;return l(d.Box,{sx:{flexGrow:1},children:l(d.Switch,{label:"Display Name on Line",checked:(a=o.value)!=null?a:!1,onChange:s=>o.onChange(s.currentTarget.checked)})})}})]})]}),b(d.Stack,{children:[l(j.Controller,{name:`series.${t}.showSymbol`,control:e,render:({field:o})=>l(d.Box,{mt:10,mb:-10,sx:{flexGrow:1},children:l(d.Switch,{label:"Show Symbol on Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),i&&l(j.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:o})=>l(rv,{label:"Symbol Size",data:r,...o})})]})]})}function eA({control:e,index:t,data:n}){return l(j.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:r})=>l(rv,{label:"Size",data:n,...r})})}const tA=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function nA({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:o}){const a=r.type,s=r.group_by_key;return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[l(d.Stack,{children:l(j.Controller,{name:`series.${t}.type`,control:e,render:({field:u})=>l(d.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),l(j.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:u})=>l(mt,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...f}})=>{var h;return l(d.Select,{label:"Y Axis",data:i,disabled:i.length===0,...f,value:(h=u==null?void 0:u.toString())!=null?h:"",onChange:p=>{if(!p){c(0);return}c(Number(p))},sx:{flex:1}})}}),l(j.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>l(mt,{label:"Group By",data:o,clearable:!0,sx:{flex:1},...u})})]}),s&&l(j.Controller,{name:`series.${t}.aggregation_on_group`,control:e,render:({field:u})=>{var c;return l(Yl,{label:"Aggregation on Group",value:(c=u.value)!=null?c:Xl,onChange:u.onChange,pt:0})}}),a==="line"&&l(JR,{index:t,control:e,seriesItem:r,data:o}),a==="bar"&&l(HR,{index:t,control:e}),a==="scatter"&&l(eA,{index:t,control:e,data:o}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),l(j.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>l(d.Select,{label:"Label Position",data:tA,...u})}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>l(kn,{...u})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),l(j.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:u})=>l(d.Checkbox,{label:"Hide in legend",checked:u.value,onChange:c=>u.onChange(c.currentTarget.checked)})}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function rA({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"series"}),a=t("series"),s=r.map((h,p)=>({...h,...a[p]})),u=()=>i({type:"bar",name:Ut.randomId(),showSymbol:!1,symbolSize:fo.static,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1},hide_in_legend:!1}),c=t("y_axes"),f=Z.default.useMemo(()=>c.map(({name:h},p)=>({label:h,value:p.toString()})),[c]);return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((h,p)=>l(d.Tabs.Tab,{value:p.toString(),children:p+1},h.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((h,p)=>l(d.Tabs.Panel,{value:p.toString(),children:l(nA,{control:e,index:p,remove:o,seriesItem:h,yAxisOptions:f,data:n},h.id)},h.id))]})}function iA({control:e,watch:t}){return t("stats"),l(d.Stack,{children:b(d.Stack,{spacing:0,children:[l(j.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>l(io,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),l(j.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>l(io,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}function oA({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>l(mt,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis_name",control:t,render:({field:r})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>l(au,{data:e,...r})})]}),l(j.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>l(su,{...r})})]})}const aA=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],sA=[{label:"left",value:"left"},{label:"right",value:"right"}];function lA({control:e,index:t,remove:n}){return b(d.Stack,{my:0,p:"0",sx:{position:"relative"},children:[l(d.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),l(j.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>l(d.Select,{label:"Align",required:!0,data:aA,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>l(d.Select,{label:"Position",required:!0,data:sA,sx:{flex:1},...r})})}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>l($r,{...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>l(d.TextInput,{label:"Min",...r})}),l(j.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>l(d.TextInput,{label:"Max",...r})})]})]}),l(d.Button,{mt:20,leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function uA({control:e,watch:t}){const{fields:n,append:r,remove:i}=j.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,c)=>({...u,...o[c]})),s=()=>r({name:"",label_formatter:Ln});return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[a.map((u,c)=>l(d.Tabs.Tab,{value:c.toString(),children:c+1},c)),l(d.Tabs.Tab,{onClick:s,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),a.map((u,c)=>l(d.Tabs.Panel,{value:c.toString(),children:l(lA,{control:e,index:c,remove:i})},c))]})}function cA(e){function t({name:n="",template:r="",variable_key:i="",orientation:o="horizontal",...a}){return{name:n,template:r,variable_key:i,orientation:o,...a}}return e.map(t)}function dA(e){function t({type:n,name:r,showSymbol:i,symbolSize:o=fo.static,y_axis_data_key:a="value",yAxisIndex:s=0,label_position:u="top",stack:c="1",color:f="black",barWidth:h="30",barGap:p="0%",smooth:g=!1,step:v=!1,group_by_key:m="",aggregation_on_group:w=Xl,display_name_on_line:y=!1,lineStyle:C={type:"solid",width:1},hide_in_legend:_=!1}){const S={type:n,name:r,showSymbol:i,symbolSize:o,y_axis_data_key:a,yAxisIndex:s,label_position:u,stack:c,color:f,barWidth:h,barGap:p,smooth:g,step:v,group_by_key:m,aggregation_on_group:w,display_name_on_line:y,lineStyle:C,hide_in_legend:_};return typeof o=="number"&&(S.symbolSize={...fo.static,size:o}),S}return e.map(t)}function fA(e){return e||{templates:{top:"",bottom:""}}}function pA({series:e,stats:t,reference_lines:n,...r}){return{series:dA(e!=null?e:[]),stats:fA(t),reference_lines:cA(n!=null?n:[]),...r}}function hA({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,o=x.useMemo(()=>H.defaultsDeep({},t,cu),[t]),a=x.useMemo(()=>pA(o),[o]);x.useEffect(()=>{!H.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:s,handleSubmit:u,watch:c,getValues:f,reset:h}=j.useForm({defaultValues:a});x.useEffect(()=>{h(a)},[a]);const p=f(),g=x.useMemo(()=>!H.isEqual(p,o),[p,o]);return c(["dataZoom"]),l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:u(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),l(d.Tabs.Tab,{value:"Series",children:"Series"}),l(d.Tabs.Tab,{value:"Regression Lines",children:"Regression Lines"}),l(d.Tabs.Tab,{value:"Stats",children:"Stats"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),l(d.Tabs.Tab,{value:"Reference Areas",children:"Reference Areas"}),l(d.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(oA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Y Axes",children:l(uA,{control:s,watch:c})}),l(d.Tabs.Panel,{value:"Series",children:l(rA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Regression Lines",children:l(GR,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Stats",children:l(iA,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(zR,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Reference Areas",children:l(IR,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Zooming",children:l(j.Controller,{name:"dataZoom",control:s,render:({field:v})=>l(du,{...v})})})]})]})})}function gA(e){const t=H.cloneDeep(H.omit(e,"variables"));return t.stats=H.omit(t.stats,"variables"),t}function vA(e){const{rotate:t,formatter:n=Lr}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function mA(e){const{dataZoom:t=yi,...n}=e;return{...n,dataZoom:t}}function yA(e){const t={x_axis:{axisLabel:{overflow:br}}};return he.default.defaultsDeep(t,e)}function bA(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:qr.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:r,show_in_legend:i}});return{...e,reference_lines:t}}function wA(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:r=0}=n;return{...n,yAxisIndex:r}});return{...e,reference_lines:t}}function xA(e){const t=e.series.map(n=>{const{aggregation_on_group:r=Xl}=n;return{...n,aggregation_on_group:r}});return{...e,series:t}}class SA extends tn{constructor(){super(...arguments);Re(this,"VERSION",8)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(s=>{r.variables.find(u=>u.name===s.name)||r.addVariable(s)}),(H.get(i,"stats.variables")||[]).forEach(s=>{r.variables.find(u=>u.name===s.name)||r.addVariable(s)}),{...n,version:2,config:gA(i)}}),this.version(3,n=>({...n,version:3,config:vA(n.config)})),this.version(4,n=>({...n,version:4,config:mA(n.config)})),this.version(5,n=>({...n,version:5,config:yA(n.config)})),this.version(6,n=>({...n,version:6,config:bA(n.config)})),this.version(7,n=>({...n,version:7,config:wA(n.config)})),this.version(8,n=>({...n,version:8,config:xA(n.config)}))}}const CA={displayName:"Cartesian Chart",migrator:new SA,name:"cartesian",viewRender:RR,configRender:hA,createConfig(){return{version:8,config:H.cloneDeep(cu)}},triggers:[tv]},iv={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:EA,configRender:_A,payload:[{name:"type",description:"Always 'click'",valueType:"string"},{name:"seriesType",description:"'line' | 'bar'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function _A(e){return l(Oe,{})}function EA(e){return l(d.Text,{children:"Click chart's series"})}const ov={label_template:"${percentage.x} of ${x_axis.name} causes ${percentage.y} of ${bar.name}",color:"rgba(0,0,0,0.3)"},fu={x_axis:{name:"X Axis",data_key:"",axisLabel:{rotate:0,formatter:{...Lr},overflow:br}},data_key:"value",bar:{name:"Value",nameAlignment:"left",color:"#228be6",label_formatter:Ln},line:{name:"Value",nameAlignment:"right",color:"red"},dataZoom:yi,markLine:ov};function Na(e){return Bt.default(e).format({output:"percent",mantissa:0})}function TA(e){const t=e.value[1];try{return Na(t)}catch(n){return console.error(n),t}}function MA(e){function t(n){let r=n;if(typeof n=="object"&&(Array.isArray(n.value)&&n.value.length===2?r=n.value[1]:r=n.value),!e.bar.label_formatter)return r;try{return Bt.default(r).format(e.bar.label_formatter)}catch(i){return console.error(i),r}}return{bar:t,line:TA,lineValue:Na}}function kA(e,t,n){const{label_template:r}=e.markLine;if(!r)return"";const i={...e,percentage:t,count:n},o=Object.keys(i),a=Object.values(i);return new Function(...o,`return \`${r}\`;`)(...a)}function OA(e,t){if(t.length===0)return{};const n=t.findIndex(s=>s[1]>=.8);if(n===-1)return{};const r=t[n],i={x:Na((n+1)/t.length),y:Na(r[1])},o={left:n+1,right:t.length-n-1},a=r[0];return a?{name:"",silent:!0,symbol:"triangle",symbolRotate:180,symbolSize:[10,8],data:[{name:"",symbol:"none",xAxis:a,lineStyle:{color:e.markLine.color},label:{formatter:kA(e,i,o)}}]}:{}}function DA(e,t,n){const r=t.map(s=>[s[e.x_axis.data_key],Number(s[e.data_key])]).sort((s,u)=>u[1]-s[1]),i=r.reduce((s,u)=>s+u[1],0),o=r.reduce((s,u,c)=>{const f=c===0?0:s[c-1][1];return s.push([u[0],f+u[1]]),s},[]).map(s=>[s[0],s[1]/i]),a=OA(e,o);return[{name:e.bar.name,type:"bar",barMaxWidth:20,itemStyle:{color:e.bar.color},label:{show:!1,position:"top",formatter:n.bar},yAxisIndex:0,data:r},{name:e.line.name,type:"line",itemStyle:{color:e.line.color},symbolSize:2,lineStyle:{width:1},label:{show:!1,position:"top",formatter:n.line},yAxisIndex:1,data:o,markLine:a}]}const RA=(e,t)=>n=>{const r=Array.isArray(n)?n:[n];if(r.length===0)return"";const i=r.map((s,u)=>{const c=s.seriesName,[f,h]=s.value;if(!c)return h;const p=u===0?t.bar:t.lineValue;return`
|
|
126
126
|
<tr>
|
|
127
127
|
<th style="text-align: right; padding: 0 1em;">${c}</th>
|
|
128
128
|
<td style="text-align: left; padding: 0 1em;">${p(h)}</td>
|
|
@@ -160,7 +160,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
160
160
|
};
|
|
161
161
|
}
|
|
162
162
|
`,jA=()=>{const[e,t]=x.useState(!1);return b(Oe,{children:[l(d.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see params for Label Template"}),l(d.Collapse,{in:e,children:l(Ur.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:BA})})]})};function GA({data:e,control:t,watch:n}){return n(["markLine"]),b(d.Stack,{children:[b(d.Stack,{spacing:2,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:"markLine.color",control:t,render:({field:r})=>l(kn,{...r})})]}),b(d.Stack,{spacing:4,children:[l(j.Controller,{name:"markLine.label_template",control:t,render:({field:r})=>l(d.Textarea,{autosize:!0,minRows:2,maxRows:4,label:"Label Template",sx:{flex:1},...r})}),l(jA,{})]})]})}function KA({data:e,control:t,watch:n}){return n(["x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>l(mt,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis.name",control:t,render:({field:r})=>l(d.TextInput,{label:"Name",sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>l(au,{data:e,...r})})]}),l(j.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>l(su,{...r})})]})}function HA({data:e,control:t,watch:n}){return n(["data_key"]),l(d.Stack,{children:l(j.Controller,{name:"data_key",control:t,render:({field:r})=>l(mt,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...r})})})}function WA({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaults({},t,fu),[t]),{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});x.useEffect(()=>{c(i)},[i]),s(["x_axis","data_key","bar","line","dataZoom"]);const f=u(),h=x.useMemo(()=>!H.isEqual(f,t),[f,t]);return b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),l(d.Tabs.Tab,{value:"Bar",children:"Bar"}),l(d.Tabs.Tab,{value:"Line",children:"Line"}),l(d.Tabs.Tab,{value:"80-20 Line",children:"80-20 Line"}),l(d.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(KA,{control:o,watch:s,data:r})}),l(d.Tabs.Panel,{value:"Y Axis",children:l(HA,{control:o,watch:s,data:r})}),l(d.Tabs.Panel,{value:"Bar",children:l(VA,{control:o,watch:s,data:r})}),l(d.Tabs.Panel,{value:"Line",children:l(FA,{control:o,watch:s,data:r})}),l(d.Tabs.Panel,{value:"80-20 Line",children:l(GA,{control:o,watch:s,data:r})}),l(d.Tabs.Panel,{value:"Zooming",children:l(j.Controller,{name:"dataZoom",control:o,render:({field:p})=>l(du,{...p})})})]})]})}function qA(e){const{dataZoom:t=yi,...n}=e;return{...n,dataZoom:t}}function UA(e){const{markLine:t=ov,...n}=e;return{...n,markLine:t}}function YA(e){const t=he.default.defaultsDeep({},e.x_axis.axisLabel,{rotate:0,formatter:{...Lr}});return{...e,x_axis:{...e.x_axis,axisLabel:t}}}function XA(e){const{label_formatter:t=Ln}=e.bar;return{...e,bar:{...e.bar,label_formatter:t}}}function QA(e){const t={x_axis:{axisLabel:{overflow:br}}};return he.default.defaultsDeep(t,e)}function ZA(e){const t={bar:{nameAlignment:"left"},line:{nameAlignment:"right"}};return he.default.defaultsDeep(t,e)}class JA extends tn{constructor(){super(...arguments);Re(this,"VERSION",7)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:qA(n.config)})),this.version(3,n=>({...n,version:3,config:UA(n.config)})),this.version(4,n=>({...n,version:4,config:YA(n.config)})),this.version(5,n=>({...n,version:5,config:XA(n.config)})),this.version(6,n=>({...n,version:6,config:QA(n.config)})),this.version(7,n=>({...n,version:7,config:ZA(n.config)}))}}const eP={displayName:"Pareto Chart",migrator:new JA,name:"paretoChart",viewRender:$A,configRender:WA,createConfig(){return{version:7,config:H.cloneDeep(fu)}},triggers:[iv]},pu={label_field:"",value_field:""};Rt.use([pn.PieChart,Kn.CanvasRenderer]);const tP={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
|
|
163
|
-
{percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function nP({context:e}){const{value:t}=Je(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:o,value_field:a}=H.defaults({},t,pu),s=x.useMemo(()=>n.map(f=>({name:f[o],value:Number(f[a])})),[n,o,a]),u=x.useMemo(()=>({series:{labelLayout:function(f){const h=f.labelRect.x<r/2,p=f.labelLinePoints;return H.set(p,[2,0],h?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:p}}}}),[r]),c=H.merge({},tP,u,{series:{data:s}});return!r||!i?null:l(Hn.default,{echarts:Rt,option:c,style:{width:r,height:i}})}function rP({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaultsDeep({},t,pu),[t]),o=x.useMemo(()=>he.default.clone(i),[i]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]);const h=c(),p=x.useMemo(()=>!he.default.isEqual(h,i),[h,i]);return u(["label_field","value_field"]),l(d.Stack,{
|
|
163
|
+
{percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function nP({context:e}){const{value:t}=Je(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:o,value_field:a}=H.defaults({},t,pu),s=x.useMemo(()=>n.map(f=>({name:f[o],value:Number(f[a])})),[n,o,a]),u=x.useMemo(()=>({series:{labelLayout:function(f){const h=f.labelRect.x<r/2,p=f.labelLinePoints;return H.set(p,[2,0],h?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:p}}}}),[r]),c=H.merge({},tP,u,{series:{data:s}});return!r||!i?null:l(Hn.default,{echarts:Rt,option:c,style:{width:r,height:i}})}function rP({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaultsDeep({},t,pu),[t]),o=x.useMemo(()=>he.default.clone(i),[i]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]);const h=c(),p=x.useMemo(()=>!he.default.isEqual(h,i),[h,i]);return u(["label_field","value_field"]),l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:s(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Pie Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[l(j.Controller,{control:a,name:"label_field",render:({field:g})=>l(mt,{label:"Label Key",required:!0,data:r,...g})}),l(j.Controller,{control:a,name:"value_field",render:({field:g})=>l(mt,{label:"Value Key",required:!0,data:r,...g})})]})]})})}class iP extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const oP={displayName:"Pie Chart",migrator:new iP,name:"pie",viewRender:nP,configRender:rP,createConfig(){return{version:1,config:H.cloneDeep(pu)}}};function av(e){return e?t=>{try{return Bt.default(t).format(e)}catch(n){return console.error(n),t}}:t=>t}function aP(e){return{show:!0,formatter:({dimensionIndex:t,value:n})=>av(e.dimensions[t].formatter)(n)}}function sP(e){return({name:t,marker:n,value:r})=>{if(r.length===0)return"";const i=r.map((o,a)=>{const s=e.dimensions[a],u=av(s.formatter);return`
|
|
164
164
|
<tr>
|
|
165
165
|
<td style="padding-left: 18px;">${s.name}</td>
|
|
166
166
|
<td style="text-align: right; "><strong>${u(o)}</strong></td>
|
|
@@ -188,7 +188,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
188
188
|
${i.join("")}
|
|
189
189
|
</tbody>
|
|
190
190
|
</table>
|
|
191
|
-
`}}const lP={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function uP(e,t){const n=["#66B4DB","#39BFA2","#E46464","#33A678","#EEBA00","#9D88CB","#939943","#E49792","#09A2B8","#AF5F6B","#6CA157","#09A2B8","#6398C7","#E692BA","#97B566","#8CACE2","#CA79AC","#6DBC80","#B08F4B","#826BAF"],r=e.dimensions.map(({name:a,max:s})=>({name:a,max:s})),i=t.map(a=>({value:e.dimensions.map(({data_key:s})=>a[s]),name:a[e.series_name_key]})),o={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,formatter:sP(e)},legend:{show:!0,left:"center"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},areaStyle:{opacity:.4},label:aP(e)},color:n};return he.default.merge({},lP,o)}const hu={series_name_key:"name",dimensions:[]};Rt.use([pn.RadarChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function cP({context:e}){const{value:t}=Je(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=e.data,o=x.useMemo(()=>uP(H.defaultsDeep({},t,hu),i),[t,i]);return!n||!r||!t||H.isEmpty(t==null?void 0:t.dimensions)?null:l(d.Box,{children:l(Hn.default,{echarts:Rt,option:o,style:{width:n,height:r}})})}function dP({control:e,index:t,remove:n,data:r}){return b(d.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>l(mt,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),l(j.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),l(j.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>l($r,{...i})})]}),l(d.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:l(le.Trash,{size:16})})]},t)}function fP({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"dimensions"}),a=t("dimensions"),s=r.map((c,f)=>({...c,...a[f]})),u=()=>i({name:Ut.randomId(),data_key:"",max:100,formatter:Ln});return b(d.Stack,{children:[s.map((c,f)=>l(dP,{data:n,control:e,index:f,remove:o})),l(d.Group,{position:"center",mt:"xs",children:l(d.Button,{onClick:u,children:"Add a Dimension"})})]})}function pP(e){function t({name:n="",data_key:r="",max:i=10,formatter:o=Ln}){return{name:n,data_key:r,max:i,formatter:o}}return e.map(t)}function hP({context:e}){const t=e.data,{value:n,set:r}=Je(e.instanceData,"config"),i=x.useMemo(()=>H.defaultsDeep({},n,hu),[n]),{dimensions:o,series_name_key:a}=i,s=x.useMemo(()=>({dimensions:pP(o!=null?o:[]),series_name_key:a}),[o,a]);x.useEffect(()=>{!H.isEqual(i,s)&&r(s)},[i,s]);const{control:u,handleSubmit:c,watch:f,getValues:h,reset:p}=j.useForm({defaultValues:s});x.useEffect(()=>{H.isEqual(h(),s)||p(s)},[i]),f(["series_name_key"]);const g=h(),v=x.useMemo(()=>!H.isEqual(g,i),[g,i]);return l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:c(r),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:l(le.DeviceFloppy,{size:20})})]}),l(d.Box,{py:"sm",children:l(j.Controller,{name:"series_name_key",control:u,render:({field:m})=>l(mt,{label:"Series Name Field",required:!0,data:t,sx:{flex:1},...m})})}),l(fP,{control:u,watch:f,data:t})]})})}class gP extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const vP={displayName:"Radar Chart",migrator:new gP,name:"radar",viewRender:cP,configRender:hP,createConfig(){return{version:1,config:H.cloneDeep(hu)}}};function mP(e,t){switch(e.config.method){case"linear":return[...ur.regressionLinear()(t)];case"exponential":return[...ur.regressionExp()(t)];case"logarithmic":return[...ur.regressionLog()(t)];case"polynomial":return[...ur.regressionPoly().order(e.config.order)(t)];default:return[]}}function yP({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:o,name:a}=e,s=mP(i,t);return n.push({...o,name:a,data:s,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const bP={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function wP(e,t){var o,a;const n=he.default.uniqBy(t.map(s=>[s[e.x_axis.data_key],s[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=yP(e,n),i={xAxis:{type:"category",name:(o=e.x_axis.name)!=null?o:"",axisTick:{show:!0,alignWithLabel:!0}},yAxis:{name:(a=e.y_axis.name)!=null?a:"",axisLine:{show:!0}},series:[{data:n,name:e.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...r]};return H.defaultsDeep({},i,bP)}function Ia(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function xP(e,t){if(!t)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:r,y_axis:i}=t,o=e.map(a=>[a[r.data_key],a[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const a=ur.regressionLinear()(o),{a:s,b:u,rSquared:c}=a;return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:u}),l(d.Text,{children:"+"}),l(d.Text,{weight:"bold",color:"gray",children:s}),l(d.Text,{children:"\xD7"}),l(d.Text,{children:r.name})]}),rSquared:c,adjustedRSquared:Ia(c,e.length,1)}}if(n.transform.config.method==="exponential"){const{a,b:s,rSquared:u}=ur.regressionExp()(o);return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:a}),l(d.Text,{children:"\xD7"}),b(d.Group,{position:"left",noWrap:!0,spacing:2,children:[l(d.Text,{children:"Math.exp("}),l(d.Text,{weight:"bold",color:"gray",children:s}),l(d.Text,{children:"\xD7"}),l(d.Text,{children:r.name}),l(d.Text,{children:")"})]})]}),rSquared:u,adjustedRSquared:Ia(u,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a,b:s,rSquared:u}=ur.regressionLog()(o);return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:a}),l(d.Text,{children:"\xD7"}),b(d.Group,{position:"left",noWrap:!0,spacing:2,children:[l(d.Text,{children:"Math.log("}),l(d.Text,{children:r.name}),l(d.Text,{children:")"}),l(d.Text,{children:"+"}),l(d.Text,{weight:"bold",color:"gray",children:s})]})]}),rSquared:u,adjustedRSquared:Ia(u,e.length,1)}}if(n.transform.config.method==="polynomial"){const a=ur.regressionPoly().order(n.transform.config.order)(o),{rSquared:s}=a;return console.log(a),{expression:"",rSquared:s,adjustedRSquared:Ia(s,e.length,1)}}return{expression:"",rSquared:0}}const gu={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis"},regression:{transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},plot:{type:"line",yAxisIndex:0,color:"#228be6",lineStyle:{type:"solid",width:1}},name:"regression",y_axis_data_key:"value"}};Rt.use([ut.DataZoomComponent,pn.ScatterChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]),Rt.registerTransform(Ms.transform.regression);function SP({context:e}){const{value:t}=Je(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=x.useMemo(()=>{var p;const f=e.data,h=(p=t==null?void 0:t.regression)==null?void 0:p.y_axis_data_key;return h?f.map(g=>typeof g[h]=="number"?g:{...g,[h]:Number(g[h])}):f},[e.data,t==null?void 0:t.regression.y_axis_data_key]),o=x.useMemo(()=>wP(H.defaultsDeep({},t,gu),i),[t,i]),{expression:a,rSquared:s,adjustedRSquared:u}=x.useMemo(()=>xP(i,t),[t,i]);if(!n||!r||!t)return null;let c=r;return a&&(c-=20),b(d.Box,{children:[a&&l(d.Text,{align:"center",size:12,children:a}),b(d.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[l(Hn.default,{echarts:Rt,option:o,style:{width:n-190,height:c}}),s&&l(d.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:b("tbody",{children:[b("tr",{children:[l("td",{children:"R-Sq"}),l("td",{style:{textAlign:"right"},children:Bt.default(s).format({output:"percent",mantissa:1})})]}),b("tr",{children:[l("td",{children:"R-Sq(Adjusted)"}),l("td",{style:{textAlign:"right"},children:Bt.default(u).format({output:"percent",mantissa:1})})]})]})})]})]})}const CP=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function _P({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"regression.name",control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>l(mt,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>l(d.Select,{label:"Method",data:CP,sx:{flex:1},...i})}),r==="polynomial"&&l(j.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>l(d.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>l(kn,{...i})})]})]})}function EP({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaults({},t,gu),[t]),{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});x.useEffect(()=>{c(i)},[i]),s(["x_axis","y_axis","regression"]);const f=u(),h=x.useMemo(()=>!H.isEqual(f,t),[f,t]);return l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[b(d.Accordion.Item,{value:"Axis",children:[l(d.Accordion.Control,{children:"Axis"}),b(d.Accordion.Panel,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.name",control:o,render:({field:p})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...p})}),l(j.Controller,{name:"x_axis.data_key",control:o,render:({field:p})=>l(mt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...p})})]}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:"y_axis.name",control:o,render:({field:p})=>l(d.TextInput,{label:"Y Axis Name",sx:{flex:1},...p})})})]})]}),b(d.Accordion.Item,{value:"Regression",children:[l(d.Accordion.Control,{children:"Regression Line"}),l(d.Accordion.Panel,{children:l(_P,{control:o,watch:s,data:r})})]})]})]})})}class TP extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const MP={displayName:"Regression Chart",migrator:new TP,name:"regressionChart",viewRender:SP,configRender:EP,createConfig(){return{version:1,config:H.cloneDeep(gu)}}},$a={content:""};function kP({context:e}){const{value:t}=Je(e.instanceData,"config"),n=x.useMemo(()=>H.defaults({},t,$a),[t]);return n!=null&&n.content?l(pg,{value:n.content,styles:{root:{border:"none",height:"100%"},content:{padding:0}}}):null}function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yt.apply(this,arguments)}function wt(e,t){if(e==null)return{};var n,r,i=function(a,s){if(a==null)return{};var u,c,f={},h=Object.keys(a);for(c=0;c<h.length;c++)u=h[c],s.indexOf(u)>=0||(f[u]=a[u]);return f}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var OP=["size","color","stroke"];function DP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,OP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-adjustments",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("circle",{cx:6,cy:10,r:2}),T.createElement("line",{x1:6,y1:4,x2:6,y2:8}),T.createElement("line",{x1:6,y1:12,x2:6,y2:20}),T.createElement("circle",{cx:12,cy:16,r:2}),T.createElement("line",{x1:12,y1:4,x2:12,y2:14}),T.createElement("line",{x1:12,y1:18,x2:12,y2:20}),T.createElement("circle",{cx:18,cy:7,r:2}),T.createElement("line",{x1:18,y1:4,x2:18,y2:5}),T.createElement("line",{x1:18,y1:9,x2:18,y2:20}))}var RP=["size","color","stroke"];function sv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,RP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-alert-triangle",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M12 9v2m0 4v.01"}),T.createElement("path",{d:"M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75"}))}var AP=["size","color","stroke"];function PP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,AP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-curve-right",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10 7l4 -4l4 4"}),T.createElement("path",{d:"M14 3v4.394a6.737 6.737 0 0 1 -3 5.606a6.737 6.737 0 0 0 -3 5.606v2.394"}))}var NP=["size","color","stroke"];function IP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,NP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-down",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:18,y1:13,x2:12,y2:19}),T.createElement("line",{x1:6,y1:13,x2:12,y2:19}))}var $P=["size","color","stroke"];function LP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,$P);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-left",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:5,y1:12,x2:19,y2:12}),T.createElement("line",{x1:5,y1:12,x2:11,y2:18}),T.createElement("line",{x1:5,y1:12,x2:11,y2:6}))}var VP=["size","color","stroke"];function zP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,VP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-up",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:18,y1:11,x2:12,y2:5}),T.createElement("line",{x1:6,y1:11,x2:12,y2:5}))}var FP=["size","color","stroke"];function BP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,FP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrows-left-right",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:21,y1:17,x2:3,y2:17}),T.createElement("path",{d:"M6 10l-3 -3l3 -3"}),T.createElement("line",{x1:3,y1:7,x2:21,y2:7}),T.createElement("path",{d:"M18 20l3 -3l-3 -3"}))}var jP=["size","color","stroke"];function GP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,jP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-box-multiple",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("rect",{x:7,y:3,width:14,height:14,rx:2}),T.createElement("path",{d:"M17 17v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"}))}var KP=["size","color","stroke"];function HP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,KP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-dashed",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95"}),T.createElement("path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44"}),T.createElement("path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92"}),T.createElement("path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69"}),T.createElement("path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95"}),T.createElement("path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44"}),T.createElement("path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92"}),T.createElement("path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69"}))}var WP=["size","color","stroke"];function qP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,WP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-dot",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("circle",{cx:12,cy:12,r:1}),T.createElement("circle",{cx:12,cy:12,r:9}))}var UP=["size","color","stroke"];function YP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,UP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-off",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M20.042 16.045a9 9 0 0 0 -12.087 -12.087m-2.318 1.677a9 9 0 1 0 12.725 12.73"}),T.createElement("path",{d:"M3 3l18 18"}))}var XP=["size","color","stroke"];function QP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,XP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-code-dots",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M15 12h.01"}),T.createElement("path",{d:"M12 12h.01"}),T.createElement("path",{d:"M9 12h.01"}),T.createElement("path",{d:"M6 19a2 2 0 0 1 -2 -2v-4l-1 -1l1 -1v-4a2 2 0 0 1 2 -2"}),T.createElement("path",{d:"M18 19a2 2 0 0 0 2 -2v-4l1 -1l-1 -1v-4a2 2 0 0 0 -2 -2"}))}var ZP=["size","color","stroke"];function JP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,ZP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-code",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("polyline",{points:"7 8 3 12 7 16"}),T.createElement("polyline",{points:"17 8 21 12 17 16"}),T.createElement("line",{x1:14,y1:4,x2:10,y2:20}))}var eN=["size","color","stroke"];function tN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,eN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-copy",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("rect",{x:8,y:8,width:12,height:12,rx:2}),T.createElement("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"}))}var nN=["size","color","stroke"];function lv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,nN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-database",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("ellipse",{cx:12,cy:6,rx:8,ry:3}),T.createElement("path",{d:"M4 6v6a8 3 0 0 0 16 0v-6"}),T.createElement("path",{d:"M4 12v6a8 3 0 0 0 16 0v-6"}))}var rN=["size","color","stroke"];function vu(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,rN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-device-floppy",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"}),T.createElement("circle",{cx:12,cy:14,r:2}),T.createElement("polyline",{points:"14 4 14 8 8 8 8 4"}))}var iN=["size","color","stroke"];function oN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,iN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-download",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"}),T.createElement("polyline",{points:"7 11 12 16 17 11"}),T.createElement("line",{x1:12,y1:4,x2:12,y2:16}))}var aN=["size","color","stroke"];function uv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,aN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-filter",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M5.5 5h13a1 1 0 0 1 .5 1.5l-5 5.5l0 7l-4 -3l0 -4l-5 -5.5a1 1 0 0 1 .5 -1.5"}))}var sN=["size","color","stroke"];function lN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,sN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-link",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"}),T.createElement("path",{d:"M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"}))}var uN=["size","color","stroke"];function cN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,uN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-playlist-add",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M19 8h-14"}),T.createElement("path",{d:"M5 12h9"}),T.createElement("path",{d:"M11 16h-6"}),T.createElement("path",{d:"M15 16h6"}),T.createElement("path",{d:"M18 13v6"}))}var dN=["size","color","stroke"];function bi(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,dN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-plus",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:5,y1:12,x2:19,y2:12}))}var fN=["size","color","stroke"];function pN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,fN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-recycle",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M12 17l-2 2l2 2"}),T.createElement("path",{d:"M10 19h9a2 2 0 0 0 1.75 -2.75l-.55 -1"}),T.createElement("path",{d:"M8.536 11l-.732 -2.732l-2.732 .732"}),T.createElement("path",{d:"M7.804 8.268l-4.5 7.794a2 2 0 0 0 1.506 2.89l1.141 .024"}),T.createElement("path",{d:"M15.464 11l2.732 .732l.732 -2.732"}),T.createElement("path",{d:"M18.196 11.732l-4.5 -7.794a2 2 0 0 0 -3.256 -.14l-.591 .976"}))}var hN=["size","color","stroke"];function gN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,hN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-settings",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"}),T.createElement("circle",{cx:12,cy:12,r:3}))}var vN=["size","color","stroke"];function cv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,vN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-trash",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:4,y1:7,x2:20,y2:7}),T.createElement("line",{x1:10,y1:11,x2:10,y2:17}),T.createElement("line",{x1:14,y1:11,x2:14,y2:17}),T.createElement("path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"}),T.createElement("path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"}))}var mN=["size","color","stroke"];function yN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,mN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-variable",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M5 4c-2.5 5 -2.5 10 0 16m14 -16c2.5 5 2.5 10 0 16m-10 -11h1c1 0 1 1 2.016 3.527c.984 2.473 .984 3.473 1.984 3.473h1"}),T.createElement("path",{d:"M8 16c1.5 0 3 -2 4 -3.5s2.5 -3.5 4 -3.5"}))}var bN=["size","color","stroke"];function wN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,bN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-x",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:18,y1:6,x2:6,y2:18}),T.createElement("line",{x1:6,y1:6,x2:18,y2:18}))}const dv=x.forwardRef(({value:e,onChange:t,styles:n={},label:r,onSubmit:i},o)=>{const[a,s]=x.useState(e),u=id.useEditor({extensions:[ad.default,fg,nt.Link,cg,ug,sg,dg.configure({types:["heading","paragraph"]}),lg.configure({placeholder:"This is placeholder"}),og,ag],content:a,onUpdate:({editor:p})=>{s(p.getHTML())}});x.useEffect(()=>{s(e),u==null||u.commands.setContent(e)},[e]);const c=()=>{t(a),i==null||i()},f=e!==a,h=x.useMemo(()=>he.default.defaultsDeep({},{content:Kl},n),[n]);return b(d.Stack,{spacing:4,sx:{flexGrow:1,position:"relative"},children:[b(d.Group,{align:"center",children:[l(d.Text,{size:14,fw:500,children:r}),l(d.ActionIcon,{color:"blue",disabled:!f,onClick:c,children:l(vu,{size:18})})]}),b(nt.RichTextEditor,{editor:u,styles:h,children:[b(nt.RichTextEditor.Toolbar,{sticky:!0,stickyOffset:0,children:[l(nt.RichTextEditor.ControlsGroup,{children:l(nt.RichTextEditor.ColorPicker,{colors:["#25262b","#868e96","#fa5252","#e64980","#be4bdb","#7950f2","#4c6ef5","#228be6","#15aabf","#12b886","#40c057","#82c91e","#fab005","#fd7e14"]})}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Bold,{}),l(nt.RichTextEditor.Italic,{}),l(nt.RichTextEditor.Underline,{}),l(nt.RichTextEditor.Strikethrough,{}),l(nt.RichTextEditor.ClearFormatting,{}),l(nt.RichTextEditor.Highlight,{}),l(nt.RichTextEditor.Code,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.H1,{}),l(nt.RichTextEditor.H2,{}),l(nt.RichTextEditor.H3,{}),l(nt.RichTextEditor.H4,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Blockquote,{}),l(nt.RichTextEditor.Hr,{}),l(nt.RichTextEditor.BulletList,{}),l(nt.RichTextEditor.OrderedList,{}),l(nt.RichTextEditor.Subscript,{}),l(nt.RichTextEditor.Superscript,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Link,{}),l(nt.RichTextEditor.Unlink,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.AlignLeft,{}),l(nt.RichTextEditor.AlignCenter,{}),l(nt.RichTextEditor.AlignJustify,{}),l(nt.RichTextEditor.AlignRight,{})]})]}),l(nt.RichTextEditor.Content,{})]})]})});function xN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaults({},t,$a),[t]),{control:i,handleSubmit:o,watch:a,reset:s}=j.useForm({defaultValues:r});a("content"),x.useEffect(()=>{s(r)},[r]);const u=x.useRef(null),c=()=>{var f;return(f=u.current)==null?void 0:f.click()};return l("form",{onSubmit:o(n),style:{flexGrow:1,display:"flex",flexDirection:"column"},children:b(d.Stack,{spacing:"xs",sx:{flexGrow:1},children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",display:"none"},children:[l(d.Text,{children:"Content"}),l(d.ActionIcon,{ref:u,type:"submit",mr:5,variant:"filled",color:"blue",children:l(le.DeviceFloppy,{size:20})})]}),l(j.Controller,{name:"content",control:i,render:({field:f})=>l(dv,{...f,styles:{root:{flexGrow:1}},label:"Content",onSubmit:c})})]})})}class SN extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}fixMalformedConfig(n){return H.defaults({},n,$a)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const CN={displayName:"Rich Text",migrator:new SN,name:"richText",viewRender:kP,configRender:xN,createConfig(){return{version:1,config:H.cloneDeep($a)}}},mu={align:"center",template:"The variable ${value} is defined in Variables section"};function _N(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:o="",data_field:a="value",formatter:s={output:"number",mantissa:0},postfix:u=""}={}}=e;return{align:t,template:`${o} \${value} ${u}`,variables:[{name:"value",data_field:a,aggregation:{type:"none",config:{}},formatter:s,color:i,weight:r,size:n}]}}function EN(e){return H.omit(e,["variables"])}function TN(e){const t=H.cloneDeep(e),n=H.get(t,"color.valueRange");return n!==void 0&&H.set(t,"color.valueRange",n.map(r=>Number(r))),t}class MN extends tn{constructor(){super(...arguments);Re(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:_N(n)})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(s=>s.name===a.name)||r.addVariable(TN(a))}),{...n,version:2,config:EN(i)}})}}const kN=te.observer(({context:e})=>{const t=Le(),{value:n=mu}=Je(e.instanceData,"config"),{variables:r}=e,{template:i,align:o}=n,a=x.useMemo(()=>{try{const u={filters:t.filters.values,context:t.context.current};return he.default.template(i)(u)}catch{return i}},[t.filters.values,t.context.current,i]),s=x.useMemo(()=>uo(a,r,e.data),[a,r,e.data,e]);return l(d.Text,{align:o,children:Object.values(s).map((u,c)=>l(Z.default.Fragment,{children:u},c))})}),ON=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function DN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=Z.default.useMemo(()=>{const{align:h,template:p=""}=H.defaultsDeep({},t,mu);return{template:p,align:h}},[t]),{control:i,handleSubmit:o,watch:a,getValues:s,reset:u}=j.useForm({defaultValues:r});Z.default.useEffect(()=>{u(r)},[r]),a(["template","align"]);const c=s(),f=Z.default.useMemo(()=>!he.default.isEqual(c,t),[c,t]);return l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:o(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{weight:500,children:"Stats Configurations"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:l(le.DeviceFloppy,{size:20})})]}),l(j.Controller,{name:"template",control:i,render:({field:h})=>l(io,{label:"Template",py:"md",sx:{flexGrow:1},...h})}),l(j.Controller,{name:"align",control:i,render:({field:h})=>l(d.Select,{label:"Horizontal Alignment",data:ON,...h})})]})})}const RN={createConfig(){return{version:2,config:mu}},displayName:"Stats",migrator:new MN,name:"stats",viewRender:kN,configRender:DN},yu={label_key:"",value_key:"",group_key:"",levels:[]};function AN(e){const t=new Set(e.map(r=>r.parent_id)),n=new Set(e.map(r=>r.id));return t.forEach(r=>{r===null||n.has(r)||e.push({id:r,name:r,parent_id:null})}),e}function PN(e){const t=AN(e).map(i=>({...i,children:[]})),n=he.default.keyBy(t,i=>i.id),r=[];return t.forEach(i=>{if(!i.parent_id||!n[i.parent_id]){r.push(i);return}n[i.parent_id].children.push(i)}),r}function NN(e,t){const{label_key:n,value_key:r,group_key:i}=e,o=n,a=t.map(s=>({...s,id:s[o],parent_id:s[i],name:s[n],value:s[r]?Number(s[r]):s[r]}));return i?PN(a):a}const IN=e=>({treePathInfo:t,name:n,value:r})=>{if(t.length===1||!e)return n;try{const i=t[t.length-2].value;if(r/i<e)return" "}catch{return n}};function $N(e){const{levels:t}=e;return t.map(n=>{const{show_label_tolerance:r,...i}=n.label;return{...n,label:{...i,formatter:IN(r)}}})}function LN(){return({treePathInfo:e,name:t,value:n,color:r,marker:i,...o})=>{const a=e.slice(0,e.length-1),s=[`<tr>
|
|
191
|
+
`}}const lP={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function uP(e,t){const n=["#66B4DB","#39BFA2","#E46464","#33A678","#EEBA00","#9D88CB","#939943","#E49792","#09A2B8","#AF5F6B","#6CA157","#09A2B8","#6398C7","#E692BA","#97B566","#8CACE2","#CA79AC","#6DBC80","#B08F4B","#826BAF"],r=e.dimensions.map(({name:a,max:s})=>({name:a,max:s})),i=t.map(a=>({value:e.dimensions.map(({data_key:s})=>a[s]),name:a[e.series_name_key]})),o={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,formatter:sP(e)},legend:{show:!0,left:"center"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},areaStyle:{opacity:.4},label:aP(e)},color:n};return he.default.merge({},lP,o)}const hu={series_name_key:"name",dimensions:[]};Rt.use([pn.RadarChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]);function cP({context:e}){const{value:t}=Je(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=e.data,o=x.useMemo(()=>uP(H.defaultsDeep({},t,hu),i),[t,i]);return!n||!r||!t||H.isEmpty(t==null?void 0:t.dimensions)?null:l(d.Box,{children:l(Hn.default,{echarts:Rt,option:o,style:{width:n,height:r}})})}function dP({control:e,index:t,remove:n,data:r}){return b(d.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>l(mt,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),l(j.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),l(j.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>l($r,{...i})})]}),l(d.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:l(le.Trash,{size:16})})]},t)}function fP({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"dimensions"}),a=t("dimensions"),s=r.map((c,f)=>({...c,...a[f]})),u=()=>i({name:Ut.randomId(),data_key:"",max:100,formatter:Ln});return b(d.Stack,{children:[s.map((c,f)=>l(dP,{data:n,control:e,index:f,remove:o})),l(d.Group,{position:"center",mt:"xs",children:l(d.Button,{onClick:u,children:"Add a Dimension"})})]})}function pP(e){function t({name:n="",data_key:r="",max:i=10,formatter:o=Ln}){return{name:n,data_key:r,max:i,formatter:o}}return e.map(t)}function hP({context:e}){const t=e.data,{value:n,set:r}=Je(e.instanceData,"config"),i=x.useMemo(()=>H.defaultsDeep({},n,hu),[n]),{dimensions:o,series_name_key:a}=i,s=x.useMemo(()=>({dimensions:pP(o!=null?o:[]),series_name_key:a}),[o,a]);x.useEffect(()=>{!H.isEqual(i,s)&&r(s)},[i,s]);const{control:u,handleSubmit:c,watch:f,getValues:h,reset:p}=j.useForm({defaultValues:s});x.useEffect(()=>{H.isEqual(h(),s)||p(s)},[i]),f(["series_name_key"]);const g=h(),v=x.useMemo(()=>!H.isEqual(g,i),[g,i]);return l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:c(r),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:l(le.DeviceFloppy,{size:20})})]}),l(d.Box,{py:"sm",children:l(j.Controller,{name:"series_name_key",control:u,render:({field:m})=>l(mt,{label:"Series Name Field",required:!0,data:t,sx:{flex:1},...m})})}),l(fP,{control:u,watch:f,data:t})]})})}class gP extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const vP={displayName:"Radar Chart",migrator:new gP,name:"radar",viewRender:cP,configRender:hP,createConfig(){return{version:1,config:H.cloneDeep(hu)}}};function mP(e,t){switch(e.config.method){case"linear":return[...ur.regressionLinear()(t)];case"exponential":return[...ur.regressionExp()(t)];case"logarithmic":return[...ur.regressionLog()(t)];case"polynomial":return[...ur.regressionPoly().order(e.config.order)(t)];default:return[]}}function yP({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:o,name:a}=e,s=mP(i,t);return n.push({...o,name:a,data:s,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const bP={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function wP(e,t){var o,a;const n=he.default.uniqBy(t.map(s=>[s[e.x_axis.data_key],s[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=yP(e,n),i={xAxis:{type:"category",name:(o=e.x_axis.name)!=null?o:"",axisTick:{show:!0,alignWithLabel:!0}},yAxis:{name:(a=e.y_axis.name)!=null?a:"",axisLine:{show:!0}},series:[{data:n,name:e.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...r]};return H.defaultsDeep({},i,bP)}function Ia(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function xP(e,t){if(!t)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:r,y_axis:i}=t,o=e.map(a=>[a[r.data_key],a[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const a=ur.regressionLinear()(o),{a:s,b:u,rSquared:c}=a;return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:u}),l(d.Text,{children:"+"}),l(d.Text,{weight:"bold",color:"gray",children:s}),l(d.Text,{children:"\xD7"}),l(d.Text,{children:r.name})]}),rSquared:c,adjustedRSquared:Ia(c,e.length,1)}}if(n.transform.config.method==="exponential"){const{a,b:s,rSquared:u}=ur.regressionExp()(o);return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:a}),l(d.Text,{children:"\xD7"}),b(d.Group,{position:"left",noWrap:!0,spacing:2,children:[l(d.Text,{children:"Math.exp("}),l(d.Text,{weight:"bold",color:"gray",children:s}),l(d.Text,{children:"\xD7"}),l(d.Text,{children:r.name}),l(d.Text,{children:")"})]})]}),rSquared:u,adjustedRSquared:Ia(u,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a,b:s,rSquared:u}=ur.regressionLog()(o);return{expression:b(d.Group,{position:"center",noWrap:!0,spacing:10,children:[l(d.Text,{children:i.name}),l(d.Text,{children:"="}),l(d.Text,{weight:"bold",color:"gray",children:a}),l(d.Text,{children:"\xD7"}),b(d.Group,{position:"left",noWrap:!0,spacing:2,children:[l(d.Text,{children:"Math.log("}),l(d.Text,{children:r.name}),l(d.Text,{children:")"}),l(d.Text,{children:"+"}),l(d.Text,{weight:"bold",color:"gray",children:s})]})]}),rSquared:u,adjustedRSquared:Ia(u,e.length,1)}}if(n.transform.config.method==="polynomial"){const a=ur.regressionPoly().order(n.transform.config.order)(o),{rSquared:s}=a;return console.log(a),{expression:"",rSquared:s,adjustedRSquared:Ia(s,e.length,1)}}return{expression:"",rSquared:0}}const gu={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis"},regression:{transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},plot:{type:"line",yAxisIndex:0,color:"#228be6",lineStyle:{type:"solid",width:1}},name:"regression",y_axis_data_key:"value"}};Rt.use([ut.DataZoomComponent,pn.ScatterChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer]),Rt.registerTransform(Ms.transform.regression);function SP({context:e}){const{value:t}=Je(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=x.useMemo(()=>{var p;const f=e.data,h=(p=t==null?void 0:t.regression)==null?void 0:p.y_axis_data_key;return h?f.map(g=>typeof g[h]=="number"?g:{...g,[h]:Number(g[h])}):f},[e.data,t==null?void 0:t.regression.y_axis_data_key]),o=x.useMemo(()=>wP(H.defaultsDeep({},t,gu),i),[t,i]),{expression:a,rSquared:s,adjustedRSquared:u}=x.useMemo(()=>xP(i,t),[t,i]);if(!n||!r||!t)return null;let c=r;return a&&(c-=20),b(d.Box,{children:[a&&l(d.Text,{align:"center",size:12,children:a}),b(d.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[l(Hn.default,{echarts:Rt,option:o,style:{width:n-190,height:c}}),s&&l(d.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:b("tbody",{children:[b("tr",{children:[l("td",{children:"R-Sq"}),l("td",{style:{textAlign:"right"},children:Bt.default(s).format({output:"percent",mantissa:1})})]}),b("tr",{children:[l("td",{children:"R-Sq(Adjusted)"}),l("td",{style:{textAlign:"right"},children:Bt.default(u).format({output:"percent",mantissa:1})})]})]})})]})]})}const CP=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function _P({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"regression.name",control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>l(mt,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>l(d.Select,{label:"Method",data:CP,sx:{flex:1},...i})}),r==="polynomial"&&l(j.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>l(d.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>l(kn,{...i})})]})]})}function EP({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaults({},t,gu),[t]),{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});x.useEffect(()=>{c(i)},[i]),s(["x_axis","y_axis","regression"]);const f=u(),h=x.useMemo(()=>!H.isEqual(f,t),[f,t]);return l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[b(d.Accordion.Item,{value:"Axis",children:[l(d.Accordion.Control,{children:"Axis"}),b(d.Accordion.Panel,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.name",control:o,render:({field:p})=>l(d.TextInput,{label:"X Axis Name",sx:{flex:1},...p})}),l(j.Controller,{name:"x_axis.data_key",control:o,render:({field:p})=>l(mt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...p})})]}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:"y_axis.name",control:o,render:({field:p})=>l(d.TextInput,{label:"Y Axis Name",sx:{flex:1},...p})})})]})]}),b(d.Accordion.Item,{value:"Regression",children:[l(d.Accordion.Control,{children:"Regression Line"}),l(d.Accordion.Panel,{children:l(_P,{control:o,watch:s,data:r})})]})]})]})})}class TP extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const MP={displayName:"Regression Chart",migrator:new TP,name:"regressionChart",viewRender:SP,configRender:EP,createConfig(){return{version:1,config:H.cloneDeep(gu)}}},$a={content:""};function kP({context:e}){const{value:t}=Je(e.instanceData,"config"),n=x.useMemo(()=>H.defaults({},t,$a),[t]);return n!=null&&n.content?l(pg,{value:n.content,styles:{root:{border:"none",height:"100%"},content:{padding:0}}}):null}function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yt.apply(this,arguments)}function wt(e,t){if(e==null)return{};var n,r,i=function(a,s){if(a==null)return{};var u,c,f={},h=Object.keys(a);for(c=0;c<h.length;c++)u=h[c],s.indexOf(u)>=0||(f[u]=a[u]);return f}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var OP=["size","color","stroke"];function DP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,OP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-adjustments",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("circle",{cx:6,cy:10,r:2}),T.createElement("line",{x1:6,y1:4,x2:6,y2:8}),T.createElement("line",{x1:6,y1:12,x2:6,y2:20}),T.createElement("circle",{cx:12,cy:16,r:2}),T.createElement("line",{x1:12,y1:4,x2:12,y2:14}),T.createElement("line",{x1:12,y1:18,x2:12,y2:20}),T.createElement("circle",{cx:18,cy:7,r:2}),T.createElement("line",{x1:18,y1:4,x2:18,y2:5}),T.createElement("line",{x1:18,y1:9,x2:18,y2:20}))}var RP=["size","color","stroke"];function sv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,RP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-alert-triangle",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M12 9v2m0 4v.01"}),T.createElement("path",{d:"M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75"}))}var AP=["size","color","stroke"];function PP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,AP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-curve-right",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10 7l4 -4l4 4"}),T.createElement("path",{d:"M14 3v4.394a6.737 6.737 0 0 1 -3 5.606a6.737 6.737 0 0 0 -3 5.606v2.394"}))}var NP=["size","color","stroke"];function IP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,NP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-down",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:18,y1:13,x2:12,y2:19}),T.createElement("line",{x1:6,y1:13,x2:12,y2:19}))}var $P=["size","color","stroke"];function LP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,$P);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-left",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:5,y1:12,x2:19,y2:12}),T.createElement("line",{x1:5,y1:12,x2:11,y2:18}),T.createElement("line",{x1:5,y1:12,x2:11,y2:6}))}var VP=["size","color","stroke"];function zP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,VP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-up",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:18,y1:11,x2:12,y2:5}),T.createElement("line",{x1:6,y1:11,x2:12,y2:5}))}var FP=["size","color","stroke"];function BP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,FP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrows-left-right",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:21,y1:17,x2:3,y2:17}),T.createElement("path",{d:"M6 10l-3 -3l3 -3"}),T.createElement("line",{x1:3,y1:7,x2:21,y2:7}),T.createElement("path",{d:"M18 20l3 -3l-3 -3"}))}var jP=["size","color","stroke"];function GP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,jP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-box-multiple",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("rect",{x:7,y:3,width:14,height:14,rx:2}),T.createElement("path",{d:"M17 17v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2"}))}var KP=["size","color","stroke"];function HP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,KP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-dashed",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95"}),T.createElement("path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44"}),T.createElement("path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92"}),T.createElement("path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69"}),T.createElement("path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95"}),T.createElement("path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44"}),T.createElement("path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92"}),T.createElement("path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69"}))}var WP=["size","color","stroke"];function qP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,WP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-dot",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("circle",{cx:12,cy:12,r:1}),T.createElement("circle",{cx:12,cy:12,r:9}))}var UP=["size","color","stroke"];function YP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,UP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-circle-off",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M20.042 16.045a9 9 0 0 0 -12.087 -12.087m-2.318 1.677a9 9 0 1 0 12.725 12.73"}),T.createElement("path",{d:"M3 3l18 18"}))}var XP=["size","color","stroke"];function QP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,XP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-code-dots",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M15 12h.01"}),T.createElement("path",{d:"M12 12h.01"}),T.createElement("path",{d:"M9 12h.01"}),T.createElement("path",{d:"M6 19a2 2 0 0 1 -2 -2v-4l-1 -1l1 -1v-4a2 2 0 0 1 2 -2"}),T.createElement("path",{d:"M18 19a2 2 0 0 0 2 -2v-4l1 -1l-1 -1v-4a2 2 0 0 0 -2 -2"}))}var ZP=["size","color","stroke"];function JP(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,ZP);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-code",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("polyline",{points:"7 8 3 12 7 16"}),T.createElement("polyline",{points:"17 8 21 12 17 16"}),T.createElement("line",{x1:14,y1:4,x2:10,y2:20}))}var eN=["size","color","stroke"];function tN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,eN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-copy",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("rect",{x:8,y:8,width:12,height:12,rx:2}),T.createElement("path",{d:"M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2"}))}var nN=["size","color","stroke"];function lv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,nN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-database",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("ellipse",{cx:12,cy:6,rx:8,ry:3}),T.createElement("path",{d:"M4 6v6a8 3 0 0 0 16 0v-6"}),T.createElement("path",{d:"M4 12v6a8 3 0 0 0 16 0v-6"}))}var rN=["size","color","stroke"];function vu(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,rN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-device-floppy",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2"}),T.createElement("circle",{cx:12,cy:14,r:2}),T.createElement("polyline",{points:"14 4 14 8 8 8 8 4"}))}var iN=["size","color","stroke"];function oN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,iN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-download",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2"}),T.createElement("polyline",{points:"7 11 12 16 17 11"}),T.createElement("line",{x1:12,y1:4,x2:12,y2:16}))}var aN=["size","color","stroke"];function uv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,aN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-filter",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M5.5 5h13a1 1 0 0 1 .5 1.5l-5 5.5l0 7l-4 -3l0 -4l-5 -5.5a1 1 0 0 1 .5 -1.5"}))}var sN=["size","color","stroke"];function lN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,sN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-link",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"}),T.createElement("path",{d:"M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"}))}var uN=["size","color","stroke"];function cN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,uN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-playlist-add",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M19 8h-14"}),T.createElement("path",{d:"M5 12h9"}),T.createElement("path",{d:"M11 16h-6"}),T.createElement("path",{d:"M15 16h6"}),T.createElement("path",{d:"M18 13v6"}))}var dN=["size","color","stroke"];function bi(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,dN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-plus",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:12,y1:5,x2:12,y2:19}),T.createElement("line",{x1:5,y1:12,x2:19,y2:12}))}var fN=["size","color","stroke"];function pN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,fN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-recycle",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M12 17l-2 2l2 2"}),T.createElement("path",{d:"M10 19h9a2 2 0 0 0 1.75 -2.75l-.55 -1"}),T.createElement("path",{d:"M8.536 11l-.732 -2.732l-2.732 .732"}),T.createElement("path",{d:"M7.804 8.268l-4.5 7.794a2 2 0 0 0 1.506 2.89l1.141 .024"}),T.createElement("path",{d:"M15.464 11l2.732 .732l.732 -2.732"}),T.createElement("path",{d:"M18.196 11.732l-4.5 -7.794a2 2 0 0 0 -3.256 -.14l-.591 .976"}))}var hN=["size","color","stroke"];function gN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,hN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-settings",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z"}),T.createElement("circle",{cx:12,cy:12,r:3}))}var vN=["size","color","stroke"];function cv(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,vN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-trash",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:4,y1:7,x2:20,y2:7}),T.createElement("line",{x1:10,y1:11,x2:10,y2:17}),T.createElement("line",{x1:14,y1:11,x2:14,y2:17}),T.createElement("path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"}),T.createElement("path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"}))}var mN=["size","color","stroke"];function yN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,mN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-variable",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("path",{d:"M5 4c-2.5 5 -2.5 10 0 16m14 -16c2.5 5 2.5 10 0 16m-10 -11h1c1 0 1 1 2.016 3.527c.984 2.473 .984 3.473 1.984 3.473h1"}),T.createElement("path",{d:"M8 16c1.5 0 3 -2 4 -3.5s2.5 -3.5 4 -3.5"}))}var bN=["size","color","stroke"];function wN(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,o=e.stroke,a=o===void 0?2:o,s=wt(e,bN);return T.createElement("svg",yt({xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-x",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:a,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},s),T.createElement("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),T.createElement("line",{x1:18,y1:6,x2:6,y2:18}),T.createElement("line",{x1:6,y1:6,x2:18,y2:18}))}const dv=x.forwardRef(({value:e,onChange:t,styles:n={},label:r,onSubmit:i},o)=>{const[a,s]=x.useState(e),u=id.useEditor({extensions:[ad.default,fg,nt.Link,cg,ug,sg,dg.configure({types:["heading","paragraph"]}),lg.configure({placeholder:"This is placeholder"}),og,ag],content:a,onUpdate:({editor:p})=>{s(p.getHTML())}});x.useEffect(()=>{s(e),u==null||u.commands.setContent(e)},[e]);const c=()=>{t(a),i==null||i()},f=e!==a,h=x.useMemo(()=>he.default.defaultsDeep({},{content:Kl},n),[n]);return b(d.Stack,{spacing:4,sx:{flexGrow:1,position:"relative"},children:[b(d.Group,{align:"center",children:[l(d.Text,{size:14,fw:500,children:r}),l(d.ActionIcon,{color:"blue",disabled:!f,onClick:c,children:l(vu,{size:18})})]}),b(nt.RichTextEditor,{editor:u,styles:h,children:[b(nt.RichTextEditor.Toolbar,{sticky:!0,stickyOffset:0,children:[l(nt.RichTextEditor.ControlsGroup,{children:l(nt.RichTextEditor.ColorPicker,{colors:["#25262b","#868e96","#fa5252","#e64980","#be4bdb","#7950f2","#4c6ef5","#228be6","#15aabf","#12b886","#40c057","#82c91e","#fab005","#fd7e14"]})}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Bold,{}),l(nt.RichTextEditor.Italic,{}),l(nt.RichTextEditor.Underline,{}),l(nt.RichTextEditor.Strikethrough,{}),l(nt.RichTextEditor.ClearFormatting,{}),l(nt.RichTextEditor.Highlight,{}),l(nt.RichTextEditor.Code,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.H1,{}),l(nt.RichTextEditor.H2,{}),l(nt.RichTextEditor.H3,{}),l(nt.RichTextEditor.H4,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Blockquote,{}),l(nt.RichTextEditor.Hr,{}),l(nt.RichTextEditor.BulletList,{}),l(nt.RichTextEditor.OrderedList,{}),l(nt.RichTextEditor.Subscript,{}),l(nt.RichTextEditor.Superscript,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.Link,{}),l(nt.RichTextEditor.Unlink,{})]}),b(nt.RichTextEditor.ControlsGroup,{children:[l(nt.RichTextEditor.AlignLeft,{}),l(nt.RichTextEditor.AlignCenter,{}),l(nt.RichTextEditor.AlignJustify,{}),l(nt.RichTextEditor.AlignRight,{})]})]}),l(nt.RichTextEditor.Content,{})]})]})});function xN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaults({},t,$a),[t]),{control:i,handleSubmit:o,watch:a,reset:s}=j.useForm({defaultValues:r});a("content"),x.useEffect(()=>{s(r)},[r]);const u=x.useRef(null),c=()=>{var f;return(f=u.current)==null?void 0:f.click()};return l("form",{onSubmit:o(n),style:{flexGrow:1,display:"flex",flexDirection:"column"},children:b(d.Stack,{spacing:"xs",sx:{flexGrow:1},children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",display:"none"},children:[l(d.Text,{children:"Content"}),l(d.ActionIcon,{ref:u,type:"submit",mr:5,variant:"filled",color:"blue",children:l(le.DeviceFloppy,{size:20})})]}),l(j.Controller,{name:"content",control:i,render:({field:f})=>l(dv,{...f,styles:{root:{flexGrow:1}},label:"Content",onSubmit:c})})]})})}class SN extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}fixMalformedConfig(n){return H.defaults({},n,$a)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const CN={displayName:"Rich Text",migrator:new SN,name:"richText",viewRender:kP,configRender:xN,createConfig(){return{version:1,config:H.cloneDeep($a)}}},mu={align:"center",template:"The variable ${value} is defined in Variables section"};function _N(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:o="",data_field:a="value",formatter:s={output:"number",mantissa:0},postfix:u=""}={}}=e;return{align:t,template:`${o} \${value} ${u}`,variables:[{name:"value",data_field:a,aggregation:{type:"none",config:{}},formatter:s,color:i,weight:r,size:n}]}}function EN(e){return H.omit(e,["variables"])}function TN(e){const t=H.cloneDeep(e),n=H.get(t,"color.valueRange");return n!==void 0&&H.set(t,"color.valueRange",n.map(r=>Number(r))),t}class MN extends tn{constructor(){super(...arguments);Re(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:_N(n)})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(s=>s.name===a.name)||r.addVariable(TN(a))}),{...n,version:2,config:EN(i)}})}}const kN=te.observer(({context:e})=>{const t=Le(),{value:n=mu}=Je(e.instanceData,"config"),{variables:r}=e,{template:i,align:o}=n,a=x.useMemo(()=>{try{const u={filters:t.filters.values,context:t.context.current};return he.default.template(i)(u)}catch{return i}},[t.filters.values,t.context.current,i]),s=x.useMemo(()=>uo(a,r,e.data),[a,r,e.data,e]);return l(d.Text,{align:o,children:Object.values(s).map((u,c)=>l(Z.default.Fragment,{children:u},c))})}),ON=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function DN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=Z.default.useMemo(()=>{const{align:h,template:p=""}=H.defaultsDeep({},t,mu);return{template:p,align:h}},[t]),{control:i,handleSubmit:o,watch:a,getValues:s,reset:u}=j.useForm({defaultValues:r});Z.default.useEffect(()=>{u(r)},[r]),a(["template","align"]);const c=s(),f=Z.default.useMemo(()=>!he.default.isEqual(c,t),[c,t]);return l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:o(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{weight:500,children:"Stats Configurations"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:l(le.DeviceFloppy,{size:20})})]}),l(j.Controller,{name:"template",control:i,render:({field:h})=>l(io,{label:"Template",py:"md",sx:{flexGrow:1},...h})}),l(j.Controller,{name:"align",control:i,render:({field:h})=>l(d.Select,{label:"Horizontal Alignment",data:ON,...h})})]})})}const RN={createConfig(){return{version:2,config:mu}},displayName:"Stats",migrator:new MN,name:"stats",viewRender:kN,configRender:DN},yu={label_key:"",value_key:"",group_key:"",levels:[]};function AN(e){const t=new Set(e.map(r=>r.parent_id)),n=new Set(e.map(r=>r.id));return t.forEach(r=>{r===null||n.has(r)||e.push({id:r,name:r,parent_id:null})}),e}function PN(e){const t=AN(e).map(i=>({...i,children:[]})),n=he.default.keyBy(t,i=>i.id),r=[];return t.forEach(i=>{if(!i.parent_id||!n[i.parent_id]){r.push(i);return}n[i.parent_id].children.push(i)}),r}function NN(e,t){const{label_key:n,value_key:r,group_key:i}=e,o=n,a=t.map(s=>({...s,id:s[o],parent_id:s[i],name:s[n],value:s[r]?Number(s[r]):s[r]}));return i?PN(a):a}const IN=e=>({treePathInfo:t,name:n,value:r})=>{if(t.length===1||!e)return n;try{const i=t[t.length-2].value;if(r/i<e)return" "}catch{return n}};function $N(e){const{levels:t}=e;return t.map(n=>{const{show_label_tolerance:r,...i}=n.label;return{...n,label:{...i,formatter:IN(r)}}})}function LN(){return({treePathInfo:e,name:t,value:n,color:r,marker:i,...o})=>{const a=e.slice(0,e.length-1),s=[`<tr>
|
|
192
192
|
<th style="text-align: right; padding: 0 1em;">Value</th>
|
|
193
193
|
<td style="text-align: left; padding: 0 1em;">${n}</td>
|
|
194
194
|
</tr>
|
|
@@ -206,7 +206,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
206
206
|
<table style="width: auto">
|
|
207
207
|
<tbody>${s.join("")}</tbody>
|
|
208
208
|
</table>
|
|
209
|
-
`}}function VN(){return{show:!0,trigger:"item",confine:!0,formatter:LN()}}const zN={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function FN(e,t,n){n.reduce((o,a)=>{const s=Da(a,t);return o[a.name]=mi(a,s),o},{});const i={series:{data:NN(e,t),levels:$N(e)},tooltip:VN()};return H.defaultsDeep({},i,zN)}Rt.use([pn.SunburstChart,Kn.CanvasRenderer]);function BN({context:e}){const{variables:t}=e,{value:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaults({},n,yu),[n]),i=e.data,{width:o,height:a}=e.viewport,s=x.useMemo(()=>FN(r,i,t),[r,i,t]);return!o||!a?null:l(Hn.default,{echarts:Rt,option:s,style:{width:o,height:a}})}function jN({data:e,control:t,watch:n}){return n(["label_key","value_key","group_key"]),b(d.Stack,{children:[l(j.Controller,{name:"label_key",control:t,render:({field:r})=>l(mt,{label:"Label Key",required:!0,data:e,...r})}),l(j.Controller,{name:"value_key",control:t,render:({field:r})=>l(mt,{label:"Value Key",required:!0,data:e,...r})}),l(j.Controller,{name:"group_key",control:t,render:({field:r})=>l(mt,{label:"Group Key",data:e,clearable:!0,...r})})]})}const GN=[{label:"Radial",value:"radial"},{label:"Tangential",value:"tangential"},{label:"None",value:"0"}],KN=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],HN=[{label:"Top",value:"top"},{label:"Left",value:"left"},{label:"Right",value:"right"},{label:"Bottom",value:"bottom"},{label:"Outside",value:"outside"},{label:"Inside",value:"inside"},{label:"InsideLeft",value:"insideLeft"},{label:"InsideRight",value:"insideRight"},{label:"InsideTop",value:"insideTop"},{label:"InsideBottom",value:"insideBottom"},{label:"InsideTopLeft",value:"insideTopLeft"},{label:"InsideBottomLeft",value:"insideBottomLeft"},{label:"InsideTopRight",value:"insideTopRight"},{label:"InsideBottomRight",value:"insideBottomRight"}],WN=({control:e,data:t,index:n,remove:r})=>b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.r0`,control:e,render:({field:i})=>l(d.TextInput,{label:"Inside Radius",placeholder:"0%",...i})}),l(j.Controller,{name:`levels.${n}.r`,control:e,render:({field:i})=>l(d.TextInput,{label:"Outside Radius",placeholder:"50%",...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),l(j.Controller,{name:`levels.${n}.label.show_label_tolerance`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Hide label when its percentage is less than...",precision:4,step:5e-4,min:0,max:1,...i})}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.label.rotate`,control:e,render:({field:i})=>l(d.Select,{label:"Rotate",data:GN,...i})}),l(j.Controller,{name:`levels.${n}.label.align`,control:e,render:({field:i})=>l(d.Select,{label:"Align",data:KN,...i})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.label.position`,control:e,render:({field:i})=>l(d.Select,{label:"Position",data:HN,...i})}),l(j.Controller,{name:`levels.${n}.label.padding`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Padding",min:0,hideControls:!0,...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Level"})]}),qN=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"levels"}),a=t("levels"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>i({id:Date.now().toString(),r0:"",r:"",label:{show_label_tolerance:.001,rotate:"0",align:"center",position:"inside",padding:0}}),c=t("levels.0.id"),[f,h]=x.useState(()=>c!=null?c:null);return x.useEffect(()=>{c&&h(p=>p!==null?p:c)},[c]),b(Oe,{children:[b(d.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[l(le.InfoCircle,{size:14,color:"#888"}),l(d.Text,{size:14,color:"#888",children:"Configure ring style on each level"})]}),l(d.Divider,{variant:"dashed",my:10}),b(d.Tabs,{value:f,onTabChange:p=>h(p),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:p.id,children:g},p.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:p.id,children:l(WN,{control:e,index:g,remove:o,data:n},p.id)},p.id))]})]})};function UN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaultsDeep({},t,yu),[t]),o=x.useMemo(()=>he.default.clone(i),[i]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]);const h=c(),p=x.useMemo(()=>!he.default.isEqual(h,i),[h,i]);u(["label_key","value_key","group_key","levels"]);const[g,v]=x.useState("Data");return l("form",{onSubmit:s(n),children:b(d.Stack,{
|
|
209
|
+
`}}function VN(){return{show:!0,trigger:"item",confine:!0,formatter:LN()}}const zN={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function FN(e,t,n){n.reduce((o,a)=>{const s=Da(a,t);return o[a.name]=mi(a,s),o},{});const i={series:{data:NN(e,t),levels:$N(e)},tooltip:VN()};return H.defaultsDeep({},i,zN)}Rt.use([pn.SunburstChart,Kn.CanvasRenderer]);function BN({context:e}){const{variables:t}=e,{value:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaults({},n,yu),[n]),i=e.data,{width:o,height:a}=e.viewport,s=x.useMemo(()=>FN(r,i,t),[r,i,t]);return!o||!a?null:l(Hn.default,{echarts:Rt,option:s,style:{width:o,height:a}})}function jN({data:e,control:t,watch:n}){return n(["label_key","value_key","group_key"]),b(d.Stack,{children:[l(j.Controller,{name:"label_key",control:t,render:({field:r})=>l(mt,{label:"Label Key",required:!0,data:e,...r})}),l(j.Controller,{name:"value_key",control:t,render:({field:r})=>l(mt,{label:"Value Key",required:!0,data:e,...r})}),l(j.Controller,{name:"group_key",control:t,render:({field:r})=>l(mt,{label:"Group Key",data:e,clearable:!0,...r})})]})}const GN=[{label:"Radial",value:"radial"},{label:"Tangential",value:"tangential"},{label:"None",value:"0"}],KN=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],HN=[{label:"Top",value:"top"},{label:"Left",value:"left"},{label:"Right",value:"right"},{label:"Bottom",value:"bottom"},{label:"Outside",value:"outside"},{label:"Inside",value:"inside"},{label:"InsideLeft",value:"insideLeft"},{label:"InsideRight",value:"insideRight"},{label:"InsideTop",value:"insideTop"},{label:"InsideBottom",value:"insideBottom"},{label:"InsideTopLeft",value:"insideTopLeft"},{label:"InsideBottomLeft",value:"insideBottomLeft"},{label:"InsideTopRight",value:"insideTopRight"},{label:"InsideBottomRight",value:"insideBottomRight"}],WN=({control:e,data:t,index:n,remove:r})=>b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.r0`,control:e,render:({field:i})=>l(d.TextInput,{label:"Inside Radius",placeholder:"0%",...i})}),l(j.Controller,{name:`levels.${n}.r`,control:e,render:({field:i})=>l(d.TextInput,{label:"Outside Radius",placeholder:"50%",...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),l(j.Controller,{name:`levels.${n}.label.show_label_tolerance`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Hide label when its percentage is less than...",precision:4,step:5e-4,min:0,max:1,...i})}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.label.rotate`,control:e,render:({field:i})=>l(d.Select,{label:"Rotate",data:GN,...i})}),l(j.Controller,{name:`levels.${n}.label.align`,control:e,render:({field:i})=>l(d.Select,{label:"Align",data:KN,...i})})]}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`levels.${n}.label.position`,control:e,render:({field:i})=>l(d.Select,{label:"Position",data:HN,...i})}),l(j.Controller,{name:`levels.${n}.label.padding`,control:e,render:({field:i})=>l(d.NumberInput,{label:"Padding",min:0,hideControls:!0,...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Level"})]}),qN=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"levels"}),a=t("levels"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>i({id:Date.now().toString(),r0:"",r:"",label:{show_label_tolerance:.001,rotate:"0",align:"center",position:"inside",padding:0}}),c=t("levels.0.id"),[f,h]=x.useState(()=>c!=null?c:null);return x.useEffect(()=>{c&&h(p=>p!==null?p:c)},[c]),b(Oe,{children:[b(d.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[l(le.InfoCircle,{size:14,color:"#888"}),l(d.Text,{size:14,color:"#888",children:"Configure ring style on each level"})]}),l(d.Divider,{variant:"dashed",my:10}),b(d.Tabs,{value:f,onTabChange:p=>h(p),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:p.id,children:g},p.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:p.id,children:l(WN,{control:e,index:g,remove:o,data:n},p.id)},p.id))]})]})};function UN({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=e.data,i=x.useMemo(()=>H.defaultsDeep({},t,yu),[t]),o=x.useMemo(()=>he.default.clone(i),[i]),{control:a,handleSubmit:s,watch:u,getValues:c,reset:f}=j.useForm({defaultValues:o});x.useEffect(()=>{f(o)},[o]);const h=c(),p=x.useMemo(()=>!he.default.isEqual(h,i),[h,i]);u(["label_key","value_key","group_key","levels"]);const[g,v]=x.useState("Data");return l("form",{onSubmit:s(n),children:b(d.Stack,{spacing:"xs",children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Sunburst Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{value:g,onTabChange:v,orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"Data",children:"Data"}),l(d.Tabs.Tab,{value:"Levels",children:"Levels"})]}),l(d.Tabs.Panel,{value:"Data",children:l(jN,{control:a,watch:u,data:r})}),l(d.Tabs.Panel,{value:"Levels",children:l(qN,{control:a,watch:u,data:r})})]})]})})}function YN(e){const{label_field:t,value_field:n,...r}=e;return{...r,label_key:t,value_key:n}}function XN(e){const{group_key:t="",...n}=e;return{...n,group_key:t}}function QN(e){const{levels:t=[],...n}=e;return{...n,levels:t}}class ZN extends tn{constructor(){super(...arguments);Re(this,"VERSION",4)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:YN(n.config)})),this.version(3,n=>({...n,version:3,config:XN(n.config)})),this.version(4,n=>({...n,version:4,config:QN(n.config)}))}}const JN={displayName:"Sunburst",migrator:new ZN,name:"sunburst",viewRender:BN,configRender:UN,createConfig(){return{version:4,config:H.cloneDeep(yu)}}};var Vn=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e.custom="custom",e))(Vn||{});const fv=["function text({ value }) {"," // your code goes here"," return value","}"].join(`
|
|
210
210
|
`),bu={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"};/**
|
|
211
211
|
* react-table
|
|
212
212
|
*
|
|
@@ -243,8 +243,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
243
243
|
<tbody>${c.join("")}</tbody>
|
|
244
244
|
</table>
|
|
245
245
|
`}}}function N$(e,t){var i;const n=t.every(o=>!Number.isNaN(Number(o))),{axisLabel:r}=e.x_axis;return[{data:t,name:(i=e.x_axis.name)!=null?i:"",id:"main-x-axis",axisTick:{show:!0,alignWithLabel:!0},type:n?"value":"category",axisLabel:{...r,formatter:Vv(r.formatter)}}]}function I$(e,t){return e.y_axes.map(({nameAlignment:n,min:r,max:i,...o},a)=>{var u;let s=o.position;return s||(s=a>0?"right":"left"),{...o,min:r||void 0,max:i||void 0,position:s,axisLabel:{show:!0,formatter:(u=t[a])!=null?u:t.default},axisLine:{show:!0},nameTextStyle:{fontWeight:"bold",align:n},nameLocation:"end",nameGap:15,splitLine:{show:!1}}})}function $$(){return{show:!1,bottom:0,left:"center",type:"scroll"}}const L$={tooltip:{trigger:"axis"},xAxis:[{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0}}],grid:{top:10,left:20,right:15,bottom:25,containLabel:!0}};function V$(e,t,n){const r=n.reduce((c,f)=>{const h=Da(f,t);return c[f.name]=mi(f,h),c},{}),i=e.y_axes.reduce((c,{label_formatter:f},h)=>(c[h]=function(g){let v=g;if(typeof g=="object"&&(Array.isArray(g.value)&&g.value.length===2?v=g.value[1]:v=g.value),!f)return v;try{return Bt.default(v).format(f)}catch(m){return console.error(m),v}},c),{default:({value:c})=>c}),o=he.default.uniq(t.map(c=>c[e.x_axis.data_key])),a=o.every(c=>!Number.isNaN(Number(c))),s=D$(e,o,a,t,i,n,r),u={xAxis:N$(e,o),yAxis:I$(e,i),series:s,dataset:[{source:t}],tooltip:P$(e,i),grid:_$(e),legend:$$(),dataZoom:uu(e.dataZoom)};return H.defaultsDeep({},u,L$)}Rt.use([ut.DataZoomComponent,pn.BarChart,pn.LineChart,pn.ScatterChart,ut.GridComponent,ut.LegendComponent,ut.TooltipComponent,Kn.CanvasRenderer,ut.MarkLineComponent,ut.MarkAreaComponent]),Rt.registerTransform(Ms.transform.regression);function zv(e){return e.trim().length>0}function z$({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=x.useMemo(()=>he.default.keyBy(t,e.x_axis.data_key),[t,e.x_axis.data_key]),s=gi(i.triggerManager,Iv.id),u=x.useCallback(h=>{const p=h.value[0],g=he.default.get(a,p,{error:"rowData is not found"});s.forEach(v=>{i.runInteraction(v.id,{...h,rowData:g})})},[a,s,i]),c=x.useMemo(()=>({click:u}),[u]),f=Z.default.useMemo(()=>V$(e,t,o),[e,t]);return!n||!r?null:l(Hn.default,{echarts:Rt,option:f,style:{width:n,height:r},onEvents:c})}function F$({context:e,instance:t}){const n=wi({vizManager:e.vizManager,instance:t}),{value:r}=Je(e.instanceData,"config"),{variables:i}=e,o=x.useMemo(()=>H.defaults({},r,Vu),[r]),a=e.data,{width:s,height:u}=e.viewport,{ref:c,height:f}=Ut.useElementSize(),{ref:h,height:p}=Ut.useElementSize(),g=Z.default.useMemo(()=>{const{stats:{templates:m}}=o;return{top:uo(m.top,i,a),bottom:uo(m.bottom,i,a)}},[o,a]),v=Math.max(0,u-f-p);return b(d.Box,{children:[l(d.Text,{ref:c,align:"left",size:"xs",pl:"sm",sx:{display:zv(o.stats.templates.top)?"block":"none"},children:Object.values(g.top).map(m=>m)}),l(z$,{variables:i,width:s,height:v,data:a,conf:o,interactionManager:n}),l(d.Text,{ref:h,align:"left",size:"xs",pl:"sm",sx:{display:zv(o.stats.templates.bottom)?"block":"none"},children:Object.values(g.bottom).map(m=>m)})]})}const B$=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],j$=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function G$({control:e,index:t,remove:n,watch:r,variableOptions:i,yAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return b(d.Stack,{my:0,p:0,sx:{position:"relative"},children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:s})=>l(d.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...s})}),l(j.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:s})=>l(d.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...s})})]}),l(j.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:s})=>l(d.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...s})}),b(d.Group,{grow:!0,children:[b(d.Stack,{children:[l(j.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:s})=>l(d.Select,{label:"Orientation",data:j$,required:!0,sx:{flex:1},...s})}),a==="vertical"&&l(d.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&l(j.Controller,{name:`reference_lines.${t}.yAxisIndex`,control:e,render:({field:{value:s,onChange:u,...c}})=>{var f;return l(d.Select,{label:"Y Axis",data:o,disabled:o.length===0,...c,value:(f=s==null?void 0:s.toString())!=null?f:"",onChange:h=>{if(!h){u(0);return}u(Number(h))},sx:{flex:1}})}})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:s})=>l(d.Select,{label:"Line Type",data:B$,sx:{flexGrow:1},...s})}),l(j.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:s})=>l(d.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...s})})]}),b(d.Stack,{spacing:4,children:[l(d.Text,{size:"sm",children:"Color"}),l(j.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:s})=>l(kn,{...s})})]}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function K$({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>{const p={name:"",template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:qr.random().css()},show_in_legend:!1,yAxisIndex:0};i(p)},c=x.useMemo(()=>n.map(p=>({label:p.name,value:p.name})),[n]),f=t("y_axes"),h=x.useMemo(()=>f.map(({name:p},g)=>({label:p,value:g.toString()})),[f]);return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:g.toString(),children:g+1},g)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:g.toString(),children:l(G$,{control:e,index:g,remove:o,watch:t,variableOptions:c,yAxisOptions:h})},g))]})}const H$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},W$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o();const{type:p,func_content:g}=a,v={type:p,func_content:g};s(v),t(v)},c=()=>{o(),s(e)},f=p=>{s(g=>({...g,func_content:p}))},h=()=>{f(ho.dynamic.func_content)};return b(Oe,{children:[l(d.Box,{sx:{width:"50%"},children:l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),l(d.Modal,{size:800,title:"Setup dynamic color",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),l(H$,{value:a.func_content,onChange:f}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},q$=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:l(W$,{value:e,onChange:t,data:n}),U$=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,color:r})};return l(d.ColorInput,{label:" ",format:"rgb",value:e.color,onChange:n})},Y$=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],X$=x.forwardRef(({label:e="Color",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...ho[a]})};return b(d.SimpleGrid,{cols:2,children:[l(d.Select,{ref:i,label:e,data:Y$,value:t.type,onChange:o,sx:{flexGrow:1}}),l(U$,{value:t,onChange:n}),l(q$,{value:t,onChange:n,data:r})]})}),Q$=x.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,label:o})},i=o=>{t({...e,tooltip:o})};return b(d.Stack,{ref:n,spacing:0,children:[l(Pa,{sectionTitle:"Overflow on Chart",value:e.label,onChange:r}),l(Pa,{sectionTitle:"Overflow in Tooltip",value:e.tooltip,onChange:i})]})}),Z$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},Fv={static:{type:"static",size:10},dynamic:{type:"dynamic",func_content:["function getSize({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here"," // return 10","}"].join(`
|
|
246
|
-
`)}},J$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o();const{type:p,func_content:g}=a,v={type:p,func_content:g};s(v),t(v)},c=()=>{o(),s(e)},f=p=>{s(g=>({...g,func_content:p}))},h=()=>{f(Fv.dynamic.func_content)};return b(Oe,{children:[l(d.Box,{sx:{width:"50%"},children:l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),l(d.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),l(Z$,{value:a.func_content,onChange:f}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},eL=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:l(J$,{value:e,onChange:t,data:n}),tL=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return l(Oe,{children:l(d.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},nL=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],rL=x.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Fv[a]})};return b(d.SimpleGrid,{cols:2,children:[l(d.Select,{ref:i,label:e,data:nL,value:t.type,onChange:o,sx:{flexGrow:1}}),l(tL,{value:t,onChange:n}),l(eL,{value:t,onChange:n,data:r})]})}),iL=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function oL({data:e,control:t,watch:n}){return n(["scatter"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"scatter.name_data_key",control:t,render:({field:r})=>l(mt,{label:"Name Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"scatter.y_data_key",control:t,render:({field:r})=>l(mt,{label:"Value Data Field",required:!0,data:e,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Style",labelPosition:"center"}),l(j.Controller,{name:"scatter.symbolSize",control:t,render:({field:r})=>l(rL,{label:"Size",data:e,...r})}),l(j.Controller,{name:"scatter.color",control:t,render:({field:r})=>l(X$,{data:e,...r})}),l(d.Divider,{mb:-15,label:"Label",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:"scatter.label_position",control:t,render:({field:r})=>l(d.Select,{label:"Label Position",data:iL,...r})})}),l(j.Controller,{name:"scatter.label_overflow",control:t,render:({field:r})=>l(Q$,{...r})})]})}function aL({control:e,watch:t}){return t("stats"),l(d.Stack,{children:b(d.Stack,{spacing:0,children:[l(j.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>l(io,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),l(j.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>l(io,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}const sL=({control:e,data:t,index:n,remove:r})=>b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>l(mt,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),lL=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),c=t("tooltip.metrics.0.id"),[f,h]=x.useState(()=>c!=null?c:null);return x.useEffect(()=>{c&&h(p=>p!==null?p:c)},[c]),b(Oe,{children:[b(d.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[l(le.InfoCircle,{size:14,color:"#888"}),l(d.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),l(d.Divider,{variant:"dashed",my:10}),b(d.Tabs,{value:f,onTabChange:p=>h(p),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:p.id,children:p.name?p.name:g},p.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:p.id,children:l(sL,{control:e,index:g,remove:o,data:n},p.id)},p.id))]})]})};function uL({data:e,control:t,watch:n}){return l(lL,{control:t,watch:n,data:e})}const cL=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},dL=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=g=>{s({...a,enabled:g})},c=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};s(m),t(m)},f=()=>{o(),s(e)},h=g=>{s(v=>({...v,func_content:g}))},p=()=>{h($v.func_content)};return b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),l(d.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),l(cL,{value:a.func_content,onChange:h,disabled:!a.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:p,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:f,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:c,children:"OK"})]})]})]})})]})});function fL({data:e,control:t,watch:n}){return n(["x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>l(mt,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis.name",control:t,render:({field:r})=>l(d.TextInput,{label:"Name",sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>l(dL,{data:e,...r})})]})]})}const pL=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],hL=[{label:"left",value:"left"},{label:"right",value:"right"}];function gL({control:e,index:t,remove:n}){return b(d.Stack,{my:0,p:"0",sx:{position:"relative"},children:[l(d.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),l(j.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>l(d.Select,{label:"Align",required:!0,data:pL,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>l(d.Select,{label:"Position",required:!0,data:hL,sx:{flex:1},...r})})}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>l($r,{...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>l(d.TextInput,{label:"Min",...r})}),l(j.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>l(d.TextInput,{label:"Max",...r})})]})]}),l(d.Button,{mt:20,leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function vL({control:e,watch:t}){const{fields:n,append:r,remove:i}=j.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,c)=>({...u,...o[c]})),s=()=>r({name:"",label_formatter:Ln});return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[a.map((u,c)=>l(d.Tabs.Tab,{value:c.toString(),children:c+1},c)),l(d.Tabs.Tab,{onClick:s,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),a.map((u,c)=>l(d.Tabs.Panel,{value:c.toString(),children:l(gL,{control:e,index:c,remove:i})},c))]})}function mL(e){return e||{templates:{top:"",bottom:""}}}function yL({reference_lines:e=[],stats:t,...n}){return{reference_lines:e,stats:mL(t),...n}}function bL({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,o=x.useMemo(()=>H.defaultsDeep({},t,Vu),[t]),a=x.useMemo(()=>yL(o),[o]);x.useEffect(()=>{!H.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:s,handleSubmit:u,watch:c,getValues:f,reset:h}=j.useForm({defaultValues:a});x.useEffect(()=>{h(a)},[a]);const p=f(),g=x.useMemo(()=>!H.isEqual(p,o),[p,o]);return c(["dataZoom"]),l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:u(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),l(d.Tabs.Tab,{value:"Scatter",children:"Scatter"}),l(d.Tabs.Tab,{value:"Tooltip",children:"Tooltip"}),l(d.Tabs.Tab,{value:"Stats",children:"Stats"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),l(d.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(fL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Y Axes",children:l(vL,{control:s,watch:c})}),l(d.Tabs.Panel,{value:"Scatter",children:l(oL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Tooltip",children:l(uL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Stats",children:l(aL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(K$,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Zooming",children:l(j.Controller,{name:"dataZoom",control:s,render:({field:v})=>l(du,{...v})})})]})]})})}function wL(e){const{dataZoom:t=yi,...n}=e;return{...n,dataZoom:t}}function xL(e){const t={scatter:{label_overflow:Lv}};return he.default.defaultsDeep(t,e)}function SL(e){const{color:t}=e.scatter;return typeof t=="string"?{...e,scatter:{...e.scatter,color:{...ho.static,color:t}}}:e}function CL(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:qr.random().css()},show_in_legend:i=!1,yAxisIndex:o=0}=n;return{...n,lineStyle:r,show_in_legend:i,yAxisIndex:o}});return{...e,reference_lines:t}}class _L extends tn{constructor(){super(...arguments);Re(this,"VERSION",7)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{tooltip:r={metrics:[]},...i}=n.config;return{...n,version:2,config:{...i,tooltip:r}}}),this.version(3,n=>({...n,version:3,config:wL(n.config)})),this.version(4,n=>{const{config:r}=n;return{...n,version:5,config:xL(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:SL(r)}}),this.version(7,n=>{const{config:r}=n;return{...n,version:7,config:CL(r)}})}}const EL={displayName:"Scatter Chart",migrator:new _L,name:"scatterChart",viewRender:F$,configRender:bL,createConfig(){return{version:7,config:H.cloneDeep(Vu)}},triggers:[Iv]},Bv=["function text({ data, variables, filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
|
|
247
|
-
`),zu={func_content:Bv,horizontal_align:"left",font_size:"14px",font_weight:"normal"},TL=te.observer(({context:e})=>{const t=Le(),{value:n=zu}=Je(e.instanceData,"config"),{variables:r}=e,{func_content:i,horizontal_align:o,font_size:a,font_weight:s}=n,u=x.useMemo(()=>new Function(`return ${i}`)()({data:e.data,variables:r,filters:t.filters.values,context:t.context.current}),[i,e.data,r,t.filters.values,t.context.current]);return l(d.Text,{align:o,weight:s,sx:{fontSize:a},children:u})}),ML=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{sx:{position:"relative"},children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},kL=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o(),t(a)},c=()=>{o(),s(e)},f=()=>{s(Bv)};return x.useEffect(()=>{s(e)},[e]),b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Edit Content"}),l(d.Modal,{size:800,title:"Text content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(ML,{value:a,onChange:s}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:f,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})}),OL=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function DL({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaultsDeep({},t,zu),[t]),i=x.useMemo(()=>{const{func_content:p,horizontal_align:g,font_size:v,font_weight:m}=r;return{func_content:p,horizontal_align:g,font_size:v,font_weight:m}},[r]);x.useEffect(()=>{!H.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});Z.default.useEffect(()=>{c(i)},[i]),s(["func_content","horizontal_align","font_size","font_weight"]);const f=u(),h=Z.default.useMemo(()=>!he.default.isEqual(f,r),[f,r]);return l(d.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{weight:500,children:"Configurations"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Stack,{spacing:10,children:[l(j.Controller,{name:"func_content",control:o,render:({field:p})=>l(kL,{...p})}),l(d.Divider,{mt:10,mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),l(j.Controller,{name:"horizontal_align",control:o,render:({field:p})=>l(d.Select,{label:"Horizontal Alignment",data:OL,...p})}),l(j.Controller,{name:"font_size",control:o,render:({field:p})=>l(d.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},...p})}),l(d.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:l(j.Controller,{name:"font_weight",control:o,render:({field:p})=>l(Rg,{label:"Font Weight",...p})})})]})]})})}class RL extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const AL={displayName:"Text",migrator:new RL,name:"text",viewRender:TL,configRender:DL,createConfig(){return{version:1,config:H.cloneDeep(zu)}}},PL=[{value:"#25262B",name:"Dark"},{value:"#868E96",name:"Gray"},{value:"#FA5252",name:"Red"},{value:"#E64980",name:"Pink"},{value:"#BE4BDB",name:"Grape"},{value:"#7950F2",name:"Violet"},{value:"#4C6EF5",name:"Indigo"},{value:"#228BE6",name:"Blue"},{value:"#15AABF",name:"Cyan"},{value:"#12B886",name:"Teal"},{value:"#40C057",name:"Green"},{value:"#82C91E",name:"Lime"},{value:"#FAB005",name:"Yellow"},{value:"#FD7E14",name:"Orange"}].map(e=>({name:e.name,value:e.value,type:"single",category:"basic"})),NL=[DD,RD,ND,PD,AD,ID],jv=()=>({id:"dashboard",version:Wl,manifest:{viz:[Iu,RN,AL,CN,JN,oP,KD,U2,eP,CA,EL,vP,MP,x$,lR],color:[...PL,...NL]}}),go=new VD,Lt={pluginManager:Wn("pluginManager"),vizManager:Wn("vizManager"),colorManager:Wn("colorManager"),instanceScope:{panelModel:Wn("panelModel"),vizInstance:Wn("vizInstance"),interactionManager:Wn("interactionManager"),migrator:Wn("migrator"),operationManager:Wn("operationManager"),triggerManager:Wn("triggerManager")}},Fu=()=>{try{go.install(jv())}catch{}const e=new MD(go),t=new LD(go);return{pluginManager:go,vizManager:e,colorManager:t}},zn=x.createContext(Fu());try{go.install(jv())}catch{}function IL(e,t){const{value:n,set:r}=Je(e.operation.operationData,"config"),[i,o]=x.useState(H.defaults({},n,t)),a=async()=>{await r(i)};return x.useEffect(()=>{o(H.defaults({},n,t))},[n]),{config:i,setConfig:o,commit:a}}function $L(e){const{config:t,setConfig:n,commit:r}=IL(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function o(s){n({...t,openInNewTab:s}),await r()}const a=s=>n({...t,urlTemplate:s.currentTarget.value});return b(d.Stack,{children:[l(d.TextInput,{label:"Url",value:t.urlTemplate,onChange:a,onBlur:i}),l(d.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:s=>o(s.currentTarget.checked)})]})}async function LL(e,t){const{urlTemplate:n,openInNewTab:r}=await t.operationData.getItem("config");window.dispatchEvent(new CustomEvent("open-link",{detail:{urlTemplate:n,openInNewTab:r,payload:e}}))}class VL extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const zL={displayName:"Open Link",id:"builtin:op:open-link",configRender:$L,run:LL,migrator:new VL,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function FL(e){const{value:t,set:n}=Je(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function BL(e){const[t,n]=FL(e.operation);return l(d.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function jL(e,t){const n=await t.operationData.getItem("config"),r=H.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const GL={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:BL,run:jL},KL=te.observer(e=>{const t=Le(),{value:n,set:r}=Je(e.operation.operationData,"config");console.log({value:n,viewID:n==null?void 0:n.viewID});const i=(n==null?void 0:n.viewID)||"",o=a=>void r({viewID:a});return l(d.Select,{defaultValue:i,value:i,onChange:o,label:"View",data:t.views.options})});async function HL(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const WL={displayName:"Open View",id:"builtin:op:open_view",configRender:KL,run:HL},qL={dictionary:{}},UL=te.observer(e=>{const t=Le(),{value:n=qL,set:r}=Je(e.operation.operationData,"config"),{dictionary:i={}}=n,o=(u,c)=>{r({dictionary:{...i,[u]:c}})},a=()=>{o(t.filters.firstFilterValueKey,"")},s=u=>{const c={...i};delete c[u],r({dictionary:c})};return b(d.Stack,{spacing:10,children:[l(d.Text,{children:"Mapping Rules"}),Object.entries(i).map(([u,c])=>b(d.Flex,{justify:"space-between",gap:10,children:[l(d.TextInput,{label:"Payload key",value:c,onChange:f=>{o(u,f.currentTarget.value)},sx:{flexGrow:1}}),l(mt,{data:[t.filters.values],value:u,onChange:f=>{o(f,c)},label:"Filter key",sx:{flexGrow:1}}),l(d.ActionIcon,{onClick:()=>s(u),sx:{marginTop:"26px",flexGrow:0},children:l(le.Trash,{size:14,color:"red"})})]},u)),l(d.Button,{size:"xs",onClick:a,sx:{alignSelf:"center",width:"300px"},children:"Add one mapping rule"})]})});async function YL(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const XL={displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:UL,run:YL},QL={filter_keys:[]},ZL=te.observer(e=>{const t=Le(),{value:n=QL,set:r}=Je(e.operation.operationData,"config"),{filter_keys:i=[]}=n,o=s=>{r({filter_keys:[...s]})},a=x.useMemo(()=>t.filters.current.map(s=>({label:s.label,value:s.key})),[t.filters.values]);return l(d.Stack,{spacing:10,children:l(d.MultiSelect,{label:"Select Filters to Clear",data:a,value:i,onChange:o})})});async function JL(e,t){const r=(await t.operationData.getItem("config")).filter_keys;window.dispatchEvent(new CustomEvent("clear-filter-values",{detail:{filter_keys:r,payload:e}}))}const Ga=[GL,zL,WL,XL,{displayName:"Clear Filter Values",id:"builtin:op:clear_filter_values",configRender:ZL,run:JL}];class eV{constructor(t,n=Ga){Re(this,"attachments");this.operations=n;const r=async i=>{const{id:o,schemaRef:a}=await i.getItem(null);return{id:o,schemaRef:a,operationData:new vi(i,"data")}};this.attachments=new Hl(t,"__OPERATIONS",r)}async runOperation(t,n){const r=await this.attachments.getInstance(t);if(!r){console.warn(`Operation '${t}' is not defined`);return}const i=this.tryGetSchema(r.schemaRef);if(!i){console.warn(`Operation schema '${r.schemaRef}' is not defined`);return}await i.run(n,r)}tryGetSchema(t){return this.operations.find(n=>n.id===t)}async needMigration(){const n=(await this.attachments.list()).map(async r=>{const i={configData:r.operationData},o=this.tryGetSchema(r.schemaRef),a=o==null?void 0:o.migrator;return a&&await a.needMigration(i)});return(await Promise.all(n)).some(r=>r)}async runMigration(){const n=(await this.attachments.list()).map(async r=>{const i={configData:r.operationData},o=this.tryGetSchema(r.schemaRef),a=o==null?void 0:o.migrator;a&&await a.needMigration(i)&&await a.migrate(i)});await Promise.all(n)}async createOrGetOperation(t,n){var a,s;if(!this.getOperationSchemaList().some(u=>u.id===n.id))throw new Error(`Operation schema '${n.id}' is not defined`);const i=await this.attachments.getInstance(t);return!i||i.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:(s=(a=n.createDefaultConfig)==null?void 0:a.call(n))!=null?s:{}}):i}getOperationList(){return this.attachments.list()}getOperationSchemaList(){return this.operations}removeOperation(t){return this.attachments.remove(t)}async retrieveTrigger(t){return await this.attachments.getInstance(t)}}const Gv="__TRIGGERS";class tV{constructor(t,n){Re(this,"attachments");this.instance=t,this.component=n;const r=async i=>{const{id:o,schemaRef:a}=await i.getItem(null);return{id:o,schemaRef:a,triggerData:new vi(i,"data")}};this.attachments=new Hl(t,Gv,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(Gv,n=>{const r=H.values(n).map(i=>({id:H.get(i,"id"),schemaRef:H.get(i,"schemaRef"),config:Ft.toJS(H.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var s;if(!this.getTriggerSchemaList().some(u=>u.id===n.id))throw new Error(`Trigger schema '${n.id}' is not defined in component '${this.component.name}'`);const o=await this.attachments.getInstance(t);return!o||r.recreate||o.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:((s=n==null?void 0:n.createDefaultConfig)==null?void 0:s.call(n))||{}}):o}async getTriggerList(){return await this.attachments.list()}getTriggerSchemaList(){return this.component.triggers||[]}async removeTrigger(t){await this.attachments.remove(t)}async retrieveTrigger(t){return await this.attachments.getInstance(t)}async getMigrationTasks(){const n=(await this.getTriggerList()).map(async r=>{const i=this.getTriggerSchemaList().find(s=>s.id===r.schemaRef),o=i==null?void 0:i.migrator,a={configData:r.triggerData};return o&&await o.needMigration(a)?()=>o.migrate(a):null});return Promise.all(n).then(r=>r.filter(i=>i))}async needMigration(){return(await this.getMigrationTasks()).length>0}async runMigration(){const t=await this.getMigrationTasks();await Promise.all(t.map(n=>n()))}}class Bu{constructor(t,n,r){Re(this,"operationManager");Re(this,"triggerManager");Re(this,"attachments");this.operationManager=new eV(t,r),this.triggerManager=new tV(t,n);const i=async o=>{const{id:a,triggerRef:s,operationRef:u}=await o.getItem(null);return{id:a,triggerRef:s,operationRef:u}};this.attachments=new Hl(t,"__INTERACTIONS",i)}async addInteraction(t,n){const r=t.id,i=n.id,o=`[${r}]:[${i}]`;await this.attachments.create(o,{id:o,triggerRef:r,operationRef:i})}getInteractionList(){return this.attachments.list()}async removeInteraction(t){const n=await this.attachments.getInstance(t);if(!n)return;const{triggerRef:r,operationRef:i}=n;await this.getTriggerRefCount(r)<=1&&await this.triggerManager.removeTrigger(r),await this.getOperationRefCount(i)<=1&&await this.operationManager.removeOperation(i),await this.attachments.remove(t)}async getOperationRefCount(t){return(await this.getInteractionList()).filter(r=>r.operationRef===t).length}async getTriggerRefCount(t){return(await this.getInteractionList()).filter(r=>r.triggerRef===t).length}async runInteraction(t,n){const i=(await this.getInteractionList()).filter(o=>o.triggerRef===t);await Promise.all(i.map(async o=>{try{return await this.operationManager.runOperation(o.operationRef,n)}catch(a){console.warn(`Failed to run operation '${o.operationRef}'`,a)}}))}}const wi=({vizManager:e,instance:t})=>tt.useCreation(()=>new Bu(t,e.resolveComponent(t.type),Ga),[t,e]),Kv=e=>{const{title:t="Variables",variables:n}=e,r=Ut.useClipboard(),i=o=>{r.copy(o),Io.showNotification({color:"green",message:"Copied to clipboard"})};return b(d.Paper,{withBorder:!0,p:"sm",children:[l(d.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),l(d.Stack,{style:{maxHeight:"500px"},children:n.map(o=>b(d.Text,{size:"sm",children:[b(d.Code,{color:"teal",children:["// ",o.description]}),l("br",{}),b(d.Code,{onClick:()=>i(o.name),style:{cursor:"pointer"},children:[o.name," : ",o.valueType]})]},o.name))})]})};class nV{constructor(t,n){Re(this,"operationId");Re(this,"operation");Re(this,"operationSchema");Re(this,"variables",[]);this.operationManager=t,this.instance=n,Ft.makeAutoObservable(this)}get schemaList(){return this.operationManager.getOperationSchemaList()}async configOperation(t,n){const r=await this.operationManager.retrieveTrigger(t),i=this.operationManager.getOperationSchemaList().find(o=>o.id===(r==null?void 0:r.schemaRef));Ft.runInAction(()=>{this.operationId=t,this.operation=r,this.operationSchema=i,this.variables=n})}async changeSchema(t){this.operationId&&(await this.operationManager.createOrGetOperation(this.operationId,t),await this.configOperation(this.operationId,this.variables))}}function rV(e){return!!e.operationId}const iV=te.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return l(d.Button,{variant:"outline",onClick:t,children:n})}),oV=te.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return x.createElement(e.operationSchema.configRender,t)});function aV({model:e}){const t=e.schemaList,n=t.map(i=>({label:i.displayName,value:i.id}));async function r(i){await e.changeSchema(t.find(o=>o.id===i))}return l(d.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const sV=te.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),{operationManager:i,operationId:o,instance:a,variables:s}=e,u=tt.useCreation(()=>new nV(i,a),[i,a]);return tt.useAsyncEffect(async()=>{await u.configOperation(o,s)},[o,u]),rV(u)?b(Oe,{children:[l(iV,{model:u,onClick:n}),l(d.Modal,{size:600,opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",zIndex:320,children:b(d.Stack,{children:[l(aV,{model:u}),l(oV,{model:u}),l(Kv,{title:"Variables",variables:u.variables})]})})]}):null});class lV{constructor(t,n){Re(this,"triggerId");Re(this,"trigger");Re(this,"triggerSchema");Re(this,"sampleData");this.triggerManager=t,this.instance=n,Ft.makeAutoObservable(this)}get schemaList(){return this.triggerManager.getTriggerSchemaList()}async configTrigger(t,n){const r=await this.triggerManager.retrieveTrigger(t),i=this.triggerManager.getTriggerSchemaList().find(o=>o.id===(r==null?void 0:r.schemaRef));Ft.runInAction(()=>{this.triggerId=t,this.trigger=r,this.triggerSchema=i,this.sampleData=n})}async changeSchema(t){this.triggerId&&(await this.triggerManager.createOrGetTrigger(this.triggerId,t),await this.configTrigger(this.triggerId,this.sampleData))}isReady(){return uV(this)}}function uV(e){return!!e.triggerId&&!!e.triggerSchema}function cV(e,t){return tt.useCreation(()=>new lV(e,t),[e,t])}const dV=te.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return l(d.Button,{variant:"outline",onClick:t,children:x.createElement(n,r)})}),fV=te.observer(({model:e})=>{const t=e.schemaList,n=t.map(i=>({label:i.displayName,value:i.id}));async function r(i){await e.changeSchema(t.find(o=>o.id===i))}return l(d.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),pV=te.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return x.createElement(e.triggerSchema.configRender,t)}),hV=te.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),i=e.model;return b(Oe,{children:[l(d.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",zIndex:320,children:b(d.Stack,{children:[l(fV,{model:i}),l(pV,{model:i}),l(Kv,{title:"Payload",variables:i.triggerSchema.payload})]})}),l(dV,{onClick:n,model:i})]})});function gV(e,t){const[n,r]=x.useState([]);return tt.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t]),n}const vV=te.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:o})=>{const{triggerRef:a,operationRef:s}=e,u=cV(t.triggerManager,n);if(tt.useAsyncEffect(async()=>{await u.configTrigger(a,r)},[u,a,r]),u.isReady()){const c=[...u.triggerSchema.payload,...i];return b(d.Group,{children:[l(hV,{model:u}),l(sV,{instance:n,operationId:s,variables:c,operationManager:t.operationManager}),l(d.ActionIcon,{"aria-label":"delete-interaction",variant:"filled",color:"red",onClick:()=>o(e),children:l(le.Trash,{size:16})})]})}return null}),mV=e=>{const[t,n]=x.useState(0),{interactionManager:r,instance:i,sampleData:o,variables:a}=e,s=gV(r,t),u=async()=>{const p=await r.triggerManager.createOrGetTrigger(Ut.randomId(),r.triggerManager.getTriggerSchemaList()[0]),g=await r.operationManager.createOrGetOperation(Ut.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(p,g),n(v=>v+1)};async function c(p){await r.removeInteraction(p.id),n(g=>g+1)}const{data:f=0,loading:h}=tt.useRequest(async()=>{try{return(await r.triggerManager.getTriggerSchemaList()).length}catch{return 0}});return b(d.Stack,{children:[l(d.LoadingOverlay,{visible:h}),f===0&&l(d.Alert,{icon:l(le.AlertCircle,{size:16}),title:"Unavailable",color:"gray",children:"This visualization does not have available interactions to choose from"}),s.map(p=>l(vV,{onRemove:c,instance:i,sampleData:o,variables:a,item:p,manager:e.interactionManager},p.id)),l(d.Button,{style:{width:"fit-content"},onClick:()=>u(),disabled:f===0,children:"Add interaction"})]})},yV=()=>{const{panel:e,data:t}=Yt(),n=e.viz,{vizManager:r}=x.useContext(zn),i=e.json,o=tt.useCreation(()=>r.getOrCreateInstance(i),[r,n.type]),a=tt.useCreation(()=>new Bu(o,r.resolveComponent(n.type),Ga),[o,n.type]);return x.useEffect(()=>o.instanceData.watchItem(null,H.throttle(s=>{e.viz.setConf(s)},100,{leading:!1,trailing:!0})),[o]),{instance:o,vizManager:r,interactionManager:a,sampleData:t,variables:[]}},bV=()=>{const e=yV();return l(mV,{...e})};var Hv=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(Hv||{}),Ka=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(Ka||{});class wV{constructor(t){Re(this,"vizInstance");Re(this,"operationManager");Re(this,"triggerManager");Re(this,"vizManager");Re(this,"runningMigration");Re(this,"panelModel");Re(this,"status","notStarted");this.panelModel=t.getRequired(Lt.instanceScope.panelModel),this.vizInstance=t.getRequired(Lt.instanceScope.vizInstance),this.operationManager=t.getRequired(Lt.instanceScope.operationManager),this.triggerManager=t.getRequired(Lt.instanceScope.triggerManager),this.vizManager=t.getRequired(Lt.vizManager)}async createMigrationTask(){const t=[];try{await this.instanceNeedMigration()&&t.push(()=>this.runInstanceMigration()),await this.interactionNeedMigration()&&t.push(()=>this.runInteractionMigration())}catch(n){return console.warn("check migration failed",n),"checkFailed"}if(t.length===0)return"nothingToMigrate";try{return await Promise.all(t.map(n=>n())),"migrated"}catch(n){return console.warn("migration failed",n),"migrationFailed"}}async runMigration(){return this.runningMigration||(this.status="inProgress",this.runningMigration=this.createMigrationTask().then(t=>(this.status="done",t))),this.runningMigration}async runInteractionMigration(){await this.operationManager.runMigration(),await this.triggerManager.runMigration()}async runInstanceMigration(){const t=this.vizManager.resolveComponent(this.vizInstance.type),n={configData:this.vizInstance.instanceData,panelModel:this.panelModel};await t.migrator.migrate(n)}async instanceNeedMigration(){const t=this.vizManager.resolveComponent(this.vizInstance.type),n={configData:this.vizInstance.instanceData};return t.migrator.needMigration(n)}async interactionNeedMigration(){return await this.operationManager.needMigration()||await this.triggerManager.needMigration()}}function Wv(e){const{panel:t}=Yt();return x.useCallback(n=>{const r=n.getRequired(Lt.vizManager),i=r.resolveComponent(e.viz.type);return n.createScoped().provideFactory(Lt.instanceScope.vizInstance,()=>r.getOrCreateInstance(e)).provideFactory(Lt.instanceScope.interactionManager,o=>{const a=o.getRequired(Lt.instanceScope.vizInstance);return new Bu(a,i,Ga)}).provideFactory(Lt.instanceScope.operationManager,o=>o.getRequired(Lt.instanceScope.interactionManager).operationManager).provideFactory(Lt.instanceScope.triggerManager,o=>o.getRequired(Lt.instanceScope.interactionManager).triggerManager).provideValue(Lt.instanceScope.panelModel,t).provideFactory(Lt.instanceScope.migrator,o=>new wV(o))},[e.viz.type,e.viz.conf])}function qv(e){const[t,n]=x.useState(!1),r=fd().getRequired(Lt.instanceScope.migrator);return tt.useAsyncEffect(async()=>{const i=r.status===Ka.notStarted;n(r.status===Ka.done),r.status===Ka.notStarted&&r.runMigration().then(o=>{o===Hv.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function Uv(e,t){const n=fd().getRequired(Lt.instanceScope.vizInstance);return x.useEffect(()=>(n.instanceData.setItem(null,t.viz.conf),n.instanceData.watchItem(null,r=>{e(r)})),[e,t.viz.type]),n}function xV({setVizConf:e,...t}){const{panel:n}=t,r=Uv(e,n),i=qv(()=>{Io.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return tt.useAsyncEffect(async()=>{await r.instanceData.setItem(null,n.viz.conf)},[r,n.viz.type]),i?l(OD,{...t}):l(d.Text,{children:"Checking update..."})}function SV(e){const{panel:t,setVizConf:n}=e;return Uv(n,t),qv(()=>{Io.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?l(kD,{...e}):l(d.Text,{children:"Checking update"})}const w6="";function CV(e,t){const{vizManager:n}=x.useContext(zn),{panel:{viz:r,title:i,id:o,description:a,queryID:s,variables:u}}=Yt(),c={title:i,id:o,description:a,queryID:s,viz:r,layout:t},f=Wv(c);try{return n.resolveComponent(r.type),l(zo,{configure:f,children:l(SV,{setVizConf:r.setConf,panel:c,data:e,variables:u,vizManager:n})})}catch(h){return console.info(H.get(h,"message")),null}}const _V=["richText","button"],Yv=te.observer(function({height:t,viz:n,data:r,loading:i,error:o,query:a}){const{ref:s,width:u,height:c}=Ut.useElementSize(),f=CV(r,{w:u,h:c});if(_V.includes(n.type))return l("div",{className:"viz-root",style:{height:t},ref:s,children:l(Or,{children:f})});if(i)return l("div",{className:"viz-root",style:{height:t},ref:s,children:l(d.LoadingOverlay,{visible:i,exitTransitionDuration:0})});const p=!!o,g=!p&&!!(a!=null&&a.stateMessage),v=!p&&!g;return b("div",{className:"viz-root",style:{height:t},ref:s,children:[p&&l(d.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:o}),g&&l(d.Text,{color:"gray",align:"center",children:a.stateMessage}),v&&l(Or,{children:f})]})});function EV(e){return!["richText","button"].includes(e)}const TV={border:"1px solid #e9ecef"},Xv={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function MV(e,t,n){return e.style.border.enabled?TV:n||t?Xv:{border:"1px dashed transparent"}}const Ha=te.observer(function({panel:t,view:n}){const r=Le(),{inEditMode:i}=x.useContext(Dr),{data:o,state:a,error:s}=r.getDataStuffByID(t.queryID),u=r.queries.findByID(t.queryID),c=EV(t.viz.type),f=c&&a==="loading",h=t.title?"calc(100% - 25px - 5px)":"100%",p=MV(t,c,i),g=c||i;return l(Ps,{value:{panel:t,data:o,loading:f},children:b(d.Box,{className:"panel-root",p:5,pt:0,sx:{...p},children:[l(d.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:l(hg,{})}),g&&l(_D,{view:n}),l(ED,{}),l(Yv,{viz:t.viz,data:o,loading:f,error:s,height:h,query:u})]})})}),x6="",kV=Z.default.forwardRef(({handleAxis:e},t)=>l(d.ActionIcon,{ref:t,className:"react-grid-customDragHandle",sx:{userSelect:"none",cursor:"grab",position:"absolute",top:0,right:0,zIndex:400,"&:hover":{color:"#228be6"}},variant:"transparent",children:l(le.ArrowsMove,{size:16})})),OV=Z.default.forwardRef(({handleAxis:e,...t},n)=>l(d.ActionIcon,{ref:n,className:"react-grid-customResizeHandle",sx:{userSelect:"none",cursor:"nwse-resize",position:"absolute",bottom:-5,right:-5,zIndex:400,"&:hover":{color:"#228be6"}},variant:"transparent",...t,children:l(le.ChevronDownRight,{size:16})})),DV=Ts.WidthProvider(od.default),RV=te.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:o}){const a=Z.default.useCallback(s=>{s.forEach(({i:u,...c})=>{const f=t.panels.findByID(u);!f||f.layout.set(c)})},[t]);return l(DV,{onLayoutChange:a,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:o,draggableHandle:".react-grid-customDragHandle",resizeHandle:l(OV,{}),children:t.panels.list.map((s,u)=>b("div",{"data-grid":{...s.layout},style:{position:"relative"},children:[i&&l(kV,{}),l(Ha,{view:t,panel:s})]},s.id))})}),AV=Ts.WidthProvider(od.default),PV=te.observer(function({view:t,className:n="layout",rowHeight:r=10}){return l(AV,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>l("div",{"data-grid":i.layout,children:l(Ha,{view:t,panel:i})},i.id))})});var Qv=(e=>(e.Use="use",e.Edit="edit",e))(Qv||{}),rt=(e=>(e.Division="div",e.Modal="modal",e.Tabs="tabs",e))(rt||{});const NV={div:"Division",tabs:"Tabs",modal:"Modal"},Zv={div:"rgba(255, 0, 0, 0.2)",modal:"rgba(0, 0, 0, 0.2)",tabs:"rgba(255, 200, 100, 0.4)"},IV={div:"#ff4000",modal:"#000",tabs:"#ffad18"};var ju=(e=>(e.Select="select",e.TreeSelect="tree-select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(ju||{});const $V=te.observer(({children:e})=>l(d.Box,{pt:10,pb:100,children:e})),LV=te.observer(({children:e,view:t})=>{const n=t.config;return l(d.Modal,{size:n.width,overflow:"inside",opened:!0,onClose:he.default.noop,withCloseButton:!1,title:n.custom_modal_title.value,trapFocus:!0,onDragStart:r=>{r.stopPropagation()},styles:{root:{position:"relative",height:"100%"},overlay:{position:"absolute !important"},modal:{border:"1px solid #efefef"},body:{maxHeight:"calc(100vh - 325px)"}},withinPortal:!1,transitionDuration:0,children:e})}),VV=({variant:e,orientation:t})=>{const n={tab:{},panel:{padding:"16px"}};return e==="pills"&&t==="horizontal"&&(n.tab.paddingTop="6px",n.tab.paddingBottom="6px"),t==="vertical"&&(n.tab["&.add-a-tab"]={paddingTop:"1px",paddingBottom:"1px"},n.tab["&.add-a-tab .mantine-Tabs-tabLabel"]={marginLeft:"auto",marginRight:"auto"}),n},zV=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},FV=te.observer(({children:e,view:t})=>{const n=Le(),r=x.useMemo(()=>n.views.options.filter(o=>o.type===rt.Division),[t.id,n.views.options]),i=t.config;return b(d.Box,{className:"preview-view-tabs",children:[b(d.Tabs,{variant:i.variant,orientation:i.orientation,defaultValue:i.tabs.length>0?i.tabs[0].id:"0",styles:VV(i),children:[b(d.Tabs.List,{grow:i.grow,children:[i.tabs.map(o=>{var a;return l(d.Tabs.Tab,{value:o.id,sx:zV(o),children:(a=o.name)!=null?a:o.id},o.id)}),l(d.Tabs.Tab,{onClick:i.addTab,value:"add",className:"add-a-tab",children:l(le.Plus,{size:18,color:"#228be6"})})]}),i.tabs.map(o=>{const a=n.views.findByID(o.view_id);return b(d.Tabs.Panel,{value:o.id,sx:{position:"relative"},children:[b(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:200},children:[l(d.Overlay,{opacity:.8,color:"#FFF",blur:10,zIndex:100}),b(d.Stack,{mx:"auto",mt:100,sx:{width:"300px",position:"relative",zIndex:200},children:[l(d.TextInput,{label:"Tab Name",value:o.name,onChange:s=>o.setName(s.currentTarget.value)}),l(d.Select,{label:"View",value:o.view_id,onChange:o.setViewID,data:r}),l(d.ColorInput,{label:"Color",value:o.color,onChange:o.setColor,disabled:i.variant!=="default"}),a&&b(d.Button,{mt:20,variant:"gradient",leftIcon:l(BP,{size:18}),gradient:{from:"cyan",to:"indigo"},onClick:()=>n.views.setIDOfVIE(a.id),children:["Swith to View: ",a.name]})]})]}),a&&l(Wa,{view:a})]},o.id)})]}),e]})}),BV=te.observer(({view:e,children:t})=>{switch(e.type){case rt.Modal:return l(LV,{view:e,children:t});case rt.Tabs:return l(FV,{view:e,children:t});case rt.Division:default:return l($V,{children:t})}}),Jv=te.observer(function({view:t}){return l(Rs.Provider,{value:{viewPanelInFullScreen:he.default.noop,inFullScreen:!1},children:l(d.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:l(BV,{view:t,children:b(d.Box,{sx:{position:"relative"},children:[l(d.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:l(ig,{view:t})}),l(RV,{view:t,isDraggable:!0,isResizable:!0})]})})})})}),jV=te.observer(function({view:t,panel:n,exitFullScreen:r}){return b(d.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[l(d.Group,{sx:{flexGrow:0},children:l(d.Button,{variant:"default",size:"sm",onClick:r,leftIcon:l(le.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),l(d.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:l(Ha,{view:t,panel:n})})]})});function GV(e,t,n){const r=e.id==="Main",[i,o]=Z.default.useState(()=>r&&e.panels.findByID(t)?t:null),a=Z.default.useCallback(f=>{o(f),r&&n(f)},[r,n]),s=Z.default.useCallback(()=>{o(null),r&&n("")},[r,n]),u=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:a,exitFullScreen:s,inFullScreen:!!u,fullScreenPanel:u}}const KV=te.observer(({children:e})=>l(d.Box,{children:e})),HV=te.observer(({children:e,view:t})=>{const n=Le(),r=t.config,i=n.views.visibleViewIDs.includes(t.id),o=()=>n.views.rmVisibleViewID(t.id);return l(d.Modal,{size:r.width,centered:!0,overflow:"inside",opened:i,onClose:o,withCloseButton:!1,title:r.custom_modal_title.value,trapFocus:!0,onDragStart:a=>{a.stopPropagation()},styles:{modal:{border:"1px solid #efefef"},body:{maxHeight:r.height,overflow:"auto"}},transitionDuration:0,children:e})}),WV=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},qV=te.observer(({children:e,view:t})=>{const n=Le(),r=t.config;return b(d.Box,{className:"render-view-tabs",children:[b(d.Tabs,{variant:r.variant,orientation:r.orientation,defaultValue:r.tabs.length>0?r.tabs[0].id:"0",styles:{panel:{padding:"16px 0px"}},keepMounted:!1,children:[l(d.Tabs.List,{grow:r.grow,children:r.tabs.map(i=>{var o;return l(d.Tabs.Tab,{value:i.id,sx:WV(i),disabled:!i.view_id,children:(o=i.name)!=null?o:i.id},i.id)})}),r.tabs.map(i=>{const o=n.views.findByID(i.view_id);return o?l(d.Tabs.Panel,{value:i.id,children:l(Wa,{view:o})},i.id):null})]}),e]})}),UV=te.observer(({view:e,children:t})=>{switch(e.type){case rt.Modal:return l(HV,{view:e,children:t});case rt.Tabs:return l(qV,{view:e,children:t});case rt.Division:default:return l(KV,{children:t})}}),Wa=te.observer(function({view:t}){const{fullScreenPanelID:n,setFullScreenPanelID:r}=vd(),{viewPanelInFullScreen:i,exitFullScreen:o,inFullScreen:a,fullScreenPanel:s}=GV(t,n,r);return l(Rs.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:a},children:b(d.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:[a&&l(jV,{view:t,panel:s,exitFullScreen:o}),l(UV,{view:t,children:b(d.Box,{sx:{position:"relative"},children:[!a&&l(d.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:l(ig,{view:t})}),!a&&l(PV,{view:t})]})})]})})});function YV(e){e=e||{};const t=Object.keys(e).sort(),n=[];for(let r=0;r<t.length;r++){const i=t[r];if(i!="authentication"&&e[i])n.push(t[r]+"="+(typeof e[i]=="object"?JSON.stringify(e[i]):e[i]));else{const o=Object.keys(e[i]).sort();for(let a=0;a<o.length;a++){const s=o[a];s!="sign"&&e[i][s]&&n.push(o[a]+"="+(typeof e[i][s]=="object"?JSON.stringify(e[i][s]):e[i][s]))}}}return n.sort().join("&")}function XV(e,t){let n=YV(e);return n+="&key="+t,ld.default.MD5(n).toString().toUpperCase()}const zr={baseURL:"http://localhost:31200",app_id:"",app_secret:"",getAuthentication(e){if(!this.app_id||!this.app_secret)return;const t=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:t,sign:XV({app_id:this.app_id,nonce_str:t,...e},this.app_secret)}},getRequest(e,t){return(n,r,i={})=>{const o=window.localStorage.getItem("token"),a={"X-Requested-With":"XMLHttpRequest","Content-Type":i.string?"application/x-www-form-urlencoded":"application/json",authorization:o?`bearer ${o}`:"",...i.headers},s={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a,signal:t};return["POST","PUT"].includes(e)&&(s.data=i.string?JSON.stringify(r):r,s.data.authentication=this.getAuthentication(s.data)),Lo.default(s).then(u=>u.data).catch(u=>Promise.reject(u))}}};function em(e){zr.baseURL!==e.apiBaseURL&&(zr.baseURL=e.apiBaseURL),e.app_id&&(zr.app_id=e.app_id),e.app_secret&&(zr.app_secret=e.app_secret)}const tm=D.types.model("FilterConfigModel_Checkbox",{_name:D.types.literal("checkbox"),default_value:D.types.boolean}).actions(e=>({setDefaultValue(t){e.default_value=t}})),QV=()=>tm.create({_name:"checkbox",default_value:!1});var Sn=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(Sn||{}),Qt=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TreeSelect="tree-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Qt||{});D.types.model({type:D.types.enumeration("DataSourceType",[Sn.Postgresql,Sn.MySQL,Sn.HTTP]),key:D.types.string,sql:D.types.string});const ZV=D.types.model("FilterConfigModel_DateRange",{_name:D.types.literal("date-range"),required:D.types.boolean,inputFormat:D.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:D.types.optional(D.types.array(D.types.union(D.types.string,D.types.null)),[null,null]),clearable:D.types.boolean,max_days:D.types.optional(D.types.number,0),allowSingleDateInRange:D.types.optional(D.types.boolean,!1)}).views(e=>({truthy(t){return Array.isArray(t)&&t.length===2&&t.every(n=>!!n)}})).views(e=>({getMaxDate(t){const{max_days:n}=e;if(!(!n||!t))return En.default(t).startOf("day").add(n,"days").toDate()},getMinDate(t){const{max_days:n}=e;if(!(!n||!t))return En.default(t).startOf("day").subtract(n,"days").toDate()}})).actions(e=>({setFilterValue(t){try{const n=D.getParent(e);D.getRoot(e).filters.setValueByKey(n.key,t)}catch(n){console.error(n)}}})).actions(e=>({setRequired(t){e.required=t},setClearable(t){e.clearable=t},setInputFormat(t){e.inputFormat=t},setDefaultValue(t){e.default_value.length=0,e.default_value.push(...t),e.setFilterValue(t)},setMaxDays(t){e.max_days=t,t>0&&(e.clearable=!0)},setAllowSingleDateInRange(t){e.allowSingleDateInRange=t}})),nm=D.types.snapshotProcessor(ZV,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:En.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>{try{return n?En.default.tz(n,"UTC").format(t.inputFormat):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}}}),JV=()=>nm.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),ez=D.types.model({label:D.types.string,value:D.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),Gu=D.types.model("FilterConfigModel_BaseSelect",{static_options:D.types.optional(D.types.array(ez),[]),options_query_id:D.types.optional(D.types.string,""),default_selection_count:D.types.optional(D.types.number,0)}).views(e=>({get usingQuery(){return!!e.options_query_id}})).views(e=>({get options(){if(!e.usingQuery)return e.static_options;const{data:t,state:n,error:r}=D.getRoot(e).getDataStuffByID(e.options_query_id);return n==="idle"?t:[]}})).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setDefaultSelectionCount(t){e.default_selection_count=t},setOptionsQueryID(t){e.options_query_id=t!=null?t:""}})),rm=D.types.compose("FilterConfigModel_MultiSelect",D.types.model({_name:D.types.literal("multi-select"),default_value:D.types.optional(D.types.array(D.types.string),[]),min_width:D.types.optional(D.types.string,"")}),Gu).actions(e=>({setDefaultValue(t){e.default_value=D.cast(t)},setMinWidth(t){e.min_width=t}})),tz=()=>rm.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),im=D.types.compose("FilterConfigModel_TreeSelect",D.types.model({_name:D.types.literal("tree-select"),default_value:D.types.optional(D.types.array(D.types.string),[]),min_width:D.types.optional(D.types.string,"")}),Gu).actions(e=>({setDefaultValue(t){e.default_value=D.cast(t)},setMinWidth(t){e.min_width=t}})),nz=()=>im.create({_name:"tree-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),om=D.types.compose("FilterConfigModel_Select",D.types.model({_name:D.types.literal("select"),default_value:D.types.string,required:D.types.boolean,width:D.types.optional(D.types.string,"")}),Gu).views(e=>({truthy(t){return!!t}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setWidth(t){e.width=t}})),rz=()=>om.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",default_selection_count:0}),am=D.types.model("FilterConfigModel_TextInput",{_name:D.types.literal("text-input"),required:D.types.boolean,default_value:D.types.string}).views(e=>({truthy(t){return typeof t!="string"?!1:!!t.trim()}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),sm=()=>am.create({_name:"text-input",required:!1,default_value:""}),Ku=D.types.model("FilterModel",{id:D.types.identifier,key:D.types.string,label:D.types.string,order:D.types.number,visibleInViewsIDs:D.types.array(D.types.string),auto_submit:D.types.optional(D.types.boolean,!1),type:D.types.enumeration("DashboardFilterType",[Qt.Select,Qt.MultiSelect,Qt.TreeSelect,Qt.TextInput,Qt.Checkbox,Qt.DateRange]),config:D.types.union(om,rm,im,am,tm,nm)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t},get usingDefaultValue(){return e.type!==Qt.TreeSelect},get auto_submit_supported(){return[Qt.Select,Qt.Checkbox,Qt.DateRange].includes(e.type)}})).views(e=>({get should_auto_submit(){return e.auto_submit_supported&&e.auto_submit},requiredAndPass(t){return he.default.get(e.config,"required",!1)?he.default.get(e.config,"truthy",()=>!0)(t):!1}})).actions(e=>({setKey(t){e.key=t},setLabel(t){e.label=t},setOrder(t){e.order=t},setType(t){switch(t){case Qt.Select:e.config=rz();break;case Qt.MultiSelect:e.config=tz();break;case Qt.TreeSelect:e.config=nz();break;case Qt.TextInput:e.config=sm();break;case Qt.Checkbox:e.config=QV();break;case Qt.DateRange:e.config=JV();break}e.type=t},setVisibleInViewsIDs(t){e.visibleInViewsIDs.length=0,e.visibleInViewsIDs.push(...t)},setAutoSubmit(t){e.auto_submit=e.auto_submit_supported&&t}}));function lm(e,t){if(e===void 0)return e;if(t._name==="date-range")try{const[...n]=e;return n.map(r=>{if(r===null)return r;const i=En.default.tz(r,"UTC").format(t.inputFormat);return i!=null?i:r})}catch(n){return console.error(n),e}return e}function um(e){return e.reduce((t,n)=>(t[n.key]=lm(n.config.default_value,n.config),t),{})}function iz(e,t,n){D.addDisposer(e,D.addMiddleware(e,(r,i)=>{i(r,()=>{D.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const cm=D.types.model("FiltersModel",{current:D.types.optional(D.types.array(Ku),[]),values:D.types.optional(D.types.frozen(),{}),previewValues:D.types.optional(D.types.frozen(),{})}).views(e=>({get firstID(){if(e.current.length!==0)return e.current[0].id},findByID(t){return e.current.find(n=>n.id===t)},get inOrder(){return he.default.sortBy(e.current,"order")},get options(){return e.current.map(t=>{var n;return{label:(n=t.label)!=null?n:t.id,value:t.id,_type:"filter"}})},get empty(){return e.current.length===0},visibleInView(t){return he.default.sortBy(e.current.filter(n=>n.visibleInViewsIDs.includes(t)),"order")},get firstFilterValueKey(){var t;return(t=Object.keys(e.values)[0])!=null?t:""},get keyLabelMap(){return e.current.reduce((t,n)=>(t[n.key]=n.label,t),{})}})).actions(e=>({replace(t){e.current=D.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},removeByID(t){const n=e.current.findIndex(r=>r.id===t);n>=0&&e.current.splice(n,1)},setValues(t){e.values=t},setValueByKey(t,n){e.values={...e.values,[t]:n}},getValueByKey(t){return e.values[t]},refreshValues(){console.log("refreshing values"),e.values=um(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){iz(e.current,Ku,(n,r)=>{if(n==="setType"){const i=lm(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function dm(e){return{current:e,values:um(e)}}var qa={exports:{}};(function(e,t){(function(n,r){r()})(hn,function(){function n(c,f){return typeof f>"u"?f={autoBom:!1}:typeof f!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),f={autoBom:!f}),f.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function r(c,f,h){var p=new XMLHttpRequest;p.open("GET",c),p.responseType="blob",p.onload=function(){u(p.response,f,h)},p.onerror=function(){console.error("could not download file")},p.send()}function i(c){var f=new XMLHttpRequest;f.open("HEAD",c,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function o(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var f=document.createEvent("MouseEvents");f.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(f)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof hn=="object"&&hn.global===hn?hn:void 0,s=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(c,f,h){var p=a.URL||a.webkitURL,g=document.createElement("a");f=f||c.name||"download",g.download=f,g.rel="noopener",typeof c=="string"?(g.href=c,g.origin===location.origin?o(g):i(g.href)?r(c,f,h):o(g,g.target="_blank")):(g.href=p.createObjectURL(c),setTimeout(function(){p.revokeObjectURL(g.href)},4e4),setTimeout(function(){o(g)},0))}:"msSaveOrOpenBlob"in navigator?function(c,f,h){if(f=f||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,h),f);else if(i(c))r(c,f,h);else{var p=document.createElement("a");p.href=c,p.target="_blank",setTimeout(function(){o(p)})}}:function(c,f,h,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof c=="string")return r(c,f,h);var g=c.type==="application/octet-stream",v=/constructor/i.test(a.HTMLElement)||a.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||g&&v||s)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var _=w.result;_=m?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=_:location=_,p=null},w.readAsDataURL(c)}else{var y=a.URL||a.webkitURL,C=y.createObjectURL(c);p?p.location=C:location.href=C,p=null,setTimeout(function(){y.revokeObjectURL(C)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})})(qa);function oz(e,t){const n=new Blob([t],{type:"text/csv"});qa.exports.saveAs(n,`${e}.csv`)}function az(e,t){const n=new Blob([t],{type:"application/json"});qa.exports.saveAs(n,`${e}.json`)}function sz(e){const t=new C0.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,fm(r))}),t.generateAsync({type:"blob"}).then(n=>{qa.exports.saveAs(n,"dashboard_data.zip")})}function fm(e){if(!Array.isArray(e)||e.length===0)return"";const t=[],n=Object.keys(e[0]);return t.push(n.join(",")),e.forEach(r=>{const i=Object.values(r).join(",");t.push(i)}),t.join(`
|
|
246
|
+
`)}},J$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o();const{type:p,func_content:g}=a,v={type:p,func_content:g};s(v),t(v)},c=()=>{o(),s(e)},f=p=>{s(g=>({...g,func_content:p}))},h=()=>{f(Fv.dynamic.func_content)};return b(Oe,{children:[l(d.Box,{sx:{width:"50%"},children:l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),l(d.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),l(Z$,{value:a.func_content,onChange:f}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},eL=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:l(J$,{value:e,onChange:t,data:n}),tL=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return l(Oe,{children:l(d.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},nL=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],rL=x.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Fv[a]})};return b(d.SimpleGrid,{cols:2,children:[l(d.Select,{ref:i,label:e,data:nL,value:t.type,onChange:o,sx:{flexGrow:1}}),l(tL,{value:t,onChange:n}),l(eL,{value:t,onChange:n,data:r})]})}),iL=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function oL({data:e,control:t,watch:n}){return n(["scatter"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"scatter.name_data_key",control:t,render:({field:r})=>l(mt,{label:"Name Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"scatter.y_data_key",control:t,render:({field:r})=>l(mt,{label:"Value Data Field",required:!0,data:e,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Style",labelPosition:"center"}),l(j.Controller,{name:"scatter.symbolSize",control:t,render:({field:r})=>l(rL,{label:"Size",data:e,...r})}),l(j.Controller,{name:"scatter.color",control:t,render:({field:r})=>l(X$,{data:e,...r})}),l(d.Divider,{mb:-15,label:"Label",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:"scatter.label_position",control:t,render:({field:r})=>l(d.Select,{label:"Label Position",data:iL,...r})})}),l(j.Controller,{name:"scatter.label_overflow",control:t,render:({field:r})=>l(Q$,{...r})})]})}function aL({control:e,watch:t}){return t("stats"),l(d.Stack,{children:b(d.Stack,{spacing:0,children:[l(j.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>l(io,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),l(j.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>l(io,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}const sL=({control:e,data:t,index:n,remove:r})=>b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),l(j.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>l(mt,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),l(d.Divider,{mb:-10,mt:10,variant:"dashed"}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),lL=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=j.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),s=r.map((p,g)=>({...p,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),c=t("tooltip.metrics.0.id"),[f,h]=x.useState(()=>c!=null?c:null);return x.useEffect(()=>{c&&h(p=>p!==null?p:c)},[c]),b(Oe,{children:[b(d.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[l(le.InfoCircle,{size:14,color:"#888"}),l(d.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),l(d.Divider,{variant:"dashed",my:10}),b(d.Tabs,{value:f,onTabChange:p=>h(p),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[b(d.Tabs.List,{children:[s.map((p,g)=>l(d.Tabs.Tab,{value:p.id,children:p.name?p.name:g},p.id)),l(d.Tabs.Tab,{onClick:u,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),s.map((p,g)=>l(d.Tabs.Panel,{value:p.id,children:l(sL,{control:e,index:g,remove:o,data:n},p.id)},p.id))]})]})};function uL({data:e,control:t,watch:n}){return l(lL,{control:t,watch:n,data:e})}const cL=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},dL=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=g=>{s({...a,enabled:g})},c=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};s(m),t(m)},f=()=>{o(),s(e)},h=g=>{s(v=>({...v,func_content:g}))},p=()=>{h($v.func_content)};return b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),l(d.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),l(cL,{value:a.func_content,onChange:h,disabled:!a.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:p,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:f,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:c,children:"OK"})]})]})]})})]})});function fL({data:e,control:t,watch:n}){return n(["x_axis"]),b(d.Stack,{children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>l(mt,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),l(j.Controller,{name:"x_axis.name",control:t,render:({field:r})=>l(d.TextInput,{label:"Name",sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>l(d.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:l(d.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),l(j.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>l(dL,{data:e,...r})})]})]})}const pL=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],hL=[{label:"left",value:"left"},{label:"right",value:"right"}];function gL({control:e,index:t,remove:n}){return b(d.Stack,{my:0,p:"0",sx:{position:"relative"},children:[l(d.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),b(d.Group,{grow:!0,noWrap:!0,children:[l(j.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>l(d.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),l(j.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>l(d.Select,{label:"Align",required:!0,data:pL,sx:{flex:1},...r})})]}),l(d.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),l(d.Group,{grow:!0,noWrap:!0,children:l(j.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>l(d.Select,{label:"Position",required:!0,data:hL,sx:{flex:1},...r})})}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),l(j.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>l($r,{...r})})]}),b(d.Stack,{children:[l(d.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),b(d.Group,{grow:!0,children:[l(j.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>l(d.TextInput,{label:"Min",...r})}),l(j.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>l(d.TextInput,{label:"Max",...r})})]})]}),l(d.Button,{mt:20,leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function vL({control:e,watch:t}){const{fields:n,append:r,remove:i}=j.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,c)=>({...u,...o[c]})),s=()=>r({name:"",label_formatter:Ln});return b(d.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[b(d.Tabs.List,{children:[a.map((u,c)=>l(d.Tabs.Tab,{value:c.toString(),children:c+1},c)),l(d.Tabs.Tab,{onClick:s,value:"add",children:l(le.Plus,{size:18,color:"#228be6"})})]}),a.map((u,c)=>l(d.Tabs.Panel,{value:c.toString(),children:l(gL,{control:e,index:c,remove:i})},c))]})}function mL(e){return e||{templates:{top:"",bottom:""}}}function yL({reference_lines:e=[],stats:t,...n}){return{reference_lines:e,stats:mL(t),...n}}function bL({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),{variables:r}=e,i=e.data,o=x.useMemo(()=>H.defaultsDeep({},t,Vu),[t]),a=x.useMemo(()=>yL(o),[o]);x.useEffect(()=>{!H.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:s,handleSubmit:u,watch:c,getValues:f,reset:h}=j.useForm({defaultValues:a});x.useEffect(()=>{h(a)},[a]);const p=f(),g=x.useMemo(()=>!H.isEqual(p,o),[p,o]);return c(["dataZoom"]),l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:u(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{children:"Chart Config"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"X Axis",children:"X Axis"}),l(d.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),l(d.Tabs.Tab,{value:"Scatter",children:"Scatter"}),l(d.Tabs.Tab,{value:"Tooltip",children:"Tooltip"}),l(d.Tabs.Tab,{value:"Stats",children:"Stats"}),l(d.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),l(d.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),l(d.Tabs.Panel,{value:"X Axis",children:l(fL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Y Axes",children:l(vL,{control:s,watch:c})}),l(d.Tabs.Panel,{value:"Scatter",children:l(oL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Tooltip",children:l(uL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Stats",children:l(aL,{control:s,watch:c,data:i})}),l(d.Tabs.Panel,{value:"Reference Lines",children:l(K$,{variables:r,control:s,watch:c})}),l(d.Tabs.Panel,{value:"Zooming",children:l(j.Controller,{name:"dataZoom",control:s,render:({field:v})=>l(du,{...v})})})]})]})})}function wL(e){const{dataZoom:t=yi,...n}=e;return{...n,dataZoom:t}}function xL(e){const t={scatter:{label_overflow:Lv}};return he.default.defaultsDeep(t,e)}function SL(e){const{color:t}=e.scatter;return typeof t=="string"?{...e,scatter:{...e.scatter,color:{...ho.static,color:t}}}:e}function CL(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:qr.random().css()},show_in_legend:i=!1,yAxisIndex:o=0}=n;return{...n,lineStyle:r,show_in_legend:i,yAxisIndex:o}});return{...e,reference_lines:t}}class _L extends tn{constructor(){super(...arguments);Re(this,"VERSION",7)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{tooltip:r={metrics:[]},...i}=n.config;return{...n,version:2,config:{...i,tooltip:r}}}),this.version(3,n=>({...n,version:3,config:wL(n.config)})),this.version(4,n=>{const{config:r}=n;return{...n,version:5,config:xL(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:SL(r)}}),this.version(7,n=>{const{config:r}=n;return{...n,version:7,config:CL(r)}})}}const EL={displayName:"Scatter Chart",migrator:new _L,name:"scatterChart",viewRender:F$,configRender:bL,createConfig(){return{version:7,config:H.cloneDeep(Vu)}},triggers:[Iv]},Bv=["function text({ data, variables, filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
|
|
247
|
+
`),zu={func_content:Bv,horizontal_align:"left",font_size:"14px",font_weight:"normal"},TL=te.observer(({context:e})=>{const t=Le(),{value:n=zu}=Je(e.instanceData,"config"),{variables:r}=e,{func_content:i,horizontal_align:o,font_size:a,font_weight:s}=n,u=x.useMemo(()=>new Function(`return ${i}`)()({data:e.data,variables:r,filters:t.filters.values,context:t.context.current}),[i,e.data,r,t.filters.values,t.context.current]);return l(d.Text,{align:o,weight:s,sx:{fontSize:a},children:u})}),ML=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{sx:{position:"relative"},children:l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},kL=x.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,s]=x.useState(e),u=()=>{o(),t(a)},c=()=>{o(),s(e)},f=()=>{s(Bv)};return x.useEffect(()=>{s(e)},[e]),b(Oe,{children:[l(d.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Edit Content"}),l(d.Modal,{size:800,title:"Text content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&b(d.Stack,{children:[l(ML,{value:a,onChange:s}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:f,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})}),OL=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function DL({context:e}){const{value:t,set:n}=Je(e.instanceData,"config"),r=x.useMemo(()=>H.defaultsDeep({},t,zu),[t]),i=x.useMemo(()=>{const{func_content:p,horizontal_align:g,font_size:v,font_weight:m}=r;return{func_content:p,horizontal_align:g,font_size:v,font_weight:m}},[r]);x.useEffect(()=>{!H.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:s,getValues:u,reset:c}=j.useForm({defaultValues:i});Z.default.useEffect(()=>{c(i)},[i]),s(["func_content","horizontal_align","font_size","font_weight"]);const f=u(),h=Z.default.useMemo(()=>!he.default.isEqual(f,r),[f,r]);return l(d.Stack,{spacing:"xs",children:b("form",{onSubmit:a(n),children:[b(d.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(d.Text,{weight:500,children:"Configurations"}),l(d.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:l(le.DeviceFloppy,{size:20})})]}),b(d.Stack,{spacing:10,children:[l(j.Controller,{name:"func_content",control:o,render:({field:p})=>l(kL,{...p})}),l(d.Divider,{mt:10,mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),l(j.Controller,{name:"horizontal_align",control:o,render:({field:p})=>l(d.Select,{label:"Horizontal Alignment",data:OL,...p})}),l(j.Controller,{name:"font_size",control:o,render:({field:p})=>l(d.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},...p})}),l(d.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:l(j.Controller,{name:"font_weight",control:o,render:({field:p})=>l(Rg,{label:"Font Weight",...p})})})]})]})})}class RL extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const AL={displayName:"Text",migrator:new RL,name:"text",viewRender:TL,configRender:DL,createConfig(){return{version:1,config:H.cloneDeep(zu)}}},PL=[{value:"#25262B",name:"Dark"},{value:"#868E96",name:"Gray"},{value:"#FA5252",name:"Red"},{value:"#E64980",name:"Pink"},{value:"#BE4BDB",name:"Grape"},{value:"#7950F2",name:"Violet"},{value:"#4C6EF5",name:"Indigo"},{value:"#228BE6",name:"Blue"},{value:"#15AABF",name:"Cyan"},{value:"#12B886",name:"Teal"},{value:"#40C057",name:"Green"},{value:"#82C91E",name:"Lime"},{value:"#FAB005",name:"Yellow"},{value:"#FD7E14",name:"Orange"}].map(e=>({name:e.name,value:e.value,type:"single",category:"basic"})),NL=[DD,RD,ND,PD,AD,ID],jv=()=>({id:"dashboard",version:Wl,manifest:{viz:[Iu,RN,AL,CN,JN,oP,KD,U2,eP,CA,EL,vP,MP,x$,lR],color:[...PL,...NL]}}),go=new VD,Lt={pluginManager:Wn("pluginManager"),vizManager:Wn("vizManager"),colorManager:Wn("colorManager"),instanceScope:{panelModel:Wn("panelModel"),vizInstance:Wn("vizInstance"),interactionManager:Wn("interactionManager"),migrator:Wn("migrator"),operationManager:Wn("operationManager"),triggerManager:Wn("triggerManager")}},Fu=()=>{try{go.install(jv())}catch{}const e=new MD(go),t=new LD(go);return{pluginManager:go,vizManager:e,colorManager:t}},zn=x.createContext(Fu());try{go.install(jv())}catch{}function IL(e,t){const{value:n,set:r}=Je(e.operation.operationData,"config"),[i,o]=x.useState(H.defaults({},n,t)),a=async()=>{await r(i)};return x.useEffect(()=>{o(H.defaults({},n,t))},[n]),{config:i,setConfig:o,commit:a}}function $L(e){const{config:t,setConfig:n,commit:r}=IL(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function o(s){n({...t,openInNewTab:s}),await r()}const a=s=>n({...t,urlTemplate:s.currentTarget.value});return b(d.Stack,{children:[l(d.TextInput,{label:"Url",value:t.urlTemplate,onChange:a,onBlur:i}),l(d.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:s=>o(s.currentTarget.checked)})]})}async function LL(e,t){const{urlTemplate:n,openInNewTab:r}=await t.operationData.getItem("config");window.dispatchEvent(new CustomEvent("open-link",{detail:{urlTemplate:n,openInNewTab:r,payload:e}}))}class VL extends tn{constructor(){super(...arguments);Re(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const zL={displayName:"Open Link",id:"builtin:op:open-link",configRender:$L,run:LL,migrator:new VL,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function FL(e){const{value:t,set:n}=Je(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function BL(e){const[t,n]=FL(e.operation);return l(d.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function jL(e,t){const n=await t.operationData.getItem("config"),r=H.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const GL={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:BL,run:jL},KL=te.observer(e=>{const t=Le(),{value:n,set:r}=Je(e.operation.operationData,"config");console.log({value:n,viewID:n==null?void 0:n.viewID});const i=(n==null?void 0:n.viewID)||"",o=a=>void r({viewID:a});return l(d.Select,{defaultValue:i,value:i,onChange:o,label:"View",data:t.views.options})});async function HL(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const WL={displayName:"Open View",id:"builtin:op:open_view",configRender:KL,run:HL},qL={dictionary:{}},UL=te.observer(e=>{const t=Le(),{value:n=qL,set:r}=Je(e.operation.operationData,"config"),{dictionary:i={}}=n,o=(u,c)=>{r({dictionary:{...i,[u]:c}})},a=()=>{o(t.filters.firstFilterValueKey,"")},s=u=>{const c={...i};delete c[u],r({dictionary:c})};return b(d.Stack,{spacing:10,children:[l(d.Text,{children:"Mapping Rules"}),Object.entries(i).map(([u,c])=>b(d.Flex,{justify:"space-between",gap:10,children:[l(d.TextInput,{label:"Payload key",value:c,onChange:f=>{o(u,f.currentTarget.value)},sx:{flexGrow:1}}),l(mt,{data:[t.filters.values],value:u,onChange:f=>{o(f,c)},label:"Filter key",sx:{flexGrow:1}}),l(d.ActionIcon,{onClick:()=>s(u),sx:{marginTop:"26px",flexGrow:0},children:l(le.Trash,{size:14,color:"red"})})]},u)),l(d.Button,{size:"xs",onClick:a,sx:{alignSelf:"center",width:"300px"},children:"Add one mapping rule"})]})});async function YL(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const XL={displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:UL,run:YL},QL={filter_keys:[]},ZL=te.observer(e=>{const t=Le(),{value:n=QL,set:r}=Je(e.operation.operationData,"config"),{filter_keys:i=[]}=n,o=s=>{r({filter_keys:[...s]})},a=x.useMemo(()=>t.filters.current.map(s=>({label:s.label,value:s.key})),[t.filters.values]);return l(d.Stack,{spacing:10,children:l(d.MultiSelect,{label:"Select Filters to Clear",data:a,value:i,onChange:o})})});async function JL(e,t){const r=(await t.operationData.getItem("config")).filter_keys;window.dispatchEvent(new CustomEvent("clear-filter-values",{detail:{filter_keys:r,payload:e}}))}const Ga=[GL,zL,WL,XL,{displayName:"Clear Filter Values",id:"builtin:op:clear_filter_values",configRender:ZL,run:JL}];class eV{constructor(t,n=Ga){Re(this,"attachments");this.operations=n;const r=async i=>{const{id:o,schemaRef:a}=await i.getItem(null);return{id:o,schemaRef:a,operationData:new vi(i,"data")}};this.attachments=new Hl(t,"__OPERATIONS",r)}async runOperation(t,n){const r=await this.attachments.getInstance(t);if(!r){console.warn(`Operation '${t}' is not defined`);return}const i=this.tryGetSchema(r.schemaRef);if(!i){console.warn(`Operation schema '${r.schemaRef}' is not defined`);return}await i.run(n,r)}tryGetSchema(t){return this.operations.find(n=>n.id===t)}async needMigration(){const n=(await this.attachments.list()).map(async r=>{const i={configData:r.operationData},o=this.tryGetSchema(r.schemaRef),a=o==null?void 0:o.migrator;return a&&await a.needMigration(i)});return(await Promise.all(n)).some(r=>r)}async runMigration(){const n=(await this.attachments.list()).map(async r=>{const i={configData:r.operationData},o=this.tryGetSchema(r.schemaRef),a=o==null?void 0:o.migrator;a&&await a.needMigration(i)&&await a.migrate(i)});await Promise.all(n)}async createOrGetOperation(t,n){var a,s;if(!this.getOperationSchemaList().some(u=>u.id===n.id))throw new Error(`Operation schema '${n.id}' is not defined`);const i=await this.attachments.getInstance(t);return!i||i.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:(s=(a=n.createDefaultConfig)==null?void 0:a.call(n))!=null?s:{}}):i}getOperationList(){return this.attachments.list()}getOperationSchemaList(){return this.operations}removeOperation(t){return this.attachments.remove(t)}async retrieveTrigger(t){return await this.attachments.getInstance(t)}}const Gv="__TRIGGERS";class tV{constructor(t,n){Re(this,"attachments");this.instance=t,this.component=n;const r=async i=>{const{id:o,schemaRef:a}=await i.getItem(null);return{id:o,schemaRef:a,triggerData:new vi(i,"data")}};this.attachments=new Hl(t,Gv,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(Gv,n=>{const r=H.values(n).map(i=>({id:H.get(i,"id"),schemaRef:H.get(i,"schemaRef"),config:Ft.toJS(H.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var s;if(!this.getTriggerSchemaList().some(u=>u.id===n.id))throw new Error(`Trigger schema '${n.id}' is not defined in component '${this.component.name}'`);const o=await this.attachments.getInstance(t);return!o||r.recreate||o.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:((s=n==null?void 0:n.createDefaultConfig)==null?void 0:s.call(n))||{}}):o}async getTriggerList(){return await this.attachments.list()}getTriggerSchemaList(){return this.component.triggers||[]}async removeTrigger(t){await this.attachments.remove(t)}async retrieveTrigger(t){return await this.attachments.getInstance(t)}async getMigrationTasks(){const n=(await this.getTriggerList()).map(async r=>{const i=this.getTriggerSchemaList().find(s=>s.id===r.schemaRef),o=i==null?void 0:i.migrator,a={configData:r.triggerData};return o&&await o.needMigration(a)?()=>o.migrate(a):null});return Promise.all(n).then(r=>r.filter(i=>i))}async needMigration(){return(await this.getMigrationTasks()).length>0}async runMigration(){const t=await this.getMigrationTasks();await Promise.all(t.map(n=>n()))}}class Bu{constructor(t,n,r){Re(this,"operationManager");Re(this,"triggerManager");Re(this,"attachments");this.operationManager=new eV(t,r),this.triggerManager=new tV(t,n);const i=async o=>{const{id:a,triggerRef:s,operationRef:u}=await o.getItem(null);return{id:a,triggerRef:s,operationRef:u}};this.attachments=new Hl(t,"__INTERACTIONS",i)}async addInteraction(t,n){const r=t.id,i=n.id,o=`[${r}]:[${i}]`;await this.attachments.create(o,{id:o,triggerRef:r,operationRef:i})}getInteractionList(){return this.attachments.list()}async removeInteraction(t){const n=await this.attachments.getInstance(t);if(!n)return;const{triggerRef:r,operationRef:i}=n;await this.getTriggerRefCount(r)<=1&&await this.triggerManager.removeTrigger(r),await this.getOperationRefCount(i)<=1&&await this.operationManager.removeOperation(i),await this.attachments.remove(t)}async getOperationRefCount(t){return(await this.getInteractionList()).filter(r=>r.operationRef===t).length}async getTriggerRefCount(t){return(await this.getInteractionList()).filter(r=>r.triggerRef===t).length}async runInteraction(t,n){const i=(await this.getInteractionList()).filter(o=>o.triggerRef===t);await Promise.all(i.map(async o=>{try{return await this.operationManager.runOperation(o.operationRef,n)}catch(a){console.warn(`Failed to run operation '${o.operationRef}'`,a)}}))}}const wi=({vizManager:e,instance:t})=>tt.useCreation(()=>new Bu(t,e.resolveComponent(t.type),Ga),[t,e]),Kv=e=>{const{title:t="Variables",variables:n}=e,r=Ut.useClipboard(),i=o=>{r.copy(o),Io.showNotification({color:"green",message:"Copied to clipboard"})};return b(d.Paper,{withBorder:!0,p:"sm",children:[l(d.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),l(d.Stack,{style:{maxHeight:"500px"},children:n.map(o=>b(d.Text,{size:"sm",children:[b(d.Code,{color:"teal",children:["// ",o.description]}),l("br",{}),b(d.Code,{onClick:()=>i(o.name),style:{cursor:"pointer"},children:[o.name," : ",o.valueType]})]},o.name))})]})};class nV{constructor(t,n){Re(this,"operationId");Re(this,"operation");Re(this,"operationSchema");Re(this,"variables",[]);this.operationManager=t,this.instance=n,Ft.makeAutoObservable(this)}get schemaList(){return this.operationManager.getOperationSchemaList()}async configOperation(t,n){const r=await this.operationManager.retrieveTrigger(t),i=this.operationManager.getOperationSchemaList().find(o=>o.id===(r==null?void 0:r.schemaRef));Ft.runInAction(()=>{this.operationId=t,this.operation=r,this.operationSchema=i,this.variables=n})}async changeSchema(t){this.operationId&&(await this.operationManager.createOrGetOperation(this.operationId,t),await this.configOperation(this.operationId,this.variables))}}function rV(e){return!!e.operationId}const iV=te.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return l(d.Button,{variant:"outline",onClick:t,children:n})}),oV=te.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return x.createElement(e.operationSchema.configRender,t)});function aV({model:e}){const t=e.schemaList,n=t.map(i=>({label:i.displayName,value:i.id}));async function r(i){await e.changeSchema(t.find(o=>o.id===i))}return l(d.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const sV=te.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),{operationManager:i,operationId:o,instance:a,variables:s}=e,u=tt.useCreation(()=>new nV(i,a),[i,a]);return tt.useAsyncEffect(async()=>{await u.configOperation(o,s)},[o,u]),rV(u)?b(Oe,{children:[l(iV,{model:u,onClick:n}),l(d.Modal,{size:600,opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",zIndex:320,children:b(d.Stack,{children:[l(aV,{model:u}),l(oV,{model:u}),l(Kv,{title:"Variables",variables:u.variables})]})})]}):null});class lV{constructor(t,n){Re(this,"triggerId");Re(this,"trigger");Re(this,"triggerSchema");Re(this,"sampleData");this.triggerManager=t,this.instance=n,Ft.makeAutoObservable(this)}get schemaList(){return this.triggerManager.getTriggerSchemaList()}async configTrigger(t,n){const r=await this.triggerManager.retrieveTrigger(t),i=this.triggerManager.getTriggerSchemaList().find(o=>o.id===(r==null?void 0:r.schemaRef));Ft.runInAction(()=>{this.triggerId=t,this.trigger=r,this.triggerSchema=i,this.sampleData=n})}async changeSchema(t){this.triggerId&&(await this.triggerManager.createOrGetTrigger(this.triggerId,t),await this.configTrigger(this.triggerId,this.sampleData))}isReady(){return uV(this)}}function uV(e){return!!e.triggerId&&!!e.triggerSchema}function cV(e,t){return tt.useCreation(()=>new lV(e,t),[e,t])}const dV=te.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return l(d.Button,{variant:"outline",onClick:t,children:x.createElement(n,r)})}),fV=te.observer(({model:e})=>{const t=e.schemaList,n=t.map(i=>({label:i.displayName,value:i.id}));async function r(i){await e.changeSchema(t.find(o=>o.id===i))}return l(d.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),pV=te.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return x.createElement(e.triggerSchema.configRender,t)}),hV=te.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),i=e.model;return b(Oe,{children:[l(d.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",zIndex:320,children:b(d.Stack,{children:[l(fV,{model:i}),l(pV,{model:i}),l(Kv,{title:"Payload",variables:i.triggerSchema.payload})]})}),l(dV,{onClick:n,model:i})]})});function gV(e,t){const[n,r]=x.useState([]);return tt.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t]),n}const vV=te.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:o})=>{const{triggerRef:a,operationRef:s}=e,u=cV(t.triggerManager,n);if(tt.useAsyncEffect(async()=>{await u.configTrigger(a,r)},[u,a,r]),u.isReady()){const c=[...u.triggerSchema.payload,...i];return b(d.Group,{children:[l(hV,{model:u}),l(sV,{instance:n,operationId:s,variables:c,operationManager:t.operationManager}),l(d.ActionIcon,{"aria-label":"delete-interaction",variant:"filled",color:"red",onClick:()=>o(e),children:l(le.Trash,{size:16})})]})}return null}),mV=e=>{const[t,n]=x.useState(0),{interactionManager:r,instance:i,sampleData:o,variables:a}=e,s=gV(r,t),u=async()=>{const p=await r.triggerManager.createOrGetTrigger(Ut.randomId(),r.triggerManager.getTriggerSchemaList()[0]),g=await r.operationManager.createOrGetOperation(Ut.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(p,g),n(v=>v+1)};async function c(p){await r.removeInteraction(p.id),n(g=>g+1)}const{data:f=0,loading:h}=tt.useRequest(async()=>{try{return(await r.triggerManager.getTriggerSchemaList()).length}catch{return 0}});return b(d.Stack,{children:[l(d.LoadingOverlay,{visible:h}),f===0&&l(d.Alert,{icon:l(le.AlertCircle,{size:16}),title:"Unavailable",color:"gray",children:"This visualization does not have available interactions to choose from"}),s.map(p=>l(vV,{onRemove:c,instance:i,sampleData:o,variables:a,item:p,manager:e.interactionManager},p.id)),l(d.Button,{style:{width:"fit-content"},onClick:()=>u(),disabled:f===0,children:"Add interaction"})]})},yV=()=>{const{panel:e,data:t}=Yt(),n=e.viz,{vizManager:r}=x.useContext(zn),i=e.json,o=tt.useCreation(()=>r.getOrCreateInstance(i),[r,n.type]),a=tt.useCreation(()=>new Bu(o,r.resolveComponent(n.type),Ga),[o,n.type]);return x.useEffect(()=>o.instanceData.watchItem(null,H.throttle(s=>{e.viz.setConf(s)},100,{leading:!1,trailing:!0})),[o]),{instance:o,vizManager:r,interactionManager:a,sampleData:t,variables:[]}},bV=()=>{const e=yV();return l(mV,{...e})};var Hv=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(Hv||{}),Ka=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(Ka||{});class wV{constructor(t){Re(this,"vizInstance");Re(this,"operationManager");Re(this,"triggerManager");Re(this,"vizManager");Re(this,"runningMigration");Re(this,"panelModel");Re(this,"status","notStarted");this.panelModel=t.getRequired(Lt.instanceScope.panelModel),this.vizInstance=t.getRequired(Lt.instanceScope.vizInstance),this.operationManager=t.getRequired(Lt.instanceScope.operationManager),this.triggerManager=t.getRequired(Lt.instanceScope.triggerManager),this.vizManager=t.getRequired(Lt.vizManager)}async createMigrationTask(){const t=[];try{await this.instanceNeedMigration()&&t.push(()=>this.runInstanceMigration()),await this.interactionNeedMigration()&&t.push(()=>this.runInteractionMigration())}catch(n){return console.warn("check migration failed",n),"checkFailed"}if(t.length===0)return"nothingToMigrate";try{return await Promise.all(t.map(n=>n())),"migrated"}catch(n){return console.warn("migration failed",n),"migrationFailed"}}async runMigration(){return this.runningMigration||(this.status="inProgress",this.runningMigration=this.createMigrationTask().then(t=>(this.status="done",t))),this.runningMigration}async runInteractionMigration(){await this.operationManager.runMigration(),await this.triggerManager.runMigration()}async runInstanceMigration(){const t=this.vizManager.resolveComponent(this.vizInstance.type),n={configData:this.vizInstance.instanceData,panelModel:this.panelModel};await t.migrator.migrate(n)}async instanceNeedMigration(){const t=this.vizManager.resolveComponent(this.vizInstance.type),n={configData:this.vizInstance.instanceData};return t.migrator.needMigration(n)}async interactionNeedMigration(){return await this.operationManager.needMigration()||await this.triggerManager.needMigration()}}function Wv(e){const{panel:t}=Yt();return x.useCallback(n=>{const r=n.getRequired(Lt.vizManager),i=r.resolveComponent(e.viz.type);return n.createScoped().provideFactory(Lt.instanceScope.vizInstance,()=>r.getOrCreateInstance(e)).provideFactory(Lt.instanceScope.interactionManager,o=>{const a=o.getRequired(Lt.instanceScope.vizInstance);return new Bu(a,i,Ga)}).provideFactory(Lt.instanceScope.operationManager,o=>o.getRequired(Lt.instanceScope.interactionManager).operationManager).provideFactory(Lt.instanceScope.triggerManager,o=>o.getRequired(Lt.instanceScope.interactionManager).triggerManager).provideValue(Lt.instanceScope.panelModel,t).provideFactory(Lt.instanceScope.migrator,o=>new wV(o))},[e.viz.type,e.viz.conf])}function qv(e){const[t,n]=x.useState(!1),r=fd().getRequired(Lt.instanceScope.migrator);return tt.useAsyncEffect(async()=>{const i=r.status===Ka.notStarted;n(r.status===Ka.done),r.status===Ka.notStarted&&r.runMigration().then(o=>{o===Hv.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function Uv(e,t){const n=fd().getRequired(Lt.instanceScope.vizInstance);return x.useEffect(()=>(n.instanceData.setItem(null,t.viz.conf),n.instanceData.watchItem(null,r=>{e(r)})),[e,t.viz.type]),n}function xV({setVizConf:e,...t}){const{panel:n}=t,r=Uv(e,n),i=qv(()=>{Io.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return tt.useAsyncEffect(async()=>{await r.instanceData.setItem(null,n.viz.conf)},[r,n.viz.type]),i?l(OD,{...t}):l(d.Text,{children:"Checking update..."})}function SV(e){const{panel:t,setVizConf:n}=e;return Uv(n,t),qv(()=>{Io.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?l(kD,{...e}):l(d.Text,{children:"Checking update"})}const w6="";function CV(e,t){const{vizManager:n}=x.useContext(zn),{panel:{viz:r,title:i,id:o,description:a,queryID:s,variables:u}}=Yt(),c={title:i,id:o,description:a,queryID:s,viz:r,layout:t},f=Wv(c);try{return n.resolveComponent(r.type),l(zo,{configure:f,children:l(SV,{setVizConf:r.setConf,panel:c,data:e,variables:u,vizManager:n})})}catch(h){return console.info(H.get(h,"message")),null}}const _V=["richText","button"],Yv=te.observer(function({height:t,viz:n,data:r,loading:i,error:o,query:a}){const{ref:s,width:u,height:c}=Ut.useElementSize(),f=CV(r,{w:u,h:c});if(_V.includes(n.type))return l("div",{className:"viz-root",style:{height:t},ref:s,children:l(Or,{children:f})});if(i)return l("div",{className:"viz-root",style:{height:t},ref:s,children:l(d.LoadingOverlay,{visible:i,exitTransitionDuration:0})});const p=!!o,g=!p&&!!(a!=null&&a.stateMessage),v=!p&&!g;return b("div",{className:"viz-root",style:{height:t},ref:s,children:[p&&l(d.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:o}),g&&l(d.Text,{color:"gray",align:"center",children:a.stateMessage}),v&&l(Or,{children:f})]})});function EV(e){return!["richText","button"].includes(e)}const TV={border:"1px solid #e9ecef"},Xv={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function MV(e,t,n){return e.style.border.enabled?TV:n||t?Xv:{border:"1px dashed transparent"}}const Ha=te.observer(function({panel:t,view:n}){const r=Le(),{inEditMode:i}=x.useContext(Dr),{data:o,state:a,error:s}=r.getDataStuffByID(t.queryID),u=r.queries.findByID(t.queryID),c=EV(t.viz.type),f=c&&a==="loading",h=t.title?"calc(100% - 25px - 5px)":"100%",p=MV(t,c,i),g=c||i;return l(Ps,{value:{panel:t,data:o,loading:f},children:b(d.Box,{className:"panel-root",p:5,pt:0,sx:{...p},children:[l(d.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:l(hg,{})}),g&&l(_D,{view:n}),l(ED,{}),l(Yv,{viz:t.viz,data:o,loading:f,error:s,height:h,query:u})]})})}),x6="",kV=Z.default.forwardRef(({handleAxis:e},t)=>l(d.ActionIcon,{ref:t,className:"react-grid-customDragHandle",sx:{userSelect:"none",cursor:"grab",position:"absolute",top:0,right:0,zIndex:400,"&:hover":{color:"#228be6"}},variant:"transparent",children:l(le.ArrowsMove,{size:16})})),OV=Z.default.forwardRef(({handleAxis:e,...t},n)=>l(d.ActionIcon,{ref:n,className:"react-grid-customResizeHandle",sx:{userSelect:"none",cursor:"nwse-resize",position:"absolute",bottom:-5,right:-5,zIndex:400,"&:hover":{color:"#228be6"}},variant:"transparent",...t,children:l(le.ChevronDownRight,{size:16})})),DV=Ts.WidthProvider(od.default),RV=te.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:o}){const a=Z.default.useCallback(s=>{s.forEach(({i:u,...c})=>{const f=t.panels.findByID(u);!f||f.layout.set(c)})},[t]);return l(DV,{onLayoutChange:a,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:o,draggableHandle:".react-grid-customDragHandle",resizeHandle:l(OV,{}),children:t.panels.list.map((s,u)=>b("div",{"data-grid":{...s.layout},style:{position:"relative"},children:[i&&l(kV,{}),l(Ha,{view:t,panel:s})]},s.id))})}),AV=Ts.WidthProvider(od.default),PV=te.observer(function({view:t,className:n="layout",rowHeight:r=10}){return l(AV,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>l("div",{"data-grid":i.layout,children:l(Ha,{view:t,panel:i})},i.id))})});var Qv=(e=>(e.Use="use",e.Edit="edit",e))(Qv||{}),rt=(e=>(e.Division="div",e.Modal="modal",e.Tabs="tabs",e))(rt||{});const NV={div:"Division",tabs:"Tabs",modal:"Modal"},Zv={div:"rgba(255, 0, 0, 0.2)",modal:"rgba(0, 0, 0, 0.2)",tabs:"rgba(255, 200, 100, 0.4)"},IV={div:"#ff4000",modal:"#000",tabs:"#ffad18"};var ju=(e=>(e.Select="select",e.TreeSelect="tree-select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(ju||{});const $V=te.observer(({children:e})=>l(d.Box,{pt:10,pb:100,children:e})),LV=te.observer(({children:e,view:t})=>{const n=t.config;return l(d.Modal,{size:n.width,overflow:"inside",opened:!0,onClose:he.default.noop,withCloseButton:!1,title:n.custom_modal_title.value,trapFocus:!0,onDragStart:r=>{r.stopPropagation()},styles:{root:{position:"relative",height:"100%"},overlay:{position:"absolute !important"},modal:{border:"1px solid #efefef"},body:{maxHeight:"calc(100vh - 325px)"}},withinPortal:!1,transitionDuration:0,children:e})}),VV=({variant:e,orientation:t})=>{const n={tab:{},panel:{padding:"16px"}};return e==="pills"&&t==="horizontal"&&(n.tab.paddingTop="6px",n.tab.paddingBottom="6px"),t==="vertical"&&(n.tab["&.add-a-tab"]={paddingTop:"1px",paddingBottom:"1px"},n.tab["&.add-a-tab .mantine-Tabs-tabLabel"]={marginLeft:"auto",marginRight:"auto"}),n},zV=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},FV=te.observer(({children:e,view:t})=>{const n=Le(),r=x.useMemo(()=>n.views.options.filter(o=>o.type===rt.Division),[t.id,n.views.options]),i=t.config;return b(d.Box,{className:"preview-view-tabs",children:[b(d.Tabs,{variant:i.variant,orientation:i.orientation,defaultValue:i.tabs.length>0?i.tabs[0].id:"0",styles:VV(i),children:[b(d.Tabs.List,{grow:i.grow,children:[i.tabs.map(o=>{var a;return l(d.Tabs.Tab,{value:o.id,sx:zV(o),children:(a=o.name)!=null?a:o.id},o.id)}),l(d.Tabs.Tab,{onClick:i.addTab,value:"add",className:"add-a-tab",children:l(le.Plus,{size:18,color:"#228be6"})})]}),i.tabs.map(o=>{const a=n.views.findByID(o.view_id);return b(d.Tabs.Panel,{value:o.id,sx:{position:"relative"},children:[b(d.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:200},children:[l(d.Overlay,{opacity:.8,color:"#FFF",blur:10,zIndex:100}),b(d.Stack,{mx:"auto",mt:100,sx:{width:"300px",position:"relative",zIndex:200},children:[l(d.TextInput,{label:"Tab Name",value:o.name,onChange:s=>o.setName(s.currentTarget.value)}),l(d.Select,{label:"View",value:o.view_id,onChange:o.setViewID,data:r}),l(d.ColorInput,{label:"Color",value:o.color,onChange:o.setColor,disabled:i.variant!=="default"}),a&&b(d.Button,{mt:20,variant:"gradient",leftIcon:l(BP,{size:18}),gradient:{from:"cyan",to:"indigo"},onClick:()=>n.views.setIDOfVIE(a.id),children:["Swith to View: ",a.name]})]})]}),a&&l(Wa,{view:a})]},o.id)})]}),e]})}),BV=te.observer(({view:e,children:t})=>{switch(e.type){case rt.Modal:return l(LV,{view:e,children:t});case rt.Tabs:return l(FV,{view:e,children:t});case rt.Division:default:return l($V,{children:t})}}),Jv=te.observer(function({view:t}){return l(Rs.Provider,{value:{viewPanelInFullScreen:he.default.noop,inFullScreen:!1},children:l(d.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:l(BV,{view:t,children:b(d.Box,{sx:{position:"relative"},children:[l(d.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:l(ig,{view:t})}),l(RV,{view:t,isDraggable:!0,isResizable:!0})]})})})})}),jV=te.observer(function({view:t,panel:n,exitFullScreen:r}){return b(d.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[l(d.Group,{sx:{flexGrow:0},children:l(d.Button,{variant:"default",size:"sm",onClick:r,leftIcon:l(le.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),l(d.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:l(Ha,{view:t,panel:n})})]})});function GV(e,t,n){const r=e.id==="Main",[i,o]=Z.default.useState(()=>r&&e.panels.findByID(t)?t:null),a=Z.default.useCallback(f=>{o(f),r&&n(f)},[r,n]),s=Z.default.useCallback(()=>{o(null),r&&n("")},[r,n]),u=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:a,exitFullScreen:s,inFullScreen:!!u,fullScreenPanel:u}}const KV=te.observer(({children:e})=>l(d.Box,{children:e})),HV=te.observer(({children:e,view:t})=>{const n=Le(),r=t.config,i=n.views.visibleViewIDs.includes(t.id),o=()=>n.views.rmVisibleViewID(t.id);return l(d.Modal,{size:r.width,centered:!0,overflow:"inside",opened:i,onClose:o,withCloseButton:!1,title:r.custom_modal_title.value,trapFocus:!0,onDragStart:a=>{a.stopPropagation()},styles:{modal:{border:"1px solid #efefef"},body:{maxHeight:r.height,overflow:"auto"}},transitionDuration:0,children:e})}),WV=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},qV=te.observer(({children:e,view:t})=>{const n=Le(),r=t.config;return b(d.Box,{className:"render-view-tabs",children:[b(d.Tabs,{variant:r.variant,orientation:r.orientation,defaultValue:r.tabs.length>0?r.tabs[0].id:"0",styles:{panel:{padding:"16px 0px"}},keepMounted:!1,children:[l(d.Tabs.List,{grow:r.grow,children:r.tabs.map(i=>{var o;return l(d.Tabs.Tab,{value:i.id,sx:WV(i),disabled:!i.view_id,children:(o=i.name)!=null?o:i.id},i.id)})}),r.tabs.map(i=>{const o=n.views.findByID(i.view_id);return o?l(d.Tabs.Panel,{value:i.id,children:l(Wa,{view:o})},i.id):null})]}),e]})}),UV=te.observer(({view:e,children:t})=>{switch(e.type){case rt.Modal:return l(HV,{view:e,children:t});case rt.Tabs:return l(qV,{view:e,children:t});case rt.Division:default:return l(KV,{children:t})}}),Wa=te.observer(function({view:t}){const{fullScreenPanelID:n,setFullScreenPanelID:r}=vd(),{viewPanelInFullScreen:i,exitFullScreen:o,inFullScreen:a,fullScreenPanel:s}=GV(t,n,r);return l(Rs.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:a},children:b(d.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:[a&&l(jV,{view:t,panel:s,exitFullScreen:o}),l(UV,{view:t,children:b(d.Box,{sx:{position:"relative"},children:[!a&&l(d.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:l(ig,{view:t})}),!a&&l(PV,{view:t})]})})]})})});function YV(e){e=e||{};const t=Object.keys(e).sort(),n=[];for(let r=0;r<t.length;r++){const i=t[r];if(i!="authentication"&&e[i])n.push(t[r]+"="+(typeof e[i]=="object"?JSON.stringify(e[i]):e[i]));else{const o=Object.keys(e[i]).sort();for(let a=0;a<o.length;a++){const s=o[a];s!="sign"&&e[i][s]&&n.push(o[a]+"="+(typeof e[i][s]=="object"?JSON.stringify(e[i][s]):e[i][s]))}}}return n.sort().join("&")}function XV(e,t){let n=YV(e);return n+="&key="+t,ld.default.MD5(n).toString().toUpperCase()}const zr={baseURL:"http://localhost:31200",app_id:"",app_secret:"",getAuthentication(e){if(!this.app_id||!this.app_secret)return;const t=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:t,sign:XV({app_id:this.app_id,nonce_str:t,...e},this.app_secret)}},getRequest(e,t){return(n,r,i={})=>{const o=window.localStorage.getItem("token"),a={"X-Requested-With":"XMLHttpRequest","Content-Type":i.string?"application/x-www-form-urlencoded":"application/json",authorization:o?`bearer ${o}`:"",...i.headers},s={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a,signal:t};return["POST","PUT"].includes(e)&&(s.data=i.string?JSON.stringify(r):r,s.data.authentication=this.getAuthentication(s.data)),Lo.default(s).then(u=>u.data).catch(u=>Promise.reject(u))}}};function em(e){zr.baseURL!==e.apiBaseURL&&(zr.baseURL=e.apiBaseURL),e.app_id&&(zr.app_id=e.app_id),e.app_secret&&(zr.app_secret=e.app_secret)}const tm=D.types.model("FilterConfigModel_Checkbox",{_name:D.types.literal("checkbox"),default_value:D.types.boolean}).actions(e=>({setDefaultValue(t){e.default_value=t}})),QV=()=>tm.create({_name:"checkbox",default_value:!1});var Sn=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(Sn||{}),Qt=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TreeSelect="tree-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Qt||{});D.types.model({type:D.types.enumeration("DataSourceType",[Sn.Postgresql,Sn.MySQL,Sn.HTTP]),key:D.types.string,sql:D.types.string});const ZV=D.types.model("FilterConfigModel_DateRange",{_name:D.types.literal("date-range"),required:D.types.boolean,inputFormat:D.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:D.types.optional(D.types.array(D.types.union(D.types.string,D.types.null)),[null,null]),clearable:D.types.boolean,max_days:D.types.optional(D.types.number,0),allowSingleDateInRange:D.types.optional(D.types.boolean,!1)}).views(e=>({truthy(t){return Array.isArray(t)&&t.length===2&&t.every(n=>!!n)}})).views(e=>({getMaxDate(t){const{max_days:n}=e;if(!(!n||!t))return En.default(t).startOf("day").add(n,"days").toDate()},getMinDate(t){const{max_days:n}=e;if(!(!n||!t))return En.default(t).startOf("day").subtract(n,"days").toDate()}})).actions(e=>({setFilterValue(t){try{const n=D.getParent(e);D.getRoot(e).filters.setValueByKey(n.key,t)}catch(n){console.error(n)}}})).actions(e=>({setRequired(t){e.required=t},setClearable(t){e.clearable=t},setInputFormat(t){e.inputFormat=t},setDefaultValue(t){e.default_value.length=0,e.default_value.push(...t),e.setFilterValue(t)},setMaxDays(t){e.max_days=t,t>0&&(e.clearable=!0)},setAllowSingleDateInRange(t){e.allowSingleDateInRange=t}})),nm=D.types.snapshotProcessor(ZV,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:En.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>{try{return n?En.default.tz(n,"UTC").format(t.inputFormat):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}}}),JV=()=>nm.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),ez=D.types.model({label:D.types.string,value:D.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),Gu=D.types.model("FilterConfigModel_BaseSelect",{static_options:D.types.optional(D.types.array(ez),[]),options_query_id:D.types.optional(D.types.string,""),default_selection_count:D.types.optional(D.types.number,0)}).views(e=>({get usingQuery(){return!!e.options_query_id}})).views(e=>({get options(){if(!e.usingQuery)return e.static_options;const{data:t,state:n,error:r}=D.getRoot(e).getDataStuffByID(e.options_query_id);return n==="idle"?t:[]}})).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setDefaultSelectionCount(t){e.default_selection_count=t},setOptionsQueryID(t){e.options_query_id=t!=null?t:""}})),rm=D.types.compose("FilterConfigModel_MultiSelect",D.types.model({_name:D.types.literal("multi-select"),default_value:D.types.optional(D.types.array(D.types.string),[]),min_width:D.types.optional(D.types.string,"")}),Gu).actions(e=>({setDefaultValue(t){e.default_value=D.cast(t)},setMinWidth(t){e.min_width=t}})),tz=()=>rm.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),im=D.types.compose("FilterConfigModel_TreeSelect",D.types.model({_name:D.types.literal("tree-select"),default_value:D.types.optional(D.types.array(D.types.string),[]),min_width:D.types.optional(D.types.string,"")}),Gu).actions(e=>({setDefaultValue(t){e.default_value=D.cast(t)},setMinWidth(t){e.min_width=t}})),nz=()=>im.create({_name:"tree-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),om=D.types.compose("FilterConfigModel_Select",D.types.model({_name:D.types.literal("select"),default_value:D.types.string,required:D.types.boolean,width:D.types.optional(D.types.string,"")}),Gu).views(e=>({truthy(t){return!!t}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setWidth(t){e.width=t}})),rz=()=>om.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",default_selection_count:0}),am=D.types.model("FilterConfigModel_TextInput",{_name:D.types.literal("text-input"),required:D.types.boolean,default_value:D.types.string}).views(e=>({truthy(t){return typeof t!="string"?!1:!!t.trim()}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),sm=()=>am.create({_name:"text-input",required:!1,default_value:""}),Ku=D.types.model("FilterModel",{id:D.types.identifier,key:D.types.string,label:D.types.string,order:D.types.number,visibleInViewsIDs:D.types.array(D.types.string),auto_submit:D.types.optional(D.types.boolean,!1),type:D.types.enumeration("DashboardFilterType",[Qt.Select,Qt.MultiSelect,Qt.TreeSelect,Qt.TextInput,Qt.Checkbox,Qt.DateRange]),config:D.types.union(om,rm,im,am,tm,nm)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t},get usingDefaultValue(){return e.type!==Qt.TreeSelect},get auto_submit_supported(){return[Qt.Select,Qt.Checkbox,Qt.DateRange].includes(e.type)}})).views(e=>({get should_auto_submit(){return e.auto_submit_supported&&e.auto_submit},requiredAndPass(t){return he.default.get(e.config,"required",!1)?he.default.get(e.config,"truthy",()=>!0)(t):!1}})).actions(e=>({setKey(t){e.key=t},setLabel(t){e.label=t},setOrder(t){e.order=t},setType(t){switch(t){case Qt.Select:e.config=rz();break;case Qt.MultiSelect:e.config=tz();break;case Qt.TreeSelect:e.config=nz();break;case Qt.TextInput:e.config=sm();break;case Qt.Checkbox:e.config=QV();break;case Qt.DateRange:e.config=JV();break}e.type=t},setVisibleInViewsIDs(t){e.visibleInViewsIDs.length=0,e.visibleInViewsIDs.push(...t)},setAutoSubmit(t){e.auto_submit=e.auto_submit_supported&&t}}));function lm(e,t){if(e===void 0)return e;if(t._name==="date-range")try{const[...n]=e;return n.map(r=>{if(r===null)return r;const i=En.default.tz(r,"UTC").format(t.inputFormat);return i!=null?i:r})}catch(n){return console.error(n),e}return e}function um(e){return e.reduce((t,n)=>(t[n.key]=lm(n.config.default_value,n.config),t),{})}function iz(e,t,n){D.addDisposer(e,D.addMiddleware(e,(r,i)=>{i(r,()=>{D.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const cm=D.types.model("FiltersModel",{current:D.types.optional(D.types.array(Ku),[]),values:D.types.optional(D.types.frozen(),{}),previewValues:D.types.optional(D.types.frozen(),{})}).views(e=>({get firstID(){if(e.current.length!==0)return e.current[0].id},findByID(t){return e.current.find(n=>n.id===t)},get inOrder(){return he.default.sortBy(e.current,"order")},get options(){return e.current.map(t=>{var n;return{label:(n=t.label)!=null?n:t.id,value:t.id,_type:"filter"}})},get empty(){return e.current.length===0},visibleInView(t){return he.default.sortBy(e.current.filter(n=>n.visibleInViewsIDs.includes(t)),"order")},get firstFilterValueKey(){var t;return(t=Object.keys(e.values)[0])!=null?t:""},get keyLabelMap(){return e.current.reduce((t,n)=>(t[n.key]=n.label,t),{})}})).actions(e=>({replace(t){e.current=D.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},removeByID(t){const n=e.current.findIndex(r=>r.id===t);n>=0&&e.current.splice(n,1)},setValues(t){e.values=t},setValueByKey(t,n){e.values={...e.values,[t]:n}},getValueByKey(t){return e.values[t]},refreshValues(){console.log("refreshing values"),e.values=um(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){iz(e.current,Ku,(n,r)=>{if(n==="setType"){const i=lm(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function dm(e){return{current:e,values:um(e)}}var qa={exports:{}};(function(e,t){(function(n,r){r()})(hn,function(){function n(c,f){return typeof f>"u"?f={autoBom:!1}:typeof f!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),f={autoBom:!f}),f.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(c.type)?new Blob(["\uFEFF",c],{type:c.type}):c}function r(c,f,h){var p=new XMLHttpRequest;p.open("GET",c),p.responseType="blob",p.onload=function(){u(p.response,f,h)},p.onerror=function(){console.error("could not download file")},p.send()}function i(c){var f=new XMLHttpRequest;f.open("HEAD",c,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function o(c){try{c.dispatchEvent(new MouseEvent("click"))}catch{var f=document.createEvent("MouseEvents");f.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),c.dispatchEvent(f)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof hn=="object"&&hn.global===hn?hn:void 0,s=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),u=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(c,f,h){var p=a.URL||a.webkitURL,g=document.createElement("a");f=f||c.name||"download",g.download=f,g.rel="noopener",typeof c=="string"?(g.href=c,g.origin===location.origin?o(g):i(g.href)?r(c,f,h):o(g,g.target="_blank")):(g.href=p.createObjectURL(c),setTimeout(function(){p.revokeObjectURL(g.href)},4e4),setTimeout(function(){o(g)},0))}:"msSaveOrOpenBlob"in navigator?function(c,f,h){if(f=f||c.name||"download",typeof c!="string")navigator.msSaveOrOpenBlob(n(c,h),f);else if(i(c))r(c,f,h);else{var p=document.createElement("a");p.href=c,p.target="_blank",setTimeout(function(){o(p)})}}:function(c,f,h,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof c=="string")return r(c,f,h);var g=c.type==="application/octet-stream",v=/constructor/i.test(a.HTMLElement)||a.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||g&&v||s)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var _=w.result;_=m?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=_:location=_,p=null},w.readAsDataURL(c)}else{var y=a.URL||a.webkitURL,C=y.createObjectURL(c);p?p.location=C:location.href=C,p=null,setTimeout(function(){y.revokeObjectURL(C)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})})(qa);function oz(e,t){const n=new Blob([t],{type:"text/csv"});qa.exports.saveAs(n,`${e}.csv`)}function az(e,t){const n=new Blob([t],{type:"application/json"});qa.exports.saveAs(n,`${e}.json`)}function sz(e){const t=new C0.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,fm(r))}),t.generateAsync({type:"blob"}).then(n=>{qa.exports.saveAs(n,"dashboard_data.zip")})}function fm(e){if(!Array.isArray(e)||e.length===0)return"";const t=[],n=Object.keys(e[0]);return t.push(n.join(",")),e.forEach(r=>{const i=Object.values(r).join(",");t.push(i)}),t.join(`
|
|
248
248
|
`)}const Ua={CryptoJS:ld.default,dayjs:En.default,lodash:he.default,numbro:Bt.default};function lz(e,t){return new Function(`return ${e}`)()(t,Ua)}function uz(e,t,n){return{context:{...t,...e},filters:n}}function cz(e,t,n,r){const i=uz(t,n,r);return lz(e,i)}function dz(e,t){try{return new Function(`return ${e.config.processing.pre}`)()(t,Ua)}catch(n){return console.error(n),t}}function fz(e,t){try{return new Function(`return ${e.config.processing.post}`)()(t,Ua)}catch(n){return console.error(n),t}}function pz(e,t){try{return new Function(`return ${e}`)()(t,Ua)}catch(n){return console.error(n),t}}function hz(e,t,n,r){const i=Wu(t,n,[],r),o=Object.keys(i),a=Object.values(i);try{return new Function(...o,`return \`${e}\`;`)(...a)}catch(s){return console.info(s),s.message}}function Hu(e,t={}){const n=Object.keys(t),r=Object.values(t);try{return new Function(...n,`return \`${e}\`;`)(...r)}catch(i){throw n.length===0&&e.includes("$")?new Error("[formatSQL] insufficient params"):i}}function Wu(e,t,n,r){const i={...t,...e},o={context:i,filters:r},a=n.reduce((s,u)=>(s[u.key]=Hu(u.value,o),s),{});return he.default.merge({},{context:i,filters:r,sql_snippets:a})}function pm(e,t,n,r,i){try{const o=Wu(t,n,r,i);return Hu(e,o)}catch(o){return console.error(o),o.message}}async function gz({context:e,mock_context:t,sqlSnippets:n,title:r,query:i,filterValues:o},a){if(!i.sql)return[];const{type:s,key:u,sql:c}=i,f=c.includes("$"),h=Wu(e,t,n,o),p=Hu(c,h);return f&&(console.groupCollapsed(`Final SQL for: ${r}`),console.log(p),console.groupEnd()),await zr.getRequest("POST",a)("/query",{type:s,key:u,query:p},{})}async function vz({context:e,mock_context:t,query:n,filterValues:r,datasource:i},o){const{type:a,key:s,name:u,pre_process:c,post_process:f}=n;let h=cz(c,e,t,r);console.groupCollapsed(`Request config for: ${u}`),console.log(h),console.groupEnd(),h=dz(i,h);const p=JSON.stringify(h),g=await zr.getRequest("POST",o)("/query",{type:a,key:s,query:p},{});let v=fz(i,g);return v=pz(f,v),v}async function qu(){try{return(await zr.getRequest("POST")("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const mz=D.types.model("QueryModel",{id:D.types.string,name:D.types.string,type:D.types.enumeration("DataSourceType",[Sn.Postgresql,Sn.MySQL,Sn.HTTP]),key:D.types.string,sql:D.types.string,pre_process:D.types.optional(D.types.string,""),post_process:D.types.optional(D.types.string,""),run_by:D.types.optional(D.types.array(D.types.string),[])}).views(e=>({get valid(){return e.id&&e.type&&e.key&&e.name?e.type===Sn.HTTP?!!e.pre_process:!!e.sql:!1},get json(){const{id:t,name:n,type:r,key:i,sql:o,run_by:a,pre_process:s,post_process:u}=e;return{id:t,name:n,type:r,key:i,sql:o,run_by:a,pre_process:s,post_process:u}},get conditionOptions(){const{context:t,mock_context:n,filterValues:r}=D.getRoot(e).payloadForSQL,i=Object.keys({...n,...t}).map(s=>`context.${s}`),o=Object.keys(r).map(s=>`filters.${s}`);return[...i,...o].map(s=>({label:s.split(".")[1],value:s,group:he.default.capitalize(s.split(".")[0])}))},get unmetRunByConditions(){const{run_by:t}=e;if(t.length===0)return[];const{context:n,mock_context:r,filterValues:i}=D.getRoot(e).payloadForSQL,o={context:{...r,...n},filters:i};return t.filter(a=>{const s=he.default.get(o,a);return Array.isArray(s)?s.length===0:typeof s=="number"?Number.isNaN(s):!s})}})).views(e=>({get runByConditionsMet(){return e.unmetRunByConditions.length===0},get conditionNames(){if(e.unmetRunByConditions.length===0)return{context:[],filters:[]};const{keyLabelMap:t}=D.getRoot(e).filters,n=e.unmetRunByConditions.filter(i=>i.startsWith("context.")).map(i=>i.split("context.")[0]),r=e.unmetRunByConditions.filter(i=>i.startsWith("filters.")).map(i=>he.default.get({filters:t},i)).filter(i=>!!i);return{context:n,filters:r}}})).actions(e=>({setName(t){e.name=t},setKey(t){e.key=t},setType(t){e.type=t},setSQL(t){e.sql=t},setRunBy(t){e.run_by.length=0,e.run_by.push(...t)},setPreProcess(t){e.pre_process=t},setPostProcess(t){e.post_process=t}})),hm=D.types.compose("QueryModel",mz,D.types.model({state:D.types.optional(D.types.enumeration(["idle","loading","error"]),"idle"),data:D.types.optional(D.types.array(D.types.frozen()),[]),error:D.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,mock_context:n,sqlSnippets:r,filterValues:i}=D.getRoot(e).payloadForSQL;return pm(e.sql,t,n,r,i)},get typedAsSQL(){return[Sn.Postgresql,Sn.MySQL].includes(e.type)},get typedAsHTTP(){return[Sn.HTTP].includes(e.type)},get datasource(){const{key:t,type:n}=e;return D.getRoot(e).datasources.find({type:n,key:t})}})).views(e=>({get stateMessage(){if(e.state!=="idle")return"";if(!e.runByConditionsMet){const{context:t,filters:n}=e.conditionNames;if(t.length===0&&n.length===0)return"Waiting";const r=[];return t.length>0&&r.push(`context: ${t.join(", ")}`),n.length>0&&r.push(`filter${n.length>1?"s":""}: ${n.join(", ")}`),r.length===2&&r.splice(1,0,"and"),r.unshift("Waiting for"),r.join(" ")}return e.data.length>0?"":"Empty Data"}})).volatile(()=>({controller:new AbortController})).actions(e=>({runSQL:D.flow(function*(){var t;if(!!e.valid&&((t=e.controller)==null||t.abort(),!!e.runByConditionsMet)){e.controller=new AbortController,e.state="loading";try{const{context:n,mock_context:r,sqlSnippets:i,filterValues:o}=D.getRoot(e).payloadForSQL;e.data=yield*D.toGenerator(gz({context:n,mock_context:r,sqlSnippets:i,title:e.name,query:e.json,filterValues:o},e.controller.signal)),e.state="idle",e.error=null}catch(n){if(!Lo.default.isCancel(n)){e.data.length=0;const r=H.get(n,"message","unkown error");e.error=H.get(n,"response.data.detail.message",r),e.state="error"}}}}),runHTTP:D.flow(function*(){var t;if(console.log("runHTTP, ",e.datasource),!(!e.valid||!e.datasource)&&((t=e.controller)==null||t.abort(),!!e.runByConditionsMet)){e.controller=new AbortController,e.state="loading";try{const{context:n,mock_context:r,filterValues:i}=D.getRoot(e).payloadForSQL;e.data=yield*D.toGenerator(vz({context:n,mock_context:r,query:e.json,filterValues:i,datasource:e.datasource},e.controller.signal)),e.state="idle",e.error=null}catch(n){if(console.error(n),!Lo.default.isCancel(n)){e.data.length=0;const r=H.get(n,"message","unkown error");e.error=H.get(n,"response.data.detail.message",r),e.state="error"}}}})})).actions(e=>({fetchData:e.typedAsHTTP?e.runHTTP:e.runSQL,beforeDestroy(){var t;(t=e.controller)==null||t.abort()}})).actions(e=>({afterCreate(){D.addDisposer(e,Ft.reaction(()=>{var t;return e.typedAsHTTP?`${e.id}--${e.key}--${e.pre_process}--${e.post_process}--${(t=e.datasource)==null?void 0:t.id}`:`${e.id}--${e.key}--${e.formattedSQL}`},e.fetchData,{fireImmediately:!0,delay:0}))}})),gm=D.types.model("QueriesModel",{current:D.types.optional(D.types.array(hm),[])}).views(e=>({get firstID(){if(e.current.length!==0)return e.current[0].id},findByID(t){return e.current.find(n=>n.id===t)},get options(){return e.current.map(t=>({value:t.id,label:t.name,_type:"query"}))}})).views(e=>({get json(){return e.current.filter(t=>t.id).map(t=>t.json)}})).actions(e=>({replace(t){e.current=D.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},replaceByIndex(t,n){e.current.splice(t,1,n)},downloadAllData(){const t=e.current.map(({name:n,data:r})=>({id:n,data:r.toJSON()}));sz(t)},downloadDataByQueryID(t){const n=e.findByID(t);if(!n){console.log("[downloadDataByQueryID] query not found");return}const{name:r,data:i}=n,o=fm(i);oz(r,o)},refetchDataByQueryID(t){const n=e.findByID(t);if(!n){console.error(new Error(`[downloadDataByQueryID] query by ID[${t}] not found`));return}return n.fetchData()},removeQuery(t){const n=e.current.find(r=>r.id===t);n&&(D.detach(n),e.current.remove(n))}})),vm=D.types.model("SQLSnippetModel",{key:D.types.string,value:D.types.string}).views(e=>({get json(){const{key:t,value:n}=e;return{key:t,value:n}},isADuplicatedKey(t){return!t||t===e.key?!1:!!D.getParent(e,2).findByKey(t)}})).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),mm=D.types.model("SQLSnippetsModel",{current:D.types.optional(D.types.array(vm),[])}).views(e=>({get json(){return e.current.map(t=>t.json)},get options(){return e.current.map(t=>({label:t.key,value:t.key,_type:"sql_snippet"}))},get record(){return e.current.reduce((t,n)=>(t[n.key]=n.value,t),{})},get firstKey(){if(e.current.length!==0)return e.current[0].key},findByKey(t){return e.current.find(n=>n.key===t)}})).actions(e=>({replace(t){e.current=D.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},removeByKey(t){const n=e.current.findIndex(r=>r.key===t);n>=0&&e.current.splice(n,1)},replaceByIndex(t,n){e.current.splice(t,1,n)}})),ym=D.types.model("ContextModel",{current:D.types.optional(D.types.frozen(),{})}).views(e=>({get keys(){return Object.keys(e.current)},get entries(){return Object.entries(e.current)}})).actions(e=>({replace(t){e.current=t},get(t){return e.current[t]},set(t,n){e.current[t]=n}})),yz=D.types.model("DataSourcesModel",{list:D.types.optional(D.types.frozen(),[])}).views(e=>({find({type:t,key:n}){return e.list.find(r=>r.key===n&&r.type===t)},get options(){return e.list.map(t=>({value:t.key,label:t.key}))}})).actions(e=>({replace(t){e.list=t}}));function Ya(e){return{label:e,value:e,_type:"ACTION",_action_type:e,Icon:null,children:null}}function bz(e){switch(e._type){case"GROUP":case"ACTION":return null;case"global_variables":return["_GLOBAL_VARS_"];case"mock_context":return["_MOCK_CONTEXT_"];case"filter":return["_FILTERS_",e.value];case"sql_snippet":return["_SQL_SNIPPETS_",e.value];case"query":return["_QUERIES_",e.value];case"view":return["_VIEWS_",e.value];case"panel":return e.parentID?["_VIEWS_",e.parentID,"_PANELS_",e.value]:(console.error("[getPathFromOption] parentID is required"),null)}}const wz=D.types.model("EditorModel",{path:D.types.optional(D.types.frozen(),[]),settings_open:D.types.optional(D.types.boolean,!1)}).views(e=>({get navOptions(){const{filters:t,views:n,sqlSnippets:r,queries:i}=D.getRoot(e);return[{label:"Global Variables",value:"_GLOBAL_VARS_",_type:"global_variables",Icon:yN},{label:"Mock Context",value:"_MOCK_CONTEXT_",Icon:QP,_type:"mock_context"},{label:"Filters",value:"_FILTERS_",Icon:uv,children:[...t.options,Ya("_Add_A_Filter_")],_type:"GROUP"},{label:"SQL Snipepts",value:"_SQL_SNIPPETS_",Icon:tN,children:[...r.options,Ya("_Add_A_SQL_SNIPPET_")],_type:"GROUP"},{label:"Queries",value:"_QUERIES_",Icon:lv,children:[...i.options,Ya("_Add_A_QUERY_")],_type:"GROUP"},{label:"Views",value:"_VIEWS_",Icon:GP,children:[...n.editorOptions,Ya("_Add_A_VIEW_")],_type:"GROUP"}]},isOptionActive(t,n){return t.length===0?!1:t[t.length-1]===n.value},isOptionOpened(t){const{path:n}=e;return n.length===0||!t.children||t.children.length===0?!1:n.includes(t.value)}})).actions(e=>({setPath(t){e.path=t},setSettingsOpen(t){e.settings_open=t}})).actions(e=>({open(t){e.setPath(t),e.setSettingsOpen(!0)},close(){e.setSettingsOpen(!1)},navigate(t){const n=bz(t);n&&e.setPath(n)}})),xz=D.types.model("MockContextModel",{current:D.types.optional(D.types.frozen(),{})}).views(e=>({get keys(){return Object.keys(e.current)},get entries(){return Object.entries(e.current)}})).actions(e=>({replace(t){e.current=t},get(t){return e.current[t]},set(t,n){e.current[t]=n}})),bm=D.types.model("ViewModel_Division",{_name:D.types.literal(rt.Division)}).views(e=>({get json(){const{_name:t}=e;return{_name:t}}})).actions(e=>({})),Sz=()=>bm.create({_name:rt.Division}),Uu={enabled:!1,func_content:["function text({ filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
|
|
249
249
|
`)},Cz=D.types.model("CustomModalTitleModel",{enabled:D.types.optional(D.types.boolean,!1),func_content:D.types.optional(D.types.string,"")}).views(e=>({get json(){const{enabled:t,func_content:n}=e;return{enabled:t,func_content:n}},get value(){const{enabled:t,func_content:n}=e,r=D.getParent(e,2),i=D.getRoot(e);if(!t)return r.name;try{const o={filters:i.filters.values,context:i.context.current};return new Function(`return ${n}`)()(o)}catch(o){return console.error(o),r.name}}})).actions(e=>({setEnabled(t){e.enabled=t},setFuncContent(t){e.func_content=t},replace({enabled:t,func_content:n}){e.enabled=t,e.func_content=n}})),wm=D.types.model("ViewModel_Modal",{_name:D.types.literal(rt.Modal),width:D.types.string,height:D.types.string,custom_modal_title:D.types.optional(Cz,Uu)}).views(e=>({get json(){const{_name:t,width:n,height:r,custom_modal_title:i}=e;return{_name:t,width:n,height:r,custom_modal_title:i.json}}})).actions(e=>({setWidth(t){e.width=t},setHeight(t){e.height=t}})),_z=()=>wm.create({_name:rt.Modal,width:"90vw",height:"90vh"}),Ez=D.types.model("PanelLayoutModel",{x:D.types.number,y:D.types.number,w:D.types.number,h:D.types.number,moved:D.types.optional(D.types.boolean,!1),static:D.types.optional(D.types.boolean,!1)}).views(e=>({get json(){const{x:t,y:n,w:r,h:i,moved:o}=e;return{x:t,y:n,w:r,h:i,moved:o,static:e.static}}})).actions(e=>({set(t){const{x:n,y:r,w:i,h:o,moved:a}=t;e.x=n,e.y=r,e.w=i,e.h=o,e.moved=!!a,e.static=!!t.static}})),Tz=D.types.model("PanelStyleBorderModel",{enabled:D.types.boolean}).views(e=>({get json(){const{enabled:t}=e;return{enabled:t}}})).actions(e=>({setEnabled(t){e.enabled=t}})),Mz=D.types.model("PanelStyleModel",{border:Tz}).views(e=>({get json(){const{border:t}=e;return{border:t.json}}})).actions(e=>({})),kz=D.types.model("PanelVizModel",{type:D.types.string,conf:D.types.frozen()}).views(e=>({get json(){return{type:e.type,conf:e.conf}}})).actions(e=>({setType(t){e.type=t},setConf(t){e.conf=t}})),Oz=D.types.model("VariableModel",{name:D.types.string,size:D.types.string,weight:D.types.string,color:D.types.union(D.types.model({type:D.types.literal("static"),staticColor:D.types.string}),D.types.model({type:D.types.literal("continuous"),valueRange:D.types.array(D.types.number),colorRange:D.types.array(D.types.string)}),D.types.model({type:D.types.literal("piecewise")})),formatter:D.types.model({output:D.types.enumeration("Output",["number","percent"]),mantissa:D.types.number,average:D.types.optional(D.types.boolean,!1),trimMantissa:D.types.optional(D.types.boolean,!1)}),data_field:D.types.string,aggregation:D.types.union(D.types.model({type:D.types.enumeration(["none","sum","mean","median","min","max"]),config:D.types.frozen()}),D.types.model({type:D.types.literal("quantile"),config:D.types.model({p:D.types.number})}))}).views(e=>({get json(){return D.getSnapshot(e)}}));class Dz{constructor(t){Re(this,"origin");Re(this,"copy");this.origin=t,this.copy=D.clone(t),Ft.makeAutoObservable(this,{},{autoBind:!0,deep:!1})}get changed(){return!H.isEqual(D.getSnapshot(this.origin),D.getSnapshot(this.copy))}commit(){D.applySnapshot(this.origin,D.getSnapshot(this.copy))}update(t){D.applySnapshot(this.copy,t)}}const Rz=e=>new Dz(e),Az=D.types.model({id:D.types.string,title:D.types.string,description:D.types.string,layout:Ez,queryID:D.types.string,viz:kz,style:Mz,variables:D.types.optional(D.types.array(Oz),[])}).views(e=>({get query(){return D.getParentOfType(e,Xa).queries.findByID(e.queryID)},get json(){const{id:t,title:n,description:r,queryID:i}=e;return{id:t,title:n,description:r,layout:e.layout.json,queryID:i,viz:e.viz.json,style:e.style.json,variables:e.variables.map(o=>o.json)}}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){if(D.getParentOfType(e,Xa).queries.findByID(t))e.queryID=t;else throw new Error(`Query with id ${t} does not exist`)},addVariable(t){e.variables.push(t)},removeVariable(t){e.variables.remove(t)}})),Pz=D.types.model("PanelsModel",{list:D.types.optional(D.types.array(Az),[])}).views(e=>({get json(){return e.list.map(t=>t.json)},get layouts(){return e.list.map(t=>({...t.layout.json,i:t.id}))},findByID(t){return e.list.find(n=>n.id===t)},get editorOptions(){const t=D.getParent(e,1).id,n=e.list.map(i=>({label:i.title?i.title:he.default.capitalize(i.viz.type),value:i.id,_type:"panel",parentID:t})),r="_Add_A_PANEL_";return n.push({label:r,value:r,_type:"ACTION",_action_type:r,parentID:t,Icon:null,children:null}),n}})).actions(e=>({replace(t){e.list=D.castToSnapshot(t)},addANewPanel(){const t=new Date().getTime().toString();e.list.push({id:t,layout:{x:0,y:1/0,w:3,h:15},title:t,description:"<p></p>",queryID:"",viz:{type:Iu.name,conf:Iu.createConfig()},style:{border:{enabled:!0}}})},append(t){e.list.push(t)},remove(t){e.list.splice(t,1)},removeByID(t){const n=e.list.findIndex(r=>r.id===t);n!==-1&&e.list.splice(n,1)},duplicateByID(t){const n=e.list.find(r=>r.id===t);if(!n){console.error(new Error(`[duplicate panel] Can't find a panel by id[${t}]`));return}e.list.push({...n.json,id:Ut.randomId(),layout:{...n.layout,x:0,y:1/0,moved:!1}})},replaceByIndex(t,n){e.list.splice(t,1,n)}})),Nz=D.types.model("ViewModel_Tabs_Tab",{id:D.types.identifier,name:D.types.string,view_id:D.types.string,color:D.types.optional(D.types.string,"")}).views(e=>({get json(){const{id:t,name:n,view_id:r,color:i}=e;return{id:t,name:n,view_id:r,color:i}}})).actions(e=>({setName(t){e.name=t},setViewID(t){e.view_id=t},setColor(t){e.color=t}})),xm=D.types.model("ViewModel_Tabs",{_name:D.types.literal(rt.Modal),tabs:D.types.optional(D.types.array(Nz),[]),variant:D.types.optional(D.types.enumeration("variant",["default","outline","pills"]),"default"),orientation:D.types.optional(D.types.enumeration("orientation",["horizontal","vertical"]),"horizontal"),grow:D.types.optional(D.types.boolean,!1)}).views(e=>({get json(){const{_name:t,variant:n,orientation:r,tabs:i,grow:o}=e;return{_name:t,variant:n,orientation:r,grow:o,tabs:i.map(a=>a.json)}}})).actions(e=>({setVariant(t){e.variant=t},setOrientation(t){e.orientation=t},setGrow(t){e.grow=t},setTabs(t){e.tabs.length=0,e.tabs=D.cast(t)},addTab(){const t=Ut.randomId(),n={id:t,name:t,view_id:""};e.tabs.push(n)},removeTab(t){e.tabs.splice(t,1)}})),Iz=()=>xm.create({_name:rt.Modal,tabs:[]}),Sm=D.types.model({id:D.types.identifier,name:D.types.string,type:D.types.enumeration("EViewComponentType",[rt.Division,rt.Modal,rt.Tabs]),config:D.types.union(bm,wm,xm),panels:Pz}).views(e=>({get json(){const{id:t,name:n,type:r,config:i}=e;return{id:t,name:n,type:r,config:i.json,panels:e.panels.json}}})).actions(e=>({setName(t){e.name=t},setType(t){if(e.type!==t){switch(t){case rt.Division:e.config=Sz();break;case rt.Modal:e.config=_z();break;case rt.Tabs:e.config=Iz();break}e.type=t}}})).actions(e=>({})),Cm=D.types.model("ViewsModel",{current:D.types.optional(D.types.array(Sm),[]),visibleViewIDs:D.types.array(D.types.string),idOfVIE:D.types.string}).views(e=>({get json(){return e.current.map(t=>t.json)},findByID(t){return e.current.find(n=>n.id===t)},get isVIETheFirstView(){return e.current.length===0||!e.idOfVIE?!1:e.current[0].id===e.idOfVIE},get firstVisibleView(){const[t]=e.visibleViewIDs;return e.current.find(({id:n})=>n===t)},get visibleViews(){const t=new Set(e.visibleViewIDs);return e.current.filter(({id:n})=>t.has(n))},get VIE(){return e.current.find(({id:t})=>t===e.idOfVIE)},get options(){return e.current.map(t=>({label:t.name,value:t.id,type:t.type}))},get editorOptions(){return e.current.map(t=>({label:t.name,value:t.id,_type:"view",children:t.panels.editorOptions}))}})).actions(e=>({replace(t){e.current.replace(t)},addANewView(t,n,r,i){e.current.push({id:t,name:n,type:r,config:i,panels:{list:[]}})},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},removeByID(t){const n=e.current.findIndex(r=>r.id===t);n!==-1&&e.current.splice(n,1)},replaceByIndex(t,n){e.current.splice(t,1,n)},setIDOfVIE(t){e.idOfVIE=t,e.visibleViewIDs.length=0,e.visibleViewIDs.push(t)},addAPanelToVIE(){var t;(t=e.VIE)==null||t.panels.addANewPanel()},appendToVisibles(t){new Set(e.visibleViewIDs.map(r=>r)).has(t)||e.visibleViewIDs.push(t)}})).actions(e=>({addARandomNewView(){const t=new Date().getTime().toString();e.addANewView(t,rt.Division,rt.Division,{_name:rt.Division}),e.setIDOfVIE(t)},removeVIE(){e.current.length!==1&&(e.removeByID(e.idOfVIE),e.setIDOfVIE(e.current[0].id))},rmVisibleViewID(t){const n=e.visibleViewIDs.findIndex(r=>r===t);n!==-1&&e.visibleViewIDs.splice(n,1)}}));function _m(e){const t=e.length>0?[e[0].id]:[],n=e.length>0?e[0].id:"";return{current:e.map(i=>{const{_name:o=i.type}=i.config;return{...i,config:{...i.config,_name:o},panels:{list:i.panels}}}),visibleViewIDs:t,idOfVIE:n}}const $z=D.types.model({id:D.types.identifier,name:D.types.string,version:D.types.string,datasources:yz,filters:cm,queries:gm,sqlSnippets:mm,views:Cm,context:ym,mock_context:xz,editor:wz,origin:D.types.maybe(D.types.frozen())}).views(e=>({get filtersChanged(){const t="filters.current";return!H.isEqual(D.getSnapshot(H.get(e,t)),H.get(e.origin,t))},get queriesChanged(){const t="queries.current",n=D.getSnapshot(H.get(e,t)).map(r=>H.pick(r,["id","name","key","type","sql","run_by","pre_process","post_process"]));return!H.isEqual(n,H.get(e.origin,t))},get sqlSnippetsChanged(){const t="sqlSnippets.current";return!H.isEqual(D.getSnapshot(H.get(e,t)),H.get(e.origin,t))},get viewsChanged(){const t="views.current";return!H.isEqual(D.getSnapshot(H.get(e,t)),H.get(e.origin,t))},get mockContextChanged(){const t="mock_context.current";return!H.isEqual(H.get(e,t),H.get(e.origin,t))}})).views(e=>({get payloadForSQL(){return{context:e.context.current,mock_context:e.mock_context.current,sqlSnippets:e.sqlSnippets.current,filterValues:e.filters.values}},get changed(){return e.filtersChanged||e.queriesChanged||e.sqlSnippetsChanged||e.viewsChanged||e.mockContextChanged},get data(){return e.queries.current.map(({id:n,data:r})=>({id:n,data:r})).reduce((n,r)=>(n[r.id]=r.data,n),{})},getDataStuffByID(t){const n=e.queries.findByID(t);return n?{data:n.data.toJSON(),dataProxy:n.data,len:n.data.length,state:n.state,error:n.error}:{data:[],dataProxy:null,len:0,state:"idle",error:void 0}},getDataStateByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.state)!=null?r:[]},getDataErrorByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.error)!=null?r:[]}})).views(e=>({findDependingPanels(t){return e.views.current.flatMap(n=>n.panels.list.filter(r=>r.queryID===t).map(r=>r.title))}})).actions(e=>({reset(){D.applySnapshot(e.filters.current,e.origin.filters.current),D.applySnapshot(e.queries.current,e.origin.queries.current),D.applySnapshot(e.sqlSnippets.current,e.origin.sqlSnippets.current),D.applySnapshot(e.views.current,e.origin.views.current),e.mock_context.current=e.origin.mock_context.current},resetFilters(){D.applySnapshot(e.filters.current,e.origin.filters.current)}})),Xa=D.types.snapshotProcessor($z,{preProcessor(e){return{...e,origin:e}},postProcessor(e){delete e.origin;const t=D.castToSnapshot(e.queries.current.map(n=>H.pick(n,["id","key","type","sql"])));return H.defaults({},{queries:{current:t}},e)}});function Yu({id:e,name:t,version:n,filters:r,views:i,definition:{queries:o,sqlSnippets:a,mock_context:s={}}},u,c){return Xa.create({id:e,name:t,version:n,datasources:{list:u},filters:dm(r),queries:{current:o},sqlSnippets:{current:a},context:{current:c},mock_context:{current:s},views:_m(i),editor:{}})}function Xu(e){return Z.default.useCallback(t=>t.provideValue(Lt.pluginManager,e.pluginManager).provideValue(Lt.vizManager,e.vizManager).provideValue(Lt.colorManager,e.colorManager),[])}const S6="";var Em;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Em||(Em={})),process.env.NODE_ENV;function Tm(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}/**
|
|
250
250
|
* React Router v6.3.0
|
|
@@ -287,7 +287,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
287
287
|
*
|
|
288
288
|
* This source code is licensed under the MIT license found in the
|
|
289
289
|
* LICENSE file in the root directory of this source tree.
|
|
290
|
-
*/var Lm;function Qz(){return Lm||(Lm=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=Z.default,t=Im();function n(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,s=e.useMemo,u=e.useDebugValue;function c(f,h,p,g,v){var m=o(null),w;m.current===null?(w={hasValue:!1,value:null},m.current=w):w=m.current;var y=s(function(){var E=!1,k,A,L=function(I){if(!E){E=!0,k=I;var z=g(I);if(v!==void 0&&w.hasValue){var M=w.value;if(v(M,z))return A=M,M}return A=z,z}var $=k,N=A;if(r($,I))return N;var R=g(I);return v!==void 0&&v(N,R)?N:(k=I,A=R,R)},F=p===void 0?null:p,P=function(){return L(h())},O=F===null?void 0:function(){return L(F())};return[P,O]},[h,p,g,v]),C=y[0],_=y[1],S=i(f,C,_);return a(function(){w.hasValue=!0,w.value=S},[S]),u(S),S}rc.useSyncExternalStoreWithSelector=c,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),rc}(function(e){process.env.NODE_ENV==="production"?e.exports=Xz():e.exports=Qz()})(Rm);const Zz=E0(Rm.exports),{useSyncExternalStoreWithSelector:Jz}=Zz;function eF(e,t=e.getState,n){const r=Jz(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return x.useDebugValue(r),r}function nn(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}var tF={value:()=>{}};function Za(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ja(n)}function Ja(e){this._=e}function nF(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ja.prototype=Za.prototype={constructor:Ja,on:function(e,t){var n=this._,r=nF(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=rF(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<a;)if(i=(e=r[o]).type)n[i]=Vm(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Vm(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ja(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function rF(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Vm(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=tF,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ic="http://www.w3.org/1999/xhtml";const zm={svg:"http://www.w3.org/2000/svg",xhtml:ic,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function es(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),zm.hasOwnProperty(t)?{space:zm[t],local:e}:e}function iF(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ic&&t.documentElement.namespaceURI===ic?t.createElement(e):t.createElementNS(n,e)}}function oF(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fm(e){var t=es(e);return(t.local?oF:iF)(t)}function aF(){}function oc(e){return e==null?aF:function(){return this.querySelector(e)}}function sF(e){typeof e!="function"&&(e=oc(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=new Array(a),u,c,f=0;f<a;++f)(u=o[f])&&(c=e.call(u,u.__data__,f,o))&&("__data__"in u&&(c.__data__=u.__data__),s[f]=c);return new gn(r,this._parents)}function lF(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function uF(){return[]}function Bm(e){return e==null?uF:function(){return this.querySelectorAll(e)}}function cF(e){return function(){return lF(e.apply(this,arguments))}}function dF(e){typeof e=="function"?e=cF(e):e=Bm(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],s=a.length,u,c=0;c<s;++c)(u=a[c])&&(r.push(e.call(u,u.__data__,c,a)),i.push(u));return new gn(r,i)}function jm(e){return function(){return this.matches(e)}}function Gm(e){return function(t){return t.matches(e)}}var fF=Array.prototype.find;function pF(e){return function(){return fF.call(this.children,e)}}function hF(){return this.firstElementChild}function gF(e){return this.select(e==null?hF:pF(typeof e=="function"?e:Gm(e)))}var vF=Array.prototype.filter;function mF(){return Array.from(this.children)}function yF(e){return function(){return vF.call(this.children,e)}}function bF(e){return this.selectAll(e==null?mF:yF(typeof e=="function"?e:Gm(e)))}function wF(e){typeof e!="function"&&(e=jm(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],u,c=0;c<a;++c)(u=o[c])&&e.call(u,u.__data__,c,o)&&s.push(u);return new gn(r,this._parents)}function Km(e){return new Array(e.length)}function xF(){return new gn(this._enter||this._groups.map(Km),this._parents)}function ts(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ts.prototype={constructor:ts,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function SF(e){return function(){return e}}function CF(e,t,n,r,i,o){for(var a=0,s,u=t.length,c=o.length;a<c;++a)(s=t[a])?(s.__data__=o[a],r[a]=s):n[a]=new ts(e,o[a]);for(;a<u;++a)(s=t[a])&&(i[a]=s)}function _F(e,t,n,r,i,o,a){var s,u,c=new Map,f=t.length,h=o.length,p=new Array(f),g;for(s=0;s<f;++s)(u=t[s])&&(p[s]=g=a.call(u,u.__data__,s,t)+"",c.has(g)?i[s]=u:c.set(g,u));for(s=0;s<h;++s)g=a.call(e,o[s],s,o)+"",(u=c.get(g))?(r[s]=u,u.__data__=o[s],c.delete(g)):n[s]=new ts(e,o[s]);for(s=0;s<f;++s)(u=t[s])&&c.get(p[s])===u&&(i[s]=u)}function EF(e){return e.__data__}function TF(e,t){if(!arguments.length)return Array.from(this,EF);var n=t?_F:CF,r=this._parents,i=this._groups;typeof e!="function"&&(e=SF(e));for(var o=i.length,a=new Array(o),s=new Array(o),u=new Array(o),c=0;c<o;++c){var f=r[c],h=i[c],p=h.length,g=MF(e.call(f,f&&f.__data__,c,r)),v=g.length,m=s[c]=new Array(v),w=a[c]=new Array(v),y=u[c]=new Array(p);n(f,h,m,w,y,g,t);for(var C=0,_=0,S,E;C<v;++C)if(S=m[C]){for(C>=_&&(_=C+1);!(E=w[_])&&++_<v;);S._next=E||null}}return a=new gn(a,r),a._enter=s,a._exit=u,a}function MF(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function kF(){return new gn(this._exit||this._groups.map(Km),this._parents)}function OF(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function DF(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),u=0;u<a;++u)for(var c=n[u],f=r[u],h=c.length,p=s[u]=new Array(h),g,v=0;v<h;++v)(g=c[v]||f[v])&&(p[v]=g);for(;u<i;++u)s[u]=n[u];return new gn(s,this._parents)}function RF(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function AF(e){e||(e=PF);function t(h,p){return h&&p?e(h.__data__,p.__data__):!h-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,u=i[o]=new Array(s),c,f=0;f<s;++f)(c=a[f])&&(u[f]=c);u.sort(t)}return new gn(i,this._parents).order()}function PF(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function NF(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function IF(){return Array.from(this)}function $F(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function LF(){let e=0;for(const t of this)++e;return e}function VF(){return!this.node()}function zF(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&e.call(s,s.__data__,o,i);return this}function FF(e){return function(){this.removeAttribute(e)}}function BF(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jF(e,t){return function(){this.setAttribute(e,t)}}function GF(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function KF(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function HF(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function WF(e,t){var n=es(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?BF:FF:typeof t=="function"?n.local?HF:KF:n.local?GF:jF)(n,t))}function Hm(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function qF(e){return function(){this.style.removeProperty(e)}}function UF(e,t,n){return function(){this.style.setProperty(e,t,n)}}function YF(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function XF(e,t,n){return arguments.length>1?this.each((t==null?qF:typeof t=="function"?YF:UF)(e,t,n==null?"":n)):xi(this.node(),e)}function xi(e,t){return e.style.getPropertyValue(t)||Hm(e).getComputedStyle(e,null).getPropertyValue(t)}function QF(e){return function(){delete this[e]}}function ZF(e,t){return function(){this[e]=t}}function JF(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function e3(e,t){return arguments.length>1?this.each((t==null?QF:typeof t=="function"?JF:ZF)(e,t)):this.node()[e]}function Wm(e){return e.trim().split(/^|\s+/)}function ac(e){return e.classList||new qm(e)}function qm(e){this._node=e,this._names=Wm(e.getAttribute("class")||"")}qm.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Um(e,t){for(var n=ac(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Ym(e,t){for(var n=ac(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function t3(e){return function(){Um(this,e)}}function n3(e){return function(){Ym(this,e)}}function r3(e,t){return function(){(t.apply(this,arguments)?Um:Ym)(this,e)}}function i3(e,t){var n=Wm(e+"");if(arguments.length<2){for(var r=ac(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?r3:t?t3:n3)(n,t))}function o3(){this.textContent=""}function a3(e){return function(){this.textContent=e}}function s3(e){return function(){var t=e.apply(this,arguments);this.textContent=t==null?"":t}}function l3(e){return arguments.length?this.each(e==null?o3:(typeof e=="function"?s3:a3)(e)):this.node().textContent}function u3(){this.innerHTML=""}function c3(e){return function(){this.innerHTML=e}}function d3(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t==null?"":t}}function f3(e){return arguments.length?this.each(e==null?u3:(typeof e=="function"?d3:c3)(e)):this.node().innerHTML}function p3(){this.nextSibling&&this.parentNode.appendChild(this)}function h3(){return this.each(p3)}function g3(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function v3(){return this.each(g3)}function m3(e){var t=typeof e=="function"?e:Fm(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function y3(){return null}function b3(e,t){var n=typeof e=="function"?e:Fm(e),r=t==null?y3:typeof t=="function"?t:oc(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function w3(){var e=this.parentNode;e&&e.removeChild(this)}function x3(){return this.each(w3)}function S3(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function C3(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function _3(e){return this.select(e?C3:S3)}function E3(e){return arguments.length?this.property("__data__",e):this.node().__data__}function T3(e){return function(t){e.call(this,t,this.__data__)}}function M3(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function k3(e){return function(){var t=this.__on;if(!!t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function O3(e,t,n){return function(){var r=this.__on,i,o=T3(t);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function D3(e,t,n){var r=M3(e+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var u=0,c=s.length,f;u<c;++u)for(i=0,f=s[u];i<o;++i)if((a=r[i]).type===f.type&&a.name===f.name)return f.value}return}for(s=t?O3:k3,i=0;i<o;++i)this.each(s(r[i],t,n));return this}function Xm(e,t,n){var r=Hm(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function R3(e,t){return function(){return Xm(this,e,t)}}function A3(e,t){return function(){return Xm(this,e,t.apply(this,arguments))}}function P3(e,t){return this.each((typeof t=="function"?A3:R3)(e,t))}function*N3(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var Qm=[null];function gn(e,t){this._groups=e,this._parents=t}function vo(){return new gn([[document.documentElement]],Qm)}function I3(){return this}gn.prototype=vo.prototype={constructor:gn,select:sF,selectAll:dF,selectChild:gF,selectChildren:bF,filter:wF,data:TF,enter:xF,exit:kF,join:OF,merge:DF,selection:I3,order:RF,sort:AF,call:NF,nodes:IF,node:$F,size:LF,empty:VF,each:zF,attr:WF,style:XF,property:e3,classed:i3,text:l3,html:f3,raise:h3,lower:v3,append:m3,insert:b3,remove:x3,clone:_3,datum:E3,on:D3,dispatch:P3,[Symbol.iterator]:N3};function Cn(e){return typeof e=="string"?new gn([[document.querySelector(e)]],[document.documentElement]):new gn([[e]],Qm)}function $3(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Dn(e,t){if(e=$3(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const L3={passive:!1},mo={capture:!0,passive:!1};function sc(e){e.stopImmediatePropagation()}function Si(e){e.preventDefault(),e.stopImmediatePropagation()}function Zm(e){var t=e.document.documentElement,n=Cn(e).on("dragstart.drag",Si,mo);"onselectstart"in t?n.on("selectstart.drag",Si,mo):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Jm(e,t){var n=e.document.documentElement,r=Cn(e).on("dragstart.drag",null);t&&(r.on("click.drag",Si,mo),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const ns=e=>()=>e;function lc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:u,dy:c,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:f}})}lc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function V3(e){return!e.ctrlKey&&!e.button}function z3(){return this.parentNode}function F3(e,t){return t==null?{x:e.x,y:e.y}:t}function B3(){return navigator.maxTouchPoints||"ontouchstart"in this}function j3(){var e=V3,t=z3,n=F3,r=B3,i={},o=Za("start","drag","end"),a=0,s,u,c,f,h=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",w).on("touchmove.drag",y,L3).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,E){if(!(f||!e.call(this,S,E))){var k=_(this,t.call(this,S,E),S,E,"mouse");!k||(Cn(S.view).on("mousemove.drag",v,mo).on("mouseup.drag",m,mo),Zm(S.view),sc(S),c=!1,s=S.clientX,u=S.clientY,k("start",S))}}function v(S){if(Si(S),!c){var E=S.clientX-s,k=S.clientY-u;c=E*E+k*k>h}i.mouse("drag",S)}function m(S){Cn(S.view).on("mousemove.drag mouseup.drag",null),Jm(S.view,c),Si(S),i.mouse("end",S)}function w(S,E){if(!!e.call(this,S,E)){var k=S.changedTouches,A=t.call(this,S,E),L=k.length,F,P;for(F=0;F<L;++F)(P=_(this,A,S,E,k[F].identifier,k[F]))&&(sc(S),P("start",S,k[F]))}}function y(S){var E=S.changedTouches,k=E.length,A,L;for(A=0;A<k;++A)(L=i[E[A].identifier])&&(Si(S),L("drag",S,E[A]))}function C(S){var E=S.changedTouches,k=E.length,A,L;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),A=0;A<k;++A)(L=i[E[A].identifier])&&(sc(S),L("end",S,E[A]))}function _(S,E,k,A,L,F){var P=o.copy(),O=Dn(F||k,E),I,z,M;if((M=n.call(S,new lc("beforestart",{sourceEvent:k,target:p,identifier:L,active:a,x:O[0],y:O[1],dx:0,dy:0,dispatch:P}),A))!=null)return I=M.x-O[0]||0,z=M.y-O[1]||0,function $(N,R,B){var G=O,K;switch(N){case"start":i[L]=$,K=a++;break;case"end":delete i[L],--a;case"drag":O=Dn(B||R,E),K=a;break}P.call(N,S,new lc(N,{sourceEvent:R,subject:M,target:p,identifier:L,active:K,x:O[0]+I,y:O[1]+z,dx:O[0]-G[0],dy:O[1]-G[1],dispatch:P}),A)}}return p.filter=function(S){return arguments.length?(e=typeof S=="function"?S:ns(!!S),p):e},p.container=function(S){return arguments.length?(t=typeof S=="function"?S:ns(S),p):t},p.subject=function(S){return arguments.length?(n=typeof S=="function"?S:ns(S),p):n},p.touchable=function(S){return arguments.length?(r=typeof S=="function"?S:ns(!!S),p):r},p.on=function(){var S=o.on.apply(o,arguments);return S===o?p:S},p.clickDistance=function(S){return arguments.length?(h=(S=+S)*S,p):Math.sqrt(h)},p}function uc(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ey(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function yo(){}var bo=.7,rs=1/bo,Ci="\\s*([+-]?\\d+)\\s*",wo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Fn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",G3=/^#([0-9a-f]{3,8})$/,K3=new RegExp(`^rgb\\(${Ci},${Ci},${Ci}\\)$`),H3=new RegExp(`^rgb\\(${Fn},${Fn},${Fn}\\)$`),W3=new RegExp(`^rgba\\(${Ci},${Ci},${Ci},${wo}\\)$`),q3=new RegExp(`^rgba\\(${Fn},${Fn},${Fn},${wo}\\)$`),U3=new RegExp(`^hsl\\(${wo},${Fn},${Fn}\\)$`),Y3=new RegExp(`^hsla\\(${wo},${Fn},${Fn},${wo}\\)$`),ty={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};uc(yo,xo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ny,formatHex:ny,formatHex8:X3,formatHsl:Q3,formatRgb:ry,toString:ry});function ny(){return this.rgb().formatHex()}function X3(){return this.rgb().formatHex8()}function Q3(){return ly(this).formatHsl()}function ry(){return this.rgb().formatRgb()}function xo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=G3.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?iy(t):n===3?new un(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?is(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?is(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=K3.exec(e))?new un(t[1],t[2],t[3],1):(t=H3.exec(e))?new un(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=W3.exec(e))?is(t[1],t[2],t[3],t[4]):(t=q3.exec(e))?is(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=U3.exec(e))?sy(t[1],t[2]/100,t[3]/100,1):(t=Y3.exec(e))?sy(t[1],t[2]/100,t[3]/100,t[4]):ty.hasOwnProperty(e)?iy(ty[e]):e==="transparent"?new un(NaN,NaN,NaN,0):null}function iy(e){return new un(e>>16&255,e>>8&255,e&255,1)}function is(e,t,n,r){return r<=0&&(e=t=n=NaN),new un(e,t,n,r)}function Z3(e){return e instanceof yo||(e=xo(e)),e?(e=e.rgb(),new un(e.r,e.g,e.b,e.opacity)):new un}function cc(e,t,n,r){return arguments.length===1?Z3(e):new un(e,t,n,r==null?1:r)}function un(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}uc(un,cc,ey(yo,{brighter(e){return e=e==null?rs:Math.pow(rs,e),new un(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?bo:Math.pow(bo,e),new un(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new un(Fr(this.r),Fr(this.g),Fr(this.b),os(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:oy,formatHex:oy,formatHex8:J3,formatRgb:ay,toString:ay}));function oy(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}`}function J3(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}${Br((isNaN(this.opacity)?1:this.opacity)*255)}`}function ay(){const e=os(this.opacity);return`${e===1?"rgb(":"rgba("}${Fr(this.r)}, ${Fr(this.g)}, ${Fr(this.b)}${e===1?")":`, ${e})`}`}function os(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Br(e){return e=Fr(e),(e<16?"0":"")+e.toString(16)}function sy(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Rn(e,t,n,r)}function ly(e){if(e instanceof Rn)return new Rn(e.h,e.s,e.l,e.opacity);if(e instanceof yo||(e=xo(e)),!e)return new Rn;if(e instanceof Rn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(t===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-t)/s+2:a=(t-n)/s+4,s/=u<.5?o+i:2-o-i,a*=60):s=u>0&&u<1?0:a,new Rn(a,s,u,e.opacity)}function e4(e,t,n,r){return arguments.length===1?ly(e):new Rn(e,t,n,r==null?1:r)}function Rn(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}uc(Rn,e4,ey(yo,{brighter(e){return e=e==null?rs:Math.pow(rs,e),new Rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?bo:Math.pow(bo,e),new Rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new un(dc(e>=240?e-240:e+120,i,r),dc(e,i,r),dc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Rn(uy(this.h),as(this.s),as(this.l),os(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=os(this.opacity);return`${e===1?"hsl(":"hsla("}${uy(this.h)}, ${as(this.s)*100}%, ${as(this.l)*100}%${e===1?")":`, ${e})`}`}}));function uy(e){return e=(e||0)%360,e<0?e+360:e}function as(e){return Math.max(0,Math.min(1,e||0))}function dc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const cy=e=>()=>e;function t4(e,t){return function(n){return e+n*t}}function n4(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function r4(e){return(e=+e)==1?dy:function(t,n){return n-t?n4(t,n,e):cy(isNaN(t)?n:t)}}function dy(e,t){var n=t-e;return n?t4(e,n):cy(isNaN(e)?t:e)}const fy=function e(t){var n=r4(t);function r(i,o){var a=n((i=cc(i)).r,(o=cc(o)).r),s=n(i.g,o.g),u=n(i.b,o.b),c=dy(i.opacity,o.opacity);return function(f){return i.r=a(f),i.g=s(f),i.b=u(f),i.opacity=c(f),i+""}}return r.gamma=e,r}(1);function Cr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var fc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pc=new RegExp(fc.source,"g");function i4(e){return function(){return e}}function o4(e){return function(t){return e(t)+""}}function a4(e,t){var n=fc.lastIndex=pc.lastIndex=0,r,i,o,a=-1,s=[],u=[];for(e=e+"",t=t+"";(r=fc.exec(e))&&(i=pc.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,u.push({i:a,x:Cr(r,i)})),n=pc.lastIndex;return n<t.length&&(o=t.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?u[0]?o4(u[0].x):i4(t):(t=u.length,function(c){for(var f=0,h;f<t;++f)s[(h=u[f]).i]=h.x(c);return s.join("")})}var py=180/Math.PI,hc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hy(e,t,n,r,i,o){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*py,skewX:Math.atan(u)*py,scaleX:a,scaleY:s}}var ss;function s4(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?hc:hy(t.a,t.b,t.c,t.d,t.e,t.f)}function l4(e){return e==null||(ss||(ss=document.createElementNS("http://www.w3.org/2000/svg","g")),ss.setAttribute("transform",e),!(e=ss.transform.baseVal.consolidate()))?hc:(e=e.matrix,hy(e.a,e.b,e.c,e.d,e.e,e.f))}function gy(e,t,n,r){function i(c){return c.length?c.pop()+" ":""}function o(c,f,h,p,g,v){if(c!==h||f!==p){var m=g.push("translate(",null,t,null,n);v.push({i:m-4,x:Cr(c,h)},{i:m-2,x:Cr(f,p)})}else(h||p)&&g.push("translate("+h+t+p+n)}function a(c,f,h,p){c!==f?(c-f>180?f+=360:f-c>180&&(c+=360),p.push({i:h.push(i(h)+"rotate(",null,r)-2,x:Cr(c,f)})):f&&h.push(i(h)+"rotate("+f+r)}function s(c,f,h,p){c!==f?p.push({i:h.push(i(h)+"skewX(",null,r)-2,x:Cr(c,f)}):f&&h.push(i(h)+"skewX("+f+r)}function u(c,f,h,p,g,v){if(c!==h||f!==p){var m=g.push(i(g)+"scale(",null,",",null,")");v.push({i:m-4,x:Cr(c,h)},{i:m-2,x:Cr(f,p)})}else(h!==1||p!==1)&&g.push(i(g)+"scale("+h+","+p+")")}return function(c,f){var h=[],p=[];return c=e(c),f=e(f),o(c.translateX,c.translateY,f.translateX,f.translateY,h,p),a(c.rotate,f.rotate,h,p),s(c.skewX,f.skewX,h,p),u(c.scaleX,c.scaleY,f.scaleX,f.scaleY,h,p),c=f=null,function(g){for(var v=-1,m=p.length,w;++v<m;)h[(w=p[v]).i]=w.x(g);return h.join("")}}}var u4=gy(s4,"px, ","px)","deg)"),c4=gy(l4,", ",")",")"),d4=1e-12;function vy(e){return((e=Math.exp(e))+1/e)/2}function f4(e){return((e=Math.exp(e))-1/e)/2}function p4(e){return((e=Math.exp(2*e))-1)/(e+1)}const h4=function e(t,n,r){function i(o,a){var s=o[0],u=o[1],c=o[2],f=a[0],h=a[1],p=a[2],g=f-s,v=h-u,m=g*g+v*v,w,y;if(m<d4)y=Math.log(p/c)/t,w=function(A){return[s+A*g,u+A*v,c*Math.exp(t*A*y)]};else{var C=Math.sqrt(m),_=(p*p-c*c+r*m)/(2*c*n*C),S=(p*p-c*c-r*m)/(2*p*n*C),E=Math.log(Math.sqrt(_*_+1)-_),k=Math.log(Math.sqrt(S*S+1)-S);y=(k-E)/t,w=function(A){var L=A*y,F=vy(E),P=c/(n*C)*(F*p4(t*L+E)-f4(E));return[s+P*g,u+P*v,c*F/vy(t*L+E)]}}return w.duration=y*1e3*t/Math.SQRT2,w}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,u=s*s;return e(a,s,u)},i}(Math.SQRT2,2,4);var _i=0,So=0,Co=0,my=1e3,ls,_o,us=0,jr=0,cs=0,Eo=typeof performance=="object"&&performance.now?performance:Date,yy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gc(){return jr||(yy(g4),jr=Eo.now()+cs)}function g4(){jr=0}function ds(){this._call=this._time=this._next=null}ds.prototype=by.prototype={constructor:ds,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?gc():+n)+(t==null?0:+t),!this._next&&_o!==this&&(_o?_o._next=this:ls=this,_o=this),this._call=e,this._time=n,vc()},stop:function(){this._call&&(this._call=null,this._time=1/0,vc())}};function by(e,t,n){var r=new ds;return r.restart(e,t,n),r}function v4(){gc(),++_i;for(var e=ls,t;e;)(t=jr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--_i}function wy(){jr=(us=Eo.now())+cs,_i=So=0;try{v4()}finally{_i=0,y4(),jr=0}}function m4(){var e=Eo.now(),t=e-us;t>my&&(cs-=t,us=e)}function y4(){for(var e,t=ls,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ls=n);_o=e,vc(r)}function vc(e){if(!_i){So&&(So=clearTimeout(So));var t=e-jr;t>24?(e<1/0&&(So=setTimeout(wy,e-Eo.now()-cs)),Co&&(Co=clearInterval(Co))):(Co||(us=Eo.now(),Co=setInterval(m4,my)),_i=1,yy(wy))}}function xy(e,t,n){var r=new ds;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var b4=Za("start","end","cancel","interrupt"),w4=[],Sy=0,Cy=1,mc=2,fs=3,_y=4,yc=5,ps=6;function hs(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;x4(e,n,{name:t,index:r,group:i,on:b4,tween:w4,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Sy})}function bc(e,t){var n=An(e,t);if(n.state>Sy)throw new Error("too late; already scheduled");return n}function Bn(e,t){var n=An(e,t);if(n.state>fs)throw new Error("too late; already running");return n}function An(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function x4(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=by(o,0,n.time);function o(c){n.state=Cy,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var f,h,p,g;if(n.state!==Cy)return u();for(f in r)if(g=r[f],g.name===n.name){if(g.state===fs)return xy(a);g.state===_y?(g.state=ps,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[f]):+f<t&&(g.state=ps,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete r[f])}if(xy(function(){n.state===fs&&(n.state=_y,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=mc,n.on.call("start",e,e.__data__,n.index,n.group),n.state===mc){for(n.state=fs,i=new Array(p=n.tween.length),f=0,h=-1;f<p;++f)(g=n.tween[f].value.call(e,e.__data__,n.index,n.group))&&(i[++h]=g);i.length=h+1}}function s(c){for(var f=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(u),n.state=yc,1),h=-1,p=i.length;++h<p;)i[h].call(e,f);n.state===yc&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=ps,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function gs(e,t){var n=e.__transition,r,i,o=!0,a;if(!!n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){o=!1;continue}i=r.state>mc&&r.state<yc,r.state=ps,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function S4(e){return this.each(function(){gs(this,e)})}function C4(e,t){var n,r;return function(){var i=Bn(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function _4(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Bn(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},u=0,c=i.length;u<c;++u)if(i[u].name===t){i[u]=s;break}u===c&&i.push(s)}o.tween=i}}function E4(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=An(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((t==null?C4:_4)(n,e,t))}function wc(e,t,n){var r=e._id;return e.each(function(){var i=Bn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return An(i,r).value[t]}}function Ey(e,t){var n;return(typeof t=="number"?Cr:t instanceof xo?fy:(n=xo(t))?(t=n,fy):a4)(e,t)}function T4(e){return function(){this.removeAttribute(e)}}function M4(e){return function(){this.removeAttributeNS(e.space,e.local)}}function k4(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function O4(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function D4(e,t,n){var r,i,o;return function(){var a,s=n(this),u;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=s+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s)))}}function R4(e,t,n){var r,i,o;return function(){var a,s=n(this),u;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=s+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s)))}}function A4(e,t){var n=es(e),r=n==="transform"?c4:Ey;return this.attrTween(e,typeof t=="function"?(n.local?R4:D4)(n,r,wc(this,"attr."+e,t)):t==null?(n.local?M4:T4)(n):(n.local?O4:k4)(n,r,t))}function P4(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function N4(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function I4(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&N4(e,o)),n}return i._value=t,i}function $4(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&P4(e,o)),n}return i._value=t,i}function L4(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=es(e);return this.tween(n,(r.local?I4:$4)(r,t))}function V4(e,t){return function(){bc(this,e).delay=+t.apply(this,arguments)}}function z4(e,t){return t=+t,function(){bc(this,e).delay=t}}function F4(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?V4:z4)(t,e)):An(this.node(),t).delay}function B4(e,t){return function(){Bn(this,e).duration=+t.apply(this,arguments)}}function j4(e,t){return t=+t,function(){Bn(this,e).duration=t}}function G4(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?B4:j4)(t,e)):An(this.node(),t).duration}function K4(e,t){if(typeof t!="function")throw new Error;return function(){Bn(this,e).ease=t}}function H4(e){var t=this._id;return arguments.length?this.each(K4(t,e)):An(this.node(),t).ease}function W4(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Bn(this,e).ease=n}}function q4(e){if(typeof e!="function")throw new Error;return this.each(W4(this._id,e))}function U4(e){typeof e!="function"&&(e=jm(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],u,c=0;c<a;++c)(u=o[c])&&e.call(u,u.__data__,c,o)&&s.push(u);return new rr(r,this._parents,this._name,this._id)}function Y4(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var u=t[s],c=n[s],f=u.length,h=a[s]=new Array(f),p,g=0;g<f;++g)(p=u[g]||c[g])&&(h[g]=p);for(;s<r;++s)a[s]=t[s];return new rr(a,this._parents,this._name,this._id)}function X4(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Q4(e,t,n){var r,i,o=X4(t)?bc:Bn;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}function Z4(e,t){var n=this._id;return arguments.length<2?An(this.node(),n).on.on(e):this.each(Q4(n,e,t))}function J4(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function eB(){return this.on("end.remove",J4(this._id))}function tB(e){var t=this._name,n=this._id;typeof e!="function"&&(e=oc(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],u=s.length,c=o[a]=new Array(u),f,h,p=0;p<u;++p)(f=s[p])&&(h=e.call(f,f.__data__,p,s))&&("__data__"in f&&(h.__data__=f.__data__),c[p]=h,hs(c[p],t,n,p,c,An(f,n)));return new rr(o,this._parents,t,n)}function nB(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Bm(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var u=r[s],c=u.length,f,h=0;h<c;++h)if(f=u[h]){for(var p=e.call(f,f.__data__,h,u),g,v=An(f,n),m=0,w=p.length;m<w;++m)(g=p[m])&&hs(g,t,n,m,p,v);o.push(p),a.push(f)}return new rr(o,a,t,n)}var rB=vo.prototype.constructor;function iB(){return new rB(this._groups,this._parents)}function oB(e,t){var n,r,i;return function(){var o=xi(this,e),a=(this.style.removeProperty(e),xi(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function Ty(e){return function(){this.style.removeProperty(e)}}function aB(e,t,n){var r,i=n+"",o;return function(){var a=xi(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function sB(e,t,n){var r,i,o;return function(){var a=xi(this,e),s=n(this),u=s+"";return s==null&&(u=s=(this.style.removeProperty(e),xi(this,e))),a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s))}}function lB(e,t){var n,r,i,o="style."+t,a="end."+o,s;return function(){var u=Bn(this,e),c=u.on,f=u.value[o]==null?s||(s=Ty(t)):void 0;(c!==n||i!==f)&&(r=(n=c).copy()).on(a,i=f),u.on=r}}function uB(e,t,n){var r=(e+="")=="transform"?u4:Ey;return t==null?this.styleTween(e,oB(e,r)).on("end.style."+e,Ty(e)):typeof t=="function"?this.styleTween(e,sB(e,r,wc(this,"style."+e,t))).each(lB(this._id,e)):this.styleTween(e,aB(e,r,t),n).on("end.style."+e,null)}function cB(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function dB(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&cB(e,a,n)),r}return o._value=t,o}function fB(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,dB(e,t,n==null?"":n))}function pB(e){return function(){this.textContent=e}}function hB(e){return function(){var t=e(this);this.textContent=t==null?"":t}}function gB(e){return this.tween("text",typeof e=="function"?hB(wc(this,"text",e)):pB(e==null?"":e+""))}function vB(e){return function(t){this.textContent=e.call(this,t)}}function mB(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&vB(i)),t}return r._value=e,r}function yB(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,mB(e))}function bB(){for(var e=this._name,t=this._id,n=My(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,u,c=0;c<s;++c)if(u=a[c]){var f=An(u,t);hs(u,e,n,c,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new rr(r,this._parents,e,n)}function wB(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},u={value:function(){--i===0&&o()}};n.each(function(){var c=Bn(this,r),f=c.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),c.on=t}),i===0&&o()})}var xB=0;function rr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function My(){return++xB}var ir=vo.prototype;rr.prototype={constructor:rr,select:tB,selectAll:nB,selectChild:ir.selectChild,selectChildren:ir.selectChildren,filter:U4,merge:Y4,selection:iB,transition:bB,call:ir.call,nodes:ir.nodes,node:ir.node,size:ir.size,empty:ir.empty,each:ir.each,on:Z4,attr:A4,attrTween:L4,style:uB,styleTween:fB,text:gB,textTween:yB,remove:eB,tween:E4,delay:F4,duration:G4,ease:H4,easeVarying:q4,end:wB,[Symbol.iterator]:ir[Symbol.iterator]};function SB(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var CB={time:null,delay:0,duration:250,ease:SB};function _B(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function EB(e){var t,n;e instanceof rr?(t=e._id,e=e._name):(t=My(),(n=CB).time=gc(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,u,c=0;c<s;++c)(u=a[c])&&hs(u,e,t,c,a,n||_B(u,t));return new rr(r,this._parents,e,t)}vo.prototype.interrupt=S4,vo.prototype.transition=EB;const vs=e=>()=>e;function TB(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function or(e,t,n){this.k=e,this.x=t,this.y=n}or.prototype={constructor:or,scale:function(e){return e===1?this:new or(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new or(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new or(1,0,0);or.prototype;function xc(e){e.stopImmediatePropagation()}function To(e){e.preventDefault(),e.stopImmediatePropagation()}function MB(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function kB(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ky(){return this.__zoom||ar}function OB(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function DB(){return navigator.maxTouchPoints||"ontouchstart"in this}function RB(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function Oy(){var e=MB,t=kB,n=RB,r=OB,i=DB,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,u=h4,c=Za("start","zoom","end"),f,h,p,g=500,v=150,m=0,w=10;function y(M){M.property("__zoom",ky).on("wheel.zoom",L,{passive:!1}).on("mousedown.zoom",F).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",O).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(M,$,N,R){var B=M.selection?M.selection():M;B.property("__zoom",ky),M!==B?E(M,$,N,R):B.interrupt().each(function(){k(this,arguments).event(R).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},y.scaleBy=function(M,$,N,R){y.scaleTo(M,function(){var B=this.__zoom.k,G=typeof $=="function"?$.apply(this,arguments):$;return B*G},N,R)},y.scaleTo=function(M,$,N,R){y.transform(M,function(){var B=t.apply(this,arguments),G=this.__zoom,K=N==null?S(B):typeof N=="function"?N.apply(this,arguments):N,W=G.invert(K),ee=typeof $=="function"?$.apply(this,arguments):$;return n(_(C(G,ee),K,W),B,a)},N,R)},y.translateBy=function(M,$,N,R){y.transform(M,function(){return n(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,R)},y.translateTo=function(M,$,N,R,B){y.transform(M,function(){var G=t.apply(this,arguments),K=this.__zoom,W=R==null?S(G):typeof R=="function"?R.apply(this,arguments):R;return n(ar.translate(W[0],W[1]).scale(K.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof N=="function"?-N.apply(this,arguments):-N),G,a)},R,B)};function C(M,$){return $=Math.max(o[0],Math.min(o[1],$)),$===M.k?M:new or($,M.x,M.y)}function _(M,$,N){var R=$[0]-N[0]*M.k,B=$[1]-N[1]*M.k;return R===M.x&&B===M.y?M:new or(M.k,R,B)}function S(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function E(M,$,N,R){M.on("start.zoom",function(){k(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){k(this,arguments).event(R).end()}).tween("zoom",function(){var B=this,G=arguments,K=k(B,G).event(R),W=t.apply(B,G),ee=N==null?S(W):typeof N=="function"?N.apply(B,G):N,ne=Math.max(W[1][0]-W[0][0],W[1][1]-W[0][1]),U=B.__zoom,X=typeof $=="function"?$.apply(B,G):$,ce=u(U.invert(ee).concat(ne/U.k),X.invert(ee).concat(ne/X.k));return function(ue){if(ue===1)ue=X;else{var se=ce(ue),ae=ne/se[2];ue=new or(ae,ee[0]-se[0]*ae,ee[1]-se[1]*ae)}K.zoom(null,ue)}})}function k(M,$,N){return!N&&M.__zooming||new A(M,$)}function A(M,$){this.that=M,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(M,$),this.taps=0}A.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,$){return this.mouse&&M!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var $=Cn(this.that).datum();c.call(M,this.that,new TB(M,{sourceEvent:this.sourceEvent,target:y,type:M,transform:this.that.__zoom,dispatch:c}),$)}};function L(M,...$){if(!e.apply(this,arguments))return;var N=k(this,$).event(M),R=this.__zoom,B=Math.max(o[0],Math.min(o[1],R.k*Math.pow(2,r.apply(this,arguments)))),G=Dn(M);if(N.wheel)(N.mouse[0][0]!==G[0]||N.mouse[0][1]!==G[1])&&(N.mouse[1]=R.invert(N.mouse[0]=G)),clearTimeout(N.wheel);else{if(R.k===B)return;N.mouse=[G,R.invert(G)],gs(this),N.start()}To(M),N.wheel=setTimeout(K,v),N.zoom("mouse",n(_(C(R,B),N.mouse[0],N.mouse[1]),N.extent,a));function K(){N.wheel=null,N.end()}}function F(M,...$){if(p||!e.apply(this,arguments))return;var N=M.currentTarget,R=k(this,$,!0).event(M),B=Cn(M.view).on("mousemove.zoom",ee,!0).on("mouseup.zoom",ne,!0),G=Dn(M,N),K=M.clientX,W=M.clientY;Zm(M.view),xc(M),R.mouse=[G,this.__zoom.invert(G)],gs(this),R.start();function ee(U){if(To(U),!R.moved){var X=U.clientX-K,ce=U.clientY-W;R.moved=X*X+ce*ce>m}R.event(U).zoom("mouse",n(_(R.that.__zoom,R.mouse[0]=Dn(U,N),R.mouse[1]),R.extent,a))}function ne(U){B.on("mousemove.zoom mouseup.zoom",null),Jm(U.view,R.moved),To(U),R.event(U).end()}}function P(M,...$){if(!!e.apply(this,arguments)){var N=this.__zoom,R=Dn(M.changedTouches?M.changedTouches[0]:M,this),B=N.invert(R),G=N.k*(M.shiftKey?.5:2),K=n(_(C(N,G),R,B),t.apply(this,$),a);To(M),s>0?Cn(this).transition().duration(s).call(E,K,R,M):Cn(this).call(y.transform,K,R,M)}}function O(M,...$){if(!!e.apply(this,arguments)){var N=M.touches,R=N.length,B=k(this,$,M.changedTouches.length===R).event(M),G,K,W,ee;for(xc(M),K=0;K<R;++K)W=N[K],ee=Dn(W,this),ee=[ee,this.__zoom.invert(ee),W.identifier],B.touch0?!B.touch1&&B.touch0[2]!==ee[2]&&(B.touch1=ee,B.taps=0):(B.touch0=ee,G=!0,B.taps=1+!!f);f&&(f=clearTimeout(f)),G&&(B.taps<2&&(h=ee[0],f=setTimeout(function(){f=null},g)),gs(this),B.start())}}function I(M,...$){if(!!this.__zooming){var N=k(this,$).event(M),R=M.changedTouches,B=R.length,G,K,W,ee;for(To(M),G=0;G<B;++G)K=R[G],W=Dn(K,this),N.touch0&&N.touch0[2]===K.identifier?N.touch0[0]=W:N.touch1&&N.touch1[2]===K.identifier&&(N.touch1[0]=W);if(K=N.that.__zoom,N.touch1){var ne=N.touch0[0],U=N.touch0[1],X=N.touch1[0],ce=N.touch1[1],ue=(ue=X[0]-ne[0])*ue+(ue=X[1]-ne[1])*ue,se=(se=ce[0]-U[0])*se+(se=ce[1]-U[1])*se;K=C(K,Math.sqrt(ue/se)),W=[(ne[0]+X[0])/2,(ne[1]+X[1])/2],ee=[(U[0]+ce[0])/2,(U[1]+ce[1])/2]}else if(N.touch0)W=N.touch0[0],ee=N.touch0[1];else return;N.zoom("touch",n(_(K,W,ee),N.extent,a))}}function z(M,...$){if(!!this.__zooming){var N=k(this,$).event(M),R=M.changedTouches,B=R.length,G,K;for(xc(M),p&&clearTimeout(p),p=setTimeout(function(){p=null},g),G=0;G<B;++G)K=R[G],N.touch0&&N.touch0[2]===K.identifier?delete N.touch0:N.touch1&&N.touch1[2]===K.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&(K=Dn(K,this),Math.hypot(h[0]-K[0],h[1]-K[1])<w)){var W=Cn(this).on("dblclick.zoom");W&&W.apply(this,arguments)}}}return y.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:vs(+M),y):r},y.filter=function(M){return arguments.length?(e=typeof M=="function"?M:vs(!!M),y):e},y.touchable=function(M){return arguments.length?(i=typeof M=="function"?M:vs(!!M),y):i},y.extent=function(M){return arguments.length?(t=typeof M=="function"?M:vs([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),y):t},y.scaleExtent=function(M){return arguments.length?(o[0]=+M[0],o[1]=+M[1],y):[o[0],o[1]]},y.translateExtent=function(M){return arguments.length?(a[0][0]=+M[0][0],a[1][0]=+M[1][0],a[0][1]=+M[0][1],a[1][1]=+M[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(M){return arguments.length?(n=M,y):n},y.duration=function(M){return arguments.length?(s=+M,y):s},y.interpolate=function(M){return arguments.length?(u=M,y):u},y.on=function(){var M=c.on.apply(c,arguments);return M===c?y:M},y.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,y):Math.sqrt(m)},y.tapDistance=function(M){return arguments.length?(w=+M,y):w},y}const ms=x.createContext(null),AB=ms.Provider,jn={"001":()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001","002":()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.","003":e=>`Node type "${e}" not found. Using fallback type "default".`,"004":()=>"The React Flow parent container needs a width and a height to render the graph.","005":()=>"Only child nodes can use a parent extent.","006":()=>"Can't create edge. An edge needs a source and a target.","007":e=>`The old edge with id=${e} does not exist.`,"009":e=>`Marker type "${e}" doesn't exist.`,"008":(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,"010":()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.","011":e=>`Edge type "${e}" not found. Using fallback type "default".`},Dy=jn["001"]();function Tt(e,t){const n=x.useContext(ms);if(n===null)throw new Error(Dy);return eF(n,e,t)}const Kt=()=>{const e=x.useContext(ms);if(e===null)throw new Error(Dy);return x.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},PB=e=>e.userSelectionActive?"none":"all";function Sc({position:e,children:t,className:n,style:r,...i}){const o=Tt(PB),a=`${e}`.split("-");return l("div",{className:Zt(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i,children:t})}function NB({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:l(Sc,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:l("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const IB=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:u,className:c,...f})=>{const h=x.useRef(null),[p,g]=x.useState({x:0,y:0,width:0,height:0}),v=Zt(["react-flow__edge-textwrapper",c]);return x.useEffect(()=>{if(h.current){const m=h.current.getBBox();g({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:b("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...f,children:[i&&l("rect",{width:p.width+2*a[0],x:-a[0],y:-a[1],height:p.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),l("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:h,style:r,children:n}),u]})};var $B=x.memo(IB);const Cc=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ei=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),_c=(e={x:0,y:0},t)=>({x:Ei(e.x,t[0][0],t[1][0]),y:Ei(e.y,t[0][1],t[1][1])}),Ry=(e,t,n)=>e<t?Ei(Math.abs(e-t),1,50)/50:e>n?-Ei(Math.abs(e-n),1,50)/50:0,Ay=(e,t)=>{const n=Ry(e.x,35,t.width-35)*20,r=Ry(e.y,35,t.height-35)*20;return[n,r]},Py=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Ny=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ys=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Iy=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),$y=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),LB=(e,t)=>Iy(Ny(ys(e),ys(t))),Ec=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},VB=e=>_n(e.width)&&_n(e.height)&&_n(e.x)&&_n(e.y),_n=e=>!isNaN(e)&&isFinite(e),jt=Symbol.for("internals"),Ly=["Enter"," ","Escape"],Tc=(e,t)=>{process.env.NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},zB=e=>"nativeEvent"in e;function Mc(e){var r,i;const t=zB(e)?e.nativeEvent:e,n=((i=(r=t.composedPath)==null?void 0:r.call(t))==null?void 0:i[0])||e.target;return e.ctrlKey||e.metaKey||e.shiftKey?!1:["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const Vy=e=>"clientX"in e,_r=(e,t)=>{var o,a,s,u;const n=Vy(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((s=t==null?void 0:t.left)!=null?s:0),y:i-((u=t==null?void 0:t.top)!=null?u:0)}},Mo=({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:f,markerStart:h,interactionWidth:p=20})=>b(Oe,{children:[l("path",{style:c,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),p&&l("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}),r&&_n(t)&&_n(n)?l($B,{x:t,y:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:u}):null]});Mo.displayName="BaseEdge";function ko(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function zy({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[o,s,i,a]}function Fy({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const u=e*.125+i*.375+a*.375+n*.125,c=t*.125+o*.375+s*.375+r*.125,f=Math.abs(u-e),h=Math.abs(c-t);return[u,c,f,h]}var Gr;(function(e){e.Strict="strict",e.Loose="loose"})(Gr||(Gr={}));var Ti;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ti||(Ti={}));var Oo;(function(e){e.Partial="partial",e.Full="full"})(Oo||(Oo={}));var Er;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Er||(Er={}));var bs;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(bs||(bs={}));var Me;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Me||(Me={}));function By({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===Me.Left||e===Me.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function jy({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top}){const[a,s]=By({pos:n,x1:e,y1:t,x2:r,y2:i}),[u,c]=By({pos:o,x1:r,y1:i,x2:e,y2:t}),[f,h,p,g]=Fy({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${s} ${u},${c} ${r},${i}`,f,h,p,g]}const kc=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Me.Bottom,targetPosition:o=Me.Top,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:m})=>{const[w,y,C]=jy({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return l(Mo,{path:w,labelX:y,labelY:C,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:m})});kc.displayName="SimpleBezierEdge";const Gy={[Me.Left]:{x:-1,y:0},[Me.Right]:{x:1,y:0},[Me.Top]:{x:0,y:-1},[Me.Bottom]:{x:0,y:1}},FB=({source:e,sourcePosition:t=Me.Bottom,target:n})=>t===Me.Left||t===Me.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Ky=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function BB({source:e,sourcePosition:t=Me.Bottom,target:n,targetPosition:r=Me.Top,center:i,offset:o}){const a=Gy[t],s=Gy[r],u={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},f=FB({source:u,sourcePosition:t,target:c}),h=f.x!==0?"x":"y",p=f[h];let g=[],v,m;const[w,y,C,_]=zy({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[h]*s[h]===-1){v=i.x||w,m=i.y||y;const E=[{x:v,y:u.y},{x:v,y:c.y}],k=[{x:u.x,y:m},{x:c.x,y:m}];a[h]===p?g=h==="x"?E:k:g=h==="x"?k:E}else{const E=[{x:u.x,y:c.y}],k=[{x:c.x,y:u.y}];if(h==="x"?g=a.x===p?k:E:g=a.y===p?E:k,t!==r){const A=h==="x"?"y":"x",L=a[h]===s[A],F=u[A]>c[A],P=u[A]<c[A];(a[h]===1&&(!L&&F||L&&P)||a[h]!==1&&(!L&&P||L&&F))&&(g=h==="x"?E:k)}v=g[0].x,m=g[0].y}return[[e,u,...g,c,n],v,m,C,_]}function jB(e,t,n,r){const i=Math.min(Ky(e,t)/2,Ky(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,f=e.y<n.y?1:-1;return`L ${o+i*c},${a}Q ${o},${a} ${o},${a+i*f}`}const s=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${o},${a+i*u}Q ${o},${a} ${o+i*s},${a}`}function Oc({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top,borderRadius:a=5,centerX:s,centerY:u,offset:c=20}){const[f,h,p,g,v]=BB({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:u},offset:c});return[f.reduce((w,y,C)=>{let _="";return C>0&&C<f.length-1?_=jB(f[C-1],y,f[C+1],a):_=`${C===0?"M":"L"}${y.x} ${y.y}`,w+=_,w},""),h,p,g,v]}const ws=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,sourcePosition:h=Me.Bottom,targetPosition:p=Me.Top,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[y,C,_]=Oc({sourceX:e,sourceY:t,sourcePosition:h,targetX:n,targetY:r,targetPosition:p,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return l(Mo,{path:y,labelX:C,labelY:_,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:g,markerStart:v,interactionWidth:w})});ws.displayName="SmoothStepEdge";const Dc=x.memo(e=>{var t;return l(ws,{...e,pathOptions:x.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Dc.displayName="StepEdge";function GB({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=zy({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}const Rc=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:g})=>{const[v,m,w]=GB({sourceX:e,sourceY:t,targetX:n,targetY:r});return l(Mo,{path:v,labelX:m,labelY:w,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:g})});Rc.displayName="StraightEdge";function xs(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Hy({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Me.Left:return[t-xs(t-r,o),n];case Me.Right:return[t+xs(r-t,o),n];case Me.Top:return[t,n-xs(n-i,o)];case Me.Bottom:return[t,n+xs(i-n,o)]}}function Wy({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top,curvature:a=.25}){const[s,u]=Hy({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,f]=Hy({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[h,p,g,v]=Fy({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:u,targetControlX:c,targetControlY:f});return[`M${e},${t} C${s},${u} ${c},${f} ${r},${i}`,h,p,g,v]}const Ss=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Me.Bottom,targetPosition:o=Me.Top,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[y,C,_]=Wy({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return l(Mo,{path:y,labelX:C,labelY:_,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:w})});Ss.displayName="BezierEdge";const Ac=x.createContext(null),KB=Ac.Provider;Ac.Consumer;const HB=()=>x.useContext(Ac),WB=e=>"id"in e&&"source"in e&&"target"in e,qB=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Pc=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,UB=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),YB=(e,t)=>{if(!e.source||!e.target)return Tc("006",jn["006"]()),t;let n;return WB(e)?n={...e}:n={...e,id:qB(e)},UB(n,t)?t:t.concat(n)},qy=({x:e,y:t},[n,r,i],o,[a,s])=>{const u={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(u.x/a),y:s*Math.round(u.y/s)}:u},XB=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Kr=(e,t=[0,0])=>{var o,a;if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=((o=e.width)!=null?o:0)*t[0],r=((a=e.height)!=null?a:0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},Nc=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:a}=Kr(i,t).positionAbsolute;return Ny(r,ys({x:o,y:a,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Iy(n)},Uy=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const u={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(f=>{const{width:h,height:p,selectable:g=!0,hidden:v=!1}=f;if(a&&!g||v)return!1;const{positionAbsolute:m}=Kr(f,s),w={x:m.x,y:m.y,width:h||0,height:p||0},y=Ec(u,w),C=typeof h>"u"||typeof p>"u"||h===null||p===null,_=o&&y>0,S=(h||0)*(p||0);(C||_||y>=S||f.dragging)&&c.push(f)}),c},Yy=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},Xy=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),u=Math.min(a,s),c=Ei(u,r,i),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*c,g=n/2-h*c;return[p,g,c]},Hr=(e,t=0)=>e.transition().duration(t);function Qy(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,s,u,c;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:((s=(a=e.positionAbsolute)==null?void 0:a.x)!=null?s:0)+o.x+o.width/2,y:((c=(u=e.positionAbsolute)==null?void 0:u.y)!=null?c:0)+o.y+o.height/2}),i},[])}function QB(e,t,n){let r=null,i=1/0;return n.forEach(o=>{const a=Math.sqrt(Math.pow(o.x-e.x,2)+Math.pow(o.y-e.y,2));a<=t&&a<i&&(i=a,r=o)}),r}const ZB={source:null,target:null,sourceHandle:null,targetHandle:null};function Zy(e,t,n,r,i,o,a,s){const u=o==="target",c=s.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),{x:f,y:h}=_r(e),p=s.elementFromPoint(f,h),g=p!=null&&p.classList.contains("react-flow__handle")?p:c,v={handleDomNode:g,isValid:!1,connection:ZB};if(g){const m=Jy(void 0,g),w=g.getAttribute("data-nodeid"),y=g.getAttribute("data-handleid"),C={source:u?w:r,sourceHandle:u?y:i,target:u?r:w,targetHandle:u?i:y};v.connection=C,(n===Gr.Strict?u&&m==="source"||!u&&m==="target":w!==r||y!==i)&&(v.isValid=a(C))}return v}function JB({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[jt]){const{handleBounds:a}=o[jt];let s=[],u=[];a&&(s=Qy(o,a,"source",`${t}-${n}-${r}`),u=Qy(o,a,"target",`${t}-${n}-${r}`)),i.push(...s,...u)}return i},[])}function Jy(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Ic(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function e5(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function eb({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:u,onEdgeUpdateEnd:c}){const f=Py(e.target),{connectionMode:h,domNode:p,autoPanOnConnect:g,connectionRadius:v,onConnectStart:m,panBy:w,getNodes:y,cancelConnection:C}=o();let _=0,S;const{x:E,y:k}=_r(e),A=f==null?void 0:f.elementFromPoint(E,k),L=Jy(u,A),F=p==null?void 0:p.getBoundingClientRect();if(!F||!L)return;let P,O=_r(e,F),I=!1,z=null,M=!1;const $=JB({nodes:y(),nodeId:n,handleId:t,handleType:L}),N=()=>{if(!g)return;const[G,K]=Ay(O,F);w({x:G,y:K}),_=requestAnimationFrame(N)};a({connectionPosition:O,connectionNodeId:n,connectionHandleId:t,connectionHandleType:L,connectionStatus:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:L});function R(G){const{transform:K}=o();O=_r(G,F),S=QB(qy(O,K,!1,[1,1]),v,$),I||(N(),I=!0);const{handleDomNode:W,...ee}=Zy(G,S,h,n,t,i?"target":"source",s,f);if(a({connectionPosition:S&&ee.isValid?XB({x:S.x,y:S.y},K):O,connectionStatus:e5(!!S,ee.isValid)}),!S&&!ee.isValid)return Ic(P);z=ee.connection,M=ee.isValid,z.source!==z.target&&W&&(Ic(P),P=W,W.classList.add("connecting","react-flow__handle-connecting"),W.classList.toggle("valid",M),W.classList.toggle("react-flow__handle-valid",M))}function B(G){var K,W;z&&M&&S&&(r==null||r(z)),(W=(K=o()).onConnectEnd)==null||W.call(K,G),u&&(c==null||c(G)),Ic(P),C(),cancelAnimationFrame(_),I=!1,M=!1,z=null,S=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",B),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",B)}f.addEventListener("mousemove",R),f.addEventListener("mouseup",B),f.addEventListener("touchmove",R),f.addEventListener("touchend",B)}const t5=()=>!0,n5=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),tb=x.forwardRef(({type:e="source",position:t=Me.Top,isValidConnection:n=t5,isConnectable:r=!0,id:i,onConnect:o,children:a,className:s,onMouseDown:u,onTouchStart:c,...f},h)=>{var k,A;const p=Kt(),g=HB();if(!g)return(A=(k=p.getState()).onError)==null||A.call(k,"010",jn["010"]()),null;const{connectionStartHandle:v,connectOnClick:m,noPanClassName:w}=Tt(n5,nn),y=i||null,C=e==="target",_=L=>{const{defaultEdgeOptions:F,onConnect:P,hasDefaultEdges:O}=p.getState(),I={...F,...L};if(O){const{edges:z}=p.getState();p.setState({edges:YB(I,z)})}P==null||P(I),o==null||o(I)},S=L=>{const F=Vy(L);(F&&L.button===0||!F)&&eb({event:L,handleId:y,nodeId:g,onConnect:_,isTarget:C,getState:p.getState,setState:p.setState,isValidConnection:n}),F?u==null||u(L):c==null||c(L)},E=L=>{const{onClickConnectStart:F,onClickConnectEnd:P,connectionMode:O}=p.getState();if(!v){F==null||F(L,{nodeId:g,handleId:y,handleType:e}),p.setState({connectionStartHandle:{nodeId:g,type:e,handleId:y}});return}const I=Py(L.target),{connection:z,isValid:M}=Zy(L,{nodeId:g,id:y,type:e},O,v.nodeId,v.handleId||null,v.type,n,I);M&&_(z),P==null||P(L),p.setState({connectionStartHandle:null})};return l("div",{"data-handleid":y,"data-nodeid":g,"data-handlepos":t,"data-id":`${g}-${y}-${e}`,className:Zt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,s,{source:!C,target:C,connectable:r,connecting:(v==null?void 0:v.nodeId)===g&&(v==null?void 0:v.handleId)===y&&(v==null?void 0:v.type)===e}]),onMouseDown:S,onTouchStart:S,onClick:m?E:void 0,ref:h,...f,children:a})});tb.displayName="Handle";var Mi=x.memo(tb);const nb=({data:e,isConnectable:t,targetPosition:n=Me.Top,sourcePosition:r=Me.Bottom})=>b(Oe,{children:[l(Mi,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,l(Mi,{type:"source",position:r,isConnectable:t})]});nb.displayName="DefaultNode";var $c=x.memo(nb);const rb=({data:e,isConnectable:t,sourcePosition:n=Me.Bottom})=>b(Oe,{children:[e==null?void 0:e.label,l(Mi,{type:"source",position:n,isConnectable:t})]});rb.displayName="InputNode";var ib=x.memo(rb);const ob=({data:e,isConnectable:t,targetPosition:n=Me.Top})=>b(Oe,{children:[l(Mi,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});ob.displayName="OutputNode";var ab=x.memo(ob);const Lc=()=>null;Lc.displayName="GroupNode";const r5=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Cs=e=>e.id;function i5(e,t){return nn(e.selectedNodes.map(Cs),t.selectedNodes.map(Cs))&&nn(e.selectedEdges.map(Cs),t.selectedEdges.map(Cs))}const sb=x.memo(({onSelectionChange:e})=>{const t=Kt(),{selectedNodes:n,selectedEdges:r}=Tt(r5,i5);return x.useEffect(()=>{var o,a;const i={nodes:n,edges:r};e==null||e(i),(a=(o=t.getState()).onSelectionChange)==null||a.call(o,i)},[n,r,e]),null});sb.displayName="SelectionListener";const o5=e=>!!e.onSelectionChange;function a5({onSelectionChange:e}){const t=Tt(o5);return e||t?l(sb,{onSelectionChange:e}):null}const s5=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function ki(e,t){x.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function ot(e,t,n){x.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const l5=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:u,nodesDraggable:c,nodesConnectable:f,nodesFocusable:h,edgesFocusable:p,elevateNodesOnSelect:g,minZoom:v,maxZoom:m,nodeExtent:w,onNodesChange:y,onEdgesChange:C,elementsSelectable:_,connectionMode:S,snapGrid:E,snapToGrid:k,translateExtent:A,connectOnClick:L,defaultEdgeOptions:F,fitView:P,fitViewOptions:O,onNodesDelete:I,onEdgesDelete:z,onNodeDrag:M,onNodeDragStart:$,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:B,onSelectionDragStop:G,noPanClassName:K,nodeOrigin:W,rfId:ee,autoPanOnConnect:ne,autoPanOnNodeDrag:U,onError:X,connectionRadius:ce})=>{const{setNodes:ue,setEdges:se,setDefaultNodesAndEdges:ae,setMinZoom:xe,setMaxZoom:be,setTranslateExtent:Y,setNodeExtent:re,reset:Se}=Tt(s5,nn),q=Kt();return x.useEffect(()=>{const we=r==null?void 0:r.map(ve=>({...ve,...F}));return ae(n,we),()=>{Se()}},[]),ot("defaultEdgeOptions",F,q.setState),ot("connectionMode",S,q.setState),ot("onConnect",i,q.setState),ot("onConnectStart",o,q.setState),ot("onConnectEnd",a,q.setState),ot("onClickConnectStart",s,q.setState),ot("onClickConnectEnd",u,q.setState),ot("nodesDraggable",c,q.setState),ot("nodesConnectable",f,q.setState),ot("nodesFocusable",h,q.setState),ot("edgesFocusable",p,q.setState),ot("elementsSelectable",_,q.setState),ot("elevateNodesOnSelect",g,q.setState),ot("snapToGrid",k,q.setState),ot("snapGrid",E,q.setState),ot("onNodesChange",y,q.setState),ot("onEdgesChange",C,q.setState),ot("connectOnClick",L,q.setState),ot("fitViewOnInit",P,q.setState),ot("fitViewOnInitOptions",O,q.setState),ot("onNodesDelete",I,q.setState),ot("onEdgesDelete",z,q.setState),ot("onNodeDrag",M,q.setState),ot("onNodeDragStart",$,q.setState),ot("onNodeDragStop",N,q.setState),ot("onSelectionDrag",R,q.setState),ot("onSelectionDragStart",B,q.setState),ot("onSelectionDragStop",G,q.setState),ot("noPanClassName",K,q.setState),ot("nodeOrigin",W,q.setState),ot("rfId",ee,q.setState),ot("autoPanOnConnect",ne,q.setState),ot("autoPanOnNodeDrag",U,q.setState),ot("onError",X,q.setState),ot("connectionRadius",ce,q.setState),ki(e,ue),ki(t,se),ki(v,xe),ki(m,be),ki(A,Y),ki(w,re),null},lb={display:"none"},u5={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ub="react-flow__node-desc",cb="react-flow__edge-desc",c5="react-flow__aria-live",d5=e=>e.ariaLiveMessage;function f5({rfId:e}){const t=Tt(d5);return l("div",{id:`${c5}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:u5,children:t})}function p5({rfId:e,disableKeyboardA11y:t}){return b(Oe,{children:[b("div",{id:`${ub}-${e}`,style:lb,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),l("div",{id:`${cb}-${e}`,style:lb,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&l(f5,{rfId:e})]})}const h5=(e,t,n)=>n===Me.Left?e-t:n===Me.Right?e+t:e,g5=(e,t,n)=>n===Me.Top?e-t:n===Me.Bottom?e+t:e,db="react-flow__edgeupdater",fb=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>l("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:Zt([db,`${db}-${s}`]),cx:h5(t,r,e),cy:g5(n,r,e),r,stroke:"transparent",fill:"transparent"});var Oi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:s,selected:u,animated:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,style:w,source:y,target:C,sourceX:_,sourceY:S,targetX:E,targetY:k,sourcePosition:A,targetPosition:L,elementsSelectable:F,hidden:P,sourceHandleId:O,targetHandleId:I,onContextMenu:z,onMouseEnter:M,onMouseMove:$,onMouseLeave:N,edgeUpdaterRadius:R,onEdgeUpdate:B,onEdgeUpdateStart:G,onEdgeUpdateEnd:K,markerEnd:W,markerStart:ee,rfId:ne,ariaLabel:U,isFocusable:X,pathOptions:ce,interactionWidth:ue})=>{const se=x.useRef(null),[ae,xe]=x.useState(!1),[be,Y]=x.useState(!1),re=Kt(),Se=x.useMemo(()=>`url(#${Pc(ee,ne)})`,[ee,ne]),q=x.useMemo(()=>`url(#${Pc(W,ne)})`,[W,ne]);if(P)return null;const we=We=>{const{edges:st,addSelectedEdges:Ce}=re.getState();if(F&&(re.setState({nodesSelectionActive:!1}),Ce([n])),a){const Ne=st.find(et=>et.id===n);a(We,Ne)}},ve=ko(n,re.getState,s),_e=ko(n,re.getState,z),ke=ko(n,re.getState,M),ge=ko(n,re.getState,$),Ke=ko(n,re.getState,N),Pe=(We,st)=>{const Ce=st?C:y,Ne=(st?I:O)||null,et=st?"target":"source",Mt=()=>!0,lt=st,kt=re.getState().edges.find(Ot=>Ot.id===n);Y(!0),G==null||G(We,kt,et);const dt=Ot=>{Y(!1),K==null||K(Ot,kt,et)};eb({event:We,handleId:Ne,nodeId:Ce,onConnect:Ot=>B==null?void 0:B(kt,Ot),isTarget:lt,getState:re.getState,setState:re.setState,isValidConnection:Mt,edgeUpdaterType:et,onEdgeUpdateEnd:dt})},Xe=We=>Pe(We,!0),Ee=We=>Pe(We,!1),Fe=()=>xe(!0),$e=()=>xe(!1),Ve=!F&&!a,ct=typeof B<"u",at=We=>{var st;if(Ly.includes(We.key)&&F){const{unselectNodesAndEdges:Ce,addSelectedEdges:Ne,edges:et}=re.getState();We.key==="Escape"?((st=se.current)==null||st.blur(),Ce({edges:[et.find(lt=>lt.id===n)]})):Ne([n])}};return b("g",{className:Zt(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:u,animated:c,inactive:Ve,updating:ae}]),onClick:we,onDoubleClick:ve,onContextMenu:_e,onMouseEnter:ke,onMouseMove:ge,onMouseLeave:Ke,onKeyDown:X?at:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${y} to ${C}`,"aria-describedby":X?`${cb}-${ne}`:void 0,ref:se,children:[!be&&l(e,{id:n,source:y,target:C,selected:u,animated:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,data:o,style:w,sourceX:_,sourceY:S,targetX:E,targetY:k,sourcePosition:A,targetPosition:L,sourceHandleId:O,targetHandleId:I,markerStart:Se,markerEnd:q,pathOptions:ce,interactionWidth:ue}),ct&&b(Oe,{children:[l(fb,{position:A,centerX:_,centerY:S,radius:R,onMouseDown:Xe,onMouseEnter:Fe,onMouseOut:$e,type:"source"}),l(fb,{position:L,centerX:E,centerY:k,radius:R,onMouseDown:Ee,onMouseEnter:Fe,onMouseOut:$e,type:"target"})]})]})};return t.displayName="EdgeWrapper",x.memo(t)};function v5(e){const t={default:Oi(e.default||Ss),straight:Oi(e.bezier||Rc),step:Oi(e.step||Dc),smoothstep:Oi(e.step||ws),simplebezier:Oi(e.simplebezier||kc)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Oi(e[o]||Ss),i),n);return{...t,...r}}function pb(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,a=(n==null?void 0:n.height)||t.height;switch(e){case Me.Top:return{x:r+o/2,y:i};case Me.Right:return{x:r+o,y:i+a/2};case Me.Bottom:return{x:r+o/2,y:i+a};case Me.Left:return{x:r,y:i+a/2}}}function hb(e,t){return e?t?e.find(n=>n.id===t):e.length===1?e[0]:null:null}const m5=(e,t,n,r,i,o)=>{const a=pb(n,e,t),s=pb(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}};function y5({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:u}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const f=ys({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:a/u[2],height:s/u[2]}),h=Math.max(0,Math.min(f.x2,c.x2)-Math.max(f.x,c.x)),p=Math.max(0,Math.min(f.y2,c.y2)-Math.max(f.y,c.y));return Math.ceil(h*p)>0}function gb(e){var r,i,o,a,s;const t=((r=e==null?void 0:e[jt])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.x)||0,y:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function vb(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:vb(n,t):!1}function mb(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function b5(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!vb(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,a,s,u;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-((a=(o=i.positionAbsolute)==null?void 0:o.x)!=null?a:0),y:n.y-((u=(s=i.positionAbsolute)==null?void 0:s.y)!=null?u:0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function yb(e,t,n,r,i=[0,0],o){let a=e.extent||r;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:f,y:h}=Kr(c,i).positionAbsolute;a=c&&_n(f)&&_n(h)&&_n(c.width)&&_n(c.height)?[[f+e.width*i[0],h+e.height*i[1]],[f+c.width-e.width+e.width*i[0],h+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",jn["005"]()),a=r;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:f,y:h}=Kr(c,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+h],[e.extent[1][0]+f,e.extent[1][1]+h]]}let s={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);s=Kr(c,i).positionAbsolute}const u=a?_c(t,a):t;return{position:{x:u.x-s.x,y:u.y-s.y},positionAbsolute:u}}function Vc({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const bb=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s={x:a.width*r[0],y:a.height*r[1]};return o.map(u=>{const c=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(c.left-a.left-s.x)/n,y:(c.top-a.top-s.y)/n,...Cc(u)}})};function Do(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function zc({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:a}=t.getState(),s=a.get(e);t.setState({nodesSelectionActive:!1}),s.selected?(n||s.selected&&o)&&i({nodes:[s]}):r([e])}function w5(){const e=Kt();return x.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,s=n.touches?n.touches[0].clientY:n.clientY,u={x:(a-r[0])/r[2],y:(s-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(u.x/i[0]):u.x,ySnapped:o?i[1]*Math.round(u.y/i[1]):u.y,...u}},[])}function Fc(e){return(t,n,r)=>e==null?void 0:e(t,r)}function wb({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=Kt(),[u,c]=x.useState(!1),f=x.useRef([]),h=x.useRef({x:null,y:null}),p=x.useRef(0),g=x.useRef(null),v=x.useRef({x:0,y:0}),m=x.useRef(null),w=x.useRef(!1),y=w5();return x.useEffect(()=>{if(e!=null&&e.current){const C=Cn(e.current),_=({x:E,y:k})=>{const{nodeInternals:A,onNodeDrag:L,onSelectionDrag:F,updateNodePositions:P,nodeExtent:O,snapGrid:I,snapToGrid:z,nodeOrigin:M,onError:$}=s.getState();h.current={x:E,y:k};let N=!1;if(f.current=f.current.map(B=>{const G={x:E-B.distance.x,y:k-B.distance.y};z&&(G.x=I[0]*Math.round(G.x/I[0]),G.y=I[1]*Math.round(G.y/I[1]));const K=yb(B,G,A,O,M,$);return N=N||B.position.x!==K.position.x||B.position.y!==K.position.y,B.position=K.position,B.positionAbsolute=K.positionAbsolute,B}),!N)return;P(f.current,!0,!0),c(!0);const R=i?L:Fc(F);if(R&&m.current){const[B,G]=Vc({nodeId:i,dragItems:f.current,nodeInternals:A});R(m.current,B,G)}},S=()=>{var A,L;if(!g.current)return;const[E,k]=Ay(v.current,g.current);if(E!==0||k!==0){const{transform:F,panBy:P}=s.getState();h.current.x=((A=h.current.x)!=null?A:0)-E/F[2],h.current.y=((L=h.current.y)!=null?L:0)-k/F[2],_(h.current),P({x:E,y:k})}p.current=requestAnimationFrame(S)};if(t)C.on(".drag",null);else{const E=j3().on("start",k=>{var N;const{nodeInternals:A,multiSelectionActive:L,domNode:F,nodesDraggable:P,unselectNodesAndEdges:O,onNodeDragStart:I,onSelectionDragStart:z}=s.getState(),M=i?I:Fc(z);!a&&!L&&i&&((N=A.get(i))!=null&&N.selected||O()),i&&o&&a&&zc({id:i,store:s});const $=y(k);if(h.current=$,f.current=b5(A,P,$,i),M&&f.current){const[R,B]=Vc({nodeId:i,dragItems:f.current,nodeInternals:A});M(k.sourceEvent,R,B)}g.current=(F==null?void 0:F.getBoundingClientRect())||null,v.current=_r(k.sourceEvent,g.current)}).on("drag",k=>{const A=y(k),{autoPanOnNodeDrag:L}=s.getState();!w.current&&L&&(w.current=!0,S()),(h.current.x!==A.xSnapped||h.current.y!==A.ySnapped)&&f.current&&(m.current=k.sourceEvent,v.current=_r(k.sourceEvent,g.current),_(A))}).on("end",k=>{if(c(!1),w.current=!1,cancelAnimationFrame(p.current),f.current){const{updateNodePositions:A,nodeInternals:L,onNodeDragStop:F,onSelectionDragStop:P}=s.getState(),O=i?F:Fc(P);if(A(f.current,!1,!1),O){const[I,z]=Vc({nodeId:i,dragItems:f.current,nodeInternals:L});O(k.sourceEvent,I,z)}}}).filter(k=>{const A=k.target;return!k.button&&(!n||!mb(A,`.${n}`,e))&&(!r||mb(A,r,e))});return C.call(E),()=>{C.on(".drag",null)}}}},[e,t,n,r,o,s,i,a,y]),u}function xb(){const e=Kt();return x.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:s,snapGrid:u,onError:c,nodesDraggable:f}=e.getState(),h=a().filter(C=>C.selected&&(C.draggable||f&&typeof C.draggable>"u")),p=s?u[0]:5,g=s?u[1]:5,v=n.isShiftPressed?4:1,m=n.x*p*v,w=n.y*g*v,y=h.map(C=>{if(C.positionAbsolute){const _={x:C.positionAbsolute.x+m,y:C.positionAbsolute.y+w};s&&(_.x=u[0]*Math.round(_.x/u[0]),_.y=u[1]*Math.round(_.y/u[1]));const{positionAbsolute:S,position:E}=yb(C,_,r,i,void 0,c);C.position=E,C.positionAbsolute=S}return C});o(y,!0,!1)},[])}const Di={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Ro=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:s,yPosOrigin:u,selected:c,onClick:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:g,onContextMenu:v,onDoubleClick:m,style:w,className:y,isDraggable:C,isSelectable:_,isConnectable:S,isFocusable:E,selectNodesOnDrag:k,sourcePosition:A,targetPosition:L,hidden:F,resizeObserver:P,dragHandle:O,zIndex:I,isParent:z,noDragClassName:M,noPanClassName:$,initialized:N,disableKeyboardA11y:R,ariaLabel:B,rfId:G})=>{const K=Kt(),W=x.useRef(null),ee=x.useRef(A),ne=x.useRef(L),U=x.useRef(r),X=_||C||f||h||p||g,ce=xb(),ue=Do(n,K.getState,h),se=Do(n,K.getState,p),ae=Do(n,K.getState,g),xe=Do(n,K.getState,v),be=Do(n,K.getState,m),Y=q=>{if(_&&(!k||!C)&&zc({id:n,store:K}),f){const we=K.getState().nodeInternals.get(n);f(q,{...we})}},re=q=>{var we;if(!Mc(q))if(Ly.includes(q.key)&&_){const ve=q.key==="Escape";ve&&((we=W.current)==null||we.blur()),zc({id:n,store:K,unselect:ve})}else!R&&C&&c&&Object.prototype.hasOwnProperty.call(Di,q.key)&&(K.setState({ariaLiveMessage:`Moved selected node ${q.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),ce({x:Di[q.key].x,y:Di[q.key].y,isShiftPressed:q.shiftKey}))};x.useEffect(()=>{if(W.current&&!F){const q=W.current;return P==null||P.observe(q),()=>P==null?void 0:P.unobserve(q)}},[F]),x.useEffect(()=>{const q=U.current!==r,we=ee.current!==A,ve=ne.current!==L;W.current&&(q||we||ve)&&(q&&(U.current=r),we&&(ee.current=A),ve&&(ne.current=L),K.getState().updateNodeDimensions([{id:n,nodeElement:W.current,forceUpdate:!0}]))},[n,r,A,L]);const Se=wb({nodeRef:W,disabled:F||!C,noDragClassName:M,handleSelector:O,nodeId:n,isSelectable:_,selectNodesOnDrag:k});return F?null:l("div",{className:Zt(["react-flow__node",`react-flow__node-${r}`,{[$]:C},y,{selected:c,selectable:_,parent:z,dragging:Se}]),ref:W,style:{zIndex:I,transform:`translate(${s}px,${u}px)`,pointerEvents:X?"all":"none",visibility:N?"visible":"hidden",...w},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ue,onMouseMove:se,onMouseLeave:ae,onContextMenu:xe,onClick:Y,onDoubleClick:be,onKeyDown:E?re:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-describedby":R?void 0:`${ub}-${G}`,"aria-label":B,children:l(KB,{value:n,children:l(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:c,isConnectable:S,sourcePosition:A,targetPosition:L,dragging:Se,dragHandle:O,zIndex:I})})})};return t.displayName="NodeWrapper",x.memo(t)};function x5(e){const t={input:Ro(e.input||ib),default:Ro(e.default||$c),output:Ro(e.output||ab),group:Ro(e.group||Lc)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Ro(e[o]||$c),i),n);return{...t,...r}}const S5=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},C5=typeof document<"u"?document:null;var Ao=(e=null,t={target:C5})=>{const[n,r]=x.useState(!1),i=x.useRef(new Set([])),[o,a]=x.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),c=u.reduce((f,h)=>f.concat(...h),[]);return[u,c]}return[[],[]]},[e]);return x.useEffect(()=>{var s,u;if(e!==null){const c=p=>{if(Mc(p))return!1;const g=Cb(p.code,a);i.current.add(p[g]),Sb(o,i.current,!1)&&(p.preventDefault(),r(!0))},f=p=>{if(Mc(p))return!1;const g=Cb(p.code,a);Sb(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(p[g])},h=()=>{i.current.clear(),r(!1)};return(s=t==null?void 0:t.target)==null||s.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",h),()=>{var p,g;(p=t==null?void 0:t.target)==null||p.removeEventListener("keydown",c),(g=t==null?void 0:t.target)==null||g.removeEventListener("keyup",f),window.removeEventListener("blur",h)}}},[e,r]),n};function Sb(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function Cb(e,t){return t.includes(e)?"code":"key"}function _b(e,t,n,r){var a,s,u,c,f,h,p,g;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Kr(i,r);return _b(i,t,{x:((a=n.x)!=null?a:0)+o.x,y:((s=n.y)!=null?s:0)+o.y,z:((c=(u=i[jt])==null?void 0:u.z)!=null?c:0)>((f=n.z)!=null?f:0)?(p=(h=i[jt])==null?void 0:h.z)!=null?p:0:(g=n.z)!=null?g:0},r)}function Eb(e,t,n){e.forEach(r=>{var i,o;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||(n==null?void 0:n[r.id])){const{x:a,y:s,z:u}=_b(r,e,{...r.position,z:(o=(i=r[jt])==null?void 0:i.z)!=null?o:0},t);r.positionAbsolute={x:a,y:s},r[jt].z=u,n!=null&&n[r.id]&&(r[jt].isParent=!0)}})}function Bc(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(s=>{var h;const u=(_n(s.zIndex)?s.zIndex:0)+(s.selected?a:0),c=t.get(s.id),f={width:c==null?void 0:c.width,height:c==null?void 0:c.height,...s,positionAbsolute:{x:s.position.x,y:s.position.y}};s.parentNode&&(f.parentNode=s.parentNode,o[s.parentNode]=!0),Object.defineProperty(f,jt,{enumerable:!1,value:{handleBounds:(h=c==null?void 0:c[jt])==null?void 0:h.handleBounds,z:u}}),i.set(s.id,f)}),Eb(i,n,o),i}function Tb(e,t={}){var p,g,v;const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:u,fitViewOnInitDone:c,fitViewOnInit:f,nodeOrigin:h}=e();if((t.initial&&!c&&f||!t.initial)&&s&&u){const m=n().filter(y=>t.includeHiddenNodes?y.width&&y.height:!y.hidden),w=m.every(y=>y.width&&y.height);if(m.length>0&&w){const y=Nc(m,h),[C,_,S]=Xy(y,r,i,(p=t.minZoom)!=null?p:o,(g=t.maxZoom)!=null?g:a,(v=t.padding)!=null?v:.1),E=ar.translate(C,_).scale(S);return typeof t.duration=="number"&&t.duration>0?s.transform(Hr(u,t.duration),E):s.transform(u,E),!0}}return!1}function _5(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[jt]:r[jt],selected:n.selected})}),new Map(t)}function E5(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function _s({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:u,hasDefaultEdges:c}=n();e!=null&&e.length&&(u&&r({nodeInternals:_5(e,i)}),a==null||a(e)),t!=null&&t.length&&(c&&r({edges:E5(t,o)}),s==null||s(t))}const Wr=()=>{},T5={zoomIn:Wr,zoomOut:Wr,zoomTo:Wr,getZoom:()=>1,setViewport:Wr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:Wr,setCenter:Wr,fitBounds:Wr,project:e=>e,viewportInitialized:!1},M5=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),k5=()=>{const e=Kt(),{d3Zoom:t,d3Selection:n}=Tt(M5,nn);return x.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Hr(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Hr(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Hr(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{var f,h,p;const[a,s,u]=e.getState().transform,c=ar.translate((f=i.x)!=null?f:a,(h=i.y)!=null?h:s).scale((p=i.zoom)!=null?p:u);t.transform(Hr(n,o==null?void 0:o.duration),c)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>Tb(e.getState,i),setCenter:(i,o,a)=>{const{width:s,height:u,maxZoom:c}=e.getState(),f=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:c,h=s/2-i*f,p=u/2-o*f,g=ar.translate(h,p).scale(f);t.transform(Hr(n,a==null?void 0:a.duration),g)},fitBounds:(i,o)=>{var v;const{width:a,height:s,minZoom:u,maxZoom:c}=e.getState(),[f,h,p]=Xy(i,a,s,u,c,(v=o==null?void 0:o.padding)!=null?v:.1),g=ar.translate(f,h).scale(p);t.transform(Hr(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:s}=e.getState();return qy(i,o,a,s)},viewportInitialized:!0}:T5,[t,n])};function jc(){const e=k5(),t=Kt(),n=x.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=x.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=x.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(w=>({...w}))},[]),o=x.useCallback(m=>{const{edges:w=[]}=t.getState();return w.find(y=>y.id===m)},[]),a=x.useCallback(m=>{const{getNodes:w,setNodes:y,hasDefaultNodes:C,onNodesChange:_}=t.getState(),S=w(),E=typeof m=="function"?m(S):m;if(C)y(E);else if(_){const k=E.length===0?S.map(A=>({type:"remove",id:A.id})):E.map(A=>({item:A,type:"reset"}));_(k)}},[]),s=x.useCallback(m=>{const{edges:w=[],setEdges:y,hasDefaultEdges:C,onEdgesChange:_}=t.getState(),S=typeof m=="function"?m(w):m;if(C)y(S);else if(_){const E=S.length===0?w.map(k=>({type:"remove",id:k.id})):S.map(k=>({item:k,type:"reset"}));_(E)}},[]),u=x.useCallback(m=>{const w=Array.isArray(m)?m:[m],{getNodes:y,setNodes:C,hasDefaultNodes:_,onNodesChange:S}=t.getState();if(_){const k=[...y(),...w];C(k)}else if(S){const E=w.map(k=>({item:k,type:"add"}));S(E)}},[]),c=x.useCallback(m=>{const w=Array.isArray(m)?m:[m],{edges:y=[],setEdges:C,hasDefaultEdges:_,onEdgesChange:S}=t.getState();if(_)C([...y,...w]);else if(S){const E=w.map(k=>({item:k,type:"add"}));S(E)}},[]),f=x.useCallback(()=>{const{getNodes:m,edges:w=[],transform:y}=t.getState(),[C,_,S]=y;return{nodes:m().map(E=>({...E})),edges:w.map(E=>({...E})),viewport:{x:C,y:_,zoom:S}}},[]),h=x.useCallback(({nodes:m,edges:w})=>{const{nodeInternals:y,getNodes:C,edges:_,hasDefaultNodes:S,hasDefaultEdges:E,onNodesDelete:k,onEdgesDelete:A,onNodesChange:L,onEdgesChange:F}=t.getState(),P=(m||[]).map($=>$.id),O=(w||[]).map($=>$.id),I=C().reduce(($,N)=>{const R=!P.includes(N.id)&&N.parentNode&&$.find(G=>G.id===N.parentNode);return(typeof N.deletable=="boolean"?N.deletable:!0)&&(P.includes(N.id)||R)&&$.push(N),$},[]),z=_.filter($=>typeof $.deletable=="boolean"?$.deletable:!0),M=z.filter($=>O.includes($.id));if(I||M){const $=Yy(I,z),N=[...M,...$],R=N.reduce((B,G)=>(B.includes(G.id)||B.push(G.id),B),[]);if((E||S)&&(E&&t.setState({edges:_.filter(B=>!R.includes(B.id))}),S&&(I.forEach(B=>{y.delete(B.id)}),t.setState({nodeInternals:new Map(y)}))),R.length>0&&(A==null||A(N),F&&F(R.map(B=>({id:B,type:"remove"})))),I.length>0&&(k==null||k(I),L)){const B=I.map(G=>({id:G.id,type:"remove"}));L(B)}}},[]),p=x.useCallback(m=>{const w=VB(m),y=w?null:t.getState().nodeInternals.get(m.id);return[w?m:$y(y),y,w]},[]),g=x.useCallback((m,w=!0,y)=>{const[C,_,S]=p(m);return C?(y||t.getState().getNodes()).filter(E=>{if(!S&&(E.id===_.id||!E.positionAbsolute))return!1;const k=$y(E),A=Ec(k,C);return w&&A>0||A>=m.width*m.height}):[]},[]),v=x.useCallback((m,w,y=!0)=>{const[C]=p(m);if(!C)return!1;const _=Ec(C,w);return y&&_>0||_>=m.width*m.height},[]);return x.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:u,addEdges:c,toObject:f,deleteElements:h,getIntersectingNodes:g,isNodeIntersecting:v}),[e,n,r,i,o,a,s,u,c,f,h,g,v])}var O5=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Kt(),{deleteElements:r}=jc(),i=Ao(e),o=Ao(t);x.useEffect(()=>{if(i){const{edges:a,getNodes:s}=n.getState(),u=s().filter(f=>f.selected),c=a.filter(f=>f.selected);r({nodes:u,edges:c}),n.setState({nodesSelectionActive:!1})}},[i]),x.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function D5(e){const t=Kt();x.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Cc(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",jn["004"]())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const Gc={position:"absolute",width:"100%",height:"100%",top:0,left:0},R5=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Kc=e=>({x:e.x,y:e.y,zoom:e.k}),Ri=(e,t)=>e.target.closest(`.${t}`),Mb=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),A5=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),P5=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:u=Ti.Free,zoomOnDoubleClick:c=!0,elementsSelectable:f,panOnDrag:h=!0,defaultViewport:p,translateExtent:g,minZoom:v,maxZoom:m,zoomActivationKeyCode:w,preventScrolling:y=!0,children:C,noWheelClassName:_,noPanClassName:S})=>{const E=x.useRef(),k=Kt(),A=x.useRef(!1),L=x.useRef(!1),F=x.useRef(null),P=x.useRef({x:0,y:0,zoom:0}),{d3Zoom:O,d3Selection:I,d3ZoomHandler:z,userSelectionActive:M}=Tt(A5,nn),$=Ao(w),N=x.useRef(0);return D5(F),x.useEffect(()=>{if(F.current){const R=F.current.getBoundingClientRect(),B=Oy().scaleExtent([v,m]).translateExtent(g),G=Cn(F.current).call(B),K=ar.translate(p.x,p.y).scale(Ei(p.zoom,v,m)),W=[[0,0],[R.width,R.height]],ee=B.constrain()(K,W,g);B.transform(G,ee),k.setState({d3Zoom:B,d3Selection:G,d3ZoomHandler:G.on("wheel.zoom"),transform:[ee.x,ee.y,ee.k],domNode:F.current.closest(".react-flow")})}},[]),x.useEffect(()=>{I&&O&&(a&&!$&&!M?I.on("wheel.zoom",R=>{if(Ri(R,_))return!1;R.preventDefault(),R.stopImmediatePropagation();const B=I.property("__zoom").k||1;if(R.ctrlKey&&o){const ee=Dn(R),ne=-R.deltaY*(R.deltaMode===1?.05:R.deltaMode?1:.002)*10,U=B*Math.pow(2,ne);O.scaleTo(I,U,ee);return}const G=R.deltaMode===1?20:1,K=u===Ti.Vertical?0:R.deltaX*G,W=u===Ti.Horizontal?0:R.deltaY*G;O.translateBy(I,-(K/B)*s,-(W/B)*s)}):typeof z<"u"&&I.on("wheel.zoom",function(R,B){if(!y||Ri(R,_))return null;R.preventDefault(),z.call(this,R,B)}))},[M,a,u,I,O,z,$,o,y,_]),x.useEffect(()=>{O&&O.on("start",R=>{var G;if(!R.sourceEvent)return null;N.current=R.sourceEvent.button;const{onViewportChangeStart:B}=k.getState();if(A.current=!0,((G=R.sourceEvent)==null?void 0:G.type)==="mousedown"&&k.setState({paneDragging:!0}),t||B){const K=Kc(R.transform);P.current=K,B==null||B(K),t==null||t(R.sourceEvent,K)}})},[O,t]),x.useEffect(()=>{O&&(M&&!A.current?O.on("zoom",null):M||O.on("zoom",R=>{var G;const{onViewportChange:B}=k.getState();if(k.setState({transform:[R.transform.x,R.transform.y,R.transform.k]}),L.current=!!(r&&Mb(h,(G=N.current)!=null?G:0)),e||B){const K=Kc(R.transform);B==null||B(K),e==null||e(R.sourceEvent,K)}}))},[M,O,e,h,r]),x.useEffect(()=>{O&&O.on("end",R=>{var G;if(!R.sourceEvent)return null;const{onViewportChangeEnd:B}=k.getState();if(A.current=!1,k.setState({paneDragging:!1}),r&&Mb(h,(G=N.current)!=null?G:0)&&!L.current&&r(R.sourceEvent),L.current=!1,(n||B)&&R5(P.current,R.transform)){const K=Kc(R.transform);P.current=K,clearTimeout(E.current),E.current=setTimeout(()=>{B==null||B(K),n==null||n(R.sourceEvent,K)},a?150:0)}})},[O,a,h,n,r]),x.useEffect(()=>{O&&O.filter(R=>{const B=$||i,G=o&&R.ctrlKey;if(R.button===1&&R.type==="mousedown"&&(Ri(R,"react-flow__node")||Ri(R,"react-flow__edge")))return!0;if(!h&&!B&&!a&&!c&&!o||M||!c&&R.type==="dblclick"||Ri(R,_)&&R.type==="wheel"||Ri(R,S)&&R.type!=="wheel"||!o&&R.ctrlKey&&R.type==="wheel"||!B&&!a&&!G&&R.type==="wheel"||!h&&(R.type==="mousedown"||R.type==="touchstart")||Array.isArray(h)&&!h.includes(R.button)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const K=Array.isArray(h)&&h.includes(R.button)||!R.button||R.button<=1;return(!R.ctrlKey||R.type==="wheel")&&K})},[M,O,i,o,a,c,h,f,$]),l("div",{className:"react-flow__renderer",ref:F,style:Gc,children:C})},N5=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function I5(){const{userSelectionActive:e,userSelectionRect:t}=Tt(N5,nn);return e&&t?l("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function kb(e,t){var r,i;const n=e.find(o=>o.id===t.parentNode);if(n){const o=t.position.x+t.width-n.width,a=t.position.y+t.height-n.height;if(o>0||a>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=(r=n.style.width)!=null?r:n.width,n.style.height=(i=n.style.height)!=null?i:n.height,o>0&&(n.style.width+=o),a>0&&(n.style.height+=a),t.position.x<0){const s=Math.abs(t.position.x);n.position.x=n.position.x-s,n.style.width+=s,t.position.x=0}if(t.position.y<0){const s=Math.abs(t.position.y);n.position.y=n.position.y-s,n.style.height+=s,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function $5(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(s=>s.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const s of o)if(s)switch(s.type){case"select":{a.selected=s.selected;break}case"position":{typeof s.position<"u"&&(a.position=s.position),typeof s.positionAbsolute<"u"&&(a.positionAbsolute=s.positionAbsolute),typeof s.dragging<"u"&&(a.dragging=s.dragging),a.expandParent&&kb(r,a);break}case"dimensions":{typeof s.dimensions<"u"&&(a.width=s.dimensions.width,a.height=s.dimensions.height),typeof s.updateStyle<"u"&&(a.style={...a.style||{},...s.dimensions}),typeof s.resizing=="boolean"&&(a.resizing=s.resizing),a.expandParent&&kb(r,a);break}case"remove":return r}return r.push(a),r},n)}function L5(e,t){return $5(e,t)}const Tr=(e,t)=>({id:e,type:"select",selected:t});function Ai(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Tr(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Tr(r.id,!1))),n},[])}const Hc=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},V5=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Ob=x.memo(({isSelecting:e,selectionMode:t=Oo.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:u,onPaneMouseMove:c,onPaneMouseLeave:f,children:h})=>{const p=x.useRef(null),g=Kt(),v=x.useRef(0),m=x.useRef(0),w=x.useRef(),{userSelectionActive:y,elementsSelectable:C,dragging:_}=Tt(V5,nn),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,m.current=0},E=z=>{o==null||o(z),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},k=z=>{if(Array.isArray(n)&&(n==null?void 0:n.includes(2))){z.preventDefault();return}a==null||a(z)},A=s?z=>s(z):void 0,L=z=>{const{resetSelectedElements:M,domNode:$}=g.getState();if(w.current=$==null?void 0:$.getBoundingClientRect(),!C||!e||z.button!==0||z.target!==p.current||!w.current)return;const{x:N,y:R}=_r(z,w.current);M(),g.setState({userSelectionRect:{width:0,height:0,startX:N,startY:R,x:N,y:R}}),r==null||r(z)},F=z=>{var xe,be;const{userSelectionRect:M,nodeInternals:$,edges:N,transform:R,onNodesChange:B,onEdgesChange:G,nodeOrigin:K,getNodes:W}=g.getState();if(!e||!w.current||!M)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const ee=_r(z,w.current),ne=(xe=M.startX)!=null?xe:0,U=(be=M.startY)!=null?be:0,X={...M,x:ee.x<ne?ee.x:ne,y:ee.y<U?ee.y:U,width:Math.abs(ee.x-ne),height:Math.abs(ee.y-U)},ce=W(),ue=Uy($,X,R,t===Oo.Partial,!0,K),se=Yy(ue,N).map(Y=>Y.id),ae=ue.map(Y=>Y.id);if(v.current!==ae.length){v.current=ae.length;const Y=Ai(ce,ae);Y.length&&(B==null||B(Y))}if(m.current!==se.length){m.current=se.length;const Y=Ai(N,se);Y.length&&(G==null||G(Y))}g.setState({userSelectionRect:X})},P=z=>{if(z.button!==0)return;const{userSelectionRect:M}=g.getState();!y&&M&&z.target===p.current&&(E==null||E(z)),g.setState({nodesSelectionActive:v.current>0}),S(),i==null||i(z)},O=z=>{y&&(g.setState({nodesSelectionActive:v.current>0}),i==null||i(z)),S()},I=C&&(e||y);return b("div",{className:Zt(["react-flow__pane",{dragging:_,selection:e}]),onClick:I?void 0:Hc(E,p),onContextMenu:Hc(k,p),onWheel:Hc(A,p),onMouseEnter:I?void 0:u,onMouseDown:I?L:void 0,onMouseMove:I?F:c,onMouseUp:I?P:void 0,onMouseLeave:I?O:f,ref:p,style:Gc,children:[h,l(I5,{})]})});Ob.displayName="Pane";const z5=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Nc(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function F5({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Kt(),{width:i,height:o,x:a,y:s,transformString:u,userSelectionActive:c}=Tt(z5,nn),f=xb(),h=x.useRef(null);if(x.useEffect(()=>{var v;n||(v=h.current)==null||v.focus({preventScroll:!0})},[n]),wb({nodeRef:h}),c||!i||!o)return null;const p=e?v=>{const m=r.getState().getNodes().filter(w=>w.selected);e(v,m)}:void 0,g=v=>{Object.prototype.hasOwnProperty.call(Di,v.key)&&f({x:Di[v.key].x,y:Di[v.key].y,isShiftPressed:v.shiftKey})};return l("div",{className:Zt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:u},children:l("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:s,left:a}})})}var B5=x.memo(F5);const j5=e=>e.nodesSelectionActive,Db=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:u,onMoveStart:c,onMoveEnd:f,selectionKeyCode:h,selectionOnDrag:p,selectionMode:g,onSelectionStart:v,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:y,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:S,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:A,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:P,defaultViewport:O,translateExtent:I,minZoom:z,maxZoom:M,preventScrolling:$,onSelectionContextMenu:N,noWheelClassName:R,noPanClassName:B,disableKeyboardA11y:G})=>{const K=Tt(j5),W=Ao(h),ne=Ao(y)||P,U=W||p&&ne!==!0;return O5({deleteKeyCode:s,multiSelectionKeyCode:w}),l(P5,{onMove:u,onMoveStart:c,onMoveEnd:f,onPaneContextMenu:o,elementsSelectable:_,zoomOnScroll:S,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:A,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:!W&&ne,defaultViewport:O,translateExtent:I,minZoom:z,maxZoom:M,zoomActivationKeyCode:C,preventScrolling:$,noWheelClassName:R,noPanClassName:B,children:b(Ob,{onSelectionStart:v,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:ne,isSelecting:!!U,selectionMode:g,children:[e,K&&l(B5,{onSelectionContextMenu:N,noPanClassName:B,disableKeyboardA11y:G})]})})};Db.displayName="FlowRenderer";var G5=x.memo(Db);function K5(e){return Tt(x.useCallback(n=>e?Uy(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const H5=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Rb=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=Tt(H5,nn),s=K5(e.onlyRenderVisibleElements),u=x.useRef(),c=x.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(h=>{const p=h.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return u.current=f,f},[]);return x.useEffect(()=>()=>{var f;(f=u==null?void 0:u.current)==null||f.disconnect()},[]),l("div",{className:"react-flow__nodes",style:Gc,children:s.map(f=>{var E,k,A,L,F,P,O;let h=f.type||"default";e.nodeTypes[h]||(a==null||a("003",jn["003"](h)),h="default");const p=e.nodeTypes[h]||e.nodeTypes.default,g=!!(f.draggable||t&&typeof f.draggable>"u"),v=!!(f.selectable||i&&typeof f.selectable>"u"),m=!!(f.connectable||n&&typeof f.connectable>"u"),w=!!(f.focusable||r&&typeof f.focusable>"u"),y=e.nodeExtent?_c(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,C=(E=y==null?void 0:y.x)!=null?E:0,_=(k=y==null?void 0:y.y)!=null?k:0,S=S5({x:C,y:_,width:(A=f.width)!=null?A:0,height:(L=f.height)!=null?L:0,origin:e.nodeOrigin});return l(p,{id:f.id,className:f.className,style:f.style,type:h,data:f.data,sourcePosition:f.sourcePosition||Me.Bottom,targetPosition:f.targetPosition||Me.Top,hidden:f.hidden,xPos:C,yPos:_,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!f.selected,isDraggable:g,isSelectable:v,isConnectable:m,isFocusable:w,resizeObserver:c,dragHandle:f.dragHandle,zIndex:(P=(F=f[jt])==null?void 0:F.z)!=null?P:0,isParent:!!((O=f[jt])!=null&&O.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel},f.id)})})};Rb.displayName="NodeRenderer";var W5=x.memo(Rb);const q5=[{level:0,isMaxLevel:!0,edges:[]}];function U5(e,t,n=!1){let r=-1;const i=e.reduce((a,s)=>{var f,h,p,g;const u=_n(s.zIndex);let c=u?s.zIndex:0;return n&&(c=u?s.zIndex:Math.max(((h=(f=t.get(s.source))==null?void 0:f[jt])==null?void 0:h.z)||0,((g=(p=t.get(s.target))==null?void 0:p[jt])==null?void 0:g.z)||0)),a[c]?a[c].push(s):a[c]=[s],r=c>r?c:r,a},{}),o=Object.entries(i).map(([a,s])=>{const u=+a;return{edges:s,level:u,isMaxLevel:u===r}});return o.length===0?q5:o}function Y5(e,t,n){const r=Tt(x.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),s=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&y5({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:s.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:s.width,targetHeight:s.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return U5(r,t,n)}const X5=({color:e="none",strokeWidth:t=1})=>l("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),Q5=({color:e="none",strokeWidth:t=1})=>l("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),Ab={[bs.Arrow]:X5,[bs.ArrowClosed]:Q5};function Z5(e){const t=Kt();return x.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(Ab,e)?Ab[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",jn["009"](e)),null)},[e])}const J5=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const u=Z5(t);return u?l("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0",children:l(u,{color:n,strokeWidth:a})}):null},ej=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(a=>{if(a&&typeof a=="object"){const s=Pc(a,t);r.includes(s)||(i.push({id:s,color:a.color||e,...a}),r.push(s))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},Pb=({defaultColor:e,rfId:t})=>{const n=Tt(x.useCallback(ej({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return l("defs",{children:n.map(r=>l(J5,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};Pb.displayName="MarkerDefinitions";var tj=x.memo(Pb);const nj=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),Nb=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:a,onEdgeContextMenu:s,onEdgeMouseEnter:u,onEdgeMouseMove:c,onEdgeMouseLeave:f,onEdgeClick:h,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,children:w})=>{const{edgesFocusable:y,elementsSelectable:C,width:_,height:S,connectionMode:E,nodeInternals:k,onError:A}=Tt(nj,nn),L=Y5(t,k,n);return _?b(Oe,{children:[L.map(({level:F,edges:P,isMaxLevel:O})=>b("svg",{style:{zIndex:F},width:_,height:S,className:"react-flow__edges react-flow__container",children:[O&&l(tj,{defaultColor:e,rfId:r}),l("g",{children:P.map(I=>{var be,Y;const[z,M,$]=gb(k.get(I.source)),[N,R,B]=gb(k.get(I.target));if(!$||!B)return null;let G=I.type||"default";i[G]||(A==null||A("011",jn["011"](G)),G="default");const K=i[G]||i.default,W=E===Gr.Strict?R.target:((be=R.target)!=null?be:[]).concat((Y=R.source)!=null?Y:[]),ee=hb(M.source,I.sourceHandle),ne=hb(W,I.targetHandle),U=(ee==null?void 0:ee.position)||Me.Bottom,X=(ne==null?void 0:ne.position)||Me.Top,ce=!!(I.focusable||y&&typeof I.focusable>"u");if(!ee||!ne)return A==null||A("008",jn["008"](ee,I)),null;const{sourceX:ue,sourceY:se,targetX:ae,targetY:xe}=m5(z,ee,U,N,ne,X);return l(K,{id:I.id,className:Zt([I.className,o]),type:G,data:I.data,selected:!!I.selected,animated:!!I.animated,hidden:!!I.hidden,label:I.label,labelStyle:I.labelStyle,labelShowBg:I.labelShowBg,labelBgStyle:I.labelBgStyle,labelBgPadding:I.labelBgPadding,labelBgBorderRadius:I.labelBgBorderRadius,style:I.style,source:I.source,target:I.target,sourceHandleId:I.sourceHandle,targetHandleId:I.targetHandle,markerEnd:I.markerEnd,markerStart:I.markerStart,sourceX:ue,sourceY:se,targetX:ae,targetY:xe,sourcePosition:U,targetPosition:X,elementsSelectable:C,onEdgeUpdate:a,onContextMenu:s,onMouseEnter:u,onMouseMove:c,onMouseLeave:f,onClick:h,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,rfId:r,ariaLabel:I.ariaLabel,isFocusable:ce,pathOptions:"pathOptions"in I?I.pathOptions:void 0,interactionWidth:I.interactionWidth},I.id)})})]},F)),w]}):null};Nb.displayName="EdgeRenderer";var rj=x.memo(Nb);const ij=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function oj({children:e}){const t=Tt(ij);return l("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function aj(e){const t=jc(),n=x.useRef(!1);x.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const sj={[Me.Left]:Me.Right,[Me.Right]:Me.Left,[Me.Top]:Me.Bottom,[Me.Bottom]:Me.Top},Ib=({nodeId:e,handleType:t,style:n,type:r=Er.Bezier,CustomComponent:i,connectionStatus:o})=>{var k,A,L,F,P,O,I;const{fromNode:a,handleId:s,toX:u,toY:c,connectionMode:f}=Tt(x.useCallback(z=>({fromNode:z.nodeInternals.get(e),handleId:z.connectionHandleId,toX:(z.connectionPosition.x-z.transform[0])/z.transform[2],toY:(z.connectionPosition.y-z.transform[1])/z.transform[2],connectionMode:z.connectionMode}),[e]),nn),h=(k=a==null?void 0:a[jt])==null?void 0:k.handleBounds;let p=h==null?void 0:h[t];if(f===Gr.Loose&&(p=p||(h==null?void 0:h[t==="source"?"target":"source"])),!a||!p)return null;const g=s?p.find(z=>z.id===s):p[0],v=g?g.x+g.width/2:((A=a.width)!=null?A:0)/2,m=g?g.y+g.height/2:(L=a.height)!=null?L:0,w=((P=(F=a.positionAbsolute)==null?void 0:F.x)!=null?P:0)+v,y=((I=(O=a.positionAbsolute)==null?void 0:O.y)!=null?I:0)+m,C=g==null?void 0:g.position,_=C?sj[C]:null;if(!C||!_)return null;if(i)return l(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:g,fromX:w,fromY:y,toX:u,toY:c,fromPosition:C,toPosition:_,connectionStatus:o});let S="";const E={sourceX:w,sourceY:y,sourcePosition:C,targetX:u,targetY:c,targetPosition:_};return r===Er.Bezier?[S]=Wy(E):r===Er.Step?[S]=Oc({...E,borderRadius:0}):r===Er.SmoothStep?[S]=Oc(E):r===Er.SimpleBezier?[S]=jy(E):S=`M${w},${y} ${u},${c}`,l("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};Ib.displayName="ConnectionLine";const lj=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function uj({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:u,connectionStatus:c}=Tt(lj,nn);return!(i&&o&&s&&a)?null:l("svg",{style:e,width:s,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container",children:l("g",{className:Zt(["react-flow__connection",c]),children:l(Ib,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c})})})}const $b=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:u,onEdgeDoubleClick:c,onNodeMouseEnter:f,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:m,onSelectionEnd:w,connectionLineType:y,connectionLineStyle:C,connectionLineComponent:_,connectionLineContainerStyle:S,selectionKeyCode:E,selectionOnDrag:k,selectionMode:A,multiSelectionKeyCode:L,panActivationKeyCode:F,zoomActivationKeyCode:P,deleteKeyCode:O,onlyRenderVisibleElements:I,elementsSelectable:z,selectNodesOnDrag:M,defaultViewport:$,translateExtent:N,minZoom:R,maxZoom:B,preventScrolling:G,defaultMarkerColor:K,zoomOnScroll:W,zoomOnPinch:ee,panOnScroll:ne,panOnScrollSpeed:U,panOnScrollMode:X,zoomOnDoubleClick:ce,panOnDrag:ue,onPaneClick:se,onPaneMouseEnter:ae,onPaneMouseMove:xe,onPaneMouseLeave:be,onPaneScroll:Y,onPaneContextMenu:re,onEdgeUpdate:Se,onEdgeContextMenu:q,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:_e,edgeUpdaterRadius:ke,onEdgeUpdateStart:ge,onEdgeUpdateEnd:Ke,noDragClassName:Pe,noWheelClassName:Xe,noPanClassName:Ee,elevateEdgesOnSelect:Fe,disableKeyboardA11y:$e,nodeOrigin:Ve,nodeExtent:ct,rfId:at})=>(aj(o),l(G5,{onPaneClick:se,onPaneMouseEnter:ae,onPaneMouseMove:xe,onPaneMouseLeave:be,onPaneContextMenu:re,onPaneScroll:Y,deleteKeyCode:O,selectionKeyCode:E,selectionOnDrag:k,selectionMode:A,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:L,panActivationKeyCode:F,zoomActivationKeyCode:P,elementsSelectable:z,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:W,zoomOnPinch:ee,zoomOnDoubleClick:ce,panOnScroll:ne,panOnScrollSpeed:U,panOnScrollMode:X,panOnDrag:ue,defaultViewport:$,translateExtent:N,minZoom:R,maxZoom:B,onSelectionContextMenu:v,preventScrolling:G,noDragClassName:Pe,noWheelClassName:Xe,noPanClassName:Ee,disableKeyboardA11y:$e,children:b(oj,{children:[l(rj,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:c,onEdgeUpdate:Se,onlyRenderVisibleElements:I,onEdgeContextMenu:q,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:_e,onEdgeUpdateStart:ge,onEdgeUpdateEnd:Ke,edgeUpdaterRadius:ke,defaultMarkerColor:K,noPanClassName:Ee,elevateEdgesOnSelect:!!Fe,disableKeyboardA11y:$e,rfId:at,children:l(uj,{style:C,type:y,component:_,containerStyle:S})}),l("div",{className:"react-flow__edgelabel-renderer"}),l(W5,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:M,onlyRenderVisibleElements:I,noPanClassName:Ee,noDragClassName:Pe,disableKeyboardA11y:$e,nodeOrigin:Ve,nodeExtent:ct,rfId:at})]})}));$b.displayName="GraphView";var cj=x.memo($b);const Wc=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Pi={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Wc,nodeExtent:Wc,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Gr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Tc},dj=()=>qz((e,t)=>({...Pi,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Bc(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",a=i?Bc(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:u,nodeOrigin:c}=t(),f=u==null?void 0:u.querySelector(".react-flow__viewport");if(!f)return;const h=window.getComputedStyle(f),{m22:p}=new window.DOMMatrixReadOnly(h.transform),g=n.reduce((m,w)=>{const y=i.get(w.id);if(y){const C=Cc(w.nodeElement);!!(C.width&&C.height&&(y.width!==C.width||y.height!==C.height||w.forceUpdate))&&(i.set(y.id,{...y,[jt]:{...y[jt],handleBounds:{source:bb(".source",w.nodeElement,p,c),target:bb(".target",w.nodeElement,p,c)}},...C}),m.push({id:y.id,type:"dimensions",dimensions:C}))}return m},[]);Eb(i,c);const v=a||o&&!a&&Tb(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:v}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),a=n.map(s=>{const u={id:s.id,type:"position",dragging:i};return r&&(u.positionAbsolute=s.positionAbsolute,u.position=s.position),u});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:u}=t();if(n!=null&&n.length){if(o){const c=L5(n,s()),f=Bc(c,i,a,u);e({nodeInternals:f})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(u=>Tr(u,!0)):(a=Ai(o(),n),s=Ai(i,[])),_s({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(u=>Tr(u,!0)):(a=Ai(i,n),s=Ai(o(),[])),_s({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),s=r||i,u=a.map(f=>(f.selected=!1,Tr(f.id,!1))),c=s.map(f=>Tr(f.id,!1));_s({changedNodes:u,changedEdges:c,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(s=>s.selected).map(s=>Tr(s.id,!1)),a=n.filter(s=>s.selected).map(s=>Tr(s.id,!1));_s({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=_c(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:s,translateExtent:u}=t();if(!a||!s||!n.x&&!n.y)return;const c=ar.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),f=[[0,0],[i,o]],h=a==null?void 0:a.constrain()(c,f,u);a.transform(s,h)},cancelConnection:()=>e({connectionNodeId:Pi.connectionNodeId,connectionHandleId:Pi.connectionHandleId,connectionHandleType:Pi.connectionHandleType,connectionStatus:Pi.connectionStatus}),reset:()=>e({...Pi})})),Lb=({children:e})=>{const t=x.useRef(null);return t.current||(t.current=dj()),l(AB,{value:t.current,children:e})};Lb.displayName="ReactFlowProvider";const Vb=({children:e})=>x.useContext(ms)?l(Oe,{children:e}):l(Lb,{children:e});Vb.displayName="ReactFlowWrapper";function zb(e,t){const n=x.useRef(null);return x.useMemo(()=>{if(process.env.NODE_ENV==="development"){const i=Object.keys(e);nn(n.current,i)&&Tc("002",jn["002"]()),n.current=i}return t(e)},[e])}const fj={input:ib,default:$c,output:ab,group:Lc},pj={default:Ss,straight:Rc,step:Dc,smoothstep:ws,simplebezier:kc},hj=[0,0],gj=[15,15],vj={x:0,y:0,zoom:1},mj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Fb=x.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=fj,edgeTypes:a=pj,onNodeClick:s,onEdgeClick:u,onInit:c,onMove:f,onMoveStart:h,onMoveEnd:p,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:y,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:S,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:A,onNodeDrag:L,onNodeDragStop:F,onNodesDelete:P,onEdgesDelete:O,onSelectionChange:I,onSelectionDragStart:z,onSelectionDrag:M,onSelectionDragStop:$,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:B,connectionMode:G=Gr.Strict,connectionLineType:K=Er.Bezier,connectionLineStyle:W,connectionLineComponent:ee,connectionLineContainerStyle:ne,deleteKeyCode:U="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:ce=!1,selectionMode:ue=Oo.Full,panActivationKeyCode:se="Space",multiSelectionKeyCode:ae="Meta",zoomActivationKeyCode:xe="Meta",snapToGrid:be=!1,snapGrid:Y=gj,onlyRenderVisibleElements:re=!1,selectNodesOnDrag:Se=!0,nodesDraggable:q,nodesConnectable:we,nodesFocusable:ve,nodeOrigin:_e=hj,edgesFocusable:ke,elementsSelectable:ge,defaultViewport:Ke=vj,minZoom:Pe=.5,maxZoom:Xe=2,translateExtent:Ee=Wc,preventScrolling:Fe=!0,nodeExtent:$e,defaultMarkerColor:Ve="#b1b1b7",zoomOnScroll:ct=!0,zoomOnPinch:at=!0,panOnScroll:We=!1,panOnScrollSpeed:st=.5,panOnScrollMode:Ce=Ti.Free,zoomOnDoubleClick:Ne=!0,panOnDrag:et=!0,onPaneClick:Mt,onPaneMouseEnter:lt,onPaneMouseMove:kt,onPaneMouseLeave:dt,onPaneScroll:Gt,onPaneContextMenu:Ot,children:bt,onEdgeUpdate:_t,onEdgeContextMenu:Ht,onEdgeDoubleClick:vt,onEdgeMouseEnter:cn,onEdgeMouseMove:Vt,onEdgeMouseLeave:ie,onEdgeUpdateStart:fe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Ae=10,onNodesChange:Qe,onEdgesChange:ft,noDragClassName:Wt="nodrag",noWheelClassName:qt="nowheel",noPanClassName:dn="nopan",fitView:xt=!1,fitViewOptions:V,connectOnClick:J=!0,attributionPosition:Q,proOptions:pe,defaultEdgeOptions:ye,elevateNodesOnSelect:Te=!0,elevateEdgesOnSelect:Ie=!1,disableKeyboardA11y:De=!1,autoPanOnConnect:Ge=!0,autoPanOnNodeDrag:ze=!0,connectionRadius:qe=20,onError:Ct,style:rn,id:vn,...Dt},Gn)=>{const sr=zb(o,x5),an=zb(a,v5),sn=vn||"1";return l("div",{...Dt,style:{...rn,...mj},ref:Gn,className:Zt(["react-flow",i]),"data-testid":"rf__wrapper",id:vn,children:b(Vb,{children:[l(cj,{onInit:c,onMove:f,onMoveStart:h,onMoveEnd:p,onNodeClick:s,onEdgeClick:u,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:S,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:sr,edgeTypes:an,connectionLineType:K,connectionLineStyle:W,connectionLineComponent:ee,connectionLineContainerStyle:ne,selectionKeyCode:X,selectionOnDrag:ce,selectionMode:ue,deleteKeyCode:U,multiSelectionKeyCode:ae,panActivationKeyCode:se,zoomActivationKeyCode:xe,onlyRenderVisibleElements:re,selectNodesOnDrag:Se,defaultViewport:Ke,translateExtent:Ee,minZoom:Pe,maxZoom:Xe,preventScrolling:Fe,zoomOnScroll:ct,zoomOnPinch:at,zoomOnDoubleClick:Ne,panOnScroll:We,panOnScrollSpeed:st,panOnScrollMode:Ce,panOnDrag:et,onPaneClick:Mt,onPaneMouseEnter:lt,onPaneMouseMove:kt,onPaneMouseLeave:dt,onPaneScroll:Gt,onPaneContextMenu:Ot,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:B,onEdgeUpdate:_t,onEdgeContextMenu:Ht,onEdgeDoubleClick:vt,onEdgeMouseEnter:cn,onEdgeMouseMove:Vt,onEdgeMouseLeave:ie,onEdgeUpdateStart:fe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Ae,defaultMarkerColor:Ve,noDragClassName:Wt,noWheelClassName:qt,noPanClassName:dn,elevateEdgesOnSelect:Ie,rfId:sn,disableKeyboardA11y:De,nodeOrigin:_e,nodeExtent:$e}),l(l5,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:y,nodesDraggable:q,nodesConnectable:we,nodesFocusable:ve,edgesFocusable:ke,elementsSelectable:ge,elevateNodesOnSelect:Te,minZoom:Pe,maxZoom:Xe,nodeExtent:$e,onNodesChange:Qe,onEdgesChange:ft,snapToGrid:be,snapGrid:Y,connectionMode:G,translateExtent:Ee,connectOnClick:J,defaultEdgeOptions:ye,fitView:xt,fitViewOptions:V,onNodesDelete:P,onEdgesDelete:O,onNodeDragStart:A,onNodeDrag:L,onNodeDragStop:F,onSelectionDrag:M,onSelectionDragStart:z,onSelectionDragStop:$,noPanClassName:dn,nodeOrigin:_e,rfId:sn,autoPanOnConnect:Ge,autoPanOnNodeDrag:ze,onError:Ct,connectionRadius:qe}),l(a5,{onSelectionChange:I}),bt,l(NB,{proOptions:pe,position:Q}),l(p5,{rfId:sn,disableKeyboardA11y:De})]})})});Fb.displayName="ReactFlow";const Bb=({id:e,x:t,y:n,width:r,height:i,style:o,color:a,strokeColor:s,strokeWidth:u,className:c,borderRadius:f,shapeRendering:h,onClick:p})=>{const{background:g,backgroundColor:v}=o||{},m=a||g||v;return l("rect",{className:Zt(["react-flow__minimap-node",c]),x:t,y:n,rx:f,ry:f,width:r,height:i,fill:m,stroke:s,strokeWidth:u,shapeRendering:h,onClick:p?w=>p(w,e):void 0})};Bb.displayName="MiniMapNode";var yj=x.memo(Bb);const bj=200,wj=150,xj=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{nodes:t.filter(r=>!r.hidden&&r.width&&r.height),viewBB:n,boundingRect:t.length>0?LB(Nc(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},qc=e=>e instanceof Function?e:()=>e,Sj="react-flow__minimap-desc";function jb({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a=2,maskColor:s="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:c=1,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:g=!1,zoomable:v=!1,ariaLabel:m="React Flow mini map"}){var ue,se;const w=Kt(),y=x.useRef(null),{boundingRect:C,viewBB:_,nodes:S,rfId:E,nodeOrigin:k}=Tt(xj,nn),A=(ue=e==null?void 0:e.width)!=null?ue:bj,L=(se=e==null?void 0:e.height)!=null?se:wj,F=qc(r),P=qc(n),O=qc(i),I=C.width/A,z=C.height/L,M=Math.max(I,z),$=M*A,N=M*L,R=5*M,B=C.x-($-C.width)/2-R,G=C.y-(N-C.height)/2-R,K=$+R*2,W=N+R*2,ee=typeof window>"u"||!!window.chrome?"crispEdges":"geometricPrecision",ne=`${Sj}-${E}`,U=x.useRef(0);U.current=M,x.useEffect(()=>{if(y.current){const ae=Cn(y.current),xe=re=>{const{transform:Se,d3Selection:q,d3Zoom:we}=w.getState();if(re.sourceEvent.type!=="wheel"||!q||!we)return;const ve=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*10,_e=Se[2]*Math.pow(2,ve);we.scaleTo(q,_e)},be=re=>{const{transform:Se,d3Selection:q,d3Zoom:we,translateExtent:ve,width:_e,height:ke}=w.getState();if(re.sourceEvent.type!=="mousemove"||!q||!we)return;const ge={x:Se[0]-re.sourceEvent.movementX*U.current*Math.max(1,Se[2]),y:Se[1]-re.sourceEvent.movementY*U.current*Math.max(1,Se[2])},Ke=[[0,0],[_e,ke]],Pe=ar.translate(ge.x,ge.y).scale(Se[2]),Xe=we.constrain()(Pe,Ke,ve);we.transform(q,Xe)},Y=Oy().on("zoom",g?be:null).on("zoom.wheel",v?xe:null);return ae.call(Y),()=>{ae.on("zoom",null)}}},[g,v]);const X=h?ae=>{const xe=Dn(ae);h(ae,{x:xe[0],y:xe[1]})}:void 0,ce=p?(ae,xe)=>{const be=w.getState().nodeInternals.get(xe);p(ae,be)}:void 0;return l(Sc,{position:f,style:e,className:Zt(["react-flow__minimap",t]),children:b("svg",{width:A,height:L,viewBox:`${B} ${G} ${K} ${W}`,role:"img","aria-labelledby":ne,ref:y,onClick:X,children:[m&&l("title",{id:ne,children:m}),S.map(ae=>{const{x:xe,y:be}=Kr(ae,k).positionAbsolute;return l(yj,{x:xe,y:be,width:ae.width,height:ae.height,style:ae.style,className:O(ae),color:F(ae),borderRadius:o,strokeColor:P(ae),strokeWidth:a,shapeRendering:ee,onClick:ce,id:ae.id},ae.id)}),l("path",{className:"react-flow__minimap-mask",d:`M${B-R},${G-R}h${K+R*2}v${W+R*2}h${-K-R*2}z
|
|
290
|
+
*/var Lm;function Qz(){return Lm||(Lm=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=Z.default,t=Im();function n(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,s=e.useMemo,u=e.useDebugValue;function c(f,h,p,g,v){var m=o(null),w;m.current===null?(w={hasValue:!1,value:null},m.current=w):w=m.current;var y=s(function(){var E=!1,k,A,L=function(I){if(!E){E=!0,k=I;var z=g(I);if(v!==void 0&&w.hasValue){var M=w.value;if(v(M,z))return A=M,M}return A=z,z}var $=k,N=A;if(r($,I))return N;var R=g(I);return v!==void 0&&v(N,R)?N:(k=I,A=R,R)},F=p===void 0?null:p,P=function(){return L(h())},O=F===null?void 0:function(){return L(F())};return[P,O]},[h,p,g,v]),C=y[0],_=y[1],S=i(f,C,_);return a(function(){w.hasValue=!0,w.value=S},[S]),u(S),S}rc.useSyncExternalStoreWithSelector=c,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),rc}(function(e){process.env.NODE_ENV==="production"?e.exports=Xz():e.exports=Qz()})(Rm);const Zz=E0(Rm.exports),{useSyncExternalStoreWithSelector:Jz}=Zz;function eF(e,t=e.getState,n){const r=Jz(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return x.useDebugValue(r),r}function nn(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}var tF={value:()=>{}};function Za(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Ja(n)}function Ja(e){this._=e}function nF(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ja.prototype=Za.prototype={constructor:Ja,on:function(e,t){var n=this._,r=nF(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=rF(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<a;)if(i=(e=r[o]).type)n[i]=Vm(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Vm(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ja(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function rF(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Vm(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=tF,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ic="http://www.w3.org/1999/xhtml";const zm={svg:"http://www.w3.org/2000/svg",xhtml:ic,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function es(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),zm.hasOwnProperty(t)?{space:zm[t],local:e}:e}function iF(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ic&&t.documentElement.namespaceURI===ic?t.createElement(e):t.createElementNS(n,e)}}function oF(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fm(e){var t=es(e);return(t.local?oF:iF)(t)}function aF(){}function oc(e){return e==null?aF:function(){return this.querySelector(e)}}function sF(e){typeof e!="function"&&(e=oc(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=new Array(a),u,c,f=0;f<a;++f)(u=o[f])&&(c=e.call(u,u.__data__,f,o))&&("__data__"in u&&(c.__data__=u.__data__),s[f]=c);return new gn(r,this._parents)}function lF(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function uF(){return[]}function Bm(e){return e==null?uF:function(){return this.querySelectorAll(e)}}function cF(e){return function(){return lF(e.apply(this,arguments))}}function dF(e){typeof e=="function"?e=cF(e):e=Bm(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],s=a.length,u,c=0;c<s;++c)(u=a[c])&&(r.push(e.call(u,u.__data__,c,a)),i.push(u));return new gn(r,i)}function jm(e){return function(){return this.matches(e)}}function Gm(e){return function(t){return t.matches(e)}}var fF=Array.prototype.find;function pF(e){return function(){return fF.call(this.children,e)}}function hF(){return this.firstElementChild}function gF(e){return this.select(e==null?hF:pF(typeof e=="function"?e:Gm(e)))}var vF=Array.prototype.filter;function mF(){return Array.from(this.children)}function yF(e){return function(){return vF.call(this.children,e)}}function bF(e){return this.selectAll(e==null?mF:yF(typeof e=="function"?e:Gm(e)))}function wF(e){typeof e!="function"&&(e=jm(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],u,c=0;c<a;++c)(u=o[c])&&e.call(u,u.__data__,c,o)&&s.push(u);return new gn(r,this._parents)}function Km(e){return new Array(e.length)}function xF(){return new gn(this._enter||this._groups.map(Km),this._parents)}function ts(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ts.prototype={constructor:ts,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function SF(e){return function(){return e}}function CF(e,t,n,r,i,o){for(var a=0,s,u=t.length,c=o.length;a<c;++a)(s=t[a])?(s.__data__=o[a],r[a]=s):n[a]=new ts(e,o[a]);for(;a<u;++a)(s=t[a])&&(i[a]=s)}function _F(e,t,n,r,i,o,a){var s,u,c=new Map,f=t.length,h=o.length,p=new Array(f),g;for(s=0;s<f;++s)(u=t[s])&&(p[s]=g=a.call(u,u.__data__,s,t)+"",c.has(g)?i[s]=u:c.set(g,u));for(s=0;s<h;++s)g=a.call(e,o[s],s,o)+"",(u=c.get(g))?(r[s]=u,u.__data__=o[s],c.delete(g)):n[s]=new ts(e,o[s]);for(s=0;s<f;++s)(u=t[s])&&c.get(p[s])===u&&(i[s]=u)}function EF(e){return e.__data__}function TF(e,t){if(!arguments.length)return Array.from(this,EF);var n=t?_F:CF,r=this._parents,i=this._groups;typeof e!="function"&&(e=SF(e));for(var o=i.length,a=new Array(o),s=new Array(o),u=new Array(o),c=0;c<o;++c){var f=r[c],h=i[c],p=h.length,g=MF(e.call(f,f&&f.__data__,c,r)),v=g.length,m=s[c]=new Array(v),w=a[c]=new Array(v),y=u[c]=new Array(p);n(f,h,m,w,y,g,t);for(var C=0,_=0,S,E;C<v;++C)if(S=m[C]){for(C>=_&&(_=C+1);!(E=w[_])&&++_<v;);S._next=E||null}}return a=new gn(a,r),a._enter=s,a._exit=u,a}function MF(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function kF(){return new gn(this._exit||this._groups.map(Km),this._parents)}function OF(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function DF(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),u=0;u<a;++u)for(var c=n[u],f=r[u],h=c.length,p=s[u]=new Array(h),g,v=0;v<h;++v)(g=c[v]||f[v])&&(p[v]=g);for(;u<i;++u)s[u]=n[u];return new gn(s,this._parents)}function RF(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function AF(e){e||(e=PF);function t(h,p){return h&&p?e(h.__data__,p.__data__):!h-!p}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,u=i[o]=new Array(s),c,f=0;f<s;++f)(c=a[f])&&(u[f]=c);u.sort(t)}return new gn(i,this._parents).order()}function PF(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function NF(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function IF(){return Array.from(this)}function $F(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function LF(){let e=0;for(const t of this)++e;return e}function VF(){return!this.node()}function zF(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&e.call(s,s.__data__,o,i);return this}function FF(e){return function(){this.removeAttribute(e)}}function BF(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jF(e,t){return function(){this.setAttribute(e,t)}}function GF(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function KF(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function HF(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function WF(e,t){var n=es(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?BF:FF:typeof t=="function"?n.local?HF:KF:n.local?GF:jF)(n,t))}function Hm(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function qF(e){return function(){this.style.removeProperty(e)}}function UF(e,t,n){return function(){this.style.setProperty(e,t,n)}}function YF(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function XF(e,t,n){return arguments.length>1?this.each((t==null?qF:typeof t=="function"?YF:UF)(e,t,n==null?"":n)):xi(this.node(),e)}function xi(e,t){return e.style.getPropertyValue(t)||Hm(e).getComputedStyle(e,null).getPropertyValue(t)}function QF(e){return function(){delete this[e]}}function ZF(e,t){return function(){this[e]=t}}function JF(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function e3(e,t){return arguments.length>1?this.each((t==null?QF:typeof t=="function"?JF:ZF)(e,t)):this.node()[e]}function Wm(e){return e.trim().split(/^|\s+/)}function ac(e){return e.classList||new qm(e)}function qm(e){this._node=e,this._names=Wm(e.getAttribute("class")||"")}qm.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Um(e,t){for(var n=ac(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Ym(e,t){for(var n=ac(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function t3(e){return function(){Um(this,e)}}function n3(e){return function(){Ym(this,e)}}function r3(e,t){return function(){(t.apply(this,arguments)?Um:Ym)(this,e)}}function i3(e,t){var n=Wm(e+"");if(arguments.length<2){for(var r=ac(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?r3:t?t3:n3)(n,t))}function o3(){this.textContent=""}function a3(e){return function(){this.textContent=e}}function s3(e){return function(){var t=e.apply(this,arguments);this.textContent=t==null?"":t}}function l3(e){return arguments.length?this.each(e==null?o3:(typeof e=="function"?s3:a3)(e)):this.node().textContent}function u3(){this.innerHTML=""}function c3(e){return function(){this.innerHTML=e}}function d3(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t==null?"":t}}function f3(e){return arguments.length?this.each(e==null?u3:(typeof e=="function"?d3:c3)(e)):this.node().innerHTML}function p3(){this.nextSibling&&this.parentNode.appendChild(this)}function h3(){return this.each(p3)}function g3(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function v3(){return this.each(g3)}function m3(e){var t=typeof e=="function"?e:Fm(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function y3(){return null}function b3(e,t){var n=typeof e=="function"?e:Fm(e),r=t==null?y3:typeof t=="function"?t:oc(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function w3(){var e=this.parentNode;e&&e.removeChild(this)}function x3(){return this.each(w3)}function S3(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function C3(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function _3(e){return this.select(e?C3:S3)}function E3(e){return arguments.length?this.property("__data__",e):this.node().__data__}function T3(e){return function(t){e.call(this,t,this.__data__)}}function M3(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function k3(e){return function(){var t=this.__on;if(!!t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function O3(e,t,n){return function(){var r=this.__on,i,o=T3(t);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function D3(e,t,n){var r=M3(e+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var u=0,c=s.length,f;u<c;++u)for(i=0,f=s[u];i<o;++i)if((a=r[i]).type===f.type&&a.name===f.name)return f.value}return}for(s=t?O3:k3,i=0;i<o;++i)this.each(s(r[i],t,n));return this}function Xm(e,t,n){var r=Hm(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function R3(e,t){return function(){return Xm(this,e,t)}}function A3(e,t){return function(){return Xm(this,e,t.apply(this,arguments))}}function P3(e,t){return this.each((typeof t=="function"?A3:R3)(e,t))}function*N3(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var Qm=[null];function gn(e,t){this._groups=e,this._parents=t}function vo(){return new gn([[document.documentElement]],Qm)}function I3(){return this}gn.prototype=vo.prototype={constructor:gn,select:sF,selectAll:dF,selectChild:gF,selectChildren:bF,filter:wF,data:TF,enter:xF,exit:kF,join:OF,merge:DF,selection:I3,order:RF,sort:AF,call:NF,nodes:IF,node:$F,size:LF,empty:VF,each:zF,attr:WF,style:XF,property:e3,classed:i3,text:l3,html:f3,raise:h3,lower:v3,append:m3,insert:b3,remove:x3,clone:_3,datum:E3,on:D3,dispatch:P3,[Symbol.iterator]:N3};function Cn(e){return typeof e=="string"?new gn([[document.querySelector(e)]],[document.documentElement]):new gn([[e]],Qm)}function $3(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Dn(e,t){if(e=$3(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const L3={passive:!1},mo={capture:!0,passive:!1};function sc(e){e.stopImmediatePropagation()}function Si(e){e.preventDefault(),e.stopImmediatePropagation()}function Zm(e){var t=e.document.documentElement,n=Cn(e).on("dragstart.drag",Si,mo);"onselectstart"in t?n.on("selectstart.drag",Si,mo):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Jm(e,t){var n=e.document.documentElement,r=Cn(e).on("dragstart.drag",null);t&&(r.on("click.drag",Si,mo),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const ns=e=>()=>e;function lc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:u,dy:c,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:f}})}lc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function V3(e){return!e.ctrlKey&&!e.button}function z3(){return this.parentNode}function F3(e,t){return t==null?{x:e.x,y:e.y}:t}function B3(){return navigator.maxTouchPoints||"ontouchstart"in this}function j3(){var e=V3,t=z3,n=F3,r=B3,i={},o=Za("start","drag","end"),a=0,s,u,c,f,h=0;function p(S){S.on("mousedown.drag",g).filter(r).on("touchstart.drag",w).on("touchmove.drag",y,L3).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(S,E){if(!(f||!e.call(this,S,E))){var k=_(this,t.call(this,S,E),S,E,"mouse");!k||(Cn(S.view).on("mousemove.drag",v,mo).on("mouseup.drag",m,mo),Zm(S.view),sc(S),c=!1,s=S.clientX,u=S.clientY,k("start",S))}}function v(S){if(Si(S),!c){var E=S.clientX-s,k=S.clientY-u;c=E*E+k*k>h}i.mouse("drag",S)}function m(S){Cn(S.view).on("mousemove.drag mouseup.drag",null),Jm(S.view,c),Si(S),i.mouse("end",S)}function w(S,E){if(!!e.call(this,S,E)){var k=S.changedTouches,A=t.call(this,S,E),L=k.length,F,P;for(F=0;F<L;++F)(P=_(this,A,S,E,k[F].identifier,k[F]))&&(sc(S),P("start",S,k[F]))}}function y(S){var E=S.changedTouches,k=E.length,A,L;for(A=0;A<k;++A)(L=i[E[A].identifier])&&(Si(S),L("drag",S,E[A]))}function C(S){var E=S.changedTouches,k=E.length,A,L;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),A=0;A<k;++A)(L=i[E[A].identifier])&&(sc(S),L("end",S,E[A]))}function _(S,E,k,A,L,F){var P=o.copy(),O=Dn(F||k,E),I,z,M;if((M=n.call(S,new lc("beforestart",{sourceEvent:k,target:p,identifier:L,active:a,x:O[0],y:O[1],dx:0,dy:0,dispatch:P}),A))!=null)return I=M.x-O[0]||0,z=M.y-O[1]||0,function $(N,R,B){var G=O,K;switch(N){case"start":i[L]=$,K=a++;break;case"end":delete i[L],--a;case"drag":O=Dn(B||R,E),K=a;break}P.call(N,S,new lc(N,{sourceEvent:R,subject:M,target:p,identifier:L,active:K,x:O[0]+I,y:O[1]+z,dx:O[0]-G[0],dy:O[1]-G[1],dispatch:P}),A)}}return p.filter=function(S){return arguments.length?(e=typeof S=="function"?S:ns(!!S),p):e},p.container=function(S){return arguments.length?(t=typeof S=="function"?S:ns(S),p):t},p.subject=function(S){return arguments.length?(n=typeof S=="function"?S:ns(S),p):n},p.touchable=function(S){return arguments.length?(r=typeof S=="function"?S:ns(!!S),p):r},p.on=function(){var S=o.on.apply(o,arguments);return S===o?p:S},p.clickDistance=function(S){return arguments.length?(h=(S=+S)*S,p):Math.sqrt(h)},p}function uc(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ey(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function yo(){}var bo=.7,rs=1/bo,Ci="\\s*([+-]?\\d+)\\s*",wo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Fn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",G3=/^#([0-9a-f]{3,8})$/,K3=new RegExp(`^rgb\\(${Ci},${Ci},${Ci}\\)$`),H3=new RegExp(`^rgb\\(${Fn},${Fn},${Fn}\\)$`),W3=new RegExp(`^rgba\\(${Ci},${Ci},${Ci},${wo}\\)$`),q3=new RegExp(`^rgba\\(${Fn},${Fn},${Fn},${wo}\\)$`),U3=new RegExp(`^hsl\\(${wo},${Fn},${Fn}\\)$`),Y3=new RegExp(`^hsla\\(${wo},${Fn},${Fn},${wo}\\)$`),ty={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};uc(yo,xo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ny,formatHex:ny,formatHex8:X3,formatHsl:Q3,formatRgb:ry,toString:ry});function ny(){return this.rgb().formatHex()}function X3(){return this.rgb().formatHex8()}function Q3(){return ly(this).formatHsl()}function ry(){return this.rgb().formatRgb()}function xo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=G3.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?iy(t):n===3?new un(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?is(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?is(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=K3.exec(e))?new un(t[1],t[2],t[3],1):(t=H3.exec(e))?new un(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=W3.exec(e))?is(t[1],t[2],t[3],t[4]):(t=q3.exec(e))?is(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=U3.exec(e))?sy(t[1],t[2]/100,t[3]/100,1):(t=Y3.exec(e))?sy(t[1],t[2]/100,t[3]/100,t[4]):ty.hasOwnProperty(e)?iy(ty[e]):e==="transparent"?new un(NaN,NaN,NaN,0):null}function iy(e){return new un(e>>16&255,e>>8&255,e&255,1)}function is(e,t,n,r){return r<=0&&(e=t=n=NaN),new un(e,t,n,r)}function Z3(e){return e instanceof yo||(e=xo(e)),e?(e=e.rgb(),new un(e.r,e.g,e.b,e.opacity)):new un}function cc(e,t,n,r){return arguments.length===1?Z3(e):new un(e,t,n,r==null?1:r)}function un(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}uc(un,cc,ey(yo,{brighter(e){return e=e==null?rs:Math.pow(rs,e),new un(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?bo:Math.pow(bo,e),new un(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new un(Fr(this.r),Fr(this.g),Fr(this.b),os(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:oy,formatHex:oy,formatHex8:J3,formatRgb:ay,toString:ay}));function oy(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}`}function J3(){return`#${Br(this.r)}${Br(this.g)}${Br(this.b)}${Br((isNaN(this.opacity)?1:this.opacity)*255)}`}function ay(){const e=os(this.opacity);return`${e===1?"rgb(":"rgba("}${Fr(this.r)}, ${Fr(this.g)}, ${Fr(this.b)}${e===1?")":`, ${e})`}`}function os(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Br(e){return e=Fr(e),(e<16?"0":"")+e.toString(16)}function sy(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Rn(e,t,n,r)}function ly(e){if(e instanceof Rn)return new Rn(e.h,e.s,e.l,e.opacity);if(e instanceof yo||(e=xo(e)),!e)return new Rn;if(e instanceof Rn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(t===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-t)/s+2:a=(t-n)/s+4,s/=u<.5?o+i:2-o-i,a*=60):s=u>0&&u<1?0:a,new Rn(a,s,u,e.opacity)}function e4(e,t,n,r){return arguments.length===1?ly(e):new Rn(e,t,n,r==null?1:r)}function Rn(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}uc(Rn,e4,ey(yo,{brighter(e){return e=e==null?rs:Math.pow(rs,e),new Rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?bo:Math.pow(bo,e),new Rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new un(dc(e>=240?e-240:e+120,i,r),dc(e,i,r),dc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Rn(uy(this.h),as(this.s),as(this.l),os(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=os(this.opacity);return`${e===1?"hsl(":"hsla("}${uy(this.h)}, ${as(this.s)*100}%, ${as(this.l)*100}%${e===1?")":`, ${e})`}`}}));function uy(e){return e=(e||0)%360,e<0?e+360:e}function as(e){return Math.max(0,Math.min(1,e||0))}function dc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const cy=e=>()=>e;function t4(e,t){return function(n){return e+n*t}}function n4(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function r4(e){return(e=+e)==1?dy:function(t,n){return n-t?n4(t,n,e):cy(isNaN(t)?n:t)}}function dy(e,t){var n=t-e;return n?t4(e,n):cy(isNaN(e)?t:e)}const fy=function e(t){var n=r4(t);function r(i,o){var a=n((i=cc(i)).r,(o=cc(o)).r),s=n(i.g,o.g),u=n(i.b,o.b),c=dy(i.opacity,o.opacity);return function(f){return i.r=a(f),i.g=s(f),i.b=u(f),i.opacity=c(f),i+""}}return r.gamma=e,r}(1);function Cr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var fc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pc=new RegExp(fc.source,"g");function i4(e){return function(){return e}}function o4(e){return function(t){return e(t)+""}}function a4(e,t){var n=fc.lastIndex=pc.lastIndex=0,r,i,o,a=-1,s=[],u=[];for(e=e+"",t=t+"";(r=fc.exec(e))&&(i=pc.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,u.push({i:a,x:Cr(r,i)})),n=pc.lastIndex;return n<t.length&&(o=t.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?u[0]?o4(u[0].x):i4(t):(t=u.length,function(c){for(var f=0,h;f<t;++f)s[(h=u[f]).i]=h.x(c);return s.join("")})}var py=180/Math.PI,hc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hy(e,t,n,r,i,o){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*py,skewX:Math.atan(u)*py,scaleX:a,scaleY:s}}var ss;function s4(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?hc:hy(t.a,t.b,t.c,t.d,t.e,t.f)}function l4(e){return e==null||(ss||(ss=document.createElementNS("http://www.w3.org/2000/svg","g")),ss.setAttribute("transform",e),!(e=ss.transform.baseVal.consolidate()))?hc:(e=e.matrix,hy(e.a,e.b,e.c,e.d,e.e,e.f))}function gy(e,t,n,r){function i(c){return c.length?c.pop()+" ":""}function o(c,f,h,p,g,v){if(c!==h||f!==p){var m=g.push("translate(",null,t,null,n);v.push({i:m-4,x:Cr(c,h)},{i:m-2,x:Cr(f,p)})}else(h||p)&&g.push("translate("+h+t+p+n)}function a(c,f,h,p){c!==f?(c-f>180?f+=360:f-c>180&&(c+=360),p.push({i:h.push(i(h)+"rotate(",null,r)-2,x:Cr(c,f)})):f&&h.push(i(h)+"rotate("+f+r)}function s(c,f,h,p){c!==f?p.push({i:h.push(i(h)+"skewX(",null,r)-2,x:Cr(c,f)}):f&&h.push(i(h)+"skewX("+f+r)}function u(c,f,h,p,g,v){if(c!==h||f!==p){var m=g.push(i(g)+"scale(",null,",",null,")");v.push({i:m-4,x:Cr(c,h)},{i:m-2,x:Cr(f,p)})}else(h!==1||p!==1)&&g.push(i(g)+"scale("+h+","+p+")")}return function(c,f){var h=[],p=[];return c=e(c),f=e(f),o(c.translateX,c.translateY,f.translateX,f.translateY,h,p),a(c.rotate,f.rotate,h,p),s(c.skewX,f.skewX,h,p),u(c.scaleX,c.scaleY,f.scaleX,f.scaleY,h,p),c=f=null,function(g){for(var v=-1,m=p.length,w;++v<m;)h[(w=p[v]).i]=w.x(g);return h.join("")}}}var u4=gy(s4,"px, ","px)","deg)"),c4=gy(l4,", ",")",")"),d4=1e-12;function vy(e){return((e=Math.exp(e))+1/e)/2}function f4(e){return((e=Math.exp(e))-1/e)/2}function p4(e){return((e=Math.exp(2*e))-1)/(e+1)}const h4=function e(t,n,r){function i(o,a){var s=o[0],u=o[1],c=o[2],f=a[0],h=a[1],p=a[2],g=f-s,v=h-u,m=g*g+v*v,w,y;if(m<d4)y=Math.log(p/c)/t,w=function(A){return[s+A*g,u+A*v,c*Math.exp(t*A*y)]};else{var C=Math.sqrt(m),_=(p*p-c*c+r*m)/(2*c*n*C),S=(p*p-c*c-r*m)/(2*p*n*C),E=Math.log(Math.sqrt(_*_+1)-_),k=Math.log(Math.sqrt(S*S+1)-S);y=(k-E)/t,w=function(A){var L=A*y,F=vy(E),P=c/(n*C)*(F*p4(t*L+E)-f4(E));return[s+P*g,u+P*v,c*F/vy(t*L+E)]}}return w.duration=y*1e3*t/Math.SQRT2,w}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,u=s*s;return e(a,s,u)},i}(Math.SQRT2,2,4);var _i=0,So=0,Co=0,my=1e3,ls,_o,us=0,jr=0,cs=0,Eo=typeof performance=="object"&&performance.now?performance:Date,yy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gc(){return jr||(yy(g4),jr=Eo.now()+cs)}function g4(){jr=0}function ds(){this._call=this._time=this._next=null}ds.prototype=by.prototype={constructor:ds,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?gc():+n)+(t==null?0:+t),!this._next&&_o!==this&&(_o?_o._next=this:ls=this,_o=this),this._call=e,this._time=n,vc()},stop:function(){this._call&&(this._call=null,this._time=1/0,vc())}};function by(e,t,n){var r=new ds;return r.restart(e,t,n),r}function v4(){gc(),++_i;for(var e=ls,t;e;)(t=jr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--_i}function wy(){jr=(us=Eo.now())+cs,_i=So=0;try{v4()}finally{_i=0,y4(),jr=0}}function m4(){var e=Eo.now(),t=e-us;t>my&&(cs-=t,us=e)}function y4(){for(var e,t=ls,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ls=n);_o=e,vc(r)}function vc(e){if(!_i){So&&(So=clearTimeout(So));var t=e-jr;t>24?(e<1/0&&(So=setTimeout(wy,e-Eo.now()-cs)),Co&&(Co=clearInterval(Co))):(Co||(us=Eo.now(),Co=setInterval(m4,my)),_i=1,yy(wy))}}function xy(e,t,n){var r=new ds;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var b4=Za("start","end","cancel","interrupt"),w4=[],Sy=0,Cy=1,mc=2,fs=3,_y=4,yc=5,ps=6;function hs(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;x4(e,n,{name:t,index:r,group:i,on:b4,tween:w4,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Sy})}function bc(e,t){var n=An(e,t);if(n.state>Sy)throw new Error("too late; already scheduled");return n}function Bn(e,t){var n=An(e,t);if(n.state>fs)throw new Error("too late; already running");return n}function An(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function x4(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=by(o,0,n.time);function o(c){n.state=Cy,n.timer.restart(a,n.delay,n.time),n.delay<=c&&a(c-n.delay)}function a(c){var f,h,p,g;if(n.state!==Cy)return u();for(f in r)if(g=r[f],g.name===n.name){if(g.state===fs)return xy(a);g.state===_y?(g.state=ps,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[f]):+f<t&&(g.state=ps,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete r[f])}if(xy(function(){n.state===fs&&(n.state=_y,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=mc,n.on.call("start",e,e.__data__,n.index,n.group),n.state===mc){for(n.state=fs,i=new Array(p=n.tween.length),f=0,h=-1;f<p;++f)(g=n.tween[f].value.call(e,e.__data__,n.index,n.group))&&(i[++h]=g);i.length=h+1}}function s(c){for(var f=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(u),n.state=yc,1),h=-1,p=i.length;++h<p;)i[h].call(e,f);n.state===yc&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=ps,n.timer.stop(),delete r[t];for(var c in r)return;delete e.__transition}}function gs(e,t){var n=e.__transition,r,i,o=!0,a;if(!!n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){o=!1;continue}i=r.state>mc&&r.state<yc,r.state=ps,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function S4(e){return this.each(function(){gs(this,e)})}function C4(e,t){var n,r;return function(){var i=Bn(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function _4(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Bn(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},u=0,c=i.length;u<c;++u)if(i[u].name===t){i[u]=s;break}u===c&&i.push(s)}o.tween=i}}function E4(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=An(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((t==null?C4:_4)(n,e,t))}function wc(e,t,n){var r=e._id;return e.each(function(){var i=Bn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return An(i,r).value[t]}}function Ey(e,t){var n;return(typeof t=="number"?Cr:t instanceof xo?fy:(n=xo(t))?(t=n,fy):a4)(e,t)}function T4(e){return function(){this.removeAttribute(e)}}function M4(e){return function(){this.removeAttributeNS(e.space,e.local)}}function k4(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function O4(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function D4(e,t,n){var r,i,o;return function(){var a,s=n(this),u;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=s+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s)))}}function R4(e,t,n){var r,i,o;return function(){var a,s=n(this),u;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=s+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s)))}}function A4(e,t){var n=es(e),r=n==="transform"?c4:Ey;return this.attrTween(e,typeof t=="function"?(n.local?R4:D4)(n,r,wc(this,"attr."+e,t)):t==null?(n.local?M4:T4)(n):(n.local?O4:k4)(n,r,t))}function P4(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function N4(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function I4(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&N4(e,o)),n}return i._value=t,i}function $4(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&P4(e,o)),n}return i._value=t,i}function L4(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=es(e);return this.tween(n,(r.local?I4:$4)(r,t))}function V4(e,t){return function(){bc(this,e).delay=+t.apply(this,arguments)}}function z4(e,t){return t=+t,function(){bc(this,e).delay=t}}function F4(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?V4:z4)(t,e)):An(this.node(),t).delay}function B4(e,t){return function(){Bn(this,e).duration=+t.apply(this,arguments)}}function j4(e,t){return t=+t,function(){Bn(this,e).duration=t}}function G4(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?B4:j4)(t,e)):An(this.node(),t).duration}function K4(e,t){if(typeof t!="function")throw new Error;return function(){Bn(this,e).ease=t}}function H4(e){var t=this._id;return arguments.length?this.each(K4(t,e)):An(this.node(),t).ease}function W4(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Bn(this,e).ease=n}}function q4(e){if(typeof e!="function")throw new Error;return this.each(W4(this._id,e))}function U4(e){typeof e!="function"&&(e=jm(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],u,c=0;c<a;++c)(u=o[c])&&e.call(u,u.__data__,c,o)&&s.push(u);return new rr(r,this._parents,this._name,this._id)}function Y4(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var u=t[s],c=n[s],f=u.length,h=a[s]=new Array(f),p,g=0;g<f;++g)(p=u[g]||c[g])&&(h[g]=p);for(;s<r;++s)a[s]=t[s];return new rr(a,this._parents,this._name,this._id)}function X4(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Q4(e,t,n){var r,i,o=X4(t)?bc:Bn;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}function Z4(e,t){var n=this._id;return arguments.length<2?An(this.node(),n).on.on(e):this.each(Q4(n,e,t))}function J4(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function e5(){return this.on("end.remove",J4(this._id))}function t5(e){var t=this._name,n=this._id;typeof e!="function"&&(e=oc(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],u=s.length,c=o[a]=new Array(u),f,h,p=0;p<u;++p)(f=s[p])&&(h=e.call(f,f.__data__,p,s))&&("__data__"in f&&(h.__data__=f.__data__),c[p]=h,hs(c[p],t,n,p,c,An(f,n)));return new rr(o,this._parents,t,n)}function n5(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Bm(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var u=r[s],c=u.length,f,h=0;h<c;++h)if(f=u[h]){for(var p=e.call(f,f.__data__,h,u),g,v=An(f,n),m=0,w=p.length;m<w;++m)(g=p[m])&&hs(g,t,n,m,p,v);o.push(p),a.push(f)}return new rr(o,a,t,n)}var r5=vo.prototype.constructor;function i5(){return new r5(this._groups,this._parents)}function o5(e,t){var n,r,i;return function(){var o=xi(this,e),a=(this.style.removeProperty(e),xi(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function Ty(e){return function(){this.style.removeProperty(e)}}function a5(e,t,n){var r,i=n+"",o;return function(){var a=xi(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function s5(e,t,n){var r,i,o;return function(){var a=xi(this,e),s=n(this),u=s+"";return s==null&&(u=s=(this.style.removeProperty(e),xi(this,e))),a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s))}}function l5(e,t){var n,r,i,o="style."+t,a="end."+o,s;return function(){var u=Bn(this,e),c=u.on,f=u.value[o]==null?s||(s=Ty(t)):void 0;(c!==n||i!==f)&&(r=(n=c).copy()).on(a,i=f),u.on=r}}function u5(e,t,n){var r=(e+="")=="transform"?u4:Ey;return t==null?this.styleTween(e,o5(e,r)).on("end.style."+e,Ty(e)):typeof t=="function"?this.styleTween(e,s5(e,r,wc(this,"style."+e,t))).each(l5(this._id,e)):this.styleTween(e,a5(e,r,t),n).on("end.style."+e,null)}function c5(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function d5(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&c5(e,a,n)),r}return o._value=t,o}function f5(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,d5(e,t,n==null?"":n))}function p5(e){return function(){this.textContent=e}}function h5(e){return function(){var t=e(this);this.textContent=t==null?"":t}}function g5(e){return this.tween("text",typeof e=="function"?h5(wc(this,"text",e)):p5(e==null?"":e+""))}function v5(e){return function(t){this.textContent=e.call(this,t)}}function m5(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&v5(i)),t}return r._value=e,r}function y5(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,m5(e))}function b5(){for(var e=this._name,t=this._id,n=My(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,u,c=0;c<s;++c)if(u=a[c]){var f=An(u,t);hs(u,e,n,c,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new rr(r,this._parents,e,n)}function w5(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},u={value:function(){--i===0&&o()}};n.each(function(){var c=Bn(this,r),f=c.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),c.on=t}),i===0&&o()})}var x5=0;function rr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function My(){return++x5}var ir=vo.prototype;rr.prototype={constructor:rr,select:t5,selectAll:n5,selectChild:ir.selectChild,selectChildren:ir.selectChildren,filter:U4,merge:Y4,selection:i5,transition:b5,call:ir.call,nodes:ir.nodes,node:ir.node,size:ir.size,empty:ir.empty,each:ir.each,on:Z4,attr:A4,attrTween:L4,style:u5,styleTween:f5,text:g5,textTween:y5,remove:e5,tween:E4,delay:F4,duration:G4,ease:H4,easeVarying:q4,end:w5,[Symbol.iterator]:ir[Symbol.iterator]};function S5(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var C5={time:null,delay:0,duration:250,ease:S5};function _5(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function E5(e){var t,n;e instanceof rr?(t=e._id,e=e._name):(t=My(),(n=C5).time=gc(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,u,c=0;c<s;++c)(u=a[c])&&hs(u,e,t,c,a,n||_5(u,t));return new rr(r,this._parents,e,t)}vo.prototype.interrupt=S4,vo.prototype.transition=E5;const vs=e=>()=>e;function T5(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function or(e,t,n){this.k=e,this.x=t,this.y=n}or.prototype={constructor:or,scale:function(e){return e===1?this:new or(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new or(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new or(1,0,0);or.prototype;function xc(e){e.stopImmediatePropagation()}function To(e){e.preventDefault(),e.stopImmediatePropagation()}function M5(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function k5(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ky(){return this.__zoom||ar}function O5(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function D5(){return navigator.maxTouchPoints||"ontouchstart"in this}function R5(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function Oy(){var e=M5,t=k5,n=R5,r=O5,i=D5,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,u=h4,c=Za("start","zoom","end"),f,h,p,g=500,v=150,m=0,w=10;function y(M){M.property("__zoom",ky).on("wheel.zoom",L,{passive:!1}).on("mousedown.zoom",F).on("dblclick.zoom",P).filter(i).on("touchstart.zoom",O).on("touchmove.zoom",I).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(M,$,N,R){var B=M.selection?M.selection():M;B.property("__zoom",ky),M!==B?E(M,$,N,R):B.interrupt().each(function(){k(this,arguments).event(R).start().zoom(null,typeof $=="function"?$.apply(this,arguments):$).end()})},y.scaleBy=function(M,$,N,R){y.scaleTo(M,function(){var B=this.__zoom.k,G=typeof $=="function"?$.apply(this,arguments):$;return B*G},N,R)},y.scaleTo=function(M,$,N,R){y.transform(M,function(){var B=t.apply(this,arguments),G=this.__zoom,K=N==null?S(B):typeof N=="function"?N.apply(this,arguments):N,W=G.invert(K),ee=typeof $=="function"?$.apply(this,arguments):$;return n(_(C(G,ee),K,W),B,a)},N,R)},y.translateBy=function(M,$,N,R){y.transform(M,function(){return n(this.__zoom.translate(typeof $=="function"?$.apply(this,arguments):$,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,R)},y.translateTo=function(M,$,N,R,B){y.transform(M,function(){var G=t.apply(this,arguments),K=this.__zoom,W=R==null?S(G):typeof R=="function"?R.apply(this,arguments):R;return n(ar.translate(W[0],W[1]).scale(K.k).translate(typeof $=="function"?-$.apply(this,arguments):-$,typeof N=="function"?-N.apply(this,arguments):-N),G,a)},R,B)};function C(M,$){return $=Math.max(o[0],Math.min(o[1],$)),$===M.k?M:new or($,M.x,M.y)}function _(M,$,N){var R=$[0]-N[0]*M.k,B=$[1]-N[1]*M.k;return R===M.x&&B===M.y?M:new or(M.k,R,B)}function S(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function E(M,$,N,R){M.on("start.zoom",function(){k(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){k(this,arguments).event(R).end()}).tween("zoom",function(){var B=this,G=arguments,K=k(B,G).event(R),W=t.apply(B,G),ee=N==null?S(W):typeof N=="function"?N.apply(B,G):N,ne=Math.max(W[1][0]-W[0][0],W[1][1]-W[0][1]),U=B.__zoom,X=typeof $=="function"?$.apply(B,G):$,ce=u(U.invert(ee).concat(ne/U.k),X.invert(ee).concat(ne/X.k));return function(ue){if(ue===1)ue=X;else{var se=ce(ue),ae=ne/se[2];ue=new or(ae,ee[0]-se[0]*ae,ee[1]-se[1]*ae)}K.zoom(null,ue)}})}function k(M,$,N){return!N&&M.__zooming||new A(M,$)}function A(M,$){this.that=M,this.args=$,this.active=0,this.sourceEvent=null,this.extent=t.apply(M,$),this.taps=0}A.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,$){return this.mouse&&M!=="mouse"&&(this.mouse[1]=$.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=$.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=$.invert(this.touch1[0])),this.that.__zoom=$,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var $=Cn(this.that).datum();c.call(M,this.that,new T5(M,{sourceEvent:this.sourceEvent,target:y,type:M,transform:this.that.__zoom,dispatch:c}),$)}};function L(M,...$){if(!e.apply(this,arguments))return;var N=k(this,$).event(M),R=this.__zoom,B=Math.max(o[0],Math.min(o[1],R.k*Math.pow(2,r.apply(this,arguments)))),G=Dn(M);if(N.wheel)(N.mouse[0][0]!==G[0]||N.mouse[0][1]!==G[1])&&(N.mouse[1]=R.invert(N.mouse[0]=G)),clearTimeout(N.wheel);else{if(R.k===B)return;N.mouse=[G,R.invert(G)],gs(this),N.start()}To(M),N.wheel=setTimeout(K,v),N.zoom("mouse",n(_(C(R,B),N.mouse[0],N.mouse[1]),N.extent,a));function K(){N.wheel=null,N.end()}}function F(M,...$){if(p||!e.apply(this,arguments))return;var N=M.currentTarget,R=k(this,$,!0).event(M),B=Cn(M.view).on("mousemove.zoom",ee,!0).on("mouseup.zoom",ne,!0),G=Dn(M,N),K=M.clientX,W=M.clientY;Zm(M.view),xc(M),R.mouse=[G,this.__zoom.invert(G)],gs(this),R.start();function ee(U){if(To(U),!R.moved){var X=U.clientX-K,ce=U.clientY-W;R.moved=X*X+ce*ce>m}R.event(U).zoom("mouse",n(_(R.that.__zoom,R.mouse[0]=Dn(U,N),R.mouse[1]),R.extent,a))}function ne(U){B.on("mousemove.zoom mouseup.zoom",null),Jm(U.view,R.moved),To(U),R.event(U).end()}}function P(M,...$){if(!!e.apply(this,arguments)){var N=this.__zoom,R=Dn(M.changedTouches?M.changedTouches[0]:M,this),B=N.invert(R),G=N.k*(M.shiftKey?.5:2),K=n(_(C(N,G),R,B),t.apply(this,$),a);To(M),s>0?Cn(this).transition().duration(s).call(E,K,R,M):Cn(this).call(y.transform,K,R,M)}}function O(M,...$){if(!!e.apply(this,arguments)){var N=M.touches,R=N.length,B=k(this,$,M.changedTouches.length===R).event(M),G,K,W,ee;for(xc(M),K=0;K<R;++K)W=N[K],ee=Dn(W,this),ee=[ee,this.__zoom.invert(ee),W.identifier],B.touch0?!B.touch1&&B.touch0[2]!==ee[2]&&(B.touch1=ee,B.taps=0):(B.touch0=ee,G=!0,B.taps=1+!!f);f&&(f=clearTimeout(f)),G&&(B.taps<2&&(h=ee[0],f=setTimeout(function(){f=null},g)),gs(this),B.start())}}function I(M,...$){if(!!this.__zooming){var N=k(this,$).event(M),R=M.changedTouches,B=R.length,G,K,W,ee;for(To(M),G=0;G<B;++G)K=R[G],W=Dn(K,this),N.touch0&&N.touch0[2]===K.identifier?N.touch0[0]=W:N.touch1&&N.touch1[2]===K.identifier&&(N.touch1[0]=W);if(K=N.that.__zoom,N.touch1){var ne=N.touch0[0],U=N.touch0[1],X=N.touch1[0],ce=N.touch1[1],ue=(ue=X[0]-ne[0])*ue+(ue=X[1]-ne[1])*ue,se=(se=ce[0]-U[0])*se+(se=ce[1]-U[1])*se;K=C(K,Math.sqrt(ue/se)),W=[(ne[0]+X[0])/2,(ne[1]+X[1])/2],ee=[(U[0]+ce[0])/2,(U[1]+ce[1])/2]}else if(N.touch0)W=N.touch0[0],ee=N.touch0[1];else return;N.zoom("touch",n(_(K,W,ee),N.extent,a))}}function z(M,...$){if(!!this.__zooming){var N=k(this,$).event(M),R=M.changedTouches,B=R.length,G,K;for(xc(M),p&&clearTimeout(p),p=setTimeout(function(){p=null},g),G=0;G<B;++G)K=R[G],N.touch0&&N.touch0[2]===K.identifier?delete N.touch0:N.touch1&&N.touch1[2]===K.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&(K=Dn(K,this),Math.hypot(h[0]-K[0],h[1]-K[1])<w)){var W=Cn(this).on("dblclick.zoom");W&&W.apply(this,arguments)}}}return y.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:vs(+M),y):r},y.filter=function(M){return arguments.length?(e=typeof M=="function"?M:vs(!!M),y):e},y.touchable=function(M){return arguments.length?(i=typeof M=="function"?M:vs(!!M),y):i},y.extent=function(M){return arguments.length?(t=typeof M=="function"?M:vs([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),y):t},y.scaleExtent=function(M){return arguments.length?(o[0]=+M[0],o[1]=+M[1],y):[o[0],o[1]]},y.translateExtent=function(M){return arguments.length?(a[0][0]=+M[0][0],a[1][0]=+M[1][0],a[0][1]=+M[0][1],a[1][1]=+M[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(M){return arguments.length?(n=M,y):n},y.duration=function(M){return arguments.length?(s=+M,y):s},y.interpolate=function(M){return arguments.length?(u=M,y):u},y.on=function(){var M=c.on.apply(c,arguments);return M===c?y:M},y.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,y):Math.sqrt(m)},y.tapDistance=function(M){return arguments.length?(w=+M,y):w},y}const ms=x.createContext(null),A5=ms.Provider,jn={"001":()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001","002":()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.","003":e=>`Node type "${e}" not found. Using fallback type "default".`,"004":()=>"The React Flow parent container needs a width and a height to render the graph.","005":()=>"Only child nodes can use a parent extent.","006":()=>"Can't create edge. An edge needs a source and a target.","007":e=>`The old edge with id=${e} does not exist.`,"009":e=>`Marker type "${e}" doesn't exist.`,"008":(e,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.id}.`,"010":()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.","011":e=>`Edge type "${e}" not found. Using fallback type "default".`},Dy=jn["001"]();function Tt(e,t){const n=x.useContext(ms);if(n===null)throw new Error(Dy);return eF(n,e,t)}const Kt=()=>{const e=x.useContext(ms);if(e===null)throw new Error(Dy);return x.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},P5=e=>e.userSelectionActive?"none":"all";function Sc({position:e,children:t,className:n,style:r,...i}){const o=Tt(P5),a=`${e}`.split("-");return l("div",{className:Zt(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i,children:t})}function N5({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:l(Sc,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:l("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const I5=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:s=2,children:u,className:c,...f})=>{const h=x.useRef(null),[p,g]=x.useState({x:0,y:0,width:0,height:0}),v=Zt(["react-flow__edge-textwrapper",c]);return x.useEffect(()=>{if(h.current){const m=h.current.getBBox();g({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:b("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:v,visibility:p.width?"visible":"hidden",...f,children:[i&&l("rect",{width:p.width+2*a[0],x:-a[0],y:-a[1],height:p.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:s,ry:s}),l("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:h,style:r,children:n}),u]})};var $5=x.memo(I5);const Cc=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ei=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),_c=(e={x:0,y:0},t)=>({x:Ei(e.x,t[0][0],t[1][0]),y:Ei(e.y,t[0][1],t[1][1])}),Ry=(e,t,n)=>e<t?Ei(Math.abs(e-t),1,50)/50:e>n?-Ei(Math.abs(e-n),1,50)/50:0,Ay=(e,t)=>{const n=Ry(e.x,35,t.width-35)*20,r=Ry(e.y,35,t.height-35)*20;return[n,r]},Py=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},Ny=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),ys=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Iy=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),$y=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),L5=(e,t)=>Iy(Ny(ys(e),ys(t))),Ec=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},V5=e=>_n(e.width)&&_n(e.height)&&_n(e.x)&&_n(e.y),_n=e=>!isNaN(e)&&isFinite(e),jt=Symbol.for("internals"),Ly=["Enter"," ","Escape"],Tc=(e,t)=>{process.env.NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},z5=e=>"nativeEvent"in e;function Mc(e){var r,i;const t=z5(e)?e.nativeEvent:e,n=((i=(r=t.composedPath)==null?void 0:r.call(t))==null?void 0:i[0])||e.target;return e.ctrlKey||e.metaKey||e.shiftKey?!1:["INPUT","SELECT","TEXTAREA"].includes(n==null?void 0:n.nodeName)||(n==null?void 0:n.hasAttribute("contenteditable"))||!!(n!=null&&n.closest(".nokey"))}const Vy=e=>"clientX"in e,_r=(e,t)=>{var o,a,s,u;const n=Vy(e),r=n?e.clientX:(o=e.touches)==null?void 0:o[0].clientX,i=n?e.clientY:(a=e.touches)==null?void 0:a[0].clientY;return{x:r-((s=t==null?void 0:t.left)!=null?s:0),y:i-((u=t==null?void 0:t.top)!=null?u:0)}},Mo=({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:u,style:c,markerEnd:f,markerStart:h,interactionWidth:p=20})=>b(Oe,{children:[l("path",{style:c,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:h}),p&&l("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}),r&&_n(t)&&_n(n)?l($5,{x:t,y:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:s,labelBgBorderRadius:u}):null]});Mo.displayName="BaseEdge";function ko(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function zy({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n<e?n+i:n-i,a=Math.abs(r-t)/2,s=r<t?r+a:r-a;return[o,s,i,a]}function Fy({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:s}){const u=e*.125+i*.375+a*.375+n*.125,c=t*.125+o*.375+s*.375+r*.125,f=Math.abs(u-e),h=Math.abs(c-t);return[u,c,f,h]}var Gr;(function(e){e.Strict="strict",e.Loose="loose"})(Gr||(Gr={}));var Ti;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ti||(Ti={}));var Oo;(function(e){e.Partial="partial",e.Full="full"})(Oo||(Oo={}));var Er;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Er||(Er={}));var bs;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(bs||(bs={}));var Me;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Me||(Me={}));function By({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===Me.Left||e===Me.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function jy({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top}){const[a,s]=By({pos:n,x1:e,y1:t,x2:r,y2:i}),[u,c]=By({pos:o,x1:r,y1:i,x2:e,y2:t}),[f,h,p,g]=Fy({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:s,targetControlX:u,targetControlY:c});return[`M${e},${t} C${a},${s} ${u},${c} ${r},${i}`,f,h,p,g]}const kc=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Me.Bottom,targetPosition:o=Me.Top,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:m})=>{const[w,y,C]=jy({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return l(Mo,{path:w,labelX:y,labelY:C,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:m})});kc.displayName="SimpleBezierEdge";const Gy={[Me.Left]:{x:-1,y:0},[Me.Right]:{x:1,y:0},[Me.Top]:{x:0,y:-1},[Me.Bottom]:{x:0,y:1}},F5=({source:e,sourcePosition:t=Me.Bottom,target:n})=>t===Me.Left||t===Me.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},Ky=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function B5({source:e,sourcePosition:t=Me.Bottom,target:n,targetPosition:r=Me.Top,center:i,offset:o}){const a=Gy[t],s=Gy[r],u={x:e.x+a.x*o,y:e.y+a.y*o},c={x:n.x+s.x*o,y:n.y+s.y*o},f=F5({source:u,sourcePosition:t,target:c}),h=f.x!==0?"x":"y",p=f[h];let g=[],v,m;const[w,y,C,_]=zy({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[h]*s[h]===-1){v=i.x||w,m=i.y||y;const E=[{x:v,y:u.y},{x:v,y:c.y}],k=[{x:u.x,y:m},{x:c.x,y:m}];a[h]===p?g=h==="x"?E:k:g=h==="x"?k:E}else{const E=[{x:u.x,y:c.y}],k=[{x:c.x,y:u.y}];if(h==="x"?g=a.x===p?k:E:g=a.y===p?E:k,t!==r){const A=h==="x"?"y":"x",L=a[h]===s[A],F=u[A]>c[A],P=u[A]<c[A];(a[h]===1&&(!L&&F||L&&P)||a[h]!==1&&(!L&&P||L&&F))&&(g=h==="x"?E:k)}v=g[0].x,m=g[0].y}return[[e,u,...g,c,n],v,m,C,_]}function j5(e,t,n,r){const i=Math.min(Ky(e,t)/2,Ky(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const c=e.x<n.x?-1:1,f=e.y<n.y?1:-1;return`L ${o+i*c},${a}Q ${o},${a} ${o},${a+i*f}`}const s=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${o},${a+i*u}Q ${o},${a} ${o+i*s},${a}`}function Oc({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top,borderRadius:a=5,centerX:s,centerY:u,offset:c=20}){const[f,h,p,g,v]=B5({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:s,y:u},offset:c});return[f.reduce((w,y,C)=>{let _="";return C>0&&C<f.length-1?_=j5(f[C-1],y,f[C+1],a):_=`${C===0?"M":"L"}${y.x} ${y.y}`,w+=_,w},""),h,p,g,v]}const ws=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,sourcePosition:h=Me.Bottom,targetPosition:p=Me.Top,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[y,C,_]=Oc({sourceX:e,sourceY:t,sourcePosition:h,targetX:n,targetY:r,targetPosition:p,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return l(Mo,{path:y,labelX:C,labelY:_,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:g,markerStart:v,interactionWidth:w})});ws.displayName="SmoothStepEdge";const Dc=x.memo(e=>{var t;return l(ws,{...e,pathOptions:x.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Dc.displayName="StepEdge";function G5({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,s]=zy({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,s]}const Rc=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:g})=>{const[v,m,w]=G5({sourceX:e,sourceY:t,targetX:n,targetY:r});return l(Mo,{path:v,labelX:m,labelY:w,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:g})});Rc.displayName="StraightEdge";function xs(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Hy({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case Me.Left:return[t-xs(t-r,o),n];case Me.Right:return[t+xs(r-t,o),n];case Me.Top:return[t,n-xs(n-i,o)];case Me.Bottom:return[t,n+xs(i-n,o)]}}function Wy({sourceX:e,sourceY:t,sourcePosition:n=Me.Bottom,targetX:r,targetY:i,targetPosition:o=Me.Top,curvature:a=.25}){const[s,u]=Hy({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[c,f]=Hy({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[h,p,g,v]=Fy({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:u,targetControlX:c,targetControlY:f});return[`M${e},${t} C${s},${u} ${c},${f} ${r},${i}`,h,p,g,v]}const Ss=x.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=Me.Bottom,targetPosition:o=Me.Top,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[y,C,_]=Wy({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return l(Mo,{path:y,labelX:C,labelY:_,label:a,labelStyle:s,labelShowBg:u,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:g,markerStart:v,interactionWidth:w})});Ss.displayName="BezierEdge";const Ac=x.createContext(null),K5=Ac.Provider;Ac.Consumer;const H5=()=>x.useContext(Ac),W5=e=>"id"in e&&"source"in e&&"target"in e,q5=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Pc=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,U5=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),Y5=(e,t)=>{if(!e.source||!e.target)return Tc("006",jn["006"]()),t;let n;return W5(e)?n={...e}:n={...e,id:q5(e)},U5(n,t)?t:t.concat(n)},qy=({x:e,y:t},[n,r,i],o,[a,s])=>{const u={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(u.x/a),y:s*Math.round(u.y/s)}:u},X5=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Kr=(e,t=[0,0])=>{var o,a;if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const n=((o=e.width)!=null?o:0)*t[0],r=((a=e.height)!=null?a:0)*t[1],i={x:e.position.x-n,y:e.position.y-r};return{...i,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-n,y:e.positionAbsolute.y-r}:i}},Nc=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const{x:o,y:a}=Kr(i,t).positionAbsolute;return Ny(r,ys({x:o,y:a,width:i.width||0,height:i.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Iy(n)},Uy=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,s=[0,0])=>{const u={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},c=[];return e.forEach(f=>{const{width:h,height:p,selectable:g=!0,hidden:v=!1}=f;if(a&&!g||v)return!1;const{positionAbsolute:m}=Kr(f,s),w={x:m.x,y:m.y,width:h||0,height:p||0},y=Ec(u,w),C=typeof h>"u"||typeof p>"u"||h===null||p===null,_=o&&y>0,S=(h||0)*(p||0);(C||_||y>=S||f.dragging)&&c.push(f)}),c},Yy=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},Xy=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),s=n/(e.height*(1+o)),u=Math.min(a,s),c=Ei(u,r,i),f=e.x+e.width/2,h=e.y+e.height/2,p=t/2-f*c,g=n/2-h*c;return[p,g,c]},Hr=(e,t=0)=>e.transition().duration(t);function Qy(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,s,u,c;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:((s=(a=e.positionAbsolute)==null?void 0:a.x)!=null?s:0)+o.x+o.width/2,y:((c=(u=e.positionAbsolute)==null?void 0:u.y)!=null?c:0)+o.y+o.height/2}),i},[])}function Q5(e,t,n){let r=null,i=1/0;return n.forEach(o=>{const a=Math.sqrt(Math.pow(o.x-e.x,2)+Math.pow(o.y-e.y,2));a<=t&&a<i&&(i=a,r=o)}),r}const Z5={source:null,target:null,sourceHandle:null,targetHandle:null};function Zy(e,t,n,r,i,o,a,s){const u=o==="target",c=s.querySelector(`.react-flow__handle[data-id="${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`),{x:f,y:h}=_r(e),p=s.elementFromPoint(f,h),g=p!=null&&p.classList.contains("react-flow__handle")?p:c,v={handleDomNode:g,isValid:!1,connection:Z5};if(g){const m=Jy(void 0,g),w=g.getAttribute("data-nodeid"),y=g.getAttribute("data-handleid"),C={source:u?w:r,sourceHandle:u?y:i,target:u?r:w,targetHandle:u?i:y};v.connection=C,(n===Gr.Strict?u&&m==="source"||!u&&m==="target":w!==r||y!==i)&&(v.isValid=a(C))}return v}function J5({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[jt]){const{handleBounds:a}=o[jt];let s=[],u=[];a&&(s=Qy(o,a,"source",`${t}-${n}-${r}`),u=Qy(o,a,"target",`${t}-${n}-${r}`)),i.push(...s,...u)}return i},[])}function Jy(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Ic(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function eB(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function eb({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:s,edgeUpdaterType:u,onEdgeUpdateEnd:c}){const f=Py(e.target),{connectionMode:h,domNode:p,autoPanOnConnect:g,connectionRadius:v,onConnectStart:m,panBy:w,getNodes:y,cancelConnection:C}=o();let _=0,S;const{x:E,y:k}=_r(e),A=f==null?void 0:f.elementFromPoint(E,k),L=Jy(u,A),F=p==null?void 0:p.getBoundingClientRect();if(!F||!L)return;let P,O=_r(e,F),I=!1,z=null,M=!1;const $=J5({nodes:y(),nodeId:n,handleId:t,handleType:L}),N=()=>{if(!g)return;const[G,K]=Ay(O,F);w({x:G,y:K}),_=requestAnimationFrame(N)};a({connectionPosition:O,connectionNodeId:n,connectionHandleId:t,connectionHandleType:L,connectionStatus:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:L});function R(G){const{transform:K}=o();O=_r(G,F),S=Q5(qy(O,K,!1,[1,1]),v,$),I||(N(),I=!0);const{handleDomNode:W,...ee}=Zy(G,S,h,n,t,i?"target":"source",s,f);if(a({connectionPosition:S&&ee.isValid?X5({x:S.x,y:S.y},K):O,connectionStatus:eB(!!S,ee.isValid)}),!S&&!ee.isValid)return Ic(P);z=ee.connection,M=ee.isValid,z.source!==z.target&&W&&(Ic(P),P=W,W.classList.add("connecting","react-flow__handle-connecting"),W.classList.toggle("valid",M),W.classList.toggle("react-flow__handle-valid",M))}function B(G){var K,W;z&&M&&S&&(r==null||r(z)),(W=(K=o()).onConnectEnd)==null||W.call(K,G),u&&(c==null||c(G)),Ic(P),C(),cancelAnimationFrame(_),I=!1,M=!1,z=null,S=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",B),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",B)}f.addEventListener("mousemove",R),f.addEventListener("mouseup",B),f.addEventListener("touchmove",R),f.addEventListener("touchend",B)}const tB=()=>!0,nB=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),tb=x.forwardRef(({type:e="source",position:t=Me.Top,isValidConnection:n=tB,isConnectable:r=!0,id:i,onConnect:o,children:a,className:s,onMouseDown:u,onTouchStart:c,...f},h)=>{var k,A;const p=Kt(),g=H5();if(!g)return(A=(k=p.getState()).onError)==null||A.call(k,"010",jn["010"]()),null;const{connectionStartHandle:v,connectOnClick:m,noPanClassName:w}=Tt(nB,nn),y=i||null,C=e==="target",_=L=>{const{defaultEdgeOptions:F,onConnect:P,hasDefaultEdges:O}=p.getState(),I={...F,...L};if(O){const{edges:z}=p.getState();p.setState({edges:Y5(I,z)})}P==null||P(I),o==null||o(I)},S=L=>{const F=Vy(L);(F&&L.button===0||!F)&&eb({event:L,handleId:y,nodeId:g,onConnect:_,isTarget:C,getState:p.getState,setState:p.setState,isValidConnection:n}),F?u==null||u(L):c==null||c(L)},E=L=>{const{onClickConnectStart:F,onClickConnectEnd:P,connectionMode:O}=p.getState();if(!v){F==null||F(L,{nodeId:g,handleId:y,handleType:e}),p.setState({connectionStartHandle:{nodeId:g,type:e,handleId:y}});return}const I=Py(L.target),{connection:z,isValid:M}=Zy(L,{nodeId:g,id:y,type:e},O,v.nodeId,v.handleId||null,v.type,n,I);M&&_(z),P==null||P(L),p.setState({connectionStartHandle:null})};return l("div",{"data-handleid":y,"data-nodeid":g,"data-handlepos":t,"data-id":`${g}-${y}-${e}`,className:Zt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,s,{source:!C,target:C,connectable:r,connecting:(v==null?void 0:v.nodeId)===g&&(v==null?void 0:v.handleId)===y&&(v==null?void 0:v.type)===e}]),onMouseDown:S,onTouchStart:S,onClick:m?E:void 0,ref:h,...f,children:a})});tb.displayName="Handle";var Mi=x.memo(tb);const nb=({data:e,isConnectable:t,targetPosition:n=Me.Top,sourcePosition:r=Me.Bottom})=>b(Oe,{children:[l(Mi,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,l(Mi,{type:"source",position:r,isConnectable:t})]});nb.displayName="DefaultNode";var $c=x.memo(nb);const rb=({data:e,isConnectable:t,sourcePosition:n=Me.Bottom})=>b(Oe,{children:[e==null?void 0:e.label,l(Mi,{type:"source",position:n,isConnectable:t})]});rb.displayName="InputNode";var ib=x.memo(rb);const ob=({data:e,isConnectable:t,targetPosition:n=Me.Top})=>b(Oe,{children:[l(Mi,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});ob.displayName="OutputNode";var ab=x.memo(ob);const Lc=()=>null;Lc.displayName="GroupNode";const rB=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Cs=e=>e.id;function iB(e,t){return nn(e.selectedNodes.map(Cs),t.selectedNodes.map(Cs))&&nn(e.selectedEdges.map(Cs),t.selectedEdges.map(Cs))}const sb=x.memo(({onSelectionChange:e})=>{const t=Kt(),{selectedNodes:n,selectedEdges:r}=Tt(rB,iB);return x.useEffect(()=>{var o,a;const i={nodes:n,edges:r};e==null||e(i),(a=(o=t.getState()).onSelectionChange)==null||a.call(o,i)},[n,r,e]),null});sb.displayName="SelectionListener";const oB=e=>!!e.onSelectionChange;function aB({onSelectionChange:e}){const t=Tt(oB);return e||t?l(sb,{onSelectionChange:e}):null}const sB=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function ki(e,t){x.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function ot(e,t,n){x.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const lB=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:s,onClickConnectEnd:u,nodesDraggable:c,nodesConnectable:f,nodesFocusable:h,edgesFocusable:p,elevateNodesOnSelect:g,minZoom:v,maxZoom:m,nodeExtent:w,onNodesChange:y,onEdgesChange:C,elementsSelectable:_,connectionMode:S,snapGrid:E,snapToGrid:k,translateExtent:A,connectOnClick:L,defaultEdgeOptions:F,fitView:P,fitViewOptions:O,onNodesDelete:I,onEdgesDelete:z,onNodeDrag:M,onNodeDragStart:$,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:B,onSelectionDragStop:G,noPanClassName:K,nodeOrigin:W,rfId:ee,autoPanOnConnect:ne,autoPanOnNodeDrag:U,onError:X,connectionRadius:ce})=>{const{setNodes:ue,setEdges:se,setDefaultNodesAndEdges:ae,setMinZoom:xe,setMaxZoom:be,setTranslateExtent:Y,setNodeExtent:re,reset:Se}=Tt(sB,nn),q=Kt();return x.useEffect(()=>{const we=r==null?void 0:r.map(ve=>({...ve,...F}));return ae(n,we),()=>{Se()}},[]),ot("defaultEdgeOptions",F,q.setState),ot("connectionMode",S,q.setState),ot("onConnect",i,q.setState),ot("onConnectStart",o,q.setState),ot("onConnectEnd",a,q.setState),ot("onClickConnectStart",s,q.setState),ot("onClickConnectEnd",u,q.setState),ot("nodesDraggable",c,q.setState),ot("nodesConnectable",f,q.setState),ot("nodesFocusable",h,q.setState),ot("edgesFocusable",p,q.setState),ot("elementsSelectable",_,q.setState),ot("elevateNodesOnSelect",g,q.setState),ot("snapToGrid",k,q.setState),ot("snapGrid",E,q.setState),ot("onNodesChange",y,q.setState),ot("onEdgesChange",C,q.setState),ot("connectOnClick",L,q.setState),ot("fitViewOnInit",P,q.setState),ot("fitViewOnInitOptions",O,q.setState),ot("onNodesDelete",I,q.setState),ot("onEdgesDelete",z,q.setState),ot("onNodeDrag",M,q.setState),ot("onNodeDragStart",$,q.setState),ot("onNodeDragStop",N,q.setState),ot("onSelectionDrag",R,q.setState),ot("onSelectionDragStart",B,q.setState),ot("onSelectionDragStop",G,q.setState),ot("noPanClassName",K,q.setState),ot("nodeOrigin",W,q.setState),ot("rfId",ee,q.setState),ot("autoPanOnConnect",ne,q.setState),ot("autoPanOnNodeDrag",U,q.setState),ot("onError",X,q.setState),ot("connectionRadius",ce,q.setState),ki(e,ue),ki(t,se),ki(v,xe),ki(m,be),ki(A,Y),ki(w,re),null},lb={display:"none"},uB={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ub="react-flow__node-desc",cb="react-flow__edge-desc",cB="react-flow__aria-live",dB=e=>e.ariaLiveMessage;function fB({rfId:e}){const t=Tt(dB);return l("div",{id:`${cB}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:uB,children:t})}function pB({rfId:e,disableKeyboardA11y:t}){return b(Oe,{children:[b("div",{id:`${ub}-${e}`,style:lb,children:["Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),l("div",{id:`${cb}-${e}`,style:lb,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&l(fB,{rfId:e})]})}const hB=(e,t,n)=>n===Me.Left?e-t:n===Me.Right?e+t:e,gB=(e,t,n)=>n===Me.Top?e-t:n===Me.Bottom?e+t:e,db="react-flow__edgeupdater",fb=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:s})=>l("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:Zt([db,`${db}-${s}`]),cx:hB(t,r,e),cy:gB(n,r,e),r,stroke:"transparent",fill:"transparent"});var Oi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:s,selected:u,animated:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,style:w,source:y,target:C,sourceX:_,sourceY:S,targetX:E,targetY:k,sourcePosition:A,targetPosition:L,elementsSelectable:F,hidden:P,sourceHandleId:O,targetHandleId:I,onContextMenu:z,onMouseEnter:M,onMouseMove:$,onMouseLeave:N,edgeUpdaterRadius:R,onEdgeUpdate:B,onEdgeUpdateStart:G,onEdgeUpdateEnd:K,markerEnd:W,markerStart:ee,rfId:ne,ariaLabel:U,isFocusable:X,pathOptions:ce,interactionWidth:ue})=>{const se=x.useRef(null),[ae,xe]=x.useState(!1),[be,Y]=x.useState(!1),re=Kt(),Se=x.useMemo(()=>`url(#${Pc(ee,ne)})`,[ee,ne]),q=x.useMemo(()=>`url(#${Pc(W,ne)})`,[W,ne]);if(P)return null;const we=We=>{const{edges:st,addSelectedEdges:Ce}=re.getState();if(F&&(re.setState({nodesSelectionActive:!1}),Ce([n])),a){const Ne=st.find(et=>et.id===n);a(We,Ne)}},ve=ko(n,re.getState,s),_e=ko(n,re.getState,z),ke=ko(n,re.getState,M),ge=ko(n,re.getState,$),Ke=ko(n,re.getState,N),Pe=(We,st)=>{const Ce=st?C:y,Ne=(st?I:O)||null,et=st?"target":"source",Mt=()=>!0,lt=st,kt=re.getState().edges.find(Ot=>Ot.id===n);Y(!0),G==null||G(We,kt,et);const dt=Ot=>{Y(!1),K==null||K(Ot,kt,et)};eb({event:We,handleId:Ne,nodeId:Ce,onConnect:Ot=>B==null?void 0:B(kt,Ot),isTarget:lt,getState:re.getState,setState:re.setState,isValidConnection:Mt,edgeUpdaterType:et,onEdgeUpdateEnd:dt})},Xe=We=>Pe(We,!0),Ee=We=>Pe(We,!1),Fe=()=>xe(!0),$e=()=>xe(!1),Ve=!F&&!a,ct=typeof B<"u",at=We=>{var st;if(Ly.includes(We.key)&&F){const{unselectNodesAndEdges:Ce,addSelectedEdges:Ne,edges:et}=re.getState();We.key==="Escape"?((st=se.current)==null||st.blur(),Ce({edges:[et.find(lt=>lt.id===n)]})):Ne([n])}};return b("g",{className:Zt(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:u,animated:c,inactive:Ve,updating:ae}]),onClick:we,onDoubleClick:ve,onContextMenu:_e,onMouseEnter:ke,onMouseMove:ge,onMouseLeave:Ke,onKeyDown:X?at:void 0,tabIndex:X?0:void 0,role:X?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":U===null?void 0:U||`Edge from ${y} to ${C}`,"aria-describedby":X?`${cb}-${ne}`:void 0,ref:se,children:[!be&&l(e,{id:n,source:y,target:C,selected:u,animated:c,label:f,labelStyle:h,labelShowBg:p,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,data:o,style:w,sourceX:_,sourceY:S,targetX:E,targetY:k,sourcePosition:A,targetPosition:L,sourceHandleId:O,targetHandleId:I,markerStart:Se,markerEnd:q,pathOptions:ce,interactionWidth:ue}),ct&&b(Oe,{children:[l(fb,{position:A,centerX:_,centerY:S,radius:R,onMouseDown:Xe,onMouseEnter:Fe,onMouseOut:$e,type:"source"}),l(fb,{position:L,centerX:E,centerY:k,radius:R,onMouseDown:Ee,onMouseEnter:Fe,onMouseOut:$e,type:"target"})]})]})};return t.displayName="EdgeWrapper",x.memo(t)};function vB(e){const t={default:Oi(e.default||Ss),straight:Oi(e.bezier||Rc),step:Oi(e.step||Dc),smoothstep:Oi(e.step||ws),simplebezier:Oi(e.simplebezier||kc)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Oi(e[o]||Ss),i),n);return{...t,...r}}function pb(e,t,n=null){const r=((n==null?void 0:n.x)||0)+t.x,i=((n==null?void 0:n.y)||0)+t.y,o=(n==null?void 0:n.width)||t.width,a=(n==null?void 0:n.height)||t.height;switch(e){case Me.Top:return{x:r+o/2,y:i};case Me.Right:return{x:r+o,y:i+a/2};case Me.Bottom:return{x:r+o/2,y:i+a};case Me.Left:return{x:r,y:i+a/2}}}function hb(e,t){return e?t?e.find(n=>n.id===t):e.length===1?e[0]:null:null}const mB=(e,t,n,r,i,o)=>{const a=pb(n,e,t),s=pb(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:s.x,targetY:s.y}};function yB({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:s,transform:u}){const c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+n,t.x+i),y2:Math.max(e.y+r,t.y+o)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const f=ys({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:a/u[2],height:s/u[2]}),h=Math.max(0,Math.min(f.x2,c.x2)-Math.max(f.x,c.x)),p=Math.max(0,Math.min(f.y2,c.y2)-Math.max(f.y,c.y));return Math.ceil(h*p)>0}function gb(e){var r,i,o,a,s;const t=((r=e==null?void 0:e[jt])==null?void 0:r.handleBounds)||null,n=t&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((i=e==null?void 0:e.positionAbsolute)==null?void 0:i.x)<"u"&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.y)<"u";return[{x:((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.x)||0,y:((s=e==null?void 0:e.positionAbsolute)==null?void 0:s.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},t,!!n]}function vb(e,t){if(!e.parentNode)return!1;const n=t.get(e.parentNode);return n?n.selected?!0:vb(n,t):!1}function mb(e,t,n){let r=e;do{if(r!=null&&r.matches(t))return!0;if(r===n.current)return!1;r=r.parentElement}while(r);return!1}function bB(e,t,n,r){return Array.from(e.values()).filter(i=>(i.selected||i.id===r)&&(!i.parentNode||!vb(i,e))&&(i.draggable||t&&typeof i.draggable>"u")).map(i=>{var o,a,s,u;return{id:i.id,position:i.position||{x:0,y:0},positionAbsolute:i.positionAbsolute||{x:0,y:0},distance:{x:n.x-((a=(o=i.positionAbsolute)==null?void 0:o.x)!=null?a:0),y:n.y-((u=(s=i.positionAbsolute)==null?void 0:s.y)!=null?u:0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function yb(e,t,n,r,i=[0,0],o){let a=e.extent||r;if(e.extent==="parent")if(e.parentNode&&e.width&&e.height){const c=n.get(e.parentNode),{x:f,y:h}=Kr(c,i).positionAbsolute;a=c&&_n(f)&&_n(h)&&_n(c.width)&&_n(c.height)?[[f+e.width*i[0],h+e.height*i[1]],[f+c.width-e.width+e.width*i[0],h+c.height-e.height+e.height*i[1]]]:a}else o==null||o("005",jn["005"]()),a=r;else if(e.extent&&e.parentNode){const c=n.get(e.parentNode),{x:f,y:h}=Kr(c,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+h],[e.extent[1][0]+f,e.extent[1][1]+h]]}let s={x:0,y:0};if(e.parentNode){const c=n.get(e.parentNode);s=Kr(c,i).positionAbsolute}const u=a?_c(t,a):t;return{position:{x:u.x-s.x,y:u.y-s.y},positionAbsolute:u}}function Vc({nodeId:e,dragItems:t,nodeInternals:n}){const r=t.map(i=>({...n.get(i.id),position:i.position,positionAbsolute:i.positionAbsolute}));return[e?r.find(i=>i.id===e):r[0],r]}const bb=(e,t,n,r)=>{const i=t.querySelectorAll(e);if(!i||!i.length)return null;const o=Array.from(i),a=t.getBoundingClientRect(),s={x:a.width*r[0],y:a.height*r[1]};return o.map(u=>{const c=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(c.left-a.left-s.x)/n,y:(c.top-a.top-s.y)/n,...Cc(u)}})};function Do(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function zc({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:a}=t.getState(),s=a.get(e);t.setState({nodesSelectionActive:!1}),s.selected?(n||s.selected&&o)&&i({nodes:[s]}):r([e])}function wB(){const e=Kt();return x.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,s=n.touches?n.touches[0].clientY:n.clientY,u={x:(a-r[0])/r[2],y:(s-r[1])/r[2]};return{xSnapped:o?i[0]*Math.round(u.x/i[0]):u.x,ySnapped:o?i[1]*Math.round(u.y/i[1]):u.y,...u}},[])}function Fc(e){return(t,n,r)=>e==null?void 0:e(t,r)}function wb({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const s=Kt(),[u,c]=x.useState(!1),f=x.useRef([]),h=x.useRef({x:null,y:null}),p=x.useRef(0),g=x.useRef(null),v=x.useRef({x:0,y:0}),m=x.useRef(null),w=x.useRef(!1),y=wB();return x.useEffect(()=>{if(e!=null&&e.current){const C=Cn(e.current),_=({x:E,y:k})=>{const{nodeInternals:A,onNodeDrag:L,onSelectionDrag:F,updateNodePositions:P,nodeExtent:O,snapGrid:I,snapToGrid:z,nodeOrigin:M,onError:$}=s.getState();h.current={x:E,y:k};let N=!1;if(f.current=f.current.map(B=>{const G={x:E-B.distance.x,y:k-B.distance.y};z&&(G.x=I[0]*Math.round(G.x/I[0]),G.y=I[1]*Math.round(G.y/I[1]));const K=yb(B,G,A,O,M,$);return N=N||B.position.x!==K.position.x||B.position.y!==K.position.y,B.position=K.position,B.positionAbsolute=K.positionAbsolute,B}),!N)return;P(f.current,!0,!0),c(!0);const R=i?L:Fc(F);if(R&&m.current){const[B,G]=Vc({nodeId:i,dragItems:f.current,nodeInternals:A});R(m.current,B,G)}},S=()=>{var A,L;if(!g.current)return;const[E,k]=Ay(v.current,g.current);if(E!==0||k!==0){const{transform:F,panBy:P}=s.getState();h.current.x=((A=h.current.x)!=null?A:0)-E/F[2],h.current.y=((L=h.current.y)!=null?L:0)-k/F[2],_(h.current),P({x:E,y:k})}p.current=requestAnimationFrame(S)};if(t)C.on(".drag",null);else{const E=j3().on("start",k=>{var N;const{nodeInternals:A,multiSelectionActive:L,domNode:F,nodesDraggable:P,unselectNodesAndEdges:O,onNodeDragStart:I,onSelectionDragStart:z}=s.getState(),M=i?I:Fc(z);!a&&!L&&i&&((N=A.get(i))!=null&&N.selected||O()),i&&o&&a&&zc({id:i,store:s});const $=y(k);if(h.current=$,f.current=bB(A,P,$,i),M&&f.current){const[R,B]=Vc({nodeId:i,dragItems:f.current,nodeInternals:A});M(k.sourceEvent,R,B)}g.current=(F==null?void 0:F.getBoundingClientRect())||null,v.current=_r(k.sourceEvent,g.current)}).on("drag",k=>{const A=y(k),{autoPanOnNodeDrag:L}=s.getState();!w.current&&L&&(w.current=!0,S()),(h.current.x!==A.xSnapped||h.current.y!==A.ySnapped)&&f.current&&(m.current=k.sourceEvent,v.current=_r(k.sourceEvent,g.current),_(A))}).on("end",k=>{if(c(!1),w.current=!1,cancelAnimationFrame(p.current),f.current){const{updateNodePositions:A,nodeInternals:L,onNodeDragStop:F,onSelectionDragStop:P}=s.getState(),O=i?F:Fc(P);if(A(f.current,!1,!1),O){const[I,z]=Vc({nodeId:i,dragItems:f.current,nodeInternals:L});O(k.sourceEvent,I,z)}}}).filter(k=>{const A=k.target;return!k.button&&(!n||!mb(A,`.${n}`,e))&&(!r||mb(A,r,e))});return C.call(E),()=>{C.on(".drag",null)}}}},[e,t,n,r,o,s,i,a,y]),u}function xb(){const e=Kt();return x.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:s,snapGrid:u,onError:c,nodesDraggable:f}=e.getState(),h=a().filter(C=>C.selected&&(C.draggable||f&&typeof C.draggable>"u")),p=s?u[0]:5,g=s?u[1]:5,v=n.isShiftPressed?4:1,m=n.x*p*v,w=n.y*g*v,y=h.map(C=>{if(C.positionAbsolute){const _={x:C.positionAbsolute.x+m,y:C.positionAbsolute.y+w};s&&(_.x=u[0]*Math.round(_.x/u[0]),_.y=u[1]*Math.round(_.y/u[1]));const{positionAbsolute:S,position:E}=yb(C,_,r,i,void 0,c);C.position=E,C.positionAbsolute=S}return C});o(y,!0,!1)},[])}const Di={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Ro=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:s,yPosOrigin:u,selected:c,onClick:f,onMouseEnter:h,onMouseMove:p,onMouseLeave:g,onContextMenu:v,onDoubleClick:m,style:w,className:y,isDraggable:C,isSelectable:_,isConnectable:S,isFocusable:E,selectNodesOnDrag:k,sourcePosition:A,targetPosition:L,hidden:F,resizeObserver:P,dragHandle:O,zIndex:I,isParent:z,noDragClassName:M,noPanClassName:$,initialized:N,disableKeyboardA11y:R,ariaLabel:B,rfId:G})=>{const K=Kt(),W=x.useRef(null),ee=x.useRef(A),ne=x.useRef(L),U=x.useRef(r),X=_||C||f||h||p||g,ce=xb(),ue=Do(n,K.getState,h),se=Do(n,K.getState,p),ae=Do(n,K.getState,g),xe=Do(n,K.getState,v),be=Do(n,K.getState,m),Y=q=>{if(_&&(!k||!C)&&zc({id:n,store:K}),f){const we=K.getState().nodeInternals.get(n);f(q,{...we})}},re=q=>{var we;if(!Mc(q))if(Ly.includes(q.key)&&_){const ve=q.key==="Escape";ve&&((we=W.current)==null||we.blur()),zc({id:n,store:K,unselect:ve})}else!R&&C&&c&&Object.prototype.hasOwnProperty.call(Di,q.key)&&(K.setState({ariaLiveMessage:`Moved selected node ${q.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),ce({x:Di[q.key].x,y:Di[q.key].y,isShiftPressed:q.shiftKey}))};x.useEffect(()=>{if(W.current&&!F){const q=W.current;return P==null||P.observe(q),()=>P==null?void 0:P.unobserve(q)}},[F]),x.useEffect(()=>{const q=U.current!==r,we=ee.current!==A,ve=ne.current!==L;W.current&&(q||we||ve)&&(q&&(U.current=r),we&&(ee.current=A),ve&&(ne.current=L),K.getState().updateNodeDimensions([{id:n,nodeElement:W.current,forceUpdate:!0}]))},[n,r,A,L]);const Se=wb({nodeRef:W,disabled:F||!C,noDragClassName:M,handleSelector:O,nodeId:n,isSelectable:_,selectNodesOnDrag:k});return F?null:l("div",{className:Zt(["react-flow__node",`react-flow__node-${r}`,{[$]:C},y,{selected:c,selectable:_,parent:z,dragging:Se}]),ref:W,style:{zIndex:I,transform:`translate(${s}px,${u}px)`,pointerEvents:X?"all":"none",visibility:N?"visible":"hidden",...w},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ue,onMouseMove:se,onMouseLeave:ae,onContextMenu:xe,onClick:Y,onDoubleClick:be,onKeyDown:E?re:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-describedby":R?void 0:`${ub}-${G}`,"aria-label":B,children:l(K5,{value:n,children:l(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:c,isConnectable:S,sourcePosition:A,targetPosition:L,dragging:Se,dragHandle:O,zIndex:I})})})};return t.displayName="NodeWrapper",x.memo(t)};function xB(e){const t={input:Ro(e.input||ib),default:Ro(e.default||$c),output:Ro(e.output||ab),group:Ro(e.group||Lc)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Ro(e[o]||$c),i),n);return{...t,...r}}const SB=({x:e,y:t,width:n,height:r,origin:i})=>!n||!r?{x:e,y:t}:i[0]<0||i[1]<0||i[0]>1||i[1]>1?{x:e,y:t}:{x:e-n*i[0],y:t-r*i[1]},CB=typeof document<"u"?document:null;var Ao=(e=null,t={target:CB})=>{const[n,r]=x.useState(!1),i=x.useRef(new Set([])),[o,a]=x.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),c=u.reduce((f,h)=>f.concat(...h),[]);return[u,c]}return[[],[]]},[e]);return x.useEffect(()=>{var s,u;if(e!==null){const c=p=>{if(Mc(p))return!1;const g=Cb(p.code,a);i.current.add(p[g]),Sb(o,i.current,!1)&&(p.preventDefault(),r(!0))},f=p=>{if(Mc(p))return!1;const g=Cb(p.code,a);Sb(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(p[g])},h=()=>{i.current.clear(),r(!1)};return(s=t==null?void 0:t.target)==null||s.addEventListener("keydown",c),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",h),()=>{var p,g;(p=t==null?void 0:t.target)==null||p.removeEventListener("keydown",c),(g=t==null?void 0:t.target)==null||g.removeEventListener("keyup",f),window.removeEventListener("blur",h)}}},[e,r]),n};function Sb(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function Cb(e,t){return t.includes(e)?"code":"key"}function _b(e,t,n,r){var a,s,u,c,f,h,p,g;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Kr(i,r);return _b(i,t,{x:((a=n.x)!=null?a:0)+o.x,y:((s=n.y)!=null?s:0)+o.y,z:((c=(u=i[jt])==null?void 0:u.z)!=null?c:0)>((f=n.z)!=null?f:0)?(p=(h=i[jt])==null?void 0:h.z)!=null?p:0:(g=n.z)!=null?g:0},r)}function Eb(e,t,n){e.forEach(r=>{var i,o;if(r.parentNode&&!e.has(r.parentNode))throw new Error(`Parent node ${r.parentNode} not found`);if(r.parentNode||(n==null?void 0:n[r.id])){const{x:a,y:s,z:u}=_b(r,e,{...r.position,z:(o=(i=r[jt])==null?void 0:i.z)!=null?o:0},t);r.positionAbsolute={x:a,y:s},r[jt].z=u,n!=null&&n[r.id]&&(r[jt].isParent=!0)}})}function Bc(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(s=>{var h;const u=(_n(s.zIndex)?s.zIndex:0)+(s.selected?a:0),c=t.get(s.id),f={width:c==null?void 0:c.width,height:c==null?void 0:c.height,...s,positionAbsolute:{x:s.position.x,y:s.position.y}};s.parentNode&&(f.parentNode=s.parentNode,o[s.parentNode]=!0),Object.defineProperty(f,jt,{enumerable:!1,value:{handleBounds:(h=c==null?void 0:c[jt])==null?void 0:h.handleBounds,z:u}}),i.set(s.id,f)}),Eb(i,n,o),i}function Tb(e,t={}){var p,g,v;const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:s,d3Selection:u,fitViewOnInitDone:c,fitViewOnInit:f,nodeOrigin:h}=e();if((t.initial&&!c&&f||!t.initial)&&s&&u){const m=n().filter(y=>t.includeHiddenNodes?y.width&&y.height:!y.hidden),w=m.every(y=>y.width&&y.height);if(m.length>0&&w){const y=Nc(m,h),[C,_,S]=Xy(y,r,i,(p=t.minZoom)!=null?p:o,(g=t.maxZoom)!=null?g:a,(v=t.padding)!=null?v:.1),E=ar.translate(C,_).scale(S);return typeof t.duration=="number"&&t.duration>0?s.transform(Hr(u,t.duration),E):s.transform(u,E),!0}}return!1}function _B(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[jt]:r[jt],selected:n.selected})}),new Map(t)}function EB(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function _s({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:u,hasDefaultEdges:c}=n();e!=null&&e.length&&(u&&r({nodeInternals:_B(e,i)}),a==null||a(e)),t!=null&&t.length&&(c&&r({edges:EB(t,o)}),s==null||s(t))}const Wr=()=>{},TB={zoomIn:Wr,zoomOut:Wr,zoomTo:Wr,getZoom:()=>1,setViewport:Wr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:Wr,setCenter:Wr,fitBounds:Wr,project:e=>e,viewportInitialized:!1},MB=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),kB=()=>{const e=Kt(),{d3Zoom:t,d3Selection:n}=Tt(MB,nn);return x.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Hr(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Hr(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Hr(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{var f,h,p;const[a,s,u]=e.getState().transform,c=ar.translate((f=i.x)!=null?f:a,(h=i.y)!=null?h:s).scale((p=i.zoom)!=null?p:u);t.transform(Hr(n,o==null?void 0:o.duration),c)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>Tb(e.getState,i),setCenter:(i,o,a)=>{const{width:s,height:u,maxZoom:c}=e.getState(),f=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:c,h=s/2-i*f,p=u/2-o*f,g=ar.translate(h,p).scale(f);t.transform(Hr(n,a==null?void 0:a.duration),g)},fitBounds:(i,o)=>{var v;const{width:a,height:s,minZoom:u,maxZoom:c}=e.getState(),[f,h,p]=Xy(i,a,s,u,c,(v=o==null?void 0:o.padding)!=null?v:.1),g=ar.translate(f,h).scale(p);t.transform(Hr(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:s}=e.getState();return qy(i,o,a,s)},viewportInitialized:!0}:TB,[t,n])};function jc(){const e=kB(),t=Kt(),n=x.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=x.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=x.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(w=>({...w}))},[]),o=x.useCallback(m=>{const{edges:w=[]}=t.getState();return w.find(y=>y.id===m)},[]),a=x.useCallback(m=>{const{getNodes:w,setNodes:y,hasDefaultNodes:C,onNodesChange:_}=t.getState(),S=w(),E=typeof m=="function"?m(S):m;if(C)y(E);else if(_){const k=E.length===0?S.map(A=>({type:"remove",id:A.id})):E.map(A=>({item:A,type:"reset"}));_(k)}},[]),s=x.useCallback(m=>{const{edges:w=[],setEdges:y,hasDefaultEdges:C,onEdgesChange:_}=t.getState(),S=typeof m=="function"?m(w):m;if(C)y(S);else if(_){const E=S.length===0?w.map(k=>({type:"remove",id:k.id})):S.map(k=>({item:k,type:"reset"}));_(E)}},[]),u=x.useCallback(m=>{const w=Array.isArray(m)?m:[m],{getNodes:y,setNodes:C,hasDefaultNodes:_,onNodesChange:S}=t.getState();if(_){const k=[...y(),...w];C(k)}else if(S){const E=w.map(k=>({item:k,type:"add"}));S(E)}},[]),c=x.useCallback(m=>{const w=Array.isArray(m)?m:[m],{edges:y=[],setEdges:C,hasDefaultEdges:_,onEdgesChange:S}=t.getState();if(_)C([...y,...w]);else if(S){const E=w.map(k=>({item:k,type:"add"}));S(E)}},[]),f=x.useCallback(()=>{const{getNodes:m,edges:w=[],transform:y}=t.getState(),[C,_,S]=y;return{nodes:m().map(E=>({...E})),edges:w.map(E=>({...E})),viewport:{x:C,y:_,zoom:S}}},[]),h=x.useCallback(({nodes:m,edges:w})=>{const{nodeInternals:y,getNodes:C,edges:_,hasDefaultNodes:S,hasDefaultEdges:E,onNodesDelete:k,onEdgesDelete:A,onNodesChange:L,onEdgesChange:F}=t.getState(),P=(m||[]).map($=>$.id),O=(w||[]).map($=>$.id),I=C().reduce(($,N)=>{const R=!P.includes(N.id)&&N.parentNode&&$.find(G=>G.id===N.parentNode);return(typeof N.deletable=="boolean"?N.deletable:!0)&&(P.includes(N.id)||R)&&$.push(N),$},[]),z=_.filter($=>typeof $.deletable=="boolean"?$.deletable:!0),M=z.filter($=>O.includes($.id));if(I||M){const $=Yy(I,z),N=[...M,...$],R=N.reduce((B,G)=>(B.includes(G.id)||B.push(G.id),B),[]);if((E||S)&&(E&&t.setState({edges:_.filter(B=>!R.includes(B.id))}),S&&(I.forEach(B=>{y.delete(B.id)}),t.setState({nodeInternals:new Map(y)}))),R.length>0&&(A==null||A(N),F&&F(R.map(B=>({id:B,type:"remove"})))),I.length>0&&(k==null||k(I),L)){const B=I.map(G=>({id:G.id,type:"remove"}));L(B)}}},[]),p=x.useCallback(m=>{const w=V5(m),y=w?null:t.getState().nodeInternals.get(m.id);return[w?m:$y(y),y,w]},[]),g=x.useCallback((m,w=!0,y)=>{const[C,_,S]=p(m);return C?(y||t.getState().getNodes()).filter(E=>{if(!S&&(E.id===_.id||!E.positionAbsolute))return!1;const k=$y(E),A=Ec(k,C);return w&&A>0||A>=m.width*m.height}):[]},[]),v=x.useCallback((m,w,y=!0)=>{const[C]=p(m);if(!C)return!1;const _=Ec(C,w);return y&&_>0||_>=m.width*m.height},[]);return x.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:s,addNodes:u,addEdges:c,toObject:f,deleteElements:h,getIntersectingNodes:g,isNodeIntersecting:v}),[e,n,r,i,o,a,s,u,c,f,h,g,v])}var OB=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Kt(),{deleteElements:r}=jc(),i=Ao(e),o=Ao(t);x.useEffect(()=>{if(i){const{edges:a,getNodes:s}=n.getState(),u=s().filter(f=>f.selected),c=a.filter(f=>f.selected);r({nodes:u,edges:c}),n.setState({nodesSelectionActive:!1})}},[i]),x.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function DB(e){const t=Kt();x.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Cc(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",jn["004"]())),t.setState({width:i.width||500,height:i.height||500})};return r(),window.addEventListener("resize",r),e.current&&(n=new ResizeObserver(()=>r()),n.observe(e.current)),()=>{window.removeEventListener("resize",r),n&&e.current&&n.unobserve(e.current)}},[])}const Gc={position:"absolute",width:"100%",height:"100%",top:0,left:0},RB=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Kc=e=>({x:e.x,y:e.y,zoom:e.k}),Ri=(e,t)=>e.target.closest(`.${t}`),Mb=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),AB=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),PB=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:u=Ti.Free,zoomOnDoubleClick:c=!0,elementsSelectable:f,panOnDrag:h=!0,defaultViewport:p,translateExtent:g,minZoom:v,maxZoom:m,zoomActivationKeyCode:w,preventScrolling:y=!0,children:C,noWheelClassName:_,noPanClassName:S})=>{const E=x.useRef(),k=Kt(),A=x.useRef(!1),L=x.useRef(!1),F=x.useRef(null),P=x.useRef({x:0,y:0,zoom:0}),{d3Zoom:O,d3Selection:I,d3ZoomHandler:z,userSelectionActive:M}=Tt(AB,nn),$=Ao(w),N=x.useRef(0);return DB(F),x.useEffect(()=>{if(F.current){const R=F.current.getBoundingClientRect(),B=Oy().scaleExtent([v,m]).translateExtent(g),G=Cn(F.current).call(B),K=ar.translate(p.x,p.y).scale(Ei(p.zoom,v,m)),W=[[0,0],[R.width,R.height]],ee=B.constrain()(K,W,g);B.transform(G,ee),k.setState({d3Zoom:B,d3Selection:G,d3ZoomHandler:G.on("wheel.zoom"),transform:[ee.x,ee.y,ee.k],domNode:F.current.closest(".react-flow")})}},[]),x.useEffect(()=>{I&&O&&(a&&!$&&!M?I.on("wheel.zoom",R=>{if(Ri(R,_))return!1;R.preventDefault(),R.stopImmediatePropagation();const B=I.property("__zoom").k||1;if(R.ctrlKey&&o){const ee=Dn(R),ne=-R.deltaY*(R.deltaMode===1?.05:R.deltaMode?1:.002)*10,U=B*Math.pow(2,ne);O.scaleTo(I,U,ee);return}const G=R.deltaMode===1?20:1,K=u===Ti.Vertical?0:R.deltaX*G,W=u===Ti.Horizontal?0:R.deltaY*G;O.translateBy(I,-(K/B)*s,-(W/B)*s)}):typeof z<"u"&&I.on("wheel.zoom",function(R,B){if(!y||Ri(R,_))return null;R.preventDefault(),z.call(this,R,B)}))},[M,a,u,I,O,z,$,o,y,_]),x.useEffect(()=>{O&&O.on("start",R=>{var G;if(!R.sourceEvent)return null;N.current=R.sourceEvent.button;const{onViewportChangeStart:B}=k.getState();if(A.current=!0,((G=R.sourceEvent)==null?void 0:G.type)==="mousedown"&&k.setState({paneDragging:!0}),t||B){const K=Kc(R.transform);P.current=K,B==null||B(K),t==null||t(R.sourceEvent,K)}})},[O,t]),x.useEffect(()=>{O&&(M&&!A.current?O.on("zoom",null):M||O.on("zoom",R=>{var G;const{onViewportChange:B}=k.getState();if(k.setState({transform:[R.transform.x,R.transform.y,R.transform.k]}),L.current=!!(r&&Mb(h,(G=N.current)!=null?G:0)),e||B){const K=Kc(R.transform);B==null||B(K),e==null||e(R.sourceEvent,K)}}))},[M,O,e,h,r]),x.useEffect(()=>{O&&O.on("end",R=>{var G;if(!R.sourceEvent)return null;const{onViewportChangeEnd:B}=k.getState();if(A.current=!1,k.setState({paneDragging:!1}),r&&Mb(h,(G=N.current)!=null?G:0)&&!L.current&&r(R.sourceEvent),L.current=!1,(n||B)&&RB(P.current,R.transform)){const K=Kc(R.transform);P.current=K,clearTimeout(E.current),E.current=setTimeout(()=>{B==null||B(K),n==null||n(R.sourceEvent,K)},a?150:0)}})},[O,a,h,n,r]),x.useEffect(()=>{O&&O.filter(R=>{const B=$||i,G=o&&R.ctrlKey;if(R.button===1&&R.type==="mousedown"&&(Ri(R,"react-flow__node")||Ri(R,"react-flow__edge")))return!0;if(!h&&!B&&!a&&!c&&!o||M||!c&&R.type==="dblclick"||Ri(R,_)&&R.type==="wheel"||Ri(R,S)&&R.type!=="wheel"||!o&&R.ctrlKey&&R.type==="wheel"||!B&&!a&&!G&&R.type==="wheel"||!h&&(R.type==="mousedown"||R.type==="touchstart")||Array.isArray(h)&&!h.includes(R.button)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const K=Array.isArray(h)&&h.includes(R.button)||!R.button||R.button<=1;return(!R.ctrlKey||R.type==="wheel")&&K})},[M,O,i,o,a,c,h,f,$]),l("div",{className:"react-flow__renderer",ref:F,style:Gc,children:C})},NB=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function IB(){const{userSelectionActive:e,userSelectionRect:t}=Tt(NB,nn);return e&&t?l("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function kb(e,t){var r,i;const n=e.find(o=>o.id===t.parentNode);if(n){const o=t.position.x+t.width-n.width,a=t.position.y+t.height-n.height;if(o>0||a>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=(r=n.style.width)!=null?r:n.width,n.style.height=(i=n.style.height)!=null?i:n.height,o>0&&(n.style.width+=o),a>0&&(n.style.height+=a),t.position.x<0){const s=Math.abs(t.position.x);n.position.x=n.position.x-s,n.style.width+=s,t.position.x=0}if(t.position.y<0){const s=Math.abs(t.position.y);n.position.y=n.position.y-s,n.style.height+=s,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function $B(e,t){if(e.some(r=>r.type==="reset"))return e.filter(r=>r.type==="reset").map(r=>r.item);const n=e.filter(r=>r.type==="add").map(r=>r.item);return t.reduce((r,i)=>{const o=e.filter(s=>s.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const s of o)if(s)switch(s.type){case"select":{a.selected=s.selected;break}case"position":{typeof s.position<"u"&&(a.position=s.position),typeof s.positionAbsolute<"u"&&(a.positionAbsolute=s.positionAbsolute),typeof s.dragging<"u"&&(a.dragging=s.dragging),a.expandParent&&kb(r,a);break}case"dimensions":{typeof s.dimensions<"u"&&(a.width=s.dimensions.width,a.height=s.dimensions.height),typeof s.updateStyle<"u"&&(a.style={...a.style||{},...s.dimensions}),typeof s.resizing=="boolean"&&(a.resizing=s.resizing),a.expandParent&&kb(r,a);break}case"remove":return r}return r.push(a),r},n)}function LB(e,t){return $B(e,t)}const Tr=(e,t)=>({id:e,type:"select",selected:t});function Ai(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Tr(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Tr(r.id,!1))),n},[])}const Hc=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},VB=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Ob=x.memo(({isSelecting:e,selectionMode:t=Oo.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:s,onPaneMouseEnter:u,onPaneMouseMove:c,onPaneMouseLeave:f,children:h})=>{const p=x.useRef(null),g=Kt(),v=x.useRef(0),m=x.useRef(0),w=x.useRef(),{userSelectionActive:y,elementsSelectable:C,dragging:_}=Tt(VB,nn),S=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,m.current=0},E=z=>{o==null||o(z),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},k=z=>{if(Array.isArray(n)&&(n==null?void 0:n.includes(2))){z.preventDefault();return}a==null||a(z)},A=s?z=>s(z):void 0,L=z=>{const{resetSelectedElements:M,domNode:$}=g.getState();if(w.current=$==null?void 0:$.getBoundingClientRect(),!C||!e||z.button!==0||z.target!==p.current||!w.current)return;const{x:N,y:R}=_r(z,w.current);M(),g.setState({userSelectionRect:{width:0,height:0,startX:N,startY:R,x:N,y:R}}),r==null||r(z)},F=z=>{var xe,be;const{userSelectionRect:M,nodeInternals:$,edges:N,transform:R,onNodesChange:B,onEdgesChange:G,nodeOrigin:K,getNodes:W}=g.getState();if(!e||!w.current||!M)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const ee=_r(z,w.current),ne=(xe=M.startX)!=null?xe:0,U=(be=M.startY)!=null?be:0,X={...M,x:ee.x<ne?ee.x:ne,y:ee.y<U?ee.y:U,width:Math.abs(ee.x-ne),height:Math.abs(ee.y-U)},ce=W(),ue=Uy($,X,R,t===Oo.Partial,!0,K),se=Yy(ue,N).map(Y=>Y.id),ae=ue.map(Y=>Y.id);if(v.current!==ae.length){v.current=ae.length;const Y=Ai(ce,ae);Y.length&&(B==null||B(Y))}if(m.current!==se.length){m.current=se.length;const Y=Ai(N,se);Y.length&&(G==null||G(Y))}g.setState({userSelectionRect:X})},P=z=>{if(z.button!==0)return;const{userSelectionRect:M}=g.getState();!y&&M&&z.target===p.current&&(E==null||E(z)),g.setState({nodesSelectionActive:v.current>0}),S(),i==null||i(z)},O=z=>{y&&(g.setState({nodesSelectionActive:v.current>0}),i==null||i(z)),S()},I=C&&(e||y);return b("div",{className:Zt(["react-flow__pane",{dragging:_,selection:e}]),onClick:I?void 0:Hc(E,p),onContextMenu:Hc(k,p),onWheel:Hc(A,p),onMouseEnter:I?void 0:u,onMouseDown:I?L:void 0,onMouseMove:I?F:c,onMouseUp:I?P:void 0,onMouseLeave:I?O:f,ref:p,style:Gc,children:[h,l(IB,{})]})});Ob.displayName="Pane";const zB=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Nc(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function FB({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Kt(),{width:i,height:o,x:a,y:s,transformString:u,userSelectionActive:c}=Tt(zB,nn),f=xb(),h=x.useRef(null);if(x.useEffect(()=>{var v;n||(v=h.current)==null||v.focus({preventScroll:!0})},[n]),wb({nodeRef:h}),c||!i||!o)return null;const p=e?v=>{const m=r.getState().getNodes().filter(w=>w.selected);e(v,m)}:void 0,g=v=>{Object.prototype.hasOwnProperty.call(Di,v.key)&&f({x:Di[v.key].x,y:Di[v.key].y,isShiftPressed:v.shiftKey})};return l("div",{className:Zt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:u},children:l("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:s,left:a}})})}var BB=x.memo(FB);const jB=e=>e.nodesSelectionActive,Db=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:s,onMove:u,onMoveStart:c,onMoveEnd:f,selectionKeyCode:h,selectionOnDrag:p,selectionMode:g,onSelectionStart:v,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:y,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:S,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:A,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:P,defaultViewport:O,translateExtent:I,minZoom:z,maxZoom:M,preventScrolling:$,onSelectionContextMenu:N,noWheelClassName:R,noPanClassName:B,disableKeyboardA11y:G})=>{const K=Tt(jB),W=Ao(h),ne=Ao(y)||P,U=W||p&&ne!==!0;return OB({deleteKeyCode:s,multiSelectionKeyCode:w}),l(PB,{onMove:u,onMoveStart:c,onMoveEnd:f,onPaneContextMenu:o,elementsSelectable:_,zoomOnScroll:S,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:A,panOnScrollMode:L,zoomOnDoubleClick:F,panOnDrag:!W&&ne,defaultViewport:O,translateExtent:I,minZoom:z,maxZoom:M,zoomActivationKeyCode:C,preventScrolling:$,noWheelClassName:R,noPanClassName:B,children:b(Ob,{onSelectionStart:v,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:ne,isSelecting:!!U,selectionMode:g,children:[e,K&&l(BB,{onSelectionContextMenu:N,noPanClassName:B,disableKeyboardA11y:G})]})})};Db.displayName="FlowRenderer";var GB=x.memo(Db);function KB(e){return Tt(x.useCallback(n=>e?Uy(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const HB=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Rb=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=Tt(HB,nn),s=KB(e.onlyRenderVisibleElements),u=x.useRef(),c=x.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(h=>{const p=h.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(p)});return u.current=f,f},[]);return x.useEffect(()=>()=>{var f;(f=u==null?void 0:u.current)==null||f.disconnect()},[]),l("div",{className:"react-flow__nodes",style:Gc,children:s.map(f=>{var E,k,A,L,F,P,O;let h=f.type||"default";e.nodeTypes[h]||(a==null||a("003",jn["003"](h)),h="default");const p=e.nodeTypes[h]||e.nodeTypes.default,g=!!(f.draggable||t&&typeof f.draggable>"u"),v=!!(f.selectable||i&&typeof f.selectable>"u"),m=!!(f.connectable||n&&typeof f.connectable>"u"),w=!!(f.focusable||r&&typeof f.focusable>"u"),y=e.nodeExtent?_c(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,C=(E=y==null?void 0:y.x)!=null?E:0,_=(k=y==null?void 0:y.y)!=null?k:0,S=SB({x:C,y:_,width:(A=f.width)!=null?A:0,height:(L=f.height)!=null?L:0,origin:e.nodeOrigin});return l(p,{id:f.id,className:f.className,style:f.style,type:h,data:f.data,sourcePosition:f.sourcePosition||Me.Bottom,targetPosition:f.targetPosition||Me.Top,hidden:f.hidden,xPos:C,yPos:_,xPosOrigin:S.x,yPosOrigin:S.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!f.selected,isDraggable:g,isSelectable:v,isConnectable:m,isFocusable:w,resizeObserver:c,dragHandle:f.dragHandle,zIndex:(P=(F=f[jt])==null?void 0:F.z)!=null?P:0,isParent:!!((O=f[jt])!=null&&O.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel},f.id)})})};Rb.displayName="NodeRenderer";var WB=x.memo(Rb);const qB=[{level:0,isMaxLevel:!0,edges:[]}];function UB(e,t,n=!1){let r=-1;const i=e.reduce((a,s)=>{var f,h,p,g;const u=_n(s.zIndex);let c=u?s.zIndex:0;return n&&(c=u?s.zIndex:Math.max(((h=(f=t.get(s.source))==null?void 0:f[jt])==null?void 0:h.z)||0,((g=(p=t.get(s.target))==null?void 0:p[jt])==null?void 0:g.z)||0)),a[c]?a[c].push(s):a[c]=[s],r=c>r?c:r,a},{}),o=Object.entries(i).map(([a,s])=>{const u=+a;return{edges:s,level:u,isMaxLevel:u===r}});return o.length===0?qB:o}function YB(e,t,n){const r=Tt(x.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),s=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(s==null?void 0:s.width)&&(s==null?void 0:s.height)&&yB({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:s.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:s.width,targetHeight:s.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return UB(r,t,n)}const XB=({color:e="none",strokeWidth:t=1})=>l("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),QB=({color:e="none",strokeWidth:t=1})=>l("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),Ab={[bs.Arrow]:XB,[bs.ArrowClosed]:QB};function ZB(e){const t=Kt();return x.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(Ab,e)?Ab[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",jn["009"](e)),null)},[e])}const JB=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:s="auto-start-reverse"})=>{const u=ZB(t);return u?l("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:s,refX:"0",refY:"0",children:l(u,{color:n,strokeWidth:a})}):null},ej=({defaultColor:e,rfId:t})=>n=>{const r=[];return n.edges.reduce((i,o)=>([o.markerStart,o.markerEnd].forEach(a=>{if(a&&typeof a=="object"){const s=Pc(a,t);r.includes(s)||(i.push({id:s,color:a.color||e,...a}),r.push(s))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},Pb=({defaultColor:e,rfId:t})=>{const n=Tt(x.useCallback(ej({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return l("defs",{children:n.map(r=>l(JB,{id:r.id,type:r.type,color:r.color,width:r.width,height:r.height,markerUnits:r.markerUnits,strokeWidth:r.strokeWidth,orient:r.orient},r.id))})};Pb.displayName="MarkerDefinitions";var tj=x.memo(Pb);const nj=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),Nb=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:a,onEdgeContextMenu:s,onEdgeMouseEnter:u,onEdgeMouseMove:c,onEdgeMouseLeave:f,onEdgeClick:h,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,children:w})=>{const{edgesFocusable:y,elementsSelectable:C,width:_,height:S,connectionMode:E,nodeInternals:k,onError:A}=Tt(nj,nn),L=YB(t,k,n);return _?b(Oe,{children:[L.map(({level:F,edges:P,isMaxLevel:O})=>b("svg",{style:{zIndex:F},width:_,height:S,className:"react-flow__edges react-flow__container",children:[O&&l(tj,{defaultColor:e,rfId:r}),l("g",{children:P.map(I=>{var be,Y;const[z,M,$]=gb(k.get(I.source)),[N,R,B]=gb(k.get(I.target));if(!$||!B)return null;let G=I.type||"default";i[G]||(A==null||A("011",jn["011"](G)),G="default");const K=i[G]||i.default,W=E===Gr.Strict?R.target:((be=R.target)!=null?be:[]).concat((Y=R.source)!=null?Y:[]),ee=hb(M.source,I.sourceHandle),ne=hb(W,I.targetHandle),U=(ee==null?void 0:ee.position)||Me.Bottom,X=(ne==null?void 0:ne.position)||Me.Top,ce=!!(I.focusable||y&&typeof I.focusable>"u");if(!ee||!ne)return A==null||A("008",jn["008"](ee,I)),null;const{sourceX:ue,sourceY:se,targetX:ae,targetY:xe}=mB(z,ee,U,N,ne,X);return l(K,{id:I.id,className:Zt([I.className,o]),type:G,data:I.data,selected:!!I.selected,animated:!!I.animated,hidden:!!I.hidden,label:I.label,labelStyle:I.labelStyle,labelShowBg:I.labelShowBg,labelBgStyle:I.labelBgStyle,labelBgPadding:I.labelBgPadding,labelBgBorderRadius:I.labelBgBorderRadius,style:I.style,source:I.source,target:I.target,sourceHandleId:I.sourceHandle,targetHandleId:I.targetHandle,markerEnd:I.markerEnd,markerStart:I.markerStart,sourceX:ue,sourceY:se,targetX:ae,targetY:xe,sourcePosition:U,targetPosition:X,elementsSelectable:C,onEdgeUpdate:a,onContextMenu:s,onMouseEnter:u,onMouseMove:c,onMouseLeave:f,onClick:h,edgeUpdaterRadius:p,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,rfId:r,ariaLabel:I.ariaLabel,isFocusable:ce,pathOptions:"pathOptions"in I?I.pathOptions:void 0,interactionWidth:I.interactionWidth},I.id)})})]},F)),w]}):null};Nb.displayName="EdgeRenderer";var rj=x.memo(Nb);const ij=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function oj({children:e}){const t=Tt(ij);return l("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function aj(e){const t=jc(),n=x.useRef(!1);x.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const sj={[Me.Left]:Me.Right,[Me.Right]:Me.Left,[Me.Top]:Me.Bottom,[Me.Bottom]:Me.Top},Ib=({nodeId:e,handleType:t,style:n,type:r=Er.Bezier,CustomComponent:i,connectionStatus:o})=>{var k,A,L,F,P,O,I;const{fromNode:a,handleId:s,toX:u,toY:c,connectionMode:f}=Tt(x.useCallback(z=>({fromNode:z.nodeInternals.get(e),handleId:z.connectionHandleId,toX:(z.connectionPosition.x-z.transform[0])/z.transform[2],toY:(z.connectionPosition.y-z.transform[1])/z.transform[2],connectionMode:z.connectionMode}),[e]),nn),h=(k=a==null?void 0:a[jt])==null?void 0:k.handleBounds;let p=h==null?void 0:h[t];if(f===Gr.Loose&&(p=p||(h==null?void 0:h[t==="source"?"target":"source"])),!a||!p)return null;const g=s?p.find(z=>z.id===s):p[0],v=g?g.x+g.width/2:((A=a.width)!=null?A:0)/2,m=g?g.y+g.height/2:(L=a.height)!=null?L:0,w=((P=(F=a.positionAbsolute)==null?void 0:F.x)!=null?P:0)+v,y=((I=(O=a.positionAbsolute)==null?void 0:O.y)!=null?I:0)+m,C=g==null?void 0:g.position,_=C?sj[C]:null;if(!C||!_)return null;if(i)return l(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:g,fromX:w,fromY:y,toX:u,toY:c,fromPosition:C,toPosition:_,connectionStatus:o});let S="";const E={sourceX:w,sourceY:y,sourcePosition:C,targetX:u,targetY:c,targetPosition:_};return r===Er.Bezier?[S]=Wy(E):r===Er.Step?[S]=Oc({...E,borderRadius:0}):r===Er.SmoothStep?[S]=Oc(E):r===Er.SimpleBezier?[S]=jy(E):S=`M${w},${y} ${u},${c}`,l("path",{d:S,fill:"none",className:"react-flow__connection-path",style:n})};Ib.displayName="ConnectionLine";const lj=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function uj({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:s,height:u,connectionStatus:c}=Tt(lj,nn);return!(i&&o&&s&&a)?null:l("svg",{style:e,width:s,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container",children:l("g",{className:Zt(["react-flow__connection",c]),children:l(Ib,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:c})})})}const $b=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:s,onNodeDoubleClick:u,onEdgeDoubleClick:c,onNodeMouseEnter:f,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:m,onSelectionEnd:w,connectionLineType:y,connectionLineStyle:C,connectionLineComponent:_,connectionLineContainerStyle:S,selectionKeyCode:E,selectionOnDrag:k,selectionMode:A,multiSelectionKeyCode:L,panActivationKeyCode:F,zoomActivationKeyCode:P,deleteKeyCode:O,onlyRenderVisibleElements:I,elementsSelectable:z,selectNodesOnDrag:M,defaultViewport:$,translateExtent:N,minZoom:R,maxZoom:B,preventScrolling:G,defaultMarkerColor:K,zoomOnScroll:W,zoomOnPinch:ee,panOnScroll:ne,panOnScrollSpeed:U,panOnScrollMode:X,zoomOnDoubleClick:ce,panOnDrag:ue,onPaneClick:se,onPaneMouseEnter:ae,onPaneMouseMove:xe,onPaneMouseLeave:be,onPaneScroll:Y,onPaneContextMenu:re,onEdgeUpdate:Se,onEdgeContextMenu:q,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:_e,edgeUpdaterRadius:ke,onEdgeUpdateStart:ge,onEdgeUpdateEnd:Ke,noDragClassName:Pe,noWheelClassName:Xe,noPanClassName:Ee,elevateEdgesOnSelect:Fe,disableKeyboardA11y:$e,nodeOrigin:Ve,nodeExtent:ct,rfId:at})=>(aj(o),l(GB,{onPaneClick:se,onPaneMouseEnter:ae,onPaneMouseMove:xe,onPaneMouseLeave:be,onPaneContextMenu:re,onPaneScroll:Y,deleteKeyCode:O,selectionKeyCode:E,selectionOnDrag:k,selectionMode:A,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:L,panActivationKeyCode:F,zoomActivationKeyCode:P,elementsSelectable:z,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:W,zoomOnPinch:ee,zoomOnDoubleClick:ce,panOnScroll:ne,panOnScrollSpeed:U,panOnScrollMode:X,panOnDrag:ue,defaultViewport:$,translateExtent:N,minZoom:R,maxZoom:B,onSelectionContextMenu:v,preventScrolling:G,noDragClassName:Pe,noWheelClassName:Xe,noPanClassName:Ee,disableKeyboardA11y:$e,children:b(oj,{children:[l(rj,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:c,onEdgeUpdate:Se,onlyRenderVisibleElements:I,onEdgeContextMenu:q,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:_e,onEdgeUpdateStart:ge,onEdgeUpdateEnd:Ke,edgeUpdaterRadius:ke,defaultMarkerColor:K,noPanClassName:Ee,elevateEdgesOnSelect:!!Fe,disableKeyboardA11y:$e,rfId:at,children:l(uj,{style:C,type:y,component:_,containerStyle:S})}),l("div",{className:"react-flow__edgelabel-renderer"}),l(WB,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:g,selectNodesOnDrag:M,onlyRenderVisibleElements:I,noPanClassName:Ee,noDragClassName:Pe,disableKeyboardA11y:$e,nodeOrigin:Ve,nodeExtent:ct,rfId:at})]})}));$b.displayName="GraphView";var cj=x.memo($b);const Wc=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Pi={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Wc,nodeExtent:Wc,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Gr.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,multiSelectionActive:!1,connectionStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:Tc},dj=()=>qz((e,t)=>({...Pi,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Bc(n,r,i,o)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:n=>{const{defaultEdgeOptions:r={}}=t();e({edges:n.map(i=>({...r,...i}))})},setDefaultNodesAndEdges:(n,r)=>{const i=typeof n<"u",o=typeof r<"u",a=i?Bc(n,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:a,edges:o?r:[],hasDefaultNodes:i,hasDefaultEdges:o})},updateNodeDimensions:n=>{const{onNodesChange:r,nodeInternals:i,fitViewOnInit:o,fitViewOnInitDone:a,fitViewOnInitOptions:s,domNode:u,nodeOrigin:c}=t(),f=u==null?void 0:u.querySelector(".react-flow__viewport");if(!f)return;const h=window.getComputedStyle(f),{m22:p}=new window.DOMMatrixReadOnly(h.transform),g=n.reduce((m,w)=>{const y=i.get(w.id);if(y){const C=Cc(w.nodeElement);!!(C.width&&C.height&&(y.width!==C.width||y.height!==C.height||w.forceUpdate))&&(i.set(y.id,{...y,[jt]:{...y[jt],handleBounds:{source:bb(".source",w.nodeElement,p,c),target:bb(".target",w.nodeElement,p,c)}},...C}),m.push({id:y.id,type:"dimensions",dimensions:C}))}return m},[]);Eb(i,c);const v=a||o&&!a&&Tb(t,{initial:!0,...s});e({nodeInternals:new Map(i),fitViewOnInitDone:v}),(g==null?void 0:g.length)>0&&(r==null||r(g))},updateNodePositions:(n,r=!0,i=!1)=>{const{triggerNodeChanges:o}=t(),a=n.map(s=>{const u={id:s.id,type:"position",dragging:i};return r&&(u.positionAbsolute=s.positionAbsolute,u.position=s.position),u});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:s,elevateNodesOnSelect:u}=t();if(n!=null&&n.length){if(o){const c=LB(n,s()),f=Bc(c,i,a,u);e({nodeInternals:f})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(u=>Tr(u,!0)):(a=Ai(o(),n),s=Ai(i,[])),_s({changedNodes:a,changedEdges:s,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,s=null;r?a=n.map(u=>Tr(u,!0)):(a=Ai(i,n),s=Ai(o(),[])),_s({changedNodes:s,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),s=r||i,u=a.map(f=>(f.selected=!1,Tr(f.id,!1))),c=s.map(f=>Tr(f.id,!1));_s({changedNodes:u,changedEdges:c,get:t,set:e})},setMinZoom:n=>{const{d3Zoom:r,maxZoom:i}=t();r==null||r.scaleExtent([n,i]),e({minZoom:n})},setMaxZoom:n=>{const{d3Zoom:r,minZoom:i}=t();r==null||r.scaleExtent([i,n]),e({maxZoom:n})},setTranslateExtent:n=>{var r;(r=t().d3Zoom)==null||r.translateExtent(n),e({translateExtent:n})},resetSelectedElements:()=>{const{edges:n,getNodes:r}=t(),o=r().filter(s=>s.selected).map(s=>Tr(s.id,!1)),a=n.filter(s=>s.selected).map(s=>Tr(s.id,!1));_s({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=_c(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:s,translateExtent:u}=t();if(!a||!s||!n.x&&!n.y)return;const c=ar.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),f=[[0,0],[i,o]],h=a==null?void 0:a.constrain()(c,f,u);a.transform(s,h)},cancelConnection:()=>e({connectionNodeId:Pi.connectionNodeId,connectionHandleId:Pi.connectionHandleId,connectionHandleType:Pi.connectionHandleType,connectionStatus:Pi.connectionStatus}),reset:()=>e({...Pi})})),Lb=({children:e})=>{const t=x.useRef(null);return t.current||(t.current=dj()),l(A5,{value:t.current,children:e})};Lb.displayName="ReactFlowProvider";const Vb=({children:e})=>x.useContext(ms)?l(Oe,{children:e}):l(Lb,{children:e});Vb.displayName="ReactFlowWrapper";function zb(e,t){const n=x.useRef(null);return x.useMemo(()=>{if(process.env.NODE_ENV==="development"){const i=Object.keys(e);nn(n.current,i)&&Tc("002",jn["002"]()),n.current=i}return t(e)},[e])}const fj={input:ib,default:$c,output:ab,group:Lc},pj={default:Ss,straight:Rc,step:Dc,smoothstep:ws,simplebezier:kc},hj=[0,0],gj=[15,15],vj={x:0,y:0,zoom:1},mj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Fb=x.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=fj,edgeTypes:a=pj,onNodeClick:s,onEdgeClick:u,onInit:c,onMove:f,onMoveStart:h,onMoveEnd:p,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:y,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:S,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:A,onNodeDrag:L,onNodeDragStop:F,onNodesDelete:P,onEdgesDelete:O,onSelectionChange:I,onSelectionDragStart:z,onSelectionDrag:M,onSelectionDragStop:$,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:B,connectionMode:G=Gr.Strict,connectionLineType:K=Er.Bezier,connectionLineStyle:W,connectionLineComponent:ee,connectionLineContainerStyle:ne,deleteKeyCode:U="Backspace",selectionKeyCode:X="Shift",selectionOnDrag:ce=!1,selectionMode:ue=Oo.Full,panActivationKeyCode:se="Space",multiSelectionKeyCode:ae="Meta",zoomActivationKeyCode:xe="Meta",snapToGrid:be=!1,snapGrid:Y=gj,onlyRenderVisibleElements:re=!1,selectNodesOnDrag:Se=!0,nodesDraggable:q,nodesConnectable:we,nodesFocusable:ve,nodeOrigin:_e=hj,edgesFocusable:ke,elementsSelectable:ge,defaultViewport:Ke=vj,minZoom:Pe=.5,maxZoom:Xe=2,translateExtent:Ee=Wc,preventScrolling:Fe=!0,nodeExtent:$e,defaultMarkerColor:Ve="#b1b1b7",zoomOnScroll:ct=!0,zoomOnPinch:at=!0,panOnScroll:We=!1,panOnScrollSpeed:st=.5,panOnScrollMode:Ce=Ti.Free,zoomOnDoubleClick:Ne=!0,panOnDrag:et=!0,onPaneClick:Mt,onPaneMouseEnter:lt,onPaneMouseMove:kt,onPaneMouseLeave:dt,onPaneScroll:Gt,onPaneContextMenu:Ot,children:bt,onEdgeUpdate:_t,onEdgeContextMenu:Ht,onEdgeDoubleClick:vt,onEdgeMouseEnter:cn,onEdgeMouseMove:Vt,onEdgeMouseLeave:ie,onEdgeUpdateStart:fe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Ae=10,onNodesChange:Qe,onEdgesChange:ft,noDragClassName:Wt="nodrag",noWheelClassName:qt="nowheel",noPanClassName:dn="nopan",fitView:xt=!1,fitViewOptions:V,connectOnClick:J=!0,attributionPosition:Q,proOptions:pe,defaultEdgeOptions:ye,elevateNodesOnSelect:Te=!0,elevateEdgesOnSelect:Ie=!1,disableKeyboardA11y:De=!1,autoPanOnConnect:Ge=!0,autoPanOnNodeDrag:ze=!0,connectionRadius:qe=20,onError:Ct,style:rn,id:vn,...Dt},Gn)=>{const sr=zb(o,xB),an=zb(a,vB),sn=vn||"1";return l("div",{...Dt,style:{...rn,...mj},ref:Gn,className:Zt(["react-flow",i]),"data-testid":"rf__wrapper",id:vn,children:b(Vb,{children:[l(cj,{onInit:c,onMove:f,onMoveStart:h,onMoveEnd:p,onNodeClick:s,onEdgeClick:u,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:S,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:sr,edgeTypes:an,connectionLineType:K,connectionLineStyle:W,connectionLineComponent:ee,connectionLineContainerStyle:ne,selectionKeyCode:X,selectionOnDrag:ce,selectionMode:ue,deleteKeyCode:U,multiSelectionKeyCode:ae,panActivationKeyCode:se,zoomActivationKeyCode:xe,onlyRenderVisibleElements:re,selectNodesOnDrag:Se,defaultViewport:Ke,translateExtent:Ee,minZoom:Pe,maxZoom:Xe,preventScrolling:Fe,zoomOnScroll:ct,zoomOnPinch:at,zoomOnDoubleClick:Ne,panOnScroll:We,panOnScrollSpeed:st,panOnScrollMode:Ce,panOnDrag:et,onPaneClick:Mt,onPaneMouseEnter:lt,onPaneMouseMove:kt,onPaneMouseLeave:dt,onPaneScroll:Gt,onPaneContextMenu:Ot,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:B,onEdgeUpdate:_t,onEdgeContextMenu:Ht,onEdgeDoubleClick:vt,onEdgeMouseEnter:cn,onEdgeMouseMove:Vt,onEdgeMouseLeave:ie,onEdgeUpdateStart:fe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Ae,defaultMarkerColor:Ve,noDragClassName:Wt,noWheelClassName:qt,noPanClassName:dn,elevateEdgesOnSelect:Ie,rfId:sn,disableKeyboardA11y:De,nodeOrigin:_e,nodeExtent:$e}),l(lB,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:y,nodesDraggable:q,nodesConnectable:we,nodesFocusable:ve,edgesFocusable:ke,elementsSelectable:ge,elevateNodesOnSelect:Te,minZoom:Pe,maxZoom:Xe,nodeExtent:$e,onNodesChange:Qe,onEdgesChange:ft,snapToGrid:be,snapGrid:Y,connectionMode:G,translateExtent:Ee,connectOnClick:J,defaultEdgeOptions:ye,fitView:xt,fitViewOptions:V,onNodesDelete:P,onEdgesDelete:O,onNodeDragStart:A,onNodeDrag:L,onNodeDragStop:F,onSelectionDrag:M,onSelectionDragStart:z,onSelectionDragStop:$,noPanClassName:dn,nodeOrigin:_e,rfId:sn,autoPanOnConnect:Ge,autoPanOnNodeDrag:ze,onError:Ct,connectionRadius:qe}),l(aB,{onSelectionChange:I}),bt,l(N5,{proOptions:pe,position:Q}),l(pB,{rfId:sn,disableKeyboardA11y:De})]})})});Fb.displayName="ReactFlow";const Bb=({id:e,x:t,y:n,width:r,height:i,style:o,color:a,strokeColor:s,strokeWidth:u,className:c,borderRadius:f,shapeRendering:h,onClick:p})=>{const{background:g,backgroundColor:v}=o||{},m=a||g||v;return l("rect",{className:Zt(["react-flow__minimap-node",c]),x:t,y:n,rx:f,ry:f,width:r,height:i,fill:m,stroke:s,strokeWidth:u,shapeRendering:h,onClick:p?w=>p(w,e):void 0})};Bb.displayName="MiniMapNode";var yj=x.memo(Bb);const bj=200,wj=150,xj=e=>{const t=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{nodes:t.filter(r=>!r.hidden&&r.width&&r.height),viewBB:n,boundingRect:t.length>0?L5(Nc(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},qc=e=>e instanceof Function?e:()=>e,Sj="react-flow__minimap-desc";function jb({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a=2,maskColor:s="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:c=1,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:g=!1,zoomable:v=!1,ariaLabel:m="React Flow mini map"}){var ue,se;const w=Kt(),y=x.useRef(null),{boundingRect:C,viewBB:_,nodes:S,rfId:E,nodeOrigin:k}=Tt(xj,nn),A=(ue=e==null?void 0:e.width)!=null?ue:bj,L=(se=e==null?void 0:e.height)!=null?se:wj,F=qc(r),P=qc(n),O=qc(i),I=C.width/A,z=C.height/L,M=Math.max(I,z),$=M*A,N=M*L,R=5*M,B=C.x-($-C.width)/2-R,G=C.y-(N-C.height)/2-R,K=$+R*2,W=N+R*2,ee=typeof window>"u"||!!window.chrome?"crispEdges":"geometricPrecision",ne=`${Sj}-${E}`,U=x.useRef(0);U.current=M,x.useEffect(()=>{if(y.current){const ae=Cn(y.current),xe=re=>{const{transform:Se,d3Selection:q,d3Zoom:we}=w.getState();if(re.sourceEvent.type!=="wheel"||!q||!we)return;const ve=-re.sourceEvent.deltaY*(re.sourceEvent.deltaMode===1?.05:re.sourceEvent.deltaMode?1:.002)*10,_e=Se[2]*Math.pow(2,ve);we.scaleTo(q,_e)},be=re=>{const{transform:Se,d3Selection:q,d3Zoom:we,translateExtent:ve,width:_e,height:ke}=w.getState();if(re.sourceEvent.type!=="mousemove"||!q||!we)return;const ge={x:Se[0]-re.sourceEvent.movementX*U.current*Math.max(1,Se[2]),y:Se[1]-re.sourceEvent.movementY*U.current*Math.max(1,Se[2])},Ke=[[0,0],[_e,ke]],Pe=ar.translate(ge.x,ge.y).scale(Se[2]),Xe=we.constrain()(Pe,Ke,ve);we.transform(q,Xe)},Y=Oy().on("zoom",g?be:null).on("zoom.wheel",v?xe:null);return ae.call(Y),()=>{ae.on("zoom",null)}}},[g,v]);const X=h?ae=>{const xe=Dn(ae);h(ae,{x:xe[0],y:xe[1]})}:void 0,ce=p?(ae,xe)=>{const be=w.getState().nodeInternals.get(xe);p(ae,be)}:void 0;return l(Sc,{position:f,style:e,className:Zt(["react-flow__minimap",t]),children:b("svg",{width:A,height:L,viewBox:`${B} ${G} ${K} ${W}`,role:"img","aria-labelledby":ne,ref:y,onClick:X,children:[m&&l("title",{id:ne,children:m}),S.map(ae=>{const{x:xe,y:be}=Kr(ae,k).positionAbsolute;return l(yj,{x:xe,y:be,width:ae.width,height:ae.height,style:ae.style,className:O(ae),color:F(ae),borderRadius:o,strokeColor:P(ae),strokeWidth:a,shapeRendering:ee,onClick:ce,id:ae.id},ae.id)}),l("path",{className:"react-flow__minimap-mask",d:`M${B-R},${G-R}h${K+R*2}v${W+R*2}h${-K-R*2}z
|
|
291
291
|
M${_.x},${_.y}h${_.width}v${_.height}h${-_.width}z`,fill:s,fillRule:"evenodd",stroke:u,strokeWidth:c,pointerEvents:"none"})]})})}jb.displayName="MiniMap";var Cj=x.memo(jb);function _j(){return l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:l("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Ej(){return l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:l("path",{d:"M0 0h32v4.2H0z"})})}function Tj(){return l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:l("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Mj(){return l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function kj(){return l("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:l("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}const Po=({children:e,className:t,...n})=>l("button",{type:"button",className:Zt(["react-flow__controls-button",t]),...n,children:e});Po.displayName="ControlButton";const Oj=e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable,Gb=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:s,onInteractiveChange:u,className:c,children:f,position:h="bottom-left"})=>{const p=Kt(),[g,v]=x.useState(!1),m=Tt(Oj),{zoomIn:w,zoomOut:y,fitView:C}=jc();if(x.useEffect(()=>{v(!0)},[]),!g)return null;const _=()=>{w(),o==null||o()},S=()=>{y(),a==null||a()},E=()=>{C(i),s==null||s()},k=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),u==null||u(!m)};return b(Sc,{className:Zt(["react-flow__controls",c]),position:h,style:e,children:[t&&b(Oe,{children:[l(Po,{onClick:_,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:l(_j,{})}),l(Po,{onClick:S,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:l(Ej,{})})]}),n&&l(Po,{className:"react-flow__controls-fitview",onClick:E,title:"fit view","aria-label":"fit view",children:l(Tj,{})}),r&&l(Po,{className:"react-flow__controls-interactive",onClick:k,title:"toggle interactivity","aria-label":"toggle interactivity",children:m?l(kj,{}):l(Mj,{})}),f]})};Gb.displayName="Controls";var Dj=x.memo(Gb),Pn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Pn||(Pn={}));function Rj({color:e,dimensions:t,lineWidth:n}){return l("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function Aj({color:e,radius:t}){return l("circle",{cx:t,cy:t,r:t,fill:e})}const Pj={[Pn.Dots]:"#91919a",[Pn.Lines]:"#eee",[Pn.Cross]:"#e2e2e2"},Nj={[Pn.Dots]:1,[Pn.Lines]:1,[Pn.Cross]:6},Ij=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Kb({variant:e=Pn.Dots,gap:t=20,size:n,lineWidth:r=1,color:i,style:o,className:a}){const s=x.useRef(null),{transform:u,patternId:c}=Tt(Ij,nn),f=i||Pj[e],h=n||Nj[e],p=e===Pn.Dots,g=e===Pn.Cross,v=Array.isArray(t)?t:[t,t],m=[v[0]*u[2]||1,v[1]*u[2]||1],w=h*u[2],y=g?[w,w]:m,C=p?[w/2,w/2]:[y[0]/2,y[1]/2];return b("svg",{className:Zt(["react-flow__background",a]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:s,children:[l("pattern",{id:c,x:u[0]%m[0],y:u[1]%m[1],width:m[0],height:m[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${C[0]},-${C[1]})`,children:p?l(Aj,{color:f,radius:w/2}):l(Rj,{dimensions:y,color:f,lineWidth:r})}),l("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${c})`})]})}Kb.displayName="Background";var $j=x.memo(Kb);const C6="";function Lj(e,t,n){const r=[],i=[];return e.current.forEach((o,a)=>{const s=o.panels.list.filter(u=>"__INTERACTIONS"in u.viz.conf);i.push(...s),o.type===rt.Tabs&&o.config.tabs.forEach(c=>{r.push({id:c.id,source:o.id,target:c.view_id,style:{stroke:"rgba(0,0,0,0.8)"},type:"step"})})}),i.forEach((o,a)=>{const s=t[o.id];s.data.interactions=he.default.get(s,"data.interactions",[]);const{__INTERACTIONS:u,__OPERATIONS:c,__TRIGGERS:f}=o.viz.conf;Object.entries(c).forEach(([h,p])=>{const{schemaRef:g,data:v}=p,{config:m}=v;switch(g){case"builtin:op:open-link":let w=m.urlTemplate.substring(0,100);m.urlTemplate.length>=20&&(w+="..."),s.type="interaction",s.data.interactions.push({schemaRef:g,urlTemplate:m.urlTemplate,shortURLTemplate:w});return;case"builtin:op:open_view":r.push({id:`OPERATION--${h}`,source:o.id,target:m.viewID,label:"Open View",style:{stroke:"rgba(0,0,0,0.8)"},type:"step"});return;case"builtin:op:set_filter_values":s.type="interaction",s.data.interactions.push({schemaRef:g,filters:Object.keys(m.dictionary).map(y=>({key:y,label:n[y]}))});return;case"builtin:op:clear_filter_values":s.type="interaction",s.data.interactions.push({schemaRef:g,filters:m.filter_keys.map(y=>({key:y,label:n[y]}))});return;default:return}})}),r}function Vj(e,t){const n=e.filters.keyLabelMap;return{edges:Lj(e.views,t,n),edgeNodes:[]}}function Hb(e,t,n){return e*t+e*n}function zj(e,t,n){return e*t+(e-1)*n}const Fj=25,Wb=40,Bj=25,qb=350,jj=150,Ub=150,Es=150,Gj=300,Uc=40,Yb=25;function Kj(e){const t=[];return e.current.forEach((n,r)=>{n.panels.list.forEach((i,o)=>{const a=Hb(o,Uc,Yb)+Wb,s=i.title.trim()?`${i.title}`:i.viz.type;t.push({id:i.id,_node_type:"panel",parentNode:n.id,data:{label:s},position:{x:Fj,y:a},sourcePosition:Me.Right,targetPosition:Me.Left,style:{width:Gj,height:Uc}})})}),t}const Hj={[rt.Division]:"Div",[rt.Modal]:"Modal",[rt.Tabs]:"Tabs"},Wj=Zv;function qj(e){return e.current.map((n,r)=>{const i=zj(n.panels.list.length,Uc,Yb)+Wb+Bj;let o=[];return n.type===rt.Tabs&&(o=n.config.tabs.map(s=>s.view_id)),{id:n.id,_node_type:"view-root",_view_type:n.type,_view_level:0,_sub_view_ids:[],_tab_view_ids:o,data:{label:`${Hj[n.type]}:${n.name}`},position:{x:0,y:0},sourcePosition:Me.Right,targetPosition:Me.Left,className:"light",style:{backgroundColor:Wj[n.type],width:qb,height:i}}})}function Uj(e){const t=qj(e.views),n=Kj(e.views);return[...t,...n]}function Yj({nodeMap:e,nodes:t,edges:n}){t.forEach(r=>{r._node_type!=="view-root"||r._view_type!==rt.Tabs||(r.position.y=r.position.y-Es,r.sourcePosition=Me.Bottom,r._tab_view_ids.reduce((i,o)=>{const a=e[o];a.position.y=i;const s=a.style.height;return i+s+Es},0))})}function Xj({nodeMap:e,nodes:t,edges:n}){n.filter(r=>r.label==="Open View").forEach(r=>{const i=e[r.source],o=e[r.target];if(!i||!o||!i.parentNode)return;const a=e[i.parentNode];a._node_type!=="view-root"||o._node_type!=="view-root"||(o._view_level+=1+a._view_level,a._sub_view_ids.push(o.id))}),t.sort((r,i)=>r._node_type==="view-root"&&i._node_type==="view-root"?r._view_level-i._view_level:r._node_type!=="view-root"&&i._node_type!=="view-root"?0:r._node_type==="view-root"?-1:1)}function Qj({nodeMap:e,nodes:t,edges:n}){n.forEach(r=>{if(r.label!=="Open View")return;const i=e[r.source],o=e[r.target];if(i&&o&&i.parentNode){const a=e[i.parentNode],s=i.position.y,u=Number(i.style.height),c=Number(o.style.height),f=a.position.x,h=a.position.y,p=Number(a.style.width),g=a._sub_view_ids;o.position.x=f+p+Ub;const v=a._view_level===0&&o._sub_view_ids.length===0;if(v&&(i.sourcePosition=Me.Left,o.targetPosition=Me.Right,o.position.x*=-1),g.length<2)o.position.y=h+s-c/2+u/2,r.type="straight";else{const m=g.findIndex(y=>y===o.id),w=g.reduce((y,C,_)=>{if(_>=m)return y;const S=e[C];if(v&&S._sub_view_ids.length>0||!v&&S._sub_view_ids.length===0)return y;const E=0,k=Number(S.style.height);return y+E+k+Es},h);o.position.y=w}}})}function Zj({nodeMap:e,nodes:t,edges:n}){const r=new Set,i=new Set;n.forEach(o=>{r.add(o.source),i.add(o.target)}),t.filter(o=>o._node_type==="view-root"&&o.data.label!=="Div:Main"&&!r.has(o.id)&&!i.has(o.id)).forEach((o,a)=>{o.position.x=Hb(a,qb,Ub),o.position.y=0-jj-Es})}function Jj({nodeMap:e,nodes:t,edges:n}){const r={nodeMap:e,nodes:t,edges:n};return Xj(r),Qj(r),Zj(r),Yj(r),{nodes:t,edges:n}}function eG(e){const t=Uj(e),n=he.default.keyBy(t,u=>u.id),{edges:r,edgeNodes:i}=Vj(e,n),o=[...t,...i],a=he.default.keyBy(o,u=>u.id);return Jj({edges:r,nodes:o,nodeMap:a})}const _6="",Yc={"builtin:op:open-link":l(d.ThemeIcon,{color:"blue",size:20,radius:"xl",children:l(HP,{size:14})}),"builtin:op:set_filter_values":l(d.ThemeIcon,{color:"orange",size:20,radius:"xl",children:l(qP,{size:14})}),"builtin:op:clear_filter_values":l(d.ThemeIcon,{color:"orange",size:20,radius:"xl",children:l(YP,{size:14})})};function tG(e){const t=[];return e.forEach(n=>{switch(n.schemaRef){case"builtin:op:open-link":t.push({key:n.urlTemplate,icon:Yc[n.schemaRef],text:b(d.Group,{spacing:4,children:[l(d.Text,{children:"Open: "}),l(d.Text,{color:"dimmed",children:n.shortURLTemplate})]})});return;case"builtin:op:set_filter_values":n.filters.forEach(({key:r,label:i})=>{t.push({key:n.schemaRef+r,icon:Yc[n.schemaRef],text:l(d.Group,{spacing:4,children:b(d.Text,{children:["Set Filter: ",i]})})})});return;case"builtin:op:clear_filter_values":n.filters.forEach(({key:r,label:i})=>{t.push({key:n.schemaRef+r,icon:Yc[n.schemaRef],text:l(d.Group,{spacing:4,children:b(d.Text,{children:["Clear Filter: ",i]})})})});return}}),t}const nG={interaction:x.memo(({data:e,isConnectable:t,sourcePosition:n=Me.Right,targetPosition:r=Me.Left,...i})=>{console.log(i);const o=x.useMemo(()=>tG(e.interactions),[e.interactions]);return b(Oe,{children:[l(Mi,{type:"target",position:r,isConnectable:t}),l(d.Box,{sx:{position:"absolute",top:0,right:0},children:l(le.ChevronsUpRight,{size:12})}),b(d.HoverCard,{shadow:"xl",withinPortal:!0,children:[l(d.HoverCard.Target,{children:l(d.Text,{children:e.label})}),l(d.HoverCard.Dropdown,{children:l(d.List,{spacing:"xs",size:"sm",center:!0,children:o.map(a=>l(d.List.Item,{icon:a.icon,children:a.text},a.key))})})]}),l(Mi,{type:"source",position:n,isConnectable:t})]})})},rG=te.observer(()=>{const e=Le(),{edges:t,nodes:n}=eG(e);return b(Fb,{nodes:n,edges:t,onNodesChange:he.default.noop,onEdgesChange:he.default.noop,onConnect:he.default.noop,className:"interactions-viewer",fitView:!0,nodeTypes:nG,children:[l(Cj,{}),l(Dj,{}),l($j,{})]})}),iG=te.observer(({opened:e,close:t})=>{const{freezeLayout:n}=Z.default.useContext(Dr);return Z.default.useEffect(()=>{n(e)},[e]),l(d.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:t,closeOnClickOutside:!1,closeOnEscape:!0,title:"Interactions",trapFocus:!0,onDragStart:r=>{r.stopPropagation()},styles:{body:{height:"90vh"},modal:{transform:"none !important"}},zIndex:300,children:l(rG,{})})});function oG({onClick:e,name:t,active:n,openSettings:r}){return b(d.Box,{sx:{position:"relative"},children:[l(d.UnstyledButton,{sx:i=>({display:"block",width:"100%",padding:i.spacing.xs,borderRadius:0,position:"relative",color:i.black,"&:hover":{backgroundColor:i.colors.gray[0]},backgroundColor:n?i.colors.gray[2]:"transparent"}),children:l(d.Group,{sx:{width:"calc(100% - 28px)"},onClick:e,children:l(d.Text,{size:"sm",children:t})})}),n&&l(d.Tooltip,{label:"Edit",position:"right",withinPortal:!0,children:l(d.ActionIcon,{onClick:r,variant:"light",color:"blue",sx:{position:"absolute",top:0,bottom:0,height:"100%",right:0,zIndex:0,borderRadius:0},children:l(DP,{size:16})})})]})}const aG=te.observer(()=>{const e=Le(),t=x.useCallback(r=>()=>e.views.setIDOfVIE(r),[e]),n=r=>{e.editor.open(["_VIEWS_",r])};return b(d.Box,{sx:{position:"relative"},children:[e.views.options.map(r=>l(oG,{active:e.views.idOfVIE===r.value,name:r.label,onClick:t(r.value),openSettings:()=>n(r.value)},r.value)),l(d.Divider,{variant:"dashed"}),l(d.Button,{variant:"subtle",rightIcon:l(bi,{size:14}),size:"sm",px:"xs",color:"blue",onClick:e.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"space-between"}},children:"Add a View"})]})}),sG=te.observer(()=>{const e=Le(),t=()=>{!e.queries.firstID||e.editor.open(["_QUERIES_",e.queries.firstID])},n=()=>{if(!e.filters.firstID){e.editor.open(["_FILTERS_",""]);return}e.editor.open(["_FILTERS_",e.filters.firstID])},[r,i]=x.useState(!1),o=()=>i(!0),a=()=>i(!1);return b(d.Navbar,{p:0,width:{base:200},children:[b(d.Navbar.Section,{children:[b(d.Group,{grow:!0,spacing:0,sx:{...Zu,button:{borderWidth:0,borderBottomWidth:1,borderColor:"#e9ecef"}},children:[l(d.Tooltip,{label:"Filters",withinPortal:!0,children:l(d.ActionIcon,{variant:"default",radius:0,size:"md",onClick:n,children:l(uv,{size:20})})}),l(d.Tooltip,{label:"Data Settings",withinPortal:!0,children:l(d.ActionIcon,{variant:"default",radius:0,size:"md",onClick:t,children:l(lv,{size:20})})}),l(d.Tooltip,{label:"Interactions Viewer",withinPortal:!0,children:l(d.ActionIcon,{variant:"default",radius:0,size:"md",onClick:o,children:l(lN,{size:20})})})]}),l(iG,{opened:r,close:a})]}),l(d.Navbar.Section,{py:5,sx:{borderBottom:"1px solid #eee"},children:l(d.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Views"})}),l(d.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:l(aG,{})}),l(d.Navbar.Section,{children:l(d.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:l(d.Button,{size:"xs",leftIcon:l(gN,{size:20}),onClick:()=>e.editor.open([]),children:"Settings"})})})]})}),lG=te.observer(function({config:t}){return l(Oe,{children:l(d.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"})})}),uG=[{label:"2022",value:"YYYY"},{label:"202201",value:"YYYYMM"},{label:"20220101",value:"YYYYMMDD"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],cG=te.observer(function({config:t}){return b(Oe,{children:[b(d.Group,{children:[l(d.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),l(d.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),disabled:t.max_days>0,label:"Clearable"}),l(d.Checkbox,{checked:t.allowSingleDateInRange,onChange:n=>t.setAllowSingleDateInRange(n.currentTarget.checked),label:"Allow choosing 1 day"})]}),l(d.Select,{data:uG,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat}),l(hd,{label:"Default Value",config:t,value:t.default_value,onChange:t.setDefaultValue}),l(d.NumberInput,{label:"Max Days",description:b(d.Group,{position:"apart",children:[l(d.Text,{children:"Set 0 to disable."}),b(d.Group,{spacing:4,children:[l(d.Text,{children:"This feature requires"}),l(d.Text,{color:"blue",children:"Clearable"}),l(d.Text,{children:"to be checked"})]})]}),min:0,value:t.max_days,onChange:t.setMaxDays,hideControls:!0})]})}),Xc=te.observer(({value:e,onChange:t})=>{const n=Le(),r=Z.default.useMemo(()=>n.queries.options,[n.queries.current]),i=r.length===0;return l(d.Select,{label:"Pick a query",data:r,value:e,onChange:t,allowDeselect:!1,clearable:!0,sx:{flexGrow:1},disabled:i,error:i?"You need to add a query in Data Settings":void 0})}),dG=`
|
|
292
292
|
// row
|
|
293
293
|
{
|
|
@@ -303,7 +303,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
303
303
|
parent_value: string;
|
|
304
304
|
description?: string;
|
|
305
305
|
}
|
|
306
|
-
`,vG=()=>{const[e,t]=x.useState(!1);return b(Oe,{children:[l(d.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),l(d.Collapse,{in:e,children:l(Ur.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:gG})})]})},mG=te.observer(function({config:t}){return b(Oe,{children:[l(d.TextInput,{label:"Min-width",value:t.min_width,onChange:n=>t.setMinWidth(n.currentTarget.value),placeholder:"200px"}),l(d.Divider,{label:"Fetch options from database",labelPosition:"center"}),l(d.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),l(Xc,{value:t.options_query_id,onChange:t.setOptionsQueryID}),l(vG,{})]})}),yG=te.observer(function({filter:t}){const[n,r]=Z.default.useState(t.plainDefaultValue);return Z.default.useEffect(()=>{r(t.plainDefaultValue)},[t]),b(d.Box,{sx:{maxWidth:"480px"},children:[l(d.Text,{pb:"md",color:"gray",children:"Preview"}),l(rg,{filter:t,value:n,onChange:r}),l(d.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),l(Ur.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),bG={select:pG,"multi-select":fG,"tree-select":mG,"text-input":hG,checkbox:lG,"date-range":cG},wG=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Tree Select",value:"tree-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],xG=te.observer(function({filter:t}){const n=Le(),r=Z.default.useMemo(()=>bG[t.type],[t.type]);return b(d.Group,{grow:!0,spacing:20,align:"top",children:[b(d.Box,{sx:{maxWidth:"600px"},children:[l(d.Text,{pb:"md",color:"gray",children:"Edit"}),b(d.Stack,{children:[b(d.Group,{noWrap:!0,children:[l(d.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&l(d.Checkbox,{label:"Submit automatically",checked:t.auto_submit,onChange:i=>t.setAutoSubmit(i.currentTarget.checked),mt:22})]}),l(d.MultiSelect,{label:"Visible in...",data:n.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),l(d.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:i=>{t.setKey(i.currentTarget.value)}}),l(d.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:i=>{t.setLabel(i.currentTarget.value)}}),l(d.Select,{label:"Widget",data:wG,required:!0,value:t.type,onChange:t.setType}),l(r,{config:t.config})]})]}),l(yG,{filter:t})]})}),SG=te.observer(({id:e})=>{const t=lr.useModals(),n=Le();if(e==="")return null;const r=n.filters.findByID(e);if(!r)return b(d.Text,{size:14,children:["Filter by ID[",e,"] is not found"]});const i=()=>{t.openConfirmModal({title:"Delete this filter?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.filters.removeByID(e),zIndex:320})};return b(d.Stack,{sx:{maxWidth:"1100px",height:"100%"},spacing:"sm",children:[l(d.Group,{position:"right",pt:10,children:l(d.Button,{size:"xs",color:"red",leftIcon:l(le.Trash,{size:16}),onClick:i,children:"Delete this filter"})}),l(d.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:l(xG,{filter:r})})]})}),CG=te.observer(()=>{const e=Le(),[t,n]=x.useState(()=>JSON.stringify(e.mock_context.current,null,4)),r=()=>{try{e.mock_context.replace(JSON.parse(t))}catch(o){Io.showNotification({title:"Failed",message:o.message,color:"red"})}},i=x.useMemo(()=>{try{return JSON.stringify(JSON.parse(t))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[t,e.mock_context.current]);return b(d.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[l(d.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:l(d.Text,{weight:500,children:"Mock Context"})}),b(d.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[b(d.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[l(d.Text,{children:"A valid json string is required"}),l(d.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:t,onChange:n,sx:{flexGrow:1}})]}),l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!i,onClick:r,children:l(le.DeviceFloppy,{size:20})})]})]})}),_G=te.observer(()=>{const{panel:e}=Yt();return l(dv,{label:"Description",value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),EG=te.observer(()=>{const{panel:e}=Yt(),{style:t}=e;return l(Oe,{children:l(d.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),TG=te.observer(()=>{const{panel:e}=Yt(),{title:t,setTitle:n}=e,[r,i]=Ut.useInputState(t),o=t!==r,a=Z.default.useCallback(()=>{!o||n(r)},[o,r]);return x.useEffect(()=>{i(t)},[t]),l(d.TextInput,{value:r,onChange:i,label:b(d.Group,{children:[l(d.Text,{children:"Panel Title"}),l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:!o,onClick:a,children:l(le.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function MG(){return b(d.Stack,{sx:{height:"100%"},children:[l(d.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),l(EG,{}),l(d.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),l(TG,{}),l(_G,{})]})}const kG=te.observer(({height:e})=>{const t=Le(),{data:n,loading:r,error:i,panel:{viz:o,queryID:a}}=Yt(),s=t.queries.findByID(a);return l(Yv,{viz:o,data:n,loading:r,error:i,query:s,height:e})}),OG=te.observer(()=>{const{panel:{title:e,style:{border:t}}}=Yt();return l(Or,{children:l(d.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:b(d.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[b(d.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[l(d.Group,{children:l(hg,{})}),l(d.Group,{grow:!0,position:"center",children:l(d.Text,{lineClamp:1,weight:"bold",children:e})}),l(d.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),l(d.Group,{sx:{flexGrow:1},children:l(kG,{height:"410px"})})]})})})}),DG=({queryID:e})=>{const t=Le(),{state:n,error:r}=t.getDataStuffByID(e),i=Z.default.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:r?l(d.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?l(d.Text,{color:"gray",align:"center",children:i.stateMessage}):null},RG={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function AG({data:e}){const t=x.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const r=Tv();return Object.keys(e[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[e]),n=kv({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Mv()});return e.length===0?l(d.Box,{sx:{height:"5em"}}):b(d.Table,{sx:RG,children:[l("thead",{children:n.getHeaderGroups().map(r=>l("tr",{children:r.headers.map(i=>b("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Ba(i.column.columnDef.header,i.getContext()),l(d.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:l(le.ArrowBarToRight,{})})]},i.id))},r.id))}),l("tbody",{children:n.getRowModel().rows.map(r=>l("tr",{children:r.getVisibleCells().map(i=>l("td",{children:Ba(i.column.columnDef.cell,i.getContext())},i.id))},r.id))})]})}const Qb=te.observer(function({id:t}){const n=Le(),{data:r,state:i}=n.getDataStuffByID(t),o=i==="loading",a=()=>{n.queries.refetchDataByQueryID(t)},s=()=>{n.queries.downloadDataByQueryID(t)},u=x.useMemo(()=>Array.isArray(r)?r.slice(0,10):[],[r]),c=!Array.isArray(r)||r.length===0;return b(d.Stack,{sx:{border:"1px solid #eee"},children:[b(d.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[b(d.Group,{position:"left",children:[l(d.Text,{weight:500,children:"Preview Data"}),r.length>10&&b(d.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),b(d.Group,{pr:15,children:[l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:o,onClick:a,children:l(le.Refresh,{size:15})}),l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:o||c,onClick:s,children:l(le.Download,{size:15})})]})]}),b(d.Box,{sx:{position:"relative",overflow:"auto"},children:[l(d.LoadingOverlay,{visible:o}),l(DG,{queryID:t}),l(AG,{data:u})]})]})}),PG=te.observer(function(){const t=Le(),{panel:{queryID:n,setQueryID:r}}=Yt(),i=Z.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.name})),[t.queries.current]),o=()=>{t.editor.setPath(["_QUERIES_",n])};return b(d.Stack,{children:[b(d.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[l(d.Text,{children:"Use query"}),l(d.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:"1 !important"},maxDropdownHeight:300,rightSection:n&&l(d.Tooltip,{label:"Open this query",children:l(d.ActionIcon,{variant:"subtle",color:"blue",onClick:o,children:l(PP,{size:16})})})})]}),l(Qb,{id:n})]})}),Qc={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{}},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class NG{constructor(t){Re(this,"panel");Re(this,"selected");this.panel=t,Ft.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(Qc.name)).length;this.panel.addVariable(H.cloneDeep({...Qc,name:`${Qc.name}${t||""}`})),this.selected=H.last(this.panel.variables)}select(t){this.selected=t}remove(t){this.selected===t&&(this.selected=void 0);const n=this.panel.variables.indexOf(t);if(this.panel.removeVariable(t),!this.selected&&!H.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function IG(){const{panel:e}=Yt();return tt.useCreation(()=>new NG(e),[e])}const $G=Z.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},o){const a=(s,u)=>{const c=he.default.cloneDeep(t);he.default.set(c,s,u),n(c)};return b(d.Box,{px:"sm",py:"md",ref:o,children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(d.TextInput,{label:"Name",required:!0,value:t.name,onChange:s=>a("name",s.currentTarget.value)}),l(mt,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:s=>a("data_field",s)})]}),l(Yl,{label:"Aggregation",value:t.aggregation,onChange:s=>a("aggregation",s)}),l(d.Divider,{my:"xs",label:"Format",labelPosition:"center"}),l($r,{value:t.formatter,onChange:s=>a("formatter",s)}),i&&l(Ag,{value:t,onChange:n})]})}),Zb=d.createStyles(e=>({root:{height:"100%",overflow:"hidden",".var-list-container":{"& > *":{height:"100%"},width:250,height:"100%"},".var-list-actions":{height:"fit-content",flexShrink:0,width:"100%"},".var-list":{flex:"1 1 auto",overflow:"auto",minHeight:0,"& > *":{flex:"0 0 auto"}}},config:{height:"100%",overflow:"auto",paddingRight:10}})),LG=e=>{const{uiModel:t}=e;return l(d.Stack,{className:"var-list",children:t.variables.map(n=>l(d.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})},VG=te.observer(LG),zG=({variable:e,data:t})=>l(d.Group,{style:{minHeight:0,height:"calc(100% - 68px)"},children:l(d.Paper,{withBorder:!0,p:"md",children:Jg(e,t)})}),FG=te.observer(zG),BG=e=>{const t=tt.useCreation(()=>Rz(e.variable),[e.variable]),{classes:n}=Zb(),{data:r}=Yt();return b(d.Group,{style:{height:"100%"},align:"start",children:[b(d.Stack,{"data-testid":"variable-editor",align:"stretch",className:n.config,children:[b(d.Group,{position:"right",children:[l(d.ActionIcon,{variant:"filled",disabled:!t.changed,color:"primary",onClick:t.commit,children:l(vu,{size:18})}),l(d.ActionIcon,{color:"red",onClick:()=>e.uiModel.remove(e.variable),children:l(cv,{size:18})})]}),l($G,{value:D.getSnapshot(t.copy),onChange:t.update,data:r})]}),l(FG,{variable:D.getSnapshot(t.copy),data:r})]})},jG=te.observer(BG),GG=()=>{const e=IG(),{classes:t}=Zb();return b(d.Group,{className:t.root,noWrap:!0,align:"start",children:[l(d.Paper,{withBorder:!0,p:"md",className:"var-list-container",children:b(d.Stack,{justify:"space-between",children:[l(d.Box,{className:"var-list-actions",children:l(d.Button,{variant:"light",size:"sm",onClick:e.addNew,fullWidth:!0,children:"Add Variable"})}),l(VG,{uiModel:e})]})}),e.selected?l(Oe,{children:l(jG,{uiModel:e,variable:e.selected})}):l("span",{children:"Select or create a new variable on right side"})]})},KG=te.observer(GG),Zc=[];function HG(){const{vizManager:e}=x.useContext(zn);return x.useMemo(()=>e.availableVizList.map(t=>({value:t.name,label:t.displayName})).concat(Zc),[e])}function WG(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function qG(){const{data:e,panel:{variables:t,viz:n,title:r,queryID:i,description:o,setDescription:a,setTitle:s,setQueryID:u,id:c}}=Yt(),{vizManager:f}=x.useContext(zn),h={title:r,description:o,viz:n,queryID:i,id:c},p={setDescription:a,setQueryID:u,setTitle:s},g=Wv(h);try{return f.resolveComponent(h.viz.type),l(zo,{configure:g,children:l(xV,{variables:t,setVizConf:n.setConf,panel:h,panelInfoEditor:p,vizManager:f,data:e})})}catch(v){return console.info(H.get(v,"message")),null}}const UG=te.observer(()=>{const{data:e,panel:{viz:t}}=Yt(),[n,r]=Ut.useInputState(t.type),i=t.type!==n,{vizManager:o}=x.useContext(zn),a=Z.default.useCallback(()=>{if(!i)return;const g=WG(o,n);t.setType(n),t.setConf(g||{})},[t,i,n]),s=g=>{try{t.setConf(JSON.parse(g))}catch(v){console.error(v)}},u=Z.default.useMemo(()=>{var g;return(g=Zc.find(v=>v.value===n))==null?void 0:g.Panel},[n,Zc]),c=qG(),f=u?x.createElement(u,{data:e,conf:t.conf,setConf:t.setConf}):null,h=c||f,p=HG();return b(d.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[l(d.Select,{label:"Visualization",value:n,onChange:r,data:p,rightSection:l(d.ActionIcon,{disabled:!i,onClick:a,children:l(le.DeviceFloppy,{size:20})})}),h,!h&&l(d.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:s})]})}),YG={root:{flexGrow:1,width:"100%",height:"100%"},panel:{width:"100%",height:"100%",padding:10}},Jb=({children:e})=>b(d.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"calc(100% - 36px)"},children:[l(d.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%"},children:e}),l(OG,{})]});function XG(e){return!["richText","button"].includes(e)}const QG=te.observer(({panel:e})=>{const t=Le(),[n,r]=x.useState("Data"),{data:i,state:o,error:a}=t.getDataStuffByID(e.queryID),s=t.queries.findByID(e.queryID),c=XG(e.viz.type)&&o==="loading",f=c||a||!s||!!s.stateMessage;return x.useEffect(()=>{r(h=>f&&h==="Visualization"?"Data":h)},[e.id,f]),l(Ps,{value:{panel:e,data:i,loading:c,error:a},children:b(d.Tabs,{value:n,onTabChange:r,keepMounted:!1,styles:YG,children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"Data",disabled:c,children:"Data"}),l(d.Tabs.Tab,{value:"Panel",children:"Panel"}),l(d.Tabs.Tab,{value:"Variables",disabled:f,children:l(d.Tooltip,{label:"Requires data",disabled:!f,withinPortal:!0,zIndex:310,children:l(d.Text,{children:"Variables"})})}),l(d.Tabs.Tab,{value:"Visualization",disabled:f,children:l(d.Tooltip,{label:"Requires data",disabled:!f,withinPortal:!0,zIndex:310,children:l(d.Text,{children:"Visualization"})})}),l(d.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),b(d.Tabs.Panel,{value:"Data",children:[l(d.LoadingOverlay,{visible:c,exitTransitionDuration:0}),l(PG,{})]}),l(d.Tabs.Panel,{value:"Panel",children:l(Jb,{children:l(MG,{})})}),l(d.Tabs.Panel,{value:"Variables",children:l(KG,{})}),l(d.Tabs.Panel,{value:"Visualization",children:l(Or,{children:l(Jb,{children:l(UG,{})})})}),l(d.Tabs.Panel,{value:"Interactions",children:l(Or,{children:l(bV,{})})})]})})}),ZG=te.observer(({viewID:e,panelID:t})=>{const r=Le().views.findByID(e);if(!r)return b(d.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=r.panels.findByID(t);return i?l(QG,{panel:i}):b(d.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),JG=x.forwardRef(({label:e,type:t,...n},r)=>b(d.Group,{position:"apart",ref:r,...n,children:[l(d.Text,{children:e}),l(d.Text,{children:t})]})),eK=te.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=tt.useRequest(qu,{refreshDeps:[]},[]),o=x.useMemo(()=>r.map(s=>({label:s.key,value:s.key,type:s.type})),[r]),a=x.useMemo(()=>o.reduce((s,u)=>(s[u.value]=u.type,s),{}),[o]);return l(d.Select,{label:"Data Source",data:o,itemComponent:JG,sx:{flex:1},required:!0,disabled:i,value:t.key,onChange:s=>{s!==null&&n({key:s,type:a[s]})}})}),tK=e=>{const{queryModel:t}=e,n=Le(),r=n.findDependingPanels(t.id),i=r.length>0,o=lr.useModals(),a=()=>{o.openConfirmModal({title:"Delete this query?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.queries.removeQuery(t.id),zIndex:320})},s=l(d.Button,{color:"red",size:"xs",disabled:i,onClick:a,leftIcon:l(cv,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"});return i?l(d.Tooltip,{label:`This query is used in the following panels: ${r.join(", ")}`,withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,children:s}):s},nK=te.observer(tK),rK=te.observer(({queryModel:e})=>l(d.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:b(d.Stack,{spacing:10,sx:{width:"100%"},children:[l(d.Divider,{mb:-10,variant:"dashed",label:"Basics",labelPosition:"center"}),l(d.TextInput,{placeholder:"A unique name",label:"Name",required:!0,sx:{flex:1},value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),l(eK,{value:{type:e.type,key:e.key},onChange:({type:t,key:n})=>{e.setKey(n),e.setType(t)}}),l(d.Divider,{mt:10,mb:-10,variant:"dashed",label:"Conditions",labelPosition:"center"}),l(d.MultiSelect,{label:"Run query when these are truthy",data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy}),l(d.Divider,{mt:20,mb:10,variant:"dashed"}),l(nK,{queryModel:e})]})})),iK=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{sx:{position:"relative",flexGrow:1},children:l(Tn.default,{height:"100%",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},e0=x.forwardRef(({value:e,onChange:t,label:n,defaultValue:r},i)=>{const[o,a]=x.useState(e),s=()=>{t(o)},u=()=>{a(e)},c=()=>{a(r)};x.useEffect(()=>{a(e)},[e]);const f=o!==e;return b(d.Stack,{spacing:4,sx:{height:"100%"},children:[l(d.Text,{size:14,children:n}),l(iK,{value:o,onChange:a}),b(d.Group,{mt:10,position:"apart",sx:{flexShrink:0,flexGrow:0},children:[l(d.Button,{onClick:c,size:"xs",color:"red",leftIcon:l(le.Recycle,{size:16}),children:"Reset to default"}),f&&b(d.Group,{position:"right",children:[l(d.Button,{onClick:u,variant:"subtle",size:"xs",children:"Cancel"}),l(d.Button,{size:"xs",onClick:s,children:"OK"})]})]})]})}),oK=`
|
|
306
|
+
`,vG=()=>{const[e,t]=x.useState(!1);return b(Oe,{children:[l(d.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),l(d.Collapse,{in:e,children:l(Ur.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:gG})})]})},mG=te.observer(function({config:t}){return b(Oe,{children:[l(d.TextInput,{label:"Min-width",value:t.min_width,onChange:n=>t.setMinWidth(n.currentTarget.value),placeholder:"200px"}),l(d.Divider,{label:"Fetch options from database",labelPosition:"center"}),l(d.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),l(Xc,{value:t.options_query_id,onChange:t.setOptionsQueryID}),l(vG,{})]})}),yG=te.observer(function({filter:t}){const[n,r]=Z.default.useState(t.plainDefaultValue);return Z.default.useEffect(()=>{r(t.plainDefaultValue)},[t]),b(d.Box,{sx:{maxWidth:"480px"},children:[l(d.Text,{pb:"md",color:"gray",children:"Preview"}),l(rg,{filter:t,value:n,onChange:r}),l(d.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),l(Ur.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),bG={select:pG,"multi-select":fG,"tree-select":mG,"text-input":hG,checkbox:lG,"date-range":cG},wG=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Tree Select",value:"tree-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],xG=te.observer(function({filter:t}){const n=Le(),r=Z.default.useMemo(()=>bG[t.type],[t.type]);return b(d.Group,{grow:!0,spacing:20,align:"top",children:[b(d.Box,{sx:{maxWidth:"600px"},children:[l(d.Text,{pb:"md",color:"gray",children:"Edit"}),b(d.Stack,{children:[b(d.Group,{noWrap:!0,children:[l(d.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&l(d.Checkbox,{label:"Submit automatically",checked:t.auto_submit,onChange:i=>t.setAutoSubmit(i.currentTarget.checked),mt:22})]}),l(d.MultiSelect,{label:"Visible in...",data:n.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),l(d.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:i=>{t.setKey(i.currentTarget.value)}}),l(d.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:i=>{t.setLabel(i.currentTarget.value)}}),l(d.Select,{label:"Widget",data:wG,required:!0,value:t.type,onChange:t.setType}),l(r,{config:t.config})]})]}),l(yG,{filter:t})]})}),SG=te.observer(({id:e})=>{const t=lr.useModals(),n=Le();if(e==="")return null;const r=n.filters.findByID(e);if(!r)return b(d.Text,{size:14,children:["Filter by ID[",e,"] is not found"]});const i=()=>{t.openConfirmModal({title:"Delete this filter?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.filters.removeByID(e),zIndex:320})};return b(d.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[l(d.Group,{position:"right",pt:10,children:l(d.Button,{size:"xs",color:"red",leftIcon:l(le.Trash,{size:16}),onClick:i,children:"Delete this filter"})}),l(d.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:l(xG,{filter:r})})]})}),CG=te.observer(()=>{const e=Le(),[t,n]=x.useState(()=>JSON.stringify(e.mock_context.current,null,4)),r=()=>{try{e.mock_context.replace(JSON.parse(t))}catch(o){Io.showNotification({title:"Failed",message:o.message,color:"red"})}},i=x.useMemo(()=>{try{return JSON.stringify(JSON.parse(t))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[t,e.mock_context.current]);return b(d.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[l(d.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:l(d.Text,{weight:500,children:"Mock Context"})}),b(d.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[b(d.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[l(d.Text,{children:"A valid json string is required"}),l(d.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:t,onChange:n,sx:{flexGrow:1}})]}),l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!i,onClick:r,children:l(le.DeviceFloppy,{size:20})})]})]})}),_G=te.observer(()=>{const{panel:e}=Yt();return l(dv,{label:"Description",value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),EG=te.observer(()=>{const{panel:e}=Yt(),{style:t}=e;return l(Oe,{children:l(d.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),TG=te.observer(()=>{const{panel:e}=Yt(),{title:t,setTitle:n}=e,[r,i]=Ut.useInputState(t),o=t!==r,a=Z.default.useCallback(()=>{!o||n(r)},[o,r]);return x.useEffect(()=>{i(t)},[t]),l(d.TextInput,{value:r,onChange:i,label:b(d.Group,{children:[l(d.Text,{children:"Panel Title"}),l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:!o,onClick:a,children:l(le.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function MG(){return b(d.Stack,{sx:{height:"100%"},children:[l(d.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),l(EG,{}),l(d.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),l(TG,{}),l(_G,{})]})}const kG=te.observer(({height:e})=>{const t=Le(),{data:n,loading:r,error:i,panel:{viz:o,queryID:a}}=Yt(),s=t.queries.findByID(a);return l(Yv,{viz:o,data:n,loading:r,error:i,query:s,height:e})}),OG=te.observer(()=>{const{panel:{title:e,style:{border:t}}}=Yt();return l(Or,{children:l(d.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:b(d.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[b(d.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[l(d.Group,{children:l(hg,{})}),l(d.Group,{grow:!0,position:"center",children:l(d.Text,{lineClamp:1,weight:"bold",children:e})}),l(d.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),l(d.Group,{sx:{flexGrow:1},children:l(kG,{height:"410px"})})]})})})}),DG=({queryID:e})=>{const t=Le(),{state:n,error:r}=t.getDataStuffByID(e),i=Z.default.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:r?l(d.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?l(d.Text,{color:"gray",align:"center",children:i.stateMessage}):null},RG={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function AG({data:e}){const t=x.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const r=Tv();return Object.keys(e[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[e]),n=kv({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Mv()});return e.length===0?l(d.Box,{sx:{height:"5em"}}):b(d.Table,{sx:RG,children:[l("thead",{children:n.getHeaderGroups().map(r=>l("tr",{children:r.headers.map(i=>b("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Ba(i.column.columnDef.header,i.getContext()),l(d.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:l(le.ArrowBarToRight,{})})]},i.id))},r.id))}),l("tbody",{children:n.getRowModel().rows.map(r=>l("tr",{children:r.getVisibleCells().map(i=>l("td",{children:Ba(i.column.columnDef.cell,i.getContext())},i.id))},r.id))})]})}const Qb=te.observer(function({id:t}){const n=Le(),{data:r,state:i}=n.getDataStuffByID(t),o=i==="loading",a=()=>{n.queries.refetchDataByQueryID(t)},s=()=>{n.queries.downloadDataByQueryID(t)},u=x.useMemo(()=>Array.isArray(r)?r.slice(0,10):[],[r]),c=!Array.isArray(r)||r.length===0;return b(d.Stack,{sx:{border:"1px solid #eee"},children:[b(d.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[b(d.Group,{position:"left",children:[l(d.Text,{weight:500,children:"Preview Data"}),r.length>10&&b(d.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),b(d.Group,{pr:15,children:[l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:o,onClick:a,children:l(le.Refresh,{size:15})}),l(d.ActionIcon,{variant:"subtle",color:"blue",disabled:o||c,onClick:s,children:l(le.Download,{size:15})})]})]}),b(d.Box,{sx:{position:"relative",overflow:"auto"},children:[l(d.LoadingOverlay,{visible:o}),l(DG,{queryID:t}),l(AG,{data:u})]})]})}),PG=te.observer(function(){const t=Le(),{panel:{queryID:n,setQueryID:r}}=Yt(),i=Z.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.name})),[t.queries.current]),o=()=>{t.editor.setPath(["_QUERIES_",n])};return b(d.Stack,{children:[b(d.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[l(d.Text,{children:"Use query"}),l(d.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:"1 !important"},maxDropdownHeight:300,rightSection:n&&l(d.Tooltip,{label:"Open this query",children:l(d.ActionIcon,{variant:"subtle",color:"blue",onClick:o,children:l(PP,{size:16})})})})]}),l(Qb,{id:n})]})}),Qc={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{}},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class NG{constructor(t){Re(this,"panel");Re(this,"selected");this.panel=t,Ft.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(Qc.name)).length;this.panel.addVariable(H.cloneDeep({...Qc,name:`${Qc.name}${t||""}`})),this.selected=H.last(this.panel.variables)}select(t){this.selected=t}remove(t){this.selected===t&&(this.selected=void 0);const n=this.panel.variables.indexOf(t);if(this.panel.removeVariable(t),!this.selected&&!H.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function IG(){const{panel:e}=Yt();return tt.useCreation(()=>new NG(e),[e])}const $G=Z.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},o){const a=(s,u)=>{const c=he.default.cloneDeep(t);he.default.set(c,s,u),n(c)};return b(d.Box,{px:"sm",py:"md",ref:o,children:[b(d.Group,{grow:!0,noWrap:!0,children:[l(d.TextInput,{label:"Name",required:!0,value:t.name,onChange:s=>a("name",s.currentTarget.value)}),l(mt,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:s=>a("data_field",s)})]}),l(Yl,{label:"Aggregation",value:t.aggregation,onChange:s=>a("aggregation",s)}),l(d.Divider,{my:"xs",label:"Format",labelPosition:"center"}),l($r,{value:t.formatter,onChange:s=>a("formatter",s)}),i&&l(Ag,{value:t,onChange:n})]})}),Zb=d.createStyles(e=>({root:{height:"100%",overflow:"hidden",".var-list-container":{"& > *":{height:"100%"},width:250,height:"100%"},".var-list-actions":{height:"fit-content",flexShrink:0,width:"100%"},".var-list":{flex:"1 1 auto",overflow:"auto",minHeight:0,"& > *":{flex:"0 0 auto"}}},config:{height:"100%",overflow:"auto",paddingRight:10}})),LG=e=>{const{uiModel:t}=e;return l(d.Stack,{className:"var-list",children:t.variables.map(n=>l(d.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})},VG=te.observer(LG),zG=({variable:e,data:t})=>l(d.Group,{style:{minHeight:0,height:"calc(100% - 68px)"},children:l(d.Paper,{withBorder:!0,p:"md",children:Jg(e,t)})}),FG=te.observer(zG),BG=e=>{const t=tt.useCreation(()=>Rz(e.variable),[e.variable]),{classes:n}=Zb(),{data:r}=Yt();return b(d.Group,{style:{height:"100%"},align:"start",children:[b(d.Stack,{"data-testid":"variable-editor",align:"stretch",className:n.config,children:[b(d.Group,{position:"right",children:[l(d.ActionIcon,{variant:"filled",disabled:!t.changed,color:"primary",onClick:t.commit,children:l(vu,{size:18})}),l(d.ActionIcon,{color:"red",onClick:()=>e.uiModel.remove(e.variable),children:l(cv,{size:18})})]}),l($G,{value:D.getSnapshot(t.copy),onChange:t.update,data:r})]}),l(FG,{variable:D.getSnapshot(t.copy),data:r})]})},jG=te.observer(BG),GG=()=>{const e=IG(),{classes:t}=Zb();return b(d.Group,{className:t.root,noWrap:!0,align:"start",children:[l(d.Paper,{withBorder:!0,p:"md",className:"var-list-container",children:b(d.Stack,{justify:"space-between",children:[l(d.Box,{className:"var-list-actions",children:l(d.Button,{variant:"light",size:"sm",onClick:e.addNew,fullWidth:!0,children:"Add Variable"})}),l(VG,{uiModel:e})]})}),e.selected?l(Oe,{children:l(jG,{uiModel:e,variable:e.selected})}):l("span",{children:"Select or create a new variable on right side"})]})},KG=te.observer(GG),Zc=[];function HG(){const{vizManager:e}=x.useContext(zn);return x.useMemo(()=>e.availableVizList.map(t=>({value:t.name,label:t.displayName})).concat(Zc),[e])}function WG(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function qG(){const{data:e,panel:{variables:t,viz:n,title:r,queryID:i,description:o,setDescription:a,setTitle:s,setQueryID:u,id:c}}=Yt(),{vizManager:f}=x.useContext(zn),h={title:r,description:o,viz:n,queryID:i,id:c},p={setDescription:a,setQueryID:u,setTitle:s},g=Wv(h);try{return f.resolveComponent(h.viz.type),l(zo,{configure:g,children:l(xV,{variables:t,setVizConf:n.setConf,panel:h,panelInfoEditor:p,vizManager:f,data:e})})}catch(v){return console.info(H.get(v,"message")),null}}const UG=te.observer(()=>{const{data:e,panel:{viz:t}}=Yt(),[n,r]=Ut.useInputState(t.type),i=t.type!==n,{vizManager:o}=x.useContext(zn),a=Z.default.useCallback(()=>{if(!i)return;const g=WG(o,n);t.setType(n),t.setConf(g||{})},[t,i,n]),s=g=>{try{t.setConf(JSON.parse(g))}catch(v){console.error(v)}},u=Z.default.useMemo(()=>{var g;return(g=Zc.find(v=>v.value===n))==null?void 0:g.Panel},[n,Zc]),c=qG(),f=u?x.createElement(u,{data:e,conf:t.conf,setConf:t.setConf}):null,h=c||f,p=HG();return b(d.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[l(d.Select,{label:"Visualization",value:n,onChange:r,data:p,rightSection:l(d.ActionIcon,{disabled:!i,onClick:a,children:l(le.DeviceFloppy,{size:20})})}),l(d.Box,{pb:50,sx:{maxHeight:"calc(100% - 80px)",overflow:"auto"},children:h}),!h&&l(d.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:s})]})}),YG={root:{flexGrow:1,width:"100%",height:"100%"},panel:{width:"100%",height:"100%",padding:10}},Jb=({children:e})=>b(d.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"calc(100% - 36px)"},children:[l(d.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:e}),l(OG,{})]});function XG(e){return!["richText","button"].includes(e)}const QG=te.observer(({panel:e})=>{const t=Le(),[n,r]=x.useState("Data"),{data:i,state:o,error:a}=t.getDataStuffByID(e.queryID),s=t.queries.findByID(e.queryID),c=XG(e.viz.type)&&o==="loading",f=c||a||!s||!!s.stateMessage;return x.useEffect(()=>{r(h=>f&&h==="Visualization"?"Data":h)},[e.id,f]),l(Ps,{value:{panel:e,data:i,loading:c,error:a},children:b(d.Tabs,{value:n,onTabChange:r,keepMounted:!1,styles:YG,children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"Data",disabled:c,children:"Data"}),l(d.Tabs.Tab,{value:"Panel",children:"Panel"}),l(d.Tabs.Tab,{value:"Variables",disabled:f,children:l(d.Tooltip,{label:"Requires data",disabled:!f,withinPortal:!0,zIndex:310,children:l(d.Text,{children:"Variables"})})}),l(d.Tabs.Tab,{value:"Visualization",disabled:f,children:l(d.Tooltip,{label:"Requires data",disabled:!f,withinPortal:!0,zIndex:310,children:l(d.Text,{children:"Visualization"})})}),l(d.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),b(d.Tabs.Panel,{value:"Data",children:[l(d.LoadingOverlay,{visible:c,exitTransitionDuration:0}),l(PG,{})]}),l(d.Tabs.Panel,{value:"Panel",children:l(Jb,{children:l(MG,{})})}),l(d.Tabs.Panel,{value:"Variables",children:l(KG,{})}),l(d.Tabs.Panel,{value:"Visualization",children:l(Or,{children:l(Jb,{children:l(UG,{})})})}),l(d.Tabs.Panel,{value:"Interactions",children:l(Or,{children:l(bV,{})})})]})})}),ZG=te.observer(({viewID:e,panelID:t})=>{const r=Le().views.findByID(e);if(!r)return b(d.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=r.panels.findByID(t);return i?l(QG,{panel:i}):b(d.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),JG=x.forwardRef(({label:e,type:t,...n},r)=>b(d.Group,{position:"apart",ref:r,...n,children:[l(d.Text,{children:e}),l(d.Text,{children:t})]})),eK=te.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=tt.useRequest(qu,{refreshDeps:[]},[]),o=x.useMemo(()=>r.map(s=>({label:s.key,value:s.key,type:s.type})),[r]),a=x.useMemo(()=>o.reduce((s,u)=>(s[u.value]=u.type,s),{}),[o]);return l(d.Select,{label:"Data Source",data:o,itemComponent:JG,sx:{flex:1},required:!0,disabled:i,value:t.key,onChange:s=>{s!==null&&n({key:s,type:a[s]})}})}),tK=e=>{const{queryModel:t}=e,n=Le(),r=n.findDependingPanels(t.id),i=r.length>0,o=lr.useModals(),a=()=>{o.openConfirmModal({title:"Delete this query?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.queries.removeQuery(t.id),zIndex:320})},s=l(d.Button,{color:"red",size:"xs",disabled:i,onClick:a,leftIcon:l(cv,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"});return i?l(d.Tooltip,{label:`This query is used in the following panels: ${r.join(", ")}`,withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,children:s}):s},nK=te.observer(tK),rK=te.observer(({queryModel:e})=>l(d.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:b(d.Stack,{spacing:10,sx:{width:"100%"},children:[l(d.Divider,{mb:-10,variant:"dashed",label:"Basics",labelPosition:"center"}),l(d.TextInput,{placeholder:"A unique name",label:"Name",required:!0,sx:{flex:1},value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),l(eK,{value:{type:e.type,key:e.key},onChange:({type:t,key:n})=>{e.setKey(n),e.setType(t)}}),l(d.Divider,{mt:10,mb:-10,variant:"dashed",label:"Conditions",labelPosition:"center"}),l(d.MultiSelect,{label:"Run query when these are truthy",data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy}),l(d.Divider,{mt:20,mb:10,variant:"dashed"}),l(nK,{queryModel:e})]})})),iK=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return l(d.Box,{sx:{position:"relative",flexGrow:1},children:l(Tn.default,{height:"100%",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},e0=x.forwardRef(({value:e,onChange:t,label:n,defaultValue:r},i)=>{const[o,a]=x.useState(e),s=()=>{t(o)},u=()=>{a(e)},c=()=>{a(r)};x.useEffect(()=>{a(e)},[e]);const f=o!==e;return b(d.Stack,{spacing:4,sx:{height:"100%"},children:[l(d.Text,{size:14,children:n}),l(iK,{value:o,onChange:a}),b(d.Group,{mt:10,position:"apart",sx:{flexShrink:0,flexGrow:0},children:[l(d.Button,{onClick:c,size:"xs",color:"red",leftIcon:l(le.Recycle,{size:16}),children:"Reset to default"}),f&&b(d.Group,{position:"right",children:[l(d.Button,{onClick:u,variant:"subtle",size:"xs",children:"Cancel"}),l(d.Button,{size:"xs",onClick:s,children:"OK"})]})]})]})}),oK=`
|
|
307
307
|
-- You may reference global variables in SQL or VizConfig.
|
|
308
308
|
SELECT *
|
|
309
309
|
FROM commit
|
|
@@ -317,4 +317,4 @@ WHERE
|
|
|
317
317
|
\${sql_snippets.order_by_clause}
|
|
318
318
|
`,t0=te.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=Le(),i=r.context.current,o=(()=>{const a={context:{...r.mock_context.current,...i},filters:r.filters.previewValues};return t&&(a.sql_snippets=r.sqlSnippets.record),JSON.stringify(a,null,2)})();return l(d.Stack,{sx:{overflow:"hidden",...n},children:b(d.Stack,{sx:{width:"100%"},children:[l(d.Text,{weight:500,sx:{flexGrow:0},children:"Guide"}),l(Ur.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:oK}),l(d.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),l(Ur.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})})}),Jc=te.observer(()=>{const[e,t]=x.useState(!1);return b(Oe,{children:[l(d.Modal,{opened:e,onClose:()=>t(!1),title:"Global Variables",zIndex:320,size:"800px",children:l(t0,{})}),l(d.Button,{variant:"subtle",onClick:()=>t(!0),children:"See Global Variables"})]})}),n0={pre:["function build_request({ context, filters }, utils) {"," // build the quest"," return { method, url, params, headers, data }","}"].join(`
|
|
319
319
|
`),post:["function process_result(res, utils) {"," // your code goes here"," return data","}"].join(`
|
|
320
|
-
`)},aK=te.observer(({queryModel:e})=>e.typedAsHTTP?b(d.Tabs,{defaultValue:"pre_process",orientation:"vertical",sx:{flexGrow:1},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"pre_process",children:"Build Request"}),l(d.Tabs.Tab,{value:"post_process",children:"Process Result"}),l(Jc,{})]}),l(d.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:l(e0,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:n0.pre})}),l(d.Tabs.Panel,{value:"post_process",p:"sm",children:l(e0,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:n0.post})})]}):null),ed=({value:e,onChange:t,height:n="200px",defaultLanguage:r="sql"})=>{const i=a=>{console.log("changing"),t==null||t(a!=null?a:"")},o=!t;return l(Tn.default,{className:"minimal-monaco-editor",height:n,defaultLanguage:r,value:e,onChange:o?void 0:i,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:o||!t}})},sK=({value:e,height:t="200px",defaultLanguage:n="sql"})=>l(Tn.default,{className:"preview-sql-in-monaco-editor",height:t,defaultLanguage:n,value:e,onChange:void 0,theme:"vs-light",options:{lineNumbers:"on",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:!0}}),lK=te.observer(({value:e})=>{const t=Le(),n=t.context.current,r=Z.default.useMemo(()=>pm(e,n,t.mock_context.current,t.sqlSnippets.current,t.filters.values),[e,n,t.mock_context.current,t.sqlSnippets.current,t.filters.values]);return l(sK,{height:"100%",value:r})}),uK=te.observer(({queryModel:e})=>{const[t,n]=Z.default.useState(e.sql);Z.default.useEffect(()=>{n(o=>o!==e.sql?e.sql:o)},[e.sql]);const r=t!==e.sql,i=()=>{e.setSQL(t)};return e.typedAsSQL?b(d.Tabs,{defaultValue:"Edit",orientation:"vertical",sx:{flexGrow:1},styles:{tabLabel:{width:"100%"}},keepMounted:!1,children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"Edit",children:b(d.Group,{spacing:14,position:"apart",children:["Edit",l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!r,onClick:i,children:l(le.DeviceFloppy,{size:20})})]})}),l(d.Tabs.Tab,{value:"Preview",children:"Preview"}),l(Jc,{})]}),l(d.Tabs.Panel,{value:"Edit",sx:{position:"relative"},p:"sm",children:l(ed,{height:"100%",value:t,onChange:n})}),l(d.Tabs.Panel,{value:"Preview",p:0,pl:4,children:l(lK,{value:e.sql})})]}):null}),td={height:"calc(100% - 44px)",padding:0},cK=te.observer(({queryModel:e})=>{const t=x.useMemo(()=>e.datasource?e.typedAsHTTP?"HTTP":"SQL":"Configurations",[e.datasource,e.typedAsHTTP]);return l(d.Stack,{sx:{flexGrow:1},my:0,p:0,children:b(d.Tabs,{defaultValue:t,orientation:"horizontal",keepMounted:!1,sx:{flexGrow:1},children:[b(d.Tabs.List,{grow:!0,children:[l(d.Tabs.Tab,{value:"Configurations",children:"Configurations"}),e.typedAsSQL&&l(d.Tabs.Tab,{value:"SQL",children:"SQL"}),e.typedAsHTTP&&l(d.Tabs.Tab,{value:"HTTP",children:"Request"}),l(d.Tabs.Tab,{value:"Data",disabled:!e.datasource,children:l(d.Tooltip,{label:"Need to pick a Data Source first",disabled:e.datasource,withinPortal:!0,children:l(d.Text,{children:"Data"})})})]}),l(d.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:l(rK,{queryModel:e})}),e.typedAsSQL&&l(d.Tabs.Panel,{value:"SQL",sx:td,children:l(d.Stack,{sx:{height:"100%"},children:l(uK,{queryModel:e})})}),e.typedAsHTTP&&l(d.Tabs.Panel,{value:"HTTP",sx:td,children:l(d.Stack,{sx:{height:"100%"},children:l(aK,{queryModel:e})})}),l(d.Tabs.Panel,{value:"Data",sx:{...td,overflow:"hidden"},children:l(Qb,{id:e.id})})]})})}),dK=te.observer(({id:e})=>{const t=Le(),n=x.useMemo(()=>t.queries.findByID(e),[t.queries,e]);return e===""?null:n?l(d.Stack,{sx:{height:"100%"},spacing:"sm",children:l(cK,{queryModel:n})}):l(d.Text,{size:14,color:"red",children:"Invalid Query ID"})}),fK=te.observer(({value:e})=>{const t=Le(),n=t.context.current,r=hz(e,n,t.mock_context.current,t.filters.values);return l(ed,{height:"400px",value:r})}),pK=te.observer(({item:e,remove:t,onKeyChanged:n})=>{const[r,i]=x.useState("SQL"),[o,a]=x.useState(e.key),s=()=>{e.setKey(o),n(o)},u=o!==e.key,c=e.isADuplicatedKey(o),[f,h]=x.useState(e.value),p=()=>{e.setValue(f)};x.useEffect(()=>{a(e.key),h(e.value)},[e]);const g=f!==e.value,v=lr.useModals(),m=()=>{v.openConfirmModal({title:"Delete this SQL snippet?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:t,zIndex:320})};return b(d.Stack,{my:0,p:0,pt:"md",pr:20,children:[b(d.Group,{sx:{alignItems:"end"},spacing:40,children:[l(d.TextInput,{label:c?"This key is occupied by another snippet":"Key",value:o,onChange:w=>{a(w.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:l(d.ActionIcon,{color:"blue",variant:"subtle",onClick:s,disabled:!u||c,children:l(le.DeviceFloppy,{size:16})}),error:c}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:m,children:"Delete this SQL Snippet"})]}),b(d.Tabs,{value:r,onTabChange:i,children:[b(d.Tabs.List,{sx:{position:"relative"},children:[l(d.Tabs.Tab,{value:"SQL",children:"SQL"}),l(d.Tabs.Tab,{value:"Preview",children:"Preview"}),l(Jc,{}),l(d.ActionIcon,{color:"blue",variant:"filled",onClick:p,disabled:!g,sx:{position:"absolute",top:0,right:10},children:l(le.DeviceFloppy,{size:18})})]}),l(d.Tabs.Panel,{value:"SQL",pt:"sm",children:l(ed,{height:"400px",value:f,onChange:h})}),l(d.Tabs.Panel,{value:"Preview",pt:"sm",children:l(fK,{value:f})})]})]})}),hK=te.observer(({id:e})=>{const t=Le(),n=x.useMemo(()=>t.sqlSnippets.findByKey(e),[e]);if(!n)return b(d.Text,{size:14,children:["SQL Snippet by key[",e,"] is not found"]});const r=()=>t.sqlSnippets.removeByKey(e);return l(d.Stack,{sx:{maxWidth:"1100px",height:"100%"},spacing:"sm",children:l(pK,{item:n,remove:r,onKeyChanged:he.default.noop})})}),gK=te.observer(({view:e})=>!e||e.type!==rt.Division?null:b(d.Stack,{children:[l(d.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),l(d.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})),vK=[{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"pills",label:"Pills"}],mK=[{value:"horizontal",label:"Horizontal"},{value:"vertical",label:"Vertical"}],yK=te.observer(({view:e})=>{if(!e||e.type!==rt.Tabs)return null;const t=e.config;return b(d.Stack,{children:[l(d.Divider,{mt:8,mb:0,label:"Tabs settings",labelPosition:"center"}),l(d.Select,{label:"Variant",value:t.variant,onChange:t.setVariant,data:vK}),l(d.Select,{label:"Orientation",value:t.orientation,onChange:t.setOrientation,data:mK}),l(d.Switch,{label:"Grow Tabs",checked:t.grow,onChange:n=>t.setGrow(n.currentTarget.checked)})]})}),bK=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},wK=({value:e,onChange:t})=>{const[n,{setTrue:r,setFalse:i}]=tt.useBoolean(),[o,a]=x.useState(e!=null?e:Uu),s=p=>{a({...o,enabled:p})},u=()=>{i();const{enabled:p,func_content:g}=o,v={enabled:p,func_content:g};a(v),t(v)},c=()=>{i(),a(e)},f=p=>{a(g=>({...g,func_content:p}))},h=()=>{f(Uu.func_content)};return b(Oe,{children:[l(d.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:r,sx:{flexGrow:0},children:l(le.Settings,{size:14})}),l(d.Modal,{size:800,title:"Customize modal title",opened:n,onClose:i,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:n&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:o.enabled,onChange:p=>s(p.currentTarget.checked)}),l(bK,{value:o.func_content,onChange:f,disabled:!o.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},xK=te.observer(({view:e})=>{if(!e||e.type!==rt.Modal)return null;const t=e.config,n=t.custom_modal_title.value;return b(d.Stack,{children:[l(d.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),b(d.Flex,{gap:10,children:[l(d.TextInput,{label:"Modal Title",value:n,onChange:he.default.noop,disabled:!0,sx:{flexGrow:1}}),l(wK,{value:t.custom_modal_title,onChange:t.custom_modal_title.replace})]}),b(d.Group,{grow:!0,children:[l(d.TextInput,{label:"Width",value:t.width,onChange:r=>t.setWidth(r.currentTarget.value),placeholder:"600px / 50vw"}),l(d.TextInput,{label:"Height",value:t.height,onChange:r=>t.setHeight(r.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),SK=te.observer(({view:e})=>b(Oe,{children:[l(gK,{view:e}),l(xK,{view:e}),l(yK,{view:e})]})),CK=[{label:"Division",value:rt.Division},{label:"Modal",value:rt.Modal},{label:"Tabs",value:rt.Tabs}],_K=te.observer(({view:e})=>e?b(d.Stack,{sx:{position:"relative"},children:[l(d.TextInput,{label:"Name",value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),l(d.Select,{label:"Type",withinPortal:!0,value:e.type,onChange:e.setType,data:CK}),l(SK,{view:e})]}):null),EK=te.observer(({id:e})=>{const t=lr.useModals(),n=Le(),r=n.views.findByID(e);if(!r)return b(d.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=()=>{t.openConfirmModal({title:"Delete this view?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.views.removeByID(e),zIndex:320})};return b(d.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[l(d.Group,{position:"right",pt:10,children:l(d.Button,{size:"xs",color:"red",leftIcon:l(le.Trash,{size:16}),onClick:i,children:"Delete this view"})}),l(d.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:l(_K,{view:r})})]})});function TK(e){return e.length===1&&e[0]==="_GLOBAL_VARS_"}function MK(e){return e.length===1&&e[0]==="_MOCK_CONTEXT_"}function kK(e){return e.length===2&&e[0]==="_FILTERS_"}function OK(e){return e.length===2&&e[0]==="_SQL_SNIPPETS_"}function DK(e){return e.length===2&&e[0]==="_QUERIES_"}function RK(e){return e.length===2&&e[0]==="_VIEWS_"}function AK(e){return e.length===4&&e[0]==="_VIEWS_"&&e[2]==="_PANELS_"}const PK=te.observer(()=>l(d.Stack,{sx:{height:"100%"},p:"sm",children:l(t0,{})})),NK=te.observer(()=>{const e=Le().editor,t=e.path;return TK(t)?l(PK,{}):MK(t)?l(CG,{}):kK(t)?l(d.Box,{p:"xs",pl:20,children:l(SG,{id:t[1]})}):OK(t)?l(d.Box,{p:"xs",pl:20,children:l(hK,{id:t[1]})}):DK(t)?l(dK,{id:t[1]}):RK(t)?l(d.Box,{p:"xs",pl:20,children:l(EK,{id:t[1]})}):AK(t)?l(ZG,{viewID:t[1],panelID:t[3]}):l(d.Box,{children:e.path})}),IK=te.observer(()=>(Le().editor,l(NK,{}))),$K=te.observer(()=>{const e=Le(),t=()=>{const n=new Date().getTime().toString(),r={id:n,key:n,label:n,order:e.filters.current.length+1,type:ju.TextInput,config:sm(),visibleInViewsIDs:["Main"],auto_submit:!1};e.filters.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Filter"})}),LK=te.observer(({parentID:e})=>{const t=Le();if(!e)return null;const n=t.views.findByID(e);return n?l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n.panels.addANewPanel,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Panel"}):null}),VK=te.observer(()=>{const e=Le(),t=()=>{const n=new Date().getTime().toString(),r={id:n,name:n,type:Sn.Postgresql,key:"",sql:""};e.queries.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Query"})}),zK=te.observer(()=>{const e=Le(),t=()=>{const r={key:new Date().getTime().toString(),value:""};e.sqlSnippets.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a SQL Snippet"})}),FK=te.observer(()=>{const e=Le();return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:e.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a View"})}),BK=te.observer(({action_type:e,parentID:t})=>(Le(),e==="_Add_A_Filter_"?l($K,{}):e==="_Add_A_SQL_SNIPPET_"?l(zK,{}):e==="_Add_A_QUERY_"?l(VK,{}):e==="_Add_A_VIEW_"?l(FK,{}):e==="_Add_A_PANEL_"?l(LK,{parentID:t}):null)),r0=te.observer(({option:e})=>{var a;const t=Le().editor,n=t.isOptionActive,r=n(t.path,e),i=t.isOptionOpened,o=t.navigate;return l(d.NavLink,{active:r,defaultOpened:i(e),label:e.label,onClick:()=>o(e),icon:e.Icon?l(e.Icon,{size:18}):null,children:(a=e.children)==null?void 0:a.map(s=>s._type==="ACTION"?l(BK,{action_type:s._action_type,parentID:s.parentID},`_ADD_${s.value}_`):l(r0,{option:s},s.value))},e.label)}),jK=te.observer(()=>{const e=Le();return l(d.Box,{sx:{position:"relative"},children:e.editor.navOptions.map(t=>l(r0,{option:t},t.value))})}),GK=te.observer(()=>{const e=Le();return b(d.Navbar,{p:0,width:{base:200,height:"100vh - 60px - 60px"},children:[l(d.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:l(d.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Settings"})}),l(d.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:l(jK,{})}),l(d.Navbar.Section,{children:l(d.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:l(d.Button,{size:"xs",color:"red",leftIcon:l(wN,{size:18}),onClick:()=>e.editor.close(),children:"Close"})})})]})}),KK={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1,nav:{top:0,height:"100vh"}},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:0,height:"100vh"}},HK=te.observer(()=>{const e=Le().editor;return l(d.Modal,{onClose:()=>e.setSettingsOpen(!1),closeOnEscape:!1,closeOnClickOutside:!1,opened:e.settings_open,fullScreen:!0,title:null,transitionDuration:0,withCloseButton:!1,withinPortal:!0,zIndex:300,styles:{modal:{padding:"0 !important"}},children:l(d.AppShell,{padding:0,navbar:l(GK,{}),styles:KK,children:l(IK,{})})})}),WK={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60,height:"100vh"}},qK=te.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:o}){em(o);const{data:a=[]}=tt.useRequest(qu),[s,u]=Z.default.useState(!1),c=Z.default.useMemo(()=>Yu(n,a,t),[n]);ud(c,!0),Z.default.useEffect(()=>{c.context.replace(t)},[t]),Z.default.useEffect(()=>{c.datasources.replace(a)},[a]);const f=async()=>{const g=[...c.queries.json],v=[...c.sqlSnippets.json],m=[...c.views.json],w={...c.mock_context.current},y={...n,filters:[...c.filters.current],views:m,definition:{sqlSnippets:v,queries:g,mock_context:w}};await r(y)},h=tt.useCreation(Fu,[]),p=Xu(h);return l(lr.ModalsProvider,{children:l(As,{value:c,children:l(Dr.Provider,{value:{layoutFrozen:s,freezeLayout:u,inEditMode:!0},children:l(zn.Provider,{value:h,children:b(zo,{configure:p,children:[l(d.AppShell,{padding:0,header:l(Wz,{saveDashboardChanges:f}),navbar:l(sG,{}),styles:WK,children:l(d.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:c.views.visibleViews.map(g=>l(Jv,{view:g},g.id))})}),l(HK,{})]})})})})})}),T6="",UK=te.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:o})=>{em(r);const{data:a=[]}=tt.useRequest(qu),s=Z.default.useMemo(()=>Yu(t,a,e),[t]);ud(s,!1),Z.default.useEffect(()=>{s.context.replace(e)},[e]),Z.default.useEffect(()=>{s.datasources.replace(a)},[a]);const u=tt.useCreation(Fu,[]),c=Xu(u);return l(lr.ModalsProvider,{children:l(As,{value:s,children:l(Ns.Provider,{value:{fullScreenPanelID:i,setFullScreenPanelID:o},children:l(Dr.Provider,{value:{layoutFrozen:!0,freezeLayout:he.default.noop,inEditMode:!1},children:l(d.Box,{className:`${n} dashboard-root`,children:l(zn.Provider,{value:u,children:l(zo,{configure:c,children:s.views.visibleViews.map(f=>l(Wa,{view:f},f.id))})})})})})})})});var i0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(hn,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,o,a){var s,u=function(p,g,v){v===void 0&&(v={});var m=new Date(p),w=function(y,C){C===void 0&&(C={});var _=C.timeZoneName||"short",S=y+"|"+_,E=r[S];return E||(E=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:_}),r[S]=E),E}(g,v);return w.formatToParts(m)},c=function(p,g){for(var v=u(p,g),m=[],w=0;w<v.length;w+=1){var y=v[w],C=y.type,_=y.value,S=n[C];S>=0&&(m[S]=parseInt(_,10))}var E=m[3],k=E===24?0:E,A=m[0]+"-"+m[1]+"-"+m[2]+" "+k+":"+m[4]+":"+m[5]+":000",L=+p;return(a.utc(A).valueOf()-(L-=L%1e3))/6e4},f=o.prototype;f.tz=function(p,g){p===void 0&&(p=s);var v=this.utcOffset(),m=this.toDate(),w=m.toLocaleString("en-US",{timeZone:p}),y=Math.round((m-new Date(w))/1e3/60),C=a(w).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-y,!0);if(g){var _=C.utcOffset();C=C.add(v-_,"minute")}return C.$x.$timezone=p,C},f.offsetName=function(p){var g=this.$x.$timezone||a.tz.guess(),v=u(this.valueOf(),g,{timeZoneName:p}).find(function(m){return m.type.toLowerCase()==="timezonename"});return v&&v.value};var h=f.startOf;f.startOf=function(p,g){if(!this.$x||!this.$x.$timezone)return h.call(this,p,g);var v=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return h.call(v,p,g).tz(this.$x.$timezone,!0)},a.tz=function(p,g,v){var m=v&&g,w=v||g||s,y=c(+a(),w);if(typeof p!="string")return a(p).tz(w);var C=function(k,A,L){var F=k-60*A*1e3,P=c(F,L);if(A===P)return[F,A];var O=c(F-=60*(P-A)*1e3,L);return P===O?[F,P]:[k-60*Math.min(P,O)*1e3,Math.max(P,O)]}(a.utc(p,m).valueOf(),y,w),_=C[0],S=C[1],E=a(_).utcOffset(S);return E.$x.$timezone=w,E},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(p){s=p}}})})(i0);const YK=i0.exports;var o0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(hn,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(o,a,s){var u=a.prototype;s.utc=function(m){var w={date:m,utc:!0,args:arguments};return new a(w)},u.utc=function(m){var w=s(this.toDate(),{locale:this.$L,utc:!0});return m?w.add(this.utcOffset(),n):w},u.local=function(){return s(this.toDate(),{locale:this.$L,utc:!1})};var c=u.parse;u.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),c.call(this,m)};var f=u.init;u.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else f.call(this)};var h=u.utcOffset;u.utcOffset=function(m,w){var y=this.$utils().u;if(y(m))return this.$u?0:y(this.$offset)?h.call(this):this.$offset;if(typeof m=="string"&&(m=function(E){E===void 0&&(E="");var k=E.match(r);if(!k)return null;var A=(""+k[0]).match(i)||["-",0,0],L=A[0],F=60*+A[1]+ +A[2];return F===0?0:L==="+"?F:-F}(m),m===null))return this;var C=Math.abs(m)<=16?60*m:m,_=this;if(w)return _.$offset=C,_.$u=m===0,_;if(m!==0){var S=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(_=this.local().add(C+S,n)).$offset=C,_.$x.$localOffset=S}else _=this.utc();return _};var p=u.format;u.format=function(m){var w=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,w)},u.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var g=u.toDate;u.toDate=function(m){return m==="s"&&this.$offset?s(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var v=u.diff;u.diff=function(m,w,y){if(m&&this.$u===m.$u)return v.call(this,m,w,y);var C=this.local(),_=s(m).local();return v.call(C,_,w,y)}}})})(o0);const XK=o0.exports,QK=()=>Promise.resolve().then(()=>$D).then(({version:e})=>(console.log(`[@devtable/dashboard] version: ${e}`),e));En.default.extend(XK),En.default.extend(YK),En.default.tz.setDefault("UTC"),de.ContextModel=ym,de.Dashboard=qK,de.DashboardFilterType=ju,de.DashboardMode=Qv,de.DashboardModel=Xa,de.DashboardViewEditor=Jv,de.DashboardViewRender=Wa,de.EViewComponentType=rt,de.FilterModel=Ku,de.FiltersModel=cm,de.FullScreenPanelContext=Ns,de.LayoutStateContext=Dr,de.ModelContextProvider=As,de.Panel=Ha,de.PanelContextProvider=Ps,de.QueriesModel=gm,de.QueryModel=hm,de.ReadOnlyDashboard=UK,de.SQLSnippetModel=vm,de.SQLSnippetsModel=mm,de.ViewComponentTypeBackground=Zv,de.ViewComponentTypeColor=IV,de.ViewComponentTypeName=NV,de.ViewModel=Sm,de.ViewsModel=Cm,de.createDashboardModel=Yu,de.createDashboardViewsModel=_m,de.getInitialFiltersPayload=dm,de.getVersion=QK,de.useFullScreenPanelContext=vd,de.useModelContext=Le,de.usePanelContext=Yt,de.useTopLevelServices=Xu,Object.defineProperties(de,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
320
|
+
`)},aK=te.observer(({queryModel:e})=>e.typedAsHTTP?b(d.Tabs,{defaultValue:"pre_process",orientation:"vertical",sx:{flexGrow:1},children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"pre_process",children:"Build Request"}),l(d.Tabs.Tab,{value:"post_process",children:"Process Result"}),l(Jc,{})]}),l(d.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:l(e0,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:n0.pre})}),l(d.Tabs.Panel,{value:"post_process",p:"sm",children:l(e0,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:n0.post})})]}):null),ed=({value:e,onChange:t,height:n="200px",defaultLanguage:r="sql"})=>{const i=a=>{console.log("changing"),t==null||t(a!=null?a:"")},o=!t;return l(Tn.default,{className:"minimal-monaco-editor",height:n,defaultLanguage:r,value:e,onChange:o?void 0:i,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:o||!t}})},sK=({value:e,height:t="200px",defaultLanguage:n="sql"})=>l(Tn.default,{className:"preview-sql-in-monaco-editor",height:t,defaultLanguage:n,value:e,onChange:void 0,theme:"vs-light",options:{lineNumbers:"on",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:!0}}),lK=te.observer(({value:e})=>{const t=Le(),n=t.context.current,r=Z.default.useMemo(()=>pm(e,n,t.mock_context.current,t.sqlSnippets.current,t.filters.values),[e,n,t.mock_context.current,t.sqlSnippets.current,t.filters.values]);return l(sK,{height:"100%",value:r})}),uK=te.observer(({queryModel:e})=>{const[t,n]=Z.default.useState(e.sql);Z.default.useEffect(()=>{n(o=>o!==e.sql?e.sql:o)},[e.sql]);const r=t!==e.sql,i=()=>{e.setSQL(t)};return e.typedAsSQL?b(d.Tabs,{defaultValue:"Edit",orientation:"vertical",sx:{flexGrow:1},styles:{tabLabel:{width:"100%"}},keepMounted:!1,children:[b(d.Tabs.List,{children:[l(d.Tabs.Tab,{value:"Edit",children:b(d.Group,{spacing:14,position:"apart",children:["Edit",l(d.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!r,onClick:i,children:l(le.DeviceFloppy,{size:20})})]})}),l(d.Tabs.Tab,{value:"Preview",children:"Preview"}),l(Jc,{})]}),l(d.Tabs.Panel,{value:"Edit",sx:{position:"relative"},p:"sm",children:l(ed,{height:"100%",value:t,onChange:n})}),l(d.Tabs.Panel,{value:"Preview",p:0,pl:4,children:l(lK,{value:e.sql})})]}):null}),td={height:"calc(100% - 44px)",padding:0},cK=te.observer(({queryModel:e})=>{const t=x.useMemo(()=>e.datasource?e.typedAsHTTP?"HTTP":"SQL":"Configurations",[e.datasource,e.typedAsHTTP]);return l(d.Stack,{sx:{flexGrow:1},my:0,p:0,children:b(d.Tabs,{defaultValue:t,orientation:"horizontal",keepMounted:!1,sx:{flexGrow:1},children:[b(d.Tabs.List,{grow:!0,children:[l(d.Tabs.Tab,{value:"Configurations",children:"Configurations"}),e.typedAsSQL&&l(d.Tabs.Tab,{value:"SQL",children:"SQL"}),e.typedAsHTTP&&l(d.Tabs.Tab,{value:"HTTP",children:"Request"}),l(d.Tabs.Tab,{value:"Data",disabled:!e.datasource,children:l(d.Tooltip,{label:"Need to pick a Data Source first",disabled:e.datasource,withinPortal:!0,children:l(d.Text,{children:"Data"})})})]}),l(d.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:l(rK,{queryModel:e})}),e.typedAsSQL&&l(d.Tabs.Panel,{value:"SQL",sx:td,children:l(d.Stack,{sx:{height:"100%"},children:l(uK,{queryModel:e})})}),e.typedAsHTTP&&l(d.Tabs.Panel,{value:"HTTP",sx:td,children:l(d.Stack,{sx:{height:"100%"},children:l(aK,{queryModel:e})})}),l(d.Tabs.Panel,{value:"Data",sx:{...td,overflow:"hidden"},children:l(Qb,{id:e.id})})]})})}),dK=te.observer(({id:e})=>{const t=Le(),n=x.useMemo(()=>t.queries.findByID(e),[t.queries,e]);return e===""?null:n?l(d.Stack,{sx:{height:"100%"},spacing:"sm",children:l(cK,{queryModel:n})}):l(d.Text,{size:14,color:"red",children:"Invalid Query ID"})}),fK=te.observer(({value:e})=>{const t=Le(),n=t.context.current,r=hz(e,n,t.mock_context.current,t.filters.values);return l(ed,{height:"100%",value:r})}),pK=te.observer(({item:e,remove:t,onKeyChanged:n})=>{const[r,i]=x.useState("SQL"),[o,a]=x.useState(e.key),s=()=>{e.setKey(o),n(o)},u=o!==e.key,c=e.isADuplicatedKey(o),[f,h]=x.useState(e.value),p=()=>{e.setValue(f)};x.useEffect(()=>{a(e.key),h(e.value)},[e]);const g=f!==e.value,v=lr.useModals(),m=()=>{v.openConfirmModal({title:"Delete this SQL snippet?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:t,zIndex:320})};return b(d.Stack,{p:20,sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",children:[b(d.Group,{sx:{alignItems:"end"},spacing:40,children:[l(d.TextInput,{label:c?"This key is occupied by another snippet":"Key",value:o,onChange:w=>{a(w.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:l(d.ActionIcon,{color:"blue",variant:"subtle",onClick:s,disabled:!u||c,children:l(le.DeviceFloppy,{size:16})}),error:c}),l(d.Button,{leftIcon:l(le.Trash,{size:16}),color:"red",variant:"light",onClick:m,children:"Delete this SQL Snippet"})]}),b(d.Tabs,{value:r,onTabChange:i,sx:{flexGrow:1},styles:{panel:{height:"calc(100% - 50px)"}},children:[b(d.Tabs.List,{sx:{position:"relative"},children:[l(d.Tabs.Tab,{value:"SQL",children:"SQL"}),l(d.Tabs.Tab,{value:"Preview",children:"Preview"}),l(Jc,{}),l(d.ActionIcon,{color:"blue",variant:"filled",onClick:p,disabled:!g,sx:{position:"absolute",top:0,right:10},children:l(le.DeviceFloppy,{size:18})})]}),l(d.Tabs.Panel,{value:"SQL",pt:"sm",children:l(ed,{height:"100%",value:f,onChange:h})}),l(d.Tabs.Panel,{value:"Preview",pt:"sm",children:l(fK,{value:f})})]})]})}),hK=te.observer(({id:e})=>{const t=Le(),n=x.useMemo(()=>t.sqlSnippets.findByKey(e),[e]);return n?l(pK,{item:n,remove:()=>t.sqlSnippets.removeByKey(e),onKeyChanged:he.default.noop}):b(d.Text,{size:14,children:["SQL Snippet by key[",e,"] is not found"]})}),gK=te.observer(({view:e})=>!e||e.type!==rt.Division?null:b(d.Stack,{children:[l(d.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),l(d.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})),vK=[{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"pills",label:"Pills"}],mK=[{value:"horizontal",label:"Horizontal"},{value:"vertical",label:"Vertical"}],yK=te.observer(({view:e})=>{if(!e||e.type!==rt.Tabs)return null;const t=e.config;return b(d.Stack,{children:[l(d.Divider,{mt:8,mb:0,label:"Tabs settings",labelPosition:"center"}),l(d.Select,{label:"Variant",value:t.variant,onChange:t.setVariant,data:vK}),l(d.Select,{label:"Orientation",value:t.orientation,onChange:t.setOrientation,data:mK}),l(d.Switch,{label:"Grow Tabs",checked:t.grow,onChange:n=>t.setGrow(n.currentTarget.checked)})]})}),bK=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return b(d.Box,{sx:{position:"relative"},children:[e&&l(d.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),l(Tn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1,readOnly:e}}})]})},wK=({value:e,onChange:t})=>{const[n,{setTrue:r,setFalse:i}]=tt.useBoolean(),[o,a]=x.useState(e!=null?e:Uu),s=p=>{a({...o,enabled:p})},u=()=>{i();const{enabled:p,func_content:g}=o,v={enabled:p,func_content:g};a(v),t(v)},c=()=>{i(),a(e)},f=p=>{a(g=>({...g,func_content:p}))},h=()=>{f(Uu.func_content)};return b(Oe,{children:[l(d.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:r,sx:{flexGrow:0},children:l(le.Settings,{size:14})}),l(d.Modal,{size:800,title:"Customize modal title",opened:n,onClose:i,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:n&&b(d.Stack,{children:[l(d.Checkbox,{mt:10,label:"Enabled",checked:o.enabled,onChange:p=>s(p.currentTarget.checked)}),l(bK,{value:o.func_content,onChange:f,disabled:!o.enabled}),b(d.Group,{position:"apart",children:[l(d.Button,{onClick:h,color:"red",leftIcon:l(le.Recycle,{size:20}),children:"Rest"}),b(d.Group,{position:"right",children:[l(d.Button,{onClick:c,variant:"subtle",children:"Cancel"}),l(d.Button,{onClick:u,children:"OK"})]})]})]})})]})},xK=te.observer(({view:e})=>{if(!e||e.type!==rt.Modal)return null;const t=e.config,n=t.custom_modal_title.value;return b(d.Stack,{children:[l(d.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),b(d.Flex,{gap:10,children:[l(d.TextInput,{label:"Modal Title",value:n,onChange:he.default.noop,disabled:!0,sx:{flexGrow:1}}),l(wK,{value:t.custom_modal_title,onChange:t.custom_modal_title.replace})]}),b(d.Group,{grow:!0,children:[l(d.TextInput,{label:"Width",value:t.width,onChange:r=>t.setWidth(r.currentTarget.value),placeholder:"600px / 50vw"}),l(d.TextInput,{label:"Height",value:t.height,onChange:r=>t.setHeight(r.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),SK=te.observer(({view:e})=>b(Oe,{children:[l(gK,{view:e}),l(xK,{view:e}),l(yK,{view:e})]})),CK=[{label:"Division",value:rt.Division},{label:"Modal",value:rt.Modal},{label:"Tabs",value:rt.Tabs}],_K=te.observer(({view:e})=>e?b(d.Stack,{sx:{position:"relative"},children:[l(d.TextInput,{label:"Name",value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),l(d.Select,{label:"Type",withinPortal:!0,value:e.type,onChange:e.setType,data:CK}),l(SK,{view:e})]}):null),EK=te.observer(({id:e})=>{const t=lr.useModals(),n=Le(),r=n.views.findByID(e);if(!r)return b(d.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=()=>{t.openConfirmModal({title:"Delete this view?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.views.removeByID(e),zIndex:320})};return b(d.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[l(d.Group,{position:"right",pt:10,children:l(d.Button,{size:"xs",color:"red",leftIcon:l(le.Trash,{size:16}),onClick:i,children:"Delete this view"})}),l(d.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:l(_K,{view:r})})]})});function TK(e){return e.length===1&&e[0]==="_GLOBAL_VARS_"}function MK(e){return e.length===1&&e[0]==="_MOCK_CONTEXT_"}function kK(e){return e.length===2&&e[0]==="_FILTERS_"}function OK(e){return e.length===2&&e[0]==="_SQL_SNIPPETS_"}function DK(e){return e.length===2&&e[0]==="_QUERIES_"}function RK(e){return e.length===2&&e[0]==="_VIEWS_"}function AK(e){return e.length===4&&e[0]==="_VIEWS_"&&e[2]==="_PANELS_"}const PK=te.observer(()=>l(d.Stack,{sx:{height:"100%"},p:"sm",children:l(t0,{})})),NK=te.observer(()=>{const e=Le().editor,t=e.path;return TK(t)?l(PK,{}):MK(t)?l(CG,{}):kK(t)?l(d.Box,{p:"xs",pl:20,children:l(SG,{id:t[1]})}):OK(t)?l(hK,{id:t[1]}):DK(t)?l(dK,{id:t[1]}):RK(t)?l(d.Box,{p:"xs",pl:20,children:l(EK,{id:t[1]})}):AK(t)?l(ZG,{viewID:t[1],panelID:t[3]}):l(d.Box,{children:e.path})}),IK=te.observer(()=>(Le().editor,l(NK,{}))),$K=te.observer(()=>{const e=Le(),t=()=>{const n=new Date().getTime().toString(),r={id:n,key:n,label:n,order:e.filters.current.length+1,type:ju.TextInput,config:sm(),visibleInViewsIDs:["Main"],auto_submit:!1};e.filters.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Filter"})}),LK=te.observer(({parentID:e})=>{const t=Le();if(!e)return null;const n=t.views.findByID(e);return n?l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n.panels.addANewPanel,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Panel"}):null}),VK=te.observer(()=>{const e=Le(),t=()=>{const n=new Date().getTime().toString(),r={id:n,name:n,type:Sn.Postgresql,key:"",sql:""};e.queries.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a Query"})}),zK=te.observer(()=>{const e=Le(),t=()=>{const r={key:new Date().getTime().toString(),value:""};e.sqlSnippets.append(r)};return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:t,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a SQL Snippet"})}),FK=te.observer(()=>{const e=Le();return l(d.Button,{variant:"subtle",leftIcon:l(bi,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:e.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:"Add a View"})}),BK=te.observer(({action_type:e,parentID:t})=>(Le(),e==="_Add_A_Filter_"?l($K,{}):e==="_Add_A_SQL_SNIPPET_"?l(zK,{}):e==="_Add_A_QUERY_"?l(VK,{}):e==="_Add_A_VIEW_"?l(FK,{}):e==="_Add_A_PANEL_"?l(LK,{parentID:t}):null)),r0=te.observer(({option:e})=>{var a;const t=Le().editor,n=t.isOptionActive,r=n(t.path,e),i=t.isOptionOpened,o=t.navigate;return l(d.NavLink,{active:r,defaultOpened:i(e),label:e.label,onClick:()=>o(e),icon:e.Icon?l(e.Icon,{size:18}):null,children:(a=e.children)==null?void 0:a.map(s=>s._type==="ACTION"?l(BK,{action_type:s._action_type,parentID:s.parentID},`_ADD_${s.value}_`):l(r0,{option:s},s.value))},e.label)}),jK=te.observer(()=>{const e=Le();return l(d.Box,{sx:{position:"relative"},children:e.editor.navOptions.map(t=>l(r0,{option:t},t.value))})}),GK=te.observer(()=>{const e=Le();return b(d.Navbar,{p:0,width:{base:200,height:"100vh - 60px - 60px"},children:[l(d.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:l(d.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Settings"})}),l(d.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:l(jK,{})}),l(d.Navbar.Section,{children:l(d.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:l(d.Button,{size:"xs",color:"red",leftIcon:l(wN,{size:18}),onClick:()=>e.editor.close(),children:"Close"})})})]})}),KK={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1,nav:{top:0,height:"100vh"}},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:0,height:"100vh"}},HK=te.observer(()=>{const e=Le().editor;return l(d.Modal,{onClose:()=>e.setSettingsOpen(!1),closeOnEscape:!1,closeOnClickOutside:!1,opened:e.settings_open,fullScreen:!0,title:null,transitionDuration:0,withCloseButton:!1,withinPortal:!0,zIndex:300,styles:{modal:{padding:"0 !important"}},children:l(d.AppShell,{padding:0,navbar:l(GK,{}),styles:KK,children:l(IK,{})})})}),WK={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60,height:"100vh"}},qK=te.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:o}){em(o);const{data:a=[]}=tt.useRequest(qu),[s,u]=Z.default.useState(!1),c=Z.default.useMemo(()=>Yu(n,a,t),[n]);ud(c,!0),Z.default.useEffect(()=>{c.context.replace(t)},[t]),Z.default.useEffect(()=>{c.datasources.replace(a)},[a]);const f=async()=>{const g=[...c.queries.json],v=[...c.sqlSnippets.json],m=[...c.views.json],w={...c.mock_context.current},y={...n,filters:[...c.filters.current],views:m,definition:{sqlSnippets:v,queries:g,mock_context:w}};await r(y)},h=tt.useCreation(Fu,[]),p=Xu(h);return l(lr.ModalsProvider,{children:l(As,{value:c,children:l(Dr.Provider,{value:{layoutFrozen:s,freezeLayout:u,inEditMode:!0},children:l(zn.Provider,{value:h,children:b(zo,{configure:p,children:[l(d.AppShell,{padding:0,header:l(Wz,{saveDashboardChanges:f}),navbar:l(sG,{}),styles:WK,children:l(d.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:c.views.visibleViews.map(g=>l(Jv,{view:g},g.id))})}),l(HK,{})]})})})})})}),T6="",UK=te.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:o})=>{em(r);const{data:a=[]}=tt.useRequest(qu),s=Z.default.useMemo(()=>Yu(t,a,e),[t]);ud(s,!1),Z.default.useEffect(()=>{s.context.replace(e)},[e]),Z.default.useEffect(()=>{s.datasources.replace(a)},[a]);const u=tt.useCreation(Fu,[]),c=Xu(u);return l(lr.ModalsProvider,{children:l(As,{value:s,children:l(Ns.Provider,{value:{fullScreenPanelID:i,setFullScreenPanelID:o},children:l(Dr.Provider,{value:{layoutFrozen:!0,freezeLayout:he.default.noop,inEditMode:!1},children:l(d.Box,{className:`${n} dashboard-root`,children:l(zn.Provider,{value:u,children:l(zo,{configure:c,children:s.views.visibleViews.map(f=>l(Wa,{view:f},f.id))})})})})})})})});var i0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(hn,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,o,a){var s,u=function(p,g,v){v===void 0&&(v={});var m=new Date(p),w=function(y,C){C===void 0&&(C={});var _=C.timeZoneName||"short",S=y+"|"+_,E=r[S];return E||(E=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:y,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:_}),r[S]=E),E}(g,v);return w.formatToParts(m)},c=function(p,g){for(var v=u(p,g),m=[],w=0;w<v.length;w+=1){var y=v[w],C=y.type,_=y.value,S=n[C];S>=0&&(m[S]=parseInt(_,10))}var E=m[3],k=E===24?0:E,A=m[0]+"-"+m[1]+"-"+m[2]+" "+k+":"+m[4]+":"+m[5]+":000",L=+p;return(a.utc(A).valueOf()-(L-=L%1e3))/6e4},f=o.prototype;f.tz=function(p,g){p===void 0&&(p=s);var v=this.utcOffset(),m=this.toDate(),w=m.toLocaleString("en-US",{timeZone:p}),y=Math.round((m-new Date(w))/1e3/60),C=a(w).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-y,!0);if(g){var _=C.utcOffset();C=C.add(v-_,"minute")}return C.$x.$timezone=p,C},f.offsetName=function(p){var g=this.$x.$timezone||a.tz.guess(),v=u(this.valueOf(),g,{timeZoneName:p}).find(function(m){return m.type.toLowerCase()==="timezonename"});return v&&v.value};var h=f.startOf;f.startOf=function(p,g){if(!this.$x||!this.$x.$timezone)return h.call(this,p,g);var v=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return h.call(v,p,g).tz(this.$x.$timezone,!0)},a.tz=function(p,g,v){var m=v&&g,w=v||g||s,y=c(+a(),w);if(typeof p!="string")return a(p).tz(w);var C=function(k,A,L){var F=k-60*A*1e3,P=c(F,L);if(A===P)return[F,A];var O=c(F-=60*(P-A)*1e3,L);return P===O?[F,P]:[k-60*Math.min(P,O)*1e3,Math.max(P,O)]}(a.utc(p,m).valueOf(),y,w),_=C[0],S=C[1],E=a(_).utcOffset(S);return E.$x.$timezone=w,E},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(p){s=p}}})})(i0);const YK=i0.exports;var o0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(hn,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(o,a,s){var u=a.prototype;s.utc=function(m){var w={date:m,utc:!0,args:arguments};return new a(w)},u.utc=function(m){var w=s(this.toDate(),{locale:this.$L,utc:!0});return m?w.add(this.utcOffset(),n):w},u.local=function(){return s(this.toDate(),{locale:this.$L,utc:!1})};var c=u.parse;u.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),c.call(this,m)};var f=u.init;u.init=function(){if(this.$u){var m=this.$d;this.$y=m.getUTCFullYear(),this.$M=m.getUTCMonth(),this.$D=m.getUTCDate(),this.$W=m.getUTCDay(),this.$H=m.getUTCHours(),this.$m=m.getUTCMinutes(),this.$s=m.getUTCSeconds(),this.$ms=m.getUTCMilliseconds()}else f.call(this)};var h=u.utcOffset;u.utcOffset=function(m,w){var y=this.$utils().u;if(y(m))return this.$u?0:y(this.$offset)?h.call(this):this.$offset;if(typeof m=="string"&&(m=function(E){E===void 0&&(E="");var k=E.match(r);if(!k)return null;var A=(""+k[0]).match(i)||["-",0,0],L=A[0],F=60*+A[1]+ +A[2];return F===0?0:L==="+"?F:-F}(m),m===null))return this;var C=Math.abs(m)<=16?60*m:m,_=this;if(w)return _.$offset=C,_.$u=m===0,_;if(m!==0){var S=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(_=this.local().add(C+S,n)).$offset=C,_.$x.$localOffset=S}else _=this.utc();return _};var p=u.format;u.format=function(m){var w=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return p.call(this,w)},u.valueOf=function(){var m=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*m},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var g=u.toDate;u.toDate=function(m){return m==="s"&&this.$offset?s(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var v=u.diff;u.diff=function(m,w,y){if(m&&this.$u===m.$u)return v.call(this,m,w,y);var C=this.local(),_=s(m).local();return v.call(C,_,w,y)}}})})(o0);const XK=o0.exports,QK=()=>Promise.resolve().then(()=>$D).then(({version:e})=>(console.log(`[@devtable/dashboard] version: ${e}`),e));En.default.extend(XK),En.default.extend(YK),En.default.tz.setDefault("UTC"),de.ContextModel=ym,de.Dashboard=qK,de.DashboardFilterType=ju,de.DashboardMode=Qv,de.DashboardModel=Xa,de.DashboardViewEditor=Jv,de.DashboardViewRender=Wa,de.EViewComponentType=rt,de.FilterModel=Ku,de.FiltersModel=cm,de.FullScreenPanelContext=Ns,de.LayoutStateContext=Dr,de.ModelContextProvider=As,de.Panel=Ha,de.PanelContextProvider=Ps,de.QueriesModel=gm,de.QueryModel=hm,de.ReadOnlyDashboard=UK,de.SQLSnippetModel=vm,de.SQLSnippetsModel=mm,de.ViewComponentTypeBackground=Zv,de.ViewComponentTypeColor=IV,de.ViewComponentTypeName=NV,de.ViewModel=Sm,de.ViewsModel=Cm,de.createDashboardModel=Yu,de.createDashboardViewsModel=_m,de.getInitialFiltersPayload=dm,de.getVersion=QK,de.useFullScreenPanelContext=vd,de.useModelContext=Le,de.usePanelContext=Yt,de.useTopLevelServices=Xu,Object.defineProperties(de,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|