@devtable/dashboard 8.32.0 → 8.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/dashboard.es.js +1996 -1955
  2. package/dist/dashboard.umd.js +38 -38
  3. package/dist/global.d.ts +2 -0
  4. package/dist/panel/viz/index.d.ts +1 -1
  5. package/dist/plugins/viz-components/calendar-heatmap/editors/calendar/index.d.ts +1 -1
  6. package/dist/plugins/viz-components/calendar-heatmap/editors/heat_block/index.d.ts +1 -1
  7. package/dist/plugins/viz-components/calendar-heatmap/editors/tooltip/index.d.ts +1 -1
  8. package/dist/plugins/viz-components/calendar-heatmap/editors/tooltip/metric.d.ts +1 -1
  9. package/dist/plugins/viz-components/calendar-heatmap/editors/tooltip/metrics.d.ts +1 -1
  10. package/dist/plugins/viz-components/cartesian/index.d.ts +1 -1
  11. package/dist/plugins/viz-components/cartesian/option/index.d.ts +1 -1
  12. package/dist/plugins/viz-components/cartesian/option/regression.d.ts +1 -1
  13. package/dist/plugins/viz-components/cartesian/option/y-axis.d.ts +1 -0
  14. package/dist/plugins/viz-components/cartesian/panel/regressions/index.d.ts +1 -1
  15. package/dist/plugins/viz-components/cartesian/panel/regressions/regression-item.d.ts +1 -1
  16. package/dist/plugins/viz-components/cartesian/panel/series/index.d.ts +1 -1
  17. package/dist/plugins/viz-components/cartesian/panel/series/series-item.d.ts +1 -1
  18. package/dist/plugins/viz-components/cartesian/panel/stats/index.d.ts +1 -1
  19. package/dist/plugins/viz-components/cartesian/panel/x-axis/index.d.ts +1 -1
  20. package/dist/plugins/viz-components/cartesian/type.d.ts +4 -3
  21. package/dist/plugins/viz-components/funnel/editors/series/index.d.ts +1 -1
  22. package/dist/plugins/viz-components/heatmap/editors/heat_block/index.d.ts +1 -1
  23. package/dist/plugins/viz-components/heatmap/editors/tooltip/index.d.ts +1 -1
  24. package/dist/plugins/viz-components/heatmap/editors/tooltip/metric.d.ts +1 -1
  25. package/dist/plugins/viz-components/heatmap/editors/tooltip/metrics.d.ts +1 -1
  26. package/dist/plugins/viz-components/heatmap/editors/x-axis/index.d.ts +1 -1
  27. package/dist/plugins/viz-components/heatmap/option/index.d.ts +1 -1
  28. package/dist/plugins/viz-components/horizontal-bar-chart/editors/series/index.d.ts +1 -1
  29. package/dist/plugins/viz-components/horizontal-bar-chart/option/index.d.ts +1 -1
  30. package/dist/plugins/viz-components/pareto-chart/option/index.d.ts +1 -1
  31. package/dist/plugins/viz-components/radar-chart/editors/dimensions/dimension.d.ts +1 -1
  32. package/dist/plugins/viz-components/radar-chart/editors/dimensions/index.d.ts +1 -1
  33. package/dist/plugins/viz-components/radar-chart/option/index.d.ts +1 -1
  34. package/dist/plugins/viz-components/regression-chart/option/index.d.ts +1 -1
  35. package/dist/plugins/viz-components/regression-chart/option/regression-expression.d.ts +1 -1
  36. package/dist/plugins/viz-components/regression-chart/regression-item.d.ts +1 -1
  37. package/dist/plugins/viz-components/scatter-chart/editors/scatter/index.d.ts +1 -1
  38. package/dist/plugins/viz-components/scatter-chart/editors/stats/index.d.ts +1 -1
  39. package/dist/plugins/viz-components/scatter-chart/editors/tooltip/index.d.ts +1 -1
  40. package/dist/plugins/viz-components/scatter-chart/editors/tooltip/metric.d.ts +1 -1
  41. package/dist/plugins/viz-components/scatter-chart/editors/tooltip/metrics.d.ts +1 -1
  42. package/dist/plugins/viz-components/scatter-chart/editors/x-axis/index.d.ts +1 -1
  43. package/dist/plugins/viz-components/scatter-chart/option/index.d.ts +1 -1
  44. package/dist/plugins/viz-components/scatter-chart/option/series.d.ts +1 -1
  45. package/dist/plugins/viz-components/scatter-chart/option/y-axis.d.ts +1 -0
  46. package/dist/plugins/viz-components/sunburst/editors/data-field.d.ts +1 -1
  47. package/dist/plugins/viz-components/sunburst/editors/levels/index.d.ts +1 -1
  48. package/dist/plugins/viz-components/sunburst/editors/levels/level.d.ts +1 -1
  49. package/dist/plugins/viz-components/sunburst/option/index.d.ts +1 -1
  50. package/dist/plugins/viz-components/table/editors/styling.d.ts +1 -1
  51. package/dist/utils/download.d.ts +2 -2
  52. package/dist/utils/error-boundary.d.ts +1 -1
  53. package/dist/utils/template/editor/variable-field.d.ts +1 -1
  54. package/package.json +1 -1
  55. /package/dist/{definition-editor → components}/minimal-monaco-editor.d.ts +0 -0
  56. /package/dist/{definition-editor → main/dashboard-editor/settings/content/edit-query/query-editor-form}/select-data-source.d.ts +0 -0
  57. /package/dist/{definition-editor → main/dashboard-editor/settings/content/edit-query/query-editor-form/tabs}/preview-sql-in-monaco-editor.d.ts +0 -0
  58. /package/dist/{definition-editor/sql-snippet-editor → main/dashboard-editor/settings/content/edit-sql-snippet}/item-editor.d.ts +0 -0
  59. /package/dist/{definition-editor/sql-snippet-editor → main/dashboard-editor/settings/content/edit-sql-snippet}/preview-snippet.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- (function(fe,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react"),require("@mantine/core"),require("@mantine/modals"),require("ahooks"),require("mobx-react-lite"),require("lodash"),require("react-hook-form"),require("@mantine/tiptap"),require("@tiptap/core"),require("prosemirror-state"),require("prosemirror-view"),require("@tiptap/react"),require("@tiptap/starter-kit"),require("@mantine/dates"),require("dayjs"),require("tabler-icons-react"),require("react-dom"),require("react-grid-layout"),require("mobx"),require("eventemitter2"),require("chroma-js"),require("echarts-gl"),require("echarts/core"),require("echarts/components"),require("echarts/renderers"),require("echarts-for-react/lib/core"),require("numbro"),require("echarts/charts"),require("@mantine/hooks"),require("@mantine/notifications"),require("d3-array"),require("@monaco-editor/react"),require("echarts-stat"),require("@mantine/prism"),require("d3-regression"),require("react-virtual"),require("axios"),require("crypto-js"),require("mobx-state-tree"),require("jszip")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@mantine/modals","ahooks","mobx-react-lite","lodash","react-hook-form","@mantine/tiptap","@tiptap/core","prosemirror-state","prosemirror-view","@tiptap/react","@tiptap/starter-kit","@mantine/dates","dayjs","tabler-icons-react","react-dom","react-grid-layout","mobx","eventemitter2","chroma-js","echarts-gl","echarts/core","echarts/components","echarts/renderers","echarts-for-react/lib/core","numbro","echarts/charts","@mantine/hooks","@mantine/notifications","d3-array","@monaco-editor/react","echarts-stat","@mantine/prism","d3-regression","react-virtual","axios","crypto-js","mobx-state-tree","jszip"],b):(fe=typeof globalThis<"u"?globalThis:fe||self,b(fe.dashboard={},fe.React,fe["@mantine/core"],fe["@mantine/modals"],fe.ahooks,fe["mobx-react-lite"],fe._,fe["react-hook-form"],fe["@mantine/tiptap"],fe["@tiptap/core"],fe["prosemirror-state"],fe["prosemirror-view"],fe["@tiptap/react"],fe["@tiptap/starter-kit"],fe["@mantine/dates"],fe.dayjs,fe["tabler-icons-react"],fe.ReactDOM,fe["react-grid-layout"],fe.mobx,fe.eventemitter2,fe["chroma-js"],fe["echarts-gl"],fe["echarts/core"],fe["echarts/components"],fe["echarts/renderers"],fe["echarts-for-react/lib/core"],fe.numbro,fe["echarts/charts"],fe["@mantine/hooks"],fe["@mantine/notifications"],fe["d3-array"],fe["@monaco-editor/react"],fe["echarts-stat"],fe["@mantine/prism"],fe["d3-regression"],fe["react-virtual"],fe.axios,fe["crypto-js"],fe["mobx-state-tree"],fe.jszip))})(this,function(fe,b,c,Vn,tt,ee,W,D,it,tn,O0,gd,vd,A0,R0,P0,re,I0,Ls,It,N0,zi,rq,$0,Pe,vn,L0,V0,Mt,qt,Ko,Fi,Wo,Vs,ei,z0,F0,B0,G0,O,j0){"use strict";var tq=Object.defineProperty;var nq=(fe,b,c)=>b in fe?tq(fe,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):fe[b]=c;var ke=(fe,b,c)=>(nq(fe,typeof b!="symbol"?b+"":b,c),c);const cn=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function qo(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Q=cn(b),T=qo(b),H=cn(W),md=cn(A0),sn=cn(P0),Bi=cn(I0),yd=cn(Ls),bd=cn(N0),Gi=cn(zi),bt=qo($0),mn=cn(L0),St=cn(V0),K0=qo(Fi),Sn=cn(Wo),gr=qo(z0),Ho=cn(B0),xd=cn(G0),W0=cn(j0);function wd(e,t){b.useEffect(()=>{const n=r=>{console.log(r);const{viewID:i}=r.detail;if(!i){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(i),t&&e.views.setIDOfVIE(i)};return window.addEventListener("open-view",n),()=>{window.removeEventListener("open-view",n)}},[e,t]),b.useEffect(()=>{const n=r=>{console.log(r);const{dictionary:i,payload:o}=r.detail;if(!o||Object.keys(o).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(i).forEach(([a,l])=>{e.filters.setValueByKey(a,H.default.get(o,l))})};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e]),b.useEffect(()=>{function n(i){return Array.isArray(i)?[]:typeof i=="object"?{}:typeof i=="boolean"?!1:typeof i=="string"?"":typeof i=="number"?0:i}const r=i=>{console.log(i);const{filter_keys:o}=i.detail;o.forEach(a=>{const l=H.default.get(e.filters.values,a),u=n(l);console.log(`${a}: ${u}`),e.filters.setValueByKey(a,u)})};return window.addEventListener("clear-filter-values",r),()=>{window.removeEventListener("clear-filter-values",r)}},[e]),b.useEffect(()=>{const n=r=>{console.log(r);const{urlTemplate:i,openInNewTab:o,enableEncoding:a=!1,payload:l}=r.detail;if(!i){console.error(new Error("[Open Link] URL is empty"));return}function u(p){return W.cloneDeepWith(p,g=>{if(a&&typeof g=="string")return encodeURIComponent(g)})}const f=W.template(i||"")(u({...l,filters:e.filters.values,context:e.context.current}));window.open(f,o?"_blank":"_self","noopener")};return window.addEventListener("open-link",n),()=>{window.removeEventListener("open-link",n)}},[e])}class q0{constructor(t){ke(this,"symbol");this.symbol=Symbol(t)}}function Qn(e){return new q0(e)}class zs{constructor(){ke(this,"parent");ke(this,"factoryRegistry",new Map);ke(this,"instanceRegistry",new Map)}createScoped(){const t=new zs;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const n=this.factoryRegistry.get(t.symbol);if(n){const r=n(this);return this.instanceRegistry.set(t.symbol,r),r}if(this.parent)return this.parent.get(t)}provideFactory(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,n),this}provideValue(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(t=>{const n=W.get(t,"dispose");W.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}var yn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function H0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Uo={exports:{}},ji={};/**
1
+ (function(fe,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react"),require("@mantine/core"),require("@mantine/modals"),require("ahooks"),require("mobx-react-lite"),require("lodash"),require("react-hook-form"),require("@mantine/tiptap"),require("@tiptap/core"),require("prosemirror-state"),require("prosemirror-view"),require("@tiptap/react"),require("@tiptap/starter-kit"),require("@mantine/dates"),require("dayjs"),require("tabler-icons-react"),require("react-dom"),require("react-grid-layout"),require("mobx"),require("eventemitter2"),require("chroma-js"),require("echarts-gl"),require("echarts/core"),require("echarts/components"),require("echarts/renderers"),require("echarts-for-react/lib/core"),require("numbro"),require("echarts/charts"),require("@mantine/hooks"),require("@mantine/notifications"),require("d3-array"),require("@monaco-editor/react"),require("echarts-stat"),require("@mantine/prism"),require("d3-regression"),require("react-virtual"),require("axios"),require("crypto-js"),require("mobx-state-tree"),require("jszip")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@mantine/modals","ahooks","mobx-react-lite","lodash","react-hook-form","@mantine/tiptap","@tiptap/core","prosemirror-state","prosemirror-view","@tiptap/react","@tiptap/starter-kit","@mantine/dates","dayjs","tabler-icons-react","react-dom","react-grid-layout","mobx","eventemitter2","chroma-js","echarts-gl","echarts/core","echarts/components","echarts/renderers","echarts-for-react/lib/core","numbro","echarts/charts","@mantine/hooks","@mantine/notifications","d3-array","@monaco-editor/react","echarts-stat","@mantine/prism","d3-regression","react-virtual","axios","crypto-js","mobx-state-tree","jszip"],b):(fe=typeof globalThis<"u"?globalThis:fe||self,b(fe.dashboard={},fe.React,fe["@mantine/core"],fe["@mantine/modals"],fe.ahooks,fe["mobx-react-lite"],fe._,fe["react-hook-form"],fe["@mantine/tiptap"],fe["@tiptap/core"],fe["prosemirror-state"],fe["prosemirror-view"],fe["@tiptap/react"],fe["@tiptap/starter-kit"],fe["@mantine/dates"],fe.dayjs,fe["tabler-icons-react"],fe.ReactDOM,fe["react-grid-layout"],fe.mobx,fe.eventemitter2,fe["chroma-js"],fe["echarts-gl"],fe["echarts/core"],fe["echarts/components"],fe["echarts/renderers"],fe["echarts-for-react/lib/core"],fe.numbro,fe["echarts/charts"],fe["@mantine/hooks"],fe["@mantine/notifications"],fe["d3-array"],fe["@monaco-editor/react"],fe["echarts-stat"],fe["@mantine/prism"],fe["d3-regression"],fe["react-virtual"],fe.axios,fe["crypto-js"],fe["mobx-state-tree"],fe.jszip))})(this,function(fe,b,c,Vn,tt,ee,W,D,it,tn,O0,gd,vd,A0,R0,P0,re,I0,Ls,It,N0,zi,iq,$0,Pe,vn,L0,V0,Mt,qt,Ko,Fi,Wo,Vs,ei,z0,F0,B0,G0,O,j0){"use strict";var nq=Object.defineProperty;var rq=(fe,b,c)=>b in fe?nq(fe,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):fe[b]=c;var ke=(fe,b,c)=>(rq(fe,typeof b!="symbol"?b+"":b,c),c);const cn=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function qo(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Q=cn(b),T=qo(b),H=cn(W),md=cn(A0),sn=cn(P0),Bi=cn(I0),yd=cn(Ls),bd=cn(N0),Gi=cn(zi),bt=qo($0),mn=cn(L0),St=cn(V0),K0=qo(Fi),Sn=cn(Wo),gr=qo(z0),Ho=cn(B0),xd=cn(G0),W0=cn(j0);function wd(e,t){b.useEffect(()=>{const n=r=>{console.log(r);const{viewID:i}=r.detail;if(!i){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(i),t&&e.views.setIDOfVIE(i)};return window.addEventListener("open-view",n),()=>{window.removeEventListener("open-view",n)}},[e,t]),b.useEffect(()=>{const n=r=>{console.log(r);const{dictionary:i,payload:o}=r.detail;if(!o||Object.keys(o).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(i).forEach(([a,l])=>{e.filters.setValueByKey(a,H.default.get(o,l))})};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e]),b.useEffect(()=>{function n(i){return Array.isArray(i)?[]:typeof i=="object"?{}:typeof i=="boolean"?!1:typeof i=="string"?"":typeof i=="number"?0:i}const r=i=>{console.log(i);const{filter_keys:o}=i.detail;o.forEach(a=>{const l=H.default.get(e.filters.values,a),u=n(l);console.log(`${a}: ${u}`),e.filters.setValueByKey(a,u)})};return window.addEventListener("clear-filter-values",r),()=>{window.removeEventListener("clear-filter-values",r)}},[e]),b.useEffect(()=>{const n=r=>{console.log(r);const{urlTemplate:i,openInNewTab:o,enableEncoding:a=!1,payload:l}=r.detail;if(!i){console.error(new Error("[Open Link] URL is empty"));return}function u(p){return W.cloneDeepWith(p,g=>{if(a&&typeof g=="string")return encodeURIComponent(g)})}const f=W.template(i||"")(u({...l,filters:e.filters.values,context:e.context.current}));window.open(f,o?"_blank":"_self","noopener")};return window.addEventListener("open-link",n),()=>{window.removeEventListener("open-link",n)}},[e])}class q0{constructor(t){ke(this,"symbol");this.symbol=Symbol(t)}}function Qn(e){return new q0(e)}class zs{constructor(){ke(this,"parent");ke(this,"factoryRegistry",new Map);ke(this,"instanceRegistry",new Map)}createScoped(){const t=new zs;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const n=this.factoryRegistry.get(t.symbol);if(n){const r=n(this);return this.instanceRegistry.set(t.symbol,r),r}if(this.parent)return this.parent.get(t)}provideFactory(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,n),this}provideValue(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(t=>{const n=W.get(t,"dispose");W.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}var yn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function H0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Uo={exports:{}},ji={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -69,10 +69,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
69
69
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cr(e,t){return UC(e)||YC(e,t)||XC(e,t)||QC()}function Hf(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}function ZC(e,t){var n={animationend:Hf("Animation","AnimationEnd"),transitionend:Hf("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var JC=ZC(ni(),typeof window<"u"?window:{}),Uf={};if(ni()){var eS=document.createElement("div");Uf=eS.style}var sa={};function Yf(e){if(sa[e])return sa[e];var t=JC[e];if(t)for(var n=Object.keys(t),r=n.length,i=0;i<r;i+=1){var o=n[i];if(Object.prototype.hasOwnProperty.call(t,o)&&o in Uf)return sa[e]=t[o],sa[e]}return""}var Xf=Yf("animationend"),Qf=Yf("transitionend"),tS=!!(Xf&&Qf),Zf=Xf||"animationend",Jf=Qf||"transitionend";function ep(e,t){if(!e)return null;if(wr(e)==="object"){var n=t.replace(/-\w/g,function(r){return r[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}var li="none",la="appear",ua="enter",ca="leave",tp="none",rr="prepare",ui="start",ci="active",al="end";const nS=function(){var e=T.useRef(null);function t(){Vt.cancel(e.current)}function n(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var o=Vt(function(){i<=1?r({isCanceled:function(){return o!==e.current}}):n(r,i-1)});e.current=o}return T.useEffect(function(){return function(){t()}},[]),[n,t]};var np=ni()?b.useLayoutEffect:b.useEffect,rp=[rr,ui,ci,al],ip=!1,rS=!0;function op(e){return e===ci||e===al}const iS=function(e,t){var n=br(tp),r=Cr(n,2),i=r[0],o=r[1],a=nS(),l=Cr(a,2),u=l[0],d=l[1];function f(){o(rr,!0)}return np(function(){if(i!==tp&&i!==al){var p=rp.indexOf(i),h=rp[p+1],g=t(i);g===ip?o(h,!0):u(function(v){function m(){v.isCanceled()||o(h,!0)}g===!0?m():Promise.resolve(g).then(m)})}},[e,i]),T.useEffect(function(){return function(){d()}},[]),[f,i]},oS=function(e){var t=b.useRef(),n=b.useRef(e);n.current=e;var r=T.useCallback(function(a){n.current(a)},[]);function i(a){a&&(a.removeEventListener(Jf,r),a.removeEventListener(Zf,r))}function o(a){t.current&&t.current!==a&&i(t.current),a&&a!==t.current&&(a.addEventListener(Jf,r),a.addEventListener(Zf,r),t.current=a)}return T.useEffect(function(){return function(){i(t.current)}},[]),[o,i]};function aS(e,t,n,r){var i=r.motionEnter,o=i===void 0?!0:i,a=r.motionAppear,l=a===void 0?!0:a,u=r.motionLeave,d=u===void 0?!0:u,f=r.motionDeadline,p=r.motionLeaveImmediately,h=r.onAppearPrepare,g=r.onEnterPrepare,v=r.onLeavePrepare,m=r.onAppearStart,w=r.onEnterStart,x=r.onLeaveStart,_=r.onAppearActive,S=r.onEnterActive,C=r.onLeaveActive,E=r.onAppearEnd,k=r.onEnterEnd,P=r.onLeaveEnd,V=r.onVisibleChanged,B=br(),I=Cr(B,2),A=I[0],$=I[1],F=br(li),M=Cr(F,2),L=M[0],N=M[1],R=br(null),G=Cr(R,2),j=G[0],K=G[1],q=b.useRef(!1),ne=b.useRef(null);function ie(){return n()}var Y=b.useRef(!1);function Z(ve){var Ee=ie();if(!(ve&&!ve.deadline&&ve.target!==Ee)){var Oe=Y.current,ge;L===la&&Oe?ge=E==null?void 0:E(Ee,ve):L===ua&&Oe?ge=k==null?void 0:k(Ee,ve):L===ca&&Oe&&(ge=P==null?void 0:P(Ee,ve)),L!==li&&Oe&&ge!==!1&&(N(li,!0),K(null,!0))}}var de=oS(Z),ce=Cr(de,1),ue=ce[0],le=T.useMemo(function(){var ve,Ee,Oe;switch(L){case la:return ve={},Tn(ve,rr,h),Tn(ve,ui,m),Tn(ve,ci,_),ve;case ua:return Ee={},Tn(Ee,rr,g),Tn(Ee,ui,w),Tn(Ee,ci,S),Ee;case ca:return Oe={},Tn(Oe,rr,v),Tn(Oe,ui,x),Tn(Oe,ci,C),Oe;default:return{}}},[L]),Ce=iS(L,function(ve){if(ve===rr){var Ee=le[rr];return Ee?Ee(ie()):ip}if(oe in le){var Oe;K(((Oe=le[oe])===null||Oe===void 0?void 0:Oe.call(le,ie(),null))||null)}return oe===ci&&(ue(ie()),f>0&&(clearTimeout(ne.current),ne.current=setTimeout(function(){Z({deadline:!0})},f))),rS}),xe=Cr(Ce,2),X=xe[0],oe=xe[1],Se=op(oe);Y.current=Se,np(function(){$(t);var ve=q.current;if(q.current=!0,!!e){var Ee;!ve&&t&&l&&(Ee=la),ve&&t&&o&&(Ee=ua),(ve&&!t&&d||!ve&&p&&!t&&d)&&(Ee=ca),Ee&&(N(Ee),X())}},[t]),b.useEffect(function(){(L===la&&!l||L===ua&&!o||L===ca&&!d)&&N(li)},[l,o,d]),b.useEffect(function(){return function(){q.current=!1,clearTimeout(ne.current)}},[]);var U=T.useRef(!1);b.useEffect(function(){A&&(U.current=!0),A!==void 0&&L===li&&((U.current||A)&&(V==null||V(A)),U.current=!0)},[A,L]);var we=j;return le[rr]&&oe===ui&&(we=zn({transition:"none"},we)),[L,oe,we,A!=null?A:t]}function sS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ap(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,Kf(r.key),r)}}function lS(e,t,n){return t&&ap(e.prototype,t),n&&ap(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function sl(e,t){return sl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},sl(e,t)}function uS(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&&sl(e,t)}function da(e){return da=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},da(e)}function cS(){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 dS(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fS(e,t){if(t&&(wr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return dS(e)}function pS(e){var t=cS();return function(){var r=da(e),i;if(t){var o=da(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return fS(this,i)}}var hS=function(e){uS(n,e);var t=pS(n);function n(){return sS(this,n),t.apply(this,arguments)}return lS(n,[{key:"render",value:function(){return this.props.children}}]),n}(T.Component);function gS(e){var t=e;wr(e)==="object"&&(t=e.transitionSupport);function n(i){return!!(i.motionName&&t)}var r=T.forwardRef(function(i,o){var a=i.visible,l=a===void 0?!0:a,u=i.removeOnLeave,d=u===void 0?!0:u,f=i.forceRender,p=i.children,h=i.motionName,g=i.leavedClassName,v=i.eventProps,m=n(i),w=b.useRef(),x=b.useRef();function _(){try{return w.current instanceof HTMLElement?w.current:Zi(x.current)}catch{return null}}var S=aS(m,l,_,i),C=Cr(S,4),E=C[0],k=C[1],P=C[2],V=C[3],B=T.useRef(V);V&&(B.current=!0);var I=T.useCallback(function(R){w.current=R,df(o,R)},[o]),A,$=zn(zn({},v),{},{visible:l});if(!p)A=null;else if(E===li||!n(i))V?A=p(zn({},$),I):!d&&B.current?A=p(zn(zn({},$),{},{className:g}),I):f?A=p(zn(zn({},$),{},{style:{display:"none"}}),I):A=null;else{var F,M;k===rr?M="prepare":op(k)?M="active":k===ui&&(M="start"),A=p(zn(zn({},$),{},{className:gt(ep(h,E),(F={},Tn(F,ep(h,"".concat(E,"-").concat(M)),M),Tn(F,h,typeof h=="string"),F)),style:P}),I)}if(T.isValidElement(A)&&Zs(A)){var L=A,N=L.ref;N||(A=T.cloneElement(A,{ref:I}))}return s(hS,{ref:x,children:A})});return r.displayName="CSSMotion",r}const fa=gS(tS);function sp(e){var t=e.prefixCls,n=e.motion,r=e.animation,i=e.transitionName;return n||(r?{motionName:"".concat(t,"-").concat(r)}:i?{motionName:i}:null)}function vS(e){var t=e.prefixCls,n=e.visible,r=e.zIndex,i=e.mask,o=e.maskMotion,a=e.maskAnimation,l=e.maskTransitionName;if(!i)return null;var u={};return(o||l||a)&&(u=nn({motionAppear:!0},sp({motion:o,prefixCls:t,transitionName:l,animation:a}))),s(fa,{...u,visible:n,removeOnLeave:!0,children:function(d){var f=d.className;return s("div",{style:{zIndex:r},className:gt("".concat(t,"-mask"),f)})}})}function mS(e){if(Array.isArray(e))return e}function yS(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,l=[],u=!0,d=!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)&&(l.push(r.value),l.length!==t);u=!0);}catch(f){d=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return l}}function lp(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 bS(e,t){if(!!e){if(typeof e=="string")return lp(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 lp(e,t)}}function xS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
70
70
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function up(e,t){return mS(e)||yS(e,t)||bS(e,t)||xS()}function ll(e){return ll=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},ll(e)}const wS=function(e){if(!e)return!1;if(e instanceof HTMLElement&&e.offsetParent)return!0;if(e instanceof SVGGraphicsElement&&e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e instanceof HTMLElement&&e.getBoundingClientRect){var i=e.getBoundingClientRect(),o=i.width,a=i.height;if(o||a)return!0}return!1};function cp(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 dp(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?cp(Object(n),!0).forEach(function(r){CS(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cp(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ul(e){return ul=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},ul(e)}function CS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var no,SS={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function pa(){if(no!==void 0)return no;no="";var e=document.createElement("p").style,t="Transform";for(var n in SS)n+t in e&&(no=n);return no}function fp(){return pa()?"".concat(pa(),"TransitionProperty"):"transitionProperty"}function ha(){return pa()?"".concat(pa(),"Transform"):"transform"}function pp(e,t){var n=fp();n&&(e.style[n]=t,n!=="transitionProperty"&&(e.style.transitionProperty=t))}function cl(e,t){var n=ha();n&&(e.style[n]=t,n!=="transform"&&(e.style.transform=t))}function _S(e){return e.style.transitionProperty||e.style[fp()]}function ES(e){var t=window.getComputedStyle(e,null),n=t.getPropertyValue("transform")||t.getPropertyValue(ha());if(n&&n!=="none"){var r=n.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(r[12]||r[4],0),y:parseFloat(r[13]||r[5],0)}}return{x:0,y:0}}var TS=/matrix\((.*)\)/,MS=/matrix3d\((.*)\)/;function kS(e,t){var n=window.getComputedStyle(e,null),r=n.getPropertyValue("transform")||n.getPropertyValue(ha());if(r&&r!=="none"){var i,o=r.match(TS);if(o)o=o[1],i=o.split(",").map(function(l){return parseFloat(l,10)}),i[4]=t.x,i[5]=t.y,cl(e,"matrix(".concat(i.join(","),")"));else{var a=r.match(MS)[1];i=a.split(",").map(function(l){return parseFloat(l,10)}),i[12]=t.x,i[13]=t.y,cl(e,"matrix3d(".concat(i.join(","),")"))}}else cl(e,"translateX(".concat(t.x,"px) translateY(").concat(t.y,"px) translateZ(0)"))}var DS=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,ro;function hp(e){var t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}function di(e,t,n){var r=n;if(ul(t)==="object"){for(var i in t)t.hasOwnProperty(i)&&di(e,i,t[i]);return}if(typeof r<"u"){typeof r=="number"&&(r="".concat(r,"px")),e.style[t]=r;return}return ro(e,t)}function OS(e){var t,n,r,i=e.ownerDocument,o=i.body,a=i&&i.documentElement;return t=e.getBoundingClientRect(),n=Math.floor(t.left),r=Math.floor(t.top),n-=a.clientLeft||o.clientLeft||0,r-=a.clientTop||o.clientTop||0,{left:n,top:r}}function gp(e,t){var n=e["page".concat(t?"Y":"X","Offset")],r="scroll".concat(t?"Top":"Left");if(typeof n!="number"){var i=e.document;n=i.documentElement[r],typeof n!="number"&&(n=i.body[r])}return n}function vp(e){return gp(e)}function mp(e){return gp(e,!0)}function io(e){var t=OS(e),n=e.ownerDocument,r=n.defaultView||n.parentWindow;return t.left+=vp(r),t.top+=mp(r),t}function dl(e){return e!=null&&e==e.window}function yp(e){return dl(e)?e.document:e.nodeType===9?e:e.ownerDocument}function AS(e,t,n){var r=n,i="",o=yp(e);return r=r||o.defaultView.getComputedStyle(e,null),r&&(i=r.getPropertyValue(t)||r[t]),i}var RS=new RegExp("^(".concat(DS,")(?!px)[a-z%]+$"),"i"),PS=/^(top|right|bottom|left)$/,fl="currentStyle",pl="runtimeStyle",zr="left",IS="px";function NS(e,t){var n=e[fl]&&e[fl][t];if(RS.test(n)&&!PS.test(t)){var r=e.style,i=r[zr],o=e[pl][zr];e[pl][zr]=e[fl][zr],r[zr]=t==="fontSize"?"1em":n||0,n=r.pixelLeft+IS,r[zr]=i,e[pl][zr]=o}return n===""?"auto":n}typeof window<"u"&&(ro=window.getComputedStyle?AS:NS);function ga(e,t){return e==="left"?t.useCssRight?"right":e:t.useCssBottom?"bottom":e}function bp(e){if(e==="left")return"right";if(e==="right")return"left";if(e==="top")return"bottom";if(e==="bottom")return"top"}function xp(e,t,n){di(e,"position")==="static"&&(e.style.position="relative");var r=-999,i=-999,o=ga("left",n),a=ga("top",n),l=bp(o),u=bp(a);o!=="left"&&(r=999),a!=="top"&&(i=999);var d="",f=io(e);("left"in t||"top"in t)&&(d=_S(e)||"",pp(e,"none")),"left"in t&&(e.style[l]="",e.style[o]="".concat(r,"px")),"top"in t&&(e.style[u]="",e.style[a]="".concat(i,"px")),hp(e);var p=io(e),h={};for(var g in t)if(t.hasOwnProperty(g)){var v=ga(g,n),m=g==="left"?r:i,w=f[g]-p[g];v===g?h[v]=m+w:h[v]=m-w}di(e,h),hp(e),("left"in t||"top"in t)&&pp(e,d);var x={};for(var _ in t)if(t.hasOwnProperty(_)){var S=ga(_,n),C=t[_]-f[_];_===S?x[S]=h[S]+C:x[S]=h[S]-C}di(e,x)}function $S(e,t){var n=io(e),r=ES(e),i={x:r.x,y:r.y};"left"in t&&(i.x=r.x+t.left-n.left),"top"in t&&(i.y=r.y+t.top-n.top),kS(e,i)}function LS(e,t,n){if(n.ignoreShake){var r=io(e),i=r.left.toFixed(0),o=r.top.toFixed(0),a=t.left.toFixed(0),l=t.top.toFixed(0);if(i===a&&o===l)return}n.useCssRight||n.useCssBottom?xp(e,t,n):n.useCssTransform&&ha()in document.body.style?$S(e,t):xp(e,t,n)}function hl(e,t){for(var n=0;n<e.length;n++)t(e[n])}function wp(e){return ro(e,"boxSizing")==="border-box"}var VS=["margin","border","padding"],gl=-1,zS=2,vl=1,FS=0;function BS(e,t,n){var r={},i=e.style,o;for(o in t)t.hasOwnProperty(o)&&(r[o]=i[o],i[o]=t[o]);n.call(e);for(o in t)t.hasOwnProperty(o)&&(i[o]=r[o])}function oo(e,t,n){var r=0,i,o,a;for(o=0;o<t.length;o++)if(i=t[o],i)for(a=0;a<n.length;a++){var l=void 0;i==="border"?l="".concat(i).concat(n[a],"Width"):l=i+n[a],r+=parseFloat(ro(e,l))||0}return r}var Fn={getParent:function(t){var n=t;do n.nodeType===11&&n.host?n=n.host:n=n.parentNode;while(n&&n.nodeType!==1&&n.nodeType!==9);return n}};hl(["Width","Height"],function(e){Fn["doc".concat(e)]=function(t){var n=t.document;return Math.max(n.documentElement["scroll".concat(e)],n.body["scroll".concat(e)],Fn["viewport".concat(e)](n))},Fn["viewport".concat(e)]=function(t){var n="client".concat(e),r=t.document,i=r.body,o=r.documentElement,a=o[n];return r.compatMode==="CSS1Compat"&&a||i&&i[n]||a}});function Cp(e,t,n){var r=n;if(dl(e))return t==="width"?Fn.viewportWidth(e):Fn.viewportHeight(e);if(e.nodeType===9)return t==="width"?Fn.docWidth(e):Fn.docHeight(e);var i=t==="width"?["Left","Right"]:["Top","Bottom"],o=Math.floor(t==="width"?e.getBoundingClientRect().width:e.getBoundingClientRect().height),a=wp(e),l=0;(o==null||o<=0)&&(o=void 0,l=ro(e,t),(l==null||Number(l)<0)&&(l=e.style[t]||0),l=Math.floor(parseFloat(l))||0),r===void 0&&(r=a?vl:gl);var u=o!==void 0||a,d=o||l;return r===gl?u?d-oo(e,["border","padding"],i):l:u?r===vl?d:d+(r===zS?-oo(e,["border"],i):oo(e,["margin"],i)):l+oo(e,VS.slice(r),i)}var GS={position:"absolute",visibility:"hidden",display:"block"};function Sp(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=t[0];return i.offsetWidth!==0?r=Cp.apply(void 0,t):BS(i,GS,function(){r=Cp.apply(void 0,t)}),r}hl(["width","height"],function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);Fn["outer".concat(t)]=function(r,i){return r&&Sp(r,e,i?FS:vl)};var n=e==="width"?["Left","Right"]:["Top","Bottom"];Fn[e]=function(r,i){var o=i;if(o!==void 0){if(r){var a=wp(r);return a&&(o+=oo(r,["padding","border"],n)),di(r,e,o)}return}return r&&Sp(r,e,gl)}});function _p(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}var Ke={getWindow:function(t){if(t&&t.document&&t.setTimeout)return t;var n=t.ownerDocument||t;return n.defaultView||n.parentWindow},getDocument:yp,offset:function(t,n,r){if(typeof n<"u")LS(t,n,r||{});else return io(t)},isWindow:dl,each:hl,css:di,clone:function(t){var n,r={};for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);var i=t.overflow;if(i)for(n in t)t.hasOwnProperty(n)&&(r.overflow[n]=t.overflow[n]);return r},mix:_p,getWindowScrollLeft:function(t){return vp(t)},getWindowScrollTop:function(t){return mp(t)},merge:function(){for(var t={},n=0;n<arguments.length;n++)Ke.mix(t,n<0||arguments.length<=n?void 0:arguments[n]);return t},viewportWidth:0,viewportHeight:0};_p(Ke,Fn);var ml=Ke.getParent;function yl(e){if(Ke.isWindow(e)||e.nodeType===9)return null;var t=Ke.getDocument(e),n=t.body,r,i=Ke.css(e,"position"),o=i==="fixed"||i==="absolute";if(!o)return e.nodeName.toLowerCase()==="html"?null:ml(e);for(r=ml(e);r&&r!==n&&r.nodeType!==9;r=ml(r))if(i=Ke.css(r,"position"),i!=="static")return r;return null}var Ep=Ke.getParent;function jS(e){if(Ke.isWindow(e)||e.nodeType===9)return!1;var t=Ke.getDocument(e),n=t.body,r=null;for(r=Ep(e);r&&r!==n&&r!==t;r=Ep(r)){var i=Ke.css(r,"position");if(i==="fixed")return!0}return!1}function bl(e,t){for(var n={left:0,right:1/0,top:0,bottom:1/0},r=yl(e),i=Ke.getDocument(e),o=i.defaultView||i.parentWindow,a=i.body,l=i.documentElement;r;){if((navigator.userAgent.indexOf("MSIE")===-1||r.clientWidth!==0)&&r!==a&&r!==l&&Ke.css(r,"overflow")!=="visible"){var u=Ke.offset(r);u.left+=r.clientLeft,u.top+=r.clientTop,n.top=Math.max(n.top,u.top),n.right=Math.min(n.right,u.left+r.clientWidth),n.bottom=Math.min(n.bottom,u.top+r.clientHeight),n.left=Math.max(n.left,u.left)}else if(r===a||r===l)break;r=yl(r)}var d=null;if(!Ke.isWindow(e)&&e.nodeType!==9){d=e.style.position;var f=Ke.css(e,"position");f==="absolute"&&(e.style.position="fixed")}var p=Ke.getWindowScrollLeft(o),h=Ke.getWindowScrollTop(o),g=Ke.viewportWidth(o),v=Ke.viewportHeight(o),m=l.scrollWidth,w=l.scrollHeight,x=window.getComputedStyle(a);if(x.overflowX==="hidden"&&(m=o.innerWidth),x.overflowY==="hidden"&&(w=o.innerHeight),e.style&&(e.style.position=d),t||jS(e))n.left=Math.max(n.left,p),n.top=Math.max(n.top,h),n.right=Math.min(n.right,p+g),n.bottom=Math.min(n.bottom,h+v);else{var _=Math.max(m,p+g);n.right=Math.min(n.right,_);var S=Math.max(w,h+v);n.bottom=Math.min(n.bottom,S)}return n.top>=0&&n.left>=0&&n.bottom>n.top&&n.right>n.left?n:null}function KS(e,t,n,r){var i=Ke.clone(e),o={width:t.width,height:t.height};return r.adjustX&&i.left<n.left&&(i.left=n.left),r.resizeWidth&&i.left>=n.left&&i.left+o.width>n.right&&(o.width-=i.left+o.width-n.right),r.adjustX&&i.left+o.width>n.right&&(i.left=Math.max(n.right-o.width,n.left)),r.adjustY&&i.top<n.top&&(i.top=n.top),r.resizeHeight&&i.top>=n.top&&i.top+o.height>n.bottom&&(o.height-=i.top+o.height-n.bottom),r.adjustY&&i.top+o.height>n.bottom&&(i.top=Math.max(n.bottom-o.height,n.top)),Ke.mix(i,o)}function xl(e){var t,n,r;if(!Ke.isWindow(e)&&e.nodeType!==9)t=Ke.offset(e),n=Ke.outerWidth(e),r=Ke.outerHeight(e);else{var i=Ke.getWindow(e);t={left:Ke.getWindowScrollLeft(i),top:Ke.getWindowScrollTop(i)},n=Ke.viewportWidth(i),r=Ke.viewportHeight(i)}return t.width=n,t.height=r,t}function Tp(e,t){var n=t.charAt(0),r=t.charAt(1),i=e.width,o=e.height,a=e.left,l=e.top;return n==="c"?l+=o/2:n==="b"&&(l+=o),r==="c"?a+=i/2:r==="r"&&(a+=i),{left:a,top:l}}function va(e,t,n,r,i){var o=Tp(t,n[1]),a=Tp(e,n[0]),l=[a.left-o.left,a.top-o.top];return{left:Math.round(e.left-l[0]+r[0]-i[0]),top:Math.round(e.top-l[1]+r[1]-i[1])}}function Mp(e,t,n){return e.left<n.left||e.left+t.width>n.right}function kp(e,t,n){return e.top<n.top||e.top+t.height>n.bottom}function WS(e,t,n){return e.left>n.right||e.left+t.width<n.left}function qS(e,t,n){return e.top>n.bottom||e.top+t.height<n.top}function ma(e,t,n){var r=[];return Ke.each(e,function(i){r.push(i.replace(t,function(o){return n[o]}))}),r}function ya(e,t){return e[t]=-e[t],e}function Dp(e,t){var n;return/%$/.test(e)?n=parseInt(e.substring(0,e.length-1),10)/100*t:n=parseInt(e,10),n||0}function Op(e,t){e[0]=Dp(e[0],t.width),e[1]=Dp(e[1],t.height)}function Ap(e,t,n,r){var i=n.points,o=n.offset||[0,0],a=n.targetOffset||[0,0],l=n.overflow,u=n.source||e;o=[].concat(o),a=[].concat(a),l=l||{};var d={},f=0,p=!!(l&&l.alwaysByViewport),h=bl(u,p),g=xl(u);Op(o,g),Op(a,t);var v=va(g,t,i,o,a),m=Ke.merge(g,v);if(h&&(l.adjustX||l.adjustY)&&r){if(l.adjustX&&Mp(v,g,h)){var w=ma(i,/[lr]/gi,{l:"r",r:"l"}),x=ya(o,0),_=ya(a,0),S=va(g,t,w,x,_);WS(S,g,h)||(f=1,i=w,o=x,a=_)}if(l.adjustY&&kp(v,g,h)){var C=ma(i,/[tb]/gi,{t:"b",b:"t"}),E=ya(o,1),k=ya(a,1),P=va(g,t,C,E,k);qS(P,g,h)||(f=1,i=C,o=E,a=k)}f&&(v=va(g,t,i,o,a),Ke.mix(m,v));var V=Mp(v,g,h),B=kp(v,g,h);if(V||B){var I=i;V&&(I=ma(i,/[lr]/gi,{l:"r",r:"l"})),B&&(I=ma(i,/[tb]/gi,{t:"b",b:"t"})),i=I,o=n.offset||[0,0],a=n.targetOffset||[0,0]}d.adjustX=l.adjustX&&V,d.adjustY=l.adjustY&&B,(d.adjustX||d.adjustY)&&(m=KS(v,g,h,d))}return m.width!==g.width&&Ke.css(u,"width",Ke.width(u)+m.width-g.width),m.height!==g.height&&Ke.css(u,"height",Ke.height(u)+m.height-g.height),Ke.offset(u,{left:m.left,top:m.top},{useCssRight:n.useCssRight,useCssBottom:n.useCssBottom,useCssTransform:n.useCssTransform,ignoreShake:n.ignoreShake}),{points:i,offset:o,targetOffset:a,overflow:d}}function HS(e,t){var n=bl(e,t),r=xl(e);return!n||r.left+r.width<=n.left||r.top+r.height<=n.top||r.left>=n.right||r.top>=n.bottom}function wl(e,t,n){var r=n.target||t,i=xl(r),o=!HS(r,n.overflow&&n.overflow.alwaysByViewport);return Ap(e,i,n,o)}wl.__getOffsetParent=yl,wl.__getVisibleRectForElement=bl;function US(e,t,n){var r,i,o=Ke.getDocument(e),a=o.defaultView||o.parentWindow,l=Ke.getWindowScrollLeft(a),u=Ke.getWindowScrollTop(a),d=Ke.viewportWidth(a),f=Ke.viewportHeight(a);"pageX"in t?r=t.pageX:r=l+t.clientX,"pageY"in t?i=t.pageY:i=u+t.clientY;var p={left:r,top:i,width:0,height:0},h=r>=0&&r<=l+d&&i>=0&&i<=u+f,g=[n.points[0],"cc"];return Ap(e,p,dp(dp({},n),{},{points:g}),h)}function YS(){this.__data__=[],this.size=0}var XS=YS;function QS(e,t){return e===t||e!==e&&t!==t}var Rp=QS,ZS=Rp;function JS(e,t){for(var n=e.length;n--;)if(ZS(e[n][0],t))return n;return-1}var ba=JS,e_=ba,t_=Array.prototype,n_=t_.splice;function r_(e){var t=this.__data__,n=e_(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():n_.call(t,n,1),--this.size,!0}var i_=r_,o_=ba;function a_(e){var t=this.__data__,n=o_(t,e);return n<0?void 0:t[n][1]}var s_=a_,l_=ba;function u_(e){return l_(this.__data__,e)>-1}var c_=u_,d_=ba;function f_(e,t){var n=this.__data__,r=d_(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var p_=f_,h_=XS,g_=i_,v_=s_,m_=c_,y_=p_;function fi(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}fi.prototype.clear=h_,fi.prototype.delete=g_,fi.prototype.get=v_,fi.prototype.has=m_,fi.prototype.set=y_;var xa=fi,b_=xa;function x_(){this.__data__=new b_,this.size=0}var w_=x_;function C_(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var S_=C_;function __(e){return this.__data__.get(e)}var E_=__;function T_(e){return this.__data__.has(e)}var M_=T_,k_=typeof yn=="object"&&yn&&yn.Object===Object&&yn,Pp=k_,D_=Pp,O_=typeof self=="object"&&self&&self.Object===Object&&self,A_=D_||O_||Function("return this")(),ir=A_,R_=ir,P_=R_.Symbol,Cl=P_,Ip=Cl,Np=Object.prototype,I_=Np.hasOwnProperty,N_=Np.toString,ao=Ip?Ip.toStringTag:void 0;function $_(e){var t=I_.call(e,ao),n=e[ao];try{e[ao]=void 0;var r=!0}catch{}var i=N_.call(e);return r&&(t?e[ao]=n:delete e[ao]),i}var L_=$_,V_=Object.prototype,z_=V_.toString;function F_(e){return z_.call(e)}var B_=F_,$p=Cl,G_=L_,j_=B_,K_="[object Null]",W_="[object Undefined]",Lp=$p?$p.toStringTag:void 0;function q_(e){return e==null?e===void 0?W_:K_:Lp&&Lp in Object(e)?G_(e):j_(e)}var wa=q_;function H_(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Vp=H_,U_=wa,Y_=Vp,X_="[object AsyncFunction]",Q_="[object Function]",Z_="[object GeneratorFunction]",J_="[object Proxy]";function e1(e){if(!Y_(e))return!1;var t=U_(e);return t==Q_||t==Z_||t==X_||t==J_}var zp=e1,t1=ir,n1=t1["__core-js_shared__"],r1=n1,Sl=r1,Fp=function(){var e=/[^.]+$/.exec(Sl&&Sl.keys&&Sl.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function i1(e){return!!Fp&&Fp in e}var o1=i1,a1=Function.prototype,s1=a1.toString;function l1(e){if(e!=null){try{return s1.call(e)}catch{}try{return e+""}catch{}}return""}var Bp=l1,u1=zp,c1=o1,d1=Vp,f1=Bp,p1=/[\\^$.*+?()[\]{}|]/g,h1=/^\[object .+?Constructor\]$/,g1=Function.prototype,v1=Object.prototype,m1=g1.toString,y1=v1.hasOwnProperty,b1=RegExp("^"+m1.call(y1).replace(p1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function x1(e){if(!d1(e)||c1(e))return!1;var t=u1(e)?b1:h1;return t.test(f1(e))}var w1=x1;function C1(e,t){return e==null?void 0:e[t]}var S1=C1,_1=w1,E1=S1;function T1(e,t){var n=E1(e,t);return _1(n)?n:void 0}var pi=T1,M1=pi,k1=ir,D1=M1(k1,"Map"),_l=D1,O1=pi,A1=O1(Object,"create"),Ca=A1,Gp=Ca;function R1(){this.__data__=Gp?Gp(null):{},this.size=0}var P1=R1;function I1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var N1=I1,$1=Ca,L1="__lodash_hash_undefined__",V1=Object.prototype,z1=V1.hasOwnProperty;function F1(e){var t=this.__data__;if($1){var n=t[e];return n===L1?void 0:n}return z1.call(t,e)?t[e]:void 0}var B1=F1,G1=Ca,j1=Object.prototype,K1=j1.hasOwnProperty;function W1(e){var t=this.__data__;return G1?t[e]!==void 0:K1.call(t,e)}var q1=W1,H1=Ca,U1="__lodash_hash_undefined__";function Y1(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=H1&&t===void 0?U1:t,this}var X1=Y1,Q1=P1,Z1=N1,J1=B1,eE=q1,tE=X1;function hi(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}hi.prototype.clear=Q1,hi.prototype.delete=Z1,hi.prototype.get=J1,hi.prototype.has=eE,hi.prototype.set=tE;var nE=hi,jp=nE,rE=xa,iE=_l;function oE(){this.size=0,this.__data__={hash:new jp,map:new(iE||rE),string:new jp}}var aE=oE;function sE(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var lE=sE,uE=lE;function cE(e,t){var n=e.__data__;return uE(t)?n[typeof t=="string"?"string":"hash"]:n.map}var Sa=cE,dE=Sa;function fE(e){var t=dE(this,e).delete(e);return this.size-=t?1:0,t}var pE=fE,hE=Sa;function gE(e){return hE(this,e).get(e)}var vE=gE,mE=Sa;function yE(e){return mE(this,e).has(e)}var bE=yE,xE=Sa;function wE(e,t){var n=xE(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var CE=wE,SE=aE,_E=pE,EE=vE,TE=bE,ME=CE;function gi(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}gi.prototype.clear=SE,gi.prototype.delete=_E,gi.prototype.get=EE,gi.prototype.has=TE,gi.prototype.set=ME;var Kp=gi,kE=xa,DE=_l,OE=Kp,AE=200;function RE(e,t){var n=this.__data__;if(n instanceof kE){var r=n.__data__;if(!DE||r.length<AE-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new OE(r)}return n.set(e,t),this.size=n.size,this}var PE=RE,IE=xa,NE=w_,$E=S_,LE=E_,VE=M_,zE=PE;function vi(e){var t=this.__data__=new IE(e);this.size=t.size}vi.prototype.clear=NE,vi.prototype.delete=$E,vi.prototype.get=LE,vi.prototype.has=VE,vi.prototype.set=zE;var FE=vi,BE="__lodash_hash_undefined__";function GE(e){return this.__data__.set(e,BE),this}var jE=GE;function KE(e){return this.__data__.has(e)}var WE=KE,qE=Kp,HE=jE,UE=WE;function _a(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new qE;++t<n;)this.add(e[t])}_a.prototype.add=_a.prototype.push=HE,_a.prototype.has=UE;var YE=_a;function XE(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var QE=XE;function ZE(e,t){return e.has(t)}var JE=ZE,eT=YE,tT=QE,nT=JE,rT=1,iT=2;function oT(e,t,n,r,i,o){var a=n&rT,l=e.length,u=t.length;if(l!=u&&!(a&&u>l))return!1;var d=o.get(e),f=o.get(t);if(d&&f)return d==t&&f==e;var p=-1,h=!0,g=n&iT?new eT:void 0;for(o.set(e,t),o.set(t,e);++p<l;){var v=e[p],m=t[p];if(r)var w=a?r(m,v,p,t,e,o):r(v,m,p,e,t,o);if(w!==void 0){if(w)continue;h=!1;break}if(g){if(!tT(t,function(x,_){if(!nT(g,_)&&(v===x||i(v,x,n,r,o)))return g.push(_)})){h=!1;break}}else if(!(v===m||i(v,m,n,r,o))){h=!1;break}}return o.delete(e),o.delete(t),h}var Wp=oT,aT=ir,sT=aT.Uint8Array,lT=sT;function uT(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}var cT=uT;function dT(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var fT=dT,qp=Cl,Hp=lT,pT=Rp,hT=Wp,gT=cT,vT=fT,mT=1,yT=2,bT="[object Boolean]",xT="[object Date]",wT="[object Error]",CT="[object Map]",ST="[object Number]",_T="[object RegExp]",ET="[object Set]",TT="[object String]",MT="[object Symbol]",kT="[object ArrayBuffer]",DT="[object DataView]",Up=qp?qp.prototype:void 0,El=Up?Up.valueOf:void 0;function OT(e,t,n,r,i,o,a){switch(n){case DT:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case kT:return!(e.byteLength!=t.byteLength||!o(new Hp(e),new Hp(t)));case bT:case xT:case ST:return pT(+e,+t);case wT:return e.name==t.name&&e.message==t.message;case _T:case TT:return e==t+"";case CT:var l=gT;case ET:var u=r&mT;if(l||(l=vT),e.size!=t.size&&!u)return!1;var d=a.get(e);if(d)return d==t;r|=yT,a.set(e,t);var f=hT(l(e),l(t),r,i,o,a);return a.delete(e),f;case MT:if(El)return El.call(e)==El.call(t)}return!1}var AT=OT;function RT(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var PT=RT,IT=Array.isArray,Tl=IT,NT=PT,$T=Tl;function LT(e,t,n){var r=t(e);return $T(e)?r:NT(r,n(e))}var VT=LT;function zT(e,t){for(var n=-1,r=e==null?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}var FT=zT;function BT(){return[]}var GT=BT,jT=FT,KT=GT,WT=Object.prototype,qT=WT.propertyIsEnumerable,Yp=Object.getOwnPropertySymbols,HT=Yp?function(e){return e==null?[]:(e=Object(e),jT(Yp(e),function(t){return qT.call(e,t)}))}:KT,UT=HT;function YT(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var XT=YT;function QT(e){return e!=null&&typeof e=="object"}var Ea=QT,ZT=wa,JT=Ea,eM="[object Arguments]";function tM(e){return JT(e)&&ZT(e)==eM}var nM=tM,Xp=nM,rM=Ea,Qp=Object.prototype,iM=Qp.hasOwnProperty,oM=Qp.propertyIsEnumerable,aM=Xp(function(){return arguments}())?Xp:function(e){return rM(e)&&iM.call(e,"callee")&&!oM.call(e,"callee")},sM=aM,Ta={exports:{}};function lM(){return!1}var uM=lM;(function(e,t){var n=ir,r=uM,i=t&&!t.nodeType&&t,o=i&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===i,l=a?n.Buffer:void 0,u=l?l.isBuffer:void 0,d=u||r;e.exports=d})(Ta,Ta.exports);var cM=9007199254740991,dM=/^(?:0|[1-9]\d*)$/;function fM(e,t){var n=typeof e;return t=t==null?cM:t,!!t&&(n=="number"||n!="symbol"&&dM.test(e))&&e>-1&&e%1==0&&e<t}var pM=fM,hM=9007199254740991;function gM(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=hM}var Zp=gM,vM=wa,mM=Zp,yM=Ea,bM="[object Arguments]",xM="[object Array]",wM="[object Boolean]",CM="[object Date]",SM="[object Error]",_M="[object Function]",EM="[object Map]",TM="[object Number]",MM="[object Object]",kM="[object RegExp]",DM="[object Set]",OM="[object String]",AM="[object WeakMap]",RM="[object ArrayBuffer]",PM="[object DataView]",IM="[object Float32Array]",NM="[object Float64Array]",$M="[object Int8Array]",LM="[object Int16Array]",VM="[object Int32Array]",zM="[object Uint8Array]",FM="[object Uint8ClampedArray]",BM="[object Uint16Array]",GM="[object Uint32Array]",_t={};_t[IM]=_t[NM]=_t[$M]=_t[LM]=_t[VM]=_t[zM]=_t[FM]=_t[BM]=_t[GM]=!0,_t[bM]=_t[xM]=_t[RM]=_t[wM]=_t[PM]=_t[CM]=_t[SM]=_t[_M]=_t[EM]=_t[TM]=_t[MM]=_t[kM]=_t[DM]=_t[OM]=_t[AM]=!1;function jM(e){return yM(e)&&mM(e.length)&&!!_t[vM(e)]}var KM=jM;function WM(e){return function(t){return e(t)}}var qM=WM,Ml={exports:{}};(function(e,t){var n=Pp,r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o&&n.process,l=function(){try{var u=i&&i.require&&i.require("util").types;return u||a&&a.binding&&a.binding("util")}catch{}}();e.exports=l})(Ml,Ml.exports);var HM=KM,UM=qM,Jp=Ml.exports,eh=Jp&&Jp.isTypedArray,YM=eh?UM(eh):HM,th=YM,XM=XT,QM=sM,ZM=Tl,JM=Ta.exports,ek=pM,tk=th,nk=Object.prototype,rk=nk.hasOwnProperty;function ik(e,t){var n=ZM(e),r=!n&&QM(e),i=!n&&!r&&JM(e),o=!n&&!r&&!i&&tk(e),a=n||r||i||o,l=a?XM(e.length,String):[],u=l.length;for(var d in e)(t||rk.call(e,d))&&!(a&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||ek(d,u)))&&l.push(d);return l}var ok=ik,ak=Object.prototype;function sk(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||ak;return e===n}var lk=sk;function uk(e,t){return function(n){return e(t(n))}}var ck=uk,dk=ck,fk=dk(Object.keys,Object),pk=fk,hk=lk,gk=pk,vk=Object.prototype,mk=vk.hasOwnProperty;function yk(e){if(!hk(e))return gk(e);var t=[];for(var n in Object(e))mk.call(e,n)&&n!="constructor"&&t.push(n);return t}var bk=yk,xk=zp,wk=Zp;function Ck(e){return e!=null&&wk(e.length)&&!xk(e)}var Sk=Ck,_k=ok,Ek=bk,Tk=Sk;function Mk(e){return Tk(e)?_k(e):Ek(e)}var kk=Mk,Dk=VT,Ok=UT,Ak=kk;function Rk(e){return Dk(e,Ak,Ok)}var Pk=Rk,nh=Pk,Ik=1,Nk=Object.prototype,$k=Nk.hasOwnProperty;function Lk(e,t,n,r,i,o){var a=n&Ik,l=nh(e),u=l.length,d=nh(t),f=d.length;if(u!=f&&!a)return!1;for(var p=u;p--;){var h=l[p];if(!(a?h in t:$k.call(t,h)))return!1}var g=o.get(e),v=o.get(t);if(g&&v)return g==t&&v==e;var m=!0;o.set(e,t),o.set(t,e);for(var w=a;++p<u;){h=l[p];var x=e[h],_=t[h];if(r)var S=a?r(_,x,h,t,e,o):r(x,_,h,e,t,o);if(!(S===void 0?x===_||i(x,_,n,r,o):S)){m=!1;break}w||(w=h=="constructor")}if(m&&!w){var C=e.constructor,E=t.constructor;C!=E&&"constructor"in e&&"constructor"in t&&!(typeof C=="function"&&C instanceof C&&typeof E=="function"&&E instanceof E)&&(m=!1)}return o.delete(e),o.delete(t),m}var Vk=Lk,zk=pi,Fk=ir,Bk=zk(Fk,"DataView"),Gk=Bk,jk=pi,Kk=ir,Wk=jk(Kk,"Promise"),qk=Wk,Hk=pi,Uk=ir,Yk=Hk(Uk,"Set"),Xk=Yk,Qk=pi,Zk=ir,Jk=Qk(Zk,"WeakMap"),eD=Jk,kl=Gk,Dl=_l,Ol=qk,Al=Xk,Rl=eD,rh=wa,mi=Bp,ih="[object Map]",tD="[object Object]",oh="[object Promise]",ah="[object Set]",sh="[object WeakMap]",lh="[object DataView]",nD=mi(kl),rD=mi(Dl),iD=mi(Ol),oD=mi(Al),aD=mi(Rl),Fr=rh;(kl&&Fr(new kl(new ArrayBuffer(1)))!=lh||Dl&&Fr(new Dl)!=ih||Ol&&Fr(Ol.resolve())!=oh||Al&&Fr(new Al)!=ah||Rl&&Fr(new Rl)!=sh)&&(Fr=function(e){var t=rh(e),n=t==tD?e.constructor:void 0,r=n?mi(n):"";if(r)switch(r){case nD:return lh;case rD:return ih;case iD:return oh;case oD:return ah;case aD:return sh}return t});var sD=Fr,Pl=FE,lD=Wp,uD=AT,cD=Vk,uh=sD,ch=Tl,dh=Ta.exports,dD=th,fD=1,fh="[object Arguments]",ph="[object Array]",Ma="[object Object]",pD=Object.prototype,hh=pD.hasOwnProperty;function hD(e,t,n,r,i,o){var a=ch(e),l=ch(t),u=a?ph:uh(e),d=l?ph:uh(t);u=u==fh?Ma:u,d=d==fh?Ma:d;var f=u==Ma,p=d==Ma,h=u==d;if(h&&dh(e)){if(!dh(t))return!1;a=!0,f=!1}if(h&&!f)return o||(o=new Pl),a||dD(e)?lD(e,t,n,r,i,o):uD(e,t,u,n,r,i,o);if(!(n&fD)){var g=f&&hh.call(e,"__wrapped__"),v=p&&hh.call(t,"__wrapped__");if(g||v){var m=g?e.value():e,w=v?t.value():t;return o||(o=new Pl),i(m,w,n,r,o)}}return h?(o||(o=new Pl),cD(e,t,n,r,i,o)):!1}var gD=hD,vD=gD,gh=Ea;function vh(e,t,n,r,i){return e===t?!0:e==null||t==null||!gh(e)&&!gh(t)?e!==e&&t!==t:vD(e,t,n,r,vh,i)}var mD=vh,yD=mD;function bD(e,t){return yD(e,t)}var xD=bD;function wD(e,t){return e===t?!0:!e||!t?!1:"pageX"in t&&"pageY"in t?e.pageX===t.pageX&&e.pageY===t.pageY:"clientX"in t&&"clientY"in t?e.clientX===t.clientX&&e.clientY===t.clientY:!1}function CD(e,t){e!==document.activeElement&&aa(t,e)&&typeof e.focus=="function"&&e.focus()}function mh(e,t){var n=null,r=null;function i(a){var l=up(a,1),u=l[0].target;if(!!document.documentElement.contains(u)){var d=u.getBoundingClientRect(),f=d.width,p=d.height,h=Math.floor(f),g=Math.floor(p);(n!==h||r!==g)&&Promise.resolve().then(function(){t({width:h,height:g})}),n=h,r=g}}var o=new kf(i);return e&&o.observe(e),function(){o.disconnect()}}const SD=function(e,t){var n=Q.default.useRef(!1),r=Q.default.useRef(null);function i(){window.clearTimeout(r.current)}function o(a){if(i(),!n.current||a===!0){if(e()===!1)return;n.current=!0,r.current=window.setTimeout(function(){n.current=!1},t)}else r.current=window.setTimeout(function(){n.current=!1,o()},t)}return[o,function(){n.current=!1,i()}]};function yh(e){return typeof e!="function"?null:e()}function bh(e){return ll(e)!=="object"||!e?null:e}var _D=function(t,n){var r=t.children,i=t.disabled,o=t.target,a=t.align,l=t.onAlign,u=t.monitorWindowResize,d=t.monitorBufferTime,f=d===void 0?0:d,p=Q.default.useRef({}),h=Q.default.useRef(),g=Q.default.Children.only(r),v=Q.default.useRef({});v.current.disabled=i,v.current.target=o,v.current.align=a,v.current.onAlign=l;var m=SD(function(){var k=v.current,P=k.disabled,V=k.target,B=k.align,I=k.onAlign;if(!P&&V){var A=h.current,$,F=yh(V),M=bh(V);p.current.element=F,p.current.point=M,p.current.align=B;var L=document,N=L.activeElement;return F&&wS(F)?$=wl(A,F,B):M&&($=US(A,M,B)),CD(N,A),I&&$&&I(A,$),!0}return!1},f),w=up(m,2),x=w[0],_=w[1],S=Q.default.useRef({cancel:function(){}}),C=Q.default.useRef({cancel:function(){}});Q.default.useEffect(function(){var k=yh(o),P=bh(o);h.current!==C.current.element&&(C.current.cancel(),C.current.element=h.current,C.current.cancel=mh(h.current,x)),(p.current.element!==k||!wD(p.current.point,P)||!xD(p.current.align,a))&&(x(),S.current.element!==k&&(S.current.cancel(),S.current.element=k,S.current.cancel=mh(k,x)))}),Q.default.useEffect(function(){i?_():x()},[i]);var E=Q.default.useRef(null);return Q.default.useEffect(function(){u?E.current||(E.current=to(window,"resize",x)):E.current&&(E.current.remove(),E.current=null)},[u]),Q.default.useEffect(function(){return function(){S.current.cancel(),C.current.cancel(),E.current&&E.current.remove(),_()}},[]),Q.default.useImperativeHandle(n,function(){return{forceAlign:function(){return x(!0)}}}),Q.default.isValidElement(g)&&(g=Q.default.cloneElement(g,{ref:Yi(g.ref,h)})),g},xh=Q.default.forwardRef(_D);xh.displayName="Align";function Il(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */Il=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=typeof Symbol=="function"?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function l(I,A,$){return Object.defineProperty(I,A,{value:$,enumerable:!0,configurable:!0,writable:!0}),I[A]}try{l({},"")}catch{l=function($,F,M){return $[F]=M}}function u(I,A,$,F){var M=A&&A.prototype instanceof p?A:p,L=Object.create(M.prototype),N=new P(F||[]);return L._invoke=function(R,G,j){var K="suspendedStart";return function(q,ne){if(K==="executing")throw new Error("Generator is already running");if(K==="completed"){if(q==="throw")throw ne;return B()}for(j.method=q,j.arg=ne;;){var ie=j.delegate;if(ie){var Y=C(ie,j);if(Y){if(Y===f)continue;return Y}}if(j.method==="next")j.sent=j._sent=j.arg;else if(j.method==="throw"){if(K==="suspendedStart")throw K="completed",j.arg;j.dispatchException(j.arg)}else j.method==="return"&&j.abrupt("return",j.arg);K="executing";var Z=d(R,G,j);if(Z.type==="normal"){if(K=j.done?"completed":"suspendedYield",Z.arg===f)continue;return{value:Z.arg,done:j.done}}Z.type==="throw"&&(K="completed",j.method="throw",j.arg=Z.arg)}}}(I,$,N),L}function d(I,A,$){try{return{type:"normal",arg:I.call(A,$)}}catch(F){return{type:"throw",arg:F}}}e.wrap=u;var f={};function p(){}function h(){}function g(){}var v={};l(v,i,function(){return this});var m=Object.getPrototypeOf,w=m&&m(m(V([])));w&&w!==t&&n.call(w,i)&&(v=w);var x=g.prototype=p.prototype=Object.create(v);function _(I){["next","throw","return"].forEach(function(A){l(I,A,function($){return this._invoke(A,$)})})}function S(I,A){function $(M,L,N,R){var G=d(I[M],I,L);if(G.type!=="throw"){var j=G.arg,K=j.value;return K&&Ui(K)=="object"&&n.call(K,"__await")?A.resolve(K.__await).then(function(q){$("next",q,N,R)},function(q){$("throw",q,N,R)}):A.resolve(K).then(function(q){j.value=q,N(j)},function(q){return $("throw",q,N,R)})}R(G.arg)}var F;this._invoke=function(M,L){function N(){return new A(function(R,G){$(M,L,R,G)})}return F=F?F.then(N,N):N()}}function C(I,A){var $=I.iterator[A.method];if($===void 0){if(A.delegate=null,A.method==="throw"){if(I.iterator.return&&(A.method="return",A.arg=void 0,C(I,A),A.method==="throw"))return f;A.method="throw",A.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var F=d($,I.iterator,A.arg);if(F.type==="throw")return A.method="throw",A.arg=F.arg,A.delegate=null,f;var M=F.arg;return M?M.done?(A[I.resultName]=M.value,A.next=I.nextLoc,A.method!=="return"&&(A.method="next",A.arg=void 0),A.delegate=null,f):M:(A.method="throw",A.arg=new TypeError("iterator result is not an object"),A.delegate=null,f)}function E(I){var A={tryLoc:I[0]};1 in I&&(A.catchLoc=I[1]),2 in I&&(A.finallyLoc=I[2],A.afterLoc=I[3]),this.tryEntries.push(A)}function k(I){var A=I.completion||{};A.type="normal",delete A.arg,I.completion=A}function P(I){this.tryEntries=[{tryLoc:"root"}],I.forEach(E,this),this.reset(!0)}function V(I){if(I){var A=I[i];if(A)return A.call(I);if(typeof I.next=="function")return I;if(!isNaN(I.length)){var $=-1,F=function M(){for(;++$<I.length;)if(n.call(I,$))return M.value=I[$],M.done=!1,M;return M.value=void 0,M.done=!0,M};return F.next=F}}return{next:B}}function B(){return{value:void 0,done:!0}}return h.prototype=g,l(x,"constructor",g),l(g,"constructor",h),h.displayName=l(g,a,"GeneratorFunction"),e.isGeneratorFunction=function(I){var A=typeof I=="function"&&I.constructor;return!!A&&(A===h||(A.displayName||A.name)==="GeneratorFunction")},e.mark=function(I){return Object.setPrototypeOf?Object.setPrototypeOf(I,g):(I.__proto__=g,l(I,a,"GeneratorFunction")),I.prototype=Object.create(x),I},e.awrap=function(I){return{__await:I}},_(S.prototype),l(S.prototype,o,function(){return this}),e.AsyncIterator=S,e.async=function(I,A,$,F,M){M===void 0&&(M=Promise);var L=new S(u(I,A,$,F),M);return e.isGeneratorFunction(A)?L:L.next().then(function(N){return N.done?N.value:L.next()})},_(x),l(x,a,"Generator"),l(x,i,function(){return this}),l(x,"toString",function(){return"[object Generator]"}),e.keys=function(I){var A=[];for(var $ in I)A.push($);return A.reverse(),function F(){for(;A.length;){var M=A.pop();if(M in I)return F.value=M,F.done=!1,F}return F.done=!0,F}},e.values=V,P.prototype={constructor:P,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!A)for(var $ in this)$.charAt(0)==="t"&&n.call(this,$)&&!isNaN(+$.slice(1))&&(this[$]=void 0)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(A.type==="throw")throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var $=this;function F(j,K){return N.type="throw",N.arg=A,$.next=j,K&&($.method="next",$.arg=void 0),!!K}for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M],N=L.completion;if(L.tryLoc==="root")return F("end");if(L.tryLoc<=this.prev){var R=n.call(L,"catchLoc"),G=n.call(L,"finallyLoc");if(R&&G){if(this.prev<L.catchLoc)return F(L.catchLoc,!0);if(this.prev<L.finallyLoc)return F(L.finallyLoc)}else if(R){if(this.prev<L.catchLoc)return F(L.catchLoc,!0)}else{if(!G)throw new Error("try statement without catch or finally");if(this.prev<L.finallyLoc)return F(L.finallyLoc)}}}},abrupt:function(A,$){for(var F=this.tryEntries.length-1;F>=0;--F){var M=this.tryEntries[F];if(M.tryLoc<=this.prev&&n.call(M,"finallyLoc")&&this.prev<M.finallyLoc){var L=M;break}}L&&(A==="break"||A==="continue")&&L.tryLoc<=$&&$<=L.finallyLoc&&(L=null);var N=L?L.completion:{};return N.type=A,N.arg=$,L?(this.method="next",this.next=L.finallyLoc,f):this.complete(N)},complete:function(A,$){if(A.type==="throw")throw A.arg;return A.type==="break"||A.type==="continue"?this.next=A.arg:A.type==="return"?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):A.type==="normal"&&$&&(this.next=$),f},finish:function(A){for(var $=this.tryEntries.length-1;$>=0;--$){var F=this.tryEntries[$];if(F.finallyLoc===A)return this.complete(F.completion,F.afterLoc),k(F),f}},catch:function(A){for(var $=this.tryEntries.length-1;$>=0;--$){var F=this.tryEntries[$];if(F.tryLoc===A){var M=F.completion;if(M.type==="throw"){var L=M.arg;k(F)}return L}}throw new Error("illegal catch attempt")},delegateYield:function(A,$,F){return this.delegate={iterator:V(A),resultName:$,nextLoc:F},this.method==="next"&&(this.arg=void 0),f}},e}function wh(e,t,n,r,i,o,a){try{var l=e[o](a),u=l.value}catch(d){n(d);return}l.done?t(u):Promise.resolve(u).then(r,i)}function ED(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(u){wh(o,r,i,a,l,"next",u)}function l(u){wh(o,r,i,a,l,"throw",u)}a(void 0)})}}var Ch=["measure","alignPre","align",null,"motion"];const TD=function(e,t){var n=br(null),r=An(n,2),i=r[0],o=r[1],a=b.useRef();function l(f){o(f,!0)}function u(){Vt.cancel(a.current)}function d(f){u(),a.current=Vt(function(){l(function(p){switch(i){case"align":return"motion";case"motion":return"stable"}return p}),f==null||f()})}return b.useEffect(function(){l("measure")},[e]),b.useEffect(function(){switch(i){case"measure":t();break}i&&(a.current=Vt(ED(Il().mark(function f(){var p,h;return Il().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:p=Ch.indexOf(i),h=Ch[p+1],h&&p!==-1&&l(h);case 3:case"end":return v.stop()}},f)}))))},[i]),b.useEffect(function(){return function(){u()}},[]),[i,d]},MD=function(e){var t=T.useState({width:0,height:0}),n=An(t,2),r=n[0],i=n[1];function o(l){var u=l.offsetWidth,d=l.offsetHeight,f=l.getBoundingClientRect(),p=f.width,h=f.height;Math.abs(u-p)<1&&Math.abs(d-h)<1&&(u=p,d=h),i({width:u,height:d})}var a=T.useMemo(function(){var l={};if(e){var u=r.width,d=r.height;e.indexOf("height")!==-1&&d?l.height=d:e.indexOf("minHeight")!==-1&&d&&(l.minHeight=d),e.indexOf("width")!==-1&&u?l.width=u:e.indexOf("minWidth")!==-1&&u&&(l.minWidth=u)}return l},[e,r]);return[a,o]};var Sh=T.forwardRef(function(e,t){var n=e.visible,r=e.prefixCls,i=e.className,o=e.style,a=e.children,l=e.zIndex,u=e.stretch,d=e.destroyPopupOnHide,f=e.forceRender,p=e.align,h=e.point,g=e.getRootDomNode,v=e.getClassNameFromAlign,m=e.onAlign,w=e.onMouseEnter,x=e.onMouseLeave,_=e.onMouseDown,S=e.onTouchStart,C=e.onClick,E=b.useRef(),k=b.useRef(),P=b.useState(),V=An(P,2),B=V[0],I=V[1],A=MD(u),$=An(A,2),F=$[0],M=$[1];function L(){u&&M(g())}var N=TD(n,L),R=An(N,2),G=R[0],j=R[1],K=b.useState(0),q=An(K,2),ne=q[0],ie=q[1],Y=b.useRef();er(function(){G==="alignPre"&&ie(0)},[G]);function Z(){return h||g}function de(){var oe;(oe=E.current)===null||oe===void 0||oe.forceAlign()}function ce(oe,Se){var U=v(Se);B!==U&&I(U),ie(function(we){return we+1}),G==="align"&&(m==null||m(oe,Se))}er(function(){G==="align"&&(ne<3?de():j(function(){var oe;(oe=Y.current)===null||oe===void 0||oe.call(Y)}))},[ne]);var ue=nn({},sp(e));["onAppearEnd","onEnterEnd","onLeaveEnd"].forEach(function(oe){var Se=ue[oe];ue[oe]=function(U,we){return j(),Se==null?void 0:Se(U,we)}});function le(){return new Promise(function(oe){Y.current=oe})}T.useEffect(function(){!ue.motionName&&G==="motion"&&j()},[ue.motionName,G]),T.useImperativeHandle(t,function(){return{forceAlign:de,getElement:function(){return k.current}}});var Ce=nn(nn({},F),{},{zIndex:l,opacity:G==="motion"||G==="stable"||!n?void 0:0,pointerEvents:!n&&G!=="stable"?"none":void 0},o),xe=!0;p!=null&&p.points&&(G==="align"||G==="stable")&&(xe=!1);var X=a;return T.Children.count(a)>1&&(X=s("div",{className:"".concat(r,"-content"),children:a})),s(fa,{visible:n,ref:k,leavedClassName:"".concat(r,"-hidden"),...ue,onAppearPrepare:le,onEnterPrepare:le,removeOnLeave:d,forceRender:f,children:function(oe,Se){var U=oe.className,we=oe.style,ve=gt(r,i,B,U);return s(xh,{target:Z(),ref:E,monitorWindowResize:!0,disabled:xe,align:p,onAlign:ce,children:s("div",{ref:Se,className:ve,onMouseEnter:w,onMouseLeave:x,onMouseDownCapture:_,onTouchStartCapture:S,onClick:C,style:nn(nn({},we),Ce),children:X})},"popup")}})});Sh.displayName="PopupInner";var _h=T.forwardRef(function(e,t){var n=e.prefixCls,r=e.visible,i=e.zIndex,o=e.children,a=e.mobile;a=a===void 0?{}:a;var l=a.popupClassName,u=a.popupStyle,d=a.popupMotion,f=d===void 0?{}:d,p=a.popupRender,h=e.onClick,g=T.useRef();T.useImperativeHandle(t,function(){return{forceAlign:function(){},getElement:function(){return g.current}}});var v=nn({zIndex:i},u),m=o;return T.Children.count(o)>1&&(m=s("div",{className:"".concat(n,"-content"),children:o})),p&&(m=p(m)),s(fa,{visible:r,ref:g,removeOnLeave:!0,...f,children:function(w,x){var _=w.className,S=w.style,C=gt(n,l,_);return s("div",{ref:x,className:C,onClick:h,style:nn(nn({},S),v),children:m})}})});_h.displayName="MobilePopupInner";var kD=["visible","mobile"],Eh=T.forwardRef(function(e,t){var n=e.visible,r=e.mobile,i=qC(e,kD),o=b.useState(n),a=An(o,2),l=a[0],u=a[1],d=b.useState(!1),f=An(d,2),p=f[0],h=f[1],g=nn(nn({},i),{},{visible:l});b.useEffect(function(){u(n),n&&r&&h(lf())},[n,r]);var v=p?s(_h,{...g,mobile:r,ref:t}):s(Sh,{...g,ref:t});return y("div",{children:[s(vS,{...g}),v]})});Eh.displayName="Popup";var Th=T.createContext(null);function Nl(){}function DD(){return""}function OD(e){return e?e.ownerDocument:window.document}var AD=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"];function RD(e){var t=function(n){LC(i,n);var r=FC(i);function i(o){var a;NC(this,i),a=r.call(this,o),Ze(nt(a),"popupRef",T.createRef()),Ze(nt(a),"triggerRef",T.createRef()),Ze(nt(a),"portalContainer",void 0),Ze(nt(a),"attachId",void 0),Ze(nt(a),"clickOutsideHandler",void 0),Ze(nt(a),"touchOutsideHandler",void 0),Ze(nt(a),"contextMenuOutsideHandler1",void 0),Ze(nt(a),"contextMenuOutsideHandler2",void 0),Ze(nt(a),"mouseDownTimeout",void 0),Ze(nt(a),"focusTime",void 0),Ze(nt(a),"preClickTime",void 0),Ze(nt(a),"preTouchTime",void 0),Ze(nt(a),"delayTimer",void 0),Ze(nt(a),"hasPopupMouseDown",void 0),Ze(nt(a),"onMouseEnter",function(u){var d=a.props.mouseEnterDelay;a.fireEvents("onMouseEnter",u),a.delaySetPopupVisible(!0,d,d?null:u)}),Ze(nt(a),"onMouseMove",function(u){a.fireEvents("onMouseMove",u),a.setPoint(u)}),Ze(nt(a),"onMouseLeave",function(u){a.fireEvents("onMouseLeave",u),a.delaySetPopupVisible(!1,a.props.mouseLeaveDelay)}),Ze(nt(a),"onPopupMouseEnter",function(){a.clearDelayTimer()}),Ze(nt(a),"onPopupMouseLeave",function(u){var d;u.relatedTarget&&!u.relatedTarget.setTimeout&&aa((d=a.popupRef.current)===null||d===void 0?void 0:d.getElement(),u.relatedTarget)||a.delaySetPopupVisible(!1,a.props.mouseLeaveDelay)}),Ze(nt(a),"onFocus",function(u){a.fireEvents("onFocus",u),a.clearDelayTimer(),a.isFocusToShow()&&(a.focusTime=Date.now(),a.delaySetPopupVisible(!0,a.props.focusDelay))}),Ze(nt(a),"onMouseDown",function(u){a.fireEvents("onMouseDown",u),a.preClickTime=Date.now()}),Ze(nt(a),"onTouchStart",function(u){a.fireEvents("onTouchStart",u),a.preTouchTime=Date.now()}),Ze(nt(a),"onBlur",function(u){a.fireEvents("onBlur",u),a.clearDelayTimer(),a.isBlurToHide()&&a.delaySetPopupVisible(!1,a.props.blurDelay)}),Ze(nt(a),"onContextMenu",function(u){u.preventDefault(),a.fireEvents("onContextMenu",u),a.setPopupVisible(!0,u)}),Ze(nt(a),"onContextMenuClose",function(){a.isContextMenuToShow()&&a.close()}),Ze(nt(a),"onClick",function(u){if(a.fireEvents("onClick",u),a.focusTime){var d;if(a.preClickTime&&a.preTouchTime?d=Math.min(a.preClickTime,a.preTouchTime):a.preClickTime?d=a.preClickTime:a.preTouchTime&&(d=a.preTouchTime),Math.abs(d-a.focusTime)<20)return;a.focusTime=0}a.preClickTime=0,a.preTouchTime=0,a.isClickToShow()&&(a.isClickToHide()||a.isBlurToHide())&&u&&u.preventDefault&&u.preventDefault();var f=!a.state.popupVisible;(a.isClickToHide()&&!f||f&&a.isClickToShow())&&a.setPopupVisible(!a.state.popupVisible,u)}),Ze(nt(a),"onPopupMouseDown",function(){if(a.hasPopupMouseDown=!0,clearTimeout(a.mouseDownTimeout),a.mouseDownTimeout=window.setTimeout(function(){a.hasPopupMouseDown=!1},0),a.context){var u;(u=a.context).onPopupMouseDown.apply(u,arguments)}}),Ze(nt(a),"onDocumentClick",function(u){if(!(a.props.mask&&!a.props.maskClosable)){var d=u.target,f=a.getRootDomNode(),p=a.getPopupDomNode();(!aa(f,d)||a.isContextMenuOnly())&&!aa(p,d)&&!a.hasPopupMouseDown&&a.close()}}),Ze(nt(a),"getRootDomNode",function(){var u=a.props.getTriggerDOMNode;if(u)return u(a.triggerRef.current);try{var d=Zi(a.triggerRef.current);if(d)return d}catch{}return Bi.default.findDOMNode(nt(a))}),Ze(nt(a),"getPopupClassNameFromAlign",function(u){var d=[],f=a.props,p=f.popupPlacement,h=f.builtinPlacements,g=f.prefixCls,v=f.alignPoint,m=f.getPopupClassNameFromAlign;return p&&h&&d.push(KC(h,g,u,v)),m&&d.push(m(u)),d.join(" ")}),Ze(nt(a),"getComponent",function(){var u=a.props,d=u.prefixCls,f=u.destroyPopupOnHide,p=u.popupClassName,h=u.onPopupAlign,g=u.popupMotion,v=u.popupAnimation,m=u.popupTransitionName,w=u.popupStyle,x=u.mask,_=u.maskAnimation,S=u.maskTransitionName,C=u.maskMotion,E=u.zIndex,k=u.popup,P=u.stretch,V=u.alignPoint,B=u.mobile,I=u.forceRender,A=u.onPopupClick,$=a.state,F=$.popupVisible,M=$.point,L=a.getPopupAlign(),N={};return a.isMouseEnterToShow()&&(N.onMouseEnter=a.onPopupMouseEnter),a.isMouseLeaveToHide()&&(N.onMouseLeave=a.onPopupMouseLeave),N.onMouseDown=a.onPopupMouseDown,N.onTouchStart=a.onPopupMouseDown,s(Eh,{prefixCls:d,destroyPopupOnHide:f,visible:F,point:V&&M,className:p,align:L,onAlign:h,animation:v,getClassNameFromAlign:a.getPopupClassNameFromAlign,...N,stretch:P,getRootDomNode:a.getRootDomNode,style:w,mask:x,zIndex:E,transitionName:m,maskAnimation:_,maskTransitionName:S,maskMotion:C,ref:a.popupRef,motion:g,mobile:B,forceRender:I,onClick:A,children:typeof k=="function"?k():k})}),Ze(nt(a),"attachParent",function(u){Vt.cancel(a.attachId);var d=a.props,f=d.getPopupContainer,p=d.getDocument,h=a.getRootDomNode(),g;f?(h||f.length===0)&&(g=f(h)):g=p(a.getRootDomNode()).body,g?g.appendChild(u):a.attachId=Vt(function(){a.attachParent(u)})}),Ze(nt(a),"getContainer",function(){if(!a.portalContainer){var u=a.props.getDocument,d=u(a.getRootDomNode()).createElement("div");d.style.position="absolute",d.style.top="0",d.style.left="0",d.style.width="100%",a.portalContainer=d}return a.attachParent(a.portalContainer),a.portalContainer}),Ze(nt(a),"setPoint",function(u){var d=a.props.alignPoint;!d||!u||a.setState({point:{pageX:u.pageX,pageY:u.pageY}})}),Ze(nt(a),"handlePortalUpdate",function(){a.state.prevPopupVisible!==a.state.popupVisible&&a.props.afterPopupVisibleChange(a.state.popupVisible)}),Ze(nt(a),"triggerContextValue",{onPopupMouseDown:a.onPopupMouseDown});var l;return"popupVisible"in o?l=!!o.popupVisible:l=!!o.defaultPopupVisible,a.state={prevPopupVisible:l,popupVisible:l},AD.forEach(function(u){a["fire".concat(u)]=function(d){a.fireEvents(u,d)}}),a}return $C(i,[{key:"componentDidMount",value:function(){this.componentDidUpdate()}},{key:"componentDidUpdate",value:function(){var a=this.props,l=this.state;if(l.popupVisible){var u;!this.clickOutsideHandler&&(this.isClickToHide()||this.isContextMenuToShow())&&(u=a.getDocument(this.getRootDomNode()),this.clickOutsideHandler=to(u,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(u=u||a.getDocument(this.getRootDomNode()),this.touchOutsideHandler=to(u,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(u=u||a.getDocument(this.getRootDomNode()),this.contextMenuOutsideHandler1=to(u,"scroll",this.onContextMenuClose)),!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=to(window,"blur",this.onContextMenuClose));return}this.clearOutsideHandler()}},{key:"componentWillUnmount",value:function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout),Vt.cancel(this.attachId)}},{key:"getPopupDomNode",value:function(){var a;return((a=this.popupRef.current)===null||a===void 0?void 0:a.getElement())||null}},{key:"getPopupAlign",value:function(){var a=this.props,l=a.popupPlacement,u=a.popupAlign,d=a.builtinPlacements;return l&&d?jC(d,l,u):u}},{key:"setPopupVisible",value:function(a,l){var u=this.props.alignPoint,d=this.state.popupVisible;this.clearDelayTimer(),d!==a&&("popupVisible"in this.props||this.setState({popupVisible:a,prevPopupVisible:d}),this.props.onPopupVisibleChange(a)),u&&l&&a&&this.setPoint(l)}},{key:"delaySetPopupVisible",value:function(a,l,u){var d=this,f=l*1e3;if(this.clearDelayTimer(),f){var p=u?{pageX:u.pageX,pageY:u.pageY}:null;this.delayTimer=window.setTimeout(function(){d.setPopupVisible(a,p),d.clearDelayTimer()},f)}else this.setPopupVisible(a,u)}},{key:"clearDelayTimer",value:function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)}},{key:"clearOutsideHandler",value:function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)}},{key:"createTwoChains",value:function(a){var l=this.props.children.props,u=this.props;return l[a]&&u[a]?this["fire".concat(a)]:l[a]||u[a]}},{key:"isClickToShow",value:function(){var a=this.props,l=a.action,u=a.showAction;return l.indexOf("click")!==-1||u.indexOf("click")!==-1}},{key:"isContextMenuOnly",value:function(){var a=this.props.action;return a==="contextMenu"||a.length===1&&a[0]==="contextMenu"}},{key:"isContextMenuToShow",value:function(){var a=this.props,l=a.action,u=a.showAction;return l.indexOf("contextMenu")!==-1||u.indexOf("contextMenu")!==-1}},{key:"isClickToHide",value:function(){var a=this.props,l=a.action,u=a.hideAction;return l.indexOf("click")!==-1||u.indexOf("click")!==-1}},{key:"isMouseEnterToShow",value:function(){var a=this.props,l=a.action,u=a.showAction;return l.indexOf("hover")!==-1||u.indexOf("mouseEnter")!==-1}},{key:"isMouseLeaveToHide",value:function(){var a=this.props,l=a.action,u=a.hideAction;return l.indexOf("hover")!==-1||u.indexOf("mouseLeave")!==-1}},{key:"isFocusToShow",value:function(){var a=this.props,l=a.action,u=a.showAction;return l.indexOf("focus")!==-1||u.indexOf("focus")!==-1}},{key:"isBlurToHide",value:function(){var a=this.props,l=a.action,u=a.hideAction;return l.indexOf("focus")!==-1||u.indexOf("blur")!==-1}},{key:"forcePopupAlign",value:function(){if(this.state.popupVisible){var a;(a=this.popupRef.current)===null||a===void 0||a.forceAlign()}}},{key:"fireEvents",value:function(a,l){var u=this.props.children.props[a];u&&u(l);var d=this.props[a];d&&d(l)}},{key:"close",value:function(){this.setPopupVisible(!1)}},{key:"render",value:function(){var a=this.state.popupVisible,l=this.props,u=l.children,d=l.forceRender,f=l.alignPoint,p=l.className,h=l.autoDestroy,g=T.Children.only(u),v={key:"trigger"};this.isContextMenuToShow()?v.onContextMenu=this.onContextMenu:v.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(v.onClick=this.onClick,v.onMouseDown=this.onMouseDown,v.onTouchStart=this.onTouchStart):(v.onClick=this.createTwoChains("onClick"),v.onMouseDown=this.createTwoChains("onMouseDown"),v.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(v.onMouseEnter=this.onMouseEnter,f&&(v.onMouseMove=this.onMouseMove)):v.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?v.onMouseLeave=this.onMouseLeave:v.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(v.onFocus=this.onFocus,v.onBlur=this.onBlur):(v.onFocus=this.createTwoChains("onFocus"),v.onBlur=this.createTwoChains("onBlur"));var m=gt(g&&g.props&&g.props.className,p);m&&(v.className=m);var w=nn({},v);Zs(g)&&(w.ref=Yi(this.triggerRef,g.ref));var x=T.cloneElement(g,w),_;return(a||this.popupRef.current||d)&&(_=s(e,{getContainer:this.getContainer,didUpdate:this.handlePortalUpdate,children:this.getComponent()},"portal")),!a&&h&&(_=null),y(Th.Provider,{value:this.triggerContextValue,children:[x,_]})}}],[{key:"getDerivedStateFromProps",value:function(a,l){var u=a.popupVisible,d={};return u!==void 0&&l.popupVisible!==u&&(d.popupVisible=u,d.prevPopupVisible=l.popupVisible),d}}]),i}(T.Component);return Ze(t,"contextType",Th),Ze(t,"defaultProps",{prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:DD,getDocument:OD,onPopupVisibleChange:Nl,afterPopupVisibleChange:Nl,onPopupAlign:Nl,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[],autoDestroy:!1}),t}const PD=RD(BC);var ID=["prefixCls","disabled","visible","children","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],ND=function(t){var n=t===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:n,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:n,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:n,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:n,adjustY:1}}}},$D=function(t,n){var r=t.prefixCls;t.disabled;var i=t.visible,o=t.children,a=t.popupElement,l=t.containerWidth,u=t.animation,d=t.transitionName,f=t.dropdownStyle,p=t.dropdownClassName,h=t.direction,g=h===void 0?"ltr":h,v=t.placement,m=t.dropdownMatchSelectWidth,w=t.dropdownRender,x=t.dropdownAlign,_=t.getPopupContainer,S=t.empty,C=t.getTriggerDOMNode,E=t.onPopupVisibleChange,k=t.onPopupMouseEnter,P=ti(t,ID),V="".concat(r,"-dropdown"),B=a;w&&(B=w(a));var I=T.useMemo(function(){return ND(m)},[m]),A=u?"".concat(V,"-").concat(u):d,$=T.useRef(null);T.useImperativeHandle(n,function(){return{getPopupElement:function(){return $.current}}});var F=$t({minWidth:l},f);return typeof m=="number"?F.width=m:m&&(F.width=l),s(PD,{...P,showAction:E?["click"]:[],hideAction:E?["click"]:[],popupPlacement:v||(g==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:I,prefixCls:V,popupTransitionName:A,popup:s("div",{ref:$,onMouseEnter:k,children:B}),popupAlign:x,popupVisible:i,getPopupContainer:_,popupClassName:gt(p,Nt({},"".concat(V,"-empty"),S)),popupStyle:F,getTriggerDOMNode:C,onPopupVisibleChange:E,children:o})},Mh=T.forwardRef($D);Mh.displayName="SelectTrigger";function LD(e){return Zd(e)||Xd(e)||Us(e)||Jd()}function kh(e,t){var n=e.key,r;return"value"in e&&(r=e.value),n!=null?n:r!==void 0?r:"rc-index-key-".concat(t)}function Dh(e,t){var n=e||{},r=n.label,i=n.value,o=n.options;return{label:r||(t?"children":"label"),value:i||"value",options:o||"options"}}function VD(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.fieldNames,r=t.childrenAsData,i=[],o=Dh(n,!1),a=o.label,l=o.value,u=o.options;function d(f,p){f.forEach(function(h){var g=h[a];if(p||!(u in h)){var v=h[l];i.push({key:kh(h,i.length),groupOption:p,data:h,label:g,value:v})}else{var m=g;m===void 0&&r&&(m=h.label),i.push({key:kh(h,i.length),group:!0,data:h,label:m}),d(h[u],!0)}})}return d(e,!1),i}function $l(e){var t=$t({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return at(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}function zD(e,t){if(!t||!t.length)return null;var n=!1;function r(o,a){var l=LD(a),u=l[0],d=l.slice(1);if(!u)return[o];var f=o.split(u);return n=n||f.length>1,f.reduce(function(p,h){return[].concat(En(p),En(r(h,d)))},[]).filter(function(p){return p})}var i=r(e,t);return n?i:null}var FD=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","showArrow","inputIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],BD=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function ka(e){return e==="tags"||e==="multiple"}var Ll=T.forwardRef(function(e,t){var n,r,i=e.id,o=e.prefixCls,a=e.className,l=e.showSearch,u=e.tagRender,d=e.direction,f=e.omitDomProps,p=e.displayValues,h=e.onDisplayValuesChange,g=e.emptyOptions,v=e.notFoundContent,m=v===void 0?"Not Found":v,w=e.onClear,x=e.mode,_=e.disabled,S=e.loading,C=e.getInputElement,E=e.getRawInputElement,k=e.open,P=e.defaultOpen,V=e.onDropdownVisibleChange,B=e.activeValue,I=e.onActiveValueChange,A=e.activeDescendantId,$=e.searchValue,F=e.autoClearSearchValue,M=e.onSearch,L=e.onSearchSplit,N=e.tokenSeparators,R=e.allowClear,G=e.showArrow,j=e.inputIcon,K=e.clearIcon,q=e.OptionList,ne=e.animation,ie=e.transitionName,Y=e.dropdownStyle,Z=e.dropdownClassName,de=e.dropdownMatchSelectWidth,ce=e.dropdownRender,ue=e.dropdownAlign,le=e.placement,Ce=e.getPopupContainer,xe=e.showAction,X=xe===void 0?[]:xe,oe=e.onFocus,Se=e.onBlur,U=e.onKeyUp,we=e.onKeyDown,ve=e.onMouseDown,Ee=ti(e,FD),Oe=ka(x),ge=(l!==void 0?l:Oe)||x==="combobox",qe=$t({},Ee);BD.forEach(function(Qe){delete qe[Qe]}),f==null||f.forEach(function(Qe){delete qe[Qe]});var Ne=T.useState(!1),Je=Lt(Ne,2),Te=Je[0],Ge=Je[1];T.useEffect(function(){Ge(lf())},[]);var Ve=T.useRef(null),Fe=T.useRef(null),dt=T.useRef(null),lt=T.useRef(null),Ue=T.useRef(null),ut=Cw(),_e=Lt(ut,3),$e=_e[0],rt=_e[1],Ot=_e[2];T.useImperativeHandle(t,function(){var Qe,je;return{focus:(Qe=lt.current)===null||Qe===void 0?void 0:Qe.focus,blur:(je=lt.current)===null||je===void 0?void 0:je.blur,scrollTo:function(gn){var jt;return(jt=Ue.current)===null||jt===void 0?void 0:jt.scrollTo(gn)}}});var ct=T.useMemo(function(){var Qe;if(x!=="combobox")return $;var je=(Qe=p[0])===null||Qe===void 0?void 0:Qe.value;return typeof je=="string"||typeof je=="number"?String(je):""},[$,x,p]),At=x==="combobox"&&typeof C=="function"&&C()||null,ft=typeof E=="function"&&E(),Wt=ww(Fe,ft==null||(n=ft.props)===null||n===void 0?void 0:n.ref),Rt=Hi(void 0,{defaultValue:P,value:k}),wt=Lt(Rt,2),Tt=wt[0],Ut=wt[1],yt=Tt,pn=!m&&g;(_||pn&&yt&&x==="combobox")&&(yt=!1);var Gt=pn?!1:yt,ae=T.useCallback(function(Qe){var je=Qe!==void 0?Qe:!yt;_||(Ut(je),yt!==je&&(V==null||V(je)))},[_,yt,Ut,V]),pe=T.useMemo(function(){return(N||[]).some(function(Qe){return[`
71
71
  `,`\r
72
- `].includes(Qe)})},[N]),me=function(je,an,gn){var jt=!0,Cn=je;I==null||I(null);var Ln=gn?null:zD(je,N);return x!=="combobox"&&Ln&&(Cn="",L==null||L(Ln),ae(!1),jt=!1),M&&ct!==Cn&&M(Cn,{source:an?"typing":"effect"}),jt},Re=function(je){!je||!je.trim()||M(je,{source:"submit"})};T.useEffect(function(){!yt&&!Oe&&x!=="combobox"&&me("",!1,!1)},[yt]),T.useEffect(function(){Tt&&_&&Ut(!1),_&&rt(!1)},[_]);var et=hf(),pt=Lt(et,2),Yt=pt[0],Xt=pt[1],hn=function(je){var an=Yt(),gn=je.which;if(gn===se.ENTER&&(x!=="combobox"&&je.preventDefault(),yt||ae(!0)),Xt(!!ct),gn===se.BACKSPACE&&!an&&Oe&&!ct&&p.length){for(var jt=En(p),Cn=null,Ln=jt.length-1;Ln>=0;Ln-=1){var jo=jt[Ln];if(!jo.disabled){jt.splice(Ln,1),Cn=jo;break}}Cn&&h(jt,{type:"remove",values:[Cn]})}for(var Nr=arguments.length,Vi=new Array(Nr>1?Nr-1:0),$r=1;$r<Nr;$r++)Vi[$r-1]=arguments[$r];if(yt&&Ue.current){var D0;(D0=Ue.current).onKeyDown.apply(D0,[je].concat(Vi))}we==null||we.apply(void 0,[je].concat(Vi))},Ct=function(je){for(var an=arguments.length,gn=new Array(an>1?an-1:0),jt=1;jt<an;jt++)gn[jt-1]=arguments[jt];if(yt&&Ue.current){var Cn;(Cn=Ue.current).onKeyUp.apply(Cn,[je].concat(gn))}U==null||U.apply(void 0,[je].concat(gn))},z=function(je){var an=p.filter(function(gn){return gn!==je});h(an,{type:"remove",values:[je]})},te=T.useRef(!1),J=function(){rt(!0),_||(oe&&!te.current&&oe.apply(void 0,arguments),X.includes("focus")&&ae(!0)),te.current=!0},he=function(){rt(!1,function(){te.current=!1,ae(!1)}),!_&&(ct&&(x==="tags"?M(ct,{source:"submit"}):x==="multiple"&&M("",{source:"blur"})),Se&&Se.apply(void 0,arguments))},ye=[];T.useEffect(function(){return function(){ye.forEach(function(Qe){return clearTimeout(Qe)}),ye.splice(0,ye.length)}},[]);var Me=function(je){var an,gn=je.target,jt=(an=dt.current)===null||an===void 0?void 0:an.getPopupElement();if(jt&&jt.contains(gn)){var Cn=setTimeout(function(){var Vi=ye.indexOf(Cn);if(Vi!==-1&&ye.splice(Vi,1),Ot(),!Te&&!jt.contains(document.activeElement)){var $r;($r=lt.current)===null||$r===void 0||$r.focus()}});ye.push(Cn)}for(var Ln=arguments.length,jo=new Array(Ln>1?Ln-1:0),Nr=1;Nr<Ln;Nr++)jo[Nr-1]=arguments[Nr];ve==null||ve.apply(void 0,[je].concat(jo))},Le=T.useState(null),Ae=Lt(Le,2),We=Ae[0],Be=Ae[1],Xe=T.useState({}),Et=Lt(Xe,2),on=Et[1];function wn(){on({})}er(function(){if(Gt){var Qe,je=Math.ceil((Qe=Ve.current)===null||Qe===void 0?void 0:Qe.offsetWidth);We!==je&&!Number.isNaN(je)&&Be(je)}},[Gt]);var Pt;ft&&(Pt=function(je){ae(je)}),Sw(function(){var Qe;return[Ve.current,(Qe=dt.current)===null||Qe===void 0?void 0:Qe.getPopupElement()]},Gt,ae,!!ft);var Xn=T.useMemo(function(){return $t($t({},e),{},{notFoundContent:m,open:yt,triggerOpen:Gt,id:i,showSearch:ge,multiple:Oe,toggleOpen:ae})},[e,m,Gt,yt,i,ge,Oe,ae]),hr=G!==void 0?G:S||!Oe&&x!=="combobox",ln;hr&&(ln=s(ia,{className:gt("".concat(o,"-arrow"),Nt({},"".concat(o,"-arrow-loading"),S)),customizeIcon:j,customizeIconProps:{loading:S,searchValue:ct,open:yt,focused:$e,showSearch:ge}}));var un,ZW=function(){var je;w==null||w(),(je=lt.current)===null||je===void 0||je.focus(),h([],{type:"clear",values:p}),me("",!1,!1)};!_&&R&&(p.length||ct)&&!(x==="combobox"&&ct==="")&&(un=s(ia,{className:"".concat(o,"-clear"),onMouseDown:ZW,customizeIcon:K,children:"\xD7"}));var JW=s(q,{ref:Ue}),eq=gt(o,a,(r={},Nt(r,"".concat(o,"-focused"),$e),Nt(r,"".concat(o,"-multiple"),Oe),Nt(r,"".concat(o,"-single"),!Oe),Nt(r,"".concat(o,"-allow-clear"),R),Nt(r,"".concat(o,"-show-arrow"),hr),Nt(r,"".concat(o,"-disabled"),_),Nt(r,"".concat(o,"-loading"),S),Nt(r,"".concat(o,"-open"),yt),Nt(r,"".concat(o,"-customize-input"),At),Nt(r,"".concat(o,"-show-search"),ge),r)),k0=s(Mh,{ref:dt,disabled:_,prefixCls:o,visible:Gt,popupElement:JW,containerWidth:We,animation:ne,transitionName:ie,dropdownStyle:Y,dropdownClassName:Z,direction:d,dropdownMatchSelectWidth:de,dropdownRender:ce,dropdownAlign:ue,placement:le,getPopupContainer:Ce,empty:g,getTriggerDOMNode:function(){return Fe.current},onPopupVisibleChange:Pt,onPopupMouseEnter:wn,children:ft?T.cloneElement(ft,{ref:Wt}):s(Gf,{...e,domRef:Fe,prefixCls:o,inputElement:At,ref:lt,id:i,showSearch:ge,autoClearSearchValue:F,mode:x,activeDescendantId:A,tagRender:u,values:p,open:yt,onToggleOpen:ae,activeValue:B,searchValue:ct,onSearch:me,onSearchSubmit:Re,onRemove:z,tokenWithEnter:pe})}),hd;return ft?hd=k0:hd=y("div",{className:eq,...qe,ref:Ve,onMouseDown:Me,onKeyDown:hn,onKeyUp:Ct,onFocus:J,onBlur:he,children:[$e&&!yt&&s("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite",children:"".concat(p.map(function(Qe){var je=Qe.label,an=Qe.value;return["number","string"].includes(Jn(je))?je:an}).join(", "))}),k0,ln,un]}),s(ff.Provider,{value:Xn,children:hd})});process.env.NODE_ENV!=="production"&&(Ll.displayName="BaseSelect");const GD=function(e,t){var n=T.useRef({values:new Map,options:new Map}),r=T.useMemo(function(){var o=n.current,a=o.values,l=o.options,u=e.map(function(p){if(p.label===void 0){var h;return $t($t({},p),{},{label:(h=a.get(p.value))===null||h===void 0?void 0:h.label})}return p}),d=new Map,f=new Map;return u.forEach(function(p){d.set(p.value,p),f.set(p.value,t.get(p.value)||l.get(p.value))}),n.current.values=d,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 Vl(e,t){return il(e).join("").toUpperCase().includes(t)}const jD=function(e,t,n,r,i){return T.useMemo(function(){if(!n||r===!1)return e;var o=t.options,a=t.label,l=t.value,u=[],d=typeof r=="function",f=n.toUpperCase(),p=d?r:function(g,v){return i?Vl(v[i],f):v[o]?Vl(v[a!=="children"?a:"label"],f):Vl(v[l],f)},h=d?function(g){return $l(g)}:function(g){return g};return e.forEach(function(g){if(g[o]){var v=p(n,h(g));if(v)u.push(g);else{var m=g[o].filter(function(w){return p(n,h(w))});m.length&&u.push($t($t({},g),{},Nt({},o,m)))}return}p(n,h(g))&&u.push(g)}),u},[e,r,i,n,t])};var Oh=0,KD=process.env.NODE_ENV!=="test"&&ni();function WD(){var e;return KD?(e=Oh,Oh+=1):e="TEST_OR_SSR",e}function Ah(e){var t=T.useState(),n=Lt(t,2),r=n[0],i=n[1];return T.useEffect(function(){i("rc_select_".concat(WD()))},[]),e||r}var qD=["children","value"],HD=["children"];function UD(e){var t=e,n=t.key,r=t.props,i=r.children,o=r.value,a=ti(r,qD);return $t({key:n,value:o!==void 0?o:n,children:i},a)}function zl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return xr(e).map(function(n,r){if(!T.isValidElement(n)||!n.type)return null;var i=n,o=i.type.isSelectOptGroup,a=i.key,l=i.props,u=l.children,d=ti(l,HD);return t||!o?UD(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?r:a,"__"),label:a},d),{},{options:zl(u)})}).filter(function(n){return n})}function YD(e,t,n,r,i){return T.useMemo(function(){var o=e,a=!e;a&&(o=zl(t));var l=new Map,u=new Map,d=function(h,g,v){v&&typeof v=="string"&&h.set(g[v],g)};function f(p){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g=0;g<p.length;g+=1){var v=p[g];!v[n.options]||h?(l.set(v[n.value],v),d(u,v,n.label),d(u,v,r),d(u,v,i)):f(v[n.options],!0)}}return f(o),{options:o,valueOptions:l,labelOptions:u}},[e,t,n,r,i])}function Rh(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}var Ph=function(){return null};Ph.isSelectOptGroup=!0;var Ih=function(){return null};Ih.isSelectOption=!0;function Nh(e,t){var n=nn({},e);return Array.isArray(t)&&t.forEach(function(r){delete n[r]}),n}function Sr(e){return Sr=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},Sr(e)}function XD(e,t){if(Sr(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Sr(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $h(e){var t=XD(e,"string");return Sr(t)==="symbol"?t:String(t)}function so(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 Lh(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 lo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lh(Object(n),!0).forEach(function(r){so(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lh(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function QD(e){if(Array.isArray(e))return e}function ZD(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,l=[],u=!0,d=!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)&&(l.push(r.value),l.length!==t);u=!0);}catch(f){d=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return l}}function Vh(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 JD(e,t){if(!!e){if(typeof e=="string")return Vh(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 Vh(e,t)}}function eO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
72
+ `].includes(Qe)})},[N]),me=function(je,an,gn){var jt=!0,Cn=je;I==null||I(null);var Ln=gn?null:zD(je,N);return x!=="combobox"&&Ln&&(Cn="",L==null||L(Ln),ae(!1),jt=!1),M&&ct!==Cn&&M(Cn,{source:an?"typing":"effect"}),jt},Re=function(je){!je||!je.trim()||M(je,{source:"submit"})};T.useEffect(function(){!yt&&!Oe&&x!=="combobox"&&me("",!1,!1)},[yt]),T.useEffect(function(){Tt&&_&&Ut(!1),_&&rt(!1)},[_]);var et=hf(),pt=Lt(et,2),Yt=pt[0],Xt=pt[1],hn=function(je){var an=Yt(),gn=je.which;if(gn===se.ENTER&&(x!=="combobox"&&je.preventDefault(),yt||ae(!0)),Xt(!!ct),gn===se.BACKSPACE&&!an&&Oe&&!ct&&p.length){for(var jt=En(p),Cn=null,Ln=jt.length-1;Ln>=0;Ln-=1){var jo=jt[Ln];if(!jo.disabled){jt.splice(Ln,1),Cn=jo;break}}Cn&&h(jt,{type:"remove",values:[Cn]})}for(var Nr=arguments.length,Vi=new Array(Nr>1?Nr-1:0),$r=1;$r<Nr;$r++)Vi[$r-1]=arguments[$r];if(yt&&Ue.current){var D0;(D0=Ue.current).onKeyDown.apply(D0,[je].concat(Vi))}we==null||we.apply(void 0,[je].concat(Vi))},Ct=function(je){for(var an=arguments.length,gn=new Array(an>1?an-1:0),jt=1;jt<an;jt++)gn[jt-1]=arguments[jt];if(yt&&Ue.current){var Cn;(Cn=Ue.current).onKeyUp.apply(Cn,[je].concat(gn))}U==null||U.apply(void 0,[je].concat(gn))},z=function(je){var an=p.filter(function(gn){return gn!==je});h(an,{type:"remove",values:[je]})},te=T.useRef(!1),J=function(){rt(!0),_||(oe&&!te.current&&oe.apply(void 0,arguments),X.includes("focus")&&ae(!0)),te.current=!0},he=function(){rt(!1,function(){te.current=!1,ae(!1)}),!_&&(ct&&(x==="tags"?M(ct,{source:"submit"}):x==="multiple"&&M("",{source:"blur"})),Se&&Se.apply(void 0,arguments))},ye=[];T.useEffect(function(){return function(){ye.forEach(function(Qe){return clearTimeout(Qe)}),ye.splice(0,ye.length)}},[]);var Me=function(je){var an,gn=je.target,jt=(an=dt.current)===null||an===void 0?void 0:an.getPopupElement();if(jt&&jt.contains(gn)){var Cn=setTimeout(function(){var Vi=ye.indexOf(Cn);if(Vi!==-1&&ye.splice(Vi,1),Ot(),!Te&&!jt.contains(document.activeElement)){var $r;($r=lt.current)===null||$r===void 0||$r.focus()}});ye.push(Cn)}for(var Ln=arguments.length,jo=new Array(Ln>1?Ln-1:0),Nr=1;Nr<Ln;Nr++)jo[Nr-1]=arguments[Nr];ve==null||ve.apply(void 0,[je].concat(jo))},Le=T.useState(null),Ae=Lt(Le,2),We=Ae[0],Be=Ae[1],Xe=T.useState({}),Et=Lt(Xe,2),on=Et[1];function wn(){on({})}er(function(){if(Gt){var Qe,je=Math.ceil((Qe=Ve.current)===null||Qe===void 0?void 0:Qe.offsetWidth);We!==je&&!Number.isNaN(je)&&Be(je)}},[Gt]);var Pt;ft&&(Pt=function(je){ae(je)}),Sw(function(){var Qe;return[Ve.current,(Qe=dt.current)===null||Qe===void 0?void 0:Qe.getPopupElement()]},Gt,ae,!!ft);var Xn=T.useMemo(function(){return $t($t({},e),{},{notFoundContent:m,open:yt,triggerOpen:Gt,id:i,showSearch:ge,multiple:Oe,toggleOpen:ae})},[e,m,Gt,yt,i,ge,Oe,ae]),hr=G!==void 0?G:S||!Oe&&x!=="combobox",ln;hr&&(ln=s(ia,{className:gt("".concat(o,"-arrow"),Nt({},"".concat(o,"-arrow-loading"),S)),customizeIcon:j,customizeIconProps:{loading:S,searchValue:ct,open:yt,focused:$e,showSearch:ge}}));var un,JW=function(){var je;w==null||w(),(je=lt.current)===null||je===void 0||je.focus(),h([],{type:"clear",values:p}),me("",!1,!1)};!_&&R&&(p.length||ct)&&!(x==="combobox"&&ct==="")&&(un=s(ia,{className:"".concat(o,"-clear"),onMouseDown:JW,customizeIcon:K,children:"\xD7"}));var eq=s(q,{ref:Ue}),tq=gt(o,a,(r={},Nt(r,"".concat(o,"-focused"),$e),Nt(r,"".concat(o,"-multiple"),Oe),Nt(r,"".concat(o,"-single"),!Oe),Nt(r,"".concat(o,"-allow-clear"),R),Nt(r,"".concat(o,"-show-arrow"),hr),Nt(r,"".concat(o,"-disabled"),_),Nt(r,"".concat(o,"-loading"),S),Nt(r,"".concat(o,"-open"),yt),Nt(r,"".concat(o,"-customize-input"),At),Nt(r,"".concat(o,"-show-search"),ge),r)),k0=s(Mh,{ref:dt,disabled:_,prefixCls:o,visible:Gt,popupElement:eq,containerWidth:We,animation:ne,transitionName:ie,dropdownStyle:Y,dropdownClassName:Z,direction:d,dropdownMatchSelectWidth:de,dropdownRender:ce,dropdownAlign:ue,placement:le,getPopupContainer:Ce,empty:g,getTriggerDOMNode:function(){return Fe.current},onPopupVisibleChange:Pt,onPopupMouseEnter:wn,children:ft?T.cloneElement(ft,{ref:Wt}):s(Gf,{...e,domRef:Fe,prefixCls:o,inputElement:At,ref:lt,id:i,showSearch:ge,autoClearSearchValue:F,mode:x,activeDescendantId:A,tagRender:u,values:p,open:yt,onToggleOpen:ae,activeValue:B,searchValue:ct,onSearch:me,onSearchSubmit:Re,onRemove:z,tokenWithEnter:pe})}),hd;return ft?hd=k0:hd=y("div",{className:tq,...qe,ref:Ve,onMouseDown:Me,onKeyDown:hn,onKeyUp:Ct,onFocus:J,onBlur:he,children:[$e&&!yt&&s("span",{style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0},"aria-live":"polite",children:"".concat(p.map(function(Qe){var je=Qe.label,an=Qe.value;return["number","string"].includes(Jn(je))?je:an}).join(", "))}),k0,ln,un]}),s(ff.Provider,{value:Xn,children:hd})});process.env.NODE_ENV!=="production"&&(Ll.displayName="BaseSelect");const GD=function(e,t){var n=T.useRef({values:new Map,options:new Map}),r=T.useMemo(function(){var o=n.current,a=o.values,l=o.options,u=e.map(function(p){if(p.label===void 0){var h;return $t($t({},p),{},{label:(h=a.get(p.value))===null||h===void 0?void 0:h.label})}return p}),d=new Map,f=new Map;return u.forEach(function(p){d.set(p.value,p),f.set(p.value,t.get(p.value)||l.get(p.value))}),n.current.values=d,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 Vl(e,t){return il(e).join("").toUpperCase().includes(t)}const jD=function(e,t,n,r,i){return T.useMemo(function(){if(!n||r===!1)return e;var o=t.options,a=t.label,l=t.value,u=[],d=typeof r=="function",f=n.toUpperCase(),p=d?r:function(g,v){return i?Vl(v[i],f):v[o]?Vl(v[a!=="children"?a:"label"],f):Vl(v[l],f)},h=d?function(g){return $l(g)}:function(g){return g};return e.forEach(function(g){if(g[o]){var v=p(n,h(g));if(v)u.push(g);else{var m=g[o].filter(function(w){return p(n,h(w))});m.length&&u.push($t($t({},g),{},Nt({},o,m)))}return}p(n,h(g))&&u.push(g)}),u},[e,r,i,n,t])};var Oh=0,KD=process.env.NODE_ENV!=="test"&&ni();function WD(){var e;return KD?(e=Oh,Oh+=1):e="TEST_OR_SSR",e}function Ah(e){var t=T.useState(),n=Lt(t,2),r=n[0],i=n[1];return T.useEffect(function(){i("rc_select_".concat(WD()))},[]),e||r}var qD=["children","value"],HD=["children"];function UD(e){var t=e,n=t.key,r=t.props,i=r.children,o=r.value,a=ti(r,qD);return $t({key:n,value:o!==void 0?o:n,children:i},a)}function zl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return xr(e).map(function(n,r){if(!T.isValidElement(n)||!n.type)return null;var i=n,o=i.type.isSelectOptGroup,a=i.key,l=i.props,u=l.children,d=ti(l,HD);return t||!o?UD(n):$t($t({key:"__RC_SELECT_GRP__".concat(a===null?r:a,"__"),label:a},d),{},{options:zl(u)})}).filter(function(n){return n})}function YD(e,t,n,r,i){return T.useMemo(function(){var o=e,a=!e;a&&(o=zl(t));var l=new Map,u=new Map,d=function(h,g,v){v&&typeof v=="string"&&h.set(g[v],g)};function f(p){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,g=0;g<p.length;g+=1){var v=p[g];!v[n.options]||h?(l.set(v[n.value],v),d(u,v,n.label),d(u,v,r),d(u,v,i)):f(v[n.options],!0)}}return f(o),{options:o,valueOptions:l,labelOptions:u}},[e,t,n,r,i])}function Rh(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}var Ph=function(){return null};Ph.isSelectOptGroup=!0;var Ih=function(){return null};Ih.isSelectOption=!0;function Nh(e,t){var n=nn({},e);return Array.isArray(t)&&t.forEach(function(r){delete n[r]}),n}function Sr(e){return Sr=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},Sr(e)}function XD(e,t){if(Sr(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Sr(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function $h(e){var t=XD(e,"string");return Sr(t)==="symbol"?t:String(t)}function so(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 Lh(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 lo(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lh(Object(n),!0).forEach(function(r){so(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lh(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function QD(e){if(Array.isArray(e))return e}function ZD(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,l=[],u=!0,d=!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)&&(l.push(r.value),l.length!==t);u=!0);}catch(f){d=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return l}}function Vh(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 JD(e,t){if(!!e){if(typeof e=="string")return Vh(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 Vh(e,t)}}function eO(){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 _r(e,t){return QD(e)||ZD(e,t)||JD(e,t)||eO()}function tO(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 nO(e,t){if(e==null)return{};var n=tO(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 zh=T.forwardRef(function(e,t){var n=e.height,r=e.offset,i=e.children,o=e.prefixCls,a=e.onInnerResize,l={},u={display:"flex",flexDirection:"column"};return r!==void 0&&(l={height:n,position:"relative",overflow:"hidden"},u=lo(lo({},u),{},{transform:"translateY(".concat(r,"px)"),position:"absolute",left:0,right:0,top:0})),s("div",{style:l,children:s(na,{onResize:function(f){var p=f.offsetHeight;p&&a&&a()},children:s("div",{style:u,className:gt(so({},"".concat(o,"-holder-inner"),o)),ref:t,children:i})})})});zh.displayName="Filler";function Fh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bh(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 Gh(e,t,n){return t&&Bh(e.prototype,t),n&&Bh(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fl(e,t){return Fl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},Fl(e,t)}function rO(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&&Fl(e,t)}function Da(e){return Da=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Da(e)}function iO(){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 oO(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function aO(e,t){if(t&&(Sr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oO(e)}function sO(e){var t=iO();return function(){var r=Da(e),i;if(t){var o=Da(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return aO(this,i)}}var lO=20;function jh(e){return"touches"in e?e.touches[0].pageY:e.pageY}var uO=function(e){rO(n,e);var t=sO(n);function n(){var r;Fh(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(l){l.preventDefault()},r.onContainerMouseDown=function(l){l.stopPropagation(),l.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 l;window.removeEventListener("mousemove",r.onMouseMove),window.removeEventListener("mouseup",r.onMouseUp),(l=r.scrollbarRef.current)===null||l===void 0||l.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)),Vt.cancel(r.moveRaf)},r.onMouseDown=function(l){var u=r.props.onStartMove;r.setState({dragging:!0,pageY:jh(l),startTop:r.getTop()}),u(),r.patchEvents(),l.stopPropagation(),l.preventDefault()},r.onMouseMove=function(l){var u=r.state,d=u.dragging,f=u.pageY,p=u.startTop,h=r.props.onScroll;if(Vt.cancel(r.moveRaf),d){var g=jh(l)-f,v=p+g,m=r.getEnableScrollRange(),w=r.getEnableHeightRange(),x=w?v/w:0,_=Math.ceil(x*m);r.moveRaf=Vt(function(){h(_)})}},r.onMouseUp=function(){var l=r.props.onStopMove;r.setState({dragging:!1}),l(),r.removeEvents()},r.getSpinHeight=function(){var l=r.props,u=l.height,d=l.count,f=u/d*10;return f=Math.max(f,lO),f=Math.min(f,u/2),Math.floor(f)},r.getEnableScrollRange=function(){var l=r.props,u=l.scrollHeight,d=l.height;return u-d||0},r.getEnableHeightRange=function(){var l=r.props.height,u=r.getSpinHeight();return l-u||0},r.getTop=function(){var l=r.props.scrollTop,u=r.getEnableScrollRange(),d=r.getEnableHeightRange();if(l===0||u===0)return 0;var f=l/u;return f*d},r.showScroll=function(){var l=r.props,u=l.height,d=l.scrollHeight;return d>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,l=this.props.prefixCls,u=this.getSpinHeight(),d=this.getTop(),f=this.showScroll(),p=f&&a;return s("div",{ref:this.scrollbarRef,className:gt("".concat(l,"-scrollbar"),so({},"".concat(l,"-scrollbar-show"),f)),style:{width:8,top:0,bottom:0,right:0,position:"absolute",display:p?null:"none"},onMouseDown:this.onContainerMouseDown,onMouseMove:this.delayHidden,children:s("div",{ref:this.thumbRef,className:gt("".concat(l,"-scrollbar-thumb"),so({},"".concat(l,"-scrollbar-thumb-moving"),o)),style:{width:"100%",height:u,top:d,left:0,position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"},onMouseDown:this.onMouseDown})})}}]),n}(T.Component);function cO(e){var t=e.children,n=e.setRef,r=T.useCallback(function(i){n(i)},[]);return T.cloneElement(t,{ref:r})}function dO(e,t,n,r,i,o){var a=o.getKey;return e.slice(t,n+1).map(function(l,u){var d=t+u,f=i(l,d,{}),p=a(l);return s(cO,{setRef:function(g){return r(l,g)},children:f},p)})}var fO=function(){function e(){Fh(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 pO(e,t,n){var r=T.useState(0),i=_r(r,2),o=i[0],a=i[1],l=b.useRef(new Map),u=b.useRef(new fO),d=b.useRef();function f(){Vt.cancel(d.current)}function p(){f(),d.current=Vt(function(){l.current.forEach(function(g,v){if(g&&g.offsetParent){var m=Zi(g),w=m.offsetHeight;u.current.get(v)!==w&&u.current.set(v,m.offsetHeight)}}),a(function(g){return g+1})})}function h(g,v){var m=e(g),w=l.current.get(m);v?(l.current.set(m,v),p()):l.current.delete(m),!w!=!v&&(v?t==null||t(g):n==null||n(g))}return b.useEffect(function(){return f},[]),[h,p,u.current,o]}function hO(e,t,n,r,i,o,a,l){var u=T.useRef();return function(d){if(d==null){l();return}if(Vt.cancel(u.current),typeof d=="number")a(d);else if(d&&Sr(d)==="object"){var f,p=d.align;"index"in d?f=d.index:f=t.findIndex(function(m){return i(m)===d.key});var h=d.offset,g=h===void 0?0:h,v=function m(w,x){if(!(w<0||!e.current)){var _=e.current.clientHeight,S=!1,C=x;if(_){for(var E=x||p,k=0,P=0,V=0,B=Math.min(t.length,f),I=0;I<=B;I+=1){var A=i(t[I]);P=k;var $=n.get(A);V=P+($===void 0?r:$),k=V,I===f&&$===void 0&&(S=!0)}var F=null;switch(E){case"top":F=P-g;break;case"bottom":F=V-_+g;break;default:{var M=e.current.scrollTop,L=M+_;P<M?C="top":V>L&&(C="bottom")}}F!==null&&F!==e.current.scrollTop&&a(F)}u.current=Vt(function(){S&&o(),m(w-1,C)})}};v(3)}}}function gO(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 l={__EMPTY_ITEM__:!0};function u(v){return v!==void 0?n(v):l}for(var d=null,f=Math.abs(r-i)!==1,p=0;p<a.length;p+=1){var h=u(o[p]),g=u(a[p]);if(h!==g){d=p,f=f||h!==u(a[p+1]);break}}return d===null?null:{index:d,multiple:f}}function vO(e,t,n){var r=T.useState(e),i=_r(r,2),o=i[0],a=i[1],l=T.useState(null),u=_r(l,2),d=u[0],f=u[1];return T.useEffect(function(){var p=gO(o||[],e||[],t);(p==null?void 0:p.index)!==void 0&&(n==null||n(p.index),f(e[p.index])),a(e)},[e]),[d]}var mO=(typeof navigator>"u"?"undefined":Sr(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);const Kh=function(e,t){var n=b.useRef(!1),r=b.useRef(null);function i(){clearTimeout(r.current),n.current=!0,r.current=setTimeout(function(){n.current=!1},50)}var o=b.useRef({top:e,bottom:t});return o.current.top=e,o.current.bottom=t,function(a){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,u=a<0&&o.current.top||a>0&&o.current.bottom;return l&&u?(clearTimeout(r.current),n.current=!1):(!u||n.current)&&i(),!n.current&&u}};function yO(e,t,n,r){var i=b.useRef(0),o=b.useRef(null),a=b.useRef(null),l=b.useRef(!1),u=Kh(t,n);function d(p){if(!!e){Vt.cancel(o.current);var h=p.deltaY;i.current+=h,a.current=h,!u(h)&&(mO||p.preventDefault(),o.current=Vt(function(){var g=l.current?10:1;r(i.current*g),i.current=0}))}}function f(p){!e||(l.current=p.detail===a.current)}return[d,f]}var bO=14/15;function xO(e,t,n){var r=b.useRef(!1),i=b.useRef(0),o=b.useRef(null),a=b.useRef(null),l,u=function(h){if(r.current){var g=Math.ceil(h.touches[0].pageY),v=i.current-g;i.current=g,n(v)&&h.preventDefault(),clearInterval(a.current),a.current=setInterval(function(){v*=bO,(!n(v,!0)||Math.abs(v)<=.1)&&clearInterval(a.current)},16)}},d=function(){r.current=!1,l()},f=function(h){l(),h.touches.length===1&&!r.current&&(r.current=!0,i.current=Math.ceil(h.touches[0].pageY),o.current=h.target,o.current.addEventListener("touchmove",u),o.current.addEventListener("touchend",d))};l=function(){o.current&&(o.current.removeEventListener("touchmove",u),o.current.removeEventListener("touchend",d))},er(function(){return e&&t.current.addEventListener("touchstart",f),function(){var p;(p=t.current)===null||p===void 0||p.removeEventListener("touchstart",f),l(),clearInterval(a.current)}},[e])}var wO=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","component","onScroll","onVisibleChange"],CO=[],SO={overflowY:"auto",overflowAnchor:"none"};function _O(e,t){var n=e.prefixCls,r=n===void 0?"rc-virtual-list":n,i=e.className,o=e.height,a=e.itemHeight,l=e.fullHeight,u=l===void 0?!0:l,d=e.style,f=e.data,p=e.children,h=e.itemKey,g=e.virtual,v=e.component,m=v===void 0?"div":v,w=e.onScroll,x=e.onVisibleChange,_=nO(e,wO),S=!!(g!==!1&&o&&a),C=S&&f&&a*f.length>o,E=b.useState(0),k=_r(E,2),P=k[0],V=k[1],B=b.useState(!1),I=_r(B,2),A=I[0],$=I[1],F=gt(r,i),M=f||CO,L=b.useRef(),N=b.useRef(),R=b.useRef(),G=T.useCallback(function(_e){return typeof h=="function"?h(_e):_e==null?void 0:_e[h]},[h]),j={getKey:G};function K(_e){V(function($e){var rt;typeof _e=="function"?rt=_e($e):rt=_e;var Ot=Oe(rt);return L.current.scrollTop=Ot,Ot})}var q=b.useRef({start:0,end:M.length}),ne=b.useRef(),ie=vO(M,G),Y=_r(ie,1),Z=Y[0];ne.current=Z;var de=pO(G,null,null),ce=_r(de,4),ue=ce[0],le=ce[1],Ce=ce[2],xe=ce[3],X=T.useMemo(function(){if(!S)return{scrollHeight:void 0,start:0,end:M.length-1,offset:void 0};if(!C){var _e;return{scrollHeight:((_e=N.current)===null||_e===void 0?void 0:_e.offsetHeight)||0,start:0,end:M.length-1,offset:void 0}}for(var $e=0,rt,Ot,ct,At=M.length,ft=0;ft<At;ft+=1){var Wt=M[ft],Rt=G(Wt),wt=Ce.get(Rt),Tt=$e+(wt===void 0?a:wt);Tt>=P&&rt===void 0&&(rt=ft,Ot=$e),Tt>P+o&&ct===void 0&&(ct=ft),$e=Tt}return rt===void 0&&(rt=0,Ot=0,ct=Math.ceil(o/a)),ct===void 0&&(ct=M.length-1),ct=Math.min(ct+1,M.length),{scrollHeight:$e,start:rt,end:ct,offset:Ot}},[C,S,P,M,xe,o]),oe=X.scrollHeight,Se=X.start,U=X.end,we=X.offset;q.current.start=Se,q.current.end=U;var ve=oe-o,Ee=b.useRef(ve);Ee.current=ve;function Oe(_e){var $e=_e;return Number.isNaN(Ee.current)||($e=Math.min($e,Ee.current)),$e=Math.max($e,0),$e}var ge=P<=0,qe=P>=ve,Ne=Kh(ge,qe);function Je(_e){var $e=_e;K($e)}function Te(_e){var $e=_e.currentTarget.scrollTop;$e!==P&&K($e),w==null||w(_e)}var Ge=yO(S,ge,qe,function(_e){K(function($e){var rt=$e+_e;return rt})}),Ve=_r(Ge,2),Fe=Ve[0],dt=Ve[1];xO(S,L,function(_e,$e){return Ne(_e,$e)?!1:(Fe({preventDefault:function(){},deltaY:_e}),!0)}),er(function(){function _e($e){S&&$e.preventDefault()}return L.current.addEventListener("wheel",Fe),L.current.addEventListener("DOMMouseScroll",dt),L.current.addEventListener("MozMousePixelScroll",_e),function(){L.current&&(L.current.removeEventListener("wheel",Fe),L.current.removeEventListener("DOMMouseScroll",dt),L.current.removeEventListener("MozMousePixelScroll",_e))}},[S]);var lt=hO(L,M,Ce,a,G,le,K,function(){var _e;(_e=R.current)===null||_e===void 0||_e.delayHidden()});T.useImperativeHandle(t,function(){return{scrollTo:lt}}),er(function(){if(x){var _e=M.slice(Se,U+1);x(_e,M)}},[Se,U,M]);var Ue=dO(M,Se,U,ue,p,j),ut=null;return o&&(ut=lo(so({},u?"height":"maxHeight",o),SO),S&&(ut.overflowY="hidden",A&&(ut.pointerEvents="none"))),y("div",{style:lo(lo({},d),{},{position:"relative"}),className:F,..._,children:[s(m,{className:"".concat(r,"-holder"),style:ut,ref:L,onScroll:Te,children:s(zh,{prefixCls:r,height:oe,offset:we,onInnerResize:le,ref:N,children:Ue})}),S&&s(uO,{ref:R,prefixCls:r,scrollTop:P,height:o,scrollHeight:oe,count:M.length,onScroll:Je,onStartMove:function(){$(!0)},onStopMove:function(){$(!1)}})]})}var Bl=T.forwardRef(_O);Bl.displayName="List";function EO(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var Wh=T.createContext(null),TO=["disabled","title","children","style","className"];function qh(e){return typeof e=="string"||typeof e=="number"}var MO=function(t,n){var r=pf(),i=r.prefixCls,o=r.id,a=r.open,l=r.multiple,u=r.mode,d=r.searchValue,f=r.toggleOpen,p=r.notFoundContent,h=r.onPopupScroll,g=T.useContext(Wh),v=g.flattenOptions,m=g.onActiveValue,w=g.defaultActiveFirstOption,x=g.onSelect,_=g.menuItemSelectedIcon,S=g.rawValues,C=g.fieldNames,E=g.virtual,k=g.listHeight,P=g.listItemHeight,V="".concat(i,"-item"),B=Qs(function(){return v},[a,v],function(Y,Z){return Z[0]&&Y[1]!==Z[1]}),I=T.useRef(null),A=function(Z){Z.preventDefault()},$=function(Z){I.current&&I.current.scrollTo(typeof Z=="number"?{index:Z}:Z)},F=function(Z){for(var de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,ce=B.length,ue=0;ue<ce;ue+=1){var le=(Z+ue*de+ce)%ce,Ce=B[le],xe=Ce.group,X=Ce.data;if(!xe&&!X.disabled)return le}return-1},M=T.useState(function(){return F(0)}),L=Lt(M,2),N=L[0],R=L[1],G=function(Z){var de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;R(Z);var ce={source:de?"keyboard":"mouse"},ue=B[Z];if(!ue){m(null,-1,ce);return}m(ue.value,Z,ce)};b.useEffect(function(){G(w!==!1?F(0):-1)},[B.length,d]);var j=T.useCallback(function(Y){return S.has(Y)&&u!=="combobox"},[u,En(S).toString(),S.size]);b.useEffect(function(){var Y=setTimeout(function(){if(!l&&a&&S.size===1){var de=Array.from(S)[0],ce=B.findIndex(function(ue){var le=ue.data;return le.value===de});ce!==-1&&(G(ce),$(ce))}});if(a){var Z;(Z=I.current)===null||Z===void 0||Z.scrollTo(void 0)}return function(){return clearTimeout(Y)}},[a,d]);var K=function(Z){Z!==void 0&&x(Z,{selected:!S.has(Z)}),l||f(!1)};if(T.useImperativeHandle(n,function(){return{onKeyDown:function(Z){var de=Z.which,ce=Z.ctrlKey;switch(de){case se.N:case se.P:case se.UP:case se.DOWN:{var ue=0;if(de===se.UP?ue=-1:de===se.DOWN?ue=1:EO()&&ce&&(de===se.N?ue=1:de===se.P&&(ue=-1)),ue!==0){var le=F(N+ue,ue);$(le),G(le,!0)}break}case se.ENTER:{var Ce=B[N];Ce&&!Ce.data.disabled?K(Ce.value):K(void 0),a&&Z.preventDefault();break}case se.ESC:f(!1),a&&Z.stopPropagation()}},onKeyUp:function(){},scrollTo:function(Z){$(Z)}}}),B.length===0)return s("div",{role:"listbox",id:"".concat(o,"_list"),className:"".concat(V,"-empty"),onMouseDown:A,children:p});var q=Object.keys(C).map(function(Y){return C[Y]}),ne=function(Z){return Z.label},ie=function(Z){var de=B[Z];if(!de)return null;var ce=de.data||{},ue=ce.value,le=de.group,Ce=ri(ce,!0),xe=ne(de);return de?b.createElement("div",{"aria-label":typeof xe=="string"&&!le?xe:null,...Ce,key:Z,role:le?"presentation":"option",id:"".concat(o,"_list_").concat(Z),"aria-selected":j(ue)},ue):null};return y(be,{children:[y("div",{role:"listbox",id:"".concat(o,"_list"),style:{height:0,width:0,overflow:"hidden"},children:[ie(N-1),ie(N),ie(N+1)]}),s(Bl,{itemKey:"key",ref:I,data:B,height:k,itemHeight:P,fullHeight:!1,onMouseDown:A,onScroll:h,virtual:E,children:function(Y,Z){var de,ce=Y.group,ue=Y.groupOption,le=Y.data,Ce=Y.label,xe=Y.value,X=le.key;if(ce){var oe,Se=(oe=le.title)!==null&&oe!==void 0?oe:qh(Ce)?Ce.toString():void 0;return s("div",{className:gt(V,"".concat(V,"-group")),title:Se,children:Ce!==void 0?Ce:X})}var U=le.disabled,we=le.title;le.children;var ve=le.style,Ee=le.className,Oe=ti(le,TO),ge=Nh(Oe,q),qe=j(xe),Ne="".concat(V,"-option"),Je=gt(V,Ne,Ee,(de={},Nt(de,"".concat(Ne,"-grouped"),ue),Nt(de,"".concat(Ne,"-active"),N===Z&&!U),Nt(de,"".concat(Ne,"-disabled"),U),Nt(de,"".concat(Ne,"-selected"),qe),de)),Te=ne(Y),Ge=!_||typeof _=="function"||qe,Ve=typeof Te=="number"?Te:Te||xe,Fe=qh(Ve)?Ve.toString():void 0;return we!==void 0&&(Fe=we),y("div",{...ri(ge),"aria-selected":qe,className:Je,title:Fe,onMouseMove:function(){N===Z||U||G(Z)},onClick:function(){U||K(xe)},style:ve,children:[s("div",{className:"".concat(Ne,"-content"),children:Ve}),T.isValidElement(_)||qe,Ge&&s(ia,{className:"".concat(V,"-option-state"),customizeIcon:_,customizeIconProps:{isSelected:qe},children:qe?"\u2713":null})]})}})]})},Hh=T.forwardRef(MO);Hh.displayName="OptionList";function kO(e){var t=e.mode,n=e.options,r=e.children,i=e.backfill,o=e.allowClear,a=e.placeholder,l=e.getInputElement,u=e.showSearch,d=e.onSearch,f=e.defaultOpen,p=e.autoFocus,h=e.labelInValue,g=e.value,v=e.inputValue,m=e.optionLabelProp,w=ka(t),x=u!==void 0?u:w||t==="combobox",_=n||zl(r);if(at(t!=="tags"||_.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 S=_.some(function(k){return k.options?k.options.some(function(P){return typeof("value"in P?P.value:P.key)=="number"}):typeof("value"in k?k.value:k.key)=="number"});at(!S,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(at(t!=="combobox"||!m,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),at(t==="combobox"||!i,"`backfill` only works with `combobox` mode."),at(t==="combobox"||!l,"`getInputElement` only work with `combobox` mode."),af(t!=="combobox"||!l||!o||!a,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),d&&!x&&t!=="combobox"&&t!=="tags"&&at(!1,"`onSearch` should work with `showSearch` instead of use alone."),af(!f||p,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),g!=null){var C=il(g);at(!h||C.every(function(k){return Jn(k)==="object"&&("key"in k||"value"in k)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),at(!w||Array.isArray(g),"`value` should be array when `mode` is `multiple` or `tags`")}if(r){var E=null;xr(r).some(function(k){if(!T.isValidElement(k)||!k.type)return!1;var P=k,V=P.type;if(V.isSelectOption)return!1;if(V.isSelectOptGroup){var B=xr(k.props.children).every(function(I){return!T.isValidElement(I)||!k.type||I.type.isSelectOption?!0:(E=I.type,!1)});return!B}return E=V,!0}),E&&at(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(E.displayName||E.name||E,"`.")),at(v===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function DO(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 l=i[a];if(l[t==null?void 0:t.value]===null)return at(!1,"`value` in Select options should not be `null`."),!0;if(!o&&Array.isArray(l[t==null?void 0:t.options])&&r(l[t==null?void 0:t.options],!0))break}};n(e)}}var OO=["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"],AO=["inputValue"];function RO(e){return!e||Jn(e)!=="object"}var Uh=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,l=e.fieldNames,u=e.inputValue,d=e.searchValue,f=e.onSearch,p=e.autoClearSearchValue,h=p===void 0?!0:p,g=e.onSelect,v=e.onDeselect,m=e.dropdownMatchSelectWidth,w=m===void 0?!0:m,x=e.filterOption,_=e.filterSort,S=e.optionFilterProp,C=e.optionLabelProp,E=e.options,k=e.children,P=e.defaultActiveFirstOption,V=e.menuItemSelectedIcon,B=e.virtual,I=e.listHeight,A=I===void 0?200:I,$=e.listItemHeight,F=$===void 0?20:$,M=e.value,L=e.defaultValue,N=e.labelInValue,R=e.onChange,G=ti(e,OO),j=Ah(n),K=ka(r),q=!!(!E&&k),ne=T.useMemo(function(){return x===void 0&&r==="combobox"?!1:x},[x,r]),ie=T.useMemo(function(){return Dh(l,q)},[JSON.stringify(l),q]),Y=Hi("",{value:d!==void 0?d:u,postState:function(pe){return pe||""}}),Z=Lt(Y,2),de=Z[0],ce=Z[1],ue=YD(E,k,ie,S,C),le=ue.valueOptions,Ce=ue.labelOptions,xe=ue.options,X=T.useCallback(function(ae){var pe=il(ae);return pe.map(function(me){var Re,et,pt,Yt,Xt;if(RO(me))Re=me;else{var hn;pt=me.key,et=me.label,Re=(hn=me.value)!==null&&hn!==void 0?hn:pt}var Ct=le.get(Re);if(Ct){var z;if(et===void 0&&(et=Ct==null?void 0:Ct[C||ie.label]),pt===void 0&&(pt=(z=Ct==null?void 0:Ct.key)!==null&&z!==void 0?z:Re),Yt=Ct==null?void 0:Ct.disabled,Xt=Ct==null?void 0:Ct.title,process.env.NODE_ENV!=="production"&&!C){var te=Ct==null?void 0:Ct[ie.label];te!==void 0&&te!==et&&at(!1,"`label` of `value` is not same as `label` in Select options.")}}return{label:et,value:Re,key:pt,disabled:Yt,title:Xt}})},[ie,C,le]),oe=Hi(L,{value:M}),Se=Lt(oe,2),U=Se[0],we=Se[1],ve=T.useMemo(function(){var ae,pe=X(U);return r==="combobox"&&!((ae=pe[0])!==null&&ae!==void 0&&ae.value)?[]:pe},[U,X,r]),Ee=GD(ve,le),Oe=Lt(Ee,2),ge=Oe[0],qe=Oe[1],Ne=T.useMemo(function(){if(!r&&ge.length===1){var ae=ge[0];if(ae.value===null&&(ae.label===null||ae.label===void 0))return[]}return ge.map(function(pe){var me;return $t($t({},pe),{},{label:(me=pe.label)!==null&&me!==void 0?me:pe.value})})},[r,ge]),Je=T.useMemo(function(){return new Set(ge.map(function(ae){return ae.value}))},[ge]);T.useEffect(function(){if(r==="combobox"){var ae,pe=(ae=ge[0])===null||ae===void 0?void 0:ae.value;ce(kC(pe)?String(pe):"")}},[ge]);var Te=Rh(function(ae,pe){var me,Re=pe!=null?pe:ae;return me={},Nt(me,ie.value,ae),Nt(me,ie.label,Re),me}),Ge=T.useMemo(function(){if(r!=="tags")return xe;var ae=En(xe),pe=function(Re){return le.has(Re)};return En(ge).sort(function(me,Re){return me.value<Re.value?-1:1}).forEach(function(me){var Re=me.value;pe(Re)||ae.push(Te(Re,me.label))}),ae},[Te,xe,le,ge,r]),Ve=jD(Ge,ie,de,ne,S),Fe=T.useMemo(function(){return r!=="tags"||!de||Ve.some(function(ae){return ae[S||"value"]===de})?Ve:[Te(de)].concat(En(Ve))},[Te,S,r,Ve,de]),dt=T.useMemo(function(){return _?En(Fe).sort(function(ae,pe){return _(ae,pe)}):Fe},[Fe,_]),lt=T.useMemo(function(){return VD(dt,{fieldNames:ie,childrenAsData:q})},[dt,ie,q]),Ue=function(pe){var me=X(pe);if(we(me),R&&(me.length!==ge.length||me.some(function(pt,Yt){var Xt;return((Xt=ge[Yt])===null||Xt===void 0?void 0:Xt.value)!==(pt==null?void 0:pt.value)}))){var Re=N?me:me.map(function(pt){return pt.value}),et=me.map(function(pt){return $l(qe(pt.value))});R(K?Re:Re[0],K?et:et[0])}},ut=T.useState(null),_e=Lt(ut,2),$e=_e[0],rt=_e[1],Ot=T.useState(0),ct=Lt(Ot,2),At=ct[0],ft=ct[1],Wt=P!==void 0?P:r!=="combobox",Rt=T.useCallback(function(ae,pe){var me=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Re=me.source,et=Re===void 0?"keyboard":Re;ft(pe),a&&r==="combobox"&&ae!==null&&et==="keyboard"&&rt(String(ae))},[a,r]),wt=function(pe,me,Re){var et=function(){var ye,Me=qe(pe);return[N?{label:Me==null?void 0:Me[ie.label],value:pe,key:(ye=Me==null?void 0:Me.key)!==null&&ye!==void 0?ye:pe}:pe,$l(Me)]};if(me&&g){var pt=et(),Yt=Lt(pt,2),Xt=Yt[0],hn=Yt[1];g(Xt,hn)}else if(!me&&v&&Re!=="clear"){var Ct=et(),z=Lt(Ct,2),te=z[0],J=z[1];v(te,J)}},Tt=Rh(function(ae,pe){var me,Re=K?pe.selected:!0;Re?me=K?[].concat(En(ge),[ae]):[ae]:me=ge.filter(function(et){return et.value!==ae}),Ue(me),wt(ae,Re),r==="combobox"?rt(""):(!ka||h)&&(ce(""),rt(""))}),Ut=function(pe,me){Ue(pe);var Re=me.type,et=me.values;(Re==="remove"||Re==="clear")&&et.forEach(function(pt){wt(pt.value,!1,Re)})},yt=function(pe,me){if(ce(pe),rt(null),me.source==="submit"){var Re=(pe||"").trim();if(Re){var et=Array.from(new Set([].concat(En(Je),[Re])));Ue(et),wt(Re,!0),ce("")}return}me.source!=="blur"&&(r==="combobox"&&Ue(pe),f==null||f(pe))},pn=function(pe){var me=pe;r!=="tags"&&(me=pe.map(function(et){var pt=Ce.get(et);return pt==null?void 0:pt.value}).filter(function(et){return et!==void 0}));var Re=Array.from(new Set([].concat(En(Je),En(me))));Ue(Re),Re.forEach(function(et){wt(et,!0)})},Gt=T.useMemo(function(){var ae=B!==!1&&w!==!1;return $t($t({},ue),{},{flattenOptions:lt,onActiveValue:Rt,defaultActiveFirstOption:Wt,onSelect:Tt,menuItemSelectedIcon:V,rawValues:Je,fieldNames:ie,virtual:ae,listHeight:A,listItemHeight:F,childrenAsData:q})},[ue,lt,Rt,Wt,Tt,V,Je,ie,B,w,A,F,q]);return process.env.NODE_ENV!=="production"&&(kO(e),DO(xe,ie)),s(Wh.Provider,{value:Gt,children:s(Ll,{...G,id:j,prefixCls:o,ref:t,omitDomProps:AO,mode:r,displayValues:Ne,onDisplayValuesChange:Ut,searchValue:de,onSearch:yt,autoClearSearchValue:h,onSearchSplit:pn,dropdownMatchSelectWidth:w,OptionList:Hh,emptyOptions:!lt.length,activeValue:$e,activeDescendantId:"".concat(j,"_list_").concat(At)})})});process.env.NODE_ENV!=="production"&&(Uh.displayName="Select");var Yh=Uh;Yh.Option=Ih,Yh.OptGroup=Ph;function Xh(e,t){var n=new Set;return e.forEach(function(r){t.has(r)||n.add(r)}),n}function PO(e){var t=e||{},n=t.disabled,r=t.disableCheckbox,i=t.checkable;return!!(n||r)||i===!1}function IO(e,t,n,r){for(var i=new Set(e),o=new Set,a=0;a<=n;a+=1){var l=t.get(a)||new Set;l.forEach(function(p){var h=p.key,g=p.node,v=p.children,m=v===void 0?[]:v;i.has(h)&&!r(g)&&m.filter(function(w){return!r(w.node)}).forEach(function(w){i.add(w.key)})})}for(var u=new Set,d=n;d>=0;d-=1){var f=t.get(d)||new Set;f.forEach(function(p){var h=p.parent,g=p.node;if(!(r(g)||!p.parent||u.has(p.parent.key))){if(r(p.parent.node)){u.add(h.key);return}var v=!0,m=!1;(h.children||[]).filter(function(w){return!r(w.node)}).forEach(function(w){var x=w.key,_=i.has(x);v&&!_&&(v=!1),!m&&(_||o.has(x))&&(m=!0)}),v&&i.add(h.key),m&&o.add(h.key),u.add(h.key)}})}return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Xh(o,i))}}function NO(e,t,n,r,i){for(var o=new Set(e),a=new Set(t),l=0;l<=r;l+=1){var u=n.get(l)||new Set;u.forEach(function(h){var g=h.key,v=h.node,m=h.children,w=m===void 0?[]:m;!o.has(g)&&!a.has(g)&&!i(v)&&w.filter(function(x){return!i(x.node)}).forEach(function(x){o.delete(x.key)})})}a=new Set;for(var d=new Set,f=r;f>=0;f-=1){var p=n.get(f)||new Set;p.forEach(function(h){var g=h.parent,v=h.node;if(!(i(v)||!h.parent||d.has(h.parent.key))){if(i(h.parent.node)){d.add(g.key);return}var m=!0,w=!1;(g.children||[]).filter(function(x){return!i(x.node)}).forEach(function(x){var _=x.key,S=o.has(_);m&&!S&&(m=!1),!w&&(S||a.has(_))&&(w=!0)}),m||o.delete(g.key),w&&a.add(g.key),d.add(g.key)}})}return{checkedKeys:Array.from(o),halfCheckedKeys:Array.from(Xh(a,o))}}function yi(e,t,n,r){var i=[],o;r?o=r:o=PO;var a=new Set(e.filter(function(f){var p=!!n[f];return p||i.push(f),p})),l=new Map,u=0;Object.keys(n).forEach(function(f){var p=n[f],h=p.level,g=l.get(h);g||(g=new Set,l.set(h,g)),g.add(p),u=Math.max(u,h)}),at(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map(function(f){return"'".concat(f,"'")}).join(", ")));var d;return t===!0?d=IO(a,l,u,o):d=NO(a,t.halfCheckedKeys,l,u,o),d}function Oa(){return Oa=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},Oa.apply(this,arguments)}function or(e){return or=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},or(e)}function $O(e,t){if(or(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(or(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qh(e){var t=$O(e,"string");return or(t)==="symbol"?t:String(t)}function kt(e,t,n){return t=Qh(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zh(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 Zt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Zh(Object(n),!0).forEach(function(r){kt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zh(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Gl(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 LO(e){if(Array.isArray(e))return Gl(e)}function VO(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Jh(e,t){if(!!e){if(typeof e=="string")return Gl(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 Gl(e,t)}}function zO(){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 Br(e){return LO(e)||VO(e)||Jh(e)||zO()}function eg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tg(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,Qh(r.key),r)}}function ng(e,t,n){return t&&tg(e.prototype,t),n&&tg(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ar(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jl(e,t){return jl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,i){return r.__proto__=i,r},jl(e,t)}function rg(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&&jl(e,t)}function Aa(e){return Aa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Aa(e)}function FO(){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 BO(e,t){if(t&&(or(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ar(e)}function ig(e){var t=FO();return function(){var r=Aa(e),i;if(t){var o=Aa(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return BO(this,i)}}var Kl=T.createContext(null);function GO(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 Ra(e,t){if(e==null)return{};var n=GO(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 jO=function(t){for(var n=t.prefixCls,r=t.level,i=t.isStart,o=t.isEnd,a="".concat(n,"-indent-unit"),l=[],u=0;u<r;u+=1){var d;l.push(s("span",{className:gt(a,(d={},kt(d,"".concat(a,"-start"),i[u]),kt(d,"".concat(a,"-end"),o[u]),d))},u))}return s("span",{"aria-hidden":"true",className:"".concat(n,"-indent"),children:l})};const KO=T.memo(jO);var WO=["children"];function uo(e,t){return e!=null?e:t}function Pa(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 qO(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 l=a[t.key],u=a[t.children];at(l!=null,"Tree node must have a certain key: [".concat(o).concat(l,"]"));var d=String(l);at(!n.has(d)||l===null||l===void 0,"Same 'key' exist in the Tree: ".concat(d)),n.set(d,!0),r(u,"".concat(o).concat(d," > "))})}r(e)}function HO(e){function t(n){var r=xr(n);return r.map(function(i){if(!ZO(i))return at(!i,"Tree/TreeNode can only accept TreeNode as children."),null;var o=i.key,a=i.props,l=a.children,u=Ra(a,WO),d=Zt({key:o},u),f=t(l);return f.length&&(d.children=f),d}).filter(function(i){return i})}return t(e)}function Wl(e,t,n){var r=Pa(n),i=r._title,o=r.key,a=r.children,l=new Set(t===!0?[]:t),u=[];function d(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return f.map(function(h,g){for(var v=lg(p?p.pos:"0",g),m=uo(h[o],v),w,x=0;x<i.length;x+=1){var _=i[x];if(h[_]!==void 0){w=h[_];break}}var S=Zt(Zt({},Nh(h,[].concat(Br(i),[o,a]))),{},{title:w,key:m,parent:p,pos:v,children:null,data:h,isStart:[].concat(Br(p?p.isStart:[]),[g===0]),isEnd:[].concat(Br(p?p.isEnd:[]),[g===f.length-1])});return u.push(S),t===!0||l.has(m)?S.children=d(h[a]||[],S):S.children=[],S})}return d(e),u}function UO(e,t,n){var r={};or(n)==="object"?r=n:r={externalGetKey:n},r=r||{};var i=r,o=i.childrenPropName,a=i.externalGetKey,l=i.fieldNames,u=Pa(l),d=u.key,f=u.children,p=o||f,h;a?typeof a=="string"?h=function(m){return m[a]}:typeof a=="function"&&(h=function(m){return a(m)}):h=function(m,w){return uo(m[d],w)};function g(v,m,w,x){var _=v?v[p]:e,S=v?lg(w.pos,m):"0",C=v?[].concat(Br(x),[v]):[];if(v){var E=h(v,S),k={node:v,index:m,pos:S,key:E,parentPos:w.node?w.pos:null,level:w.level+1,nodes:C};t(k)}_&&_.forEach(function(P,V){g(P,V,{node:v,pos:S,level:w?w.level+1:-1},C)})}g(null)}function og(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,l=t.fieldNames,u=arguments.length>2?arguments[2]:void 0,d=o||u,f={},p={},h={posEntities:f,keyEntities:p};return n&&(h=n(h)||h),UO(e,function(g){var v=g.node,m=g.index,w=g.pos,x=g.key,_=g.parentPos,S=g.level,C=g.nodes,E={node:v,nodes:C,index:m,key:x,pos:w,level:S},k=uo(x,w);f[w]=E,p[k]=E,E.parent=f[_],E.parent&&(E.parent.children=E.parent.children||[],E.parent.children.push(E)),r&&r(E,h)},{externalGetKey:d,childrenPropName:a,fieldNames:l}),i&&i(h),h}function co(e,t){var n=t.expandedKeys,r=t.selectedKeys,i=t.loadedKeys,o=t.loadingKeys,a=t.checkedKeys,l=t.halfCheckedKeys,u=t.dragOverNodeKey,d=t.dropPosition,f=t.keyEntities,p=f[e],h={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:l.indexOf(e)!==-1,pos:String(p?p.pos:""),dragOver:u===e&&d===0,dragOverGapTop:u===e&&d===-1,dragOverGapBottom:u===e&&d===1};return h}function zt(e){var t=e.data,n=e.expanded,r=e.selected,i=e.checked,o=e.loaded,a=e.loading,l=e.halfChecked,u=e.dragOver,d=e.dragOverGapTop,f=e.dragOverGapBottom,p=e.pos,h=e.active,g=e.eventKey,v=Zt(Zt({},t),{},{expanded:n,selected:r,checked:i,loaded:o,loading:a,halfChecked:l,dragOver:u,dragOverGapTop:d,dragOverGapBottom:f,pos:p,active:h,key:g});return"props"in v||Object.defineProperty(v,"props",{get:function(){return at(!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 YO=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],ag="open",sg="close",XO="---",QO=function(e){rg(n,e);var t=ig(n);function n(){var r;eg(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(l){var u=r.props.context.onNodeClick;u(l,zt(r.props)),r.isSelectable()?r.onSelect(l):r.onCheck(l)},r.onSelectorDoubleClick=function(l){var u=r.props.context.onNodeDoubleClick;u(l,zt(r.props))},r.onSelect=function(l){if(!r.isDisabled()){var u=r.props.context.onNodeSelect;l.preventDefault(),u(l,zt(r.props))}},r.onCheck=function(l){if(!r.isDisabled()){var u=r.props,d=u.disableCheckbox,f=u.checked,p=r.props.context.onNodeCheck;if(!(!r.isCheckable()||d)){l.preventDefault();var h=!f;p(l,zt(r.props),h)}}},r.onMouseEnter=function(l){var u=r.props.context.onNodeMouseEnter;u(l,zt(r.props))},r.onMouseLeave=function(l){var u=r.props.context.onNodeMouseLeave;u(l,zt(r.props))},r.onContextMenu=function(l){var u=r.props.context.onNodeContextMenu;u(l,zt(r.props))},r.onDragStart=function(l){var u=r.props.context.onNodeDragStart;l.stopPropagation(),r.setState({dragNodeHighlight:!0}),u(l,ar(r));try{l.dataTransfer.setData("text/plain","")}catch{}},r.onDragEnter=function(l){var u=r.props.context.onNodeDragEnter;l.preventDefault(),l.stopPropagation(),u(l,ar(r))},r.onDragOver=function(l){var u=r.props.context.onNodeDragOver;l.preventDefault(),l.stopPropagation(),u(l,ar(r))},r.onDragLeave=function(l){var u=r.props.context.onNodeDragLeave;l.stopPropagation(),u(l,ar(r))},r.onDragEnd=function(l){var u=r.props.context.onNodeDragEnd;l.stopPropagation(),r.setState({dragNodeHighlight:!1}),u(l,ar(r))},r.onDrop=function(l){var u=r.props.context.onNodeDrop;l.preventDefault(),l.stopPropagation(),r.setState({dragNodeHighlight:!1}),u(l,ar(r))},r.onExpand=function(l){var u=r.props,d=u.loading,f=u.context.onNodeExpand;d||f(l,zt(r.props))},r.setSelectHandle=function(l){r.selectHandle=l},r.getNodeState=function(){var l=r.props.expanded;return r.isLeaf()?null:l?ag:sg},r.hasChildren=function(){var l=r.props.eventKey,u=r.props.context.keyEntities,d=u[l]||{},f=d.children;return!!(f||[]).length},r.isLeaf=function(){var l=r.props,u=l.isLeaf,d=l.loaded,f=r.props.context.loadData,p=r.hasChildren();return u===!1?!1:u||!f&&!p||f&&d&&!p},r.isDisabled=function(){var l=r.props.disabled,u=r.props.context.disabled;return!!(u||l)},r.isCheckable=function(){var l=r.props.checkable,u=r.props.context.checkable;return!u||l===!1?!1:u},r.syncLoadData=function(l){var u=l.expanded,d=l.loading,f=l.loaded,p=r.props.context,h=p.loadData,g=p.onNodeLoad;d||h&&u&&!r.isLeaf()&&!r.hasChildren()&&!f&&g(zt(r.props))},r.isDraggable=function(){var l=r.props,u=l.data,d=l.context.draggable;return!!(d&&(!d.nodeDraggable||d.nodeDraggable(u)))},r.renderDragHandler=function(){var l=r.props.context,u=l.draggable,d=l.prefixCls;return u!=null&&u.icon?s("span",{className:"".concat(d,"-draggable-icon"),children:u.icon}):null},r.renderSwitcherIconDom=function(l){var u=r.props.switcherIcon,d=r.props.context.switcherIcon,f=u||d;return typeof f=="function"?f(Zt(Zt({},r.props),{},{isLeaf:l})):f},r.renderSwitcher=function(){var l=r.props.expanded,u=r.props.context.prefixCls;if(r.isLeaf()){var d=r.renderSwitcherIconDom(!0);return d!==!1?s("span",{className:gt("".concat(u,"-switcher"),"".concat(u,"-switcher-noop")),children:d}):null}var f=gt("".concat(u,"-switcher"),"".concat(u,"-switcher_").concat(l?ag:sg)),p=r.renderSwitcherIconDom(!1);return p!==!1?s("span",{onClick:r.onExpand,className:f,children:p}):null},r.renderCheckbox=function(){var l=r.props,u=l.checked,d=l.halfChecked,f=l.disableCheckbox,p=r.props.context.prefixCls,h=r.isDisabled(),g=r.isCheckable();if(!g)return null;var v=typeof g!="boolean"?g:null;return s("span",{className:gt("".concat(p,"-checkbox"),u&&"".concat(p,"-checkbox-checked"),!u&&d&&"".concat(p,"-checkbox-indeterminate"),(h||f)&&"".concat(p,"-checkbox-disabled")),onClick:r.onCheck,children:v})},r.renderIcon=function(){var l=r.props.loading,u=r.props.context.prefixCls;return s("span",{className:gt("".concat(u,"-iconEle"),"".concat(u,"-icon__").concat(r.getNodeState()||"docu"),l&&"".concat(u,"-icon_loading"))})},r.renderSelector=function(){var l=r.state.dragNodeHighlight,u=r.props,d=u.title,f=u.selected,p=u.icon,h=u.loading,g=u.data,v=r.props.context,m=v.prefixCls,w=v.showIcon,x=v.icon,_=v.loadData,S=v.titleRender,C=r.isDisabled(),E="".concat(m,"-node-content-wrapper"),k;if(w){var P=p||x;k=P?s("span",{className:gt("".concat(m,"-iconEle"),"".concat(m,"-icon__customize")),children:typeof P=="function"?P(r.props):P}):r.renderIcon()}else _&&h&&(k=r.renderIcon());var V;typeof d=="function"?V=d(g):S?V=S(g):V=d;var B=s("span",{className:"".concat(m,"-title"),children:V});return y("span",{ref:r.setSelectHandle,title:typeof d=="string"?d:"",className:gt("".concat(E),"".concat(E,"-").concat(r.getNodeState()||"normal"),!C&&(f||l)&&"".concat(m,"-node-selected")),onMouseEnter:r.onMouseEnter,onMouseLeave:r.onMouseLeave,onContextMenu:r.onContextMenu,onClick:r.onSelectorClick,onDoubleClick:r.onSelectorDoubleClick,children:[k,B,r.renderDropIndicator()]})},r.renderDropIndicator=function(){var l=r.props,u=l.disabled,d=l.eventKey,f=r.props.context,p=f.draggable,h=f.dropLevelOffset,g=f.dropPosition,v=f.prefixCls,m=f.indent,w=f.dropIndicatorRender,x=f.dragOverNodeKey,_=f.direction,S=!!p,C=!u&&S&&x===d;return C?w({dropPosition:g,dropLevelOffset:h,indent:m,prefixCls:v,direction:_}):null},r}return ng(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,l=o.className,u=o.style,d=o.dragOver,f=o.dragOverGapTop,p=o.dragOverGapBottom,h=o.isLeaf,g=o.isStart,v=o.isEnd,m=o.expanded,w=o.selected,x=o.checked,_=o.halfChecked,S=o.loading,C=o.domRef,E=o.active;o.data;var k=o.onMouseMove,P=o.selectable,V=Ra(o,YO),B=this.props.context,I=B.prefixCls,A=B.filterTreeNode,$=B.keyEntities,F=B.dropContainerKey,M=B.dropTargetKey,L=B.draggingNodeKey,N=this.isDisabled(),R=ri(V,{aria:!0,data:!0}),G=$[a]||{},j=G.level,K=v[v.length-1],q=this.isDraggable(),ne=!N&&q,ie=L===a,Y=P!==void 0?{"aria-selected":!!P}:void 0;return y("div",{ref:C,className:gt(l,"".concat(I,"-treenode"),(i={},kt(i,"".concat(I,"-treenode-disabled"),N),kt(i,"".concat(I,"-treenode-switcher-").concat(m?"open":"close"),!h),kt(i,"".concat(I,"-treenode-checkbox-checked"),x),kt(i,"".concat(I,"-treenode-checkbox-indeterminate"),_),kt(i,"".concat(I,"-treenode-selected"),w),kt(i,"".concat(I,"-treenode-loading"),S),kt(i,"".concat(I,"-treenode-active"),E),kt(i,"".concat(I,"-treenode-leaf-last"),K),kt(i,"".concat(I,"-treenode-draggable"),q),kt(i,"dragging",ie),kt(i,"drop-target",M===a),kt(i,"drop-container",F===a),kt(i,"drag-over",!N&&d),kt(i,"drag-over-gap-top",!N&&f),kt(i,"drag-over-gap-bottom",!N&&p),kt(i,"filter-node",A&&A(zt(this.props))),i)),style:u,draggable:ne,"aria-grabbed":ie,onDragStart:ne?this.onDragStart:void 0,onDragEnter:q?this.onDragEnter:void 0,onDragOver:q?this.onDragOver:void 0,onDragLeave:q?this.onDragLeave:void 0,onDrop:q?this.onDrop:void 0,onDragEnd:q?this.onDragEnd:void 0,onMouseMove:k,...Y,...R,children:[s(KO,{prefixCls:I,level:j,isStart:g,isEnd:v}),this.renderDragHandler(),this.renderSwitcher(),this.renderCheckbox(),this.renderSelector()]})}}]),n}(T.Component),bi=function(t){return s(Kl.Consumer,{children:function(n){return s(QO,{...t,context:n})}})};bi.displayName="TreeNode",bi.defaultProps={title:XO},bi.isTreeNode=1;function sr(e,t){if(!e)return[];var n=e.slice(),r=n.indexOf(t);return r>=0&&n.splice(r,1),n}function Er(e,t){var n=(e||[]).slice();return n.indexOf(t)===-1&&n.push(t),n}function ql(e){return e.split("-")}function lg(e,t){return"".concat(e,"-").concat(t)}function ZO(e){return e&&e.type&&e.type.isTreeNode}function JO(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 l=a.key,u=a.children;n.push(l),i(u)})}return i(r.children),n}function e2(e){if(e.parent){var t=ql(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function t2(e){var t=ql(e.pos);return Number(t[t.length-1])===0}function ug(e,t,n,r,i,o,a,l,u,d){var f,p=e.clientX,h=e.clientY,g=e.target.getBoundingClientRect(),v=g.top,m=g.height,w=(d==="rtl"?-1:1)*(((i==null?void 0:i.x)||0)-p),x=(w-12)/r,_=l[n.props.eventKey];if(h<v+m/2){var S=a.findIndex(function(L){return L.key===_.key}),C=S<=0?0:S-1,E=a[C].key;_=l[E]}var k=_.key,P=_,V=_.key,B=0,I=0;if(!u.includes(k))for(var A=0;A<x&&e2(_);A+=1)_=_.parent,I+=1;var $=t.props.data,F=_.node,M=!0;return t2(_)&&_.level===0&&h<v+m/2&&o({dragNode:$,dropNode:F,dropPosition:-1})&&_.key===n.props.eventKey?B=-1:(P.children||[]).length&&u.includes(V)?o({dragNode:$,dropNode:F,dropPosition:0})?B=0:M=!1:I===0?x>-1.5?o({dragNode:$,dropNode:F,dropPosition:1})?B=1:M=!1:o({dragNode:$,dropNode:F,dropPosition:0})?B=0:o({dragNode:$,dropNode:F,dropPosition:1})?B=1:M=!1:o({dragNode:$,dropNode:F,dropPosition:1})?B=1:M=!1,{dropPosition:B,dropLevelOffset:I,dropTargetKey:_.key,dropTargetPos:_.pos,dragOverNodeKey:V,dropContainerKey:B===0?null:((f=_.parent)===null||f===void 0?void 0:f.key)||null,dropAllowed:M}}function cg(e,t){if(!!e){var n=t.multiple;return n?e.slice():e.length?[e[0]]:e}}function Hl(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else if(or(e)==="object")t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0};else return at(!1,"`checkedKeys` is not an array or an object"),null;return t}function dg(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,l=o.node;l.disabled||a&&r(a.key)}}}return(e||[]).forEach(function(i){r(i)}),Br(n)}function fg(e){if(e==null)throw new TypeError("Cannot destructure "+e)}function n2(e){if(Array.isArray(e))return e}function r2(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,i,o,a,l=[],u=!0,d=!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)&&(l.push(r.value),l.length!==t);u=!0);}catch(f){d=!0,i=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return l}}function i2(){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 xi(e,t){return n2(e)||r2(e,t)||Jh(e,t)||i2()}var o2=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],pg=function(t,n){var r=t.className,i=t.style,o=t.motion,a=t.motionNodes,l=t.motionType,u=t.onMotionStart,d=t.onMotionEnd,f=t.active,p=t.treeNodeRequiredProps,h=Ra(t,o2),g=T.useState(!0),v=xi(g,2),m=v[0],w=v[1],x=T.useContext(Kl),_=x.prefixCls,S=T.useRef(!1),C=function(){S.current||d(),S.current=!0};return b.useEffect(function(){a&&l==="hide"&&m&&w(!1)},[a]),b.useEffect(function(){return a&&u(),function(){a&&C()}},[]),a?s(fa,{ref:n,visible:m,...o,motionAppear:l==="show",onAppearEnd:C,onLeaveEnd:C,children:function(E,k){var P=E.className,V=E.style;return s("div",{ref:k,className:gt("".concat(_,"-treenode-motion"),P),style:V,children:a.map(function(B){var I=Oa({},(fg(B.data),B.data)),A=B.title,$=B.key,F=B.isStart,M=B.isEnd;delete I.children;var L=co($,p);return b.createElement(bi,{...I,...L,title:A,active:f,data:B.data,key:$,isStart:F,isEnd:M})})})}}):s(bi,{domRef:n,className:r,style:i,...h,active:f})};pg.displayName="MotionTreeNode";var a2=T.forwardRef(pg);function s2(){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 l=new Map;o.forEach(function(d){l.set(d,!0)});var u=a.filter(function(d){return!l.has(d)});return u.length===1?u[0]:null}return n<r?{add:!0,key:i(e,t)}:{add:!1,key:i(t,e)}}function hg(e,t,n){var r=e.findIndex(function(l){return l.key===n}),i=e[r+1],o=t.findIndex(function(l){return l.key===n});if(i){var a=t.findIndex(function(l){return l.key===i.key});return t.slice(o+1,a)}return t.slice(o+1)}var l2=["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"],gg={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},u2=function(){},Gr="RC_TREE_MOTION_".concat(Math.random()),Ul={key:Gr},vg={key:Gr,level:0,index:0,pos:"0",node:Ul,nodes:[Ul]},mg={parent:null,children:[],pos:vg.pos,data:Ul,title:null,key:Gr,isStart:[],isEnd:[]};function yg(e,t,n,r){return t===!1||!n?e:e.slice(0,Math.ceil(n/r)+1)}function bg(e){var t=e.key,n=e.pos;return uo(t,n)}function c2(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 xg=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,l=e.loadedKeys,u=e.loadingKeys,d=e.halfCheckedKeys,f=e.keyEntities,p=e.disabled,h=e.dragging,g=e.dragOverNodeKey,v=e.dropPosition,m=e.motion,w=e.height,x=e.itemHeight,_=e.virtual,S=e.focusable,C=e.activeItem,E=e.focused,k=e.tabIndex,P=e.onKeyDown,V=e.onFocus,B=e.onBlur,I=e.onActiveChange,A=e.onListChangeStart,$=e.onListChangeEnd,F=Ra(e,l2),M=T.useRef(null),L=T.useRef(null);T.useImperativeHandle(t,function(){return{scrollTo:function(qe){M.current.scrollTo(qe)},getIndentWidth:function(){return L.current.offsetWidth}}});var N=T.useState(i),R=xi(N,2),G=R[0],j=R[1],K=T.useState(r),q=xi(K,2),ne=q[0],ie=q[1],Y=T.useState(r),Z=xi(Y,2),de=Z[0],ce=Z[1],ue=T.useState([]),le=xi(ue,2),Ce=le[0],xe=le[1],X=T.useState(null),oe=xi(X,2),Se=oe[0],U=oe[1],we=T.useRef(r);we.current=r;function ve(){var ge=we.current;ie(ge),ce(ge),xe([]),U(null),$()}T.useEffect(function(){j(i);var ge=s2(G,i);if(ge.key!==null)if(ge.add){var qe=ne.findIndex(function(Fe){var dt=Fe.key;return dt===ge.key}),Ne=yg(hg(ne,r,ge.key),_,w,x),Je=ne.slice();Je.splice(qe+1,0,mg),ce(Je),xe(Ne),U("show")}else{var Te=r.findIndex(function(Fe){var dt=Fe.key;return dt===ge.key}),Ge=yg(hg(r,ne,ge.key),_,w,x),Ve=r.slice();Ve.splice(Te+1,0,mg),ce(Ve),xe(Ge),U("hide")}else ne!==r&&(ie(r),ce(r))},[i,r]),T.useEffect(function(){h||ve()},[h]);var Ee=m?de:r,Oe={expandedKeys:i,selectedKeys:o,loadedKeys:l,loadingKeys:u,checkedKeys:a,halfCheckedKeys:d,dragOverNodeKey:g,dropPosition:v,keyEntities:f};return y(be,{children:[E&&C&&s("span",{style:gg,"aria-live":"assertive",children:c2(C)}),s("div",{children:s("input",{style:gg,disabled:S===!1||p,tabIndex:S!==!1?k:null,onKeyDown:P,onFocus:V,onBlur:B,value:"",onChange:u2,"aria-label":"for screen reader"})}),s("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0},children:s("div",{className:"".concat(n,"-indent"),children:s("div",{ref:L,className:"".concat(n,"-indent-unit")})})}),s(Bl,{...F,data:Ee,itemKey:bg,height:w,fullHeight:!1,virtual:_,itemHeight:x,prefixCls:"".concat(n,"-list"),ref:M,onVisibleChange:function(qe,Ne){var Je=new Set(qe),Te=Ne.filter(function(Ge){return!Je.has(Ge)});Te.some(function(Ge){return bg(Ge)===Gr})&&ve()},children:function(ge){var qe=ge.pos,Ne=Oa({},(fg(ge.data),ge.data)),Je=ge.title,Te=ge.key,Ge=ge.isStart,Ve=ge.isEnd,Fe=uo(Te,qe);delete Ne.key,delete Ne.children;var dt=co(Fe,Oe);return s(a2,{...Ne,...dt,title:Je,active:!!C&&Te===C.key,pos:qe,data:ge.data,isStart:Ge,isEnd:Ve,motion:m,motionNodes:Te===Gr?Ce:null,motionType:Se,onMotionStart:A,onMotionEnd:ve,treeNodeRequiredProps:Oe,onMouseMove:function(){I(null)}})}})]})});xg.displayName="NodeList";function d2(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 s("div",{style:i})}var f2=10,Yl=function(e){rg(n,e);var t=ig(n);function n(){var r;eg(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:Pa()},r.dragStartMousePosition=null,r.dragNode=void 0,r.currentMouseOverDroppableNodeKey=null,r.listRef=T.createRef(),r.onNodeDragStart=function(l,u){var d=r.state,f=d.expandedKeys,p=d.keyEntities,h=r.props.onDragStart,g=u.props.eventKey;r.dragNode=u,r.dragStartMousePosition={x:l.clientX,y:l.clientY};var v=sr(f,g);r.setState({draggingNodeKey:g,dragChildrenKeys:JO(g,p),indent:r.listRef.current.getIndentWidth()}),r.setExpandedKeys(v),window.addEventListener("dragend",r.onWindowDragEnd),h==null||h({event:l,node:zt(u.props)})},r.onNodeDragEnter=function(l,u){var d=r.state,f=d.expandedKeys,p=d.keyEntities,h=d.dragChildrenKeys,g=d.flattenNodes,v=d.indent,m=r.props,w=m.onDragEnter,x=m.onExpand,_=m.allowDrop,S=m.direction,C=u.props,E=C.pos,k=C.eventKey,P=ar(r),V=P.dragNode;if(r.currentMouseOverDroppableNodeKey!==k&&(r.currentMouseOverDroppableNodeKey=k),!V){r.resetDragState();return}var B=ug(l,V,u,v,r.dragStartMousePosition,_,g,p,f,S),I=B.dropPosition,A=B.dropLevelOffset,$=B.dropTargetKey,F=B.dropContainerKey,M=B.dropTargetPos,L=B.dropAllowed,N=B.dragOverNodeKey;if(h.indexOf($)!==-1||!L){r.resetDragState();return}if(r.delayedDragEnterLogic||(r.delayedDragEnterLogic={}),Object.keys(r.delayedDragEnterLogic).forEach(function(R){clearTimeout(r.delayedDragEnterLogic[R])}),V.props.eventKey!==u.props.eventKey&&(l.persist(),r.delayedDragEnterLogic[E]=window.setTimeout(function(){if(r.state.draggingNodeKey!==null){var R=Br(f),G=p[u.props.eventKey];G&&(G.children||[]).length&&(R=Er(f,u.props.eventKey)),"expandedKeys"in r.props||r.setExpandedKeys(R),x==null||x(R,{node:zt(u.props),expanded:!0,nativeEvent:l.nativeEvent})}},800)),V.props.eventKey===$&&A===0){r.resetDragState();return}r.setState({dragOverNodeKey:N,dropPosition:I,dropLevelOffset:A,dropTargetKey:$,dropContainerKey:F,dropTargetPos:M,dropAllowed:L}),w==null||w({event:l,node:zt(u.props),expandedKeys:f})},r.onNodeDragOver=function(l,u){var d=r.state,f=d.dragChildrenKeys,p=d.flattenNodes,h=d.keyEntities,g=d.expandedKeys,v=d.indent,m=r.props,w=m.onDragOver,x=m.allowDrop,_=m.direction,S=ar(r),C=S.dragNode;if(!!C){var E=ug(l,C,u,v,r.dragStartMousePosition,x,p,h,g,_),k=E.dropPosition,P=E.dropLevelOffset,V=E.dropTargetKey,B=E.dropContainerKey,I=E.dropAllowed,A=E.dropTargetPos,$=E.dragOverNodeKey;f.indexOf(V)!==-1||!I||(C.props.eventKey===V&&P===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&&P===r.state.dropLevelOffset&&V===r.state.dropTargetKey&&B===r.state.dropContainerKey&&A===r.state.dropTargetPos&&I===r.state.dropAllowed&&$===r.state.dragOverNodeKey||r.setState({dropPosition:k,dropLevelOffset:P,dropTargetKey:V,dropContainerKey:B,dropTargetPos:A,dropAllowed:I,dragOverNodeKey:$}),w==null||w({event:l,node:zt(u.props)}))}},r.onNodeDragLeave=function(l,u){r.currentMouseOverDroppableNodeKey===u.props.eventKey&&!l.currentTarget.contains(l.relatedTarget)&&(r.resetDragState(),r.currentMouseOverDroppableNodeKey=null);var d=r.props.onDragLeave;d==null||d({event:l,node:zt(u.props)})},r.onWindowDragEnd=function(l){r.onNodeDragEnd(l,null,!0),window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDragEnd=function(l,u){var d=r.props.onDragEnd;r.setState({dragOverNodeKey:null}),r.cleanDragState(),d==null||d({event:l,node:zt(u.props)}),r.dragNode=null,window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDrop=function(l,u){var d,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=r.state,h=p.dragChildrenKeys,g=p.dropPosition,v=p.dropTargetKey,m=p.dropTargetPos,w=p.dropAllowed;if(!!w){var x=r.props.onDrop;if(r.setState({dragOverNodeKey:null}),r.cleanDragState(),v!==null){var _=Zt(Zt({},co(v,r.getTreeNodeRequiredProps())),{},{active:((d=r.getActiveItem())===null||d===void 0?void 0:d.key)===v,data:r.state.keyEntities[v].node}),S=h.indexOf(v)!==-1;at(!S,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var C=ql(m),E={event:l,node:zt(_),dragNode:r.dragNode?zt(r.dragNode.props):null,dragNodesKeys:[r.dragNode.props.eventKey].concat(h),dropToGap:g!==0,dropPosition:g+Number(C[C.length-1])};f||x==null||x(E),r.dragNode=null}}},r.cleanDragState=function(){var l=r.state.draggingNodeKey;l!==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(l,u){var d=r.state,f=d.expandedKeys,p=d.flattenNodes,h=u.expanded,g=u.key,v=u.isLeaf;if(!(v||l.shiftKey||l.metaKey||l.ctrlKey)){var m=p.filter(function(x){return x.key===g})[0],w=zt(Zt(Zt({},co(g,r.getTreeNodeRequiredProps())),{},{data:m.data}));r.setExpandedKeys(h?sr(f,g):Er(f,g)),r.onNodeExpand(l,w)}},r.onNodeClick=function(l,u){var d=r.props,f=d.onClick,p=d.expandAction;p==="click"&&r.triggerExpandActionExpand(l,u),f==null||f(l,u)},r.onNodeDoubleClick=function(l,u){var d=r.props,f=d.onDoubleClick,p=d.expandAction;p==="doubleClick"&&r.triggerExpandActionExpand(l,u),f==null||f(l,u)},r.onNodeSelect=function(l,u){var d=r.state.selectedKeys,f=r.state,p=f.keyEntities,h=f.fieldNames,g=r.props,v=g.onSelect,m=g.multiple,w=u.selected,x=u[h.key],_=!w;_?m?d=Er(d,x):d=[x]:d=sr(d,x);var S=d.map(function(C){var E=p[C];return E?E.node:null}).filter(function(C){return C});r.setUncontrolledState({selectedKeys:d}),v==null||v(d,{event:"select",selected:_,node:u,selectedNodes:S,nativeEvent:l.nativeEvent})},r.onNodeCheck=function(l,u,d){var f=r.state,p=f.keyEntities,h=f.checkedKeys,g=f.halfCheckedKeys,v=r.props,m=v.checkStrictly,w=v.onCheck,x=u.key,_,S={event:"check",node:u,checked:d,nativeEvent:l.nativeEvent};if(m){var C=d?Er(h,x):sr(h,x),E=sr(g,x);_={checked:C,halfChecked:E},S.checkedNodes=C.map(function(A){return p[A]}).filter(function(A){return A}).map(function(A){return A.node}),r.setUncontrolledState({checkedKeys:C})}else{var k=yi([].concat(Br(h),[x]),!0,p),P=k.checkedKeys,V=k.halfCheckedKeys;if(!d){var B=new Set(P);B.delete(x);var I=yi(Array.from(B),{checked:!1,halfCheckedKeys:V},p);P=I.checkedKeys,V=I.halfCheckedKeys}_=P,S.checkedNodes=[],S.checkedNodesPositions=[],S.halfCheckedKeys=V,P.forEach(function(A){var $=p[A];if(!!$){var F=$.node,M=$.pos;S.checkedNodes.push(F),S.checkedNodesPositions.push({node:F,pos:M})}}),r.setUncontrolledState({checkedKeys:P},!1,{halfCheckedKeys:V})}w==null||w(_,S)},r.onNodeLoad=function(l){var u=l.key,d=new Promise(function(f,p){r.setState(function(h){var g=h.loadedKeys,v=g===void 0?[]:g,m=h.loadingKeys,w=m===void 0?[]:m,x=r.props,_=x.loadData,S=x.onLoad;if(!_||v.indexOf(u)!==-1||w.indexOf(u)!==-1)return null;var C=_(l);return C.then(function(){var E=r.state.loadedKeys,k=Er(E,u);S==null||S(k,{event:"load",node:l}),r.setUncontrolledState({loadedKeys:k}),r.setState(function(P){return{loadingKeys:sr(P.loadingKeys,u)}}),f()}).catch(function(E){if(r.setState(function(P){return{loadingKeys:sr(P.loadingKeys,u)}}),r.loadingRetryTimes[u]=(r.loadingRetryTimes[u]||0)+1,r.loadingRetryTimes[u]>=f2){var k=r.state.loadedKeys;at(!1,"Retry for `loadData` many times but still failed. No more retry."),r.setUncontrolledState({loadedKeys:Er(k,u)}),f()}p(E)}),{loadingKeys:Er(w,u)}})});return d.catch(function(){}),d},r.onNodeMouseEnter=function(l,u){var d=r.props.onMouseEnter;d==null||d({event:l,node:u})},r.onNodeMouseLeave=function(l,u){var d=r.props.onMouseLeave;d==null||d({event:l,node:u})},r.onNodeContextMenu=function(l,u){var d=r.props.onRightClick;d&&(l.preventDefault(),d({event:l,node:u}))},r.onFocus=function(){var l=r.props.onFocus;r.setState({focused:!0});for(var u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];l==null||l.apply(void 0,d)},r.onBlur=function(){var l=r.props.onBlur;r.setState({focused:!1}),r.onActiveChange(null);for(var u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];l==null||l.apply(void 0,d)},r.getTreeNodeRequiredProps=function(){var l=r.state,u=l.expandedKeys,d=l.selectedKeys,f=l.loadedKeys,p=l.loadingKeys,h=l.checkedKeys,g=l.halfCheckedKeys,v=l.dragOverNodeKey,m=l.dropPosition,w=l.keyEntities;return{expandedKeys:u||[],selectedKeys:d||[],loadedKeys:f||[],loadingKeys:p||[],checkedKeys:h||[],halfCheckedKeys:g||[],dragOverNodeKey:v,dropPosition:m,keyEntities:w}},r.setExpandedKeys=function(l){var u=r.state,d=u.treeData,f=u.fieldNames,p=Wl(d,l,f);r.setUncontrolledState({expandedKeys:l,flattenNodes:p},!0)},r.onNodeExpand=function(l,u){var d=r.state.expandedKeys,f=r.state,p=f.listChanging,h=f.fieldNames,g=r.props,v=g.onExpand,m=g.loadData,w=u.expanded,x=u[h.key];if(!p){var _=d.indexOf(x),S=!w;if(at(w&&_!==-1||!w&&_===-1,"Expand state not sync with index check"),S?d=Er(d,x):d=sr(d,x),r.setExpandedKeys(d),v==null||v(d,{node:u,expanded:S,nativeEvent:l.nativeEvent}),S&&m){var C=r.onNodeLoad(u);C&&C.then(function(){var E=Wl(r.state.treeData,d,h);r.setUncontrolledState({flattenNodes:E})}).catch(function(){var E=r.state.expandedKeys,k=sr(E,x);r.setExpandedKeys(k)})}}},r.onListChangeStart=function(){r.setUncontrolledState({listChanging:!0})},r.onListChangeEnd=function(){setTimeout(function(){r.setUncontrolledState({listChanging:!1})})},r.onActiveChange=function(l){var u=r.state.activeKey,d=r.props.onActiveChange;u!==l&&(r.setState({activeKey:l}),l!==null&&r.scrollTo({key:l}),d==null||d(l))},r.getActiveItem=function(){var l=r.state,u=l.activeKey,d=l.flattenNodes;return u===null?null:d.find(function(f){var p=f.key;return p===u})||null},r.offsetActiveKey=function(l){var u=r.state,d=u.flattenNodes,f=u.activeKey,p=d.findIndex(function(v){var m=v.key;return m===f});p===-1&&l<0&&(p=d.length),p=(p+l+d.length)%d.length;var h=d[p];if(h){var g=h.key;r.onActiveChange(g)}else r.onActiveChange(null)},r.onKeyDown=function(l){var u=r.state,d=u.activeKey,f=u.expandedKeys,p=u.checkedKeys,h=u.fieldNames,g=r.props,v=g.onKeyDown,m=g.checkable,w=g.selectable;switch(l.which){case se.UP:{r.offsetActiveKey(-1),l.preventDefault();break}case se.DOWN:{r.offsetActiveKey(1),l.preventDefault();break}}var x=r.getActiveItem();if(x&&x.data){var _=r.getTreeNodeRequiredProps(),S=x.data.isLeaf===!1||!!(x.data[h.children]||[]).length,C=zt(Zt(Zt({},co(d,_)),{},{data:x.data,active:!0}));switch(l.which){case se.LEFT:{S&&f.includes(d)?r.onNodeExpand({},C):x.parent&&r.onActiveChange(x.parent.key),l.preventDefault();break}case se.RIGHT:{S&&!f.includes(d)?r.onNodeExpand({},C):x.children&&x.children.length&&r.onActiveChange(x.children[0].key),l.preventDefault();break}case se.ENTER:case se.SPACE:{m&&!C.disabled&&C.checkable!==!1&&!C.disableCheckbox?r.onNodeCheck({},C,!p.includes(d)):!m&&w&&!C.disabled&&C.selectable!==!1&&r.onNodeSelect({},C);break}}}v==null||v(l)},r.setUncontrolledState=function(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!r.destroyed){var f=!1,p=!0,h={};Object.keys(l).forEach(function(g){if(g in r.props){p=!1;return}f=!0,h[g]=l[g]}),f&&(!u||p)&&r.setState(Zt(Zt({},h),d))}},r.scrollTo=function(l){r.listRef.current.scrollTo(l)},r}return ng(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,l=o.flattenNodes,u=o.keyEntities,d=o.draggingNodeKey,f=o.activeKey,p=o.dropLevelOffset,h=o.dropContainerKey,g=o.dropTargetKey,v=o.dropPosition,m=o.dragOverNodeKey,w=o.indent,x=this.props,_=x.prefixCls,S=x.className,C=x.style,E=x.showLine,k=x.focusable,P=x.tabIndex,V=P===void 0?0:P,B=x.selectable,I=x.showIcon,A=x.icon,$=x.switcherIcon,F=x.draggable,M=x.checkable,L=x.checkStrictly,N=x.disabled,R=x.motion,G=x.loadData,j=x.filterTreeNode,K=x.height,q=x.itemHeight,ne=x.virtual,ie=x.titleRender,Y=x.dropIndicatorRender,Z=x.onContextMenu,de=x.onScroll,ce=x.direction,ue=x.rootClassName,le=x.rootStyle,Ce=ri(this.props,{aria:!0,data:!0}),xe;return F&&(or(F)==="object"?xe=F:typeof F=="function"?xe={nodeDraggable:F}:xe={}),s(Kl.Provider,{value:{prefixCls:_,selectable:B,showIcon:I,icon:A,switcherIcon:$,draggable:xe,draggingNodeKey:d,checkable:M,checkStrictly:L,disabled:N,keyEntities:u,dropLevelOffset:p,dropContainerKey:h,dropTargetKey:g,dropPosition:v,dragOverNodeKey:m,indent:w,direction:ce,dropIndicatorRender:Y,loadData:G,filterTreeNode:j,titleRender:ie,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:s("div",{role:"tree",className:gt(_,S,ue,(i={},kt(i,"".concat(_,"-show-line"),E),kt(i,"".concat(_,"-focused"),a),kt(i,"".concat(_,"-active-focused"),f!==null),i)),style:le,children:s(xg,{ref:this.listRef,prefixCls:_,style:C,data:l,disabled:N,selectable:B,checkable:!!M,motion:R,dragging:d!==null,height:K,itemHeight:q,virtual:ne,focusable:k,focused:a,tabIndex:V,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Z,onScroll:de,...this.getTreeNodeRequiredProps(),...Ce})})})}}],[{key:"getDerivedStateFromProps",value:function(i,o){var a=o.prevProps,l={prevProps:i};function u(k){return!a&&k in i||a&&a[k]!==i[k]}var d,f=o.fieldNames;if(u("fieldNames")&&(f=Pa(i.fieldNames),l.fieldNames=f),u("treeData")?d=i.treeData:u("children")&&(at(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),d=HO(i.children)),d){l.treeData=d;var p=og(d,{fieldNames:f});l.keyEntities=Zt(kt({},Gr,vg),p.keyEntities),process.env.NODE_ENV!=="production"&&qO(d,f)}var h=l.keyEntities||o.keyEntities;if(u("expandedKeys")||a&&u("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?dg(i.expandedKeys,h):i.expandedKeys;else if(!a&&i.defaultExpandAll){var g=Zt({},h);delete g[Gr],l.expandedKeys=Object.keys(g).map(function(k){return g[k].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?dg(i.defaultExpandedKeys,h):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,d||l.expandedKeys){var v=Wl(d||o.treeData,l.expandedKeys||o.expandedKeys,f);l.flattenNodes=v}if(i.selectable&&(u("selectedKeys")?l.selectedKeys=cg(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=cg(i.defaultSelectedKeys,i))),i.checkable){var m;if(u("checkedKeys")?m=Hl(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?m=Hl(i.defaultCheckedKeys)||{}:d&&(m=Hl(i.checkedKeys)||{checkedKeys:o.checkedKeys,halfCheckedKeys:o.halfCheckedKeys}),m){var w=m,x=w.checkedKeys,_=x===void 0?[]:x,S=w.halfCheckedKeys,C=S===void 0?[]:S;if(!i.checkStrictly){var E=yi(_,!0,h);_=E.checkedKeys,C=E.halfCheckedKeys}l.checkedKeys=_,l.halfCheckedKeys=C}}return u("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(T.Component);Yl.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:d2,allowDrop:function(){return!0},expandAction:!1},Yl.TreeNode=bi;var wg=T.createContext(null),Cg=T.createContext(null);function Sg(e){return Array.isArray(e)?e:e!==void 0?[e]:[]}function p2(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 Xl(e){return!e||e.disabled||e.disableCheckbox||e.checkable===!1}function h2(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 Ql(e){return e==null}var g2={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},v2=function(t,n){var r=pf(),i=r.prefixCls,o=r.multiple,a=r.searchValue,l=r.toggleOpen,u=r.open,d=r.notFoundContent,f=T.useContext(Cg),p=f.virtual,h=f.listHeight,g=f.listItemHeight,v=f.treeData,m=f.fieldNames,w=f.onSelect,x=f.dropdownMatchSelectWidth,_=f.treeExpandAction,S=T.useContext(wg),C=S.checkable,E=S.checkedKeys,k=S.halfCheckedKeys,P=S.treeExpandedKeys,V=S.treeDefaultExpandAll,B=S.treeDefaultExpandedKeys,I=S.onTreeExpand,A=S.treeIcon,$=S.showTreeIcon,F=S.switcherIcon,M=S.treeLine,L=S.treeNodeFilterProp,N=S.loadData,R=S.treeLoadedKeys,G=S.treeMotion,j=S.onTreeLoad,K=S.keyEntities,q=T.useRef(),ne=Qs(function(){return v},[u,v],function(Te,Ge){return Ge[0]&&Te[1]!==Ge[1]}),ie=T.useMemo(function(){return C?{checked:E,halfChecked:k}:null},[C,E,k]);T.useEffect(function(){if(u&&!o&&E.length){var Te;(Te=q.current)===null||Te===void 0||Te.scrollTo({key:E[0]})}},[u]);var Y=String(a).toLowerCase(),Z=function(Ge){return Y?String(Ge[L]).toLowerCase().includes(Y):!1},de=T.useState(B),ce=yr(de,2),ue=ce[0],le=ce[1],Ce=T.useState(null),xe=yr(Ce,2),X=xe[0],oe=xe[1],Se=T.useMemo(function(){return P?mr(P):a?X:ue},[ue,X,P,a]);T.useEffect(function(){a&&oe(h2(v,m))},[a]);var U=function(Ge){le(Ge),oe(Ge),I&&I(Ge)},we=function(Ge){Ge.preventDefault()},ve=function(Ge,Ve){var Fe=Ve.node;C&&Xl(Fe)||(w(Fe.key,{selected:!E.includes(Fe.key)}),o||l(!1))},Ee=T.useState(null),Oe=yr(Ee,2),ge=Oe[0],qe=Oe[1],Ne=K[ge];if(T.useImperativeHandle(n,function(){var Te;return{scrollTo:(Te=q.current)===null||Te===void 0?void 0:Te.scrollTo,onKeyDown:function(Ve){var Fe,dt=Ve.which;switch(dt){case se.UP:case se.DOWN:case se.LEFT:case se.RIGHT:(Fe=q.current)===null||Fe===void 0||Fe.onKeyDown(Ve);break;case se.ENTER:{if(Ne){var lt=(Ne==null?void 0:Ne.node)||{},Ue=lt.selectable,ut=lt.value;Ue!==!1&&ve(null,{node:{key:ge},selected:!E.includes(ut)})}break}case se.ESC:l(!1)}},onKeyUp:function(){}}}),ne.length===0)return s("div",{role:"listbox",className:"".concat(i,"-empty"),onMouseDown:we,children:d});var Je={fieldNames:m};return R&&(Je.loadedKeys=R),Se&&(Je.expandedKeys=Se),y("div",{onMouseDown:we,children:[Ne&&u&&s("span",{style:g2,"aria-live":"assertive",children:Ne.node.value}),s(Yl,{ref:q,focusable:!1,prefixCls:"".concat(i,"-tree"),treeData:ne,height:h,itemHeight:g,virtual:p!==!1&&x!==!1,multiple:o,icon:A,showIcon:$,switcherIcon:F,showLine:M,loadData:a?null:N,motion:G,activeKey:ge,checkable:C,checkStrictly:!0,checkedKeys:ie,selectedKeys:C?[]:E,defaultExpandAll:V,...Je,onActiveChange:qe,onSelect:ve,onCheck:ve,onExpand:U,onLoad:j,filterTreeNode:Z,expandAction:_})]})},_g=T.forwardRef(v2);_g.displayName="OptionList";var Eg=function(){return null},m2="SHOW_ALL",Zl="SHOW_PARENT",Jl="SHOW_CHILD";function Tg(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(l){var u=l.node;return i.has(u[r.value])})&&a.children.every(function(l){var u=l.node;return Xl(u)||i.has(u[r.value])}))}):t===Zl?e.filter(function(o){var a=n[o],l=a?a.parent:null;return!(l&&!Xl(l.node)&&i.has(l.key))}):e}var y2=["children","value"];function Mg(e){return xr(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,l=Yd(i,y2),u=_n({key:r,value:a},l),d=Mg(o);return d.length&&(u.children=d),u}).filter(function(t){return t})}function eu(e){if(!e)return e;var t=_n({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return at(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),t}}),t}function b2(e,t,n,r,i,o){var a=null,l=null;function u(){function d(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return f.map(function(g,v){var m="".concat(p,"-").concat(v),w=g[o.value],x=n.includes(w),_=d(g[o.children]||[],m,x),S=s(Eg,{...g,children:_.map(function(E){return E.node})});if(t===w&&(a=S),x){var C={pos:m,node:S,children:_};return h||l.push(C),C}return null}).filter(function(g){return g})}l||(l=[],d(r),l.sort(function(f,p){var h=f.node.props.value,g=p.node.props.value,v=n.indexOf(h),m=n.indexOf(g);return v-m}))}Object.defineProperty(e,"triggerNode",{get:function(){return at(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),u(),a}}),Object.defineProperty(e,"allCheckedNodes",{get:function(){return at(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),u(),i?l:l.map(function(f){var p=f.node;return p})}})}function x2(e,t){var n=t.id,r=t.pId,i=t.rootPId,o={},a=[],l=e.map(function(u){var d=_n({},u),f=d[n];return o[f]=d,d.key=d.key||f,d});return l.forEach(function(u){var d=u[r],f=o[d];f&&(f.children=f.children||[],f.children.push(u)),(d===i||!f&&i===null)&&a.push(u)}),a}function w2(e,t,n){return T.useMemo(function(){return e?n?x2(e,_n({id:"id",pId:"pId",rootPId:null},n!==!0?n:{})):e:Mg(t)},[t,n,e])}const C2=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,l=o.value,u=(a=o.label)!==null&&a!==void 0?a:n.get(l);return r.set(l,u),_n(_n({},o),{},{label:u})});return t.current.valueLabels=r,[i]},[e])};function kg(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}const S2=function(e,t){return T.useMemo(function(){var n=og(e,{fieldNames:t,initWrapper:function(i){return _n(_n({},i),{},{valueEntities:new Map})},processEntity:function(i,o){var a=i.node[t.value];if(process.env.NODE_ENV!=="production"){var l=i.node.key;at(!Ql(a),"TreeNode `value` is invalidate: undefined"),at(!o.valueEntities.has(a),"Same `value` exist in the tree: ".concat(a)),at(!l||String(l)===String(a),"`key` or `value` with TreeNode must be the same or you can remove one of them. key: ".concat(l,", value: ").concat(a,"."))}o.valueEntities.set(a,i)}});return n},[e,t])},_2=function(e,t,n,r){return T.useMemo(function(){var i=e.map(function(u){var d=u.value;return d}),o=t.map(function(u){var d=u.value;return d}),a=i.filter(function(u){return!r[u]});if(n){var l=yi(i,!0,r);i=l.checkedKeys,o=l.halfCheckedKeys}return[Array.from(new Set([].concat(mr(a),mr(i)))),o]},[e,t,n,r])},E2=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 l;if(typeof i=="function")l=i;else{var u=t.toUpperCase();l=function(p,h){var g=h[r];return String(g).toUpperCase().includes(u)}}function d(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return f.map(function(h){var g=h[a],v=p||l(t,eu(h)),m=d(g||[],v);return v||m.length?_n(_n({},h),{},Hd({isLeaf:void 0},a,m)):null}).filter(function(h){return h})}return d(e)},[e,t,a,r,i])};function T2(e){var t=e.searchPlaceholder,n=e.treeCheckStrictly,r=e.treeCheckable,i=e.labelInValue,o=e.value,a=e.multiple;at(!t,"`searchPlaceholder` has been removed."),n&&i===!1&&at(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(i||n)&&at(Sg(o).every(function(l){return l&&Vr(l)==="object"&&"value"in l}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),n||a||r?at(!o||Array.isArray(o),"`value` should be an array when `TreeSelect` is checkable or multiple."):at(!Array.isArray(o),"`value` should not be array when `TreeSelect` is single mode.")}var M2=["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 k2(e){return!e||Vr(e)!=="object"}var Dg=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,l=e.onChange,u=e.onSelect,d=e.onDeselect,f=e.searchValue,p=e.inputValue,h=e.onSearch,g=e.autoClearSearchValue,v=g===void 0?!0:g,m=e.filterTreeNode,w=e.treeNodeFilterProp,x=w===void 0?"value":w,_=e.showCheckedStrategy,S=_===void 0?Jl:_,C=e.treeNodeLabelProp,E=e.multiple,k=e.treeCheckable,P=e.treeCheckStrictly,V=e.labelInValue,B=e.fieldNames,I=e.treeDataSimpleMode,A=e.treeData,$=e.children,F=e.loadData,M=e.treeLoadedKeys,L=e.onTreeLoad,N=e.treeDefaultExpandAll,R=e.treeExpandedKeys,G=e.treeDefaultExpandedKeys,j=e.onTreeExpand,K=e.treeExpandAction,q=e.virtual,ne=e.listHeight,ie=ne===void 0?200:ne,Y=e.listItemHeight,Z=Y===void 0?20:Y,de=e.onDropdownVisibleChange,ce=e.dropdownMatchSelectWidth,ue=ce===void 0?!0:ce,le=e.treeLine,Ce=e.treeIcon,xe=e.showTreeIcon,X=e.switcherIcon,oe=e.treeMotion,Se=Yd(e,M2),U=Ah(n),we=k&&!P,ve=k||P,Ee=P||V,Oe=ve||E,ge=Hi(a,{value:o}),qe=yr(ge,2),Ne=qe[0],Je=qe[1];process.env.NODE_ENV!=="production"&&T2(e);var Te=T.useMemo(function(){return p2(B)},[JSON.stringify(B)]),Ge=Hi("",{value:f!==void 0?f:p,postState:function(he){return he||""}}),Ve=yr(Ge,2),Fe=Ve[0],dt=Ve[1],lt=function(he){dt(he),h==null||h(he)},Ue=w2(A,$,I),ut=S2(Ue,Te),_e=ut.keyEntities,$e=ut.valueEntities,rt=T.useCallback(function(J){var he=[],ye=[];return J.forEach(function(Me){$e.has(Me)?ye.push(Me):he.push(Me)}),{missingRawValues:he,existRawValues:ye}},[$e]),Ot=E2(Ue,Fe,{fieldNames:Te,treeNodeFilterProp:x,filterTreeNode:m}),ct=T.useCallback(function(J){if(J){if(C)return J[C];for(var he=Te._title,ye=0;ye<he.length;ye+=1){var Me=J[he[ye]];if(Me!==void 0)return Me}}},[Te,C]),At=T.useCallback(function(J){var he=Sg(J);return he.map(function(ye){return k2(ye)?{value:ye}:ye})},[]),ft=T.useCallback(function(J){var he=At(J);return he.map(function(ye){var Me=ye.label,Le=ye.value,Ae=ye.halfChecked,We,Be=$e.get(Le);if(Be){var Xe;Me=(Xe=Me)!==null&&Xe!==void 0?Xe:ct(Be.node),We=Be.node.disabled}else if(Me===void 0){var Et=At(Ne).find(function(on){return on.value===Le});Me=Et.label}return{label:Me,value:Le,halfChecked:Ae,disabled:We}})},[$e,ct,At,Ne]),Wt=T.useMemo(function(){return At(Ne)},[At,Ne]),Rt=T.useMemo(function(){var J=[],he=[];return Wt.forEach(function(ye){ye.halfChecked?he.push(ye):J.push(ye)}),[J,he]},[Wt]),wt=yr(Rt,2),Tt=wt[0],Ut=wt[1],yt=T.useMemo(function(){return Tt.map(function(J){return J.value})},[Tt]),pn=_2(Tt,Ut,we,_e),Gt=yr(pn,2),ae=Gt[0],pe=Gt[1],me=T.useMemo(function(){var J=Tg(ae,S,_e,Te),he=J.map(function(Ae){var We,Be,Xe;return(We=(Be=_e[Ae])===null||Be===void 0||(Xe=Be.node)===null||Xe===void 0?void 0:Xe[Te.value])!==null&&We!==void 0?We:Ae}),ye=he.map(function(Ae){var We=Tt.find(function(Be){return Be.value===Ae});return{value:Ae,label:We==null?void 0:We.label}}),Me=ft(ye),Le=Me[0];return!Oe&&Le&&Ql(Le.value)&&Ql(Le.label)?[]:Me.map(function(Ae){var We;return _n(_n({},Ae),{},{label:(We=Ae.label)!==null&&We!==void 0?We:Ae.value})})},[Te,Oe,ae,Tt,ft,S,_e]),Re=C2(me),et=yr(Re,1),pt=et[0],Yt=kg(function(J,he,ye){var Me=ft(J);if(Je(Me),v&&dt(""),l){var Le=J;if(we){var Ae=Tg(J,S,_e,Te);Le=Ae.map(function(ln){var un=$e.get(ln);return un?un.node[Te.value]:ln})}var We=he||{triggerValue:void 0,selected:void 0},Be=We.triggerValue,Xe=We.selected,Et=Le;if(P){var on=Ut.filter(function(ln){return!Le.includes(ln.value)});Et=[].concat(mr(Et),mr(on))}var wn=ft(Et),Pt={preValue:Tt,triggerValue:Be},Xn=!0;(P||ye==="selection"&&!Xe)&&(Xn=!1),b2(Pt,Be,J,Ue,Xn,Te),ve?Pt.checked=Xe:Pt.selected=Xe;var hr=Ee?wn:wn.map(function(ln){return ln.value});l(Oe?hr:hr[0],Ee?null:wn.map(function(ln){return ln.label}),Pt)}}),Xt=T.useCallback(function(J,he){var ye,Me=he.selected,Le=he.source,Ae=_e[J],We=Ae==null?void 0:Ae.node,Be=(ye=We==null?void 0:We[Te.value])!==null&&ye!==void 0?ye:J;if(!Oe)Yt([Be],{selected:!0,triggerValue:Be},"option");else{var Xe=Me?[].concat(mr(yt),[Be]):ae.filter(function(un){return un!==Be});if(we){var Et=rt(Xe),on=Et.missingRawValues,wn=Et.existRawValues,Pt=wn.map(function(un){return $e.get(un).key}),Xn;if(Me){var hr=yi(Pt,!0,_e);Xn=hr.checkedKeys}else{var ln=yi(Pt,{checked:!1,halfCheckedKeys:pe},_e);Xn=ln.checkedKeys}Xe=[].concat(mr(on),mr(Xn.map(function(un){return _e[un].node[Te.value]})))}Yt(Xe,{selected:Me,triggerValue:Be},Le||"option")}Me||!Oe?u==null||u(Be,eu(We)):d==null||d(Be,eu(We))},[rt,$e,_e,Te,Oe,yt,Yt,we,u,d,ae,pe]),hn=T.useCallback(function(J){if(de){var he={};Object.defineProperty(he,"documentClickClose",{get:function(){return at(!1,"Second param of `onDropdownVisibleChange` has been removed."),!1}}),de(J,he)}},[de]),Ct=kg(function(J,he){var ye=J.map(function(Me){return Me.value});if(he.type==="clear"){Yt(ye,{},"selection");return}he.values.length&&Xt(he.values[0].value,{selected:!1,source:"selection"})}),z=T.useMemo(function(){return{virtual:q,dropdownMatchSelectWidth:ue,listHeight:ie,listItemHeight:Z,treeData:Ot,fieldNames:Te,onSelect:Xt,treeExpandAction:K}},[q,ue,ie,Z,Ot,Te,Xt,K]),te=T.useMemo(function(){return{checkable:ve,loadData:F,treeLoadedKeys:M,onTreeLoad:L,checkedKeys:ae,halfCheckedKeys:pe,treeDefaultExpandAll:N,treeExpandedKeys:R,treeDefaultExpandedKeys:G,onTreeExpand:j,treeIcon:Ce,treeMotion:oe,showTreeIcon:xe,switcherIcon:X,treeLine:le,treeNodeFilterProp:x,keyEntities:_e}},[ve,F,M,L,ae,pe,N,R,G,j,Ce,oe,xe,X,le,x,_e]);return s(Cg.Provider,{value:z,children:s(wg.Provider,{value:te,children:s(Ll,{ref:t,...Se,id:U,prefixCls:i,mode:Oe?"multiple":void 0,displayValues:pt,onDisplayValuesChange:Ct,searchValue:Fe,onSearch:lt,OptionList:_g,emptyOptions:!Ue.length,onDropdownVisibleChange:hn,dropdownMatchSelectWidth:ue})})})});process.env.NODE_ENV!=="production"&&(Dg.displayName="TreeSelect");var fo=Dg;fo.TreeNode=Eg,fo.SHOW_ALL=m2,fo.SHOW_PARENT=Zl,fo.SHOW_CHILD=Jl;const D2=({rotate:e,onClick:t})=>s("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:s("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"})}),O2=({expanded:e,isLeaf:t,value:n,onClick:r,...i})=>(n==="0-0-value"&&console.log(i),t?s("span",{style:{width:"14px",display:"inline-block"}}):s(D2,{rotate:e?"0":"-90",onClick:r,...i})),A2=({onClick:e})=>y("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:[s("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),s("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),s("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),s("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),R2=({onClick:e,...t})=>s(A2,{onClick:e,...t}),P2=c.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"}}}})),I2=({disabled:e,classNames:t,styles:n,unstyled:r,radius:i,style:o,label:a,value:l,onChange:u,treeData:d})=>{const{classes:f,cx:p}=P2({radius:i},{name:"FilterTreeSelectWidget",classNames:t,styles:n,unstyled:r}),[h,g]=b.useState((l==null?void 0:l.length)>0),v=w=>{g(w)},m=h&&(l==null?void 0:l.length)>0;return y(c.Stack,{spacing:3,children:[y(c.Group,{position:"apart",children:[s(c.Text,{className:f.label,children:a}),m&&s(c.Tooltip,{label:`${l.length} selected`,children:s(c.Badge,{children:l.length})})]}),s(fo,{disabled:e,allowClear:!0,className:p(f.root,"check-select"),dropdownClassName:p(f.dropdown,""),onDropdownVisibleChange:v,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>s(c.CloseButton,{}),switcherIcon:O2,treeIcon:R2,maxTagTextLength:10,value:l,treeData:d,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Zl,onChange:u,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:w=>`${w.length} selected`})]})};function N2(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=y("div",{children:[s(c.Text,{title:t.label,children:t.label}),s(c.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const $2=ee.observer(({label:e,config:t,value:n,onChange:r})=>{const i=Ie(),{state:o,dataProxy:a,len:l}=i.getDataStuffByID(t.options_query_id),u=o==="loading",d=b.useMemo(()=>{if(!a)return[];const g=[...a],v=N2(g);return Zx(v)},[a,l]);b.useEffect(()=>{const{default_selection_count:g}=t;if(!g)return;if(d.length===0){console.log("[filter.tree-select] Resetting to empty"),r([],!0);return}const v=d.slice(0,g).map(m=>m.value);console.log(`[filter.tree-select] Selecting first ${g} option(s)`),r(v,!0)},[t.default_selection_count,d]);const f=t.min_width?t.min_width:"200px",h=!!t.options_query_id?u:!1;return s(I2,{disabled:h,style:{minWidth:f,maxWidth:h?f:"unset",borderColor:"#e9ecef"},value:n,onChange:g=>r(g,!1),treeData:d,label:e})}),L2=ee.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return s(Xx,{...r,...i,config:t});case"multi-select":return s(Yx,{...r,...i,config:t});case"tree-select":return s($2,{...r,...i,config:t});case"text-input":return s(Qx,{...r,...i,config:t});case"date-range":return s(Bd,{...r,...i,config:t});case"checkbox":return s(qx,{...r,...i,config:t});default:return null}}),Og=ee.observer(Q.default.forwardRef(({filter:e,...t},n)=>s("div",{className:"filter-root",ref:n,children:s(Zn,{children:s(L2,{filter:e,formFieldProps:t})})}))),Ag=ee.observer(function({view:t}){const n=Ie(),{control:r,handleSubmit:i,reset:o}=D.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),a=D.useWatch({control:r});b.useEffect(()=>{o(n.filters.values)},[n.filters.values,o]),b.useEffect(()=>{n.filters.updatePreviewValues(a)},[a]);const l=n.filters.visibleInView(t.id),u=b.useMemo(()=>l.every(h=>h.should_auto_submit),[l]),d=b.useMemo(()=>l.filter(h=>H.default.get(h,"config.required",!1)),[l]),f=b.useMemo(()=>d.length===0?!1:d.some(h=>!h.requiredAndPass(a[h.key])),[a,d]);if(l.length===0)return null;const p=(h,g)=>(v,m)=>{g(v),(h.should_auto_submit||m)&&n.filters.setValueByKey(h.key,v)};return s("form",{onSubmit:i(n.filters.setValues),children:y(c.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:u?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[s(c.Group,{align:"flex-start",children:l.map(h=>s(D.Controller,{name:h.key,control:r,render:({field:g})=>s(Og,{filter:h,value:g.value,onChange:p(h,g.onChange)})},h.id))}),!u&&s(c.Group,{sx:{alignSelf:"flex-end"},children:s(c.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),iq="";function V2(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const Rg=ee.observer(()=>{const{freezeLayout:e}=Q.default.useContext(Lr),[t,n]=Q.default.useState(!1),{panel:r}=Qt();return Q.default.useEffect(()=>{e(t)},[t]),V2(r.description)?null:y(be,{children:[s(c.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:s(Xo,{value:r.description,styles:{root:{border:"none"},content:{padding:0}}})}),s(c.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:s(c.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:s(re.InfoCircle,{size:20})})})]})}),z2=ee.observer(({view:e})=>{const t=Ie(),n=Vn.useModals(),{panel:r}=Qt(),{id:i,query:o}=r,{inEditMode:a}=Q.default.useContext(Lr),l=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:u,inFullScreen:d}=Q.default.useContext(Bs),f=()=>{e.panels.duplicateByID(i)},p=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",i])},h=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(i),confirmProps:{color:"red"},zIndex:320}),g=Q.default.useCallback(()=>{u(i)},[i,u]),v=!d&&e.type!==ot.Modal;return s(be,{children:s(c.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:y(c.Menu,{withinPortal:!0,children:[s(c.Menu.Target,{children:s(c.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),y(c.Menu.Dropdown,{children:[s(c.Menu.Item,{onClick:l,icon:s(re.Refresh,{size:14}),children:"Refresh"}),s(c.Menu.Item,{onClick:()=>{var m;return t.queries.downloadDataByQueryID((m=o==null?void 0:o.id)!=null?m:"")},icon:s(re.Download,{size:14}),children:"Download Data"}),v&&s(c.Menu.Item,{onClick:g,icon:s(re.ArrowsMaximize,{size:14}),disabled:a,children:"Full Screen"}),a&&y(be,{children:[s(c.Divider,{label:"Edit",labelPosition:"center"}),s(c.Menu.Item,{onClick:p,icon:s(re.Settings,{size:14}),children:"Settings"}),s(c.Menu.Item,{onClick:f,icon:s(re.Copy,{size:14}),children:"Duplicate"}),s(c.Menu.Item,{color:"red",onClick:h,icon:s(re.Trash,{size:14}),children:"Delete"})]})]})]})})})}),oq="",F2=ee.observer(function(){const{panel:t}=Qt(),{title:n}=t;return n?s(c.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:s(c.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null}),Bn=(e,t)=>{const[n,r]=b.useState([]);return b.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(o=>o.schemaRef===t))),[]),n};class wi{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,W.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:W.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=W.get(i,t),l=W.get(o,t);a!==l&&n(a,l)},r)}}class tu{constructor(t,n,r){ke(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new wi(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new wi(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new wi(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(W.values(t).map(n=>this.constructInstance(new wi(this.attachmentStorage,n.id))))}}class Pg{constructor(t){ke(this,"rootRef");this.rootRef=It.observable({current:t})}async deleteItem(t){It.runInAction(()=>{W.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?It.toJS(this.rootRef.current):W.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(W.isObject(n))It.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else It.runInAction(()=>{W.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return It.reaction(()=>this.getValueFromRoot(t),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:W.get(r,"fireImmediately",!1)})}}class B2{constructor(){ke(this,"channels",new Map);ke(this,"globalChannel",new bd.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new bd.default;return this.channels.set(t,r),r}}class G2{constructor(t){ke(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 B2,instanceData:new Pg(t.viz.conf)};return this.instances.set(t.id,r),r}}function Ig(e,t,n,r){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Pg({}),colorPalette:{getColor(){return()=>""}},data:t,variables:r}}const j2=e=>{const{panel:t,vizManager:n,data:r,variables:i}=e,o=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),l={...Ig(a,r,n,i),viewport:{width:t.layout.w,height:t.layout.h}},u=o.viewRender;return s(u,{context:l,instance:a,...W.omit(e,["panel","vizManager","data"])})},K2=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i,variables:o}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),u={...Ig(l,i,t,o),panelInfoEditor:r},d=a.configRender;return s(d,{context:u,instance:l,...W.omit(e,["panel","vizManager","data","panelInfoEditor"])})},Ng=(e,t)=>{const n=Gi.default.bezier(e),r=Gi.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},Ia=e=>{const t=Gi.default.bezier(e);return function(n){return t(n/100).hex()}},W2={type:"interpolation",displayName:"Red / Green",getColor:Ng(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},q2={type:"interpolation",displayName:"Yellow / Blue",getColor:Ng(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},H2={type:"interpolation",displayName:"Red",getColor:Ia(["#fff7f1","darkred"]),name:"red",category:"sequential"},U2={type:"interpolation",displayName:"Green",getColor:Ia(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Y2={type:"interpolation",displayName:"Blue",getColor:Ia(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},X2={type:"interpolation",displayName:"Orange",getColor:Ia(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},$g="@devtable/dashboard",nu="8.32.0",Lg="Apache-2.0",Vg={access:"public",registry:"https://registry.npmjs.org/"},zg=["dist"],Fg="./dist/dashboard.umd.js",Bg="./dist/dashboard.es.js",Gg="./dist/index.d.ts",jg={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Kg={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Wg={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5","monaco-editor":"0.36.0","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},qg={"@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","vite-plugin-static-copy":"0.13.1"},Hg={"@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"},Q2=Object.freeze(Object.defineProperty({__proto__:null,name:$g,version:nu,license:Lg,publishConfig:Vg,files:zg,main:Fg,module:Bg,types:Gg,exports:jg,scripts:Kg,dependencies:Wg,devDependencies:qg,peerDependencies:Hg,default:{name:$g,version:nu,license:Lg,publishConfig:Vg,files:zg,main:Fg,module:Bg,types:Gg,exports:jg,scripts:Kg,dependencies:Wg,devDependencies:qg,peerDependencies:Hg}},Symbol.toStringTag,{value:"Module"}));class Z2{constructor(t){ke(this,"staticColors",new Map);ke(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 J2{constructor(){ke(this,"plugins",new Map);ke(this,"vizComponents",new Map);ke(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 eA{constructor(){ke(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(l=>l.version>t.from&&l.version<=t.to),o=W.orderBy(i,"version","asc");if(((a=W.last(o))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((l,u)=>u.handler(l,r),n)}}class Ft extends eA{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=W.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 W.get(n,"version",0)<this.VERSION}}const ze=(e,t)=>{const[n,{setFalse:r}]=tt.useBoolean(!0),[i,o]=b.useState();b.useEffect(()=>(e.getItem(t).then(l=>{o(l),r()}),e.watchItem(t,l=>{o(l)})));const a=b.useCallback(async l=>{await e.setItem(t,l),o(l)},[e,t]);return{loading:n,value:i,set:a}},ru={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"}};bt.use([Pe.GridComponent,Pe.VisualMapComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function tA({context:e}){const{value:t}=ze(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:l,xAxis3D:u,yAxis3D:d,zAxis3D:f}=W.defaults({},t,ru),p=b.useMemo(()=>{const v=W.minBy(n,m=>m[l]);return W.get(v,l)},[n,l]),h=b.useMemo(()=>{const v=W.maxBy(n,m=>m[l]);return W.get(v,l)},[n,l]),g={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:p,max:h,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,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[l]])}]};return t?s(mn.default,{echarts:bt,option:g,style:{width:r,height:i},notMerge:!0}):null}function nA({label:e,required:t,value:n,onChange:r,data:i,clearable:o=!1,sx:a,...l},u){const d=Q.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const p=Object.keys(i[0]).map(h=>({label:h,value:h}));return o?p.concat([{label:"unset",value:""}]):p},[i]);return s(c.Select,{ref:u,label:e,data:d,value:n,onChange:r,required:t,sx:a,...l})}const Ye=Q.default.forwardRef(nA);function rA({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=W.defaults({},t,ru),{control:o,handleSubmit:a,reset:l}=D.useForm({defaultValues:i});return b.useEffect(()=>{l(i)},[t]),t?s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[s(c.Text,{children:"X Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"x_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"xAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Text,{mt:"lg",children:"Y Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"y_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"yAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Text,{mt:"lg",children:"Z Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"z_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"zAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:y(c.Button,{color:"blue",type:"submit",children:[s(re.DeviceFloppy,{size:20}),s(c.Text,{ml:"md",children:"Save"})]})})]})}):null}class iA extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const oA={displayName:"Bar Chart (3D)",displayGroup:"ECharts-based charts",migrator:new iA,name:"bar-3d",viewRender:tA,configRender:rA,createConfig(){return{version:1,config:W.cloneDeep(ru)}}},dn={mantissa:0,output:"number",trimMantissa:!1,average:!1};function aA({value:e,onChange:t},n){const r=l=>{t({...e,output:l})},i=l=>{const u=l===0?!1:e.trimMantissa;t({...e,mantissa:l,trimMantissa:u})},o=l=>{t({...e,trimMantissa:l.currentTarget.checked})},a=l=>{t({...e,average:l.currentTarget.checked})};return y(c.Stack,{ref:n,children:[y(c.Group,{grow:!0,children:[s(c.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),s(c.Switch,{label:y(c.Stack,{spacing:0,children:[s(c.Text,{children:"Average"}),s(c.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"}}})]}),y(c.Group,{grow:!0,children:[s(c.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),s(c.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),y(c.Stack,{spacing:0,children:[s(c.Text,{weight:"bold",children:"Preview"}),s(Zn,{children:y(c.Group,{position:"apart",children:[y(c.Text,{size:12,color:"gray",children:["123456789 ",s(re.ArrowRight,{size:9})," ",St.default(123456789).format(e)]}),y(c.Text,{size:12,color:"gray",children:["1234 ",s(re.ArrowRight,{size:9})," ",St.default(1234).format(e)]}),y(c.Text,{size:12,color:"gray",children:["0.1234 ",s(re.ArrowRight,{size:9})," ",St.default(.1234).format(e)]})]})})]})]})}const Gn=Q.default.forwardRef(aA),jn={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 xi(e,t){return n2(e)||r2(e,t)||Jh(e,t)||i2()}var o2=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],pg=function(t,n){var r=t.className,i=t.style,o=t.motion,a=t.motionNodes,l=t.motionType,u=t.onMotionStart,d=t.onMotionEnd,f=t.active,p=t.treeNodeRequiredProps,h=Ra(t,o2),g=T.useState(!0),v=xi(g,2),m=v[0],w=v[1],x=T.useContext(Kl),_=x.prefixCls,S=T.useRef(!1),C=function(){S.current||d(),S.current=!0};return b.useEffect(function(){a&&l==="hide"&&m&&w(!1)},[a]),b.useEffect(function(){return a&&u(),function(){a&&C()}},[]),a?s(fa,{ref:n,visible:m,...o,motionAppear:l==="show",onAppearEnd:C,onLeaveEnd:C,children:function(E,k){var P=E.className,V=E.style;return s("div",{ref:k,className:gt("".concat(_,"-treenode-motion"),P),style:V,children:a.map(function(B){var I=Oa({},(fg(B.data),B.data)),A=B.title,$=B.key,F=B.isStart,M=B.isEnd;delete I.children;var L=co($,p);return b.createElement(bi,{...I,...L,title:A,active:f,data:B.data,key:$,isStart:F,isEnd:M})})})}}):s(bi,{domRef:n,className:r,style:i,...h,active:f})};pg.displayName="MotionTreeNode";var a2=T.forwardRef(pg);function s2(){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 l=new Map;o.forEach(function(d){l.set(d,!0)});var u=a.filter(function(d){return!l.has(d)});return u.length===1?u[0]:null}return n<r?{add:!0,key:i(e,t)}:{add:!1,key:i(t,e)}}function hg(e,t,n){var r=e.findIndex(function(l){return l.key===n}),i=e[r+1],o=t.findIndex(function(l){return l.key===n});if(i){var a=t.findIndex(function(l){return l.key===i.key});return t.slice(o+1,a)}return t.slice(o+1)}var l2=["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"],gg={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},u2=function(){},Gr="RC_TREE_MOTION_".concat(Math.random()),Ul={key:Gr},vg={key:Gr,level:0,index:0,pos:"0",node:Ul,nodes:[Ul]},mg={parent:null,children:[],pos:vg.pos,data:Ul,title:null,key:Gr,isStart:[],isEnd:[]};function yg(e,t,n,r){return t===!1||!n?e:e.slice(0,Math.ceil(n/r)+1)}function bg(e){var t=e.key,n=e.pos;return uo(t,n)}function c2(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 xg=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,l=e.loadedKeys,u=e.loadingKeys,d=e.halfCheckedKeys,f=e.keyEntities,p=e.disabled,h=e.dragging,g=e.dragOverNodeKey,v=e.dropPosition,m=e.motion,w=e.height,x=e.itemHeight,_=e.virtual,S=e.focusable,C=e.activeItem,E=e.focused,k=e.tabIndex,P=e.onKeyDown,V=e.onFocus,B=e.onBlur,I=e.onActiveChange,A=e.onListChangeStart,$=e.onListChangeEnd,F=Ra(e,l2),M=T.useRef(null),L=T.useRef(null);T.useImperativeHandle(t,function(){return{scrollTo:function(qe){M.current.scrollTo(qe)},getIndentWidth:function(){return L.current.offsetWidth}}});var N=T.useState(i),R=xi(N,2),G=R[0],j=R[1],K=T.useState(r),q=xi(K,2),ne=q[0],ie=q[1],Y=T.useState(r),Z=xi(Y,2),de=Z[0],ce=Z[1],ue=T.useState([]),le=xi(ue,2),Ce=le[0],xe=le[1],X=T.useState(null),oe=xi(X,2),Se=oe[0],U=oe[1],we=T.useRef(r);we.current=r;function ve(){var ge=we.current;ie(ge),ce(ge),xe([]),U(null),$()}T.useEffect(function(){j(i);var ge=s2(G,i);if(ge.key!==null)if(ge.add){var qe=ne.findIndex(function(Fe){var dt=Fe.key;return dt===ge.key}),Ne=yg(hg(ne,r,ge.key),_,w,x),Je=ne.slice();Je.splice(qe+1,0,mg),ce(Je),xe(Ne),U("show")}else{var Te=r.findIndex(function(Fe){var dt=Fe.key;return dt===ge.key}),Ge=yg(hg(r,ne,ge.key),_,w,x),Ve=r.slice();Ve.splice(Te+1,0,mg),ce(Ve),xe(Ge),U("hide")}else ne!==r&&(ie(r),ce(r))},[i,r]),T.useEffect(function(){h||ve()},[h]);var Ee=m?de:r,Oe={expandedKeys:i,selectedKeys:o,loadedKeys:l,loadingKeys:u,checkedKeys:a,halfCheckedKeys:d,dragOverNodeKey:g,dropPosition:v,keyEntities:f};return y(be,{children:[E&&C&&s("span",{style:gg,"aria-live":"assertive",children:c2(C)}),s("div",{children:s("input",{style:gg,disabled:S===!1||p,tabIndex:S!==!1?k:null,onKeyDown:P,onFocus:V,onBlur:B,value:"",onChange:u2,"aria-label":"for screen reader"})}),s("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0},children:s("div",{className:"".concat(n,"-indent"),children:s("div",{ref:L,className:"".concat(n,"-indent-unit")})})}),s(Bl,{...F,data:Ee,itemKey:bg,height:w,fullHeight:!1,virtual:_,itemHeight:x,prefixCls:"".concat(n,"-list"),ref:M,onVisibleChange:function(qe,Ne){var Je=new Set(qe),Te=Ne.filter(function(Ge){return!Je.has(Ge)});Te.some(function(Ge){return bg(Ge)===Gr})&&ve()},children:function(ge){var qe=ge.pos,Ne=Oa({},(fg(ge.data),ge.data)),Je=ge.title,Te=ge.key,Ge=ge.isStart,Ve=ge.isEnd,Fe=uo(Te,qe);delete Ne.key,delete Ne.children;var dt=co(Fe,Oe);return s(a2,{...Ne,...dt,title:Je,active:!!C&&Te===C.key,pos:qe,data:ge.data,isStart:Ge,isEnd:Ve,motion:m,motionNodes:Te===Gr?Ce:null,motionType:Se,onMotionStart:A,onMotionEnd:ve,treeNodeRequiredProps:Oe,onMouseMove:function(){I(null)}})}})]})});xg.displayName="NodeList";function d2(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 s("div",{style:i})}var f2=10,Yl=function(e){rg(n,e);var t=ig(n);function n(){var r;eg(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:Pa()},r.dragStartMousePosition=null,r.dragNode=void 0,r.currentMouseOverDroppableNodeKey=null,r.listRef=T.createRef(),r.onNodeDragStart=function(l,u){var d=r.state,f=d.expandedKeys,p=d.keyEntities,h=r.props.onDragStart,g=u.props.eventKey;r.dragNode=u,r.dragStartMousePosition={x:l.clientX,y:l.clientY};var v=sr(f,g);r.setState({draggingNodeKey:g,dragChildrenKeys:JO(g,p),indent:r.listRef.current.getIndentWidth()}),r.setExpandedKeys(v),window.addEventListener("dragend",r.onWindowDragEnd),h==null||h({event:l,node:zt(u.props)})},r.onNodeDragEnter=function(l,u){var d=r.state,f=d.expandedKeys,p=d.keyEntities,h=d.dragChildrenKeys,g=d.flattenNodes,v=d.indent,m=r.props,w=m.onDragEnter,x=m.onExpand,_=m.allowDrop,S=m.direction,C=u.props,E=C.pos,k=C.eventKey,P=ar(r),V=P.dragNode;if(r.currentMouseOverDroppableNodeKey!==k&&(r.currentMouseOverDroppableNodeKey=k),!V){r.resetDragState();return}var B=ug(l,V,u,v,r.dragStartMousePosition,_,g,p,f,S),I=B.dropPosition,A=B.dropLevelOffset,$=B.dropTargetKey,F=B.dropContainerKey,M=B.dropTargetPos,L=B.dropAllowed,N=B.dragOverNodeKey;if(h.indexOf($)!==-1||!L){r.resetDragState();return}if(r.delayedDragEnterLogic||(r.delayedDragEnterLogic={}),Object.keys(r.delayedDragEnterLogic).forEach(function(R){clearTimeout(r.delayedDragEnterLogic[R])}),V.props.eventKey!==u.props.eventKey&&(l.persist(),r.delayedDragEnterLogic[E]=window.setTimeout(function(){if(r.state.draggingNodeKey!==null){var R=Br(f),G=p[u.props.eventKey];G&&(G.children||[]).length&&(R=Er(f,u.props.eventKey)),"expandedKeys"in r.props||r.setExpandedKeys(R),x==null||x(R,{node:zt(u.props),expanded:!0,nativeEvent:l.nativeEvent})}},800)),V.props.eventKey===$&&A===0){r.resetDragState();return}r.setState({dragOverNodeKey:N,dropPosition:I,dropLevelOffset:A,dropTargetKey:$,dropContainerKey:F,dropTargetPos:M,dropAllowed:L}),w==null||w({event:l,node:zt(u.props),expandedKeys:f})},r.onNodeDragOver=function(l,u){var d=r.state,f=d.dragChildrenKeys,p=d.flattenNodes,h=d.keyEntities,g=d.expandedKeys,v=d.indent,m=r.props,w=m.onDragOver,x=m.allowDrop,_=m.direction,S=ar(r),C=S.dragNode;if(!!C){var E=ug(l,C,u,v,r.dragStartMousePosition,x,p,h,g,_),k=E.dropPosition,P=E.dropLevelOffset,V=E.dropTargetKey,B=E.dropContainerKey,I=E.dropAllowed,A=E.dropTargetPos,$=E.dragOverNodeKey;f.indexOf(V)!==-1||!I||(C.props.eventKey===V&&P===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&&P===r.state.dropLevelOffset&&V===r.state.dropTargetKey&&B===r.state.dropContainerKey&&A===r.state.dropTargetPos&&I===r.state.dropAllowed&&$===r.state.dragOverNodeKey||r.setState({dropPosition:k,dropLevelOffset:P,dropTargetKey:V,dropContainerKey:B,dropTargetPos:A,dropAllowed:I,dragOverNodeKey:$}),w==null||w({event:l,node:zt(u.props)}))}},r.onNodeDragLeave=function(l,u){r.currentMouseOverDroppableNodeKey===u.props.eventKey&&!l.currentTarget.contains(l.relatedTarget)&&(r.resetDragState(),r.currentMouseOverDroppableNodeKey=null);var d=r.props.onDragLeave;d==null||d({event:l,node:zt(u.props)})},r.onWindowDragEnd=function(l){r.onNodeDragEnd(l,null,!0),window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDragEnd=function(l,u){var d=r.props.onDragEnd;r.setState({dragOverNodeKey:null}),r.cleanDragState(),d==null||d({event:l,node:zt(u.props)}),r.dragNode=null,window.removeEventListener("dragend",r.onWindowDragEnd)},r.onNodeDrop=function(l,u){var d,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=r.state,h=p.dragChildrenKeys,g=p.dropPosition,v=p.dropTargetKey,m=p.dropTargetPos,w=p.dropAllowed;if(!!w){var x=r.props.onDrop;if(r.setState({dragOverNodeKey:null}),r.cleanDragState(),v!==null){var _=Zt(Zt({},co(v,r.getTreeNodeRequiredProps())),{},{active:((d=r.getActiveItem())===null||d===void 0?void 0:d.key)===v,data:r.state.keyEntities[v].node}),S=h.indexOf(v)!==-1;at(!S,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var C=ql(m),E={event:l,node:zt(_),dragNode:r.dragNode?zt(r.dragNode.props):null,dragNodesKeys:[r.dragNode.props.eventKey].concat(h),dropToGap:g!==0,dropPosition:g+Number(C[C.length-1])};f||x==null||x(E),r.dragNode=null}}},r.cleanDragState=function(){var l=r.state.draggingNodeKey;l!==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(l,u){var d=r.state,f=d.expandedKeys,p=d.flattenNodes,h=u.expanded,g=u.key,v=u.isLeaf;if(!(v||l.shiftKey||l.metaKey||l.ctrlKey)){var m=p.filter(function(x){return x.key===g})[0],w=zt(Zt(Zt({},co(g,r.getTreeNodeRequiredProps())),{},{data:m.data}));r.setExpandedKeys(h?sr(f,g):Er(f,g)),r.onNodeExpand(l,w)}},r.onNodeClick=function(l,u){var d=r.props,f=d.onClick,p=d.expandAction;p==="click"&&r.triggerExpandActionExpand(l,u),f==null||f(l,u)},r.onNodeDoubleClick=function(l,u){var d=r.props,f=d.onDoubleClick,p=d.expandAction;p==="doubleClick"&&r.triggerExpandActionExpand(l,u),f==null||f(l,u)},r.onNodeSelect=function(l,u){var d=r.state.selectedKeys,f=r.state,p=f.keyEntities,h=f.fieldNames,g=r.props,v=g.onSelect,m=g.multiple,w=u.selected,x=u[h.key],_=!w;_?m?d=Er(d,x):d=[x]:d=sr(d,x);var S=d.map(function(C){var E=p[C];return E?E.node:null}).filter(function(C){return C});r.setUncontrolledState({selectedKeys:d}),v==null||v(d,{event:"select",selected:_,node:u,selectedNodes:S,nativeEvent:l.nativeEvent})},r.onNodeCheck=function(l,u,d){var f=r.state,p=f.keyEntities,h=f.checkedKeys,g=f.halfCheckedKeys,v=r.props,m=v.checkStrictly,w=v.onCheck,x=u.key,_,S={event:"check",node:u,checked:d,nativeEvent:l.nativeEvent};if(m){var C=d?Er(h,x):sr(h,x),E=sr(g,x);_={checked:C,halfChecked:E},S.checkedNodes=C.map(function(A){return p[A]}).filter(function(A){return A}).map(function(A){return A.node}),r.setUncontrolledState({checkedKeys:C})}else{var k=yi([].concat(Br(h),[x]),!0,p),P=k.checkedKeys,V=k.halfCheckedKeys;if(!d){var B=new Set(P);B.delete(x);var I=yi(Array.from(B),{checked:!1,halfCheckedKeys:V},p);P=I.checkedKeys,V=I.halfCheckedKeys}_=P,S.checkedNodes=[],S.checkedNodesPositions=[],S.halfCheckedKeys=V,P.forEach(function(A){var $=p[A];if(!!$){var F=$.node,M=$.pos;S.checkedNodes.push(F),S.checkedNodesPositions.push({node:F,pos:M})}}),r.setUncontrolledState({checkedKeys:P},!1,{halfCheckedKeys:V})}w==null||w(_,S)},r.onNodeLoad=function(l){var u=l.key,d=new Promise(function(f,p){r.setState(function(h){var g=h.loadedKeys,v=g===void 0?[]:g,m=h.loadingKeys,w=m===void 0?[]:m,x=r.props,_=x.loadData,S=x.onLoad;if(!_||v.indexOf(u)!==-1||w.indexOf(u)!==-1)return null;var C=_(l);return C.then(function(){var E=r.state.loadedKeys,k=Er(E,u);S==null||S(k,{event:"load",node:l}),r.setUncontrolledState({loadedKeys:k}),r.setState(function(P){return{loadingKeys:sr(P.loadingKeys,u)}}),f()}).catch(function(E){if(r.setState(function(P){return{loadingKeys:sr(P.loadingKeys,u)}}),r.loadingRetryTimes[u]=(r.loadingRetryTimes[u]||0)+1,r.loadingRetryTimes[u]>=f2){var k=r.state.loadedKeys;at(!1,"Retry for `loadData` many times but still failed. No more retry."),r.setUncontrolledState({loadedKeys:Er(k,u)}),f()}p(E)}),{loadingKeys:Er(w,u)}})});return d.catch(function(){}),d},r.onNodeMouseEnter=function(l,u){var d=r.props.onMouseEnter;d==null||d({event:l,node:u})},r.onNodeMouseLeave=function(l,u){var d=r.props.onMouseLeave;d==null||d({event:l,node:u})},r.onNodeContextMenu=function(l,u){var d=r.props.onRightClick;d&&(l.preventDefault(),d({event:l,node:u}))},r.onFocus=function(){var l=r.props.onFocus;r.setState({focused:!0});for(var u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];l==null||l.apply(void 0,d)},r.onBlur=function(){var l=r.props.onBlur;r.setState({focused:!1}),r.onActiveChange(null);for(var u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];l==null||l.apply(void 0,d)},r.getTreeNodeRequiredProps=function(){var l=r.state,u=l.expandedKeys,d=l.selectedKeys,f=l.loadedKeys,p=l.loadingKeys,h=l.checkedKeys,g=l.halfCheckedKeys,v=l.dragOverNodeKey,m=l.dropPosition,w=l.keyEntities;return{expandedKeys:u||[],selectedKeys:d||[],loadedKeys:f||[],loadingKeys:p||[],checkedKeys:h||[],halfCheckedKeys:g||[],dragOverNodeKey:v,dropPosition:m,keyEntities:w}},r.setExpandedKeys=function(l){var u=r.state,d=u.treeData,f=u.fieldNames,p=Wl(d,l,f);r.setUncontrolledState({expandedKeys:l,flattenNodes:p},!0)},r.onNodeExpand=function(l,u){var d=r.state.expandedKeys,f=r.state,p=f.listChanging,h=f.fieldNames,g=r.props,v=g.onExpand,m=g.loadData,w=u.expanded,x=u[h.key];if(!p){var _=d.indexOf(x),S=!w;if(at(w&&_!==-1||!w&&_===-1,"Expand state not sync with index check"),S?d=Er(d,x):d=sr(d,x),r.setExpandedKeys(d),v==null||v(d,{node:u,expanded:S,nativeEvent:l.nativeEvent}),S&&m){var C=r.onNodeLoad(u);C&&C.then(function(){var E=Wl(r.state.treeData,d,h);r.setUncontrolledState({flattenNodes:E})}).catch(function(){var E=r.state.expandedKeys,k=sr(E,x);r.setExpandedKeys(k)})}}},r.onListChangeStart=function(){r.setUncontrolledState({listChanging:!0})},r.onListChangeEnd=function(){setTimeout(function(){r.setUncontrolledState({listChanging:!1})})},r.onActiveChange=function(l){var u=r.state.activeKey,d=r.props.onActiveChange;u!==l&&(r.setState({activeKey:l}),l!==null&&r.scrollTo({key:l}),d==null||d(l))},r.getActiveItem=function(){var l=r.state,u=l.activeKey,d=l.flattenNodes;return u===null?null:d.find(function(f){var p=f.key;return p===u})||null},r.offsetActiveKey=function(l){var u=r.state,d=u.flattenNodes,f=u.activeKey,p=d.findIndex(function(v){var m=v.key;return m===f});p===-1&&l<0&&(p=d.length),p=(p+l+d.length)%d.length;var h=d[p];if(h){var g=h.key;r.onActiveChange(g)}else r.onActiveChange(null)},r.onKeyDown=function(l){var u=r.state,d=u.activeKey,f=u.expandedKeys,p=u.checkedKeys,h=u.fieldNames,g=r.props,v=g.onKeyDown,m=g.checkable,w=g.selectable;switch(l.which){case se.UP:{r.offsetActiveKey(-1),l.preventDefault();break}case se.DOWN:{r.offsetActiveKey(1),l.preventDefault();break}}var x=r.getActiveItem();if(x&&x.data){var _=r.getTreeNodeRequiredProps(),S=x.data.isLeaf===!1||!!(x.data[h.children]||[]).length,C=zt(Zt(Zt({},co(d,_)),{},{data:x.data,active:!0}));switch(l.which){case se.LEFT:{S&&f.includes(d)?r.onNodeExpand({},C):x.parent&&r.onActiveChange(x.parent.key),l.preventDefault();break}case se.RIGHT:{S&&!f.includes(d)?r.onNodeExpand({},C):x.children&&x.children.length&&r.onActiveChange(x.children[0].key),l.preventDefault();break}case se.ENTER:case se.SPACE:{m&&!C.disabled&&C.checkable!==!1&&!C.disableCheckbox?r.onNodeCheck({},C,!p.includes(d)):!m&&w&&!C.disabled&&C.selectable!==!1&&r.onNodeSelect({},C);break}}}v==null||v(l)},r.setUncontrolledState=function(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(!r.destroyed){var f=!1,p=!0,h={};Object.keys(l).forEach(function(g){if(g in r.props){p=!1;return}f=!0,h[g]=l[g]}),f&&(!u||p)&&r.setState(Zt(Zt({},h),d))}},r.scrollTo=function(l){r.listRef.current.scrollTo(l)},r}return ng(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,l=o.flattenNodes,u=o.keyEntities,d=o.draggingNodeKey,f=o.activeKey,p=o.dropLevelOffset,h=o.dropContainerKey,g=o.dropTargetKey,v=o.dropPosition,m=o.dragOverNodeKey,w=o.indent,x=this.props,_=x.prefixCls,S=x.className,C=x.style,E=x.showLine,k=x.focusable,P=x.tabIndex,V=P===void 0?0:P,B=x.selectable,I=x.showIcon,A=x.icon,$=x.switcherIcon,F=x.draggable,M=x.checkable,L=x.checkStrictly,N=x.disabled,R=x.motion,G=x.loadData,j=x.filterTreeNode,K=x.height,q=x.itemHeight,ne=x.virtual,ie=x.titleRender,Y=x.dropIndicatorRender,Z=x.onContextMenu,de=x.onScroll,ce=x.direction,ue=x.rootClassName,le=x.rootStyle,Ce=ri(this.props,{aria:!0,data:!0}),xe;return F&&(or(F)==="object"?xe=F:typeof F=="function"?xe={nodeDraggable:F}:xe={}),s(Kl.Provider,{value:{prefixCls:_,selectable:B,showIcon:I,icon:A,switcherIcon:$,draggable:xe,draggingNodeKey:d,checkable:M,checkStrictly:L,disabled:N,keyEntities:u,dropLevelOffset:p,dropContainerKey:h,dropTargetKey:g,dropPosition:v,dragOverNodeKey:m,indent:w,direction:ce,dropIndicatorRender:Y,loadData:G,filterTreeNode:j,titleRender:ie,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:s("div",{role:"tree",className:gt(_,S,ue,(i={},kt(i,"".concat(_,"-show-line"),E),kt(i,"".concat(_,"-focused"),a),kt(i,"".concat(_,"-active-focused"),f!==null),i)),style:le,children:s(xg,{ref:this.listRef,prefixCls:_,style:C,data:l,disabled:N,selectable:B,checkable:!!M,motion:R,dragging:d!==null,height:K,itemHeight:q,virtual:ne,focusable:k,focused:a,tabIndex:V,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:Z,onScroll:de,...this.getTreeNodeRequiredProps(),...Ce})})})}}],[{key:"getDerivedStateFromProps",value:function(i,o){var a=o.prevProps,l={prevProps:i};function u(k){return!a&&k in i||a&&a[k]!==i[k]}var d,f=o.fieldNames;if(u("fieldNames")&&(f=Pa(i.fieldNames),l.fieldNames=f),u("treeData")?d=i.treeData:u("children")&&(at(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),d=HO(i.children)),d){l.treeData=d;var p=og(d,{fieldNames:f});l.keyEntities=Zt(kt({},Gr,vg),p.keyEntities),process.env.NODE_ENV!=="production"&&qO(d,f)}var h=l.keyEntities||o.keyEntities;if(u("expandedKeys")||a&&u("autoExpandParent"))l.expandedKeys=i.autoExpandParent||!a&&i.defaultExpandParent?dg(i.expandedKeys,h):i.expandedKeys;else if(!a&&i.defaultExpandAll){var g=Zt({},h);delete g[Gr],l.expandedKeys=Object.keys(g).map(function(k){return g[k].key})}else!a&&i.defaultExpandedKeys&&(l.expandedKeys=i.autoExpandParent||i.defaultExpandParent?dg(i.defaultExpandedKeys,h):i.defaultExpandedKeys);if(l.expandedKeys||delete l.expandedKeys,d||l.expandedKeys){var v=Wl(d||o.treeData,l.expandedKeys||o.expandedKeys,f);l.flattenNodes=v}if(i.selectable&&(u("selectedKeys")?l.selectedKeys=cg(i.selectedKeys,i):!a&&i.defaultSelectedKeys&&(l.selectedKeys=cg(i.defaultSelectedKeys,i))),i.checkable){var m;if(u("checkedKeys")?m=Hl(i.checkedKeys)||{}:!a&&i.defaultCheckedKeys?m=Hl(i.defaultCheckedKeys)||{}:d&&(m=Hl(i.checkedKeys)||{checkedKeys:o.checkedKeys,halfCheckedKeys:o.halfCheckedKeys}),m){var w=m,x=w.checkedKeys,_=x===void 0?[]:x,S=w.halfCheckedKeys,C=S===void 0?[]:S;if(!i.checkStrictly){var E=yi(_,!0,h);_=E.checkedKeys,C=E.halfCheckedKeys}l.checkedKeys=_,l.halfCheckedKeys=C}}return u("loadedKeys")&&(l.loadedKeys=i.loadedKeys),l}}]),n}(T.Component);Yl.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:d2,allowDrop:function(){return!0},expandAction:!1},Yl.TreeNode=bi;var wg=T.createContext(null),Cg=T.createContext(null);function Sg(e){return Array.isArray(e)?e:e!==void 0?[e]:[]}function p2(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 Xl(e){return!e||e.disabled||e.disableCheckbox||e.checkable===!1}function h2(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 Ql(e){return e==null}var g2={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},v2=function(t,n){var r=pf(),i=r.prefixCls,o=r.multiple,a=r.searchValue,l=r.toggleOpen,u=r.open,d=r.notFoundContent,f=T.useContext(Cg),p=f.virtual,h=f.listHeight,g=f.listItemHeight,v=f.treeData,m=f.fieldNames,w=f.onSelect,x=f.dropdownMatchSelectWidth,_=f.treeExpandAction,S=T.useContext(wg),C=S.checkable,E=S.checkedKeys,k=S.halfCheckedKeys,P=S.treeExpandedKeys,V=S.treeDefaultExpandAll,B=S.treeDefaultExpandedKeys,I=S.onTreeExpand,A=S.treeIcon,$=S.showTreeIcon,F=S.switcherIcon,M=S.treeLine,L=S.treeNodeFilterProp,N=S.loadData,R=S.treeLoadedKeys,G=S.treeMotion,j=S.onTreeLoad,K=S.keyEntities,q=T.useRef(),ne=Qs(function(){return v},[u,v],function(Te,Ge){return Ge[0]&&Te[1]!==Ge[1]}),ie=T.useMemo(function(){return C?{checked:E,halfChecked:k}:null},[C,E,k]);T.useEffect(function(){if(u&&!o&&E.length){var Te;(Te=q.current)===null||Te===void 0||Te.scrollTo({key:E[0]})}},[u]);var Y=String(a).toLowerCase(),Z=function(Ge){return Y?String(Ge[L]).toLowerCase().includes(Y):!1},de=T.useState(B),ce=yr(de,2),ue=ce[0],le=ce[1],Ce=T.useState(null),xe=yr(Ce,2),X=xe[0],oe=xe[1],Se=T.useMemo(function(){return P?mr(P):a?X:ue},[ue,X,P,a]);T.useEffect(function(){a&&oe(h2(v,m))},[a]);var U=function(Ge){le(Ge),oe(Ge),I&&I(Ge)},we=function(Ge){Ge.preventDefault()},ve=function(Ge,Ve){var Fe=Ve.node;C&&Xl(Fe)||(w(Fe.key,{selected:!E.includes(Fe.key)}),o||l(!1))},Ee=T.useState(null),Oe=yr(Ee,2),ge=Oe[0],qe=Oe[1],Ne=K[ge];if(T.useImperativeHandle(n,function(){var Te;return{scrollTo:(Te=q.current)===null||Te===void 0?void 0:Te.scrollTo,onKeyDown:function(Ve){var Fe,dt=Ve.which;switch(dt){case se.UP:case se.DOWN:case se.LEFT:case se.RIGHT:(Fe=q.current)===null||Fe===void 0||Fe.onKeyDown(Ve);break;case se.ENTER:{if(Ne){var lt=(Ne==null?void 0:Ne.node)||{},Ue=lt.selectable,ut=lt.value;Ue!==!1&&ve(null,{node:{key:ge},selected:!E.includes(ut)})}break}case se.ESC:l(!1)}},onKeyUp:function(){}}}),ne.length===0)return s("div",{role:"listbox",className:"".concat(i,"-empty"),onMouseDown:we,children:d});var Je={fieldNames:m};return R&&(Je.loadedKeys=R),Se&&(Je.expandedKeys=Se),y("div",{onMouseDown:we,children:[Ne&&u&&s("span",{style:g2,"aria-live":"assertive",children:Ne.node.value}),s(Yl,{ref:q,focusable:!1,prefixCls:"".concat(i,"-tree"),treeData:ne,height:h,itemHeight:g,virtual:p!==!1&&x!==!1,multiple:o,icon:A,showIcon:$,switcherIcon:F,showLine:M,loadData:a?null:N,motion:G,activeKey:ge,checkable:C,checkStrictly:!0,checkedKeys:ie,selectedKeys:C?[]:E,defaultExpandAll:V,...Je,onActiveChange:qe,onSelect:ve,onCheck:ve,onExpand:U,onLoad:j,filterTreeNode:Z,expandAction:_})]})},_g=T.forwardRef(v2);_g.displayName="OptionList";var Eg=function(){return null},m2="SHOW_ALL",Zl="SHOW_PARENT",Jl="SHOW_CHILD";function Tg(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(l){var u=l.node;return i.has(u[r.value])})&&a.children.every(function(l){var u=l.node;return Xl(u)||i.has(u[r.value])}))}):t===Zl?e.filter(function(o){var a=n[o],l=a?a.parent:null;return!(l&&!Xl(l.node)&&i.has(l.key))}):e}var y2=["children","value"];function Mg(e){return xr(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,l=Yd(i,y2),u=_n({key:r,value:a},l),d=Mg(o);return d.length&&(u.children=d),u}).filter(function(t){return t})}function eu(e){if(!e)return e;var t=_n({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return at(!1,"New `rc-tree-select` not support return node instance as argument anymore. Please consider to remove `props` access."),t}}),t}function b2(e,t,n,r,i,o){var a=null,l=null;function u(){function d(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"0",h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return f.map(function(g,v){var m="".concat(p,"-").concat(v),w=g[o.value],x=n.includes(w),_=d(g[o.children]||[],m,x),S=s(Eg,{...g,children:_.map(function(E){return E.node})});if(t===w&&(a=S),x){var C={pos:m,node:S,children:_};return h||l.push(C),C}return null}).filter(function(g){return g})}l||(l=[],d(r),l.sort(function(f,p){var h=f.node.props.value,g=p.node.props.value,v=n.indexOf(h),m=n.indexOf(g);return v-m}))}Object.defineProperty(e,"triggerNode",{get:function(){return at(!1,"`triggerNode` is deprecated. Please consider decoupling data with node."),u(),a}}),Object.defineProperty(e,"allCheckedNodes",{get:function(){return at(!1,"`allCheckedNodes` is deprecated. Please consider decoupling data with node."),u(),i?l:l.map(function(f){var p=f.node;return p})}})}function x2(e,t){var n=t.id,r=t.pId,i=t.rootPId,o={},a=[],l=e.map(function(u){var d=_n({},u),f=d[n];return o[f]=d,d.key=d.key||f,d});return l.forEach(function(u){var d=u[r],f=o[d];f&&(f.children=f.children||[],f.children.push(u)),(d===i||!f&&i===null)&&a.push(u)}),a}function w2(e,t,n){return T.useMemo(function(){return e?n?x2(e,_n({id:"id",pId:"pId",rootPId:null},n!==!0?n:{})):e:Mg(t)},[t,n,e])}const C2=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,l=o.value,u=(a=o.label)!==null&&a!==void 0?a:n.get(l);return r.set(l,u),_n(_n({},o),{},{label:u})});return t.current.valueLabels=r,[i]},[e])};function kg(e){var t=T.useRef();t.current=e;var n=T.useCallback(function(){return t.current.apply(t,arguments)},[]);return n}const S2=function(e,t){return T.useMemo(function(){var n=og(e,{fieldNames:t,initWrapper:function(i){return _n(_n({},i),{},{valueEntities:new Map})},processEntity:function(i,o){var a=i.node[t.value];if(process.env.NODE_ENV!=="production"){var l=i.node.key;at(!Ql(a),"TreeNode `value` is invalidate: undefined"),at(!o.valueEntities.has(a),"Same `value` exist in the tree: ".concat(a)),at(!l||String(l)===String(a),"`key` or `value` with TreeNode must be the same or you can remove one of them. key: ".concat(l,", value: ").concat(a,"."))}o.valueEntities.set(a,i)}});return n},[e,t])},_2=function(e,t,n,r){return T.useMemo(function(){var i=e.map(function(u){var d=u.value;return d}),o=t.map(function(u){var d=u.value;return d}),a=i.filter(function(u){return!r[u]});if(n){var l=yi(i,!0,r);i=l.checkedKeys,o=l.halfCheckedKeys}return[Array.from(new Set([].concat(mr(a),mr(i)))),o]},[e,t,n,r])},E2=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 l;if(typeof i=="function")l=i;else{var u=t.toUpperCase();l=function(p,h){var g=h[r];return String(g).toUpperCase().includes(u)}}function d(f){var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return f.map(function(h){var g=h[a],v=p||l(t,eu(h)),m=d(g||[],v);return v||m.length?_n(_n({},h),{},Hd({isLeaf:void 0},a,m)):null}).filter(function(h){return h})}return d(e)},[e,t,a,r,i])};function T2(e){var t=e.searchPlaceholder,n=e.treeCheckStrictly,r=e.treeCheckable,i=e.labelInValue,o=e.value,a=e.multiple;at(!t,"`searchPlaceholder` has been removed."),n&&i===!1&&at(!1,"`treeCheckStrictly` will force set `labelInValue` to `true`."),(i||n)&&at(Sg(o).every(function(l){return l&&Vr(l)==="object"&&"value"in l}),"Invalid prop `value` supplied to `TreeSelect`. You should use { label: string, value: string | number } or [{ label: string, value: string | number }] instead."),n||a||r?at(!o||Array.isArray(o),"`value` should be an array when `TreeSelect` is checkable or multiple."):at(!Array.isArray(o),"`value` should not be array when `TreeSelect` is single mode.")}var M2=["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 k2(e){return!e||Vr(e)!=="object"}var Dg=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,l=e.onChange,u=e.onSelect,d=e.onDeselect,f=e.searchValue,p=e.inputValue,h=e.onSearch,g=e.autoClearSearchValue,v=g===void 0?!0:g,m=e.filterTreeNode,w=e.treeNodeFilterProp,x=w===void 0?"value":w,_=e.showCheckedStrategy,S=_===void 0?Jl:_,C=e.treeNodeLabelProp,E=e.multiple,k=e.treeCheckable,P=e.treeCheckStrictly,V=e.labelInValue,B=e.fieldNames,I=e.treeDataSimpleMode,A=e.treeData,$=e.children,F=e.loadData,M=e.treeLoadedKeys,L=e.onTreeLoad,N=e.treeDefaultExpandAll,R=e.treeExpandedKeys,G=e.treeDefaultExpandedKeys,j=e.onTreeExpand,K=e.treeExpandAction,q=e.virtual,ne=e.listHeight,ie=ne===void 0?200:ne,Y=e.listItemHeight,Z=Y===void 0?20:Y,de=e.onDropdownVisibleChange,ce=e.dropdownMatchSelectWidth,ue=ce===void 0?!0:ce,le=e.treeLine,Ce=e.treeIcon,xe=e.showTreeIcon,X=e.switcherIcon,oe=e.treeMotion,Se=Yd(e,M2),U=Ah(n),we=k&&!P,ve=k||P,Ee=P||V,Oe=ve||E,ge=Hi(a,{value:o}),qe=yr(ge,2),Ne=qe[0],Je=qe[1];process.env.NODE_ENV!=="production"&&T2(e);var Te=T.useMemo(function(){return p2(B)},[JSON.stringify(B)]),Ge=Hi("",{value:f!==void 0?f:p,postState:function(he){return he||""}}),Ve=yr(Ge,2),Fe=Ve[0],dt=Ve[1],lt=function(he){dt(he),h==null||h(he)},Ue=w2(A,$,I),ut=S2(Ue,Te),_e=ut.keyEntities,$e=ut.valueEntities,rt=T.useCallback(function(J){var he=[],ye=[];return J.forEach(function(Me){$e.has(Me)?ye.push(Me):he.push(Me)}),{missingRawValues:he,existRawValues:ye}},[$e]),Ot=E2(Ue,Fe,{fieldNames:Te,treeNodeFilterProp:x,filterTreeNode:m}),ct=T.useCallback(function(J){if(J){if(C)return J[C];for(var he=Te._title,ye=0;ye<he.length;ye+=1){var Me=J[he[ye]];if(Me!==void 0)return Me}}},[Te,C]),At=T.useCallback(function(J){var he=Sg(J);return he.map(function(ye){return k2(ye)?{value:ye}:ye})},[]),ft=T.useCallback(function(J){var he=At(J);return he.map(function(ye){var Me=ye.label,Le=ye.value,Ae=ye.halfChecked,We,Be=$e.get(Le);if(Be){var Xe;Me=(Xe=Me)!==null&&Xe!==void 0?Xe:ct(Be.node),We=Be.node.disabled}else if(Me===void 0){var Et=At(Ne).find(function(on){return on.value===Le});Me=Et.label}return{label:Me,value:Le,halfChecked:Ae,disabled:We}})},[$e,ct,At,Ne]),Wt=T.useMemo(function(){return At(Ne)},[At,Ne]),Rt=T.useMemo(function(){var J=[],he=[];return Wt.forEach(function(ye){ye.halfChecked?he.push(ye):J.push(ye)}),[J,he]},[Wt]),wt=yr(Rt,2),Tt=wt[0],Ut=wt[1],yt=T.useMemo(function(){return Tt.map(function(J){return J.value})},[Tt]),pn=_2(Tt,Ut,we,_e),Gt=yr(pn,2),ae=Gt[0],pe=Gt[1],me=T.useMemo(function(){var J=Tg(ae,S,_e,Te),he=J.map(function(Ae){var We,Be,Xe;return(We=(Be=_e[Ae])===null||Be===void 0||(Xe=Be.node)===null||Xe===void 0?void 0:Xe[Te.value])!==null&&We!==void 0?We:Ae}),ye=he.map(function(Ae){var We=Tt.find(function(Be){return Be.value===Ae});return{value:Ae,label:We==null?void 0:We.label}}),Me=ft(ye),Le=Me[0];return!Oe&&Le&&Ql(Le.value)&&Ql(Le.label)?[]:Me.map(function(Ae){var We;return _n(_n({},Ae),{},{label:(We=Ae.label)!==null&&We!==void 0?We:Ae.value})})},[Te,Oe,ae,Tt,ft,S,_e]),Re=C2(me),et=yr(Re,1),pt=et[0],Yt=kg(function(J,he,ye){var Me=ft(J);if(Je(Me),v&&dt(""),l){var Le=J;if(we){var Ae=Tg(J,S,_e,Te);Le=Ae.map(function(ln){var un=$e.get(ln);return un?un.node[Te.value]:ln})}var We=he||{triggerValue:void 0,selected:void 0},Be=We.triggerValue,Xe=We.selected,Et=Le;if(P){var on=Ut.filter(function(ln){return!Le.includes(ln.value)});Et=[].concat(mr(Et),mr(on))}var wn=ft(Et),Pt={preValue:Tt,triggerValue:Be},Xn=!0;(P||ye==="selection"&&!Xe)&&(Xn=!1),b2(Pt,Be,J,Ue,Xn,Te),ve?Pt.checked=Xe:Pt.selected=Xe;var hr=Ee?wn:wn.map(function(ln){return ln.value});l(Oe?hr:hr[0],Ee?null:wn.map(function(ln){return ln.label}),Pt)}}),Xt=T.useCallback(function(J,he){var ye,Me=he.selected,Le=he.source,Ae=_e[J],We=Ae==null?void 0:Ae.node,Be=(ye=We==null?void 0:We[Te.value])!==null&&ye!==void 0?ye:J;if(!Oe)Yt([Be],{selected:!0,triggerValue:Be},"option");else{var Xe=Me?[].concat(mr(yt),[Be]):ae.filter(function(un){return un!==Be});if(we){var Et=rt(Xe),on=Et.missingRawValues,wn=Et.existRawValues,Pt=wn.map(function(un){return $e.get(un).key}),Xn;if(Me){var hr=yi(Pt,!0,_e);Xn=hr.checkedKeys}else{var ln=yi(Pt,{checked:!1,halfCheckedKeys:pe},_e);Xn=ln.checkedKeys}Xe=[].concat(mr(on),mr(Xn.map(function(un){return _e[un].node[Te.value]})))}Yt(Xe,{selected:Me,triggerValue:Be},Le||"option")}Me||!Oe?u==null||u(Be,eu(We)):d==null||d(Be,eu(We))},[rt,$e,_e,Te,Oe,yt,Yt,we,u,d,ae,pe]),hn=T.useCallback(function(J){if(de){var he={};Object.defineProperty(he,"documentClickClose",{get:function(){return at(!1,"Second param of `onDropdownVisibleChange` has been removed."),!1}}),de(J,he)}},[de]),Ct=kg(function(J,he){var ye=J.map(function(Me){return Me.value});if(he.type==="clear"){Yt(ye,{},"selection");return}he.values.length&&Xt(he.values[0].value,{selected:!1,source:"selection"})}),z=T.useMemo(function(){return{virtual:q,dropdownMatchSelectWidth:ue,listHeight:ie,listItemHeight:Z,treeData:Ot,fieldNames:Te,onSelect:Xt,treeExpandAction:K}},[q,ue,ie,Z,Ot,Te,Xt,K]),te=T.useMemo(function(){return{checkable:ve,loadData:F,treeLoadedKeys:M,onTreeLoad:L,checkedKeys:ae,halfCheckedKeys:pe,treeDefaultExpandAll:N,treeExpandedKeys:R,treeDefaultExpandedKeys:G,onTreeExpand:j,treeIcon:Ce,treeMotion:oe,showTreeIcon:xe,switcherIcon:X,treeLine:le,treeNodeFilterProp:x,keyEntities:_e}},[ve,F,M,L,ae,pe,N,R,G,j,Ce,oe,xe,X,le,x,_e]);return s(Cg.Provider,{value:z,children:s(wg.Provider,{value:te,children:s(Ll,{ref:t,...Se,id:U,prefixCls:i,mode:Oe?"multiple":void 0,displayValues:pt,onDisplayValuesChange:Ct,searchValue:Fe,onSearch:lt,OptionList:_g,emptyOptions:!Ue.length,onDropdownVisibleChange:hn,dropdownMatchSelectWidth:ue})})})});process.env.NODE_ENV!=="production"&&(Dg.displayName="TreeSelect");var fo=Dg;fo.TreeNode=Eg,fo.SHOW_ALL=m2,fo.SHOW_PARENT=Zl,fo.SHOW_CHILD=Jl;const D2=({rotate:e,onClick:t})=>s("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:s("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"})}),O2=({expanded:e,isLeaf:t,value:n,onClick:r,...i})=>(n==="0-0-value"&&console.log(i),t?s("span",{style:{width:"14px",display:"inline-block"}}):s(D2,{rotate:e?"0":"-90",onClick:r,...i})),A2=({onClick:e})=>y("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:[s("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),s("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),s("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),s("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),R2=({onClick:e,...t})=>s(A2,{onClick:e,...t}),P2=c.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"}}}})),I2=({disabled:e,classNames:t,styles:n,unstyled:r,radius:i,style:o,label:a,value:l,onChange:u,treeData:d})=>{const{classes:f,cx:p}=P2({radius:i},{name:"FilterTreeSelectWidget",classNames:t,styles:n,unstyled:r}),[h,g]=b.useState((l==null?void 0:l.length)>0),v=w=>{g(w)},m=h&&(l==null?void 0:l.length)>0;return y(c.Stack,{spacing:3,children:[y(c.Group,{position:"apart",children:[s(c.Text,{className:f.label,children:a}),m&&s(c.Tooltip,{label:`${l.length} selected`,children:s(c.Badge,{children:l.length})})]}),s(fo,{disabled:e,allowClear:!0,className:p(f.root,"check-select"),dropdownClassName:p(f.dropdown,""),onDropdownVisibleChange:v,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>s(c.CloseButton,{}),switcherIcon:O2,treeIcon:R2,maxTagTextLength:10,value:l,treeData:d,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Zl,onChange:u,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:w=>`${w.length} selected`})]})};function N2(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=y("div",{children:[s(c.Text,{title:t.label,children:t.label}),s(c.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const $2=ee.observer(({label:e,config:t,value:n,onChange:r})=>{const i=Ie(),{state:o,dataProxy:a,len:l}=i.getDataStuffByID(t.options_query_id),u=o==="loading",d=b.useMemo(()=>{if(!a)return[];const g=[...a],v=N2(g);return Zx(v)},[a,l]);b.useEffect(()=>{const{default_selection_count:g}=t;if(!g)return;if(d.length===0){console.log("[filter.tree-select] Resetting to empty"),r([],!0);return}const v=d.slice(0,g).map(m=>m.value);console.log(`[filter.tree-select] Selecting first ${g} option(s)`),r(v,!0)},[t.default_selection_count,d]);const f=t.min_width?t.min_width:"200px",h=!!t.options_query_id?u:!1;return s(I2,{disabled:h,style:{minWidth:f,maxWidth:h?f:"unset",borderColor:"#e9ecef"},value:n,onChange:g=>r(g,!1),treeData:d,label:e})}),L2=ee.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return s(Xx,{...r,...i,config:t});case"multi-select":return s(Yx,{...r,...i,config:t});case"tree-select":return s($2,{...r,...i,config:t});case"text-input":return s(Qx,{...r,...i,config:t});case"date-range":return s(Bd,{...r,...i,config:t});case"checkbox":return s(qx,{...r,...i,config:t});default:return null}}),Og=ee.observer(Q.default.forwardRef(({filter:e,...t},n)=>s("div",{className:"filter-root",ref:n,children:s(Zn,{children:s(L2,{filter:e,formFieldProps:t})})}))),Ag=ee.observer(function({view:t}){const n=Ie(),{control:r,handleSubmit:i,reset:o}=D.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),a=D.useWatch({control:r});b.useEffect(()=>{o(n.filters.values)},[n.filters.values,o]),b.useEffect(()=>{n.filters.updatePreviewValues(a)},[a]);const l=n.filters.visibleInView(t.id),u=b.useMemo(()=>l.every(h=>h.should_auto_submit),[l]),d=b.useMemo(()=>l.filter(h=>H.default.get(h,"config.required",!1)),[l]),f=b.useMemo(()=>d.length===0?!1:d.some(h=>!h.requiredAndPass(a[h.key])),[a,d]);if(l.length===0)return null;const p=(h,g)=>(v,m)=>{g(v),(h.should_auto_submit||m)&&n.filters.setValueByKey(h.key,v)};return s("form",{onSubmit:i(n.filters.setValues),children:y(c.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:u?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[s(c.Group,{align:"flex-start",children:l.map(h=>s(D.Controller,{name:h.key,control:r,render:({field:g})=>s(Og,{filter:h,value:g.value,onChange:p(h,g.onChange)})},h.id))}),!u&&s(c.Group,{sx:{alignSelf:"flex-end"},children:s(c.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),oq="";function V2(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const Rg=ee.observer(()=>{const{freezeLayout:e}=Q.default.useContext(Lr),[t,n]=Q.default.useState(!1),{panel:r}=Qt();return Q.default.useEffect(()=>{e(t)},[t]),V2(r.description)?null:y(be,{children:[s(c.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:s(Xo,{value:r.description,styles:{root:{border:"none"},content:{padding:0}}})}),s(c.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:s(c.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:s(re.InfoCircle,{size:20})})})]})}),z2=ee.observer(({view:e})=>{const t=Ie(),n=Vn.useModals(),{panel:r}=Qt(),{id:i,query:o}=r,{inEditMode:a}=Q.default.useContext(Lr),l=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:u,inFullScreen:d}=Q.default.useContext(Bs),f=()=>{e.panels.duplicateByID(i)},p=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",i])},h=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(i),confirmProps:{color:"red"},zIndex:320}),g=Q.default.useCallback(()=>{u(i)},[i,u]),v=!d&&e.type!==ot.Modal;return s(be,{children:s(c.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:y(c.Menu,{withinPortal:!0,children:[s(c.Menu.Target,{children:s(c.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),y(c.Menu.Dropdown,{children:[s(c.Menu.Item,{onClick:l,icon:s(re.Refresh,{size:14}),children:"Refresh"}),s(c.Menu.Item,{onClick:()=>{var m;return t.queries.downloadDataByQueryID((m=o==null?void 0:o.id)!=null?m:"")},icon:s(re.Download,{size:14}),children:"Download Data"}),v&&s(c.Menu.Item,{onClick:g,icon:s(re.ArrowsMaximize,{size:14}),disabled:a,children:"Full Screen"}),a&&y(be,{children:[s(c.Divider,{label:"Edit",labelPosition:"center"}),s(c.Menu.Item,{onClick:p,icon:s(re.Settings,{size:14}),children:"Settings"}),s(c.Menu.Item,{onClick:f,icon:s(re.Copy,{size:14}),children:"Duplicate"}),s(c.Menu.Item,{color:"red",onClick:h,icon:s(re.Trash,{size:14}),children:"Delete"})]})]})]})})})}),aq="",F2=ee.observer(function(){const{panel:t}=Qt(),{title:n}=t;return n?s(c.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:s(c.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null}),Bn=(e,t)=>{const[n,r]=b.useState([]);return b.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(o=>o.schemaRef===t))),[]),n};class wi{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,W.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:W.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=W.get(i,t),l=W.get(o,t);a!==l&&n(a,l)},r)}}class tu{constructor(t,n,r){ke(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new wi(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new wi(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new wi(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(W.values(t).map(n=>this.constructInstance(new wi(this.attachmentStorage,n.id))))}}class Pg{constructor(t){ke(this,"rootRef");this.rootRef=It.observable({current:t})}async deleteItem(t){It.runInAction(()=>{W.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?It.toJS(this.rootRef.current):W.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(W.isObject(n))It.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else It.runInAction(()=>{W.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return It.reaction(()=>this.getValueFromRoot(t),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:W.get(r,"fireImmediately",!1)})}}class B2{constructor(){ke(this,"channels",new Map);ke(this,"globalChannel",new bd.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new bd.default;return this.channels.set(t,r),r}}class G2{constructor(t){ke(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 B2,instanceData:new Pg(t.viz.conf)};return this.instances.set(t.id,r),r}}function Ig(e,t,n,r){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Pg({}),colorPalette:{getColor(){return()=>""}},data:t,variables:r}}const j2=e=>{const{panel:t,vizManager:n,data:r,variables:i}=e,o=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),l={...Ig(a,r,n,i),viewport:{width:t.layout.w,height:t.layout.h}},u=o.viewRender;return s(u,{context:l,instance:a,...W.omit(e,["panel","vizManager","data"])})},K2=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i,variables:o}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),u={...Ig(l,i,t,o),panelInfoEditor:r},d=a.configRender;return s(d,{context:u,instance:l,...W.omit(e,["panel","vizManager","data","panelInfoEditor"])})},Ng=(e,t)=>{const n=Gi.default.bezier(e),r=Gi.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},Ia=e=>{const t=Gi.default.bezier(e);return function(n){return t(n/100).hex()}},W2={type:"interpolation",displayName:"Red / Green",getColor:Ng(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},q2={type:"interpolation",displayName:"Yellow / Blue",getColor:Ng(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},H2={type:"interpolation",displayName:"Red",getColor:Ia(["#fff7f1","darkred"]),name:"red",category:"sequential"},U2={type:"interpolation",displayName:"Green",getColor:Ia(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Y2={type:"interpolation",displayName:"Blue",getColor:Ia(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},X2={type:"interpolation",displayName:"Orange",getColor:Ia(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},$g="@devtable/dashboard",nu="8.34.0",Lg="Apache-2.0",Vg={access:"public",registry:"https://registry.npmjs.org/"},zg=["dist"],Fg="./dist/dashboard.umd.js",Bg="./dist/dashboard.es.js",Gg="./dist/index.d.ts",jg={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Kg={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Wg={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5","monaco-editor":"0.36.0","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},qg={"@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","vite-plugin-static-copy":"0.13.1"},Hg={"@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"},Q2=Object.freeze(Object.defineProperty({__proto__:null,name:$g,version:nu,license:Lg,publishConfig:Vg,files:zg,main:Fg,module:Bg,types:Gg,exports:jg,scripts:Kg,dependencies:Wg,devDependencies:qg,peerDependencies:Hg,default:{name:$g,version:nu,license:Lg,publishConfig:Vg,files:zg,main:Fg,module:Bg,types:Gg,exports:jg,scripts:Kg,dependencies:Wg,devDependencies:qg,peerDependencies:Hg}},Symbol.toStringTag,{value:"Module"}));class Z2{constructor(t){ke(this,"staticColors",new Map);ke(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 J2{constructor(){ke(this,"plugins",new Map);ke(this,"vizComponents",new Map);ke(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 eA{constructor(){ke(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(l=>l.version>t.from&&l.version<=t.to),o=W.orderBy(i,"version","asc");if(((a=W.last(o))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((l,u)=>u.handler(l,r),n)}}class Ft extends eA{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=W.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 W.get(n,"version",0)<this.VERSION}}const ze=(e,t)=>{const[n,{setFalse:r}]=tt.useBoolean(!0),[i,o]=b.useState();b.useEffect(()=>(e.getItem(t).then(l=>{o(l),r()}),e.watchItem(t,l=>{o(l)})));const a=b.useCallback(async l=>{await e.setItem(t,l),o(l)},[e,t]);return{loading:n,value:i,set:a}},ru={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"}};bt.use([Pe.GridComponent,Pe.VisualMapComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function tA({context:e}){const{value:t}=ze(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:l,xAxis3D:u,yAxis3D:d,zAxis3D:f}=W.defaults({},t,ru),p=b.useMemo(()=>{const v=W.minBy(n,m=>m[l]);return W.get(v,l)},[n,l]),h=b.useMemo(()=>{const v=W.maxBy(n,m=>m[l]);return W.get(v,l)},[n,l]),g={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:p,max:h,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,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[l]])}]};return t?s(mn.default,{echarts:bt,option:g,style:{width:r,height:i},notMerge:!0}):null}function nA({label:e,required:t,value:n,onChange:r,data:i,clearable:o=!1,sx:a,...l},u){const d=Q.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const p=Object.keys(i[0]).map(h=>({label:h,value:h}));return o?p.concat([{label:"unset",value:""}]):p},[i]);return s(c.Select,{ref:u,label:e,data:d,value:n,onChange:r,required:t,sx:a,...l})}const Ye=Q.default.forwardRef(nA);function rA({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=W.defaults({},t,ru),{control:o,handleSubmit:a,reset:l}=D.useForm({defaultValues:i});return b.useEffect(()=>{l(i)},[t]),t?s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[s(c.Text,{children:"X Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"x_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"xAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Text,{mt:"lg",children:"Y Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"y_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"yAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Text,{mt:"lg",children:"Z Axis"}),y(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s(D.Controller,{name:"z_axis_data_key",control:o,render:({field:u})=>s(Ye,{label:"Data Field",required:!0,data:r,...u})}),s(D.Controller,{name:"zAxis3D.name",control:o,render:({field:u})=>s(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),s(c.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:y(c.Button,{color:"blue",type:"submit",children:[s(re.DeviceFloppy,{size:20}),s(c.Text,{ml:"md",children:"Save"})]})})]})}):null}class iA extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const oA={displayName:"Bar Chart (3D)",displayGroup:"ECharts-based charts",migrator:new iA,name:"bar-3d",viewRender:tA,configRender:rA,createConfig(){return{version:1,config:W.cloneDeep(ru)}}},dn={mantissa:0,output:"number",trimMantissa:!1,average:!1};function aA({value:e,onChange:t},n){const r=l=>{t({...e,output:l})},i=l=>{const u=l===0?!1:e.trimMantissa;t({...e,mantissa:l,trimMantissa:u})},o=l=>{t({...e,trimMantissa:l.currentTarget.checked})},a=l=>{t({...e,average:l.currentTarget.checked})};return y(c.Stack,{ref:n,children:[y(c.Group,{grow:!0,children:[s(c.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),s(c.Switch,{label:y(c.Stack,{spacing:0,children:[s(c.Text,{children:"Average"}),s(c.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"}}})]}),y(c.Group,{grow:!0,children:[s(c.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),s(c.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),y(c.Stack,{spacing:0,children:[s(c.Text,{weight:"bold",children:"Preview"}),s(Zn,{children:y(c.Group,{position:"apart",children:[y(c.Text,{size:12,color:"gray",children:["123456789 ",s(re.ArrowRight,{size:9})," ",St.default(123456789).format(e)]}),y(c.Text,{size:12,color:"gray",children:["1234 ",s(re.ArrowRight,{size:9})," ",St.default(1234).format(e)]}),y(c.Text,{size:12,color:"gray",children:["0.1234 ",s(re.ArrowRight,{size:9})," ",St.default(.1234).format(e)]})]})})]})]})}const Gn=Q.default.forwardRef(aA),jn={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
76
76
  `)},Ug={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:lA,configRender:sA,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 sA(e){return s(be,{})}function lA(e){return s(c.Text,{children:"Click chart's series"})}const uA=[{label:"Truncate",value:"truncate"},{label:"Break Line",value:"break"},{label:"Break Word",value:"breakAll"}],Na=b.forwardRef(({sectionTitle:e,value:t,onChange:n},r)=>{const i=o=>a=>{const l=H.default.cloneDeep(t);H.default.set(l,o,a),n(l)};return y(c.Stack,{spacing:0,children:[e&&s(c.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",labelProps:{color:"dimmed"}}),y(c.Group,{grow:!0,noWrap:!0,children:[s(c.NumberInput,{label:"Max Width",hideControls:!0,value:t.width,onChange:i("width")}),s(c.Select,{label:"Overflow",data:uA,value:t.overflow,onChange:i("overflow")}),s(c.TextInput,{label:"Ellipsis",value:t.ellipsis,disabled:!0})]})]})}),jr=b.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,on_axis:o})},i=o=>{t({...e,in_tooltip:o})};return y(c.Stack,{ref:n,spacing:0,children:[s(Na,{sectionTitle:"Overflow on Axis",value:e.on_axis,onChange:r}),s(Na,{sectionTitle:"Overflow in Tooltip",value:e.in_tooltip,onChange:i})]})}),lr={on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}};function Tr({overflow:e,width:t}){const n={truncate:"initial",break:"break-all",breakAll:"break-word"}[e],r=e==="truncate"?"nowrap":"initial",i={truncate:"ellipsis",break:"clip",breakAll:"clip"}[e];return`
77
77
  max-width: ${t}px;
78
78
  word-break: ${n};
@@ -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 HA({config:e}){return{trigger:"item",confine:!0,formatter:qA(e)}}function UA(e,t){return Object.entries(e).map(([r,i])=>{var m,w,x,_;const o=i.map(S=>S[t]).sort((S,C)=>S-C),a=(m=Fi.quantile(o,.25))!=null?m:0,l=(w=Fi.quantile(o,.5))!=null?w:0,u=(x=Fi.quantile(o,.75))!=null?x:0,d=u-a,f=a-1.5*d,p=u+1.5*d,h=Math.max(o[0],f),g=Math.min((_=H.default.last(o))!=null?_:0,p),v=o.filter(S=>S<h||S>g).map(S=>[r,S]);return{name:r,min:h,q1:a,median:l,q3:u,max:g,outliers:v}})}function YA(e,t,n){const r=t.reduce((i,o)=>{const a=xo(o,n);return i[o.name]=Wr(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 Ga(i.template,t,n)},position:"insideEndTop"}}}))}function XA({config:e,data:t,variables:n}){const{x_axis:r,y_axis:i,color:o,reference_lines:a}=e,l=H.default.groupBy(t,r.data_key),u=UA(l,i.data_key),d=u.map(p=>p.outliers).flat(),f=Mr(r.axisLabel.overflow.on_axis);return{dataset:[{source:u},{source:d}],legend:KA({config:e}),tooltip:HA({config:e}),xAxis:[{type:"category",name:r.name,axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...r.axisLabel,...f,formatter:Ci(r.axisLabel.formatter)}}],yAxis:[{name:i.name,axisLine:{show:!0},axisLabel:{formatter:function(p){return St.default(p).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:fu,x:"name",itemName:["name"],tooltip:fu}},{name:"Outlier",type:"scatter",symbolSize:5,itemStyle:{color:"#2F8CC0"},emphasis:{scale:2},datasetIndex:1},...YA(a,n,t)]}}bt.use([Pe.DataZoomComponent,Mt.BoxplotChart,Pe.MarkLineComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function QA({context:e,instance:t}){const{value:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,{width:o,height:a}=e.viewport,l=W.defaults({},n,iu),u=qn({vizManager:e.vizManager,instance:t}),d=Bn(u.triggerManager,Ug.id),f=b.useMemo(()=>H.default.keyBy(i,l.x_axis.data_key),[i,l.x_axis.data_key]),p=b.useCallback(v=>{const m=H.default.get(f,v.name,{error:"rowData is not found"});d.forEach(w=>{u.runInteraction(w.id,{...v,rowData:m})})},[f,d,u]),h=b.useMemo(()=>({click:p}),[p]),g=b.useMemo(()=>XA({config:l,data:i,variables:r}),[l,i,r]);return!n||!o||!a?null:s(mn.default,{echarts:bt,option:g,style:{width:o,height:a},onEvents:h,notMerge:!0})}function ZA({control:e,index:t,remove:n,variableOptions:r}){return y(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>s(c.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:s(re.Trash,{size:16})})]},t)}function JA({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((f,p)=>({...f,...a[p]})),u=()=>i({name:"",template:"",variable_key:""}),d=b.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return y(c.Stack,{children:[l.map((f,p)=>s(ZA,{control:e,index:p,remove:o,variableOptions:d})),s(c.Group,{position:"center",mt:"xs",children:s(c.Button,{onClick:u,children:"Add a Reference Line"})})]})}const eR=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},ja=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(jn.func_content)};return y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(eR,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})}),tR=({control:e,data:t,watch:n})=>(n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"X Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:r})=>s(ja,{data:t,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:r})=>s(jr,{...r})})]})),nR=({control:e,data:t,watch:n})=>(n(["y_axis"]),y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"Y Axis Name",sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:"y_axis.label_formatter",control:e,render:({field:r})=>s(Gn,{...r})})]})]}));function rR({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,{variables:i}=e,o=b.useMemo(()=>W.defaults({},t,iu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),u(["x_axis","y_axis","reference_lines","color"]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,t),[p,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Style",children:"Style"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(tR,{control:a,data:r,watch:u})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(nR,{control:a,data:r,watch:u})}),s(c.Tabs.Panel,{value:"Style",children:y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"color",control:a,render:({field:g})=>s(bn,{...g})})]})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(JA,{variables:i,control:a,watch:u})})]})]})})}function iR(e){return W.omit(e,"variables")}function oR(e){const{label_formatter:t=dn,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function aR(e){const t={rotate:0,formatter:{...jn}},{axisLabel:n=t,...r}=e.x_axis;return{...e,x_axis:{...r,axisLabel:n}}}function sR(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function lR(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}class uR extends Ft{constructor(){super(...arguments);ke(this,"VERSION",6)}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(l=>l.name===a.name)||r.addVariable(a)}),{...n,version:2,config:iR(i)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:oR(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:aR(r)}}),this.version(5,n=>{const{config:r}=n;return{...n,version:5,config:sR(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:lR(r)}})}}const cR={displayName:"Boxplot Chart",displayGroup:"ECharts-based charts",migrator:new uR,name:"boxplot",viewRender:QA,configRender:rR,createConfig(){return{version:6,config:W.cloneDeep(iu)}},triggers:[Ug]},yv={id:"builtin:button:click-button",displayName:"Click Button",nameRender:fR,configRender:dR,payload:[]};function dR(e){return s(be,{})}function fR(e){return s(c.Text,{children:"Click this button"})}const pu={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},pR={left:"flex-start",center:"center",right:"flex-end"},hR={top:"flex-start",center:"center",bottom:"flex-end"},gR=ee.observer(({context:e,instance:t})=>{const n=qn({vizManager:e.vizManager,instance:t}),r=Bn(n.triggerManager,yv.id),i=Ie(),{value:o}=ze(e.instanceData,"config"),a=b.useMemo(()=>W.defaultsDeep({},o,pu),[o]),{content:l,horizontal_align:u,vertical_align:d,...f}=a,{width:p,height:h}=e.viewport,g={filters:i.filters.values,context:i.context.current},v=()=>{r.forEach(m=>{n.runInteraction(m.id,{})})};return s(c.Center,{sx:{width:p,height:h,justifyContent:pR[u],alignItems:hR[d]},children:s(c.Button,{...f,onClick:v,children:W.template(l)(g)})})}),vR=({value:e,onChange:t,label:n})=>{const r=c.useMantineTheme(),i=b.useCallback(a=>()=>t(a),[t]),o=a=>e===a;return y(c.Stack,{spacing:2,children:[s(c.Text,{size:14,sx:{fontWeight:500},children:n}),s(c.Group,{position:"left",spacing:"xs",children:Object.keys(r.colors).map(a=>{const l=r.colors[a][6];return s(c.ColorSwatch,{color:l,onClick:i(a),radius:4,size:26,sx:{cursor:"pointer"},children:o(a)&&s(c.CheckIcon,{width:10,color:"white"})},a)})})]})},mR=c.MANTINE_SIZES.map(e=>({label:e.toUpperCase(),value:e})),yR=({label:e,value:t,onChange:n})=>s(c.Select,{data:mR,label:e,value:t,onChange:n}),bR=[{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}],xR=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],wR=[{label:"Top",value:"top"},{label:"Center",value:"center"},{label:"Bottom",value:"bottom"}];function CR({context:e}){const{value:t,set:n}=ze(e.instanceData,"config");e.data;const r=b.useMemo(()=>W.defaultsDeep({},t,pu),[t]),i=r;b.useEffect(()=>{!W.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,r),[f,r]);return l(["content","variant","color","size","compact","horizontal_align","vertical_align"]),y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{children:[s(D.Controller,{control:o,name:"content",render:({field:h})=>s(c.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...h,required:!0})}),s(c.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"variant",render:({field:h})=>s(c.Select,{label:"Variant",data:bR,...h})}),s(D.Controller,{control:o,name:"color",render:({field:h})=>s(vR,{label:"Theme",...h})})]}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"size",render:({field:h})=>s(yR,{label:"Size",...h})}),s(D.Controller,{control:o,name:"compact",render:({field:h})=>s(c.Checkbox,{label:"Compact",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked),mt:26})})]}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"horizontal_align",render:({field:h})=>s(c.Select,{label:"Horizontal Alignment",data:xR,...h})}),s(D.Controller,{control:o,name:"vertical_align",render:({field:h})=>s(c.Select,{label:"Vertical Alignment",data:wR,...h})})]})]})]})}class SR extends Ft{constructor(){super(...arguments);ke(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 _R={displayName:"Button",displayGroup:"Others",migrator:new SR,name:"button",viewRender:gR,configRender:CR,createConfig(){return{version:2,config:W.cloneDeep(pu)}},triggers:[yv]},Si={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1},hu={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:TR,configRender:ER,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 ER(e){return s(be,{})}function TR(e){return s(c.Text,{children:"Click chart's series"})}const gu={regressions:[],series:[],stats:{templates:{bottom:"",top:""}},x_axis:{axisLabel:{rotate:0,formatter:{...jn},overflow:lr}},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:dn,min:"",max:""}],reference_lines:[],reference_areas:[],dataZoom:Si};function vu(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 MR(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 kR(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function DR(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function OR(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),...kR(r)})),t}function AR({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:o,plot:a,name:l,y_axis_data_key:u})=>{const d=`x-axis-for-${l}`,f=`dataset-for-${l}--raw`,p=`dataset-for-${l}--transformed`;n.push({id:f,source:t.map((h,g)=>[g,Number(h[u])])}),n.push({transform:o,id:p,fromDatasetId:f}),r.push({...a,name:l,datasetId:p,xAxisId:d,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:d,datasetId:p,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function RR(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 PR(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=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?Ga(i.template,t,r):""},position:l}}}})}function IR({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:l}=t;return l}const{func_content:o}=t,a=W.keyBy(n,r);return(l,u)=>{let d;u.name?d=a[u.name]:d=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:d,params:u,variables:i},{lodash:H.default,interpolate:Ba})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function mu(e,t,n){return e.map(r=>[r[t],r[n]])}function NR(e,t,n,r){const i=mu(t,n,r);return H.default.unionBy(i,e,0)}function $R({dataTemplate:e,data:t,x_axis_data_key:n,y_axis_data_key:r,valueTypedXAxis:i}){return i?NR(e,t,n,r):t.map(o=>o[r])}function LR({dataTemplate:e,data:t,aggregation_on_value:n,x_axis_data_key:r,y_axis_data_key:i,valueTypedXAxis:o}){if(!n||n.type==="none")return $R({dataTemplate:e,data:t,x_axis_data_key:r,y_axis_data_key:i,valueTypedXAxis:o});const a=mu(t,r,i),l=H.default.groupBy(a,"0");return Object.entries(l).map(([d,f])=>{const p=go(f,"1",n);return[d,p]})}function VR({group_by_key:e,data:t,x_axis_data_key:n,y_axis_data_key:r}){const i=H.default.groupBy(t,e);return Object.entries(i).forEach(([o,a])=>{i[o]=mu(a,n,r)}),i}function zR({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_value:a,stack:l,color:u,display_name_on_line:d,symbolSize:f,hide_in_legend:p,...h},g,v,m,w,x){const _={label:{show:!!r,position:r,formatter:x[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:l,color:u,symbolSize:IR(f,m,e,w),hide_in_legend:p,labelLayout:{hideOverlap:!0},...h};if(d&&(_.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!o||o===e)return _.data=LR({dataTemplate:g,data:m,aggregation_on_value:a,x_axis_data_key:e,y_axis_data_key:t,valueTypedXAxis:v}),_;const S=VR({group_by_key:o,data:m,x_axis_data_key:e,y_axis_data_key:t});return Object.entries(S).map(([C,E])=>{const k=W.cloneDeep(_);return k.name=C,k.color=void 0,k.data=E,k})}function FR(e,t,n,r,i,o,a){const l=t.map(d=>[d,0]);return e.series.map(d=>zR(e,d,l,n,r,a,i)).flat().concat(PR(e.reference_lines,o,a,r)).concat(RR(e.reference_areas,a))}function BR(e,t){const n=e.find(l=>l.axisDim==="x"&&l.axisId==="main-x-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="xAxis.category"?r:Ci(t.x_axis.axisLabel.formatter)(o,a)}function GR(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:d,marker:f,value:p})=>{var v;if(Array.isArray(p)&&p.length===2&&(p=p[1]),!d)return p;const h=r[d],g=(v=n[h])!=null?v:n.default;return`
110
+ `};function HA({config:e}){return{trigger:"item",confine:!0,formatter:qA(e)}}function UA(e,t){return Object.entries(e).map(([r,i])=>{var m,w,x,_;const o=i.map(S=>S[t]).sort((S,C)=>S-C),a=(m=Fi.quantile(o,.25))!=null?m:0,l=(w=Fi.quantile(o,.5))!=null?w:0,u=(x=Fi.quantile(o,.75))!=null?x:0,d=u-a,f=a-1.5*d,p=u+1.5*d,h=Math.max(o[0],f),g=Math.min((_=H.default.last(o))!=null?_:0,p),v=o.filter(S=>S<h||S>g).map(S=>[r,S]);return{name:r,min:h,q1:a,median:l,q3:u,max:g,outliers:v}})}function YA(e,t,n){const r=t.reduce((i,o)=>{const a=xo(o,n);return i[o.name]=Wr(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 Ga(i.template,t,n)},position:"insideEndTop"}}}))}function XA({config:e,data:t,variables:n}){const{x_axis:r,y_axis:i,color:o,reference_lines:a}=e,l=H.default.groupBy(t,r.data_key),u=UA(l,i.data_key),d=u.map(p=>p.outliers).flat(),f=Mr(r.axisLabel.overflow.on_axis);return{dataset:[{source:u},{source:d}],legend:KA({config:e}),tooltip:HA({config:e}),xAxis:[{type:"category",name:r.name,axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...r.axisLabel,...f,formatter:Ci(r.axisLabel.formatter)}}],yAxis:[{name:i.name,axisLine:{show:!0},axisLabel:{formatter:function(p){return St.default(p).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:fu,x:"name",itemName:["name"],tooltip:fu}},{name:"Outlier",type:"scatter",symbolSize:5,itemStyle:{color:"#2F8CC0"},emphasis:{scale:2},datasetIndex:1},...YA(a,n,t)]}}bt.use([Pe.DataZoomComponent,Mt.BoxplotChart,Pe.MarkLineComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function QA({context:e,instance:t}){const{value:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,{width:o,height:a}=e.viewport,l=W.defaults({},n,iu),u=qn({vizManager:e.vizManager,instance:t}),d=Bn(u.triggerManager,Ug.id),f=b.useMemo(()=>H.default.keyBy(i,l.x_axis.data_key),[i,l.x_axis.data_key]),p=b.useCallback(v=>{const m=H.default.get(f,v.name,{error:"rowData is not found"});d.forEach(w=>{u.runInteraction(w.id,{...v,rowData:m})})},[f,d,u]),h=b.useMemo(()=>({click:p}),[p]),g=b.useMemo(()=>XA({config:l,data:i,variables:r}),[l,i,r]);return!n||!o||!a?null:s(mn.default,{echarts:bt,option:g,style:{width:o,height:a},onEvents:h,notMerge:!0})}function ZA({control:e,index:t,remove:n,variableOptions:r}){return y(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>s(c.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:s(re.Trash,{size:16})})]},t)}function JA({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((f,p)=>({...f,...a[p]})),u=()=>i({name:"",template:"",variable_key:""}),d=b.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return y(c.Stack,{children:[l.map((f,p)=>s(ZA,{control:e,index:p,remove:o,variableOptions:d})),s(c.Group,{position:"center",mt:"xs",children:s(c.Button,{onClick:u,children:"Add a Reference Line"})})]})}const eR=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},ja=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(jn.func_content)};return y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(eR,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})}),tR=({control:e,data:t,watch:n})=>(n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"X Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:r})=>s(ja,{data:t,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:r})=>s(jr,{...r})})]})),nR=({control:e,data:t,watch:n})=>(n(["y_axis"]),y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"Y Axis Name",sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:t,sx:{flex:1},...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:"y_axis.label_formatter",control:e,render:({field:r})=>s(Gn,{...r})})]})]}));function rR({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,{variables:i}=e,o=b.useMemo(()=>W.defaults({},t,iu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),u(["x_axis","y_axis","reference_lines","color"]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,t),[p,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Style",children:"Style"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(tR,{control:a,data:r,watch:u})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(nR,{control:a,data:r,watch:u})}),s(c.Tabs.Panel,{value:"Style",children:y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"color",control:a,render:({field:g})=>s(bn,{...g})})]})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(JA,{variables:i,control:a,watch:u})})]})]})})}function iR(e){return W.omit(e,"variables")}function oR(e){const{label_formatter:t=dn,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function aR(e){const t={rotate:0,formatter:{...jn}},{axisLabel:n=t,...r}=e.x_axis;return{...e,x_axis:{...r,axisLabel:n}}}function sR(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function lR(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}class uR extends Ft{constructor(){super(...arguments);ke(this,"VERSION",6)}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(l=>l.name===a.name)||r.addVariable(a)}),{...n,version:2,config:iR(i)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:oR(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:aR(r)}}),this.version(5,n=>{const{config:r}=n;return{...n,version:5,config:sR(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:lR(r)}})}}const cR={displayName:"Boxplot Chart",displayGroup:"ECharts-based charts",migrator:new uR,name:"boxplot",viewRender:QA,configRender:rR,createConfig(){return{version:6,config:W.cloneDeep(iu)}},triggers:[Ug]},yv={id:"builtin:button:click-button",displayName:"Click Button",nameRender:fR,configRender:dR,payload:[]};function dR(e){return s(be,{})}function fR(e){return s(c.Text,{children:"Click this button"})}const pu={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},pR={left:"flex-start",center:"center",right:"flex-end"},hR={top:"flex-start",center:"center",bottom:"flex-end"},gR=ee.observer(({context:e,instance:t})=>{const n=qn({vizManager:e.vizManager,instance:t}),r=Bn(n.triggerManager,yv.id),i=Ie(),{value:o}=ze(e.instanceData,"config"),a=b.useMemo(()=>W.defaultsDeep({},o,pu),[o]),{content:l,horizontal_align:u,vertical_align:d,...f}=a,{width:p,height:h}=e.viewport,g={filters:i.filters.values,context:i.context.current},v=()=>{r.forEach(m=>{n.runInteraction(m.id,{})})};return s(c.Center,{sx:{width:p,height:h,justifyContent:pR[u],alignItems:hR[d]},children:s(c.Button,{...f,onClick:v,children:W.template(l)(g)})})}),vR=({value:e,onChange:t,label:n})=>{const r=c.useMantineTheme(),i=b.useCallback(a=>()=>t(a),[t]),o=a=>e===a;return y(c.Stack,{spacing:2,children:[s(c.Text,{size:14,sx:{fontWeight:500},children:n}),s(c.Group,{position:"left",spacing:"xs",children:Object.keys(r.colors).map(a=>{const l=r.colors[a][6];return s(c.ColorSwatch,{color:l,onClick:i(a),radius:4,size:26,sx:{cursor:"pointer"},children:o(a)&&s(c.CheckIcon,{width:10,color:"white"})},a)})})]})},mR=c.MANTINE_SIZES.map(e=>({label:e.toUpperCase(),value:e})),yR=({label:e,value:t,onChange:n})=>s(c.Select,{data:mR,label:e,value:t,onChange:n}),bR=[{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}],xR=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],wR=[{label:"Top",value:"top"},{label:"Center",value:"center"},{label:"Bottom",value:"bottom"}];function CR({context:e}){const{value:t,set:n}=ze(e.instanceData,"config");e.data;const r=b.useMemo(()=>W.defaultsDeep({},t,pu),[t]),i=r;b.useEffect(()=>{!W.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,r),[f,r]);return l(["content","variant","color","size","compact","horizontal_align","vertical_align"]),y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{children:[s(D.Controller,{control:o,name:"content",render:({field:h})=>s(c.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...h,required:!0})}),s(c.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"variant",render:({field:h})=>s(c.Select,{label:"Variant",data:bR,...h})}),s(D.Controller,{control:o,name:"color",render:({field:h})=>s(vR,{label:"Theme",...h})})]}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"size",render:({field:h})=>s(yR,{label:"Size",...h})}),s(D.Controller,{control:o,name:"compact",render:({field:h})=>s(c.Checkbox,{label:"Compact",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked),mt:26})})]}),y(c.SimpleGrid,{cols:2,children:[s(D.Controller,{control:o,name:"horizontal_align",render:({field:h})=>s(c.Select,{label:"Horizontal Alignment",data:xR,...h})}),s(D.Controller,{control:o,name:"vertical_align",render:({field:h})=>s(c.Select,{label:"Vertical Alignment",data:wR,...h})})]})]})]})}class SR extends Ft{constructor(){super(...arguments);ke(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 _R={displayName:"Button",displayGroup:"Others",migrator:new SR,name:"button",viewRender:gR,configRender:CR,createConfig(){return{version:2,config:W.cloneDeep(pu)}},triggers:[yv]},Si={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1},hu={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:TR,configRender:ER,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 ER(e){return s(be,{})}function TR(e){return s(c.Text,{children:"Click chart's series"})}const gu={regressions:[],series:[],stats:{templates:{bottom:"",top:""}},x_axis:{axisLabel:{rotate:0,formatter:{...jn},overflow:lr}},x_axis_data_key:"",x_axis_name:"",y_axes:[{min:"",max:"",name:"Y Axis",show:!0,position:"left",nameAlignment:"center",label_formatter:dn}],reference_lines:[],reference_areas:[],dataZoom:Si};function vu(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 MR(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 kR(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function DR(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function OR(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),...kR(r)})),t}function AR({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:o,plot:a,name:l,y_axis_data_key:u})=>{const d=`x-axis-for-${l}`,f=`dataset-for-${l}--raw`,p=`dataset-for-${l}--transformed`;n.push({id:f,source:t.map((h,g)=>[g,Number(h[u])])}),n.push({transform:o,id:p,fromDatasetId:f}),r.push({...a,name:l,datasetId:p,xAxisId:d,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:d,datasetId:p,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function RR(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 PR(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=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?Ga(i.template,t,r):""},position:l}}}})}function IR({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:l}=t;return l}const{func_content:o}=t,a=W.keyBy(n,r);return(l,u)=>{let d;u.name?d=a[u.name]:d=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:d,params:u,variables:i},{lodash:H.default,interpolate:Ba})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function mu(e,t,n){return e.map(r=>[r[t],r[n]])}function NR(e,t,n,r){const i=mu(t,n,r);return H.default.unionBy(i,e,0)}function $R({dataTemplate:e,data:t,x_axis_data_key:n,y_axis_data_key:r,valueTypedXAxis:i}){return i?NR(e,t,n,r):t.map(o=>o[r])}function LR({dataTemplate:e,data:t,aggregation_on_value:n,x_axis_data_key:r,y_axis_data_key:i,valueTypedXAxis:o}){if(!n||n.type==="none")return $R({dataTemplate:e,data:t,x_axis_data_key:r,y_axis_data_key:i,valueTypedXAxis:o});const a=mu(t,r,i),l=H.default.groupBy(a,"0");return Object.entries(l).map(([d,f])=>{const p=go(f,"1",n);return[d,p]})}function VR({group_by_key:e,data:t,x_axis_data_key:n,y_axis_data_key:r}){const i=H.default.groupBy(t,e);return Object.entries(i).forEach(([o,a])=>{i[o]=mu(a,n,r)}),i}function zR({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_value:a,stack:l,color:u,display_name_on_line:d,symbolSize:f,hide_in_legend:p,...h},g,v,m,w,x){const _={label:{show:!!r,position:r,formatter:x[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:l,color:u,symbolSize:IR(f,m,e,w),hide_in_legend:p,labelLayout:{hideOverlap:!0},...h};if(d&&(_.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!o||o===e)return _.data=LR({dataTemplate:g,data:m,aggregation_on_value:a,x_axis_data_key:e,y_axis_data_key:t,valueTypedXAxis:v}),_;const S=VR({group_by_key:o,data:m,x_axis_data_key:e,y_axis_data_key:t});return Object.entries(S).map(([C,E])=>{const k=W.cloneDeep(_);return k.name=C,k.color=void 0,k.data=E,k})}function FR(e,t,n,r,i,o,a){const l=t.map(d=>[d,0]);return e.series.map(d=>zR(e,d,l,n,r,a,i)).flat().concat(PR(e.reference_lines,o,a,r)).concat(RR(e.reference_areas,a))}function BR(e,t){const n=e.find(l=>l.axisDim==="x"&&l.axisId==="main-x-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="xAxis.category"?r:Ci(t.x_axis.axisLabel.formatter)(o,a)}function GR(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:d,marker:f,value:p})=>{var v;if(Array.isArray(p)&&p.length===2&&(p=p[1]),!d)return p;const h=r[d],g=(v=n[h])!=null?v:n.default;return`
111
111
  <tr>
112
112
  <td>${f}</td>
113
113
  <th style="text-align: right; padding: 0 1em;">${d}</th>
@@ -123,7 +123,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
123
123
  </tbody>
124
124
  </table>
125
125
  `}}}function jR(e){return e.y_axes.reduce((n,{label_formatter:r},i)=>(n[i]=function(a){let l=a;if(typeof a=="object"&&(Array.isArray(a.value)&&a.value.length===2?l=a.value[1]:l=a.value),!r)return l;try{return St.default(l).format(r)}catch(u){return console.error(u),l}},n),{default:({value:n})=>n})}function KR(e,t){const n={};return t.map(r=>{const i=xo(r,e);n[r.name]=Wr(r,i)}),n}function WR(e,t,n){var l;const r=t.every(u=>!Number.isNaN(Number(u))),{overflow:i,...o}=e.x_axis.axisLabel,a=Mr(i.on_axis);return[{data:t,name:(l=e.x_axis_name)!=null?l:"",id:"main-x-axis",axisTick:{show:!0,alignWithLabel:!0},type:r?"value":"category",axisLabel:{...o,...a,formatter:Ci(o.formatter)}},...n]}function qR(e,t){return e.y_axes.map(({nameAlignment:n,min:r,max:i,...o},a)=>{var u;let l=o.position;return l||(l=a>0?"right":"left"),{...o,min:r||void 0,max:i||void 0,position:l,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 HR={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 UR(e,t,n){const r=KR(t,n),i=jR(e),o=H.default.uniq(t.map(h=>h[e.x_axis_data_key])),a=o.every(h=>!Number.isNaN(Number(h))),l=FR(e,o,a,t,i,n,r),{regressionDataSets:u,regressionSeries:d,regressionXAxes:f}=AR(e,t),p={xAxis:WR(e,o,f),yAxis:qR(e,i),dataset:[...u],series:[...l,...d],tooltip:GR(e,l,i),grid:MR(e),legend:OR(l),dataZoom:vu(e.dataZoom)};return W.defaultsDeep({},p,HR)}bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer,Pe.MarkLineComponent,Pe.MarkAreaComponent]),bt.registerTransform(Vs.transform.regression);function bv(e){return e.trim().length>0}function YR({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.x_axis_data_key),[t,e.x_axis_data_key]),l=Bn(i.triggerManager,hu.id),u=b.useCallback(p=>{const h=H.default.get(a,p.name,{error:"rowData is not found"});l.forEach(g=>{i.runInteraction(g.id,{...p,rowData:h})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>UR(e,t,o),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function XR({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,gu),[r]),a=e.data,{width:l,height:u}=e.viewport,{ref:d,height:f}=qt.useElementSize(),{ref:p,height:h}=qt.useElementSize(),g=Q.default.useMemo(()=>{const{stats:{templates:m}}=o;return{top:wo(m.top,i,a),bottom:wo(m.bottom,i,a)}},[o,a]),v=Math.max(0,u-f-h);return y(c.Box,{children:[s(c.Text,{ref:d,align:"left",size:"xs",pl:"sm",sx:{display:bv(o.stats.templates.top)?"block":"none"},children:Object.values(g.top).map(m=>m)}),s(YR,{variables:i,width:l,height:v,data:a,conf:o,interactionManager:n}),s(c.Text,{ref:p,align:"left",size:"xs",pl:"sm",sx:{display:bv(o.stats.templates.bottom)?"block":"none"},children:Object.values(g.bottom).map(m=>m)})]})}const yu=b.forwardRef(({value:e,onChange:t},n)=>{const r=i=>o=>{t({...e,[i]:o})};return y(c.Stack,{children:[s(c.Divider,{variant:"dashed",label:"Scroll to Zoom",labelPosition:"center"}),y(c.Group,{children:[s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Enable on X Axis",checked:e.x_axis_scroll,onChange:i=>r("x_axis_scroll")(i.currentTarget.checked)})}),s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Enable on Y Axis",checked:e.y_axis_scroll,onChange:i=>r("y_axis_scroll")(i.currentTarget.checked)})})]}),s(c.Divider,{variant:"dashed",label:"Slider for Zooming",labelPosition:"center"}),y(c.Group,{children:[s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Slider for X Axis",checked:e.x_axis_slider,onChange:i=>r("x_axis_slider")(i.currentTarget.checked)})}),s(c.Tooltip,{label:"Not available for now, will overlap y-axis's label",children:s(c.Box,{sx:{flexGrow:1},children:s(c.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)})})})]})]})}),QR=[{label:"Rectangle",value:"rectangle"}],ZR=[{label:"Horizontal",value:"horizontal"}];function JR({control:e,index:t,remove:n,variableOptions:r}){return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_areas.${t}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`reference_areas.${t}.color`,control:e,render:({field:i})=>s(c.TextInput,{label:"Color",required:!0,sx:{flex:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_areas.${t}.type`,control:e,render:({field:i})=>s(c.Select,{label:"Type",required:!0,data:QR,sx:{flex:1},...i})}),s(D.Controller,{name:`reference_areas.${t}.direction`,control:e,render:({field:i})=>s(c.Select,{label:"Direction",required:!0,data:ZR,sx:{flex:1},...i})})]}),s(c.Divider,{variant:"dashed",label:"Data",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_areas.${t}.y_keys.upper`,control:e,render:({field:i})=>s(c.Select,{label:"Upper Boundary",required:!0,data:r,sx:{flex:1},...i})}),s(D.Controller,{name:`reference_areas.${t}.y_keys.lower`,control:e,render:({field:i})=>s(c.Select,{label:"Lower Boundary",required:!0,data:r,sx:{flex:1},...i})})]}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Area"})]},t)}function eP({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_areas"}),a=t("reference_areas"),l=r.map((f,p)=>({...f,...a[p]})),u=()=>i({name:"",type:"rectangle",direction:"horizontal",y_keys:{upper:"",lower:""}}),d=b.useMemo(()=>n.map(f=>({label:f.name,value:f.name})),[n]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"6px 0px 0px"}},children:[y(c.Tabs.List,{children:[l.map((f,p)=>s(c.Tabs.Tab,{value:p.toString(),children:p+1},p)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((f,p)=>s(c.Tabs.Panel,{value:p.toString(),children:s(JR,{control:e,index:p,remove:o,variableOptions:d})},p))]})}const tP=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],nP=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function rP({control:e,index:t,remove:n,watch:r,variableOptions:i,yAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>s(c.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...l})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),y(c.Group,{grow:!0,children:[y(c.Stack,{children:[s(D.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>s(c.Select,{label:"Orientation",data:nP,required:!0,sx:{flex:1},...l})}),a==="vertical"&&s(c.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&s(D.Controller,{name:`reference_lines.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:o,disabled:o.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:tP,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:l})=>s(c.Checkbox,{label:"Show in legend",checked:l.value,onChange:u=>l.onChange(u.currentTarget.checked)})}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function iP({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>{i({name:"",template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:"#868E96"},show_in_legend:!1,yAxisIndex:0})},d=b.useMemo(()=>n.map(h=>({label:h.name,value:h.name})),[n]),f=t("y_axes"),p=b.useMemo(()=>f.map(({name:h},g)=>({label:h,value:g.toString()})),[f]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:g.toString(),children:g+1},g)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:g.toString(),children:s(rP,{control:e,index:g,remove:o,watch:t,variableOptions:d,yAxisOptions:p})},g))]})}const oP=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}],aP=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function sP({control:e,regressionItem:t,index:n,remove:r,yAxisOptions:i,data:o}){const a=t.transform.config.method;return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[s(D.Controller,{name:`regressions.${n}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...l})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:l})=>s(Ye,{label:"Value Field",required:!0,data:o,sx:{flex:1},...l})}),s(D.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:i,disabled:i.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:l})=>s(c.Select,{label:"Method",data:oP,sx:{flex:1},...l})}),a==="polynomial"&&s(D.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Order",sx:{flex:1},...l})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Line Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`regressions.${n}.plot.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:aP,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`regressions.${n}.plot.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Regression Line"})]},n)}function lP({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"regressions"}),a=t("regressions"),l=r.map((p,h)=>({...p,...a[h]})),u=t("y_axes"),d=Q.default.useMemo(()=>u.map(({name:p},h)=>({label:p,value:h.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 y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((p,h)=>s(c.Tabs.Tab,{value:h.toString(),children:h+1},h)),s(c.Tabs.Tab,{onClick:f,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((p,h)=>s(c.Tabs.Panel,{value:h.toString(),children:s(sP,{regressionItem:p,control:e,index:h,remove:o,yAxisOptions:d,data:n},h)},h))]})}const bu={static:{type:"static",size:10},dynamic:{type:"dynamic",func_content:["function getSize({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here"," // return 10","}"].join(`
126
- `)}},uP=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function cP({control:e,index:t,seriesItem:n}){const r=!!n.barWidth.trim();return y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.stack`,control:e,render:({field:i})=>s(c.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barGap`,control:e,render:({field:i})=>s(c.Select,{label:"Bar Gap",data:uP,sx:{flexGrow:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Min)",disabled:r,sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Max)",disabled:r,sx:{flexGrow:1},...i})})]})]})}const dP=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},fP=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(bu.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(dP,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},pP=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(fP,{value:e,onChange:t,data:n}),hP=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return s(be,{children:s(c.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},gP=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],xv=b.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...bu[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:gP,value:t.type,onChange:o,sx:{flexGrow:1}}),s(hP,{value:t,onChange:n}),s(pP,{value:t,onChange:n,data:r})]})}),vP=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],mP=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function yP({control:e,index:t,seriesItem:n,data:r}){const i=n.showSymbol;return y(be,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:o})=>s(c.Select,{label:"Line Type",data:mP,sx:{flexGrow:1},...o})}),s(D.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:o})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...o})})]}),y(c.Group,{grow:!0,align:"center",children:[s(D.Controller,{name:`series.${t}.step`,control:e,render:({field:o})=>s(c.Select,{label:"Step",data:vP,sx:{flexGrow:1,maxWidth:"48%"},...o,value:String(o.value),onChange:a=>{const l=a==="false"?!1:a;o.onChange(l)}})}),y(c.Stack,{children:[s(D.Controller,{name:`series.${t}.smooth`,control:e,render:({field:o})=>s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Smooth Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),s(D.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:o})=>{var a;return s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Display Name on Line",checked:(a=o.value)!=null?a:!1,onChange:l=>o.onChange(l.currentTarget.checked)})})}})]})]}),y(c.Stack,{children:[s(D.Controller,{name:`series.${t}.showSymbol`,control:e,render:({field:o})=>s(c.Box,{mt:10,mb:-10,sx:{flexGrow:1},children:s(c.Switch,{label:"Show Symbol on Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),i&&s(D.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:o})=>s(xv,{label:"Symbol Size",data:r,...o})})]})]})}function bP({control:e,index:t,data:n}){return s(D.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:r})=>s(xv,{label:"Size",data:n,...r})})}const xP=[{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 wP({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:o}){const a=r.type;return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[s(c.Stack,{children:s(D.Controller,{name:`series.${t}.type`,control:e,render:({field:l})=>s(c.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"}],...l})})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:i,disabled:i.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:l})=>s(Ye,{label:"Value Field",required:!0,data:o,sx:{flex:1},...l})}),s(D.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:l})=>{var u;return s($a,{label:"Aggregation on Value",value:(u=l.value)!=null?u:ho,onChange:l.onChange,pt:0})}})]}),s(c.Group,{grow:!0,children:s(D.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:l})=>s(Ye,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...l})})}),a==="line"&&s(yP,{index:t,control:e,seriesItem:r,data:o}),a==="bar"&&s(cP,{index:t,control:e,seriesItem:r}),a==="scatter"&&s(bP,{index:t,control:e,data:o}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.label_position`,control:e,render:({field:l})=>s(c.Select,{label:"Label Position",data:xP,...l})}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`series.${t}.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:l})=>s(c.Checkbox,{label:"Hide in legend",checked:l.value,onChange:u=>l.onChange(u.currentTarget.checked)})}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function CP({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((p,h)=>({...p,...a[h]})),u=()=>{const p={type:"bar",name:qt.randomId(),showSymbol:!1,symbolSize:bu.static,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barMinWidth:"1",barWidth:"10%",barMaxWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1},hide_in_legend:!1,group_by_key:""};i(p)},d=t("y_axes"),f=Q.default.useMemo(()=>d.map(({name:p},h)=>({label:p,value:h.toString()})),[d]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((p,h)=>s(c.Tabs.Tab,{value:h.toString(),children:h+1},p.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((p,h)=>s(c.Tabs.Panel,{value:h.toString(),children:s(wP,{control:e,index:h,remove:o,seriesItem:p,yAxisOptions:f,data:n},p.id)},p.id))]})}function SP({control:e,watch:t}){return t("stats"),s(c.Stack,{children:y(c.Stack,{spacing:0,children:[s(D.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>s(po,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),s(D.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>s(po,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}function _P({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>s(Ye,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis_name",control:t,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}const EP=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],TP=[{label:"left",value:"left"},{label:"right",value:"right"}];function MP({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:EP,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:TP,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function kP({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,d)=>({...u,...o[d]})),l=()=>r({name:"",label_formatter:dn});return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map((u,d)=>s(c.Tabs.Tab,{value:d.toString(),children:d+1},d)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((u,d)=>s(c.Tabs.Panel,{value:d.toString(),children:s(MP,{control:e,index:d,remove:i})},d))]})}function DP({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>W.defaultsDeep({},t,gu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,o),[p,o]);return u(["dataZoom"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),s(c.Tabs.Tab,{value:"Series",children:"Series"}),s(c.Tabs.Tab,{value:"Regression Lines",children:"Regression Lines"}),s(c.Tabs.Tab,{value:"Stats",children:"Stats"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),s(c.Tabs.Tab,{value:"Reference Areas",children:"Reference Areas"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(_P,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Y Axes",children:s(kP,{control:a,watch:u})}),s(c.Tabs.Panel,{value:"Series",children:s(CP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Regression Lines",children:s(lP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Stats",children:s(SP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(iP,{variables:r,control:a,watch:u})}),s(c.Tabs.Panel,{value:"Reference Areas",children:s(eP,{variables:r,control:a,watch:u})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:a,render:({field:g})=>s(yu,{...g})})})]})]})})}function OP(e){const t=W.cloneDeep(W.omit(e,"variables"));return t.stats=W.omit(t.stats,"variables"),t}function AP(e){const{rotate:t,formatter:n=jn}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function RP(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function PP(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function IP(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:zi.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:r,show_in_legend:i}});return{...e,reference_lines:t}}function NP(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:r=0}=n;return{...n,yAxisIndex:r}});return{...e,reference_lines:t}}function $P(e){const t=e.series.map(n=>{const{aggregation_on_group:r=ho}=n;return{...n,aggregation_on_group:r}});return{...e,series:t}}function LP(e){const t=e.series.map(n=>{const{aggregation_on_value:r=ho}=n;return{...n,aggregation_on_value:r}});return{...e,series:t}}function VP(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}function zP(e){const{series:t,...n}=e;return{...n,series:t.map(r=>{const{barMinWidth:i,barWidth:o,barMaxWidth:a}=r;return i?{...r,barMinWidth:i,barWidth:"",barMaxWidth:a!=null?a:o}:{...r,barMinWidth:"",barWidth:o,barMaxWidth:""}})}}function FP(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(r=>{const{min:i="",max:o=""}=r;return{...r,min:i,max:o}})}}function BP(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(r=>{const{nameAlignment:i="left"}=r;return{...r,nameAlignment:i}})}}class GP extends Ft{constructor(){super(...arguments);ke(this,"VERSION",13)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(l=>{r.variables.find(u=>u.name===l.name)||r.addVariable(l)}),(W.get(i,"stats.variables")||[]).forEach(l=>{r.variables.find(u=>u.name===l.name)||r.addVariable(l)}),{...n,version:2,config:OP(i)}}),this.version(3,n=>({...n,version:3,config:AP(n.config)})),this.version(4,n=>({...n,version:4,config:RP(n.config)})),this.version(5,n=>({...n,version:5,config:PP(n.config)})),this.version(6,n=>({...n,version:6,config:IP(n.config)})),this.version(7,n=>({...n,version:7,config:NP(n.config)})),this.version(8,n=>({...n,version:8,config:$P(n.config)})),this.version(9,n=>({...n,version:9,config:LP(n.config)})),this.version(10,n=>({...n,version:10,config:VP(n.config)})),this.version(11,n=>({...n,version:11,config:zP(n.config)})),this.version(12,n=>({...n,version:12,config:FP(n.config)})),this.version(13,n=>({...n,version:13,config:BP(n.config)}))}}const jP={displayName:"Cartesian Chart",displayGroup:"ECharts-based charts",migrator:new GP,name:"cartesian",viewRender:XR,configRender:DP,createConfig(){return{version:13,config:W.cloneDeep(gu)}},triggers:[hu]};function KP(e){if(e.enable_value)return e.value}function WP(e){if(e.enable_value)return e.value}function qP(e){const t=e.axisLabel.overflow.on_axis.width,n=e.axisLabel.position,r={top:5,left:5,right:5,bottom:5};return e.orient==="vertical"&&H.default.get(r,n)&&n===e.funnelAlign&&H.default.set(r,n,t),r}function HP(e,t){return e.series.map(n=>{const{level_name_data_key:r,level_value_data_key:i,axisLabel:o,min:a,max:l,funnelAlign:u,orient:d,...f}=n,p=t.map(g=>({name:g[r],value:g[i]})),h=Mr(o.overflow.on_axis);return{type:"funnel",...qP(n),min:KP(a),max:WP(l),minSize:a.size,maxSize:l.size,...f,label:{show:!0,position:o.position,...h},orient:d,funnelAlign:d==="horizontal"?"center":u,data:p}})}function UP({conf:e,params:t,max:n}){const{name:r,value:i}=t.data,o=St.default(i/n).format({output:"percent",mantissa:2,trimMantissa:!0});return[{label:`${t.marker} ${r}`,value:`${i} (${o})`,style:{label:"",value:""}}]}function YP(e,t){var i;const n=e.series[0].level_value_data_key,r=(i=H.default.maxBy(t,n))==null?void 0:i[n];return o=>{const l=UP({conf:e,params:o,max:r}).map(d=>`
126
+ `)}},uP=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function cP({control:e,index:t,seriesItem:n}){const r=!!n.barWidth.trim();return y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.stack`,control:e,render:({field:i})=>s(c.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barGap`,control:e,render:({field:i})=>s(c.Select,{label:"Bar Gap",data:uP,sx:{flexGrow:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Min)",disabled:r,sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Max)",disabled:r,sx:{flexGrow:1},...i})})]})]})}const dP=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},fP=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(bu.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(dP,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},pP=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(fP,{value:e,onChange:t,data:n}),hP=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return s(be,{children:s(c.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},gP=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],xv=b.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...bu[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:gP,value:t.type,onChange:o,sx:{flexGrow:1}}),s(hP,{value:t,onChange:n}),s(pP,{value:t,onChange:n,data:r})]})}),vP=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],mP=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function yP({control:e,index:t,seriesItem:n,data:r}){const i=n.showSymbol;return y(be,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:o})=>s(c.Select,{label:"Line Type",data:mP,sx:{flexGrow:1},...o})}),s(D.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:o})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...o})})]}),y(c.Group,{grow:!0,align:"center",children:[s(D.Controller,{name:`series.${t}.step`,control:e,render:({field:o})=>s(c.Select,{label:"Step",data:vP,sx:{flexGrow:1,maxWidth:"48%"},...o,value:String(o.value),onChange:a=>{const l=a==="false"?!1:a;o.onChange(l)}})}),y(c.Stack,{children:[s(D.Controller,{name:`series.${t}.smooth`,control:e,render:({field:o})=>s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Smooth Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),s(D.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:o})=>{var a;return s(c.Box,{sx:{flexGrow:1},children:s(c.Switch,{label:"Display Name on Line",checked:(a=o.value)!=null?a:!1,onChange:l=>o.onChange(l.currentTarget.checked)})})}})]})]}),y(c.Stack,{children:[s(D.Controller,{name:`series.${t}.showSymbol`,control:e,render:({field:o})=>s(c.Box,{mt:10,mb:-10,sx:{flexGrow:1},children:s(c.Switch,{label:"Show Symbol on Line",checked:o.value,onChange:a=>o.onChange(a.currentTarget.checked)})})}),i&&s(D.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:o})=>s(xv,{label:"Symbol Size",data:r,...o})})]})]})}function bP({control:e,index:t,data:n}){return s(D.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:r})=>s(xv,{label:"Size",data:n,...r})})}const xP=[{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 wP({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:o}){const a=r.type;return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[s(c.Stack,{children:s(D.Controller,{name:`series.${t}.type`,control:e,render:({field:l})=>s(c.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"}],...l})})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:i,disabled:i.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:l})=>s(Ye,{label:"Value Field",required:!0,data:o,sx:{flex:1},...l})}),s(D.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:l})=>{var u;return s($a,{label:"Aggregation on Value",value:(u=l.value)!=null?u:ho,onChange:l.onChange,pt:0})}})]}),s(c.Group,{grow:!0,children:s(D.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:l})=>s(Ye,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...l})})}),a==="line"&&s(yP,{index:t,control:e,seriesItem:r,data:o}),a==="bar"&&s(cP,{index:t,control:e,seriesItem:r}),a==="scatter"&&s(bP,{index:t,control:e,data:o}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.label_position`,control:e,render:({field:l})=>s(c.Select,{label:"Label Position",data:xP,...l})}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`series.${t}.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:l})=>s(c.Checkbox,{label:"Hide in legend",checked:l.value,onChange:u=>l.onChange(u.currentTarget.checked)})}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function CP({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((p,h)=>({...p,...a[h]})),u=()=>{const p={type:"bar",name:qt.randomId(),showSymbol:!1,symbolSize:bu.static,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barMinWidth:"1",barWidth:"10%",barMaxWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1},hide_in_legend:!1,group_by_key:""};i(p)},d=t("y_axes"),f=Q.default.useMemo(()=>d.map(({name:p},h)=>({label:p,value:h.toString()})),[d]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((p,h)=>s(c.Tabs.Tab,{value:h.toString(),children:h+1},p.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((p,h)=>s(c.Tabs.Panel,{value:h.toString(),children:s(wP,{control:e,index:h,remove:o,seriesItem:p,yAxisOptions:f,data:n},p.id)},p.id))]})}function SP({control:e,watch:t}){return t("stats"),s(c.Stack,{children:y(c.Stack,{spacing:0,children:[s(D.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>s(po,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),s(D.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>s(po,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}function _P({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>s(Ye,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis_name",control:t,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}const EP=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],TP=[{label:"left",value:"left"},{label:"right",value:"right"}];function MP({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:EP,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:TP,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`y_axes.${t}.show`,control:e,render:({field:r})=>s(c.Checkbox,{label:"Visible",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function kP({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,d)=>({...u,...o[d]})),l=()=>r({name:"",label_formatter:dn});return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map((u,d)=>s(c.Tabs.Tab,{value:d.toString(),children:d+1},d)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((u,d)=>s(c.Tabs.Panel,{value:d.toString(),children:s(MP,{control:e,index:d,remove:i})},d))]})}function DP({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>W.defaultsDeep({},t,gu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,o),[p,o]);return u(["dataZoom"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),s(c.Tabs.Tab,{value:"Series",children:"Series"}),s(c.Tabs.Tab,{value:"Regression Lines",children:"Regression Lines"}),s(c.Tabs.Tab,{value:"Stats",children:"Stats"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),s(c.Tabs.Tab,{value:"Reference Areas",children:"Reference Areas"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(_P,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Y Axes",children:s(kP,{control:a,watch:u})}),s(c.Tabs.Panel,{value:"Series",children:s(CP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Regression Lines",children:s(lP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Stats",children:s(SP,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(iP,{variables:r,control:a,watch:u})}),s(c.Tabs.Panel,{value:"Reference Areas",children:s(eP,{variables:r,control:a,watch:u})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:a,render:({field:g})=>s(yu,{...g})})})]})]})})}function OP(e){const t=W.cloneDeep(W.omit(e,"variables"));return t.stats=W.omit(t.stats,"variables"),t}function AP(e){const{rotate:t,formatter:n=jn}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function RP(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function PP(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function IP(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:zi.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:r,show_in_legend:i}});return{...e,reference_lines:t}}function NP(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:r=0}=n;return{...n,yAxisIndex:r}});return{...e,reference_lines:t}}function $P(e){const t=e.series.map(n=>{const{aggregation_on_group:r=ho}=n;return{...n,aggregation_on_group:r}});return{...e,series:t}}function LP(e){const t=e.series.map(n=>{const{aggregation_on_value:r=ho}=n;return{...n,aggregation_on_value:r}});return{...e,series:t}}function VP(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}function zP(e){const{series:t,...n}=e;return{...n,series:t.map(r=>{const{barMinWidth:i,barWidth:o,barMaxWidth:a}=r;return i?{...r,barMinWidth:i,barWidth:"",barMaxWidth:a!=null?a:o}:{...r,barMinWidth:"",barWidth:o,barMaxWidth:""}})}}function FP(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(r=>{const{min:i="",max:o=""}=r;return{...r,min:i,max:o}})}}function BP(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(r=>{const{nameAlignment:i="left"}=r;return{...r,nameAlignment:i}})}}function GP(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(r=>{const{show:i=!0}=r;return{...r,show:i}})}}class jP extends Ft{constructor(){super(...arguments);ke(this,"VERSION",14)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(l=>{r.variables.find(u=>u.name===l.name)||r.addVariable(l)}),(W.get(i,"stats.variables")||[]).forEach(l=>{r.variables.find(u=>u.name===l.name)||r.addVariable(l)}),{...n,version:2,config:OP(i)}}),this.version(3,n=>({...n,version:3,config:AP(n.config)})),this.version(4,n=>({...n,version:4,config:RP(n.config)})),this.version(5,n=>({...n,version:5,config:PP(n.config)})),this.version(6,n=>({...n,version:6,config:IP(n.config)})),this.version(7,n=>({...n,version:7,config:NP(n.config)})),this.version(8,n=>({...n,version:8,config:$P(n.config)})),this.version(9,n=>({...n,version:9,config:LP(n.config)})),this.version(10,n=>({...n,version:10,config:VP(n.config)})),this.version(11,n=>({...n,version:11,config:zP(n.config)})),this.version(12,n=>({...n,version:12,config:FP(n.config)})),this.version(13,n=>({...n,version:13,config:BP(n.config)})),this.version(14,n=>({...n,version:14,config:GP(n.config)}))}}const KP={displayName:"Cartesian Chart",displayGroup:"ECharts-based charts",migrator:new jP,name:"cartesian",viewRender:XR,configRender:DP,createConfig(){return{version:14,config:W.cloneDeep(gu)}},triggers:[hu]};function WP(e){if(e.enable_value)return e.value}function qP(e){if(e.enable_value)return e.value}function HP(e){const t=e.axisLabel.overflow.on_axis.width,n=e.axisLabel.position,r={top:5,left:5,right:5,bottom:5};return e.orient==="vertical"&&H.default.get(r,n)&&n===e.funnelAlign&&H.default.set(r,n,t),r}function UP(e,t){return e.series.map(n=>{const{level_name_data_key:r,level_value_data_key:i,axisLabel:o,min:a,max:l,funnelAlign:u,orient:d,...f}=n,p=t.map(g=>({name:g[r],value:g[i]})),h=Mr(o.overflow.on_axis);return{type:"funnel",...HP(n),min:WP(a),max:qP(l),minSize:a.size,maxSize:l.size,...f,label:{show:!0,position:o.position,...h},orient:d,funnelAlign:d==="horizontal"?"center":u,data:p}})}function YP({conf:e,params:t,max:n}){const{name:r,value:i}=t.data,o=St.default(i/n).format({output:"percent",mantissa:2,trimMantissa:!0});return[{label:`${t.marker} ${r}`,value:`${i} (${o})`,style:{label:"",value:""}}]}function XP(e,t){var i;const n=e.series[0].level_value_data_key,r=(i=H.default.maxBy(t,n))==null?void 0:i[n];return o=>{const l=YP({conf:e,params:o,max:r}).map(d=>`
127
127
  <tr>
128
128
  <th style="text-align: right;">
129
129
  <div style="${d.style.label}">${d.label}</div>
@@ -139,7 +139,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
139
139
  <table style="width: auto">
140
140
  <tbody>${l.join("")}</tbody>
141
141
  </table>
142
- `}}function XP(e,t){return{trigger:"item",formatter:YP(e,t)}}function QP(e,t){return{grid:{top:0,left:0,right:0,bottom:0},tooltip:XP(e,t),series:HP(e,t)}}function ZP(e){return e||(e=Date.now().toString()),{id:e,name:e,level_name_data_key:"",level_value_data_key:"",min:{value:0,enable_value:!1,size:"0%"},max:{value:0,enable_value:!1,size:"100%"},gap:2,axisLabel:{show:!0,position:"inside",overflow:lr},sort:"descending",orient:"vertical",funnelAlign:"center"}}const xu={series:[ZP("Funnel")]};bt.use([Mt.FunnelChart,Pe.DataZoomComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function JP({conf:e,data:t,width:n,height:r}){const i=Q.default.useMemo(()=>QP(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:i,style:{width:n,height:r},notMerge:!0})}function eI({context:e}){const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaults({},t,xu),[t]),r=e.data,{width:i,height:o}=e.viewport;return s(c.Box,{children:s(JP,{width:i,height:o,data:r,conf:n})})}const tI=[{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"}],wv=b.forwardRef(({label:e,value:t,onChange:n,options:r=tI},i)=>s(c.Select,{ref:i,label:e,data:r,value:t,onChange:n})),nI=[{label:"Ascending",value:"ascending"},{label:"Descending",value:"descending"},{label:"Use original data order",value:"0"}],rI=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],iI=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],oI={horizontal:[{label:"Top",value:"top"},{label:"Inside Center",value:"inside"},{label:"Bottom",value:"bottom"}],vertical:[{label:"Left",value:"left"},{label:"Inside Left",value:"insideLeft"},{label:"Inside Center",value:"inside"},{label:"Inside Right",value:"insideRight"},{label:"Right",value:"right"}]},aI=({item:e,control:t,data:n,index:r,remove:i})=>{const o=e.min.enable_value,a=e.max.enable_value,{orient:l}=e;return y(c.Stack,{children:[s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`series.${r}.name`,control:t,render:({field:u})=>s(c.TextInput,{label:"Series Name",...u})})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.level_name_data_key`,control:t,render:({field:u})=>s(Ye,{label:"Level Name Field",data:n,...u})}),s(D.Controller,{name:`series.${r}.level_value_data_key`,control:t,render:({field:u})=>s(Ye,{label:"Level Value Field",data:n,...u})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Funnel Style",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.min.value`,control:t,render:({field:u})=>s(c.NumberInput,{disabled:!o,labelProps:{display:"block"},label:y(c.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[s(c.Text,{children:"Min Value"}),s(c.Tooltip,{label:"Check to enable specific min value",children:s(c.Box,{children:s(D.Controller,{name:`series.${r}.min.enable_value`,control:t,render:({field:d})=>s(c.Checkbox,{size:"xs",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})})})})]}),...u})}),s(D.Controller,{name:`series.${r}.min.size`,control:t,render:({field:u})=>s(c.TextInput,{placeholder:"0%",label:"Min Size",...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.max.value`,control:t,render:({field:u})=>s(c.NumberInput,{disabled:!a,labelProps:{display:"block"},label:y(c.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[s(c.Text,{children:"Max Value"}),s(c.Tooltip,{label:"Check to enable specific max value",children:s(c.Box,{children:s(D.Controller,{name:`series.${r}.max.enable_value`,control:t,render:({field:d})=>s(c.Checkbox,{size:"xs",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})})})})]}),...u})}),s(D.Controller,{name:`series.${r}.max.size`,control:t,render:({field:u})=>s(c.TextInput,{placeholder:"100%",label:"Max Size",...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.orient`,control:t,render:({field:u})=>s(c.Select,{label:"Orientation",data:iI,...u})}),s(D.Controller,{name:`series.${r}.sort`,control:t,render:({field:u})=>s(c.Select,{label:"Sort",data:nI,...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.funnelAlign`,control:t,render:({field:u})=>s(c.Select,{label:"Align",disabled:l==="horizontal",data:rI,...u})}),s(D.Controller,{name:`series.${r}.gap`,control:t,render:({field:u})=>s(c.NumberInput,{placeholder:"0, 5, 10...",label:"Gap",...u})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.axisLabel.position`,control:t,render:({field:u})=>s(wv,{label:"Position",options:oI[l],...u})}),s(c.Box,{})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`series.${r}.axisLabel.overflow`,control:t,render:({field:u})=>s(jr,{...u})})})]})},sI=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((p,h)=>({...p,...a[h]})),u=H.default.get(l,"0.id"),[d,f]=b.useState(u!=null?u:null);return b.useEffect(()=>{u&&f(p=>p!==null?p:u)},[u]),y(c.Tabs,{value:d,onTabChange:p=>f(p),styles:{panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((p,h)=>s(c.Tabs.Tab,{value:p.id,children:p.name},p.id)),s(c.Tabs.Tab,{value:"add",disabled:!0,children:s(c.Tooltip,{label:"TODO",children:s(c.Center,{children:s(vr,{size:18,color:"#228be6"})})})})]}),l.map((p,h)=>s(c.Tabs.Panel,{value:p.id,children:s(aI,{item:p,control:e,index:h,remove:o,data:n})},p.id))]})};function lI({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>H.default.defaultsDeep({},t,xu),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l([]);const f=u(),p=b.useMemo(()=>!H.default.isEqual(f,i),[f,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Funnel Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),s(sI,{control:o,watch:l,data:r})]})})}function uI(e){return{series:e.series.map(t=>{const{min:n,minSize:r,max:i,maxSize:o,...a}=t;return{...a,min:{value:n,use_data_min:!1,size:r},max:{value:i,use_data_max:!1,size:o}}})}}class cI extends Ft{constructor(){super(...arguments);ke(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:r}=n;return{...n,version:2,config:uI(r)}})}}const dI={displayName:"Funnel Chart",displayGroup:"ECharts-based charts",migrator:new cI,name:"funnel",viewRender:eI,configRender:lI,createConfig:()=>({version:2,config:xu})};function Cv({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 fI(e){const t=Cv(e.x_axis.axisLabel.formatter),n=Cv(e.y_axis.axisLabel.formatter);return{x_axis:t,y_axis:n}}function pI(e){return{heat_block:function(r){if(!e.heat_block.value_formatter)return r;try{return St.default(r).format(e.heat_block.value_formatter)}catch(i){return console.error(i),r}}}}function hI(e){let t=0;return e.x_axis.name&&(t+=20),{top:45,left:5,right:5,bottom:t}}function gI(e,t){const{x_axis:n,y_axis:r,heat_block:i}=e;return{type:"heatmap",name:i.name,xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{borderColor:"white",borderWidth:2},data:t.map(o=>[H.default.get(o,n.data_key),H.default.get(o,r.data_key),H.default.get(o,i.data_key)])}}const vI=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function mI({conf:e,labelFormatters:t,valueFormatters:n,dataDict:r,params:i}){const{value:o,dataIndex:a}=i,[l,u,d]=o,f={label:e.x_axis.name?e.x_axis.name:"X Axis",value:t.x_axis(l,a),style:{label:"",value:Tr(e.x_axis.axisLabel.overflow.in_tooltip)}},p={label:e.y_axis.name?e.y_axis.name:"Y Axis",value:t.y_axis(u,a),style:{label:"",value:Tr(e.y_axis.axisLabel.overflow.in_tooltip)}},h={label:e.heat_block.name,value:n.heat_block(d),style:{label:"",value:""}},g=[f,p,h],v=r[`${l}---${u}`];return v&&e.tooltip.metrics.forEach(m=>{g.push({label:m.name,value:vI(H.default.get(v,m.data_key,"")),style:{label:"",value:""}})}),g}function yI(e,t,n,r){const i=H.default.keyBy(t,o=>`${o[e.x_axis.data_key]}---${o[e.y_axis.data_key]}`);return{confine:!0,formatter:function(o){const l=mI({conf:e,labelFormatters:n,valueFormatters:r,dataDict:i,params:o}).map(d=>`
142
+ `}}function QP(e,t){return{trigger:"item",formatter:XP(e,t)}}function ZP(e,t){return{grid:{top:0,left:0,right:0,bottom:0},tooltip:QP(e,t),series:UP(e,t)}}function JP(e){return e||(e=Date.now().toString()),{id:e,name:e,level_name_data_key:"",level_value_data_key:"",min:{value:0,enable_value:!1,size:"0%"},max:{value:0,enable_value:!1,size:"100%"},gap:2,axisLabel:{show:!0,position:"inside",overflow:lr},sort:"descending",orient:"vertical",funnelAlign:"center"}}const xu={series:[JP("Funnel")]};bt.use([Mt.FunnelChart,Pe.DataZoomComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function eI({conf:e,data:t,width:n,height:r}){const i=Q.default.useMemo(()=>ZP(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:i,style:{width:n,height:r},notMerge:!0})}function tI({context:e}){const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaults({},t,xu),[t]),r=e.data,{width:i,height:o}=e.viewport;return s(c.Box,{children:s(eI,{width:i,height:o,data:r,conf:n})})}const nI=[{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"}],wv=b.forwardRef(({label:e,value:t,onChange:n,options:r=nI},i)=>s(c.Select,{ref:i,label:e,data:r,value:t,onChange:n})),rI=[{label:"Ascending",value:"ascending"},{label:"Descending",value:"descending"},{label:"Use original data order",value:"0"}],iI=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],oI=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],aI={horizontal:[{label:"Top",value:"top"},{label:"Inside Center",value:"inside"},{label:"Bottom",value:"bottom"}],vertical:[{label:"Left",value:"left"},{label:"Inside Left",value:"insideLeft"},{label:"Inside Center",value:"inside"},{label:"Inside Right",value:"insideRight"},{label:"Right",value:"right"}]},sI=({item:e,control:t,data:n,index:r,remove:i})=>{const o=e.min.enable_value,a=e.max.enable_value,{orient:l}=e;return y(c.Stack,{children:[s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`series.${r}.name`,control:t,render:({field:u})=>s(c.TextInput,{label:"Series Name",...u})})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.level_name_data_key`,control:t,render:({field:u})=>s(Ye,{label:"Level Name Field",data:n,...u})}),s(D.Controller,{name:`series.${r}.level_value_data_key`,control:t,render:({field:u})=>s(Ye,{label:"Level Value Field",data:n,...u})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Funnel Style",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.min.value`,control:t,render:({field:u})=>s(c.NumberInput,{disabled:!o,labelProps:{display:"block"},label:y(c.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[s(c.Text,{children:"Min Value"}),s(c.Tooltip,{label:"Check to enable specific min value",children:s(c.Box,{children:s(D.Controller,{name:`series.${r}.min.enable_value`,control:t,render:({field:d})=>s(c.Checkbox,{size:"xs",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})})})})]}),...u})}),s(D.Controller,{name:`series.${r}.min.size`,control:t,render:({field:u})=>s(c.TextInput,{placeholder:"0%",label:"Min Size",...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.max.value`,control:t,render:({field:u})=>s(c.NumberInput,{disabled:!a,labelProps:{display:"block"},label:y(c.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[s(c.Text,{children:"Max Value"}),s(c.Tooltip,{label:"Check to enable specific max value",children:s(c.Box,{children:s(D.Controller,{name:`series.${r}.max.enable_value`,control:t,render:({field:d})=>s(c.Checkbox,{size:"xs",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})})})})]}),...u})}),s(D.Controller,{name:`series.${r}.max.size`,control:t,render:({field:u})=>s(c.TextInput,{placeholder:"100%",label:"Max Size",...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.orient`,control:t,render:({field:u})=>s(c.Select,{label:"Orientation",data:oI,...u})}),s(D.Controller,{name:`series.${r}.sort`,control:t,render:({field:u})=>s(c.Select,{label:"Sort",data:rI,...u})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.funnelAlign`,control:t,render:({field:u})=>s(c.Select,{label:"Align",disabled:l==="horizontal",data:iI,...u})}),s(D.Controller,{name:`series.${r}.gap`,control:t,render:({field:u})=>s(c.NumberInput,{placeholder:"0, 5, 10...",label:"Gap",...u})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${r}.axisLabel.position`,control:t,render:({field:u})=>s(wv,{label:"Position",options:aI[l],...u})}),s(c.Box,{})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`series.${r}.axisLabel.overflow`,control:t,render:({field:u})=>s(jr,{...u})})})]})},lI=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((p,h)=>({...p,...a[h]})),u=H.default.get(l,"0.id"),[d,f]=b.useState(u!=null?u:null);return b.useEffect(()=>{u&&f(p=>p!==null?p:u)},[u]),y(c.Tabs,{value:d,onTabChange:p=>f(p),styles:{panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((p,h)=>s(c.Tabs.Tab,{value:p.id,children:p.name},p.id)),s(c.Tabs.Tab,{value:"add",disabled:!0,children:s(c.Tooltip,{label:"TODO",children:s(c.Center,{children:s(vr,{size:18,color:"#228be6"})})})})]}),l.map((p,h)=>s(c.Tabs.Panel,{value:p.id,children:s(sI,{item:p,control:e,index:h,remove:o,data:n})},p.id))]})};function uI({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>H.default.defaultsDeep({},t,xu),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l([]);const f=u(),p=b.useMemo(()=>!H.default.isEqual(f,i),[f,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Funnel Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),s(lI,{control:o,watch:l,data:r})]})})}function cI(e){return{series:e.series.map(t=>{const{min:n,minSize:r,max:i,maxSize:o,...a}=t;return{...a,min:{value:n,use_data_min:!1,size:r},max:{value:i,use_data_max:!1,size:o}}})}}class dI extends Ft{constructor(){super(...arguments);ke(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:r}=n;return{...n,version:2,config:cI(r)}})}}const fI={displayName:"Funnel Chart",displayGroup:"ECharts-based charts",migrator:new dI,name:"funnel",viewRender:tI,configRender:uI,createConfig:()=>({version:2,config:xu})};function Cv({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 pI(e){const t=Cv(e.x_axis.axisLabel.formatter),n=Cv(e.y_axis.axisLabel.formatter);return{x_axis:t,y_axis:n}}function hI(e){return{heat_block:function(r){if(!e.heat_block.value_formatter)return r;try{return St.default(r).format(e.heat_block.value_formatter)}catch(i){return console.error(i),r}}}}function gI(e){let t=0;return e.x_axis.name&&(t+=20),{top:45,left:5,right:5,bottom:t}}function vI(e,t){const{x_axis:n,y_axis:r,heat_block:i}=e;return{type:"heatmap",name:i.name,xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{borderColor:"white",borderWidth:2},data:t.map(o=>[H.default.get(o,n.data_key),H.default.get(o,r.data_key),H.default.get(o,i.data_key)])}}const mI=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function yI({conf:e,labelFormatters:t,valueFormatters:n,dataDict:r,params:i}){const{value:o,dataIndex:a}=i,[l,u,d]=o,f={label:e.x_axis.name?e.x_axis.name:"X Axis",value:t.x_axis(l,a),style:{label:"",value:Tr(e.x_axis.axisLabel.overflow.in_tooltip)}},p={label:e.y_axis.name?e.y_axis.name:"Y Axis",value:t.y_axis(u,a),style:{label:"",value:Tr(e.y_axis.axisLabel.overflow.in_tooltip)}},h={label:e.heat_block.name,value:n.heat_block(d),style:{label:"",value:""}},g=[f,p,h],v=r[`${l}---${u}`];return v&&e.tooltip.metrics.forEach(m=>{g.push({label:m.name,value:mI(H.default.get(v,m.data_key,"")),style:{label:"",value:""}})}),g}function bI(e,t,n,r){const i=H.default.keyBy(t,o=>`${o[e.x_axis.data_key]}---${o[e.y_axis.data_key]}`);return{confine:!0,formatter:function(o){const l=yI({conf:e,labelFormatters:n,valueFormatters:r,dataDict:i,params:o}).map(d=>`
143
143
  <tr>
144
144
  <th style="text-align: right;">
145
145
  <div style="${d.style.label}">${d.label}</div>
@@ -160,8 +160,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
160
160
  </thead>
161
161
  <tbody>${l.join("")}</tbody>
162
162
  </table>
163
- `}}}function bI(e){var t,n;return{min:(t=e.heat_block.min)!=null?t:0,max:(n=e.heat_block.max)!=null?n:100,calculable:!0,orient:"horizontal",left:"center",top:0,itemWidth:15}}function xI(e,t,n){var a;const{overflow:r,rotate:i}=e.x_axis.axisLabel,o=Mr(r.on_axis);return{id:"main-x-axis",type:"category",data:H.default.uniq(t.map(l=>l[e.x_axis.data_key])),name:(a=e.x_axis.name)!=null?a:"",align:"center",axisTick:{show:!0,alignWithLabel:!0},axisLabel:{rotate:i,...o,formatter:n},splitArea:{show:!0},nameLocation:"center",nameGap:25,nameTextStyle:{fontWeight:"bold",align:"center"},z:1}}function wI(e,t,n){const{nameAlignment:r,data_key:i,...o}=e.y_axis,{overflow:a,rotate:l}=e.y_axis.axisLabel,u=Mr(a.on_axis);return{...o,type:"category",data:H.default.uniq(t.map(d=>d[i])),axisLabel:{rotate:l,...u,formatter:n},axisLine:{show:!0,color:"blue"},axisTick:{show:!0,alignWithLabel:!0},splitArea:{show:!0},nameTextStyle:{fontWeight:"bold",align:r},nameLocation:"end",nameGap:15,z:1}}const CI={tooltip:{confine:!0},grid:{containLabel:!0}};function SI(e,t,n){const r=fI(e),i=pI(e),o={xAxis:xI(e,t,r.x_axis),yAxis:wI(e,t,r.y_axis),series:gI(e,t),dataset:[{source:t}],tooltip:yI(e,t,r,i),grid:hI(e),visualMap:bI(e)};return W.defaultsDeep({},o,CI)}function _I(e){return s(be,{})}function EI(e){return s(c.Text,{children:"Click heat block"})}const Sv={id:"builtin:echarts:click-heatmap:heat-block",displayName:"Click Heat Block",nameRender:EI,configRender:_I,payload:[{name:"seriesType",description:"'heatmap'",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"}]},wu={x_axis:{name:"",data_key:"",axisLabel:{rotate:0,overflow:lr,formatter:{...jn}}},y_axis:{name:"Y Axis",data_key:"",nameAlignment:"center",axisLabel:{rotate:0,overflow:lr,formatter:{...jn}}},heat_block:{min:0,max:1e3,name:"Value",data_key:"",value_formatter:dn},tooltip:{metrics:[]}};bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.HeatmapChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,Pe.VisualMapComponent,vn.CanvasRenderer]);function TI({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>{const p=e.x_axis.data_key,h=e.y_axis.data_key;return H.default.keyBy(t,g=>`${g[p]}---${g[h]}`)},[t,e.x_axis.data_key]),l=Bn(i.triggerManager,Sv.id),u=b.useCallback(p=>{const[h,g]=p.value,v=H.default.get(a,`${h}---${g}`,{error:"rowData is not found"});l.forEach(m=>{i.runInteraction(m.id,{...p,rowData:v})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>SI(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function MI({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,wu),[r]),a=e.data,{width:l,height:u}=e.viewport;return s(c.Box,{children:s(TI,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function kI({data:e,control:t,watch:n}){return n(["heat_block"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"heat_block.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.min",control:t,render:({field:r})=>s(c.NumberInput,{label:"Min Value",...r})}),s(D.Controller,{name:"heat_block.max",control:t,render:({field:r})=>s(c.NumberInput,{label:"Max Value",...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Value Format",labelPosition:"center"}),s(D.Controller,{name:"heat_block.value_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})}const DI=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),OI=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(DI,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function AI({data:e,control:t,watch:n}){return s(OI,{control:t,watch:n,data:e})}const RI=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},PI={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
164
- `)},_v=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(PI.func_content)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(RI,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})});function II({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Tick Label",labelPosition:"center"}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(_v,{data:e,...r})})]})]})}const NI=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function $I({control:e,watch:t,data:n}){return t(["y_axis"]),y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:n,sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.nameAlignment",control:e,render:({field:r})=>s(c.Select,{label:"Name Alignment",required:!0,data:NI,sx:{flex:1},...r})})}),s(c.Divider,{mb:-15,variant:"dashed",label:"Tick Label",labelPosition:"center"}),s(D.Controller,{name:"y_axis.axisLabel.overflow",control:e,render:({field:r})=>s(jr,{...r})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.axisLabel.rotate",control:e,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"y_axis.axisLabel.formatter",control:e,render:({field:r})=>s(_v,{data:n,...r})})]})]})}function LI({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,wu),[t]),o=b.useMemo(()=>H.default.cloneDeep(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Heat Block",children:"Heat Block"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(II,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Y Axis",children:s($I,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Heat Block",children:s(kI,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(AI,{control:a,watch:u,data:r})})]})]})})}class VI extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>(console.log("\u{1F7E5} unexpected calling"),{version:1,config:n}))}}const zI={displayName:"Heatmap",displayGroup:"ECharts-based charts",migrator:new VI,name:"heatmap",viewRender:MI,configRender:LI,createConfig:()=>({version:1,config:wu}),triggers:[Sv]},Ev={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:BI,configRender:FI,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 FI(e){return s(be,{})}function BI(e){return s(c.Text,{children:"Click chart's series"})}const Tv={label_template:"${percentage.x} of ${x_axis.name} causes ${percentage.y} of ${bar.name}",color:"rgba(0,0,0,0.3)"},Cu={x_axis:{name:"X Axis",data_key:"",axisLabel:{rotate:0,formatter:{...jn},overflow:lr}},data_key:"value",bar:{name:"Value",nameAlignment:"left",color:"#228be6",label_formatter:dn},line:{name:"Value",nameAlignment:"right",color:"red"},dataZoom:Si,markLine:Tv};function Ka(e){return St.default(e).format({output:"percent",mantissa:0})}function GI(e){const t=e.value[1];try{return Ka(t)}catch(n){return console.error(n),t}}function jI(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 St.default(r).format(e.bar.label_formatter)}catch(i){return console.error(i),r}}return{bar:t,line:GI,lineValue:Ka}}function KI(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 WI(e,t){if(t.length===0)return{};const n=t.findIndex(l=>l[1]>=.8);if(n===-1)return{};const r=t[n],i={x:Ka((n+1)/t.length),y:Ka(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:KI(e,i,o)}}]}:{}}function qI(e,t,n){const r=t.map(l=>[l[e.x_axis.data_key],Number(l[e.data_key])]).sort((l,u)=>u[1]-l[1]),i=r.reduce((l,u)=>l+u[1],0),o=r.reduce((l,u,d)=>{const f=d===0?0:l[d-1][1];return l.push([u[0],f+u[1]]),l},[]).map(l=>[l[0],l[1]/i]),a=WI(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 HI=(e,t)=>n=>{const r=Array.isArray(n)?n:[n];if(r.length===0)return"";const i=r.map((l,u)=>{const d=l.seriesName,[f,p]=l.value;if(!d)return p;const h=u===0?t.bar:t.lineValue;return`
163
+ `}}}function xI(e){var t,n;return{min:(t=e.heat_block.min)!=null?t:0,max:(n=e.heat_block.max)!=null?n:100,calculable:!0,orient:"horizontal",left:"center",top:0,itemWidth:15}}function wI(e,t,n){var a;const{overflow:r,rotate:i}=e.x_axis.axisLabel,o=Mr(r.on_axis);return{id:"main-x-axis",type:"category",data:H.default.uniq(t.map(l=>l[e.x_axis.data_key])),name:(a=e.x_axis.name)!=null?a:"",align:"center",axisTick:{show:!0,alignWithLabel:!0},axisLabel:{rotate:i,...o,formatter:n},splitArea:{show:!0},nameLocation:"center",nameGap:25,nameTextStyle:{fontWeight:"bold",align:"center"},z:1}}function CI(e,t,n){const{nameAlignment:r,data_key:i,...o}=e.y_axis,{overflow:a,rotate:l}=e.y_axis.axisLabel,u=Mr(a.on_axis);return{...o,type:"category",data:H.default.uniq(t.map(d=>d[i])),axisLabel:{rotate:l,...u,formatter:n},axisLine:{show:!0,color:"blue"},axisTick:{show:!0,alignWithLabel:!0},splitArea:{show:!0},nameTextStyle:{fontWeight:"bold",align:r},nameLocation:"end",nameGap:15,z:1}}const SI={tooltip:{confine:!0},grid:{containLabel:!0}};function _I(e,t,n){const r=pI(e),i=hI(e),o={xAxis:wI(e,t,r.x_axis),yAxis:CI(e,t,r.y_axis),series:vI(e,t),dataset:[{source:t}],tooltip:bI(e,t,r,i),grid:gI(e),visualMap:xI(e)};return W.defaultsDeep({},o,SI)}function EI(e){return s(be,{})}function TI(e){return s(c.Text,{children:"Click heat block"})}const Sv={id:"builtin:echarts:click-heatmap:heat-block",displayName:"Click Heat Block",nameRender:TI,configRender:EI,payload:[{name:"seriesType",description:"'heatmap'",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"}]},wu={x_axis:{name:"",data_key:"",axisLabel:{rotate:0,overflow:lr,formatter:{...jn}}},y_axis:{name:"Y Axis",data_key:"",nameAlignment:"center",axisLabel:{rotate:0,overflow:lr,formatter:{...jn}}},heat_block:{min:0,max:1e3,name:"Value",data_key:"",value_formatter:dn},tooltip:{metrics:[]}};bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.HeatmapChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,Pe.VisualMapComponent,vn.CanvasRenderer]);function MI({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>{const p=e.x_axis.data_key,h=e.y_axis.data_key;return H.default.keyBy(t,g=>`${g[p]}---${g[h]}`)},[t,e.x_axis.data_key]),l=Bn(i.triggerManager,Sv.id),u=b.useCallback(p=>{const[h,g]=p.value,v=H.default.get(a,`${h}---${g}`,{error:"rowData is not found"});l.forEach(m=>{i.runInteraction(m.id,{...p,rowData:v})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>_I(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function kI({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,wu),[r]),a=e.data,{width:l,height:u}=e.viewport;return s(c.Box,{children:s(MI,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function DI({data:e,control:t,watch:n}){return n(["heat_block"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"heat_block.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.min",control:t,render:({field:r})=>s(c.NumberInput,{label:"Min Value",...r})}),s(D.Controller,{name:"heat_block.max",control:t,render:({field:r})=>s(c.NumberInput,{label:"Max Value",...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Value Format",labelPosition:"center"}),s(D.Controller,{name:"heat_block.value_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})}const OI=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),AI=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(OI,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function RI({data:e,control:t,watch:n}){return s(AI,{control:t,watch:n,data:e})}const PI=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},II={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
164
+ `)},_v=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(II.func_content)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(PI,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})});function NI({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Tick Label",labelPosition:"center"}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(_v,{data:e,...r})})]})]})}const $I=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function LI({control:e,watch:t,data:n}){return t(["y_axis"]),y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.data_key",control:e,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:n,sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.name",control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.nameAlignment",control:e,render:({field:r})=>s(c.Select,{label:"Name Alignment",required:!0,data:$I,sx:{flex:1},...r})})}),s(c.Divider,{mb:-15,variant:"dashed",label:"Tick Label",labelPosition:"center"}),s(D.Controller,{name:"y_axis.axisLabel.overflow",control:e,render:({field:r})=>s(jr,{...r})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.axisLabel.rotate",control:e,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"y_axis.axisLabel.formatter",control:e,render:({field:r})=>s(_v,{data:n,...r})})]})]})}function VI({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,wu),[t]),o=b.useMemo(()=>H.default.cloneDeep(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Heat Block",children:"Heat Block"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(NI,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(LI,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Heat Block",children:s(DI,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(RI,{control:a,watch:u,data:r})})]})]})})}class zI extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>(console.log("\u{1F7E5} unexpected calling"),{version:1,config:n}))}}const FI={displayName:"Heatmap",displayGroup:"ECharts-based charts",migrator:new zI,name:"heatmap",viewRender:kI,configRender:VI,createConfig:()=>({version:1,config:wu}),triggers:[Sv]},Ev={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:GI,configRender:BI,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 BI(e){return s(be,{})}function GI(e){return s(c.Text,{children:"Click chart's series"})}const Tv={label_template:"${percentage.x} of ${x_axis.name} causes ${percentage.y} of ${bar.name}",color:"rgba(0,0,0,0.3)"},Cu={x_axis:{name:"X Axis",data_key:"",axisLabel:{rotate:0,formatter:{...jn},overflow:lr}},data_key:"value",bar:{name:"Value",nameAlignment:"left",color:"#228be6",label_formatter:dn},line:{name:"Value",nameAlignment:"right",color:"red"},dataZoom:Si,markLine:Tv};function Ka(e){return St.default(e).format({output:"percent",mantissa:0})}function jI(e){const t=e.value[1];try{return Ka(t)}catch(n){return console.error(n),t}}function KI(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 St.default(r).format(e.bar.label_formatter)}catch(i){return console.error(i),r}}return{bar:t,line:jI,lineValue:Ka}}function WI(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 qI(e,t){if(t.length===0)return{};const n=t.findIndex(l=>l[1]>=.8);if(n===-1)return{};const r=t[n],i={x:Ka((n+1)/t.length),y:Ka(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:WI(e,i,o)}}]}:{}}function HI(e,t,n){const r=t.map(l=>[l[e.x_axis.data_key],Number(l[e.data_key])]).sort((l,u)=>u[1]-l[1]),i=r.reduce((l,u)=>l+u[1],0),o=r.reduce((l,u,d)=>{const f=d===0?0:l[d-1][1];return l.push([u[0],f+u[1]]),l},[]).map(l=>[l[0],l[1]/i]),a=qI(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 UI=(e,t)=>n=>{const r=Array.isArray(n)?n:[n];if(r.length===0)return"";const i=r.map((l,u)=>{const d=l.seriesName,[f,p]=l.value;if(!d)return p;const h=u===0?t.bar:t.lineValue;return`
165
165
  <tr>
166
166
  <th style="text-align: right; padding: 0 1em;">${d}</th>
167
167
  <td style="text-align: left; padding: 0 1em;">${h(p)}</td>
@@ -175,7 +175,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
175
175
  ${i.join("")}
176
176
  </tbody>
177
177
  </table>
178
- `};function UI(e,t){return{trigger:"axis",formatter:HI(e,t)}}function YI(e){const{name:t,axisLabel:n}=e.x_axis,r=Mr(n.overflow.on_axis);return[{type:"category",name:t,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...n,...r,formatter:Ci(n.formatter)}}]}function XI(e,t){return[{name:e.bar.name,nameGap:20,nameTextStyle:{fontWeight:"bold",align:e.bar.nameAlignment},position:"left",axisLine:{show:!0},axisLabel:{show:!0,formatter:t.bar},splitLine:{show:!1}},{name:e.line.name,nameGap:20,nameTextStyle:{fontWeight:"bold",align:e.line.nameAlignment},position:"right",axisLine:{show:!0},axisLabel:{show:!0,formatter:t.lineValue},splitLine:{show:!1}}]}function QI(e,t,n){const r=jI(e);return{dataZoom:vu(e.dataZoom),tooltip:UI(e,r),xAxis:YI(e),yAxis:XI(e,r),series:qI(e,t,r),grid:{top:50,left:30,right:15,bottom:5,containLabel:!0}}}bt.use([Mt.BarChart,Mt.LineChart,Pe.DataZoomComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function ZI({context:e,instance:t}){const{value:n}=ze(e.instanceData,"config"),r=e.data,{width:i,height:o}=e.viewport,a=W.defaults({},n,Cu),l=QI(a,r),u=qn({vizManager:e.vizManager,instance:t}),d=Bn(u.triggerManager,Ev.id),f=b.useMemo(()=>H.default.keyBy(r,a.x_axis.data_key),[r,a.x_axis.data_key]),p=b.useCallback(g=>{const v=H.default.get(f,g.name,{error:"rowData is not found"});d.forEach(m=>{u.runInteraction(m.id,{...g,rowData:v})})},[f,d,u]),h=b.useMemo(()=>({click:p}),[p]);return!a||!i||!o?null:s(mn.default,{echarts:bt,option:l,style:{width:i,height:o},onEvents:h,notMerge:!0})}const JI=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function eN({data:e,control:t,watch:n}){return n(["bar"]),y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"bar.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Bar Name",sx:{flex:1},...r})}),s(D.Controller,{name:"bar.nameAlignment",control:t,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:JI,sx:{flex:1},...r})})]}),y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"bar.color",control:t,render:({field:r})=>s(bn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:"bar.label_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})]})}const tN=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function nN({data:e,control:t,watch:n}){return n(["line"]),y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"line.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Line Name",sx:{flex:1},...r})}),s(D.Controller,{name:"line.nameAlignment",control:t,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:tN,sx:{flex:1},...r})})]}),y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"line.color",control:t,render:({field:r})=>s(bn,{...r})})]})]})}const rN=`
178
+ `};function YI(e,t){return{trigger:"axis",formatter:UI(e,t)}}function XI(e){const{name:t,axisLabel:n}=e.x_axis,r=Mr(n.overflow.on_axis);return[{type:"category",name:t,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0},axisLabel:{...n,...r,formatter:Ci(n.formatter)}}]}function QI(e,t){return[{name:e.bar.name,nameGap:20,nameTextStyle:{fontWeight:"bold",align:e.bar.nameAlignment},position:"left",axisLine:{show:!0},axisLabel:{show:!0,formatter:t.bar},splitLine:{show:!1}},{name:e.line.name,nameGap:20,nameTextStyle:{fontWeight:"bold",align:e.line.nameAlignment},position:"right",axisLine:{show:!0},axisLabel:{show:!0,formatter:t.lineValue},splitLine:{show:!1}}]}function ZI(e,t,n){const r=KI(e);return{dataZoom:vu(e.dataZoom),tooltip:YI(e,r),xAxis:XI(e),yAxis:QI(e,r),series:HI(e,t,r),grid:{top:50,left:30,right:15,bottom:5,containLabel:!0}}}bt.use([Mt.BarChart,Mt.LineChart,Pe.DataZoomComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function JI({context:e,instance:t}){const{value:n}=ze(e.instanceData,"config"),r=e.data,{width:i,height:o}=e.viewport,a=W.defaults({},n,Cu),l=ZI(a,r),u=qn({vizManager:e.vizManager,instance:t}),d=Bn(u.triggerManager,Ev.id),f=b.useMemo(()=>H.default.keyBy(r,a.x_axis.data_key),[r,a.x_axis.data_key]),p=b.useCallback(g=>{const v=H.default.get(f,g.name,{error:"rowData is not found"});d.forEach(m=>{u.runInteraction(m.id,{...g,rowData:v})})},[f,d,u]),h=b.useMemo(()=>({click:p}),[p]);return!a||!i||!o?null:s(mn.default,{echarts:bt,option:l,style:{width:i,height:o},onEvents:h,notMerge:!0})}const eN=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function tN({data:e,control:t,watch:n}){return n(["bar"]),y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"bar.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Bar Name",sx:{flex:1},...r})}),s(D.Controller,{name:"bar.nameAlignment",control:t,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:eN,sx:{flex:1},...r})})]}),y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"bar.color",control:t,render:({field:r})=>s(bn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:"bar.label_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})]})}const nN=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}];function rN({data:e,control:t,watch:n}){return n(["line"]),y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"line.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Line Name",sx:{flex:1},...r})}),s(D.Controller,{name:"line.nameAlignment",control:t,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:nN,sx:{flex:1},...r})})]}),y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"line.color",control:t,render:({field:r})=>s(bn,{...r})})]})]})}const iN=`
179
179
  {
180
180
  // 80-20 line stuff
181
181
  percentage: {
@@ -198,8 +198,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
198
198
  name: string;
199
199
  };
200
200
  }
201
- `,iN=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see params for Label Template"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:rN})})]})};function oN({data:e,control:t,watch:n}){return n(["markLine"]),y(c.Stack,{children:[y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"markLine.color",control:t,render:({field:r})=>s(bn,{...r})})]}),y(c.Stack,{spacing:4,children:[s(D.Controller,{name:"markLine.label_template",control:t,render:({field:r})=>s(c.Textarea,{autosize:!0,minRows:2,maxRows:4,label:"Label Template",sx:{flex:1},...r})}),s(iN,{})]})]})}function aN({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}function sN({data:e,control:t,watch:n}){return n(["data_key"]),s(c.Stack,{children:s(D.Controller,{name:"data_key",control:t,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...r})})})}function lN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaults({},t,Cu),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["x_axis","data_key","bar","line","dataZoom"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,t),[f,t]);return y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Bar",children:"Bar"}),s(c.Tabs.Tab,{value:"Line",children:"Line"}),s(c.Tabs.Tab,{value:"80-20 Line",children:"80-20 Line"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(aN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(sN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Bar",children:s(eN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Line",children:s(nN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"80-20 Line",children:s(oN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:o,render:({field:h})=>s(yu,{...h})})})]})]})}function uN(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function cN(e){const{markLine:t=Tv,...n}=e;return{...n,markLine:t}}function dN(e){const t=H.default.defaultsDeep({},e.x_axis.axisLabel,{rotate:0,formatter:{...jn}});return{...e,x_axis:{...e.x_axis,axisLabel:t}}}function fN(e){const{label_formatter:t=dn}=e.bar;return{...e,bar:{...e.bar,label_formatter:t}}}function pN(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function hN(e){const t={bar:{nameAlignment:"left"},line:{nameAlignment:"right"}};return H.default.defaultsDeep(t,e)}function gN(e){console.log(e);const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}class vN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",8)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:uN(n.config)})),this.version(3,n=>({...n,version:3,config:cN(n.config)})),this.version(4,n=>({...n,version:4,config:dN(n.config)})),this.version(5,n=>({...n,version:5,config:fN(n.config)})),this.version(6,n=>({...n,version:6,config:pN(n.config)})),this.version(7,n=>({...n,version:7,config:hN(n.config)})),this.version(8,n=>({...n,version:8,config:gN(n.config)}))}}const mN={displayName:"Pareto Chart",displayGroup:"ECharts-based charts",migrator:new vN,name:"paretoChart",viewRender:ZI,configRender:lN,createConfig(){return{version:8,config:W.cloneDeep(Cu)}},triggers:[Ev]},Su={label_field:"",value_field:""};bt.use([Mt.PieChart,vn.CanvasRenderer]);const yN={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
202
- {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 bN({context:e}){const{value:t}=ze(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:o,value_field:a}=W.defaults({},t,Su),l=b.useMemo(()=>n.map(f=>({name:f[o],value:Number(f[a])})),[n,o,a]),u=b.useMemo(()=>({series:{labelLayout:function(f){const p=f.labelRect.x<r/2,h=f.labelLinePoints;return W.set(h,[2,0],p?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:h}}}}),[r]),d=W.merge({},yN,u,{series:{data:l}});return!r||!i?null:s(mn.default,{echarts:bt,option:d,style:{width:r,height:i},notMerge:!0})}function xN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Su),[t]),o=b.useMemo(()=>H.default.clone(i),[i]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,i),[p,i]);return u(["label_field","value_field"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Pie Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[s(D.Controller,{control:a,name:"label_field",render:({field:g})=>s(Ye,{label:"Label Key",required:!0,data:r,...g})}),s(D.Controller,{control:a,name:"value_field",render:({field:g})=>s(Ye,{label:"Value Key",required:!0,data:r,...g})})]})]})})}class wN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const CN={displayName:"Pie Chart",displayGroup:"ECharts-based charts",migrator:new wN,name:"pie",viewRender:bN,configRender:xN,createConfig(){return{version:1,config:W.cloneDeep(Su)}}};function SN(e){return s(be,{})}function _N(e){return s(c.Text,{children:"Click heat block"})}const Mv={id:"builtin:echarts:click-radar-chart:series",displayName:"Click radar chart series",nameRender:_N,configRender:SN,payload:[{name:"seriesType",description:"'radar'",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"}]},Wa={series_name_key:"name",background:{enabled:!0},label:{enabled:!0},dimensions:[]};function kv(e){return e?t=>{try{return St.default(t).format(e)}catch(n){return console.error(n),t}}:t=>t}function EN(e){return{show:e.label.enabled,formatter:({dimensionIndex:t,value:n})=>kv(e.dimensions[t].formatter)(n)}}function TN(e){return({name:t,marker:n,value:r})=>{if(r.length===0)return"";const i=r.map((o,a)=>{const l=e.dimensions[a],u=kv(l.formatter);return`
201
+ `,oN=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see params for Label Template"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:iN})})]})};function aN({data:e,control:t,watch:n}){return n(["markLine"]),y(c.Stack,{children:[y(c.Stack,{spacing:2,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"markLine.color",control:t,render:({field:r})=>s(bn,{...r})})]}),y(c.Stack,{spacing:4,children:[s(D.Controller,{name:"markLine.label_template",control:t,render:({field:r})=>s(c.Textarea,{autosize:!0,minRows:2,maxRows:4,label:"Label Template",sx:{flex:1},...r})}),s(oN,{})]})]})}function sN({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})]}),s(D.Controller,{name:"x_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}function lN({data:e,control:t,watch:n}){return n(["data_key"]),s(c.Stack,{children:s(D.Controller,{name:"data_key",control:t,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...r})})})}function uN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaults({},t,Cu),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["x_axis","data_key","bar","line","dataZoom"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,t),[f,t]);return y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Bar",children:"Bar"}),s(c.Tabs.Tab,{value:"Line",children:"Line"}),s(c.Tabs.Tab,{value:"80-20 Line",children:"80-20 Line"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(sN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(lN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Bar",children:s(tN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Line",children:s(rN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"80-20 Line",children:s(aN,{control:o,watch:l,data:r})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:o,render:({field:h})=>s(yu,{...h})})})]})]})}function cN(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function dN(e){const{markLine:t=Tv,...n}=e;return{...n,markLine:t}}function fN(e){const t=H.default.defaultsDeep({},e.x_axis.axisLabel,{rotate:0,formatter:{...jn}});return{...e,x_axis:{...e.x_axis,axisLabel:t}}}function pN(e){const{label_formatter:t=dn}=e.bar;return{...e,bar:{...e.bar,label_formatter:t}}}function hN(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return H.default.defaultsDeep(t,e)}function gN(e){const t={bar:{nameAlignment:"left"},line:{nameAlignment:"right"}};return H.default.defaultsDeep(t,e)}function vN(e){console.log(e);const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,r={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return H.default.defaultsDeep(r,e)}class mN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",8)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:cN(n.config)})),this.version(3,n=>({...n,version:3,config:dN(n.config)})),this.version(4,n=>({...n,version:4,config:fN(n.config)})),this.version(5,n=>({...n,version:5,config:pN(n.config)})),this.version(6,n=>({...n,version:6,config:hN(n.config)})),this.version(7,n=>({...n,version:7,config:gN(n.config)})),this.version(8,n=>({...n,version:8,config:vN(n.config)}))}}const yN={displayName:"Pareto Chart",displayGroup:"ECharts-based charts",migrator:new mN,name:"paretoChart",viewRender:JI,configRender:uN,createConfig(){return{version:8,config:W.cloneDeep(Cu)}},triggers:[Ev]},Su={label_field:"",value_field:""};bt.use([Mt.PieChart,vn.CanvasRenderer]);const bN={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
202
+ {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 xN({context:e}){const{value:t}=ze(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:o,value_field:a}=W.defaults({},t,Su),l=b.useMemo(()=>n.map(f=>({name:f[o],value:Number(f[a])})),[n,o,a]),u=b.useMemo(()=>({series:{labelLayout:function(f){const p=f.labelRect.x<r/2,h=f.labelLinePoints;return W.set(h,[2,0],p?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:h}}}}),[r]),d=W.merge({},bN,u,{series:{data:l}});return!r||!i?null:s(mn.default,{echarts:bt,option:d,style:{width:r,height:i},notMerge:!0})}function wN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Su),[t]),o=b.useMemo(()=>H.default.clone(i),[i]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,i),[p,i]);return u(["label_field","value_field"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Pie Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[s(D.Controller,{control:a,name:"label_field",render:({field:g})=>s(Ye,{label:"Label Key",required:!0,data:r,...g})}),s(D.Controller,{control:a,name:"value_field",render:({field:g})=>s(Ye,{label:"Value Key",required:!0,data:r,...g})})]})]})})}class CN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const SN={displayName:"Pie Chart",displayGroup:"ECharts-based charts",migrator:new CN,name:"pie",viewRender:xN,configRender:wN,createConfig(){return{version:1,config:W.cloneDeep(Su)}}};function _N(e){return s(be,{})}function EN(e){return s(c.Text,{children:"Click heat block"})}const Mv={id:"builtin:echarts:click-radar-chart:series",displayName:"Click radar chart series",nameRender:EN,configRender:_N,payload:[{name:"seriesType",description:"'radar'",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"}]},Wa={series_name_key:"name",background:{enabled:!0},label:{enabled:!0},dimensions:[]};function kv(e){return e?t=>{try{return St.default(t).format(e)}catch(n){return console.error(n),t}}:t=>t}function TN(e){return{show:e.label.enabled,formatter:({dimensionIndex:t,value:n})=>kv(e.dimensions[t].formatter)(n)}}function MN(e){return({name:t,marker:n,value:r})=>{if(r.length===0)return"";const i=r.map((o,a)=>{const l=e.dimensions[a],u=kv(l.formatter);return`
203
203
  <tr>
204
204
  <td style="padding-left: 18px;">${l.name}</td>
205
205
  <td style="text-align: right; "><strong>${u(o)}</strong></td>
@@ -227,9 +227,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
227
227
  ${i.join("")}
228
228
  </tbody>
229
229
  </table>
230
- `}}const MN={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function kN(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:l})=>({name:a,max:l})),i=t.map(a=>({value:e.dimensions.map(({data_key:l})=>a[l]),name:a[e.series_name_key]})),o={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,backgroundColor:"rgba(255,255,255,0.6)",formatter:TN(e)},legend:{show:!0,bottom:0,left:"center",type:"scroll"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},emphasis:{lineStyle:{width:4}},areaStyle:e.background.enabled?{opacity:.4}:void 0,label:EN(e)},color:n};return H.default.merge({},MN,o)}bt.use([Mt.RadarChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function DN({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.series_name_key),[t,e.series_name_key]),l=Bn(i.triggerManager,Mv.id),u=b.useCallback(p=>{const h=H.default.get(a,p.name,{error:"rowData is not found"});l.forEach(g=>{i.runInteraction(g.id,{...p,rowData:h})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=b.useMemo(()=>kN(W.defaultsDeep({},e,Wa),t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function ON({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>H.default.defaults({},r,Wa),[r]),a=e.data,{width:l,height:u}=e.viewport;return!l||!u||!o||W.isEmpty(o==null?void 0:o.dimensions)?null:s(c.Box,{children:s(DN,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function AN({control:e,index:t,remove:n,data:r}){return y(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),s(D.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),s(D.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>s(Gn,{...i})})]}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:s(re.Trash,{size:16})})]},t)}function RN({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"dimensions"}),a=t("dimensions"),l=r.map((g,v)=>({...g,...a[v]})),u=()=>{const g=new Date().getTime().toString();i({id:g,name:g,data_key:"",max:100,formatter:dn})},d=H.default.get(l,"0.id",null),[f,p]=b.useState(d);b.useEffect(()=>{p(g=>g||d)},[d]);const h=g=>{o(g);const v=H.default.get(l,"0.id",null);p(v)};return y(be,{children:[s(c.Divider,{mt:15,variant:"dashed",label:"Metrics",labelPosition:"center"}),y(c.Tabs,{value:f,onTabChange:p,styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((g,v)=>s(c.Tabs.Tab,{value:g.id,children:g.name?g.name:v+1},v)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(vr,{size:18,color:"#228be6"})})]}),l.map((g,v)=>s(c.Tabs.Panel,{value:g.id,children:s(AN,{data:n,control:e,index:v,remove:h})},v))]})]})}function PN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Wa),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["series_name_key","background","label"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,i),[f,i]);return s("form",{onSubmit:a(n),children:y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Radar Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),s(c.Divider,{mt:15,variant:"dashed",label:"Basics",labelPosition:"center"}),s(D.Controller,{name:"series_name_key",control:o,render:({field:h})=>s(Ye,{label:"Series Name Field",required:!0,data:r,sx:{flex:1},...h})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"background.enabled",control:o,render:({field:h})=>s(c.Checkbox,{label:"Show background",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked)})}),s(D.Controller,{name:"label.enabled",control:o,render:({field:h})=>s(c.Checkbox,{label:"Show value label",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked)})})]}),s(RN,{control:o,watch:l,data:r})]})})}function IN(e){const{dimensions:t=[],...n}=e;function r({name:i="",data_key:o="",max:a=10,formatter:l=dn}){return{name:i,data_key:o,max:a,formatter:l}}return{...n,dimensions:t.map(r)}}function NN(e){const{dimensions:t=[],...n}=e;return{...n,dimensions:t.map(r=>{var i;return{...r,id:(i=r.id)!=null?i:r.name}})}}function $N(e){const t={background:{enabled:!0},label:{enabled:!0}};return H.default.defaultsDeep(t,e)}class LN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",4)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:r}=n;return{...n,version:2,config:IN(r)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:NN(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:$N(r)}})}}const VN={displayName:"Radar Chart",displayGroup:"ECharts-based charts",migrator:new LN,name:"radar",viewRender:ON,configRender:PN,createConfig:()=>({version:4,config:Wa}),triggers:[Mv]};function zN(e,t){switch(e.config.method){case"linear":return[...gr.regressionLinear()(t)];case"exponential":return[...gr.regressionExp()(t)];case"logarithmic":return[...gr.regressionLog()(t)];case"polynomial":return[...gr.regressionPoly().order(e.config.order)(t)];default:return[]}}function FN({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:o,name:a}=e,l=zN(i,t);return n.push({...o,name:a,data:l,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const BN={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function GN(e,t){var o,a;const n=H.default.uniqBy(t.map(l=>[l[e.x_axis.data_key],l[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=FN(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 W.defaultsDeep({},i,BN)}function qa(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function jN(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=gr.regressionLinear()(o),{a:l,b:u,rSquared:d}=a;return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:u}),s(c.Text,{children:"+"}),s(c.Text,{weight:"bold",color:"gray",children:l}),s(c.Text,{children:"\xD7"}),s(c.Text,{children:r.name})]}),rSquared:d,adjustedRSquared:qa(d,e.length,1)}}if(n.transform.config.method==="exponential"){const{a,b:l,rSquared:u}=gr.regressionExp()(o);return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:a}),s(c.Text,{children:"\xD7"}),y(c.Group,{position:"left",noWrap:!0,spacing:2,children:[s(c.Text,{children:"Math.exp("}),s(c.Text,{weight:"bold",color:"gray",children:l}),s(c.Text,{children:"\xD7"}),s(c.Text,{children:r.name}),s(c.Text,{children:")"})]})]}),rSquared:u,adjustedRSquared:qa(u,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a,b:l,rSquared:u}=gr.regressionLog()(o);return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:a}),s(c.Text,{children:"\xD7"}),y(c.Group,{position:"left",noWrap:!0,spacing:2,children:[s(c.Text,{children:"Math.log("}),s(c.Text,{children:r.name}),s(c.Text,{children:")"}),s(c.Text,{children:"+"}),s(c.Text,{weight:"bold",color:"gray",children:l})]})]}),rSquared:u,adjustedRSquared:qa(u,e.length,1)}}if(n.transform.config.method==="polynomial"){const a=gr.regressionPoly().order(n.transform.config.order)(o),{rSquared:l}=a;return console.log(a),{expression:"",rSquared:l,adjustedRSquared:qa(l,e.length,1)}}return{expression:"",rSquared:0}}const _u={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"}};bt.use([Pe.DataZoomComponent,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]),bt.registerTransform(Vs.transform.regression);function KN({context:e}){const{value:t}=ze(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=b.useMemo(()=>{var h;const f=e.data,p=(h=t==null?void 0:t.regression)==null?void 0:h.y_axis_data_key;return p?f.map(g=>typeof g[p]=="number"?g:{...g,[p]:Number(g[p])}):f},[e.data,t==null?void 0:t.regression.y_axis_data_key]),o=b.useMemo(()=>GN(W.defaultsDeep({},t,_u),i),[t,i]),{expression:a,rSquared:l,adjustedRSquared:u}=b.useMemo(()=>jN(i,t),[t,i]);if(!n||!r||!t)return null;let d=r;return a&&(d-=20),y(c.Box,{children:[a&&s(c.Text,{align:"center",size:12,children:a}),y(c.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[s(mn.default,{echarts:bt,option:o,style:{width:n-190,height:d},notMerge:!0}),l&&s(c.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:y("tbody",{children:[y("tr",{children:[s("td",{children:"R-Sq"}),s("td",{style:{textAlign:"right"},children:St.default(l).format({output:"percent",mantissa:1})})]}),y("tr",{children:[s("td",{children:"R-Sq(Adjusted)"}),s("td",{style:{textAlign:"right"},children:St.default(u).format({output:"percent",mantissa:1})})]})]})})]})]})}const WN=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function qN({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"regression.name",control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>s(c.Select,{label:"Method",data:WN,sx:{flex:1},...i})}),r==="polynomial"&&s(D.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>s(c.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>s(bn,{...i})})]})]})}function HN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaults({},t,_u),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["x_axis","y_axis","regression"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,t),[f,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[y(c.Accordion.Item,{value:"Axis",children:[s(c.Accordion.Control,{children:"Axis"}),y(c.Accordion.Panel,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.name",control:o,render:({field:h})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...h})}),s(D.Controller,{name:"x_axis.data_key",control:o,render:({field:h})=>s(Ye,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.name",control:o,render:({field:h})=>s(c.TextInput,{label:"Y Axis Name",sx:{flex:1},...h})})})]})]}),y(c.Accordion.Item,{value:"Regression",children:[s(c.Accordion.Control,{children:"Regression Line"}),s(c.Accordion.Panel,{children:s(qN,{control:o,watch:l,data:r})})]})]})]})})}class UN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const YN={displayName:"Regression Chart",displayGroup:"Merico suite",migrator:new UN,name:"regressionChart",viewRender:KN,configRender:HN,createConfig(){return{version:1,config:W.cloneDeep(_u)}}},Ha={content:""};function XN({context:e}){const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaults({},t,Ha),[t]);return n!=null&&n.content?s(Xo,{value:n.content,styles:{root:{border:"none",height:"100%"},content:{padding:0}}}):null}const Eu=b.forwardRef(({value:e,onChange:t,styles:n={},label:r,onSubmit:i},o)=>{const[a,l]=b.useState(e),u=vd.useEditor({extensions:[md.default,Fd,it.Link,Vd,Ld,Nd,zd.configure({types:["heading","paragraph"]}),$d.configure({placeholder:"This is placeholder"}),Pd,Id],content:a,onUpdate:({editor:h})=>{l(h.getHTML())}});b.useEffect(()=>{l(e),u==null||u.commands.setContent(e)},[e]);const d=()=>{t(a),i==null||i()},f=e!==a,p=b.useMemo(()=>H.default.defaultsDeep({},{content:js},n),[n]);return y(c.Stack,{spacing:4,sx:{flexGrow:1,position:"relative"},children:[y(c.Group,{align:"center",children:[s(c.Text,{size:14,fw:500,children:r}),s(c.ActionIcon,{color:"blue",disabled:!f,onClick:d,children:s(Wi,{size:18})})]}),y(it.RichTextEditor,{editor:u,styles:p,children:[y(it.RichTextEditor.Toolbar,{sticky:!0,stickyOffset:0,children:[s(it.RichTextEditor.ControlsGroup,{children:s(it.RichTextEditor.ColorPicker,{colors:["#25262b","#868e96","#fa5252","#e64980","#be4bdb","#7950f2","#4c6ef5","#228be6","#15aabf","#12b886","#40c057","#82c91e","#fab005","#fd7e14"]})}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Bold,{}),s(it.RichTextEditor.Italic,{}),s(it.RichTextEditor.Underline,{}),s(it.RichTextEditor.Strikethrough,{}),s(it.RichTextEditor.ClearFormatting,{}),s(it.RichTextEditor.Highlight,{}),s(it.RichTextEditor.Code,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.H1,{}),s(it.RichTextEditor.H2,{}),s(it.RichTextEditor.H3,{}),s(it.RichTextEditor.H4,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Blockquote,{}),s(it.RichTextEditor.Hr,{}),s(it.RichTextEditor.BulletList,{}),s(it.RichTextEditor.OrderedList,{}),s(it.RichTextEditor.Subscript,{}),s(it.RichTextEditor.Superscript,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Link,{}),s(it.RichTextEditor.Unlink,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.AlignLeft,{}),s(it.RichTextEditor.AlignCenter,{}),s(it.RichTextEditor.AlignJustify,{}),s(it.RichTextEditor.AlignRight,{})]})]}),s(it.RichTextEditor.Content,{})]})]})});function QN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaults({},t,Ha),[t]),{control:i,handleSubmit:o,watch:a,reset:l}=D.useForm({defaultValues:r});a("content"),b.useEffect(()=>{l(r)},[r]);const u=b.useRef(null),d=()=>{var f;return(f=u.current)==null?void 0:f.click()};return s("form",{onSubmit:o(n),style:{flexGrow:1,display:"flex",flexDirection:"column"},children:y(c.Stack,{spacing:"xs",sx:{flexGrow:1},children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",display:"none"},children:[s(c.Text,{children:"Content"}),s(c.ActionIcon,{ref:u,type:"submit",mr:5,variant:"filled",color:"blue",children:s(re.DeviceFloppy,{size:20})})]}),s(D.Controller,{name:"content",control:i,render:({field:f})=>s(Eu,{...f,styles:{root:{flexGrow:1}},label:"Content",onSubmit:d})})]})})}class ZN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}fixMalformedConfig(n){return W.defaults({},n,Ha)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const JN={displayName:"Rich Text",displayGroup:"Others",migrator:new ZN,name:"richText",viewRender:XN,configRender:QN,createConfig(){return{version:1,config:W.cloneDeep(Ha)}}},Co={static:{type:"static",color:zi.random().css()},dynamic:{type:"dynamic",func_content:["function getColor({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here",' // return "blue"',"}"].join(`
231
- `)}},Dv={id:"builtin:echarts:click-scatter-chart:series",displayName:"Click Scatter",nameRender:t$,configRender:e$,payload:[{name:"seriesType",description:"'scatter'",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 e$(e){return s(be,{})}function t$(e){return s(c.Text,{children:"Click scatter"})}const Ov={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
232
- `)},Av={label:lr.on_axis,tooltip:lr.in_tooltip},Tu={scatter:{y_data_key:"",name_data_key:"",symbolSize:{type:"static",size:10},color:Co.static,label_position:"right",label_overflow:Av},stats:{templates:{top:"",bottom:""}},x_axis:{name:"",data_key:"",axisLabel:{rotate:0,formatter:{...Ov}}},y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:dn,min:"",max:""}],tooltip:{metrics:[]},reference_lines:[],reference_areas:[],dataZoom:Si};function n$(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),{top:n,bottom:r}}function r$({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:l}=t;return l}const{func_content:o}=t,a=W.keyBy(n,r);return(l,u)=>{let d;u.name?d=a[u.name]:d=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:d,params:u,variables:i},{lodash:H.default,interpolate:Ba})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function i$({type:e,...t},n){if(!e)return Co.static.color;if(e==="static"){const{color:i}=t;return i}const{func_content:r}=t;return({value:i})=>{try{return new Function(`return ${r}`)()({rowData:i,variables:n},{lodash:H.default,interpolate:Ba})}catch(o){return console.error(`[getSeriesColor] failed parsing custom function, error: ${o.message}`),10}}}function o$(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=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?Ga(i.template,t,r):""},position:l}}}})}function a$(e,t){return e.map(n=>({name:"",type:"line",data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function s$({x_axis:e,scatter:t},n,r,i){return{label:{show:!!t.label_position,position:t.label_position,...Mr(t.label_overflow.label),formatter:({value:o})=>o[t.name_data_key]},type:"scatter",name:"",xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{color:i$(t.color,r)},symbolSize:r$(t.symbolSize,n,e.data_key,r),encode:{x:e.data_key,y:t.y_data_key}}}function l$(e,t,n,r,i,o,a){return[s$(e,r,a)].concat(o$(e.reference_lines,o,a,r)).concat(a$(e.reference_areas,a))}function Rv({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 u$(e,t){const n=e.find(a=>a.axisDim==="x"&&a.axisId==="main-x-axis");if(!n)return"";const{name:r,axisValue:i,axisIndex:o}=n;return t.x_axis.axisLabel.formatter.enabled?Rv(t.x_axis.axisLabel.formatter)(i,o):i}const c$=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function d$(e,t){const{scatter:n}=e;return{confine:!0,formatter:function(r){var h;const i=(h=t[0])!=null?h:t.default,o=Array.isArray(r)?r:[r];if(o.length===0)return"";const a=u$(o,e),l=Tr(e.scatter.label_overflow.tooltip),u=o.map(({value:g})=>`
230
+ `}}const kN={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function DN(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:l})=>({name:a,max:l})),i=t.map(a=>({value:e.dimensions.map(({data_key:l})=>a[l]),name:a[e.series_name_key]})),o={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,backgroundColor:"rgba(255,255,255,0.6)",formatter:MN(e)},legend:{show:!0,bottom:0,left:"center",type:"scroll"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},emphasis:{lineStyle:{width:4}},areaStyle:e.background.enabled?{opacity:.4}:void 0,label:TN(e)},color:n};return H.default.merge({},kN,o)}bt.use([Mt.RadarChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]);function ON({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.series_name_key),[t,e.series_name_key]),l=Bn(i.triggerManager,Mv.id),u=b.useCallback(p=>{const h=H.default.get(a,p.name,{error:"rowData is not found"});l.forEach(g=>{i.runInteraction(g.id,{...p,rowData:h})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=b.useMemo(()=>DN(W.defaultsDeep({},e,Wa),t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function AN({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>H.default.defaults({},r,Wa),[r]),a=e.data,{width:l,height:u}=e.viewport;return!l||!u||!o||W.isEmpty(o==null?void 0:o.dimensions)?null:s(c.Box,{children:s(ON,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function RN({control:e,index:t,remove:n,data:r}){return y(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),s(D.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),s(D.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>s(Gn,{...i})})]}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:s(re.Trash,{size:16})})]},t)}function PN({control:e,watch:t,data:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"dimensions"}),a=t("dimensions"),l=r.map((g,v)=>({...g,...a[v]})),u=()=>{const g=new Date().getTime().toString();i({id:g,name:g,data_key:"",max:100,formatter:dn})},d=H.default.get(l,"0.id",null),[f,p]=b.useState(d);b.useEffect(()=>{p(g=>g||d)},[d]);const h=g=>{o(g);const v=H.default.get(l,"0.id",null);p(v)};return y(be,{children:[s(c.Divider,{mt:15,variant:"dashed",label:"Metrics",labelPosition:"center"}),y(c.Tabs,{value:f,onTabChange:p,styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((g,v)=>s(c.Tabs.Tab,{value:g.id,children:g.name?g.name:v+1},v)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(vr,{size:18,color:"#228be6"})})]}),l.map((g,v)=>s(c.Tabs.Panel,{value:g.id,children:s(RN,{data:n,control:e,index:v,remove:h})},v))]})]})}function IN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Wa),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["series_name_key","background","label"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,i),[f,i]);return s("form",{onSubmit:a(n),children:y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Radar Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),s(c.Divider,{mt:15,variant:"dashed",label:"Basics",labelPosition:"center"}),s(D.Controller,{name:"series_name_key",control:o,render:({field:h})=>s(Ye,{label:"Series Name Field",required:!0,data:r,sx:{flex:1},...h})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"background.enabled",control:o,render:({field:h})=>s(c.Checkbox,{label:"Show background",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked)})}),s(D.Controller,{name:"label.enabled",control:o,render:({field:h})=>s(c.Checkbox,{label:"Show value label",checked:h.value,onChange:g=>h.onChange(g.currentTarget.checked)})})]}),s(PN,{control:o,watch:l,data:r})]})})}function NN(e){const{dimensions:t=[],...n}=e;function r({name:i="",data_key:o="",max:a=10,formatter:l=dn}){return{name:i,data_key:o,max:a,formatter:l}}return{...n,dimensions:t.map(r)}}function $N(e){const{dimensions:t=[],...n}=e;return{...n,dimensions:t.map(r=>{var i;return{...r,id:(i=r.id)!=null?i:r.name}})}}function LN(e){const t={background:{enabled:!0},label:{enabled:!0}};return H.default.defaultsDeep(t,e)}class VN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",4)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:r}=n;return{...n,version:2,config:NN(r)}}),this.version(3,n=>{const{config:r}=n;return{...n,version:3,config:$N(r)}}),this.version(4,n=>{const{config:r}=n;return{...n,version:4,config:LN(r)}})}}const zN={displayName:"Radar Chart",displayGroup:"ECharts-based charts",migrator:new VN,name:"radar",viewRender:AN,configRender:IN,createConfig:()=>({version:4,config:Wa}),triggers:[Mv]};function FN(e,t){switch(e.config.method){case"linear":return[...gr.regressionLinear()(t)];case"exponential":return[...gr.regressionExp()(t)];case"logarithmic":return[...gr.regressionLog()(t)];case"polynomial":return[...gr.regressionPoly().order(e.config.order)(t)];default:return[]}}function BN({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:o,name:a}=e,l=FN(i,t);return n.push({...o,name:a,data:l,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const GN={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function jN(e,t){var o,a;const n=H.default.uniqBy(t.map(l=>[l[e.x_axis.data_key],l[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=BN(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 W.defaultsDeep({},i,GN)}function qa(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function KN(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=gr.regressionLinear()(o),{a:l,b:u,rSquared:d}=a;return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:u}),s(c.Text,{children:"+"}),s(c.Text,{weight:"bold",color:"gray",children:l}),s(c.Text,{children:"\xD7"}),s(c.Text,{children:r.name})]}),rSquared:d,adjustedRSquared:qa(d,e.length,1)}}if(n.transform.config.method==="exponential"){const{a,b:l,rSquared:u}=gr.regressionExp()(o);return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:a}),s(c.Text,{children:"\xD7"}),y(c.Group,{position:"left",noWrap:!0,spacing:2,children:[s(c.Text,{children:"Math.exp("}),s(c.Text,{weight:"bold",color:"gray",children:l}),s(c.Text,{children:"\xD7"}),s(c.Text,{children:r.name}),s(c.Text,{children:")"})]})]}),rSquared:u,adjustedRSquared:qa(u,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a,b:l,rSquared:u}=gr.regressionLog()(o);return{expression:y(c.Group,{position:"center",noWrap:!0,spacing:10,children:[s(c.Text,{children:i.name}),s(c.Text,{children:"="}),s(c.Text,{weight:"bold",color:"gray",children:a}),s(c.Text,{children:"\xD7"}),y(c.Group,{position:"left",noWrap:!0,spacing:2,children:[s(c.Text,{children:"Math.log("}),s(c.Text,{children:r.name}),s(c.Text,{children:")"}),s(c.Text,{children:"+"}),s(c.Text,{weight:"bold",color:"gray",children:l})]})]}),rSquared:u,adjustedRSquared:qa(u,e.length,1)}}if(n.transform.config.method==="polynomial"){const a=gr.regressionPoly().order(n.transform.config.order)(o),{rSquared:l}=a;return console.log(a),{expression:"",rSquared:l,adjustedRSquared:qa(l,e.length,1)}}return{expression:"",rSquared:0}}const _u={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"}};bt.use([Pe.DataZoomComponent,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer]),bt.registerTransform(Vs.transform.regression);function WN({context:e}){const{value:t}=ze(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=b.useMemo(()=>{var h;const f=e.data,p=(h=t==null?void 0:t.regression)==null?void 0:h.y_axis_data_key;return p?f.map(g=>typeof g[p]=="number"?g:{...g,[p]:Number(g[p])}):f},[e.data,t==null?void 0:t.regression.y_axis_data_key]),o=b.useMemo(()=>jN(W.defaultsDeep({},t,_u),i),[t,i]),{expression:a,rSquared:l,adjustedRSquared:u}=b.useMemo(()=>KN(i,t),[t,i]);if(!n||!r||!t)return null;let d=r;return a&&(d-=20),y(c.Box,{children:[a&&s(c.Text,{align:"center",size:12,children:a}),y(c.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[s(mn.default,{echarts:bt,option:o,style:{width:n-190,height:d},notMerge:!0}),l&&s(c.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:y("tbody",{children:[y("tr",{children:[s("td",{children:"R-Sq"}),s("td",{style:{textAlign:"right"},children:St.default(l).format({output:"percent",mantissa:1})})]}),y("tr",{children:[s("td",{children:"R-Sq(Adjusted)"}),s("td",{style:{textAlign:"right"},children:St.default(u).format({output:"percent",mantissa:1})})]})]})})]})]})}const qN=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function HN({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"regression.name",control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>s(c.Select,{label:"Method",data:qN,sx:{flex:1},...i})}),r==="polynomial"&&s(D.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>s(c.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>s(bn,{...i})})]})]})}function UN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaults({},t,_u),[t]),{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});b.useEffect(()=>{d(i)},[i]),l(["x_axis","y_axis","regression"]);const f=u(),p=b.useMemo(()=>!W.isEqual(f,t),[f,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[y(c.Accordion.Item,{value:"Axis",children:[s(c.Accordion.Control,{children:"Axis"}),y(c.Accordion.Panel,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.name",control:o,render:({field:h})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...h})}),s(D.Controller,{name:"x_axis.data_key",control:o,render:({field:h})=>s(Ye,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.name",control:o,render:({field:h})=>s(c.TextInput,{label:"Y Axis Name",sx:{flex:1},...h})})})]})]}),y(c.Accordion.Item,{value:"Regression",children:[s(c.Accordion.Control,{children:"Regression Line"}),s(c.Accordion.Panel,{children:s(HN,{control:o,watch:l,data:r})})]})]})]})})}class YN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const XN={displayName:"Regression Chart",displayGroup:"Merico suite",migrator:new YN,name:"regressionChart",viewRender:WN,configRender:UN,createConfig(){return{version:1,config:W.cloneDeep(_u)}}},Ha={content:""};function QN({context:e}){const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaults({},t,Ha),[t]);return n!=null&&n.content?s(Xo,{value:n.content,styles:{root:{border:"none",height:"100%"},content:{padding:0}}}):null}const Eu=b.forwardRef(({value:e,onChange:t,styles:n={},label:r,onSubmit:i},o)=>{const[a,l]=b.useState(e),u=vd.useEditor({extensions:[md.default,Fd,it.Link,Vd,Ld,Nd,zd.configure({types:["heading","paragraph"]}),$d.configure({placeholder:"This is placeholder"}),Pd,Id],content:a,onUpdate:({editor:h})=>{l(h.getHTML())}});b.useEffect(()=>{l(e),u==null||u.commands.setContent(e)},[e]);const d=()=>{t(a),i==null||i()},f=e!==a,p=b.useMemo(()=>H.default.defaultsDeep({},{content:js},n),[n]);return y(c.Stack,{spacing:4,sx:{flexGrow:1,position:"relative"},children:[y(c.Group,{align:"center",children:[s(c.Text,{size:14,fw:500,children:r}),s(c.ActionIcon,{color:"blue",disabled:!f,onClick:d,children:s(Wi,{size:18})})]}),y(it.RichTextEditor,{editor:u,styles:p,children:[y(it.RichTextEditor.Toolbar,{sticky:!0,stickyOffset:0,children:[s(it.RichTextEditor.ControlsGroup,{children:s(it.RichTextEditor.ColorPicker,{colors:["#25262b","#868e96","#fa5252","#e64980","#be4bdb","#7950f2","#4c6ef5","#228be6","#15aabf","#12b886","#40c057","#82c91e","#fab005","#fd7e14"]})}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Bold,{}),s(it.RichTextEditor.Italic,{}),s(it.RichTextEditor.Underline,{}),s(it.RichTextEditor.Strikethrough,{}),s(it.RichTextEditor.ClearFormatting,{}),s(it.RichTextEditor.Highlight,{}),s(it.RichTextEditor.Code,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.H1,{}),s(it.RichTextEditor.H2,{}),s(it.RichTextEditor.H3,{}),s(it.RichTextEditor.H4,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Blockquote,{}),s(it.RichTextEditor.Hr,{}),s(it.RichTextEditor.BulletList,{}),s(it.RichTextEditor.OrderedList,{}),s(it.RichTextEditor.Subscript,{}),s(it.RichTextEditor.Superscript,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.Link,{}),s(it.RichTextEditor.Unlink,{})]}),y(it.RichTextEditor.ControlsGroup,{children:[s(it.RichTextEditor.AlignLeft,{}),s(it.RichTextEditor.AlignCenter,{}),s(it.RichTextEditor.AlignJustify,{}),s(it.RichTextEditor.AlignRight,{})]})]}),s(it.RichTextEditor.Content,{})]})]})});function ZN({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaults({},t,Ha),[t]),{control:i,handleSubmit:o,watch:a,reset:l}=D.useForm({defaultValues:r});a("content"),b.useEffect(()=>{l(r)},[r]);const u=b.useRef(null),d=()=>{var f;return(f=u.current)==null?void 0:f.click()};return s("form",{onSubmit:o(n),style:{flexGrow:1,display:"flex",flexDirection:"column"},children:y(c.Stack,{spacing:"xs",sx:{flexGrow:1},children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",display:"none"},children:[s(c.Text,{children:"Content"}),s(c.ActionIcon,{ref:u,type:"submit",mr:5,variant:"filled",color:"blue",children:s(re.DeviceFloppy,{size:20})})]}),s(D.Controller,{name:"content",control:i,render:({field:f})=>s(Eu,{...f,styles:{root:{flexGrow:1}},label:"Content",onSubmit:d})})]})})}class JN extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}fixMalformedConfig(n){return W.defaults({},n,Ha)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const e$={displayName:"Rich Text",displayGroup:"Others",migrator:new JN,name:"richText",viewRender:QN,configRender:ZN,createConfig(){return{version:1,config:W.cloneDeep(Ha)}}},Co={static:{type:"static",color:zi.random().css()},dynamic:{type:"dynamic",func_content:["function getColor({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here",' // return "blue"',"}"].join(`
231
+ `)}},Dv={id:"builtin:echarts:click-scatter-chart:series",displayName:"Click Scatter",nameRender:n$,configRender:t$,payload:[{name:"seriesType",description:"'scatter'",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 t$(e){return s(be,{})}function n$(e){return s(c.Text,{children:"Click scatter"})}const Ov={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
232
+ `)},Av={label:lr.on_axis,tooltip:lr.in_tooltip},Tu={scatter:{y_data_key:"",name_data_key:"",symbolSize:{type:"static",size:10},color:Co.static,label_position:"right",label_overflow:Av},stats:{templates:{top:"",bottom:""}},x_axis:{name:"",data_key:"",axisLabel:{rotate:0,formatter:{...Ov}}},y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:dn,min:"",max:"",show:!0}],tooltip:{metrics:[]},reference_lines:[],reference_areas:[],dataZoom:Si};function r$(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),{top:n,bottom:r}}function i$({type:e,...t},n,r,i){if(!e)return 10;if(e==="static"){const{size:l}=t;return l}const{func_content:o}=t,a=W.keyBy(n,r);return(l,u)=>{let d;u.name?d=a[u.name]:d=n[u.dataIndex];try{return new Function(`return ${o}`)()({rowData:d,params:u,variables:i},{lodash:H.default,interpolate:Ba})}catch(f){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${f.message}`),10}}}function o$({type:e,...t},n){if(!e)return Co.static.color;if(e==="static"){const{color:i}=t;return i}const{func_content:r}=t;return({value:i})=>{try{return new Function(`return ${r}`)()({rowData:i,variables:n},{lodash:H.default,interpolate:Ba})}catch(o){return console.error(`[getSeriesColor] failed parsing custom function, error: ${o.message}`),10}}}function a$(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=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?Ga(i.template,t,r):""},position:l}}}})}function s$(e,t){return e.map(n=>({name:"",type:"line",data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function l$({x_axis:e,scatter:t},n,r,i){return{label:{show:!!t.label_position,position:t.label_position,...Mr(t.label_overflow.label),formatter:({value:o})=>o[t.name_data_key]},type:"scatter",name:"",xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{color:o$(t.color,r)},symbolSize:i$(t.symbolSize,n,e.data_key,r),encode:{x:e.data_key,y:t.y_data_key}}}function u$(e,t,n,r,i,o,a){return[l$(e,r,a)].concat(a$(e.reference_lines,o,a,r)).concat(s$(e.reference_areas,a))}function Rv({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 c$(e,t){const n=e.find(a=>a.axisDim==="x"&&a.axisId==="main-x-axis");if(!n)return"";const{name:r,axisValue:i,axisIndex:o}=n;return t.x_axis.axisLabel.formatter.enabled?Rv(t.x_axis.axisLabel.formatter)(i,o):i}const d$=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function f$(e,t){const{scatter:n}=e;return{confine:!0,formatter:function(r){var h;const i=(h=t[0])!=null?h:t.default,o=Array.isArray(r)?r:[r];if(o.length===0)return"";const a=c$(o,e),l=Tr(e.scatter.label_overflow.tooltip),u=o.map(({value:g})=>`
233
233
  <th style="text-align: right; padding-right: 1em">
234
234
  <div style="${l}">${g[n.name_data_key]}</div>
235
235
  </th>
@@ -244,14 +244,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
244
244
  </td>`).join("")}
245
245
  </tr>`],f=e.tooltip.metrics.map(g=>`<tr>
246
246
  <th style="text-align: right;">${g.name}</th>
247
- ${o.map(({value:v})=>`<td style="text-align: right; padding: 0 1em;">${c$(v[g.data_key])}</td>`).join("")}
247
+ ${o.map(({value:v})=>`<td style="text-align: right; padding: 0 1em;">${d$(v[g.data_key])}</td>`).join("")}
248
248
  </tr>`);return d.push(...f),`
249
249
  <table style="width: auto">
250
250
  <thead><tr>${u.join("")}</tr></thead>
251
251
  <tbody>${d.join("")}</tbody>
252
252
  </table>
253
- `}}}function f$(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:Rv(r.formatter)}}]}function p$(e,t){return e.y_axes.map(({nameAlignment:n,min:r,max:i,...o},a)=>{var u;let l=o.position;return l||(l=a>0?"right":"left"),{...o,min:r||void 0,max:i||void 0,position:l,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 h$(){return{show:!1,bottom:0,left:"center",type:"scroll"}}const g$={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((d,f)=>{const p=xo(f,t);return d[f.name]=Wr(f,p),d},{}),i=e.y_axes.reduce((d,{label_formatter:f},p)=>(d[p]=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 St.default(v).format(f)}catch(m){return console.error(m),v}},d),{default:({value:d})=>d}),o=H.default.uniq(t.map(d=>d[e.x_axis.data_key])),a=o.every(d=>!Number.isNaN(Number(d))),l=l$(e,o,a,t,i,n,r),u={xAxis:f$(e,o),yAxis:p$(e,i),series:l,dataset:[{source:t}],tooltip:d$(e,i),grid:n$(e),legend:h$(),dataZoom:vu(e.dataZoom)};return W.defaultsDeep({},u,g$)}bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer,Pe.MarkLineComponent,Pe.MarkAreaComponent]),bt.registerTransform(Vs.transform.regression);function Pv(e){return e.trim().length>0}function m$({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.x_axis.data_key),[t,e.x_axis.data_key]),l=Bn(i.triggerManager,Dv.id),u=b.useCallback(p=>{const h=p.value[0],g=H.default.get(a,h,{error:"rowData is not found"});l.forEach(v=>{i.runInteraction(v.id,{...p,rowData:g})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>v$(e,t,o),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function y$({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,Tu),[r]),a=e.data,{width:l,height:u}=e.viewport,{ref:d,height:f}=qt.useElementSize(),{ref:p,height:h}=qt.useElementSize(),g=Q.default.useMemo(()=>{const{stats:{templates:m}}=o;return{top:wo(m.top,i,a),bottom:wo(m.bottom,i,a)}},[o,a]),v=Math.max(0,u-f-h);return y(c.Box,{children:[s(c.Text,{ref:d,align:"left",size:"xs",pl:"sm",sx:{display:Pv(o.stats.templates.top)?"block":"none"},children:Object.values(g.top).map(m=>m)}),s(m$,{variables:i,width:l,height:v,data:a,conf:o,interactionManager:n}),s(c.Text,{ref:p,align:"left",size:"xs",pl:"sm",sx:{display:Pv(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"}],x$=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function w$({control:e,index:t,remove:n,watch:r,variableOptions:i,yAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>s(c.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...l})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),y(c.Group,{grow:!0,children:[y(c.Stack,{children:[s(D.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>s(c.Select,{label:"Orientation",data:x$,required:!0,sx:{flex:1},...l})}),a==="vertical"&&s(c.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&s(D.Controller,{name:`reference_lines.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:o,disabled:o.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:b$,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function C$({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>{const h={name:"",template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:zi.random().css()},show_in_legend:!1,yAxisIndex:0};i(h)},d=b.useMemo(()=>n.map(h=>({label:h.name,value:h.name})),[n]),f=t("y_axes"),p=b.useMemo(()=>f.map(({name:h},g)=>({label:h,value:g.toString()})),[f]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:g.toString(),children:g+1},g)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:g.toString(),children:s(w$,{control:e,index:g,remove:o,watch:t,variableOptions:d,yAxisOptions:p})},g))]})}const S$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},_$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(Co.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic color",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(S$,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},E$=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(_$,{value:e,onChange:t,data:n}),T$=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,color:r})};return s(c.ColorInput,{label:" ",format:"rgb",value:e.color,onChange:n})},M$=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],k$=b.forwardRef(({label:e="Color",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Co[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:M$,value:t.type,onChange:o,sx:{flexGrow:1}}),s(T$,{value:t,onChange:n}),s(E$,{value:t,onChange:n,data:r})]})}),D$=b.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,label:o})},i=o=>{t({...e,tooltip:o})};return y(c.Stack,{ref:n,spacing:0,children:[s(Na,{sectionTitle:"Overflow on Chart",value:e.label,onChange:r}),s(Na,{sectionTitle:"Overflow in Tooltip",value:e.tooltip,onChange:i})]})}),O$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},Iv={static:{type:"static",size:10},dynamic:{type:"dynamic",func_content:["function getSize({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here"," // return 10","}"].join(`
254
- `)}},A$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(Iv.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(O$,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},R$=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(A$,{value:e,onChange:t,data:n}),P$=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return s(be,{children:s(c.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},I$=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],N$=b.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Iv[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:I$,value:t.type,onChange:o,sx:{flexGrow:1}}),s(P$,{value:t,onChange:n}),s(R$,{value:t,onChange:n,data:r})]})}),$$=[{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 L$({data:e,control:t,watch:n}){return n(["scatter"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"scatter.name_data_key",control:t,render:({field:r})=>s(Ye,{label:"Name Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"scatter.y_data_key",control:t,render:({field:r})=>s(Ye,{label:"Value Data Field",required:!0,data:e,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Style",labelPosition:"center"}),s(D.Controller,{name:"scatter.symbolSize",control:t,render:({field:r})=>s(N$,{label:"Size",data:e,...r})}),s(D.Controller,{name:"scatter.color",control:t,render:({field:r})=>s(k$,{data:e,...r})}),s(c.Divider,{mb:-15,label:"Label",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"scatter.label_position",control:t,render:({field:r})=>s(c.Select,{label:"Label Position",data:$$,...r})})}),s(D.Controller,{name:"scatter.label_overflow",control:t,render:({field:r})=>s(D$,{...r})})]})}function V$({control:e,watch:t}){return t("stats"),s(c.Stack,{children:y(c.Stack,{spacing:0,children:[s(D.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>s(po,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),s(D.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>s(po,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}const z$=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),F$=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(z$,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function B$({data:e,control:t,watch:n}){return s(F$,{control:t,watch:n,data:e})}const G$=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},j$=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(Ov.func_content)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(G$,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})});function K$({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(j$,{data:e,...r})})]})]})}const W$=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],q$=[{label:"left",value:"left"},{label:"right",value:"right"}];function H$({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:W$,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:q$,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function U$({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,d)=>({...u,...o[d]})),l=()=>r({name:"",label_formatter:dn});return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map((u,d)=>s(c.Tabs.Tab,{value:d.toString(),children:d+1},d)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((u,d)=>s(c.Tabs.Panel,{value:d.toString(),children:s(H$,{control:e,index:d,remove:i})},d))]})}function Y$(e){return e||{templates:{top:"",bottom:""}}}function X$({reference_lines:e=[],stats:t,...n}){return{reference_lines:e,stats:Y$(t),...n}}function Q$({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>W.defaultsDeep({},t,Tu),[t]),a=b.useMemo(()=>X$(o),[o]);b.useEffect(()=>{!W.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:l,handleSubmit:u,watch:d,getValues:f,reset:p}=D.useForm({defaultValues:a});b.useEffect(()=>{p(a)},[a]);const h=f(),g=b.useMemo(()=>!W.isEqual(h,o),[h,o]);return d(["dataZoom"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:u(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),s(c.Tabs.Tab,{value:"Scatter",children:"Scatter"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"}),s(c.Tabs.Tab,{value:"Stats",children:"Stats"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(K$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Y Axes",children:s(U$,{control:l,watch:d})}),s(c.Tabs.Panel,{value:"Scatter",children:s(L$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(B$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Stats",children:s(V$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(C$,{variables:r,control:l,watch:d})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:l,render:({field:v})=>s(yu,{...v})})})]})]})})}function Z$(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function J$(e){const t={scatter:{label_overflow:Av}};return H.default.defaultsDeep(t,e)}function eL(e){const{color:t}=e.scatter;return typeof t=="string"?{...e,scatter:{...e.scatter,color:{...Co.static,color:t}}}:e}function tL(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:zi.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 nL extends Ft{constructor(){super(...arguments);ke(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:Z$(n.config)})),this.version(4,n=>{const{config:r}=n;return{...n,version:5,config:J$(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:eL(r)}}),this.version(7,n=>{const{config:r}=n;return{...n,version:7,config:tL(r)}})}}const rL={displayName:"Scatter Chart",displayGroup:"ECharts-based charts",migrator:new nL,name:"scatterChart",viewRender:y$,configRender:Q$,createConfig(){return{version:7,config:W.cloneDeep(Tu)}},triggers:[Dv]},Mu={align:"center",template:"The variable ${value} is defined in Variables section"};function iL(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:o="",data_field:a="value",formatter:l={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:l,color:i,weight:r,size:n}]}}function oL(e){return W.omit(e,["variables"])}function aL(e){const t=W.cloneDeep(e),n=W.get(t,"color.valueRange");return n!==void 0&&W.set(t,"color.valueRange",n.map(r=>Number(r))),t}class sL extends Ft{constructor(){super(...arguments);ke(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:iL(n)})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(l=>l.name===a.name)||r.addVariable(aL(a))}),{...n,version:2,config:oL(i)}})}}const lL=ee.observer(({context:e})=>{const t=Ie(),{value:n=Mu}=ze(e.instanceData,"config"),{variables:r}=e,{template:i,align:o}=n,a=b.useMemo(()=>{try{const u={filters:t.filters.values,context:t.context.current};return H.default.template(i)(u)}catch{return i}},[t.filters.values,t.context.current,i]),l=b.useMemo(()=>wo(a,r,e.data),[a,r,e.data,e]);return s(c.Text,{align:o,children:Object.values(l).map((u,d)=>s(Q.default.Fragment,{children:u},d))})}),uL=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function cL({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=Q.default.useMemo(()=>{const{align:p,template:h=""}=W.defaultsDeep({},t,Mu);return{template:h,align:p}},[t]),{control:i,handleSubmit:o,watch:a,getValues:l,reset:u}=D.useForm({defaultValues:r});Q.default.useEffect(()=>{u(r)},[r]),a(["template","align"]);const d=l(),f=Q.default.useMemo(()=>!H.default.isEqual(d,t),[d,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:o(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{weight:500,children:"Stats Configurations"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:s(re.DeviceFloppy,{size:20})})]}),s(D.Controller,{name:"template",control:i,render:({field:p})=>s(po,{label:"Template",py:"md",sx:{flexGrow:1},...p})}),s(D.Controller,{name:"align",control:i,render:({field:p})=>s(c.Select,{label:"Horizontal Alignment",data:uL,...p})})]})})}const dL={createConfig(){return{version:2,config:Mu}},displayName:"Stats",displayGroup:"Others",migrator:new sL,name:"stats",viewRender:lL,configRender:cL},ku={label_key:"",value_key:"",group_key:"",levels:[]};function fL(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 pL(e){const t=fL(e).map(i=>({...i,children:[]})),n=H.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 hL(e,t){const{label_key:n,value_key:r,group_key:i}=e,o=n,a=t.map(l=>({...l,id:l[o],parent_id:l[i],name:l[n],value:l[r]?Number(l[r]):l[r]}));return i?pL(a):a}const gL=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 vL(e){const{levels:t}=e;return t.map(n=>{const{show_label_tolerance:r,...i}=n.label;return{...n,label:{...i,formatter:gL(r)}}})}function mL(){return({treePathInfo:e,name:t,value:n,color:r,marker:i,...o})=>{const a=e.slice(0,e.length-1),l=[`<tr>
253
+ `}}}function p$(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:Rv(r.formatter)}}]}function h$(e,t){return e.y_axes.map(({nameAlignment:n,min:r,max:i,...o},a)=>{var u;let l=o.position;return l||(l=a>0?"right":"left"),{...o,min:r||void 0,max:i||void 0,position:l,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 g$(){return{show:!1,bottom:0,left:"center",type:"scroll"}}const v$={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 m$(e,t,n){const r=n.reduce((d,f)=>{const p=xo(f,t);return d[f.name]=Wr(f,p),d},{}),i=e.y_axes.reduce((d,{label_formatter:f},p)=>(d[p]=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 St.default(v).format(f)}catch(m){return console.error(m),v}},d),{default:({value:d})=>d}),o=H.default.uniq(t.map(d=>d[e.x_axis.data_key])),a=o.every(d=>!Number.isNaN(Number(d))),l=u$(e,o,a,t,i,n,r),u={xAxis:p$(e,o),yAxis:h$(e,i),series:l,dataset:[{source:t}],tooltip:f$(e,i),grid:r$(e),legend:g$(),dataZoom:vu(e.dataZoom)};return W.defaultsDeep({},u,v$)}bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer,Pe.MarkLineComponent,Pe.MarkAreaComponent]),bt.registerTransform(Vs.transform.regression);function Pv(e){return e.trim().length>0}function y$({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.x_axis.data_key),[t,e.x_axis.data_key]),l=Bn(i.triggerManager,Dv.id),u=b.useCallback(p=>{const h=p.value[0],g=H.default.get(a,h,{error:"rowData is not found"});l.forEach(v=>{i.runInteraction(v.id,{...p,rowData:g})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>m$(e,t,o),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function b$({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,Tu),[r]),a=e.data,{width:l,height:u}=e.viewport,{ref:d,height:f}=qt.useElementSize(),{ref:p,height:h}=qt.useElementSize(),g=Q.default.useMemo(()=>{const{stats:{templates:m}}=o;return{top:wo(m.top,i,a),bottom:wo(m.bottom,i,a)}},[o,a]),v=Math.max(0,u-f-h);return y(c.Box,{children:[s(c.Text,{ref:d,align:"left",size:"xs",pl:"sm",sx:{display:Pv(o.stats.templates.top)?"block":"none"},children:Object.values(g.top).map(m=>m)}),s(y$,{variables:i,width:l,height:v,data:a,conf:o,interactionManager:n}),s(c.Text,{ref:p,align:"left",size:"xs",pl:"sm",sx:{display:Pv(o.stats.templates.bottom)?"block":"none"},children:Object.values(g.bottom).map(m=>m)})]})}const x$=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],w$=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function C$({control:e,index:t,remove:n,watch:r,variableOptions:i,yAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>s(c.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...l})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),y(c.Group,{grow:!0,children:[y(c.Stack,{children:[s(D.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>s(c.Select,{label:"Orientation",data:w$,required:!0,sx:{flex:1},...l})}),a==="vertical"&&s(c.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&s(D.Controller,{name:`reference_lines.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:u,...d}})=>{var f;return s(c.Select,{label:"Y Axis",data:o,disabled:o.length===0,...d,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:p=>{if(!p){u(0);return}u(Number(p))},sx:{flex:1}})}})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:x$,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function S$({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>{const h={name:"",template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:zi.random().css()},show_in_legend:!1,yAxisIndex:0};i(h)},d=b.useMemo(()=>n.map(h=>({label:h.name,value:h.name})),[n]),f=t("y_axes"),p=b.useMemo(()=>f.map(({name:h},g)=>({label:h,value:g.toString()})),[f]);return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:g.toString(),children:g+1},g)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:g.toString(),children:s(C$,{control:e,index:g,remove:o,watch:t,variableOptions:d,yAxisOptions:p})},g))]})}const _$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},E$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(Co.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic color",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(_$,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},T$=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(E$,{value:e,onChange:t,data:n}),M$=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,color:r})};return s(c.ColorInput,{label:" ",format:"rgb",value:e.color,onChange:n})},k$=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],D$=b.forwardRef(({label:e="Color",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Co[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:k$,value:t.type,onChange:o,sx:{flexGrow:1}}),s(M$,{value:t,onChange:n}),s(T$,{value:t,onChange:n,data:r})]})}),O$=b.forwardRef(({value:e,onChange:t},n)=>{const r=o=>{t({...e,label:o})},i=o=>{t({...e,tooltip:o})};return y(c.Stack,{ref:n,spacing:0,children:[s(Na,{sectionTitle:"Overflow on Chart",value:e.label,onChange:r}),s(Na,{sectionTitle:"Overflow in Tooltip",value:e.tooltip,onChange:i})]})}),A$=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},Iv={static:{type:"static",size:10},dynamic:{type:"dynamic",func_content:["function getSize({ rowData, params, variables }, { lodash, interpolate }) {"," // your code goes here"," // return 10","}"].join(`
254
+ `)}},R$=({value:e,onChange:t,data:n})=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o();const{type:h,func_content:g}=a,v={type:h,func_content:g};l(v),t(v)},d=()=>{o(),l(e)},f=h=>{l(g=>({...g,func_content:h}))},p=()=>{f(Iv.dynamic.func_content)};return y(be,{children:[s(c.Box,{sx:{width:"50%"},children:s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Setup"})}),s(c.Modal,{size:800,title:"Setup dynamic size",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Divider,{mt:10,mb:-10,label:"Dynamic by a custom function",labelPosition:"center",variant:"dashed"}),s(A$,{value:a.func_content,onChange:f}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},P$=({value:e,onChange:t,data:n})=>e.type!=="dynamic"?null:s(R$,{value:e,onChange:t,data:n}),I$=({value:e,onChange:t})=>{if(e.type!=="static")return null;const n=r=>{t({...e,size:r})};return s(be,{children:s(c.NumberInput,{defaultValue:18,placeholder:"1 ~ 100",label:" ",hideControls:!0,value:e.size,onChange:n})})},N$=[{label:"Static",value:"static"},{label:"Dynamic",value:"dynamic"}],$$=b.forwardRef(({label:e="Size",value:t,onChange:n,data:r},i)=>{const o=a=>{n({...Iv[a]})};return y(c.SimpleGrid,{cols:2,children:[s(c.Select,{ref:i,label:e,data:N$,value:t.type,onChange:o,sx:{flexGrow:1}}),s(I$,{value:t,onChange:n}),s(P$,{value:t,onChange:n,data:r})]})}),L$=[{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 V$({data:e,control:t,watch:n}){return n(["scatter"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"scatter.name_data_key",control:t,render:({field:r})=>s(Ye,{label:"Name Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"scatter.y_data_key",control:t,render:({field:r})=>s(Ye,{label:"Value Data Field",required:!0,data:e,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Style",labelPosition:"center"}),s(D.Controller,{name:"scatter.symbolSize",control:t,render:({field:r})=>s($$,{label:"Size",data:e,...r})}),s(D.Controller,{name:"scatter.color",control:t,render:({field:r})=>s(D$,{data:e,...r})}),s(c.Divider,{mb:-15,label:"Label",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"scatter.label_position",control:t,render:({field:r})=>s(c.Select,{label:"Label Position",data:L$,...r})})}),s(D.Controller,{name:"scatter.label_overflow",control:t,render:({field:r})=>s(O$,{...r})})]})}function z$({control:e,watch:t}){return t("stats"),s(c.Stack,{children:y(c.Stack,{spacing:0,children:[s(D.Controller,{name:"stats.templates.top",control:e,render:({field:n})=>s(po,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...n})}),s(D.Controller,{name:"stats.templates.bottom",control:e,render:({field:n})=>s(po,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...n})})]})})}const F$=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),B$=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(F$,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function G$({data:e,control:t,watch:n}){return s(B$,{control:t,watch:n,data:e})}const j$=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},K$=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=g=>{l({...a,enabled:g})},d=()=>{o();const{enabled:g,func_content:v}=a,m={enabled:g,func_content:v};l(m),t(m)},f=()=>{o(),l(e)},p=g=>{l(v=>({...v,func_content:g}))},h=()=>{p(Ov.func_content)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Customize Label"}),s(c.Modal,{size:800,title:"Customize label content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:a.enabled,onChange:g=>u(g.currentTarget.checked)}),s(j$,{value:a.func_content,onChange:p,disabled:!a.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:h,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:f,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:d,children:"OK"})]})]})]})})]})});function W$({data:e,control:t,watch:n}){return n(["x_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"x_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>s(c.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:s(c.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})}),s(D.Controller,{name:"x_axis.axisLabel.formatter",control:t,render:({field:r})=>s(K$,{data:e,...r})})]})]})}const q$=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],H$=[{label:"left",value:"left"},{label:"right",value:"right"}];function U$({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>s(c.Select,{label:"Align",required:!0,data:q$,sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:H$,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`y_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`y_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this YAxis"})]})}function Y$({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"y_axes"}),o=t("y_axes"),a=n.map((u,d)=>({...u,...o[d]})),l=()=>r({name:"",label_formatter:dn});return y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map((u,d)=>s(c.Tabs.Tab,{value:d.toString(),children:d+1},d)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((u,d)=>s(c.Tabs.Panel,{value:d.toString(),children:s(U$,{control:e,index:d,remove:i})},d))]})}function X$(e){return e||{templates:{top:"",bottom:""}}}function Q$({reference_lines:e=[],stats:t,...n}){return{reference_lines:e,stats:X$(t),...n}}function Z$({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>W.defaultsDeep({},t,Tu),[t]),a=b.useMemo(()=>Q$(o),[o]);b.useEffect(()=>{!W.isEqual(o,a)&&(console.log("config malformed, resetting to defaults",o,a),n(a))},[o,a]);const{control:l,handleSubmit:u,watch:d,getValues:f,reset:p}=D.useForm({defaultValues:a});b.useEffect(()=>{p(a)},[a]);const h=f(),g=b.useMemo(()=>!W.isEqual(h,o),[h,o]);return d(["dataZoom"]),s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:u(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axis",children:"X Axis"}),s(c.Tabs.Tab,{value:"Y Axes",children:"Y Axes"}),s(c.Tabs.Tab,{value:"Scatter",children:"Scatter"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"}),s(c.Tabs.Tab,{value:"Stats",children:"Stats"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"}),s(c.Tabs.Tab,{value:"Zooming",children:"Zooming"})]}),s(c.Tabs.Panel,{value:"X Axis",children:s(W$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Y Axes",children:s(Y$,{control:l,watch:d})}),s(c.Tabs.Panel,{value:"Scatter",children:s(V$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(G$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Stats",children:s(z$,{control:l,watch:d,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(S$,{variables:r,control:l,watch:d})}),s(c.Tabs.Panel,{value:"Zooming",children:s(D.Controller,{name:"dataZoom",control:l,render:({field:v})=>s(yu,{...v})})})]})]})})}function J$(e){const{dataZoom:t=Si,...n}=e;return{...n,dataZoom:t}}function eL(e){const t={scatter:{label_overflow:Av}};return H.default.defaultsDeep(t,e)}function tL(e){const{color:t}=e.scatter;return typeof t=="string"?{...e,scatter:{...e.scatter,color:{...Co.static,color:t}}}:e}function nL(e){const t=e.reference_lines.map(n=>{const{lineStyle:r={type:"dashed",width:1,color:zi.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 rL extends Ft{constructor(){super(...arguments);ke(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:J$(n.config)})),this.version(4,n=>{const{config:r}=n;return{...n,version:5,config:eL(r)}}),this.version(6,n=>{const{config:r}=n;return{...n,version:6,config:tL(r)}}),this.version(7,n=>{const{config:r}=n;return{...n,version:7,config:nL(r)}})}}const iL={displayName:"Scatter Chart",displayGroup:"ECharts-based charts",migrator:new rL,name:"scatterChart",viewRender:b$,configRender:Z$,createConfig(){return{version:7,config:W.cloneDeep(Tu)}},triggers:[Dv]},Mu={align:"center",template:"The variable ${value} is defined in Variables section"};function oL(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:o="",data_field:a="value",formatter:l={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:l,color:i,weight:r,size:n}]}}function aL(e){return W.omit(e,["variables"])}function sL(e){const t=W.cloneDeep(e),n=W.get(t,"color.valueRange");return n!==void 0&&W.set(t,"color.valueRange",n.map(r=>Number(r))),t}class lL extends Ft{constructor(){super(...arguments);ke(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:oL(n)})),this.version(2,(n,{panelModel:r})=>{const{config:i}=n;return(i.variables||[]).forEach(a=>{r.variables.find(l=>l.name===a.name)||r.addVariable(sL(a))}),{...n,version:2,config:aL(i)}})}}const uL=ee.observer(({context:e})=>{const t=Ie(),{value:n=Mu}=ze(e.instanceData,"config"),{variables:r}=e,{template:i,align:o}=n,a=b.useMemo(()=>{try{const u={filters:t.filters.values,context:t.context.current};return H.default.template(i)(u)}catch{return i}},[t.filters.values,t.context.current,i]),l=b.useMemo(()=>wo(a,r,e.data),[a,r,e.data,e]);return s(c.Text,{align:o,children:Object.values(l).map((u,d)=>s(Q.default.Fragment,{children:u},d))})}),cL=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function dL({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=Q.default.useMemo(()=>{const{align:p,template:h=""}=W.defaultsDeep({},t,Mu);return{template:h,align:p}},[t]),{control:i,handleSubmit:o,watch:a,getValues:l,reset:u}=D.useForm({defaultValues:r});Q.default.useEffect(()=>{u(r)},[r]),a(["template","align"]);const d=l(),f=Q.default.useMemo(()=>!H.default.isEqual(d,t),[d,t]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:o(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{weight:500,children:"Stats Configurations"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:s(re.DeviceFloppy,{size:20})})]}),s(D.Controller,{name:"template",control:i,render:({field:p})=>s(po,{label:"Template",py:"md",sx:{flexGrow:1},...p})}),s(D.Controller,{name:"align",control:i,render:({field:p})=>s(c.Select,{label:"Horizontal Alignment",data:cL,...p})})]})})}const fL={createConfig(){return{version:2,config:Mu}},displayName:"Stats",displayGroup:"Others",migrator:new lL,name:"stats",viewRender:uL,configRender:dL},ku={label_key:"",value_key:"",group_key:"",levels:[]};function pL(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 hL(e){const t=pL(e).map(i=>({...i,children:[]})),n=H.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 gL(e,t){const{label_key:n,value_key:r,group_key:i}=e,o=n,a=t.map(l=>({...l,id:l[o],parent_id:l[i],name:l[n],value:l[r]?Number(l[r]):l[r]}));return i?hL(a):a}const vL=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 mL(e){const{levels:t}=e;return t.map(n=>{const{show_label_tolerance:r,...i}=n.label;return{...n,label:{...i,formatter:vL(r)}}})}function yL(){return({treePathInfo:e,name:t,value:n,color:r,marker:i,...o})=>{const a=e.slice(0,e.length-1),l=[`<tr>
255
255
  <th style="text-align: right; padding: 0 1em;">Value</th>
256
256
  <td style="text-align: left; padding: 0 1em;">${n}</td>
257
257
  </tr>
@@ -269,7 +269,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
269
269
  <table style="width: auto">
270
270
  <tbody>${l.join("")}</tbody>
271
271
  </table>
272
- `}}function yL(){return{show:!0,trigger:"item",confine:!0,formatter:mL()}}const bL={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function xL(e,t,n){n.reduce((o,a)=>{const l=xo(a,t);return o[a.name]=Wr(a,l),o},{});const i={series:{data:hL(e,t),levels:vL(e)},tooltip:yL()};return W.defaultsDeep({},i,bL)}bt.use([Mt.SunburstChart,vn.CanvasRenderer]);function wL({context:e}){const{variables:t}=e,{value:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaults({},n,ku),[n]),i=e.data,{width:o,height:a}=e.viewport,l=b.useMemo(()=>xL(r,i,t),[r,i,t]);return!o||!a?null:s(mn.default,{echarts:bt,option:l,style:{width:o,height:a},notMerge:!0})}function CL({data:e,control:t,watch:n}){return n(["label_key","value_key","group_key"]),y(c.Stack,{children:[s(D.Controller,{name:"label_key",control:t,render:({field:r})=>s(Ye,{label:"Label Key",required:!0,data:e,...r})}),s(D.Controller,{name:"value_key",control:t,render:({field:r})=>s(Ye,{label:"Value Key",required:!0,data:e,...r})}),s(D.Controller,{name:"group_key",control:t,render:({field:r})=>s(Ye,{label:"Group Key",data:e,clearable:!0,...r})})]})}const SL=[{label:"Radial",value:"radial"},{label:"Tangential",value:"tangential"},{label:"None",value:"0"}],_L=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],EL=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.r0`,control:e,render:({field:i})=>s(c.TextInput,{label:"Inside Radius",placeholder:"0%",...i})}),s(D.Controller,{name:`levels.${n}.r`,control:e,render:({field:i})=>s(c.TextInput,{label:"Outside Radius",placeholder:"50%",...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),s(D.Controller,{name:`levels.${n}.label.show_label_tolerance`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Hide label when its percentage is less than...",precision:4,step:5e-4,min:0,max:1,...i})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.label.rotate`,control:e,render:({field:i})=>s(c.Select,{label:"Rotate",data:SL,...i})}),s(D.Controller,{name:`levels.${n}.label.align`,control:e,render:({field:i})=>s(c.Select,{label:"Align",data:_L,...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.label.position`,control:e,render:({field:i})=>s(wv,{label:"Position",...i})}),s(D.Controller,{name:`levels.${n}.label.padding`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Padding",min:0,hideControls:!0,...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Level"})]}),TL=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"levels"}),a=t("levels"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),r0:"",r:"",label:{show_label_tolerance:.001,rotate:"0",align:"center",position:"inside",padding:0}}),d=t("levels.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure ring style on each level"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(EL,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function ML({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,ku),[t]),o=b.useMemo(()=>H.default.clone(i),[i]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,i),[p,i]);u(["label_key","value_key","group_key","levels"]);const[g,v]=b.useState("Data");return s("form",{onSubmit:l(n),children:y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Sunburst Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{value:g,onTabChange:v,orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",children:"Data"}),s(c.Tabs.Tab,{value:"Levels",children:"Levels"})]}),s(c.Tabs.Panel,{value:"Data",children:s(CL,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Levels",children:s(TL,{control:a,watch:u,data:r})})]})]})})}function kL(e){const{label_field:t,value_field:n,...r}=e;return{...r,label_key:t,value_key:n}}function DL(e){const{group_key:t="",...n}=e;return{...n,group_key:t}}function OL(e){const{levels:t=[],...n}=e;return{...n,levels:t}}class AL extends Ft{constructor(){super(...arguments);ke(this,"VERSION",4)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:kL(n.config)})),this.version(3,n=>({...n,version:3,config:DL(n.config)})),this.version(4,n=>({...n,version:4,config:OL(n.config)}))}}const RL={displayName:"Sunburst Chart",displayGroup:"ECharts-based charts",migrator:new AL,name:"sunburst",viewRender:wL,configRender:ML,createConfig(){return{version:4,config:W.cloneDeep(ku)}}};var Kn=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e.custom="custom",e))(Kn||{});const Nv=["function text({ value }) {"," // your code goes here"," return value","}"].join(`
272
+ `}}function bL(){return{show:!0,trigger:"item",confine:!0,formatter:yL()}}const xL={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function wL(e,t,n){n.reduce((o,a)=>{const l=xo(a,t);return o[a.name]=Wr(a,l),o},{});const i={series:{data:gL(e,t),levels:mL(e)},tooltip:bL()};return W.defaultsDeep({},i,xL)}bt.use([Mt.SunburstChart,vn.CanvasRenderer]);function CL({context:e}){const{variables:t}=e,{value:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaults({},n,ku),[n]),i=e.data,{width:o,height:a}=e.viewport,l=b.useMemo(()=>wL(r,i,t),[r,i,t]);return!o||!a?null:s(mn.default,{echarts:bt,option:l,style:{width:o,height:a},notMerge:!0})}function SL({data:e,control:t,watch:n}){return n(["label_key","value_key","group_key"]),y(c.Stack,{children:[s(D.Controller,{name:"label_key",control:t,render:({field:r})=>s(Ye,{label:"Label Key",required:!0,data:e,...r})}),s(D.Controller,{name:"value_key",control:t,render:({field:r})=>s(Ye,{label:"Value Key",required:!0,data:e,...r})}),s(D.Controller,{name:"group_key",control:t,render:({field:r})=>s(Ye,{label:"Group Key",data:e,clearable:!0,...r})})]})}const _L=[{label:"Radial",value:"radial"},{label:"Tangential",value:"tangential"},{label:"None",value:"0"}],EL=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],TL=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.r0`,control:e,render:({field:i})=>s(c.TextInput,{label:"Inside Radius",placeholder:"0%",...i})}),s(D.Controller,{name:`levels.${n}.r`,control:e,render:({field:i})=>s(c.TextInput,{label:"Outside Radius",placeholder:"50%",...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Label Style",labelPosition:"center"}),s(D.Controller,{name:`levels.${n}.label.show_label_tolerance`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Hide label when its percentage is less than...",precision:4,step:5e-4,min:0,max:1,...i})}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.label.rotate`,control:e,render:({field:i})=>s(c.Select,{label:"Rotate",data:_L,...i})}),s(D.Controller,{name:`levels.${n}.label.align`,control:e,render:({field:i})=>s(c.Select,{label:"Align",data:EL,...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`levels.${n}.label.position`,control:e,render:({field:i})=>s(wv,{label:"Position",...i})}),s(D.Controller,{name:`levels.${n}.label.padding`,control:e,render:({field:i})=>s(c.NumberInput,{label:"Padding",min:0,hideControls:!0,...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Level"})]}),ML=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"levels"}),a=t("levels"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),r0:"",r:"",label:{show_label_tolerance:.001,rotate:"0",align:"center",position:"inside",padding:0}}),d=t("levels.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure ring style on each level"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(TL,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function kL({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,ku),[t]),o=b.useMemo(()=>H.default.clone(i),[i]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,i),[p,i]);u(["label_key","value_key","group_key","levels"]);const[g,v]=b.useState("Data");return s("form",{onSubmit:l(n),children:y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Sunburst Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{value:g,onTabChange:v,orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",children:"Data"}),s(c.Tabs.Tab,{value:"Levels",children:"Levels"})]}),s(c.Tabs.Panel,{value:"Data",children:s(SL,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Levels",children:s(ML,{control:a,watch:u,data:r})})]})]})})}function DL(e){const{label_field:t,value_field:n,...r}=e;return{...r,label_key:t,value_key:n}}function OL(e){const{group_key:t="",...n}=e;return{...n,group_key:t}}function AL(e){const{levels:t=[],...n}=e;return{...n,levels:t}}class RL extends Ft{constructor(){super(...arguments);ke(this,"VERSION",4)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>({...n,version:2,config:DL(n.config)})),this.version(3,n=>({...n,version:3,config:OL(n.config)})),this.version(4,n=>({...n,version:4,config:AL(n.config)}))}}const PL={displayName:"Sunburst Chart",displayGroup:"ECharts-based charts",migrator:new RL,name:"sunburst",viewRender:CL,configRender:kL,createConfig(){return{version:4,config:W.cloneDeep(ku)}}};var Kn=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e.custom="custom",e))(Kn||{});const Nv=["function text({ value }) {"," // your code goes here"," return value","}"].join(`
273
273
  `),Du={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"};/**
274
274
  * react-table
275
275
  *
@@ -279,11 +279,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
279
279
  * LICENSE.md file in the root directory of this source tree.
280
280
  *
281
281
  * @license MIT
282
- */function Dr(e,t){return typeof e=="function"?e(t):e}function Mn(e,t){return n=>{t.setState(r=>({...r,[e]:Dr(n,r[e])}))}}function Ua(e){return e instanceof Function}function PL(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const a=t(o);a!=null&&a.length&&r(a)})};return r(e),n}function He(e,t,n){let r=[],i;return()=>{let o;n.key&&n.debug&&(o=Date.now());const a=e();if(!(a.length!==r.length||a.some((d,f)=>r[f]!==d)))return i;r=a;let u;if(n.key&&n.debug&&(u=Date.now()),i=t(...a),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const d=Math.round((Date.now()-o)*100)/100,f=Math.round((Date.now()-u)*100)/100,p=f/16,h=(g,v)=>{for(g=String(g);g.length<v;)g=" "+g;return g};console.info("%c\u23F1 "+h(f,5)+" /"+h(d,5)+" ms",`
282
+ */function Dr(e,t){return typeof e=="function"?e(t):e}function Mn(e,t){return n=>{t.setState(r=>({...r,[e]:Dr(n,r[e])}))}}function Ua(e){return e instanceof Function}function IL(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const a=t(o);a!=null&&a.length&&r(a)})};return r(e),n}function He(e,t,n){let r=[],i;return()=>{let o;n.key&&n.debug&&(o=Date.now());const a=e();if(!(a.length!==r.length||a.some((d,f)=>r[f]!==d)))return i;r=a;let u;if(n.key&&n.debug&&(u=Date.now()),i=t(...a),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const d=Math.round((Date.now()-o)*100)/100,f=Math.round((Date.now()-u)*100)/100,p=f/16,h=(g,v)=>{for(g=String(g);g.length<v;)g=" "+g;return g};console.info("%c\u23F1 "+h(f,5)+" /"+h(d,5)+" ms",`
283
283
  font-size: .6rem;
284
284
  font-weight: bold;
285
- color: hsl(`+Math.max(0,Math.min(120-120*p,120))+"deg 100% 31%);",n==null?void 0:n.key)}return i}}function IL(e,t,n,r){var i,o;const l={...e._getDefaultColumnDef(),...t},u=l.accessorKey;let d=(i=(o=l.id)!=null?o:u?u.replace(".","_"):void 0)!=null?i:typeof l.header=="string"?l.header:void 0,f;if(l.accessorFn?f=l.accessorFn:u&&(u.includes(".")?f=h=>{let g=h;for(const v of u.split("."))g=g[v];return g}:f=h=>h[l.accessorKey]),!d)throw process.env.NODE_ENV!=="production"?new Error(l.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let p={id:""+String(d),accessorFn:f,parent:r,depth:n,columnDef:l,columns:[],getFlatColumns:He(()=>[!0],()=>{var h;return[p,...(h=p.columns)==null?void 0:h.flatMap(g=>g.getFlatColumns())]},{key:process.env.NODE_ENV==="production"&&"column.getFlatColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}}),getLeafColumns:He(()=>[e._getOrderColumnsFn()],h=>{var g;if((g=p.columns)!=null&&g.length){let v=p.columns.flatMap(m=>m.getLeafColumns());return h(v)}return[p]},{key:process.env.NODE_ENV==="production"&&"column.getLeafColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}})};return p=e._features.reduce((h,g)=>Object.assign(h,g.createColumn==null?void 0:g.createColumn(p,e)),p),p}function $v(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const a=[],l=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(l),a.push(u)};return l(o),a},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(a=>{Object.assign(o,a.createHeader==null?void 0:a.createHeader(o,e))}),o}const NL={createTable:e=>({getHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var o,a;const l=(o=r==null?void 0:r.map(p=>n.find(h=>h.id===p)).filter(Boolean))!=null?o:[],u=(a=i==null?void 0:i.map(p=>n.find(h=>h.id===p)).filter(Boolean))!=null?a:[],d=n.filter(p=>!(r!=null&&r.includes(p.id))&&!(i!=null&&i.includes(p.id)));return Ya(t,[...l,...d,...u],e)},{key:process.env.NODE_ENV==="development"&&"getHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(i!=null&&i.includes(o.id))),Ya(t,n,e,"center")),{key:process.env.NODE_ENV==="development"&&"getCenterHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const o=(i=r==null?void 0:r.map(a=>n.find(l=>l.id===a)).filter(Boolean))!=null?i:[];return Ya(t,o,e,"left")},{key:process.env.NODE_ENV==="development"&&"getLeftHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const o=(i=r==null?void 0:r.map(a=>n.find(l=>l.id===a)).filter(Boolean))!=null?i:[];return Ya(t,o,e,"right")},{key:process.env.NODE_ENV==="development"&&"getRightHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFooterGroups:He(()=>[e.getHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftFooterGroups:He(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getLeftFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterFooterGroups:He(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getCenterFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightFooterGroups:He(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getRightFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFlatHeaders:He(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftFlatHeaders:He(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getLeftFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterFlatHeaders:He(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getCenterFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightFlatHeaders:He(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getRightFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterLeafHeaders:He(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getCenterLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftLeafHeaders:He(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getLeftLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightLeafHeaders:He(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getRightLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeafHeaders:He(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,o,a,l,u,d;return[...(i=(o=t[0])==null?void 0:o.headers)!=null?i:[],...(a=(l=n[0])==null?void 0:l.headers)!=null?a:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[]].map(f=>f.getLeafHeaders()).flat()},{key:process.env.NODE_ENV==="development"&&"getLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}})})};function Ya(e,t,n,r){var i,o;let a=0;const l=function(h,g){g===void 0&&(g=1),a=Math.max(a,g),h.filter(v=>v.getIsVisible()).forEach(v=>{var m;(m=v.columns)!=null&&m.length&&l(v.columns,g+1)},0)};l(e);let u=[];const d=(h,g)=>{const v={depth:g,id:[r,""+g].filter(Boolean).join("_"),headers:[]},m=[];h.forEach(w=>{const x=[...m].reverse()[0],_=w.column.depth===v.depth;let S,C=!1;if(_&&w.column.parent?S=w.column.parent:(S=w.column,C=!0),x&&(x==null?void 0:x.column)===S)x.subHeaders.push(w);else{const E=$v(n,S,{id:[r,g,S.id,w==null?void 0:w.id].filter(Boolean).join("_"),isPlaceholder:C,placeholderId:C?""+m.filter(k=>k.column===S).length:void 0,depth:g,index:m.length});E.subHeaders.push(w),m.push(E)}v.headers.push(w),w.headerGroup=v}),u.push(v),g>0&&d(m,g-1)},f=t.map((h,g)=>$v(n,h,{depth:a,index:g}));d(f,a-1),u.reverse();const p=h=>h.filter(v=>v.column.getIsVisible()).map(v=>{let m=0,w=0,x=[0];v.subHeaders&&v.subHeaders.length?(x=[],p(v.subHeaders).forEach(S=>{let{colSpan:C,rowSpan:E}=S;m+=C,x.push(E)})):m=1;const _=Math.min(...x);return w=w+_,v.colSpan=m,v.rowSpan=w,{colSpan:m,rowSpan:w}});return p((i=(o=u[0])==null?void 0:o.headers)!=null?i:[]),u}const Xa={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Ou=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),$L={getDefaultColumnDef:()=>Xa,getInitialState:e=>({columnSizing:{},columnSizingInfo:Ou(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:Mn("columnSizing",e),onColumnSizingInfoChange:Mn("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,r,i;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:Xa.minSize,(r=o!=null?o:e.columnDef.size)!=null?r:Xa.size),(i=e.columnDef.maxSize)!=null?i:Xa.maxSize)},getStart:n=>{const r=n?n==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),i=r.findIndex(o=>o.id===e.id);if(i>0){const o=r[i-1];return o.getStart(n)+o.getSize()}return 0},resetSize:()=>{t.setColumnSizing(n=>{let{[e.id]:r,...i}=n;return i})},getCanResize:()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},getIsResizing:()=>t.getState().columnSizingInfo.isResizingColumn===e.id}),createHeader:(e,t)=>({getSize:()=>{let n=0;const r=i=>{if(i.subHeaders.length)i.subHeaders.forEach(r);else{var o;n+=(o=i.column.getSize())!=null?o:0}};return r(e),n},getStart:()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},getResizeHandler:()=>{const n=t.getColumn(e.column.id),r=n.getCanResize();return i=>{if(!r||(i.persist==null||i.persist(),Au(i)&&i.touches&&i.touches.length>1))return;const o=e.getSize(),a=e?e.getLeafHeaders().map(g=>[g.column.id,g.column.getSize()]):[[n.id,n.getSize()]],l=Au(i)?Math.round(i.touches[0].clientX):i.clientX,u=(g,v)=>{if(typeof v!="number")return;let m={};t.setColumnSizingInfo(w=>{var x,_;const S=v-((x=w==null?void 0:w.startOffset)!=null?x:0),C=Math.max(S/((_=w==null?void 0:w.startSize)!=null?_:0),-.999999);return w.columnSizingStart.forEach(E=>{let[k,P]=E;m[k]=Math.round(Math.max(P+P*C,0)*100)/100}),{...w,deltaOffset:S,deltaPercentage:C}}),(t.options.columnResizeMode==="onChange"||g==="end")&&t.setColumnSizing(w=>({...w,...m}))},d=g=>u("move",g),f=g=>{u("end",g),t.setColumnSizingInfo(v=>({...v,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p={moveHandler:g=>d(g.clientX),upHandler:g=>{document.removeEventListener("mousemove",p.moveHandler),document.removeEventListener("mouseup",p.upHandler),f(g.clientX)}},h=LL()?{passive:!1}:!1;Au(i)||(document.addEventListener("mousemove",p.moveHandler,h),document.addEventListener("mouseup",p.upHandler,h)),t.setColumnSizingInfo(g=>({...g,startOffset:l,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:a,isResizingColumn:n.id}))}}}),createTable:e=>({setColumnSizing:t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),setColumnSizingInfo:t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),resetColumnSizing:t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},resetHeaderSizeInfo:t=>{var n;e.setColumnSizingInfo(t?Ou():(n=e.initialState.columnSizingInfo)!=null?n:Ou())},getTotalSize:()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getLeftTotalSize:()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getCenterTotalSize:()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getRightTotalSize:()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0}})};let Qa=null;function LL(){if(typeof Qa=="boolean")return Qa;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return Qa=e,Qa}function Au(e){return e.type==="touchstart"}const VL={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Mn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;return{_autoResetExpanded:()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},setExpanded:r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),toggleAllRowsExpanded:r=>{(r!=null?r:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},resetExpanded:r=>{var i,o;e.setExpanded(r?{}:(i=(o=e.initialState)==null?void 0:o.expanded)!=null?i:{})},getCanSomeRowsExpand:()=>e.getRowModel().flatRows.some(r=>r.getCanExpand()),getToggleAllRowsExpandedHandler:()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},getIsSomeRowsExpanded:()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},getIsAllRowsExpanded:()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(i=>i.getIsExpanded()))},getExpandedDepth:()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const a=o.split(".");r=Math.max(r,a.length)}),r},getPreExpandedRowModel:()=>e.getSortedRowModel(),getExpandedRowModel:()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())}},createRow:(e,t)=>({toggleExpanded:n=>{t.setExpanded(r=>{var i;const o=r===!0?!0:!!(r!=null&&r[e.id]);let a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(l=>{a[l]=!0}):a=r,n=(i=n)!=null?i:!o,!o&&n)return{...a,[e.id]:!0};if(o&&!n){const{[e.id]:l,...u}=a;return u}return r})},getIsExpanded:()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||(r==null?void 0:r[e.id]))},getCanExpand:()=>{var n,r,i;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((i=e.subRows)!=null&&i.length)},getToggleExpandedHandler:()=>{const n=e.getCanExpand();return()=>{!n||e.toggleExpanded()}}})},Lv=(e,t,n)=>{var r;const i=n.toLowerCase();return(r=e.getValue(t))==null?void 0:r.toLowerCase().includes(i)};Lv.autoRemove=e=>Rn(e);const Vv=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Vv.autoRemove=e=>Rn(e);const zv=(e,t,n)=>{var r;return((r=e.getValue(t))==null?void 0:r.toLowerCase())===n.toLowerCase()};zv.autoRemove=e=>Rn(e);const Fv=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Fv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const Bv=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});Bv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const Gv=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});Gv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const jv=(e,t,n)=>e.getValue(t)===n;jv.autoRemove=e=>Rn(e);const Kv=(e,t,n)=>e.getValue(t)==n;Kv.autoRemove=e=>Rn(e);const Ru=(e,t,n)=>{let[r,i]=n;const o=e.getValue(t);return o>=r&&o<=i};Ru.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,a=n===null||Number.isNaN(i)?1/0:i;if(o>a){const l=o;o=a,a=l}return[o,a]},Ru.autoRemove=e=>Rn(e)||Rn(e[0])&&Rn(e[1]);const ur={includesString:Lv,includesStringSensitive:Vv,equalsString:zv,arrIncludes:Fv,arrIncludesAll:Bv,arrIncludesSome:Gv,equals:jv,weakEquals:Kv,inNumberRange:Ru};function Rn(e){return e==null||e===""}const zL={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:Mn("columnFilters",e),onGlobalFilterChange:Mn("globalFilter",e),filterFromLeafRows:!1,globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n,r;const i=(n=e.getCoreRowModel().flatRows[0])==null||(r=n._getAllCellsByColumnId()[t.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,t)=>({getAutoFilterFn:()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);return typeof r=="string"?ur.includesString:typeof r=="number"?ur.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?ur.equals:Array.isArray(r)?ur.arrIncludes:ur.weakEquals},getFilterFn:()=>{var n,r;return Ua(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:ur[e.columnDef.filterFn]},getCanFilter:()=>{var n,r,i;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},getCanGlobalFilter:()=>{var n,r,i,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn},getIsFiltered:()=>e.getFilterIndex()>-1,getFilterValue:()=>{var n,r;return(n=t.getState().columnFilters)==null||(r=n.find(i=>i.id===e.id))==null?void 0:r.value},getFilterIndex:()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},setFilterValue:n=>{t.setColumnFilters(r=>{const i=e.getFilterFn(),o=r==null?void 0:r.find(f=>f.id===e.id),a=Dr(n,o?o.value:void 0);if(Wv(i,a,e)){var l;return(l=r==null?void 0:r.filter(f=>f.id!==e.id))!=null?l:[]}const u={id:e.id,value:a};if(o){var d;return(d=r==null?void 0:r.map(f=>f.id===e.id?u:f))!=null?d:[]}return r!=null&&r.length?[...r,u]:[u]})},_getFacetedRowModel:t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),getFacetedRowModel:()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),_getFacetedUniqueValues:t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),getFacetedUniqueValues:()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,_getFacetedMinMaxValues:t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),getFacetedMinMaxValues:()=>{if(!!e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}),createRow:(e,t)=>({columnFilters:{},columnFiltersMeta:{}}),createTable:e=>({getGlobalAutoFilterFn:()=>ur.includesString,getGlobalFilterFn:()=>{var t,n;const{globalFilterFn:r}=e.options;return Ua(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:ur[r]},setColumnFilters:t=>{const n=e.getAllLeafColumns(),r=i=>{var o;return(o=Dr(t,i))==null?void 0:o.filter(a=>{const l=n.find(u=>u.id===a.id);if(l){const u=l.getFilterFn();if(Wv(u,a.value,l))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},setGlobalFilter:t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},resetGlobalFilter:t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)},resetColumnFilters:t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),getFilteredRowModel:()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel()),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),getGlobalFacetedMinMaxValues:()=>{if(!!e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function Wv(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const Pu={sum:(e,t,n)=>n.reduce((r,i)=>{const o=i.getValue(e);return r+(typeof o=="number"?o:0)},0),min:(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},max:(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(o=>{const a=o.getValue(e);a!=null&&(r===void 0?a>=a&&(r=i=a):(r>a&&(r=a),i<a&&(i=a)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(i=>{let o=i.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=0,r=0;return t.forEach(i=>{let o=i.getValue(e);typeof o=="number"&&(n=Math.min(n,o),r=Math.max(r,o))}),(n+r)/2},unique:(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(n=>n.getValue(e))).size,count:(e,t)=>t.length},FL={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Mn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>({toggleGrouping:()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n!=null?n:[],e.id])},getCanGroup:()=>{var n,r,i,o;return(n=(r=(i=(o=e.columnDef.enableGrouping)!=null?o:!0)!=null?i:t.options.enableGrouping)!=null?r:!0)!=null?n:!!e.accessorFn},getIsGrouped:()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},getGroupedIndex:()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},getToggleGroupingHandler:()=>{const n=e.getCanGroup();return()=>{!n||e.toggleGrouping()}},getAutoAggregationFn:()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);if(typeof r=="number")return Pu.sum;if(Object.prototype.toString.call(r)==="[object Date]")return Pu.extent},getAggregationFn:()=>{var n,r;if(!e)throw new Error;return Ua(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:Pu[e.columnDef.aggregationFn]}}),createTable:e=>({setGrouping:t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),resetGrouping:t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},getPreGroupedRowModel:()=>e.getFilteredRowModel(),getGroupedRowModel:()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())}),createRow:e=>({getIsGrouped:()=>!!e.groupingColumnId,_groupingValuesCache:{}}),createCell:(e,t,n,r)=>({getIsGrouped:()=>t.getIsGrouped()&&t.id===n.groupingColumnId,getIsPlaceholder:()=>!e.getIsGrouped()&&t.getIsGrouped(),getIsAggregated:()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=n.subRows)!=null&&i.length)}})};function BL(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(a=>a.id===o)).filter(Boolean),...r]}const GL={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Mn("columnOrder",e)}),createTable:e=>({setColumnOrder:t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),resetColumnOrder:t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},_getOrderColumnsFn:He(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let o=[];if(!(t!=null&&t.length))o=i;else{const a=[...t],l=[...i];for(;l.length&&a.length;){const u=a.shift(),d=l.findIndex(f=>f.id===u);d>-1&&o.push(l.splice(d,1)[0])}o=[...o,...l]}return BL(o,n,r)},{key:process.env.NODE_ENV==="development"&&"getOrderColumnsFn"})})},Iu=0,Nu=10,$u=()=>({pageIndex:Iu,pageSize:Nu}),jL={getInitialState:e=>({...e,pagination:{...$u(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:Mn("pagination",e)}),createTable:e=>{let t=!1,n=!1;return{_autoResetPageIndex:()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},setPagination:r=>{const i=o=>Dr(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},resetPagination:r=>{var i;e.setPagination(r?$u():(i=e.initialState.pagination)!=null?i:$u())},setPageIndex:r=>{e.setPagination(i=>{let o=Dr(r,i.pageIndex);const a=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.min(Math.max(0,o),a),{...i,pageIndex:o}})},resetPageIndex:r=>{var i,o,a;e.setPageIndex(r?Iu:(i=(o=e.initialState)==null||(a=o.pagination)==null?void 0:a.pageIndex)!=null?i:Iu)},resetPageSize:r=>{var i,o,a;e.setPageSize(r?Nu:(i=(o=e.initialState)==null||(a=o.pagination)==null?void 0:a.pageSize)!=null?i:Nu)},setPageSize:r=>{e.setPagination(i=>{const o=Math.max(1,Dr(r,i.pageSize)),a=i.pageSize*i.pageIndex,l=Math.floor(a/o);return{...i,pageIndex:l,pageSize:o}})},setPageCount:r=>e.setPagination(i=>{var o;let a=Dr(r,(o=e.options.pageCount)!=null?o:-1);return typeof a=="number"&&(a=Math.max(-1,a)),{...i,pageCount:a}}),getPageOptions:He(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((o,a)=>a)),i},{key:process.env.NODE_ENV==="development"&&"getPageOptions",debug:()=>{var r;return(r=e.options.debugAll)!=null?r:e.options.debugTable}}),getCanPreviousPage:()=>e.getState().pagination.pageIndex>0,getCanNextPage:()=>{const{pageIndex:r}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:r<i-1},previousPage:()=>e.setPageIndex(r=>r-1),nextPage:()=>e.setPageIndex(r=>r+1),getPrePaginationRowModel:()=>e.getExpandedRowModel(),getPaginationRowModel:()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),getPageCount:()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getPrePaginationRowModel().rows.length/e.getState().pagination.pageSize)}}}},Lu=()=>({left:[],right:[]}),KL={getInitialState:e=>({columnPinning:Lu(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Mn("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var o,a;if(n==="right"){var l,u;return{left:((l=i==null?void 0:i.left)!=null?l:[]).filter(p=>!(r!=null&&r.includes(p))),right:[...((u=i==null?void 0:i.right)!=null?u:[]).filter(p=>!(r!=null&&r.includes(p))),...r]}}if(n==="left"){var d,f;return{left:[...((d=i==null?void 0:i.left)!=null?d:[]).filter(p=>!(r!=null&&r.includes(p))),...r],right:((f=i==null?void 0:i.right)!=null?f:[]).filter(p=>!(r!=null&&r.includes(p)))}}return{left:((o=i==null?void 0:i.left)!=null?o:[]).filter(p=>!(r!=null&&r.includes(p))),right:((a=i==null?void 0:i.right)!=null?a:[]).filter(p=>!(r!=null&&r.includes(p)))}})},getCanPin:()=>e.getLeafColumns().some(r=>{var i,o;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((o=t.options.enablePinning)!=null?o:!0)}),getIsPinned:()=>{const n=e.getLeafColumns().map(l=>l.id),{left:r,right:i}=t.getState().columnPinning,o=n.some(l=>r==null?void 0:r.includes(l)),a=n.some(l=>i==null?void 0:i.includes(l));return o?"left":a?"right":!1},getPinnedIndex:()=>{var n,r,i;const o=e.getIsPinned();return o?(n=(r=t.getState().columnPinning)==null||(i=r[o])==null?void 0:i.indexOf(e.id))!=null?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const o=[...r!=null?r:[],...i!=null?i:[]];return n.filter(a=>!o.includes(a.column.id))},{key:process.env.NODE_ENV==="production"&&"row.getCenterVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getLeftVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,],(n,r)=>(r!=null?r:[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),{key:process.env.NODE_ENV==="production"&&"row.getLeftVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getRightVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),{key:process.env.NODE_ENV==="production"&&"row.getRightVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}})}),createTable:e=>({setColumnPinning:t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),resetColumnPinning:t=>{var n,r;return e.setColumnPinning(t?Lu():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:Lu())},getIsSomeColumnsPinned:t=>{var n;const r=e.getState().columnPinning;if(!t){var i,o;return Boolean(((i=r.left)==null?void 0:i.length)||((o=r.right)==null?void 0:o.length))}return Boolean((n=r[t])==null?void 0:n.length)},getLeftLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n!=null?n:[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),{key:process.env.NODE_ENV==="development"&&"getLeftLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}}),getRightLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n!=null?n:[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),{key:process.env.NODE_ENV==="development"&&"getRightLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}}),getCenterLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n!=null?n:[],...r!=null?r:[]];return t.filter(o=>!i.includes(o.id))},{key:process.env.NODE_ENV==="development"&&"getCenterLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}})})},WL={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Mn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>({setRowSelection:t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),resetRowSelection:t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},toggleAllRowsSelected:t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(o=>{!o.getCanSelect()||(r[o.id]=!0)}):i.forEach(o=>{delete r[o.id]}),r})},toggleAllPageRowsSelected:t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(o=>{Vu(i,o.id,r,e)}),i}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:He(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="development"&&"getSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getFilteredSelectedRowModel:He(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="production"&&"getFilteredSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getGroupedSelectedRowModel:He(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="production"&&"getGroupedSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getIsAllRowsSelected:()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=Boolean(t.length&&Object.keys(n).length);return r&&t.some(i=>i.getCanSelect()&&!n[i.id])&&(r=!1),r},getIsAllPageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(i=>!n[i.id])&&(r=!1),r},getIsSomeRowsSelected:()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n<e.getFilteredRowModel().flatRows.length},getIsSomePageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.some(n=>n.getIsSelected()||n.getIsSomeSelected())},getToggleAllRowsSelectedHandler:()=>t=>{e.toggleAllRowsSelected(t.target.checked)},getToggleAllPageRowsSelectedHandler:()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}}),createRow:(e,t)=>({toggleSelected:n=>{const r=e.getIsSelected();t.setRowSelection(i=>{if(n=typeof n<"u"?n:!r,r===n)return i;const o={...i};return Vu(o,e.id,n,t),o})},getIsSelected:()=>{const{rowSelection:n}=t.getState();return Fu(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return qv(e,n)==="some"},getIsAllSubRowsSelected:()=>{const{rowSelection:n}=t.getState();return qv(e,n)==="all"},getCanSelect:()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},getCanSelectSubRows:()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},getCanMultiSelect:()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},getToggleSelectedHandler:()=>{const n=e.getCanSelect();return r=>{var i;!n||e.toggleSelected((i=r.target)==null?void 0:i.checked)}}})},Vu=(e,t,n,r)=>{var i;const o=r.getRow(t);n?(o.getCanMultiSelect()||Object.keys(e).forEach(a=>delete e[a]),o.getCanSelect()&&(e[t]=!0)):delete e[t],(i=o.subRows)!=null&&i.length&&o.getCanSelectSubRows()&&o.subRows.forEach(a=>Vu(e,a.id,n,r))};function zu(e,t){const n=e.getState().rowSelection,r=[],i={},o=function(a,l){return a.map(u=>{var d;const f=Fu(u,n);if(f&&(r.push(u),i[u.id]=u),(d=u.subRows)!=null&&d.length&&(u={...u,subRows:o(u.subRows)}),f)return u}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:i}}function Fu(e,t){var n;return(n=t[e.id])!=null?n:!1}function qv(e,t,n){if(e.subRows&&e.subRows.length){let r=!0,i=!1;return e.subRows.forEach(o=>{i&&!r||(Fu(o,t)?i=!0:r=!1)}),r?"all":i?"some":!1}return!1}const Bu=/([0-9]+)/gm,qL=(e,t,n)=>Hv(Or(e.getValue(n)).toLowerCase(),Or(t.getValue(n)).toLowerCase()),HL=(e,t,n)=>Hv(Or(e.getValue(n)),Or(t.getValue(n))),UL=(e,t,n)=>Gu(Or(e.getValue(n)).toLowerCase(),Or(t.getValue(n)).toLowerCase()),YL=(e,t,n)=>Gu(Or(e.getValue(n)),Or(t.getValue(n))),XL=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},QL=(e,t,n)=>Gu(e.getValue(n),t.getValue(n));function Gu(e,t){return e===t?0:e>t?1:-1}function Or(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Hv(e,t){const n=e.split(Bu).filter(Boolean),r=t.split(Bu).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),o=r.shift(),a=parseInt(i,10),l=parseInt(o,10),u=[a,l].sort();if(isNaN(u[0])){if(i>o)return 1;if(o>i)return-1;continue}if(isNaN(u[1]))return isNaN(a)?-1:1;if(a>l)return 1;if(l>a)return-1}return n.length-r.length}const So={alphanumeric:qL,alphanumericCaseSensitive:HL,text:UL,textCaseSensitive:YL,datetime:XL,basic:QL},Uv=[NL,{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Mn("columnVisibility",e)}),createColumn:(e,t)=>({toggleVisibility:n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n!=null?n:!e.getIsVisible()}))},getIsVisible:()=>{var n,r;return(n=(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},getCanHide:()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},getToggleVisibilityHandler:()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}}),createRow:(e,t)=>({_getAllVisibleCells:He(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),{key:process.env.NODE_ENV==="production"&&"row._getAllVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getVisibleCells:He(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,i)=>[...n,...r,...i],{key:process.env.NODE_ENV==="development"&&"row.getVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}})}),createTable:e=>{const t=(n,r)=>He(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),{key:n,debug:()=>{var i;return(i=e.options.debugAll)!=null?i:e.options.debugColumns}});return{getVisibleFlatColumns:t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),getVisibleLeafColumns:t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),getLeftVisibleLeafColumns:t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),getRightVisibleLeafColumns:t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),getCenterVisibleLeafColumns:t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),setColumnVisibility:n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),resetColumnVisibility:n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},toggleAllColumnsVisible:n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,o)=>({...i,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},getIsAllColumnsVisible:()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),getIsSomeColumnsVisible:()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),getToggleAllColumnsVisibilityHandler:()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}}},GL,KL,zL,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:Mn("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>({getAutoSortingFn:()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const i of n){const o=i==null?void 0:i.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return So.datetime;if(typeof o=="string"&&(r=!0,o.split(Bu).length>1))return So.alphanumeric}return r?So.text:So.basic},getAutoSortDir:()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof(n==null?void 0:n.getValue(e.id))=="string"?"asc":"desc"},getSortingFn:()=>{var n,r;if(!e)throw new Error;return Ua(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:So[e.columnDef.sortingFn]},toggleSorting:(n,r)=>{const i=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(a=>{const l=a==null?void 0:a.find(g=>g.id===e.id),u=a==null?void 0:a.findIndex(g=>g.id===e.id);let d=[],f,p=o?n:i==="desc";if(a!=null&&a.length&&e.getCanMultiSort()&&r?l?f="toggle":f="add":a!=null&&a.length&&u!==a.length-1?f="replace":l?f="toggle":f="replace",f==="toggle"&&(o||i||(f="remove")),f==="add"){var h;d=[...a,{id:e.id,desc:p}],d.splice(0,d.length-((h=t.options.maxMultiSortColCount)!=null?h:Number.MAX_SAFE_INTEGER))}else f==="toggle"?d=a.map(g=>g.id===e.id?{...g,desc:p}:g):f==="remove"?d=a.filter(g=>g.id!==e.id):d=[{id:e.id,desc:p}];return d})},getFirstSortDir:()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},getNextSortingOrder:n=>{var r,i;const o=e.getFirstSortDir(),a=e.getIsSorted();return a?a!==o&&((r=t.options.enableSortingRemoval)!=null?r:!0)&&(n&&(i=t.options.enableMultiRemove)!=null?i:!0)?!1:a==="desc"?"asc":"desc":o},getCanSort:()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},getCanMultiSort:()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},getIsSorted:()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(i=>i.id===e.id);return r?r.desc?"desc":"asc":!1},getSortIndex:()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},clearSorting:()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},getToggleSortingHandler:()=>{const n=e.getCanSort();return r=>{!n||(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}}),createTable:e=>({setSorting:t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),resetSorting:t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},getPreSortedRowModel:()=>e.getGroupedRowModel(),getSortedRowModel:()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())})},FL,VL,jL,WL,$L];function ZL(e){var t;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let n={_features:Uv};const r=n._features.reduce((f,p)=>Object.assign(f,p.getDefaultOptions==null?void 0:p.getDefaultOptions(n)),{}),i=f=>n.options.mergeOptions?n.options.mergeOptions(r,f):{...r,...f};let a={...{},...(t=e.initialState)!=null?t:{}};n._features.forEach(f=>{var p;a=(p=f.getInitialState==null?void 0:f.getInitialState(a))!=null?p:a});const l=[];let u=!1;const d={_features:Uv,options:{...r,...e},initialState:a,_queue:f=>{l.push(f),u||(u=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();u=!1}).catch(p=>setTimeout(()=>{throw p})))},reset:()=>{n.setState(n.initialState)},setOptions:f=>{const p=Dr(f,n.options);n.options=i(p)},getState:()=>n.options.state,setState:f=>{n.options.onStateChange==null||n.options.onStateChange(f)},_getRowId:(f,p,h)=>{var g;return(g=n.options.getRowId==null?void 0:n.options.getRowId(f,p,h))!=null?g:""+(h?[h.id,p].join("."):p)},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:f=>{const p=n.getRowModel().rowsById[f];if(!p)throw process.env.NODE_ENV!=="production"?new Error("getRow expected an ID, but got "+f):new Error;return p},_getDefaultColumnDef:He(()=>[n.options.defaultColumn],f=>{var p;return f=(p=f)!=null?p:{},{header:h=>{const g=h.header.column.columnDef;return g.accessorKey?g.accessorKey:g.accessorFn?g.id:null},cell:h=>{var g,v;return(g=(v=h.renderValue())==null||v.toString==null?void 0:v.toString())!=null?g:null},...n._features.reduce((h,g)=>Object.assign(h,g.getDefaultColumnDef==null?void 0:g.getDefaultColumnDef()),{}),...f}},{debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns},key:process.env.NODE_ENV==="development"&&"getDefaultColumnDef"}),_getColumnDefs:()=>n.options.columns,getAllColumns:He(()=>[n._getColumnDefs()],f=>{const p=function(h,g,v){return v===void 0&&(v=0),h.map(m=>{const w=IL(n,m,v,g),x=m;return w.columns=x.columns?p(x.columns,w,v+1):[],w})};return p(f)},{key:process.env.NODE_ENV==="development"&&"getAllColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllFlatColumns:He(()=>[n.getAllColumns()],f=>f.flatMap(p=>p.getFlatColumns()),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),_getAllFlatColumnsById:He(()=>[n.getAllFlatColumns()],f=>f.reduce((p,h)=>(p[h.id]=h,p),{}),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumnsById",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllLeafColumns:He(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(f,p)=>{let h=f.flatMap(g=>g.getLeafColumns());return p(h)},{key:process.env.NODE_ENV==="development"&&"getAllLeafColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getColumn:f=>{const p=n._getAllFlatColumnsById()[f];if(!p)throw process.env.NODE_ENV!=="production"&&console.warn("[Table] Column with id "+f+" does not exist."),new Error;return p}};return Object.assign(n,d),n._features.forEach(f=>Object.assign(n,f.createTable==null?void 0:f.createTable(n))),n}function JL(e,t,n,r){const i=()=>{var a;return(a=o.getValue())!=null?a:e.options.renderFallbackValue},o={id:t.id+"_"+n.id,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:He(()=>[e,n,t,o],(a,l,u,d)=>({table:a,column:l,row:u,cell:d,getValue:d.getValue,renderValue:d.renderValue}),{key:process.env.NODE_ENV==="development"&&"cell.getContext",debug:()=>e.options.debugAll})};return e._features.forEach(a=>{Object.assign(o,a.createCell==null?void 0:a.createCell(o,n,t,e))},{}),o}const eV=(e,t,n,r,i,o)=>{let a={id:t,index:r,original:n,depth:i,_valuesCache:{},getValue:l=>{if(a._valuesCache.hasOwnProperty(l))return a._valuesCache[l];const u=e.getColumn(l);if(!!u.accessorFn)return a._valuesCache[l]=u.accessorFn(a.original,r),a._valuesCache[l]},renderValue:l=>{var u;return(u=a.getValue(l))!=null?u:e.options.renderFallbackValue},subRows:o!=null?o:[],getLeafRows:()=>PL(a.subRows,l=>l.subRows),getAllCells:He(()=>[e.getAllLeafColumns()],l=>l.map(u=>JL(e,a,u,u.id)),{key:process.env.NODE_ENV==="development"&&"row.getAllCells",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}}),_getAllCellsByColumnId:He(()=>[a.getAllCells()],l=>l.reduce((u,d)=>(u[d.column.id]=d,u),{}),{key:process.env.NODE_ENV==="production"&&"row.getAllCellsByColumnId",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}})};for(let l=0;l<e._features.length;l++){const u=e._features[l];Object.assign(a,u==null||u.createRow==null?void 0:u.createRow(a,e))}return a};function Yv(){return{accessor:(e,t)=>typeof e=="function"?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function Xv(){return e=>He(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,o,a){o===void 0&&(o=0);const l=[];for(let d=0;d<i.length;d++){const f=eV(e,e._getRowId(i[d],d,a),i[d],d,o);if(n.flatRows.push(f),n.rowsById[f.id]=f,l.push(f),e.options.getSubRows){var u;f.originalSubRows=e.options.getSubRows(i[d],d),(u=f.originalSubRows)!=null&&u.length&&(f.subRows=r(f.originalSubRows,o+1,f))}}return l};return n.rows=r(t),n},{key:process.env.NODE_ENV==="development"&&"getRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function tV(){return e=>He(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],o=r.filter(u=>e.getColumn(u.id).getCanSort()),a={};o.forEach(u=>{const d=e.getColumn(u.id);a[u.id]={sortUndefined:d.columnDef.sortUndefined,invertSorting:d.columnDef.invertSorting,sortingFn:d.getSortingFn()}});const l=u=>{const d=u.slice();return d.sort((f,p)=>{for(let g=0;g<o.length;g+=1){var h;const v=o[g],m=a[v.id],w=(h=v==null?void 0:v.desc)!=null?h:!1;if(m.sortUndefined){const _=f.getValue(v.id),S=p.getValue(v.id),C=typeof _>"u",E=typeof S>"u";if(C||E)return C&&E?0:C?m.sortUndefined:-m.sortUndefined}let x=m.sortingFn(f,p,v.id);if(x!==0)return w&&(x*=-1),m.invertSorting&&(x*=-1),x}return f.index-p.index}),d.forEach(f=>{i.push(f),!(!f.subRows||f.subRows.length<=1)&&(f.subRows=l(f.subRows))}),d};return{rows:l(n.rows),flatRows:i,rowsById:n.rowsById}},{key:process.env.NODE_ENV==="development"&&"getSortedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function Za(e,t){return e?nV(e)?s(e,{...t}):e:null}function nV(e){return rV(e)||typeof e=="function"||iV(e)}function rV(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function iV(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Qv(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=T.useState(()=>({current:ZL(t)})),[r,i]=T.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:a=>{i(a),e.onStateChange==null||e.onStateChange(a)}})),n.current}const Zv={left:"flex-start",center:"center",right:"flex-end"},oV=({header:e,cx:t})=>{const n=H.default.get(e.column.columnDef.meta,"align","left");return y(c.Text,{className:t("table-head-cell",{"table-head-cell--sortable":e.column.getCanSort()}),onClick:e.column.getToggleSortingHandler(),align:n,sx:{justifyContent:Zv[n]},children:[e.isPlaceholder?null:Za(e.column.columnDef.header,e.getContext()),s(aV,{direction:e.column.getIsSorted()})]})},aV=({direction:e})=>{switch(e){case"asc":return s(sx,{size:16});case"desc":return s(rx,{size:"1em"});default:return null}},ju={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:dV,configRender:uV,payload:[{name:"row_index",description:"Index of the row that the cell belongs to",valueType:"number"},{name:"col_index",description:"Index of the column that the cell belongs to",valueType:"number"},{name:"row_data",description:"Data of the row that the cell belongs to",valueType:"object"}]},sV={column:""};function Jv(e){const{value:t}=ze(e.instanceData,"config");return t?t.columns.map((n,r)=>({label:n.label,value:r.toString()})):[]}function lV(e){return W.isEmpty(e)?[]:Object.keys(e[0]).map(t=>({label:t,value:t}))}function uV(e){const t=Jv(e.instance),n=lV(e.sampleData),r=t.length>0?t:n,{value:i,set:o}=ze(e.trigger.triggerData,"config"),{column:a}=W.defaults({},i,sV),l=u=>{isNaN(+u)?o({column:u}):o({column:+u})};return s(c.Select,{clearable:!1,data:r,label:"Choose a column",value:a.toString(),onChange:l})}function cV(e,t){return e?W.isNumber(e.column)?`Click cell of ${t[e.column].label}`:`Click cell of ${e.column}`:"Click cell content (click to config)"}function dV(e){const t=Jv(e.instance),{value:n}=ze(e.trigger.triggerData,"config");return s(c.Text,{children:cV(n,t)})}const fV=c.createStyles(e=>({root:{overflow:"auto",position:"relative","& .table-head-cell":{display:"flex",flexFlow:"row nowrap",alignItems:"center",whiteSpace:"nowrap","&.table-head-cell--sortable":{cursor:"pointer",userSelect:"none"}},"&.table-highlight-on-hover tr":{transition:"background-color 0.2s","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]}}},thead:{background:e.colorScheme==="dark"?e.colors.dark[7]:e.white,position:"sticky",top:24,transform:"translateY(-1px)",zIndex:10,"&::after":{content:'" "',display:"block",background:"white",position:"absolute",left:0,right:0,top:0,bottom:0,zIndex:-1}},info_bar:{position:"sticky",top:0,left:0,right:0,zIndex:10,background:"white"}})),pV={tableLayout:"fixed","th, td":{padding:"2px 10px",div:{overflow:"hidden",textOverflow:"ellipsis"},"&:first-of-type":{paddingLeft:2,paddingRight:2}}};function em(e,t,n){return Math.min(Math.max(e,t),n)}class hV{constructor(t){this.steps=t;const n=[],r=new Set;for(const i of t)r.has(i.to)||(n.push(i),r.add(i.to));if(n.sort((i,o)=>i.from-o.from),n.length<2)throw new Error("MultiStepValueMapper requires at least 2 steps");this.steps=n}getLinearFunction(t,n){const r=(n.to-t.to)/(n.from-t.from),i=t.to-r*t.from;return o=>r*o+i}getStepFunctionForValue(t){let n=W.findLastIndex(this.steps,r=>r.from<=t);return n=em(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(t){return em(this.getStepFunctionForValue(t)(t),0,100)}}class gV{constructor(t,n,r,i,o){this.getColIndex=t,this.cell=n,this.triggers=r,this.interactionManager=i,this.colorManager=o}getClickHandler(){const t=this.getRelatedTrigger();if(t.length!==0)return()=>{const n={row_data:this.cell.row.original,row_index:this.cell.row.index,col_index:this.getColIndex(this.cell)};for(const r of t)this.interactionManager.runInteraction(r.id,n)}}getRelatedTrigger(){return this.triggers.filter(n=>n.schemaRef===ju.id).filter(n=>{const r=this.getColIndex(this.cell),i=W.get(this.cell.column.columnDef.meta,"value_field"),o=W.get(n.config,"column");return o==r||o==i})}isClickable(){return this.getRelatedTrigger().length>0}get columnConf(){return this.cell.column.columnDef.meta}get bgColor(){const t=this.columnConf.cellBackgroundColor;if(!t||t==="none")return;if(W.isString(t))return t;const n=+this.cell.getValue();if(isFinite(n)){const r=this.colorManager.decodeInterpolation(t.interpolation),o=new hV(t.steps).mapValue(n);return r==null?void 0:r.getColor(o)}}}const vV=c.createStyles((e,t)=>({content:{display:"flex",alignItems:"center",justifyContent:Zv[t.align],".table-cell-text":{whiteSpace:"nowrap",cursor:t.clickable?"pointer":"default",textDecoration:t.clickable?"underline":"none"}}}));function mV(e){return e?Gi.default(e).oklch()[0]>.7?"black":"white":"inherit"}function yV(e){const t=e.tableCellContext.bgColor;return{backgroundColor:t,color:mV(t)}}function Ja(e){const t=e.tableCellContext.isClickable(),n=vV({clickable:t,align:e.align});return s("div",{className:n.classes.content,style:{...yV(e)},children:s(c.Text,{className:"table-cell-text",onClick:e.tableCellContext.getClickHandler(),children:s("span",{title:e.children,children:e.children})})})}function bV(e){return s(Ja,{...e,children:e.value})}function xV(e){return s(Ja,{...e,children:e.value})}function wV(e){const t=St.default(e.value).format({thousandSeparated:!0});return s(Ja,{...e,children:t})}function CV(e){const t=St.default(e.value).format({output:"percent",mantissa:3});return s(Ja,{...e,children:t})}function SV(e){const t=e.value,n=e.func_content;return n?new Function(`return ${n}`)()({value:t}):t}function _V(e){switch(e.type){case Kn.string:return s(bV,{...e});case Kn.eloc:return s(xV,{...e});case Kn.number:return s(wV,{...e});case Kn.percentage:return s(CV,{...e});case Kn.custom:return s(SV,{...e})}}const EV=e=>{const t=qn(e),n=Bn(t.triggerManager,ju.id),{colorManager:r}=b.useContext(Wn);return b.useCallback(i=>new gV(e.getColIndex,i,n,t,r),[n,t,e.getColIndex])};function TV({context:e,instance:t}){var $,F,M;const n=($=e.data)!=null?$:[],{height:r,width:i}=e.viewport,{value:o=Du}=ze(e.instanceData,"config"),{use_raw_columns:a,columns:l,...u}=o,{classes:d,cx:f}=fV(),p=Q.default.useMemo(()=>a?Object.keys(n[0]).map(L=>({id:L,label:L,value_field:L,value_type:Kn.string,align:"left"})):l,[a,l,n]),h=EV({getColIndex:b.useCallback(L=>p.indexOf(L.column.columnDef.meta),[p]),vizManager:e.vizManager,instance:t}),g=b.useMemo(()=>{const L=Yv();return p.map(R=>L.accessor(R.value_field,{cell:G=>s(_V,{tableCellContext:h(G.cell),value:G.getValue(),type:R.value_type,...R}),header:R.label,enableSorting:!0,meta:R,size:R.width,minSize:R.width}))},[p,h]),[v,m]=b.useState([]),w=Qv({data:n,state:{sorting:v},onSortingChange:m,columns:g,getCoreRowModel:Xv(),getSortedRowModel:tV()}),{rows:x}=w.getRowModel(),_=Q.default.useRef(null),S=F0.useVirtual({parentRef:_,size:x.length,estimateSize:b.useCallback(()=>28,[]),overscan:20}),{virtualItems:C,totalSize:E}=S,k=C.length>0&&((F=C==null?void 0:C[0])==null?void 0:F.start)||0,P=C.length>0?E-(((M=C==null?void 0:C[C.length-1])==null?void 0:M.end)||0):0,V=x.length,B=V>0,I=B?r-22:r,A=B?22:0;return y("div",{ref:_,style:{height:r,width:i},"data-enable-scrollbar":!0,className:f(d.root,{"table-highlight-on-hover":o.highlightOnHover}),children:[V>0&&s(c.Box,{className:d.info_bar,sx:{height:22},children:y(c.Text,{align:"right",pr:6,size:14,color:"dimmed",fw:"normal",children:["Total: ",V]})}),y(c.Table,{sx:{...pV,maxHeight:I},...u,striped:o.striped,children:[s("thead",{className:d.thead,style:{top:A},children:w.getHeaderGroups().map(L=>s("tr",{children:L.headers.map(N=>s("th",{style:{width:N.getSize()},children:s(oV,{header:N,cx:f})},N.id))},L.id))}),y("tbody",{children:[k>0&&s("tr",{children:s("td",{style:{height:`${k}px`}})}),C.map(L=>{const N=x[L.index];return s("tr",{children:N.getVisibleCells().map(R=>s("td",{children:Za(R.column.columnDef.cell,R.getContext())},R.id))},N.id)}),P>0&&s("tr",{children:s("td",{style:{height:`${P}px`}})})]})]})]})}const tm=c.createStyles(()=>({palette:{display:"flex",flexFlow:"row nowrap"},paletteItem:{".palette-value":{height:24,overflow:"visible",width:36},".palette-item":{width:"36px",height:36*.618,cursor:"pointer",transition:"transform 100ms ease-in-out","&:hover":{boxShadow:"0 0 0 2px var(--shadow-color)",borderRadius:2,transform:"scale(1.2)"}}}})),MV=[{from:0,to:0},{from:100,to:100}];class kV{constructor(){ke(this,"steps",new Map);ke(this,"interpolation");ke(this,"onChange");It.makeAutoObservable(this,{steps:It.observable},{deep:!1}),It.reaction(()=>It.toJS(this.steps),()=>{this.notifyStepChange()})}setSteps(t){for(const n of t)this.steps.set(n.to,n.from)}notifyStepChange(){var t;(t=this.onChange)==null||t.call(this,Array.from(this.steps.entries()).map(([n,r])=>({to:n,from:r})).sort((n,r)=>n.to-r.to||n.from-r.from))}fromProps(t){t.steps.length<2?this.setSteps(MV):this.setSteps(t.steps),this.interpolation=t.interpolation,this.onChange=t.onChange}changeStep(t,n){t==null?this.steps.delete(n):this.steps.set(n,t)}getStepFromValue(t){return this.steps.get(t)}}function DV(e){const{onChange:t,color:n,index:r,value:i}=e,{classes:o}=tm(),[a,l]=b.useState(i),[u,{setTrue:d,setFalse:f}]=tt.useBoolean(!1),p=r%2===1,h=p&&i!=null,g=!p&&i!=null,v=`map ${i} to color ${r}`,m=()=>{l(i),f()},w=()=>{f(),t==null||t(a)},x=St.default(i).format({average:!0});return y("div",{"data-testid":`palette-item-${r}`,className:o.paletteItem,children:[s(c.Text,{title:v,style:{opacity:h?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:x}),y(c.Popover,{width:200,trapFocus:!0,opened:u,onClose:f,children:[s(c.Popover.Target,{children:s("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:d,style:{"--shadow-color":Gi.default(n).alpha(.5).hex(),backgroundColor:n}})}),s(c.Popover.Dropdown,{children:y(c.Stack,{children:[s(c.NumberInput,{size:"xs",label:"Map a value to this color",value:a,onChange:l}),y(c.Group,{position:"right",children:[s(c.Button,{variant:"subtle",size:"xs",onClick:m,children:"Cancel"}),s(c.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:w,children:"OK"})]})]})})]}),s(c.Text,{title:v,style:{opacity:g?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:x})]})}const OV=ee.observer(({model:e})=>{const{classes:t}=tm(),n=W.range(0,13,1).map(r=>100/12*r).map(r=>[e.interpolation.getColor(r),r]);return s("div",{className:t.palette,children:n.map(([r,i],o)=>s(DV,{index:o,color:r,value:e.getStepFromValue(i),onChange:a=>e.changeStep(a,i)},r))})}),AV=ee.observer(function(t){const n=tt.useCreation(()=>new kV,[]);return b.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:s(OV,{model:n})}),RV=e=>{const{value:t,onChange:n,colorManager:r}=e,i=r.getColorInterpolations(),[o,a]=b.useState(t),l=r.decodeInterpolation(o.interpolation)||i[0],[u,{setTrue:d,setFalse:f}]=tt.useBoolean(),p=i.map(w=>({label:w.displayName,value:r.encodeColor(w),group:w.category}));function h(w){w&&a(x=>({...x,interpolation:w}))}const g=()=>{f(),n==null||n(It.toJS(o))};function v(w){a(x=>({...x,steps:w}))}const m=()=>{f(),a(t)};return y(be,{children:[s(c.Button,{variant:"outline",onClick:d,children:l==null?void 0:l.displayName}),s(c.Modal,{size:508,title:"Setup color interpolation",opened:u,onClose:f,zIndex:320,children:u&&y(c.Stack,{"data-testid":"color-interpolation-modal",children:[s(c.Select,{label:"Color style",value:o.interpolation,data:p,onChange:h}),s(AV,{steps:o.steps,interpolation:l,onChange:v}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:m,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:g,children:"OK"})]})]})})]})},PV=["static","interpolation","none"],IV=[{from:0,to:0},{from:100,to:100}];function nm(e){return e?W.isString(e)?e==="none"?"none":"static":"interpolation":"none"}function NV(e,t){var n;return nm(t)==="static"?t:(n=e.getStaticColors()[0])==null?void 0:n.value}function $V(e,t){return W.isObject(t)?t:{steps:IV,interpolation:e.encodeColor(e.getColorInterpolations()[0])}}const LV=b.forwardRef((e,t)=>{const{colorManager:n}=b.useContext(Wn),[r,i]=b.useState(nm(e.value)),[o,a]=b.useState(NV(n,e.value)),l=tt.useLatest(o),[u,d]=b.useState($V(n,e.value)),f=tt.useLatest(u),p=v=>{var m,w,x;i(v||"none"),v==="static"?(m=e.onChange)==null||m.call(e,l.current):v==="none"||!v?(w=e.onChange)==null||w.call(e,"none"):(x=e.onChange)==null||x.call(e,f.current)},h=v=>{var m;a(v),(m=e.onChange)==null||m.call(e,v)},g=v=>{var m;d(v),(m=e.onChange)==null||m.call(e,v)};return y(c.Stack,{align:"stretch",children:[s(c.Select,{label:"Cell background",value:r||"none",onChange:p,data:PV}),r==="static"&&s(bn,{value:o,onChange:h}),r==="interpolation"&&s(RV,{colorManager:n,value:u,onChange:g})]})}),VV=Object.values(Kn).map(e=>({label:e,value:e})),zV=b.forwardRef(({label:e,value:t,onChange:n,sx:r},i)=>s(c.Select,{ref:i,label:e,data:VV,value:t,onChange:n,sx:r})),FV=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o(),t(a)},d=()=>{o(),l(e)},f=()=>{l(Nv)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Custom Cell Content"}),s(c.Modal,{size:800,title:"Custom cell content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Box,{sx:{position:"relative"},children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:a,onChange:p=>l(p!=null?p:""),theme:"vs-dark",options:{minimap:{enabled:!1}}})}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:f,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})}),BV=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],Ku=()=>s(c.Text,{color:"dimmed",size:12,children:"px"}),GV=({control:e,index:t,watch:n,remove:r,column:i,data:o})=>{const a=n(`columns.${t}.value_type`);return y(c.Stack,{my:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:`columns.${t}.label`,control:e,render:({field:l})=>s(c.TextInput,{label:"Label",required:!0,id:`col-label-${t}`,sx:{flex:1},...l})}),s(D.Controller,{name:`columns.${t}.value_field`,control:e,render:({field:l})=>s(Ye,{label:"Value Field",required:!0,data:o,...l})})]}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`columns.${t}.value_type`,control:e,render:({field:l})=>s(zV,{label:"Value Type",sx:{flex:1},...l})}),a===Kn.custom&&s(D.Controller,{name:`columns.${t}.func_content`,control:e,render:({field:l})=>{var u;return s(FV,{value:(u=l.value)!=null?u:Nv,onChange:d=>l.onChange(d!=null?d:"")})}})]}),s(c.Divider,{mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(c.NumberInput,{hideControls:!0,label:"Min Width",rightSection:s(Ku,{}),disabled:!0}),s(D.Controller,{name:`columns.${t}.width`,control:e,render:({field:l})=>s(c.NumberInput,{hideControls:!0,label:"Width",rightSection:s(Ku,{}),...l})}),s(c.NumberInput,{hideControls:!0,label:"Max Width",rightSection:s(Ku,{}),disabled:!0})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`columns.${t}.align`,control:e,render:({field:l})=>s(c.Select,{label:"Alignment",data:BV,...l})})}),s(D.Controller,{name:`columns.${t}.cellBackgroundColor`,control:e,render:({field:l})=>s(LV,{...l})}),s(c.Divider,{mb:4,mt:12,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),children:"Delete this column"})]})},jV=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o,update:a}=D.useFieldArray({control:e,name:"columns"}),l=()=>{const d=qt.randomId();i({id:d,label:d,value_field:"value",value_type:Kn.string})};t("columns");const u=t("use_raw_columns");return y(be,{children:[s(D.Controller,{name:"use_raw_columns",control:e,render:({field:d})=>s(c.Switch,{mt:20,label:"Use Original Data Columns",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})}),s(c.Divider,{mt:20,mb:10,variant:"dashed"}),!u&&y(c.Stack,{children:[s(c.Text,{my:0,children:"Custom Columns"}),y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[r.map((d,f)=>s(c.Tabs.Tab,{value:f.toString(),children:f+1},d.id)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),r.map((d,f)=>s(c.Tabs.Panel,{value:f.toString(),children:s(GV,{control:e,watch:t,index:f,column:d,data:n,remove:o},f)},d.id))]})]})]})};function KV({control:e,watch:t,data:n}){return t(["horizontalSpacing","verticalSpacing","fontSize","striped","highlightOnHover"]),y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[s(D.Controller,{name:"horizontalSpacing",control:e,render:({field:r})=>s(c.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:"verticalSpacing",control:e,render:({field:r})=>s(c.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})})]}),s(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:s(D.Controller,{name:"fontSize",control:e,render:({field:r})=>s(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})})}),y(c.Group,{position:"apart",grow:!0,children:[s(D.Controller,{name:"striped",control:e,render:({field:r})=>s(c.Switch,{label:"Striped",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})}),s(D.Controller,{name:"highlightOnHover",control:e,render:({field:r})=>s(c.Switch,{label:"Highlight on hover",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})})]})]})}function WV({columns:e,...t}){return{...t,columns:e.map(({id:n,...r})=>({id:n!=null?n:qt.randomId(),...r}))}}function qV({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Du),[t]),o=b.useMemo(()=>WV(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return u(["id_field"]),y("form",{onSubmit:l(n),children:[y(c.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Table Config"}),s(c.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Columns",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",children:"Data"}),s(c.Tabs.Tab,{value:"Style",children:"Style"}),s(c.Tabs.Tab,{value:"Columns",children:"Columns"})]}),s(c.Tabs.Panel,{value:"Data",children:s(D.Controller,{name:"id_field",control:a,render:({field:g})=>s(Ye,{label:"ID Field",required:!0,data:r,...g})})}),s(c.Tabs.Panel,{value:"Style",children:s(KV,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Columns",children:s(jV,{control:a,watch:u,data:r})})]})]})}function HV(e){const{columns:t,...n}=e;return{...e,columns:t.map(r=>{var i;return{...r,align:(i=r.align)!=null?i:"left"}})}}class UV extends Ft{constructor(){super(...arguments);ke(this,"VERSION",3)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{columns:r,...i}=n.config;return{...n,version:2,config:{...i,columns:r.map(({id:o,...a})=>({id:o!=null?o:qt.randomId(),...a}))}}}),this.version(3,n=>({...n,version:3,config:HV(n.config)}))}}const Wu={createConfig(){return{version:3,config:W.cloneDeep(Du)}},displayName:"Table",displayGroup:"Others",migrator:new UV,name:"table",viewRender:TV,configRender:qV,triggers:[ju]},rm=["function text({ data, variables, filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
286
- `),qu={func_content:rm,horizontal_align:"left",font_size:"14px",font_weight:"normal"},YV=ee.observer(({context:e})=>{const t=Ie(),{value:n=qu}=ze(e.instanceData,"config"),{variables:r}=e,{func_content:i,horizontal_align:o,font_size:a,font_weight:l}=n,u=b.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 s(c.Text,{align:o,weight:l,sx:{fontSize:a},children:u})}),XV=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{sx:{position:"relative"},children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},QV=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o(),t(a)},d=()=>{o(),l(e)},f=()=>{l(rm)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Edit Content"}),s(c.Modal,{size:800,title:"Text content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(XV,{value:a,onChange:l}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:f,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})}),ZV=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function JV({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaultsDeep({},t,qu),[t]),i=b.useMemo(()=>{const{func_content:h,horizontal_align:g,font_size:v,font_weight:m}=r;return{func_content:h,horizontal_align:g,font_size:v,font_weight:m}},[r]);b.useEffect(()=>{!W.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});Q.default.useEffect(()=>{d(i)},[i]),l(["func_content","horizontal_align","font_size","font_weight"]);const f=u(),p=Q.default.useMemo(()=>!H.default.isEqual(f,r),[f,r]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{weight:500,children:"Configurations"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{spacing:10,children:[s(D.Controller,{name:"func_content",control:o,render:({field:h})=>s(QV,{...h})}),s(c.Divider,{mt:10,mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:"horizontal_align",control:o,render:({field:h})=>s(c.Select,{label:"Horizontal Alignment",data:ZV,...h})}),s(D.Controller,{name:"font_size",control:o,render:({field:h})=>s(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},...h})}),s(c.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:s(D.Controller,{name:"font_weight",control:o,render:({field:h})=>s(Yg,{label:"Font Weight",...h})})})]})]})})}class ez extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const tz={displayName:"Text",displayGroup:"Others",migrator:new ez,name:"text",viewRender:YV,configRender:JV,createConfig(){return{version:1,config:W.cloneDeep(qu)}}},nz=()=>y("svg",{width:"64",height:"64",viewBox:"0 0 64 64",fill:"none",children:[s("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.49 27.79H14.47C13.55 27.79 12.81 28.53 12.81 29.45C12.81 30.37 13.55 31.11 14.47 31.11H22.49C23.41 31.11 24.15 30.37 24.15 29.45C24.15 28.54 23.41 27.79 22.49 27.79ZM34.32 31.28C35.22 31.32 35.7 31.82 35.74 32.76C35.78 33.54 35.37 34.3 34.51 35.04C33.52 35.9 33.03 36.95 33.03 38.19V38.81H34.82V38.25C34.78 37.59 35.07 37.02 35.68 36.52C37.12 35.41 37.82 34.15 37.78 32.75C37.66 30.53 36.5 29.35 34.32 29.23C32.3 29.23 31.05 30.46 30.55 32.93L32.53 33.55C32.82 32.04 33.42 31.28 34.32 31.28ZM35 39.93H32.84V42.21H35V39.93ZM14.83 36.42H18.54C19.46 36.42 20.2 37.17 20.2 38.08C20.2 39 19.46 39.74 18.54 39.74H10.52C9.6 39.74 8.86 39 8.86 38.08C8.86 37.61 9.06 37.19 9.37 36.89H5.66C4.74 36.89 4 36.15 4 35.23C4 34.31 4.74 33.57 5.66 33.57H13.68C14.6 33.57 15.34 34.31 15.34 35.23C15.34 35.7 15.14 36.12 14.83 36.42ZM50.94 36.85H58.74C59.66 36.85 60.4 37.59 60.41 38.51C60.41 39.43 59.67 40.17 58.75 40.17H54.26C54.56 40.47 54.74 40.88 54.74 41.34C54.74 42.26 54 43 53.08 43H50.94V36.85Z",fill:"#B8C0CC"}),s("path",{d:"M18.39 32.28H16.51V35.02H18.39V32.28Z",fill:"#9399A5"}),s("path",{d:"M46.87 15H20.69C18.38 15 16.5 16.88 16.5 19.19V26.22H18.38V23.45H49.18V47.68H18.38V41.07H16.5V49.55H51.05V19.19C51.06 16.88 49.18 15 46.87 15ZM39.46 20.73C38.81 20.73 38.29 20.2 38.29 19.56C38.29 18.92 38.82 18.39 39.46 18.39C40.11 18.39 40.63 18.92 40.63 19.56C40.63 20.2 40.11 20.73 39.46 20.73ZM43.22 20.73C42.57 20.73 42.05 20.2 42.05 19.56C42.05 18.92 42.58 18.39 43.22 18.39C43.87 18.39 44.39 18.92 44.39 19.56C44.39 20.2 43.87 20.73 43.22 20.73ZM46.97 20.73C46.32 20.73 45.8 20.2 45.8 19.56C45.8 18.92 46.33 18.39 46.97 18.39C47.62 18.39 48.14 18.92 48.14 19.56C48.14 20.2 47.62 20.73 46.97 20.73Z",fill:"#9399A5"})]});function im(e,t){const n=H.default.get(e,t,"");if(n)throw new Error(n)}async function rz(e,t,n,r={}){const i={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",...r.headers},o={baseURL:e,method:"POST",url:t,params:r.params,headers:i};return o.data=r.string?JSON.stringify(n):n,Ho.default(o).then(a=>a.data).catch(a=>Promise.reject(a))}const iz=({conf:e,data:t})=>async()=>{const{expertSystemURL:n,path:r,goal:i,question:o}=e;if(!r||!i||!o)return;const a={dashboard:i,panel:o,data:t};try{const l=n.startsWith("http")?n:window.location.origin;return await rz(l,`/expert/v3/devtable/${r}`,a,{})}catch(l){throw im(l,"response.data.detail"),im(l,"response.data.error"),console.error(l),l}},Hu={expertSystemURL:"",path:"",goal:"",question:""},Uu={height:"100%",overflowY:"auto",...js},om=({message:e})=>s(c.Box,{sx:Uu,children:s("div",{dangerouslySetInnerHTML:{__html:e},style:{fontSize:"14px",lineHeight:"32px",color:"#3D3E45"}})}),oz=({error:e,width:t,height:n})=>{const r=e.message;if(r.startsWith("<"))return s(om,{message:r});const o=n-25-20-30;return s(c.Center,{sx:{width:"100%",height:o},children:y(c.Stack,{align:"center",spacing:20,children:[s(nz,{}),s(om,{message:r})]})})};function az({context:e}){var d;const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaultsDeep({},t,Hu),[t]),{width:r,height:i}=e.viewport,o=(d=e.data)!=null?d:[],{data:a,error:l,loading:u}=tt.useRequest(iz({conf:n,data:o}),{refreshDeps:[o,n]});return!r||!i||!n?null:u?s(c.Box,{sx:{position:"relative",height:i},children:s(c.LoadingOverlay,{visible:!0})}):l?s(c.Box,{sx:Uu,"data-enable-scrollbar":!0,children:s(oz,{error:l,width:r,height:i})}):!a||!Array.isArray(a.replies)||a.replies.length===0?null:s(c.Box,{sx:Uu,"data-enable-scrollbar":!0,children:a.replies.map((f,p)=>s("div",{dangerouslySetInnerHTML:{__html:f.interpretation.html}},p))})}function sz({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaultsDeep({},t,Hu),[t]),{control:i,handleSubmit:o,watch:a,getValues:l,reset:u}=D.useForm({defaultValues:r});b.useEffect(()=>{u(r)},[r]),a(["expertSystemURL","goal","path","question"]);const d=l(),f=b.useMemo(()=>!W.isEqual(d,r),[d,r]);return s("form",{onSubmit:o(n),children:y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"expertSystemURL",control:i,render:({field:p})=>s(c.TextInput,{label:"Expert System URL",...p})}),s(D.Controller,{name:"path",control:i,render:({field:p})=>s(c.TextInput,{label:"Path",required:!0,...p})})]}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:"goal",control:i,render:({field:p})=>s(c.TextInput,{label:"Goal",required:!0,...p})}),s(D.Controller,{name:"question",control:i,render:({field:p})=>s(c.TextInput,{label:"Question",required:!0,...p})})]}),s(c.Divider,{variant:"dashed",mt:16,mb:8}),s(c.Button,{type:"submit",variant:"filled",color:"blue",leftIcon:s(re.DeviceFloppy,{size:20}),disabled:!f,sx:{alignSelf:"flex-end"},children:"Submit Changes"})]})})}class lz extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const uz={displayName:"Merico GQM",displayGroup:"Merico suite",migrator:new lz,name:"mericoGQM",viewRender:az,configRender:sz,createConfig(){return{version:1,config:W.cloneDeep(Hu)}}};function cz(e,t,n){if(!e)return n[0];try{return[t,sn.default(t).add(1,"year").subtract(1,"day").valueOf()]}catch{return n[0]}}function dz(e,t,n){const r=cz(e,t,n);return{top:50,left:25,right:5,cellSize:["auto",13],range:r,itemStyle:{borderColor:"#eee"},splitLine:{show:!0},dayLabel:{firstDay:1},monthLabel:{position:"end"},yearLabel:{show:!0}}}function fz(e){return{heat_block:function(r){if(!e.heat_block.value_formatter)return r;try{return St.default(r).format(e.heat_block.value_formatter)}catch(i){return console.error(i),r}}}}function pz(e,t){return{show:!e,selectedMode:"single",top:5,right:5,data:t.map(n=>({name:n,icon:"circle"}))}}function hz(e,t){const{calendar:n,heat_block:r}=e;return Object.entries(t).map(([i,o])=>({type:"heatmap",name:i,coordinateSystem:"calendar",calendarIndex:0,data:o.map(a=>[H.default.get(a,n.data_key),H.default.get(a,r.data_key)])}))}const gz=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function vz({conf:e,valueFormatters:t,dataDict:n,params:r}){const{value:i}=r,[o,a]=i,u=[{label:e.heat_block.name,value:t.heat_block(a),style:{label:"",value:""}}],d=n[o];return d&&e.tooltip.metrics.forEach(f=>{u.push({label:f.name,value:gz(H.default.get(d,f.data_key,"")),style:{label:"",value:""}})}),u}function mz(e,t,n){const r=H.default.keyBy(t,e.calendar.data_key);return{confine:!0,formatter:function(i){const a=vz({conf:e,valueFormatters:n,dataDict:r,params:i}).map(d=>`
285
+ color: hsl(`+Math.max(0,Math.min(120-120*p,120))+"deg 100% 31%);",n==null?void 0:n.key)}return i}}function NL(e,t,n,r){var i,o;const l={...e._getDefaultColumnDef(),...t},u=l.accessorKey;let d=(i=(o=l.id)!=null?o:u?u.replace(".","_"):void 0)!=null?i:typeof l.header=="string"?l.header:void 0,f;if(l.accessorFn?f=l.accessorFn:u&&(u.includes(".")?f=h=>{let g=h;for(const v of u.split("."))g=g[v];return g}:f=h=>h[l.accessorKey]),!d)throw process.env.NODE_ENV!=="production"?new Error(l.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let p={id:""+String(d),accessorFn:f,parent:r,depth:n,columnDef:l,columns:[],getFlatColumns:He(()=>[!0],()=>{var h;return[p,...(h=p.columns)==null?void 0:h.flatMap(g=>g.getFlatColumns())]},{key:process.env.NODE_ENV==="production"&&"column.getFlatColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}}),getLeafColumns:He(()=>[e._getOrderColumnsFn()],h=>{var g;if((g=p.columns)!=null&&g.length){let v=p.columns.flatMap(m=>m.getLeafColumns());return h(v)}return[p]},{key:process.env.NODE_ENV==="production"&&"column.getLeafColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}})};return p=e._features.reduce((h,g)=>Object.assign(h,g.createColumn==null?void 0:g.createColumn(p,e)),p),p}function $v(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const a=[],l=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(l),a.push(u)};return l(o),a},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(a=>{Object.assign(o,a.createHeader==null?void 0:a.createHeader(o,e))}),o}const $L={createTable:e=>({getHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var o,a;const l=(o=r==null?void 0:r.map(p=>n.find(h=>h.id===p)).filter(Boolean))!=null?o:[],u=(a=i==null?void 0:i.map(p=>n.find(h=>h.id===p)).filter(Boolean))!=null?a:[],d=n.filter(p=>!(r!=null&&r.includes(p.id))&&!(i!=null&&i.includes(p.id)));return Ya(t,[...l,...d,...u],e)},{key:process.env.NODE_ENV==="development"&&"getHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(i!=null&&i.includes(o.id))),Ya(t,n,e,"center")),{key:process.env.NODE_ENV==="development"&&"getCenterHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const o=(i=r==null?void 0:r.map(a=>n.find(l=>l.id===a)).filter(Boolean))!=null?i:[];return Ya(t,o,e,"left")},{key:process.env.NODE_ENV==="development"&&"getLeftHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightHeaderGroups:He(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const o=(i=r==null?void 0:r.map(a=>n.find(l=>l.id===a)).filter(Boolean))!=null?i:[];return Ya(t,o,e,"right")},{key:process.env.NODE_ENV==="development"&&"getRightHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFooterGroups:He(()=>[e.getHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftFooterGroups:He(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getLeftFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterFooterGroups:He(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getCenterFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightFooterGroups:He(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),{key:process.env.NODE_ENV==="development"&&"getRightFooterGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFlatHeaders:He(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftFlatHeaders:He(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getLeftFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterFlatHeaders:He(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getCenterFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightFlatHeaders:He(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),{key:process.env.NODE_ENV==="development"&&"getRightFlatHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterLeafHeaders:He(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getCenterLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeftLeafHeaders:He(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getLeftLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightLeafHeaders:He(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),{key:process.env.NODE_ENV==="development"&&"getRightLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getLeafHeaders:He(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,o,a,l,u,d;return[...(i=(o=t[0])==null?void 0:o.headers)!=null?i:[],...(a=(l=n[0])==null?void 0:l.headers)!=null?a:[],...(u=(d=r[0])==null?void 0:d.headers)!=null?u:[]].map(f=>f.getLeafHeaders()).flat()},{key:process.env.NODE_ENV==="development"&&"getLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}})})};function Ya(e,t,n,r){var i,o;let a=0;const l=function(h,g){g===void 0&&(g=1),a=Math.max(a,g),h.filter(v=>v.getIsVisible()).forEach(v=>{var m;(m=v.columns)!=null&&m.length&&l(v.columns,g+1)},0)};l(e);let u=[];const d=(h,g)=>{const v={depth:g,id:[r,""+g].filter(Boolean).join("_"),headers:[]},m=[];h.forEach(w=>{const x=[...m].reverse()[0],_=w.column.depth===v.depth;let S,C=!1;if(_&&w.column.parent?S=w.column.parent:(S=w.column,C=!0),x&&(x==null?void 0:x.column)===S)x.subHeaders.push(w);else{const E=$v(n,S,{id:[r,g,S.id,w==null?void 0:w.id].filter(Boolean).join("_"),isPlaceholder:C,placeholderId:C?""+m.filter(k=>k.column===S).length:void 0,depth:g,index:m.length});E.subHeaders.push(w),m.push(E)}v.headers.push(w),w.headerGroup=v}),u.push(v),g>0&&d(m,g-1)},f=t.map((h,g)=>$v(n,h,{depth:a,index:g}));d(f,a-1),u.reverse();const p=h=>h.filter(v=>v.column.getIsVisible()).map(v=>{let m=0,w=0,x=[0];v.subHeaders&&v.subHeaders.length?(x=[],p(v.subHeaders).forEach(S=>{let{colSpan:C,rowSpan:E}=S;m+=C,x.push(E)})):m=1;const _=Math.min(...x);return w=w+_,v.colSpan=m,v.rowSpan=w,{colSpan:m,rowSpan:w}});return p((i=(o=u[0])==null?void 0:o.headers)!=null?i:[]),u}const Xa={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Ou=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),LL={getDefaultColumnDef:()=>Xa,getInitialState:e=>({columnSizing:{},columnSizingInfo:Ou(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:Mn("columnSizing",e),onColumnSizingInfoChange:Mn("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,r,i;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:Xa.minSize,(r=o!=null?o:e.columnDef.size)!=null?r:Xa.size),(i=e.columnDef.maxSize)!=null?i:Xa.maxSize)},getStart:n=>{const r=n?n==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),i=r.findIndex(o=>o.id===e.id);if(i>0){const o=r[i-1];return o.getStart(n)+o.getSize()}return 0},resetSize:()=>{t.setColumnSizing(n=>{let{[e.id]:r,...i}=n;return i})},getCanResize:()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},getIsResizing:()=>t.getState().columnSizingInfo.isResizingColumn===e.id}),createHeader:(e,t)=>({getSize:()=>{let n=0;const r=i=>{if(i.subHeaders.length)i.subHeaders.forEach(r);else{var o;n+=(o=i.column.getSize())!=null?o:0}};return r(e),n},getStart:()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},getResizeHandler:()=>{const n=t.getColumn(e.column.id),r=n.getCanResize();return i=>{if(!r||(i.persist==null||i.persist(),Au(i)&&i.touches&&i.touches.length>1))return;const o=e.getSize(),a=e?e.getLeafHeaders().map(g=>[g.column.id,g.column.getSize()]):[[n.id,n.getSize()]],l=Au(i)?Math.round(i.touches[0].clientX):i.clientX,u=(g,v)=>{if(typeof v!="number")return;let m={};t.setColumnSizingInfo(w=>{var x,_;const S=v-((x=w==null?void 0:w.startOffset)!=null?x:0),C=Math.max(S/((_=w==null?void 0:w.startSize)!=null?_:0),-.999999);return w.columnSizingStart.forEach(E=>{let[k,P]=E;m[k]=Math.round(Math.max(P+P*C,0)*100)/100}),{...w,deltaOffset:S,deltaPercentage:C}}),(t.options.columnResizeMode==="onChange"||g==="end")&&t.setColumnSizing(w=>({...w,...m}))},d=g=>u("move",g),f=g=>{u("end",g),t.setColumnSizingInfo(v=>({...v,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p={moveHandler:g=>d(g.clientX),upHandler:g=>{document.removeEventListener("mousemove",p.moveHandler),document.removeEventListener("mouseup",p.upHandler),f(g.clientX)}},h=VL()?{passive:!1}:!1;Au(i)||(document.addEventListener("mousemove",p.moveHandler,h),document.addEventListener("mouseup",p.upHandler,h)),t.setColumnSizingInfo(g=>({...g,startOffset:l,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:a,isResizingColumn:n.id}))}}}),createTable:e=>({setColumnSizing:t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),setColumnSizingInfo:t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),resetColumnSizing:t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},resetHeaderSizeInfo:t=>{var n;e.setColumnSizingInfo(t?Ou():(n=e.initialState.columnSizingInfo)!=null?n:Ou())},getTotalSize:()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getLeftTotalSize:()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getCenterTotalSize:()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},getRightTotalSize:()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0}})};let Qa=null;function VL(){if(typeof Qa=="boolean")return Qa;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return Qa=e,Qa}function Au(e){return e.type==="touchstart"}const zL={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Mn("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;return{_autoResetExpanded:()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},setExpanded:r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),toggleAllRowsExpanded:r=>{(r!=null?r:!e.getIsAllRowsExpanded())?e.setExpanded(!0):e.setExpanded({})},resetExpanded:r=>{var i,o;e.setExpanded(r?{}:(i=(o=e.initialState)==null?void 0:o.expanded)!=null?i:{})},getCanSomeRowsExpand:()=>e.getRowModel().flatRows.some(r=>r.getCanExpand()),getToggleAllRowsExpandedHandler:()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},getIsSomeRowsExpanded:()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},getIsAllRowsExpanded:()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(i=>i.getIsExpanded()))},getExpandedDepth:()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const a=o.split(".");r=Math.max(r,a.length)}),r},getPreExpandedRowModel:()=>e.getSortedRowModel(),getExpandedRowModel:()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())}},createRow:(e,t)=>({toggleExpanded:n=>{t.setExpanded(r=>{var i;const o=r===!0?!0:!!(r!=null&&r[e.id]);let a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(l=>{a[l]=!0}):a=r,n=(i=n)!=null?i:!o,!o&&n)return{...a,[e.id]:!0};if(o&&!n){const{[e.id]:l,...u}=a;return u}return r})},getIsExpanded:()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||(r==null?void 0:r[e.id]))},getCanExpand:()=>{var n,r,i;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((i=e.subRows)!=null&&i.length)},getToggleExpandedHandler:()=>{const n=e.getCanExpand();return()=>{!n||e.toggleExpanded()}}})},Lv=(e,t,n)=>{var r;const i=n.toLowerCase();return(r=e.getValue(t))==null?void 0:r.toLowerCase().includes(i)};Lv.autoRemove=e=>Rn(e);const Vv=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Vv.autoRemove=e=>Rn(e);const zv=(e,t,n)=>{var r;return((r=e.getValue(t))==null?void 0:r.toLowerCase())===n.toLowerCase()};zv.autoRemove=e=>Rn(e);const Fv=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};Fv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const Bv=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});Bv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const Gv=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});Gv.autoRemove=e=>Rn(e)||!(e!=null&&e.length);const jv=(e,t,n)=>e.getValue(t)===n;jv.autoRemove=e=>Rn(e);const Kv=(e,t,n)=>e.getValue(t)==n;Kv.autoRemove=e=>Rn(e);const Ru=(e,t,n)=>{let[r,i]=n;const o=e.getValue(t);return o>=r&&o<=i};Ru.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,a=n===null||Number.isNaN(i)?1/0:i;if(o>a){const l=o;o=a,a=l}return[o,a]},Ru.autoRemove=e=>Rn(e)||Rn(e[0])&&Rn(e[1]);const ur={includesString:Lv,includesStringSensitive:Vv,equalsString:zv,arrIncludes:Fv,arrIncludesAll:Bv,arrIncludesSome:Gv,equals:jv,weakEquals:Kv,inNumberRange:Ru};function Rn(e){return e==null||e===""}const FL={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:Mn("columnFilters",e),onGlobalFilterChange:Mn("globalFilter",e),filterFromLeafRows:!1,globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n,r;const i=(n=e.getCoreRowModel().flatRows[0])==null||(r=n._getAllCellsByColumnId()[t.id])==null?void 0:r.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,t)=>({getAutoFilterFn:()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);return typeof r=="string"?ur.includesString:typeof r=="number"?ur.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?ur.equals:Array.isArray(r)?ur.arrIncludes:ur.weakEquals},getFilterFn:()=>{var n,r;return Ua(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:ur[e.columnDef.filterFn]},getCanFilter:()=>{var n,r,i;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},getCanGlobalFilter:()=>{var n,r,i,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn},getIsFiltered:()=>e.getFilterIndex()>-1,getFilterValue:()=>{var n,r;return(n=t.getState().columnFilters)==null||(r=n.find(i=>i.id===e.id))==null?void 0:r.value},getFilterIndex:()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},setFilterValue:n=>{t.setColumnFilters(r=>{const i=e.getFilterFn(),o=r==null?void 0:r.find(f=>f.id===e.id),a=Dr(n,o?o.value:void 0);if(Wv(i,a,e)){var l;return(l=r==null?void 0:r.filter(f=>f.id!==e.id))!=null?l:[]}const u={id:e.id,value:a};if(o){var d;return(d=r==null?void 0:r.map(f=>f.id===e.id?u:f))!=null?d:[]}return r!=null&&r.length?[...r,u]:[u]})},_getFacetedRowModel:t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),getFacetedRowModel:()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),_getFacetedUniqueValues:t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),getFacetedUniqueValues:()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,_getFacetedMinMaxValues:t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),getFacetedMinMaxValues:()=>{if(!!e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}),createRow:(e,t)=>({columnFilters:{},columnFiltersMeta:{}}),createTable:e=>({getGlobalAutoFilterFn:()=>ur.includesString,getGlobalFilterFn:()=>{var t,n;const{globalFilterFn:r}=e.options;return Ua(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:ur[r]},setColumnFilters:t=>{const n=e.getAllLeafColumns(),r=i=>{var o;return(o=Dr(t,i))==null?void 0:o.filter(a=>{const l=n.find(u=>u.id===a.id);if(l){const u=l.getFilterFn();if(Wv(u,a.value,l))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},setGlobalFilter:t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},resetGlobalFilter:t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)},resetColumnFilters:t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),getFilteredRowModel:()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel()),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),getGlobalFacetedMinMaxValues:()=>{if(!!e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function Wv(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const Pu={sum:(e,t,n)=>n.reduce((r,i)=>{const o=i.getValue(e);return r+(typeof o=="number"?o:0)},0),min:(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},max:(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(o=>{const a=o.getValue(e);a!=null&&(r===void 0?a>=a&&(r=i=a):(r>a&&(r=a),i<a&&(i=a)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(i=>{let o=i.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=0,r=0;return t.forEach(i=>{let o=i.getValue(e);typeof o=="number"&&(n=Math.min(n,o),r=Math.max(r,o))}),(n+r)/2},unique:(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(n=>n.getValue(e))).size,count:(e,t)=>t.length},BL={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Mn("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>({toggleGrouping:()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n!=null?n:[],e.id])},getCanGroup:()=>{var n,r,i,o;return(n=(r=(i=(o=e.columnDef.enableGrouping)!=null?o:!0)!=null?i:t.options.enableGrouping)!=null?r:!0)!=null?n:!!e.accessorFn},getIsGrouped:()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},getGroupedIndex:()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},getToggleGroupingHandler:()=>{const n=e.getCanGroup();return()=>{!n||e.toggleGrouping()}},getAutoAggregationFn:()=>{const n=t.getCoreRowModel().flatRows[0],r=n==null?void 0:n.getValue(e.id);if(typeof r=="number")return Pu.sum;if(Object.prototype.toString.call(r)==="[object Date]")return Pu.extent},getAggregationFn:()=>{var n,r;if(!e)throw new Error;return Ua(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:Pu[e.columnDef.aggregationFn]}}),createTable:e=>({setGrouping:t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),resetGrouping:t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},getPreGroupedRowModel:()=>e.getFilteredRowModel(),getGroupedRowModel:()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())}),createRow:e=>({getIsGrouped:()=>!!e.groupingColumnId,_groupingValuesCache:{}}),createCell:(e,t,n,r)=>({getIsGrouped:()=>t.getIsGrouped()&&t.id===n.groupingColumnId,getIsPlaceholder:()=>!e.getIsGrouped()&&t.getIsGrouped(),getIsAggregated:()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=n.subRows)!=null&&i.length)}})};function GL(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(a=>a.id===o)).filter(Boolean),...r]}const jL={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Mn("columnOrder",e)}),createTable:e=>({setColumnOrder:t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),resetColumnOrder:t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},_getOrderColumnsFn:He(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let o=[];if(!(t!=null&&t.length))o=i;else{const a=[...t],l=[...i];for(;l.length&&a.length;){const u=a.shift(),d=l.findIndex(f=>f.id===u);d>-1&&o.push(l.splice(d,1)[0])}o=[...o,...l]}return GL(o,n,r)},{key:process.env.NODE_ENV==="development"&&"getOrderColumnsFn"})})},Iu=0,Nu=10,$u=()=>({pageIndex:Iu,pageSize:Nu}),KL={getInitialState:e=>({...e,pagination:{...$u(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:Mn("pagination",e)}),createTable:e=>{let t=!1,n=!1;return{_autoResetPageIndex:()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},setPagination:r=>{const i=o=>Dr(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},resetPagination:r=>{var i;e.setPagination(r?$u():(i=e.initialState.pagination)!=null?i:$u())},setPageIndex:r=>{e.setPagination(i=>{let o=Dr(r,i.pageIndex);const a=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.min(Math.max(0,o),a),{...i,pageIndex:o}})},resetPageIndex:r=>{var i,o,a;e.setPageIndex(r?Iu:(i=(o=e.initialState)==null||(a=o.pagination)==null?void 0:a.pageIndex)!=null?i:Iu)},resetPageSize:r=>{var i,o,a;e.setPageSize(r?Nu:(i=(o=e.initialState)==null||(a=o.pagination)==null?void 0:a.pageSize)!=null?i:Nu)},setPageSize:r=>{e.setPagination(i=>{const o=Math.max(1,Dr(r,i.pageSize)),a=i.pageSize*i.pageIndex,l=Math.floor(a/o);return{...i,pageIndex:l,pageSize:o}})},setPageCount:r=>e.setPagination(i=>{var o;let a=Dr(r,(o=e.options.pageCount)!=null?o:-1);return typeof a=="number"&&(a=Math.max(-1,a)),{...i,pageCount:a}}),getPageOptions:He(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((o,a)=>a)),i},{key:process.env.NODE_ENV==="development"&&"getPageOptions",debug:()=>{var r;return(r=e.options.debugAll)!=null?r:e.options.debugTable}}),getCanPreviousPage:()=>e.getState().pagination.pageIndex>0,getCanNextPage:()=>{const{pageIndex:r}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:r<i-1},previousPage:()=>e.setPageIndex(r=>r-1),nextPage:()=>e.setPageIndex(r=>r+1),getPrePaginationRowModel:()=>e.getExpandedRowModel(),getPaginationRowModel:()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),getPageCount:()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getPrePaginationRowModel().rows.length/e.getState().pagination.pageSize)}}}},Lu=()=>({left:[],right:[]}),WL={getInitialState:e=>({columnPinning:Lu(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Mn("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var o,a;if(n==="right"){var l,u;return{left:((l=i==null?void 0:i.left)!=null?l:[]).filter(p=>!(r!=null&&r.includes(p))),right:[...((u=i==null?void 0:i.right)!=null?u:[]).filter(p=>!(r!=null&&r.includes(p))),...r]}}if(n==="left"){var d,f;return{left:[...((d=i==null?void 0:i.left)!=null?d:[]).filter(p=>!(r!=null&&r.includes(p))),...r],right:((f=i==null?void 0:i.right)!=null?f:[]).filter(p=>!(r!=null&&r.includes(p)))}}return{left:((o=i==null?void 0:i.left)!=null?o:[]).filter(p=>!(r!=null&&r.includes(p))),right:((a=i==null?void 0:i.right)!=null?a:[]).filter(p=>!(r!=null&&r.includes(p)))}})},getCanPin:()=>e.getLeafColumns().some(r=>{var i,o;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((o=t.options.enablePinning)!=null?o:!0)}),getIsPinned:()=>{const n=e.getLeafColumns().map(l=>l.id),{left:r,right:i}=t.getState().columnPinning,o=n.some(l=>r==null?void 0:r.includes(l)),a=n.some(l=>i==null?void 0:i.includes(l));return o?"left":a?"right":!1},getPinnedIndex:()=>{var n,r,i;const o=e.getIsPinned();return o?(n=(r=t.getState().columnPinning)==null||(i=r[o])==null?void 0:i.indexOf(e.id))!=null?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const o=[...r!=null?r:[],...i!=null?i:[]];return n.filter(a=>!o.includes(a.column.id))},{key:process.env.NODE_ENV==="production"&&"row.getCenterVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getLeftVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,],(n,r)=>(r!=null?r:[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),{key:process.env.NODE_ENV==="production"&&"row.getLeftVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getRightVisibleCells:He(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),{key:process.env.NODE_ENV==="production"&&"row.getRightVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}})}),createTable:e=>({setColumnPinning:t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),resetColumnPinning:t=>{var n,r;return e.setColumnPinning(t?Lu():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:Lu())},getIsSomeColumnsPinned:t=>{var n;const r=e.getState().columnPinning;if(!t){var i,o;return Boolean(((i=r.left)==null?void 0:i.length)||((o=r.right)==null?void 0:o.length))}return Boolean((n=r[t])==null?void 0:n.length)},getLeftLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n!=null?n:[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),{key:process.env.NODE_ENV==="development"&&"getLeftLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}}),getRightLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n!=null?n:[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),{key:process.env.NODE_ENV==="development"&&"getRightLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}}),getCenterLeafColumns:He(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n!=null?n:[],...r!=null?r:[]];return t.filter(o=>!i.includes(o.id))},{key:process.env.NODE_ENV==="development"&&"getCenterLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}})})},qL={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Mn("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>({setRowSelection:t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),resetRowSelection:t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},toggleAllRowsSelected:t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(o=>{!o.getCanSelect()||(r[o.id]=!0)}):i.forEach(o=>{delete r[o.id]}),r})},toggleAllPageRowsSelected:t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(o=>{Vu(i,o.id,r,e)}),i}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:He(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="development"&&"getSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getFilteredSelectedRowModel:He(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="production"&&"getFilteredSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getGroupedSelectedRowModel:He(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?zu(e,n):{rows:[],flatRows:[],rowsById:{}},{key:process.env.NODE_ENV==="production"&&"getGroupedSelectedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable}}),getIsAllRowsSelected:()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=Boolean(t.length&&Object.keys(n).length);return r&&t.some(i=>i.getCanSelect()&&!n[i.id])&&(r=!1),r},getIsAllPageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(i=>!n[i.id])&&(r=!1),r},getIsSomeRowsSelected:()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n<e.getFilteredRowModel().flatRows.length},getIsSomePageRowsSelected:()=>{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.some(n=>n.getIsSelected()||n.getIsSomeSelected())},getToggleAllRowsSelectedHandler:()=>t=>{e.toggleAllRowsSelected(t.target.checked)},getToggleAllPageRowsSelectedHandler:()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}}),createRow:(e,t)=>({toggleSelected:n=>{const r=e.getIsSelected();t.setRowSelection(i=>{if(n=typeof n<"u"?n:!r,r===n)return i;const o={...i};return Vu(o,e.id,n,t),o})},getIsSelected:()=>{const{rowSelection:n}=t.getState();return Fu(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return qv(e,n)==="some"},getIsAllSubRowsSelected:()=>{const{rowSelection:n}=t.getState();return qv(e,n)==="all"},getCanSelect:()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},getCanSelectSubRows:()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},getCanMultiSelect:()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},getToggleSelectedHandler:()=>{const n=e.getCanSelect();return r=>{var i;!n||e.toggleSelected((i=r.target)==null?void 0:i.checked)}}})},Vu=(e,t,n,r)=>{var i;const o=r.getRow(t);n?(o.getCanMultiSelect()||Object.keys(e).forEach(a=>delete e[a]),o.getCanSelect()&&(e[t]=!0)):delete e[t],(i=o.subRows)!=null&&i.length&&o.getCanSelectSubRows()&&o.subRows.forEach(a=>Vu(e,a.id,n,r))};function zu(e,t){const n=e.getState().rowSelection,r=[],i={},o=function(a,l){return a.map(u=>{var d;const f=Fu(u,n);if(f&&(r.push(u),i[u.id]=u),(d=u.subRows)!=null&&d.length&&(u={...u,subRows:o(u.subRows)}),f)return u}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:i}}function Fu(e,t){var n;return(n=t[e.id])!=null?n:!1}function qv(e,t,n){if(e.subRows&&e.subRows.length){let r=!0,i=!1;return e.subRows.forEach(o=>{i&&!r||(Fu(o,t)?i=!0:r=!1)}),r?"all":i?"some":!1}return!1}const Bu=/([0-9]+)/gm,HL=(e,t,n)=>Hv(Or(e.getValue(n)).toLowerCase(),Or(t.getValue(n)).toLowerCase()),UL=(e,t,n)=>Hv(Or(e.getValue(n)),Or(t.getValue(n))),YL=(e,t,n)=>Gu(Or(e.getValue(n)).toLowerCase(),Or(t.getValue(n)).toLowerCase()),XL=(e,t,n)=>Gu(Or(e.getValue(n)),Or(t.getValue(n))),QL=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},ZL=(e,t,n)=>Gu(e.getValue(n),t.getValue(n));function Gu(e,t){return e===t?0:e>t?1:-1}function Or(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Hv(e,t){const n=e.split(Bu).filter(Boolean),r=t.split(Bu).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),o=r.shift(),a=parseInt(i,10),l=parseInt(o,10),u=[a,l].sort();if(isNaN(u[0])){if(i>o)return 1;if(o>i)return-1;continue}if(isNaN(u[1]))return isNaN(a)?-1:1;if(a>l)return 1;if(l>a)return-1}return n.length-r.length}const So={alphanumeric:HL,alphanumericCaseSensitive:UL,text:YL,textCaseSensitive:XL,datetime:QL,basic:ZL},Uv=[$L,{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Mn("columnVisibility",e)}),createColumn:(e,t)=>({toggleVisibility:n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n!=null?n:!e.getIsVisible()}))},getIsVisible:()=>{var n,r;return(n=(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},getCanHide:()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},getToggleVisibilityHandler:()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}}),createRow:(e,t)=>({_getAllVisibleCells:He(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),{key:process.env.NODE_ENV==="production"&&"row._getAllVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getVisibleCells:He(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,i)=>[...n,...r,...i],{key:process.env.NODE_ENV==="development"&&"row.getVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}})}),createTable:e=>{const t=(n,r)=>He(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),{key:n,debug:()=>{var i;return(i=e.options.debugAll)!=null?i:e.options.debugColumns}});return{getVisibleFlatColumns:t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),getVisibleLeafColumns:t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),getLeftVisibleLeafColumns:t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),getRightVisibleLeafColumns:t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),getCenterVisibleLeafColumns:t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),setColumnVisibility:n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),resetColumnVisibility:n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},toggleAllColumnsVisible:n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,o)=>({...i,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},getIsAllColumnsVisible:()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),getIsSomeColumnsVisible:()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),getToggleAllColumnsVisibilityHandler:()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}}},jL,WL,FL,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:Mn("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>({getAutoSortingFn:()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const i of n){const o=i==null?void 0:i.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return So.datetime;if(typeof o=="string"&&(r=!0,o.split(Bu).length>1))return So.alphanumeric}return r?So.text:So.basic},getAutoSortDir:()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof(n==null?void 0:n.getValue(e.id))=="string"?"asc":"desc"},getSortingFn:()=>{var n,r;if(!e)throw new Error;return Ua(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:So[e.columnDef.sortingFn]},toggleSorting:(n,r)=>{const i=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(a=>{const l=a==null?void 0:a.find(g=>g.id===e.id),u=a==null?void 0:a.findIndex(g=>g.id===e.id);let d=[],f,p=o?n:i==="desc";if(a!=null&&a.length&&e.getCanMultiSort()&&r?l?f="toggle":f="add":a!=null&&a.length&&u!==a.length-1?f="replace":l?f="toggle":f="replace",f==="toggle"&&(o||i||(f="remove")),f==="add"){var h;d=[...a,{id:e.id,desc:p}],d.splice(0,d.length-((h=t.options.maxMultiSortColCount)!=null?h:Number.MAX_SAFE_INTEGER))}else f==="toggle"?d=a.map(g=>g.id===e.id?{...g,desc:p}:g):f==="remove"?d=a.filter(g=>g.id!==e.id):d=[{id:e.id,desc:p}];return d})},getFirstSortDir:()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},getNextSortingOrder:n=>{var r,i;const o=e.getFirstSortDir(),a=e.getIsSorted();return a?a!==o&&((r=t.options.enableSortingRemoval)!=null?r:!0)&&(n&&(i=t.options.enableMultiRemove)!=null?i:!0)?!1:a==="desc"?"asc":"desc":o},getCanSort:()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},getCanMultiSort:()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},getIsSorted:()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(i=>i.id===e.id);return r?r.desc?"desc":"asc":!1},getSortIndex:()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},clearSorting:()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},getToggleSortingHandler:()=>{const n=e.getCanSort();return r=>{!n||(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}}),createTable:e=>({setSorting:t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),resetSorting:t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},getPreSortedRowModel:()=>e.getGroupedRowModel(),getSortedRowModel:()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())})},BL,zL,KL,qL,LL];function JL(e){var t;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let n={_features:Uv};const r=n._features.reduce((f,p)=>Object.assign(f,p.getDefaultOptions==null?void 0:p.getDefaultOptions(n)),{}),i=f=>n.options.mergeOptions?n.options.mergeOptions(r,f):{...r,...f};let a={...{},...(t=e.initialState)!=null?t:{}};n._features.forEach(f=>{var p;a=(p=f.getInitialState==null?void 0:f.getInitialState(a))!=null?p:a});const l=[];let u=!1;const d={_features:Uv,options:{...r,...e},initialState:a,_queue:f=>{l.push(f),u||(u=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();u=!1}).catch(p=>setTimeout(()=>{throw p})))},reset:()=>{n.setState(n.initialState)},setOptions:f=>{const p=Dr(f,n.options);n.options=i(p)},getState:()=>n.options.state,setState:f=>{n.options.onStateChange==null||n.options.onStateChange(f)},_getRowId:(f,p,h)=>{var g;return(g=n.options.getRowId==null?void 0:n.options.getRowId(f,p,h))!=null?g:""+(h?[h.id,p].join("."):p)},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:f=>{const p=n.getRowModel().rowsById[f];if(!p)throw process.env.NODE_ENV!=="production"?new Error("getRow expected an ID, but got "+f):new Error;return p},_getDefaultColumnDef:He(()=>[n.options.defaultColumn],f=>{var p;return f=(p=f)!=null?p:{},{header:h=>{const g=h.header.column.columnDef;return g.accessorKey?g.accessorKey:g.accessorFn?g.id:null},cell:h=>{var g,v;return(g=(v=h.renderValue())==null||v.toString==null?void 0:v.toString())!=null?g:null},...n._features.reduce((h,g)=>Object.assign(h,g.getDefaultColumnDef==null?void 0:g.getDefaultColumnDef()),{}),...f}},{debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns},key:process.env.NODE_ENV==="development"&&"getDefaultColumnDef"}),_getColumnDefs:()=>n.options.columns,getAllColumns:He(()=>[n._getColumnDefs()],f=>{const p=function(h,g,v){return v===void 0&&(v=0),h.map(m=>{const w=NL(n,m,v,g),x=m;return w.columns=x.columns?p(x.columns,w,v+1):[],w})};return p(f)},{key:process.env.NODE_ENV==="development"&&"getAllColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllFlatColumns:He(()=>[n.getAllColumns()],f=>f.flatMap(p=>p.getFlatColumns()),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),_getAllFlatColumnsById:He(()=>[n.getAllFlatColumns()],f=>f.reduce((p,h)=>(p[h.id]=h,p),{}),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumnsById",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllLeafColumns:He(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(f,p)=>{let h=f.flatMap(g=>g.getLeafColumns());return p(h)},{key:process.env.NODE_ENV==="development"&&"getAllLeafColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getColumn:f=>{const p=n._getAllFlatColumnsById()[f];if(!p)throw process.env.NODE_ENV!=="production"&&console.warn("[Table] Column with id "+f+" does not exist."),new Error;return p}};return Object.assign(n,d),n._features.forEach(f=>Object.assign(n,f.createTable==null?void 0:f.createTable(n))),n}function eV(e,t,n,r){const i=()=>{var a;return(a=o.getValue())!=null?a:e.options.renderFallbackValue},o={id:t.id+"_"+n.id,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:He(()=>[e,n,t,o],(a,l,u,d)=>({table:a,column:l,row:u,cell:d,getValue:d.getValue,renderValue:d.renderValue}),{key:process.env.NODE_ENV==="development"&&"cell.getContext",debug:()=>e.options.debugAll})};return e._features.forEach(a=>{Object.assign(o,a.createCell==null?void 0:a.createCell(o,n,t,e))},{}),o}const tV=(e,t,n,r,i,o)=>{let a={id:t,index:r,original:n,depth:i,_valuesCache:{},getValue:l=>{if(a._valuesCache.hasOwnProperty(l))return a._valuesCache[l];const u=e.getColumn(l);if(!!u.accessorFn)return a._valuesCache[l]=u.accessorFn(a.original,r),a._valuesCache[l]},renderValue:l=>{var u;return(u=a.getValue(l))!=null?u:e.options.renderFallbackValue},subRows:o!=null?o:[],getLeafRows:()=>IL(a.subRows,l=>l.subRows),getAllCells:He(()=>[e.getAllLeafColumns()],l=>l.map(u=>eV(e,a,u,u.id)),{key:process.env.NODE_ENV==="development"&&"row.getAllCells",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}}),_getAllCellsByColumnId:He(()=>[a.getAllCells()],l=>l.reduce((u,d)=>(u[d.column.id]=d,u),{}),{key:process.env.NODE_ENV==="production"&&"row.getAllCellsByColumnId",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}})};for(let l=0;l<e._features.length;l++){const u=e._features[l];Object.assign(a,u==null||u.createRow==null?void 0:u.createRow(a,e))}return a};function Yv(){return{accessor:(e,t)=>typeof e=="function"?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function Xv(){return e=>He(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,o,a){o===void 0&&(o=0);const l=[];for(let d=0;d<i.length;d++){const f=tV(e,e._getRowId(i[d],d,a),i[d],d,o);if(n.flatRows.push(f),n.rowsById[f.id]=f,l.push(f),e.options.getSubRows){var u;f.originalSubRows=e.options.getSubRows(i[d],d),(u=f.originalSubRows)!=null&&u.length&&(f.subRows=r(f.originalSubRows,o+1,f))}}return l};return n.rows=r(t),n},{key:process.env.NODE_ENV==="development"&&"getRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function nV(){return e=>He(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],o=r.filter(u=>e.getColumn(u.id).getCanSort()),a={};o.forEach(u=>{const d=e.getColumn(u.id);a[u.id]={sortUndefined:d.columnDef.sortUndefined,invertSorting:d.columnDef.invertSorting,sortingFn:d.getSortingFn()}});const l=u=>{const d=u.slice();return d.sort((f,p)=>{for(let g=0;g<o.length;g+=1){var h;const v=o[g],m=a[v.id],w=(h=v==null?void 0:v.desc)!=null?h:!1;if(m.sortUndefined){const _=f.getValue(v.id),S=p.getValue(v.id),C=typeof _>"u",E=typeof S>"u";if(C||E)return C&&E?0:C?m.sortUndefined:-m.sortUndefined}let x=m.sortingFn(f,p,v.id);if(x!==0)return w&&(x*=-1),m.invertSorting&&(x*=-1),x}return f.index-p.index}),d.forEach(f=>{i.push(f),!(!f.subRows||f.subRows.length<=1)&&(f.subRows=l(f.subRows))}),d};return{rows:l(n.rows),flatRows:i,rowsById:n.rowsById}},{key:process.env.NODE_ENV==="development"&&"getSortedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function Za(e,t){return e?rV(e)?s(e,{...t}):e:null}function rV(e){return iV(e)||typeof e=="function"||oV(e)}function iV(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function oV(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Qv(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=T.useState(()=>({current:JL(t)})),[r,i]=T.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:a=>{i(a),e.onStateChange==null||e.onStateChange(a)}})),n.current}const Zv={left:"flex-start",center:"center",right:"flex-end"},aV=({header:e,cx:t})=>{const n=H.default.get(e.column.columnDef.meta,"align","left");return y(c.Text,{className:t("table-head-cell",{"table-head-cell--sortable":e.column.getCanSort()}),onClick:e.column.getToggleSortingHandler(),align:n,sx:{justifyContent:Zv[n]},children:[e.isPlaceholder?null:Za(e.column.columnDef.header,e.getContext()),s(sV,{direction:e.column.getIsSorted()})]})},sV=({direction:e})=>{switch(e){case"asc":return s(sx,{size:16});case"desc":return s(rx,{size:"1em"});default:return null}},ju={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:fV,configRender:cV,payload:[{name:"row_index",description:"Index of the row that the cell belongs to",valueType:"number"},{name:"col_index",description:"Index of the column that the cell belongs to",valueType:"number"},{name:"row_data",description:"Data of the row that the cell belongs to",valueType:"object"}]},lV={column:""};function Jv(e){const{value:t}=ze(e.instanceData,"config");return t?t.columns.map((n,r)=>({label:n.label,value:r.toString()})):[]}function uV(e){return W.isEmpty(e)?[]:Object.keys(e[0]).map(t=>({label:t,value:t}))}function cV(e){const t=Jv(e.instance),n=uV(e.sampleData),r=t.length>0?t:n,{value:i,set:o}=ze(e.trigger.triggerData,"config"),{column:a}=W.defaults({},i,lV),l=u=>{isNaN(+u)?o({column:u}):o({column:+u})};return s(c.Select,{clearable:!1,data:r,label:"Choose a column",value:a.toString(),onChange:l})}function dV(e,t){return e?W.isNumber(e.column)?`Click cell of ${t[e.column].label}`:`Click cell of ${e.column}`:"Click cell content (click to config)"}function fV(e){const t=Jv(e.instance),{value:n}=ze(e.trigger.triggerData,"config");return s(c.Text,{children:dV(n,t)})}const pV=c.createStyles(e=>({root:{overflow:"auto",position:"relative","& .table-head-cell":{display:"flex",flexFlow:"row nowrap",alignItems:"center",whiteSpace:"nowrap","&.table-head-cell--sortable":{cursor:"pointer",userSelect:"none"}},"&.table-highlight-on-hover tr":{transition:"background-color 0.2s","&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[0]}}},thead:{background:e.colorScheme==="dark"?e.colors.dark[7]:e.white,position:"sticky",top:24,transform:"translateY(-1px)",zIndex:10,"&::after":{content:'" "',display:"block",background:"white",position:"absolute",left:0,right:0,top:0,bottom:0,zIndex:-1}},info_bar:{position:"sticky",top:0,left:0,right:0,zIndex:10,background:"white"}})),hV={tableLayout:"fixed","th, td":{padding:"2px 10px",div:{overflow:"hidden",textOverflow:"ellipsis"},"&:first-of-type":{paddingLeft:2,paddingRight:2}}};function em(e,t,n){return Math.min(Math.max(e,t),n)}class gV{constructor(t){this.steps=t;const n=[],r=new Set;for(const i of t)r.has(i.to)||(n.push(i),r.add(i.to));if(n.sort((i,o)=>i.from-o.from),n.length<2)throw new Error("MultiStepValueMapper requires at least 2 steps");this.steps=n}getLinearFunction(t,n){const r=(n.to-t.to)/(n.from-t.from),i=t.to-r*t.from;return o=>r*o+i}getStepFunctionForValue(t){let n=W.findLastIndex(this.steps,r=>r.from<=t);return n=em(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(t){return em(this.getStepFunctionForValue(t)(t),0,100)}}class vV{constructor(t,n,r,i,o){this.getColIndex=t,this.cell=n,this.triggers=r,this.interactionManager=i,this.colorManager=o}getClickHandler(){const t=this.getRelatedTrigger();if(t.length!==0)return()=>{const n={row_data:this.cell.row.original,row_index:this.cell.row.index,col_index:this.getColIndex(this.cell)};for(const r of t)this.interactionManager.runInteraction(r.id,n)}}getRelatedTrigger(){return this.triggers.filter(n=>n.schemaRef===ju.id).filter(n=>{const r=this.getColIndex(this.cell),i=W.get(this.cell.column.columnDef.meta,"value_field"),o=W.get(n.config,"column");return o==r||o==i})}isClickable(){return this.getRelatedTrigger().length>0}get columnConf(){return this.cell.column.columnDef.meta}get bgColor(){const t=this.columnConf.cellBackgroundColor;if(!t||t==="none")return;if(W.isString(t))return t;const n=+this.cell.getValue();if(isFinite(n)){const r=this.colorManager.decodeInterpolation(t.interpolation),o=new gV(t.steps).mapValue(n);return r==null?void 0:r.getColor(o)}}}const mV=c.createStyles((e,t)=>({content:{display:"flex",alignItems:"center",justifyContent:Zv[t.align],".table-cell-text":{whiteSpace:"nowrap",cursor:t.clickable?"pointer":"default",textDecoration:t.clickable?"underline":"none"}}}));function yV(e){return e?Gi.default(e).oklch()[0]>.7?"black":"white":"inherit"}function bV(e){const t=e.tableCellContext.bgColor;return{backgroundColor:t,color:yV(t)}}function Ja(e){const t=e.tableCellContext.isClickable(),n=mV({clickable:t,align:e.align});return s("div",{className:n.classes.content,style:{...bV(e)},children:s(c.Text,{className:"table-cell-text",onClick:e.tableCellContext.getClickHandler(),children:s("span",{title:e.children,children:e.children})})})}function xV(e){return s(Ja,{...e,children:e.value})}function wV(e){return s(Ja,{...e,children:e.value})}function CV(e){const t=St.default(e.value).format({thousandSeparated:!0});return s(Ja,{...e,children:t})}function SV(e){const t=St.default(e.value).format({output:"percent",mantissa:3});return s(Ja,{...e,children:t})}function _V(e){const t=e.value,n=e.func_content;return n?new Function(`return ${n}`)()({value:t}):t}function EV(e){switch(e.type){case Kn.string:return s(xV,{...e});case Kn.eloc:return s(wV,{...e});case Kn.number:return s(CV,{...e});case Kn.percentage:return s(SV,{...e});case Kn.custom:return s(_V,{...e})}}const TV=e=>{const t=qn(e),n=Bn(t.triggerManager,ju.id),{colorManager:r}=b.useContext(Wn);return b.useCallback(i=>new vV(e.getColIndex,i,n,t,r),[n,t,e.getColIndex])};function MV({context:e,instance:t}){var $,F,M;const n=($=e.data)!=null?$:[],{height:r,width:i}=e.viewport,{value:o=Du}=ze(e.instanceData,"config"),{use_raw_columns:a,columns:l,...u}=o,{classes:d,cx:f}=pV(),p=Q.default.useMemo(()=>a?Object.keys(n[0]).map(L=>({id:L,label:L,value_field:L,value_type:Kn.string,align:"left"})):l,[a,l,n]),h=TV({getColIndex:b.useCallback(L=>p.indexOf(L.column.columnDef.meta),[p]),vizManager:e.vizManager,instance:t}),g=b.useMemo(()=>{const L=Yv();return p.map(R=>L.accessor(R.value_field,{cell:G=>s(EV,{tableCellContext:h(G.cell),value:G.getValue(),type:R.value_type,...R}),header:R.label,enableSorting:!0,meta:R,size:R.width,minSize:R.width}))},[p,h]),[v,m]=b.useState([]),w=Qv({data:n,state:{sorting:v},onSortingChange:m,columns:g,getCoreRowModel:Xv(),getSortedRowModel:nV()}),{rows:x}=w.getRowModel(),_=Q.default.useRef(null),S=F0.useVirtual({parentRef:_,size:x.length,estimateSize:b.useCallback(()=>28,[]),overscan:20}),{virtualItems:C,totalSize:E}=S,k=C.length>0&&((F=C==null?void 0:C[0])==null?void 0:F.start)||0,P=C.length>0?E-(((M=C==null?void 0:C[C.length-1])==null?void 0:M.end)||0):0,V=x.length,B=V>0,I=B?r-22:r,A=B?22:0;return y("div",{ref:_,style:{height:r,width:i},"data-enable-scrollbar":!0,className:f(d.root,{"table-highlight-on-hover":o.highlightOnHover}),children:[V>0&&s(c.Box,{className:d.info_bar,sx:{height:22},children:y(c.Text,{align:"right",pr:6,size:14,color:"dimmed",fw:"normal",children:["Total: ",V]})}),y(c.Table,{sx:{...hV,maxHeight:I},...u,striped:o.striped,children:[s("thead",{className:d.thead,style:{top:A},children:w.getHeaderGroups().map(L=>s("tr",{children:L.headers.map(N=>s("th",{style:{width:N.getSize()},children:s(aV,{header:N,cx:f})},N.id))},L.id))}),y("tbody",{children:[k>0&&s("tr",{children:s("td",{style:{height:`${k}px`}})}),C.map(L=>{const N=x[L.index];return s("tr",{children:N.getVisibleCells().map(R=>s("td",{children:Za(R.column.columnDef.cell,R.getContext())},R.id))},N.id)}),P>0&&s("tr",{children:s("td",{style:{height:`${P}px`}})})]})]})]})}const tm=c.createStyles(()=>({palette:{display:"flex",flexFlow:"row nowrap"},paletteItem:{".palette-value":{height:24,overflow:"visible",width:36},".palette-item":{width:"36px",height:36*.618,cursor:"pointer",transition:"transform 100ms ease-in-out","&:hover":{boxShadow:"0 0 0 2px var(--shadow-color)",borderRadius:2,transform:"scale(1.2)"}}}})),kV=[{from:0,to:0},{from:100,to:100}];class DV{constructor(){ke(this,"steps",new Map);ke(this,"interpolation");ke(this,"onChange");It.makeAutoObservable(this,{steps:It.observable},{deep:!1}),It.reaction(()=>It.toJS(this.steps),()=>{this.notifyStepChange()})}setSteps(t){for(const n of t)this.steps.set(n.to,n.from)}notifyStepChange(){var t;(t=this.onChange)==null||t.call(this,Array.from(this.steps.entries()).map(([n,r])=>({to:n,from:r})).sort((n,r)=>n.to-r.to||n.from-r.from))}fromProps(t){t.steps.length<2?this.setSteps(kV):this.setSteps(t.steps),this.interpolation=t.interpolation,this.onChange=t.onChange}changeStep(t,n){t==null?this.steps.delete(n):this.steps.set(n,t)}getStepFromValue(t){return this.steps.get(t)}}function OV(e){const{onChange:t,color:n,index:r,value:i}=e,{classes:o}=tm(),[a,l]=b.useState(i),[u,{setTrue:d,setFalse:f}]=tt.useBoolean(!1),p=r%2===1,h=p&&i!=null,g=!p&&i!=null,v=`map ${i} to color ${r}`,m=()=>{l(i),f()},w=()=>{f(),t==null||t(a)},x=St.default(i).format({average:!0});return y("div",{"data-testid":`palette-item-${r}`,className:o.paletteItem,children:[s(c.Text,{title:v,style:{opacity:h?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:x}),y(c.Popover,{width:200,trapFocus:!0,opened:u,onClose:f,children:[s(c.Popover.Target,{children:s("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:d,style:{"--shadow-color":Gi.default(n).alpha(.5).hex(),backgroundColor:n}})}),s(c.Popover.Dropdown,{children:y(c.Stack,{children:[s(c.NumberInput,{size:"xs",label:"Map a value to this color",value:a,onChange:l}),y(c.Group,{position:"right",children:[s(c.Button,{variant:"subtle",size:"xs",onClick:m,children:"Cancel"}),s(c.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:w,children:"OK"})]})]})})]}),s(c.Text,{title:v,style:{opacity:g?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:x})]})}const AV=ee.observer(({model:e})=>{const{classes:t}=tm(),n=W.range(0,13,1).map(r=>100/12*r).map(r=>[e.interpolation.getColor(r),r]);return s("div",{className:t.palette,children:n.map(([r,i],o)=>s(OV,{index:o,color:r,value:e.getStepFromValue(i),onChange:a=>e.changeStep(a,i)},r))})}),RV=ee.observer(function(t){const n=tt.useCreation(()=>new DV,[]);return b.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:s(AV,{model:n})}),PV=e=>{const{value:t,onChange:n,colorManager:r}=e,i=r.getColorInterpolations(),[o,a]=b.useState(t),l=r.decodeInterpolation(o.interpolation)||i[0],[u,{setTrue:d,setFalse:f}]=tt.useBoolean(),p=i.map(w=>({label:w.displayName,value:r.encodeColor(w),group:w.category}));function h(w){w&&a(x=>({...x,interpolation:w}))}const g=()=>{f(),n==null||n(It.toJS(o))};function v(w){a(x=>({...x,steps:w}))}const m=()=>{f(),a(t)};return y(be,{children:[s(c.Button,{variant:"outline",onClick:d,children:l==null?void 0:l.displayName}),s(c.Modal,{size:508,title:"Setup color interpolation",opened:u,onClose:f,zIndex:320,children:u&&y(c.Stack,{"data-testid":"color-interpolation-modal",children:[s(c.Select,{label:"Color style",value:o.interpolation,data:p,onChange:h}),s(RV,{steps:o.steps,interpolation:l,onChange:v}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:m,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:g,children:"OK"})]})]})})]})},IV=["static","interpolation","none"],NV=[{from:0,to:0},{from:100,to:100}];function nm(e){return e?W.isString(e)?e==="none"?"none":"static":"interpolation":"none"}function $V(e,t){var n;return nm(t)==="static"?t:(n=e.getStaticColors()[0])==null?void 0:n.value}function LV(e,t){return W.isObject(t)?t:{steps:NV,interpolation:e.encodeColor(e.getColorInterpolations()[0])}}const VV=b.forwardRef((e,t)=>{const{colorManager:n}=b.useContext(Wn),[r,i]=b.useState(nm(e.value)),[o,a]=b.useState($V(n,e.value)),l=tt.useLatest(o),[u,d]=b.useState(LV(n,e.value)),f=tt.useLatest(u),p=v=>{var m,w,x;i(v||"none"),v==="static"?(m=e.onChange)==null||m.call(e,l.current):v==="none"||!v?(w=e.onChange)==null||w.call(e,"none"):(x=e.onChange)==null||x.call(e,f.current)},h=v=>{var m;a(v),(m=e.onChange)==null||m.call(e,v)},g=v=>{var m;d(v),(m=e.onChange)==null||m.call(e,v)};return y(c.Stack,{align:"stretch",children:[s(c.Select,{label:"Cell background",value:r||"none",onChange:p,data:IV}),r==="static"&&s(bn,{value:o,onChange:h}),r==="interpolation"&&s(PV,{colorManager:n,value:u,onChange:g})]})}),zV=Object.values(Kn).map(e=>({label:e,value:e})),FV=b.forwardRef(({label:e,value:t,onChange:n,sx:r},i)=>s(c.Select,{ref:i,label:e,data:zV,value:t,onChange:n,sx:r})),BV=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o(),t(a)},d=()=>{o(),l(e)},f=()=>{l(Nv)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Custom Cell Content"}),s(c.Modal,{size:800,title:"Custom cell content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(c.Box,{sx:{position:"relative"},children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:a,onChange:p=>l(p!=null?p:""),theme:"vs-dark",options:{minimap:{enabled:!1}}})}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:f,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})}),GV=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}],Ku=()=>s(c.Text,{color:"dimmed",size:12,children:"px"}),jV=({control:e,index:t,watch:n,remove:r,column:i,data:o})=>{const a=n(`columns.${t}.value_type`);return y(c.Stack,{my:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:`columns.${t}.label`,control:e,render:({field:l})=>s(c.TextInput,{label:"Label",required:!0,id:`col-label-${t}`,sx:{flex:1},...l})}),s(D.Controller,{name:`columns.${t}.value_field`,control:e,render:({field:l})=>s(Ye,{label:"Value Field",required:!0,data:o,...l})})]}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`columns.${t}.value_type`,control:e,render:({field:l})=>s(FV,{label:"Value Type",sx:{flex:1},...l})}),a===Kn.custom&&s(D.Controller,{name:`columns.${t}.func_content`,control:e,render:({field:l})=>{var u;return s(BV,{value:(u=l.value)!=null?u:Nv,onChange:d=>l.onChange(d!=null?d:"")})}})]}),s(c.Divider,{mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(c.NumberInput,{hideControls:!0,label:"Min Width",rightSection:s(Ku,{}),disabled:!0}),s(D.Controller,{name:`columns.${t}.width`,control:e,render:({field:l})=>s(c.NumberInput,{hideControls:!0,label:"Width",rightSection:s(Ku,{}),...l})}),s(c.NumberInput,{hideControls:!0,label:"Max Width",rightSection:s(Ku,{}),disabled:!0})]}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`columns.${t}.align`,control:e,render:({field:l})=>s(c.Select,{label:"Alignment",data:GV,...l})})}),s(D.Controller,{name:`columns.${t}.cellBackgroundColor`,control:e,render:({field:l})=>s(VV,{...l})}),s(c.Divider,{mb:4,mt:12,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),children:"Delete this column"})]})},KV=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o,update:a}=D.useFieldArray({control:e,name:"columns"}),l=()=>{const d=qt.randomId();i({id:d,label:d,value_field:"value",value_type:Kn.string})};t("columns");const u=t("use_raw_columns");return y(be,{children:[s(D.Controller,{name:"use_raw_columns",control:e,render:({field:d})=>s(c.Switch,{mt:20,label:"Use Original Data Columns",checked:d.value,onChange:f=>d.onChange(f.currentTarget.checked)})}),s(c.Divider,{mt:20,mb:10,variant:"dashed"}),!u&&y(c.Stack,{children:[s(c.Text,{my:0,children:"Custom Columns"}),y(c.Tabs,{defaultValue:"0",styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[r.map((d,f)=>s(c.Tabs.Tab,{value:f.toString(),children:f+1},d.id)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),r.map((d,f)=>s(c.Tabs.Panel,{value:f.toString(),children:s(jV,{control:e,watch:t,index:f,column:d,data:n,remove:o},f)},d.id))]})]})]})};function WV({control:e,watch:t,data:n}){return t(["horizontalSpacing","verticalSpacing","fontSize","striped","highlightOnHover"]),y(c.Stack,{spacing:"xs",children:[y(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[s(D.Controller,{name:"horizontalSpacing",control:e,render:({field:r})=>s(c.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})}),s(D.Controller,{name:"verticalSpacing",control:e,render:({field:r})=>s(c.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})})]}),s(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:s(D.Controller,{name:"fontSize",control:e,render:({field:r})=>s(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r})})}),y(c.Group,{position:"apart",grow:!0,children:[s(D.Controller,{name:"striped",control:e,render:({field:r})=>s(c.Switch,{label:"Striped",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})}),s(D.Controller,{name:"highlightOnHover",control:e,render:({field:r})=>s(c.Switch,{label:"Highlight on hover",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})})]})]})}function qV({columns:e,...t}){return{...t,columns:e.map(({id:n,...r})=>({id:n!=null?n:qt.randomId(),...r}))}}function HV({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Du),[t]),o=b.useMemo(()=>qV(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return u(["id_field"]),y("form",{onSubmit:l(n),children:[y(c.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Table Config"}),s(c.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Columns",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",children:"Data"}),s(c.Tabs.Tab,{value:"Style",children:"Style"}),s(c.Tabs.Tab,{value:"Columns",children:"Columns"})]}),s(c.Tabs.Panel,{value:"Data",children:s(D.Controller,{name:"id_field",control:a,render:({field:g})=>s(Ye,{label:"ID Field",required:!0,data:r,...g})})}),s(c.Tabs.Panel,{value:"Style",children:s(WV,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Columns",children:s(KV,{control:a,watch:u,data:r})})]})]})}function UV(e){const{columns:t,...n}=e;return{...e,columns:t.map(r=>{var i;return{...r,align:(i=r.align)!=null?i:"left"}})}}class YV extends Ft{constructor(){super(...arguments);ke(this,"VERSION",3)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{columns:r,...i}=n.config;return{...n,version:2,config:{...i,columns:r.map(({id:o,...a})=>({id:o!=null?o:qt.randomId(),...a}))}}}),this.version(3,n=>({...n,version:3,config:UV(n.config)}))}}const Wu={createConfig(){return{version:3,config:W.cloneDeep(Du)}},displayName:"Table",displayGroup:"Others",migrator:new YV,name:"table",viewRender:MV,configRender:HV,triggers:[ju]},rm=["function text({ data, variables, filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
286
+ `),qu={func_content:rm,horizontal_align:"left",font_size:"14px",font_weight:"normal"},XV=ee.observer(({context:e})=>{const t=Ie(),{value:n=qu}=ze(e.instanceData,"config"),{variables:r}=e,{func_content:i,horizontal_align:o,font_size:a,font_weight:l}=n,u=b.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 s(c.Text,{align:o,weight:l,sx:{fontSize:a},children:u})}),QV=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{sx:{position:"relative"},children:s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},ZV=b.forwardRef(({value:e,onChange:t},n)=>{const[r,{setTrue:i,setFalse:o}]=tt.useBoolean(),[a,l]=b.useState(e),u=()=>{o(),t(a)},d=()=>{o(),l(e)},f=()=>{l(rm)};return b.useEffect(()=>{l(e)},[e]),y(be,{children:[s(c.Button,{variant:"filled",mt:24,onClick:i,sx:{flexGrow:0},children:"Edit Content"}),s(c.Modal,{size:800,title:"Text content",opened:r,onClose:o,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&y(c.Stack,{children:[s(QV,{value:a,onChange:l}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:f,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})}),JV=[{label:"Left",value:"left"},{label:"Center",value:"center"},{label:"Right",value:"right"}];function ez({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaultsDeep({},t,qu),[t]),i=b.useMemo(()=>{const{func_content:h,horizontal_align:g,font_size:v,font_weight:m}=r;return{func_content:h,horizontal_align:g,font_size:v,font_weight:m}},[r]);b.useEffect(()=>{!W.isEqual(r,i)&&(console.log("config malformed, resetting to defaults",r,i),n(i))},[r,i]);const{control:o,handleSubmit:a,watch:l,getValues:u,reset:d}=D.useForm({defaultValues:i});Q.default.useEffect(()=>{d(i)},[i]),l(["func_content","horizontal_align","font_size","font_weight"]);const f=u(),p=Q.default.useMemo(()=>!H.default.isEqual(f,r),[f,r]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:a(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{weight:500,children:"Configurations"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Stack,{spacing:10,children:[s(D.Controller,{name:"func_content",control:o,render:({field:h})=>s(ZV,{...h})}),s(c.Divider,{mt:10,mb:-10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:"horizontal_align",control:o,render:({field:h})=>s(c.Select,{label:"Horizontal Alignment",data:JV,...h})}),s(D.Controller,{name:"font_size",control:o,render:({field:h})=>s(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},...h})}),s(c.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:s(D.Controller,{name:"font_weight",control:o,render:({field:h})=>s(Yg,{label:"Font Weight",...h})})})]})]})})}class tz extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const nz={displayName:"Text",displayGroup:"Others",migrator:new tz,name:"text",viewRender:XV,configRender:ez,createConfig(){return{version:1,config:W.cloneDeep(qu)}}},rz=()=>y("svg",{width:"64",height:"64",viewBox:"0 0 64 64",fill:"none",children:[s("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.49 27.79H14.47C13.55 27.79 12.81 28.53 12.81 29.45C12.81 30.37 13.55 31.11 14.47 31.11H22.49C23.41 31.11 24.15 30.37 24.15 29.45C24.15 28.54 23.41 27.79 22.49 27.79ZM34.32 31.28C35.22 31.32 35.7 31.82 35.74 32.76C35.78 33.54 35.37 34.3 34.51 35.04C33.52 35.9 33.03 36.95 33.03 38.19V38.81H34.82V38.25C34.78 37.59 35.07 37.02 35.68 36.52C37.12 35.41 37.82 34.15 37.78 32.75C37.66 30.53 36.5 29.35 34.32 29.23C32.3 29.23 31.05 30.46 30.55 32.93L32.53 33.55C32.82 32.04 33.42 31.28 34.32 31.28ZM35 39.93H32.84V42.21H35V39.93ZM14.83 36.42H18.54C19.46 36.42 20.2 37.17 20.2 38.08C20.2 39 19.46 39.74 18.54 39.74H10.52C9.6 39.74 8.86 39 8.86 38.08C8.86 37.61 9.06 37.19 9.37 36.89H5.66C4.74 36.89 4 36.15 4 35.23C4 34.31 4.74 33.57 5.66 33.57H13.68C14.6 33.57 15.34 34.31 15.34 35.23C15.34 35.7 15.14 36.12 14.83 36.42ZM50.94 36.85H58.74C59.66 36.85 60.4 37.59 60.41 38.51C60.41 39.43 59.67 40.17 58.75 40.17H54.26C54.56 40.47 54.74 40.88 54.74 41.34C54.74 42.26 54 43 53.08 43H50.94V36.85Z",fill:"#B8C0CC"}),s("path",{d:"M18.39 32.28H16.51V35.02H18.39V32.28Z",fill:"#9399A5"}),s("path",{d:"M46.87 15H20.69C18.38 15 16.5 16.88 16.5 19.19V26.22H18.38V23.45H49.18V47.68H18.38V41.07H16.5V49.55H51.05V19.19C51.06 16.88 49.18 15 46.87 15ZM39.46 20.73C38.81 20.73 38.29 20.2 38.29 19.56C38.29 18.92 38.82 18.39 39.46 18.39C40.11 18.39 40.63 18.92 40.63 19.56C40.63 20.2 40.11 20.73 39.46 20.73ZM43.22 20.73C42.57 20.73 42.05 20.2 42.05 19.56C42.05 18.92 42.58 18.39 43.22 18.39C43.87 18.39 44.39 18.92 44.39 19.56C44.39 20.2 43.87 20.73 43.22 20.73ZM46.97 20.73C46.32 20.73 45.8 20.2 45.8 19.56C45.8 18.92 46.33 18.39 46.97 18.39C47.62 18.39 48.14 18.92 48.14 19.56C48.14 20.2 47.62 20.73 46.97 20.73Z",fill:"#9399A5"})]});function im(e,t){const n=H.default.get(e,t,"");if(n)throw new Error(n)}async function iz(e,t,n,r={}){const i={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",...r.headers},o={baseURL:e,method:"POST",url:t,params:r.params,headers:i};return o.data=r.string?JSON.stringify(n):n,Ho.default(o).then(a=>a.data).catch(a=>Promise.reject(a))}const oz=({conf:e,data:t})=>async()=>{const{expertSystemURL:n,path:r,goal:i,question:o}=e;if(!r||!i||!o)return;const a={dashboard:i,panel:o,data:t};try{const l=n.startsWith("http")?n:window.location.origin;return await iz(l,`/expert/v3/devtable/${r}`,a,{})}catch(l){throw im(l,"response.data.detail"),im(l,"response.data.error"),console.error(l),l}},Hu={expertSystemURL:"",path:"",goal:"",question:""},Uu={height:"100%",overflowY:"auto",...js},om=({message:e})=>s(c.Box,{sx:Uu,children:s("div",{dangerouslySetInnerHTML:{__html:e},style:{fontSize:"14px",lineHeight:"32px",color:"#3D3E45"}})}),az=({error:e,width:t,height:n})=>{const r=e.message;if(r.startsWith("<"))return s(om,{message:r});const o=n-25-20-30;return s(c.Center,{sx:{width:"100%",height:o},children:y(c.Stack,{align:"center",spacing:20,children:[s(rz,{}),s(om,{message:r})]})})};function sz({context:e}){var d;const{value:t}=ze(e.instanceData,"config"),n=b.useMemo(()=>W.defaultsDeep({},t,Hu),[t]),{width:r,height:i}=e.viewport,o=(d=e.data)!=null?d:[],{data:a,error:l,loading:u}=tt.useRequest(oz({conf:n,data:o}),{refreshDeps:[o,n]});return!r||!i||!n?null:u?s(c.Box,{sx:{position:"relative",height:i},children:s(c.LoadingOverlay,{visible:!0})}):l?s(c.Box,{sx:Uu,"data-enable-scrollbar":!0,children:s(az,{error:l,width:r,height:i})}):!a||!Array.isArray(a.replies)||a.replies.length===0?null:s(c.Box,{sx:Uu,"data-enable-scrollbar":!0,children:a.replies.map((f,p)=>s("div",{dangerouslySetInnerHTML:{__html:f.interpretation.html}},p))})}function lz({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=b.useMemo(()=>W.defaultsDeep({},t,Hu),[t]),{control:i,handleSubmit:o,watch:a,getValues:l,reset:u}=D.useForm({defaultValues:r});b.useEffect(()=>{u(r)},[r]),a(["expertSystemURL","goal","path","question"]);const d=l(),f=b.useMemo(()=>!W.isEqual(d,r),[d,r]);return s("form",{onSubmit:o(n),children:y(c.Stack,{children:[y(c.Group,{grow:!0,children:[s(D.Controller,{name:"expertSystemURL",control:i,render:({field:p})=>s(c.TextInput,{label:"Expert System URL",...p})}),s(D.Controller,{name:"path",control:i,render:({field:p})=>s(c.TextInput,{label:"Path",required:!0,...p})})]}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:"goal",control:i,render:({field:p})=>s(c.TextInput,{label:"Goal",required:!0,...p})}),s(D.Controller,{name:"question",control:i,render:({field:p})=>s(c.TextInput,{label:"Question",required:!0,...p})})]}),s(c.Divider,{variant:"dashed",mt:16,mb:8}),s(c.Button,{type:"submit",variant:"filled",color:"blue",leftIcon:s(re.DeviceFloppy,{size:20}),disabled:!f,sx:{alignSelf:"flex-end"},children:"Submit Changes"})]})})}class uz extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const cz={displayName:"Merico GQM",displayGroup:"Merico suite",migrator:new uz,name:"mericoGQM",viewRender:sz,configRender:lz,createConfig(){return{version:1,config:W.cloneDeep(Hu)}}};function dz(e,t,n){if(!e)return n[0];try{return[t,sn.default(t).add(1,"year").subtract(1,"day").valueOf()]}catch{return n[0]}}function fz(e,t,n){const r=dz(e,t,n);return{top:50,left:25,right:5,cellSize:["auto",13],range:r,itemStyle:{borderColor:"#eee"},splitLine:{show:!0},dayLabel:{firstDay:1},monthLabel:{position:"end"},yearLabel:{show:!0}}}function pz(e){return{heat_block:function(r){if(!e.heat_block.value_formatter)return r;try{return St.default(r).format(e.heat_block.value_formatter)}catch(i){return console.error(i),r}}}}function hz(e,t){return{show:!e,selectedMode:"single",top:5,right:5,data:t.map(n=>({name:n,icon:"circle"}))}}function gz(e,t){const{calendar:n,heat_block:r}=e;return Object.entries(t).map(([i,o])=>({type:"heatmap",name:i,coordinateSystem:"calendar",calendarIndex:0,data:o.map(a=>[H.default.get(a,n.data_key),H.default.get(a,r.data_key)])}))}const vz=e=>{try{return St.default(e).format({trimMantissa:!0,mantissa:2})}catch{return e}};function mz({conf:e,valueFormatters:t,dataDict:n,params:r}){const{value:i}=r,[o,a]=i,u=[{label:e.heat_block.name,value:t.heat_block(a),style:{label:"",value:""}}],d=n[o];return d&&e.tooltip.metrics.forEach(f=>{u.push({label:f.name,value:vz(H.default.get(d,f.data_key,"")),style:{label:"",value:""}})}),u}function yz(e,t,n){const r=H.default.keyBy(t,e.calendar.data_key);return{confine:!0,formatter:function(i){const a=mz({conf:e,valueFormatters:n,dataDict:r,params:i}).map(d=>`
287
287
  <tr>
288
288
  <th style="text-align: right;">
289
289
  <div style="${d.style.label}">${d.label}</div>
@@ -309,13 +309,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
309
309
  </thead>
310
310
  <tbody>${a.join("")}</tbody>
311
311
  </table>
312
- `}}}function yz(e,t){var n,r;return{min:(n=e.heat_block.min)!=null?n:0,max:(r=e.heat_block.max)!=null?r:100,calculable:!0,orient:"horizontal",left:t?"center":5,top:0,itemWidth:15}}const bz={tooltip:{confine:!0},grid:{containLabel:!0}},xz=e=>sn.default(e).get("year");function wz(e,t){const n=e.calendar.data_key,r=H.default.groupBy(t,u=>xz(u[n])),i=Object.keys(r),o=t.map(u=>sn.default(u[n]).valueOf()),a=H.default.min(o),l=H.default.max(o);return{minDate:a!=null?a:0,maxDate:l!=null?l:0,dateSpan:sn.default(l).diff(a,"day"),dataByYear:r,years:i}}function Cz(e,t,n){const r=fz(e),{dateSpan:i,minDate:o,dataByYear:a,years:l}=wz(e,t),u=i<=365,d={calendar:dz(u,o,l),series:hz(e,a),tooltip:mz(e,t,r),visualMap:yz(e,u),legend:pz(u,l)};return W.defaultsDeep({},d,bz)}function Sz(e){return s(be,{})}function _z(e){return s(c.Text,{children:"Click heat block"})}const am={id:"builtin:echarts:click-heatmap:heat-block",displayName:"Click Heat Block",nameRender:_z,configRender:Sz,payload:[{name:"seriesType",description:"'heatmap'",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"}]},Yu={calendar:{data_key:"",locale:"EN"},heat_block:{min:0,max:1e3,name:"Value",data_key:"",value_formatter:dn},tooltip:{metrics:[]}};bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.HeatmapChart,Pe.CalendarComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,Pe.VisualMapComponent,vn.CanvasRenderer]);function Ez({name:e},t){const n=t.getOption();n.calendar.forEach(r=>{r.range=e}),t.setOption(n)}function Tz({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>{const p=e.calendar.data_key;return H.default.keyBy(t,p)},[t,e.calendar.data_key]),l=Bn(i.triggerManager,am.id),u=b.useCallback(p=>{const[h,g]=p.value,v=H.default.get(a,h,{error:"rowData is not found"});l.forEach(m=>{i.runInteraction(m.id,{...p,rowData:v})})},[a,l,i]),d=b.useMemo(()=>({click:u,legendselectchanged:Ez}),[u]),f=Q.default.useMemo(()=>Cz(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0,opts:{locale:e.calendar.locale}})}function Mz({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>H.default.defaults({},r,Yu),[r]),a=e.data,{width:l,height:u}=e.viewport;return!o.calendar.data_key||!o.heat_block.data_key?null:s(c.Box,{children:s(Tz,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function kz({data:e,control:t,watch:n}){return n(["heat_block"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"heat_block.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.min",control:t,render:({field:r})=>s(c.NumberInput,{label:"Min Value",...r})}),s(D.Controller,{name:"heat_block.max",control:t,render:({field:r})=>s(c.NumberInput,{label:"Max Value",...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Value Format",labelPosition:"center"}),s(D.Controller,{name:"heat_block.value_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})}const Dz=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),Oz=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(Dz,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function Az({data:e,control:t,watch:n}){return s(Oz,{control:t,watch:n,data:e})}const Rz=[{label:"Chinese",value:"ZH"},{label:"English",value:"EN"}];function Pz({data:e,control:t,watch:n}){return n(["calendar"]),y(c.Stack,{children:[s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"calendar.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})})}),s(D.Controller,{name:"calendar.locale",control:t,render:({field:r})=>s(c.Select,{label:"Language",required:!0,data:Rz,sx:{flex:1},...r})})]})}function Iz({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Yu),[t]),o=b.useMemo(()=>H.default.cloneDeep(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Calendar Heatmap Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Calendar",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Calendar",children:"Calendar"}),s(c.Tabs.Tab,{value:"Heat Block",children:"Heat Block"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"})]}),s(c.Tabs.Panel,{value:"Calendar",children:s(Pz,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Heat Block",children:s(kz,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(Az,{control:a,watch:u,data:r})})]})]})})}class Nz extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const $z={displayName:"Heatmap(Calendar)",displayGroup:"ECharts-based charts",migrator:new Nz,name:"calendarHeatmap",viewRender:Mz,configRender:Iz,createConfig:()=>({version:1,config:Yu}),triggers:[am]};function Lz(e){const t=e.x_axes.some(o=>o.position==="top"&&!!o.name&&o.show);let n=0;t&&(n+=15);const r=e.x_axes.some(o=>o.position==="bottom"&&!!o.name&&o.show);let i=0;return r&&(i+=15),e.series.some(o=>!o.hide_in_legend)&&(i+=20),{top:n,right:5,bottom:i,left:5,containLabel:!0}}function Vz(e){switch(e){case"bar":return"roundRect";case"scatter":return"circle"}}function zz(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:Vz(r)})),t}function Fz(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=o?"insideEndTop":"end";return{name:i.name,type:"line",hide_in_legend:!i.show_in_legend,xAxisIndex:i.xAxisIndex,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?Ga(i.template,t,r):""},position:l}}}})}function Xu(e,t,n){return e.map(r=>[r[t],r[n]])}function Bz(e,t,n,r){const i=Xu(t,n,r);return H.default.unionBy(i,e,0)}function Gz({dataTemplate:e,data:t,name_data_key:n,value_data_key:r,valueTypedXAxis:i}){return i?Bz(e,t,n,r):t.map(o=>o[r])}function jz({dataTemplate:e,data:t,aggregation_on_value:n,name_data_key:r,value_data_key:i,valueTypedXAxis:o}){if(!n||n.type==="none")return Gz({dataTemplate:e,data:t,name_data_key:r,value_data_key:i,valueTypedXAxis:o});const a=Xu(t,r,i),l=H.default.groupBy(a,"0");return Object.entries(l).map(([d,f])=>{const p=go(f,"1",n);return[d,p]})}function Kz({group_by_key:e,data:t,value_data_key:n,name_data_key:r}){const i=H.default.groupBy(t,e);return Object.entries(i).forEach(([o,a])=>{i[o]=Xu(a,r,n)}),i}function Wz({y_axis:e},{data_key:t,xAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_value:a,stack:l,color:u,hide_in_legend:d,invisible:f,...p},h,g,v,m,w){const x={label:{show:!!r,position:r,formatter:w[n!=null?n:"default"]},name:i,yAxisId:"main-y-axis",xAxisIndex:n,stack:l,color:f?"transparent":u,hide_in_legend:d,labelLayout:{hideOverlap:!0},emphasis:{disabled:!0},...p};if(!o||o===e.data_key)return x.data=jz({dataTemplate:h,data:v,aggregation_on_value:a,name_data_key:e.data_key,value_data_key:t,valueTypedXAxis:g}),x;const _=Kz({group_by_key:o,data:v,name_data_key:e.data_key,value_data_key:t});return Object.entries(_).map(([S,C])=>{const E=W.cloneDeep(x);return E.name=S,E.color=void 0,E.data=C,E})}function qz(e,t,n,r,i,o,a){const l=t.map(d=>[d,0]);return e.series.map(d=>Wz(e,d,l,n,r,a,i)).flat().concat(Fz(e.reference_lines,o,a,r))}function Hz(e,t){const n=e.find(l=>l.axisDim==="y"&&l.axisId==="main-y-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="yAxis.category"?r:Ci(t.y_axis.axisLabel.formatter)(o,a)}function Uz(e,t,n){const r=t.reduce((i,{xAxisIndex:o,name:a})=>(i[a]=o,i),{});return{trigger:"axis",axisPointer:{type:"shadow"},formatter:function(i){const o=Array.isArray(i)?i:[i];if(o.length===0)return"";const a=o.map(({seriesName:d,marker:f,value:p})=>{var v;if(Array.isArray(p)&&p.length===2&&(p=p[1]),!d)return p;const h=r[d],g=(v=n[h])!=null?v:n.default;return`
312
+ `}}}function bz(e,t){var n,r;return{min:(n=e.heat_block.min)!=null?n:0,max:(r=e.heat_block.max)!=null?r:100,calculable:!0,orient:"horizontal",left:t?"center":5,top:0,itemWidth:15}}const xz={tooltip:{confine:!0},grid:{containLabel:!0}},wz=e=>sn.default(e).get("year");function Cz(e,t){const n=e.calendar.data_key,r=H.default.groupBy(t,u=>wz(u[n])),i=Object.keys(r),o=t.map(u=>sn.default(u[n]).valueOf()),a=H.default.min(o),l=H.default.max(o);return{minDate:a!=null?a:0,maxDate:l!=null?l:0,dateSpan:sn.default(l).diff(a,"day"),dataByYear:r,years:i}}function Sz(e,t,n){const r=pz(e),{dateSpan:i,minDate:o,dataByYear:a,years:l}=Cz(e,t),u=i<=365,d={calendar:fz(u,o,l),series:gz(e,a),tooltip:yz(e,t,r),visualMap:bz(e,u),legend:hz(u,l)};return W.defaultsDeep({},d,xz)}function _z(e){return s(be,{})}function Ez(e){return s(c.Text,{children:"Click heat block"})}const am={id:"builtin:echarts:click-heatmap:heat-block",displayName:"Click Heat Block",nameRender:Ez,configRender:_z,payload:[{name:"seriesType",description:"'heatmap'",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"}]},Yu={calendar:{data_key:"",locale:"EN"},heat_block:{min:0,max:1e3,name:"Value",data_key:"",value_formatter:dn},tooltip:{metrics:[]}};bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.HeatmapChart,Pe.CalendarComponent,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,Pe.VisualMapComponent,vn.CanvasRenderer]);function Tz({name:e},t){const n=t.getOption();n.calendar.forEach(r=>{r.range=e}),t.setOption(n)}function Mz({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>{const p=e.calendar.data_key;return H.default.keyBy(t,p)},[t,e.calendar.data_key]),l=Bn(i.triggerManager,am.id),u=b.useCallback(p=>{const[h,g]=p.value,v=H.default.get(a,h,{error:"rowData is not found"});l.forEach(m=>{i.runInteraction(m.id,{...p,rowData:v})})},[a,l,i]),d=b.useMemo(()=>({click:u,legendselectchanged:Tz}),[u]),f=Q.default.useMemo(()=>Sz(e,t),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0,opts:{locale:e.calendar.locale}})}function kz({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>H.default.defaults({},r,Yu),[r]),a=e.data,{width:l,height:u}=e.viewport;return!o.calendar.data_key||!o.heat_block.data_key?null:s(c.Box,{children:s(Mz,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}function Dz({data:e,control:t,watch:n}){return n(["heat_block"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"heat_block.name",control:t,render:({field:r})=>s(c.TextInput,{label:"Name",sx:{flex:1},...r})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"heat_block.min",control:t,render:({field:r})=>s(c.NumberInput,{label:"Min Value",...r})}),s(D.Controller,{name:"heat_block.max",control:t,render:({field:r})=>s(c.NumberInput,{label:"Max Value",...r})})]}),s(c.Divider,{mb:-15,variant:"dashed",label:"Value Format",labelPosition:"center"}),s(D.Controller,{name:"heat_block.value_formatter",control:t,render:({field:r})=>s(Gn,{...r})})]})}const Oz=({control:e,data:t,index:n,remove:r})=>y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`tooltip.metrics.${n}.name`,control:e,render:({field:i})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),s(D.Controller,{name:`tooltip.metrics.${n}.data_key`,control:e,render:({field:i})=>s(Ye,{label:"Value Field",required:!0,data:t,sx:{flex:1},...i})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(n),sx:{top:15,right:5},children:"Delete this Metric"})]}),Az=({control:e,watch:t,data:n})=>{const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"tooltip.metrics"}),a=t("tooltip.metrics"),l=r.map((h,g)=>({...h,...a[g]})),u=()=>i({id:Date.now().toString(),data_key:"",name:""}),d=t("tooltip.metrics.0.id"),[f,p]=b.useState(()=>d!=null?d:null);return b.useEffect(()=>{d&&p(h=>h!==null?h:d)},[d]),y(be,{children:[y(c.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[s(re.InfoCircle,{size:14,color:"#888"}),s(c.Text,{size:14,color:"#888",children:"Configure additional metrics to show in tooltip"})]}),s(c.Divider,{variant:"dashed",my:10}),y(c.Tabs,{value:f,onTabChange:h=>p(h),styles:{tab:{paddingTop:"0px",paddingBottom:"0px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map((h,g)=>s(c.Tabs.Tab,{value:h.id,children:h.name?h.name:g},h.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((h,g)=>s(c.Tabs.Panel,{value:h.id,children:s(Oz,{control:e,index:g,remove:o,data:n},h.id)},h.id))]})]})};function Rz({data:e,control:t,watch:n}){return s(Az,{control:t,watch:n,data:e})}const Pz=[{label:"Chinese",value:"ZH"},{label:"English",value:"EN"}];function Iz({data:e,control:t,watch:n}){return n(["calendar"]),y(c.Stack,{children:[s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"calendar.data_key",control:t,render:({field:r})=>s(Ye,{label:"Data Field",required:!0,data:e,sx:{flex:1},...r})})}),s(D.Controller,{name:"calendar.locale",control:t,render:({field:r})=>s(c.Select,{label:"Language",required:!0,data:Pz,sx:{flex:1},...r})})]})}function Nz({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),r=e.data,i=b.useMemo(()=>W.defaultsDeep({},t,Yu),[t]),o=b.useMemo(()=>H.default.cloneDeep(i),[i]);b.useEffect(()=>{!W.isEqual(i,o)&&(console.log("config malformed, resetting to defaults",i,o),n(o))},[i,o]);const{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]);const p=d(),h=b.useMemo(()=>!W.isEqual(p,i),[p,i]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Calendar Heatmap Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Calendar",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Calendar",children:"Calendar"}),s(c.Tabs.Tab,{value:"Heat Block",children:"Heat Block"}),s(c.Tabs.Tab,{value:"Tooltip",children:"Tooltip"})]}),s(c.Tabs.Panel,{value:"Calendar",children:s(Iz,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Heat Block",children:s(Dz,{control:a,watch:u,data:r})}),s(c.Tabs.Panel,{value:"Tooltip",children:s(Rz,{control:a,watch:u,data:r})})]})]})})}class $z extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Lz={displayName:"Heatmap(Calendar)",displayGroup:"ECharts-based charts",migrator:new $z,name:"calendarHeatmap",viewRender:kz,configRender:Nz,createConfig:()=>({version:1,config:Yu}),triggers:[am]};function Vz(e){const t=e.x_axes.some(o=>o.position==="top"&&!!o.name&&o.show);let n=0;t&&(n+=15);const r=e.x_axes.some(o=>o.position==="bottom"&&!!o.name&&o.show);let i=0;return r&&(i+=15),e.series.some(o=>!o.hide_in_legend)&&(i+=20),{top:n,right:5,bottom:i,left:5,containLabel:!0}}function zz(e){switch(e){case"bar":return"roundRect";case"scatter":return"circle"}}function Fz(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:zz(r)})),t}function Bz(e,t,n,r){return e.map(i=>{const o=i.orientation==="horizontal",a=o?"yAxis":"xAxis",l=o?"insideEndTop":"end";return{name:i.name,type:"line",hide_in_legend:!i.show_in_legend,xAxisIndex:i.xAxisIndex,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?Ga(i.template,t,r):""},position:l}}}})}function Xu(e,t,n){return e.map(r=>[r[t],r[n]])}function Gz(e,t,n,r){const i=Xu(t,n,r);return H.default.unionBy(i,e,0)}function jz({dataTemplate:e,data:t,name_data_key:n,value_data_key:r,valueTypedXAxis:i}){return i?Gz(e,t,n,r):t.map(o=>o[r])}function Kz({dataTemplate:e,data:t,aggregation_on_value:n,name_data_key:r,value_data_key:i,valueTypedXAxis:o}){if(!n||n.type==="none")return jz({dataTemplate:e,data:t,name_data_key:r,value_data_key:i,valueTypedXAxis:o});const a=Xu(t,r,i),l=H.default.groupBy(a,"0");return Object.entries(l).map(([d,f])=>{const p=go(f,"1",n);return[d,p]})}function Wz({group_by_key:e,data:t,value_data_key:n,name_data_key:r}){const i=H.default.groupBy(t,e);return Object.entries(i).forEach(([o,a])=>{i[o]=Xu(a,r,n)}),i}function qz({y_axis:e},{data_key:t,xAxisIndex:n,label_position:r,name:i,group_by_key:o,aggregation_on_value:a,stack:l,color:u,hide_in_legend:d,invisible:f,...p},h,g,v,m,w){const x={label:{show:!!r,position:r,formatter:w[n!=null?n:"default"]},name:i,yAxisId:"main-y-axis",xAxisIndex:n,stack:l,color:f?"transparent":u,hide_in_legend:d,labelLayout:{hideOverlap:!0},emphasis:{disabled:!0},...p};if(!o||o===e.data_key)return x.data=Kz({dataTemplate:h,data:v,aggregation_on_value:a,name_data_key:e.data_key,value_data_key:t,valueTypedXAxis:g}),x;const _=Wz({group_by_key:o,data:v,name_data_key:e.data_key,value_data_key:t});return Object.entries(_).map(([S,C])=>{const E=W.cloneDeep(x);return E.name=S,E.color=void 0,E.data=C,E})}function Hz(e,t,n,r,i,o,a){const l=t.map(d=>[d,0]);return e.series.map(d=>qz(e,d,l,n,r,a,i)).flat().concat(Bz(e.reference_lines,o,a,r))}function Uz(e,t){const n=e.find(l=>l.axisDim==="y"&&l.axisId==="main-y-axis");if(!n)return"";const{name:r,axisType:i,axisValue:o,axisIndex:a}=n;return i==="yAxis.category"?r:Ci(t.y_axis.axisLabel.formatter)(o,a)}function Yz(e,t,n){const r=t.reduce((i,{xAxisIndex:o,name:a})=>(i[a]=o,i),{});return{trigger:"axis",axisPointer:{type:"shadow"},formatter:function(i){const o=Array.isArray(i)?i:[i];if(o.length===0)return"";const a=o.map(({seriesName:d,marker:f,value:p})=>{var v;if(Array.isArray(p)&&p.length===2&&(p=p[1]),!d)return p;const h=r[d],g=(v=n[h])!=null?v:n.default;return`
313
313
  <tr>
314
314
  <td>${f}</td>
315
315
  <th style="text-align: right; padding: 0 1em;">${d}</th>
316
316
  <td style="text-align: left; padding: 0 1em;">${g({value:p})}</td>
317
317
  </tr>
318
- `}),l=Tr(e.y_axis.axisLabel.overflow.in_tooltip),u=Hz(o,e);return`
318
+ `}),l=Tr(e.y_axis.axisLabel.overflow.in_tooltip),u=Uz(o,e);return`
319
319
  <div style="text-align: left; margin-bottom: .5em; padding: 0 1em .5em; font-weight: bold; border-bottom: 1px dashed #ddd;">
320
320
  <div style="${l}">${u}</div>
321
321
  </div>
@@ -324,8 +324,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
324
324
  ${a.join("")}
325
325
  </tbody>
326
326
  </table>
327
- `}}}function Yz(e){return e.x_axes.reduce((n,{label_formatter:r},i)=>(n[i]=function(a){let l=a;if(typeof a=="object"&&(Array.isArray(a.value)&&a.value.length===2?l=a.value[1]:l=a.value),!r)return l;try{return St.default(l).format(r)}catch(u){return console.error(u),l}},n),{default:({value:n})=>n})}function Xz(e,t){const n={};return t.map(r=>{const i=xo(r,e);n[r.name]=Wr(r,i)}),n}function Qz(e,t){return e.x_axes.map(({min:n,max:r,...i},o)=>{var l;let a=i.position;return a||(a=o>0?"bottom":"top"),{...i,type:"value",min:n||void 0,max:r||void 0,position:a,axisLabel:{show:!0,margin:2,formatter:(l=t[o])!=null?l:t.default},axisLine:{show:!0},axisTick:{show:!1},splitLine:{show:!0},nameTextStyle:{fontWeight:"bold"},nameLocation:"center",nameGap:15}})}function Zz(e,t){var a;const n=t.every(l=>!Number.isNaN(Number(l))),{overflow:r,...i}=e.y_axis.axisLabel,o=Mr(r.on_axis);return[{data:t,name:(a=e.y_axis.name)!=null?a:"",nameLocation:"end",nameTextStyle:{align:"center",fontWeight:"bold"},id:"main-y-axis",axisTick:{show:!0,alignWithLabel:!0},type:n?"value":"category",axisLabel:{...i,...o,formatter:Ci(i.formatter)},z:5}]}function Jz(e,t,n){const r=Xz(t,n),i=Yz(e),o=H.default.uniq(t.map(d=>d[e.y_axis.data_key])),a=o.every(d=>!Number.isNaN(Number(d))),l=qz(e,o,a,t,i,n,r);return{xAxis:Qz(e,i),yAxis:Zz(e,o),series:l,tooltip:Uz(e,l,i),grid:Lz(e),legend:zz(l)}}const Qu={x_axes:[{id:"initial-x",min:"",max:"",name:"X Axis",data_key:"",position:"bottom",label_formatter:dn,show:!0}],y_axis:{name:"Y Axis",data_key:"",axisLabel:{formatter:{...jn},overflow:lr},nameAlignment:"center"},series:[],tooltip:{metrics:[]},reference_lines:[]};function eF(){const e=new Date().getTime().toString();return{id:e,min:"",max:"",name:e,data_key:"",position:"bottom",label_formatter:dn,show:!0}}function tF(){const e=new Date().getTime().toString();return{id:e,type:"bar",name:e,stack:"",color:"",barGap:"0%",data_key:"",barWidth:"",barMinWidth:"1",barMaxWidth:"10",group_by_key:"",hide_in_legend:!1,invisible:!1,label_position:"right",aggregation_on_value:ho,xAxisIndex:"0"}}function nF(){const e=new Date().getTime().toString();return{id:e,name:e,template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:"#868E96"},show_in_legend:!1,xAxisIndex:"0"}}bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer,Pe.MarkLineComponent,Pe.MarkAreaComponent]);function rF({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.y_axis.data_key),[t,e.y_axis.data_key]),l=Bn(i.triggerManager,hu.id),u=b.useCallback(p=>{const h=H.default.get(a,p.name,{error:"rowData is not found"});l.forEach(g=>{i.runInteraction(g.id,{...p,rowData:h})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>Jz(e,t,o),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function iF({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,Qu),[r]),a=e.data,{width:l,height:u}=e.viewport;return s(c.Box,{children:s(rF,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}const oF=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],aF=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function sF({control:e,index:t,remove:n,watch:r,variableOptions:i,xAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>s(c.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...l})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),y(c.Group,{grow:!0,children:[y(c.Stack,{children:[s(D.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>s(c.Select,{label:"Orientation",data:aF,required:!0,sx:{flex:1},...l})}),a==="vertical"&&s(c.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&s(D.Controller,{name:`reference_lines.${t}.xAxisIndex`,control:e,render:({field:l})=>s(c.Select,{label:"X Axis",data:o,disabled:o.length===0,sx:{flex:1},...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:oF,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:l})=>s(c.Checkbox,{label:"Show in legend",checked:l.value,onChange:u=>l.onChange(u.currentTarget.checked)})}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function lF({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((g,v)=>({...g,...a[v]})),u=()=>{const g=nF();i(g)},d=b.useMemo(()=>n.map(g=>({label:g.name,value:g.name})),[n]),f=t("x_axes"),p=b.useMemo(()=>f.map(({name:g},v)=>({label:g,value:v.toString()})),[f]),h=l.length>0?l[0].id:"0";return y(c.Tabs,{defaultValue:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((g,v)=>s(c.Tabs.Tab,{value:g.id,children:g.name},v)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((g,v)=>s(c.Tabs.Panel,{value:g.id,children:s(sF,{control:e,index:v,remove:o,watch:t,variableOptions:d,xAxisOptions:p})},v))]})}function uF(e){const[t,n]=b.useState(e);return b.useEffect(()=>{n(e)},[e]),{tab:t,setTab:n}}const cF=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function dF({control:e,index:t,seriesItem:n}){const r=!!n.barWidth.trim();return y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.stack`,control:e,render:({field:i})=>s(c.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barGap`,control:e,render:({field:i})=>s(c.Select,{label:"Bar Gap",data:cF,sx:{flexGrow:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Min)",disabled:r,sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Max)",disabled:r,sx:{flexGrow:1},...i})})]})]})}const fF=[{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 pF({control:e,index:t,remove:n,seriesItem:r,xAxisOptions:i,data:o}){return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.name`,control:e,render:({field:a})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...a})}),s(D.Controller,{name:`series.${t}.xAxisIndex`,control:e,render:({field:a})=>s(c.Select,{label:"X Axis",data:i,disabled:i.length===0,sx:{flex:1},...a})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.data_key`,control:e,render:({field:a})=>s(Ye,{label:"Value Field",required:!0,data:o,sx:{flex:1},...a})}),s(D.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:a})=>{var l;return s($a,{label:"Aggregation on Value",value:(l=a.value)!=null?l:ho,onChange:a.onChange,pt:0})}})]}),s(c.Group,{grow:!0,children:s(D.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:a})=>s(Ye,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...a})})}),s(dF,{index:t,control:e,seriesItem:r}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.label_position`,control:e,render:({field:a})=>s(c.Select,{label:"Label Position",data:fF,...a})}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`series.${t}.color`,control:e,render:({field:a})=>s(bn,{...a})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:a})=>s(c.Checkbox,{label:"Hide in legend",checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})}),s(D.Controller,{name:`series.${t}.invisible`,control:e,render:({field:a})=>s(c.Checkbox,{label:"Invisible",checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function hF({control:e,watch:t,data:n}){var g;const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((v,m)=>({...v,...a[m]})),u=()=>{const v=tF();i(v)},d=t("x_axes"),f=Q.default.useMemo(()=>d.map(({name:v},m)=>({label:v,value:m.toString()})),[d]),{tab:p,setTab:h}=uF((g=l[0])==null?void 0:g.id);return y(c.Tabs,{value:p,onTabChange:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map(v=>s(c.Tabs.Tab,{value:v.id,children:v.name},v.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((v,m)=>s(c.Tabs.Panel,{value:v.id,children:s(pF,{control:e,index:m,remove:o,seriesItem:v,xAxisOptions:f,data:n},v.id)},v.id))]})}const gF=[{label:"Top",value:"top"},{label:"Bottom",value:"bottom"}];function vF({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`x_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})})}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`x_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:gF,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`x_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`x_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`x_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`x_axes.${t}.show`,control:e,render:({field:r})=>s(c.Checkbox,{label:"Visible",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this X Axis"})]})}function mF({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"x_axes"}),o=t("x_axes"),a=n.map((d,f)=>({...d,...o[f]})),l=()=>{const d=eF();r(d)},u=a.length>0?a[0].id:"0";return y(c.Tabs,{defaultValue:u,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map(d=>s(c.Tabs.Tab,{value:d.id,children:d.name},d.id)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((d,f)=>s(c.Tabs.Panel,{value:d.id,children:s(vF,{control:e,index:f,remove:i})},d.id))]})}function yF({data:e,control:t,watch:n}){return n(["y_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})}),s(D.Controller,{name:"y_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}function bF({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>H.default.defaultsDeep({},t,Qu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),u([]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,o),[p,o]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Horizontal Bar Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axes",children:"X Axes"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Series",children:"Series"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),s(c.Tabs.Panel,{value:"X Axes",children:s(mF,{control:a,watch:u})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(yF,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Series",children:s(hF,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(lF,{variables:r,control:a,watch:u})})]})]})})}class xF extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const wF={displayName:"Horizontal Bar Chart",displayGroup:"ECharts-based charts",migrator:new xF,name:"horizontalBarChart",viewRender:iF,configRender:bF,createConfig:()=>({version:1,config:Qu})},CF=[{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"})),SF=[W2,q2,Y2,U2,H2,X2],sm=()=>({id:"dashboard",version:nu,manifest:{viz:[Wu,dL,tz,JN,RL,CN,wF,oA,cR,dI,zI,$z,mN,jP,rL,VN,YN,uz,_R],color:[...CF,...SF]}}),_o=new J2,Bt={pluginManager:Qn("pluginManager"),vizManager:Qn("vizManager"),colorManager:Qn("colorManager"),instanceScope:{panelModel:Qn("panelModel"),vizInstance:Qn("vizInstance"),interactionManager:Qn("interactionManager"),migrator:Qn("migrator"),operationManager:Qn("operationManager"),triggerManager:Qn("triggerManager")}},Zu=()=>{try{_o.install(sm())}catch{}const e=new G2(_o),t=new Z2(_o);return{pluginManager:_o,vizManager:e,colorManager:t}},Wn=b.createContext(Zu());try{_o.install(sm())}catch{}function _F(e,t){const{value:n,set:r}=ze(e.operation.operationData,"config"),[i,o]=b.useState(W.defaults({},n,t)),a=async()=>{await r(i)};return b.useEffect(()=>{o(W.defaults({},n,t))},[n]),{config:i,setConfig:o,commit:a}}function EF(e){const{config:t,setConfig:n,commit:r}=_F(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function o(l){n({...t,openInNewTab:l}),await r()}const a=l=>n({...t,urlTemplate:l.currentTarget.value});return y(c.Stack,{children:[s(c.TextInput,{label:"Url",value:t.urlTemplate,onChange:a,onBlur:i}),s(c.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:l=>o(l.currentTarget.checked)})]})}async function TF(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 MF extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const kF={displayName:"Open Link",id:"builtin:op:open-link",configRender:EF,run:TF,migrator:new MF,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function DF(e){const{value:t,set:n}=ze(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function OF(e){const[t,n]=DF(e.operation);return s(c.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function AF(e,t){const n=await t.operationData.getItem("config"),r=W.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const RF={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:OF,run:AF},PF=ee.observer(e=>{const t=Ie(),{value:n,set:r}=ze(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 s(c.Select,{defaultValue:i,value:i,onChange:o,label:"View",data:t.views.options})});async function IF(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const NF={displayName:"Open View",id:"builtin:op:open_view",configRender:PF,run:IF},$F={dictionary:{}},LF=ee.observer(e=>{const t=Ie(),{value:n=$F,set:r}=ze(e.operation.operationData,"config"),{dictionary:i={}}=n,o=(u,d)=>{r({dictionary:{...i,[u]:d}})},a=()=>{o(t.filters.firstFilterValueKey,"")},l=u=>{const d={...i};delete d[u],r({dictionary:d})};return y(c.Stack,{spacing:10,children:[s(c.Text,{children:"Mapping Rules"}),Object.entries(i).map(([u,d])=>y(c.Flex,{justify:"space-between",gap:10,children:[s(c.TextInput,{label:"Payload key",value:d,onChange:f=>{o(u,f.currentTarget.value)},sx:{flexGrow:1}}),s(Ye,{data:[t.filters.values],value:u,onChange:f=>{o(f,d)},label:"Filter key",sx:{flexGrow:1}}),s(c.ActionIcon,{onClick:()=>l(u),sx:{marginTop:"26px",flexGrow:0},children:s(re.Trash,{size:14,color:"red"})})]},u)),s(c.Button,{size:"xs",onClick:a,sx:{alignSelf:"center",width:"300px"},children:"Add one mapping rule"})]})});async function VF(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const zF={displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:LF,run:VF},FF={filter_keys:[]},BF=ee.observer(e=>{const t=Ie(),{value:n=FF,set:r}=ze(e.operation.operationData,"config"),{filter_keys:i=[]}=n,o=l=>{r({filter_keys:[...l]})},a=b.useMemo(()=>t.filters.current.map(l=>({label:l.label,value:l.key})),[t.filters.values]);return s(c.Stack,{spacing:10,children:s(c.MultiSelect,{label:"Select Filters to Clear",data:a,value:i,onChange:o})})});async function GF(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 es=[RF,kF,NF,zF,{displayName:"Clear Filter Values",id:"builtin:op:clear_filter_values",configRender:BF,run:GF}];class jF{constructor(t,n=es){ke(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 wi(i,"data")}};this.attachments=new tu(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,l;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:(l=(a=n.createDefaultConfig)==null?void 0:a.call(n))!=null?l:{}}):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 lm="__TRIGGERS";class KF{constructor(t,n){ke(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 wi(i,"data")}};this.attachments=new tu(t,lm,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(lm,n=>{const r=W.values(n).map(i=>({id:W.get(i,"id"),schemaRef:W.get(i,"schemaRef"),config:It.toJS(W.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var l;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:((l=n==null?void 0:n.createDefaultConfig)==null?void 0:l.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(l=>l.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 Ju{constructor(t,n,r){ke(this,"operationManager");ke(this,"triggerManager");ke(this,"attachments");this.operationManager=new jF(t,r),this.triggerManager=new KF(t,n);const i=async o=>{const{id:a,triggerRef:l,operationRef:u}=await o.getItem(null);return{id:a,triggerRef:l,operationRef:u}};this.attachments=new tu(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 qn=({vizManager:e,instance:t})=>tt.useCreation(()=>new Ju(t,e.resolveComponent(t.type),es),[t,e]),um=e=>{const{title:t="Variables",variables:n}=e,r=qt.useClipboard(),i=o=>{r.copy(o),Ko.showNotification({color:"green",message:"Copied to clipboard"})};return y(c.Paper,{withBorder:!0,p:"sm",children:[s(c.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),s(c.Stack,{style:{maxHeight:"500px"},children:n.map(o=>y(c.Text,{size:"sm",children:[y(c.Code,{color:"teal",children:["// ",o.description]}),s("br",{}),y(c.Code,{onClick:()=>i(o.name),style:{cursor:"pointer"},children:[o.name," : ",o.valueType]})]},o.name))})]})};class WF{constructor(t,n){ke(this,"operationId");ke(this,"operation");ke(this,"operationSchema");ke(this,"variables",[]);this.operationManager=t,this.instance=n,It.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));It.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 qF(e){return!!e.operationId}const HF=ee.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return s(c.Button,{variant:"outline",onClick:t,children:n})}),UF=ee.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return b.createElement(e.operationSchema.configRender,t)});function YF({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 s(c.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const XF=ee.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),{operationManager:i,operationId:o,instance:a,variables:l}=e,u=tt.useCreation(()=>new WF(i,a),[i,a]);return tt.useAsyncEffect(async()=>{await u.configOperation(o,l)},[o,u]),qF(u)?y(be,{children:[s(HF,{model:u,onClick:n}),s(c.Modal,{size:600,opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",zIndex:320,children:y(c.Stack,{children:[s(YF,{model:u}),s(UF,{model:u}),s(um,{title:"Variables",variables:u.variables})]})})]}):null});class QF{constructor(t,n){ke(this,"triggerId");ke(this,"trigger");ke(this,"triggerSchema");ke(this,"sampleData");this.triggerManager=t,this.instance=n,It.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));It.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 ZF(this)}}function ZF(e){return!!e.triggerId&&!!e.triggerSchema}function JF(e,t){return tt.useCreation(()=>new QF(e,t),[e,t])}const e3=ee.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return s(c.Button,{variant:"outline",onClick:t,children:b.createElement(n,r)})}),t3=ee.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 s(c.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),n3=ee.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return b.createElement(e.triggerSchema.configRender,t)}),r3=ee.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),i=e.model;return y(be,{children:[s(c.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",zIndex:320,children:y(c.Stack,{children:[s(t3,{model:i}),s(n3,{model:i}),s(um,{title:"Payload",variables:i.triggerSchema.payload})]})}),s(e3,{onClick:n,model:i})]})});function i3(e,t){const[n,r]=b.useState([]);return tt.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t,e]),n}const o3=ee.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:o})=>{const{triggerRef:a,operationRef:l}=e,u=JF(t.triggerManager,n);if(tt.useAsyncEffect(async()=>{await u.configTrigger(a,r)},[u,a,r]),u.isReady()){const d=[...u.triggerSchema.payload,...i];return y(c.Group,{children:[s(r3,{model:u}),s(XF,{instance:n,operationId:l,variables:d,operationManager:t.operationManager}),s(c.ActionIcon,{"aria-label":"delete-interaction",variant:"filled",color:"red",onClick:()=>o(e),children:s(re.Trash,{size:16})})]})}return null}),a3=e=>{const[t,n]=b.useState(0),{interactionManager:r,instance:i,sampleData:o,variables:a}=e,l=i3(r,t),u=async()=>{const h=await r.triggerManager.createOrGetTrigger(qt.randomId(),r.triggerManager.getTriggerSchemaList()[0]),g=await r.operationManager.createOrGetOperation(qt.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(h,g),n(v=>v+1)};async function d(h){await r.removeInteraction(h.id),n(g=>g+1)}const{data:f=0,loading:p}=tt.useRequest(async()=>{try{return(await r.triggerManager.getTriggerSchemaList()).length}catch{return 0}});return y(c.Stack,{children:[s(c.LoadingOverlay,{visible:p}),f===0&&s(c.Alert,{icon:s(re.AlertCircle,{size:16}),title:"Unavailable",color:"gray",children:"This visualization does not have available interactions to choose from"}),l.map(h=>s(o3,{onRemove:d,instance:i,sampleData:o,variables:a,item:h,manager:e.interactionManager},h.id)),s(c.Button,{style:{width:"fit-content"},onClick:()=>u(),disabled:f===0,children:"Add interaction"})]})},s3=()=>{const{panel:e,data:t}=Qt(),n=e.viz,{vizManager:r}=b.useContext(Wn),i=e.json,o=tt.useCreation(()=>r.getOrCreateInstance(i),[r,i]),a=tt.useCreation(()=>new Ju(o,r.resolveComponent(n.type),es),[o,n.type]);return b.useEffect(()=>o.instanceData.watchItem(null,W.throttle(l=>{e.viz.setConf(l)},100,{leading:!1,trailing:!0})),[o]),{instance:o,vizManager:r,interactionManager:a,sampleData:t,variables:[]}},l3=()=>{const e=s3();return s(a3,{...e})};var cm=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(cm||{}),ts=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(ts||{});class u3{constructor(t){ke(this,"vizInstance");ke(this,"operationManager");ke(this,"triggerManager");ke(this,"vizManager");ke(this,"runningMigration");ke(this,"panelModel");ke(this,"status","notStarted");this.panelModel=t.getRequired(Bt.instanceScope.panelModel),this.vizInstance=t.getRequired(Bt.instanceScope.vizInstance),this.operationManager=t.getRequired(Bt.instanceScope.operationManager),this.triggerManager=t.getRequired(Bt.instanceScope.triggerManager),this.vizManager=t.getRequired(Bt.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 dm(e){const{panel:t}=Qt();return b.useCallback(n=>{const r=n.getRequired(Bt.vizManager),i=r.resolveComponent(e.viz.type);return n.createScoped().provideFactory(Bt.instanceScope.vizInstance,()=>r.getOrCreateInstance(e)).provideFactory(Bt.instanceScope.interactionManager,o=>{const a=o.getRequired(Bt.instanceScope.vizInstance);return new Ju(a,i,es)}).provideFactory(Bt.instanceScope.operationManager,o=>o.getRequired(Bt.instanceScope.interactionManager).operationManager).provideFactory(Bt.instanceScope.triggerManager,o=>o.getRequired(Bt.instanceScope.interactionManager).triggerManager).provideValue(Bt.instanceScope.panelModel,t).provideFactory(Bt.instanceScope.migrator,o=>new u3(o))},[e.viz.type,e.viz.conf])}function fm(e){const[t,n]=b.useState(!1),r=_d().getRequired(Bt.instanceScope.migrator);return tt.useAsyncEffect(async()=>{const i=r.status===ts.notStarted;n(r.status===ts.done),r.status===ts.notStarted&&r.runMigration().then(o=>{o===cm.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function pm(e,t){const n=_d().getRequired(Bt.instanceScope.vizInstance);return b.useEffect(()=>(n.instanceData.setItem(null,t.viz.conf),n.instanceData.watchItem(null,r=>{e(r)})),[e,t.viz.type]),n}function c3({setVizConf:e,...t}){const{panel:n}=t,r=pm(e,n),i=fm(()=>{Ko.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?s(K2,{...t}):s(c.Text,{children:"Checking update..."})}function d3(e){const{panel:t,setVizConf:n}=e;return pm(n,t),fm(()=>{Ko.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?s(j2,{...e}):s(c.Text,{children:"Checking update"})}const xq="";function f3(e,t){const{vizManager:n}=b.useContext(Wn),{panel:{viz:r,title:i,id:o,description:a,queryID:l,variables:u}}=Qt(),d={title:i,id:o,description:a,queryID:l,viz:r,layout:t},f=dm(d);try{return n.resolveComponent(r.type),s(Yo,{configure:f,children:s(d3,{setVizConf:r.setConf,panel:d,data:e,variables:u,vizManager:n})})}catch(p){return console.info(W.get(p,"message")),null}}const p3=["richText","button"],hm=ee.observer(function({height:t,viz:n,data:r,loading:i,error:o,query:a}){const{ref:l,width:u,height:d}=qt.useElementSize(),f=f3(r,{w:u,h:d});if(p3.includes(n.type))return s("div",{className:"viz-root",style:{height:t},ref:l,children:s(Zn,{children:f})});if(i)return s("div",{className:"viz-root",style:{height:t},ref:l,children:s(c.LoadingOverlay,{visible:i,exitTransitionDuration:0})});const h=!!o,g=!h&&!!(a!=null&&a.stateMessage),v=!h&&!g;return y("div",{className:"viz-root",style:{height:t},ref:l,children:[h&&s(c.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:o}),g&&s(c.Text,{color:"gray",align:"center",children:a.stateMessage}),v&&s(Zn,{children:f})]})});function h3(e){return!["richText","button"].includes(e)}const g3={border:"1px solid #e9ecef"},gm={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function v3(e,t,n){return e.style.border.enabled?g3:n||t?gm:{border:"1px dashed transparent"}}const ns=ee.observer(function({panel:t,view:n}){const r=Ie(),{inEditMode:i}=b.useContext(Lr),{data:o,state:a,error:l}=r.getDataStuffByID(t.queryID),u=r.queries.findByID(t.queryID),d=h3(t.viz.type),f=d&&a==="loading",p=t.title?"calc(100% - 25px - 5px)":"100%",h=v3(t,d,i),g=d||i;return s(Ks,{value:{panel:t,data:o,loading:f},children:y(c.Box,{className:"panel-root",p:5,pt:0,sx:{...h},children:[s(c.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:s(Rg,{})}),g&&s(z2,{view:n}),s(F2,{}),s(hm,{viz:t.viz,data:o,loading:f,error:l,height:p,query:u})]})})}),wq="",m3=Q.default.forwardRef(({handleAxis:e},t)=>s(c.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:s(re.ArrowsMove,{size:16})})),y3=Q.default.forwardRef(({handleAxis:e,...t},n)=>s(c.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:s(re.ChevronDownRight,{size:16})})),b3=Ls.WidthProvider(yd.default),x3=ee.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:o}){const a=Q.default.useCallback(l=>{l.forEach(({i:u,...d})=>{const f=t.panels.findByID(u);!f||f.layout.set(d)})},[t]);return s(b3,{onLayoutChange:a,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:o,draggableHandle:".react-grid-customDragHandle",resizeHandle:s(y3,{}),children:t.panels.list.map((l,u)=>y("div",{"data-grid":{...l.layout},style:{position:"relative"},children:[i&&s(m3,{}),s(ns,{view:t,panel:l})]},l.id))})}),w3=Ls.WidthProvider(yd.default),C3=ee.observer(function({view:t,className:n="layout",rowHeight:r=10}){return s(w3,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>s("div",{"data-grid":i.layout,children:s(ns,{view:t,panel:i})},i.id))})});var vm=(e=>(e.Use="use",e.Edit="edit",e))(vm||{}),ot=(e=>(e.Division="div",e.Modal="modal",e.Tabs="tabs",e))(ot||{});const S3={div:"Division",tabs:"Tabs",modal:"Modal"},mm={div:"rgba(255, 0, 0, 0.2)",modal:"rgba(0, 0, 0, 0.2)",tabs:"rgba(255, 200, 100, 0.4)"},_3={div:"#ff4000",modal:"#000",tabs:"#ffad18"};var ec=(e=>(e.Select="select",e.TreeSelect="tree-select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(ec||{});const E3=ee.observer(({children:e})=>s(c.Box,{pt:10,pb:100,children:e})),T3=ee.observer(({children:e,view:t})=>{const n=t.config;return s(c.Modal,{size:n.width,overflow:"inside",opened:!0,onClose:H.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})}),M3=({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},k3=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},D3=ee.observer(({children:e,view:t})=>{const n=Vn.useModals(),r=Ie(),i=b.useMemo(()=>r.views.options.filter(u=>u.type===ot.Division),[t.id,r.views.options]),o=t.config,a=u=>n.openConfirmModal({title:"Delete this tab?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{o.removeTab(u)},confirmProps:{color:"red"},zIndex:320}),l=o.tabs.length===0;return y(c.Box,{className:"preview-view-tabs",children:[y(c.Tabs,{variant:o.variant,orientation:o.orientation,defaultValue:o.tabs.length>0?o.tabs[0].id:"0",styles:M3(o),children:[y(c.Tabs.List,{grow:o.grow,children:[o.tabs.map(u=>{var d;return s(c.Tabs.Tab,{value:u.id,sx:k3(u),children:(d=u.name)!=null?d:u.id},u.id)}),s(c.Tabs.Tab,{onClick:o.addTab,value:"add",className:"add-a-tab",children:s(re.Plus,{size:18,color:"#228be6"})})]}),o.tabs.map((u,d)=>{const f=r.views.findByID(u.view_id);return y(c.Tabs.Panel,{value:u.id,sx:{position:"relative"},children:[y(c.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:200},children:[s(c.Overlay,{opacity:.8,color:"#FFF",blur:10,zIndex:100}),y(c.Stack,{mx:"auto",mt:100,sx:{width:"300px",position:"relative",zIndex:200},children:[s(c.TextInput,{label:"Tab Name",value:u.name,onChange:p=>u.setName(p.currentTarget.value)}),s(c.Select,{label:"View",value:u.view_id,onChange:u.setViewID,data:i}),s(c.ColorInput,{label:"Color",value:u.color,onChange:u.setColor,disabled:o.variant!=="default"}),f&&y(c.Button,{mt:20,variant:"gradient",leftIcon:s(ux,{size:18}),gradient:{from:"cyan",to:"indigo"},onClick:()=>r.views.setIDOfVIE(f.id),children:["Swith to View: ",f.name]}),s(c.Button,{mt:20,variant:"subtle",color:"red",onClick:()=>a(d),disabled:l,leftIcon:s(qi,{size:14}),children:"Delete This Tab"})]})]}),f&&s(rs,{view:f})]},u.id)})]}),e]})}),O3=ee.observer(({view:e,children:t})=>{switch(e.type){case ot.Modal:return s(T3,{view:e,children:t});case ot.Tabs:return s(D3,{view:e,children:t});case ot.Division:default:return s(E3,{children:t})}}),ym=ee.observer(function({view:t}){return s(Bs.Provider,{value:{viewPanelInFullScreen:H.default.noop,inFullScreen:!1},children:s(c.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:s(O3,{view:t,children:y(c.Box,{sx:{position:"relative"},children:[s(c.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:s(Ag,{view:t})}),s(x3,{view:t,isDraggable:!0,isResizable:!0})]})})})})}),A3=ee.observer(function({view:t,panel:n,exitFullScreen:r}){return y(c.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[s(c.Group,{sx:{flexGrow:0},children:s(c.Button,{variant:"default",size:"sm",onClick:r,leftIcon:s(re.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),s(c.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:s(ns,{view:t,panel:n})})]})});function R3(e,t,n){const r=e.id==="Main",[i,o]=Q.default.useState(()=>r&&e.panels.findByID(t)?t:null),a=Q.default.useCallback(f=>{o(f),r&&n(f)},[r,n]),l=Q.default.useCallback(()=>{o(null),r&&n("")},[r,n]),u=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:a,exitFullScreen:l,inFullScreen:!!u,fullScreenPanel:u}}const P3=ee.observer(({children:e})=>s(c.Box,{children:e})),I3=ee.observer(({children:e,view:t})=>{const n=Ie(),r=t.config,i=n.views.visibleViewIDs.includes(t.id),o=()=>n.views.rmVisibleViewID(t.id);return s(c.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})}),N3=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},$3=ee.observer(({children:e,view:t})=>{const n=Ie(),r=t.config;return y(c.Box,{className:"render-view-tabs",children:[y(c.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:[s(c.Tabs.List,{grow:r.grow,children:r.tabs.map(i=>{var o;return s(c.Tabs.Tab,{value:i.id,sx:N3(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?s(c.Tabs.Panel,{value:i.id,children:s(rs,{view:o})},i.id):null})]}),e]})}),L3=ee.observer(({view:e,children:t})=>{switch(e.type){case ot.Modal:return s(I3,{view:e,children:t});case ot.Tabs:return s($3,{view:e,children:t});case ot.Division:default:return s(P3,{children:t})}}),rs=ee.observer(function({view:t}){const{fullScreenPanelID:n,setFullScreenPanelID:r}=jd(),{viewPanelInFullScreen:i,exitFullScreen:o,inFullScreen:a,fullScreenPanel:l}=R3(t,n,r);return s(Bs.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:a},children:y(c.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:[a&&s(A3,{view:t,panel:l,exitFullScreen:o}),s(L3,{view:t,children:y(c.Box,{sx:{position:"relative"},children:[!a&&s(c.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:s(Ag,{view:t})}),!a&&s(C3,{view:t})]})})]})})});function V3(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 l=o[a];l!="sign"&&e[i][l]&&n.push(o[a]+"="+(typeof e[i][l]=="object"?JSON.stringify(e[i][l]):e[i][l]))}}}return n.sort().join("&")}function z3(e,t){let n=V3(e);return n+="&key="+t,xd.default.MD5(n).toString().toUpperCase()}const qr={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:z3({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},l={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a,signal:t};return["POST","PUT"].includes(e)&&(l.data=i.string?JSON.stringify(r):r,l.data.authentication=this.getAuthentication(l.data)),Ho.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}};function bm(e){qr.baseURL!==e.apiBaseURL&&(qr.baseURL=e.apiBaseURL),e.app_id&&(qr.app_id=e.app_id),e.app_secret&&(qr.app_secret=e.app_secret)}const xm=O.types.model("FilterConfigModel_Checkbox",{_name:O.types.literal("checkbox"),description:O.types.optional(O.types.string,""),default_value:O.types.boolean}).views(e=>({get json(){const{_name:t,default_value:n}=e;return{_name:t,default_value:n}},get isDescriptionEmpty(){const{description:t}=e;return t===""||t==="<p></p>"}})).actions(e=>({setDefaultValue(t){e.default_value=t},setDescription(t){e.description=t}})),F3=()=>xm.create({_name:"checkbox",description:"",default_value:!1});var kn=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(kn||{}),Jt=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TreeSelect="tree-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Jt||{});O.types.model({type:O.types.enumeration("DataSourceType",[kn.Postgresql,kn.MySQL,kn.HTTP]),key:O.types.string,sql:O.types.string});function wm(e,t){return e.map(n=>{try{return n?sn.default.tz(n,"UTC").format(t):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}const B3=O.types.model("FilterConfigModel_DateRange",{_name:O.types.literal("date-range"),required:O.types.boolean,inputFormat:O.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:O.types.optional(O.types.array(O.types.union(O.types.string,O.types.null)),[null,null]),clearable:O.types.boolean,max_days:O.types.optional(O.types.number,0),allowSingleDateInRange:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{_name:t,max_days:n,required:r,clearable:i,inputFormat:o,default_value:a,allowSingleDateInRange:l}=e;return{_name:t,max_days:n,required:r,clearable:i,inputFormat:o,default_value:wm(a,o),allowSingleDateInRange:l}},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 sn.default(t).startOf("day").add(n,"days").toDate()},getMinDate(t){const{max_days:n}=e;if(!(!n||!t))return sn.default(t).startOf("day").subtract(n,"days").toDate()}})).actions(e=>({setFilterValue(t){try{const n=O.getParent(e);O.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}})),Cm=O.types.snapshotProcessor(B3,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:sn.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:wm(e,t.inputFormat)}}}),G3=()=>Cm.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),j3=O.types.model({label:O.types.string,value:O.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),tc=O.types.model("FilterConfigModel_BaseSelect",{static_options:O.types.optional(O.types.array(j3),[]),options_query_id:O.types.optional(O.types.string,""),default_selection_count:O.types.optional(O.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}=O.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:""}})),Sm=O.types.compose("FilterConfigModel_MultiSelect",O.types.model({_name:O.types.literal("multi-select"),min_width:O.types.optional(O.types.string,""),default_value:O.types.optional(O.types.array(O.types.string),[])}),tc).views(e=>({get json(){const{_name:t,default_value:n,min_width:r,static_options:i,options_query_id:o,default_selection_count:a}=e;return{_name:t,min_width:r,default_value:n,static_options:i,options_query_id:o,default_selection_count:a}},get default_selection(){return e.usingQuery?e.options.slice(0,e.default_selection_count).map(t=>t.value):e.default_value}})).actions(e=>({setDefaultValue(t){e.default_value=O.cast(t)},setMinWidth(t){e.min_width=t},setDefaultSelection(){const t=O.getRoot(e).filters,n=O.getParent(e).key;t.setValueByKey(n,e.default_selection)}})).actions(e=>({afterCreate(){O.addDisposer(e,It.reaction(()=>It.toJS(e.default_selection),e.setDefaultSelection,{fireImmediately:!0,delay:0}))}})),K3=()=>Sm.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),_m=O.types.compose("FilterConfigModel_TreeSelect",O.types.model({_name:O.types.literal("tree-select"),min_width:O.types.optional(O.types.string,""),default_value:O.types.optional(O.types.array(O.types.string),[])}),tc).views(e=>({get json(){const{_name:t,default_value:n,min_width:r,static_options:i,options_query_id:o,default_selection_count:a}=e;return{_name:t,min_width:r,default_value:n,static_options:i,options_query_id:o,default_selection_count:a}}})).actions(e=>({setDefaultValue(t){e.default_value=O.cast(t)},setMinWidth(t){e.min_width=t}})),W3=()=>_m.create({_name:"tree-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),Em=O.types.compose("FilterConfigModel_Select",O.types.model({_name:O.types.literal("select"),default_value:O.types.string,required:O.types.boolean,width:O.types.optional(O.types.string,"")}),tc).views(e=>({get json(){const{_name:t,default_value:n,required:r,width:i,static_options:o,options_query_id:a,default_selection_count:l}=e;return{_name:t,width:i,required:r,default_value:n,static_options:o,options_query_id:a,default_selection_count:l}},truthy(t){return!!t}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setWidth(t){e.width=t}})),q3=()=>Em.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",default_selection_count:0}),Tm=O.types.model("FilterConfigModel_TextInput",{_name:O.types.literal("text-input"),required:O.types.boolean,default_value:O.types.string}).views(e=>({get json(){const{_name:t,required:n,default_value:r}=e;return{_name:t,required:n,default_value:r}},truthy(t){return typeof t!="string"?!1:!!t.trim()}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),Mm=()=>Tm.create({_name:"text-input",required:!1,default_value:""}),nc=O.types.model("FilterModel",{id:O.types.identifier,key:O.types.string,label:O.types.string,order:O.types.number,visibleInViewsIDs:O.types.array(O.types.string),auto_submit:O.types.optional(O.types.boolean,!1),type:O.types.enumeration("DashboardFilterType",[Jt.Select,Jt.MultiSelect,Jt.TreeSelect,Jt.TextInput,Jt.Checkbox,Jt.DateRange]),config:O.types.union(Em,Sm,_m,Tm,xm,Cm)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t},get usingDefaultValue(){return e.type!==Jt.TreeSelect},get auto_submit_supported(){return[Jt.Select,Jt.Checkbox,Jt.DateRange].includes(e.type)}})).views(e=>({get json(){const{id:t,key:n,label:r,order:i,visibleInViewsIDs:o,auto_submit:a,type:l,config:u}=e;return{id:t,key:n,type:l,label:r,order:i,config:u.json,auto_submit:a,visibleInViewsIDs:o}},get should_auto_submit(){return e.auto_submit_supported&&e.auto_submit},requiredAndPass(t){return H.default.get(e.config,"required",!1)?H.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 Jt.Select:e.config=q3();break;case Jt.MultiSelect:e.config=K3();break;case Jt.TreeSelect:e.config=W3();break;case Jt.TextInput:e.config=Mm();break;case Jt.Checkbox:e.config=F3();break;case Jt.DateRange:e.config=G3();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 km(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=sn.default.tz(r,"UTC").format(t.inputFormat);return i!=null?i:r})}catch(n){return console.error(n),e}return e}function Dm(e){return e.reduce((t,n)=>(t[n.key]=km(n.config.default_value,n.config),t),{})}function H3(e,t,n){O.addDisposer(e,O.addMiddleware(e,(r,i)=>{i(r,()=>{O.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const Om=O.types.model("FiltersModel",{current:O.types.optional(O.types.array(nc),[]),values:O.types.optional(O.types.frozen(),{}),previewValues:O.types.optional(O.types.frozen(),{})}).views(e=>({get json(){return e.current.map(t=>t.json)},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 H.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 H.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=O.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=Dm(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){H3(e.current,nc,(n,r)=>{if(n==="setType"){const i=km(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function Am(e){return{current:e,values:Dm(e)}}var is={exports:{}};(function(e,t){(function(n,r){r()})(yn,function(){function n(d,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(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function r(d,f,p){var h=new XMLHttpRequest;h.open("GET",d),h.responseType="blob",h.onload=function(){u(h.response,f,p)},h.onerror=function(){console.error("could not download file")},h.send()}function i(d){var f=new XMLHttpRequest;f.open("HEAD",d,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function o(d){try{d.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),d.dispatchEvent(f)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof yn=="object"&&yn.global===yn?yn:void 0,l=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&&!l?function(d,f,p){var h=a.URL||a.webkitURL,g=document.createElement("a");f=f||d.name||"download",g.download=f,g.rel="noopener",typeof d=="string"?(g.href=d,g.origin===location.origin?o(g):i(g.href)?r(d,f,p):o(g,g.target="_blank")):(g.href=h.createObjectURL(d),setTimeout(function(){h.revokeObjectURL(g.href)},4e4),setTimeout(function(){o(g)},0))}:"msSaveOrOpenBlob"in navigator?function(d,f,p){if(f=f||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(n(d,p),f);else if(i(d))r(d,f,p);else{var h=document.createElement("a");h.href=d,h.target="_blank",setTimeout(function(){o(h)})}}:function(d,f,p,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof d=="string")return r(d,f,p);var g=d.type==="application/octet-stream",v=/constructor/i.test(a.HTMLElement)||a.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||g&&v||l)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var S=w.result;S=m?S:S.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=S:location=S,h=null},w.readAsDataURL(d)}else{var x=a.URL||a.webkitURL,_=x.createObjectURL(d);h?h.location=_:location.href=_,h=null,setTimeout(function(){x.revokeObjectURL(_)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})})(is);const Rm="\uFEFF";function U3(e,t){const n=new Blob([Rm+t],{type:"text/csv"});is.exports.saveAs(n,`${e}.csv`)}function Y3(e,t){const n=new Blob([t],{type:"application/json"});is.exports.saveAs(n,`${e}.json`)}function X3(e){const t=new W0.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,Pm(r))}),t.generateAsync({type:"blob"}).then(n=>{is.exports.saveAs(n,"dashboard_data.zip")})}function Pm(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)}),Rm+t.join(`
328
- `)}const _i={CryptoJS:xd.default,d3Array:K0,dayjs:sn.default,lodash:H.default,numbro:St.default},Q3=`
327
+ `}}}function Xz(e){return e.x_axes.reduce((n,{label_formatter:r},i)=>(n[i]=function(a){let l=a;if(typeof a=="object"&&(Array.isArray(a.value)&&a.value.length===2?l=a.value[1]:l=a.value),!r)return l;try{return St.default(l).format(r)}catch(u){return console.error(u),l}},n),{default:({value:n})=>n})}function Qz(e,t){const n={};return t.map(r=>{const i=xo(r,e);n[r.name]=Wr(r,i)}),n}function Zz(e,t){return e.x_axes.map(({min:n,max:r,...i},o)=>{var l;let a=i.position;return a||(a=o>0?"bottom":"top"),{...i,type:"value",min:n||void 0,max:r||void 0,position:a,axisLabel:{show:!0,margin:2,formatter:(l=t[o])!=null?l:t.default},axisLine:{show:!0},axisTick:{show:!1},splitLine:{show:!0},nameTextStyle:{fontWeight:"bold"},nameLocation:"center",nameGap:15}})}function Jz(e,t){var a;const n=t.every(l=>!Number.isNaN(Number(l))),{overflow:r,...i}=e.y_axis.axisLabel,o=Mr(r.on_axis);return[{data:t,name:(a=e.y_axis.name)!=null?a:"",nameLocation:"end",nameTextStyle:{align:"center",fontWeight:"bold"},id:"main-y-axis",axisTick:{show:!0,alignWithLabel:!0},type:n?"value":"category",axisLabel:{...i,...o,formatter:Ci(i.formatter)},z:5}]}function eF(e,t,n){const r=Qz(t,n),i=Xz(e),o=H.default.uniq(t.map(d=>d[e.y_axis.data_key])),a=o.every(d=>!Number.isNaN(Number(d))),l=Hz(e,o,a,t,i,n,r);return{xAxis:Zz(e,i),yAxis:Jz(e,o),series:l,tooltip:Yz(e,l,i),grid:Vz(e),legend:Fz(l)}}const Qu={x_axes:[{id:"initial-x",min:"",max:"",name:"X Axis",data_key:"",position:"bottom",label_formatter:dn,show:!0}],y_axis:{name:"Y Axis",data_key:"",axisLabel:{formatter:{...jn},overflow:lr},nameAlignment:"center"},series:[],tooltip:{metrics:[]},reference_lines:[]};function tF(){const e=new Date().getTime().toString();return{id:e,min:"",max:"",name:e,data_key:"",position:"bottom",label_formatter:dn,show:!0}}function nF(){const e=new Date().getTime().toString();return{id:e,type:"bar",name:e,stack:"",color:"",barGap:"0%",data_key:"",barWidth:"",barMinWidth:"1",barMaxWidth:"10",group_by_key:"",hide_in_legend:!1,invisible:!1,label_position:"right",aggregation_on_value:ho,xAxisIndex:"0"}}function rF(){const e=new Date().getTime().toString();return{id:e,name:e,template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:"#868E96"},show_in_legend:!1,xAxisIndex:"0"}}bt.use([Pe.DataZoomComponent,Mt.BarChart,Mt.LineChart,Mt.ScatterChart,Pe.GridComponent,Pe.LegendComponent,Pe.TooltipComponent,vn.CanvasRenderer,Pe.MarkLineComponent,Pe.MarkAreaComponent]);function iF({conf:e,data:t,width:n,height:r,interactionManager:i,variables:o}){const a=b.useMemo(()=>H.default.keyBy(t,e.y_axis.data_key),[t,e.y_axis.data_key]),l=Bn(i.triggerManager,hu.id),u=b.useCallback(p=>{const h=H.default.get(a,p.name,{error:"rowData is not found"});l.forEach(g=>{i.runInteraction(g.id,{...p,rowData:h})})},[a,l,i]),d=b.useMemo(()=>({click:u}),[u]),f=Q.default.useMemo(()=>eF(e,t,o),[e,t]);return!n||!r?null:s(mn.default,{echarts:bt,option:f,style:{width:n,height:r},onEvents:d,notMerge:!0})}function oF({context:e,instance:t}){const n=qn({vizManager:e.vizManager,instance:t}),{value:r}=ze(e.instanceData,"config"),{variables:i}=e,o=b.useMemo(()=>W.defaults({},r,Qu),[r]),a=e.data,{width:l,height:u}=e.viewport;return s(c.Box,{children:s(iF,{variables:i,width:l,height:u,data:a,conf:o,interactionManager:n})})}const aF=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],sF=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function lF({control:e,index:t,remove:n,watch:r,variableOptions:i,xAxisOptions:o}){const a=r(`reference_lines.${t}.orientation`);return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>s(c.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>s(c.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...l})})]}),s(D.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>s(c.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),y(c.Group,{grow:!0,children:[y(c.Stack,{children:[s(D.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>s(c.Select,{label:"Orientation",data:sF,required:!0,sx:{flex:1},...l})}),a==="vertical"&&s(c.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),a==="horizontal"&&s(D.Controller,{name:`reference_lines.${t}.xAxisIndex`,control:e,render:({field:l})=>s(c.Select,{label:"X Axis",data:o,disabled:o.length===0,sx:{flex:1},...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>s(c.Select,{label:"Line Type",data:aF,sx:{flexGrow:1},...l})}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>s(c.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>s(bn,{...l})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:l})=>s(c.Checkbox,{label:"Show in legend",checked:l.value,onChange:u=>l.onChange(u.currentTarget.checked)})}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function uF({control:e,watch:t,variables:n}){const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=r.map((g,v)=>({...g,...a[v]})),u=()=>{const g=rF();i(g)},d=b.useMemo(()=>n.map(g=>({label:g.name,value:g.name})),[n]),f=t("x_axes"),p=b.useMemo(()=>f.map(({name:g},v)=>({label:g,value:v.toString()})),[f]),h=l.length>0?l[0].id:"0";return y(c.Tabs,{defaultValue:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[l.map((g,v)=>s(c.Tabs.Tab,{value:g.id,children:g.name},v)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((g,v)=>s(c.Tabs.Panel,{value:g.id,children:s(lF,{control:e,index:v,remove:o,watch:t,variableOptions:d,xAxisOptions:p})},v))]})}function cF(e){const[t,n]=b.useState(e);return b.useEffect(()=>{n(e)},[e]),{tab:t,setTab:n}}const dF=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function fF({control:e,index:t,seriesItem:n}){const r=!!n.barWidth.trim();return y(be,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.stack`,control:e,render:({field:i})=>s(c.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barGap`,control:e,render:({field:i})=>s(c.Select,{label:"Bar Gap",data:dF,sx:{flexGrow:1},...i})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Min)",disabled:r,sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width",sx:{flexGrow:1},...i})}),s(D.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:i})=>s(c.TextInput,{label:"Bar Width(Max)",disabled:r,sx:{flexGrow:1},...i})})]})]})}const pF=[{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 hF({control:e,index:t,remove:n,seriesItem:r,xAxisOptions:i,data:o}){return y(c.Stack,{my:0,p:0,sx:{position:"relative"},children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.name`,control:e,render:({field:a})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...a})}),s(D.Controller,{name:`series.${t}.xAxisIndex`,control:e,render:({field:a})=>s(c.Select,{label:"X Axis",data:i,disabled:i.length===0,sx:{flex:1},...a})})]}),y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:`series.${t}.data_key`,control:e,render:({field:a})=>s(Ye,{label:"Value Field",required:!0,data:o,sx:{flex:1},...a})}),s(D.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:a})=>{var l;return s($a,{label:"Aggregation on Value",value:(l=a.value)!=null?l:ho,onChange:a.onChange,pt:0})}})]}),s(c.Group,{grow:!0,children:s(D.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:a})=>s(Ye,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...a})})}),s(fF,{index:t,control:e,seriesItem:r}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.label_position`,control:e,render:({field:a})=>s(c.Select,{label:"Label Position",data:pF,...a})}),y(c.Stack,{spacing:4,children:[s(c.Text,{size:"sm",children:"Color"}),s(D.Controller,{name:`series.${t}.color`,control:e,render:({field:a})=>s(bn,{...a})})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:a})=>s(c.Checkbox,{label:"Hide in legend",checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})}),s(D.Controller,{name:`series.${t}.invisible`,control:e,render:({field:a})=>s(c.Checkbox,{label:"Invisible",checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})}),s(c.Divider,{mb:-10,mt:10,variant:"dashed"}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function gF({control:e,watch:t,data:n}){var g;const{fields:r,append:i,remove:o}=D.useFieldArray({control:e,name:"series"}),a=t("series"),l=r.map((v,m)=>({...v,...a[m]})),u=()=>{const v=nF();i(v)},d=t("x_axes"),f=Q.default.useMemo(()=>d.map(({name:v},m)=>({label:v,value:m.toString()})),[d]),{tab:p,setTab:h}=cF((g=l[0])==null?void 0:g.id);return y(c.Tabs,{value:p,onTabChange:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px",paddingTop:"6px"}},children:[y(c.Tabs.List,{children:[l.map(v=>s(c.Tabs.Tab,{value:v.id,children:v.name},v.id)),s(c.Tabs.Tab,{onClick:u,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),l.map((v,m)=>s(c.Tabs.Panel,{value:v.id,children:s(hF,{control:e,index:m,remove:o,seriesItem:v,xAxisOptions:f,data:n},v.id)},v.id))]})}const vF=[{label:"Top",value:"top"},{label:"Bottom",value:"bottom"}];function mF({control:e,index:t,remove:n}){return y(c.Stack,{my:0,p:"0",sx:{position:"relative"},children:[s(c.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`x_axes.${t}.name`,control:e,render:({field:r})=>s(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})})}),s(c.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:`x_axes.${t}.position`,control:e,render:({field:r})=>s(c.Select,{label:"Position",required:!0,data:vF,sx:{flex:1},...r})})}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),s(D.Controller,{name:`x_axes.${t}.label_formatter`,control:e,render:({field:r})=>s(Gn,{...r})})]}),y(c.Stack,{children:[s(c.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),y(c.Group,{grow:!0,children:[s(D.Controller,{name:`x_axes.${t}.min`,control:e,render:({field:r})=>s(c.TextInput,{label:"Min",...r})}),s(D.Controller,{name:`x_axes.${t}.max`,control:e,render:({field:r})=>s(c.TextInput,{label:"Max",...r})})]})]}),s(c.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),s(D.Controller,{name:`x_axes.${t}.show`,control:e,render:({field:r})=>s(c.Checkbox,{label:"Visible",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})}),s(c.Button,{mt:20,leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:()=>n(t),disabled:t===0,children:"Delete this X Axis"})]})}function yF({control:e,watch:t}){const{fields:n,append:r,remove:i}=D.useFieldArray({control:e,name:"x_axes"}),o=t("x_axes"),a=n.map((d,f)=>({...d,...o[f]})),l=()=>{const d=tF();r(d)},u=a.length>0?a[0].id:"0";return y(c.Tabs,{defaultValue:u,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[y(c.Tabs.List,{children:[a.map(d=>s(c.Tabs.Tab,{value:d.id,children:d.name},d.id)),s(c.Tabs.Tab,{onClick:l,value:"add",children:s(re.Plus,{size:18,color:"#228be6"})})]}),a.map((d,f)=>s(c.Tabs.Panel,{value:d.id,children:s(mF,{control:e,index:f,remove:i})},d.id))]})}function bF({data:e,control:t,watch:n}){return n(["y_axis"]),y(c.Stack,{children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(D.Controller,{name:"y_axis.data_key",control:t,render:({field:r})=>s(Ye,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),s(D.Controller,{name:"y_axis.name",control:t,render:({field:r})=>s(c.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),s(c.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),s(c.Group,{grow:!0,noWrap:!0,children:s(D.Controller,{name:"y_axis.axisLabel.formatter",control:t,render:({field:r})=>s(ja,{data:e,...r})})}),s(D.Controller,{name:"y_axis.axisLabel.overflow",control:t,render:({field:r})=>s(jr,{...r})})]})}function xF({context:e}){const{value:t,set:n}=ze(e.instanceData,"config"),{variables:r}=e,i=e.data,o=b.useMemo(()=>H.default.defaultsDeep({},t,Qu),[t]),{control:a,handleSubmit:l,watch:u,getValues:d,reset:f}=D.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),u([]);const p=d(),h=b.useMemo(()=>!H.default.isEqual(p,o),[p,o]);return s(c.Stack,{spacing:"xs",children:y("form",{onSubmit:l(n),children:[y(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s(c.Text,{children:"Horizontal Bar Chart Config"}),s(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:s(re.DeviceFloppy,{size:20})})]}),y(c.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"X Axes",children:"X Axes"}),s(c.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),s(c.Tabs.Tab,{value:"Series",children:"Series"}),s(c.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),s(c.Tabs.Panel,{value:"X Axes",children:s(yF,{control:a,watch:u})}),s(c.Tabs.Panel,{value:"Y Axis",children:s(bF,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Series",children:s(gF,{control:a,watch:u,data:i})}),s(c.Tabs.Panel,{value:"Reference Lines",children:s(uF,{variables:r,control:a,watch:u})})]})]})})}class wF extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const CF={displayName:"Horizontal Bar Chart",displayGroup:"ECharts-based charts",migrator:new wF,name:"horizontalBarChart",viewRender:oF,configRender:xF,createConfig:()=>({version:1,config:Qu})},SF=[{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"})),_F=[W2,q2,Y2,U2,H2,X2],sm=()=>({id:"dashboard",version:nu,manifest:{viz:[Wu,fL,nz,e$,PL,SN,CF,oA,cR,fI,FI,Lz,yN,KP,iL,zN,XN,cz,_R],color:[...SF,..._F]}}),_o=new J2,Bt={pluginManager:Qn("pluginManager"),vizManager:Qn("vizManager"),colorManager:Qn("colorManager"),instanceScope:{panelModel:Qn("panelModel"),vizInstance:Qn("vizInstance"),interactionManager:Qn("interactionManager"),migrator:Qn("migrator"),operationManager:Qn("operationManager"),triggerManager:Qn("triggerManager")}},Zu=()=>{try{_o.install(sm())}catch{}const e=new G2(_o),t=new Z2(_o);return{pluginManager:_o,vizManager:e,colorManager:t}},Wn=b.createContext(Zu());try{_o.install(sm())}catch{}function EF(e,t){const{value:n,set:r}=ze(e.operation.operationData,"config"),[i,o]=b.useState(W.defaults({},n,t)),a=async()=>{await r(i)};return b.useEffect(()=>{o(W.defaults({},n,t))},[n]),{config:i,setConfig:o,commit:a}}function TF(e){const{config:t,setConfig:n,commit:r}=EF(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function o(l){n({...t,openInNewTab:l}),await r()}const a=l=>n({...t,urlTemplate:l.currentTarget.value});return y(c.Stack,{children:[s(c.TextInput,{label:"Url",value:t.urlTemplate,onChange:a,onBlur:i}),s(c.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:l=>o(l.currentTarget.checked)})]})}async function MF(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 kF extends Ft{constructor(){super(...arguments);ke(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const DF={displayName:"Open Link",id:"builtin:op:open-link",configRender:TF,run:MF,migrator:new kF,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function OF(e){const{value:t,set:n}=ze(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function AF(e){const[t,n]=OF(e.operation);return s(c.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function RF(e,t){const n=await t.operationData.getItem("config"),r=W.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const PF={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:AF,run:RF},IF=ee.observer(e=>{const t=Ie(),{value:n,set:r}=ze(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 s(c.Select,{defaultValue:i,value:i,onChange:o,label:"View",data:t.views.options})});async function NF(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const $F={displayName:"Open View",id:"builtin:op:open_view",configRender:IF,run:NF},LF={dictionary:{}},VF=ee.observer(e=>{const t=Ie(),{value:n=LF,set:r}=ze(e.operation.operationData,"config"),{dictionary:i={}}=n,o=(u,d)=>{r({dictionary:{...i,[u]:d}})},a=()=>{o(t.filters.firstFilterValueKey,"")},l=u=>{const d={...i};delete d[u],r({dictionary:d})};return y(c.Stack,{spacing:10,children:[s(c.Text,{children:"Mapping Rules"}),Object.entries(i).map(([u,d])=>y(c.Flex,{justify:"space-between",gap:10,children:[s(c.TextInput,{label:"Payload key",value:d,onChange:f=>{o(u,f.currentTarget.value)},sx:{flexGrow:1}}),s(Ye,{data:[t.filters.values],value:u,onChange:f=>{o(f,d)},label:"Filter key",sx:{flexGrow:1}}),s(c.ActionIcon,{onClick:()=>l(u),sx:{marginTop:"26px",flexGrow:0},children:s(re.Trash,{size:14,color:"red"})})]},u)),s(c.Button,{size:"xs",onClick:a,sx:{alignSelf:"center",width:"300px"},children:"Add one mapping rule"})]})});async function zF(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const FF={displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:VF,run:zF},BF={filter_keys:[]},GF=ee.observer(e=>{const t=Ie(),{value:n=BF,set:r}=ze(e.operation.operationData,"config"),{filter_keys:i=[]}=n,o=l=>{r({filter_keys:[...l]})},a=b.useMemo(()=>t.filters.current.map(l=>({label:l.label,value:l.key})),[t.filters.values]);return s(c.Stack,{spacing:10,children:s(c.MultiSelect,{label:"Select Filters to Clear",data:a,value:i,onChange:o})})});async function jF(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 es=[PF,DF,$F,FF,{displayName:"Clear Filter Values",id:"builtin:op:clear_filter_values",configRender:GF,run:jF}];class KF{constructor(t,n=es){ke(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 wi(i,"data")}};this.attachments=new tu(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,l;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:(l=(a=n.createDefaultConfig)==null?void 0:a.call(n))!=null?l:{}}):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 lm="__TRIGGERS";class WF{constructor(t,n){ke(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 wi(i,"data")}};this.attachments=new tu(t,lm,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(lm,n=>{const r=W.values(n).map(i=>({id:W.get(i,"id"),schemaRef:W.get(i,"schemaRef"),config:It.toJS(W.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var l;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:((l=n==null?void 0:n.createDefaultConfig)==null?void 0:l.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(l=>l.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 Ju{constructor(t,n,r){ke(this,"operationManager");ke(this,"triggerManager");ke(this,"attachments");this.operationManager=new KF(t,r),this.triggerManager=new WF(t,n);const i=async o=>{const{id:a,triggerRef:l,operationRef:u}=await o.getItem(null);return{id:a,triggerRef:l,operationRef:u}};this.attachments=new tu(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 qn=({vizManager:e,instance:t})=>tt.useCreation(()=>new Ju(t,e.resolveComponent(t.type),es),[t,e]),um=e=>{const{title:t="Variables",variables:n}=e,r=qt.useClipboard(),i=o=>{r.copy(o),Ko.showNotification({color:"green",message:"Copied to clipboard"})};return y(c.Paper,{withBorder:!0,p:"sm",children:[s(c.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),s(c.Stack,{style:{maxHeight:"500px"},children:n.map(o=>y(c.Text,{size:"sm",children:[y(c.Code,{color:"teal",children:["// ",o.description]}),s("br",{}),y(c.Code,{onClick:()=>i(o.name),style:{cursor:"pointer"},children:[o.name," : ",o.valueType]})]},o.name))})]})};class qF{constructor(t,n){ke(this,"operationId");ke(this,"operation");ke(this,"operationSchema");ke(this,"variables",[]);this.operationManager=t,this.instance=n,It.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));It.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 HF(e){return!!e.operationId}const UF=ee.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return s(c.Button,{variant:"outline",onClick:t,children:n})}),YF=ee.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return b.createElement(e.operationSchema.configRender,t)});function XF({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 s(c.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const QF=ee.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),{operationManager:i,operationId:o,instance:a,variables:l}=e,u=tt.useCreation(()=>new qF(i,a),[i,a]);return tt.useAsyncEffect(async()=>{await u.configOperation(o,l)},[o,u]),HF(u)?y(be,{children:[s(UF,{model:u,onClick:n}),s(c.Modal,{size:600,opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",zIndex:320,children:y(c.Stack,{children:[s(XF,{model:u}),s(YF,{model:u}),s(um,{title:"Variables",variables:u.variables})]})})]}):null});class ZF{constructor(t,n){ke(this,"triggerId");ke(this,"trigger");ke(this,"triggerSchema");ke(this,"sampleData");this.triggerManager=t,this.instance=n,It.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));It.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 JF(this)}}function JF(e){return!!e.triggerId&&!!e.triggerSchema}function e3(e,t){return tt.useCreation(()=>new ZF(e,t),[e,t])}const t3=ee.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return s(c.Button,{variant:"outline",onClick:t,children:b.createElement(n,r)})}),n3=ee.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 s(c.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),r3=ee.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return b.createElement(e.triggerSchema.configRender,t)}),i3=ee.observer(e=>{const[t,{setTrue:n,setFalse:r}]=tt.useBoolean(!1),i=e.model;return y(be,{children:[s(c.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",zIndex:320,children:y(c.Stack,{children:[s(n3,{model:i}),s(r3,{model:i}),s(um,{title:"Payload",variables:i.triggerSchema.payload})]})}),s(t3,{onClick:n,model:i})]})});function o3(e,t){const[n,r]=b.useState([]);return tt.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t,e]),n}const a3=ee.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:o})=>{const{triggerRef:a,operationRef:l}=e,u=e3(t.triggerManager,n);if(tt.useAsyncEffect(async()=>{await u.configTrigger(a,r)},[u,a,r]),u.isReady()){const d=[...u.triggerSchema.payload,...i];return y(c.Group,{children:[s(i3,{model:u}),s(QF,{instance:n,operationId:l,variables:d,operationManager:t.operationManager}),s(c.ActionIcon,{"aria-label":"delete-interaction",variant:"filled",color:"red",onClick:()=>o(e),children:s(re.Trash,{size:16})})]})}return null}),s3=e=>{const[t,n]=b.useState(0),{interactionManager:r,instance:i,sampleData:o,variables:a}=e,l=o3(r,t),u=async()=>{const h=await r.triggerManager.createOrGetTrigger(qt.randomId(),r.triggerManager.getTriggerSchemaList()[0]),g=await r.operationManager.createOrGetOperation(qt.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(h,g),n(v=>v+1)};async function d(h){await r.removeInteraction(h.id),n(g=>g+1)}const{data:f=0,loading:p}=tt.useRequest(async()=>{try{return(await r.triggerManager.getTriggerSchemaList()).length}catch{return 0}});return y(c.Stack,{children:[s(c.LoadingOverlay,{visible:p}),f===0&&s(c.Alert,{icon:s(re.AlertCircle,{size:16}),title:"Unavailable",color:"gray",children:"This visualization does not have available interactions to choose from"}),l.map(h=>s(a3,{onRemove:d,instance:i,sampleData:o,variables:a,item:h,manager:e.interactionManager},h.id)),s(c.Button,{style:{width:"fit-content"},onClick:()=>u(),disabled:f===0,children:"Add interaction"})]})},l3=()=>{const{panel:e,data:t}=Qt(),n=e.viz,{vizManager:r}=b.useContext(Wn),i=e.json,o=tt.useCreation(()=>r.getOrCreateInstance(i),[r,i]),a=tt.useCreation(()=>new Ju(o,r.resolveComponent(n.type),es),[o,n.type]);return b.useEffect(()=>o.instanceData.watchItem(null,W.throttle(l=>{e.viz.setConf(l)},100,{leading:!1,trailing:!0})),[o]),{instance:o,vizManager:r,interactionManager:a,sampleData:t,variables:[]}},u3=()=>{const e=l3();return s(s3,{...e})};var cm=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(cm||{}),ts=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(ts||{});class c3{constructor(t){ke(this,"vizInstance");ke(this,"operationManager");ke(this,"triggerManager");ke(this,"vizManager");ke(this,"runningMigration");ke(this,"panelModel");ke(this,"status","notStarted");this.panelModel=t.getRequired(Bt.instanceScope.panelModel),this.vizInstance=t.getRequired(Bt.instanceScope.vizInstance),this.operationManager=t.getRequired(Bt.instanceScope.operationManager),this.triggerManager=t.getRequired(Bt.instanceScope.triggerManager),this.vizManager=t.getRequired(Bt.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 dm(e){const{panel:t}=Qt();return b.useCallback(n=>{const r=n.getRequired(Bt.vizManager),i=r.resolveComponent(e.viz.type);return n.createScoped().provideFactory(Bt.instanceScope.vizInstance,()=>r.getOrCreateInstance(e)).provideFactory(Bt.instanceScope.interactionManager,o=>{const a=o.getRequired(Bt.instanceScope.vizInstance);return new Ju(a,i,es)}).provideFactory(Bt.instanceScope.operationManager,o=>o.getRequired(Bt.instanceScope.interactionManager).operationManager).provideFactory(Bt.instanceScope.triggerManager,o=>o.getRequired(Bt.instanceScope.interactionManager).triggerManager).provideValue(Bt.instanceScope.panelModel,t).provideFactory(Bt.instanceScope.migrator,o=>new c3(o))},[e.viz.type,e.viz.conf])}function fm(e){const[t,n]=b.useState(!1),r=_d().getRequired(Bt.instanceScope.migrator);return tt.useAsyncEffect(async()=>{const i=r.status===ts.notStarted;n(r.status===ts.done),r.status===ts.notStarted&&r.runMigration().then(o=>{o===cm.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function pm(e,t){const n=_d().getRequired(Bt.instanceScope.vizInstance);return b.useEffect(()=>(n.instanceData.setItem(null,t.viz.conf),n.instanceData.watchItem(null,r=>{e(r)})),[e,t.viz.type]),n}function d3({setVizConf:e,...t}){const{panel:n}=t,r=pm(e,n),i=fm(()=>{Ko.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?s(K2,{...t}):s(c.Text,{children:"Checking update..."})}function f3(e){const{panel:t,setVizConf:n}=e;return pm(n,t),fm(()=>{Ko.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?s(j2,{...e}):s(c.Text,{children:"Checking update"})}const wq="";function p3(e,t){const{vizManager:n}=b.useContext(Wn),{panel:{viz:r,title:i,id:o,description:a,queryID:l,variables:u}}=Qt(),d={title:i,id:o,description:a,queryID:l,viz:r,layout:t},f=dm(d);try{return n.resolveComponent(r.type),s(Yo,{configure:f,children:s(f3,{setVizConf:r.setConf,panel:d,data:e,variables:u,vizManager:n})})}catch(p){return console.info(W.get(p,"message")),null}}const h3=["richText","button"],hm=ee.observer(function({height:t,viz:n,data:r,loading:i,error:o,query:a}){const{ref:l,width:u,height:d}=qt.useElementSize(),f=p3(r,{w:u,h:d});if(h3.includes(n.type))return s("div",{className:"viz-root",style:{height:t},ref:l,children:s(Zn,{children:f})});if(i)return s("div",{className:"viz-root",style:{height:t,position:"relative"},ref:l,children:s(c.LoadingOverlay,{visible:i,exitTransitionDuration:0})});const h=!!o,g=!h&&!!(a!=null&&a.stateMessage),v=!h&&!g;return y("div",{className:"viz-root",style:{height:t},ref:l,children:[h&&s(c.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:o}),g&&s(c.Text,{color:"gray",align:"center",children:a.stateMessage}),v&&s(Zn,{children:f})]})});function g3(e){return!["richText","button"].includes(e)}const v3={border:"1px solid #e9ecef"},gm={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function m3(e,t,n){return e.style.border.enabled?v3:n||t?gm:{border:"1px dashed transparent"}}const ns=ee.observer(function({panel:t,view:n}){const r=Ie(),{inEditMode:i}=b.useContext(Lr),{data:o,state:a,error:l}=r.getDataStuffByID(t.queryID),u=r.queries.findByID(t.queryID),d=g3(t.viz.type),f=d&&a==="loading",p=t.title?"calc(100% - 25px - 5px)":"100%",h=m3(t,d,i),g=d||i;return s(Ks,{value:{panel:t,data:o,loading:f},children:y(c.Box,{className:"panel-root",p:5,pt:0,sx:{...h},children:[s(c.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:s(Rg,{})}),g&&s(z2,{view:n}),s(F2,{}),s(hm,{viz:t.viz,data:o,loading:f,error:l,height:p,query:u})]})})}),Cq="",y3=Q.default.forwardRef(({handleAxis:e},t)=>s(c.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:s(re.ArrowsMove,{size:16})})),b3=Q.default.forwardRef(({handleAxis:e,...t},n)=>s(c.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:s(re.ChevronDownRight,{size:16})})),x3=Ls.WidthProvider(yd.default),w3=ee.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:o}){const a=Q.default.useCallback(l=>{l.forEach(({i:u,...d})=>{const f=t.panels.findByID(u);!f||f.layout.set(d)})},[t]);return s(x3,{onLayoutChange:a,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:o,draggableHandle:".react-grid-customDragHandle",resizeHandle:s(b3,{}),children:t.panels.list.map((l,u)=>y("div",{"data-grid":{...l.layout},style:{position:"relative"},children:[i&&s(y3,{}),s(ns,{view:t,panel:l})]},l.id))})}),C3=Ls.WidthProvider(yd.default),S3=ee.observer(function({view:t,className:n="layout",rowHeight:r=10}){return s(C3,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>s("div",{"data-grid":i.layout,children:s(ns,{view:t,panel:i})},i.id))})});var vm=(e=>(e.Use="use",e.Edit="edit",e))(vm||{}),ot=(e=>(e.Division="div",e.Modal="modal",e.Tabs="tabs",e))(ot||{});const _3={div:"Division",tabs:"Tabs",modal:"Modal"},mm={div:"rgba(255, 0, 0, 0.2)",modal:"rgba(0, 0, 0, 0.2)",tabs:"rgba(255, 200, 100, 0.4)"},E3={div:"#ff4000",modal:"#000",tabs:"#ffad18"};var ec=(e=>(e.Select="select",e.TreeSelect="tree-select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(ec||{});const T3=ee.observer(({children:e})=>s(c.Box,{pt:10,pb:100,children:e})),M3=ee.observer(({children:e,view:t})=>{const n=t.config;return s(c.Modal,{size:n.width,overflow:"inside",opened:!0,onClose:H.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})}),k3=({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},D3=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},O3=ee.observer(({children:e,view:t})=>{const n=Vn.useModals(),r=Ie(),i=b.useMemo(()=>r.views.options.filter(u=>u.type===ot.Division),[t.id,r.views.options]),o=t.config,a=u=>n.openConfirmModal({title:"Delete this tab?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{o.removeTab(u)},confirmProps:{color:"red"},zIndex:320}),l=o.tabs.length===0;return y(c.Box,{className:"preview-view-tabs",children:[y(c.Tabs,{variant:o.variant,orientation:o.orientation,defaultValue:o.tabs.length>0?o.tabs[0].id:"0",styles:k3(o),children:[y(c.Tabs.List,{grow:o.grow,children:[o.tabs.map(u=>{var d;return s(c.Tabs.Tab,{value:u.id,sx:D3(u),children:(d=u.name)!=null?d:u.id},u.id)}),s(c.Tabs.Tab,{onClick:o.addTab,value:"add",className:"add-a-tab",children:s(re.Plus,{size:18,color:"#228be6"})})]}),o.tabs.map((u,d)=>{const f=r.views.findByID(u.view_id);return y(c.Tabs.Panel,{value:u.id,sx:{position:"relative"},children:[y(c.Box,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:200},children:[s(c.Overlay,{opacity:.8,color:"#FFF",blur:10,zIndex:100}),y(c.Stack,{mx:"auto",mt:100,sx:{width:"300px",position:"relative",zIndex:200},children:[s(c.TextInput,{label:"Tab Name",value:u.name,onChange:p=>u.setName(p.currentTarget.value)}),s(c.Select,{label:"View",value:u.view_id,onChange:u.setViewID,data:i}),s(c.ColorInput,{label:"Color",value:u.color,onChange:u.setColor,disabled:o.variant!=="default"}),f&&y(c.Button,{mt:20,variant:"gradient",leftIcon:s(ux,{size:18}),gradient:{from:"cyan",to:"indigo"},onClick:()=>r.views.setIDOfVIE(f.id),children:["Swith to View: ",f.name]}),s(c.Button,{mt:20,variant:"subtle",color:"red",onClick:()=>a(d),disabled:l,leftIcon:s(qi,{size:14}),children:"Delete This Tab"})]})]}),f&&s(rs,{view:f})]},u.id)})]}),e]})}),A3=ee.observer(({view:e,children:t})=>{switch(e.type){case ot.Modal:return s(M3,{view:e,children:t});case ot.Tabs:return s(O3,{view:e,children:t});case ot.Division:default:return s(T3,{children:t})}}),ym=ee.observer(function({view:t}){return s(Bs.Provider,{value:{viewPanelInFullScreen:H.default.noop,inFullScreen:!1},children:s(c.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:s(A3,{view:t,children:y(c.Box,{sx:{position:"relative"},children:[s(c.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:s(Ag,{view:t})}),s(w3,{view:t,isDraggable:!0,isResizable:!0})]})})})})}),R3=ee.observer(function({view:t,panel:n,exitFullScreen:r}){return y(c.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[s(c.Group,{sx:{flexGrow:0},children:s(c.Button,{variant:"default",size:"sm",onClick:r,leftIcon:s(re.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),s(c.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:s(ns,{view:t,panel:n})})]})});function P3(e,t,n){const r=e.id==="Main",[i,o]=Q.default.useState(()=>r&&e.panels.findByID(t)?t:null),a=Q.default.useCallback(f=>{o(f),r&&n(f)},[r,n]),l=Q.default.useCallback(()=>{o(null),r&&n("")},[r,n]),u=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:a,exitFullScreen:l,inFullScreen:!!u,fullScreenPanel:u}}const I3=ee.observer(({children:e})=>s(c.Box,{children:e})),N3=ee.observer(({children:e,view:t})=>{const n=Ie(),r=t.config,i=n.views.visibleViewIDs.includes(t.id),o=()=>n.views.rmVisibleViewID(t.id);return s(c.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})}),$3=e=>e.color?{"&[data-active], &[data-active]:hover":{borderColor:e.color?e.color:"..."}}:{},L3=ee.observer(({children:e,view:t})=>{const n=Ie(),r=t.config;return y(c.Box,{className:"render-view-tabs",children:[y(c.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:[s(c.Tabs.List,{grow:r.grow,children:r.tabs.map(i=>{var o;return s(c.Tabs.Tab,{value:i.id,sx:$3(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?s(c.Tabs.Panel,{value:i.id,children:s(rs,{view:o})},i.id):null})]}),e]})}),V3=ee.observer(({view:e,children:t})=>{switch(e.type){case ot.Modal:return s(N3,{view:e,children:t});case ot.Tabs:return s(L3,{view:e,children:t});case ot.Division:default:return s(I3,{children:t})}}),rs=ee.observer(function({view:t}){const{fullScreenPanelID:n,setFullScreenPanelID:r}=jd(),{viewPanelInFullScreen:i,exitFullScreen:o,inFullScreen:a,fullScreenPanel:l}=P3(t,n,r);return s(Bs.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:a},children:y(c.Box,{className:"dashboard-view","data-enable-scrollbar":!0,children:[a&&s(R3,{view:t,panel:l,exitFullScreen:o}),s(V3,{view:t,children:y(c.Box,{sx:{position:"relative"},children:[!a&&s(c.Box,{className:"dashboard-sticky-area",sx:{position:"sticky",top:"0px"},children:s(Ag,{view:t})}),!a&&s(S3,{view:t})]})})]})})});function z3(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 l=o[a];l!="sign"&&e[i][l]&&n.push(o[a]+"="+(typeof e[i][l]=="object"?JSON.stringify(e[i][l]):e[i][l]))}}}return n.sort().join("&")}function F3(e,t){let n=z3(e);return n+="&key="+t,xd.default.MD5(n).toString().toUpperCase()}const qr={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:F3({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},l={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a,signal:t};return["POST","PUT"].includes(e)&&(l.data=i.string?JSON.stringify(r):r,l.data.authentication=this.getAuthentication(l.data)),Ho.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}};function bm(e){qr.baseURL!==e.apiBaseURL&&(qr.baseURL=e.apiBaseURL),e.app_id&&(qr.app_id=e.app_id),e.app_secret&&(qr.app_secret=e.app_secret)}const xm=O.types.model("FilterConfigModel_Checkbox",{_name:O.types.literal("checkbox"),description:O.types.optional(O.types.string,""),default_value:O.types.boolean}).views(e=>({get json(){const{_name:t,default_value:n}=e;return{_name:t,default_value:n}},get isDescriptionEmpty(){const{description:t}=e;return t===""||t==="<p></p>"}})).actions(e=>({setDefaultValue(t){e.default_value=t},setDescription(t){e.description=t}})),B3=()=>xm.create({_name:"checkbox",description:"",default_value:!1});var kn=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(kn||{}),Jt=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TreeSelect="tree-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Jt||{});O.types.model({type:O.types.enumeration("DataSourceType",[kn.Postgresql,kn.MySQL,kn.HTTP]),key:O.types.string,sql:O.types.string});function wm(e,t){return e.map(n=>{try{return n?sn.default.tz(n,"UTC").format(t):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}const G3=O.types.model("FilterConfigModel_DateRange",{_name:O.types.literal("date-range"),required:O.types.boolean,inputFormat:O.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:O.types.optional(O.types.array(O.types.union(O.types.string,O.types.null)),[null,null]),clearable:O.types.boolean,max_days:O.types.optional(O.types.number,0),allowSingleDateInRange:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{_name:t,max_days:n,required:r,clearable:i,inputFormat:o,default_value:a,allowSingleDateInRange:l}=e;return{_name:t,max_days:n,required:r,clearable:i,inputFormat:o,default_value:wm(a,o),allowSingleDateInRange:l}},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 sn.default(t).startOf("day").add(n,"days").toDate()},getMinDate(t){const{max_days:n}=e;if(!(!n||!t))return sn.default(t).startOf("day").subtract(n,"days").toDate()}})).actions(e=>({setFilterValue(t){try{const n=O.getParent(e);O.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}})),Cm=O.types.snapshotProcessor(G3,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:sn.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:wm(e,t.inputFormat)}}}),j3=()=>Cm.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),K3=O.types.model({label:O.types.string,value:O.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),tc=O.types.model("FilterConfigModel_BaseSelect",{static_options:O.types.optional(O.types.array(K3),[]),options_query_id:O.types.optional(O.types.string,""),default_selection_count:O.types.optional(O.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}=O.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:""}})),Sm=O.types.compose("FilterConfigModel_MultiSelect",O.types.model({_name:O.types.literal("multi-select"),min_width:O.types.optional(O.types.string,""),default_value:O.types.optional(O.types.array(O.types.string),[])}),tc).views(e=>({get json(){const{_name:t,default_value:n,min_width:r,static_options:i,options_query_id:o,default_selection_count:a}=e;return{_name:t,min_width:r,default_value:n,static_options:i,options_query_id:o,default_selection_count:a}},get default_selection(){return e.usingQuery?e.options.slice(0,e.default_selection_count).map(t=>t.value):e.default_value}})).actions(e=>({setDefaultValue(t){e.default_value=O.cast(t)},setMinWidth(t){e.min_width=t},setDefaultSelection(){const t=O.getRoot(e).filters,n=O.getParent(e).key;t.setValueByKey(n,e.default_selection)}})).actions(e=>({afterCreate(){O.addDisposer(e,It.reaction(()=>It.toJS(e.default_selection),e.setDefaultSelection,{fireImmediately:!0,delay:0}))}})),W3=()=>Sm.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),_m=O.types.compose("FilterConfigModel_TreeSelect",O.types.model({_name:O.types.literal("tree-select"),min_width:O.types.optional(O.types.string,""),default_value:O.types.optional(O.types.array(O.types.string),[])}),tc).views(e=>({get json(){const{_name:t,default_value:n,min_width:r,static_options:i,options_query_id:o,default_selection_count:a}=e;return{_name:t,min_width:r,default_value:n,static_options:i,options_query_id:o,default_selection_count:a}}})).actions(e=>({setDefaultValue(t){e.default_value=O.cast(t)},setMinWidth(t){e.min_width=t}})),q3=()=>_m.create({_name:"tree-select",default_value:[],static_options:[],options_query_id:"",default_selection_count:0}),Em=O.types.compose("FilterConfigModel_Select",O.types.model({_name:O.types.literal("select"),default_value:O.types.string,required:O.types.boolean,width:O.types.optional(O.types.string,"")}),tc).views(e=>({get json(){const{_name:t,default_value:n,required:r,width:i,static_options:o,options_query_id:a,default_selection_count:l}=e;return{_name:t,width:i,required:r,default_value:n,static_options:o,options_query_id:a,default_selection_count:l}},truthy(t){return!!t}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setWidth(t){e.width=t}})),H3=()=>Em.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",default_selection_count:0}),Tm=O.types.model("FilterConfigModel_TextInput",{_name:O.types.literal("text-input"),required:O.types.boolean,default_value:O.types.string}).views(e=>({get json(){const{_name:t,required:n,default_value:r}=e;return{_name:t,required:n,default_value:r}},truthy(t){return typeof t!="string"?!1:!!t.trim()}})).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),Mm=()=>Tm.create({_name:"text-input",required:!1,default_value:""}),nc=O.types.model("FilterModel",{id:O.types.identifier,key:O.types.string,label:O.types.string,order:O.types.number,visibleInViewsIDs:O.types.array(O.types.string),auto_submit:O.types.optional(O.types.boolean,!1),type:O.types.enumeration("DashboardFilterType",[Jt.Select,Jt.MultiSelect,Jt.TreeSelect,Jt.TextInput,Jt.Checkbox,Jt.DateRange]),config:O.types.union(Em,Sm,_m,Tm,xm,Cm)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t},get usingDefaultValue(){return e.type!==Jt.TreeSelect},get auto_submit_supported(){return[Jt.Select,Jt.Checkbox,Jt.DateRange].includes(e.type)}})).views(e=>({get json(){const{id:t,key:n,label:r,order:i,visibleInViewsIDs:o,auto_submit:a,type:l,config:u}=e;return{id:t,key:n,type:l,label:r,order:i,config:u.json,auto_submit:a,visibleInViewsIDs:o}},get should_auto_submit(){return e.auto_submit_supported&&e.auto_submit},requiredAndPass(t){return H.default.get(e.config,"required",!1)?H.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 Jt.Select:e.config=H3();break;case Jt.MultiSelect:e.config=W3();break;case Jt.TreeSelect:e.config=q3();break;case Jt.TextInput:e.config=Mm();break;case Jt.Checkbox:e.config=B3();break;case Jt.DateRange:e.config=j3();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 km(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=sn.default.tz(r,"UTC").format(t.inputFormat);return i!=null?i:r})}catch(n){return console.error(n),e}return e}function Dm(e){return e.reduce((t,n)=>(t[n.key]=km(n.config.default_value,n.config),t),{})}function U3(e,t,n){O.addDisposer(e,O.addMiddleware(e,(r,i)=>{i(r,()=>{O.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const Om=O.types.model("FiltersModel",{current:O.types.optional(O.types.array(nc),[]),values:O.types.optional(O.types.frozen(),{}),previewValues:O.types.optional(O.types.frozen(),{})}).views(e=>({get json(){return e.current.map(t=>t.json)},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 H.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 H.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=O.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=Dm(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){U3(e.current,nc,(n,r)=>{if(n==="setType"){const i=km(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function Am(e){return{current:e,values:Dm(e)}}var is={exports:{}};(function(e,t){(function(n,r){r()})(yn,function(){function n(d,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(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function r(d,f,p){var h=new XMLHttpRequest;h.open("GET",d),h.responseType="blob",h.onload=function(){u(h.response,f,p)},h.onerror=function(){console.error("could not download file")},h.send()}function i(d){var f=new XMLHttpRequest;f.open("HEAD",d,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function o(d){try{d.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),d.dispatchEvent(f)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof yn=="object"&&yn.global===yn?yn:void 0,l=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&&!l?function(d,f,p){var h=a.URL||a.webkitURL,g=document.createElement("a");f=f||d.name||"download",g.download=f,g.rel="noopener",typeof d=="string"?(g.href=d,g.origin===location.origin?o(g):i(g.href)?r(d,f,p):o(g,g.target="_blank")):(g.href=h.createObjectURL(d),setTimeout(function(){h.revokeObjectURL(g.href)},4e4),setTimeout(function(){o(g)},0))}:"msSaveOrOpenBlob"in navigator?function(d,f,p){if(f=f||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(n(d,p),f);else if(i(d))r(d,f,p);else{var h=document.createElement("a");h.href=d,h.target="_blank",setTimeout(function(){o(h)})}}:function(d,f,p,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof d=="string")return r(d,f,p);var g=d.type==="application/octet-stream",v=/constructor/i.test(a.HTMLElement)||a.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||g&&v||l)&&typeof FileReader<"u"){var w=new FileReader;w.onloadend=function(){var S=w.result;S=m?S:S.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=S:location=S,h=null},w.readAsDataURL(d)}else{var x=a.URL||a.webkitURL,_=x.createObjectURL(d);h?h.location=_:location.href=_,h=null,setTimeout(function(){x.revokeObjectURL(_)},4e4)}});a.saveAs=u.saveAs=u,e.exports=u})})(is);const Rm="\uFEFF";function Y3(e,t){const n=new Blob([Rm+t],{type:"text/csv"});is.exports.saveAs(n,`${e}.csv`)}function X3(e,t){const n=new Blob([t],{type:"application/json"});is.exports.saveAs(n,`${e}.json`)}function Q3(e){const t=new W0.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,Pm(r))}),t.generateAsync({type:"blob"}).then(n=>{is.exports.saveAs(n,"dashboard_data.zip")})}function Pm(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)}),Rm+t.join(`
328
+ `)}const _i={CryptoJS:xd.default,d3Array:K0,dayjs:sn.default,lodash:H.default,numbro:St.default},Z3=`
329
329
  <p>
330
330
  Parameter <code>utils</code> is <code>functionUtils</code>, which contains:
331
331
  </p>
@@ -383,8 +383,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
383
383
  </li>
384
384
  </ul>
385
385
 
386
- `;function Z3(e,t){return new Function(`return ${e}`)()(t,_i)}function J3(e,t,n){return{context:{...t,...e},filters:n}}function eB(e,t,n,r){const i=J3(t,n,r);return Z3(e,i)}function tB(e,t){try{return new Function(`return ${e.config.processing.pre}`)()(t,_i)}catch(n){return console.error(n),t}}function nB(e,t){try{return new Function(`return ${e.config.processing.post}`)()(t,_i)}catch(n){return console.error(n),t}}function rB(e,t){try{return new Function(`return ${e}`)()(t,_i)}catch(n){return console.error(n),t}}function iB(e,t,n,r){const i=ic(t,n,[],r),o=Object.keys(i),a=Object.values(i);try{return new Function(...o,`return \`${e}\`;`)(...a)}catch(l){return console.info(l),l.message}}function rc(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 ic(e,t,n,r){const i={...t,...e},o={context:i,filters:r},a=n.reduce((l,u)=>(l[u.key]=rc(u.value,o),l),{});return H.default.merge({},{context:i,filters:r,sql_snippets:a})}function Im(e,t,n,r,i){try{const o=ic(t,n,r,i);return rc(e,o)}catch(o){return console.error(o),o.message}}function oB({sql:e,pre_process:t}){if(!t.trim())return e;try{return new Function(`return ${t}`)()({sql:e},_i)}catch(n){return console.error(n),e}}function aB(e,t){if(!e.trim())return t;try{return new Function(`return ${e}`)()(t,_i)}catch(n){return console.error(n),t}}async function sB({context:e,mock_context:t,sqlSnippets:n,query:r,filterValues:i},o){if(!r.sql)return[];const{type:a,key:l,sql:u,pre_process:d,post_process:f}=r,p=ic(e,t,n,i),h=rc(u,p),g=oB({sql:h,pre_process:d});let v=await qr.getRequest("POST",o)("/query",{type:a,key:l,query:g},{});return v=aB(f,v),v}async function lB({context:e,mock_context:t,query:n,filterValues:r,datasource:i},o){const{type:a,key:l,name:u,pre_process:d,post_process:f}=n;let p=eB(d,e,t,r);console.groupCollapsed(`Request config for: ${u}`),console.log(p),console.groupEnd(),p=tB(i,p);const h=JSON.stringify(p),g=await qr.getRequest("POST",o)("/query",{type:a,key:l,query:h},{});let v=nB(i,g);return v=rB(f,v),v}async function oc(){try{return(await qr.getRequest("POST")("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const uB=O.types.model("QueryModel",{id:O.types.string,name:O.types.string,type:O.types.enumeration("DataSourceType",[kn.Postgresql,kn.MySQL,kn.HTTP]),key:O.types.string,sql:O.types.string,pre_process:O.types.optional(O.types.string,""),post_process:O.types.optional(O.types.string,""),run_by:O.types.optional(O.types.array(O.types.string),[])}).views(e=>({get valid(){return e.id&&e.type&&e.key&&e.name?e.type===kn.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:l,post_process:u}=e;return{id:t,key:i,sql:o,name:n,type:r,run_by:a,pre_process:l,post_process:u}},get conditionOptions(){const{context:t,mock_context:n,filterValues:r}=O.getRoot(e).payloadForSQL,i=Object.keys({...n,...t}).map(l=>`context.${l}`),o=Object.keys(r).map(l=>`filters.${l}`);return[...i,...o].map(l=>({label:l.split(".")[1],value:l,group:H.default.capitalize(l.split(".")[0])}))},get unmetRunByConditions(){const{run_by:t}=e;if(t.length===0)return[];const{context:n,mock_context:r,filterValues:i}=O.getRoot(e).payloadForSQL,o={context:{...r,...n},filters:i};return t.filter(a=>{const l=H.default.get(o,a);return Array.isArray(l)?l.length===0:typeof l=="number"?Number.isNaN(l):!l})}})).views(e=>({get runByConditionsMet(){return e.unmetRunByConditions.length===0},get conditionNames(){if(e.unmetRunByConditions.length===0)return{context:[],filters:[]};const{keyLabelMap:t}=O.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=>H.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}})),Nm=O.types.compose("QueryModel",uB,O.types.model({state:O.types.optional(O.types.enumeration(["idle","loading","error"]),"idle"),data:O.types.optional(O.types.array(O.types.frozen()),[]),error:O.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,mock_context:n,sqlSnippets:r,filterValues:i}=O.getRoot(e).payloadForSQL;return Im(e.sql,t,n,r,i)},get typedAsSQL(){return[kn.Postgresql,kn.MySQL].includes(e.type)},get typedAsHTTP(){return[kn.HTTP].includes(e.type)},get datasource(){const{key:t,type:n}=e;return O.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:O.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}=O.getRoot(e).payloadForSQL;e.data=yield*O.toGenerator(sB({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(!Ho.default.isCancel(n)){e.data.length=0;const r=W.get(n,"message","unkown error");e.error=W.get(n,"response.data.detail.message",r),e.state="error"}}}}),runHTTP:O.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}=O.getRoot(e).payloadForSQL;e.data=yield*O.toGenerator(lB({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),!Ho.default.isCancel(n)){e.data.length=0;const r=W.get(n,"message","unkown error");e.error=W.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(){O.addDisposer(e,It.reaction(()=>{var t,n;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.pre_process}--${e.post_process}--${(n=e.datasource)==null?void 0:n.id}`},e.fetchData,{fireImmediately:!0,delay:0}))}})),$m=O.types.model("QueriesModel",{current:O.types.optional(O.types.array(Nm),[])}).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=O.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()}));X3(t)},downloadDataByQueryID(t){const n=e.findByID(t);if(!n){console.log("[downloadDataByQueryID] query not found");return}const{name:r,data:i}=n,o=Pm(i);U3(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&&(O.detach(n),e.current.remove(n))}})),Lm=O.types.model("SQLSnippetModel",{key:O.types.string,value:O.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:!!O.getParent(e,2).findByKey(t)}})).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),Vm=O.types.model("SQLSnippetsModel",{current:O.types.optional(O.types.array(Lm),[])}).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=O.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)}})),zm=O.types.model("ContextModel",{current:O.types.optional(O.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}})),cB=O.types.model("DataSourcesModel",{list:O.types.optional(O.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 os(e){return{label:e,value:e,_type:"ACTION",_action_type:e,Icon:null,children:null}}function dB(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 fB=O.types.model("EditorModel",{path:O.types.optional(O.types.frozen(),[]),settings_open:O.types.optional(O.types.boolean,!1)}).views(e=>({get navOptions(){const{filters:t,views:n,sqlSnippets:r,queries:i}=O.getRoot(e);return[{label:"Global Variables",value:"_GLOBAL_VARS_",_type:"global_variables",Icon:Bx},{label:"Mock Context",value:"_MOCK_CONTEXT_",Icon:yx,_type:"mock_context"},{label:"Filters",value:"_FILTERS_",Icon:Dd,children:[...t.options,os("_Add_A_Filter_")],_type:"GROUP"},{label:"SQL Snipepts",value:"_SQL_SNIPPETS_",Icon:Cx,children:[...r.options,os("_Add_A_SQL_SNIPPET_")],_type:"GROUP"},{label:"Queries",value:"_QUERIES_",Icon:kd,children:[...i.options,os("_Add_A_QUERY_")],_type:"GROUP"},{label:"Views",value:"_VIEWS_",Icon:Md,children:[...n.editorOptions,os("_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=dB(t);n&&e.setPath(n)}})),pB=O.types.model("MockContextModel",{current:O.types.optional(O.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}})),Fm=O.types.model("ViewModel_Division",{_name:O.types.literal(ot.Division)}).views(e=>({get json(){const{_name:t}=e;return{_name:t}}})).actions(e=>({})),hB=()=>Fm.create({_name:ot.Division}),ac={enabled:!1,func_content:["function text({ filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
387
- `)},gB=O.types.model("CustomModalTitleModel",{enabled:O.types.optional(O.types.boolean,!1),func_content:O.types.optional(O.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=O.getParent(e,2),i=O.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}})),Bm=O.types.model("ViewModel_Modal",{_name:O.types.literal(ot.Modal),width:O.types.string,height:O.types.string,custom_modal_title:O.types.optional(gB,ac)}).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}})),vB=()=>Bm.create({_name:ot.Modal,width:"90vw",height:"90vh"}),mB=O.types.model("PanelLayoutModel",{x:O.types.number,y:O.types.number,w:O.types.number,h:O.types.number,moved:O.types.optional(O.types.boolean,!1),static:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{x:t,y:n,w:r,h:i,moved:o}=e;return{h:i,w:r,x:t,y:n,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}})),yB=O.types.model("PanelStyleBorderModel",{enabled:O.types.boolean}).views(e=>({get json(){const{enabled:t}=e;return{enabled:t}}})).actions(e=>({setEnabled(t){e.enabled=t}})),bB=O.types.model("PanelStyleModel",{border:yB}).views(e=>({get json(){const{border:t}=e;return{border:t.json}}})).actions(e=>({})),xB=O.types.model("PanelVizModel",{type:O.types.string,conf:O.types.frozen()}).views(e=>({get json(){return{conf:e.conf,type:e.type}}})).actions(e=>({setType(t){e.type=t},setConf(t){e.conf=t}})),wB=O.types.model("VariableModel",{name:O.types.string,size:O.types.string,weight:O.types.string,color:O.types.union(O.types.model({type:O.types.literal("static"),staticColor:O.types.string}),O.types.model({type:O.types.literal("continuous"),valueRange:O.types.array(O.types.number),colorRange:O.types.array(O.types.string)}),O.types.model({type:O.types.literal("piecewise")})),formatter:O.types.model({output:O.types.enumeration("Output",["number","percent"]),average:O.types.optional(O.types.boolean,!1),mantissa:O.types.number,trimMantissa:O.types.optional(O.types.boolean,!1)}),data_field:O.types.string,aggregation:O.types.union(O.types.model({type:O.types.enumeration(["none","sum","mean","median","min","max"]),config:O.types.frozen()}),O.types.model({type:O.types.literal("quantile"),config:O.types.model({p:O.types.number})}))}).views(e=>({get json(){const{name:t,size:n,weight:r,color:i,formatter:o,data_field:a,aggregation:l}=e;return H.default.cloneDeep({name:t,size:n,color:i,weight:r,formatter:o,data_field:a,aggregation:l})}}));class CB{constructor(t){ke(this,"origin");ke(this,"copy");this.origin=t,this.copy=O.clone(t),It.makeAutoObservable(this,{},{autoBind:!0,deep:!1})}get changed(){return!W.isEqual(O.getSnapshot(this.origin),O.getSnapshot(this.copy))}commit(){O.applySnapshot(this.origin,O.getSnapshot(this.copy))}update(t){O.applySnapshot(this.copy,t)}}const SB=e=>new CB(e),_B=O.types.model({id:O.types.string,title:O.types.string,description:O.types.string,layout:mB,queryID:O.types.string,viz:xB,style:bB,variables:O.types.optional(O.types.array(wB),[])}).views(e=>({get query(){return O.getParentOfType(e,as).queries.findByID(e.queryID)},get json(){const{id:t,title:n,description:r,queryID:i}=e;return{id:t,viz:e.viz.json,style:e.style.json,title:n,layout:e.layout.json,queryID:i,variables:e.variables.map(o=>o.json),description:r}},get viewID(){return O.getParent(e,3).id}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){if(O.getParentOfType(e,as).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)},removeSelf(){O.getParent(e,2).removeByID(e.id)}})).actions(e=>({moveToView(t){const n=new Date().getTime().toString(),r={...e.json,id:n};O.getRoot(e).views.findByID(t).panels.append(r),O.getRoot(e).editor.setPath(["_VIEWS_",t,"_PANELS_",n]),e.removeSelf()}})),EB=O.types.model("PanelsModel",{list:O.types.optional(O.types.array(_B),[])}).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=O.getParent(e,1).id,n=e.list.map(i=>({label:i.title?i.title:H.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=O.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:Wu.name,conf:Wu.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:qt.randomId(),layout:{...n.layout,y:1/0,moved:!1}})},replaceByIndex(t,n){e.list.splice(t,1,n)}})),TB=O.types.model("ViewModel_Tabs_Tab",{id:O.types.identifier,name:O.types.string,view_id:O.types.string,color:O.types.optional(O.types.string,"")}).views(e=>({get json(){const{id:t,name:n,view_id:r,color:i}=e;return{id:t,name:n,color:i,view_id:r}}})).actions(e=>({setName(t){e.name=t},setViewID(t){e.view_id=t},setColor(t){e.color=t}})),Gm=O.types.model("ViewModel_Tabs",{_name:O.types.literal(ot.Modal),tabs:O.types.optional(O.types.array(TB),[]),variant:O.types.optional(O.types.enumeration("variant",["default","outline","pills"]),"default"),orientation:O.types.optional(O.types.enumeration("orientation",["horizontal","vertical"]),"horizontal"),grow:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{_name:t,variant:n,orientation:r,tabs:i,grow:o}=e;return{grow:o,tabs:i.map(a=>a.json),_name:t,variant:n,orientation:r}}})).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=O.cast(t)},addTab(){const t=qt.randomId(),n={id:t,name:t,view_id:""};e.tabs.push(n)},removeTab(t){e.tabs.splice(t,1)}})),MB=()=>Gm.create({_name:ot.Modal,tabs:[]}),jm=O.types.model({id:O.types.identifier,name:O.types.string,type:O.types.enumeration("EViewComponentType",[ot.Division,ot.Modal,ot.Tabs]),config:O.types.union(Fm,Bm,Gm),panels:EB}).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 ot.Division:e.config=hB();break;case ot.Modal:e.config=vB();break;case ot.Tabs:e.config=MB();break}e.type=t}}})).actions(e=>({})),Km=O.types.model("ViewsModel",{current:O.types.optional(O.types.array(jm),[]),visibleViewIDs:O.types.array(O.types.string),idOfVIE:O.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,ot.Division,ot.Division,{_name:ot.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 Wm(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 kB=O.types.model({id:O.types.identifier,name:O.types.string,group:O.types.string,version:O.types.string,datasources:cB,filters:Om,queries:$m,sqlSnippets:Vm,views:Km,context:zm,mock_context:pB,editor:fB,origin:O.types.maybe(O.types.frozen())}).views(e=>({get json(){return{id:e.id,name:e.name,group:e.group,views:e.views.json,filters:e.filters.json,version:e.version,definition:{queries:e.queries.json,sqlSnippets:e.sqlSnippets.json,mock_context:e.mock_context.current}}}})).views(e=>({get filtersChanged(){const t="filters.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get queriesChanged(){const t="queries.current",n=O.getSnapshot(W.get(e,t)).map(r=>W.pick(r,["id","name","key","type","sql","run_by","pre_process","post_process"]));return!W.isEqual(n,W.get(e.origin,t))},get sqlSnippetsChanged(){const t="sqlSnippets.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get viewsChanged(){const t="views.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get mockContextChanged(){const t="mock_context.current";return!W.isEqual(W.get(e,t),W.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=>({findQueryUsage(t){const n=e.views.current.flatMap(i=>i.panels.list.filter(o=>o.queryID===t).map(o=>({type:"panel",id:o.id,label:o.title?o.title:o.viz.type,viewID:i.id}))),r=e.filters.current.filter(i=>H.default.get(i,"config.options_query_id")===t).map(i=>({type:"filter",id:i.id,label:i.label}));return n.concat(r)}})).actions(e=>({reset(){O.applySnapshot(e.filters.current,e.origin.filters.current),O.applySnapshot(e.queries.current,e.origin.queries.current),O.applySnapshot(e.sqlSnippets.current,e.origin.sqlSnippets.current),O.applySnapshot(e.views.current,e.origin.views.current),e.mock_context.current=e.origin.mock_context.current},resetFilters(){O.applySnapshot(e.filters.current,e.origin.filters.current)}})),as=O.types.snapshotProcessor(kB,{preProcessor(e){return{...e,origin:e}},postProcessor(e){delete e.origin;const t=O.castToSnapshot(e.queries.current.map(n=>W.pick(n,["id","key","type","sql"])));return W.defaults({},{queries:{current:t}},e)}});function sc({id:e,name:t,group:n,version:r,filters:i,views:o,definition:{queries:a,sqlSnippets:l,mock_context:u={}}},d,f){return as.create({id:e,name:t,group:n,version:r,datasources:{list:d},filters:Am(i),queries:{current:a},sqlSnippets:{current:l},context:{current:f},mock_context:{current:u},views:Wm(o),editor:{}})}function lc(e){return Q.default.useCallback(t=>t.provideValue(Bt.pluginManager,e.pluginManager).provideValue(Bt.vizManager,e.vizManager).provideValue(Bt.colorManager,e.colorManager),[])}const Cq="";var qm;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(qm||(qm={})),process.env.NODE_ENV;function Hm(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}/**
386
+ `;function J3(e,t){return new Function(`return ${e}`)()(t,_i)}function eB(e,t,n){return{context:{...t,...e},filters:n}}function tB(e,t,n,r){const i=eB(t,n,r);return J3(e,i)}function nB(e,t){try{return new Function(`return ${e.config.processing.pre}`)()(t,_i)}catch(n){return console.error(n),t}}function rB(e,t){try{return new Function(`return ${e.config.processing.post}`)()(t,_i)}catch(n){return console.error(n),t}}function iB(e,t){try{return new Function(`return ${e}`)()(t,_i)}catch(n){return console.error(n),t}}function oB(e,t,n,r){const i=ic(t,n,[],r),o=Object.keys(i),a=Object.values(i);try{return new Function(...o,`return \`${e}\`;`)(...a)}catch(l){return console.info(l),l.message}}function rc(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 ic(e,t,n,r){const i={...t,...e},o={context:i,filters:r},a=n.reduce((l,u)=>(l[u.key]=rc(u.value,o),l),{});return H.default.merge({},{context:i,filters:r,sql_snippets:a})}function Im(e,t,n,r,i){try{const o=ic(t,n,r,i);return rc(e,o)}catch(o){return console.error(o),o.message}}function aB({sql:e,pre_process:t}){if(!t.trim())return e;try{return new Function(`return ${t}`)()({sql:e},_i)}catch(n){return console.error(n),e}}function sB(e,t){if(!e.trim())return t;try{return new Function(`return ${e}`)()(t,_i)}catch(n){return console.error(n),t}}async function lB({context:e,mock_context:t,sqlSnippets:n,query:r,filterValues:i},o){if(!r.sql)return[];const{type:a,key:l,sql:u,pre_process:d,post_process:f}=r,p=ic(e,t,n,i),h=rc(u,p),g=aB({sql:h,pre_process:d});let v=await qr.getRequest("POST",o)("/query",{type:a,key:l,query:g},{});return v=sB(f,v),v}async function uB({context:e,mock_context:t,query:n,filterValues:r,datasource:i},o){const{type:a,key:l,name:u,pre_process:d,post_process:f}=n;let p=tB(d,e,t,r);console.groupCollapsed(`Request config for: ${u}`),console.log(p),console.groupEnd(),p=nB(i,p);const h=JSON.stringify(p),g=await qr.getRequest("POST",o)("/query",{type:a,key:l,query:h},{});let v=rB(i,g);return v=iB(f,v),v}async function oc(){try{return(await qr.getRequest("POST")("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const cB=O.types.model("QueryModel",{id:O.types.string,name:O.types.string,type:O.types.enumeration("DataSourceType",[kn.Postgresql,kn.MySQL,kn.HTTP]),key:O.types.string,sql:O.types.string,pre_process:O.types.optional(O.types.string,""),post_process:O.types.optional(O.types.string,""),run_by:O.types.optional(O.types.array(O.types.string),[])}).views(e=>({get valid(){return e.id&&e.type&&e.key&&e.name?e.type===kn.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:l,post_process:u}=e;return{id:t,key:i,sql:o,name:n,type:r,run_by:a,pre_process:l,post_process:u}},get conditionOptions(){const{context:t,mock_context:n,filterValues:r}=O.getRoot(e).payloadForSQL,i=Object.keys({...n,...t}).map(l=>`context.${l}`),o=Object.keys(r).map(l=>`filters.${l}`);return[...i,...o].map(l=>({label:l.split(".")[1],value:l,group:H.default.capitalize(l.split(".")[0])}))},get unmetRunByConditions(){const{run_by:t}=e;if(t.length===0)return[];const{context:n,mock_context:r,filterValues:i}=O.getRoot(e).payloadForSQL,o={context:{...r,...n},filters:i};return t.filter(a=>{const l=H.default.get(o,a);return Array.isArray(l)?l.length===0:typeof l=="number"?Number.isNaN(l):!l})}})).views(e=>({get runByConditionsMet(){return e.unmetRunByConditions.length===0},get conditionNames(){if(e.unmetRunByConditions.length===0)return{context:[],filters:[]};const{keyLabelMap:t}=O.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=>H.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}})),Nm=O.types.compose("QueryModel",cB,O.types.model({state:O.types.optional(O.types.enumeration(["idle","loading","error"]),"idle"),data:O.types.optional(O.types.array(O.types.frozen()),[]),error:O.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,mock_context:n,sqlSnippets:r,filterValues:i}=O.getRoot(e).payloadForSQL;return Im(e.sql,t,n,r,i)},get typedAsSQL(){return[kn.Postgresql,kn.MySQL].includes(e.type)},get typedAsHTTP(){return[kn.HTTP].includes(e.type)},get datasource(){const{key:t,type:n}=e;return O.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:O.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}=O.getRoot(e).payloadForSQL;e.data=yield*O.toGenerator(lB({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(!Ho.default.isCancel(n)){e.data.length=0;const r=W.get(n,"message","unkown error");e.error=W.get(n,"response.data.detail.message",r),e.state="error"}}}}),runHTTP:O.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}=O.getRoot(e).payloadForSQL;e.data=yield*O.toGenerator(uB({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),!Ho.default.isCancel(n)){e.data.length=0;const r=W.get(n,"message","unkown error");e.error=W.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(){O.addDisposer(e,It.reaction(()=>{var t,n;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.pre_process}--${e.post_process}--${(n=e.datasource)==null?void 0:n.id}`},e.fetchData,{fireImmediately:!0,delay:0}))}})),$m=O.types.model("QueriesModel",{current:O.types.optional(O.types.array(Nm),[])}).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=O.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()}));Q3(t)},downloadDataByQueryID(t){const n=e.findByID(t);if(!n){console.log("[downloadDataByQueryID] query not found");return}const{name:r,data:i}=n,o=Pm(i);Y3(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&&(O.detach(n),e.current.remove(n))}})),Lm=O.types.model("SQLSnippetModel",{key:O.types.string,value:O.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:!!O.getParent(e,2).findByKey(t)}})).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),Vm=O.types.model("SQLSnippetsModel",{current:O.types.optional(O.types.array(Lm),[])}).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=O.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)}})),zm=O.types.model("ContextModel",{current:O.types.optional(O.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}})),dB=O.types.model("DataSourcesModel",{list:O.types.optional(O.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 os(e){return{label:e,value:e,_type:"ACTION",_action_type:e,Icon:null,children:null}}function fB(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 pB=O.types.model("EditorModel",{path:O.types.optional(O.types.frozen(),[]),settings_open:O.types.optional(O.types.boolean,!1)}).views(e=>({get navOptions(){const{filters:t,views:n,sqlSnippets:r,queries:i}=O.getRoot(e);return[{label:"Global Variables",value:"_GLOBAL_VARS_",_type:"global_variables",Icon:Bx},{label:"Mock Context",value:"_MOCK_CONTEXT_",Icon:yx,_type:"mock_context"},{label:"Filters",value:"_FILTERS_",Icon:Dd,children:[...t.options,os("_Add_A_Filter_")],_type:"GROUP"},{label:"SQL Snipepts",value:"_SQL_SNIPPETS_",Icon:Cx,children:[...r.options,os("_Add_A_SQL_SNIPPET_")],_type:"GROUP"},{label:"Queries",value:"_QUERIES_",Icon:kd,children:[...i.options,os("_Add_A_QUERY_")],_type:"GROUP"},{label:"Views",value:"_VIEWS_",Icon:Md,children:[...n.editorOptions,os("_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=fB(t);n&&e.setPath(n)}})),hB=O.types.model("MockContextModel",{current:O.types.optional(O.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}})),Fm=O.types.model("ViewModel_Division",{_name:O.types.literal(ot.Division)}).views(e=>({get json(){const{_name:t}=e;return{_name:t}}})).actions(e=>({})),gB=()=>Fm.create({_name:ot.Division}),ac={enabled:!1,func_content:["function text({ filters, context}) {"," // your code goes here",' return "text"',"}"].join(`
387
+ `)},vB=O.types.model("CustomModalTitleModel",{enabled:O.types.optional(O.types.boolean,!1),func_content:O.types.optional(O.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=O.getParent(e,2),i=O.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}})),Bm=O.types.model("ViewModel_Modal",{_name:O.types.literal(ot.Modal),width:O.types.string,height:O.types.string,custom_modal_title:O.types.optional(vB,ac)}).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}})),mB=()=>Bm.create({_name:ot.Modal,width:"90vw",height:"90vh"}),yB=O.types.model("PanelLayoutModel",{x:O.types.number,y:O.types.number,w:O.types.number,h:O.types.number,moved:O.types.optional(O.types.boolean,!1),static:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{x:t,y:n,w:r,h:i,moved:o}=e;return{h:i,w:r,x:t,y:n,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}})),bB=O.types.model("PanelStyleBorderModel",{enabled:O.types.boolean}).views(e=>({get json(){const{enabled:t}=e;return{enabled:t}}})).actions(e=>({setEnabled(t){e.enabled=t}})),xB=O.types.model("PanelStyleModel",{border:bB}).views(e=>({get json(){const{border:t}=e;return{border:t.json}}})).actions(e=>({})),wB=O.types.model("PanelVizModel",{type:O.types.string,conf:O.types.frozen()}).views(e=>({get json(){return{conf:e.conf,type:e.type}}})).actions(e=>({setType(t){e.type=t},setConf(t){e.conf=t}})),CB=O.types.model("VariableModel",{name:O.types.string,size:O.types.string,weight:O.types.string,color:O.types.union(O.types.model({type:O.types.literal("static"),staticColor:O.types.string}),O.types.model({type:O.types.literal("continuous"),valueRange:O.types.array(O.types.number),colorRange:O.types.array(O.types.string)}),O.types.model({type:O.types.literal("piecewise")})),formatter:O.types.model({output:O.types.enumeration("Output",["number","percent"]),average:O.types.optional(O.types.boolean,!1),mantissa:O.types.number,trimMantissa:O.types.optional(O.types.boolean,!1)}),data_field:O.types.string,aggregation:O.types.union(O.types.model({type:O.types.enumeration(["none","sum","mean","median","min","max"]),config:O.types.frozen()}),O.types.model({type:O.types.literal("quantile"),config:O.types.model({p:O.types.number})}))}).views(e=>({get json(){const{name:t,size:n,weight:r,color:i,formatter:o,data_field:a,aggregation:l}=e;return H.default.cloneDeep({name:t,size:n,color:i,weight:r,formatter:o,data_field:a,aggregation:l})}}));class SB{constructor(t){ke(this,"origin");ke(this,"copy");this.origin=t,this.copy=O.clone(t),It.makeAutoObservable(this,{},{autoBind:!0,deep:!1})}get changed(){return!W.isEqual(O.getSnapshot(this.origin),O.getSnapshot(this.copy))}commit(){O.applySnapshot(this.origin,O.getSnapshot(this.copy))}update(t){O.applySnapshot(this.copy,t)}}const _B=e=>new SB(e),EB=O.types.model({id:O.types.string,title:O.types.string,description:O.types.string,layout:yB,queryID:O.types.string,viz:wB,style:xB,variables:O.types.optional(O.types.array(CB),[])}).views(e=>({get query(){return O.getParentOfType(e,as).queries.findByID(e.queryID)},get json(){const{id:t,title:n,description:r,queryID:i}=e;return{id:t,viz:e.viz.json,style:e.style.json,title:n,layout:e.layout.json,queryID:i,variables:e.variables.map(o=>o.json),description:r}},get viewID(){return O.getParent(e,3).id}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){if(O.getParentOfType(e,as).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)},removeSelf(){O.getParent(e,2).removeByID(e.id)}})).actions(e=>({moveToView(t){const n=new Date().getTime().toString(),r={...e.json,id:n};O.getRoot(e).views.findByID(t).panels.append(r),O.getRoot(e).editor.setPath(["_VIEWS_",t,"_PANELS_",n]),e.removeSelf()}})),TB=O.types.model("PanelsModel",{list:O.types.optional(O.types.array(EB),[])}).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=O.getParent(e,1).id,n=e.list.map(i=>({label:i.title?i.title:H.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=O.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:Wu.name,conf:Wu.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:qt.randomId(),layout:{...n.layout,y:1/0,moved:!1}})},replaceByIndex(t,n){e.list.splice(t,1,n)}})),MB=O.types.model("ViewModel_Tabs_Tab",{id:O.types.identifier,name:O.types.string,view_id:O.types.string,color:O.types.optional(O.types.string,"")}).views(e=>({get json(){const{id:t,name:n,view_id:r,color:i}=e;return{id:t,name:n,color:i,view_id:r}}})).actions(e=>({setName(t){e.name=t},setViewID(t){e.view_id=t},setColor(t){e.color=t}})),Gm=O.types.model("ViewModel_Tabs",{_name:O.types.literal(ot.Modal),tabs:O.types.optional(O.types.array(MB),[]),variant:O.types.optional(O.types.enumeration("variant",["default","outline","pills"]),"default"),orientation:O.types.optional(O.types.enumeration("orientation",["horizontal","vertical"]),"horizontal"),grow:O.types.optional(O.types.boolean,!1)}).views(e=>({get json(){const{_name:t,variant:n,orientation:r,tabs:i,grow:o}=e;return{grow:o,tabs:i.map(a=>a.json),_name:t,variant:n,orientation:r}}})).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=O.cast(t)},addTab(){const t=qt.randomId(),n={id:t,name:t,view_id:""};e.tabs.push(n)},removeTab(t){e.tabs.splice(t,1)}})),kB=()=>Gm.create({_name:ot.Modal,tabs:[]}),jm=O.types.model({id:O.types.identifier,name:O.types.string,type:O.types.enumeration("EViewComponentType",[ot.Division,ot.Modal,ot.Tabs]),config:O.types.union(Fm,Bm,Gm),panels:TB}).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 ot.Division:e.config=gB();break;case ot.Modal:e.config=mB();break;case ot.Tabs:e.config=kB();break}e.type=t}}})).actions(e=>({})),Km=O.types.model("ViewsModel",{current:O.types.optional(O.types.array(jm),[]),visibleViewIDs:O.types.array(O.types.string),idOfVIE:O.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,ot.Division,ot.Division,{_name:ot.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 Wm(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 DB=O.types.model({id:O.types.identifier,name:O.types.string,group:O.types.string,version:O.types.string,datasources:dB,filters:Om,queries:$m,sqlSnippets:Vm,views:Km,context:zm,mock_context:hB,editor:pB,origin:O.types.maybe(O.types.frozen())}).views(e=>({get json(){return{id:e.id,name:e.name,group:e.group,views:e.views.json,filters:e.filters.json,version:e.version,definition:{queries:e.queries.json,sqlSnippets:e.sqlSnippets.json,mock_context:e.mock_context.current}}}})).views(e=>({get filtersChanged(){const t="filters.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get queriesChanged(){const t="queries.current",n=O.getSnapshot(W.get(e,t)).map(r=>W.pick(r,["id","name","key","type","sql","run_by","pre_process","post_process"]));return!W.isEqual(n,W.get(e.origin,t))},get sqlSnippetsChanged(){const t="sqlSnippets.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get viewsChanged(){const t="views.current";return!W.isEqual(O.getSnapshot(W.get(e,t)),W.get(e.origin,t))},get mockContextChanged(){const t="mock_context.current";return!W.isEqual(W.get(e,t),W.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=>({findQueryUsage(t){const n=e.views.current.flatMap(i=>i.panels.list.filter(o=>o.queryID===t).map(o=>({type:"panel",id:o.id,label:o.title?o.title:o.viz.type,viewID:i.id}))),r=e.filters.current.filter(i=>H.default.get(i,"config.options_query_id")===t).map(i=>({type:"filter",id:i.id,label:i.label}));return n.concat(r)}})).actions(e=>({reset(){O.applySnapshot(e.filters.current,e.origin.filters.current),O.applySnapshot(e.queries.current,e.origin.queries.current),O.applySnapshot(e.sqlSnippets.current,e.origin.sqlSnippets.current),O.applySnapshot(e.views.current,e.origin.views.current),e.mock_context.current=e.origin.mock_context.current},resetFilters(){O.applySnapshot(e.filters.current,e.origin.filters.current)}})),as=O.types.snapshotProcessor(DB,{preProcessor(e){return{...e,origin:e}},postProcessor(e){delete e.origin;const t=O.castToSnapshot(e.queries.current.map(n=>W.pick(n,["id","key","type","sql"])));return W.defaults({},{queries:{current:t}},e)}});function sc({id:e,name:t,group:n,version:r,filters:i,views:o,definition:{queries:a,sqlSnippets:l,mock_context:u={}}},d,f){return as.create({id:e,name:t,group:n,version:r,datasources:{list:d},filters:Am(i),queries:{current:a},sqlSnippets:{current:l},context:{current:f},mock_context:{current:u},views:Wm(o),editor:{}})}function lc(e){return Q.default.useCallback(t=>t.provideValue(Bt.pluginManager,e.pluginManager).provideValue(Bt.vizManager,e.vizManager).provideValue(Bt.colorManager,e.colorManager),[])}const Sq="";var qm;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(qm||(qm={})),process.env.NODE_ENV;function Hm(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}/**
388
388
  * React Router v6.3.0
389
389
  *
390
390
  * Copyright (c) Remix Software Inc.
@@ -393,7 +393,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
393
393
  * LICENSE.md file in the root directory of this source tree.
394
394
  *
395
395
  * @license MIT
396
- */const Um=b.createContext(null);process.env.NODE_ENV!=="production"&&(Um.displayName="Navigation");const uc=b.createContext(null);process.env.NODE_ENV!=="production"&&(uc.displayName="Location");const Ym=b.createContext({outlet:null,matches:[]});process.env.NODE_ENV!=="production"&&(Ym.displayName="Route");function ss(e,t){if(!e)throw new Error(t)}function DB(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function OB(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?Hm(e):e;return{pathname:n?n.startsWith("/")?n:AB(n,t):t,search:IB(r),hash:NB(i)}}function AB(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function RB(e,t,n){let r=typeof e=="string"?Hm(e):e,i=e===""||r.pathname===""?"/":r.pathname,o;if(i==null)o=n;else{let l=t.length-1;if(i.startsWith("..")){let u=i.split("/");for(;u[0]==="..";)u.shift(),l-=1;r.pathname=u.join("/")}o=l>=0?t[l]:"/"}let a=OB(r,o);return i&&i!=="/"&&i.endsWith("/")&&!a.pathname.endsWith("/")&&(a.pathname+="/"),a}const PB=e=>e.join("/").replace(/\/\/+/g,"/"),IB=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,NB=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Xm(){return b.useContext(uc)!=null}function $B(){return Xm()||(process.env.NODE_ENV!=="production"?ss(!1,"useLocation() may be used only in the context of a <Router> component."):ss(!1)),b.useContext(uc).location}function LB(){Xm()||(process.env.NODE_ENV!=="production"?ss(!1,"useNavigate() may be used only in the context of a <Router> component."):ss(!1));let{basename:e,navigator:t}=b.useContext(Um),{matches:n}=b.useContext(Ym),{pathname:r}=$B(),i=JSON.stringify(n.map(l=>l.pathnameBase)),o=b.useRef(!1);return b.useEffect(()=>{o.current=!0}),b.useCallback(function(l,u){if(u===void 0&&(u={}),process.env.NODE_ENV!=="production"&&DB(o.current,"You should call navigate() in a React.useEffect(), not when your component is first rendered."),!o.current)return;if(typeof l=="number"){t.go(l);return}let d=RB(l,JSON.parse(i),r);e!=="/"&&(d.pathname=PB([e,d.pathname])),(u.replace?t.replace:t.push)(d,u.state)},[e,t,i,r])}const Qm={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},":not(:first-of-type):not(:last-of-type)":{borderTopRightRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}},VB=ee.observer(({saveDashboardChanges:e})=>{const t=LB(),n=Ie(),r=()=>{const d=JSON.stringify(n.json,null,2);Y3(n.name,d)},i=()=>{t(`/dashboard/${n.id}`)},o=Vn.useModals(),a=()=>{o.openConfirmModal({title:y(c.Group,{position:"left",children:[s(Td,{size:18,color:"red"}),s(c.Text,{children:"There are unsaved changes"})]}),labels:{confirm:"Discard",cancel:"Cancel"},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:i,zIndex:320,withCloseButton:!1})},l=()=>{o.openConfirmModal({title:y(c.Group,{position:"left",children:[s(Td,{size:18,color:"red"}),s(c.Text,{children:"You are reverting changes"})]}),labels:{confirm:"Confirm",cancel:"Cancel"},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.reset(),zIndex:320,withCloseButton:!1})},u=n.changed;return s(c.Header,{height:60,px:"md",py:0,sx:{zIndex:299},children:y(c.Group,{position:"apart",sx:{height:60,position:"relative"},children:[s(c.Group,{children:s(c.Button,{size:"xs",color:u?"red":"green",leftIcon:s(ox,{size:20}),onClick:u?a:i,children:y(c.Group,{spacing:4,children:["End Editing",s(c.Text,{td:"underline",children:n.name})]})})}),y(c.Group,{position:"right",children:[s(c.Button,{variant:"filled",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:s(Ix,{size:20}),children:"Add a Panel"}),y(c.Group,{spacing:0,sx:Qm,children:[s(c.Tooltip,{label:"Download Schema",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",onClick:r,children:s(xx,{size:18})})}),s(c.Tooltip,{label:"Download Data",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",onClick:n.queries.downloadAllData,children:s(Tx,{size:18})})})]}),y(c.Group,{spacing:16,children:[s(c.Tooltip,{label:"Revert Changes",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",disabled:!u,onClick:l,children:s(Ad,{size:20,color:"red"})})}),s(c.Button,{color:"green",variant:"filled",size:"xs",leftIcon:s(Wi,{size:18}),onClick:e,disabled:!u,children:"Save Changes"})]})]})]})})});function en(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=en(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}const Zm=e=>{let t;const n=new Set,r=(u,d)=>{const f=typeof u=="function"?u(t):u;if(!Object.is(f,t)){const p=t;t=(d!=null?d:typeof f!="object")?f:Object.assign({},t,f),n.forEach(h=>h(t,p))}},i=()=>t,l={setState:r,getState:i,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&console.warn("[DEPRECATED] The destroy method will be unsupported in the future version. You should use unsubscribe function returned by subscribe. Everything will be garbage collected if store is garbage collected."),n.clear()}};return t=e(r,i,l),l},zB=e=>e?Zm(e):Zm;var Jm={exports:{}},cc={},dc={exports:{}},fc={};/**
396
+ */const Um=b.createContext(null);process.env.NODE_ENV!=="production"&&(Um.displayName="Navigation");const uc=b.createContext(null);process.env.NODE_ENV!=="production"&&(uc.displayName="Location");const Ym=b.createContext({outlet:null,matches:[]});process.env.NODE_ENV!=="production"&&(Ym.displayName="Route");function ss(e,t){if(!e)throw new Error(t)}function OB(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function AB(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?Hm(e):e;return{pathname:n?n.startsWith("/")?n:RB(n,t):t,search:NB(r),hash:$B(i)}}function RB(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function PB(e,t,n){let r=typeof e=="string"?Hm(e):e,i=e===""||r.pathname===""?"/":r.pathname,o;if(i==null)o=n;else{let l=t.length-1;if(i.startsWith("..")){let u=i.split("/");for(;u[0]==="..";)u.shift(),l-=1;r.pathname=u.join("/")}o=l>=0?t[l]:"/"}let a=AB(r,o);return i&&i!=="/"&&i.endsWith("/")&&!a.pathname.endsWith("/")&&(a.pathname+="/"),a}const IB=e=>e.join("/").replace(/\/\/+/g,"/"),NB=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,$B=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Xm(){return b.useContext(uc)!=null}function LB(){return Xm()||(process.env.NODE_ENV!=="production"?ss(!1,"useLocation() may be used only in the context of a <Router> component."):ss(!1)),b.useContext(uc).location}function VB(){Xm()||(process.env.NODE_ENV!=="production"?ss(!1,"useNavigate() may be used only in the context of a <Router> component."):ss(!1));let{basename:e,navigator:t}=b.useContext(Um),{matches:n}=b.useContext(Ym),{pathname:r}=LB(),i=JSON.stringify(n.map(l=>l.pathnameBase)),o=b.useRef(!1);return b.useEffect(()=>{o.current=!0}),b.useCallback(function(l,u){if(u===void 0&&(u={}),process.env.NODE_ENV!=="production"&&OB(o.current,"You should call navigate() in a React.useEffect(), not when your component is first rendered."),!o.current)return;if(typeof l=="number"){t.go(l);return}let d=PB(l,JSON.parse(i),r);e!=="/"&&(d.pathname=IB([e,d.pathname])),(u.replace?t.replace:t.push)(d,u.state)},[e,t,i,r])}const Qm={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},":not(:first-of-type):not(:last-of-type)":{borderTopRightRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}},zB=ee.observer(({saveDashboardChanges:e})=>{const t=VB(),n=Ie(),r=()=>{const d=JSON.stringify(n.json,null,2);X3(n.name,d)},i=()=>{t(`/dashboard/${n.id}`)},o=Vn.useModals(),a=()=>{o.openConfirmModal({title:y(c.Group,{position:"left",children:[s(Td,{size:18,color:"red"}),s(c.Text,{children:"There are unsaved changes"})]}),labels:{confirm:"Discard",cancel:"Cancel"},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:i,zIndex:320,withCloseButton:!1})},l=()=>{o.openConfirmModal({title:y(c.Group,{position:"left",children:[s(Td,{size:18,color:"red"}),s(c.Text,{children:"You are reverting changes"})]}),labels:{confirm:"Confirm",cancel:"Cancel"},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:()=>n.reset(),zIndex:320,withCloseButton:!1})},u=n.changed;return s(c.Header,{height:60,px:"md",py:0,sx:{zIndex:299},children:y(c.Group,{position:"apart",sx:{height:60,position:"relative"},children:[s(c.Group,{children:s(c.Button,{size:"xs",color:u?"red":"green",leftIcon:s(ox,{size:20}),onClick:u?a:i,children:y(c.Group,{spacing:4,children:["End Editing",s(c.Text,{td:"underline",children:n.name})]})})}),y(c.Group,{position:"right",children:[s(c.Button,{variant:"filled",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:s(Ix,{size:20}),children:"Add a Panel"}),y(c.Group,{spacing:0,sx:Qm,children:[s(c.Tooltip,{label:"Download Schema",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",onClick:r,children:s(xx,{size:18})})}),s(c.Tooltip,{label:"Download Data",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",onClick:n.queries.downloadAllData,children:s(Tx,{size:18})})})]}),y(c.Group,{spacing:16,children:[s(c.Tooltip,{label:"Revert Changes",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",size:"md",disabled:!u,onClick:l,children:s(Ad,{size:20,color:"red"})})}),s(c.Button,{color:"green",variant:"filled",size:"xs",leftIcon:s(Wi,{size:18}),onClick:e,disabled:!u,children:"Save Changes"})]})]})]})})});function en(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=en(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}const Zm=e=>{let t;const n=new Set,r=(u,d)=>{const f=typeof u=="function"?u(t):u;if(!Object.is(f,t)){const p=t;t=(d!=null?d:typeof f!="object")?f:Object.assign({},t,f),n.forEach(h=>h(t,p))}},i=()=>t,l={setState:r,getState:i,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{({BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0}&&"production")!=="production"&&console.warn("[DEPRECATED] The destroy method will be unsupported in the future version. You should use unsubscribe function returned by subscribe. Everything will be garbage collected if store is garbage collected."),n.clear()}};return t=e(r,i,l),l},FB=e=>e?Zm(e):Zm;var Jm={exports:{}},cc={},dc={exports:{}},fc={};/**
397
397
  * @license React
398
398
  * use-sync-external-store-shim.production.min.js
399
399
  *
@@ -401,7 +401,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
401
401
  *
402
402
  * This source code is licensed under the MIT license found in the
403
403
  * LICENSE file in the root directory of this source tree.
404
- */var ey;function FB(){if(ey)return fc;ey=1;var e=Q.default;function t(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function l(p,h){var g=h(),v=r({inst:{value:g,getSnapshot:h}}),m=v[0].inst,w=v[1];return o(function(){m.value=g,m.getSnapshot=h,u(m)&&w({inst:m})},[p,g,h]),i(function(){return u(m)&&w({inst:m}),p(function(){u(m)&&w({inst:m})})},[p]),a(g),g}function u(p){var h=p.getSnapshot;p=p.value;try{var g=h();return!n(p,g)}catch{return!0}}function d(p,h){return h()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:l;return fc.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,fc}var pc={};/**
404
+ */var ey;function BB(){if(ey)return fc;ey=1;var e=Q.default;function t(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function l(p,h){var g=h(),v=r({inst:{value:g,getSnapshot:h}}),m=v[0].inst,w=v[1];return o(function(){m.value=g,m.getSnapshot=h,u(m)&&w({inst:m})},[p,g,h]),i(function(){return u(m)&&w({inst:m}),p(function(){u(m)&&w({inst:m})})},[p]),a(g),g}function u(p){var h=p.getSnapshot;p=p.value;try{var g=h();return!n(p,g)}catch{return!0}}function d(p,h){return h()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:l;return fc.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,fc}var pc={};/**
405
405
  * @license React
406
406
  * use-sync-external-store-shim.development.js
407
407
  *
@@ -409,7 +409,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
409
409
  *
410
410
  * This source code is licensed under the MIT license found in the
411
411
  * LICENSE file in the root directory of this source tree.
412
- */var ty;function BB(){return ty||(ty=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=Q.default,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(S){{for(var C=arguments.length,E=new Array(C>1?C-1:0),k=1;k<C;k++)E[k-1]=arguments[k];r("error",S,E)}}function r(S,C,E){{var k=t.ReactDebugCurrentFrame,P=k.getStackAddendum();P!==""&&(C+="%s",E=E.concat([P]));var V=E.map(function(B){return String(B)});V.unshift("Warning: "+C),Function.prototype.apply.call(console[S],console,V)}}function i(S,C){return S===C&&(S!==0||1/S===1/C)||S!==S&&C!==C}var o=typeof Object.is=="function"?Object.is:i,a=e.useState,l=e.useEffect,u=e.useLayoutEffect,d=e.useDebugValue,f=!1,p=!1;function h(S,C,E){f||e.startTransition!==void 0&&(f=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var k=C();if(!p){var P=C();o(k,P)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),p=!0)}var V=a({inst:{value:k,getSnapshot:C}}),B=V[0].inst,I=V[1];return u(function(){B.value=k,B.getSnapshot=C,g(B)&&I({inst:B})},[S,k,C]),l(function(){g(B)&&I({inst:B});var A=function(){g(B)&&I({inst:B})};return S(A)},[S]),d(k),k}function g(S){var C=S.getSnapshot,E=S.value;try{var k=C();return!o(E,k)}catch{return!0}}function v(S,C,E){return C()}var m=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",w=!m,x=w?v:h,_=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:x;pc.useSyncExternalStore=_,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),pc}var ny;function ry(){return ny||(ny=1,function(e){process.env.NODE_ENV==="production"?e.exports=FB():e.exports=BB()}(dc)),dc.exports}/**
412
+ */var ty;function GB(){return ty||(ty=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=Q.default,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(S){{for(var C=arguments.length,E=new Array(C>1?C-1:0),k=1;k<C;k++)E[k-1]=arguments[k];r("error",S,E)}}function r(S,C,E){{var k=t.ReactDebugCurrentFrame,P=k.getStackAddendum();P!==""&&(C+="%s",E=E.concat([P]));var V=E.map(function(B){return String(B)});V.unshift("Warning: "+C),Function.prototype.apply.call(console[S],console,V)}}function i(S,C){return S===C&&(S!==0||1/S===1/C)||S!==S&&C!==C}var o=typeof Object.is=="function"?Object.is:i,a=e.useState,l=e.useEffect,u=e.useLayoutEffect,d=e.useDebugValue,f=!1,p=!1;function h(S,C,E){f||e.startTransition!==void 0&&(f=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var k=C();if(!p){var P=C();o(k,P)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),p=!0)}var V=a({inst:{value:k,getSnapshot:C}}),B=V[0].inst,I=V[1];return u(function(){B.value=k,B.getSnapshot=C,g(B)&&I({inst:B})},[S,k,C]),l(function(){g(B)&&I({inst:B});var A=function(){g(B)&&I({inst:B})};return S(A)},[S]),d(k),k}function g(S){var C=S.getSnapshot,E=S.value;try{var k=C();return!o(E,k)}catch{return!0}}function v(S,C,E){return C()}var m=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",w=!m,x=w?v:h,_=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:x;pc.useSyncExternalStore=_,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),pc}var ny;function ry(){return ny||(ny=1,function(e){process.env.NODE_ENV==="production"?e.exports=BB():e.exports=GB()}(dc)),dc.exports}/**
413
413
  * @license React
414
414
  * use-sync-external-store-shim/with-selector.production.min.js
415
415
  *
@@ -417,7 +417,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
417
417
  *
418
418
  * This source code is licensed under the MIT license found in the
419
419
  * LICENSE file in the root directory of this source tree.
420
- */var iy;function GB(){if(iy)return cc;iy=1;var e=Q.default,t=ry();function n(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;return cc.useSyncExternalStoreWithSelector=function(d,f,p,h,g){var v=o(null);if(v.current===null){var m={hasValue:!1,value:null};v.current=m}else m=v.current;v=l(function(){function x(k){if(!_){if(_=!0,S=k,k=h(k),g!==void 0&&m.hasValue){var P=m.value;if(g(P,k))return C=P}return C=k}if(P=C,r(S,k))return P;var V=h(k);return g!==void 0&&g(P,V)?P:(S=k,C=V)}var _=!1,S,C,E=p===void 0?null:p;return[function(){return x(f())},E===null?void 0:function(){return x(E())}]},[f,p,h,g]);var w=i(d,v[0],v[1]);return a(function(){m.hasValue=!0,m.value=w},[w]),u(w),w},cc}var hc={};/**
420
+ */var iy;function jB(){if(iy)return cc;iy=1;var e=Q.default,t=ry();function n(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;return cc.useSyncExternalStoreWithSelector=function(d,f,p,h,g){var v=o(null);if(v.current===null){var m={hasValue:!1,value:null};v.current=m}else m=v.current;v=l(function(){function x(k){if(!_){if(_=!0,S=k,k=h(k),g!==void 0&&m.hasValue){var P=m.value;if(g(P,k))return C=P}return C=k}if(P=C,r(S,k))return P;var V=h(k);return g!==void 0&&g(P,V)?P:(S=k,C=V)}var _=!1,S,C,E=p===void 0?null:p;return[function(){return x(f())},E===null?void 0:function(){return x(E())}]},[f,p,h,g]);var w=i(d,v[0],v[1]);return a(function(){m.hasValue=!0,m.value=w},[w]),u(w),w},cc}var hc={};/**
421
421
  * @license React
422
422
  * use-sync-external-store-shim/with-selector.development.js
423
423
  *
@@ -425,15 +425,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
425
425
  *
426
426
  * This source code is licensed under the MIT license found in the
427
427
  * LICENSE file in the root directory of this source tree.
428
- */var oy;function jB(){return oy||(oy=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=Q.default,t=ry();function n(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;function d(f,p,h,g,v){var m=o(null),w;m.current===null?(w={hasValue:!1,value:null},m.current=w):w=m.current;var x=l(function(){var E=!1,k,P,V=function($){if(!E){E=!0,k=$;var F=g($);if(v!==void 0&&w.hasValue){var M=w.value;if(v(M,F))return P=M,M}return P=F,F}var L=k,N=P;if(r(L,$))return N;var R=g($);return v!==void 0&&v(N,R)?N:(k=$,P=R,R)},B=h===void 0?null:h,I=function(){return V(p())},A=B===null?void 0:function(){return V(B())};return[I,A]},[p,h,g,v]),_=x[0],S=x[1],C=i(f,_,S);return a(function(){w.hasValue=!0,w.value=C},[C]),u(C),C}hc.useSyncExternalStoreWithSelector=d,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),hc}(function(e){process.env.NODE_ENV==="production"?e.exports=GB():e.exports=jB()})(Jm);const KB=H0(Jm.exports),{useSyncExternalStoreWithSelector:WB}=KB;function qB(e,t=e.getState,n){const r=WB(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return b.useDebugValue(r),r}function rn(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 HB={value:()=>{}};function ls(){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 us(n)}function us(e){this._=e}function UB(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}})}us.prototype=ls.prototype={constructor:us,on:function(e,t){var n=this._,r=UB(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=YB(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]=ay(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ay(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 us(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 YB(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ay(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=HB,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var gc="http://www.w3.org/1999/xhtml";const sy={svg:"http://www.w3.org/2000/svg",xhtml:gc,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function cs(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),sy.hasOwnProperty(t)?{space:sy[t],local:e}:e}function XB(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===gc&&t.documentElement.namespaceURI===gc?t.createElement(e):t.createElementNS(n,e)}}function QB(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ly(e){var t=cs(e);return(t.local?QB:XB)(t)}function ZB(){}function vc(e){return e==null?ZB:function(){return this.querySelector(e)}}function JB(e){typeof e!="function"&&(e=vc(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,l=r[i]=new Array(a),u,d,f=0;f<a;++f)(u=o[f])&&(d=e.call(u,u.__data__,f,o))&&("__data__"in u&&(d.__data__=u.__data__),l[f]=d);return new xn(r,this._parents)}function e4(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function t4(){return[]}function uy(e){return e==null?t4:function(){return this.querySelectorAll(e)}}function n4(e){return function(){return e4(e.apply(this,arguments))}}function r4(e){typeof e=="function"?e=n4(e):e=uy(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],l=a.length,u,d=0;d<l;++d)(u=a[d])&&(r.push(e.call(u,u.__data__,d,a)),i.push(u));return new xn(r,i)}function cy(e){return function(){return this.matches(e)}}function dy(e){return function(t){return t.matches(e)}}var i4=Array.prototype.find;function o4(e){return function(){return i4.call(this.children,e)}}function a4(){return this.firstElementChild}function s4(e){return this.select(e==null?a4:o4(typeof e=="function"?e:dy(e)))}var l4=Array.prototype.filter;function u4(){return Array.from(this.children)}function c4(e){return function(){return l4.call(this.children,e)}}function d4(e){return this.selectAll(e==null?u4:c4(typeof e=="function"?e:dy(e)))}function f4(e){typeof e!="function"&&(e=cy(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,l=r[i]=[],u,d=0;d<a;++d)(u=o[d])&&e.call(u,u.__data__,d,o)&&l.push(u);return new xn(r,this._parents)}function fy(e){return new Array(e.length)}function p4(){return new xn(this._enter||this._groups.map(fy),this._parents)}function ds(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ds.prototype={constructor:ds,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 h4(e){return function(){return e}}function g4(e,t,n,r,i,o){for(var a=0,l,u=t.length,d=o.length;a<d;++a)(l=t[a])?(l.__data__=o[a],r[a]=l):n[a]=new ds(e,o[a]);for(;a<u;++a)(l=t[a])&&(i[a]=l)}function v4(e,t,n,r,i,o,a){var l,u,d=new Map,f=t.length,p=o.length,h=new Array(f),g;for(l=0;l<f;++l)(u=t[l])&&(h[l]=g=a.call(u,u.__data__,l,t)+"",d.has(g)?i[l]=u:d.set(g,u));for(l=0;l<p;++l)g=a.call(e,o[l],l,o)+"",(u=d.get(g))?(r[l]=u,u.__data__=o[l],d.delete(g)):n[l]=new ds(e,o[l]);for(l=0;l<f;++l)(u=t[l])&&d.get(h[l])===u&&(i[l]=u)}function m4(e){return e.__data__}function y4(e,t){if(!arguments.length)return Array.from(this,m4);var n=t?v4:g4,r=this._parents,i=this._groups;typeof e!="function"&&(e=h4(e));for(var o=i.length,a=new Array(o),l=new Array(o),u=new Array(o),d=0;d<o;++d){var f=r[d],p=i[d],h=p.length,g=b4(e.call(f,f&&f.__data__,d,r)),v=g.length,m=l[d]=new Array(v),w=a[d]=new Array(v),x=u[d]=new Array(h);n(f,p,m,w,x,g,t);for(var _=0,S=0,C,E;_<v;++_)if(C=m[_]){for(_>=S&&(S=_+1);!(E=w[S])&&++S<v;);C._next=E||null}}return a=new xn(a,r),a._enter=l,a._exit=u,a}function b4(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function x4(){return new xn(this._exit||this._groups.map(fy),this._parents)}function w4(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 C4(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),l=new Array(i),u=0;u<a;++u)for(var d=n[u],f=r[u],p=d.length,h=l[u]=new Array(p),g,v=0;v<p;++v)(g=d[v]||f[v])&&(h[v]=g);for(;u<i;++u)l[u]=n[u];return new xn(l,this._parents)}function S4(){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 _4(e){e||(e=E4);function t(p,h){return p&&h?e(p.__data__,h.__data__):!p-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],l=a.length,u=i[o]=new Array(l),d,f=0;f<l;++f)(d=a[f])&&(u[f]=d);u.sort(t)}return new xn(i,this._parents).order()}function E4(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function T4(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function M4(){return Array.from(this)}function k4(){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 D4(){let e=0;for(const t of this)++e;return e}function O4(){return!this.node()}function A4(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,l;o<a;++o)(l=i[o])&&e.call(l,l.__data__,o,i);return this}function R4(e){return function(){this.removeAttribute(e)}}function P4(e){return function(){this.removeAttributeNS(e.space,e.local)}}function I4(e,t){return function(){this.setAttribute(e,t)}}function N4(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function $4(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function L4(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 V4(e,t){var n=cs(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?P4:R4:typeof t=="function"?n.local?L4:$4:n.local?N4:I4)(n,t))}function py(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function z4(e){return function(){this.style.removeProperty(e)}}function F4(e,t,n){return function(){this.style.setProperty(e,t,n)}}function B4(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function G4(e,t,n){return arguments.length>1?this.each((t==null?z4:typeof t=="function"?B4:F4)(e,t,n==null?"":n)):Ei(this.node(),e)}function Ei(e,t){return e.style.getPropertyValue(t)||py(e).getComputedStyle(e,null).getPropertyValue(t)}function j4(e){return function(){delete this[e]}}function K4(e,t){return function(){this[e]=t}}function W4(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function q4(e,t){return arguments.length>1?this.each((t==null?j4:typeof t=="function"?W4:K4)(e,t)):this.node()[e]}function hy(e){return e.trim().split(/^|\s+/)}function mc(e){return e.classList||new gy(e)}function gy(e){this._node=e,this._names=hy(e.getAttribute("class")||"")}gy.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 vy(e,t){for(var n=mc(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function my(e,t){for(var n=mc(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function H4(e){return function(){vy(this,e)}}function U4(e){return function(){my(this,e)}}function Y4(e,t){return function(){(t.apply(this,arguments)?vy:my)(this,e)}}function X4(e,t){var n=hy(e+"");if(arguments.length<2){for(var r=mc(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?Y4:t?H4:U4)(n,t))}function Q4(){this.textContent=""}function Z4(e){return function(){this.textContent=e}}function J4(e){return function(){var t=e.apply(this,arguments);this.textContent=t==null?"":t}}function e5(e){return arguments.length?this.each(e==null?Q4:(typeof e=="function"?J4:Z4)(e)):this.node().textContent}function t5(){this.innerHTML=""}function n5(e){return function(){this.innerHTML=e}}function r5(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t==null?"":t}}function i5(e){return arguments.length?this.each(e==null?t5:(typeof e=="function"?r5:n5)(e)):this.node().innerHTML}function o5(){this.nextSibling&&this.parentNode.appendChild(this)}function a5(){return this.each(o5)}function s5(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function l5(){return this.each(s5)}function u5(e){var t=typeof e=="function"?e:ly(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function c5(){return null}function d5(e,t){var n=typeof e=="function"?e:ly(e),r=t==null?c5:typeof t=="function"?t:vc(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function f5(){var e=this.parentNode;e&&e.removeChild(this)}function p5(){return this.each(f5)}function h5(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function g5(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function v5(e){return this.select(e?g5:h5)}function m5(e){return arguments.length?this.property("__data__",e):this.node().__data__}function y5(e){return function(t){e.call(this,t,this.__data__)}}function b5(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 x5(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 w5(e,t,n){return function(){var r=this.__on,i,o=y5(t);if(r){for(var a=0,l=r.length;a<l;++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 C5(e,t,n){var r=b5(e+""),i,o=r.length,a;if(arguments.length<2){var l=this.node().__on;if(l){for(var u=0,d=l.length,f;u<d;++u)for(i=0,f=l[u];i<o;++i)if((a=r[i]).type===f.type&&a.name===f.name)return f.value}return}for(l=t?w5:x5,i=0;i<o;++i)this.each(l(r[i],t,n));return this}function yy(e,t,n){var r=py(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 S5(e,t){return function(){return yy(this,e,t)}}function _5(e,t){return function(){return yy(this,e,t.apply(this,arguments))}}function E5(e,t){return this.each((typeof t=="function"?_5:S5)(e,t))}function*T5(){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 by=[null];function xn(e,t){this._groups=e,this._parents=t}function Eo(){return new xn([[document.documentElement]],by)}function M5(){return this}xn.prototype=Eo.prototype={constructor:xn,select:JB,selectAll:r4,selectChild:s4,selectChildren:d4,filter:f4,data:y4,enter:p4,exit:x4,join:w4,merge:C4,selection:M5,order:S4,sort:_4,call:T4,nodes:M4,node:k4,size:D4,empty:O4,each:A4,attr:V4,style:G4,property:q4,classed:X4,text:e5,html:i5,raise:a5,lower:l5,append:u5,insert:d5,remove:p5,clone:v5,datum:m5,on:C5,dispatch:E5,[Symbol.iterator]:T5};function Dn(e){return typeof e=="string"?new xn([[document.querySelector(e)]],[document.documentElement]):new xn([[e]],by)}function k5(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Pn(e,t){if(e=k5(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 D5={passive:!1},To={capture:!0,passive:!1};function yc(e){e.stopImmediatePropagation()}function Ti(e){e.preventDefault(),e.stopImmediatePropagation()}function xy(e){var t=e.document.documentElement,n=Dn(e).on("dragstart.drag",Ti,To);"onselectstart"in t?n.on("selectstart.drag",Ti,To):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function wy(e,t){var n=e.document.documentElement,r=Dn(e).on("dragstart.drag",null);t&&(r.on("click.drag",Ti,To),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 fs=e=>()=>e;function bc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:l,dx:u,dy:d,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:l,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:f}})}bc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function O5(e){return!e.ctrlKey&&!e.button}function A5(){return this.parentNode}function R5(e,t){return t==null?{x:e.x,y:e.y}:t}function P5(){return navigator.maxTouchPoints||"ontouchstart"in this}function I5(){var e=O5,t=A5,n=R5,r=P5,i={},o=ls("start","drag","end"),a=0,l,u,d,f,p=0;function h(C){C.on("mousedown.drag",g).filter(r).on("touchstart.drag",w).on("touchmove.drag",x,D5).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(C,E){if(!(f||!e.call(this,C,E))){var k=S(this,t.call(this,C,E),C,E,"mouse");!k||(Dn(C.view).on("mousemove.drag",v,To).on("mouseup.drag",m,To),xy(C.view),yc(C),d=!1,l=C.clientX,u=C.clientY,k("start",C))}}function v(C){if(Ti(C),!d){var E=C.clientX-l,k=C.clientY-u;d=E*E+k*k>p}i.mouse("drag",C)}function m(C){Dn(C.view).on("mousemove.drag mouseup.drag",null),wy(C.view,d),Ti(C),i.mouse("end",C)}function w(C,E){if(!!e.call(this,C,E)){var k=C.changedTouches,P=t.call(this,C,E),V=k.length,B,I;for(B=0;B<V;++B)(I=S(this,P,C,E,k[B].identifier,k[B]))&&(yc(C),I("start",C,k[B]))}}function x(C){var E=C.changedTouches,k=E.length,P,V;for(P=0;P<k;++P)(V=i[E[P].identifier])&&(Ti(C),V("drag",C,E[P]))}function _(C){var E=C.changedTouches,k=E.length,P,V;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),P=0;P<k;++P)(V=i[E[P].identifier])&&(yc(C),V("end",C,E[P]))}function S(C,E,k,P,V,B){var I=o.copy(),A=Pn(B||k,E),$,F,M;if((M=n.call(C,new bc("beforestart",{sourceEvent:k,target:h,identifier:V,active:a,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),P))!=null)return $=M.x-A[0]||0,F=M.y-A[1]||0,function L(N,R,G){var j=A,K;switch(N){case"start":i[V]=L,K=a++;break;case"end":delete i[V],--a;case"drag":A=Pn(G||R,E),K=a;break}I.call(N,C,new bc(N,{sourceEvent:R,subject:M,target:h,identifier:V,active:K,x:A[0]+$,y:A[1]+F,dx:A[0]-j[0],dy:A[1]-j[1],dispatch:I}),P)}}return h.filter=function(C){return arguments.length?(e=typeof C=="function"?C:fs(!!C),h):e},h.container=function(C){return arguments.length?(t=typeof C=="function"?C:fs(C),h):t},h.subject=function(C){return arguments.length?(n=typeof C=="function"?C:fs(C),h):n},h.touchable=function(C){return arguments.length?(r=typeof C=="function"?C:fs(!!C),h):r},h.on=function(){var C=o.on.apply(o,arguments);return C===o?h:C},h.clickDistance=function(C){return arguments.length?(p=(C=+C)*C,h):Math.sqrt(p)},h}function xc(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Cy(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Mo(){}var ko=.7,ps=1/ko,Mi="\\s*([+-]?\\d+)\\s*",Do="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Hn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",N5=/^#([0-9a-f]{3,8})$/,$5=new RegExp(`^rgb\\(${Mi},${Mi},${Mi}\\)$`),L5=new RegExp(`^rgb\\(${Hn},${Hn},${Hn}\\)$`),V5=new RegExp(`^rgba\\(${Mi},${Mi},${Mi},${Do}\\)$`),z5=new RegExp(`^rgba\\(${Hn},${Hn},${Hn},${Do}\\)$`),F5=new RegExp(`^hsl\\(${Do},${Hn},${Hn}\\)$`),B5=new RegExp(`^hsla\\(${Do},${Hn},${Hn},${Do}\\)$`),Sy={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};xc(Mo,Oo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_y,formatHex:_y,formatHex8:G5,formatHsl:j5,formatRgb:Ey,toString:Ey});function _y(){return this.rgb().formatHex()}function G5(){return this.rgb().formatHex8()}function j5(){return Oy(this).formatHsl()}function Ey(){return this.rgb().formatRgb()}function Oo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=N5.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Ty(t):n===3?new fn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?hs(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?hs(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=$5.exec(e))?new fn(t[1],t[2],t[3],1):(t=L5.exec(e))?new fn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=V5.exec(e))?hs(t[1],t[2],t[3],t[4]):(t=z5.exec(e))?hs(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=F5.exec(e))?Dy(t[1],t[2]/100,t[3]/100,1):(t=B5.exec(e))?Dy(t[1],t[2]/100,t[3]/100,t[4]):Sy.hasOwnProperty(e)?Ty(Sy[e]):e==="transparent"?new fn(NaN,NaN,NaN,0):null}function Ty(e){return new fn(e>>16&255,e>>8&255,e&255,1)}function hs(e,t,n,r){return r<=0&&(e=t=n=NaN),new fn(e,t,n,r)}function K5(e){return e instanceof Mo||(e=Oo(e)),e?(e=e.rgb(),new fn(e.r,e.g,e.b,e.opacity)):new fn}function wc(e,t,n,r){return arguments.length===1?K5(e):new fn(e,t,n,r==null?1:r)}function fn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xc(fn,wc,Cy(Mo,{brighter(e){return e=e==null?ps:Math.pow(ps,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new fn(Hr(this.r),Hr(this.g),Hr(this.b),gs(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:My,formatHex:My,formatHex8:W5,formatRgb:ky,toString:ky}));function My(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}`}function W5(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}${Ur((isNaN(this.opacity)?1:this.opacity)*255)}`}function ky(){const e=gs(this.opacity);return`${e===1?"rgb(":"rgba("}${Hr(this.r)}, ${Hr(this.g)}, ${Hr(this.b)}${e===1?")":`, ${e})`}`}function gs(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ur(e){return e=Hr(e),(e<16?"0":"")+e.toString(16)}function Dy(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new In(e,t,n,r)}function Oy(e){if(e instanceof In)return new In(e.h,e.s,e.l,e.opacity);if(e instanceof Mo||(e=Oo(e)),!e)return new In;if(e instanceof In)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,l=o-i,u=(o+i)/2;return l?(t===o?a=(n-r)/l+(n<r)*6:n===o?a=(r-t)/l+2:a=(t-n)/l+4,l/=u<.5?o+i:2-o-i,a*=60):l=u>0&&u<1?0:a,new In(a,l,u,e.opacity)}function q5(e,t,n,r){return arguments.length===1?Oy(e):new In(e,t,n,r==null?1:r)}function In(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xc(In,q5,Cy(Mo,{brighter(e){return e=e==null?ps:Math.pow(ps,e),new In(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new In(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 fn(Cc(e>=240?e-240:e+120,i,r),Cc(e,i,r),Cc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new In(Ay(this.h),vs(this.s),vs(this.l),gs(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=gs(this.opacity);return`${e===1?"hsl(":"hsla("}${Ay(this.h)}, ${vs(this.s)*100}%, ${vs(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ay(e){return e=(e||0)%360,e<0?e+360:e}function vs(e){return Math.max(0,Math.min(1,e||0))}function Cc(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 Ry=e=>()=>e;function H5(e,t){return function(n){return e+n*t}}function U5(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 Y5(e){return(e=+e)==1?Py:function(t,n){return n-t?U5(t,n,e):Ry(isNaN(t)?n:t)}}function Py(e,t){var n=t-e;return n?H5(e,n):Ry(isNaN(e)?t:e)}const Iy=function e(t){var n=Y5(t);function r(i,o){var a=n((i=wc(i)).r,(o=wc(o)).r),l=n(i.g,o.g),u=n(i.b,o.b),d=Py(i.opacity,o.opacity);return function(f){return i.r=a(f),i.g=l(f),i.b=u(f),i.opacity=d(f),i+""}}return r.gamma=e,r}(1);function Ar(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Sc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_c=new RegExp(Sc.source,"g");function X5(e){return function(){return e}}function Q5(e){return function(t){return e(t)+""}}function Z5(e,t){var n=Sc.lastIndex=_c.lastIndex=0,r,i,o,a=-1,l=[],u=[];for(e=e+"",t=t+"";(r=Sc.exec(e))&&(i=_c.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),l[a]?l[a]+=o:l[++a]=o),(r=r[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,u.push({i:a,x:Ar(r,i)})),n=_c.lastIndex;return n<t.length&&(o=t.slice(n),l[a]?l[a]+=o:l[++a]=o),l.length<2?u[0]?Q5(u[0].x):X5(t):(t=u.length,function(d){for(var f=0,p;f<t;++f)l[(p=u[f]).i]=p.x(d);return l.join("")})}var Ny=180/Math.PI,Ec={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function $y(e,t,n,r,i,o){var a,l,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*Ny,skewX:Math.atan(u)*Ny,scaleX:a,scaleY:l}}var ms;function J5(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ec:$y(t.a,t.b,t.c,t.d,t.e,t.f)}function eG(e){return e==null||(ms||(ms=document.createElementNS("http://www.w3.org/2000/svg","g")),ms.setAttribute("transform",e),!(e=ms.transform.baseVal.consolidate()))?Ec:(e=e.matrix,$y(e.a,e.b,e.c,e.d,e.e,e.f))}function Ly(e,t,n,r){function i(d){return d.length?d.pop()+" ":""}function o(d,f,p,h,g,v){if(d!==p||f!==h){var m=g.push("translate(",null,t,null,n);v.push({i:m-4,x:Ar(d,p)},{i:m-2,x:Ar(f,h)})}else(p||h)&&g.push("translate("+p+t+h+n)}function a(d,f,p,h){d!==f?(d-f>180?f+=360:f-d>180&&(d+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:Ar(d,f)})):f&&p.push(i(p)+"rotate("+f+r)}function l(d,f,p,h){d!==f?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:Ar(d,f)}):f&&p.push(i(p)+"skewX("+f+r)}function u(d,f,p,h,g,v){if(d!==p||f!==h){var m=g.push(i(g)+"scale(",null,",",null,")");v.push({i:m-4,x:Ar(d,p)},{i:m-2,x:Ar(f,h)})}else(p!==1||h!==1)&&g.push(i(g)+"scale("+p+","+h+")")}return function(d,f){var p=[],h=[];return d=e(d),f=e(f),o(d.translateX,d.translateY,f.translateX,f.translateY,p,h),a(d.rotate,f.rotate,p,h),l(d.skewX,f.skewX,p,h),u(d.scaleX,d.scaleY,f.scaleX,f.scaleY,p,h),d=f=null,function(g){for(var v=-1,m=h.length,w;++v<m;)p[(w=h[v]).i]=w.x(g);return p.join("")}}}var tG=Ly(J5,"px, ","px)","deg)"),nG=Ly(eG,", ",")",")"),rG=1e-12;function Vy(e){return((e=Math.exp(e))+1/e)/2}function iG(e){return((e=Math.exp(e))-1/e)/2}function oG(e){return((e=Math.exp(2*e))-1)/(e+1)}const aG=function e(t,n,r){function i(o,a){var l=o[0],u=o[1],d=o[2],f=a[0],p=a[1],h=a[2],g=f-l,v=p-u,m=g*g+v*v,w,x;if(m<rG)x=Math.log(h/d)/t,w=function(P){return[l+P*g,u+P*v,d*Math.exp(t*P*x)]};else{var _=Math.sqrt(m),S=(h*h-d*d+r*m)/(2*d*n*_),C=(h*h-d*d-r*m)/(2*h*n*_),E=Math.log(Math.sqrt(S*S+1)-S),k=Math.log(Math.sqrt(C*C+1)-C);x=(k-E)/t,w=function(P){var V=P*x,B=Vy(E),I=d/(n*_)*(B*oG(t*V+E)-iG(E));return[l+I*g,u+I*v,d*B/Vy(t*V+E)]}}return w.duration=x*1e3*t/Math.SQRT2,w}return i.rho=function(o){var a=Math.max(.001,+o),l=a*a,u=l*l;return e(a,l,u)},i}(Math.SQRT2,2,4);var ki=0,Ao=0,Ro=0,zy=1e3,ys,Po,bs=0,Yr=0,xs=0,Io=typeof performance=="object"&&performance.now?performance:Date,Fy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Tc(){return Yr||(Fy(sG),Yr=Io.now()+xs)}function sG(){Yr=0}function ws(){this._call=this._time=this._next=null}ws.prototype=By.prototype={constructor:ws,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Tc():+n)+(t==null?0:+t),!this._next&&Po!==this&&(Po?Po._next=this:ys=this,Po=this),this._call=e,this._time=n,Mc()},stop:function(){this._call&&(this._call=null,this._time=1/0,Mc())}};function By(e,t,n){var r=new ws;return r.restart(e,t,n),r}function lG(){Tc(),++ki;for(var e=ys,t;e;)(t=Yr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ki}function Gy(){Yr=(bs=Io.now())+xs,ki=Ao=0;try{lG()}finally{ki=0,cG(),Yr=0}}function uG(){var e=Io.now(),t=e-bs;t>zy&&(xs-=t,bs=e)}function cG(){for(var e,t=ys,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:ys=n);Po=e,Mc(r)}function Mc(e){if(!ki){Ao&&(Ao=clearTimeout(Ao));var t=e-Yr;t>24?(e<1/0&&(Ao=setTimeout(Gy,e-Io.now()-xs)),Ro&&(Ro=clearInterval(Ro))):(Ro||(bs=Io.now(),Ro=setInterval(uG,zy)),ki=1,Fy(Gy))}}function jy(e,t,n){var r=new ws;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var dG=ls("start","end","cancel","interrupt"),fG=[],Ky=0,Wy=1,kc=2,Cs=3,qy=4,Dc=5,Ss=6;function _s(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;pG(e,n,{name:t,index:r,group:i,on:dG,tween:fG,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Ky})}function Oc(e,t){var n=Nn(e,t);if(n.state>Ky)throw new Error("too late; already scheduled");return n}function Un(e,t){var n=Nn(e,t);if(n.state>Cs)throw new Error("too late; already running");return n}function Nn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function pG(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=By(o,0,n.time);function o(d){n.state=Wy,n.timer.restart(a,n.delay,n.time),n.delay<=d&&a(d-n.delay)}function a(d){var f,p,h,g;if(n.state!==Wy)return u();for(f in r)if(g=r[f],g.name===n.name){if(g.state===Cs)return jy(a);g.state===qy?(g.state=Ss,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[f]):+f<t&&(g.state=Ss,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete r[f])}if(jy(function(){n.state===Cs&&(n.state=qy,n.timer.restart(l,n.delay,n.time),l(d))}),n.state=kc,n.on.call("start",e,e.__data__,n.index,n.group),n.state===kc){for(n.state=Cs,i=new Array(h=n.tween.length),f=0,p=-1;f<h;++f)(g=n.tween[f].value.call(e,e.__data__,n.index,n.group))&&(i[++p]=g);i.length=p+1}}function l(d){for(var f=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(u),n.state=Dc,1),p=-1,h=i.length;++p<h;)i[p].call(e,f);n.state===Dc&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Ss,n.timer.stop(),delete r[t];for(var d in r)return;delete e.__transition}}function Es(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>kc&&r.state<Dc,r.state=Ss,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function hG(e){return this.each(function(){Es(this,e)})}function gG(e,t){var n,r;return function(){var i=Un(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,l=r.length;a<l;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function vG(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Un(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var l={name:t,value:n},u=0,d=i.length;u<d;++u)if(i[u].name===t){i[u]=l;break}u===d&&i.push(l)}o.tween=i}}function mG(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Nn(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?gG:vG)(n,e,t))}function Ac(e,t,n){var r=e._id;return e.each(function(){var i=Un(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Nn(i,r).value[t]}}function Hy(e,t){var n;return(typeof t=="number"?Ar:t instanceof Oo?Iy:(n=Oo(t))?(t=n,Iy):Z5)(e,t)}function yG(e){return function(){this.removeAttribute(e)}}function bG(e){return function(){this.removeAttributeNS(e.space,e.local)}}function xG(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 wG(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 CG(e,t,n){var r,i,o;return function(){var a,l=n(this),u;return l==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=l+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l)))}}function SG(e,t,n){var r,i,o;return function(){var a,l=n(this),u;return l==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=l+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l)))}}function _G(e,t){var n=cs(e),r=n==="transform"?nG:Hy;return this.attrTween(e,typeof t=="function"?(n.local?SG:CG)(n,r,Ac(this,"attr."+e,t)):t==null?(n.local?bG:yG)(n):(n.local?wG:xG)(n,r,t))}function EG(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function TG(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function MG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&TG(e,o)),n}return i._value=t,i}function kG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&EG(e,o)),n}return i._value=t,i}function DG(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=cs(e);return this.tween(n,(r.local?MG:kG)(r,t))}function OG(e,t){return function(){Oc(this,e).delay=+t.apply(this,arguments)}}function AG(e,t){return t=+t,function(){Oc(this,e).delay=t}}function RG(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?OG:AG)(t,e)):Nn(this.node(),t).delay}function PG(e,t){return function(){Un(this,e).duration=+t.apply(this,arguments)}}function IG(e,t){return t=+t,function(){Un(this,e).duration=t}}function NG(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?PG:IG)(t,e)):Nn(this.node(),t).duration}function $G(e,t){if(typeof t!="function")throw new Error;return function(){Un(this,e).ease=t}}function LG(e){var t=this._id;return arguments.length?this.each($G(t,e)):Nn(this.node(),t).ease}function VG(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Un(this,e).ease=n}}function zG(e){if(typeof e!="function")throw new Error;return this.each(VG(this._id,e))}function FG(e){typeof e!="function"&&(e=cy(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,l=r[i]=[],u,d=0;d<a;++d)(u=o[d])&&e.call(u,u.__data__,d,o)&&l.push(u);return new cr(r,this._parents,this._name,this._id)}function BG(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),l=0;l<o;++l)for(var u=t[l],d=n[l],f=u.length,p=a[l]=new Array(f),h,g=0;g<f;++g)(h=u[g]||d[g])&&(p[g]=h);for(;l<r;++l)a[l]=t[l];return new cr(a,this._parents,this._name,this._id)}function GG(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 jG(e,t,n){var r,i,o=GG(t)?Oc:Un;return function(){var a=o(this,e),l=a.on;l!==r&&(i=(r=l).copy()).on(t,n),a.on=i}}function KG(e,t){var n=this._id;return arguments.length<2?Nn(this.node(),n).on.on(e):this.each(jG(n,e,t))}function WG(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function qG(){return this.on("end.remove",WG(this._id))}function HG(e){var t=this._name,n=this._id;typeof e!="function"&&(e=vc(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var l=r[a],u=l.length,d=o[a]=new Array(u),f,p,h=0;h<u;++h)(f=l[h])&&(p=e.call(f,f.__data__,h,l))&&("__data__"in f&&(p.__data__=f.__data__),d[h]=p,_s(d[h],t,n,h,d,Nn(f,n)));return new cr(o,this._parents,t,n)}function UG(e){var t=this._name,n=this._id;typeof e!="function"&&(e=uy(e));for(var r=this._groups,i=r.length,o=[],a=[],l=0;l<i;++l)for(var u=r[l],d=u.length,f,p=0;p<d;++p)if(f=u[p]){for(var h=e.call(f,f.__data__,p,u),g,v=Nn(f,n),m=0,w=h.length;m<w;++m)(g=h[m])&&_s(g,t,n,m,h,v);o.push(h),a.push(f)}return new cr(o,a,t,n)}var YG=Eo.prototype.constructor;function XG(){return new YG(this._groups,this._parents)}function QG(e,t){var n,r,i;return function(){var o=Ei(this,e),a=(this.style.removeProperty(e),Ei(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function Uy(e){return function(){this.style.removeProperty(e)}}function ZG(e,t,n){var r,i=n+"",o;return function(){var a=Ei(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function JG(e,t,n){var r,i,o;return function(){var a=Ei(this,e),l=n(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(e),Ei(this,e))),a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l))}}function ej(e,t){var n,r,i,o="style."+t,a="end."+o,l;return function(){var u=Un(this,e),d=u.on,f=u.value[o]==null?l||(l=Uy(t)):void 0;(d!==n||i!==f)&&(r=(n=d).copy()).on(a,i=f),u.on=r}}function tj(e,t,n){var r=(e+="")=="transform"?tG:Hy;return t==null?this.styleTween(e,QG(e,r)).on("end.style."+e,Uy(e)):typeof t=="function"?this.styleTween(e,JG(e,r,Ac(this,"style."+e,t))).each(ej(this._id,e)):this.styleTween(e,ZG(e,r,t),n).on("end.style."+e,null)}function nj(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function rj(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&nj(e,a,n)),r}return o._value=t,o}function ij(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,rj(e,t,n==null?"":n))}function oj(e){return function(){this.textContent=e}}function aj(e){return function(){var t=e(this);this.textContent=t==null?"":t}}function sj(e){return this.tween("text",typeof e=="function"?aj(Ac(this,"text",e)):oj(e==null?"":e+""))}function lj(e){return function(t){this.textContent=e.call(this,t)}}function uj(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&lj(i)),t}return r._value=e,r}function cj(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,uj(e))}function dj(){for(var e=this._name,t=this._id,n=Yy(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],l=a.length,u,d=0;d<l;++d)if(u=a[d]){var f=Nn(u,t);_s(u,e,n,d,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new cr(r,this._parents,e,n)}function fj(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var l={value:a},u={value:function(){--i===0&&o()}};n.each(function(){var d=Un(this,r),f=d.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(u)),d.on=t}),i===0&&o()})}var pj=0;function cr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Yy(){return++pj}var dr=Eo.prototype;cr.prototype={constructor:cr,select:HG,selectAll:UG,selectChild:dr.selectChild,selectChildren:dr.selectChildren,filter:FG,merge:BG,selection:XG,transition:dj,call:dr.call,nodes:dr.nodes,node:dr.node,size:dr.size,empty:dr.empty,each:dr.each,on:KG,attr:_G,attrTween:DG,style:tj,styleTween:ij,text:sj,textTween:cj,remove:qG,tween:mG,delay:RG,duration:NG,ease:LG,easeVarying:zG,end:fj,[Symbol.iterator]:dr[Symbol.iterator]};function hj(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var gj={time:null,delay:0,duration:250,ease:hj};function vj(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 mj(e){var t,n;e instanceof cr?(t=e._id,e=e._name):(t=Yy(),(n=gj).time=Tc(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],l=a.length,u,d=0;d<l;++d)(u=a[d])&&_s(u,e,t,d,a,n||vj(u,t));return new cr(r,this._parents,e,t)}Eo.prototype.interrupt=hG,Eo.prototype.transition=mj;const Ts=e=>()=>e;function yj(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 fr(e,t,n){this.k=e,this.x=t,this.y=n}fr.prototype={constructor:fr,scale:function(e){return e===1?this:new fr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new fr(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 pr=new fr(1,0,0);fr.prototype;function Rc(e){e.stopImmediatePropagation()}function No(e){e.preventDefault(),e.stopImmediatePropagation()}function bj(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function xj(){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 Xy(){return this.__zoom||pr}function wj(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Cj(){return navigator.maxTouchPoints||"ontouchstart"in this}function Sj(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 Qy(){var e=bj,t=xj,n=Sj,r=wj,i=Cj,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,u=aG,d=ls("start","zoom","end"),f,p,h,g=500,v=150,m=0,w=10;function x(M){M.property("__zoom",Xy).on("wheel.zoom",V,{passive:!1}).on("mousedown.zoom",B).on("dblclick.zoom",I).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(M,L,N,R){var G=M.selection?M.selection():M;G.property("__zoom",Xy),M!==G?E(M,L,N,R):G.interrupt().each(function(){k(this,arguments).event(R).start().zoom(null,typeof L=="function"?L.apply(this,arguments):L).end()})},x.scaleBy=function(M,L,N,R){x.scaleTo(M,function(){var G=this.__zoom.k,j=typeof L=="function"?L.apply(this,arguments):L;return G*j},N,R)},x.scaleTo=function(M,L,N,R){x.transform(M,function(){var G=t.apply(this,arguments),j=this.__zoom,K=N==null?C(G):typeof N=="function"?N.apply(this,arguments):N,q=j.invert(K),ne=typeof L=="function"?L.apply(this,arguments):L;return n(S(_(j,ne),K,q),G,a)},N,R)},x.translateBy=function(M,L,N,R){x.transform(M,function(){return n(this.__zoom.translate(typeof L=="function"?L.apply(this,arguments):L,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,R)},x.translateTo=function(M,L,N,R,G){x.transform(M,function(){var j=t.apply(this,arguments),K=this.__zoom,q=R==null?C(j):typeof R=="function"?R.apply(this,arguments):R;return n(pr.translate(q[0],q[1]).scale(K.k).translate(typeof L=="function"?-L.apply(this,arguments):-L,typeof N=="function"?-N.apply(this,arguments):-N),j,a)},R,G)};function _(M,L){return L=Math.max(o[0],Math.min(o[1],L)),L===M.k?M:new fr(L,M.x,M.y)}function S(M,L,N){var R=L[0]-N[0]*M.k,G=L[1]-N[1]*M.k;return R===M.x&&G===M.y?M:new fr(M.k,R,G)}function C(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function E(M,L,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 G=this,j=arguments,K=k(G,j).event(R),q=t.apply(G,j),ne=N==null?C(q):typeof N=="function"?N.apply(G,j):N,ie=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),Y=G.__zoom,Z=typeof L=="function"?L.apply(G,j):L,de=u(Y.invert(ne).concat(ie/Y.k),Z.invert(ne).concat(ie/Z.k));return function(ce){if(ce===1)ce=Z;else{var ue=de(ce),le=ie/ue[2];ce=new fr(le,ne[0]-ue[0]*le,ne[1]-ue[1]*le)}K.zoom(null,ce)}})}function k(M,L,N){return!N&&M.__zooming||new P(M,L)}function P(M,L){this.that=M,this.args=L,this.active=0,this.sourceEvent=null,this.extent=t.apply(M,L),this.taps=0}P.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,L){return this.mouse&&M!=="mouse"&&(this.mouse[1]=L.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=L.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=L.invert(this.touch1[0])),this.that.__zoom=L,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var L=Dn(this.that).datum();d.call(M,this.that,new yj(M,{sourceEvent:this.sourceEvent,target:x,type:M,transform:this.that.__zoom,dispatch:d}),L)}};function V(M,...L){if(!e.apply(this,arguments))return;var N=k(this,L).event(M),R=this.__zoom,G=Math.max(o[0],Math.min(o[1],R.k*Math.pow(2,r.apply(this,arguments)))),j=Pn(M);if(N.wheel)(N.mouse[0][0]!==j[0]||N.mouse[0][1]!==j[1])&&(N.mouse[1]=R.invert(N.mouse[0]=j)),clearTimeout(N.wheel);else{if(R.k===G)return;N.mouse=[j,R.invert(j)],Es(this),N.start()}No(M),N.wheel=setTimeout(K,v),N.zoom("mouse",n(S(_(R,G),N.mouse[0],N.mouse[1]),N.extent,a));function K(){N.wheel=null,N.end()}}function B(M,...L){if(h||!e.apply(this,arguments))return;var N=M.currentTarget,R=k(this,L,!0).event(M),G=Dn(M.view).on("mousemove.zoom",ne,!0).on("mouseup.zoom",ie,!0),j=Pn(M,N),K=M.clientX,q=M.clientY;xy(M.view),Rc(M),R.mouse=[j,this.__zoom.invert(j)],Es(this),R.start();function ne(Y){if(No(Y),!R.moved){var Z=Y.clientX-K,de=Y.clientY-q;R.moved=Z*Z+de*de>m}R.event(Y).zoom("mouse",n(S(R.that.__zoom,R.mouse[0]=Pn(Y,N),R.mouse[1]),R.extent,a))}function ie(Y){G.on("mousemove.zoom mouseup.zoom",null),wy(Y.view,R.moved),No(Y),R.event(Y).end()}}function I(M,...L){if(!!e.apply(this,arguments)){var N=this.__zoom,R=Pn(M.changedTouches?M.changedTouches[0]:M,this),G=N.invert(R),j=N.k*(M.shiftKey?.5:2),K=n(S(_(N,j),R,G),t.apply(this,L),a);No(M),l>0?Dn(this).transition().duration(l).call(E,K,R,M):Dn(this).call(x.transform,K,R,M)}}function A(M,...L){if(!!e.apply(this,arguments)){var N=M.touches,R=N.length,G=k(this,L,M.changedTouches.length===R).event(M),j,K,q,ne;for(Rc(M),K=0;K<R;++K)q=N[K],ne=Pn(q,this),ne=[ne,this.__zoom.invert(ne),q.identifier],G.touch0?!G.touch1&&G.touch0[2]!==ne[2]&&(G.touch1=ne,G.taps=0):(G.touch0=ne,j=!0,G.taps=1+!!f);f&&(f=clearTimeout(f)),j&&(G.taps<2&&(p=ne[0],f=setTimeout(function(){f=null},g)),Es(this),G.start())}}function $(M,...L){if(!!this.__zooming){var N=k(this,L).event(M),R=M.changedTouches,G=R.length,j,K,q,ne;for(No(M),j=0;j<G;++j)K=R[j],q=Pn(K,this),N.touch0&&N.touch0[2]===K.identifier?N.touch0[0]=q:N.touch1&&N.touch1[2]===K.identifier&&(N.touch1[0]=q);if(K=N.that.__zoom,N.touch1){var ie=N.touch0[0],Y=N.touch0[1],Z=N.touch1[0],de=N.touch1[1],ce=(ce=Z[0]-ie[0])*ce+(ce=Z[1]-ie[1])*ce,ue=(ue=de[0]-Y[0])*ue+(ue=de[1]-Y[1])*ue;K=_(K,Math.sqrt(ce/ue)),q=[(ie[0]+Z[0])/2,(ie[1]+Z[1])/2],ne=[(Y[0]+de[0])/2,(Y[1]+de[1])/2]}else if(N.touch0)q=N.touch0[0],ne=N.touch0[1];else return;N.zoom("touch",n(S(K,q,ne),N.extent,a))}}function F(M,...L){if(!!this.__zooming){var N=k(this,L).event(M),R=M.changedTouches,G=R.length,j,K;for(Rc(M),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),j=0;j<G;++j)K=R[j],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=Pn(K,this),Math.hypot(p[0]-K[0],p[1]-K[1])<w)){var q=Dn(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return x.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:Ts(+M),x):r},x.filter=function(M){return arguments.length?(e=typeof M=="function"?M:Ts(!!M),x):e},x.touchable=function(M){return arguments.length?(i=typeof M=="function"?M:Ts(!!M),x):i},x.extent=function(M){return arguments.length?(t=typeof M=="function"?M:Ts([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),x):t},x.scaleExtent=function(M){return arguments.length?(o[0]=+M[0],o[1]=+M[1],x):[o[0],o[1]]},x.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],x):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},x.constrain=function(M){return arguments.length?(n=M,x):n},x.duration=function(M){return arguments.length?(l=+M,x):l},x.interpolate=function(M){return arguments.length?(u=M,x):u},x.on=function(){var M=d.on.apply(d,arguments);return M===d?x:M},x.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,x):Math.sqrt(m)},x.tapDistance=function(M){return arguments.length?(w=+M,x):w},x}const Ms=b.createContext(null),_j=Ms.Provider,Yn={"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".`},Zy=Yn["001"]();function Dt(e,t){const n=b.useContext(Ms);if(n===null)throw new Error(Zy);return qB(n,e,t)}const Ht=()=>{const e=b.useContext(Ms);if(e===null)throw new Error(Zy);return b.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Ej=e=>e.userSelectionActive?"none":"all";function Pc({position:e,children:t,className:n,style:r,...i}){const o=Dt(Ej),a=`${e}`.split("-");return s("div",{className:en(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i,children:t})}function Tj({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:s(Pc,{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:s("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Mj=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:u,className:d,...f})=>{const p=b.useRef(null),[h,g]=b.useState({x:0,y:0,width:0,height:0}),v=en(["react-flow__edge-textwrapper",d]);return b.useEffect(()=>{if(p.current){const m=p.current.getBBox();g({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:y("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:v,visibility:h.width?"visible":"hidden",...f,children:[i&&s("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:l,ry:l}),s("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:p,style:r,children:n}),u]})};var kj=b.memo(Mj);const Ic=e=>({width:e.offsetWidth,height:e.offsetHeight}),Di=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Nc=(e={x:0,y:0},t)=>({x:Di(e.x,t[0][0],t[1][0]),y:Di(e.y,t[0][1],t[1][1])}),Jy=(e,t,n)=>e<t?Di(Math.abs(e-t),1,50)/50:e>n?-Di(Math.abs(e-n),1,50)/50:0,eb=(e,t)=>{const n=Jy(e.x,35,t.width-35)*20,r=Jy(e.y,35,t.height-35)*20;return[n,r]},tb=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},nb=(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)}),ks=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),rb=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ib=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Dj=(e,t)=>rb(nb(ks(e),ks(t))),$c=(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)},Oj=e=>On(e.width)&&On(e.height)&&On(e.x)&&On(e.y),On=e=>!isNaN(e)&&isFinite(e),Kt=Symbol.for("internals"),ob=["Enter"," ","Escape"],Lc=(e,t)=>{process.env.NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},Aj=e=>"nativeEvent"in e;function Vc(e){var r,i;const t=Aj(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 ab=e=>"clientX"in e,Rr=(e,t)=>{var o,a,l,u;const n=ab(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-((l=t==null?void 0:t.left)!=null?l:0),y:i-((u=t==null?void 0:t.top)!=null?u:0)}},$o=({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:h=20})=>y(be,{children:[s("path",{style:d,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),h&&s("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),r&&On(t)&&On(n)?s(kj,{x:t,y:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});$o.displayName="BaseEdge";function Lo(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function sb({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,l=r<t?r+a:r-a;return[o,l,i,a]}function lb({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:l}){const u=e*.125+i*.375+a*.375+n*.125,d=t*.125+o*.375+l*.375+r*.125,f=Math.abs(u-e),p=Math.abs(d-t);return[u,d,f,p]}var Xr;(function(e){e.Strict="strict",e.Loose="loose"})(Xr||(Xr={}));var Oi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Oi||(Oi={}));var Vo;(function(e){e.Partial="partial",e.Full="full"})(Vo||(Vo={}));var Pr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Pr||(Pr={}));var Ds;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ds||(Ds={}));var De;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(De||(De={}));function ub({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===De.Left||e===De.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function cb({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top}){const[a,l]=ub({pos:n,x1:e,y1:t,x2:r,y2:i}),[u,d]=ub({pos:o,x1:r,y1:i,x2:e,y2:t}),[f,p,h,g]=lb({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,h,g]}const zc=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=De.Bottom,targetPosition:o=De.Top,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:m})=>{const[w,x,_]=cb({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return s($o,{path:w,labelX:x,labelY:_,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:m})});zc.displayName="SimpleBezierEdge";const db={[De.Left]:{x:-1,y:0},[De.Right]:{x:1,y:0},[De.Top]:{x:0,y:-1},[De.Bottom]:{x:0,y:1}},Rj=({source:e,sourcePosition:t=De.Bottom,target:n})=>t===De.Left||t===De.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},fb=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Pj({source:e,sourcePosition:t=De.Bottom,target:n,targetPosition:r=De.Top,center:i,offset:o}){const a=db[t],l=db[r],u={x:e.x+a.x*o,y:e.y+a.y*o},d={x:n.x+l.x*o,y:n.y+l.y*o},f=Rj({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let g=[],v,m;const[w,x,_,S]=sb({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[p]*l[p]===-1){v=i.x||w,m=i.y||x;const E=[{x:v,y:u.y},{x:v,y:d.y}],k=[{x:u.x,y:m},{x:d.x,y:m}];a[p]===h?g=p==="x"?E:k:g=p==="x"?k:E}else{const E=[{x:u.x,y:d.y}],k=[{x:d.x,y:u.y}];if(p==="x"?g=a.x===h?k:E:g=a.y===h?E:k,t!==r){const P=p==="x"?"y":"x",V=a[p]===l[P],B=u[P]>d[P],I=u[P]<d[P];(a[p]===1&&(!V&&B||V&&I)||a[p]!==1&&(!V&&I||V&&B))&&(g=p==="x"?E:k)}v=g[0].x,m=g[0].y}return[[e,u,...g,d,n],v,m,_,S]}function Ij(e,t,n,r){const i=Math.min(fb(e,t)/2,fb(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 d=e.x<n.x?-1:1,f=e.y<n.y?1:-1;return`L ${o+i*d},${a}Q ${o},${a} ${o},${a+i*f}`}const l=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${o},${a+i*u}Q ${o},${a} ${o+i*l},${a}`}function Fc({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top,borderRadius:a=5,centerX:l,centerY:u,offset:d=20}){const[f,p,h,g,v]=Pj({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:l,y:u},offset:d});return[f.reduce((w,x,_)=>{let S="";return _>0&&_<f.length-1?S=Ij(f[_-1],x,f[_+1],a):S=`${_===0?"M":"L"}${x.x} ${x.y}`,w+=S,w},""),p,h,g,v]}const Os=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=De.Bottom,targetPosition:h=De.Top,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[x,_,S]=Fc({sourceX:e,sourceY:t,sourcePosition:p,targetX:n,targetY:r,targetPosition:h,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return s($o,{path:x,labelX:_,labelY:S,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:g,markerStart:v,interactionWidth:w})});Os.displayName="SmoothStepEdge";const Bc=b.memo(e=>{var t;return s(Os,{...e,pathOptions:b.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Bc.displayName="StepEdge";function Nj({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,l]=sb({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,l]}const Gc=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})=>{const[v,m,w]=Nj({sourceX:e,sourceY:t,targetX:n,targetY:r});return s($o,{path:v,labelX:m,labelY:w,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})});Gc.displayName="StraightEdge";function As(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function pb({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case De.Left:return[t-As(t-r,o),n];case De.Right:return[t+As(r-t,o),n];case De.Top:return[t,n-As(n-i,o)];case De.Bottom:return[t,n+As(i-n,o)]}}function hb({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top,curvature:a=.25}){const[l,u]=pb({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[d,f]=pb({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[p,h,g,v]=lb({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:l,sourceControlY:u,targetControlX:d,targetControlY:f});return[`M${e},${t} C${l},${u} ${d},${f} ${r},${i}`,p,h,g,v]}const Rs=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=De.Bottom,targetPosition:o=De.Top,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[x,_,S]=hb({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return s($o,{path:x,labelX:_,labelY:S,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:w})});Rs.displayName="BezierEdge";const jc=b.createContext(null),$j=jc.Provider;jc.Consumer;const Lj=()=>b.useContext(jc),Vj=e=>"id"in e&&"source"in e&&"target"in e,zj=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Kc=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,Fj=(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)),Bj=(e,t)=>{if(!e.source||!e.target)return Lc("006",Yn["006"]()),t;let n;return Vj(e)?n={...e}:n={...e,id:zj(e)},Fj(n,t)?t:t.concat(n)},gb=({x:e,y:t},[n,r,i],o,[a,l])=>{const u={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(u.x/a),y:l*Math.round(u.y/l)}:u},Gj=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Qr=(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}},Wc=(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}=Qr(i,t).positionAbsolute;return nb(r,ks({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 rb(n)},vb=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,l=[0,0])=>{const u={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},d=[];return e.forEach(f=>{const{width:p,height:h,selectable:g=!0,hidden:v=!1}=f;if(a&&!g||v)return!1;const{positionAbsolute:m}=Qr(f,l),w={x:m.x,y:m.y,width:p||0,height:h||0},x=$c(u,w),_=typeof p>"u"||typeof h>"u"||p===null||h===null,S=o&&x>0,C=(p||0)*(h||0);(_||S||x>=C||f.dragging)&&d.push(f)}),d},mb=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},yb=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),l=n/(e.height*(1+o)),u=Math.min(a,l),d=Di(u,r,i),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,g=n/2-p*d;return[h,g,d]},Zr=(e,t=0)=>e.transition().duration(t);function bb(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,l,u,d;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:((l=(a=e.positionAbsolute)==null?void 0:a.x)!=null?l:0)+o.x+o.width/2,y:((d=(u=e.positionAbsolute)==null?void 0:u.y)!=null?d:0)+o.y+o.height/2}),i},[])}function jj(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 Kj={source:null,target:null,sourceHandle:null,targetHandle:null};function xb(e,t,n,r,i,o,a,l){const u=o==="target",d=l.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:p}=Rr(e),h=l.elementFromPoint(f,p),g=h!=null&&h.classList.contains("react-flow__handle")?h:d,v={handleDomNode:g,isValid:!1,connection:Kj};if(g){const m=wb(void 0,g),w=g.getAttribute("data-nodeid"),x=g.getAttribute("data-handleid"),_={source:u?w:r,sourceHandle:u?x:i,target:u?r:w,targetHandle:u?i:x};v.connection=_,(n===Xr.Strict?u&&m==="source"||!u&&m==="target":w!==r||x!==i)&&(v.isValid=a(_))}return v}function Wj({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[Kt]){const{handleBounds:a}=o[Kt];let l=[],u=[];a&&(l=bb(o,a,"source",`${t}-${n}-${r}`),u=bb(o,a,"target",`${t}-${n}-${r}`)),i.push(...l,...u)}return i},[])}function wb(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function qc(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function qj(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function Cb({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:l,edgeUpdaterType:u,onEdgeUpdateEnd:d}){const f=tb(e.target),{connectionMode:p,domNode:h,autoPanOnConnect:g,connectionRadius:v,onConnectStart:m,panBy:w,getNodes:x,cancelConnection:_}=o();let S=0,C;const{x:E,y:k}=Rr(e),P=f==null?void 0:f.elementFromPoint(E,k),V=wb(u,P),B=h==null?void 0:h.getBoundingClientRect();if(!B||!V)return;let I,A=Rr(e,B),$=!1,F=null,M=!1;const L=Wj({nodes:x(),nodeId:n,handleId:t,handleType:V}),N=()=>{if(!g)return;const[j,K]=eb(A,B);w({x:j,y:K}),S=requestAnimationFrame(N)};a({connectionPosition:A,connectionNodeId:n,connectionHandleId:t,connectionHandleType:V,connectionStatus:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:V});function R(j){const{transform:K}=o();A=Rr(j,B),C=jj(gb(A,K,!1,[1,1]),v,L),$||(N(),$=!0);const{handleDomNode:q,...ne}=xb(j,C,p,n,t,i?"target":"source",l,f);if(a({connectionPosition:C&&ne.isValid?Gj({x:C.x,y:C.y},K):A,connectionStatus:qj(!!C,ne.isValid)}),!C&&!ne.isValid)return qc(I);F=ne.connection,M=ne.isValid,F.source!==F.target&&q&&(qc(I),I=q,q.classList.add("connecting","react-flow__handle-connecting"),q.classList.toggle("valid",M),q.classList.toggle("react-flow__handle-valid",M))}function G(j){var K,q;F&&M&&C&&(r==null||r(F)),(q=(K=o()).onConnectEnd)==null||q.call(K,j),u&&(d==null||d(j)),qc(I),_(),cancelAnimationFrame(S),$=!1,M=!1,F=null,C=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",G),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",G)}f.addEventListener("mousemove",R),f.addEventListener("mouseup",G),f.addEventListener("touchmove",R),f.addEventListener("touchend",G)}const Hj=()=>!0,Uj=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sb=b.forwardRef(({type:e="source",position:t=De.Top,isValidConnection:n=Hj,isConnectable:r=!0,id:i,onConnect:o,children:a,className:l,onMouseDown:u,onTouchStart:d,...f},p)=>{var k,P;const h=Ht(),g=Lj();if(!g)return(P=(k=h.getState()).onError)==null||P.call(k,"010",Yn["010"]()),null;const{connectionStartHandle:v,connectOnClick:m,noPanClassName:w}=Dt(Uj,rn),x=i||null,_=e==="target",S=V=>{const{defaultEdgeOptions:B,onConnect:I,hasDefaultEdges:A}=h.getState(),$={...B,...V};if(A){const{edges:F}=h.getState();h.setState({edges:Bj($,F)})}I==null||I($),o==null||o($)},C=V=>{const B=ab(V);(B&&V.button===0||!B)&&Cb({event:V,handleId:x,nodeId:g,onConnect:S,isTarget:_,getState:h.getState,setState:h.setState,isValidConnection:n}),B?u==null||u(V):d==null||d(V)},E=V=>{const{onClickConnectStart:B,onClickConnectEnd:I,connectionMode:A}=h.getState();if(!v){B==null||B(V,{nodeId:g,handleId:x,handleType:e}),h.setState({connectionStartHandle:{nodeId:g,type:e,handleId:x}});return}const $=tb(V.target),{connection:F,isValid:M}=xb(V,{nodeId:g,id:x,type:e},A,v.nodeId,v.handleId||null,v.type,n,$);M&&S(F),I==null||I(V),h.setState({connectionStartHandle:null})};return s("div",{"data-handleid":x,"data-nodeid":g,"data-handlepos":t,"data-id":`${g}-${x}-${e}`,className:en(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,l,{source:!_,target:_,connectable:r,connecting:(v==null?void 0:v.nodeId)===g&&(v==null?void 0:v.handleId)===x&&(v==null?void 0:v.type)===e}]),onMouseDown:C,onTouchStart:C,onClick:m?E:void 0,ref:p,...f,children:a})});Sb.displayName="Handle";var Ai=b.memo(Sb);const _b=({data:e,isConnectable:t,targetPosition:n=De.Top,sourcePosition:r=De.Bottom})=>y(be,{children:[s(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,s(Ai,{type:"source",position:r,isConnectable:t})]});_b.displayName="DefaultNode";var Hc=b.memo(_b);const Eb=({data:e,isConnectable:t,sourcePosition:n=De.Bottom})=>y(be,{children:[e==null?void 0:e.label,s(Ai,{type:"source",position:n,isConnectable:t})]});Eb.displayName="InputNode";var Tb=b.memo(Eb);const Mb=({data:e,isConnectable:t,targetPosition:n=De.Top})=>y(be,{children:[s(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});Mb.displayName="OutputNode";var kb=b.memo(Mb);const Uc=()=>null;Uc.displayName="GroupNode";const Yj=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ps=e=>e.id;function Xj(e,t){return rn(e.selectedNodes.map(Ps),t.selectedNodes.map(Ps))&&rn(e.selectedEdges.map(Ps),t.selectedEdges.map(Ps))}const Db=b.memo(({onSelectionChange:e})=>{const t=Ht(),{selectedNodes:n,selectedEdges:r}=Dt(Yj,Xj);return b.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});Db.displayName="SelectionListener";const Qj=e=>!!e.onSelectionChange;function Zj({onSelectionChange:e}){const t=Dt(Qj);return e||t?s(Db,{onSelectionChange:e}):null}const Jj=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 Ri(e,t){b.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function st(e,t,n){b.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const e6=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:l,onClickConnectEnd:u,nodesDraggable:d,nodesConnectable:f,nodesFocusable:p,edgesFocusable:h,elevateNodesOnSelect:g,minZoom:v,maxZoom:m,nodeExtent:w,onNodesChange:x,onEdgesChange:_,elementsSelectable:S,connectionMode:C,snapGrid:E,snapToGrid:k,translateExtent:P,connectOnClick:V,defaultEdgeOptions:B,fitView:I,fitViewOptions:A,onNodesDelete:$,onEdgesDelete:F,onNodeDrag:M,onNodeDragStart:L,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:G,onSelectionDragStop:j,noPanClassName:K,nodeOrigin:q,rfId:ne,autoPanOnConnect:ie,autoPanOnNodeDrag:Y,onError:Z,connectionRadius:de})=>{const{setNodes:ce,setEdges:ue,setDefaultNodesAndEdges:le,setMinZoom:Ce,setMaxZoom:xe,setTranslateExtent:X,setNodeExtent:oe,reset:Se}=Dt(Jj,rn),U=Ht();return b.useEffect(()=>{const we=r==null?void 0:r.map(ve=>({...ve,...B}));return le(n,we),()=>{Se()}},[]),st("defaultEdgeOptions",B,U.setState),st("connectionMode",C,U.setState),st("onConnect",i,U.setState),st("onConnectStart",o,U.setState),st("onConnectEnd",a,U.setState),st("onClickConnectStart",l,U.setState),st("onClickConnectEnd",u,U.setState),st("nodesDraggable",d,U.setState),st("nodesConnectable",f,U.setState),st("nodesFocusable",p,U.setState),st("edgesFocusable",h,U.setState),st("elementsSelectable",S,U.setState),st("elevateNodesOnSelect",g,U.setState),st("snapToGrid",k,U.setState),st("snapGrid",E,U.setState),st("onNodesChange",x,U.setState),st("onEdgesChange",_,U.setState),st("connectOnClick",V,U.setState),st("fitViewOnInit",I,U.setState),st("fitViewOnInitOptions",A,U.setState),st("onNodesDelete",$,U.setState),st("onEdgesDelete",F,U.setState),st("onNodeDrag",M,U.setState),st("onNodeDragStart",L,U.setState),st("onNodeDragStop",N,U.setState),st("onSelectionDrag",R,U.setState),st("onSelectionDragStart",G,U.setState),st("onSelectionDragStop",j,U.setState),st("noPanClassName",K,U.setState),st("nodeOrigin",q,U.setState),st("rfId",ne,U.setState),st("autoPanOnConnect",ie,U.setState),st("autoPanOnNodeDrag",Y,U.setState),st("onError",Z,U.setState),st("connectionRadius",de,U.setState),Ri(e,ce),Ri(t,ue),Ri(v,Ce),Ri(m,xe),Ri(P,X),Ri(w,oe),null},Ob={display:"none"},t6={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ab="react-flow__node-desc",Rb="react-flow__edge-desc",n6="react-flow__aria-live",r6=e=>e.ariaLiveMessage;function i6({rfId:e}){const t=Dt(r6);return s("div",{id:`${n6}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:t6,children:t})}function o6({rfId:e,disableKeyboardA11y:t}){return y(be,{children:[y("div",{id:`${Ab}-${e}`,style:Ob,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."," "]}),s("div",{id:`${Rb}-${e}`,style:Ob,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&s(i6,{rfId:e})]})}const a6=(e,t,n)=>n===De.Left?e-t:n===De.Right?e+t:e,s6=(e,t,n)=>n===De.Top?e-t:n===De.Bottom?e+t:e,Pb="react-flow__edgeupdater",Ib=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:l})=>s("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:en([Pb,`${Pb}-${l}`]),cx:a6(t,r,e),cy:s6(n,r,e),r,stroke:"transparent",fill:"transparent"});var Pi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:l,selected:u,animated:d,label:f,labelStyle:p,labelShowBg:h,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,style:w,source:x,target:_,sourceX:S,sourceY:C,targetX:E,targetY:k,sourcePosition:P,targetPosition:V,elementsSelectable:B,hidden:I,sourceHandleId:A,targetHandleId:$,onContextMenu:F,onMouseEnter:M,onMouseMove:L,onMouseLeave:N,edgeUpdaterRadius:R,onEdgeUpdate:G,onEdgeUpdateStart:j,onEdgeUpdateEnd:K,markerEnd:q,markerStart:ne,rfId:ie,ariaLabel:Y,isFocusable:Z,pathOptions:de,interactionWidth:ce})=>{const ue=b.useRef(null),[le,Ce]=b.useState(!1),[xe,X]=b.useState(!1),oe=Ht(),Se=b.useMemo(()=>`url(#${Kc(ne,ie)})`,[ne,ie]),U=b.useMemo(()=>`url(#${Kc(q,ie)})`,[q,ie]);if(I)return null;const we=Ue=>{const{edges:ut,addSelectedEdges:_e}=oe.getState();if(B&&(oe.setState({nodesSelectionActive:!1}),_e([n])),a){const $e=ut.find(rt=>rt.id===n);a(Ue,$e)}},ve=Lo(n,oe.getState,l),Ee=Lo(n,oe.getState,F),Oe=Lo(n,oe.getState,M),ge=Lo(n,oe.getState,L),qe=Lo(n,oe.getState,N),Ne=(Ue,ut)=>{const _e=ut?_:x,$e=(ut?$:A)||null,rt=ut?"target":"source",Ot=()=>!0,ct=ut,At=oe.getState().edges.find(Rt=>Rt.id===n);X(!0),j==null||j(Ue,At,rt);const ft=Rt=>{X(!1),K==null||K(Rt,At,rt)};Cb({event:Ue,handleId:$e,nodeId:_e,onConnect:Rt=>G==null?void 0:G(At,Rt),isTarget:ct,getState:oe.getState,setState:oe.setState,isValidConnection:Ot,edgeUpdaterType:rt,onEdgeUpdateEnd:ft})},Je=Ue=>Ne(Ue,!0),Te=Ue=>Ne(Ue,!1),Ge=()=>Ce(!0),Ve=()=>Ce(!1),Fe=!B&&!a,dt=typeof G<"u",lt=Ue=>{var ut;if(ob.includes(Ue.key)&&B){const{unselectNodesAndEdges:_e,addSelectedEdges:$e,edges:rt}=oe.getState();Ue.key==="Escape"?((ut=ue.current)==null||ut.blur(),_e({edges:[rt.find(ct=>ct.id===n)]})):$e([n])}};return y("g",{className:en(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:u,animated:d,inactive:Fe,updating:le}]),onClick:we,onDoubleClick:ve,onContextMenu:Ee,onMouseEnter:Oe,onMouseMove:ge,onMouseLeave:qe,onKeyDown:Z?lt:void 0,tabIndex:Z?0:void 0,role:Z?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":Y===null?void 0:Y||`Edge from ${x} to ${_}`,"aria-describedby":Z?`${Rb}-${ie}`:void 0,ref:ue,children:[!xe&&s(e,{id:n,source:x,target:_,selected:u,animated:d,label:f,labelStyle:p,labelShowBg:h,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,data:o,style:w,sourceX:S,sourceY:C,targetX:E,targetY:k,sourcePosition:P,targetPosition:V,sourceHandleId:A,targetHandleId:$,markerStart:Se,markerEnd:U,pathOptions:de,interactionWidth:ce}),dt&&y(be,{children:[s(Ib,{position:P,centerX:S,centerY:C,radius:R,onMouseDown:Je,onMouseEnter:Ge,onMouseOut:Ve,type:"source"}),s(Ib,{position:V,centerX:E,centerY:k,radius:R,onMouseDown:Te,onMouseEnter:Ge,onMouseOut:Ve,type:"target"})]})]})};return t.displayName="EdgeWrapper",b.memo(t)};function l6(e){const t={default:Pi(e.default||Rs),straight:Pi(e.bezier||Gc),step:Pi(e.step||Bc),smoothstep:Pi(e.step||Os),simplebezier:Pi(e.simplebezier||zc)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Pi(e[o]||Rs),i),n);return{...t,...r}}function Nb(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 De.Top:return{x:r+o/2,y:i};case De.Right:return{x:r+o,y:i+a/2};case De.Bottom:return{x:r+o/2,y:i+a};case De.Left:return{x:r,y:i+a/2}}}function $b(e,t){return e?t?e.find(n=>n.id===t):e.length===1?e[0]:null:null}const u6=(e,t,n,r,i,o)=>{const a=Nb(n,e,t),l=Nb(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:l.x,targetY:l.y}};function c6({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:l,transform:u}){const d={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)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const f=ks({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:a/u[2],height:l/u[2]}),p=Math.max(0,Math.min(f.x2,d.x2)-Math.max(f.x,d.x)),h=Math.max(0,Math.min(f.y2,d.y2)-Math.max(f.y,d.y));return Math.ceil(p*h)>0}function Lb(e){var r,i,o,a,l;const t=((r=e==null?void 0:e[Kt])==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:((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.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 zb(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 d6(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,l,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=(l=i.positionAbsolute)==null?void 0:l.y)!=null?u:0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Fb(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 d=n.get(e.parentNode),{x:f,y:p}=Qr(d,i).positionAbsolute;a=d&&On(f)&&On(p)&&On(d.width)&&On(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Yn["005"]()),a=r;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=Qr(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=Qr(d,i).positionAbsolute}const u=a?Nc(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Yc({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(),l={x:a.width*r[0],y:a.height*r[1]};return o.map(u=>{const d=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(d.left-a.left-l.x)/n,y:(d.top-a.top-l.y)/n,...Ic(u)}})};function zo(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function Xc({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&i({nodes:[l]}):r([e])}function f6(){const e=Ht();return b.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,l=n.touches?n.touches[0].clientY:n.clientY,u={x:(a-r[0])/r[2],y:(l-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 Qc(e){return(t,n,r)=>e==null?void 0:e(t,r)}function Gb({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const l=Ht(),[u,d]=b.useState(!1),f=b.useRef([]),p=b.useRef({x:null,y:null}),h=b.useRef(0),g=b.useRef(null),v=b.useRef({x:0,y:0}),m=b.useRef(null),w=b.useRef(!1),x=f6();return b.useEffect(()=>{if(e!=null&&e.current){const _=Dn(e.current),S=({x:E,y:k})=>{const{nodeInternals:P,onNodeDrag:V,onSelectionDrag:B,updateNodePositions:I,nodeExtent:A,snapGrid:$,snapToGrid:F,nodeOrigin:M,onError:L}=l.getState();p.current={x:E,y:k};let N=!1;if(f.current=f.current.map(G=>{const j={x:E-G.distance.x,y:k-G.distance.y};F&&(j.x=$[0]*Math.round(j.x/$[0]),j.y=$[1]*Math.round(j.y/$[1]));const K=Fb(G,j,P,A,M,L);return N=N||G.position.x!==K.position.x||G.position.y!==K.position.y,G.position=K.position,G.positionAbsolute=K.positionAbsolute,G}),!N)return;I(f.current,!0,!0),d(!0);const R=i?V:Qc(B);if(R&&m.current){const[G,j]=Yc({nodeId:i,dragItems:f.current,nodeInternals:P});R(m.current,G,j)}},C=()=>{var P,V;if(!g.current)return;const[E,k]=eb(v.current,g.current);if(E!==0||k!==0){const{transform:B,panBy:I}=l.getState();p.current.x=((P=p.current.x)!=null?P:0)-E/B[2],p.current.y=((V=p.current.y)!=null?V:0)-k/B[2],S(p.current),I({x:E,y:k})}h.current=requestAnimationFrame(C)};if(t)_.on(".drag",null);else{const E=I5().on("start",k=>{var N;const{nodeInternals:P,multiSelectionActive:V,domNode:B,nodesDraggable:I,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:F}=l.getState(),M=i?$:Qc(F);!a&&!V&&i&&((N=P.get(i))!=null&&N.selected||A()),i&&o&&a&&Xc({id:i,store:l});const L=x(k);if(p.current=L,f.current=d6(P,I,L,i),M&&f.current){const[R,G]=Yc({nodeId:i,dragItems:f.current,nodeInternals:P});M(k.sourceEvent,R,G)}g.current=(B==null?void 0:B.getBoundingClientRect())||null,v.current=Rr(k.sourceEvent,g.current)}).on("drag",k=>{const P=x(k),{autoPanOnNodeDrag:V}=l.getState();!w.current&&V&&(w.current=!0,C()),(p.current.x!==P.xSnapped||p.current.y!==P.ySnapped)&&f.current&&(m.current=k.sourceEvent,v.current=Rr(k.sourceEvent,g.current),S(P))}).on("end",k=>{if(d(!1),w.current=!1,cancelAnimationFrame(h.current),f.current){const{updateNodePositions:P,nodeInternals:V,onNodeDragStop:B,onSelectionDragStop:I}=l.getState(),A=i?B:Qc(I);if(P(f.current,!1,!1),A){const[$,F]=Yc({nodeId:i,dragItems:f.current,nodeInternals:V});A(k.sourceEvent,$,F)}}}).filter(k=>{const P=k.target;return!k.button&&(!n||!zb(P,`.${n}`,e))&&(!r||zb(P,r,e))});return _.call(E),()=>{_.on(".drag",null)}}}},[e,t,n,r,o,l,i,a,x]),u}function jb(){const e=Ht();return b.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:l,snapGrid:u,onError:d,nodesDraggable:f}=e.getState(),p=a().filter(_=>_.selected&&(_.draggable||f&&typeof _.draggable>"u")),h=l?u[0]:5,g=l?u[1]:5,v=n.isShiftPressed?4:1,m=n.x*h*v,w=n.y*g*v,x=p.map(_=>{if(_.positionAbsolute){const S={x:_.positionAbsolute.x+m,y:_.positionAbsolute.y+w};l&&(S.x=u[0]*Math.round(S.x/u[0]),S.y=u[1]*Math.round(S.y/u[1]));const{positionAbsolute:C,position:E}=Fb(_,S,r,i,void 0,d);_.position=E,_.positionAbsolute=C}return _});o(x,!0,!1)},[])}const Ii={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Fo=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:l,yPosOrigin:u,selected:d,onClick:f,onMouseEnter:p,onMouseMove:h,onMouseLeave:g,onContextMenu:v,onDoubleClick:m,style:w,className:x,isDraggable:_,isSelectable:S,isConnectable:C,isFocusable:E,selectNodesOnDrag:k,sourcePosition:P,targetPosition:V,hidden:B,resizeObserver:I,dragHandle:A,zIndex:$,isParent:F,noDragClassName:M,noPanClassName:L,initialized:N,disableKeyboardA11y:R,ariaLabel:G,rfId:j})=>{const K=Ht(),q=b.useRef(null),ne=b.useRef(P),ie=b.useRef(V),Y=b.useRef(r),Z=S||_||f||p||h||g,de=jb(),ce=zo(n,K.getState,p),ue=zo(n,K.getState,h),le=zo(n,K.getState,g),Ce=zo(n,K.getState,v),xe=zo(n,K.getState,m),X=U=>{if(S&&(!k||!_)&&Xc({id:n,store:K}),f){const we=K.getState().nodeInternals.get(n);f(U,{...we})}},oe=U=>{var we;if(!Vc(U))if(ob.includes(U.key)&&S){const ve=U.key==="Escape";ve&&((we=q.current)==null||we.blur()),Xc({id:n,store:K,unselect:ve})}else!R&&_&&d&&Object.prototype.hasOwnProperty.call(Ii,U.key)&&(K.setState({ariaLiveMessage:`Moved selected node ${U.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),de({x:Ii[U.key].x,y:Ii[U.key].y,isShiftPressed:U.shiftKey}))};b.useEffect(()=>{if(q.current&&!B){const U=q.current;return I==null||I.observe(U),()=>I==null?void 0:I.unobserve(U)}},[B]),b.useEffect(()=>{const U=Y.current!==r,we=ne.current!==P,ve=ie.current!==V;q.current&&(U||we||ve)&&(U&&(Y.current=r),we&&(ne.current=P),ve&&(ie.current=V),K.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,P,V]);const Se=Gb({nodeRef:q,disabled:B||!_,noDragClassName:M,handleSelector:A,nodeId:n,isSelectable:S,selectNodesOnDrag:k});return B?null:s("div",{className:en(["react-flow__node",`react-flow__node-${r}`,{[L]:_},x,{selected:d,selectable:S,parent:F,dragging:Se}]),ref:q,style:{zIndex:$,transform:`translate(${l}px,${u}px)`,pointerEvents:Z?"all":"none",visibility:N?"visible":"hidden",...w},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ce,onMouseMove:ue,onMouseLeave:le,onContextMenu:Ce,onClick:X,onDoubleClick:xe,onKeyDown:E?oe:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-describedby":R?void 0:`${Ab}-${j}`,"aria-label":G,children:s($j,{value:n,children:s(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:d,isConnectable:C,sourcePosition:P,targetPosition:V,dragging:Se,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",b.memo(t)};function p6(e){const t={input:Fo(e.input||Tb),default:Fo(e.default||Hc),output:Fo(e.output||kb),group:Fo(e.group||Uc)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Fo(e[o]||Hc),i),n);return{...t,...r}}const h6=({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]},g6=typeof document<"u"?document:null;var Bo=(e=null,t={target:g6})=>{const[n,r]=b.useState(!1),i=b.useRef(new Set([])),[o,a]=b.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return b.useEffect(()=>{var l,u;if(e!==null){const d=h=>{if(Vc(h))return!1;const g=Wb(h.code,a);i.current.add(h[g]),Kb(o,i.current,!1)&&(h.preventDefault(),r(!0))},f=h=>{if(Vc(h))return!1;const g=Wb(h.code,a);Kb(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(h[g])},p=()=>{i.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var h,g;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",d),(g=t==null?void 0:t.target)==null||g.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function Kb(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function Wb(e,t){return t.includes(e)?"code":"key"}function qb(e,t,n,r){var a,l,u,d,f,p,h,g;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Qr(i,r);return qb(i,t,{x:((a=n.x)!=null?a:0)+o.x,y:((l=n.y)!=null?l:0)+o.y,z:((d=(u=i[Kt])==null?void 0:u.z)!=null?d:0)>((f=n.z)!=null?f:0)?(h=(p=i[Kt])==null?void 0:p.z)!=null?h:0:(g=n.z)!=null?g:0},r)}function Hb(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:l,z:u}=qb(r,e,{...r.position,z:(o=(i=r[Kt])==null?void 0:i.z)!=null?o:0},t);r.positionAbsolute={x:a,y:l},r[Kt].z=u,n!=null&&n[r.id]&&(r[Kt].isParent=!0)}})}function Zc(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(l=>{var p;const u=(On(l.zIndex)?l.zIndex:0)+(l.selected?a:0),d=t.get(l.id),f={width:d==null?void 0:d.width,height:d==null?void 0:d.height,...l,positionAbsolute:{x:l.position.x,y:l.position.y}};l.parentNode&&(f.parentNode=l.parentNode,o[l.parentNode]=!0),Object.defineProperty(f,Kt,{enumerable:!1,value:{handleBounds:(p=d==null?void 0:d[Kt])==null?void 0:p.handleBounds,z:u}}),i.set(l.id,f)}),Hb(i,n,o),i}function Ub(e,t={}){var h,g,v;const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:l,d3Selection:u,fitViewOnInitDone:d,fitViewOnInit:f,nodeOrigin:p}=e();if((t.initial&&!d&&f||!t.initial)&&l&&u){const m=n().filter(x=>t.includeHiddenNodes?x.width&&x.height:!x.hidden),w=m.every(x=>x.width&&x.height);if(m.length>0&&w){const x=Wc(m,p),[_,S,C]=yb(x,r,i,(h=t.minZoom)!=null?h:o,(g=t.maxZoom)!=null?g:a,(v=t.padding)!=null?v:.1),E=pr.translate(_,S).scale(C);return typeof t.duration=="number"&&t.duration>0?l.transform(Zr(u,t.duration),E):l.transform(u,E),!0}}return!1}function v6(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[Kt]:r[Kt],selected:n.selected})}),new Map(t)}function m6(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Is({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:l,hasDefaultNodes:u,hasDefaultEdges:d}=n();e!=null&&e.length&&(u&&r({nodeInternals:v6(e,i)}),a==null||a(e)),t!=null&&t.length&&(d&&r({edges:m6(t,o)}),l==null||l(t))}const Jr=()=>{},y6={zoomIn:Jr,zoomOut:Jr,zoomTo:Jr,getZoom:()=>1,setViewport:Jr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:Jr,setCenter:Jr,fitBounds:Jr,project:e=>e,viewportInitialized:!1},b6=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),x6=()=>{const e=Ht(),{d3Zoom:t,d3Selection:n}=Dt(b6,rn);return b.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Zr(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Zr(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Zr(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{var f,p,h;const[a,l,u]=e.getState().transform,d=pr.translate((f=i.x)!=null?f:a,(p=i.y)!=null?p:l).scale((h=i.zoom)!=null?h:u);t.transform(Zr(n,o==null?void 0:o.duration),d)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>Ub(e.getState,i),setCenter:(i,o,a)=>{const{width:l,height:u,maxZoom:d}=e.getState(),f=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:d,p=l/2-i*f,h=u/2-o*f,g=pr.translate(p,h).scale(f);t.transform(Zr(n,a==null?void 0:a.duration),g)},fitBounds:(i,o)=>{var v;const{width:a,height:l,minZoom:u,maxZoom:d}=e.getState(),[f,p,h]=yb(i,a,l,u,d,(v=o==null?void 0:o.padding)!=null?v:.1),g=pr.translate(f,p).scale(h);t.transform(Zr(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:l}=e.getState();return gb(i,o,a,l)},viewportInitialized:!0}:y6,[t,n])};function Jc(){const e=x6(),t=Ht(),n=b.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=b.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=b.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(w=>({...w}))},[]),o=b.useCallback(m=>{const{edges:w=[]}=t.getState();return w.find(x=>x.id===m)},[]),a=b.useCallback(m=>{const{getNodes:w,setNodes:x,hasDefaultNodes:_,onNodesChange:S}=t.getState(),C=w(),E=typeof m=="function"?m(C):m;if(_)x(E);else if(S){const k=E.length===0?C.map(P=>({type:"remove",id:P.id})):E.map(P=>({item:P,type:"reset"}));S(k)}},[]),l=b.useCallback(m=>{const{edges:w=[],setEdges:x,hasDefaultEdges:_,onEdgesChange:S}=t.getState(),C=typeof m=="function"?m(w):m;if(_)x(C);else if(S){const E=C.length===0?w.map(k=>({type:"remove",id:k.id})):C.map(k=>({item:k,type:"reset"}));S(E)}},[]),u=b.useCallback(m=>{const w=Array.isArray(m)?m:[m],{getNodes:x,setNodes:_,hasDefaultNodes:S,onNodesChange:C}=t.getState();if(S){const k=[...x(),...w];_(k)}else if(C){const E=w.map(k=>({item:k,type:"add"}));C(E)}},[]),d=b.useCallback(m=>{const w=Array.isArray(m)?m:[m],{edges:x=[],setEdges:_,hasDefaultEdges:S,onEdgesChange:C}=t.getState();if(S)_([...x,...w]);else if(C){const E=w.map(k=>({item:k,type:"add"}));C(E)}},[]),f=b.useCallback(()=>{const{getNodes:m,edges:w=[],transform:x}=t.getState(),[_,S,C]=x;return{nodes:m().map(E=>({...E})),edges:w.map(E=>({...E})),viewport:{x:_,y:S,zoom:C}}},[]),p=b.useCallback(({nodes:m,edges:w})=>{const{nodeInternals:x,getNodes:_,edges:S,hasDefaultNodes:C,hasDefaultEdges:E,onNodesDelete:k,onEdgesDelete:P,onNodesChange:V,onEdgesChange:B}=t.getState(),I=(m||[]).map(L=>L.id),A=(w||[]).map(L=>L.id),$=_().reduce((L,N)=>{const R=!I.includes(N.id)&&N.parentNode&&L.find(j=>j.id===N.parentNode);return(typeof N.deletable=="boolean"?N.deletable:!0)&&(I.includes(N.id)||R)&&L.push(N),L},[]),F=S.filter(L=>typeof L.deletable=="boolean"?L.deletable:!0),M=F.filter(L=>A.includes(L.id));if($||M){const L=mb($,F),N=[...M,...L],R=N.reduce((G,j)=>(G.includes(j.id)||G.push(j.id),G),[]);if((E||C)&&(E&&t.setState({edges:S.filter(G=>!R.includes(G.id))}),C&&($.forEach(G=>{x.delete(G.id)}),t.setState({nodeInternals:new Map(x)}))),R.length>0&&(P==null||P(N),B&&B(R.map(G=>({id:G,type:"remove"})))),$.length>0&&(k==null||k($),V)){const G=$.map(j=>({id:j.id,type:"remove"}));V(G)}}},[]),h=b.useCallback(m=>{const w=Oj(m),x=w?null:t.getState().nodeInternals.get(m.id);return[w?m:ib(x),x,w]},[]),g=b.useCallback((m,w=!0,x)=>{const[_,S,C]=h(m);return _?(x||t.getState().getNodes()).filter(E=>{if(!C&&(E.id===S.id||!E.positionAbsolute))return!1;const k=ib(E),P=$c(k,_);return w&&P>0||P>=m.width*m.height}):[]},[]),v=b.useCallback((m,w,x=!0)=>{const[_]=h(m);if(!_)return!1;const S=$c(_,w);return x&&S>0||S>=m.width*m.height},[]);return b.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:l,addNodes:u,addEdges:d,toObject:f,deleteElements:p,getIntersectingNodes:g,isNodeIntersecting:v}),[e,n,r,i,o,a,l,u,d,f,p,g,v])}var w6=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Ht(),{deleteElements:r}=Jc(),i=Bo(e),o=Bo(t);b.useEffect(()=>{if(i){const{edges:a,getNodes:l}=n.getState(),u=l().filter(f=>f.selected),d=a.filter(f=>f.selected);r({nodes:u,edges:d}),n.setState({nodesSelectionActive:!1})}},[i]),b.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function C6(e){const t=Ht();b.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Ic(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",Yn["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 ed={position:"absolute",width:"100%",height:"100%",top:0,left:0},S6=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,td=e=>({x:e.x,y:e.y,zoom:e.k}),Ni=(e,t)=>e.target.closest(`.${t}`),Yb=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_6=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),E6=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:l=.5,panOnScrollMode:u=Oi.Free,zoomOnDoubleClick:d=!0,elementsSelectable:f,panOnDrag:p=!0,defaultViewport:h,translateExtent:g,minZoom:v,maxZoom:m,zoomActivationKeyCode:w,preventScrolling:x=!0,children:_,noWheelClassName:S,noPanClassName:C})=>{const E=b.useRef(),k=Ht(),P=b.useRef(!1),V=b.useRef(!1),B=b.useRef(null),I=b.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:F,userSelectionActive:M}=Dt(_6,rn),L=Bo(w),N=b.useRef(0);return C6(B),b.useEffect(()=>{if(B.current){const R=B.current.getBoundingClientRect(),G=Qy().scaleExtent([v,m]).translateExtent(g),j=Dn(B.current).call(G),K=pr.translate(h.x,h.y).scale(Di(h.zoom,v,m)),q=[[0,0],[R.width,R.height]],ne=G.constrain()(K,q,g);G.transform(j,ne),k.setState({d3Zoom:G,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[ne.x,ne.y,ne.k],domNode:B.current.closest(".react-flow")})}},[]),b.useEffect(()=>{$&&A&&(a&&!L&&!M?$.on("wheel.zoom",R=>{if(Ni(R,S))return!1;R.preventDefault(),R.stopImmediatePropagation();const G=$.property("__zoom").k||1;if(R.ctrlKey&&o){const ne=Pn(R),ie=-R.deltaY*(R.deltaMode===1?.05:R.deltaMode?1:.002)*10,Y=G*Math.pow(2,ie);A.scaleTo($,Y,ne);return}const j=R.deltaMode===1?20:1,K=u===Oi.Vertical?0:R.deltaX*j,q=u===Oi.Horizontal?0:R.deltaY*j;A.translateBy($,-(K/G)*l,-(q/G)*l)}):typeof F<"u"&&$.on("wheel.zoom",function(R,G){if(!x||Ni(R,S))return null;R.preventDefault(),F.call(this,R,G)}))},[M,a,u,$,A,F,L,o,x,S]),b.useEffect(()=>{A&&A.on("start",R=>{var j;if(!R.sourceEvent)return null;N.current=R.sourceEvent.button;const{onViewportChangeStart:G}=k.getState();if(P.current=!0,((j=R.sourceEvent)==null?void 0:j.type)==="mousedown"&&k.setState({paneDragging:!0}),t||G){const K=td(R.transform);I.current=K,G==null||G(K),t==null||t(R.sourceEvent,K)}})},[A,t]),b.useEffect(()=>{A&&(M&&!P.current?A.on("zoom",null):M||A.on("zoom",R=>{var j;const{onViewportChange:G}=k.getState();if(k.setState({transform:[R.transform.x,R.transform.y,R.transform.k]}),V.current=!!(r&&Yb(p,(j=N.current)!=null?j:0)),e||G){const K=td(R.transform);G==null||G(K),e==null||e(R.sourceEvent,K)}}))},[M,A,e,p,r]),b.useEffect(()=>{A&&A.on("end",R=>{var j;if(!R.sourceEvent)return null;const{onViewportChangeEnd:G}=k.getState();if(P.current=!1,k.setState({paneDragging:!1}),r&&Yb(p,(j=N.current)!=null?j:0)&&!V.current&&r(R.sourceEvent),V.current=!1,(n||G)&&S6(I.current,R.transform)){const K=td(R.transform);I.current=K,clearTimeout(E.current),E.current=setTimeout(()=>{G==null||G(K),n==null||n(R.sourceEvent,K)},a?150:0)}})},[A,a,p,n,r]),b.useEffect(()=>{A&&A.filter(R=>{const G=L||i,j=o&&R.ctrlKey;if(R.button===1&&R.type==="mousedown"&&(Ni(R,"react-flow__node")||Ni(R,"react-flow__edge")))return!0;if(!p&&!G&&!a&&!d&&!o||M||!d&&R.type==="dblclick"||Ni(R,S)&&R.type==="wheel"||Ni(R,C)&&R.type!=="wheel"||!o&&R.ctrlKey&&R.type==="wheel"||!G&&!a&&!j&&R.type==="wheel"||!p&&(R.type==="mousedown"||R.type==="touchstart")||Array.isArray(p)&&!p.includes(R.button)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const K=Array.isArray(p)&&p.includes(R.button)||!R.button||R.button<=1;return(!R.ctrlKey||R.type==="wheel")&&K})},[M,A,i,o,a,d,p,f,L]),s("div",{className:"react-flow__renderer",ref:B,style:ed,children:_})},T6=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function M6(){const{userSelectionActive:e,userSelectionRect:t}=Dt(T6,rn);return e&&t?s("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 Xb(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 l=Math.abs(t.position.x);n.position.x=n.position.x-l,n.style.width+=l,t.position.x=0}if(t.position.y<0){const l=Math.abs(t.position.y);n.position.y=n.position.y-l,n.style.height+=l,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function k6(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(l=>l.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const l of o)if(l)switch(l.type){case"select":{a.selected=l.selected;break}case"position":{typeof l.position<"u"&&(a.position=l.position),typeof l.positionAbsolute<"u"&&(a.positionAbsolute=l.positionAbsolute),typeof l.dragging<"u"&&(a.dragging=l.dragging),a.expandParent&&Xb(r,a);break}case"dimensions":{typeof l.dimensions<"u"&&(a.width=l.dimensions.width,a.height=l.dimensions.height),typeof l.updateStyle<"u"&&(a.style={...a.style||{},...l.dimensions}),typeof l.resizing=="boolean"&&(a.resizing=l.resizing),a.expandParent&&Xb(r,a);break}case"remove":return r}return r.push(a),r},n)}function D6(e,t){return k6(e,t)}const Ir=(e,t)=>({id:e,type:"select",selected:t});function $i(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Ir(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Ir(r.id,!1))),n},[])}const nd=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},O6=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Qb=b.memo(({isSelecting:e,selectionMode:t=Vo.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:l,onPaneMouseEnter:u,onPaneMouseMove:d,onPaneMouseLeave:f,children:p})=>{const h=b.useRef(null),g=Ht(),v=b.useRef(0),m=b.useRef(0),w=b.useRef(),{userSelectionActive:x,elementsSelectable:_,dragging:S}=Dt(O6,rn),C=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,m.current=0},E=F=>{o==null||o(F),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},k=F=>{if(Array.isArray(n)&&(n==null?void 0:n.includes(2))){F.preventDefault();return}a==null||a(F)},P=l?F=>l(F):void 0,V=F=>{const{resetSelectedElements:M,domNode:L}=g.getState();if(w.current=L==null?void 0:L.getBoundingClientRect(),!_||!e||F.button!==0||F.target!==h.current||!w.current)return;const{x:N,y:R}=Rr(F,w.current);M(),g.setState({userSelectionRect:{width:0,height:0,startX:N,startY:R,x:N,y:R}}),r==null||r(F)},B=F=>{var Ce,xe;const{userSelectionRect:M,nodeInternals:L,edges:N,transform:R,onNodesChange:G,onEdgesChange:j,nodeOrigin:K,getNodes:q}=g.getState();if(!e||!w.current||!M)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const ne=Rr(F,w.current),ie=(Ce=M.startX)!=null?Ce:0,Y=(xe=M.startY)!=null?xe:0,Z={...M,x:ne.x<ie?ne.x:ie,y:ne.y<Y?ne.y:Y,width:Math.abs(ne.x-ie),height:Math.abs(ne.y-Y)},de=q(),ce=vb(L,Z,R,t===Vo.Partial,!0,K),ue=mb(ce,N).map(X=>X.id),le=ce.map(X=>X.id);if(v.current!==le.length){v.current=le.length;const X=$i(de,le);X.length&&(G==null||G(X))}if(m.current!==ue.length){m.current=ue.length;const X=$i(N,ue);X.length&&(j==null||j(X))}g.setState({userSelectionRect:Z})},I=F=>{if(F.button!==0)return;const{userSelectionRect:M}=g.getState();!x&&M&&F.target===h.current&&(E==null||E(F)),g.setState({nodesSelectionActive:v.current>0}),C(),i==null||i(F)},A=F=>{x&&(g.setState({nodesSelectionActive:v.current>0}),i==null||i(F)),C()},$=_&&(e||x);return y("div",{className:en(["react-flow__pane",{dragging:S,selection:e}]),onClick:$?void 0:nd(E,h),onContextMenu:nd(k,h),onWheel:nd(P,h),onMouseEnter:$?void 0:u,onMouseDown:$?V:void 0,onMouseMove:$?B:d,onMouseUp:$?I:void 0,onMouseLeave:$?A:f,ref:h,style:ed,children:[p,s(M6,{})]})});Qb.displayName="Pane";const A6=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Wc(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function R6({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Ht(),{width:i,height:o,x:a,y:l,transformString:u,userSelectionActive:d}=Dt(A6,rn),f=jb(),p=b.useRef(null);if(b.useEffect(()=>{var v;n||(v=p.current)==null||v.focus({preventScroll:!0})},[n]),Gb({nodeRef:p}),d||!i||!o)return null;const h=e?v=>{const m=r.getState().getNodes().filter(w=>w.selected);e(v,m)}:void 0,g=v=>{Object.prototype.hasOwnProperty.call(Ii,v.key)&&f({x:Ii[v.key].x,y:Ii[v.key].y,isShiftPressed:v.shiftKey})};return s("div",{className:en(["react-flow__nodesselection","react-flow__container",t]),style:{transform:u},children:s("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:l,left:a}})})}var P6=b.memo(R6);const I6=e=>e.nodesSelectionActive,Zb=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:l,onMove:u,onMoveStart:d,onMoveEnd:f,selectionKeyCode:p,selectionOnDrag:h,selectionMode:g,onSelectionStart:v,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:x,zoomActivationKeyCode:_,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:P,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:I,defaultViewport:A,translateExtent:$,minZoom:F,maxZoom:M,preventScrolling:L,onSelectionContextMenu:N,noWheelClassName:R,noPanClassName:G,disableKeyboardA11y:j})=>{const K=Dt(I6),q=Bo(p),ie=Bo(x)||I,Y=q||h&&ie!==!0;return w6({deleteKeyCode:l,multiSelectionKeyCode:w}),s(E6,{onMove:u,onMoveStart:d,onMoveEnd:f,onPaneContextMenu:o,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:P,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:!q&&ie,defaultViewport:A,translateExtent:$,minZoom:F,maxZoom:M,zoomActivationKeyCode:_,preventScrolling:L,noWheelClassName:R,noPanClassName:G,children:y(Qb,{onSelectionStart:v,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:ie,isSelecting:!!Y,selectionMode:g,children:[e,K&&s(P6,{onSelectionContextMenu:N,noPanClassName:G,disableKeyboardA11y:j})]})})};Zb.displayName="FlowRenderer";var N6=b.memo(Zb);function $6(e){return Dt(b.useCallback(n=>e?vb(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const L6=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Jb=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=Dt(L6,rn),l=$6(e.onlyRenderVisibleElements),u=b.useRef(),d=b.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(p=>{const h=p.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(h)});return u.current=f,f},[]);return b.useEffect(()=>()=>{var f;(f=u==null?void 0:u.current)==null||f.disconnect()},[]),s("div",{className:"react-flow__nodes",style:ed,children:l.map(f=>{var E,k,P,V,B,I,A;let p=f.type||"default";e.nodeTypes[p]||(a==null||a("003",Yn["003"](p)),p="default");const h=e.nodeTypes[p]||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"),x=e.nodeExtent?Nc(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,_=(E=x==null?void 0:x.x)!=null?E:0,S=(k=x==null?void 0:x.y)!=null?k:0,C=h6({x:_,y:S,width:(P=f.width)!=null?P:0,height:(V=f.height)!=null?V:0,origin:e.nodeOrigin});return s(h,{id:f.id,className:f.className,style:f.style,type:p,data:f.data,sourcePosition:f.sourcePosition||De.Bottom,targetPosition:f.targetPosition||De.Top,hidden:f.hidden,xPos:_,yPos:S,xPosOrigin:C.x,yPosOrigin:C.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:d,dragHandle:f.dragHandle,zIndex:(I=(B=f[Kt])==null?void 0:B.z)!=null?I:0,isParent:!!((A=f[Kt])!=null&&A.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel},f.id)})})};Jb.displayName="NodeRenderer";var V6=b.memo(Jb);const z6=[{level:0,isMaxLevel:!0,edges:[]}];function F6(e,t,n=!1){let r=-1;const i=e.reduce((a,l)=>{var f,p,h,g;const u=On(l.zIndex);let d=u?l.zIndex:0;return n&&(d=u?l.zIndex:Math.max(((p=(f=t.get(l.source))==null?void 0:f[Kt])==null?void 0:p.z)||0,((g=(h=t.get(l.target))==null?void 0:h[Kt])==null?void 0:g.z)||0)),a[d]?a[d].push(l):a[d]=[l],r=d>r?d:r,a},{}),o=Object.entries(i).map(([a,l])=>{const u=+a;return{edges:l,level:u,isMaxLevel:u===r}});return o.length===0?z6:o}function B6(e,t,n){const r=Dt(b.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),l=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&c6({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:l.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:l.width,targetHeight:l.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return F6(r,t,n)}const G6=({color:e="none",strokeWidth:t=1})=>s("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),j6=({color:e="none",strokeWidth:t=1})=>s("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),e0={[Ds.Arrow]:G6,[Ds.ArrowClosed]:j6};function K6(e){const t=Ht();return b.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(e0,e)?e0[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Yn["009"](e)),null)},[e])}const W6=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{const u=K6(t);return u?s("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:l,refX:"0",refY:"0",children:s(u,{color:n,strokeWidth:a})}):null},q6=({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 l=Kc(a,t);r.includes(l)||(i.push({id:l,color:a.color||e,...a}),r.push(l))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},t0=({defaultColor:e,rfId:t})=>{const n=Dt(b.useCallback(q6({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return s("defs",{children:n.map(r=>s(W6,{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))})};t0.displayName="MarkerDefinitions";var H6=b.memo(t0);const U6=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}),n0=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:d,onEdgeMouseLeave:f,onEdgeClick:p,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,children:w})=>{const{edgesFocusable:x,elementsSelectable:_,width:S,height:C,connectionMode:E,nodeInternals:k,onError:P}=Dt(U6,rn),V=B6(t,k,n);return S?y(be,{children:[V.map(({level:B,edges:I,isMaxLevel:A})=>y("svg",{style:{zIndex:B},width:S,height:C,className:"react-flow__edges react-flow__container",children:[A&&s(H6,{defaultColor:e,rfId:r}),s("g",{children:I.map($=>{var xe,X;const[F,M,L]=Lb(k.get($.source)),[N,R,G]=Lb(k.get($.target));if(!L||!G)return null;let j=$.type||"default";i[j]||(P==null||P("011",Yn["011"](j)),j="default");const K=i[j]||i.default,q=E===Xr.Strict?R.target:((xe=R.target)!=null?xe:[]).concat((X=R.source)!=null?X:[]),ne=$b(M.source,$.sourceHandle),ie=$b(q,$.targetHandle),Y=(ne==null?void 0:ne.position)||De.Bottom,Z=(ie==null?void 0:ie.position)||De.Top,de=!!($.focusable||x&&typeof $.focusable>"u");if(!ne||!ie)return P==null||P("008",Yn["008"](ne,$)),null;const{sourceX:ce,sourceY:ue,targetX:le,targetY:Ce}=u6(F,ne,Y,N,ie,Z);return s(K,{id:$.id,className:en([$.className,o]),type:j,data:$.data,selected:!!$.selected,animated:!!$.animated,hidden:!!$.hidden,label:$.label,labelStyle:$.labelStyle,labelShowBg:$.labelShowBg,labelBgStyle:$.labelBgStyle,labelBgPadding:$.labelBgPadding,labelBgBorderRadius:$.labelBgBorderRadius,style:$.style,source:$.source,target:$.target,sourceHandleId:$.sourceHandle,targetHandleId:$.targetHandle,markerEnd:$.markerEnd,markerStart:$.markerStart,sourceX:ce,sourceY:ue,targetX:le,targetY:Ce,sourcePosition:Y,targetPosition:Z,elementsSelectable:_,onEdgeUpdate:a,onContextMenu:l,onMouseEnter:u,onMouseMove:d,onMouseLeave:f,onClick:p,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,rfId:r,ariaLabel:$.ariaLabel,isFocusable:de,pathOptions:"pathOptions"in $?$.pathOptions:void 0,interactionWidth:$.interactionWidth},$.id)})})]},B)),w]}):null};n0.displayName="EdgeRenderer";var Y6=b.memo(n0);const X6=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Q6({children:e}){const t=Dt(X6);return s("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function Z6(e){const t=Jc(),n=b.useRef(!1);b.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const J6={[De.Left]:De.Right,[De.Right]:De.Left,[De.Top]:De.Bottom,[De.Bottom]:De.Top},r0=({nodeId:e,handleType:t,style:n,type:r=Pr.Bezier,CustomComponent:i,connectionStatus:o})=>{var k,P,V,B,I,A,$;const{fromNode:a,handleId:l,toX:u,toY:d,connectionMode:f}=Dt(b.useCallback(F=>({fromNode:F.nodeInternals.get(e),handleId:F.connectionHandleId,toX:(F.connectionPosition.x-F.transform[0])/F.transform[2],toY:(F.connectionPosition.y-F.transform[1])/F.transform[2],connectionMode:F.connectionMode}),[e]),rn),p=(k=a==null?void 0:a[Kt])==null?void 0:k.handleBounds;let h=p==null?void 0:p[t];if(f===Xr.Loose&&(h=h||(p==null?void 0:p[t==="source"?"target":"source"])),!a||!h)return null;const g=l?h.find(F=>F.id===l):h[0],v=g?g.x+g.width/2:((P=a.width)!=null?P:0)/2,m=g?g.y+g.height/2:(V=a.height)!=null?V:0,w=((I=(B=a.positionAbsolute)==null?void 0:B.x)!=null?I:0)+v,x=(($=(A=a.positionAbsolute)==null?void 0:A.y)!=null?$:0)+m,_=g==null?void 0:g.position,S=_?J6[_]:null;if(!_||!S)return null;if(i)return s(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:g,fromX:w,fromY:x,toX:u,toY:d,fromPosition:_,toPosition:S,connectionStatus:o});let C="";const E={sourceX:w,sourceY:x,sourcePosition:_,targetX:u,targetY:d,targetPosition:S};return r===Pr.Bezier?[C]=hb(E):r===Pr.Step?[C]=Fc({...E,borderRadius:0}):r===Pr.SmoothStep?[C]=Fc(E):r===Pr.SimpleBezier?[C]=cb(E):C=`M${w},${x} ${u},${d}`,s("path",{d:C,fill:"none",className:"react-flow__connection-path",style:n})};r0.displayName="ConnectionLine";const eK=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function tK({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:l,height:u,connectionStatus:d}=Dt(eK,rn);return!(i&&o&&l&&a)?null:s("svg",{style:e,width:l,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container",children:s("g",{className:en(["react-flow__connection",d]),children:s(r0,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:d})})})}const i0=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:l,onNodeDoubleClick:u,onEdgeDoubleClick:d,onNodeMouseEnter:f,onNodeMouseMove:p,onNodeMouseLeave:h,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:m,onSelectionEnd:w,connectionLineType:x,connectionLineStyle:_,connectionLineComponent:S,connectionLineContainerStyle:C,selectionKeyCode:E,selectionOnDrag:k,selectionMode:P,multiSelectionKeyCode:V,panActivationKeyCode:B,zoomActivationKeyCode:I,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:F,selectNodesOnDrag:M,defaultViewport:L,translateExtent:N,minZoom:R,maxZoom:G,preventScrolling:j,defaultMarkerColor:K,zoomOnScroll:q,zoomOnPinch:ne,panOnScroll:ie,panOnScrollSpeed:Y,panOnScrollMode:Z,zoomOnDoubleClick:de,panOnDrag:ce,onPaneClick:ue,onPaneMouseEnter:le,onPaneMouseMove:Ce,onPaneMouseLeave:xe,onPaneScroll:X,onPaneContextMenu:oe,onEdgeUpdate:Se,onEdgeContextMenu:U,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:Ee,edgeUpdaterRadius:Oe,onEdgeUpdateStart:ge,onEdgeUpdateEnd:qe,noDragClassName:Ne,noWheelClassName:Je,noPanClassName:Te,elevateEdgesOnSelect:Ge,disableKeyboardA11y:Ve,nodeOrigin:Fe,nodeExtent:dt,rfId:lt})=>(Z6(o),s(N6,{onPaneClick:ue,onPaneMouseEnter:le,onPaneMouseMove:Ce,onPaneMouseLeave:xe,onPaneContextMenu:oe,onPaneScroll:X,deleteKeyCode:A,selectionKeyCode:E,selectionOnDrag:k,selectionMode:P,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:V,panActivationKeyCode:B,zoomActivationKeyCode:I,elementsSelectable:F,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:ne,zoomOnDoubleClick:de,panOnScroll:ie,panOnScrollSpeed:Y,panOnScrollMode:Z,panOnDrag:ce,defaultViewport:L,translateExtent:N,minZoom:R,maxZoom:G,onSelectionContextMenu:v,preventScrolling:j,noDragClassName:Ne,noWheelClassName:Je,noPanClassName:Te,disableKeyboardA11y:Ve,children:y(Q6,{children:[s(Y6,{edgeTypes:t,onEdgeClick:l,onEdgeDoubleClick:d,onEdgeUpdate:Se,onlyRenderVisibleElements:$,onEdgeContextMenu:U,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:Ee,onEdgeUpdateStart:ge,onEdgeUpdateEnd:qe,edgeUpdaterRadius:Oe,defaultMarkerColor:K,noPanClassName:Te,elevateEdgesOnSelect:!!Ge,disableKeyboardA11y:Ve,rfId:lt,children:s(tK,{style:_,type:x,component:S,containerStyle:C})}),s("div",{className:"react-flow__edgelabel-renderer"}),s(V6,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:p,onNodeMouseLeave:h,onNodeContextMenu:g,selectNodesOnDrag:M,onlyRenderVisibleElements:$,noPanClassName:Te,noDragClassName:Ne,disableKeyboardA11y:Ve,nodeOrigin:Fe,nodeExtent:dt,rfId:lt})]})}));i0.displayName="GraphView";var nK=b.memo(i0);const rd=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Li={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:rd,nodeExtent:rd,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Xr.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:Lc},rK=()=>zB((e,t)=>({...Li,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Zc(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?Zc(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:l,domNode:u,nodeOrigin:d}=t(),f=u==null?void 0:u.querySelector(".react-flow__viewport");if(!f)return;const p=window.getComputedStyle(f),{m22:h}=new window.DOMMatrixReadOnly(p.transform),g=n.reduce((m,w)=>{const x=i.get(w.id);if(x){const _=Ic(w.nodeElement);!!(_.width&&_.height&&(x.width!==_.width||x.height!==_.height||w.forceUpdate))&&(i.set(x.id,{...x,[Kt]:{...x[Kt],handleBounds:{source:Bb(".source",w.nodeElement,h,d),target:Bb(".target",w.nodeElement,h,d)}},..._}),m.push({id:x.id,type:"dimensions",dimensions:_}))}return m},[]);Hb(i,d);const v=a||o&&!a&&Ub(t,{initial:!0,...l});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(l=>{const u={id:l.id,type:"position",dragging:i};return r&&(u.positionAbsolute=l.positionAbsolute,u.position=l.position),u});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:l,elevateNodesOnSelect:u}=t();if(n!=null&&n.length){if(o){const d=D6(n,l()),f=Zc(d,i,a,u);e({nodeInternals:f})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,l=null;r?a=n.map(u=>Ir(u,!0)):(a=$i(o(),n),l=$i(i,[])),Is({changedNodes:a,changedEdges:l,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,l=null;r?a=n.map(u=>Ir(u,!0)):(a=$i(i,n),l=$i(o(),[])),Is({changedNodes:l,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),l=r||i,u=a.map(f=>(f.selected=!1,Ir(f.id,!1))),d=l.map(f=>Ir(f.id,!1));Is({changedNodes:u,changedEdges:d,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(l=>l.selected).map(l=>Ir(l.id,!1)),a=n.filter(l=>l.selected).map(l=>Ir(l.id,!1));Is({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Nc(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:l,translateExtent:u}=t();if(!a||!l||!n.x&&!n.y)return;const d=pr.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),f=[[0,0],[i,o]],p=a==null?void 0:a.constrain()(d,f,u);a.transform(l,p)},cancelConnection:()=>e({connectionNodeId:Li.connectionNodeId,connectionHandleId:Li.connectionHandleId,connectionHandleType:Li.connectionHandleType,connectionStatus:Li.connectionStatus}),reset:()=>e({...Li})})),o0=({children:e})=>{const t=b.useRef(null);return t.current||(t.current=rK()),s(_j,{value:t.current,children:e})};o0.displayName="ReactFlowProvider";const a0=({children:e})=>b.useContext(Ms)?s(be,{children:e}):s(o0,{children:e});a0.displayName="ReactFlowWrapper";function s0(e,t){const n=b.useRef(null);return b.useMemo(()=>{if(process.env.NODE_ENV==="development"){const i=Object.keys(e);rn(n.current,i)&&Lc("002",Yn["002"]()),n.current=i}return t(e)},[e])}const iK={input:Tb,default:Hc,output:kb,group:Uc},oK={default:Rs,straight:Gc,step:Bc,smoothstep:Os,simplebezier:zc},aK=[0,0],sK=[15,15],lK={x:0,y:0,zoom:1},uK={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},l0=b.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=iK,edgeTypes:a=oK,onNodeClick:l,onEdgeClick:u,onInit:d,onMove:f,onMoveStart:p,onMoveEnd:h,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:x,onNodeMouseEnter:_,onNodeMouseMove:S,onNodeMouseLeave:C,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:P,onNodeDrag:V,onNodeDragStop:B,onNodesDelete:I,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:F,onSelectionDrag:M,onSelectionDragStop:L,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:G,connectionMode:j=Xr.Strict,connectionLineType:K=Pr.Bezier,connectionLineStyle:q,connectionLineComponent:ne,connectionLineContainerStyle:ie,deleteKeyCode:Y="Backspace",selectionKeyCode:Z="Shift",selectionOnDrag:de=!1,selectionMode:ce=Vo.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:le="Meta",zoomActivationKeyCode:Ce="Meta",snapToGrid:xe=!1,snapGrid:X=sK,onlyRenderVisibleElements:oe=!1,selectNodesOnDrag:Se=!0,nodesDraggable:U,nodesConnectable:we,nodesFocusable:ve,nodeOrigin:Ee=aK,edgesFocusable:Oe,elementsSelectable:ge,defaultViewport:qe=lK,minZoom:Ne=.5,maxZoom:Je=2,translateExtent:Te=rd,preventScrolling:Ge=!0,nodeExtent:Ve,defaultMarkerColor:Fe="#b1b1b7",zoomOnScroll:dt=!0,zoomOnPinch:lt=!0,panOnScroll:Ue=!1,panOnScrollSpeed:ut=.5,panOnScrollMode:_e=Oi.Free,zoomOnDoubleClick:$e=!0,panOnDrag:rt=!0,onPaneClick:Ot,onPaneMouseEnter:ct,onPaneMouseMove:At,onPaneMouseLeave:ft,onPaneScroll:Wt,onPaneContextMenu:Rt,children:wt,onEdgeUpdate:Tt,onEdgeContextMenu:Ut,onEdgeDoubleClick:yt,onEdgeMouseEnter:pn,onEdgeMouseMove:Gt,onEdgeMouseLeave:ae,onEdgeUpdateStart:pe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Re=10,onNodesChange:et,onEdgesChange:pt,noDragClassName:Yt="nodrag",noWheelClassName:Xt="nowheel",noPanClassName:hn="nopan",fitView:Ct=!1,fitViewOptions:z,connectOnClick:te=!0,attributionPosition:J,proOptions:he,defaultEdgeOptions:ye,elevateNodesOnSelect:Me=!0,elevateEdgesOnSelect:Le=!1,disableKeyboardA11y:Ae=!1,autoPanOnConnect:We=!0,autoPanOnNodeDrag:Be=!0,connectionRadius:Xe=20,onError:Et,style:on,id:wn,...Pt},Xn)=>{const hr=s0(o,p6),ln=s0(a,l6),un=wn||"1";return s("div",{...Pt,style:{...on,...uK},ref:Xn,className:en(["react-flow",i]),"data-testid":"rf__wrapper",id:wn,children:y(a0,{children:[s(nK,{onInit:d,onMove:f,onMoveStart:p,onMoveEnd:h,onNodeClick:l,onEdgeClick:u,onNodeMouseEnter:_,onNodeMouseMove:S,onNodeMouseLeave:C,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:hr,edgeTypes:ln,connectionLineType:K,connectionLineStyle:q,connectionLineComponent:ne,connectionLineContainerStyle:ie,selectionKeyCode:Z,selectionOnDrag:de,selectionMode:ce,deleteKeyCode:Y,multiSelectionKeyCode:le,panActivationKeyCode:ue,zoomActivationKeyCode:Ce,onlyRenderVisibleElements:oe,selectNodesOnDrag:Se,defaultViewport:qe,translateExtent:Te,minZoom:Ne,maxZoom:Je,preventScrolling:Ge,zoomOnScroll:dt,zoomOnPinch:lt,zoomOnDoubleClick:$e,panOnScroll:Ue,panOnScrollSpeed:ut,panOnScrollMode:_e,panOnDrag:rt,onPaneClick:Ot,onPaneMouseEnter:ct,onPaneMouseMove:At,onPaneMouseLeave:ft,onPaneScroll:Wt,onPaneContextMenu:Rt,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:G,onEdgeUpdate:Tt,onEdgeContextMenu:Ut,onEdgeDoubleClick:yt,onEdgeMouseEnter:pn,onEdgeMouseMove:Gt,onEdgeMouseLeave:ae,onEdgeUpdateStart:pe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Re,defaultMarkerColor:Fe,noDragClassName:Yt,noWheelClassName:Xt,noPanClassName:hn,elevateEdgesOnSelect:Le,rfId:un,disableKeyboardA11y:Ae,nodeOrigin:Ee,nodeExtent:Ve}),s(e6,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:x,nodesDraggable:U,nodesConnectable:we,nodesFocusable:ve,edgesFocusable:Oe,elementsSelectable:ge,elevateNodesOnSelect:Me,minZoom:Ne,maxZoom:Je,nodeExtent:Ve,onNodesChange:et,onEdgesChange:pt,snapToGrid:xe,snapGrid:X,connectionMode:j,translateExtent:Te,connectOnClick:te,defaultEdgeOptions:ye,fitView:Ct,fitViewOptions:z,onNodesDelete:I,onEdgesDelete:A,onNodeDragStart:P,onNodeDrag:V,onNodeDragStop:B,onSelectionDrag:M,onSelectionDragStart:F,onSelectionDragStop:L,noPanClassName:hn,nodeOrigin:Ee,rfId:un,autoPanOnConnect:We,autoPanOnNodeDrag:Be,onError:Et,connectionRadius:Xe}),s(Zj,{onSelectionChange:$}),wt,s(Tj,{proOptions:he,position:J}),s(o6,{rfId:un,disableKeyboardA11y:Ae})]})})});l0.displayName="ReactFlow";const u0=({id:e,x:t,y:n,width:r,height:i,style:o,color:a,strokeColor:l,strokeWidth:u,className:d,borderRadius:f,shapeRendering:p,onClick:h})=>{const{background:g,backgroundColor:v}=o||{},m=a||g||v;return s("rect",{className:en(["react-flow__minimap-node",d]),x:t,y:n,rx:f,ry:f,width:r,height:i,fill:m,stroke:l,strokeWidth:u,shapeRendering:p,onClick:h?w=>h(w,e):void 0})};u0.displayName="MiniMapNode";var cK=b.memo(u0);const dK=200,fK=150,pK=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?Dj(Wc(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},id=e=>e instanceof Function?e:()=>e,hK="react-flow__minimap-desc";function c0({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a=2,maskColor:l="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:d=1,position:f="bottom-right",onClick:p,onNodeClick:h,pannable:g=!1,zoomable:v=!1,ariaLabel:m="React Flow mini map"}){var ce,ue;const w=Ht(),x=b.useRef(null),{boundingRect:_,viewBB:S,nodes:C,rfId:E,nodeOrigin:k}=Dt(pK,rn),P=(ce=e==null?void 0:e.width)!=null?ce:dK,V=(ue=e==null?void 0:e.height)!=null?ue:fK,B=id(r),I=id(n),A=id(i),$=_.width/P,F=_.height/V,M=Math.max($,F),L=M*P,N=M*V,R=5*M,G=_.x-(L-_.width)/2-R,j=_.y-(N-_.height)/2-R,K=L+R*2,q=N+R*2,ne=typeof window>"u"||!!window.chrome?"crispEdges":"geometricPrecision",ie=`${hK}-${E}`,Y=b.useRef(0);Y.current=M,b.useEffect(()=>{if(x.current){const le=Dn(x.current),Ce=oe=>{const{transform:Se,d3Selection:U,d3Zoom:we}=w.getState();if(oe.sourceEvent.type!=="wheel"||!U||!we)return;const ve=-oe.sourceEvent.deltaY*(oe.sourceEvent.deltaMode===1?.05:oe.sourceEvent.deltaMode?1:.002)*10,Ee=Se[2]*Math.pow(2,ve);we.scaleTo(U,Ee)},xe=oe=>{const{transform:Se,d3Selection:U,d3Zoom:we,translateExtent:ve,width:Ee,height:Oe}=w.getState();if(oe.sourceEvent.type!=="mousemove"||!U||!we)return;const ge={x:Se[0]-oe.sourceEvent.movementX*Y.current*Math.max(1,Se[2]),y:Se[1]-oe.sourceEvent.movementY*Y.current*Math.max(1,Se[2])},qe=[[0,0],[Ee,Oe]],Ne=pr.translate(ge.x,ge.y).scale(Se[2]),Je=we.constrain()(Ne,qe,ve);we.transform(U,Je)},X=Qy().on("zoom",g?xe:null).on("zoom.wheel",v?Ce:null);return le.call(X),()=>{le.on("zoom",null)}}},[g,v]);const Z=p?le=>{const Ce=Pn(le);p(le,{x:Ce[0],y:Ce[1]})}:void 0,de=h?(le,Ce)=>{const xe=w.getState().nodeInternals.get(Ce);h(le,xe)}:void 0;return s(Pc,{position:f,style:e,className:en(["react-flow__minimap",t]),children:y("svg",{width:P,height:V,viewBox:`${G} ${j} ${K} ${q}`,role:"img","aria-labelledby":ie,ref:x,onClick:Z,children:[m&&s("title",{id:ie,children:m}),C.map(le=>{const{x:Ce,y:xe}=Qr(le,k).positionAbsolute;return s(cK,{x:Ce,y:xe,width:le.width,height:le.height,style:le.style,className:A(le),color:B(le),borderRadius:o,strokeColor:I(le),strokeWidth:a,shapeRendering:ne,onClick:de,id:le.id},le.id)}),s("path",{className:"react-flow__minimap-mask",d:`M${G-R},${j-R}h${K+R*2}v${q+R*2}h${-K-R*2}z
429
- M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fill:l,fillRule:"evenodd",stroke:u,strokeWidth:d,pointerEvents:"none"})]})})}c0.displayName="MiniMap";var gK=b.memo(c0);function vK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:s("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function mK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:s("path",{d:"M0 0h32v4.2H0z"})})}function yK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:s("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 bK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:s("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 xK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:s("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 Go=({children:e,className:t,...n})=>s("button",{type:"button",className:en(["react-flow__controls-button",t]),...n,children:e});Go.displayName="ControlButton";const wK=e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable,d0=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:l,onInteractiveChange:u,className:d,children:f,position:p="bottom-left"})=>{const h=Ht(),[g,v]=b.useState(!1),m=Dt(wK),{zoomIn:w,zoomOut:x,fitView:_}=Jc();if(b.useEffect(()=>{v(!0)},[]),!g)return null;const S=()=>{w(),o==null||o()},C=()=>{x(),a==null||a()},E=()=>{_(i),l==null||l()},k=()=>{h.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),u==null||u(!m)};return y(Pc,{className:en(["react-flow__controls",d]),position:p,style:e,children:[t&&y(be,{children:[s(Go,{onClick:S,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:s(vK,{})}),s(Go,{onClick:C,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:s(mK,{})})]}),n&&s(Go,{className:"react-flow__controls-fitview",onClick:E,title:"fit view","aria-label":"fit view",children:s(yK,{})}),r&&s(Go,{className:"react-flow__controls-interactive",onClick:k,title:"toggle interactivity","aria-label":"toggle interactivity",children:m?s(xK,{}):s(bK,{})}),f]})};d0.displayName="Controls";var CK=b.memo(d0),$n;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})($n||($n={}));function SK({color:e,dimensions:t,lineWidth:n}){return s("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function _K({color:e,radius:t}){return s("circle",{cx:t,cy:t,r:t,fill:e})}const EK={[$n.Dots]:"#91919a",[$n.Lines]:"#eee",[$n.Cross]:"#e2e2e2"},TK={[$n.Dots]:1,[$n.Lines]:1,[$n.Cross]:6},MK=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function f0({variant:e=$n.Dots,gap:t=20,size:n,lineWidth:r=1,color:i,style:o,className:a}){const l=b.useRef(null),{transform:u,patternId:d}=Dt(MK,rn),f=i||EK[e],p=n||TK[e],h=e===$n.Dots,g=e===$n.Cross,v=Array.isArray(t)?t:[t,t],m=[v[0]*u[2]||1,v[1]*u[2]||1],w=p*u[2],x=g?[w,w]:m,_=h?[w/2,w/2]:[x[0]/2,x[1]/2];return y("svg",{className:en(["react-flow__background",a]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:l,children:[s("pattern",{id:d,x:u[0]%m[0],y:u[1]%m[1],width:m[0],height:m[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:h?s(_K,{color:f,radius:w/2}):s(SK,{dimensions:x,color:f,lineWidth:r})}),s("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${d})`})]})}f0.displayName="Background";var kK=b.memo(f0);const Sq="";function DK(e,t,n){const r=[],i=[];return e.current.forEach((o,a)=>{const l=o.panels.list.filter(u=>"__INTERACTIONS"in u.viz.conf);i.push(...l)}),i.forEach((o,a)=>{const l=t[o.id];l.data.interactions=H.default.get(l,"data.interactions",[]);const{__INTERACTIONS:u,__OPERATIONS:d,__TRIGGERS:f}=o.viz.conf;Object.entries(d).forEach(([p,h])=>{const{schemaRef:g,data:v}=h,{config:m}=v;switch(g){case"builtin:op:open-link":let w=m.urlTemplate.substring(0,100);m.urlTemplate.length>=20&&(w+="..."),l.type="interaction",l.data.interactions.push({schemaRef:g,urlTemplate:m.urlTemplate,shortURLTemplate:w});return;case"builtin:op:open_view":r.push({id:`OPERATION--${p}`,source:o.id,target:m.viewID,label:"Open View",style:{stroke:"rgba(0,0,0,0.8)"},type:"default"});return;case"builtin:op:set_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:Object.keys(m.dictionary).map(x=>({key:x,label:n[x]}))});return;case"builtin:op:clear_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:m.filter_keys.map(x=>({key:x,label:n[x]}))});return;default:return}})}),r}function OK(e,t){const n=e.filters.keyLabelMap;return{edges:DK(e.views,t,n),edgeNodes:[]}}function p0(e,t,n){return e*t+e*n}function AK(e,t,n){return e*t+(e-1)*n}const od=25,ad=40,h0=25,sd=350,RK=150,PK=150,g0=150,IK=300,ld=40,v0=25,NK=300;function $K(e){const t=[];return e.current.forEach((n,r)=>{n.panels.list.forEach((i,o)=>{const a=p0(o,ld,v0)+ad,l=i.title.trim()?`${i.title}`:i.viz.type;t.push({id:i.id,_node_type:"panel",parentNode:n.id,data:{label:l},position:{x:od,y:a},sourcePosition:De.Right,targetPosition:De.Left,style:{width:IK,height:ld}})})}),t}const LK={[ot.Division]:"Div",[ot.Modal]:"Modal",[ot.Tabs]:"Tabs"},VK=mm;function zK(e){return e.current.map((n,r)=>{const i=AK(n.panels.list.length,ld,v0)+ad+h0;let o=[];return n.type===ot.Tabs&&(o=n.config.tabs.map(l=>l.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:`${LK[n.type]}:${n.name}`},position:{x:0,y:0},sourcePosition:De.Right,targetPosition:De.Left,className:"light",style:{backgroundColor:VK[n.type],width:sd,height:i}}})}function FK(e){const t=H.default.keyBy(e,n=>n.id);e.forEach(n=>{n._node_type!=="view-root"||n._view_type!==ot.Tabs||n._tab_view_ids.forEach(r=>{t[r].parentNode=n.id})})}function BK(e){const t=zK(e.views);FK(t);const n=$K(e.views);return[...t,...n]}function GK({nodeMap:e,nodes:t,edges:n}){t.forEach(r=>{r._node_type!=="view-root"||r._view_type!==ot.Tabs||(r.sourcePosition=De.Bottom,r.style.width=sd+od*2,r.style.height=h0+r._tab_view_ids.reduce((i,o)=>{const a=e[o];a.position.y=i,a.position.x=od;const l=a.style.height;return i+l+20},ad))})}function jK({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 KK({nodeMap:e,nodes:t,edges:n}){const r={};n.forEach(i=>{if(i.label!=="Open View")return;const o=e[i.source],a=e[i.target];if(o&&a&&o.parentNode){const l=e[o.parentNode],u=l.position.x,d=H.default.get(a,"style.height",0),f=Number(l.style.width);a.position.x=u+f+NK,l._view_level===0&&a._sub_view_ids.length===0&&(o.sourcePosition=De.Left,a.targetPosition=De.Right,a.position.x*=-1);const h=a.position.x,g=H.default.get(r,h,0);a.position.y=g,r[h]=g+d+g0}})}function WK({nodeMap:e,nodes:t,edges:n}){const r=new Set,i=new Set;n.forEach(a=>{r.add(a.source),i.add(a.target)}),t.filter(a=>a._node_type!=="view-root"||a.id==="Main"||a.parentNode?!1:!r.has(a.id)&&!i.has(a.id)).forEach((a,l)=>{a.position.x=p0(l,sd,PK),a.position.y=0-RK-g0})}function qK({nodeMap:e,nodes:t,edges:n}){const r={nodeMap:e,nodes:t,edges:n};return WK(r),jK(r),GK(r),KK(r),{nodes:t,edges:n}}function HK(e){const t=BK(e),n=H.default.keyBy(t,u=>u.id),{edges:r,edgeNodes:i}=OK(e,n),o=[...t,...i],a=H.default.keyBy(o,u=>u.id),l={edges:H.default.uniqBy(r,u=>u.id),nodes:o,nodeMap:a};return qK(l)}const _q="",ud={"builtin:op:open-link":s(c.ThemeIcon,{color:"blue",size:20,radius:"xl",children:s(fx,{size:14})}),"builtin:op:set_filter_values":s(c.ThemeIcon,{color:"orange",size:20,radius:"xl",children:s(hx,{size:14})}),"builtin:op:clear_filter_values":s(c.ThemeIcon,{color:"orange",size:20,radius:"xl",children:s(vx,{size:14})})};function UK(e){const t=[];return e.forEach(n=>{switch(n.schemaRef){case"builtin:op:open-link":t.push({key:n.urlTemplate,icon:ud[n.schemaRef],text:y(c.Group,{spacing:4,children:[s(c.Text,{children:"Open: "}),s(c.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:ud[n.schemaRef],text:s(c.Group,{spacing:4,children:y(c.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:ud[n.schemaRef],text:s(c.Group,{spacing:4,children:y(c.Text,{children:["Clear Filter: ",i]})})})});return}}),t}const YK=b.memo(({data:e,isConnectable:t,sourcePosition:n=De.Right,targetPosition:r=De.Left,...i})=>{const o=b.useMemo(()=>UK(e.interactions),[e.interactions]);return y(be,{children:[s(Ai,{type:"target",position:r,isConnectable:t}),s(c.Box,{sx:{position:"absolute",top:0,right:0},children:s(re.ChevronsUpRight,{size:12})}),y(c.HoverCard,{shadow:"xl",withinPortal:!0,children:[s(c.HoverCard.Target,{children:s(c.Text,{children:e.label})}),s(c.HoverCard.Dropdown,{children:s(c.List,{spacing:"xs",size:"sm",center:!0,children:o.map(a=>s(c.List.Item,{icon:a.icon,children:a.text},a.key))})})]}),s(Ai,{type:"source",position:n,isConnectable:t})]})}),Eq="",XK={interaction:YK},QK=ee.observer(()=>{const e=Ie(),{edges:t,nodes:n}=HK(e);return y(l0,{nodes:n,edges:t,onNodesChange:H.default.noop,onEdgesChange:H.default.noop,onConnect:H.default.noop,className:"interactions-viewer",fitView:!0,nodeTypes:XK,children:[s(gK,{}),s(CK,{}),s(kK,{})]})}),ZK=ee.observer(({opened:e,close:t})=>{const{freezeLayout:n}=Q.default.useContext(Lr);return Q.default.useEffect(()=>{n(e)},[e]),s(c.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:t,title:"Interactions",trapFocus:!0,onDragStart:r=>{r.stopPropagation()},styles:{body:{height:"90vh"},modal:{transform:"none !important"}},zIndex:300,children:s(QK,{})})});function JK({onClick:e,name:t,active:n,openSettings:r}){return y(c.Box,{sx:{position:"relative"},children:[s(c.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:s(c.Group,{sx:{width:"calc(100% - 28px)"},onClick:e,children:s(c.Text,{size:"sm",children:t})})}),n&&s(c.Tooltip,{label:"Edit",position:"right",withinPortal:!0,children:s(c.ActionIcon,{onClick:r,variant:"light",color:"blue",sx:{position:"absolute",top:0,bottom:0,height:"100%",right:0,zIndex:0,borderRadius:0},children:s(Z0,{size:16})})})]})}const e8=ee.observer(()=>{const e=Ie(),t=b.useCallback(r=>()=>e.views.setIDOfVIE(r),[e]),n=r=>{e.editor.open(["_VIEWS_",r])};return y(c.Box,{sx:{position:"relative"},children:[e.views.options.map(r=>s(JK,{active:e.views.idOfVIE===r.value,name:r.label,onClick:t(r.value),openSettings:()=>n(r.value)},r.value)),s(c.Divider,{variant:"dashed"}),s(c.Button,{variant:"subtle",rightIcon:s(vr,{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"})]})}),t8=ee.observer(()=>{const e=Ie(),t=()=>{if(!e.queries.firstID){e.editor.open(["_QUERIES_",""]);return}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]=b.useState(!1),o=()=>i(!0),a=()=>i(!1);return y(c.Navbar,{p:0,width:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},children:[y(c.Navbar.Section,{children:[y(c.Group,{grow:!0,spacing:0,sx:{...Qm,button:{borderWidth:0,borderBottomWidth:1,borderColor:"#e9ecef"}},children:[s(c.Tooltip,{label:"Filters",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:n,children:s(Dd,{size:20})})}),s(c.Tooltip,{label:"Queries",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:t,children:s(kd,{size:20})})}),s(c.Tooltip,{label:"Interactions Viewer",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:o,children:s(Ox,{size:20})})})]}),s(ZK,{opened:r,close:a})]}),s(c.Navbar.Section,{py:5,sx:{borderBottom:"1px solid #eee"},children:s(c.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Views"})}),s(c.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s(e8,{})}),s(c.Navbar.Section,{children:s(c.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s(c.Button,{size:"xs",leftIcon:s(Vx,{size:20}),onClick:()=>e.editor.open([]),children:"Settings"})})})]})}),n8=ee.observer(function({config:t}){return y(be,{children:[s(c.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"}),s(Eu,{label:"Description",value:t.description,onChange:t.setDescription,styles:{root:{flexGrow:1,minHeight:"400px"}}})]})}),r8=[{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"}],i8=ee.observer(function({config:t}){return y(be,{children:[y(c.Group,{children:[s(c.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),s(c.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),disabled:t.max_days>0,label:"Clearable"}),s(c.Checkbox,{checked:t.allowSingleDateInRange,onChange:n=>t.setAllowSingleDateInRange(n.currentTarget.checked),label:"Allow choosing 1 day"})]}),s(c.Select,{data:r8,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat}),s(Bd,{label:"Default Value",config:t,value:t.default_value,onChange:t.setDefaultValue}),s(c.NumberInput,{label:"Max Days",description:y(c.Group,{position:"apart",children:[s(c.Text,{children:"Set 0 to disable."}),y(c.Group,{spacing:4,children:[s(c.Text,{children:"This feature requires"}),s(c.Text,{color:"blue",children:"Clearable"}),s(c.Text,{children:"to be checked"})]})]}),min:0,value:t.max_days,onChange:t.setMaxDays,hideControls:!0})]})}),cd=ee.observer(({value:e,onChange:t})=>{const n=Ie(),r=Q.default.useMemo(()=>n.queries.options,[n.queries.current]),i=r.length===0;return s(c.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})}),o8=`
428
+ */var oy;function KB(){return oy||(oy=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=Q.default,t=ry();function n(f,p){return f===p&&(f!==0||1/f===1/p)||f!==f&&p!==p}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,l=e.useMemo,u=e.useDebugValue;function d(f,p,h,g,v){var m=o(null),w;m.current===null?(w={hasValue:!1,value:null},m.current=w):w=m.current;var x=l(function(){var E=!1,k,P,V=function($){if(!E){E=!0,k=$;var F=g($);if(v!==void 0&&w.hasValue){var M=w.value;if(v(M,F))return P=M,M}return P=F,F}var L=k,N=P;if(r(L,$))return N;var R=g($);return v!==void 0&&v(N,R)?N:(k=$,P=R,R)},B=h===void 0?null:h,I=function(){return V(p())},A=B===null?void 0:function(){return V(B())};return[I,A]},[p,h,g,v]),_=x[0],S=x[1],C=i(f,_,S);return a(function(){w.hasValue=!0,w.value=C},[C]),u(C),C}hc.useSyncExternalStoreWithSelector=d,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),hc}(function(e){process.env.NODE_ENV==="production"?e.exports=jB():e.exports=KB()})(Jm);const WB=H0(Jm.exports),{useSyncExternalStoreWithSelector:qB}=WB;function HB(e,t=e.getState,n){const r=qB(e.subscribe,e.getState,e.getServerState||e.getState,t,n);return b.useDebugValue(r),r}function rn(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 UB={value:()=>{}};function ls(){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 us(n)}function us(e){this._=e}function YB(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}})}us.prototype=ls.prototype={constructor:us,on:function(e,t){var n=this._,r=YB(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=XB(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]=ay(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ay(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 us(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 XB(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ay(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=UB,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var gc="http://www.w3.org/1999/xhtml";const sy={svg:"http://www.w3.org/2000/svg",xhtml:gc,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function cs(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),sy.hasOwnProperty(t)?{space:sy[t],local:e}:e}function QB(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===gc&&t.documentElement.namespaceURI===gc?t.createElement(e):t.createElementNS(n,e)}}function ZB(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ly(e){var t=cs(e);return(t.local?ZB:QB)(t)}function JB(){}function vc(e){return e==null?JB:function(){return this.querySelector(e)}}function e4(e){typeof e!="function"&&(e=vc(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,l=r[i]=new Array(a),u,d,f=0;f<a;++f)(u=o[f])&&(d=e.call(u,u.__data__,f,o))&&("__data__"in u&&(d.__data__=u.__data__),l[f]=d);return new xn(r,this._parents)}function t4(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function n4(){return[]}function uy(e){return e==null?n4:function(){return this.querySelectorAll(e)}}function r4(e){return function(){return t4(e.apply(this,arguments))}}function i4(e){typeof e=="function"?e=r4(e):e=uy(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],l=a.length,u,d=0;d<l;++d)(u=a[d])&&(r.push(e.call(u,u.__data__,d,a)),i.push(u));return new xn(r,i)}function cy(e){return function(){return this.matches(e)}}function dy(e){return function(t){return t.matches(e)}}var o4=Array.prototype.find;function a4(e){return function(){return o4.call(this.children,e)}}function s4(){return this.firstElementChild}function l4(e){return this.select(e==null?s4:a4(typeof e=="function"?e:dy(e)))}var u4=Array.prototype.filter;function c4(){return Array.from(this.children)}function d4(e){return function(){return u4.call(this.children,e)}}function f4(e){return this.selectAll(e==null?c4:d4(typeof e=="function"?e:dy(e)))}function p4(e){typeof e!="function"&&(e=cy(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,l=r[i]=[],u,d=0;d<a;++d)(u=o[d])&&e.call(u,u.__data__,d,o)&&l.push(u);return new xn(r,this._parents)}function fy(e){return new Array(e.length)}function h4(){return new xn(this._enter||this._groups.map(fy),this._parents)}function ds(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ds.prototype={constructor:ds,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 g4(e){return function(){return e}}function v4(e,t,n,r,i,o){for(var a=0,l,u=t.length,d=o.length;a<d;++a)(l=t[a])?(l.__data__=o[a],r[a]=l):n[a]=new ds(e,o[a]);for(;a<u;++a)(l=t[a])&&(i[a]=l)}function m4(e,t,n,r,i,o,a){var l,u,d=new Map,f=t.length,p=o.length,h=new Array(f),g;for(l=0;l<f;++l)(u=t[l])&&(h[l]=g=a.call(u,u.__data__,l,t)+"",d.has(g)?i[l]=u:d.set(g,u));for(l=0;l<p;++l)g=a.call(e,o[l],l,o)+"",(u=d.get(g))?(r[l]=u,u.__data__=o[l],d.delete(g)):n[l]=new ds(e,o[l]);for(l=0;l<f;++l)(u=t[l])&&d.get(h[l])===u&&(i[l]=u)}function y4(e){return e.__data__}function b4(e,t){if(!arguments.length)return Array.from(this,y4);var n=t?m4:v4,r=this._parents,i=this._groups;typeof e!="function"&&(e=g4(e));for(var o=i.length,a=new Array(o),l=new Array(o),u=new Array(o),d=0;d<o;++d){var f=r[d],p=i[d],h=p.length,g=x4(e.call(f,f&&f.__data__,d,r)),v=g.length,m=l[d]=new Array(v),w=a[d]=new Array(v),x=u[d]=new Array(h);n(f,p,m,w,x,g,t);for(var _=0,S=0,C,E;_<v;++_)if(C=m[_]){for(_>=S&&(S=_+1);!(E=w[S])&&++S<v;);C._next=E||null}}return a=new xn(a,r),a._enter=l,a._exit=u,a}function x4(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function w4(){return new xn(this._exit||this._groups.map(fy),this._parents)}function C4(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 S4(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),l=new Array(i),u=0;u<a;++u)for(var d=n[u],f=r[u],p=d.length,h=l[u]=new Array(p),g,v=0;v<p;++v)(g=d[v]||f[v])&&(h[v]=g);for(;u<i;++u)l[u]=n[u];return new xn(l,this._parents)}function _4(){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 E4(e){e||(e=T4);function t(p,h){return p&&h?e(p.__data__,h.__data__):!p-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],l=a.length,u=i[o]=new Array(l),d,f=0;f<l;++f)(d=a[f])&&(u[f]=d);u.sort(t)}return new xn(i,this._parents).order()}function T4(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function M4(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function k4(){return Array.from(this)}function D4(){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 O4(){let e=0;for(const t of this)++e;return e}function A4(){return!this.node()}function R4(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,l;o<a;++o)(l=i[o])&&e.call(l,l.__data__,o,i);return this}function P4(e){return function(){this.removeAttribute(e)}}function I4(e){return function(){this.removeAttributeNS(e.space,e.local)}}function N4(e,t){return function(){this.setAttribute(e,t)}}function $4(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function L4(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function V4(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 z4(e,t){var n=cs(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?I4:P4:typeof t=="function"?n.local?V4:L4:n.local?$4:N4)(n,t))}function py(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function F4(e){return function(){this.style.removeProperty(e)}}function B4(e,t,n){return function(){this.style.setProperty(e,t,n)}}function G4(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function j4(e,t,n){return arguments.length>1?this.each((t==null?F4:typeof t=="function"?G4:B4)(e,t,n==null?"":n)):Ei(this.node(),e)}function Ei(e,t){return e.style.getPropertyValue(t)||py(e).getComputedStyle(e,null).getPropertyValue(t)}function K4(e){return function(){delete this[e]}}function W4(e,t){return function(){this[e]=t}}function q4(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function H4(e,t){return arguments.length>1?this.each((t==null?K4:typeof t=="function"?q4:W4)(e,t)):this.node()[e]}function hy(e){return e.trim().split(/^|\s+/)}function mc(e){return e.classList||new gy(e)}function gy(e){this._node=e,this._names=hy(e.getAttribute("class")||"")}gy.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 vy(e,t){for(var n=mc(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function my(e,t){for(var n=mc(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function U4(e){return function(){vy(this,e)}}function Y4(e){return function(){my(this,e)}}function X4(e,t){return function(){(t.apply(this,arguments)?vy:my)(this,e)}}function Q4(e,t){var n=hy(e+"");if(arguments.length<2){for(var r=mc(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?X4:t?U4:Y4)(n,t))}function Z4(){this.textContent=""}function J4(e){return function(){this.textContent=e}}function e5(e){return function(){var t=e.apply(this,arguments);this.textContent=t==null?"":t}}function t5(e){return arguments.length?this.each(e==null?Z4:(typeof e=="function"?e5:J4)(e)):this.node().textContent}function n5(){this.innerHTML=""}function r5(e){return function(){this.innerHTML=e}}function i5(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t==null?"":t}}function o5(e){return arguments.length?this.each(e==null?n5:(typeof e=="function"?i5:r5)(e)):this.node().innerHTML}function a5(){this.nextSibling&&this.parentNode.appendChild(this)}function s5(){return this.each(a5)}function l5(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function u5(){return this.each(l5)}function c5(e){var t=typeof e=="function"?e:ly(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function d5(){return null}function f5(e,t){var n=typeof e=="function"?e:ly(e),r=t==null?d5:typeof t=="function"?t:vc(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function p5(){var e=this.parentNode;e&&e.removeChild(this)}function h5(){return this.each(p5)}function g5(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function v5(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function m5(e){return this.select(e?v5:g5)}function y5(e){return arguments.length?this.property("__data__",e):this.node().__data__}function b5(e){return function(t){e.call(this,t,this.__data__)}}function x5(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 w5(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 C5(e,t,n){return function(){var r=this.__on,i,o=b5(t);if(r){for(var a=0,l=r.length;a<l;++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 S5(e,t,n){var r=x5(e+""),i,o=r.length,a;if(arguments.length<2){var l=this.node().__on;if(l){for(var u=0,d=l.length,f;u<d;++u)for(i=0,f=l[u];i<o;++i)if((a=r[i]).type===f.type&&a.name===f.name)return f.value}return}for(l=t?C5:w5,i=0;i<o;++i)this.each(l(r[i],t,n));return this}function yy(e,t,n){var r=py(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 _5(e,t){return function(){return yy(this,e,t)}}function E5(e,t){return function(){return yy(this,e,t.apply(this,arguments))}}function T5(e,t){return this.each((typeof t=="function"?E5:_5)(e,t))}function*M5(){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 by=[null];function xn(e,t){this._groups=e,this._parents=t}function Eo(){return new xn([[document.documentElement]],by)}function k5(){return this}xn.prototype=Eo.prototype={constructor:xn,select:e4,selectAll:i4,selectChild:l4,selectChildren:f4,filter:p4,data:b4,enter:h4,exit:w4,join:C4,merge:S4,selection:k5,order:_4,sort:E4,call:M4,nodes:k4,node:D4,size:O4,empty:A4,each:R4,attr:z4,style:j4,property:H4,classed:Q4,text:t5,html:o5,raise:s5,lower:u5,append:c5,insert:f5,remove:h5,clone:m5,datum:y5,on:S5,dispatch:T5,[Symbol.iterator]:M5};function Dn(e){return typeof e=="string"?new xn([[document.querySelector(e)]],[document.documentElement]):new xn([[e]],by)}function D5(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Pn(e,t){if(e=D5(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 O5={passive:!1},To={capture:!0,passive:!1};function yc(e){e.stopImmediatePropagation()}function Ti(e){e.preventDefault(),e.stopImmediatePropagation()}function xy(e){var t=e.document.documentElement,n=Dn(e).on("dragstart.drag",Ti,To);"onselectstart"in t?n.on("selectstart.drag",Ti,To):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function wy(e,t){var n=e.document.documentElement,r=Dn(e).on("dragstart.drag",null);t&&(r.on("click.drag",Ti,To),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 fs=e=>()=>e;function bc(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:l,dx:u,dy:d,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:l,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:f}})}bc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function A5(e){return!e.ctrlKey&&!e.button}function R5(){return this.parentNode}function P5(e,t){return t==null?{x:e.x,y:e.y}:t}function I5(){return navigator.maxTouchPoints||"ontouchstart"in this}function N5(){var e=A5,t=R5,n=P5,r=I5,i={},o=ls("start","drag","end"),a=0,l,u,d,f,p=0;function h(C){C.on("mousedown.drag",g).filter(r).on("touchstart.drag",w).on("touchmove.drag",x,O5).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(C,E){if(!(f||!e.call(this,C,E))){var k=S(this,t.call(this,C,E),C,E,"mouse");!k||(Dn(C.view).on("mousemove.drag",v,To).on("mouseup.drag",m,To),xy(C.view),yc(C),d=!1,l=C.clientX,u=C.clientY,k("start",C))}}function v(C){if(Ti(C),!d){var E=C.clientX-l,k=C.clientY-u;d=E*E+k*k>p}i.mouse("drag",C)}function m(C){Dn(C.view).on("mousemove.drag mouseup.drag",null),wy(C.view,d),Ti(C),i.mouse("end",C)}function w(C,E){if(!!e.call(this,C,E)){var k=C.changedTouches,P=t.call(this,C,E),V=k.length,B,I;for(B=0;B<V;++B)(I=S(this,P,C,E,k[B].identifier,k[B]))&&(yc(C),I("start",C,k[B]))}}function x(C){var E=C.changedTouches,k=E.length,P,V;for(P=0;P<k;++P)(V=i[E[P].identifier])&&(Ti(C),V("drag",C,E[P]))}function _(C){var E=C.changedTouches,k=E.length,P,V;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),P=0;P<k;++P)(V=i[E[P].identifier])&&(yc(C),V("end",C,E[P]))}function S(C,E,k,P,V,B){var I=o.copy(),A=Pn(B||k,E),$,F,M;if((M=n.call(C,new bc("beforestart",{sourceEvent:k,target:h,identifier:V,active:a,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),P))!=null)return $=M.x-A[0]||0,F=M.y-A[1]||0,function L(N,R,G){var j=A,K;switch(N){case"start":i[V]=L,K=a++;break;case"end":delete i[V],--a;case"drag":A=Pn(G||R,E),K=a;break}I.call(N,C,new bc(N,{sourceEvent:R,subject:M,target:h,identifier:V,active:K,x:A[0]+$,y:A[1]+F,dx:A[0]-j[0],dy:A[1]-j[1],dispatch:I}),P)}}return h.filter=function(C){return arguments.length?(e=typeof C=="function"?C:fs(!!C),h):e},h.container=function(C){return arguments.length?(t=typeof C=="function"?C:fs(C),h):t},h.subject=function(C){return arguments.length?(n=typeof C=="function"?C:fs(C),h):n},h.touchable=function(C){return arguments.length?(r=typeof C=="function"?C:fs(!!C),h):r},h.on=function(){var C=o.on.apply(o,arguments);return C===o?h:C},h.clickDistance=function(C){return arguments.length?(p=(C=+C)*C,h):Math.sqrt(p)},h}function xc(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Cy(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Mo(){}var ko=.7,ps=1/ko,Mi="\\s*([+-]?\\d+)\\s*",Do="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Hn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",$5=/^#([0-9a-f]{3,8})$/,L5=new RegExp(`^rgb\\(${Mi},${Mi},${Mi}\\)$`),V5=new RegExp(`^rgb\\(${Hn},${Hn},${Hn}\\)$`),z5=new RegExp(`^rgba\\(${Mi},${Mi},${Mi},${Do}\\)$`),F5=new RegExp(`^rgba\\(${Hn},${Hn},${Hn},${Do}\\)$`),B5=new RegExp(`^hsl\\(${Do},${Hn},${Hn}\\)$`),G5=new RegExp(`^hsla\\(${Do},${Hn},${Hn},${Do}\\)$`),Sy={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};xc(Mo,Oo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_y,formatHex:_y,formatHex8:j5,formatHsl:K5,formatRgb:Ey,toString:Ey});function _y(){return this.rgb().formatHex()}function j5(){return this.rgb().formatHex8()}function K5(){return Oy(this).formatHsl()}function Ey(){return this.rgb().formatRgb()}function Oo(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=$5.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Ty(t):n===3?new fn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?hs(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?hs(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=L5.exec(e))?new fn(t[1],t[2],t[3],1):(t=V5.exec(e))?new fn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=z5.exec(e))?hs(t[1],t[2],t[3],t[4]):(t=F5.exec(e))?hs(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=B5.exec(e))?Dy(t[1],t[2]/100,t[3]/100,1):(t=G5.exec(e))?Dy(t[1],t[2]/100,t[3]/100,t[4]):Sy.hasOwnProperty(e)?Ty(Sy[e]):e==="transparent"?new fn(NaN,NaN,NaN,0):null}function Ty(e){return new fn(e>>16&255,e>>8&255,e&255,1)}function hs(e,t,n,r){return r<=0&&(e=t=n=NaN),new fn(e,t,n,r)}function W5(e){return e instanceof Mo||(e=Oo(e)),e?(e=e.rgb(),new fn(e.r,e.g,e.b,e.opacity)):new fn}function wc(e,t,n,r){return arguments.length===1?W5(e):new fn(e,t,n,r==null?1:r)}function fn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xc(fn,wc,Cy(Mo,{brighter(e){return e=e==null?ps:Math.pow(ps,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new fn(Hr(this.r),Hr(this.g),Hr(this.b),gs(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:My,formatHex:My,formatHex8:q5,formatRgb:ky,toString:ky}));function My(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}`}function q5(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}${Ur((isNaN(this.opacity)?1:this.opacity)*255)}`}function ky(){const e=gs(this.opacity);return`${e===1?"rgb(":"rgba("}${Hr(this.r)}, ${Hr(this.g)}, ${Hr(this.b)}${e===1?")":`, ${e})`}`}function gs(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ur(e){return e=Hr(e),(e<16?"0":"")+e.toString(16)}function Dy(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new In(e,t,n,r)}function Oy(e){if(e instanceof In)return new In(e.h,e.s,e.l,e.opacity);if(e instanceof Mo||(e=Oo(e)),!e)return new In;if(e instanceof In)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,l=o-i,u=(o+i)/2;return l?(t===o?a=(n-r)/l+(n<r)*6:n===o?a=(r-t)/l+2:a=(t-n)/l+4,l/=u<.5?o+i:2-o-i,a*=60):l=u>0&&u<1?0:a,new In(a,l,u,e.opacity)}function H5(e,t,n,r){return arguments.length===1?Oy(e):new In(e,t,n,r==null?1:r)}function In(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xc(In,H5,Cy(Mo,{brighter(e){return e=e==null?ps:Math.pow(ps,e),new In(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ko:Math.pow(ko,e),new In(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 fn(Cc(e>=240?e-240:e+120,i,r),Cc(e,i,r),Cc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new In(Ay(this.h),vs(this.s),vs(this.l),gs(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=gs(this.opacity);return`${e===1?"hsl(":"hsla("}${Ay(this.h)}, ${vs(this.s)*100}%, ${vs(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ay(e){return e=(e||0)%360,e<0?e+360:e}function vs(e){return Math.max(0,Math.min(1,e||0))}function Cc(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 Ry=e=>()=>e;function U5(e,t){return function(n){return e+n*t}}function Y5(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 X5(e){return(e=+e)==1?Py:function(t,n){return n-t?Y5(t,n,e):Ry(isNaN(t)?n:t)}}function Py(e,t){var n=t-e;return n?U5(e,n):Ry(isNaN(e)?t:e)}const Iy=function e(t){var n=X5(t);function r(i,o){var a=n((i=wc(i)).r,(o=wc(o)).r),l=n(i.g,o.g),u=n(i.b,o.b),d=Py(i.opacity,o.opacity);return function(f){return i.r=a(f),i.g=l(f),i.b=u(f),i.opacity=d(f),i+""}}return r.gamma=e,r}(1);function Ar(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Sc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,_c=new RegExp(Sc.source,"g");function Q5(e){return function(){return e}}function Z5(e){return function(t){return e(t)+""}}function J5(e,t){var n=Sc.lastIndex=_c.lastIndex=0,r,i,o,a=-1,l=[],u=[];for(e=e+"",t=t+"";(r=Sc.exec(e))&&(i=_c.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),l[a]?l[a]+=o:l[++a]=o),(r=r[0])===(i=i[0])?l[a]?l[a]+=i:l[++a]=i:(l[++a]=null,u.push({i:a,x:Ar(r,i)})),n=_c.lastIndex;return n<t.length&&(o=t.slice(n),l[a]?l[a]+=o:l[++a]=o),l.length<2?u[0]?Z5(u[0].x):Q5(t):(t=u.length,function(d){for(var f=0,p;f<t;++f)l[(p=u[f]).i]=p.x(d);return l.join("")})}var Ny=180/Math.PI,Ec={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function $y(e,t,n,r,i,o){var a,l,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*Ny,skewX:Math.atan(u)*Ny,scaleX:a,scaleY:l}}var ms;function eG(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ec:$y(t.a,t.b,t.c,t.d,t.e,t.f)}function tG(e){return e==null||(ms||(ms=document.createElementNS("http://www.w3.org/2000/svg","g")),ms.setAttribute("transform",e),!(e=ms.transform.baseVal.consolidate()))?Ec:(e=e.matrix,$y(e.a,e.b,e.c,e.d,e.e,e.f))}function Ly(e,t,n,r){function i(d){return d.length?d.pop()+" ":""}function o(d,f,p,h,g,v){if(d!==p||f!==h){var m=g.push("translate(",null,t,null,n);v.push({i:m-4,x:Ar(d,p)},{i:m-2,x:Ar(f,h)})}else(p||h)&&g.push("translate("+p+t+h+n)}function a(d,f,p,h){d!==f?(d-f>180?f+=360:f-d>180&&(d+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:Ar(d,f)})):f&&p.push(i(p)+"rotate("+f+r)}function l(d,f,p,h){d!==f?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:Ar(d,f)}):f&&p.push(i(p)+"skewX("+f+r)}function u(d,f,p,h,g,v){if(d!==p||f!==h){var m=g.push(i(g)+"scale(",null,",",null,")");v.push({i:m-4,x:Ar(d,p)},{i:m-2,x:Ar(f,h)})}else(p!==1||h!==1)&&g.push(i(g)+"scale("+p+","+h+")")}return function(d,f){var p=[],h=[];return d=e(d),f=e(f),o(d.translateX,d.translateY,f.translateX,f.translateY,p,h),a(d.rotate,f.rotate,p,h),l(d.skewX,f.skewX,p,h),u(d.scaleX,d.scaleY,f.scaleX,f.scaleY,p,h),d=f=null,function(g){for(var v=-1,m=h.length,w;++v<m;)p[(w=h[v]).i]=w.x(g);return p.join("")}}}var nG=Ly(eG,"px, ","px)","deg)"),rG=Ly(tG,", ",")",")"),iG=1e-12;function Vy(e){return((e=Math.exp(e))+1/e)/2}function oG(e){return((e=Math.exp(e))-1/e)/2}function aG(e){return((e=Math.exp(2*e))-1)/(e+1)}const sG=function e(t,n,r){function i(o,a){var l=o[0],u=o[1],d=o[2],f=a[0],p=a[1],h=a[2],g=f-l,v=p-u,m=g*g+v*v,w,x;if(m<iG)x=Math.log(h/d)/t,w=function(P){return[l+P*g,u+P*v,d*Math.exp(t*P*x)]};else{var _=Math.sqrt(m),S=(h*h-d*d+r*m)/(2*d*n*_),C=(h*h-d*d-r*m)/(2*h*n*_),E=Math.log(Math.sqrt(S*S+1)-S),k=Math.log(Math.sqrt(C*C+1)-C);x=(k-E)/t,w=function(P){var V=P*x,B=Vy(E),I=d/(n*_)*(B*aG(t*V+E)-oG(E));return[l+I*g,u+I*v,d*B/Vy(t*V+E)]}}return w.duration=x*1e3*t/Math.SQRT2,w}return i.rho=function(o){var a=Math.max(.001,+o),l=a*a,u=l*l;return e(a,l,u)},i}(Math.SQRT2,2,4);var ki=0,Ao=0,Ro=0,zy=1e3,ys,Po,bs=0,Yr=0,xs=0,Io=typeof performance=="object"&&performance.now?performance:Date,Fy=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Tc(){return Yr||(Fy(lG),Yr=Io.now()+xs)}function lG(){Yr=0}function ws(){this._call=this._time=this._next=null}ws.prototype=By.prototype={constructor:ws,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?Tc():+n)+(t==null?0:+t),!this._next&&Po!==this&&(Po?Po._next=this:ys=this,Po=this),this._call=e,this._time=n,Mc()},stop:function(){this._call&&(this._call=null,this._time=1/0,Mc())}};function By(e,t,n){var r=new ws;return r.restart(e,t,n),r}function uG(){Tc(),++ki;for(var e=ys,t;e;)(t=Yr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ki}function Gy(){Yr=(bs=Io.now())+xs,ki=Ao=0;try{uG()}finally{ki=0,dG(),Yr=0}}function cG(){var e=Io.now(),t=e-bs;t>zy&&(xs-=t,bs=e)}function dG(){for(var e,t=ys,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:ys=n);Po=e,Mc(r)}function Mc(e){if(!ki){Ao&&(Ao=clearTimeout(Ao));var t=e-Yr;t>24?(e<1/0&&(Ao=setTimeout(Gy,e-Io.now()-xs)),Ro&&(Ro=clearInterval(Ro))):(Ro||(bs=Io.now(),Ro=setInterval(cG,zy)),ki=1,Fy(Gy))}}function jy(e,t,n){var r=new ws;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var fG=ls("start","end","cancel","interrupt"),pG=[],Ky=0,Wy=1,kc=2,Cs=3,qy=4,Dc=5,Ss=6;function _s(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;hG(e,n,{name:t,index:r,group:i,on:fG,tween:pG,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Ky})}function Oc(e,t){var n=Nn(e,t);if(n.state>Ky)throw new Error("too late; already scheduled");return n}function Un(e,t){var n=Nn(e,t);if(n.state>Cs)throw new Error("too late; already running");return n}function Nn(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function hG(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=By(o,0,n.time);function o(d){n.state=Wy,n.timer.restart(a,n.delay,n.time),n.delay<=d&&a(d-n.delay)}function a(d){var f,p,h,g;if(n.state!==Wy)return u();for(f in r)if(g=r[f],g.name===n.name){if(g.state===Cs)return jy(a);g.state===qy?(g.state=Ss,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete r[f]):+f<t&&(g.state=Ss,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete r[f])}if(jy(function(){n.state===Cs&&(n.state=qy,n.timer.restart(l,n.delay,n.time),l(d))}),n.state=kc,n.on.call("start",e,e.__data__,n.index,n.group),n.state===kc){for(n.state=Cs,i=new Array(h=n.tween.length),f=0,p=-1;f<h;++f)(g=n.tween[f].value.call(e,e.__data__,n.index,n.group))&&(i[++p]=g);i.length=p+1}}function l(d){for(var f=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(u),n.state=Dc,1),p=-1,h=i.length;++p<h;)i[p].call(e,f);n.state===Dc&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Ss,n.timer.stop(),delete r[t];for(var d in r)return;delete e.__transition}}function Es(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>kc&&r.state<Dc,r.state=Ss,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function gG(e){return this.each(function(){Es(this,e)})}function vG(e,t){var n,r;return function(){var i=Un(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,l=r.length;a<l;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function mG(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Un(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var l={name:t,value:n},u=0,d=i.length;u<d;++u)if(i[u].name===t){i[u]=l;break}u===d&&i.push(l)}o.tween=i}}function yG(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Nn(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?vG:mG)(n,e,t))}function Ac(e,t,n){var r=e._id;return e.each(function(){var i=Un(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Nn(i,r).value[t]}}function Hy(e,t){var n;return(typeof t=="number"?Ar:t instanceof Oo?Iy:(n=Oo(t))?(t=n,Iy):J5)(e,t)}function bG(e){return function(){this.removeAttribute(e)}}function xG(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wG(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 CG(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 SG(e,t,n){var r,i,o;return function(){var a,l=n(this),u;return l==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=l+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l)))}}function _G(e,t,n){var r,i,o;return function(){var a,l=n(this),u;return l==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=l+"",a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l)))}}function EG(e,t){var n=cs(e),r=n==="transform"?rG:Hy;return this.attrTween(e,typeof t=="function"?(n.local?_G:SG)(n,r,Ac(this,"attr."+e,t)):t==null?(n.local?xG:bG)(n):(n.local?CG:wG)(n,r,t))}function TG(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function MG(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function kG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&MG(e,o)),n}return i._value=t,i}function DG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&TG(e,o)),n}return i._value=t,i}function OG(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=cs(e);return this.tween(n,(r.local?kG:DG)(r,t))}function AG(e,t){return function(){Oc(this,e).delay=+t.apply(this,arguments)}}function RG(e,t){return t=+t,function(){Oc(this,e).delay=t}}function PG(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?AG:RG)(t,e)):Nn(this.node(),t).delay}function IG(e,t){return function(){Un(this,e).duration=+t.apply(this,arguments)}}function NG(e,t){return t=+t,function(){Un(this,e).duration=t}}function $G(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?IG:NG)(t,e)):Nn(this.node(),t).duration}function LG(e,t){if(typeof t!="function")throw new Error;return function(){Un(this,e).ease=t}}function VG(e){var t=this._id;return arguments.length?this.each(LG(t,e)):Nn(this.node(),t).ease}function zG(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Un(this,e).ease=n}}function FG(e){if(typeof e!="function")throw new Error;return this.each(zG(this._id,e))}function BG(e){typeof e!="function"&&(e=cy(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,l=r[i]=[],u,d=0;d<a;++d)(u=o[d])&&e.call(u,u.__data__,d,o)&&l.push(u);return new cr(r,this._parents,this._name,this._id)}function GG(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),l=0;l<o;++l)for(var u=t[l],d=n[l],f=u.length,p=a[l]=new Array(f),h,g=0;g<f;++g)(h=u[g]||d[g])&&(p[g]=h);for(;l<r;++l)a[l]=t[l];return new cr(a,this._parents,this._name,this._id)}function jG(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 KG(e,t,n){var r,i,o=jG(t)?Oc:Un;return function(){var a=o(this,e),l=a.on;l!==r&&(i=(r=l).copy()).on(t,n),a.on=i}}function WG(e,t){var n=this._id;return arguments.length<2?Nn(this.node(),n).on.on(e):this.each(KG(n,e,t))}function qG(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function HG(){return this.on("end.remove",qG(this._id))}function UG(e){var t=this._name,n=this._id;typeof e!="function"&&(e=vc(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var l=r[a],u=l.length,d=o[a]=new Array(u),f,p,h=0;h<u;++h)(f=l[h])&&(p=e.call(f,f.__data__,h,l))&&("__data__"in f&&(p.__data__=f.__data__),d[h]=p,_s(d[h],t,n,h,d,Nn(f,n)));return new cr(o,this._parents,t,n)}function YG(e){var t=this._name,n=this._id;typeof e!="function"&&(e=uy(e));for(var r=this._groups,i=r.length,o=[],a=[],l=0;l<i;++l)for(var u=r[l],d=u.length,f,p=0;p<d;++p)if(f=u[p]){for(var h=e.call(f,f.__data__,p,u),g,v=Nn(f,n),m=0,w=h.length;m<w;++m)(g=h[m])&&_s(g,t,n,m,h,v);o.push(h),a.push(f)}return new cr(o,a,t,n)}var XG=Eo.prototype.constructor;function QG(){return new XG(this._groups,this._parents)}function ZG(e,t){var n,r,i;return function(){var o=Ei(this,e),a=(this.style.removeProperty(e),Ei(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function Uy(e){return function(){this.style.removeProperty(e)}}function JG(e,t,n){var r,i=n+"",o;return function(){var a=Ei(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function ej(e,t,n){var r,i,o;return function(){var a=Ei(this,e),l=n(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(e),Ei(this,e))),a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,l))}}function tj(e,t){var n,r,i,o="style."+t,a="end."+o,l;return function(){var u=Un(this,e),d=u.on,f=u.value[o]==null?l||(l=Uy(t)):void 0;(d!==n||i!==f)&&(r=(n=d).copy()).on(a,i=f),u.on=r}}function nj(e,t,n){var r=(e+="")=="transform"?nG:Hy;return t==null?this.styleTween(e,ZG(e,r)).on("end.style."+e,Uy(e)):typeof t=="function"?this.styleTween(e,ej(e,r,Ac(this,"style."+e,t))).each(tj(this._id,e)):this.styleTween(e,JG(e,r,t),n).on("end.style."+e,null)}function rj(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function ij(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&rj(e,a,n)),r}return o._value=t,o}function oj(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,ij(e,t,n==null?"":n))}function aj(e){return function(){this.textContent=e}}function sj(e){return function(){var t=e(this);this.textContent=t==null?"":t}}function lj(e){return this.tween("text",typeof e=="function"?sj(Ac(this,"text",e)):aj(e==null?"":e+""))}function uj(e){return function(t){this.textContent=e.call(this,t)}}function cj(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&uj(i)),t}return r._value=e,r}function dj(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,cj(e))}function fj(){for(var e=this._name,t=this._id,n=Yy(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],l=a.length,u,d=0;d<l;++d)if(u=a[d]){var f=Nn(u,t);_s(u,e,n,d,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new cr(r,this._parents,e,n)}function pj(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var l={value:a},u={value:function(){--i===0&&o()}};n.each(function(){var d=Un(this,r),f=d.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(u)),d.on=t}),i===0&&o()})}var hj=0;function cr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Yy(){return++hj}var dr=Eo.prototype;cr.prototype={constructor:cr,select:UG,selectAll:YG,selectChild:dr.selectChild,selectChildren:dr.selectChildren,filter:BG,merge:GG,selection:QG,transition:fj,call:dr.call,nodes:dr.nodes,node:dr.node,size:dr.size,empty:dr.empty,each:dr.each,on:WG,attr:EG,attrTween:OG,style:nj,styleTween:oj,text:lj,textTween:dj,remove:HG,tween:yG,delay:PG,duration:$G,ease:VG,easeVarying:FG,end:pj,[Symbol.iterator]:dr[Symbol.iterator]};function gj(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var vj={time:null,delay:0,duration:250,ease:gj};function mj(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 yj(e){var t,n;e instanceof cr?(t=e._id,e=e._name):(t=Yy(),(n=vj).time=Tc(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],l=a.length,u,d=0;d<l;++d)(u=a[d])&&_s(u,e,t,d,a,n||mj(u,t));return new cr(r,this._parents,e,t)}Eo.prototype.interrupt=gG,Eo.prototype.transition=yj;const Ts=e=>()=>e;function bj(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 fr(e,t,n){this.k=e,this.x=t,this.y=n}fr.prototype={constructor:fr,scale:function(e){return e===1?this:new fr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new fr(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 pr=new fr(1,0,0);fr.prototype;function Rc(e){e.stopImmediatePropagation()}function No(e){e.preventDefault(),e.stopImmediatePropagation()}function xj(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function wj(){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 Xy(){return this.__zoom||pr}function Cj(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Sj(){return navigator.maxTouchPoints||"ontouchstart"in this}function _j(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 Qy(){var e=xj,t=wj,n=_j,r=Cj,i=Sj,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],l=250,u=sG,d=ls("start","zoom","end"),f,p,h,g=500,v=150,m=0,w=10;function x(M){M.property("__zoom",Xy).on("wheel.zoom",V,{passive:!1}).on("mousedown.zoom",B).on("dblclick.zoom",I).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(M,L,N,R){var G=M.selection?M.selection():M;G.property("__zoom",Xy),M!==G?E(M,L,N,R):G.interrupt().each(function(){k(this,arguments).event(R).start().zoom(null,typeof L=="function"?L.apply(this,arguments):L).end()})},x.scaleBy=function(M,L,N,R){x.scaleTo(M,function(){var G=this.__zoom.k,j=typeof L=="function"?L.apply(this,arguments):L;return G*j},N,R)},x.scaleTo=function(M,L,N,R){x.transform(M,function(){var G=t.apply(this,arguments),j=this.__zoom,K=N==null?C(G):typeof N=="function"?N.apply(this,arguments):N,q=j.invert(K),ne=typeof L=="function"?L.apply(this,arguments):L;return n(S(_(j,ne),K,q),G,a)},N,R)},x.translateBy=function(M,L,N,R){x.transform(M,function(){return n(this.__zoom.translate(typeof L=="function"?L.apply(this,arguments):L,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),a)},null,R)},x.translateTo=function(M,L,N,R,G){x.transform(M,function(){var j=t.apply(this,arguments),K=this.__zoom,q=R==null?C(j):typeof R=="function"?R.apply(this,arguments):R;return n(pr.translate(q[0],q[1]).scale(K.k).translate(typeof L=="function"?-L.apply(this,arguments):-L,typeof N=="function"?-N.apply(this,arguments):-N),j,a)},R,G)};function _(M,L){return L=Math.max(o[0],Math.min(o[1],L)),L===M.k?M:new fr(L,M.x,M.y)}function S(M,L,N){var R=L[0]-N[0]*M.k,G=L[1]-N[1]*M.k;return R===M.x&&G===M.y?M:new fr(M.k,R,G)}function C(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function E(M,L,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 G=this,j=arguments,K=k(G,j).event(R),q=t.apply(G,j),ne=N==null?C(q):typeof N=="function"?N.apply(G,j):N,ie=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),Y=G.__zoom,Z=typeof L=="function"?L.apply(G,j):L,de=u(Y.invert(ne).concat(ie/Y.k),Z.invert(ne).concat(ie/Z.k));return function(ce){if(ce===1)ce=Z;else{var ue=de(ce),le=ie/ue[2];ce=new fr(le,ne[0]-ue[0]*le,ne[1]-ue[1]*le)}K.zoom(null,ce)}})}function k(M,L,N){return!N&&M.__zooming||new P(M,L)}function P(M,L){this.that=M,this.args=L,this.active=0,this.sourceEvent=null,this.extent=t.apply(M,L),this.taps=0}P.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,L){return this.mouse&&M!=="mouse"&&(this.mouse[1]=L.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=L.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=L.invert(this.touch1[0])),this.that.__zoom=L,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var L=Dn(this.that).datum();d.call(M,this.that,new bj(M,{sourceEvent:this.sourceEvent,target:x,type:M,transform:this.that.__zoom,dispatch:d}),L)}};function V(M,...L){if(!e.apply(this,arguments))return;var N=k(this,L).event(M),R=this.__zoom,G=Math.max(o[0],Math.min(o[1],R.k*Math.pow(2,r.apply(this,arguments)))),j=Pn(M);if(N.wheel)(N.mouse[0][0]!==j[0]||N.mouse[0][1]!==j[1])&&(N.mouse[1]=R.invert(N.mouse[0]=j)),clearTimeout(N.wheel);else{if(R.k===G)return;N.mouse=[j,R.invert(j)],Es(this),N.start()}No(M),N.wheel=setTimeout(K,v),N.zoom("mouse",n(S(_(R,G),N.mouse[0],N.mouse[1]),N.extent,a));function K(){N.wheel=null,N.end()}}function B(M,...L){if(h||!e.apply(this,arguments))return;var N=M.currentTarget,R=k(this,L,!0).event(M),G=Dn(M.view).on("mousemove.zoom",ne,!0).on("mouseup.zoom",ie,!0),j=Pn(M,N),K=M.clientX,q=M.clientY;xy(M.view),Rc(M),R.mouse=[j,this.__zoom.invert(j)],Es(this),R.start();function ne(Y){if(No(Y),!R.moved){var Z=Y.clientX-K,de=Y.clientY-q;R.moved=Z*Z+de*de>m}R.event(Y).zoom("mouse",n(S(R.that.__zoom,R.mouse[0]=Pn(Y,N),R.mouse[1]),R.extent,a))}function ie(Y){G.on("mousemove.zoom mouseup.zoom",null),wy(Y.view,R.moved),No(Y),R.event(Y).end()}}function I(M,...L){if(!!e.apply(this,arguments)){var N=this.__zoom,R=Pn(M.changedTouches?M.changedTouches[0]:M,this),G=N.invert(R),j=N.k*(M.shiftKey?.5:2),K=n(S(_(N,j),R,G),t.apply(this,L),a);No(M),l>0?Dn(this).transition().duration(l).call(E,K,R,M):Dn(this).call(x.transform,K,R,M)}}function A(M,...L){if(!!e.apply(this,arguments)){var N=M.touches,R=N.length,G=k(this,L,M.changedTouches.length===R).event(M),j,K,q,ne;for(Rc(M),K=0;K<R;++K)q=N[K],ne=Pn(q,this),ne=[ne,this.__zoom.invert(ne),q.identifier],G.touch0?!G.touch1&&G.touch0[2]!==ne[2]&&(G.touch1=ne,G.taps=0):(G.touch0=ne,j=!0,G.taps=1+!!f);f&&(f=clearTimeout(f)),j&&(G.taps<2&&(p=ne[0],f=setTimeout(function(){f=null},g)),Es(this),G.start())}}function $(M,...L){if(!!this.__zooming){var N=k(this,L).event(M),R=M.changedTouches,G=R.length,j,K,q,ne;for(No(M),j=0;j<G;++j)K=R[j],q=Pn(K,this),N.touch0&&N.touch0[2]===K.identifier?N.touch0[0]=q:N.touch1&&N.touch1[2]===K.identifier&&(N.touch1[0]=q);if(K=N.that.__zoom,N.touch1){var ie=N.touch0[0],Y=N.touch0[1],Z=N.touch1[0],de=N.touch1[1],ce=(ce=Z[0]-ie[0])*ce+(ce=Z[1]-ie[1])*ce,ue=(ue=de[0]-Y[0])*ue+(ue=de[1]-Y[1])*ue;K=_(K,Math.sqrt(ce/ue)),q=[(ie[0]+Z[0])/2,(ie[1]+Z[1])/2],ne=[(Y[0]+de[0])/2,(Y[1]+de[1])/2]}else if(N.touch0)q=N.touch0[0],ne=N.touch0[1];else return;N.zoom("touch",n(S(K,q,ne),N.extent,a))}}function F(M,...L){if(!!this.__zooming){var N=k(this,L).event(M),R=M.changedTouches,G=R.length,j,K;for(Rc(M),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),j=0;j<G;++j)K=R[j],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=Pn(K,this),Math.hypot(p[0]-K[0],p[1]-K[1])<w)){var q=Dn(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return x.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:Ts(+M),x):r},x.filter=function(M){return arguments.length?(e=typeof M=="function"?M:Ts(!!M),x):e},x.touchable=function(M){return arguments.length?(i=typeof M=="function"?M:Ts(!!M),x):i},x.extent=function(M){return arguments.length?(t=typeof M=="function"?M:Ts([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),x):t},x.scaleExtent=function(M){return arguments.length?(o[0]=+M[0],o[1]=+M[1],x):[o[0],o[1]]},x.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],x):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},x.constrain=function(M){return arguments.length?(n=M,x):n},x.duration=function(M){return arguments.length?(l=+M,x):l},x.interpolate=function(M){return arguments.length?(u=M,x):u},x.on=function(){var M=d.on.apply(d,arguments);return M===d?x:M},x.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,x):Math.sqrt(m)},x.tapDistance=function(M){return arguments.length?(w=+M,x):w},x}const Ms=b.createContext(null),Ej=Ms.Provider,Yn={"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".`},Zy=Yn["001"]();function Dt(e,t){const n=b.useContext(Ms);if(n===null)throw new Error(Zy);return HB(n,e,t)}const Ht=()=>{const e=b.useContext(Ms);if(e===null)throw new Error(Zy);return b.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},Tj=e=>e.userSelectionActive?"none":"all";function Pc({position:e,children:t,className:n,style:r,...i}){const o=Dt(Tj),a=`${e}`.split("-");return s("div",{className:en(["react-flow__panel",n,...a]),style:{...r,pointerEvents:o},...i,children:t})}function Mj({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:s(Pc,{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:s("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const kj=({x:e,y:t,label:n,labelStyle:r={},labelShowBg:i=!0,labelBgStyle:o={},labelBgPadding:a=[2,4],labelBgBorderRadius:l=2,children:u,className:d,...f})=>{const p=b.useRef(null),[h,g]=b.useState({x:0,y:0,width:0,height:0}),v=en(["react-flow__edge-textwrapper",d]);return b.useEffect(()=>{if(p.current){const m=p.current.getBBox();g({x:m.x,y:m.y,width:m.width,height:m.height})}},[n]),typeof n>"u"||!n?null:y("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:v,visibility:h.width?"visible":"hidden",...f,children:[i&&s("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:l,ry:l}),s("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:p,style:r,children:n}),u]})};var Dj=b.memo(kj);const Ic=e=>({width:e.offsetWidth,height:e.offsetHeight}),Di=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Nc=(e={x:0,y:0},t)=>({x:Di(e.x,t[0][0],t[1][0]),y:Di(e.y,t[0][1],t[1][1])}),Jy=(e,t,n)=>e<t?Di(Math.abs(e-t),1,50)/50:e>n?-Di(Math.abs(e-n),1,50)/50:0,eb=(e,t)=>{const n=Jy(e.x,35,t.width-35)*20,r=Jy(e.y,35,t.height-35)*20;return[n,r]},tb=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},nb=(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)}),ks=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),rb=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),ib=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),Oj=(e,t)=>rb(nb(ks(e),ks(t))),$c=(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)},Aj=e=>On(e.width)&&On(e.height)&&On(e.x)&&On(e.y),On=e=>!isNaN(e)&&isFinite(e),Kt=Symbol.for("internals"),ob=["Enter"," ","Escape"],Lc=(e,t)=>{process.env.NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},Rj=e=>"nativeEvent"in e;function Vc(e){var r,i;const t=Rj(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 ab=e=>"clientX"in e,Rr=(e,t)=>{var o,a,l,u;const n=ab(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-((l=t==null?void 0:t.left)!=null?l:0),y:i-((u=t==null?void 0:t.top)!=null?u:0)}},$o=({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u,style:d,markerEnd:f,markerStart:p,interactionWidth:h=20})=>y(be,{children:[s("path",{style:d,d:e,fill:"none",className:"react-flow__edge-path",markerEnd:f,markerStart:p}),h&&s("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),r&&On(t)&&On(n)?s(Dj,{x:t,y:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:l,labelBgBorderRadius:u}):null]});$o.displayName="BaseEdge";function Lo(e,t,n){return n===void 0?n:r=>{const i=t().edges.find(o=>o.id===e);i&&n(r,{...i})}}function sb({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,l=r<t?r+a:r-a;return[o,l,i,a]}function lb({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:l}){const u=e*.125+i*.375+a*.375+n*.125,d=t*.125+o*.375+l*.375+r*.125,f=Math.abs(u-e),p=Math.abs(d-t);return[u,d,f,p]}var Xr;(function(e){e.Strict="strict",e.Loose="loose"})(Xr||(Xr={}));var Oi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Oi||(Oi={}));var Vo;(function(e){e.Partial="partial",e.Full="full"})(Vo||(Vo={}));var Pr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Pr||(Pr={}));var Ds;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ds||(Ds={}));var De;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(De||(De={}));function ub({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===De.Left||e===De.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function cb({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top}){const[a,l]=ub({pos:n,x1:e,y1:t,x2:r,y2:i}),[u,d]=ub({pos:o,x1:r,y1:i,x2:e,y2:t}),[f,p,h,g]=lb({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${a},${l} ${u},${d} ${r},${i}`,f,p,h,g]}const zc=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=De.Bottom,targetPosition:o=De.Top,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:m})=>{const[w,x,_]=cb({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o});return s($o,{path:w,labelX:x,labelY:_,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:m})});zc.displayName="SimpleBezierEdge";const db={[De.Left]:{x:-1,y:0},[De.Right]:{x:1,y:0},[De.Top]:{x:0,y:-1},[De.Bottom]:{x:0,y:1}},Pj=({source:e,sourcePosition:t=De.Bottom,target:n})=>t===De.Left||t===De.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},fb=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function Ij({source:e,sourcePosition:t=De.Bottom,target:n,targetPosition:r=De.Top,center:i,offset:o}){const a=db[t],l=db[r],u={x:e.x+a.x*o,y:e.y+a.y*o},d={x:n.x+l.x*o,y:n.y+l.y*o},f=Pj({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let g=[],v,m;const[w,x,_,S]=sb({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(a[p]*l[p]===-1){v=i.x||w,m=i.y||x;const E=[{x:v,y:u.y},{x:v,y:d.y}],k=[{x:u.x,y:m},{x:d.x,y:m}];a[p]===h?g=p==="x"?E:k:g=p==="x"?k:E}else{const E=[{x:u.x,y:d.y}],k=[{x:d.x,y:u.y}];if(p==="x"?g=a.x===h?k:E:g=a.y===h?E:k,t!==r){const P=p==="x"?"y":"x",V=a[p]===l[P],B=u[P]>d[P],I=u[P]<d[P];(a[p]===1&&(!V&&B||V&&I)||a[p]!==1&&(!V&&I||V&&B))&&(g=p==="x"?E:k)}v=g[0].x,m=g[0].y}return[[e,u,...g,d,n],v,m,_,S]}function Nj(e,t,n,r){const i=Math.min(fb(e,t)/2,fb(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 d=e.x<n.x?-1:1,f=e.y<n.y?1:-1;return`L ${o+i*d},${a}Q ${o},${a} ${o},${a+i*f}`}const l=e.x<n.x?1:-1,u=e.y<n.y?-1:1;return`L ${o},${a+i*u}Q ${o},${a} ${o+i*l},${a}`}function Fc({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top,borderRadius:a=5,centerX:l,centerY:u,offset:d=20}){const[f,p,h,g,v]=Ij({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:o,center:{x:l,y:u},offset:d});return[f.reduce((w,x,_)=>{let S="";return _>0&&_<f.length-1?S=Nj(f[_-1],x,f[_+1],a):S=`${_===0?"M":"L"}${x.x} ${x.y}`,w+=S,w},""),p,h,g,v]}const Os=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,sourcePosition:p=De.Bottom,targetPosition:h=De.Top,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[x,_,S]=Fc({sourceX:e,sourceY:t,sourcePosition:p,targetX:n,targetY:r,targetPosition:h,borderRadius:m==null?void 0:m.borderRadius,offset:m==null?void 0:m.offset});return s($o,{path:x,labelX:_,labelY:S,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:g,markerStart:v,interactionWidth:w})});Os.displayName="SmoothStepEdge";const Bc=b.memo(e=>{var t;return s(Os,{...e,pathOptions:b.useMemo(()=>{var n;return{borderRadius:0,offset:(n=e.pathOptions)==null?void 0:n.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Bc.displayName="StepEdge";function $j({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,l]=sb({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,l]}const Gc=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})=>{const[v,m,w]=$j({sourceX:e,sourceY:t,targetX:n,targetY:r});return s($o,{path:v,labelX:m,labelY:w,label:i,labelStyle:o,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:d,style:f,markerEnd:p,markerStart:h,interactionWidth:g})});Gc.displayName="StraightEdge";function As(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function pb({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case De.Left:return[t-As(t-r,o),n];case De.Right:return[t+As(r-t,o),n];case De.Top:return[t,n-As(n-i,o)];case De.Bottom:return[t,n+As(i-n,o)]}}function hb({sourceX:e,sourceY:t,sourcePosition:n=De.Bottom,targetX:r,targetY:i,targetPosition:o=De.Top,curvature:a=.25}){const[l,u]=pb({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[d,f]=pb({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[p,h,g,v]=lb({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:l,sourceControlY:u,targetControlX:d,targetControlY:f});return[`M${e},${t} C${l},${u} ${d},${f} ${r},${i}`,p,h,g,v]}const Rs=b.memo(({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i=De.Bottom,targetPosition:o=De.Top,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,pathOptions:m,interactionWidth:w})=>{const[x,_,S]=hb({sourceX:e,sourceY:t,sourcePosition:i,targetX:n,targetY:r,targetPosition:o,curvature:m==null?void 0:m.curvature});return s($o,{path:x,labelX:_,labelY:S,label:a,labelStyle:l,labelShowBg:u,labelBgStyle:d,labelBgPadding:f,labelBgBorderRadius:p,style:h,markerEnd:g,markerStart:v,interactionWidth:w})});Rs.displayName="BezierEdge";const jc=b.createContext(null),Lj=jc.Provider;jc.Consumer;const Vj=()=>b.useContext(jc),zj=e=>"id"in e&&"source"in e&&"target"in e,Fj=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`reactflow__edge-${e}${t||""}-${n}${r||""}`,Kc=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`,Bj=(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)),Gj=(e,t)=>{if(!e.source||!e.target)return Lc("006",Yn["006"]()),t;let n;return zj(e)?n={...e}:n={...e,id:Fj(e)},Bj(n,t)?t:t.concat(n)},gb=({x:e,y:t},[n,r,i],o,[a,l])=>{const u={x:(e-n)/i,y:(t-r)/i};return o?{x:a*Math.round(u.x/a),y:l*Math.round(u.y/l)}:u},jj=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r}),Qr=(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}},Wc=(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}=Qr(i,t).positionAbsolute;return nb(r,ks({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 rb(n)},vb=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1,l=[0,0])=>{const u={x:(t.x-n)/i,y:(t.y-r)/i,width:t.width/i,height:t.height/i},d=[];return e.forEach(f=>{const{width:p,height:h,selectable:g=!0,hidden:v=!1}=f;if(a&&!g||v)return!1;const{positionAbsolute:m}=Qr(f,l),w={x:m.x,y:m.y,width:p||0,height:h||0},x=$c(u,w),_=typeof p>"u"||typeof h>"u"||p===null||h===null,S=o&&x>0,C=(p||0)*(h||0);(_||S||x>=C||f.dragging)&&d.push(f)}),d},mb=(e,t)=>{const n=e.map(r=>r.id);return t.filter(r=>n.includes(r.source)||n.includes(r.target))},yb=(e,t,n,r,i,o=.1)=>{const a=t/(e.width*(1+o)),l=n/(e.height*(1+o)),u=Math.min(a,l),d=Di(u,r,i),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,g=n/2-p*d;return[h,g,d]},Zr=(e,t=0)=>e.transition().duration(t);function bb(e,t,n,r){return(t[n]||[]).reduce((i,o)=>{var a,l,u,d;return`${e.id}-${o.id}-${n}`!==r&&i.push({id:o.id||null,type:n,nodeId:e.id,x:((l=(a=e.positionAbsolute)==null?void 0:a.x)!=null?l:0)+o.x+o.width/2,y:((d=(u=e.positionAbsolute)==null?void 0:u.y)!=null?d:0)+o.y+o.height/2}),i},[])}function Kj(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 Wj={source:null,target:null,sourceHandle:null,targetHandle:null};function xb(e,t,n,r,i,o,a,l){const u=o==="target",d=l.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:p}=Rr(e),h=l.elementFromPoint(f,p),g=h!=null&&h.classList.contains("react-flow__handle")?h:d,v={handleDomNode:g,isValid:!1,connection:Wj};if(g){const m=wb(void 0,g),w=g.getAttribute("data-nodeid"),x=g.getAttribute("data-handleid"),_={source:u?w:r,sourceHandle:u?x:i,target:u?r:w,targetHandle:u?i:x};v.connection=_,(n===Xr.Strict?u&&m==="source"||!u&&m==="target":w!==r||x!==i)&&(v.isValid=a(_))}return v}function qj({nodes:e,nodeId:t,handleId:n,handleType:r}){return e.reduce((i,o)=>{if(o[Kt]){const{handleBounds:a}=o[Kt];let l=[],u=[];a&&(l=bb(o,a,"source",`${t}-${n}-${r}`),u=bb(o,a,"target",`${t}-${n}-${r}`)),i.push(...l,...u)}return i},[])}function wb(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function qc(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function Hj(e,t){let n=null;return t?n="valid":e&&!t&&(n="invalid"),n}function Cb({event:e,handleId:t,nodeId:n,onConnect:r,isTarget:i,getState:o,setState:a,isValidConnection:l,edgeUpdaterType:u,onEdgeUpdateEnd:d}){const f=tb(e.target),{connectionMode:p,domNode:h,autoPanOnConnect:g,connectionRadius:v,onConnectStart:m,panBy:w,getNodes:x,cancelConnection:_}=o();let S=0,C;const{x:E,y:k}=Rr(e),P=f==null?void 0:f.elementFromPoint(E,k),V=wb(u,P),B=h==null?void 0:h.getBoundingClientRect();if(!B||!V)return;let I,A=Rr(e,B),$=!1,F=null,M=!1;const L=qj({nodes:x(),nodeId:n,handleId:t,handleType:V}),N=()=>{if(!g)return;const[j,K]=eb(A,B);w({x:j,y:K}),S=requestAnimationFrame(N)};a({connectionPosition:A,connectionNodeId:n,connectionHandleId:t,connectionHandleType:V,connectionStatus:null}),m==null||m(e,{nodeId:n,handleId:t,handleType:V});function R(j){const{transform:K}=o();A=Rr(j,B),C=Kj(gb(A,K,!1,[1,1]),v,L),$||(N(),$=!0);const{handleDomNode:q,...ne}=xb(j,C,p,n,t,i?"target":"source",l,f);if(a({connectionPosition:C&&ne.isValid?jj({x:C.x,y:C.y},K):A,connectionStatus:Hj(!!C,ne.isValid)}),!C&&!ne.isValid)return qc(I);F=ne.connection,M=ne.isValid,F.source!==F.target&&q&&(qc(I),I=q,q.classList.add("connecting","react-flow__handle-connecting"),q.classList.toggle("valid",M),q.classList.toggle("react-flow__handle-valid",M))}function G(j){var K,q;F&&M&&C&&(r==null||r(F)),(q=(K=o()).onConnectEnd)==null||q.call(K,j),u&&(d==null||d(j)),qc(I),_(),cancelAnimationFrame(S),$=!1,M=!1,F=null,C=null,f.removeEventListener("mousemove",R),f.removeEventListener("mouseup",G),f.removeEventListener("touchmove",R),f.removeEventListener("touchend",G)}f.addEventListener("mousemove",R),f.addEventListener("mouseup",G),f.addEventListener("touchmove",R),f.addEventListener("touchend",G)}const Uj=()=>!0,Yj=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),Sb=b.forwardRef(({type:e="source",position:t=De.Top,isValidConnection:n=Uj,isConnectable:r=!0,id:i,onConnect:o,children:a,className:l,onMouseDown:u,onTouchStart:d,...f},p)=>{var k,P;const h=Ht(),g=Vj();if(!g)return(P=(k=h.getState()).onError)==null||P.call(k,"010",Yn["010"]()),null;const{connectionStartHandle:v,connectOnClick:m,noPanClassName:w}=Dt(Yj,rn),x=i||null,_=e==="target",S=V=>{const{defaultEdgeOptions:B,onConnect:I,hasDefaultEdges:A}=h.getState(),$={...B,...V};if(A){const{edges:F}=h.getState();h.setState({edges:Gj($,F)})}I==null||I($),o==null||o($)},C=V=>{const B=ab(V);(B&&V.button===0||!B)&&Cb({event:V,handleId:x,nodeId:g,onConnect:S,isTarget:_,getState:h.getState,setState:h.setState,isValidConnection:n}),B?u==null||u(V):d==null||d(V)},E=V=>{const{onClickConnectStart:B,onClickConnectEnd:I,connectionMode:A}=h.getState();if(!v){B==null||B(V,{nodeId:g,handleId:x,handleType:e}),h.setState({connectionStartHandle:{nodeId:g,type:e,handleId:x}});return}const $=tb(V.target),{connection:F,isValid:M}=xb(V,{nodeId:g,id:x,type:e},A,v.nodeId,v.handleId||null,v.type,n,$);M&&S(F),I==null||I(V),h.setState({connectionStartHandle:null})};return s("div",{"data-handleid":x,"data-nodeid":g,"data-handlepos":t,"data-id":`${g}-${x}-${e}`,className:en(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,l,{source:!_,target:_,connectable:r,connecting:(v==null?void 0:v.nodeId)===g&&(v==null?void 0:v.handleId)===x&&(v==null?void 0:v.type)===e}]),onMouseDown:C,onTouchStart:C,onClick:m?E:void 0,ref:p,...f,children:a})});Sb.displayName="Handle";var Ai=b.memo(Sb);const _b=({data:e,isConnectable:t,targetPosition:n=De.Top,sourcePosition:r=De.Bottom})=>y(be,{children:[s(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label,s(Ai,{type:"source",position:r,isConnectable:t})]});_b.displayName="DefaultNode";var Hc=b.memo(_b);const Eb=({data:e,isConnectable:t,sourcePosition:n=De.Bottom})=>y(be,{children:[e==null?void 0:e.label,s(Ai,{type:"source",position:n,isConnectable:t})]});Eb.displayName="InputNode";var Tb=b.memo(Eb);const Mb=({data:e,isConnectable:t,targetPosition:n=De.Top})=>y(be,{children:[s(Ai,{type:"target",position:n,isConnectable:t}),e==null?void 0:e.label]});Mb.displayName="OutputNode";var kb=b.memo(Mb);const Uc=()=>null;Uc.displayName="GroupNode";const Xj=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected)}),Ps=e=>e.id;function Qj(e,t){return rn(e.selectedNodes.map(Ps),t.selectedNodes.map(Ps))&&rn(e.selectedEdges.map(Ps),t.selectedEdges.map(Ps))}const Db=b.memo(({onSelectionChange:e})=>{const t=Ht(),{selectedNodes:n,selectedEdges:r}=Dt(Xj,Qj);return b.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});Db.displayName="SelectionListener";const Zj=e=>!!e.onSelectionChange;function Jj({onSelectionChange:e}){const t=Dt(Zj);return e||t?s(Db,{onSelectionChange:e}):null}const e6=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 Ri(e,t){b.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function st(e,t,n){b.useEffect(()=>{typeof t<"u"&&n({[e]:t})},[t])}const t6=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:i,onConnectStart:o,onConnectEnd:a,onClickConnectStart:l,onClickConnectEnd:u,nodesDraggable:d,nodesConnectable:f,nodesFocusable:p,edgesFocusable:h,elevateNodesOnSelect:g,minZoom:v,maxZoom:m,nodeExtent:w,onNodesChange:x,onEdgesChange:_,elementsSelectable:S,connectionMode:C,snapGrid:E,snapToGrid:k,translateExtent:P,connectOnClick:V,defaultEdgeOptions:B,fitView:I,fitViewOptions:A,onNodesDelete:$,onEdgesDelete:F,onNodeDrag:M,onNodeDragStart:L,onNodeDragStop:N,onSelectionDrag:R,onSelectionDragStart:G,onSelectionDragStop:j,noPanClassName:K,nodeOrigin:q,rfId:ne,autoPanOnConnect:ie,autoPanOnNodeDrag:Y,onError:Z,connectionRadius:de})=>{const{setNodes:ce,setEdges:ue,setDefaultNodesAndEdges:le,setMinZoom:Ce,setMaxZoom:xe,setTranslateExtent:X,setNodeExtent:oe,reset:Se}=Dt(e6,rn),U=Ht();return b.useEffect(()=>{const we=r==null?void 0:r.map(ve=>({...ve,...B}));return le(n,we),()=>{Se()}},[]),st("defaultEdgeOptions",B,U.setState),st("connectionMode",C,U.setState),st("onConnect",i,U.setState),st("onConnectStart",o,U.setState),st("onConnectEnd",a,U.setState),st("onClickConnectStart",l,U.setState),st("onClickConnectEnd",u,U.setState),st("nodesDraggable",d,U.setState),st("nodesConnectable",f,U.setState),st("nodesFocusable",p,U.setState),st("edgesFocusable",h,U.setState),st("elementsSelectable",S,U.setState),st("elevateNodesOnSelect",g,U.setState),st("snapToGrid",k,U.setState),st("snapGrid",E,U.setState),st("onNodesChange",x,U.setState),st("onEdgesChange",_,U.setState),st("connectOnClick",V,U.setState),st("fitViewOnInit",I,U.setState),st("fitViewOnInitOptions",A,U.setState),st("onNodesDelete",$,U.setState),st("onEdgesDelete",F,U.setState),st("onNodeDrag",M,U.setState),st("onNodeDragStart",L,U.setState),st("onNodeDragStop",N,U.setState),st("onSelectionDrag",R,U.setState),st("onSelectionDragStart",G,U.setState),st("onSelectionDragStop",j,U.setState),st("noPanClassName",K,U.setState),st("nodeOrigin",q,U.setState),st("rfId",ne,U.setState),st("autoPanOnConnect",ie,U.setState),st("autoPanOnNodeDrag",Y,U.setState),st("onError",Z,U.setState),st("connectionRadius",de,U.setState),Ri(e,ce),Ri(t,ue),Ri(v,Ce),Ri(m,xe),Ri(P,X),Ri(w,oe),null},Ob={display:"none"},n6={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ab="react-flow__node-desc",Rb="react-flow__edge-desc",r6="react-flow__aria-live",i6=e=>e.ariaLiveMessage;function o6({rfId:e}){const t=Dt(i6);return s("div",{id:`${r6}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:n6,children:t})}function a6({rfId:e,disableKeyboardA11y:t}){return y(be,{children:[y("div",{id:`${Ab}-${e}`,style:Ob,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."," "]}),s("div",{id:`${Rb}-${e}`,style:Ob,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!t&&s(o6,{rfId:e})]})}const s6=(e,t,n)=>n===De.Left?e-t:n===De.Right?e+t:e,l6=(e,t,n)=>n===De.Top?e-t:n===De.Bottom?e+t:e,Pb="react-flow__edgeupdater",Ib=({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:l})=>s("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:en([Pb,`${Pb}-${l}`]),cx:s6(t,r,e),cy:l6(n,r,e),r,stroke:"transparent",fill:"transparent"});var Pi=e=>{const t=({id:n,className:r,type:i,data:o,onClick:a,onEdgeDoubleClick:l,selected:u,animated:d,label:f,labelStyle:p,labelShowBg:h,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,style:w,source:x,target:_,sourceX:S,sourceY:C,targetX:E,targetY:k,sourcePosition:P,targetPosition:V,elementsSelectable:B,hidden:I,sourceHandleId:A,targetHandleId:$,onContextMenu:F,onMouseEnter:M,onMouseMove:L,onMouseLeave:N,edgeUpdaterRadius:R,onEdgeUpdate:G,onEdgeUpdateStart:j,onEdgeUpdateEnd:K,markerEnd:q,markerStart:ne,rfId:ie,ariaLabel:Y,isFocusable:Z,pathOptions:de,interactionWidth:ce})=>{const ue=b.useRef(null),[le,Ce]=b.useState(!1),[xe,X]=b.useState(!1),oe=Ht(),Se=b.useMemo(()=>`url(#${Kc(ne,ie)})`,[ne,ie]),U=b.useMemo(()=>`url(#${Kc(q,ie)})`,[q,ie]);if(I)return null;const we=Ue=>{const{edges:ut,addSelectedEdges:_e}=oe.getState();if(B&&(oe.setState({nodesSelectionActive:!1}),_e([n])),a){const $e=ut.find(rt=>rt.id===n);a(Ue,$e)}},ve=Lo(n,oe.getState,l),Ee=Lo(n,oe.getState,F),Oe=Lo(n,oe.getState,M),ge=Lo(n,oe.getState,L),qe=Lo(n,oe.getState,N),Ne=(Ue,ut)=>{const _e=ut?_:x,$e=(ut?$:A)||null,rt=ut?"target":"source",Ot=()=>!0,ct=ut,At=oe.getState().edges.find(Rt=>Rt.id===n);X(!0),j==null||j(Ue,At,rt);const ft=Rt=>{X(!1),K==null||K(Rt,At,rt)};Cb({event:Ue,handleId:$e,nodeId:_e,onConnect:Rt=>G==null?void 0:G(At,Rt),isTarget:ct,getState:oe.getState,setState:oe.setState,isValidConnection:Ot,edgeUpdaterType:rt,onEdgeUpdateEnd:ft})},Je=Ue=>Ne(Ue,!0),Te=Ue=>Ne(Ue,!1),Ge=()=>Ce(!0),Ve=()=>Ce(!1),Fe=!B&&!a,dt=typeof G<"u",lt=Ue=>{var ut;if(ob.includes(Ue.key)&&B){const{unselectNodesAndEdges:_e,addSelectedEdges:$e,edges:rt}=oe.getState();Ue.key==="Escape"?((ut=ue.current)==null||ut.blur(),_e({edges:[rt.find(ct=>ct.id===n)]})):$e([n])}};return y("g",{className:en(["react-flow__edge",`react-flow__edge-${i}`,r,{selected:u,animated:d,inactive:Fe,updating:le}]),onClick:we,onDoubleClick:ve,onContextMenu:Ee,onMouseEnter:Oe,onMouseMove:ge,onMouseLeave:qe,onKeyDown:Z?lt:void 0,tabIndex:Z?0:void 0,role:Z?"button":void 0,"data-testid":`rf__edge-${n}`,"aria-label":Y===null?void 0:Y||`Edge from ${x} to ${_}`,"aria-describedby":Z?`${Rb}-${ie}`:void 0,ref:ue,children:[!xe&&s(e,{id:n,source:x,target:_,selected:u,animated:d,label:f,labelStyle:p,labelShowBg:h,labelBgStyle:g,labelBgPadding:v,labelBgBorderRadius:m,data:o,style:w,sourceX:S,sourceY:C,targetX:E,targetY:k,sourcePosition:P,targetPosition:V,sourceHandleId:A,targetHandleId:$,markerStart:Se,markerEnd:U,pathOptions:de,interactionWidth:ce}),dt&&y(be,{children:[s(Ib,{position:P,centerX:S,centerY:C,radius:R,onMouseDown:Je,onMouseEnter:Ge,onMouseOut:Ve,type:"source"}),s(Ib,{position:V,centerX:E,centerY:k,radius:R,onMouseDown:Te,onMouseEnter:Ge,onMouseOut:Ve,type:"target"})]})]})};return t.displayName="EdgeWrapper",b.memo(t)};function u6(e){const t={default:Pi(e.default||Rs),straight:Pi(e.bezier||Gc),step:Pi(e.step||Bc),smoothstep:Pi(e.step||Os),simplebezier:Pi(e.simplebezier||zc)},n={},r=Object.keys(e).filter(i=>!["default","bezier"].includes(i)).reduce((i,o)=>(i[o]=Pi(e[o]||Rs),i),n);return{...t,...r}}function Nb(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 De.Top:return{x:r+o/2,y:i};case De.Right:return{x:r+o,y:i+a/2};case De.Bottom:return{x:r+o/2,y:i+a};case De.Left:return{x:r,y:i+a/2}}}function $b(e,t){return e?t?e.find(n=>n.id===t):e.length===1?e[0]:null:null}const c6=(e,t,n,r,i,o)=>{const a=Nb(n,e,t),l=Nb(o,r,i);return{sourceX:a.x,sourceY:a.y,targetX:l.x,targetY:l.y}};function d6({sourcePos:e,targetPos:t,sourceWidth:n,sourceHeight:r,targetWidth:i,targetHeight:o,width:a,height:l,transform:u}){const d={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)};d.x===d.x2&&(d.x2+=1),d.y===d.y2&&(d.y2+=1);const f=ks({x:(0-u[0])/u[2],y:(0-u[1])/u[2],width:a/u[2],height:l/u[2]}),p=Math.max(0,Math.min(f.x2,d.x2)-Math.max(f.x,d.x)),h=Math.max(0,Math.min(f.y2,d.y2)-Math.max(f.y,d.y));return Math.ceil(p*h)>0}function Lb(e){var r,i,o,a,l;const t=((r=e==null?void 0:e[Kt])==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:((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.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 zb(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 f6(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,l,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=(l=i.positionAbsolute)==null?void 0:l.y)!=null?u:0)},delta:{x:0,y:0},extent:i.extent,parentNode:i.parentNode,width:i.width,height:i.height}})}function Fb(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 d=n.get(e.parentNode),{x:f,y:p}=Qr(d,i).positionAbsolute;a=d&&On(f)&&On(p)&&On(d.width)&&On(d.height)?[[f+e.width*i[0],p+e.height*i[1]],[f+d.width-e.width+e.width*i[0],p+d.height-e.height+e.height*i[1]]]:a}else o==null||o("005",Yn["005"]()),a=r;else if(e.extent&&e.parentNode){const d=n.get(e.parentNode),{x:f,y:p}=Qr(d,i).positionAbsolute;a=[[e.extent[0][0]+f,e.extent[0][1]+p],[e.extent[1][0]+f,e.extent[1][1]+p]]}let l={x:0,y:0};if(e.parentNode){const d=n.get(e.parentNode);l=Qr(d,i).positionAbsolute}const u=a?Nc(t,a):t;return{position:{x:u.x-l.x,y:u.y-l.y},positionAbsolute:u}}function Yc({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(),l={x:a.width*r[0],y:a.height*r[1]};return o.map(u=>{const d=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),position:u.getAttribute("data-handlepos"),x:(d.left-a.left-l.x)/n,y:(d.top-a.top-l.y)/n,...Ic(u)}})};function zo(e,t,n){return n===void 0?n:r=>{const i=t().nodeInternals.get(e);n(r,{...i})}}function Xc({id:e,store:t,unselect:n=!1}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:a}=t.getState(),l=a.get(e);t.setState({nodesSelectionActive:!1}),l.selected?(n||l.selected&&o)&&i({nodes:[l]}):r([e])}function p6(){const e=Ht();return b.useCallback(({sourceEvent:n})=>{const{transform:r,snapGrid:i,snapToGrid:o}=e.getState(),a=n.touches?n.touches[0].clientX:n.clientX,l=n.touches?n.touches[0].clientY:n.clientY,u={x:(a-r[0])/r[2],y:(l-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 Qc(e){return(t,n,r)=>e==null?void 0:e(t,r)}function Gb({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,selectNodesOnDrag:a}){const l=Ht(),[u,d]=b.useState(!1),f=b.useRef([]),p=b.useRef({x:null,y:null}),h=b.useRef(0),g=b.useRef(null),v=b.useRef({x:0,y:0}),m=b.useRef(null),w=b.useRef(!1),x=p6();return b.useEffect(()=>{if(e!=null&&e.current){const _=Dn(e.current),S=({x:E,y:k})=>{const{nodeInternals:P,onNodeDrag:V,onSelectionDrag:B,updateNodePositions:I,nodeExtent:A,snapGrid:$,snapToGrid:F,nodeOrigin:M,onError:L}=l.getState();p.current={x:E,y:k};let N=!1;if(f.current=f.current.map(G=>{const j={x:E-G.distance.x,y:k-G.distance.y};F&&(j.x=$[0]*Math.round(j.x/$[0]),j.y=$[1]*Math.round(j.y/$[1]));const K=Fb(G,j,P,A,M,L);return N=N||G.position.x!==K.position.x||G.position.y!==K.position.y,G.position=K.position,G.positionAbsolute=K.positionAbsolute,G}),!N)return;I(f.current,!0,!0),d(!0);const R=i?V:Qc(B);if(R&&m.current){const[G,j]=Yc({nodeId:i,dragItems:f.current,nodeInternals:P});R(m.current,G,j)}},C=()=>{var P,V;if(!g.current)return;const[E,k]=eb(v.current,g.current);if(E!==0||k!==0){const{transform:B,panBy:I}=l.getState();p.current.x=((P=p.current.x)!=null?P:0)-E/B[2],p.current.y=((V=p.current.y)!=null?V:0)-k/B[2],S(p.current),I({x:E,y:k})}h.current=requestAnimationFrame(C)};if(t)_.on(".drag",null);else{const E=N5().on("start",k=>{var N;const{nodeInternals:P,multiSelectionActive:V,domNode:B,nodesDraggable:I,unselectNodesAndEdges:A,onNodeDragStart:$,onSelectionDragStart:F}=l.getState(),M=i?$:Qc(F);!a&&!V&&i&&((N=P.get(i))!=null&&N.selected||A()),i&&o&&a&&Xc({id:i,store:l});const L=x(k);if(p.current=L,f.current=f6(P,I,L,i),M&&f.current){const[R,G]=Yc({nodeId:i,dragItems:f.current,nodeInternals:P});M(k.sourceEvent,R,G)}g.current=(B==null?void 0:B.getBoundingClientRect())||null,v.current=Rr(k.sourceEvent,g.current)}).on("drag",k=>{const P=x(k),{autoPanOnNodeDrag:V}=l.getState();!w.current&&V&&(w.current=!0,C()),(p.current.x!==P.xSnapped||p.current.y!==P.ySnapped)&&f.current&&(m.current=k.sourceEvent,v.current=Rr(k.sourceEvent,g.current),S(P))}).on("end",k=>{if(d(!1),w.current=!1,cancelAnimationFrame(h.current),f.current){const{updateNodePositions:P,nodeInternals:V,onNodeDragStop:B,onSelectionDragStop:I}=l.getState(),A=i?B:Qc(I);if(P(f.current,!1,!1),A){const[$,F]=Yc({nodeId:i,dragItems:f.current,nodeInternals:V});A(k.sourceEvent,$,F)}}}).filter(k=>{const P=k.target;return!k.button&&(!n||!zb(P,`.${n}`,e))&&(!r||zb(P,r,e))});return _.call(E),()=>{_.on(".drag",null)}}}},[e,t,n,r,o,l,i,a,x]),u}function jb(){const e=Ht();return b.useCallback(n=>{const{nodeInternals:r,nodeExtent:i,updateNodePositions:o,getNodes:a,snapToGrid:l,snapGrid:u,onError:d,nodesDraggable:f}=e.getState(),p=a().filter(_=>_.selected&&(_.draggable||f&&typeof _.draggable>"u")),h=l?u[0]:5,g=l?u[1]:5,v=n.isShiftPressed?4:1,m=n.x*h*v,w=n.y*g*v,x=p.map(_=>{if(_.positionAbsolute){const S={x:_.positionAbsolute.x+m,y:_.positionAbsolute.y+w};l&&(S.x=u[0]*Math.round(S.x/u[0]),S.y=u[1]*Math.round(S.y/u[1]));const{positionAbsolute:C,position:E}=Fb(_,S,r,i,void 0,d);_.position=E,_.positionAbsolute=C}return _});o(x,!0,!1)},[])}const Ii={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Fo=e=>{const t=({id:n,type:r,data:i,xPos:o,yPos:a,xPosOrigin:l,yPosOrigin:u,selected:d,onClick:f,onMouseEnter:p,onMouseMove:h,onMouseLeave:g,onContextMenu:v,onDoubleClick:m,style:w,className:x,isDraggable:_,isSelectable:S,isConnectable:C,isFocusable:E,selectNodesOnDrag:k,sourcePosition:P,targetPosition:V,hidden:B,resizeObserver:I,dragHandle:A,zIndex:$,isParent:F,noDragClassName:M,noPanClassName:L,initialized:N,disableKeyboardA11y:R,ariaLabel:G,rfId:j})=>{const K=Ht(),q=b.useRef(null),ne=b.useRef(P),ie=b.useRef(V),Y=b.useRef(r),Z=S||_||f||p||h||g,de=jb(),ce=zo(n,K.getState,p),ue=zo(n,K.getState,h),le=zo(n,K.getState,g),Ce=zo(n,K.getState,v),xe=zo(n,K.getState,m),X=U=>{if(S&&(!k||!_)&&Xc({id:n,store:K}),f){const we=K.getState().nodeInternals.get(n);f(U,{...we})}},oe=U=>{var we;if(!Vc(U))if(ob.includes(U.key)&&S){const ve=U.key==="Escape";ve&&((we=q.current)==null||we.blur()),Xc({id:n,store:K,unselect:ve})}else!R&&_&&d&&Object.prototype.hasOwnProperty.call(Ii,U.key)&&(K.setState({ariaLiveMessage:`Moved selected node ${U.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~o}, y: ${~~a}`}),de({x:Ii[U.key].x,y:Ii[U.key].y,isShiftPressed:U.shiftKey}))};b.useEffect(()=>{if(q.current&&!B){const U=q.current;return I==null||I.observe(U),()=>I==null?void 0:I.unobserve(U)}},[B]),b.useEffect(()=>{const U=Y.current!==r,we=ne.current!==P,ve=ie.current!==V;q.current&&(U||we||ve)&&(U&&(Y.current=r),we&&(ne.current=P),ve&&(ie.current=V),K.getState().updateNodeDimensions([{id:n,nodeElement:q.current,forceUpdate:!0}]))},[n,r,P,V]);const Se=Gb({nodeRef:q,disabled:B||!_,noDragClassName:M,handleSelector:A,nodeId:n,isSelectable:S,selectNodesOnDrag:k});return B?null:s("div",{className:en(["react-flow__node",`react-flow__node-${r}`,{[L]:_},x,{selected:d,selectable:S,parent:F,dragging:Se}]),ref:q,style:{zIndex:$,transform:`translate(${l}px,${u}px)`,pointerEvents:Z?"all":"none",visibility:N?"visible":"hidden",...w},"data-id":n,"data-testid":`rf__node-${n}`,onMouseEnter:ce,onMouseMove:ue,onMouseLeave:le,onContextMenu:Ce,onClick:X,onDoubleClick:xe,onKeyDown:E?oe:void 0,tabIndex:E?0:void 0,role:E?"button":void 0,"aria-describedby":R?void 0:`${Ab}-${j}`,"aria-label":G,children:s(Lj,{value:n,children:s(e,{id:n,data:i,type:r,xPos:o,yPos:a,selected:d,isConnectable:C,sourcePosition:P,targetPosition:V,dragging:Se,dragHandle:A,zIndex:$})})})};return t.displayName="NodeWrapper",b.memo(t)};function h6(e){const t={input:Fo(e.input||Tb),default:Fo(e.default||Hc),output:Fo(e.output||kb),group:Fo(e.group||Uc)},n={},r=Object.keys(e).filter(i=>!["input","default","output","group"].includes(i)).reduce((i,o)=>(i[o]=Fo(e[o]||Hc),i),n);return{...t,...r}}const g6=({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]},v6=typeof document<"u"?document:null;var Bo=(e=null,t={target:v6})=>{const[n,r]=b.useState(!1),i=b.useRef(new Set([])),[o,a]=b.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.split("+")),d=u.reduce((f,p)=>f.concat(...p),[]);return[u,d]}return[[],[]]},[e]);return b.useEffect(()=>{var l,u;if(e!==null){const d=h=>{if(Vc(h))return!1;const g=Wb(h.code,a);i.current.add(h[g]),Kb(o,i.current,!1)&&(h.preventDefault(),r(!0))},f=h=>{if(Vc(h))return!1;const g=Wb(h.code,a);Kb(o,i.current,!0)?(r(!1),i.current.clear()):i.current.delete(h[g])},p=()=>{i.current.clear(),r(!1)};return(l=t==null?void 0:t.target)==null||l.addEventListener("keydown",d),(u=t==null?void 0:t.target)==null||u.addEventListener("keyup",f),window.addEventListener("blur",p),()=>{var h,g;(h=t==null?void 0:t.target)==null||h.removeEventListener("keydown",d),(g=t==null?void 0:t.target)==null||g.removeEventListener("keyup",f),window.removeEventListener("blur",p)}}},[e,r]),n};function Kb(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function Wb(e,t){return t.includes(e)?"code":"key"}function qb(e,t,n,r){var a,l,u,d,f,p,h,g;if(!e.parentNode)return n;const i=t.get(e.parentNode),o=Qr(i,r);return qb(i,t,{x:((a=n.x)!=null?a:0)+o.x,y:((l=n.y)!=null?l:0)+o.y,z:((d=(u=i[Kt])==null?void 0:u.z)!=null?d:0)>((f=n.z)!=null?f:0)?(h=(p=i[Kt])==null?void 0:p.z)!=null?h:0:(g=n.z)!=null?g:0},r)}function Hb(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:l,z:u}=qb(r,e,{...r.position,z:(o=(i=r[Kt])==null?void 0:i.z)!=null?o:0},t);r.positionAbsolute={x:a,y:l},r[Kt].z=u,n!=null&&n[r.id]&&(r[Kt].isParent=!0)}})}function Zc(e,t,n,r){const i=new Map,o={},a=r?1e3:0;return e.forEach(l=>{var p;const u=(On(l.zIndex)?l.zIndex:0)+(l.selected?a:0),d=t.get(l.id),f={width:d==null?void 0:d.width,height:d==null?void 0:d.height,...l,positionAbsolute:{x:l.position.x,y:l.position.y}};l.parentNode&&(f.parentNode=l.parentNode,o[l.parentNode]=!0),Object.defineProperty(f,Kt,{enumerable:!1,value:{handleBounds:(p=d==null?void 0:d[Kt])==null?void 0:p.handleBounds,z:u}}),i.set(l.id,f)}),Hb(i,n,o),i}function Ub(e,t={}){var h,g,v;const{getNodes:n,width:r,height:i,minZoom:o,maxZoom:a,d3Zoom:l,d3Selection:u,fitViewOnInitDone:d,fitViewOnInit:f,nodeOrigin:p}=e();if((t.initial&&!d&&f||!t.initial)&&l&&u){const m=n().filter(x=>t.includeHiddenNodes?x.width&&x.height:!x.hidden),w=m.every(x=>x.width&&x.height);if(m.length>0&&w){const x=Wc(m,p),[_,S,C]=yb(x,r,i,(h=t.minZoom)!=null?h:o,(g=t.maxZoom)!=null?g:a,(v=t.padding)!=null?v:.1),E=pr.translate(_,S).scale(C);return typeof t.duration=="number"&&t.duration>0?l.transform(Zr(u,t.duration),E):l.transform(u,E),!0}}return!1}function m6(e,t){return e.forEach(n=>{const r=t.get(n.id);r&&t.set(r.id,{...r,[Kt]:r[Kt],selected:n.selected})}),new Map(t)}function y6(e,t){return t.map(n=>{const r=e.find(i=>i.id===n.id);return r&&(n.selected=r.selected),n})}function Is({changedNodes:e,changedEdges:t,get:n,set:r}){const{nodeInternals:i,edges:o,onNodesChange:a,onEdgesChange:l,hasDefaultNodes:u,hasDefaultEdges:d}=n();e!=null&&e.length&&(u&&r({nodeInternals:m6(e,i)}),a==null||a(e)),t!=null&&t.length&&(d&&r({edges:y6(t,o)}),l==null||l(t))}const Jr=()=>{},b6={zoomIn:Jr,zoomOut:Jr,zoomTo:Jr,getZoom:()=>1,setViewport:Jr,getViewport:()=>({x:0,y:0,zoom:1}),fitView:Jr,setCenter:Jr,fitBounds:Jr,project:e=>e,viewportInitialized:!1},x6=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),w6=()=>{const e=Ht(),{d3Zoom:t,d3Selection:n}=Dt(x6,rn);return b.useMemo(()=>n&&t?{zoomIn:i=>t.scaleBy(Zr(n,i==null?void 0:i.duration),1.2),zoomOut:i=>t.scaleBy(Zr(n,i==null?void 0:i.duration),1/1.2),zoomTo:(i,o)=>t.scaleTo(Zr(n,o==null?void 0:o.duration),i),getZoom:()=>e.getState().transform[2],setViewport:(i,o)=>{var f,p,h;const[a,l,u]=e.getState().transform,d=pr.translate((f=i.x)!=null?f:a,(p=i.y)!=null?p:l).scale((h=i.zoom)!=null?h:u);t.transform(Zr(n,o==null?void 0:o.duration),d)},getViewport:()=>{const[i,o,a]=e.getState().transform;return{x:i,y:o,zoom:a}},fitView:i=>Ub(e.getState,i),setCenter:(i,o,a)=>{const{width:l,height:u,maxZoom:d}=e.getState(),f=typeof(a==null?void 0:a.zoom)<"u"?a.zoom:d,p=l/2-i*f,h=u/2-o*f,g=pr.translate(p,h).scale(f);t.transform(Zr(n,a==null?void 0:a.duration),g)},fitBounds:(i,o)=>{var v;const{width:a,height:l,minZoom:u,maxZoom:d}=e.getState(),[f,p,h]=yb(i,a,l,u,d,(v=o==null?void 0:o.padding)!=null?v:.1),g=pr.translate(f,p).scale(h);t.transform(Zr(n,o==null?void 0:o.duration),g)},project:i=>{const{transform:o,snapToGrid:a,snapGrid:l}=e.getState();return gb(i,o,a,l)},viewportInitialized:!0}:b6,[t,n])};function Jc(){const e=w6(),t=Ht(),n=b.useCallback(()=>t.getState().getNodes().map(m=>({...m})),[]),r=b.useCallback(m=>t.getState().nodeInternals.get(m),[]),i=b.useCallback(()=>{const{edges:m=[]}=t.getState();return m.map(w=>({...w}))},[]),o=b.useCallback(m=>{const{edges:w=[]}=t.getState();return w.find(x=>x.id===m)},[]),a=b.useCallback(m=>{const{getNodes:w,setNodes:x,hasDefaultNodes:_,onNodesChange:S}=t.getState(),C=w(),E=typeof m=="function"?m(C):m;if(_)x(E);else if(S){const k=E.length===0?C.map(P=>({type:"remove",id:P.id})):E.map(P=>({item:P,type:"reset"}));S(k)}},[]),l=b.useCallback(m=>{const{edges:w=[],setEdges:x,hasDefaultEdges:_,onEdgesChange:S}=t.getState(),C=typeof m=="function"?m(w):m;if(_)x(C);else if(S){const E=C.length===0?w.map(k=>({type:"remove",id:k.id})):C.map(k=>({item:k,type:"reset"}));S(E)}},[]),u=b.useCallback(m=>{const w=Array.isArray(m)?m:[m],{getNodes:x,setNodes:_,hasDefaultNodes:S,onNodesChange:C}=t.getState();if(S){const k=[...x(),...w];_(k)}else if(C){const E=w.map(k=>({item:k,type:"add"}));C(E)}},[]),d=b.useCallback(m=>{const w=Array.isArray(m)?m:[m],{edges:x=[],setEdges:_,hasDefaultEdges:S,onEdgesChange:C}=t.getState();if(S)_([...x,...w]);else if(C){const E=w.map(k=>({item:k,type:"add"}));C(E)}},[]),f=b.useCallback(()=>{const{getNodes:m,edges:w=[],transform:x}=t.getState(),[_,S,C]=x;return{nodes:m().map(E=>({...E})),edges:w.map(E=>({...E})),viewport:{x:_,y:S,zoom:C}}},[]),p=b.useCallback(({nodes:m,edges:w})=>{const{nodeInternals:x,getNodes:_,edges:S,hasDefaultNodes:C,hasDefaultEdges:E,onNodesDelete:k,onEdgesDelete:P,onNodesChange:V,onEdgesChange:B}=t.getState(),I=(m||[]).map(L=>L.id),A=(w||[]).map(L=>L.id),$=_().reduce((L,N)=>{const R=!I.includes(N.id)&&N.parentNode&&L.find(j=>j.id===N.parentNode);return(typeof N.deletable=="boolean"?N.deletable:!0)&&(I.includes(N.id)||R)&&L.push(N),L},[]),F=S.filter(L=>typeof L.deletable=="boolean"?L.deletable:!0),M=F.filter(L=>A.includes(L.id));if($||M){const L=mb($,F),N=[...M,...L],R=N.reduce((G,j)=>(G.includes(j.id)||G.push(j.id),G),[]);if((E||C)&&(E&&t.setState({edges:S.filter(G=>!R.includes(G.id))}),C&&($.forEach(G=>{x.delete(G.id)}),t.setState({nodeInternals:new Map(x)}))),R.length>0&&(P==null||P(N),B&&B(R.map(G=>({id:G,type:"remove"})))),$.length>0&&(k==null||k($),V)){const G=$.map(j=>({id:j.id,type:"remove"}));V(G)}}},[]),h=b.useCallback(m=>{const w=Aj(m),x=w?null:t.getState().nodeInternals.get(m.id);return[w?m:ib(x),x,w]},[]),g=b.useCallback((m,w=!0,x)=>{const[_,S,C]=h(m);return _?(x||t.getState().getNodes()).filter(E=>{if(!C&&(E.id===S.id||!E.positionAbsolute))return!1;const k=ib(E),P=$c(k,_);return w&&P>0||P>=m.width*m.height}):[]},[]),v=b.useCallback((m,w,x=!0)=>{const[_]=h(m);if(!_)return!1;const S=$c(_,w);return x&&S>0||S>=m.width*m.height},[]);return b.useMemo(()=>({...e,getNodes:n,getNode:r,getEdges:i,getEdge:o,setNodes:a,setEdges:l,addNodes:u,addEdges:d,toObject:f,deleteElements:p,getIntersectingNodes:g,isNodeIntersecting:v}),[e,n,r,i,o,a,l,u,d,f,p,g,v])}var C6=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const n=Ht(),{deleteElements:r}=Jc(),i=Bo(e),o=Bo(t);b.useEffect(()=>{if(i){const{edges:a,getNodes:l}=n.getState(),u=l().filter(f=>f.selected),d=a.filter(f=>f.selected);r({nodes:u,edges:d}),n.setState({nodesSelectionActive:!1})}},[i]),b.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])};function S6(e){const t=Ht();b.useEffect(()=>{let n;const r=()=>{var o,a;if(!e.current)return;const i=Ic(e.current);(i.height===0||i.width===0)&&((a=(o=t.getState()).onError)==null||a.call(o,"004",Yn["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 ed={position:"absolute",width:"100%",height:"100%",top:0,left:0},_6=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,td=e=>({x:e.x,y:e.y,zoom:e.k}),Ni=(e,t)=>e.target.closest(`.${t}`),Yb=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),E6=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),T6=({onMove:e,onMoveStart:t,onMoveEnd:n,onPaneContextMenu:r,zoomOnScroll:i=!0,zoomOnPinch:o=!0,panOnScroll:a=!1,panOnScrollSpeed:l=.5,panOnScrollMode:u=Oi.Free,zoomOnDoubleClick:d=!0,elementsSelectable:f,panOnDrag:p=!0,defaultViewport:h,translateExtent:g,minZoom:v,maxZoom:m,zoomActivationKeyCode:w,preventScrolling:x=!0,children:_,noWheelClassName:S,noPanClassName:C})=>{const E=b.useRef(),k=Ht(),P=b.useRef(!1),V=b.useRef(!1),B=b.useRef(null),I=b.useRef({x:0,y:0,zoom:0}),{d3Zoom:A,d3Selection:$,d3ZoomHandler:F,userSelectionActive:M}=Dt(E6,rn),L=Bo(w),N=b.useRef(0);return S6(B),b.useEffect(()=>{if(B.current){const R=B.current.getBoundingClientRect(),G=Qy().scaleExtent([v,m]).translateExtent(g),j=Dn(B.current).call(G),K=pr.translate(h.x,h.y).scale(Di(h.zoom,v,m)),q=[[0,0],[R.width,R.height]],ne=G.constrain()(K,q,g);G.transform(j,ne),k.setState({d3Zoom:G,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[ne.x,ne.y,ne.k],domNode:B.current.closest(".react-flow")})}},[]),b.useEffect(()=>{$&&A&&(a&&!L&&!M?$.on("wheel.zoom",R=>{if(Ni(R,S))return!1;R.preventDefault(),R.stopImmediatePropagation();const G=$.property("__zoom").k||1;if(R.ctrlKey&&o){const ne=Pn(R),ie=-R.deltaY*(R.deltaMode===1?.05:R.deltaMode?1:.002)*10,Y=G*Math.pow(2,ie);A.scaleTo($,Y,ne);return}const j=R.deltaMode===1?20:1,K=u===Oi.Vertical?0:R.deltaX*j,q=u===Oi.Horizontal?0:R.deltaY*j;A.translateBy($,-(K/G)*l,-(q/G)*l)}):typeof F<"u"&&$.on("wheel.zoom",function(R,G){if(!x||Ni(R,S))return null;R.preventDefault(),F.call(this,R,G)}))},[M,a,u,$,A,F,L,o,x,S]),b.useEffect(()=>{A&&A.on("start",R=>{var j;if(!R.sourceEvent)return null;N.current=R.sourceEvent.button;const{onViewportChangeStart:G}=k.getState();if(P.current=!0,((j=R.sourceEvent)==null?void 0:j.type)==="mousedown"&&k.setState({paneDragging:!0}),t||G){const K=td(R.transform);I.current=K,G==null||G(K),t==null||t(R.sourceEvent,K)}})},[A,t]),b.useEffect(()=>{A&&(M&&!P.current?A.on("zoom",null):M||A.on("zoom",R=>{var j;const{onViewportChange:G}=k.getState();if(k.setState({transform:[R.transform.x,R.transform.y,R.transform.k]}),V.current=!!(r&&Yb(p,(j=N.current)!=null?j:0)),e||G){const K=td(R.transform);G==null||G(K),e==null||e(R.sourceEvent,K)}}))},[M,A,e,p,r]),b.useEffect(()=>{A&&A.on("end",R=>{var j;if(!R.sourceEvent)return null;const{onViewportChangeEnd:G}=k.getState();if(P.current=!1,k.setState({paneDragging:!1}),r&&Yb(p,(j=N.current)!=null?j:0)&&!V.current&&r(R.sourceEvent),V.current=!1,(n||G)&&_6(I.current,R.transform)){const K=td(R.transform);I.current=K,clearTimeout(E.current),E.current=setTimeout(()=>{G==null||G(K),n==null||n(R.sourceEvent,K)},a?150:0)}})},[A,a,p,n,r]),b.useEffect(()=>{A&&A.filter(R=>{const G=L||i,j=o&&R.ctrlKey;if(R.button===1&&R.type==="mousedown"&&(Ni(R,"react-flow__node")||Ni(R,"react-flow__edge")))return!0;if(!p&&!G&&!a&&!d&&!o||M||!d&&R.type==="dblclick"||Ni(R,S)&&R.type==="wheel"||Ni(R,C)&&R.type!=="wheel"||!o&&R.ctrlKey&&R.type==="wheel"||!G&&!a&&!j&&R.type==="wheel"||!p&&(R.type==="mousedown"||R.type==="touchstart")||Array.isArray(p)&&!p.includes(R.button)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const K=Array.isArray(p)&&p.includes(R.button)||!R.button||R.button<=1;return(!R.ctrlKey||R.type==="wheel")&&K})},[M,A,i,o,a,d,p,f,L]),s("div",{className:"react-flow__renderer",ref:B,style:ed,children:_})},M6=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function k6(){const{userSelectionActive:e,userSelectionRect:t}=Dt(M6,rn);return e&&t?s("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 Xb(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 l=Math.abs(t.position.x);n.position.x=n.position.x-l,n.style.width+=l,t.position.x=0}if(t.position.y<0){const l=Math.abs(t.position.y);n.position.y=n.position.y-l,n.style.height+=l,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function D6(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(l=>l.id===i.id);if(o.length===0)return r.push(i),r;const a={...i};for(const l of o)if(l)switch(l.type){case"select":{a.selected=l.selected;break}case"position":{typeof l.position<"u"&&(a.position=l.position),typeof l.positionAbsolute<"u"&&(a.positionAbsolute=l.positionAbsolute),typeof l.dragging<"u"&&(a.dragging=l.dragging),a.expandParent&&Xb(r,a);break}case"dimensions":{typeof l.dimensions<"u"&&(a.width=l.dimensions.width,a.height=l.dimensions.height),typeof l.updateStyle<"u"&&(a.style={...a.style||{},...l.dimensions}),typeof l.resizing=="boolean"&&(a.resizing=l.resizing),a.expandParent&&Xb(r,a);break}case"remove":return r}return r.push(a),r},n)}function O6(e,t){return D6(e,t)}const Ir=(e,t)=>({id:e,type:"select",selected:t});function $i(e,t){return e.reduce((n,r)=>{const i=t.includes(r.id);return!r.selected&&i?(r.selected=!0,n.push(Ir(r.id,!0))):r.selected&&!i&&(r.selected=!1,n.push(Ir(r.id,!1))),n},[])}const nd=(e,t)=>n=>{n.target===t.current&&(e==null||e(n))},A6=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Qb=b.memo(({isSelecting:e,selectionMode:t=Vo.Full,panOnDrag:n,onSelectionStart:r,onSelectionEnd:i,onPaneClick:o,onPaneContextMenu:a,onPaneScroll:l,onPaneMouseEnter:u,onPaneMouseMove:d,onPaneMouseLeave:f,children:p})=>{const h=b.useRef(null),g=Ht(),v=b.useRef(0),m=b.useRef(0),w=b.useRef(),{userSelectionActive:x,elementsSelectable:_,dragging:S}=Dt(A6,rn),C=()=>{g.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,m.current=0},E=F=>{o==null||o(F),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},k=F=>{if(Array.isArray(n)&&(n==null?void 0:n.includes(2))){F.preventDefault();return}a==null||a(F)},P=l?F=>l(F):void 0,V=F=>{const{resetSelectedElements:M,domNode:L}=g.getState();if(w.current=L==null?void 0:L.getBoundingClientRect(),!_||!e||F.button!==0||F.target!==h.current||!w.current)return;const{x:N,y:R}=Rr(F,w.current);M(),g.setState({userSelectionRect:{width:0,height:0,startX:N,startY:R,x:N,y:R}}),r==null||r(F)},B=F=>{var Ce,xe;const{userSelectionRect:M,nodeInternals:L,edges:N,transform:R,onNodesChange:G,onEdgesChange:j,nodeOrigin:K,getNodes:q}=g.getState();if(!e||!w.current||!M)return;g.setState({userSelectionActive:!0,nodesSelectionActive:!1});const ne=Rr(F,w.current),ie=(Ce=M.startX)!=null?Ce:0,Y=(xe=M.startY)!=null?xe:0,Z={...M,x:ne.x<ie?ne.x:ie,y:ne.y<Y?ne.y:Y,width:Math.abs(ne.x-ie),height:Math.abs(ne.y-Y)},de=q(),ce=vb(L,Z,R,t===Vo.Partial,!0,K),ue=mb(ce,N).map(X=>X.id),le=ce.map(X=>X.id);if(v.current!==le.length){v.current=le.length;const X=$i(de,le);X.length&&(G==null||G(X))}if(m.current!==ue.length){m.current=ue.length;const X=$i(N,ue);X.length&&(j==null||j(X))}g.setState({userSelectionRect:Z})},I=F=>{if(F.button!==0)return;const{userSelectionRect:M}=g.getState();!x&&M&&F.target===h.current&&(E==null||E(F)),g.setState({nodesSelectionActive:v.current>0}),C(),i==null||i(F)},A=F=>{x&&(g.setState({nodesSelectionActive:v.current>0}),i==null||i(F)),C()},$=_&&(e||x);return y("div",{className:en(["react-flow__pane",{dragging:S,selection:e}]),onClick:$?void 0:nd(E,h),onContextMenu:nd(k,h),onWheel:nd(P,h),onMouseEnter:$?void 0:u,onMouseDown:$?V:void 0,onMouseMove:$?B:d,onMouseUp:$?I:void 0,onMouseLeave:$?A:f,ref:h,style:ed,children:[p,s(k6,{})]})});Qb.displayName="Pane";const R6=e=>{const t=e.getNodes().filter(n=>n.selected);return{...Wc(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function P6({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=Ht(),{width:i,height:o,x:a,y:l,transformString:u,userSelectionActive:d}=Dt(R6,rn),f=jb(),p=b.useRef(null);if(b.useEffect(()=>{var v;n||(v=p.current)==null||v.focus({preventScroll:!0})},[n]),Gb({nodeRef:p}),d||!i||!o)return null;const h=e?v=>{const m=r.getState().getNodes().filter(w=>w.selected);e(v,m)}:void 0,g=v=>{Object.prototype.hasOwnProperty.call(Ii,v.key)&&f({x:Ii[v.key].x,y:Ii[v.key].y,isShiftPressed:v.shiftKey})};return s("div",{className:en(["react-flow__nodesselection","react-flow__container",t]),style:{transform:u},children:s("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o,top:l,left:a}})})}var I6=b.memo(P6);const N6=e=>e.nodesSelectionActive,Zb=({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,deleteKeyCode:l,onMove:u,onMoveStart:d,onMoveEnd:f,selectionKeyCode:p,selectionOnDrag:h,selectionMode:g,onSelectionStart:v,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:x,zoomActivationKeyCode:_,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:P,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:I,defaultViewport:A,translateExtent:$,minZoom:F,maxZoom:M,preventScrolling:L,onSelectionContextMenu:N,noWheelClassName:R,noPanClassName:G,disableKeyboardA11y:j})=>{const K=Dt(N6),q=Bo(p),ie=Bo(x)||I,Y=q||h&&ie!==!0;return C6({deleteKeyCode:l,multiSelectionKeyCode:w}),s(T6,{onMove:u,onMoveStart:d,onMoveEnd:f,onPaneContextMenu:o,elementsSelectable:S,zoomOnScroll:C,zoomOnPinch:E,panOnScroll:k,panOnScrollSpeed:P,panOnScrollMode:V,zoomOnDoubleClick:B,panOnDrag:!q&&ie,defaultViewport:A,translateExtent:$,minZoom:F,maxZoom:M,zoomActivationKeyCode:_,preventScrolling:L,noWheelClassName:R,noPanClassName:G,children:y(Qb,{onSelectionStart:v,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:ie,isSelecting:!!Y,selectionMode:g,children:[e,K&&s(I6,{onSelectionContextMenu:N,noPanClassName:G,disableKeyboardA11y:j})]})})};Zb.displayName="FlowRenderer";var $6=b.memo(Zb);function L6(e){return Dt(b.useCallback(n=>e?vb(n.nodeInternals,{x:0,y:0,width:n.width,height:n.height},n.transform,!0):n.getNodes(),[e]))}const V6=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Jb=e=>{const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,updateNodeDimensions:o,onError:a}=Dt(V6,rn),l=L6(e.onlyRenderVisibleElements),u=b.useRef(),d=b.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(p=>{const h=p.map(g=>({id:g.target.getAttribute("data-id"),nodeElement:g.target,forceUpdate:!0}));o(h)});return u.current=f,f},[]);return b.useEffect(()=>()=>{var f;(f=u==null?void 0:u.current)==null||f.disconnect()},[]),s("div",{className:"react-flow__nodes",style:ed,children:l.map(f=>{var E,k,P,V,B,I,A;let p=f.type||"default";e.nodeTypes[p]||(a==null||a("003",Yn["003"](p)),p="default");const h=e.nodeTypes[p]||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"),x=e.nodeExtent?Nc(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,_=(E=x==null?void 0:x.x)!=null?E:0,S=(k=x==null?void 0:x.y)!=null?k:0,C=g6({x:_,y:S,width:(P=f.width)!=null?P:0,height:(V=f.height)!=null?V:0,origin:e.nodeOrigin});return s(h,{id:f.id,className:f.className,style:f.style,type:p,data:f.data,sourcePosition:f.sourcePosition||De.Bottom,targetPosition:f.targetPosition||De.Top,hidden:f.hidden,xPos:_,yPos:S,xPosOrigin:C.x,yPosOrigin:C.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:d,dragHandle:f.dragHandle,zIndex:(I=(B=f[Kt])==null?void 0:B.z)!=null?I:0,isParent:!!((A=f[Kt])!=null&&A.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel},f.id)})})};Jb.displayName="NodeRenderer";var z6=b.memo(Jb);const F6=[{level:0,isMaxLevel:!0,edges:[]}];function B6(e,t,n=!1){let r=-1;const i=e.reduce((a,l)=>{var f,p,h,g;const u=On(l.zIndex);let d=u?l.zIndex:0;return n&&(d=u?l.zIndex:Math.max(((p=(f=t.get(l.source))==null?void 0:f[Kt])==null?void 0:p.z)||0,((g=(h=t.get(l.target))==null?void 0:h[Kt])==null?void 0:g.z)||0)),a[d]?a[d].push(l):a[d]=[l],r=d>r?d:r,a},{}),o=Object.entries(i).map(([a,l])=>{const u=+a;return{edges:l,level:u,isMaxLevel:u===r}});return o.length===0?F6:o}function G6(e,t,n){const r=Dt(b.useCallback(i=>e?i.edges.filter(o=>{const a=t.get(o.source),l=t.get(o.target);return(a==null?void 0:a.width)&&(a==null?void 0:a.height)&&(l==null?void 0:l.width)&&(l==null?void 0:l.height)&&d6({sourcePos:a.positionAbsolute||{x:0,y:0},targetPos:l.positionAbsolute||{x:0,y:0},sourceWidth:a.width,sourceHeight:a.height,targetWidth:l.width,targetHeight:l.height,width:i.width,height:i.height,transform:i.transform})}):i.edges,[e,t]));return B6(r,t,n)}const j6=({color:e="none",strokeWidth:t=1})=>s("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:"none",points:"-5,-4 0,0 -5,4"}),K6=({color:e="none",strokeWidth:t=1})=>s("polyline",{stroke:e,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:t,fill:e,points:"-5,-4 0,0 -5,4 -5,-4"}),e0={[Ds.Arrow]:j6,[Ds.ArrowClosed]:K6};function W6(e){const t=Ht();return b.useMemo(()=>{var i,o;return Object.prototype.hasOwnProperty.call(e0,e)?e0[e]:((o=(i=t.getState()).onError)==null||o.call(i,"009",Yn["009"](e)),null)},[e])}const q6=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:l="auto-start-reverse"})=>{const u=W6(t);return u?s("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:l,refX:"0",refY:"0",children:s(u,{color:n,strokeWidth:a})}):null},H6=({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 l=Kc(a,t);r.includes(l)||(i.push({id:l,color:a.color||e,...a}),r.push(l))}}),i),[]).sort((i,o)=>i.id.localeCompare(o.id))},t0=({defaultColor:e,rfId:t})=>{const n=Dt(b.useCallback(H6({defaultColor:e,rfId:t}),[e,t]),(r,i)=>!(r.length!==i.length||r.some((o,a)=>o.id!==i[a].id)));return s("defs",{children:n.map(r=>s(q6,{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))})};t0.displayName="MarkerDefinitions";var U6=b.memo(t0);const Y6=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}),n0=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:n,rfId:r,edgeTypes:i,noPanClassName:o,onEdgeUpdate:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:d,onEdgeMouseLeave:f,onEdgeClick:p,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,children:w})=>{const{edgesFocusable:x,elementsSelectable:_,width:S,height:C,connectionMode:E,nodeInternals:k,onError:P}=Dt(Y6,rn),V=G6(t,k,n);return S?y(be,{children:[V.map(({level:B,edges:I,isMaxLevel:A})=>y("svg",{style:{zIndex:B},width:S,height:C,className:"react-flow__edges react-flow__container",children:[A&&s(U6,{defaultColor:e,rfId:r}),s("g",{children:I.map($=>{var xe,X;const[F,M,L]=Lb(k.get($.source)),[N,R,G]=Lb(k.get($.target));if(!L||!G)return null;let j=$.type||"default";i[j]||(P==null||P("011",Yn["011"](j)),j="default");const K=i[j]||i.default,q=E===Xr.Strict?R.target:((xe=R.target)!=null?xe:[]).concat((X=R.source)!=null?X:[]),ne=$b(M.source,$.sourceHandle),ie=$b(q,$.targetHandle),Y=(ne==null?void 0:ne.position)||De.Bottom,Z=(ie==null?void 0:ie.position)||De.Top,de=!!($.focusable||x&&typeof $.focusable>"u");if(!ne||!ie)return P==null||P("008",Yn["008"](ne,$)),null;const{sourceX:ce,sourceY:ue,targetX:le,targetY:Ce}=c6(F,ne,Y,N,ie,Z);return s(K,{id:$.id,className:en([$.className,o]),type:j,data:$.data,selected:!!$.selected,animated:!!$.animated,hidden:!!$.hidden,label:$.label,labelStyle:$.labelStyle,labelShowBg:$.labelShowBg,labelBgStyle:$.labelBgStyle,labelBgPadding:$.labelBgPadding,labelBgBorderRadius:$.labelBgBorderRadius,style:$.style,source:$.source,target:$.target,sourceHandleId:$.sourceHandle,targetHandleId:$.targetHandle,markerEnd:$.markerEnd,markerStart:$.markerStart,sourceX:ce,sourceY:ue,targetX:le,targetY:Ce,sourcePosition:Y,targetPosition:Z,elementsSelectable:_,onEdgeUpdate:a,onContextMenu:l,onMouseEnter:u,onMouseMove:d,onMouseLeave:f,onClick:p,edgeUpdaterRadius:h,onEdgeDoubleClick:g,onEdgeUpdateStart:v,onEdgeUpdateEnd:m,rfId:r,ariaLabel:$.ariaLabel,isFocusable:de,pathOptions:"pathOptions"in $?$.pathOptions:void 0,interactionWidth:$.interactionWidth},$.id)})})]},B)),w]}):null};n0.displayName="EdgeRenderer";var X6=b.memo(n0);const Q6=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Z6({children:e}){const t=Dt(Q6);return s("div",{className:"react-flow__viewport react-flow__container",style:{transform:t},children:e})}function J6(e){const t=Jc(),n=b.useRef(!1);b.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const eK={[De.Left]:De.Right,[De.Right]:De.Left,[De.Top]:De.Bottom,[De.Bottom]:De.Top},r0=({nodeId:e,handleType:t,style:n,type:r=Pr.Bezier,CustomComponent:i,connectionStatus:o})=>{var k,P,V,B,I,A,$;const{fromNode:a,handleId:l,toX:u,toY:d,connectionMode:f}=Dt(b.useCallback(F=>({fromNode:F.nodeInternals.get(e),handleId:F.connectionHandleId,toX:(F.connectionPosition.x-F.transform[0])/F.transform[2],toY:(F.connectionPosition.y-F.transform[1])/F.transform[2],connectionMode:F.connectionMode}),[e]),rn),p=(k=a==null?void 0:a[Kt])==null?void 0:k.handleBounds;let h=p==null?void 0:p[t];if(f===Xr.Loose&&(h=h||(p==null?void 0:p[t==="source"?"target":"source"])),!a||!h)return null;const g=l?h.find(F=>F.id===l):h[0],v=g?g.x+g.width/2:((P=a.width)!=null?P:0)/2,m=g?g.y+g.height/2:(V=a.height)!=null?V:0,w=((I=(B=a.positionAbsolute)==null?void 0:B.x)!=null?I:0)+v,x=(($=(A=a.positionAbsolute)==null?void 0:A.y)!=null?$:0)+m,_=g==null?void 0:g.position,S=_?eK[_]:null;if(!_||!S)return null;if(i)return s(i,{connectionLineType:r,connectionLineStyle:n,fromNode:a,fromHandle:g,fromX:w,fromY:x,toX:u,toY:d,fromPosition:_,toPosition:S,connectionStatus:o});let C="";const E={sourceX:w,sourceY:x,sourcePosition:_,targetX:u,targetY:d,targetPosition:S};return r===Pr.Bezier?[C]=hb(E):r===Pr.Step?[C]=Fc({...E,borderRadius:0}):r===Pr.SmoothStep?[C]=Fc(E):r===Pr.SimpleBezier?[C]=cb(E):C=`M${w},${x} ${u},${d}`,s("path",{d:C,fill:"none",className:"react-flow__connection-path",style:n})};r0.displayName="ConnectionLine";const tK=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function nK({containerStyle:e,style:t,type:n,component:r}){const{nodeId:i,handleType:o,nodesConnectable:a,width:l,height:u,connectionStatus:d}=Dt(tK,rn);return!(i&&o&&l&&a)?null:s("svg",{style:e,width:l,height:u,className:"react-flow__edges react-flow__connectionline react-flow__container",children:s("g",{className:en(["react-flow__connection",d]),children:s(r0,{nodeId:i,handleType:o,style:t,type:n,CustomComponent:r,connectionStatus:d})})})}const i0=({nodeTypes:e,edgeTypes:t,onMove:n,onMoveStart:r,onMoveEnd:i,onInit:o,onNodeClick:a,onEdgeClick:l,onNodeDoubleClick:u,onEdgeDoubleClick:d,onNodeMouseEnter:f,onNodeMouseMove:p,onNodeMouseLeave:h,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:m,onSelectionEnd:w,connectionLineType:x,connectionLineStyle:_,connectionLineComponent:S,connectionLineContainerStyle:C,selectionKeyCode:E,selectionOnDrag:k,selectionMode:P,multiSelectionKeyCode:V,panActivationKeyCode:B,zoomActivationKeyCode:I,deleteKeyCode:A,onlyRenderVisibleElements:$,elementsSelectable:F,selectNodesOnDrag:M,defaultViewport:L,translateExtent:N,minZoom:R,maxZoom:G,preventScrolling:j,defaultMarkerColor:K,zoomOnScroll:q,zoomOnPinch:ne,panOnScroll:ie,panOnScrollSpeed:Y,panOnScrollMode:Z,zoomOnDoubleClick:de,panOnDrag:ce,onPaneClick:ue,onPaneMouseEnter:le,onPaneMouseMove:Ce,onPaneMouseLeave:xe,onPaneScroll:X,onPaneContextMenu:oe,onEdgeUpdate:Se,onEdgeContextMenu:U,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:Ee,edgeUpdaterRadius:Oe,onEdgeUpdateStart:ge,onEdgeUpdateEnd:qe,noDragClassName:Ne,noWheelClassName:Je,noPanClassName:Te,elevateEdgesOnSelect:Ge,disableKeyboardA11y:Ve,nodeOrigin:Fe,nodeExtent:dt,rfId:lt})=>(J6(o),s($6,{onPaneClick:ue,onPaneMouseEnter:le,onPaneMouseMove:Ce,onPaneMouseLeave:xe,onPaneContextMenu:oe,onPaneScroll:X,deleteKeyCode:A,selectionKeyCode:E,selectionOnDrag:k,selectionMode:P,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:V,panActivationKeyCode:B,zoomActivationKeyCode:I,elementsSelectable:F,onMove:n,onMoveStart:r,onMoveEnd:i,zoomOnScroll:q,zoomOnPinch:ne,zoomOnDoubleClick:de,panOnScroll:ie,panOnScrollSpeed:Y,panOnScrollMode:Z,panOnDrag:ce,defaultViewport:L,translateExtent:N,minZoom:R,maxZoom:G,onSelectionContextMenu:v,preventScrolling:j,noDragClassName:Ne,noWheelClassName:Je,noPanClassName:Te,disableKeyboardA11y:Ve,children:y(Z6,{children:[s(X6,{edgeTypes:t,onEdgeClick:l,onEdgeDoubleClick:d,onEdgeUpdate:Se,onlyRenderVisibleElements:$,onEdgeContextMenu:U,onEdgeMouseEnter:we,onEdgeMouseMove:ve,onEdgeMouseLeave:Ee,onEdgeUpdateStart:ge,onEdgeUpdateEnd:qe,edgeUpdaterRadius:Oe,defaultMarkerColor:K,noPanClassName:Te,elevateEdgesOnSelect:!!Ge,disableKeyboardA11y:Ve,rfId:lt,children:s(nK,{style:_,type:x,component:S,containerStyle:C})}),s("div",{className:"react-flow__edgelabel-renderer"}),s(z6,{nodeTypes:e,onNodeClick:a,onNodeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:p,onNodeMouseLeave:h,onNodeContextMenu:g,selectNodesOnDrag:M,onlyRenderVisibleElements:$,noPanClassName:Te,noDragClassName:Ne,disableKeyboardA11y:Ve,nodeOrigin:Fe,nodeExtent:dt,rfId:lt})]})}));i0.displayName="GraphView";var rK=b.memo(i0);const rd=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Li={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:rd,nodeExtent:rd,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Xr.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:Lc},iK=()=>FB((e,t)=>({...Li,setNodes:n=>{const{nodeInternals:r,nodeOrigin:i,elevateNodesOnSelect:o}=t();e({nodeInternals:Zc(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?Zc(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:l,domNode:u,nodeOrigin:d}=t(),f=u==null?void 0:u.querySelector(".react-flow__viewport");if(!f)return;const p=window.getComputedStyle(f),{m22:h}=new window.DOMMatrixReadOnly(p.transform),g=n.reduce((m,w)=>{const x=i.get(w.id);if(x){const _=Ic(w.nodeElement);!!(_.width&&_.height&&(x.width!==_.width||x.height!==_.height||w.forceUpdate))&&(i.set(x.id,{...x,[Kt]:{...x[Kt],handleBounds:{source:Bb(".source",w.nodeElement,h,d),target:Bb(".target",w.nodeElement,h,d)}},..._}),m.push({id:x.id,type:"dimensions",dimensions:_}))}return m},[]);Hb(i,d);const v=a||o&&!a&&Ub(t,{initial:!0,...l});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(l=>{const u={id:l.id,type:"position",dragging:i};return r&&(u.positionAbsolute=l.positionAbsolute,u.position=l.position),u});o(a)},triggerNodeChanges:n=>{const{onNodesChange:r,nodeInternals:i,hasDefaultNodes:o,nodeOrigin:a,getNodes:l,elevateNodesOnSelect:u}=t();if(n!=null&&n.length){if(o){const d=O6(n,l()),f=Zc(d,i,a,u);e({nodeInternals:f})}r==null||r(n)}},addSelectedNodes:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,l=null;r?a=n.map(u=>Ir(u,!0)):(a=$i(o(),n),l=$i(i,[])),Is({changedNodes:a,changedEdges:l,get:t,set:e})},addSelectedEdges:n=>{const{multiSelectionActive:r,edges:i,getNodes:o}=t();let a,l=null;r?a=n.map(u=>Ir(u,!0)):(a=$i(i,n),l=$i(o(),[])),Is({changedNodes:l,changedEdges:a,get:t,set:e})},unselectNodesAndEdges:({nodes:n,edges:r}={})=>{const{edges:i,getNodes:o}=t(),a=n||o(),l=r||i,u=a.map(f=>(f.selected=!1,Ir(f.id,!1))),d=l.map(f=>Ir(f.id,!1));Is({changedNodes:u,changedEdges:d,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(l=>l.selected).map(l=>Ir(l.id,!1)),a=n.filter(l=>l.selected).map(l=>Ir(l.id,!1));Is({changedNodes:o,changedEdges:a,get:t,set:e})},setNodeExtent:n=>{const{nodeInternals:r}=t();r.forEach(i=>{i.positionAbsolute=Nc(i.position,n)}),e({nodeExtent:n,nodeInternals:new Map(r)})},panBy:n=>{const{transform:r,width:i,height:o,d3Zoom:a,d3Selection:l,translateExtent:u}=t();if(!a||!l||!n.x&&!n.y)return;const d=pr.translate(r[0]+n.x,r[1]+n.y).scale(r[2]),f=[[0,0],[i,o]],p=a==null?void 0:a.constrain()(d,f,u);a.transform(l,p)},cancelConnection:()=>e({connectionNodeId:Li.connectionNodeId,connectionHandleId:Li.connectionHandleId,connectionHandleType:Li.connectionHandleType,connectionStatus:Li.connectionStatus}),reset:()=>e({...Li})})),o0=({children:e})=>{const t=b.useRef(null);return t.current||(t.current=iK()),s(Ej,{value:t.current,children:e})};o0.displayName="ReactFlowProvider";const a0=({children:e})=>b.useContext(Ms)?s(be,{children:e}):s(o0,{children:e});a0.displayName="ReactFlowWrapper";function s0(e,t){const n=b.useRef(null);return b.useMemo(()=>{if(process.env.NODE_ENV==="development"){const i=Object.keys(e);rn(n.current,i)&&Lc("002",Yn["002"]()),n.current=i}return t(e)},[e])}const oK={input:Tb,default:Hc,output:kb,group:Uc},aK={default:Rs,straight:Gc,step:Bc,smoothstep:Os,simplebezier:zc},sK=[0,0],lK=[15,15],uK={x:0,y:0,zoom:1},cK={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},l0=b.forwardRef(({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o=oK,edgeTypes:a=aK,onNodeClick:l,onEdgeClick:u,onInit:d,onMove:f,onMoveStart:p,onMoveEnd:h,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:x,onNodeMouseEnter:_,onNodeMouseMove:S,onNodeMouseLeave:C,onNodeContextMenu:E,onNodeDoubleClick:k,onNodeDragStart:P,onNodeDrag:V,onNodeDragStop:B,onNodesDelete:I,onEdgesDelete:A,onSelectionChange:$,onSelectionDragStart:F,onSelectionDrag:M,onSelectionDragStop:L,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:G,connectionMode:j=Xr.Strict,connectionLineType:K=Pr.Bezier,connectionLineStyle:q,connectionLineComponent:ne,connectionLineContainerStyle:ie,deleteKeyCode:Y="Backspace",selectionKeyCode:Z="Shift",selectionOnDrag:de=!1,selectionMode:ce=Vo.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:le="Meta",zoomActivationKeyCode:Ce="Meta",snapToGrid:xe=!1,snapGrid:X=lK,onlyRenderVisibleElements:oe=!1,selectNodesOnDrag:Se=!0,nodesDraggable:U,nodesConnectable:we,nodesFocusable:ve,nodeOrigin:Ee=sK,edgesFocusable:Oe,elementsSelectable:ge,defaultViewport:qe=uK,minZoom:Ne=.5,maxZoom:Je=2,translateExtent:Te=rd,preventScrolling:Ge=!0,nodeExtent:Ve,defaultMarkerColor:Fe="#b1b1b7",zoomOnScroll:dt=!0,zoomOnPinch:lt=!0,panOnScroll:Ue=!1,panOnScrollSpeed:ut=.5,panOnScrollMode:_e=Oi.Free,zoomOnDoubleClick:$e=!0,panOnDrag:rt=!0,onPaneClick:Ot,onPaneMouseEnter:ct,onPaneMouseMove:At,onPaneMouseLeave:ft,onPaneScroll:Wt,onPaneContextMenu:Rt,children:wt,onEdgeUpdate:Tt,onEdgeContextMenu:Ut,onEdgeDoubleClick:yt,onEdgeMouseEnter:pn,onEdgeMouseMove:Gt,onEdgeMouseLeave:ae,onEdgeUpdateStart:pe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Re=10,onNodesChange:et,onEdgesChange:pt,noDragClassName:Yt="nodrag",noWheelClassName:Xt="nowheel",noPanClassName:hn="nopan",fitView:Ct=!1,fitViewOptions:z,connectOnClick:te=!0,attributionPosition:J,proOptions:he,defaultEdgeOptions:ye,elevateNodesOnSelect:Me=!0,elevateEdgesOnSelect:Le=!1,disableKeyboardA11y:Ae=!1,autoPanOnConnect:We=!0,autoPanOnNodeDrag:Be=!0,connectionRadius:Xe=20,onError:Et,style:on,id:wn,...Pt},Xn)=>{const hr=s0(o,h6),ln=s0(a,u6),un=wn||"1";return s("div",{...Pt,style:{...on,...cK},ref:Xn,className:en(["react-flow",i]),"data-testid":"rf__wrapper",id:wn,children:y(a0,{children:[s(rK,{onInit:d,onMove:f,onMoveStart:p,onMoveEnd:h,onNodeClick:l,onEdgeClick:u,onNodeMouseEnter:_,onNodeMouseMove:S,onNodeMouseLeave:C,onNodeContextMenu:E,onNodeDoubleClick:k,nodeTypes:hr,edgeTypes:ln,connectionLineType:K,connectionLineStyle:q,connectionLineComponent:ne,connectionLineContainerStyle:ie,selectionKeyCode:Z,selectionOnDrag:de,selectionMode:ce,deleteKeyCode:Y,multiSelectionKeyCode:le,panActivationKeyCode:ue,zoomActivationKeyCode:Ce,onlyRenderVisibleElements:oe,selectNodesOnDrag:Se,defaultViewport:qe,translateExtent:Te,minZoom:Ne,maxZoom:Je,preventScrolling:Ge,zoomOnScroll:dt,zoomOnPinch:lt,zoomOnDoubleClick:$e,panOnScroll:Ue,panOnScrollSpeed:ut,panOnScrollMode:_e,panOnDrag:rt,onPaneClick:Ot,onPaneMouseEnter:ct,onPaneMouseMove:At,onPaneMouseLeave:ft,onPaneScroll:Wt,onPaneContextMenu:Rt,onSelectionContextMenu:N,onSelectionStart:R,onSelectionEnd:G,onEdgeUpdate:Tt,onEdgeContextMenu:Ut,onEdgeDoubleClick:yt,onEdgeMouseEnter:pn,onEdgeMouseMove:Gt,onEdgeMouseLeave:ae,onEdgeUpdateStart:pe,onEdgeUpdateEnd:me,edgeUpdaterRadius:Re,defaultMarkerColor:Fe,noDragClassName:Yt,noWheelClassName:Xt,noPanClassName:hn,elevateEdgesOnSelect:Le,rfId:un,disableKeyboardA11y:Ae,nodeOrigin:Ee,nodeExtent:Ve}),s(t6,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:g,onConnectStart:v,onConnectEnd:m,onClickConnectStart:w,onClickConnectEnd:x,nodesDraggable:U,nodesConnectable:we,nodesFocusable:ve,edgesFocusable:Oe,elementsSelectable:ge,elevateNodesOnSelect:Me,minZoom:Ne,maxZoom:Je,nodeExtent:Ve,onNodesChange:et,onEdgesChange:pt,snapToGrid:xe,snapGrid:X,connectionMode:j,translateExtent:Te,connectOnClick:te,defaultEdgeOptions:ye,fitView:Ct,fitViewOptions:z,onNodesDelete:I,onEdgesDelete:A,onNodeDragStart:P,onNodeDrag:V,onNodeDragStop:B,onSelectionDrag:M,onSelectionDragStart:F,onSelectionDragStop:L,noPanClassName:hn,nodeOrigin:Ee,rfId:un,autoPanOnConnect:We,autoPanOnNodeDrag:Be,onError:Et,connectionRadius:Xe}),s(Jj,{onSelectionChange:$}),wt,s(Mj,{proOptions:he,position:J}),s(a6,{rfId:un,disableKeyboardA11y:Ae})]})})});l0.displayName="ReactFlow";const u0=({id:e,x:t,y:n,width:r,height:i,style:o,color:a,strokeColor:l,strokeWidth:u,className:d,borderRadius:f,shapeRendering:p,onClick:h})=>{const{background:g,backgroundColor:v}=o||{},m=a||g||v;return s("rect",{className:en(["react-flow__minimap-node",d]),x:t,y:n,rx:f,ry:f,width:r,height:i,fill:m,stroke:l,strokeWidth:u,shapeRendering:p,onClick:h?w=>h(w,e):void 0})};u0.displayName="MiniMapNode";var dK=b.memo(u0);const fK=200,pK=150,hK=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?Oj(Wc(t,e.nodeOrigin),n):n,rfId:e.rfId,nodeOrigin:e.nodeOrigin}},id=e=>e instanceof Function?e:()=>e,gK="react-flow__minimap-desc";function c0({style:e,className:t,nodeStrokeColor:n="transparent",nodeColor:r="#e2e2e2",nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a=2,maskColor:l="rgb(240, 240, 240, 0.6)",maskStrokeColor:u="none",maskStrokeWidth:d=1,position:f="bottom-right",onClick:p,onNodeClick:h,pannable:g=!1,zoomable:v=!1,ariaLabel:m="React Flow mini map"}){var ce,ue;const w=Ht(),x=b.useRef(null),{boundingRect:_,viewBB:S,nodes:C,rfId:E,nodeOrigin:k}=Dt(hK,rn),P=(ce=e==null?void 0:e.width)!=null?ce:fK,V=(ue=e==null?void 0:e.height)!=null?ue:pK,B=id(r),I=id(n),A=id(i),$=_.width/P,F=_.height/V,M=Math.max($,F),L=M*P,N=M*V,R=5*M,G=_.x-(L-_.width)/2-R,j=_.y-(N-_.height)/2-R,K=L+R*2,q=N+R*2,ne=typeof window>"u"||!!window.chrome?"crispEdges":"geometricPrecision",ie=`${gK}-${E}`,Y=b.useRef(0);Y.current=M,b.useEffect(()=>{if(x.current){const le=Dn(x.current),Ce=oe=>{const{transform:Se,d3Selection:U,d3Zoom:we}=w.getState();if(oe.sourceEvent.type!=="wheel"||!U||!we)return;const ve=-oe.sourceEvent.deltaY*(oe.sourceEvent.deltaMode===1?.05:oe.sourceEvent.deltaMode?1:.002)*10,Ee=Se[2]*Math.pow(2,ve);we.scaleTo(U,Ee)},xe=oe=>{const{transform:Se,d3Selection:U,d3Zoom:we,translateExtent:ve,width:Ee,height:Oe}=w.getState();if(oe.sourceEvent.type!=="mousemove"||!U||!we)return;const ge={x:Se[0]-oe.sourceEvent.movementX*Y.current*Math.max(1,Se[2]),y:Se[1]-oe.sourceEvent.movementY*Y.current*Math.max(1,Se[2])},qe=[[0,0],[Ee,Oe]],Ne=pr.translate(ge.x,ge.y).scale(Se[2]),Je=we.constrain()(Ne,qe,ve);we.transform(U,Je)},X=Qy().on("zoom",g?xe:null).on("zoom.wheel",v?Ce:null);return le.call(X),()=>{le.on("zoom",null)}}},[g,v]);const Z=p?le=>{const Ce=Pn(le);p(le,{x:Ce[0],y:Ce[1]})}:void 0,de=h?(le,Ce)=>{const xe=w.getState().nodeInternals.get(Ce);h(le,xe)}:void 0;return s(Pc,{position:f,style:e,className:en(["react-flow__minimap",t]),children:y("svg",{width:P,height:V,viewBox:`${G} ${j} ${K} ${q}`,role:"img","aria-labelledby":ie,ref:x,onClick:Z,children:[m&&s("title",{id:ie,children:m}),C.map(le=>{const{x:Ce,y:xe}=Qr(le,k).positionAbsolute;return s(dK,{x:Ce,y:xe,width:le.width,height:le.height,style:le.style,className:A(le),color:B(le),borderRadius:o,strokeColor:I(le),strokeWidth:a,shapeRendering:ne,onClick:de,id:le.id},le.id)}),s("path",{className:"react-flow__minimap-mask",d:`M${G-R},${j-R}h${K+R*2}v${q+R*2}h${-K-R*2}z
429
+ M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fill:l,fillRule:"evenodd",stroke:u,strokeWidth:d,pointerEvents:"none"})]})})}c0.displayName="MiniMap";var vK=b.memo(c0);function mK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:s("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function yK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:s("path",{d:"M0 0h32v4.2H0z"})})}function bK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:s("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 xK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:s("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 wK(){return s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:s("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 Go=({children:e,className:t,...n})=>s("button",{type:"button",className:en(["react-flow__controls-button",t]),...n,children:e});Go.displayName="ControlButton";const CK=e=>e.nodesDraggable&&e.nodesConnectable&&e.elementsSelectable,d0=({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:l,onInteractiveChange:u,className:d,children:f,position:p="bottom-left"})=>{const h=Ht(),[g,v]=b.useState(!1),m=Dt(CK),{zoomIn:w,zoomOut:x,fitView:_}=Jc();if(b.useEffect(()=>{v(!0)},[]),!g)return null;const S=()=>{w(),o==null||o()},C=()=>{x(),a==null||a()},E=()=>{_(i),l==null||l()},k=()=>{h.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),u==null||u(!m)};return y(Pc,{className:en(["react-flow__controls",d]),position:p,style:e,children:[t&&y(be,{children:[s(Go,{onClick:S,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",children:s(mK,{})}),s(Go,{onClick:C,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",children:s(yK,{})})]}),n&&s(Go,{className:"react-flow__controls-fitview",onClick:E,title:"fit view","aria-label":"fit view",children:s(bK,{})}),r&&s(Go,{className:"react-flow__controls-interactive",onClick:k,title:"toggle interactivity","aria-label":"toggle interactivity",children:m?s(wK,{}):s(xK,{})}),f]})};d0.displayName="Controls";var SK=b.memo(d0),$n;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})($n||($n={}));function _K({color:e,dimensions:t,lineWidth:n}){return s("path",{stroke:e,strokeWidth:n,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function EK({color:e,radius:t}){return s("circle",{cx:t,cy:t,r:t,fill:e})}const TK={[$n.Dots]:"#91919a",[$n.Lines]:"#eee",[$n.Cross]:"#e2e2e2"},MK={[$n.Dots]:1,[$n.Lines]:1,[$n.Cross]:6},kK=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function f0({variant:e=$n.Dots,gap:t=20,size:n,lineWidth:r=1,color:i,style:o,className:a}){const l=b.useRef(null),{transform:u,patternId:d}=Dt(kK,rn),f=i||TK[e],p=n||MK[e],h=e===$n.Dots,g=e===$n.Cross,v=Array.isArray(t)?t:[t,t],m=[v[0]*u[2]||1,v[1]*u[2]||1],w=p*u[2],x=g?[w,w]:m,_=h?[w/2,w/2]:[x[0]/2,x[1]/2];return y("svg",{className:en(["react-flow__background",a]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:l,children:[s("pattern",{id:d,x:u[0]%m[0],y:u[1]%m[1],width:m[0],height:m[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:h?s(EK,{color:f,radius:w/2}):s(_K,{dimensions:x,color:f,lineWidth:r})}),s("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${d})`})]})}f0.displayName="Background";var DK=b.memo(f0);const _q="";function OK(e,t,n){const r=[],i=[];return e.current.forEach((o,a)=>{const l=o.panels.list.filter(u=>"__INTERACTIONS"in u.viz.conf);i.push(...l)}),i.forEach((o,a)=>{const l=t[o.id];l.data.interactions=H.default.get(l,"data.interactions",[]);const{__INTERACTIONS:u,__OPERATIONS:d,__TRIGGERS:f}=o.viz.conf;Object.entries(d).forEach(([p,h])=>{const{schemaRef:g,data:v}=h,{config:m}=v;switch(g){case"builtin:op:open-link":let w=m.urlTemplate.substring(0,100);m.urlTemplate.length>=20&&(w+="..."),l.type="interaction",l.data.interactions.push({schemaRef:g,urlTemplate:m.urlTemplate,shortURLTemplate:w});return;case"builtin:op:open_view":r.push({id:`OPERATION--${p}`,source:o.id,target:m.viewID,label:"Open View",style:{stroke:"rgba(0,0,0,0.8)"},type:"default"});return;case"builtin:op:set_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:Object.keys(m.dictionary).map(x=>({key:x,label:n[x]}))});return;case"builtin:op:clear_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:m.filter_keys.map(x=>({key:x,label:n[x]}))});return;default:return}})}),r}function AK(e,t){const n=e.filters.keyLabelMap;return{edges:OK(e.views,t,n),edgeNodes:[]}}function p0(e,t,n){return e*t+e*n}function RK(e,t,n){return e*t+(e-1)*n}const od=25,ad=40,h0=25,sd=350,PK=150,IK=150,g0=150,NK=300,ld=40,v0=25,$K=300;function LK(e){const t=[];return e.current.forEach((n,r)=>{n.panels.list.forEach((i,o)=>{const a=p0(o,ld,v0)+ad,l=i.title.trim()?`${i.title}`:i.viz.type;t.push({id:i.id,_node_type:"panel",parentNode:n.id,data:{label:l},position:{x:od,y:a},sourcePosition:De.Right,targetPosition:De.Left,style:{width:NK,height:ld}})})}),t}const VK={[ot.Division]:"Div",[ot.Modal]:"Modal",[ot.Tabs]:"Tabs"},zK=mm;function FK(e){return e.current.map((n,r)=>{const i=RK(n.panels.list.length,ld,v0)+ad+h0;let o=[];return n.type===ot.Tabs&&(o=n.config.tabs.map(l=>l.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:`${VK[n.type]}:${n.name}`},position:{x:0,y:0},sourcePosition:De.Right,targetPosition:De.Left,className:"light",style:{backgroundColor:zK[n.type],width:sd,height:i}}})}function BK(e){const t=H.default.keyBy(e,n=>n.id);e.forEach(n=>{n._node_type!=="view-root"||n._view_type!==ot.Tabs||n._tab_view_ids.forEach(r=>{t[r].parentNode=n.id})})}function GK(e){const t=FK(e.views);BK(t);const n=LK(e.views);return[...t,...n]}function jK({nodeMap:e,nodes:t,edges:n}){t.forEach(r=>{r._node_type!=="view-root"||r._view_type!==ot.Tabs||(r.sourcePosition=De.Bottom,r.style.width=sd+od*2,r.style.height=h0+r._tab_view_ids.reduce((i,o)=>{const a=e[o];a.position.y=i,a.position.x=od;const l=a.style.height;return i+l+20},ad))})}function KK({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 WK({nodeMap:e,nodes:t,edges:n}){const r={};n.forEach(i=>{if(i.label!=="Open View")return;const o=e[i.source],a=e[i.target];if(o&&a&&o.parentNode){const l=e[o.parentNode],u=l.position.x,d=H.default.get(a,"style.height",0),f=Number(l.style.width);a.position.x=u+f+$K,l._view_level===0&&a._sub_view_ids.length===0&&(o.sourcePosition=De.Left,a.targetPosition=De.Right,a.position.x*=-1);const h=a.position.x,g=H.default.get(r,h,0);a.position.y=g,r[h]=g+d+g0}})}function qK({nodeMap:e,nodes:t,edges:n}){const r=new Set,i=new Set;n.forEach(a=>{r.add(a.source),i.add(a.target)}),t.filter(a=>a._node_type!=="view-root"||a.id==="Main"||a.parentNode?!1:!r.has(a.id)&&!i.has(a.id)).forEach((a,l)=>{a.position.x=p0(l,sd,IK),a.position.y=0-PK-g0})}function HK({nodeMap:e,nodes:t,edges:n}){const r={nodeMap:e,nodes:t,edges:n};return qK(r),KK(r),jK(r),WK(r),{nodes:t,edges:n}}function UK(e){const t=GK(e),n=H.default.keyBy(t,u=>u.id),{edges:r,edgeNodes:i}=AK(e,n),o=[...t,...i],a=H.default.keyBy(o,u=>u.id),l={edges:H.default.uniqBy(r,u=>u.id),nodes:o,nodeMap:a};return HK(l)}const Eq="",ud={"builtin:op:open-link":s(c.ThemeIcon,{color:"blue",size:20,radius:"xl",children:s(fx,{size:14})}),"builtin:op:set_filter_values":s(c.ThemeIcon,{color:"orange",size:20,radius:"xl",children:s(hx,{size:14})}),"builtin:op:clear_filter_values":s(c.ThemeIcon,{color:"orange",size:20,radius:"xl",children:s(vx,{size:14})})};function YK(e){const t=[];return e.forEach(n=>{switch(n.schemaRef){case"builtin:op:open-link":t.push({key:n.urlTemplate,icon:ud[n.schemaRef],text:y(c.Group,{spacing:4,children:[s(c.Text,{children:"Open: "}),s(c.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:ud[n.schemaRef],text:s(c.Group,{spacing:4,children:y(c.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:ud[n.schemaRef],text:s(c.Group,{spacing:4,children:y(c.Text,{children:["Clear Filter: ",i]})})})});return}}),t}const XK=b.memo(({data:e,isConnectable:t,sourcePosition:n=De.Right,targetPosition:r=De.Left,...i})=>{const o=b.useMemo(()=>YK(e.interactions),[e.interactions]);return y(be,{children:[s(Ai,{type:"target",position:r,isConnectable:t}),s(c.Box,{sx:{position:"absolute",top:0,right:0},children:s(re.ChevronsUpRight,{size:12})}),y(c.HoverCard,{shadow:"xl",withinPortal:!0,children:[s(c.HoverCard.Target,{children:s(c.Text,{children:e.label})}),s(c.HoverCard.Dropdown,{children:s(c.List,{spacing:"xs",size:"sm",center:!0,children:o.map(a=>s(c.List.Item,{icon:a.icon,children:a.text},a.key))})})]}),s(Ai,{type:"source",position:n,isConnectable:t})]})}),Tq="",QK={interaction:XK},ZK=ee.observer(()=>{const e=Ie(),{edges:t,nodes:n}=UK(e);return y(l0,{nodes:n,edges:t,onNodesChange:H.default.noop,onEdgesChange:H.default.noop,onConnect:H.default.noop,className:"interactions-viewer",fitView:!0,nodeTypes:QK,children:[s(vK,{}),s(SK,{}),s(DK,{})]})}),JK=ee.observer(({opened:e,close:t})=>{const{freezeLayout:n}=Q.default.useContext(Lr);return Q.default.useEffect(()=>{n(e)},[e]),s(c.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:t,title:"Interactions",trapFocus:!0,onDragStart:r=>{r.stopPropagation()},styles:{body:{height:"90vh"},modal:{transform:"none !important"}},zIndex:300,children:s(ZK,{})})});function e8({onClick:e,name:t,active:n,openSettings:r}){return y(c.Box,{sx:{position:"relative"},children:[s(c.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:s(c.Group,{sx:{width:"calc(100% - 28px)"},onClick:e,children:s(c.Text,{size:"sm",children:t})})}),n&&s(c.Tooltip,{label:"Edit",position:"right",withinPortal:!0,children:s(c.ActionIcon,{onClick:r,variant:"light",color:"blue",sx:{position:"absolute",top:0,bottom:0,height:"100%",right:0,zIndex:0,borderRadius:0},children:s(Z0,{size:16})})})]})}const t8=ee.observer(()=>{const e=Ie(),t=b.useCallback(r=>()=>e.views.setIDOfVIE(r),[e]),n=r=>{e.editor.open(["_VIEWS_",r])};return y(c.Box,{sx:{position:"relative"},children:[e.views.options.map(r=>s(e8,{active:e.views.idOfVIE===r.value,name:r.label,onClick:t(r.value),openSettings:()=>n(r.value)},r.value)),s(c.Divider,{variant:"dashed"}),s(c.Button,{variant:"subtle",rightIcon:s(vr,{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"})]})}),n8=ee.observer(()=>{const e=Ie(),t=()=>{if(!e.queries.firstID){e.editor.open(["_QUERIES_",""]);return}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]=b.useState(!1),o=()=>i(!0),a=()=>i(!1);return y(c.Navbar,{p:0,width:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},children:[y(c.Navbar.Section,{children:[y(c.Group,{grow:!0,spacing:0,sx:{...Qm,button:{borderWidth:0,borderBottomWidth:1,borderColor:"#e9ecef"}},children:[s(c.Tooltip,{label:"Filters",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:n,children:s(Dd,{size:20})})}),s(c.Tooltip,{label:"Queries",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:t,children:s(kd,{size:20})})}),s(c.Tooltip,{label:"Interactions Viewer",withinPortal:!0,children:s(c.ActionIcon,{variant:"default",radius:0,size:"md",onClick:o,children:s(Ox,{size:20})})})]}),s(JK,{opened:r,close:a})]}),s(c.Navbar.Section,{py:5,sx:{borderBottom:"1px solid #eee"},children:s(c.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Views"})}),s(c.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s(t8,{})}),s(c.Navbar.Section,{children:s(c.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s(c.Button,{size:"xs",leftIcon:s(Vx,{size:20}),onClick:()=>e.editor.open([]),children:"Settings"})})})]})}),r8=ee.observer(function({config:t}){return y(be,{children:[s(c.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"}),s(Eu,{label:"Description",value:t.description,onChange:t.setDescription,styles:{root:{flexGrow:1,minHeight:"400px"}}})]})}),i8=[{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"}],o8=ee.observer(function({config:t}){return y(be,{children:[y(c.Group,{children:[s(c.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),s(c.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),disabled:t.max_days>0,label:"Clearable"}),s(c.Checkbox,{checked:t.allowSingleDateInRange,onChange:n=>t.setAllowSingleDateInRange(n.currentTarget.checked),label:"Allow choosing 1 day"})]}),s(c.Select,{data:i8,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat}),s(Bd,{label:"Default Value",config:t,value:t.default_value,onChange:t.setDefaultValue}),s(c.NumberInput,{label:"Max Days",description:y(c.Group,{position:"apart",children:[s(c.Text,{children:"Set 0 to disable."}),y(c.Group,{spacing:4,children:[s(c.Text,{children:"This feature requires"}),s(c.Text,{color:"blue",children:"Clearable"}),s(c.Text,{children:"to be checked"})]})]}),min:0,value:t.max_days,onChange:t.setMaxDays,hideControls:!0})]})}),cd=ee.observer(({value:e,onChange:t})=>{const n=Ie(),r=Q.default.useMemo(()=>n.queries.options,[n.queries.current]),i=r.length===0;return s(c.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})}),a8=`
430
430
  // row
431
431
  {
432
432
  label: string;
433
433
  value: string;
434
434
  description?: string; // optional
435
435
  }
436
- `,m0=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:o8})})]})},a8=ee.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[...r];return y(be,{children:[s(c.TextInput,{label:"Min-width",value:t.min_width,onChange:o=>t.setMinWidth(o.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Configure options",labelPosition:"center"}),y(c.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[t.usingQuery&&y(be,{children:[s(c.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),s(c.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:s(c.Text,{color:"white",size:16,children:"Using query"})})]}),r.length>0&&s(c.MultiSelect,{label:"Default Selection",data:i,value:[...t.default_value],onChange:t.setDefaultValue}),r.map((o,a)=>y(c.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[s(c.TextInput,{label:"Label",required:!0,value:t.static_options[a].label,onChange:l=>{t.static_options[a].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.TextInput,{label:"Value",required:!0,value:t.static_options[a].value,onChange:l=>{t.static_options[a].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(a),sx:{position:"absolute",top:28,right:5},children:s(re.Trash,{size:16})})]},a)),s(c.Button,{mt:10,size:"xs",color:"blue",leftIcon:s(re.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"})]}),s(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),s(c.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(m0,{})]})}),s8=ee.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[{label:"No default selection",value:""},...r];return y(be,{children:[s(c.Checkbox,{checked:t.required,onChange:o=>t.setRequired(o.currentTarget.checked),label:"Required"}),s(c.TextInput,{label:"Width",value:t.width,onChange:o=>t.setWidth(o.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Configure options",labelPosition:"center"}),y(c.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[t.usingQuery&&y(be,{children:[s(c.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),s(c.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:s(c.Text,{color:"white",size:16,children:"Using query"})})]}),r.length>0&&s(c.Select,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((o,a)=>y(c.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[s(c.TextInput,{label:"Label",required:!0,value:t.static_options[a].label,onChange:l=>{t.static_options[a].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.TextInput,{label:"Value",required:!0,value:t.static_options[a].value,onChange:l=>{t.static_options[a].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(a),sx:{position:"absolute",top:28,right:5},children:s(re.Trash,{size:16})})]},a)),s(c.Button,{size:"xs",color:"blue",leftIcon:s(re.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"})]}),s(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),s(c.Checkbox,{checked:t.default_selection_count===1,onChange:o=>t.setDefaultSelectionCount(o.currentTarget.checked?1:0),label:"Select the first option by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(m0,{})]})}),l8=ee.observer(function({config:t}){return y(be,{children:[s(c.TextInput,{label:"Default Value",value:t.default_value,onChange:n=>{t.setDefaultValue(n.currentTarget.value)}}),s(c.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"})]})}),u8=`
436
+ `,m0=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:a8})})]})},s8=ee.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[...r];return y(be,{children:[s(c.TextInput,{label:"Min-width",value:t.min_width,onChange:o=>t.setMinWidth(o.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Configure options",labelPosition:"center"}),y(c.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[t.usingQuery&&y(be,{children:[s(c.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),s(c.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:s(c.Text,{color:"white",size:16,children:"Using query"})})]}),r.length>0&&s(c.MultiSelect,{label:"Default Selection",data:i,value:[...t.default_value],onChange:t.setDefaultValue}),r.map((o,a)=>y(c.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[s(c.TextInput,{label:"Label",required:!0,value:t.static_options[a].label,onChange:l=>{t.static_options[a].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.TextInput,{label:"Value",required:!0,value:t.static_options[a].value,onChange:l=>{t.static_options[a].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(a),sx:{position:"absolute",top:28,right:5},children:s(re.Trash,{size:16})})]},a)),s(c.Button,{mt:10,size:"xs",color:"blue",leftIcon:s(re.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"})]}),s(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),s(c.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(m0,{})]})}),l8=ee.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[{label:"No default selection",value:""},...r];return y(be,{children:[s(c.Checkbox,{checked:t.required,onChange:o=>t.setRequired(o.currentTarget.checked),label:"Required"}),s(c.TextInput,{label:"Width",value:t.width,onChange:o=>t.setWidth(o.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Configure options",labelPosition:"center"}),y(c.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[t.usingQuery&&y(be,{children:[s(c.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),s(c.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:s(c.Text,{color:"white",size:16,children:"Using query"})})]}),r.length>0&&s(c.Select,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((o,a)=>y(c.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[s(c.TextInput,{label:"Label",required:!0,value:t.static_options[a].label,onChange:l=>{t.static_options[a].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.TextInput,{label:"Value",required:!0,value:t.static_options[a].value,onChange:l=>{t.static_options[a].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),s(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(a),sx:{position:"absolute",top:28,right:5},children:s(re.Trash,{size:16})})]},a)),s(c.Button,{size:"xs",color:"blue",leftIcon:s(re.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"})]}),s(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),s(c.Checkbox,{checked:t.default_selection_count===1,onChange:o=>t.setDefaultSelectionCount(o.currentTarget.checked?1:0),label:"Select the first option by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(m0,{})]})}),u8=ee.observer(function({config:t}){return y(be,{children:[s(c.TextInput,{label:"Default Value",value:t.default_value,onChange:n=>{t.setDefaultValue(n.currentTarget.value)}}),s(c.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"})]})}),c8=`
437
437
  // row
438
438
  {
439
439
  label: string;
@@ -441,7 +441,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
441
441
  parent_value: string;
442
442
  description?: string;
443
443
  }
444
- `,c8=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:u8})})]})},d8=ee.observer(function({config:t}){return y(be,{children:[s(c.TextInput,{label:"Min-width",value:t.min_width,onChange:n=>t.setMinWidth(n.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Fetch options from database",labelPosition:"center"}),s(c.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(c8,{})]})}),f8=ee.observer(function({filter:t}){const[n,r]=Q.default.useState(t.plainDefaultValue);return Q.default.useEffect(()=>{r(t.plainDefaultValue)},[t]),y(c.Box,{sx:{maxWidth:"480px"},children:[s(c.Text,{pb:"md",color:"gray",children:"Preview"}),s(Og,{filter:t,value:n,onChange:r}),s(c.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),s(ei.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),p8={select:s8,"multi-select":a8,"tree-select":d8,"text-input":l8,checkbox:n8,"date-range":i8},h8=[{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"}],g8=ee.observer(function({filter:t}){const n=Ie(),r=Q.default.useMemo(()=>p8[t.type],[t.type]);return y(c.Group,{grow:!0,spacing:20,align:"top",children:[y(c.Box,{sx:{maxWidth:"600px"},children:[s(c.Text,{pb:"md",color:"gray",children:"Edit"}),y(c.Stack,{children:[y(c.Group,{noWrap:!0,children:[s(c.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&s(c.Checkbox,{label:"Submit automatically",checked:t.auto_submit,onChange:i=>t.setAutoSubmit(i.currentTarget.checked),mt:22})]}),s(c.MultiSelect,{label:"Visible in...",data:n.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),s(c.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:i=>{t.setKey(i.currentTarget.value)}}),s(c.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:i=>{t.setLabel(i.currentTarget.value)}}),s(c.Select,{label:"Widget",data:h8,required:!0,value:t.type,onChange:t.setType}),s(r,{config:t.config})]})]}),s(f8,{filter:t})]})}),v8=ee.observer(({id:e})=>{const t=Vn.useModals(),n=Ie();if(e==="")return null;const r=n.filters.findByID(e);if(!r)return y(c.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 y(c.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[s(c.Group,{position:"right",pt:10,children:s(c.Button,{size:"xs",color:"red",leftIcon:s(re.Trash,{size:16}),onClick:i,children:"Delete this filter"})}),s(c.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s(g8,{filter:r})})]})}),m8=ee.observer(()=>{const e=Ie(),[t,n]=b.useState(()=>JSON.stringify(e.mock_context.current,null,4)),r=()=>{try{e.mock_context.replace(JSON.parse(t))}catch(o){Ko.showNotification({title:"Failed",message:o.message,color:"red"})}},i=b.useMemo(()=>{try{return JSON.stringify(JSON.parse(t))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[t,e.mock_context.current]);return y(c.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[s(c.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:s(c.Text,{weight:500,children:"Mock Context"})}),y(c.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[y(c.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[s(c.Text,{children:"A valid json string is required"}),s(c.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:t,onChange:n,sx:{flexGrow:1}})]}),s(c.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!i,onClick:r,children:s(re.DeviceFloppy,{size:20})})]})]})}),y8=ee.observer(()=>{const{panel:e}=Qt();return s(Eu,{label:"Description",value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),b8=ee.observer(()=>{const{panel:e}=Qt(),{style:t}=e;return s(be,{children:s(c.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),x8=ee.observer(()=>{const{panel:e}=Qt(),{title:t,setTitle:n}=e,[r,i]=qt.useInputState(t),o=t!==r,a=Q.default.useCallback(()=>{!o||n(r)},[o,r]);return b.useEffect(()=>{i(t)},[t]),s(c.TextInput,{value:r,onChange:i,label:y(c.Group,{children:[s(c.Text,{children:"Panel Title"}),s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:!o,onClick:a,children:s(re.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function w8(){return y(c.Stack,{sx:{height:"100%"},children:[s(c.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),s(b8,{}),s(c.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),s(x8,{}),s(y8,{})]})}const C8=ee.observer(({height:e})=>{const t=Ie(),{data:n,loading:r,error:i,panel:{viz:o,queryID:a}}=Qt(),l=t.queries.findByID(a);return s(hm,{viz:o,data:n,loading:r,error:i,query:l,height:e})}),S8=ee.observer(()=>{const{panel:{title:e,style:{border:t}}}=Qt();return s(Zn,{children:s(c.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:y(c.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[y(c.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[s(c.Group,{children:s(Rg,{})}),s(c.Group,{grow:!0,position:"center",children:s(c.Text,{lineClamp:1,weight:"bold",children:e})}),s(c.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),s(c.Group,{px:5,pb:5,sx:{flexGrow:1},children:s(C8,{height:"410px"})})]})})})}),_8=({queryID:e})=>{const t=Ie(),{state:n,error:r}=t.getDataStuffByID(e),i=Q.default.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:r?s(c.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?s(c.Text,{color:"gray",align:"center",children:i.stateMessage}):null},E8={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 T8({data:e}){const t=b.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const r=Yv();return Object.keys(e[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[e]),n=Qv({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Xv()});return e.length===0?s(c.Box,{sx:{height:"5em"}}):s(Zn,{children:y(c.Table,{sx:E8,children:[s("thead",{children:n.getHeaderGroups().map(r=>s("tr",{children:r.headers.map(i=>y("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Za(i.column.columnDef.header,i.getContext()),s(c.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:s(re.ArrowBarToRight,{})})]},i.id))},r.id))}),s("tbody",{children:n.getRowModel().rows.map(r=>s("tr",{children:r.getVisibleCells().map(i=>s("td",{children:s(Zn,{children:Za(i.column.columnDef.cell,i.getContext())})},i.id))},r.id))})]})})}const y0=ee.observer(function({id:t}){const n=Ie(),{data:r,state:i}=n.getDataStuffByID(t),o=i==="loading",a=()=>{n.queries.refetchDataByQueryID(t)},l=()=>{n.queries.downloadDataByQueryID(t)},u=b.useMemo(()=>Array.isArray(r)?r.slice(0,10):[],[r]),d=!Array.isArray(r)||r.length===0;return y(c.Stack,{sx:{border:"1px solid #eee"},children:[y(c.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[y(c.Group,{position:"left",children:[s(c.Text,{weight:500,children:"Preview Data"}),r.length>10&&y(c.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),y(c.Group,{pr:15,children:[s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:o,onClick:a,children:s(re.Refresh,{size:15})}),s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:o||d,onClick:l,children:s(re.Download,{size:15})})]})]}),y(c.Box,{sx:{position:"relative",overflow:"auto"},children:[s(c.LoadingOverlay,{visible:o}),s(_8,{queryID:t}),s(T8,{data:u})]})]})}),M8=ee.observer(function(){const t=Ie(),{panel:{queryID:n,setQueryID:r}}=Qt(),i=Q.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.name})),[t.queries.current]),o=()=>{t.editor.setPath(["_QUERIES_",n])};return y(c.Stack,{children:[y(c.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[s(c.Text,{children:"Use query"}),s(c.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:"1 !important"},maxDropdownHeight:300,rightSection:n&&s(c.Tooltip,{label:"Open this query",children:s(c.ActionIcon,{variant:"subtle",color:"blue",onClick:o,children:s(tx,{size:16})})})})]}),s(y0,{id:n})]})}),dd={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 k8{constructor(t){ke(this,"panel");ke(this,"selected");this.panel=t,It.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(dd.name)).length;this.panel.addVariable(W.cloneDeep({...dd,name:`${dd.name}${t||""}`})),this.selected=W.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&&!W.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function D8(){const{panel:e}=Qt();return tt.useCreation(()=>new k8(e),[e])}const O8=Q.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},o){const a=(l,u)=>{const d=H.default.cloneDeep(t);H.default.set(d,l,u),n(d)};return y(c.Box,{px:"sm",py:"md",ref:o,children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(c.TextInput,{label:"Name",required:!0,value:t.name,onChange:l=>a("name",l.currentTarget.value)}),s(Ye,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:l=>a("data_field",l)})]}),s($a,{label:"Aggregation",value:t.aggregation,onChange:l=>a("aggregation",l)}),s(c.Divider,{my:"xs",label:"Format",labelPosition:"center"}),s(Gn,{value:t.formatter,onChange:l=>a("formatter",l)}),i&&s(Xg,{value:t,onChange:n})]})}),b0=c.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}})),A8=e=>{const{uiModel:t}=e;return s(c.Stack,{className:"var-list",children:t.variables.map(n=>s(c.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})},R8=ee.observer(A8),P8=({variable:e,data:t})=>s(c.Group,{style:{minHeight:0,height:"calc(100% - 68px)"},children:s(c.Paper,{withBorder:!0,p:"md",children:mv(e,t)})}),I8=ee.observer(P8),N8=e=>{const t=tt.useCreation(()=>SB(e.variable),[e.variable]),{classes:n}=b0(),{data:r}=Qt();return y(c.Group,{style:{height:"100%"},align:"start",children:[y(c.Stack,{"data-testid":"variable-editor",align:"stretch",className:n.config,children:[y(c.Group,{position:"right",children:[s(c.ActionIcon,{variant:"filled",disabled:!t.changed,color:"primary",onClick:t.commit,children:s(Wi,{size:18})}),s(c.ActionIcon,{color:"red",onClick:()=>e.uiModel.remove(e.variable),children:s(qi,{size:18})})]}),s(O8,{value:O.getSnapshot(t.copy),onChange:t.update,data:r})]}),s(I8,{variable:O.getSnapshot(t.copy),data:r})]})},$8=ee.observer(N8),L8=()=>{const e=D8(),{classes:t}=b0();return y(c.Group,{className:t.root,noWrap:!0,align:"start",children:[s(c.Paper,{withBorder:!0,p:"md",className:"var-list-container",children:y(c.Stack,{justify:"space-between",children:[s(c.Box,{className:"var-list-actions",children:s(c.Button,{variant:"light",size:"sm",onClick:e.addNew,fullWidth:!0,children:"Add Variable"})}),s(R8,{uiModel:e})]})}),e.selected?s(be,{children:s($8,{uiModel:e,variable:e.selected})}):s("span",{children:"Select or create a new variable on right side"})]})},V8=ee.observer(L8);function z8(){const{vizManager:e}=b.useContext(Wn);return b.useMemo(()=>{const t=e.availableVizList.map(n=>{var r,i;return{value:n.name,label:(r=n.displayName)!=null?r:n.name,group:(i=n.displayGroup)!=null?i:""}});return H.default.orderBy(t,[n=>n.group,n=>n.label],["asc","asc"])},[e])}const F8=ee.observer(({value:e,submit:t})=>{const[n,r]=qt.useInputState(e);b.useEffect(()=>{r(e)},[e]);const i=z8(),o=e!==n;return s(c.Select,{label:"Visualization",value:n,searchable:!0,onChange:r,data:i,rightSection:s(c.ActionIcon,{disabled:!o,onClick:()=>t(n),children:s(re.DeviceFloppy,{size:20})}),maxDropdownHeight:600})}),x0=[];function B8(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function G8(){const{data:e,panel:{variables:t,viz:n,title:r,queryID:i,description:o,setDescription:a,setTitle:l,setQueryID:u,id:d}}=Qt(),{vizManager:f}=b.useContext(Wn),p={title:r,description:o,viz:n,queryID:i,id:d},h={setDescription:a,setQueryID:u,setTitle:l},g=dm(p);try{return f.resolveComponent(p.viz.type),s(Yo,{configure:g,children:s(c3,{variables:t,setVizConf:n.setConf,panel:p,panelInfoEditor:h,vizManager:f,data:e})})}catch(v){return console.info(W.get(v,"message")),null}}const j8=ee.observer(()=>{const{data:e,panel:{viz:t}}=Qt(),{vizManager:n}=b.useContext(Wn),r=Q.default.useCallback(d=>{if(d===t.type)return;const f=B8(n,d);t.setType(d),t.setConf(f||{})},[t.type]),i=d=>{try{t.setConf(JSON.parse(d))}catch(f){console.error(f)}},o=Q.default.useMemo(()=>{var d;return(d=x0.find(f=>f.value===t.type))==null?void 0:d.Panel},[t.type,x0]),a=G8(),l=o?b.createElement(o,{data:e,conf:t.conf,setConf:t.setConf}):null,u=a||l;return y(c.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[s(F8,{submit:r,value:t.type}),s(c.Box,{pb:50,sx:{maxHeight:"calc(100% - 80px)",overflow:"auto"},children:u}),!u&&s(c.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:i})]})}),K8=ee.observer(({panel:e})=>{const t=Ie(),[n,r]=b.useState(e.viewID);b.useEffect(()=>{r(e.viewID)},[e.viewID]);const[i,{open:o,close:a}]=qt.useDisclosure(!1),l=()=>{e.moveToView(n),a()};return y(be,{children:[s(c.Button,{size:"xs",variant:"subtle",color:"blue",onClick:o,leftIcon:s(Md,{size:14}),children:"Move into Another View"}),s(c.Modal,{opened:i,onClose:a,title:"Move panel into another view",zIndex:320,overflow:"inside",children:y(c.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[s(c.Radio.Group,{value:n,onChange:r,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:s(c.Stack,{spacing:"xs",children:t.views.options.map(u=>s(c.Radio,{value:u.value,label:u.label},u.value))})}),y(c.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[s(c.Button,{size:"xs",color:"red",leftIcon:s(Rd,{size:14}),onClick:a,children:"Cancel"}),s(c.Button,{size:"xs",color:"blue",leftIcon:s(Wi,{size:14}),onClick:l,disabled:n===e.viewID,children:"Confirm"})]})]})})]})}),W8={root:{flexGrow:1,width:"100%",height:"100%"},panel:{width:"100%",height:"100%",padding:10}},w0=({children:e})=>y(c.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"calc(100% - 36px)"},children:[s(c.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:e}),s(S8,{})]});function q8(e){return!["richText","button"].includes(e)}const H8=ee.observer(({panel:e})=>{const t=Vn.useModals(),n=Ie(),[r,i]=b.useState("Data"),{data:o,state:a,error:l}=n.getDataStuffByID(e.queryID),u=n.queries.findByID(e.queryID),f=q8(e.viz.type)&&a==="loading",p=f||l||!u||!!u.stateMessage;b.useEffect(()=>{i(v=>p&&v==="Visualization"?"Data":v)},[e.id,p]);const h=()=>{const v=n.editor.path;n.editor.setPath(["_VIEWS_",v[1]])},g=()=>t.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{e.removeSelf(),h()},confirmProps:{color:"red"},zIndex:320});return y(Ks,{value:{panel:e,data:o,loading:f,error:l},children:[y(c.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[y(c.Text,{pt:9,pb:8,children:[e.title?e.title:e.viz.type," "]}),y(c.Group,{position:"right",noWrap:!0,children:[s(K8,{panel:e}),s(c.Button,{size:"xs",variant:"subtle",color:"red",onClick:g,leftIcon:s(qi,{size:14}),children:"Delete This Panel"})]})]}),y(c.Tabs,{value:r,onTabChange:i,keepMounted:!1,styles:W8,children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",disabled:f,children:"Data"}),s(c.Tabs.Tab,{value:"Panel",children:"Panel"}),s(c.Tabs.Tab,{value:"Variables",disabled:p,children:s(c.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s(c.Text,{children:"Variables"})})}),s(c.Tabs.Tab,{value:"Visualization",disabled:p,children:s(c.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s(c.Text,{children:"Visualization"})})}),s(c.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),y(c.Tabs.Panel,{value:"Data",children:[s(c.LoadingOverlay,{visible:f,exitTransitionDuration:0}),s(M8,{})]}),s(c.Tabs.Panel,{value:"Panel",children:s(w0,{children:s(w8,{})})}),s(c.Tabs.Panel,{value:"Variables",children:s(V8,{})}),s(c.Tabs.Panel,{value:"Visualization",children:s(Zn,{children:s(w0,{children:s(j8,{})})})}),s(c.Tabs.Panel,{value:"Interactions",children:s(Zn,{children:s(l3,{})})})]})]})}),U8=ee.observer(({viewID:e,panelID:t})=>{const r=Ie().views.findByID(e);if(!r)return y(c.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=r.panels.findByID(t);return i?s(H8,{panel:i}):y(c.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),Y8=b.forwardRef(({label:e,type:t,...n},r)=>y(c.Group,{position:"apart",ref:r,...n,children:[s(c.Text,{children:e}),s(c.Text,{children:t})]})),X8=ee.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=tt.useRequest(oc,{refreshDeps:[]},[]),o=b.useMemo(()=>r.map(l=>({label:l.key,value:l.key,type:l.type})),[r]),a=b.useMemo(()=>o.reduce((l,u)=>(l[u.value]=u.type,l),{}),[o]);return s(c.Select,{label:"Data Source",data:o,itemComponent:Y8,sx:{flex:1},required:!0,disabled:i,value:t.key,onChange:l=>{l!==null&&n({key:l,type:a[l]})}})}),Q8=e=>{const{queryModel:t}=e,n=Ie(),i=n.findQueryUsage(t.id).length>0,o=Vn.useModals(),a=()=>{o.openConfirmModal({title:"Delete this query?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{n.queries.removeQuery(t.id),n.editor.setPath(["_QUERIES_",""])},zIndex:320})};return i?s(c.Tooltip,{label:"Can't delete this query for it's being used, check out Usage tab for details",withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,children:s(c.Button,{color:"gray",size:"xs",leftIcon:s(qi,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"})}):s(c.Button,{color:"red",size:"xs",onClick:a,leftIcon:s(qi,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"})},Z8=ee.observer(Q8),J8=ee.observer(({queryModel:e})=>s(c.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:y(c.Stack,{spacing:10,sx:{width:"100%"},children:[s(c.Divider,{mb:-10,variant:"dashed",label:"Basics",labelPosition:"center"}),s(c.TextInput,{placeholder:"A unique name",label:"Name",required:!0,sx:{flex:1},value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),s(X8,{value:{type:e.type,key:e.key},onChange:({type:t,key:n})=>{e.setKey(n),e.setType(t)}}),s(c.Divider,{mt:10,mb:-10,variant:"dashed",label:"Conditions",labelPosition:"center"}),s(c.MultiSelect,{label:"Run query when these are truthy",data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy}),s(c.Divider,{mt:20,mb:10,variant:"dashed"}),s(Z8,{queryModel:e})]})}));function eW(){const[e,{open:t,close:n}]=qt.useDisclosure(!1);return y(be,{children:[s(c.Modal,{opened:e,onClose:n,title:"About FunctionUtils",zIndex:320,children:s(Xo,{value:Q3,styles:{root:{border:"none"},content:{padding:0}}})}),s(c.Button,{variant:"light",color:"violet",size:"xs",onClick:t,leftIcon:s(Od,{size:16}),children:"About parameter 'utils'"})]})}const tW=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{sx:{position:"relative",flexGrow:1},children:s(Sn.default,{className:"function-editor",height:"100%",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1}}})})},Ns=b.forwardRef(({value:e,onChange:t,label:n,defaultValue:r},i)=>{const[o,a]=b.useState(e),l=()=>{t(o)},u=()=>{a(e)},d=()=>{a(r)};b.useEffect(()=>{a(e)},[e]);const f=o!==e;return y(c.Stack,{spacing:4,sx:{height:"100%"},children:[y(c.Group,{mb:6,position:"apart",sx:{flexShrink:0,flexGrow:0},children:[s(c.Group,{position:"left",children:s(eW,{})}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,size:"xs",variant:"default",leftIcon:s(Rx,{size:16}),children:"Reset to default"}),s(c.Button,{onClick:u,color:"red",size:"xs",disabled:!f,leftIcon:s(Ad,{size:16}),children:"Revert Changes"}),s(c.Button,{size:"xs",onClick:l,disabled:!f,leftIcon:s(Wi,{size:16}),children:"Confirm Changes"})]})]}),s(c.Text,{size:14,children:n}),s(tW,{value:o,onChange:a})]})}),nW=`
444
+ `,d8=()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),s(c.Collapse,{in:e,children:s(ei.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:c8})})]})},f8=ee.observer(function({config:t}){return y(be,{children:[s(c.TextInput,{label:"Min-width",value:t.min_width,onChange:n=>t.setMinWidth(n.currentTarget.value),placeholder:"200px"}),s(c.Divider,{label:"Fetch options from database",labelPosition:"center"}),s(c.NumberInput,{value:t.default_selection_count,onChange:t.setDefaultSelectionCount,label:"Select first N options by default"}),s(cd,{value:t.options_query_id,onChange:t.setOptionsQueryID}),s(d8,{})]})}),p8=ee.observer(function({filter:t}){const[n,r]=Q.default.useState(t.plainDefaultValue);return Q.default.useEffect(()=>{r(t.plainDefaultValue)},[t]),y(c.Box,{sx:{maxWidth:"480px"},children:[s(c.Text,{pb:"md",color:"gray",children:"Preview"}),s(Og,{filter:t,value:n,onChange:r}),s(c.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),s(ei.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),h8={select:l8,"multi-select":s8,"tree-select":f8,"text-input":u8,checkbox:r8,"date-range":o8},g8=[{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"}],v8=ee.observer(function({filter:t}){const n=Ie(),r=Q.default.useMemo(()=>h8[t.type],[t.type]);return y(c.Group,{grow:!0,spacing:20,align:"top",children:[y(c.Box,{sx:{maxWidth:"600px"},children:[s(c.Text,{pb:"md",color:"gray",children:"Edit"}),y(c.Stack,{children:[y(c.Group,{noWrap:!0,children:[s(c.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&s(c.Checkbox,{label:"Submit automatically",checked:t.auto_submit,onChange:i=>t.setAutoSubmit(i.currentTarget.checked),mt:22})]}),s(c.MultiSelect,{label:"Visible in...",data:n.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),s(c.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:i=>{t.setKey(i.currentTarget.value)}}),s(c.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:i=>{t.setLabel(i.currentTarget.value)}}),s(c.Select,{label:"Widget",data:g8,required:!0,value:t.type,onChange:t.setType}),s(r,{config:t.config})]})]}),s(p8,{filter:t})]})}),m8=ee.observer(({id:e})=>{const t=Vn.useModals(),n=Ie();if(e==="")return null;const r=n.filters.findByID(e);if(!r)return y(c.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 y(c.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[s(c.Group,{position:"right",pt:10,children:s(c.Button,{size:"xs",color:"red",leftIcon:s(re.Trash,{size:16}),onClick:i,children:"Delete this filter"})}),s(c.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s(v8,{filter:r})})]})}),y8=ee.observer(()=>{const e=Ie(),[t,n]=b.useState(()=>JSON.stringify(e.mock_context.current,null,4)),r=()=>{try{e.mock_context.replace(JSON.parse(t))}catch(o){Ko.showNotification({title:"Failed",message:o.message,color:"red"})}},i=b.useMemo(()=>{try{return JSON.stringify(JSON.parse(t))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[t,e.mock_context.current]);return y(c.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[s(c.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:s(c.Text,{weight:500,children:"Mock Context"})}),y(c.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[y(c.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[s(c.Text,{children:"A valid json string is required"}),s(c.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:t,onChange:n,sx:{flexGrow:1}})]}),s(c.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!i,onClick:r,children:s(re.DeviceFloppy,{size:20})})]})]})}),b8=ee.observer(()=>{const{panel:e}=Qt();return s(Eu,{label:"Description",value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),x8=ee.observer(()=>{const{panel:e}=Qt(),{style:t}=e;return s(be,{children:s(c.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),w8=ee.observer(()=>{const{panel:e}=Qt(),{title:t,setTitle:n}=e,[r,i]=qt.useInputState(t),o=t!==r,a=Q.default.useCallback(()=>{!o||n(r)},[o,r]);return b.useEffect(()=>{i(t)},[t]),s(c.TextInput,{value:r,onChange:i,label:y(c.Group,{children:[s(c.Text,{children:"Panel Title"}),s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:!o,onClick:a,children:s(re.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function C8(){return y(c.Stack,{sx:{height:"100%"},children:[s(c.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),s(x8,{}),s(c.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),s(w8,{}),s(b8,{})]})}const S8=ee.observer(({height:e})=>{const t=Ie(),{data:n,loading:r,error:i,panel:{viz:o,queryID:a}}=Qt(),l=t.queries.findByID(a);return s(hm,{viz:o,data:n,loading:r,error:i,query:l,height:e})}),_8=ee.observer(()=>{const{panel:{title:e,style:{border:t}}}=Qt();return s(Zn,{children:s(c.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:y(c.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[y(c.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[s(c.Group,{children:s(Rg,{})}),s(c.Group,{grow:!0,position:"center",children:s(c.Text,{lineClamp:1,weight:"bold",children:e})}),s(c.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),s(c.Group,{px:5,pb:5,sx:{flexGrow:1},children:s(S8,{height:"410px"})})]})})})}),E8=({queryID:e})=>{const t=Ie(),{state:n,error:r}=t.getDataStuffByID(e),i=Q.default.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:r?s(c.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?s(c.Text,{color:"gray",align:"center",children:i.stateMessage}):null},T8={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 M8({data:e}){const t=b.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const r=Yv();return Object.keys(e[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[e]),n=Qv({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Xv()});return e.length===0?s(c.Box,{sx:{height:"5em"}}):s(Zn,{children:y(c.Table,{sx:T8,children:[s("thead",{children:n.getHeaderGroups().map(r=>s("tr",{children:r.headers.map(i=>y("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Za(i.column.columnDef.header,i.getContext()),s(c.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:s(re.ArrowBarToRight,{})})]},i.id))},r.id))}),s("tbody",{children:n.getRowModel().rows.map(r=>s("tr",{children:r.getVisibleCells().map(i=>s("td",{children:s(Zn,{children:Za(i.column.columnDef.cell,i.getContext())})},i.id))},r.id))})]})})}const y0=ee.observer(function({id:t}){const n=Ie(),{data:r,state:i}=n.getDataStuffByID(t),o=i==="loading",a=()=>{n.queries.refetchDataByQueryID(t)},l=()=>{n.queries.downloadDataByQueryID(t)},u=b.useMemo(()=>Array.isArray(r)?r.slice(0,10):[],[r]),d=!Array.isArray(r)||r.length===0;return y(c.Stack,{sx:{border:"1px solid #eee"},children:[y(c.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[y(c.Group,{position:"left",children:[s(c.Text,{weight:500,children:"Preview Data"}),r.length>10&&y(c.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),y(c.Group,{pr:15,children:[s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:o,onClick:a,children:s(re.Refresh,{size:15})}),s(c.ActionIcon,{variant:"subtle",color:"blue",disabled:o||d,onClick:l,children:s(re.Download,{size:15})})]})]}),y(c.Box,{sx:{position:"relative",overflow:"auto"},children:[s(c.LoadingOverlay,{visible:o}),s(E8,{queryID:t}),s(M8,{data:u})]})]})}),k8=ee.observer(function(){const t=Ie(),{panel:{queryID:n,setQueryID:r}}=Qt(),i=Q.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.name})),[t.queries.current]),o=()=>{t.editor.setPath(["_QUERIES_",n])};return y(c.Stack,{children:[y(c.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[s(c.Text,{children:"Use query"}),s(c.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:"1 !important"},maxDropdownHeight:300,rightSection:n&&s(c.Tooltip,{label:"Open this query",children:s(c.ActionIcon,{variant:"subtle",color:"blue",onClick:o,children:s(tx,{size:16})})})})]}),s(y0,{id:n})]})}),dd={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 D8{constructor(t){ke(this,"panel");ke(this,"selected");this.panel=t,It.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(dd.name)).length;this.panel.addVariable(W.cloneDeep({...dd,name:`${dd.name}${t||""}`})),this.selected=W.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&&!W.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function O8(){const{panel:e}=Qt();return tt.useCreation(()=>new D8(e),[e])}const A8=Q.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},o){const a=(l,u)=>{const d=H.default.cloneDeep(t);H.default.set(d,l,u),n(d)};return y(c.Box,{px:"sm",py:"md",ref:o,children:[y(c.Group,{grow:!0,noWrap:!0,children:[s(c.TextInput,{label:"Name",required:!0,value:t.name,onChange:l=>a("name",l.currentTarget.value)}),s(Ye,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:l=>a("data_field",l)})]}),s($a,{label:"Aggregation",value:t.aggregation,onChange:l=>a("aggregation",l)}),s(c.Divider,{my:"xs",label:"Format",labelPosition:"center"}),s(Gn,{value:t.formatter,onChange:l=>a("formatter",l)}),i&&s(Xg,{value:t,onChange:n})]})}),b0=c.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}})),R8=e=>{const{uiModel:t}=e;return s(c.Stack,{className:"var-list",children:t.variables.map(n=>s(c.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})},P8=ee.observer(R8),I8=({variable:e,data:t})=>s(c.Group,{style:{minHeight:0,height:"calc(100% - 68px)"},children:s(c.Paper,{withBorder:!0,p:"md",children:mv(e,t)})}),N8=ee.observer(I8),$8=e=>{const t=tt.useCreation(()=>_B(e.variable),[e.variable]),{classes:n}=b0(),{data:r}=Qt();return y(c.Group,{style:{height:"100%"},align:"start",children:[y(c.Stack,{"data-testid":"variable-editor",align:"stretch",className:n.config,children:[y(c.Group,{position:"right",children:[s(c.ActionIcon,{variant:"filled",disabled:!t.changed,color:"primary",onClick:t.commit,children:s(Wi,{size:18})}),s(c.ActionIcon,{color:"red",onClick:()=>e.uiModel.remove(e.variable),children:s(qi,{size:18})})]}),s(A8,{value:O.getSnapshot(t.copy),onChange:t.update,data:r})]}),s(N8,{variable:O.getSnapshot(t.copy),data:r})]})},L8=ee.observer($8),V8=()=>{const e=O8(),{classes:t}=b0();return y(c.Group,{className:t.root,noWrap:!0,align:"start",children:[s(c.Paper,{withBorder:!0,p:"md",className:"var-list-container",children:y(c.Stack,{justify:"space-between",children:[s(c.Box,{className:"var-list-actions",children:s(c.Button,{variant:"light",size:"sm",onClick:e.addNew,fullWidth:!0,children:"Add Variable"})}),s(P8,{uiModel:e})]})}),e.selected?s(be,{children:s(L8,{uiModel:e,variable:e.selected})}):s("span",{children:"Select or create a new variable on right side"})]})},z8=ee.observer(V8);function F8(){const{vizManager:e}=b.useContext(Wn);return b.useMemo(()=>{const t=e.availableVizList.map(n=>{var r,i;return{value:n.name,label:(r=n.displayName)!=null?r:n.name,group:(i=n.displayGroup)!=null?i:""}});return H.default.orderBy(t,[n=>n.group,n=>n.label],["asc","asc"])},[e])}const B8=ee.observer(({value:e,submit:t})=>{const[n,r]=qt.useInputState(e);b.useEffect(()=>{r(e)},[e]);const i=F8(),o=e!==n;return s(c.Select,{label:"Visualization",value:n,searchable:!0,onChange:r,data:i,rightSection:s(c.ActionIcon,{disabled:!o,onClick:()=>t(n),children:s(re.DeviceFloppy,{size:20})}),maxDropdownHeight:600})}),x0=[];function G8(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function j8(){const{data:e,panel:{variables:t,viz:n,title:r,queryID:i,description:o,setDescription:a,setTitle:l,setQueryID:u,id:d}}=Qt(),{vizManager:f}=b.useContext(Wn),p={title:r,description:o,viz:n,queryID:i,id:d},h={setDescription:a,setQueryID:u,setTitle:l},g=dm(p);try{return f.resolveComponent(p.viz.type),s(Yo,{configure:g,children:s(d3,{variables:t,setVizConf:n.setConf,panel:p,panelInfoEditor:h,vizManager:f,data:e})})}catch(v){return console.info(W.get(v,"message")),null}}const K8=ee.observer(()=>{const{data:e,panel:{viz:t}}=Qt(),{vizManager:n}=b.useContext(Wn),r=Q.default.useCallback(d=>{if(d===t.type)return;const f=G8(n,d);t.setType(d),t.setConf(f||{})},[t.type]),i=d=>{try{t.setConf(JSON.parse(d))}catch(f){console.error(f)}},o=Q.default.useMemo(()=>{var d;return(d=x0.find(f=>f.value===t.type))==null?void 0:d.Panel},[t.type,x0]),a=j8(),l=o?b.createElement(o,{data:e,conf:t.conf,setConf:t.setConf}):null,u=a||l;return y(c.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[s(B8,{submit:r,value:t.type}),s(c.Box,{pb:50,sx:{maxHeight:"calc(100% - 80px)",overflow:"auto"},children:u}),!u&&s(c.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:i})]})}),W8=ee.observer(({panel:e})=>{const t=Ie(),[n,r]=b.useState(e.viewID);b.useEffect(()=>{r(e.viewID)},[e.viewID]);const[i,{open:o,close:a}]=qt.useDisclosure(!1),l=()=>{e.moveToView(n),a()};return y(be,{children:[s(c.Button,{size:"xs",variant:"subtle",color:"blue",onClick:o,leftIcon:s(Md,{size:14}),children:"Move into Another View"}),s(c.Modal,{opened:i,onClose:a,title:"Move panel into another view",zIndex:320,overflow:"inside",children:y(c.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[s(c.Radio.Group,{value:n,onChange:r,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:s(c.Stack,{spacing:"xs",children:t.views.options.map(u=>s(c.Radio,{value:u.value,label:u.label},u.value))})}),y(c.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[s(c.Button,{size:"xs",color:"red",leftIcon:s(Rd,{size:14}),onClick:a,children:"Cancel"}),s(c.Button,{size:"xs",color:"blue",leftIcon:s(Wi,{size:14}),onClick:l,disabled:n===e.viewID,children:"Confirm"})]})]})})]})}),q8={root:{flexGrow:1,width:"100%",height:"100%"},panel:{width:"100%",height:"100%",padding:10}},w0=({children:e})=>y(c.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"calc(100% - 36px)"},children:[s(c.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:e}),s(_8,{})]});function H8(e){return!["richText","button"].includes(e)}const U8=ee.observer(({panel:e})=>{const t=Vn.useModals(),n=Ie(),[r,i]=b.useState("Data"),{data:o,state:a,error:l}=n.getDataStuffByID(e.queryID),u=n.queries.findByID(e.queryID),f=H8(e.viz.type)&&a==="loading",p=f||l||!u||!!u.stateMessage;b.useEffect(()=>{i(v=>p&&v==="Visualization"?"Data":v)},[e.id,p]);const h=()=>{const v=n.editor.path;n.editor.setPath(["_VIEWS_",v[1]])},g=()=>t.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{e.removeSelf(),h()},confirmProps:{color:"red"},zIndex:320});return y(Ks,{value:{panel:e,data:o,loading:f,error:l},children:[y(c.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[y(c.Text,{pt:9,pb:8,children:[e.title?e.title:e.viz.type," "]}),y(c.Group,{position:"right",noWrap:!0,children:[s(W8,{panel:e}),s(c.Button,{size:"xs",variant:"subtle",color:"red",onClick:g,leftIcon:s(qi,{size:14}),children:"Delete This Panel"})]})]}),y(c.Tabs,{value:r,onTabChange:i,keepMounted:!1,styles:q8,children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Data",disabled:f,children:"Data"}),s(c.Tabs.Tab,{value:"Panel",children:"Panel"}),s(c.Tabs.Tab,{value:"Variables",disabled:p,children:s(c.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s(c.Text,{children:"Variables"})})}),s(c.Tabs.Tab,{value:"Visualization",disabled:p,children:s(c.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s(c.Text,{children:"Visualization"})})}),s(c.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),y(c.Tabs.Panel,{value:"Data",children:[s(c.LoadingOverlay,{visible:f,exitTransitionDuration:0}),s(k8,{})]}),s(c.Tabs.Panel,{value:"Panel",children:s(w0,{children:s(C8,{})})}),s(c.Tabs.Panel,{value:"Variables",children:s(z8,{})}),s(c.Tabs.Panel,{value:"Visualization",children:s(Zn,{children:s(w0,{children:s(K8,{})})})}),s(c.Tabs.Panel,{value:"Interactions",children:s(Zn,{children:s(u3,{})})})]})]})}),Y8=ee.observer(({viewID:e,panelID:t})=>{const r=Ie().views.findByID(e);if(!r)return y(c.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=r.panels.findByID(t);return i?s(U8,{panel:i}):y(c.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),X8=b.forwardRef(({label:e,type:t,...n},r)=>y(c.Group,{position:"apart",ref:r,...n,children:[s(c.Text,{children:e}),s(c.Text,{children:t})]})),Q8=ee.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=tt.useRequest(oc,{refreshDeps:[]},[]),o=b.useMemo(()=>r.map(l=>({label:l.key,value:l.key,type:l.type})),[r]),a=b.useMemo(()=>o.reduce((l,u)=>(l[u.value]=u.type,l),{}),[o]);return s(c.Select,{label:"Data Source",data:o,itemComponent:X8,sx:{flex:1},required:!0,disabled:i,value:t.key,onChange:l=>{l!==null&&n({key:l,type:a[l]})}})}),Z8=e=>{const{queryModel:t}=e,n=Ie(),i=n.findQueryUsage(t.id).length>0,o=Vn.useModals(),a=()=>{o.openConfirmModal({title:"Delete this query?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>{n.queries.removeQuery(t.id),n.editor.setPath(["_QUERIES_",""])},zIndex:320})};return i?s(c.Tooltip,{label:"Can't delete this query for it's being used, check out Usage tab for details",withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,children:s(c.Button,{color:"gray",size:"xs",leftIcon:s(qi,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"})}):s(c.Button,{color:"red",size:"xs",onClick:a,leftIcon:s(qi,{size:16}),sx:{alignSelf:"flex-end"},children:"Delete this Query"})},J8=ee.observer(Z8),eW=ee.observer(({queryModel:e})=>s(c.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:y(c.Stack,{spacing:10,sx:{width:"100%"},children:[s(c.Divider,{mb:-10,variant:"dashed",label:"Basics",labelPosition:"center"}),s(c.TextInput,{placeholder:"A unique name",label:"Name",required:!0,sx:{flex:1},value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),s(Q8,{value:{type:e.type,key:e.key},onChange:({type:t,key:n})=>{e.setKey(n),e.setType(t)}}),s(c.Divider,{mt:10,mb:-10,variant:"dashed",label:"Conditions",labelPosition:"center"}),s(c.MultiSelect,{label:"Run query when these are truthy",data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy}),s(c.Divider,{mt:20,mb:10,variant:"dashed"}),s(J8,{queryModel:e})]})}));function tW(){const[e,{open:t,close:n}]=qt.useDisclosure(!1);return y(be,{children:[s(c.Modal,{opened:e,onClose:n,title:"About FunctionUtils",zIndex:320,children:s(Xo,{value:Z3,styles:{root:{border:"none"},content:{padding:0}}})}),s(c.Button,{variant:"light",color:"violet",size:"xs",onClick:t,leftIcon:s(Od,{size:16}),children:"About parameter 'utils'"})]})}const nW=({value:e,onChange:t})=>{const n=r=>{!r||t(r)};return s(c.Box,{sx:{position:"relative",flexGrow:1},children:s(Sn.default,{className:"function-editor",height:"100%",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1}}})})},Ns=b.forwardRef(({value:e,onChange:t,label:n,defaultValue:r},i)=>{const[o,a]=b.useState(e),l=()=>{t(o)},u=()=>{a(e)},d=()=>{a(r)};b.useEffect(()=>{a(e)},[e]);const f=o!==e;return y(c.Stack,{spacing:4,sx:{height:"100%"},children:[y(c.Group,{mb:6,position:"apart",sx:{flexShrink:0,flexGrow:0},children:[s(c.Group,{position:"left",children:s(tW,{})}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,size:"xs",variant:"default",leftIcon:s(Rx,{size:16}),children:"Reset to default"}),s(c.Button,{onClick:u,color:"red",size:"xs",disabled:!f,leftIcon:s(Ad,{size:16}),children:"Revert Changes"}),s(c.Button,{size:"xs",onClick:l,disabled:!f,leftIcon:s(Wi,{size:16}),children:"Confirm Changes"})]})]}),s(c.Text,{size:14,children:n}),s(nW,{value:o,onChange:a})]})}),rW=`
445
445
  -- You may reference global variables in SQL or VizConfig.
446
446
  SELECT *
447
447
  FROM commit
@@ -453,8 +453,8 @@ WHERE
453
453
  -- SQL snippets
454
454
  AND \${sql_snippets.author_email_condition}
455
455
  \${sql_snippets.order_by_clause}
456
- `,C0=ee.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=Ie(),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 s(c.Stack,{sx:{overflow:"hidden",...n},children:y(c.Stack,{sx:{width:"100%"},children:[s(c.Text,{weight:500,sx:{flexGrow:0},children:"Guide"}),s(ei.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:nW}),s(c.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),s(ei.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})})}),fd=ee.observer(()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Modal,{opened:e,onClose:()=>t(!1),title:"Global Variables",zIndex:320,size:"800px",children:s(C0,{})}),s(c.Button,{variant:"subtle",onClick:()=>t(!0),children:"See Global Variables"})]})}),S0={pre:["function build_request({ context, filters }, utils) {"," // build the quest"," return { method, url, params, headers, data }","}"].join(`
456
+ `,C0=ee.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=Ie(),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 s(c.Stack,{sx:{overflow:"hidden",...n},children:y(c.Stack,{sx:{width:"100%"},children:[s(c.Text,{weight:500,sx:{flexGrow:0},children:"Guide"}),s(ei.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:rW}),s(c.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),s(ei.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})})}),fd=ee.observer(()=>{const[e,t]=b.useState(!1);return y(be,{children:[s(c.Modal,{opened:e,onClose:()=>t(!1),title:"Global Variables",zIndex:320,size:"800px",children:s(C0,{})}),s(c.Button,{variant:"subtle",onClick:()=>t(!0),children:"See Global Variables"})]})}),S0={pre:["function build_request({ context, filters }, utils) {"," // build the quest"," return { method, url, params, headers, data }","}"].join(`
457
457
  `),post:["function process_result(res, utils) {"," // your code goes here"," return data","}"].join(`
458
- `)},rW=ee.observer(({queryModel:e})=>e.typedAsHTTP?y(c.Tabs,{defaultValue:"pre_process",orientation:"vertical",sx:{flexGrow:1},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"pre_process",children:"Build Request"}),s(c.Tabs.Tab,{value:"post_process",children:"Process Result"}),s(fd,{})]}),s(c.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s(Ns,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:S0.pre})}),s(c.Tabs.Panel,{value:"post_process",p:"sm",children:s(Ns,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:S0.post})})]}):null),pd=({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 s(Sn.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}})},iW=({value:e,height:t="200px",defaultLanguage:n="sql"})=>s(Sn.default,{className:"preview-sql-in-monaco-editor",height:t,defaultLanguage:n,value:e,onChange:void 0,theme:"vs-light",options:{lineNumbers:"on",folding:!0,lineDecorationsWidth:20,wordWrap:"on",minimap:{enabled:!1},readOnly:!0}}),oW=ee.observer(({value:e})=>{const t=Ie(),n=t.context.current,r=Q.default.useMemo(()=>Im(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 s(iW,{height:"100%",value:r})}),_0={pre:["function process_request({ context, filters, sql }, utils) {"," // modify and return sql"," return sql","}"].join(`
458
+ `)},iW=ee.observer(({queryModel:e})=>e.typedAsHTTP?y(c.Tabs,{defaultValue:"pre_process",orientation:"vertical",sx:{flexGrow:1},children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"pre_process",children:"Build Request"}),s(c.Tabs.Tab,{value:"post_process",children:"Process Result"}),s(fd,{})]}),s(c.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s(Ns,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:S0.pre})}),s(c.Tabs.Panel,{value:"post_process",p:"sm",children:s(Ns,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:S0.post})})]}):null),pd=({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 s(Sn.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}})},oW=({value:e,height:t="200px",defaultLanguage:n="sql"})=>s(Sn.default,{className:"preview-sql-in-monaco-editor",height:t,defaultLanguage:n,value:e,onChange:void 0,theme:"vs-light",options:{lineNumbers:"on",folding:!0,lineDecorationsWidth:20,wordWrap:"on",minimap:{enabled:!1},readOnly:!0}}),aW=ee.observer(({value:e})=>{const t=Ie(),n=t.context.current,r=Q.default.useMemo(()=>Im(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 s(oW,{height:"100%",value:r})}),_0={pre:["function process_request({ context, filters, sql }, utils) {"," // modify and return sql"," return sql","}"].join(`
459
459
  `),post:["function process_result(data, utils) {"," // process data and return the result"," return data","}"].join(`
460
- `)},aW=ee.observer(({queryModel:e})=>{const[t,n]=Q.default.useState(e.sql);Q.default.useEffect(()=>{n(o=>o!==e.sql?e.sql:o)},[e.sql]);const r=t!==e.sql,i=()=>{e.setSQL(t)};return e.typedAsSQL?y(c.Tabs,{defaultValue:"Edit",orientation:"vertical",sx:{flexGrow:1},styles:{tabLabel:{width:"100%",height:"28px",lineHeight:"28px"}},keepMounted:!1,children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Edit",children:y(c.Group,{spacing:14,position:"apart",children:["Edit SQL",s(c.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!r,onClick:i,children:s(re.DeviceFloppy,{size:20})})]})}),s(c.Tabs.Tab,{value:"Preview",children:"Preview SQL"}),s(c.Tabs.Tab,{value:"pre_process",children:"Process Request"}),s(c.Tabs.Tab,{value:"post_process",children:"Process Result"}),s(fd,{})]}),s(c.Tabs.Panel,{value:"Edit",sx:{position:"relative"},p:"sm",children:s(pd,{height:"100%",value:t,onChange:n})}),s(c.Tabs.Panel,{value:"Preview",p:0,pl:4,children:s(oW,{value:e.sql})}),s(c.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s(Ns,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:_0.pre})}),s(c.Tabs.Panel,{value:"post_process",p:"sm",children:s(Ns,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:_0.post})})]}):null}),sW=ee.observer(({queryID:e,usage:t})=>{const n=Ie().editor,r=i=>{if(i.type==="filter"){n.setPath(["_FILTERS_",i.id]);return}if(i.type==="panel"){n.setPath(["_VIEWS_",i.viewID,"_PANELS_",i.id]);return}};return s(c.Stack,{py:"sm",px:"md",children:y(c.Table,{highlightOnHover:!0,children:[s("thead",{children:y("tr",{children:[s("th",{children:"Type"}),s("th",{children:"Name / Label"}),s("th",{children:"Action"})]})}),s("tbody",{children:t.map(i=>y("tr",{children:[s("td",{children:H.default.capitalize(i.type)}),s("td",{children:i.label}),s("td",{children:s(c.Button,{compact:!0,variant:"subtle",onClick:()=>r(i),children:"Open"})})]},i.id))})]})})}),$s={height:"calc(100% - 44px)",padding:0},lW=ee.observer(({queryModel:e})=>{const t=Ie(),n=b.useMemo(()=>e.datasource?e.typedAsHTTP?"HTTP":"SQL":"Configurations",[e.datasource,e.typedAsHTTP]),r=t.findQueryUsage(e.id),i=r.length===0;return s(c.Stack,{sx:{flexGrow:1},my:0,p:0,children:y(c.Tabs,{defaultValue:n,orientation:"horizontal",keepMounted:!1,sx:{flexGrow:1},children:[y(c.Tabs.List,{grow:!0,children:[s(c.Tabs.Tab,{value:"Configurations",children:"Configurations"}),e.typedAsSQL&&s(c.Tabs.Tab,{value:"SQL",children:"Request"}),e.typedAsHTTP&&s(c.Tabs.Tab,{value:"HTTP",children:"Request"}),s(c.Tabs.Tab,{value:"Data",disabled:!e.datasource,children:s(c.Tooltip,{label:"Need to pick a Data Source first",disabled:e.datasource,withinPortal:!0,children:s(c.Text,{children:"Data"})})}),s(c.Tabs.Tab,{value:"Usage",disabled:i,children:s(c.Tooltip,{label:"This query is not used for any filter or panel",disabled:!i,withinPortal:!0,children:s(c.Text,{children:"Usage"})})})]}),s(c.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:s(J8,{queryModel:e})}),e.typedAsSQL&&s(c.Tabs.Panel,{value:"SQL",sx:$s,children:s(c.Stack,{sx:{height:"100%"},children:s(aW,{queryModel:e})})}),e.typedAsHTTP&&s(c.Tabs.Panel,{value:"HTTP",sx:$s,children:s(c.Stack,{sx:{height:"100%"},children:s(rW,{queryModel:e})})}),s(c.Tabs.Panel,{value:"Data",sx:{...$s,overflow:"hidden"},children:s(y0,{id:e.id})}),s(c.Tabs.Panel,{value:"Usage",sx:{...$s,overflow:"hidden"},children:s(sW,{queryID:e.id,usage:r})})]})})}),uW=ee.observer(({id:e})=>{const t=Ie(),n=b.useMemo(()=>t.queries.findByID(e),[t.queries,e]);return e===""?null:n?s(c.Stack,{sx:{height:"100%"},spacing:"sm",children:s(lW,{queryModel:n})}):s(c.Text,{size:14,color:"red",children:"Invalid Query ID"})}),cW=ee.observer(({value:e})=>{const t=Ie(),n=t.context.current,r=iB(e,n,t.mock_context.current,t.filters.values);return s(pd,{height:"100%",value:r})}),dW=ee.observer(({item:e,remove:t,onKeyChanged:n})=>{const[r,i]=b.useState("SQL"),[o,a]=b.useState(e.key),l=()=>{e.setKey(o),n(o)},u=o!==e.key,d=e.isADuplicatedKey(o),[f,p]=b.useState(e.value),h=()=>{e.setValue(f)};b.useEffect(()=>{a(e.key),p(e.value)},[e]);const g=f!==e.value,v=Vn.useModals(),m=()=>{v.openConfirmModal({title:"Delete this SQL snippet?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:t,zIndex:320})};return y(c.Stack,{p:20,sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",children:[y(c.Group,{sx:{alignItems:"end"},spacing:40,children:[s(c.TextInput,{label:d?"This key is occupied by another snippet":"Key",value:o,onChange:w=>{a(w.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:s(c.ActionIcon,{color:"blue",variant:"subtle",onClick:l,disabled:!u||d,children:s(re.DeviceFloppy,{size:16})}),error:d}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:m,children:"Delete this SQL Snippet"})]}),y(c.Tabs,{value:r,onTabChange:i,sx:{flexGrow:1},styles:{panel:{height:"calc(100% - 50px)"}},children:[y(c.Tabs.List,{sx:{position:"relative"},children:[s(c.Tabs.Tab,{value:"SQL",children:"SQL"}),s(c.Tabs.Tab,{value:"Preview",children:"Preview"}),s(fd,{}),s(c.ActionIcon,{color:"blue",variant:"filled",onClick:h,disabled:!g,sx:{position:"absolute",top:0,right:10},children:s(re.DeviceFloppy,{size:18})})]}),s(c.Tabs.Panel,{value:"SQL",pt:"sm",children:s(pd,{height:"100%",value:f,onChange:p})}),s(c.Tabs.Panel,{value:"Preview",pt:"sm",children:s(cW,{value:f})})]})]})}),fW=ee.observer(({id:e})=>{const t=Ie(),n=b.useMemo(()=>t.sqlSnippets.findByKey(e),[e]);return n?s(dW,{item:n,remove:()=>t.sqlSnippets.removeByKey(e),onKeyChanged:o=>{t.editor.setPath(["_SQL_SNIPPETS_",o])}}):y(c.Text,{size:14,children:["SQL Snippet by key[",e,"] is not found"]})}),pW=ee.observer(({view:e})=>!e||e.type!==ot.Division?null:y(c.Stack,{children:[s(c.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),s(c.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})),hW=[{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"pills",label:"Pills"}],gW=[{value:"horizontal",label:"Horizontal"},{value:"vertical",label:"Vertical"}],vW=ee.observer(({view:e})=>{if(!e||e.type!==ot.Tabs)return null;const t=e.config;return y(c.Stack,{children:[s(c.Divider,{mt:8,mb:0,label:"Tabs settings",labelPosition:"center"}),s(c.Select,{label:"Variant",value:t.variant,onChange:t.setVariant,data:hW}),s(c.Select,{label:"Orientation",value:t.orientation,onChange:t.setOrientation,data:gW}),s(c.Switch,{label:"Grow Tabs",checked:t.grow,onChange:n=>t.setGrow(n.currentTarget.checked)})]})}),mW=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},yW=({value:e,onChange:t})=>{const[n,{setTrue:r,setFalse:i}]=tt.useBoolean(),[o,a]=b.useState(e!=null?e:ac),l=h=>{a({...o,enabled:h})},u=()=>{i();const{enabled:h,func_content:g}=o,v={enabled:h,func_content:g};a(v),t(v)},d=()=>{i(),a(e)},f=h=>{a(g=>({...g,func_content:h}))},p=()=>{f(ac.func_content)};return y(be,{children:[s(c.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:r,sx:{flexGrow:0},children:s(re.Settings,{size:14})}),s(c.Modal,{size:800,title:"Customize modal title",opened:n,onClose:i,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:n&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:o.enabled,onChange:h=>l(h.currentTarget.checked)}),s(mW,{value:o.func_content,onChange:f,disabled:!o.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},bW=ee.observer(({view:e})=>{if(!e||e.type!==ot.Modal)return null;const t=e.config,n=t.custom_modal_title.value;return y(c.Stack,{children:[s(c.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),y(c.Flex,{gap:10,children:[s(c.TextInput,{label:"Modal Title",value:n,onChange:H.default.noop,disabled:!0,sx:{flexGrow:1}}),s(yW,{value:t.custom_modal_title,onChange:t.custom_modal_title.replace})]}),y(c.Group,{grow:!0,children:[s(c.TextInput,{label:"Width",value:t.width,onChange:r=>t.setWidth(r.currentTarget.value),placeholder:"600px / 50vw"}),s(c.TextInput,{label:"Height",value:t.height,onChange:r=>t.setHeight(r.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),xW=ee.observer(({view:e})=>y(be,{children:[s(pW,{view:e}),s(bW,{view:e}),s(vW,{view:e})]})),wW=[{label:"Division",value:ot.Division},{label:"Modal",value:ot.Modal},{label:"Tabs",value:ot.Tabs}],CW=ee.observer(({view:e})=>e?y(c.Stack,{sx:{position:"relative"},children:[s(c.TextInput,{label:"Name",value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),s(c.Select,{label:"Type",withinPortal:!0,value:e.type,onChange:e.setType,data:wW}),s(xW,{view:e})]}):null),SW=ee.observer(({id:e})=>{const t=Vn.useModals(),n=Ie(),r=n.views.findByID(e);if(!r)return y(c.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 y(c.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[s(c.Group,{position:"right",pt:10,children:s(c.Button,{size:"xs",color:"red",leftIcon:s(re.Trash,{size:16}),onClick:i,children:"Delete this view"})}),s(c.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s(CW,{view:r})})]})});function _W(e){return e.length===1&&e[0]==="_GLOBAL_VARS_"}function EW(e){return e.length===1&&e[0]==="_MOCK_CONTEXT_"}function TW(e){return e.length===2&&e[0]==="_FILTERS_"}function MW(e){return e.length===2&&e[0]==="_SQL_SNIPPETS_"}function kW(e){return e.length===2&&e[0]==="_QUERIES_"}function DW(e){return e.length===2&&e[0]==="_VIEWS_"}function OW(e){return e.length===4&&e[0]==="_VIEWS_"&&e[2]==="_PANELS_"}const AW=ee.observer(()=>s(c.Stack,{sx:{height:"100%"},p:"sm",children:s(C0,{})})),RW=ee.observer(()=>{const e=Ie().editor,t=e.path;return _W(t)?s(AW,{}):EW(t)?s(m8,{}):TW(t)?s(c.Box,{p:"xs",pl:20,children:s(v8,{id:t[1]})}):MW(t)?s(fW,{id:t[1]}):kW(t)?s(uW,{id:t[1]}):DW(t)?s(c.Box,{p:"xs",pl:20,children:s(SW,{id:t[1]})}):OW(t)?s(U8,{viewID:t[1],panelID:t[3]}):s(c.Box,{children:e.path})}),PW=ee.observer(()=>(Ie().editor,s(RW,{}))),IW=ee.observer(()=>{const e=Ie(),t=()=>{const n=new Date().getTime().toString(),r={id:n,key:n,label:n,order:e.filters.current.length+1,type:ec.TextInput,config:Mm(),visibleInViewsIDs:["Main"],auto_submit:!1};e.filters.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),NW=ee.observer(({parentID:e})=>{const t=Ie();if(!e)return null;const n=t.views.findByID(e);return n?s(c.Button,{variant:"subtle",leftIcon:s(vr,{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}),$W=ee.observer(()=>{const e=Ie(),t=()=>{const n=new Date().getTime().toString(),r={id:n,name:n,type:kn.Postgresql,key:"",sql:""};e.queries.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),LW=ee.observer(()=>{const e=Ie(),t=()=>{const r={key:new Date().getTime().toString(),value:""};e.sqlSnippets.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),VW=ee.observer(()=>{const e=Ie();return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),zW=ee.observer(({action_type:e,parentID:t})=>(Ie(),e==="_Add_A_Filter_"?s(IW,{}):e==="_Add_A_SQL_SNIPPET_"?s(LW,{}):e==="_Add_A_QUERY_"?s($W,{}):e==="_Add_A_VIEW_"?s(VW,{}):e==="_Add_A_PANEL_"?s(NW,{parentID:t}):null)),E0=ee.observer(({option:e})=>{var d;const t=Ie().editor,n=t.isOptionActive,r=n(t.path,e),i=t.isOptionOpened,o=t.navigate,a=i(e),[l,u]=b.useState(a);return b.useEffect(()=>{u(a)},[a]),s(c.NavLink,{active:r,defaultOpened:a,opened:l,onChange:u,label:e.label,onClick:()=>o(e),icon:e.Icon?s(e.Icon,{size:18}):null,children:(d=e.children)==null?void 0:d.map(f=>f._type==="ACTION"?s(zW,{action_type:f._action_type,parentID:f.parentID},`_ADD_${f.value}_`):s(E0,{option:f},f.value))},e.label)}),FW=ee.observer(()=>{const e=Ie();return s(c.Box,{sx:{position:"relative"},children:e.editor.navOptions.map(t=>s(E0,{option:t},t.value))})}),BW=ee.observer(()=>{const e=Ie();return y(c.Navbar,{p:0,width:{base:200,xs:200,sm:220,md:240,lg:280,xl:300},sx:{height:"100vh - 60px - 60px"},children:[s(c.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s(c.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Settings"})}),s(c.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s(FW,{})}),s(c.Navbar.Section,{children:s(c.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s(c.Button,{size:"xs",color:"red",leftIcon:s(Rd,{size:18}),onClick:()=>e.editor.close(),children:"Close"})})})]})}),GW={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"}},jW=ee.observer(()=>{const e=Ie().editor;return s(c.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:s(c.AppShell,{padding:0,navbar:s(BW,{}),styles:GW,children:s(PW,{})})})}),KW=e=>e.replace(/([^:])(\/\/+)/g,"$1/");function WW(e){b.useEffect(()=>{if(Wo.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/dashboard");const n=KW(e);Wo.loader.config({paths:{vs:n}}),Wo.loader.init().then(r=>console.log("monaco instance:",r))},[])}const qW={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60,height:"100vh"}},HW=ee.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:o}){WW(o.monacoPath),bm(o);const{data:a=[]}=tt.useRequest(oc),[l,u]=Q.default.useState(!1),d=Q.default.useMemo(()=>sc(n,a,t),[n]);wd(d,!0),Q.default.useEffect(()=>{d.context.replace(t)},[t]),Q.default.useEffect(()=>{d.datasources.replace(a)},[a]);const f=async()=>{await r(d.json)},p=tt.useCreation(Zu,[]),h=lc(p);return s(Vn.ModalsProvider,{children:s(Gs,{value:d,children:s(Lr.Provider,{value:{layoutFrozen:l,freezeLayout:u,inEditMode:!0},children:s(Wn.Provider,{value:p,children:y(Yo,{configure:h,children:[s(c.AppShell,{padding:0,header:s(VB,{saveDashboardChanges:f}),navbar:s(t8,{}),styles:qW,children:s(c.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:d.views.visibleViews.map(g=>s(ym,{view:g},g.id))})}),s(jW,{})]})})})})})}),Tq="",UW=ee.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:o})=>{bm(r);const{data:a=[]}=tt.useRequest(oc),l=Q.default.useMemo(()=>sc(t,a,e),[t]);wd(l,!1),Q.default.useEffect(()=>{l.context.replace(e)},[e]),Q.default.useEffect(()=>{l.datasources.replace(a)},[a]);const u=tt.useCreation(Zu,[]),d=lc(u);return s(Vn.ModalsProvider,{children:s(Gs,{value:l,children:s(Ws.Provider,{value:{fullScreenPanelID:i,setFullScreenPanelID:o},children:s(Lr.Provider,{value:{layoutFrozen:!0,freezeLayout:H.default.noop,inEditMode:!1},children:s(c.Box,{className:`${n} dashboard-root`,children:s(Wn.Provider,{value:u,children:s(Yo,{configure:d,children:l.views.visibleViews.map(f=>s(rs,{view:f},f.id))})})})})})})})});var T0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(yn,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,o,a){var l,u=function(h,g,v){v===void 0&&(v={});var m=new Date(h),w=function(x,_){_===void 0&&(_={});var S=_.timeZoneName||"short",C=x+"|"+S,E=r[C];return E||(E=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:x,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[C]=E),E}(g,v);return w.formatToParts(m)},d=function(h,g){for(var v=u(h,g),m=[],w=0;w<v.length;w+=1){var x=v[w],_=x.type,S=x.value,C=n[_];C>=0&&(m[C]=parseInt(S,10))}var E=m[3],k=E===24?0:E,P=m[0]+"-"+m[1]+"-"+m[2]+" "+k+":"+m[4]+":"+m[5]+":000",V=+h;return(a.utc(P).valueOf()-(V-=V%1e3))/6e4},f=o.prototype;f.tz=function(h,g){h===void 0&&(h=l);var v=this.utcOffset(),m=this.toDate(),w=m.toLocaleString("en-US",{timeZone:h}),x=Math.round((m-new Date(w))/1e3/60),_=a(w).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-x,!0);if(g){var S=_.utcOffset();_=_.add(v-S,"minute")}return _.$x.$timezone=h,_},f.offsetName=function(h){var g=this.$x.$timezone||a.tz.guess(),v=u(this.valueOf(),g,{timeZoneName:h}).find(function(m){return m.type.toLowerCase()==="timezonename"});return v&&v.value};var p=f.startOf;f.startOf=function(h,g){if(!this.$x||!this.$x.$timezone)return p.call(this,h,g);var v=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return p.call(v,h,g).tz(this.$x.$timezone,!0)},a.tz=function(h,g,v){var m=v&&g,w=v||g||l,x=d(+a(),w);if(typeof h!="string")return a(h).tz(w);var _=function(k,P,V){var B=k-60*P*1e3,I=d(B,V);if(P===I)return[B,P];var A=d(B-=60*(I-P)*1e3,V);return I===A?[B,I]:[k-60*Math.min(I,A)*1e3,Math.max(I,A)]}(a.utc(h,m).valueOf(),x,w),S=_[0],C=_[1],E=a(S).utcOffset(C);return E.$x.$timezone=w,E},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(h){l=h}}})})(T0);const YW=T0.exports;var M0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(yn,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(o,a,l){var u=a.prototype;l.utc=function(m){var w={date:m,utc:!0,args:arguments};return new a(w)},u.utc=function(m){var w=l(this.toDate(),{locale:this.$L,utc:!0});return m?w.add(this.utcOffset(),n):w},u.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var d=u.parse;u.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),d.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 p=u.utcOffset;u.utcOffset=function(m,w){var x=this.$utils().u;if(x(m))return this.$u?0:x(this.$offset)?p.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 P=(""+k[0]).match(i)||["-",0,0],V=P[0],B=60*+P[1]+ +P[2];return B===0?0:V==="+"?B:-B}(m),m===null))return this;var _=Math.abs(m)<=16?60*m:m,S=this;if(w)return S.$offset=_,S.$u=m===0,S;if(m!==0){var C=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(S=this.local().add(_+C,n)).$offset=_,S.$x.$localOffset=C}else S=this.utc();return S};var h=u.format;u.format=function(m){var w=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.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?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var v=u.diff;u.diff=function(m,w,x){if(m&&this.$u===m.$u)return v.call(this,m,w,x);var _=this.local(),S=l(m).local();return v.call(_,S,w,x)}}})})(M0);const XW=M0.exports,QW=()=>Promise.resolve().then(()=>Q2).then(({version:e})=>(console.log(`[@devtable/dashboard] version: ${e}`),e));sn.default.extend(XW),sn.default.extend(YW),sn.default.tz.setDefault("UTC"),fe.ContextModel=zm,fe.Dashboard=HW,fe.DashboardFilterType=ec,fe.DashboardMode=vm,fe.DashboardModel=as,fe.DashboardViewEditor=ym,fe.DashboardViewRender=rs,fe.EViewComponentType=ot,fe.FilterModel=nc,fe.FiltersModel=Om,fe.FullScreenPanelContext=Ws,fe.LayoutStateContext=Lr,fe.ModelContextProvider=Gs,fe.Panel=ns,fe.PanelContextProvider=Ks,fe.QueriesModel=$m,fe.QueryModel=Nm,fe.ReadOnlyDashboard=UW,fe.SQLSnippetModel=Lm,fe.SQLSnippetsModel=Vm,fe.ViewComponentTypeBackground=mm,fe.ViewComponentTypeColor=_3,fe.ViewComponentTypeName=S3,fe.ViewModel=jm,fe.ViewsModel=Km,fe.createDashboardModel=sc,fe.createDashboardViewsModel=Wm,fe.getInitialFiltersPayload=Am,fe.getVersion=QW,fe.useFullScreenPanelContext=jd,fe.useModelContext=Ie,fe.usePanelContext=Qt,fe.useTopLevelServices=lc,Object.defineProperties(fe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
460
+ `)},sW=ee.observer(({queryModel:e})=>{const[t,n]=Q.default.useState(e.sql);Q.default.useEffect(()=>{n(o=>o!==e.sql?e.sql:o)},[e.sql]);const r=t!==e.sql,i=()=>{e.setSQL(t)};return e.typedAsSQL?y(c.Tabs,{defaultValue:"Edit",orientation:"vertical",sx:{flexGrow:1},styles:{tabLabel:{width:"100%",height:"28px",lineHeight:"28px"}},keepMounted:!1,children:[y(c.Tabs.List,{children:[s(c.Tabs.Tab,{value:"Edit",children:y(c.Group,{spacing:14,position:"apart",children:["Edit SQL",s(c.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!r,onClick:i,children:s(re.DeviceFloppy,{size:20})})]})}),s(c.Tabs.Tab,{value:"Preview",children:"Preview SQL"}),s(c.Tabs.Tab,{value:"pre_process",children:"Process Request"}),s(c.Tabs.Tab,{value:"post_process",children:"Process Result"}),s(fd,{})]}),s(c.Tabs.Panel,{value:"Edit",sx:{position:"relative"},p:"sm",children:s(pd,{height:"100%",value:t,onChange:n})}),s(c.Tabs.Panel,{value:"Preview",p:0,pl:4,children:s(aW,{value:e.sql})}),s(c.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s(Ns,{label:"",value:e.pre_process,onChange:e.setPreProcess,defaultValue:_0.pre})}),s(c.Tabs.Panel,{value:"post_process",p:"sm",children:s(Ns,{label:"",value:e.post_process,onChange:e.setPostProcess,defaultValue:_0.post})})]}):null}),lW=ee.observer(({queryID:e,usage:t})=>{const n=Ie().editor,r=i=>{if(i.type==="filter"){n.setPath(["_FILTERS_",i.id]);return}if(i.type==="panel"){n.setPath(["_VIEWS_",i.viewID,"_PANELS_",i.id]);return}};return s(c.Stack,{py:"sm",px:"md",children:y(c.Table,{highlightOnHover:!0,children:[s("thead",{children:y("tr",{children:[s("th",{children:"Type"}),s("th",{children:"Name / Label"}),s("th",{children:"Action"})]})}),s("tbody",{children:t.map(i=>y("tr",{children:[s("td",{children:H.default.capitalize(i.type)}),s("td",{children:i.label}),s("td",{children:s(c.Button,{compact:!0,variant:"subtle",onClick:()=>r(i),children:"Open"})})]},i.id))})]})})}),$s={height:"calc(100% - 44px)",padding:0},uW=ee.observer(({queryModel:e})=>{const t=Ie(),n=b.useMemo(()=>e.datasource?e.typedAsHTTP?"HTTP":"SQL":"Configurations",[e.datasource,e.typedAsHTTP]),r=t.findQueryUsage(e.id),i=r.length===0;return s(c.Stack,{sx:{flexGrow:1},my:0,p:0,children:y(c.Tabs,{defaultValue:n,orientation:"horizontal",keepMounted:!1,sx:{flexGrow:1},children:[y(c.Tabs.List,{grow:!0,children:[s(c.Tabs.Tab,{value:"Configurations",children:"Configurations"}),e.typedAsSQL&&s(c.Tabs.Tab,{value:"SQL",children:"Request"}),e.typedAsHTTP&&s(c.Tabs.Tab,{value:"HTTP",children:"Request"}),s(c.Tabs.Tab,{value:"Data",disabled:!e.datasource,children:s(c.Tooltip,{label:"Need to pick a Data Source first",disabled:e.datasource,withinPortal:!0,children:s(c.Text,{children:"Data"})})}),s(c.Tabs.Tab,{value:"Usage",disabled:i,children:s(c.Tooltip,{label:"This query is not used for any filter or panel",disabled:!i,withinPortal:!0,children:s(c.Text,{children:"Usage"})})})]}),s(c.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:s(eW,{queryModel:e})}),e.typedAsSQL&&s(c.Tabs.Panel,{value:"SQL",sx:$s,children:s(c.Stack,{sx:{height:"100%"},children:s(sW,{queryModel:e})})}),e.typedAsHTTP&&s(c.Tabs.Panel,{value:"HTTP",sx:$s,children:s(c.Stack,{sx:{height:"100%"},children:s(iW,{queryModel:e})})}),s(c.Tabs.Panel,{value:"Data",sx:{...$s,overflow:"hidden"},children:s(y0,{id:e.id})}),s(c.Tabs.Panel,{value:"Usage",sx:{...$s,overflow:"hidden"},children:s(lW,{queryID:e.id,usage:r})})]})})}),cW=ee.observer(({id:e})=>{const t=Ie(),n=b.useMemo(()=>t.queries.findByID(e),[t.queries,e]);return e===""?null:n?s(c.Stack,{sx:{height:"100%"},spacing:"sm",children:s(uW,{queryModel:n})}):s(c.Text,{size:14,color:"red",children:"Invalid Query ID"})}),dW=ee.observer(({value:e})=>{const t=Ie(),n=t.context.current,r=oB(e,n,t.mock_context.current,t.filters.values);return s(pd,{height:"100%",value:r})}),fW=ee.observer(({item:e,remove:t,onKeyChanged:n})=>{const[r,i]=b.useState("SQL"),[o,a]=b.useState(e.key),l=()=>{e.setKey(o),n(o)},u=o!==e.key,d=e.isADuplicatedKey(o),[f,p]=b.useState(e.value),h=()=>{e.setValue(f)};b.useEffect(()=>{a(e.key),p(e.value)},[e]);const g=f!==e.value,v=Vn.useModals(),m=()=>{v.openConfirmModal({title:"Delete this SQL snippet?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:t,zIndex:320})};return y(c.Stack,{p:20,sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",children:[y(c.Group,{sx:{alignItems:"end"},spacing:40,children:[s(c.TextInput,{label:d?"This key is occupied by another snippet":"Key",value:o,onChange:w=>{a(w.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:s(c.ActionIcon,{color:"blue",variant:"subtle",onClick:l,disabled:!u||d,children:s(re.DeviceFloppy,{size:16})}),error:d}),s(c.Button,{leftIcon:s(re.Trash,{size:16}),color:"red",variant:"light",onClick:m,children:"Delete this SQL Snippet"})]}),y(c.Tabs,{value:r,onTabChange:i,sx:{flexGrow:1},styles:{panel:{height:"calc(100% - 50px)"}},children:[y(c.Tabs.List,{sx:{position:"relative"},children:[s(c.Tabs.Tab,{value:"SQL",children:"SQL"}),s(c.Tabs.Tab,{value:"Preview",children:"Preview"}),s(fd,{}),s(c.ActionIcon,{color:"blue",variant:"filled",onClick:h,disabled:!g,sx:{position:"absolute",top:0,right:10},children:s(re.DeviceFloppy,{size:18})})]}),s(c.Tabs.Panel,{value:"SQL",pt:"sm",children:s(pd,{height:"100%",value:f,onChange:p})}),s(c.Tabs.Panel,{value:"Preview",pt:"sm",children:s(dW,{value:f})})]})]})}),pW=ee.observer(({id:e})=>{const t=Ie(),n=b.useMemo(()=>t.sqlSnippets.findByKey(e),[e]);return n?s(fW,{item:n,remove:()=>t.sqlSnippets.removeByKey(e),onKeyChanged:o=>{t.editor.setPath(["_SQL_SNIPPETS_",o])}}):y(c.Text,{size:14,children:["SQL Snippet by key[",e,"] is not found"]})}),hW=ee.observer(({view:e})=>!e||e.type!==ot.Division?null:y(c.Stack,{children:[s(c.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),s(c.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})),gW=[{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"pills",label:"Pills"}],vW=[{value:"horizontal",label:"Horizontal"},{value:"vertical",label:"Vertical"}],mW=ee.observer(({view:e})=>{if(!e||e.type!==ot.Tabs)return null;const t=e.config;return y(c.Stack,{children:[s(c.Divider,{mt:8,mb:0,label:"Tabs settings",labelPosition:"center"}),s(c.Select,{label:"Variant",value:t.variant,onChange:t.setVariant,data:gW}),s(c.Select,{label:"Orientation",value:t.orientation,onChange:t.setOrientation,data:vW}),s(c.Switch,{label:"Grow Tabs",checked:t.grow,onChange:n=>t.setGrow(n.currentTarget.checked)})]})}),yW=({disabled:e,value:t,onChange:n})=>{const r=i=>{!i||n(i)};return y(c.Box,{sx:{position:"relative"},children:[e&&s(c.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s(Sn.default,{height:"500px",defaultLanguage:"javascript",value:t,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})},bW=({value:e,onChange:t})=>{const[n,{setTrue:r,setFalse:i}]=tt.useBoolean(),[o,a]=b.useState(e!=null?e:ac),l=h=>{a({...o,enabled:h})},u=()=>{i();const{enabled:h,func_content:g}=o,v={enabled:h,func_content:g};a(v),t(v)},d=()=>{i(),a(e)},f=h=>{a(g=>({...g,func_content:h}))},p=()=>{f(ac.func_content)};return y(be,{children:[s(c.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:r,sx:{flexGrow:0},children:s(re.Settings,{size:14})}),s(c.Modal,{size:800,title:"Customize modal title",opened:n,onClose:i,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:n&&y(c.Stack,{children:[s(c.Checkbox,{mt:10,label:"Enabled",checked:o.enabled,onChange:h=>l(h.currentTarget.checked)}),s(yW,{value:o.func_content,onChange:f,disabled:!o.enabled}),y(c.Group,{position:"apart",children:[s(c.Button,{onClick:p,color:"red",leftIcon:s(re.Recycle,{size:20}),children:"Rest"}),y(c.Group,{position:"right",children:[s(c.Button,{onClick:d,variant:"subtle",children:"Cancel"}),s(c.Button,{onClick:u,children:"OK"})]})]})]})})]})},xW=ee.observer(({view:e})=>{if(!e||e.type!==ot.Modal)return null;const t=e.config,n=t.custom_modal_title.value;return y(c.Stack,{children:[s(c.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),y(c.Flex,{gap:10,children:[s(c.TextInput,{label:"Modal Title",value:n,onChange:H.default.noop,disabled:!0,sx:{flexGrow:1}}),s(bW,{value:t.custom_modal_title,onChange:t.custom_modal_title.replace})]}),y(c.Group,{grow:!0,children:[s(c.TextInput,{label:"Width",value:t.width,onChange:r=>t.setWidth(r.currentTarget.value),placeholder:"600px / 50vw"}),s(c.TextInput,{label:"Height",value:t.height,onChange:r=>t.setHeight(r.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),wW=ee.observer(({view:e})=>y(be,{children:[s(hW,{view:e}),s(xW,{view:e}),s(mW,{view:e})]})),CW=[{label:"Division",value:ot.Division},{label:"Modal",value:ot.Modal},{label:"Tabs",value:ot.Tabs}],SW=ee.observer(({view:e})=>e?y(c.Stack,{sx:{position:"relative"},children:[s(c.TextInput,{label:"Name",value:e.name,onChange:t=>{e.setName(t.currentTarget.value)}}),s(c.Select,{label:"Type",withinPortal:!0,value:e.type,onChange:e.setType,data:CW}),s(wW,{view:e})]}):null),_W=ee.observer(({id:e})=>{const t=Vn.useModals(),n=Ie(),r=n.views.findByID(e);if(!r)return y(c.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 y(c.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[s(c.Group,{position:"right",pt:10,children:s(c.Button,{size:"xs",color:"red",leftIcon:s(re.Trash,{size:16}),onClick:i,children:"Delete this view"})}),s(c.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s(SW,{view:r})})]})});function EW(e){return e.length===1&&e[0]==="_GLOBAL_VARS_"}function TW(e){return e.length===1&&e[0]==="_MOCK_CONTEXT_"}function MW(e){return e.length===2&&e[0]==="_FILTERS_"}function kW(e){return e.length===2&&e[0]==="_SQL_SNIPPETS_"}function DW(e){return e.length===2&&e[0]==="_QUERIES_"}function OW(e){return e.length===2&&e[0]==="_VIEWS_"}function AW(e){return e.length===4&&e[0]==="_VIEWS_"&&e[2]==="_PANELS_"}const RW=ee.observer(()=>s(c.Stack,{sx:{height:"100%"},p:"sm",children:s(C0,{})})),PW=ee.observer(()=>{const e=Ie().editor,t=e.path;return EW(t)?s(RW,{}):TW(t)?s(y8,{}):MW(t)?s(c.Box,{p:"xs",pl:20,children:s(m8,{id:t[1]})}):kW(t)?s(pW,{id:t[1]}):DW(t)?s(cW,{id:t[1]}):OW(t)?s(c.Box,{p:"xs",pl:20,children:s(_W,{id:t[1]})}):AW(t)?s(Y8,{viewID:t[1],panelID:t[3]}):s(c.Box,{children:e.path})}),IW=ee.observer(()=>(Ie().editor,s(PW,{}))),NW=ee.observer(()=>{const e=Ie(),t=()=>{const n=new Date().getTime().toString(),r={id:n,key:n,label:n,order:e.filters.current.length+1,type:ec.TextInput,config:Mm(),visibleInViewsIDs:["Main"],auto_submit:!1};e.filters.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),$W=ee.observer(({parentID:e})=>{const t=Ie();if(!e)return null;const n=t.views.findByID(e);return n?s(c.Button,{variant:"subtle",leftIcon:s(vr,{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}),LW=ee.observer(()=>{const e=Ie(),t=()=>{const n=new Date().getTime().toString(),r={id:n,name:n,type:kn.Postgresql,key:"",sql:""};e.queries.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),VW=ee.observer(()=>{const e=Ie(),t=()=>{const r={key:new Date().getTime().toString(),value:""};e.sqlSnippets.append(r)};return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),zW=ee.observer(()=>{const e=Ie();return s(c.Button,{variant:"subtle",leftIcon:s(vr,{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"})}),FW=ee.observer(({action_type:e,parentID:t})=>(Ie(),e==="_Add_A_Filter_"?s(NW,{}):e==="_Add_A_SQL_SNIPPET_"?s(VW,{}):e==="_Add_A_QUERY_"?s(LW,{}):e==="_Add_A_VIEW_"?s(zW,{}):e==="_Add_A_PANEL_"?s($W,{parentID:t}):null)),E0=ee.observer(({option:e})=>{var d;const t=Ie().editor,n=t.isOptionActive,r=n(t.path,e),i=t.isOptionOpened,o=t.navigate,a=i(e),[l,u]=b.useState(a);return b.useEffect(()=>{u(a)},[a]),s(c.NavLink,{active:r,defaultOpened:a,opened:l,onChange:u,label:e.label,onClick:()=>o(e),icon:e.Icon?s(e.Icon,{size:18}):null,children:(d=e.children)==null?void 0:d.map(f=>f._type==="ACTION"?s(FW,{action_type:f._action_type,parentID:f.parentID},`_ADD_${f.value}_`):s(E0,{option:f},f.value))},e.label)}),BW=ee.observer(()=>{const e=Ie();return s(c.Box,{sx:{position:"relative"},children:e.editor.navOptions.map(t=>s(E0,{option:t},t.value))})}),GW=ee.observer(()=>{const e=Ie();return y(c.Navbar,{p:0,width:{base:200,xs:200,sm:220,md:240,lg:280,xl:300},sx:{height:"100vh - 60px - 60px"},children:[s(c.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s(c.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:"Settings"})}),s(c.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s(BW,{})}),s(c.Navbar.Section,{children:s(c.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s(c.Button,{size:"xs",color:"red",leftIcon:s(Rd,{size:18}),onClick:()=>e.editor.close(),children:"Close"})})})]})}),jW={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"}},KW=ee.observer(()=>{const e=Ie().editor;return s(c.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:s(c.AppShell,{padding:0,navbar:s(GW,{}),styles:jW,children:s(IW,{})})})}),WW=e=>e.replace(/([^:])(\/\/+)/g,"$1/");function qW(e){b.useEffect(()=>{if(Wo.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/dashboard");const n=WW(e);Wo.loader.config({paths:{vs:n}}),Wo.loader.init().then(r=>console.log("monaco instance:",r))},[])}const HW={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60,height:"100vh"}},UW=ee.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:o}){qW(o.monacoPath),bm(o);const{data:a=[]}=tt.useRequest(oc),[l,u]=Q.default.useState(!1),d=Q.default.useMemo(()=>sc(n,a,t),[n]);wd(d,!0),Q.default.useEffect(()=>{d.context.replace(t)},[t]),Q.default.useEffect(()=>{d.datasources.replace(a)},[a]);const f=async()=>{await r(d.json)},p=tt.useCreation(Zu,[]),h=lc(p);return s(Vn.ModalsProvider,{children:s(Gs,{value:d,children:s(Lr.Provider,{value:{layoutFrozen:l,freezeLayout:u,inEditMode:!0},children:s(Wn.Provider,{value:p,children:y(Yo,{configure:h,children:[s(c.AppShell,{padding:0,header:s(zB,{saveDashboardChanges:f}),navbar:s(n8,{}),styles:HW,children:s(c.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:d.views.visibleViews.map(g=>s(ym,{view:g},g.id))})}),s(KW,{})]})})})})})}),Mq="",YW=ee.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:o})=>{bm(r);const{data:a=[]}=tt.useRequest(oc),l=Q.default.useMemo(()=>sc(t,a,e),[t]);wd(l,!1),Q.default.useEffect(()=>{l.context.replace(e)},[e]),Q.default.useEffect(()=>{l.datasources.replace(a)},[a]);const u=tt.useCreation(Zu,[]),d=lc(u);return s(Vn.ModalsProvider,{children:s(Gs,{value:l,children:s(Ws.Provider,{value:{fullScreenPanelID:i,setFullScreenPanelID:o},children:s(Lr.Provider,{value:{layoutFrozen:!0,freezeLayout:H.default.noop,inEditMode:!1},children:s(c.Box,{className:`${n} dashboard-root`,children:s(Wn.Provider,{value:u,children:s(Yo,{configure:d,children:l.views.visibleViews.map(f=>s(rs,{view:f},f.id))})})})})})})})});var T0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(yn,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,o,a){var l,u=function(h,g,v){v===void 0&&(v={});var m=new Date(h),w=function(x,_){_===void 0&&(_={});var S=_.timeZoneName||"short",C=x+"|"+S,E=r[C];return E||(E=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:x,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),r[C]=E),E}(g,v);return w.formatToParts(m)},d=function(h,g){for(var v=u(h,g),m=[],w=0;w<v.length;w+=1){var x=v[w],_=x.type,S=x.value,C=n[_];C>=0&&(m[C]=parseInt(S,10))}var E=m[3],k=E===24?0:E,P=m[0]+"-"+m[1]+"-"+m[2]+" "+k+":"+m[4]+":"+m[5]+":000",V=+h;return(a.utc(P).valueOf()-(V-=V%1e3))/6e4},f=o.prototype;f.tz=function(h,g){h===void 0&&(h=l);var v=this.utcOffset(),m=this.toDate(),w=m.toLocaleString("en-US",{timeZone:h}),x=Math.round((m-new Date(w))/1e3/60),_=a(w).$set("millisecond",this.$ms).utcOffset(15*-Math.round(m.getTimezoneOffset()/15)-x,!0);if(g){var S=_.utcOffset();_=_.add(v-S,"minute")}return _.$x.$timezone=h,_},f.offsetName=function(h){var g=this.$x.$timezone||a.tz.guess(),v=u(this.valueOf(),g,{timeZoneName:h}).find(function(m){return m.type.toLowerCase()==="timezonename"});return v&&v.value};var p=f.startOf;f.startOf=function(h,g){if(!this.$x||!this.$x.$timezone)return p.call(this,h,g);var v=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return p.call(v,h,g).tz(this.$x.$timezone,!0)},a.tz=function(h,g,v){var m=v&&g,w=v||g||l,x=d(+a(),w);if(typeof h!="string")return a(h).tz(w);var _=function(k,P,V){var B=k-60*P*1e3,I=d(B,V);if(P===I)return[B,P];var A=d(B-=60*(I-P)*1e3,V);return I===A?[B,I]:[k-60*Math.min(I,A)*1e3,Math.max(I,A)]}(a.utc(h,m).valueOf(),x,w),S=_[0],C=_[1],E=a(S).utcOffset(C);return E.$x.$timezone=w,E},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(h){l=h}}})})(T0);const XW=T0.exports;var M0={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(yn,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(o,a,l){var u=a.prototype;l.utc=function(m){var w={date:m,utc:!0,args:arguments};return new a(w)},u.utc=function(m){var w=l(this.toDate(),{locale:this.$L,utc:!0});return m?w.add(this.utcOffset(),n):w},u.local=function(){return l(this.toDate(),{locale:this.$L,utc:!1})};var d=u.parse;u.parse=function(m){m.utc&&(this.$u=!0),this.$utils().u(m.$offset)||(this.$offset=m.$offset),d.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 p=u.utcOffset;u.utcOffset=function(m,w){var x=this.$utils().u;if(x(m))return this.$u?0:x(this.$offset)?p.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 P=(""+k[0]).match(i)||["-",0,0],V=P[0],B=60*+P[1]+ +P[2];return B===0?0:V==="+"?B:-B}(m),m===null))return this;var _=Math.abs(m)<=16?60*m:m,S=this;if(w)return S.$offset=_,S.$u=m===0,S;if(m!==0){var C=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(S=this.local().add(_+C,n)).$offset=_,S.$x.$localOffset=C}else S=this.utc();return S};var h=u.format;u.format=function(m){var w=m||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.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?l(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():g.call(this)};var v=u.diff;u.diff=function(m,w,x){if(m&&this.$u===m.$u)return v.call(this,m,w,x);var _=this.local(),S=l(m).local();return v.call(_,S,w,x)}}})})(M0);const QW=M0.exports,ZW=()=>Promise.resolve().then(()=>Q2).then(({version:e})=>(console.log(`[@devtable/dashboard] version: ${e}`),e));sn.default.extend(QW),sn.default.extend(XW),sn.default.tz.setDefault("UTC"),fe.ContextModel=zm,fe.Dashboard=UW,fe.DashboardFilterType=ec,fe.DashboardMode=vm,fe.DashboardModel=as,fe.DashboardViewEditor=ym,fe.DashboardViewRender=rs,fe.EViewComponentType=ot,fe.FilterModel=nc,fe.FiltersModel=Om,fe.FullScreenPanelContext=Ws,fe.LayoutStateContext=Lr,fe.ModelContextProvider=Gs,fe.Panel=ns,fe.PanelContextProvider=Ks,fe.QueriesModel=$m,fe.QueryModel=Nm,fe.ReadOnlyDashboard=YW,fe.SQLSnippetModel=Lm,fe.SQLSnippetsModel=Vm,fe.ViewComponentTypeBackground=mm,fe.ViewComponentTypeColor=E3,fe.ViewComponentTypeName=_3,fe.ViewModel=jm,fe.ViewsModel=Km,fe.createDashboardModel=sc,fe.createDashboardViewsModel=Wm,fe.getInitialFiltersPayload=Am,fe.getVersion=ZW,fe.useFullScreenPanelContext=jd,fe.useModelContext=Ie,fe.usePanelContext=Qt,fe.useTopLevelServices=lc,Object.defineProperties(fe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});