@devtable/dashboard 6.0.0 → 6.1.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.
@@ -1,4 +1,4 @@
1
- (function(A,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@mantine/core"),require("@mantine/modals"),require("ahooks"),require("mobx-react-lite"),require("react"),require("lodash"),require("react-hook-form"),require("@mantine/dates"),require("dayjs"),require("tabler-icons-react"),require("jszip"),require("@mantine/prism"),require("@mantine/notifications"),require("axios"),require("crypto-js"),require("mobx-state-tree"),require("@mantine/hooks"),require("@mantine/rte"),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("echarts/charts"),require("numbro"),require("d3-array"),require("echarts-stat"),require("@mantine/form"),require("d3-regression"),require("react-virtual"),require("ajv"),require("stickybits"),require("react-grid-layout")):typeof define=="function"&&define.amd?define(["exports","@mantine/core","@mantine/modals","ahooks","mobx-react-lite","react","lodash","react-hook-form","@mantine/dates","dayjs","tabler-icons-react","jszip","@mantine/prism","@mantine/notifications","axios","crypto-js","mobx-state-tree","@mantine/hooks","@mantine/rte","mobx","eventemitter2","chroma-js","echarts-gl","echarts/core","echarts/components","echarts/renderers","echarts-for-react/lib/core","echarts/charts","numbro","d3-array","echarts-stat","@mantine/form","d3-regression","react-virtual","ajv","stickybits","react-grid-layout"],s):(A=typeof globalThis<"u"?globalThis:A||self,s(A.dashboard={},A["@mantine/core"],A["@mantine/modals"],A.ahooks,A["mobx-react-lite"],A.React,A._,A["react-hook-form"],A["@mantine/dates"],A.dayjs,A["tabler-icons-react"],A.jszip,A["@mantine/prism"],A["@mantine/notifications"],A.axios,A["crypto-js"],A["mobx-state-tree"],A["@mantine/hooks"],A["@mantine/rte"],A.mobx,A.eventemitter2,A["chroma-js"],A["echarts-gl"],A["echarts/core"],A["echarts/components"],A["echarts/renderers"],A["echarts-for-react/lib/core"],A["echarts/charts"],A.numbro,A["d3-array"],A["echarts-stat"],A["@mantine/form"],A["d3-regression"],A["react-virtual"],A.ajv,A.stickybits,A["react-grid-layout"]))})(this,function(A,s,Me,W,M,S,x,w,$o,Eo,$,ko,be,st,Ro,Oo,y,Z,Ot,ie,Po,Fo,Af,zo,U,Te,qo,_e,Go,No,Kn,Pt,Lo,jo,Bo,Wo,Ft){"use strict";var If=Object.defineProperty;var Mf=(A,s,Me)=>s in A?If(A,s,{enumerable:!0,configurable:!0,writable:!0,value:Me}):A[s]=Me;var k=(A,s,Me)=>(Mf(A,typeof s!="symbol"?s+"":s,Me),Me);const ue=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function zt(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 _=ue(S),Zn=zt(S),Y=ue(x),$e=ue(Eo),Uo=ue(ko),er=ue(Ro),Yo=ue(Oo),tr=ue(Ot),nr=ue(Po),Qe=ue(Fo),ee=zt(zo),Ee=ue(qo),fe=ue(Go),ke=zt(Lo),Ho=ue(Bo),Qo=ue(Wo),rr=ue(Ft);function ir(e,t){S.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]),S.useEffect(()=>{const n=r=>{console.log(r);const{dictionary:i,payload:a}=r.detail;if(!a||Object.keys(a).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(i).forEach(([l,u])=>{e.filters.setValueByKey(l,Y.default.get(a,u))})};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e])}class Jo{constructor(t){k(this,"symbol");this.symbol=Symbol(t)}}function Re(e){return new Jo(e)}class qt{constructor(){k(this,"parent");k(this,"factoryRegistry",new Map);k(this,"instanceRegistry",new Map)}createScoped(){const t=new qt;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=x.get(t,"dispose");x.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}var Le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},lt={exports:{}},Je={};/**
1
+ (function(V,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("@mantine/core"),require("@mantine/modals"),require("ahooks"),require("mobx-react-lite"),require("react"),require("lodash"),require("react-hook-form"),require("@mantine/dates"),require("dayjs"),require("tabler-icons-react"),require("jszip"),require("@mantine/prism"),require("@mantine/notifications"),require("axios"),require("crypto-js"),require("mobx-state-tree"),require("@mantine/hooks"),require("@mantine/rte"),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("echarts/charts"),require("numbro"),require("d3-array"),require("echarts-stat"),require("@mantine/form"),require("d3-regression"),require("react-virtual"),require("ajv"),require("stickybits"),require("react-grid-layout")):typeof define=="function"&&define.amd?define(["exports","@mantine/core","@mantine/modals","ahooks","mobx-react-lite","react","lodash","react-hook-form","@mantine/dates","dayjs","tabler-icons-react","jszip","@mantine/prism","@mantine/notifications","axios","crypto-js","mobx-state-tree","@mantine/hooks","@mantine/rte","mobx","eventemitter2","chroma-js","echarts-gl","echarts/core","echarts/components","echarts/renderers","echarts-for-react/lib/core","echarts/charts","numbro","d3-array","echarts-stat","@mantine/form","d3-regression","react-virtual","ajv","stickybits","react-grid-layout"],s):(V=typeof globalThis<"u"?globalThis:V||self,s(V.dashboard={},V["@mantine/core"],V["@mantine/modals"],V.ahooks,V["mobx-react-lite"],V.React,V._,V["react-hook-form"],V["@mantine/dates"],V.dayjs,V["tabler-icons-react"],V.jszip,V["@mantine/prism"],V["@mantine/notifications"],V.axios,V["crypto-js"],V["mobx-state-tree"],V["@mantine/hooks"],V["@mantine/rte"],V.mobx,V.eventemitter2,V["chroma-js"],V["echarts-gl"],V["echarts/core"],V["echarts/components"],V["echarts/renderers"],V["echarts-for-react/lib/core"],V["echarts/charts"],V.numbro,V["d3-array"],V["echarts-stat"],V["@mantine/form"],V["d3-regression"],V["react-virtual"],V.ajv,V.stickybits,V["react-grid-layout"]))})(this,function(V,s,Ie,j,I,w,x,S,Oo,Po,T,Fo,be,st,zo,qo,y,Z,Rt,ie,Go,No,qf,Lo,U,Te,Bo,_e,jo,Wo,Hn,Ot,Uo,Yo,Ho,Qo,Pt){"use strict";var Ff=Object.defineProperty;var zf=(V,s,Ie)=>s in V?Ff(V,s,{enumerable:!0,configurable:!0,writable:!0,value:Ie}):V[s]=Ie;var $=(V,s,Ie)=>(zf(V,typeof s!="symbol"?s+"":s,Ie),Ie);const le=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Ft(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 _=le(w),Qn=Ft(w),Y=le(x),ke=le(Po),Jo=le(Fo),Jn=le(zo),Xo=le(qo),Xn=le(Rt),Kn=le(Go),Qe=le(No),ee=Ft(Lo),Ee=le(Bo),ge=le(jo),$e=Ft(Uo),Ko=le(Ho),Zo=le(Qo),Zn=le(Pt);function er(e,t){w.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]),w.useEffect(()=>{const n=r=>{console.log(r);const{dictionary:i,payload:a}=r.detail;if(!a||Object.keys(a).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(i).forEach(([l,u])=>{e.filters.setValueByKey(l,Y.default.get(a,u))})};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e]),w.useEffect(()=>{const n=r=>{console.log(r);const{urlTemplate:i,openInNewTab:a,enableEncoding:l=!1,payload:u}=r.detail;if(!i){console.error(new Error("[Open Link] URL is empty"));return}function c(h){return x.cloneDeepWith(h,v=>{if(l&&typeof v=="string")return encodeURIComponent(v)})}const d=x.template(i||"")(c({...u,filters:e.filters.values,context:e.context.current}));window.open(d,a?"_blank":"_self","noopener")};return window.addEventListener("open-link",n),()=>{window.removeEventListener("open-link",n)}},[e])}class ea{constructor(t){$(this,"symbol");this.symbol=Symbol(t)}}function Re(e){return new ea(e)}class zt{constructor(){$(this,"parent");$(this,"factoryRegistry",new Map);$(this,"instanceRegistry",new Map)}createScoped(){const t=new zt;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=x.get(t,"dispose");x.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}var Le=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},lt={exports:{}},Je={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var or;function Xo(){if(or)return Je;or=1;var e=_.default,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,c,p){var d,f={},h=null,v=null;p!==void 0&&(h=""+p),c.key!==void 0&&(h=""+c.key),c.ref!==void 0&&(v=c.ref);for(d in c)r.call(c,d)&&!a.hasOwnProperty(d)&&(f[d]=c[d]);if(u&&u.defaultProps)for(d in c=u.defaultProps,c)f[d]===void 0&&(f[d]=c[d]);return{$$typeof:t,type:u,key:h,ref:v,props:f,_owner:i.current}}return Je.Fragment=n,Je.jsx=l,Je.jsxs=l,Je}var Xe={};/**
9
+ */var tr;function ta(){if(tr)return Je;tr=1;var e=_.default,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function l(u,c,p){var d,h={},f=null,v=null;p!==void 0&&(f=""+p),c.key!==void 0&&(f=""+c.key),c.ref!==void 0&&(v=c.ref);for(d in c)r.call(c,d)&&!a.hasOwnProperty(d)&&(h[d]=c[d]);if(u&&u.defaultProps)for(d in c=u.defaultProps,c)h[d]===void 0&&(h[d]=c[d]);return{$$typeof:t,type:u,key:f,ref:v,props:h,_owner:i.current}}return Je.Fragment=n,Je.jsx=l,Je.jsxs=l,Je}var Xe={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,18 +14,18 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var ar;function Ko(){return ar||(ar=1,process.env.NODE_ENV!=="production"&&function(){var e=_.default,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),v=Symbol.for("react.offscreen"),C=Symbol.iterator,b="@@iterator";function D(m){if(m===null||typeof m!="object")return null;var I=C&&m[C]||m[b];return typeof I=="function"?I:null}var T=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function E(m){{for(var I=arguments.length,V=new Array(I>1?I-1:0),R=1;R<I;R++)V[R-1]=arguments[R];O("error",m,V)}}function O(m,I,V){{var R=T.ReactDebugCurrentFrame,N=R.getStackAddendum();N!==""&&(I+="%s",V=V.concat([N]));var B=V.map(function(q){return String(q)});B.unshift("Warning: "+I),Function.prototype.apply.call(console[m],console,B)}}var F=!1,L=!1,se=!1,ne=!1,ve=!1,ce;ce=Symbol.for("react.module.reference");function Se(m){return!!(typeof m=="string"||typeof m=="function"||m===r||m===a||ve||m===i||m===p||m===d||ne||m===v||F||L||se||typeof m=="object"&&m!==null&&(m.$$typeof===h||m.$$typeof===f||m.$$typeof===l||m.$$typeof===u||m.$$typeof===c||m.$$typeof===ce||m.getModuleId!==void 0))}function re(m,I,V){var R=m.displayName;if(R)return R;var N=I.displayName||I.name||"";return N!==""?V+"("+N+")":V}function we(m){return m.displayName||"Context"}function de(m){if(m==null)return null;if(typeof m.tag=="number"&&E("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof m=="function")return m.displayName||m.name||null;if(typeof m=="string")return m;switch(m){case r:return"Fragment";case n:return"Portal";case a:return"Profiler";case i:return"StrictMode";case p:return"Suspense";case d:return"SuspenseList"}if(typeof m=="object")switch(m.$$typeof){case u:var I=m;return we(I)+".Consumer";case l:var V=m;return we(V._context)+".Provider";case c:return re(m,m.render,"ForwardRef");case f:var R=m.displayName||null;return R!==null?R:de(m.type)||"Memo";case h:{var N=m,B=N._payload,q=N._init;try{return de(q(B))}catch{return null}}}return null}var pe=Object.assign,Ne=0,lo,uo,co,po,go,fo,ho;function mo(){}mo.__reactDisabledLog=!0;function ef(){{if(Ne===0){lo=console.log,uo=console.info,co=console.warn,po=console.error,go=console.group,fo=console.groupCollapsed,ho=console.groupEnd;var m={configurable:!0,enumerable:!0,value:mo,writable:!0};Object.defineProperties(console,{info:m,log:m,warn:m,error:m,group:m,groupCollapsed:m,groupEnd:m})}Ne++}}function tf(){{if(Ne--,Ne===0){var m={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:pe({},m,{value:lo}),info:pe({},m,{value:uo}),warn:pe({},m,{value:co}),error:pe({},m,{value:po}),group:pe({},m,{value:go}),groupCollapsed:pe({},m,{value:fo}),groupEnd:pe({},m,{value:ho})})}Ne<0&&E("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Bn=T.ReactCurrentDispatcher,Wn;function Tt(m,I,V){{if(Wn===void 0)try{throw Error()}catch(N){var R=N.stack.trim().match(/\n( *(at )?)/);Wn=R&&R[1]||""}return`
18
- `+Wn+m}}var Un=!1,$t;{var nf=typeof WeakMap=="function"?WeakMap:Map;$t=new nf}function vo(m,I){if(!m||Un)return"";{var V=$t.get(m);if(V!==void 0)return V}var R;Un=!0;var N=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var B;B=Bn.current,Bn.current=null,ef();try{if(I){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(Ve){R=Ve}Reflect.construct(m,[],q)}else{try{q.call()}catch(Ve){R=Ve}m.call(q.prototype)}}else{try{throw Error()}catch(Ve){R=Ve}m()}}catch(Ve){if(Ve&&R&&typeof Ve.stack=="string"){for(var z=Ve.stack.split(`
19
- `),le=R.stack.split(`
20
- `),X=z.length-1,K=le.length-1;X>=1&&K>=0&&z[X]!==le[K];)K--;for(;X>=1&&K>=0;X--,K--)if(z[X]!==le[K]){if(X!==1||K!==1)do if(X--,K--,K<0||z[X]!==le[K]){var ye=`
21
- `+z[X].replace(" at new "," at ");return m.displayName&&ye.includes("<anonymous>")&&(ye=ye.replace("<anonymous>",m.displayName)),typeof m=="function"&&$t.set(m,ye),ye}while(X>=1&&K>=0);break}}}finally{Un=!1,Bn.current=B,tf(),Error.prepareStackTrace=N}var He=m?m.displayName||m.name:"",To=He?Tt(He):"";return typeof m=="function"&&$t.set(m,To),To}function rf(m,I,V){return vo(m,!1)}function of(m){var I=m.prototype;return!!(I&&I.isReactComponent)}function Et(m,I,V){if(m==null)return"";if(typeof m=="function")return vo(m,of(m));if(typeof m=="string")return Tt(m);switch(m){case p:return Tt("Suspense");case d:return Tt("SuspenseList")}if(typeof m=="object")switch(m.$$typeof){case c:return rf(m.render);case f:return Et(m.type,I,V);case h:{var R=m,N=R._payload,B=R._init;try{return Et(B(N),I,V)}catch{}}}return""}var kt=Object.prototype.hasOwnProperty,yo={},bo=T.ReactDebugCurrentFrame;function Rt(m){if(m){var I=m._owner,V=Et(m.type,m._source,I?I.type:null);bo.setExtraStackFrame(V)}else bo.setExtraStackFrame(null)}function af(m,I,V,R,N){{var B=Function.call.bind(kt);for(var q in m)if(B(m,q)){var z=void 0;try{if(typeof m[q]!="function"){var le=Error((R||"React class")+": "+V+" type `"+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof m[q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw le.name="Invariant Violation",le}z=m[q](I,q,R,V,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(X){z=X}z&&!(z instanceof Error)&&(Rt(N),E("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",R||"React class",V,q,typeof z),Rt(null)),z instanceof Error&&!(z.message in yo)&&(yo[z.message]=!0,Rt(N),E("Failed %s type: %s",V,z.message),Rt(null))}}}var sf=Array.isArray;function Yn(m){return sf(m)}function lf(m){{var I=typeof Symbol=="function"&&Symbol.toStringTag,V=I&&m[Symbol.toStringTag]||m.constructor.name||"Object";return V}}function uf(m){try{return Co(m),!1}catch{return!0}}function Co(m){return""+m}function xo(m){if(uf(m))return E("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",lf(m)),Co(m)}var at=T.ReactCurrentOwner,cf={key:!0,ref:!0,__self:!0,__source:!0},So,wo,Hn;Hn={};function df(m){if(kt.call(m,"ref")){var I=Object.getOwnPropertyDescriptor(m,"ref").get;if(I&&I.isReactWarning)return!1}return m.ref!==void 0}function pf(m){if(kt.call(m,"key")){var I=Object.getOwnPropertyDescriptor(m,"key").get;if(I&&I.isReactWarning)return!1}return m.key!==void 0}function gf(m,I){if(typeof m.ref=="string"&&at.current&&I&&at.current.stateNode!==I){var V=de(at.current.type);Hn[V]||(E('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',de(at.current.type),m.ref),Hn[V]=!0)}}function ff(m,I){{var V=function(){So||(So=!0,E("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",I))};V.isReactWarning=!0,Object.defineProperty(m,"key",{get:V,configurable:!0})}}function hf(m,I){{var V=function(){wo||(wo=!0,E("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",I))};V.isReactWarning=!0,Object.defineProperty(m,"ref",{get:V,configurable:!0})}}var mf=function(m,I,V,R,N,B,q){var z={$$typeof:t,type:m,key:I,ref:V,props:q,_owner:B};return z._store={},Object.defineProperty(z._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(z,"_self",{configurable:!1,enumerable:!1,writable:!1,value:R}),Object.defineProperty(z,"_source",{configurable:!1,enumerable:!1,writable:!1,value:N}),Object.freeze&&(Object.freeze(z.props),Object.freeze(z)),z};function vf(m,I,V,R,N){{var B,q={},z=null,le=null;V!==void 0&&(xo(V),z=""+V),pf(I)&&(xo(I.key),z=""+I.key),df(I)&&(le=I.ref,gf(I,N));for(B in I)kt.call(I,B)&&!cf.hasOwnProperty(B)&&(q[B]=I[B]);if(m&&m.defaultProps){var X=m.defaultProps;for(B in X)q[B]===void 0&&(q[B]=X[B])}if(z||le){var K=typeof m=="function"?m.displayName||m.name||"Unknown":m;z&&ff(q,K),le&&hf(q,K)}return mf(m,z,le,N,R,at.current,q)}}var Qn=T.ReactCurrentOwner,_o=T.ReactDebugCurrentFrame;function Ye(m){if(m){var I=m._owner,V=Et(m.type,m._source,I?I.type:null);_o.setExtraStackFrame(V)}else _o.setExtraStackFrame(null)}var Jn;Jn=!1;function Xn(m){return typeof m=="object"&&m!==null&&m.$$typeof===t}function Do(){{if(Qn.current){var m=de(Qn.current.type);if(m)return`
17
+ */var nr;function na(){return nr||(nr=1,process.env.NODE_ENV!=="production"&&function(){var e=_.default,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),v=Symbol.for("react.offscreen"),C=Symbol.iterator,b="@@iterator";function D(m){if(m===null||typeof m!="object")return null;var M=C&&m[C]||m[b];return typeof M=="function"?M:null}var k=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function E(m){{for(var M=arguments.length,A=new Array(M>1?M-1:0),R=1;R<M;R++)A[R-1]=arguments[R];O("error",m,A)}}function O(m,M,A){{var R=k.ReactDebugCurrentFrame,N=R.getStackAddendum();N!==""&&(M+="%s",A=A.concat([N]));var W=A.map(function(q){return String(q)});W.unshift("Warning: "+M),Function.prototype.apply.call(console[m],console,W)}}var F=!1,L=!1,ae=!1,ne=!1,ve=!1,ce;ce=Symbol.for("react.module.reference");function we(m){return!!(typeof m=="string"||typeof m=="function"||m===r||m===a||ve||m===i||m===p||m===d||ne||m===v||F||L||ae||typeof m=="object"&&m!==null&&(m.$$typeof===f||m.$$typeof===h||m.$$typeof===l||m.$$typeof===u||m.$$typeof===c||m.$$typeof===ce||m.getModuleId!==void 0))}function re(m,M,A){var R=m.displayName;if(R)return R;var N=M.displayName||M.name||"";return N!==""?A+"("+N+")":A}function Se(m){return m.displayName||"Context"}function de(m){if(m==null)return null;if(typeof m.tag=="number"&&E("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof m=="function")return m.displayName||m.name||null;if(typeof m=="string")return m;switch(m){case r:return"Fragment";case n:return"Portal";case a:return"Profiler";case i:return"StrictMode";case p:return"Suspense";case d:return"SuspenseList"}if(typeof m=="object")switch(m.$$typeof){case u:var M=m;return Se(M)+".Consumer";case l:var A=m;return Se(A._context)+".Provider";case c:return re(m,m.render,"ForwardRef");case h:var R=m.displayName||null;return R!==null?R:de(m.type)||"Memo";case f:{var N=m,W=N._payload,q=N._init;try{return de(q(W))}catch{return null}}}return null}var pe=Object.assign,Ne=0,go,fo,ho,mo,vo,yo,bo;function Co(){}Co.__reactDisabledLog=!0;function pf(){{if(Ne===0){go=console.log,fo=console.info,ho=console.warn,mo=console.error,vo=console.group,yo=console.groupCollapsed,bo=console.groupEnd;var m={configurable:!0,enumerable:!0,value:Co,writable:!0};Object.defineProperties(console,{info:m,log:m,warn:m,error:m,group:m,groupCollapsed:m,groupEnd:m})}Ne++}}function gf(){{if(Ne--,Ne===0){var m={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:pe({},m,{value:go}),info:pe({},m,{value:fo}),warn:pe({},m,{value:ho}),error:pe({},m,{value:mo}),group:pe({},m,{value:vo}),groupCollapsed:pe({},m,{value:yo}),groupEnd:pe({},m,{value:bo})})}Ne<0&&E("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Gn=k.ReactCurrentDispatcher,Nn;function At(m,M,A){{if(Nn===void 0)try{throw Error()}catch(N){var R=N.stack.trim().match(/\n( *(at )?)/);Nn=R&&R[1]||""}return`
18
+ `+Nn+m}}var Ln=!1,Tt;{var ff=typeof WeakMap=="function"?WeakMap:Map;Tt=new ff}function xo(m,M){if(!m||Ln)return"";{var A=Tt.get(m);if(A!==void 0)return A}var R;Ln=!0;var N=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var W;W=Gn.current,Gn.current=null,pf();try{if(M){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(Ae){R=Ae}Reflect.construct(m,[],q)}else{try{q.call()}catch(Ae){R=Ae}m.call(q.prototype)}}else{try{throw Error()}catch(Ae){R=Ae}m()}}catch(Ae){if(Ae&&R&&typeof Ae.stack=="string"){for(var z=Ae.stack.split(`
19
+ `),se=R.stack.split(`
20
+ `),X=z.length-1,K=se.length-1;X>=1&&K>=0&&z[X]!==se[K];)K--;for(;X>=1&&K>=0;X--,K--)if(z[X]!==se[K]){if(X!==1||K!==1)do if(X--,K--,K<0||z[X]!==se[K]){var ye=`
21
+ `+z[X].replace(" at new "," at ");return m.displayName&&ye.includes("<anonymous>")&&(ye=ye.replace("<anonymous>",m.displayName)),typeof m=="function"&&Tt.set(m,ye),ye}while(X>=1&&K>=0);break}}}finally{Ln=!1,Gn.current=W,gf(),Error.prepareStackTrace=N}var He=m?m.displayName||m.name:"",Ro=He?At(He):"";return typeof m=="function"&&Tt.set(m,Ro),Ro}function hf(m,M,A){return xo(m,!1)}function mf(m){var M=m.prototype;return!!(M&&M.isReactComponent)}function kt(m,M,A){if(m==null)return"";if(typeof m=="function")return xo(m,mf(m));if(typeof m=="string")return At(m);switch(m){case p:return At("Suspense");case d:return At("SuspenseList")}if(typeof m=="object")switch(m.$$typeof){case c:return hf(m.render);case h:return kt(m.type,M,A);case f:{var R=m,N=R._payload,W=R._init;try{return kt(W(N),M,A)}catch{}}}return""}var Et=Object.prototype.hasOwnProperty,wo={},So=k.ReactDebugCurrentFrame;function $t(m){if(m){var M=m._owner,A=kt(m.type,m._source,M?M.type:null);So.setExtraStackFrame(A)}else So.setExtraStackFrame(null)}function vf(m,M,A,R,N){{var W=Function.call.bind(Et);for(var q in m)if(W(m,q)){var z=void 0;try{if(typeof m[q]!="function"){var se=Error((R||"React class")+": "+A+" type `"+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof m[q]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw se.name="Invariant Violation",se}z=m[q](M,q,R,A,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(X){z=X}z&&!(z instanceof Error)&&($t(N),E("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",R||"React class",A,q,typeof z),$t(null)),z instanceof Error&&!(z.message in wo)&&(wo[z.message]=!0,$t(N),E("Failed %s type: %s",A,z.message),$t(null))}}}var yf=Array.isArray;function Bn(m){return yf(m)}function bf(m){{var M=typeof Symbol=="function"&&Symbol.toStringTag,A=M&&m[Symbol.toStringTag]||m.constructor.name||"Object";return A}}function Cf(m){try{return _o(m),!1}catch{return!0}}function _o(m){return""+m}function Do(m){if(Cf(m))return E("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",bf(m)),_o(m)}var at=k.ReactCurrentOwner,xf={key:!0,ref:!0,__self:!0,__source:!0},Mo,Io,jn;jn={};function wf(m){if(Et.call(m,"ref")){var M=Object.getOwnPropertyDescriptor(m,"ref").get;if(M&&M.isReactWarning)return!1}return m.ref!==void 0}function Sf(m){if(Et.call(m,"key")){var M=Object.getOwnPropertyDescriptor(m,"key").get;if(M&&M.isReactWarning)return!1}return m.key!==void 0}function _f(m,M){if(typeof m.ref=="string"&&at.current&&M&&at.current.stateNode!==M){var A=de(at.current.type);jn[A]||(E('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',de(at.current.type),m.ref),jn[A]=!0)}}function Df(m,M){{var A=function(){Mo||(Mo=!0,E("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",M))};A.isReactWarning=!0,Object.defineProperty(m,"key",{get:A,configurable:!0})}}function Mf(m,M){{var A=function(){Io||(Io=!0,E("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",M))};A.isReactWarning=!0,Object.defineProperty(m,"ref",{get:A,configurable:!0})}}var If=function(m,M,A,R,N,W,q){var z={$$typeof:t,type:m,key:M,ref:A,props:q,_owner:W};return z._store={},Object.defineProperty(z._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(z,"_self",{configurable:!1,enumerable:!1,writable:!1,value:R}),Object.defineProperty(z,"_source",{configurable:!1,enumerable:!1,writable:!1,value:N}),Object.freeze&&(Object.freeze(z.props),Object.freeze(z)),z};function Vf(m,M,A,R,N){{var W,q={},z=null,se=null;A!==void 0&&(Do(A),z=""+A),Sf(M)&&(Do(M.key),z=""+M.key),wf(M)&&(se=M.ref,_f(M,N));for(W in M)Et.call(M,W)&&!xf.hasOwnProperty(W)&&(q[W]=M[W]);if(m&&m.defaultProps){var X=m.defaultProps;for(W in X)q[W]===void 0&&(q[W]=X[W])}if(z||se){var K=typeof m=="function"?m.displayName||m.name||"Unknown":m;z&&Df(q,K),se&&Mf(q,K)}return If(m,z,se,N,R,at.current,q)}}var Wn=k.ReactCurrentOwner,Vo=k.ReactDebugCurrentFrame;function Ye(m){if(m){var M=m._owner,A=kt(m.type,m._source,M?M.type:null);Vo.setExtraStackFrame(A)}else Vo.setExtraStackFrame(null)}var Un;Un=!1;function Yn(m){return typeof m=="object"&&m!==null&&m.$$typeof===t}function Ao(){{if(Wn.current){var m=de(Wn.current.type);if(m)return`
22
22
 
23
- Check the render method of \``+m+"`."}return""}}function yf(m){{if(m!==void 0){var I=m.fileName.replace(/^.*[\\\/]/,""),V=m.lineNumber;return`
23
+ Check the render method of \``+m+"`."}return""}}function Af(m){{if(m!==void 0){var M=m.fileName.replace(/^.*[\\\/]/,""),A=m.lineNumber;return`
24
24
 
25
- Check your code at `+I+":"+V+"."}return""}}var Io={};function bf(m){{var I=Do();if(!I){var V=typeof m=="string"?m:m.displayName||m.name;V&&(I=`
25
+ Check your code at `+M+":"+A+"."}return""}}var To={};function Tf(m){{var M=Ao();if(!M){var A=typeof m=="string"?m:m.displayName||m.name;A&&(M=`
26
26
 
27
- Check the top-level render call using <`+V+">.")}return I}}function Mo(m,I){{if(!m._store||m._store.validated||m.key!=null)return;m._store.validated=!0;var V=bf(I);if(Io[V])return;Io[V]=!0;var R="";m&&m._owner&&m._owner!==Qn.current&&(R=" It was passed a child from "+de(m._owner.type)+"."),Ye(m),E('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',V,R),Ye(null)}}function Ao(m,I){{if(typeof m!="object")return;if(Yn(m))for(var V=0;V<m.length;V++){var R=m[V];Xn(R)&&Mo(R,I)}else if(Xn(m))m._store&&(m._store.validated=!0);else if(m){var N=D(m);if(typeof N=="function"&&N!==m.entries)for(var B=N.call(m),q;!(q=B.next()).done;)Xn(q.value)&&Mo(q.value,I)}}}function Cf(m){{var I=m.type;if(I==null||typeof I=="string")return;var V;if(typeof I=="function")V=I.propTypes;else if(typeof I=="object"&&(I.$$typeof===c||I.$$typeof===f))V=I.propTypes;else return;if(V){var R=de(I);af(V,m.props,"prop",R,m)}else if(I.PropTypes!==void 0&&!Jn){Jn=!0;var N=de(I);E("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",N||"Unknown")}typeof I.getDefaultProps=="function"&&!I.getDefaultProps.isReactClassApproved&&E("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function xf(m){{for(var I=Object.keys(m.props),V=0;V<I.length;V++){var R=I[V];if(R!=="children"&&R!=="key"){Ye(m),E("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",R),Ye(null);break}}m.ref!==null&&(Ye(m),E("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}function Vo(m,I,V,R,N,B){{var q=Se(m);if(!q){var z="";(m===void 0||typeof m=="object"&&m!==null&&Object.keys(m).length===0)&&(z+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var le=yf(N);le?z+=le:z+=Do();var X;m===null?X="null":Yn(m)?X="array":m!==void 0&&m.$$typeof===t?(X="<"+(de(m.type)||"Unknown")+" />",z=" Did you accidentally export a JSX literal instead of a component?"):X=typeof m,E("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",X,z)}var K=vf(m,I,V,N,B);if(K==null)return K;if(q){var ye=I.children;if(ye!==void 0)if(R)if(Yn(ye)){for(var He=0;He<ye.length;He++)Ao(ye[He],m);Object.freeze&&Object.freeze(ye)}else E("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ao(ye,m)}return m===r?xf(K):Cf(K),K}}function Sf(m,I,V){return Vo(m,I,V,!0)}function wf(m,I,V){return Vo(m,I,V,!1)}var _f=wf,Df=Sf;Xe.Fragment=r,Xe.jsx=_f,Xe.jsxs=Df}()),Xe}(function(e){process.env.NODE_ENV==="production"?e.exports=Xo():e.exports=Ko()})(lt);const H=lt.exports.Fragment,o=lt.exports.jsx,g=lt.exports.jsxs,Gt=S.createContext(null);function ut(e){const t=_.default.useContext(Gt),n=W.useCreation(()=>e.configure(t||new qt),[e.configure]),r=W.usePrevious(n);return r&&r!==n&&r.dispose(),o(Gt.Provider,{value:n,children:e.children})}function sr(){return _.default.useContext(Gt)}const Zo={viewPanelInFullScreen:Y.default.noop,inFullScreen:!1},Nt=_.default.createContext(Zo),lr=_.default.createContext(null),Lt=lr.Provider;function j(){const e=_.default.useContext(lr);if(!e)throw new Error("Please use ModelContextProvider");return e}class Be extends _.default.Component{constructor(t){super(t),this.state={error:null}}componentDidCatch(t){this.setState({error:t})}render(){var t;if(this.state.error){const n=()=>{this.setState({error:null})};return g(s.Box,{children:[o(s.Text,{size:"xs",children:(t=this.state.error)==null?void 0:t.message}),o(s.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function ea({label:e,config:{default_value:t,...n},value:r,onChange:i}){return g(s.Box,{children:[o(s.Text,{children:"\xA0"}),o(s.Checkbox,{label:e,checked:r||!1,onChange:a=>i(a.currentTarget.checked),...n,pt:".4em",styles:{input:{borderColor:"#e9ecef"}}})]})}const ur=M.observer(({label:e,config:t,value:n=[null,null],onChange:r})=>{const i=Array.isArray(n)?n.map(l=>l?$e.default(l).toDate():null):[null,null],a=l=>{r(l.map(u=>u&&$e.default(u).format(t.inputFormat)))};return o($o.DateRangePicker,{label:e,value:i,onChange:a,icon:o($.Calendar,{size:16}),sx:{minWidth:"16em"},styles:{input:{borderColor:"#e9ecef"}},...t})}),ta={layoutFrozen:!1,freezeLayout:Y.default.noop,inEditMode:!1,inUseMode:!0},Ce=_.default.createContext(ta),cr=_.default.createContext({panel:null,data:[],loading:!1}),dr=cr.Provider;function ae(){const e=_.default.useContext(cr);if(!e.panel)throw new Error("Please use PanelContextProvider");return e}const pr=S.forwardRef(({label:e,description:t,...n},r)=>o("div",{ref:r,...n,children:o(s.Group,{noWrap:!0,children:g("div",{children:[o(s.Text,{size:"sm","data-role":"label",children:e}),o(s.Text,{size:"xs",color:"dimmed","data-role":"description",children:t})]})})})),na=M.observer(({label:e,config:t,value:n,onChange:r})=>{const i=j(),a=!!t.options_query_id,{state:l}=i.getDataStuffByID(t.options_query_id),u=l==="loading";return S.useEffect(()=>{var p;if(!t.select_first_by_default)return;const c=[(p=t.options[0])==null?void 0:p.value];console.log("Selecting the first option by default. New value: ",c),r(c)},[t.select_first_by_default,t.options,r]),o(s.MultiSelect,{label:e,data:t.options,disabled:a?u:!1,value:n,onChange:r,sx:{minWidth:"14em"},styles:{input:{borderColor:"#e9ecef"}},itemComponent:pr})}),ra=M.observer(({label:e,config:t,value:n,onChange:r})=>{const i=j(),a=!!t.options_query_id,{state:l}=i.getDataStuffByID(t.options_query_id),u=l==="loading";return S.useEffect(()=>{var p,d;if(!t.select_first_by_default)return;const c=(d=(p=t.options[0])==null?void 0:p.value)!=null?d:"";console.log("Selecting the first option by default. New value: ",c),r(c)},[t.select_first_by_default,t.options,r]),o(s.Select,{label:e,data:t.options,disabled:a?u:!1,value:n,onChange:r,styles:{input:{borderColor:"#e9ecef"}},sx:{".mantine-Select-item[data-selected] .mantine-Text-root[data-role=description]":{color:"rgba(255,255,255,.7)"}},itemComponent:pr})});function ia({label:e,config:t,value:n,onChange:r}){return o(s.TextInput,{label:e,value:n||"",onChange:r,...t,styles:{input:{borderColor:"#e9ecef"}}})}const oa=M.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return o(ra,{...r,...i,config:t});case"multi-select":return o(na,{...r,...i,config:t});case"text-input":return o(ia,{...r,...i,config:t});case"date-range":return o(ur,{...r,...i,config:t});case"checkbox":return o(ea,{...r,...i,config:t});default:return null}}),gr=M.observer(_.default.forwardRef(({filter:e,...t},n)=>o("div",{className:"filter-root",ref:n,children:o(Be,{children:o(oa,{filter:e,formFieldProps:t})})}))),fr=M.observer(function({view:t}){const n=j(),{control:r,handleSubmit:i,reset:a}=w.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),l=w.useWatch({control:r});S.useEffect(()=>{a(n.filters.values)},[n.filters.values,a]),S.useEffect(()=>{n.filters.updatePreviewValues(l)},[l]);const u=n.filters.visibleInView(t.id);return u.length===0?null:o("form",{onSubmit:i(n.filters.setValues),children:g(s.Group,{className:"dashboard-filters",position:"apart",p:"md",noWrap:!0,sx:{border:"1px solid #e9ecef",borderRadius:"4px"},children:[o(s.Group,{align:"flex-start",children:u.map(c=>o(w.Controller,{name:c.key,control:r,render:({field:p})=>o(gr,{filter:c,...p})},c.id))}),o(s.Group,{sx:{alignSelf:"flex-end"},children:o(s.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})});var ct={exports:{}};(function(e,t){(function(n,r){r()})(Le,function(){function n(p,d){return typeof d>"u"?d={autoBom:!1}:typeof d!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),d={autoBom:!d}),d.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(p.type)?new Blob(["\uFEFF",p],{type:p.type}):p}function r(p,d,f){var h=new XMLHttpRequest;h.open("GET",p),h.responseType="blob",h.onload=function(){c(h.response,d,f)},h.onerror=function(){console.error("could not download file")},h.send()}function i(p){var d=new XMLHttpRequest;d.open("HEAD",p,!1);try{d.send()}catch{}return 200<=d.status&&299>=d.status}function a(p){try{p.dispatchEvent(new MouseEvent("click"))}catch{var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),p.dispatchEvent(d)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Le=="object"&&Le.global===Le?Le:void 0,u=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(p,d,f){var h=l.URL||l.webkitURL,v=document.createElement("a");d=d||p.name||"download",v.download=d,v.rel="noopener",typeof p=="string"?(v.href=p,v.origin===location.origin?a(v):i(v.href)?r(p,d,f):a(v,v.target="_blank")):(v.href=h.createObjectURL(p),setTimeout(function(){h.revokeObjectURL(v.href)},4e4),setTimeout(function(){a(v)},0))}:"msSaveOrOpenBlob"in navigator?function(p,d,f){if(d=d||p.name||"download",typeof p!="string")navigator.msSaveOrOpenBlob(n(p,f),d);else if(i(p))r(p,d,f);else{var h=document.createElement("a");h.href=p,h.target="_blank",setTimeout(function(){a(h)})}}:function(p,d,f,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof p=="string")return r(p,d,f);var v=p.type==="application/octet-stream",C=/constructor/i.test(l.HTMLElement)||l.safari,b=/CriOS\/[\d]+/.test(navigator.userAgent);if((b||v&&C||u)&&typeof FileReader<"u"){var D=new FileReader;D.onloadend=function(){var O=D.result;O=b?O:O.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=O:location=O,h=null},D.readAsDataURL(p)}else{var T=l.URL||l.webkitURL,E=T.createObjectURL(p);h?h.location=E:location.href=E,h=null,setTimeout(function(){T.revokeObjectURL(E)},4e4)}});l.saveAs=c.saveAs=c,e.exports=c})})(ct);function aa(e,t){const n=new Blob([t],{type:"text/csv"});ct.exports.saveAs(n,`${e}.csv`)}function sa(e,t){const n=new Blob([t],{type:"application/json"});ct.exports.saveAs(n,`${e}.json`)}function la(e){const t=new Uo.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,hr(r))}),t.generateAsync({type:"blob"}).then(n=>{ct.exports.saveAs(n,"dashboard_data.zip")})}function hr(e){if(!Array.isArray(e)||e.length===0)return"";const t=[],n=Object.keys(e[0]);return t.push(n.join(",")),e.forEach(r=>{const i=Object.values(r).join(",");t.push(i)}),t.join(`
28
- `)}const ua=`
27
+ Check the top-level render call using <`+A+">.")}return M}}function ko(m,M){{if(!m._store||m._store.validated||m.key!=null)return;m._store.validated=!0;var A=Tf(M);if(To[A])return;To[A]=!0;var R="";m&&m._owner&&m._owner!==Wn.current&&(R=" It was passed a child from "+de(m._owner.type)+"."),Ye(m),E('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',A,R),Ye(null)}}function Eo(m,M){{if(typeof m!="object")return;if(Bn(m))for(var A=0;A<m.length;A++){var R=m[A];Yn(R)&&ko(R,M)}else if(Yn(m))m._store&&(m._store.validated=!0);else if(m){var N=D(m);if(typeof N=="function"&&N!==m.entries)for(var W=N.call(m),q;!(q=W.next()).done;)Yn(q.value)&&ko(q.value,M)}}}function kf(m){{var M=m.type;if(M==null||typeof M=="string")return;var A;if(typeof M=="function")A=M.propTypes;else if(typeof M=="object"&&(M.$$typeof===c||M.$$typeof===h))A=M.propTypes;else return;if(A){var R=de(M);vf(A,m.props,"prop",R,m)}else if(M.PropTypes!==void 0&&!Un){Un=!0;var N=de(M);E("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",N||"Unknown")}typeof M.getDefaultProps=="function"&&!M.getDefaultProps.isReactClassApproved&&E("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ef(m){{for(var M=Object.keys(m.props),A=0;A<M.length;A++){var R=M[A];if(R!=="children"&&R!=="key"){Ye(m),E("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",R),Ye(null);break}}m.ref!==null&&(Ye(m),E("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}function $o(m,M,A,R,N,W){{var q=we(m);if(!q){var z="";(m===void 0||typeof m=="object"&&m!==null&&Object.keys(m).length===0)&&(z+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var se=Af(N);se?z+=se:z+=Ao();var X;m===null?X="null":Bn(m)?X="array":m!==void 0&&m.$$typeof===t?(X="<"+(de(m.type)||"Unknown")+" />",z=" Did you accidentally export a JSX literal instead of a component?"):X=typeof m,E("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",X,z)}var K=Vf(m,M,A,N,W);if(K==null)return K;if(q){var ye=M.children;if(ye!==void 0)if(R)if(Bn(ye)){for(var He=0;He<ye.length;He++)Eo(ye[He],m);Object.freeze&&Object.freeze(ye)}else E("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Eo(ye,m)}return m===r?Ef(K):kf(K),K}}function $f(m,M,A){return $o(m,M,A,!0)}function Rf(m,M,A){return $o(m,M,A,!1)}var Of=Rf,Pf=$f;Xe.Fragment=r,Xe.jsx=Of,Xe.jsxs=Pf}()),Xe}(function(e){process.env.NODE_ENV==="production"?e.exports=ta():e.exports=na()})(lt);const H=lt.exports.Fragment,o=lt.exports.jsx,g=lt.exports.jsxs,qt=w.createContext(null);function ut(e){const t=_.default.useContext(qt),n=j.useCreation(()=>e.configure(t||new zt),[e.configure]),r=j.usePrevious(n);return r&&r!==n&&r.dispose(),o(qt.Provider,{value:n,children:e.children})}function rr(){return _.default.useContext(qt)}const ra={viewPanelInFullScreen:Y.default.noop,inFullScreen:!1},Gt=_.default.createContext(ra),ir=_.default.createContext(null),Nt=ir.Provider;function B(){const e=_.default.useContext(ir);if(!e)throw new Error("Please use ModelContextProvider");return e}class je extends _.default.Component{constructor(t){super(t),this.state={error:null}}componentDidCatch(t){this.setState({error:t})}render(){var t;if(this.state.error){const n=()=>{this.setState({error:null})};return g(s.Box,{children:[o(s.Text,{size:"xs",children:(t=this.state.error)==null?void 0:t.message}),o(s.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function ia({label:e,config:{default_value:t,...n},value:r,onChange:i}){return g(s.Box,{children:[o(s.Text,{children:"\xA0"}),o(s.Checkbox,{label:e,checked:r||!1,onChange:a=>i(a.currentTarget.checked),...n,pt:".4em",styles:{input:{borderColor:"#e9ecef"}}})]})}const or=I.observer(({label:e,config:t,value:n=[null,null],onChange:r})=>{const i=Array.isArray(n)?n.map(l=>l?ke.default(l).toDate():null):[null,null],a=l=>{r(l.map(u=>u&&ke.default(u).format(t.inputFormat)))};return o(Oo.DateRangePicker,{label:e,value:i,onChange:a,icon:o(T.Calendar,{size:16}),sx:{minWidth:"16em"},styles:{input:{borderColor:"#e9ecef"}},...t})}),oa={layoutFrozen:!1,freezeLayout:Y.default.noop,inEditMode:!1,inUseMode:!0},Ce=_.default.createContext(oa),ar=_.default.createContext({panel:null,data:[],loading:!1}),sr=ar.Provider;function oe(){const e=_.default.useContext(ar);if(!e.panel)throw new Error("Please use PanelContextProvider");return e}const lr=w.forwardRef(({label:e,description:t,...n},r)=>o("div",{ref:r,...n,children:o(s.Group,{noWrap:!0,children:g("div",{children:[o(s.Text,{size:"sm","data-role":"label",children:e}),o(s.Text,{size:"xs",color:"dimmed","data-role":"description",children:t})]})})})),aa=I.observer(({label:e,config:t,value:n,onChange:r})=>{const i=B(),a=!!t.options_query_id,{state:l}=i.getDataStuffByID(t.options_query_id),u=l==="loading";w.useEffect(()=>{var h;if(!t.select_first_by_default)return;const d=[(h=t.options[0])==null?void 0:h.value];console.log("Selecting the first option by default. New value: ",d),r(d)},[t.select_first_by_default,t.options,r]);const c=t.min_width?t.min_width:"200px",p=a?u:!1;return o(s.MultiSelect,{label:e,data:t.options,disabled:p,value:n,onChange:r,styles:{root:{minWidth:c,maxWidth:p?c:"unset"},input:{borderColor:"#e9ecef"}},itemComponent:lr})}),sa=I.observer(({label:e,config:t,value:n,onChange:r})=>{const i=B(),a=!!t.options_query_id,{state:l}=i.getDataStuffByID(t.options_query_id),u=l==="loading";return w.useEffect(()=>{var p,d;if(!t.select_first_by_default)return;const c=(d=(p=t.options[0])==null?void 0:p.value)!=null?d:"";console.log("Selecting the first option by default. New value: ",c),r(c)},[t.select_first_by_default,t.options,r]),o(s.Select,{label:e,data:t.options,disabled:a?u:!1,value:n,onChange:r,styles:{root:{width:t.width?t.width:"200px"},input:{borderColor:"#e9ecef"}},sx:{".mantine-Select-item[data-selected] .mantine-Text-root[data-role=description]":{color:"rgba(255,255,255,.7)"}},itemComponent:lr})});function la({label:e,config:t,value:n,onChange:r}){return o(s.TextInput,{label:e,value:n||"",onChange:r,...t,styles:{input:{borderColor:"#e9ecef"}}})}const ua=I.observer(({filter:{type:e,config:t,key:n,...r},formFieldProps:i})=>{switch(e){case"select":return o(sa,{...r,...i,config:t});case"multi-select":return o(aa,{...r,...i,config:t});case"text-input":return o(la,{...r,...i,config:t});case"date-range":return o(or,{...r,...i,config:t});case"checkbox":return o(ia,{...r,...i,config:t});default:return null}}),ur=I.observer(_.default.forwardRef(({filter:e,...t},n)=>o("div",{className:"filter-root",ref:n,children:o(je,{children:o(ua,{filter:e,formFieldProps:t})})}))),cr=I.observer(function({view:t}){const n=B(),{control:r,handleSubmit:i,reset:a}=S.useForm({defaultValues:n.filters.values,reValidateMode:"onBlur"}),l=S.useWatch({control:r});w.useEffect(()=>{a(n.filters.values)},[n.filters.values,a]),w.useEffect(()=>{n.filters.updatePreviewValues(l)},[l]);const u=n.filters.visibleInView(t.id);return u.length===0?null:o("form",{onSubmit:i(n.filters.setValues),children:g(s.Group,{className:"dashboard-filters",position:"apart",p:"md",noWrap:!0,sx:{border:"1px solid #e9ecef",borderRadius:"4px"},children:[o(s.Group,{align:"flex-start",children:u.map(c=>o(S.Controller,{name:c.key,control:r,render:({field:p})=>o(ur,{filter:c,...p})},c.id))}),o(s.Group,{sx:{alignSelf:"flex-end"},children:o(s.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})});var ct={exports:{}};(function(e,t){(function(n,r){r()})(Le,function(){function n(p,d){return typeof d>"u"?d={autoBom:!1}:typeof d!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),d={autoBom:!d}),d.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(p.type)?new Blob(["\uFEFF",p],{type:p.type}):p}function r(p,d,h){var f=new XMLHttpRequest;f.open("GET",p),f.responseType="blob",f.onload=function(){c(f.response,d,h)},f.onerror=function(){console.error("could not download file")},f.send()}function i(p){var d=new XMLHttpRequest;d.open("HEAD",p,!1);try{d.send()}catch{}return 200<=d.status&&299>=d.status}function a(p){try{p.dispatchEvent(new MouseEvent("click"))}catch{var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),p.dispatchEvent(d)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Le=="object"&&Le.global===Le?Le:void 0,u=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(p,d,h){var f=l.URL||l.webkitURL,v=document.createElement("a");d=d||p.name||"download",v.download=d,v.rel="noopener",typeof p=="string"?(v.href=p,v.origin===location.origin?a(v):i(v.href)?r(p,d,h):a(v,v.target="_blank")):(v.href=f.createObjectURL(p),setTimeout(function(){f.revokeObjectURL(v.href)},4e4),setTimeout(function(){a(v)},0))}:"msSaveOrOpenBlob"in navigator?function(p,d,h){if(d=d||p.name||"download",typeof p!="string")navigator.msSaveOrOpenBlob(n(p,h),d);else if(i(p))r(p,d,h);else{var f=document.createElement("a");f.href=p,f.target="_blank",setTimeout(function(){a(f)})}}:function(p,d,h,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof p=="string")return r(p,d,h);var v=p.type==="application/octet-stream",C=/constructor/i.test(l.HTMLElement)||l.safari,b=/CriOS\/[\d]+/.test(navigator.userAgent);if((b||v&&C||u)&&typeof FileReader<"u"){var D=new FileReader;D.onloadend=function(){var O=D.result;O=b?O:O.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=O:location=O,f=null},D.readAsDataURL(p)}else{var k=l.URL||l.webkitURL,E=k.createObjectURL(p);f?f.location=E:location.href=E,f=null,setTimeout(function(){k.revokeObjectURL(E)},4e4)}});l.saveAs=c.saveAs=c,e.exports=c})})(ct);function ca(e,t){const n=new Blob([t],{type:"text/csv"});ct.exports.saveAs(n,`${e}.csv`)}function da(e,t){const n=new Blob([t],{type:"application/json"});ct.exports.saveAs(n,`${e}.json`)}function pa(e){const t=new Jo.default;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,dr(r))}),t.generateAsync({type:"blob"}).then(n=>{ct.exports.saveAs(n,"dashboard_data.zip")})}function dr(e){if(!Array.isArray(e)||e.length===0)return"";const t=[],n=Object.keys(e[0]);return t.push(n.join(",")),e.forEach(r=>{const i=Object.values(r).join(",");t.push(i)}),t.join(`
28
+ `)}const ga=`
29
29
  -- You may reference global variables in SQL or VizConfig.
30
30
  SELECT *
31
31
  FROM commit
@@ -37,16 +37,16 @@ WHERE
37
37
  -- SQL snippets
38
38
  AND \${sql_snippets.author_email_condition}
39
39
  \${sql_snippets.order_by_clause}
40
- `,jt=M.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=j(),i=r.context.current,a=(()=>{const l={context:{...r.mock_context.current,...i},filters:r.filters.previewValues};return t&&(l.sql_snippets=r.sqlSnippets.record),JSON.stringify(l,null,2)})();return g(s.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"Global Variables"})}),g(s.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[o(be.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:ua}),o(s.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),o(be.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})]})]})}),ca=M.observer(function(){const t=j(),[n,r]=S.useState(()=>JSON.stringify(t.mock_context.current,null,4)),i=()=>{try{t.mock_context.replace(JSON.parse(n))}catch(l){st.showNotification({title:"Failed",message:l.message,color:"red"})}},a=S.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(t.mock_context.current)}catch{return!1}},[n,t.mock_context.current]);return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1,maxWidth:"unset"},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"Mock Context"})}),g(s.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative"},children:[g(s.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[o(s.Text,{children:"A valid json string is required"}),o(s.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:r,sx:{flexGrow:1}})]}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!a,onClick:i,children:o($.DeviceFloppy,{size:20})})]})]})});function da(){return o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[o(ca,{}),o(jt,{showSQLSnippets:!1})]})})}function pa({data:e}){return e.length===0?o(s.Box,{sx:{height:"5em"}}):g(s.Table,{children:[o("thead",{children:o("tr",{children:Object.keys(e==null?void 0:e[0]).map(t=>o("th",{children:o(s.Text,{weight:700,color:"#000",children:t})},t))})}),o("tbody",{children:e.slice(0,10).map((t,n)=>o("tr",{children:Object.values(t).map((r,i)=>o("td",{children:o(s.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:o(s.Text,{children:r})})},`${r}--${i}`))},`row-${n}`))})]})}const mr=M.observer(function({id:t}){const n=j(),{data:r,state:i}=n.getDataStuffByID(t),a=i==="loading",l=()=>{n.queries.refetchDataByQueryID(t)};return g(s.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[g(s.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[g(s.Group,{position:"left",children:[o(s.Text,{weight:500,children:"Preview Data"}),r.length>10&&g(s.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),o(s.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:a,onClick:l,children:o($.Refresh,{size:15})})]}),g(s.Box,{sx:{position:"relative"},children:[o(s.LoadingOverlay,{visible:a}),o(pa,{data:r})]})]})});function ga(e,t,n,r){const i=Wt(t,n,[],r),a=Object.keys(i),l=Object.values(i);try{return new Function(...a,`return \`${e}\`;`)(...l)}catch(u){return console.info(u),u.message}}function Bt(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 Wt(e,t,n,r){const i={...t,...e},a={context:i,filters:r},l=n.reduce((u,c)=>(u[c.key]=Bt(c.value,a),u),{});return Y.default.merge({},{context:i,filters:r,sql_snippets:l})}function vr(e,t,n,r,i){try{const a=Wt(t,n,r,i);return Bt(e,a)}catch(a){return console.error(a),a.message}}function fa(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 a=Object.keys(e[i]).sort();for(let l=0;l<a.length;l++){const u=a[l];u!="sign"&&e[i][u]&&n.push(a[l]+"="+(typeof e[i][u]=="object"?JSON.stringify(e[i][u]):e[i][u]))}}}return n.sort().join("&")}function ha(e,t){let n=fa(e);return n+="&key="+t,Yo.default.MD5(n).toString().toUpperCase()}const We={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:ha({app_id:this.app_id,nonce_str:t,...e},this.app_secret)}},getRequest(e){return(t,n,r={})=>{const i=window.localStorage.getItem("token"),a={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",authorization:i?`bearer ${i}`:"",...r.headers},l={baseURL:this.baseURL,method:e,url:t,params:e==="GET"?n:r.params,headers:a};return["POST","PUT"].includes(e)&&(l.data=r.string?JSON.stringify(n):n,l.data.authentication=this.getAuthentication(l.data)),er.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}};function yr(e){We.baseURL!==e.apiBaseURL&&(We.baseURL=e.apiBaseURL),e.app_id&&(We.app_id=e.app_id),e.app_secret&&(We.app_secret=e.app_secret)}async function ma({context:e,mock_context:t,sqlSnippets:n,title:r,query:i,filterValues:a}){if(!i.sql)return[];const{type:l,key:u,sql:c}=i,p=c.includes("$"),d=Wt(e,t,n,a),f=Bt(c,d);return p&&(console.groupCollapsed(`Final SQL for: ${r}`),console.log(f),console.groupEnd()),await We.getRequest("POST")("/query",{type:l,key:u,query:f})}async function va(){try{return(await We.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const ya=S.forwardRef(({label:e,type:t,...n},r)=>g(s.Group,{position:"apart",ref:r,...n,children:[o(s.Text,{children:e}),o(s.Text,{children:t})]})),ba=M.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=W.useRequest(va,{refreshDeps:[]},[]),a=S.useMemo(()=>r.map(u=>({label:u.key,value:u.key,type:u.type})),[r]),l=S.useMemo(()=>a.reduce((u,c)=>(u[c.value]=c.type,u),{}),[a]);return o(s.Select,{label:"Data Source",data:a,itemComponent:ya,sx:{flex:1},disabled:i,value:t.key,onChange:u=>{u!==null&&n({key:u,type:l[u]})}})});function Ca(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Ut(e,t){if(e==null)return{};var n=Ca(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}var xa=["size","color","stroke"];function Sa(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Ut(e,xa);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-down",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:12,y1:5,x2:12,y2:19}),o("line",{x1:18,y1:13,x2:12,y2:19}),o("line",{x1:6,y1:13,x2:12,y2:19})]})}var wa=["size","color","stroke"];function _a(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Ut(e,wa);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-up",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:12,y1:5,x2:12,y2:19}),o("line",{x1:18,y1:11,x2:12,y2:5}),o("line",{x1:6,y1:11,x2:12,y2:5})]})}var Da=["size","color","stroke"];function Ia(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Ut(e,Da);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-trash",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:4,y1:7,x2:20,y2:7}),o("line",{x1:10,y1:11,x2:10,y2:17}),o("line",{x1:14,y1:11,x2:14,y2:17}),o("path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"}),o("path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"})]})}const Ma=e=>{const{queryModel:t}=e,n=j(),r=n.findDependingPanels(t.id),i=r.length>0,a=o(s.ActionIcon,{color:"red",size:"sm",disabled:i,onClick:()=>n.queries.removeQuery(t.id),children:o(Ia,{})});return i?o(s.Tooltip,{label:`This query is used in the following panels: ${r.join(", ")}`,withArrow:!0,events:{hover:!0,focus:!1,touch:!1},children:o("span",{children:a})}):a},Aa=M.observer(Ma),Va=M.observer(({value:e})=>{const t=j(),n=t.context.current,r=_.default.useMemo(()=>vr(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 o(be.Prism,{language:"sql",colorScheme:"light",children:r})}),Ta=M.observer(function({queryModel:t,setCurrentID:n}){const r=_.default.useRef(t.id),[i,a]=_.default.useState(r.current);_.default.useEffect(()=>{r.current!==t.id&&(a(t.id),r.current=t.id)},[r,t.id]);const[l,u]=_.default.useState(t.sql);_.default.useEffect(()=>{u(f=>f!==t.sql?t.sql:f)},[t.sql]);const c=l!==t.sql,p=()=>{t.setSQL(l)},d=()=>{t.setID(i),n(i)};return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[g(s.Group,{position:"apart",py:"md",px:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{weight:500,children:"Edit Query"}),o(Aa,{queryModel:t})]}),g(s.Stack,{my:0,p:"md",pr:40,children:[g(s.Group,{grow:!0,children:[o(s.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},value:i,onChange:f=>{a(f.currentTarget.value)},rightSection:o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:i===t.id,onClick:d,children:o($.DeviceFloppy,{size:18})})}),o(ba,{value:{type:t.type,key:t.key},onChange:({type:f,key:h})=>{t.setKey(h),t.setType(f)}})]}),g(s.Tabs,{defaultValue:"SQL",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"SQL",children:"SQL"}),o(s.Tabs.Tab,{value:"Preview",children:"Preview"})]}),o(s.Tabs.Panel,{value:"SQL",pt:"sm",children:g(s.Box,{sx:{position:"relative"},children:[o(s.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:l,onChange:f=>{u(f.currentTarget.value)}}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:10,top:10},disabled:!c,onClick:p,children:o($.DeviceFloppy,{size:20})})]})}),o(s.Tabs.Panel,{value:"Preview",pt:"sm",children:o(Va,{value:t.sql})})]})]})]})}),$a=M.observer(function({id:t,setID:n}){const r=j(),i=_.default.useMemo(()=>r.queries.findByID(t),[r.queries,t]);return t?i?o(Ta,{queryModel:i,setCurrentID:n}):o("span",{children:"Invalid Query ID"}):null});var Oe=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(Oe||{});const Ea=M.observer(function({id:t,setID:n}){const r=j(),i=()=>{var l;n((l=r.queries.firstID)!=null?l:"")};_.default.useEffect(()=>{if(!t){i();return}r.queries.current.findIndex(u=>u.id===t)===-1&&i()},[t,r.queries.current,i]);const a=()=>{const l=Z.randomId();r.queries.append(y.cast({id:l,type:Oe.Postgresql,key:"",sql:""})),n(l)};return o(s.Group,{pb:"xl",grow:!0,sx:{width:"100%"},children:g(s.Group,{position:"left",sx:{flexGrow:1,maxWidth:"600px",alignItems:"baseline"},children:[o(s.Text,{children:"Select a Query"}),o(s.Select,{data:r.queries.options,value:t,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1,maxWidth:"300px"}}),o(s.Text,{children:"or"}),o(s.Group,{position:"center",mt:"md",children:o(s.Button,{onClick:a,children:"Add a Query"})})]})})}),ka=M.observer(function(){const[t,n]=_.default.useState("");return g(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[g(s.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[o(Ea,{id:t,setID:n}),o($a,{id:t,setID:n})]}),o(jt,{})]}),o(mr,{id:t})]})}),Ra=M.observer(({value:e})=>{const t=j(),n=t.context.current,r=ga(e,n,t.mock_context.current,t.filters.values);return g(s.Stack,{children:[o(s.Text,{children:"Preview"}),o(be.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:r})]})}),Oa=M.observer(function(){const t=j(),n=()=>t.sqlSnippets.append(y.cast({key:Z.randomId(),value:""}));return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"SQL Snippets"})}),o(s.Group,{px:"md",pb:"md",pt:"md",children:g(s.Stack,{sx:{width:"100%",position:"relative"},children:[t.sqlSnippets.current.map((r,i)=>g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.TextInput,{label:"Key",required:!0,value:r.key,onChange:a=>{r.setKey(a.currentTarget.value)}}),o(s.Textarea,{minRows:3,label:"Value",required:!0,value:r.value,onChange:a=>{r.setValue(a.currentTarget.value)},className:"code-textarea"}),o(Ra,{value:r.value}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.sqlSnippets.remove(i),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},i)),o(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:o(s.Button,{variant:"default",onClick:n,children:"Add a snippet"})})]})})]})});function Pa(){return o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[o(Oa,{}),o(jt,{showSQLSnippets:!1})]})})}const Fa=M.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},children:g(s.Tabs,{defaultValue:"Queries",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"Mock Context",children:"Mock Context"}),o(s.Tabs.Tab,{value:"SQL Snippets",children:"SQL Snippets"}),o(s.Tabs.Tab,{value:"Queries",children:"Queries"})]}),o(s.Tabs.Panel,{value:"Mock Context",pt:"sm",children:o(da,{})}),o(s.Tabs.Panel,{value:"SQL Snippets",pt:"sm",children:o(Pa,{})}),o(s.Tabs.Panel,{value:"Queries",pt:"sm",children:o(ka,{})})]})})});var oe=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(oe||{});y.types.model({type:y.types.enumeration("DataSourceType",[Oe.Postgresql,Oe.MySQL,Oe.HTTP]),key:y.types.string,sql:y.types.string});const dt=y.types.model("FilterConfigModel_TextInput",{_name:"text-input",required:y.types.boolean,default_value:y.types.string}).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),br=()=>dt.create({_name:"text-input",required:!1,default_value:""}),za=M.observer(function({config:t}){return o(H,{children:o(s.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"})})}),qa=[{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"}],Ga=M.observer(function({config:t}){return g(H,{children:[g(s.Group,{children:[o(s.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),o(s.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),label:"Clearable"})]}),o(s.Select,{data:qa,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat}),o(ur,{label:"Default Value",config:t,value:t.default_value,onChange:t.setDefaultValue})]})}),Cr=M.observer(({value:e,onChange:t})=>{const n=j(),r=_.default.useMemo(()=>n.queries.current.map(a=>({value:a.id,label:a.id})),[n.queries.current]),i=r.length===0;return o(s.Select,{label:"Pick a query",data:r,value:e,onChange:t,allowDeselect:!1,clearable:!1,sx:{flexGrow:1},disabled:i,error:i?"You need to add a query in Data Settings":void 0})}),Na=`
40
+ `,Lt=I.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=B(),i=r.context.current,a=(()=>{const l={context:{...r.mock_context.current,...i},filters:r.filters.previewValues};return t&&(l.sql_snippets=r.sqlSnippets.record),JSON.stringify(l,null,2)})();return g(s.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"Global Variables"})}),g(s.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[o(be.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:ga}),o(s.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),o(be.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})]})]})}),fa=I.observer(function(){const t=B(),[n,r]=w.useState(()=>JSON.stringify(t.mock_context.current,null,4)),i=()=>{try{t.mock_context.replace(JSON.parse(n))}catch(l){st.showNotification({title:"Failed",message:l.message,color:"red"})}},a=w.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(t.mock_context.current)}catch{return!1}},[n,t.mock_context.current]);return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1,maxWidth:"unset"},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"Mock Context"})}),g(s.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative"},children:[g(s.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[o(s.Text,{children:"A valid json string is required"}),o(s.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:r,sx:{flexGrow:1}})]}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!a,onClick:i,children:o(T.DeviceFloppy,{size:20})})]})]})});function ha(){return o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[o(fa,{}),o(Lt,{showSQLSnippets:!1})]})})}function ma({data:e}){return e.length===0?o(s.Box,{sx:{height:"5em"}}):g(s.Table,{children:[o("thead",{children:o("tr",{children:Object.keys(e==null?void 0:e[0]).map(t=>o("th",{children:o(s.Text,{weight:700,color:"#000",children:t})},t))})}),o("tbody",{children:e.slice(0,10).map((t,n)=>o("tr",{children:Object.values(t).map((r,i)=>o("td",{children:o(s.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:o(s.Text,{children:r})})},`${r}--${i}`))},`row-${n}`))})]})}const pr=I.observer(function({id:t}){const n=B(),{data:r,state:i}=n.getDataStuffByID(t),a=i==="loading",l=()=>{n.queries.refetchDataByQueryID(t)};return g(s.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[g(s.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[g(s.Group,{position:"left",children:[o(s.Text,{weight:500,children:"Preview Data"}),r.length>10&&g(s.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),o(s.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:a,onClick:l,children:o(T.Refresh,{size:15})})]}),g(s.Box,{sx:{position:"relative"},children:[o(s.LoadingOverlay,{visible:a}),o(ma,{data:r})]})]})});function va(e,t,n,r){const i=jt(t,n,[],r),a=Object.keys(i),l=Object.values(i);try{return new Function(...a,`return \`${e}\`;`)(...l)}catch(u){return console.info(u),u.message}}function Bt(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 jt(e,t,n,r){const i={...t,...e},a={context:i,filters:r},l=n.reduce((u,c)=>(u[c.key]=Bt(c.value,a),u),{});return Y.default.merge({},{context:i,filters:r,sql_snippets:l})}function gr(e,t,n,r,i){try{const a=jt(t,n,r,i);return Bt(e,a)}catch(a){return console.error(a),a.message}}function ya(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 a=Object.keys(e[i]).sort();for(let l=0;l<a.length;l++){const u=a[l];u!="sign"&&e[i][u]&&n.push(a[l]+"="+(typeof e[i][u]=="object"?JSON.stringify(e[i][u]):e[i][u]))}}}return n.sort().join("&")}function ba(e,t){let n=ya(e);return n+="&key="+t,Xo.default.MD5(n).toString().toUpperCase()}const We={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:ba({app_id:this.app_id,nonce_str:t,...e},this.app_secret)}},getRequest(e){return(t,n,r={})=>{const i=window.localStorage.getItem("token"),a={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",authorization:i?`bearer ${i}`:"",...r.headers},l={baseURL:this.baseURL,method:e,url:t,params:e==="GET"?n:r.params,headers:a};return["POST","PUT"].includes(e)&&(l.data=r.string?JSON.stringify(n):n,l.data.authentication=this.getAuthentication(l.data)),Jn.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}};function fr(e){We.baseURL!==e.apiBaseURL&&(We.baseURL=e.apiBaseURL),e.app_id&&(We.app_id=e.app_id),e.app_secret&&(We.app_secret=e.app_secret)}async function Ca({context:e,mock_context:t,sqlSnippets:n,title:r,query:i,filterValues:a}){if(!i.sql)return[];const{type:l,key:u,sql:c}=i,p=c.includes("$"),d=jt(e,t,n,a),h=Bt(c,d);return p&&(console.groupCollapsed(`Final SQL for: ${r}`),console.log(h),console.groupEnd()),await We.getRequest("POST")("/query",{type:l,key:u,query:h})}async function xa(){try{return(await We.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const wa=w.forwardRef(({label:e,type:t,...n},r)=>g(s.Group,{position:"apart",ref:r,...n,children:[o(s.Text,{children:e}),o(s.Text,{children:t})]})),Sa=I.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=j.useRequest(xa,{refreshDeps:[]},[]),a=w.useMemo(()=>r.map(u=>({label:u.key,value:u.key,type:u.type})),[r]),l=w.useMemo(()=>a.reduce((u,c)=>(u[c.value]=c.type,u),{}),[a]);return o(s.Select,{label:"Data Source",data:a,itemComponent:wa,sx:{flex:1},disabled:i,value:t.key,onChange:u=>{u!==null&&n({key:u,type:l[u]})}})});function _a(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Wt(e,t){if(e==null)return{};var n=_a(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(n[r]=e[r]))}return n}var Da=["size","color","stroke"];function Ma(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Wt(e,Da);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-down",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:12,y1:5,x2:12,y2:19}),o("line",{x1:18,y1:13,x2:12,y2:19}),o("line",{x1:6,y1:13,x2:12,y2:19})]})}var Ia=["size","color","stroke"];function Va(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Wt(e,Ia);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-arrow-up",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:12,y1:5,x2:12,y2:19}),o("line",{x1:18,y1:11,x2:12,y2:5}),o("line",{x1:6,y1:11,x2:12,y2:5})]})}var Aa=["size","color","stroke"];function Ta(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,l=a===void 0?2:a,u=Wt(e,Aa);return g("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-trash",width:n,height:n,viewBox:"0 0 24 24",strokeWidth:l,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[o("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o("line",{x1:4,y1:7,x2:20,y2:7}),o("line",{x1:10,y1:11,x2:10,y2:17}),o("line",{x1:14,y1:11,x2:14,y2:17}),o("path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12"}),o("path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3"})]})}const ka=e=>{const{queryModel:t}=e,n=B(),r=n.findDependingPanels(t.id),i=r.length>0,a=o(s.ActionIcon,{color:"red",size:"sm",disabled:i,onClick:()=>n.queries.removeQuery(t.id),children:o(Ta,{})});return i?o(s.Tooltip,{label:`This query is used in the following panels: ${r.join(", ")}`,withArrow:!0,events:{hover:!0,focus:!1,touch:!1},children:o("span",{children:a})}):a},Ea=I.observer(ka),$a=I.observer(({value:e})=>{const t=B(),n=t.context.current,r=_.default.useMemo(()=>gr(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 o(be.Prism,{language:"sql",colorScheme:"light",children:r})}),Ra=I.observer(function({queryModel:t,setCurrentID:n}){const r=_.default.useRef(t.id),[i,a]=_.default.useState(r.current);_.default.useEffect(()=>{r.current!==t.id&&(a(t.id),r.current=t.id)},[r,t.id]);const[l,u]=_.default.useState(t.sql);_.default.useEffect(()=>{u(h=>h!==t.sql?t.sql:h)},[t.sql]);const c=l!==t.sql,p=()=>{t.setSQL(l)},d=()=>{t.setID(i),n(i)};return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[g(s.Group,{position:"apart",py:"md",px:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{weight:500,children:"Edit Query"}),o(Ea,{queryModel:t})]}),g(s.Stack,{my:0,p:"md",pr:40,children:[g(s.Group,{grow:!0,children:[o(s.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},value:i,onChange:h=>{a(h.currentTarget.value)},rightSection:o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:i===t.id,onClick:d,children:o(T.DeviceFloppy,{size:18})})}),o(Sa,{value:{type:t.type,key:t.key},onChange:({type:h,key:f})=>{t.setKey(f),t.setType(h)}})]}),g(s.Tabs,{defaultValue:"SQL",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"SQL",children:"SQL"}),o(s.Tabs.Tab,{value:"Preview",children:"Preview"})]}),o(s.Tabs.Panel,{value:"SQL",pt:"sm",children:g(s.Box,{sx:{position:"relative"},children:[o(s.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:l,onChange:h=>{u(h.currentTarget.value)}}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:10,top:10},disabled:!c,onClick:p,children:o(T.DeviceFloppy,{size:20})})]})}),o(s.Tabs.Panel,{value:"Preview",pt:"sm",children:o($a,{value:t.sql})})]})]})]})}),Oa=I.observer(function({id:t,setID:n}){const r=B(),i=_.default.useMemo(()=>r.queries.findByID(t),[r.queries,t]);return t?i?o(Ra,{queryModel:i,setCurrentID:n}):o("span",{children:"Invalid Query ID"}):null});var Oe=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(Oe||{});const Pa=I.observer(function({id:t,setID:n}){const r=B(),i=()=>{var l;n((l=r.queries.firstID)!=null?l:"")};_.default.useEffect(()=>{if(!t){i();return}r.queries.current.findIndex(u=>u.id===t)===-1&&i()},[t,r.queries.current,i]);const a=()=>{const l=Z.randomId();r.queries.append(y.cast({id:l,type:Oe.Postgresql,key:"",sql:""})),n(l)};return o(s.Group,{pb:"xl",grow:!0,sx:{width:"100%"},children:g(s.Group,{position:"left",sx:{flexGrow:1,maxWidth:"600px",alignItems:"baseline"},children:[o(s.Text,{children:"Select a Query"}),o(s.Select,{data:r.queries.options,value:t,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1,maxWidth:"300px"}}),o(s.Text,{children:"or"}),o(s.Group,{position:"center",mt:"md",children:o(s.Button,{onClick:a,children:"Add a Query"})})]})})}),Fa=I.observer(function(){const[t,n]=_.default.useState("");return g(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[g(s.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[o(Pa,{id:t,setID:n}),o(Oa,{id:t,setID:n})]}),o(Lt,{})]}),o(pr,{id:t})]})}),za=I.observer(({value:e})=>{const t=B(),n=t.context.current,r=va(e,n,t.mock_context.current,t.filters.values);return g(s.Stack,{children:[o(s.Text,{children:"Preview"}),o(be.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:r})]})}),qa=I.observer(function(){const t=B(),n=()=>t.sqlSnippets.append(y.cast({key:Z.randomId(),value:""}));return g(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[o(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(s.Text,{weight:500,children:"SQL Snippets"})}),o(s.Group,{px:"md",pb:"md",pt:"md",children:g(s.Stack,{sx:{width:"100%",position:"relative"},children:[t.sqlSnippets.current.map((r,i)=>g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.TextInput,{label:"Key",required:!0,value:r.key,onChange:a=>{r.setKey(a.currentTarget.value)}}),o(s.Textarea,{minRows:3,label:"Value",required:!0,value:r.value,onChange:a=>{r.setValue(a.currentTarget.value)},className:"code-textarea"}),o(za,{value:r.value}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.sqlSnippets.remove(i),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},i)),o(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:o(s.Button,{variant:"default",onClick:n,children:"Add a snippet"})})]})})]})});function Ga(){return o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:g(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[o(qa,{}),o(Lt,{showSQLSnippets:!1})]})})}const Na=I.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},children:g(s.Tabs,{defaultValue:"Queries",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"Mock Context",children:"Mock Context"}),o(s.Tabs.Tab,{value:"SQL Snippets",children:"SQL Snippets"}),o(s.Tabs.Tab,{value:"Queries",children:"Queries"})]}),o(s.Tabs.Panel,{value:"Mock Context",pt:"sm",children:o(ha,{})}),o(s.Tabs.Panel,{value:"SQL Snippets",pt:"sm",children:o(Ga,{})}),o(s.Tabs.Panel,{value:"Queries",pt:"sm",children:o(Fa,{})})]})})});var fe=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(fe||{});y.types.model({type:y.types.enumeration("DataSourceType",[Oe.Postgresql,Oe.MySQL,Oe.HTTP]),key:y.types.string,sql:y.types.string});const hr=y.types.model("FilterConfigModel_TextInput",{_name:y.types.literal("text-input"),required:y.types.boolean,default_value:y.types.string}).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),mr=()=>hr.create({_name:"text-input",required:!1,default_value:""}),La=I.observer(function({config:t}){return o(H,{children:o(s.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"})})}),Ba=[{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"}],ja=I.observer(function({config:t}){return g(H,{children:[g(s.Group,{children:[o(s.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),o(s.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),label:"Clearable"})]}),o(s.Select,{data:Ba,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat}),o(or,{label:"Default Value",config:t,value:t.default_value,onChange:t.setDefaultValue})]})}),vr=I.observer(({value:e,onChange:t})=>{const n=B(),r=_.default.useMemo(()=>n.queries.current.map(a=>({value:a.id,label:a.id})),[n.queries.current]),i=r.length===0;return o(s.Select,{label:"Pick a query",data:r,value:e,onChange:t,allowDeselect:!1,clearable:!1,sx:{flexGrow:1},disabled:i,error:i?"You need to add a query in Data Settings":void 0})}),Wa=`
41
41
  // row
42
42
  {
43
43
  label: string;
44
44
  value: string;
45
45
  description?: string; // optional
46
46
  }
47
- `,xr=()=>{const[e,t]=S.useState(!1);return g(H,{children:[o(s.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),o(s.Collapse,{in:e,children:o(be.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:Na})})]})},La=M.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[...r];return g(H,{children:[o(s.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(s.MultiSelect,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,l)=>g(s.Group,{sx:{position:"relative"},pr:"40px",children:[o(s.TextInput,{label:"Label",required:!0,value:t.static_options[l].label,onChange:u=>{t.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.TextInput,{label:"Value",required:!0,value:t.static_options[l].value,onChange:u=>{t.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:o($.Trash,{size:16})})]})),o(s.Button,{size:"xs",color:"blue",leftIcon:o($.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(s.Checkbox,{checked:t.select_first_by_default,onChange:a=>t.setSelectFirstByDefault(a.currentTarget.checked),label:"Select the first option by default"}),o(Cr,{value:t.options_query_id,onChange:t.setOptionsQueryID}),o(xr,{})]})}),ja=M.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[{label:"No default selection",value:""},...r];return g(H,{children:[o(s.Checkbox,{checked:t.required,onChange:a=>t.setRequired(a.currentTarget.checked),label:"Required"}),o(s.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(s.Select,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,l)=>g(s.Group,{sx:{position:"relative"},pr:"40px",children:[o(s.TextInput,{label:"Label",required:!0,value:t.static_options[l].label,onChange:u=>{t.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.TextInput,{label:"Value",required:!0,value:t.static_options[l].value,onChange:u=>{t.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:o($.Trash,{size:16})})]},l)),o(s.Button,{size:"xs",color:"blue",leftIcon:o($.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(s.Checkbox,{checked:t.select_first_by_default,onChange:a=>t.setSelectFirstByDefault(a.currentTarget.checked),label:"Select the first option by default"}),o(Cr,{value:t.options_query_id,onChange:t.setOptionsQueryID}),o(xr,{})]})}),Ba=M.observer(function({config:t}){return g(H,{children:[o(s.TextInput,{label:"Default Value",value:t.default_value,onChange:n=>{t.setDefaultValue(n.currentTarget.value)}}),o(s.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"})]})}),Wa=M.observer(function({filter:t}){const n=t.plainDefaultValue,[r,i]=_.default.useState(n);return _.default.useEffect(()=>{i(n)},[n]),g(s.Box,{sx:{maxWidth:"30em"},children:[o(s.Text,{pb:"md",color:"gray",children:"Preview"}),o(gr,{filter:t,value:r,onChange:i}),o(s.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),o(be.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),Ua={select:ja,"multi-select":La,"text-input":Ba,checkbox:za,"date-range":Ga},Ya=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],Ha=M.observer(function({filter:t,index:n}){const r=j(),i=_.default.useMemo(()=>Ua[t.type],[t.type]);return g(s.SimpleGrid,{cols:2,children:[g(s.Box,{pl:"md",children:[o(s.Text,{pb:"md",color:"gray",children:"Edit"}),g(s.Stack,{sx:{maxWidth:"30em"},children:[o(s.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0}),o(s.MultiSelect,{label:"Visible in...",data:r.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),o(s.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:a=>{t.setKey(a.currentTarget.value)}}),o(s.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:a=>{t.setLabel(a.currentTarget.value)}}),o(s.Select,{label:"Widget",data:Ya,required:!0,value:t.type,onChange:t.setType}),o(i,{config:t.config,index:n})]})]}),o(Wa,{filter:t})]})}),Vf="",Qa=M.observer(function(){const t=j(),n=t.filters.current,r=()=>{const i=Z.randomId(),a={id:i,key:i,label:i,order:n.length+1,type:oe.TextInput,config:br(),visibleInViewsIDs:["Main"]};t.filters.append(a)};return g(s.Box,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[o(s.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:o(s.Button,{size:"xs",color:"red",leftIcon:o($.Recycle,{size:20}),disabled:!t.filtersChanged,onClick:t.resetFilters,children:"Revert Changes"})}),o(s.Tabs,{className:"filter-settings-tabs",orientation:"vertical",defaultValue:t.filters.firstID,styles:{root:{display:"block"}},children:g(s.Group,{sx:{height:"100%"},children:[g(s.Stack,{sx:{height:"100%"},children:[o(s.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:t.filters.current.map(i=>o(s.Tabs.Tab,{value:i.id,sx:{maxWidth:"100%",overflow:"scroll"},children:i.label},i.id))}),o(s.Button,{size:"xs",color:"blue",leftIcon:o($.PlaylistAdd,{size:20}),onClick:r,children:"Add a Filter"})]}),o(s.Box,{sx:{flexGrow:1,height:"100%"},children:t.filters.current.map((i,a)=>o(s.Tabs.Panel,{value:i.id,sx:{height:"100%"},children:g(s.Stack,{sx:{height:"100%"},spacing:"sm",children:[o(s.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:o(Ha,{filter:i,index:a})}),o(s.Group,{position:"right",pt:10,children:o(s.Button,{size:"xs",color:"red",leftIcon:o($.Trash,{size:20}),onClick:()=>t.filters.remove(a),children:"Delete this filter"})})]})},i.id))})]})})]})}),Ja=M.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Filters",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},withCloseButton:!1,children:o(Qa,{})})});var Sr=(e=>(e.Use="use",e.Edit="edit",e))(Sr||{}),he=(e=>(e.Division="div",e.Modal="modal",e))(he||{}),wr=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(wr||{});const Xa=M.observer(()=>{const t=j().views.VIE;return!t||t.type!==he.Division?null:g(s.Stack,{children:[o(s.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),o(s.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})}),Ka=M.observer(()=>{const t=j().views.VIE;return!t||t.type!==he.Modal?null:g(s.Stack,{children:[o(s.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(s.TextInput,{label:"Width",value:t.config.width,onChange:n=>t.updateConfig("width",n.currentTarget.value),placeholder:"600px / 50vw"}),o(s.TextInput,{label:"Height",value:t.config.height,onChange:n=>t.updateConfig("height",n.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),Za=M.observer(()=>g(H,{children:[o(Xa,{}),o(Ka,{})]})),es=[{label:"Division",value:he.Division},{label:"Modal",value:he.Modal}],ts=M.observer(()=>{const t=j().views.VIE;return t?g(s.Stack,{sx:{position:"relative"},children:[o(s.TextInput,{label:"Name",value:t.name,onChange:n=>{t.setName(n.currentTarget.value)}}),o(s.Select,{label:"Type",value:t.type,onChange:t.setType,data:es}),o(Za,{})]}):null}),ns=M.observer(({opened:e,close:t})=>{var i;const n=j(),{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(e)},[e]),o(s.Modal,{size:"500px",overflow:"inside",opened:e,onClose:t,withCloseButton:!1,styles:{header:{width:"100%"},title:{width:"100%"}},title:g(s.Group,{position:"apart",children:[g(s.Text,{sx:{flexGrow:1},children:["Editing ",(i=n.views.VIE)==null?void 0:i.name]}),o(s.ActionIcon,{size:18,color:"red",onClick:n.views.removeVIE,disabled:n.views.isVIETheFirstView,children:o($.Trash,{size:18})})]}),trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:o(ts,{})})}),rs=S.forwardRef(({label:e,type:t,...n},r)=>t!=="TRIGGER_TO_ADD"?o("div",{ref:r,...n,children:g(s.Group,{noWrap:!0,position:"apart",children:[o(s.Text,{size:"sm",children:e}),o(s.Text,{size:"xs",color:"dimmed",children:t})]})}):o("div",{ref:r,...n,children:o(s.Group,{noWrap:!0,grow:!0,children:o(s.Text,{size:"sm",align:"center",color:"#228be6",children:e})})})),_r="TRIGGER_TO_ADD",is=M.observer(({value:e,onChange:t,triggerAdd:n,triggerEdit:r,options:i})=>{const a=S.useMemo(()=>[...i,{label:"Add a View",value:_r,type:"TRIGGER_TO_ADD"}],[i,n]),l=u=>{u!==_r?t(u):n()};return g(s.Group,{position:"left",spacing:0,sx:{minWidth:"260px"},children:[o(s.Select,{value:e,onChange:l,placeholder:"Pick a View",itemComponent:rs,data:a,nothingFound:"Empty",sx:{flexGrow:1},styles:{input:{borderTopRightRadius:0,borderBottomRightRadius:0}}}),o(s.ActionIcon,{onClick:r,variant:"default",size:36,sx:{borderLeft:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,"&:active":{transform:"none",svg:{transform:"translateY(1px)"}}},children:o($.Settings,{size:20})})]})}),os=M.observer(()=>{const e=j(),[t,n]=S.useState(!1),r=()=>{n(!0)},i=()=>{n(!1)};return g(H,{children:[o(is,{value:e.views.idOfVIE,onChange:e.views.setIDOfVIE,triggerAdd:e.views.addARandomNewView,triggerEdit:r,options:e.views.options}),o(ns,{opened:t,close:i})]})}),Dr={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}},Ir=M.observer(function({saveChanges:t}){const n=j(),r=_.default.useCallback(()=>{const T=n.queries.json,E=n.views.json,O=n.sqlSnippets.json,F=n.filters.current,L=n.mock_context.current;return{filters:F,views:E,definition:{sqlSnippets:O,queries:T,mock_context:L},version:n.version}},[n]),i=()=>{n.reset()},a=n.changed,{inEditMode:l,inUseMode:u}=_.default.useContext(Ce),[c,p]=_.default.useState(!1),d=()=>p(!0),f=()=>p(!1),[h,v]=_.default.useState(!1),C=()=>v(!0),b=()=>v(!1),D=()=>{const T=JSON.stringify(r(),null,2);sa(n.name,T)};return g(s.Group,{position:"apart",pt:0,px:10,pb:"xs",children:[o(s.Group,{position:"left",children:l&&o(os,{})}),g(s.Group,{position:"right",sx:{button:{minWidth:"40px"}},children:[l&&g(H,{children:[o(s.Button,{variant:"filled",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:o($.PlaylistAdd,{size:20}),children:"Add a Panel"}),g(s.Group,{spacing:0,sx:Dr,children:[o(s.Tooltip,{label:"Filters",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:C,children:o($.Filter,{size:20})})}),o(s.Tooltip,{label:"Data Settings",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:d,children:o($.Database,{size:20})})})]}),g(s.Group,{spacing:0,sx:Dr,children:[o(s.Tooltip,{label:"Save Changes",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:t,disabled:!a,children:o($.DeviceFloppy,{size:20,color:"green"})})}),o(s.Tooltip,{label:"Revert Changes",children:o(s.ActionIcon,{variant:"default",size:"md",disabled:!a,onClick:i,children:o($.Recycle,{size:20,color:"red"})})})]})]}),!u&&g(s.Menu,{width:180,trigger:"hover",children:[o(s.Menu.Target,{children:o(s.ActionIcon,{variant:"default",size:"md",children:o($.Share,{size:20})})}),g(s.Menu.Dropdown,{children:[o(s.Menu.Item,{icon:o($.Download,{size:14}),onClick:n.queries.downloadAllData,children:"Download Data"}),o(s.Menu.Item,{icon:o($.Code,{size:14}),onClick:D,children:"Download Schema"})]})]})]}),o(Ja,{opened:h,close:b}),o(Fa,{opened:c,close:f})]})}),Tf="",Mr=M.observer(()=>{const{freezeLayout:e}=_.default.useContext(Ce),[t,n]=_.default.useState(!1),{panel:r}=ae();return _.default.useEffect(()=>{e(t)},[t]),!r.description||r.description==="<p><br></p>"?null:g(H,{children:[o(s.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,children:o(tr.default,{readOnly:!0,value:r.description,onChange:Y.default.noop,sx:{border:"none"}})}),o(s.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:o(s.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:o($.InfoCircle,{size:20})})})]})}),Ar=e=>{const{title:t="Variables",variables:n}=e,r=Z.useClipboard(),i=a=>{r.copy(a),st.showNotification({color:"green",message:"Copied to clipboard"})};return g(s.Paper,{withBorder:!0,p:"sm",children:[o(s.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),o(s.Stack,{style:{maxHeight:"300px"},children:n.map(a=>g(s.Text,{size:"sm",children:[g(s.Code,{color:"teal",children:["// ",a.description]}),o("br",{}),g(s.Code,{onClick:()=>i(a.name),style:{cursor:"pointer"},children:[a.name," : ",a.valueType]})]},a.name))})]})};class as{constructor(t,n){k(this,"operationId");k(this,"operation");k(this,"operationSchema");k(this,"variables",[]);this.operationManager=t,this.instance=n,ie.makeAutoObservable(this)}get schemaList(){return this.operationManager.getOperationSchemaList()}async configOperation(t,n){const r=await this.operationManager.retrieveTrigger(t),i=this.operationManager.getOperationSchemaList().find(a=>a.id===(r==null?void 0:r.schemaRef));ie.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 ss(e){return!!e.operationId}const ls=M.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return o(s.Button,{variant:"outline",onClick:t,children:n})}),us=M.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return S.createElement(e.operationSchema.configRender,t)});function cs({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(a=>a.id===i))}return o(s.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const ds=M.observer(e=>{const[t,{setTrue:n,setFalse:r}]=W.useBoolean(!1),{operationManager:i,operationId:a,instance:l,variables:u}=e,c=W.useCreation(()=>new as(i,l),[i,l]);return W.useAsyncEffect(async()=>{await c.configOperation(a,u)},[a,c]),ss(c)?g(H,{children:[o(ls,{model:c,onClick:n}),o(s.Modal,{opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",children:g(s.Stack,{children:[o(cs,{model:c}),o(us,{model:c}),o(Ar,{title:"Variables",variables:c.variables})]})})]}):null});class ps{constructor(t,n){k(this,"triggerId");k(this,"trigger");k(this,"triggerSchema");k(this,"sampleData");this.triggerManager=t,this.instance=n,ie.makeAutoObservable(this)}get schemaList(){return this.triggerManager.getTriggerSchemaList()}async configTrigger(t,n){const r=await this.triggerManager.retrieveTrigger(t),i=this.triggerManager.getTriggerSchemaList().find(a=>a.id===(r==null?void 0:r.schemaRef));ie.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 gs(this)}}function gs(e){return!!e.triggerId&&!!e.triggerSchema}function fs(e,t){return W.useCreation(()=>new ps(e,t),[e,t])}const hs=M.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return o(s.Button,{variant:"outline",onClick:t,children:S.createElement(n,r)})}),ms=M.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(a=>a.id===i))}return o(s.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),vs=M.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return S.createElement(e.triggerSchema.configRender,t)}),ys=M.observer(e=>{const[t,{setTrue:n,setFalse:r}]=W.useBoolean(!1),i=e.model;return g(H,{children:[o(s.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",children:g(s.Stack,{children:[o(ms,{model:i}),o(vs,{model:i}),o(Ar,{title:"Payload",variables:i.triggerSchema.payload})]})}),o(hs,{onClick:n,model:i})]})});class Ue{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,x.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:x.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,a)=>{n(i,a)},r):this.root.watchItem(this.path,(i,a)=>{const l=x.get(i,t),u=x.get(a,t);l!==u&&n(l,u)},r)}}class Yt{constructor(t,n,r){k(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new Ue(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new Ue(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new Ue(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(x.values(t).map(n=>this.constructInstance(new Ue(this.attachmentStorage,n.id))))}}class Vr{constructor(t){k(this,"rootRef");this.rootRef=ie.observable({current:t})}async deleteItem(t){ie.runInAction(()=>{x.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?ie.toJS(this.rootRef.current):x.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(x.isObject(n))ie.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else ie.runInAction(()=>{x.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return ie.reaction(()=>this.getValueFromRoot(t),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:x.get(r,"fireImmediately",!1)})}}class bs{constructor(){k(this,"channels",new Map);k(this,"globalChannel",new nr.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new nr.default;return this.channels.set(t,r),r}}class Cs{constructor(t){k(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 bs,instanceData:new Vr(t.viz.conf)};return this.instances.set(t.id,r),r}}function Tr(e,t,n){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Vr({}),colorPalette:{getColor(){return()=>""}},data:t}}const xs=e=>{const{panel:t,vizManager:n,data:r}=e,i=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),l={...Tr(a,r,n),viewport:{width:t.layout.w,height:t.layout.h}},u=i.viewRender;return o(u,{context:l,instance:a,...x.omit(e,["panel","vizManager","data"])})},Ss=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),u={...Tr(l,i,t),panelInfoEditor:r},c=a.configRender;return o(c,{context:u,instance:l,...x.omit(e,["panel","vizManager","data","panelInfoEditor"])})},$r=(e,t)=>{const n=Qe.default.bezier(e),r=Qe.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},pt=e=>{const t=Qe.default.bezier(e);return function(n){return t(n/100).hex()}},ws={type:"interpolation",displayName:"Red / Green",getColor:$r(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},_s={type:"interpolation",displayName:"Yellow / Blue",getColor:$r(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Ds={type:"interpolation",displayName:"Red",getColor:pt(["#fff7f1","darkred"]),name:"red",category:"sequential"},Is={type:"interpolation",displayName:"Green",getColor:pt(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Ms={type:"interpolation",displayName:"Blue",getColor:pt(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},As={type:"interpolation",displayName:"Orange",getColor:pt(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},Vs="5.12.0";class Ts{constructor(t){k(this,"staticColors",new Map);k(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 $s{constructor(){k(this,"plugins",new Map);k(this,"vizComponents",new Map);k(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 Es{constructor(){k(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n){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 r=this.migrations.filter(l=>l.version>t.from&&l.version<=t.to),i=x.orderBy(r,"version","asc");if(((a=x.last(i))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return i.reduce((l,u)=>u.handler(l),n)}}class ge extends Es{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,r=>({version:t,...n(r)}))}async migrate({configData:t}){const n=await t.getItem(null),r=x.get(n,"version",0),i=this.run({from:r,to:this.VERSION},n);await t.setItem(null,i)}async needMigration({configData:t}){const n=await t.getItem(null);return x.get(n,"version",0)<this.VERSION}}const G=(e,t)=>{const[n,{setFalse:r}]=W.useBoolean(!0),[i,a]=S.useState();S.useEffect(()=>(e.getItem(t).then(u=>{a(u),r()}),e.watchItem(t,u=>{a(u)})));const l=S.useCallback(async u=>{await e.setItem(t,u),a(u)},[e,t]);return{loading:n,value:i,set:l}},Ht={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"}};ee.use([U.GridComponent,U.VisualMapComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function ks({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:u,xAxis3D:c,yAxis3D:p,zAxis3D:d}=x.defaults({},t,Ht),f=S.useMemo(()=>{const C=x.minBy(n,b=>b[u]);return x.get(C,u)},[n,u]),h=S.useMemo(()=>{const C=x.maxBy(n,b=>b[u]);return x.get(C,u)},[n,u]),v={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:f,max:h,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:c,yAxis3D:p,zAxis3D:d,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:n.map(C=>[C[a],C[l],C[u]])}]};return t?o(Ee.default,{echarts:ee,option:v,style:{width:r,height:i}}):null}function Rs({label:e,required:t,value:n,onChange:r,data:i,clearable:a=!1,sx:l,...u},c){const p=_.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const f=Object.keys(i[0]).map(h=>({label:h,value:h}));return a?f.concat([{label:"unset",value:""}]):f},[i]);return o(s.Select,{ref:c,label:e,data:p,value:n,onChange:r,required:t,sx:l,...u})}const J=_.default.forwardRef(Rs);function Os({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=x.defaults({},t,Ht),{control:a,handleSubmit:l,reset:u}=w.useForm({defaultValues:i});return S.useEffect(()=>{u(i)},[t]),t?o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[o(s.Text,{children:"X Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(w.Controller,{name:"x_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(w.Controller,{name:"xAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Text,{mt:"lg",children:"Y Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(w.Controller,{name:"y_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(w.Controller,{name:"yAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Text,{mt:"lg",children:"Z Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(w.Controller,{name:"z_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(w.Controller,{name:"zAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:g(s.Button,{color:"blue",type:"submit",children:[o($.DeviceFloppy,{size:20}),o(s.Text,{ml:"md",children:"Save"})]})})]})}):null}class Ps extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Fs={displayName:"Bar Chart (3D)",migrator:new Ps,name:"bar-3d",viewRender:ks,configRender:Os,createConfig:()=>Ht},Qt=S.forwardRef(function({value:t,onChange:n,...r},i){return o(s.TextInput,{ref:i,value:t,onChange:n,...r})}),Ke={mantissa:0,output:"number",trimMantissa:!1,average:!1};function zs({value:e,onChange:t},n){const r=u=>{t({...e,output:u})},i=u=>{const c=u===0?!1:e.trimMantissa;t({...e,mantissa:u,trimMantissa:c})},a=u=>{t({...e,trimMantissa:u.currentTarget.checked})},l=u=>{t({...e,average:u.currentTarget.checked})};return g(s.Stack,{ref:n,children:[g(s.Group,{grow:!0,children:[o(s.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),o(s.Switch,{label:g(s.Stack,{spacing:0,children:[o(s.Text,{children:"Average"}),o(s.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:l,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),g(s.Group,{grow:!0,children:[o(s.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),o(s.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:a,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),g(s.Stack,{spacing:0,children:[o(s.Text,{weight:"bold",children:"Preview"}),o(Be,{children:g(s.Group,{position:"apart",children:[g(s.Text,{size:12,color:"gray",children:["123456789 ",o($.ArrowRight,{size:9})," ",fe.default(123456789).format(e)]}),g(s.Text,{size:12,color:"gray",children:["1234 ",o($.ArrowRight,{size:9})," ",fe.default(1234).format(e)]}),g(s.Text,{size:12,color:"gray",children:["0.1234 ",o($.ArrowRight,{size:9})," ",fe.default(.1234).format(e)]})]})})]})]})}const Jt=_.default.forwardRef(zs);function gt(){return{name:Z.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:Ke}}const qs=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"},{label:"Quantile(99%, 95%, ...)",value:"quantile"}];function Gs({label:e,value:t,onChange:n},r){S.useEffect(()=>{typeof t=="string"&&(console.log(t),n({type:t,config:{}}))},[t,n]);const i=l=>{n(l==="quantile"?{type:"quantile",config:{p:.99}}:{type:l,config:{}})},a=l=>{n({type:"quantile",config:{p:l}})};return g(s.Group,{grow:!0,noWrap:!0,pt:"sm",children:[o(s.Select,{ref:r,label:e,data:qs,value:t.type,onChange:i}),t.type==="quantile"&&o(s.NumberInput,{label:"p",value:t.config.p,onChange:a,precision:2,min:.05,step:.05,max:1})]})}const Ns=_.default.forwardRef(Gs);function Ls({label:e,value:t,onChange:n},r){const[i,a]=_.default.useState(Array.isArray(t)?[...t]:[]),l=_.default.useCallback(()=>{a(h=>[...h,""])},[a]),u=_.default.useCallback(h=>{a(v=>(v.splice(h,1),[...v]))},[a]),c=_.default.useMemo(()=>!Y.default.isEqual(i,t),[i,t]),p=()=>{n(i.map(h=>h.toString()))},d=s.useMantineTheme(),f=_.default.useMemo(()=>Object.entries(d.colors).map(([h,v])=>v[6]),[d]);return g(H,{children:[g(s.Group,{position:"left",ref:r,children:[o(s.Text,{children:e}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:p,children:o($.DeviceFloppy,{size:20})})]}),g(s.Group,{children:[i.map((h,v)=>o(s.ColorInput,{value:h,onChange:C=>{a(b=>(b.splice(v,1,C),[...b]))},swatches:f,rightSection:o(s.ActionIcon,{onClick:()=>u(v),color:"red",children:o($.Trash,{size:14})}),sx:{width:"45%"}})),o(s.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:o($.PlaylistAdd,{size:20})})]})]})}const js=_.default.forwardRef(Ls);function Bs({value:e,onChange:t},n){const{colorManager:r}=S.useContext(Ie),i=_.default.useMemo(()=>r.getStaticColors().map(u=>({label:u.name,group:u.category,value:u.value})),[r]),a=_.default.useMemo(()=>i.some(l=>l.value===e),[e,i]);return g(s.Group,{position:"apart",spacing:4,ref:n,children:[o(s.TextInput,{placeholder:"Set any color",value:a?"":e,onChange:l=>t(l.currentTarget.value),rightSection:o(s.ColorSwatch,{color:a?"transparent":e,radius:4}),variant:a?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),o(s.Text,{sx:{flexGrow:0},children:"or"}),o(s.Select,{data:i,value:e,onChange:t,variant:a?"default":"filled",placeholder:"Pick a theme color",icon:o(s.ColorSwatch,{color:a?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const Pe=_.default.forwardRef(Bs),ft=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function Ws({label:e,value:t,onChange:n},r){var l,u;const[i,a]=_.default.useState((u=(l=ft.find(c=>c.label===t))==null?void 0:l.value)!=null?u:ft[0].value);return _.default.useEffect(()=>{const c=ft.find(p=>p.value===i);c&&n(c.label)},[i]),g(s.Stack,{spacing:0,mt:"sm",mb:"lg",children:[o(s.Text,{size:"sm",children:e}),o(s.Slider,{label:null,marks:ft,value:i,onChange:a,step:25,placeholder:"Pick a font size",ref:r})]})}const Us=_.default.forwardRef(Ws);function Ys({label:e,value:t,onChange:n},r){const[i,a]=_.default.useState(Array.isArray(t)?[...t]:[]),l=_.default.useCallback(()=>{a(d=>[...d,""])},[a]),u=_.default.useCallback(d=>{a(f=>(f.splice(d,1),[...f]))},[a]),c=_.default.useMemo(()=>!Y.default.isEqual(i,t),[i,t]),p=()=>{n(i.map(d=>d.toString()))};return g(H,{children:[g(s.Group,{position:"left",ref:r,children:[o(s.Text,{children:e}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:p,children:o($.DeviceFloppy,{size:20})})]}),g(s.Group,{children:[i.map((d,f)=>o(s.TextInput,{value:d,onChange:h=>{const v=h.currentTarget.value;a(C=>(C.splice(f,1,v),[...C]))},rightSection:o(s.ActionIcon,{onClick:()=>u(f),color:"red",children:o($.Trash,{size:14})}),sx:{width:"45%"}})),o(s.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:o($.PlaylistAdd,{size:20})})]})]})}const Hs=_.default.forwardRef(Ys),Qs=_.default.forwardRef(function({value:t,onChange:n},r){const i=t.color.type,a=(l,u)=>{const c=Y.default.cloneDeep(t);Y.default.set(c,l,u),n(c)};return g(H,{children:[o(s.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),o(s.Stack,{children:o(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:t.size,onChange:l=>a("size",l.currentTarget.value)})}),o(s.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:o(Us,{label:"Font Weight",value:t.weight,onChange:l=>a("weight",l)})}),o(s.Divider,{my:"xs",label:"Style",labelPosition:"center"}),g(s.Stack,{children:[o(s.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:l=>a("color.type",l)}),i==="static"&&o(Pe,{value:t.color.staticColor,onChange:l=>a("color.staticColor",l)}),i==="continuous"&&g(H,{children:[o(Hs,{label:"Value Range",value:t.color.valueRange,onChange:l=>a("color.valueRange",l)}),o(js,{label:"Color Range",value:t.color.colorRange,onChange:l=>a("color.colorRange",l)})]})]})]})}),ht=_.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},a){const l=(u,c)=>{const p=Y.default.cloneDeep(t);Y.default.set(p,u,c),n(p)};return g(s.Box,{px:"sm",py:"md",ref:a,children:[o(s.Text,{weight:"bold",pb:0,children:t.name}),o(s.Divider,{my:"xs",label:"Data",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(s.TextInput,{label:"Name",required:!0,value:t.name,onChange:u=>l("name",u.currentTarget.value)}),o(J,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:u=>l("data_field",u)})]}),o(Ns,{label:"Aggregation",value:t.aggregation,onChange:u=>l("aggregation",u)}),o(s.Divider,{my:"xs",label:"Format",labelPosition:"center"}),o(Jt,{value:t.formatter,onChange:u=>l("formatter",u)}),i&&o(Qs,{value:t,onChange:n})]})});function Js(e){const t=Array.from(e).sort((r,i)=>r-i),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]}function Xt(e,t,n){var i,a,l,u;const r=e.map(c=>c[t]);switch(n.type){case"sum":return Y.default.sum(r);case"mean":return Y.default.mean(r);case"median":return Js(r);case"max":return(i=Y.default.max(r))!=null?i:0;case"min":return(a=Y.default.min(r))!=null?a:0;case"quantile":return(l=No.quantile(r,n.config.p))!=null?l:0;default:return(u=e[0])==null?void 0:u[t]}}var Er=function(){},Ze=function(){};process.env.NODE_ENV!=="production"&&(Er=function(e,t){!e&&typeof console<"u"&&console.warn(t)},Ze=function(e,t){if(!e)throw new Error(t)});const Xs=(e,t,n)=>Math.min(Math.max(n,e),t),kr=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},Kt=(e,t,n)=>-n*e+n*t+e,Rr=(e,t)=>n=>Math.max(Math.min(n,t),e),et=e=>e%1?Number(e.toFixed(5)):e,mt=/(-)?([\d]*\.?[\d])+/g,Zt=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,Ks=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function tt(e){return typeof e=="string"}const vt={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Or=Object.assign(Object.assign({},vt),{transform:Rr(0,1)});Object.assign(Object.assign({},vt),{default:1});const nt=(e=>({test:t=>tt(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}))("%");Object.assign(Object.assign({},nt),{parse:e=>nt.parse(e)/100,transform:e=>nt.transform(e*100)});const en=(e,t)=>n=>Boolean(tt(n)&&Ks.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),Pr=(e,t,n)=>r=>{if(!tt(r))return r;const[i,a,l,u]=r.match(mt);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(l),alpha:u!==void 0?parseFloat(u):1}},je={test:en("hsl","hue"),parse:Pr("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+nt.transform(et(t))+", "+nt.transform(et(n))+", "+et(Or.transform(r))+")"},Zs=Rr(0,255),tn=Object.assign(Object.assign({},vt),{transform:e=>Math.round(Zs(e))}),Fe={test:en("rgb","red"),parse:Pr("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+tn.transform(e)+", "+tn.transform(t)+", "+tn.transform(n)+", "+et(Or.transform(r))+")"};function el(e){let t="",n="",r="",i="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const nn={test:en("#"),parse:el,transform:Fe.transform},yt={test:e=>Fe.test(e)||nn.test(e)||je.test(e),parse:e=>Fe.test(e)?Fe.parse(e):je.test(e)?je.parse(e):nn.parse(e),transform:e=>tt(e)?e:e.hasOwnProperty("red")?Fe.transform(e):je.transform(e)},Fr="${c}",zr="${n}";function tl(e){var t,n,r,i;return isNaN(e)&&tt(e)&&((n=(t=e.match(mt))===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)+((i=(r=e.match(Zt))===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0)>0}function qr(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0;const r=e.match(Zt);r&&(n=r.length,e=e.replace(Zt,Fr),t.push(...r.map(yt.parse)));const i=e.match(mt);return i&&(e=e.replace(mt,zr),t.push(...i.map(vt.parse))),{values:t,numColors:n,tokenised:e}}function Gr(e){return qr(e).values}function Nr(e){const{values:t,numColors:n,tokenised:r}=qr(e),i=t.length;return a=>{let l=r;for(let u=0;u<i;u++)l=l.replace(u<n?Fr:zr,u<n?yt.transform(a[u]):et(a[u]));return l}}const nl=e=>typeof e=="number"?0:e;function rl(e){const t=Gr(e);return Nr(e)(t.map(nl))}const Lr={test:tl,parse:Gr,createTransformer:Nr,getAnimatableNone:rl};function rn(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function jr({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,l=0;if(!t)i=a=l=n;else{const u=n<.5?n*(1+t):n+t-n*t,c=2*n-u;i=rn(c,u,e+1/3),a=rn(c,u,e),l=rn(c,u,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(l*255),alpha:r}}const il=(e,t,n)=>{const r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},ol=[nn,Fe,je],Br=e=>ol.find(t=>t.test(e)),Wr=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,Ur=(e,t)=>{let n=Br(e),r=Br(t);Ze(!!n,Wr(e)),Ze(!!r,Wr(t));let i=n.parse(e),a=r.parse(t);n===je&&(i=jr(i),n=Fe),r===je&&(a=jr(a),r=Fe);const l=Object.assign({},i);return u=>{for(const c in l)c!=="alpha"&&(l[c]=il(i[c],a[c],u));return l.alpha=Kt(i.alpha,a.alpha,u),n.transform(l)}},al=e=>typeof e=="number",sl=(e,t)=>n=>t(e(n)),Yr=(...e)=>e.reduce(sl);function Hr(e,t){return al(e)?n=>Kt(e,t,n):yt.test(e)?Ur(e,t):Xr(e,t)}const Qr=(e,t)=>{const n=[...e],r=n.length,i=e.map((a,l)=>Hr(a,t[l]));return a=>{for(let l=0;l<r;l++)n[l]=i[l](a);return n}},ll=(e,t)=>{const n=Object.assign(Object.assign({},e),t),r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Hr(e[i],t[i]));return i=>{for(const a in r)n[a]=r[a](i);return n}};function Jr(e){const t=Lr.parse(e),n=t.length;let r=0,i=0,a=0;for(let l=0;l<n;l++)r||typeof t[l]=="number"?r++:t[l].hue!==void 0?a++:i++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:a}}const Xr=(e,t)=>{const n=Lr.createTransformer(t),r=Jr(e),i=Jr(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?Yr(Qr(r.parsed,i.parsed),n):(Er(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),l=>`${l>0?t:e}`)},ul=(e,t)=>n=>Kt(e,t,n);function cl(e){if(typeof e=="number")return ul;if(typeof e=="string")return yt.test(e)?Ur:Xr;if(Array.isArray(e))return Qr;if(typeof e=="object")return ll}function dl(e,t,n){const r=[],i=n||cl(e[0]),a=e.length-1;for(let l=0;l<a;l++){let u=i(e[l],e[l+1]);if(t){const c=Array.isArray(t)?t[l]:t;u=Yr(c,u)}r.push(u)}return r}function pl([e,t],[n]){return r=>n(kr(e,t,r))}function gl(e,t){const n=e.length,r=n-1;return i=>{let a=0,l=!1;if(i<=e[0]?l=!0:i>=e[r]&&(a=r-1,l=!0),!l){let c=1;for(;c<n&&!(e[c]>i||c===r);c++);a=c-1}const u=kr(e[a],e[a+1],i);return t[a](u)}}function fl(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const a=e.length;Ze(a===t.length,"Both input and output ranges must be the same length"),Ze(!r||!Array.isArray(r)||r.length===a-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const l=dl(t,r,i),u=a===2?pl(e,l):gl(e,l);return n?c=>u(Xs(e[0],e[a-1],c)):u}class hl{constructor({valueRange:t,colorRange:n}){k(this,"mapper");this.mapper=fl(t,n)}getColor(t){return this.mapper(t)}}function ml(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function on({data_field:e,aggregation:t},n){return Xt(n,e,t)}function rt({formatter:e},t){return["string","number"].includes(typeof t)?fe.default(t).format(e):ml(t)}function vl(e,t){return e.type==="static"?e.staticColor:e.type==="continuous"?new hl(e).getColor(t):"black"}function yl(e,t){const n={};return e.forEach(r=>{const{name:i,color:a,data_field:l,aggregation:u,size:c,weight:p}=r,d=Xt(t,l,u),f=rt(r,d);n[i]=o(s.Text,{sx:{fontSize:c,display:"inline"},color:vl(a,d),weight:p,children:f})}),n}function bl(e){return e.split(" ").map((t,n)=>g(_.default.Fragment,{children:[t,"\xA0"]},n))}function Cl(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
48
- `,"<br/>").split("<br/>");return n.map((i,a)=>{const l=[bl(i)];return a!==n.length-1&&l.push(o("br",{})),l}).flat().filter(i=>i!==void 0)}function an(e){return Cl(e)}function sn(e,t,n){const r=yl(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var p;const l=i.exec(a);if(!l)return an(a);const u=r[l[1]];if(!u)return an(a);const c=(p=l[2])!=null?p:"";return g(H,{children:[u,an(c)]})})}function xl(e,t){const n={};return e.forEach(r=>{const{name:i,data_field:a,aggregation:l}=r,u=Xt(t,a,l);n[i]=rt(r,u)}),n}function Kr(e,t,n){const r=xl(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var p;const l=i.exec(a);if(!l)return a;const u=r[l[1]];if(!u)return a;const c=(p=l[2])!=null?p:"";return`${u}${c}`}).join("")}const ln={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis",data_key:"value"},color:"#228be6",variables:[],reference_lines:[]};ee.use([U.DataZoomComponent,_e.BoxplotChart,U.MarkLineComponent,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Sl(e,t,n){const r=t.reduce((i,a)=>{const l=on(a,n);return i[a.name]=rt(a,l),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 Kr(i.template,t,n)},position:"insideEndTop"}}}))}function wl({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,y_axis:l,color:u,variables:c,reference_lines:p}=x.defaults({},t,ln),{xAxisData:d,boxplotData:f}=S.useMemo(()=>{const v=Y.default.groupBy(n,a.data_key);return{xAxisData:Object.keys(v),boxplotData:Object.values(v).map(C=>C.map(b=>b[l.data_key]))}},[n,a.data_key,l.data_key]),h={dataset:[{source:f},{transform:{type:"boxplot",config:{itemNameFormatter:function(v){var C;return(C=d[v.value])!=null?C:v.value}}}}],dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",name:a.name,axisTick:{show:!0,alignWithLabel:!0}}],yAxis:[{name:l.name,axisLine:{show:!0}}],series:[{name:l.name,type:"boxplot",itemStyle:{color:u,borderColor:"#454545"},boxWidth:[10,40],datasetIndex:1},...Sl(p,c,n)]};return!t||!r||!i?null:o(Ee.default,{echarts:ee,option:h,style:{width:r,height:i}})}function _l({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(w.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(s.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(w.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(s.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function Dl({control:e,watch:t}){const{fields:n,append:r,remove:i}=w.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=n.map((d,f)=>({...d,...a[f]})),u=()=>r({name:"",template:"",variable_key:""}),c=t("variables"),p=S.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,f)=>o(_l,{control:e,index:f,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Line"})})]})}function Il({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(w.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ht,{data:r,withStyle:!1,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function Ml({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(gt());return g(s.Stack,{children:[u.map((p,d)=>o(Il,{control:e,index:d,remove:a,data:n})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function Al({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=S.useMemo(()=>x.defaults({},t,ln),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=w.useForm({defaultValues:i});S.useEffect(()=>{p(i)},[i]),u(["x_axis","y_axis","reference_lines","color"]);const d=c(),f=S.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:o($.DeviceFloppy,{size:20})})]}),g(s.Accordion,{defaultValue:"Axis",children:[g(s.Accordion.Item,{value:"Axis",children:[o(s.Accordion.Control,{children:"Axis"}),g(s.Accordion.Panel,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"x_axis.name",control:a,render:({field:h})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...h})}),o(w.Controller,{name:"x_axis.data_key",control:a,render:({field:h})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"y_axis.name",control:a,render:({field:h})=>o(s.TextInput,{label:"Y Axis Name",sx:{flex:1},...h})}),o(w.Controller,{name:"y_axis.data_key",control:a,render:({field:h})=>o(J,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]})]})]}),g(s.Accordion.Item,{value:"Style",children:[o(s.Accordion.Control,{children:"Style"}),o(s.Accordion.Panel,{children:g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(w.Controller,{name:"color",control:a,render:({field:h})=>o(Pe,{...h})})]})})]}),g(s.Accordion.Item,{value:"Advanced",children:[o(s.Accordion.Control,{children:g(s.Group,{position:"apart",children:["Advanced",o(s.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(s.Accordion.Panel,{children:g(s.Tabs,{defaultValue:"variables",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"variables",children:"Variables"}),o(s.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),o(s.Tabs.Panel,{value:"variables",pt:"xs",children:o(Ml,{control:a,watch:u,data:r})}),o(s.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(Dl,{control:a,watch:u})})]})})]})]})]})})}class Vl extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Tl={displayName:"Boxplot",migrator:new Vl,name:"boxplot",viewRender:wl,configRender:Al,createConfig:()=>ln};function $l(e){const t=e.y_axes.some(n=>!!n.name);return{bottom:e.x_axis_name?40:25,top:t?30:10}}function El({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:a,plot:l,name:u,y_axis_data_key:c})=>{const p=`x-axis-for-${u}`,d=`dataset-for-${u}--raw`,f=`dataset-for-${u}--transformed`;n.push({id:d,source:t.map((h,v)=>[v,Number(h[c])])}),n.push({transform:a,id:f,fromDatasetId:d}),r.push({...l,name:u,datasetId:f,xAxisId:p,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:p,datasetId:f,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function kl(e,t,n,r){const i=t.map(a=>[a[n],a[r]]);return Y.default.unionBy(i,e,0)}function Rl(e,t,n){const r=t.reduce((i,a)=>{const l=on(a,n);return i[a.name]=rt(a,l),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 Kr(i.template,t,n)},position:"insideEndTop"}}}))}function Ol(e,t,n){const r=t.reduce((i,a)=>{const l=on(a,n);return i[a.name]=rt(a,l),i},{});return e.map(i=>({name:"",type:"line",data:[],markArea:{itemStyle:{color:i.color},data:[[{yAxis:r[i.y_keys.upper]},{yAxis:r[i.y_keys.lower]}]],silent:!0}}))}function Pl({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:a,stack:l,color:u,display_name_on_line:c,...p},d,f,h){const v={label:{show:!!r,position:r,formatter:h[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:l,color:u,...p};if(c&&(v.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!a)return v.data=f.map(b=>b[t]),v;const C=x.groupBy(f,a);return Object.entries(C).map(([b,D])=>{const T=x.cloneDeep(v);return T.data=kl(d,D,e,t),T.name=b,T.color=void 0,T})}function Fl(e,t,n,r){const i=t.map(l=>[l,0]);return e.series.map(l=>Pl(e,l,i,n,r)).flat().concat(Rl(e.reference_lines,e.variables,n)).concat(Ol(e.reference_areas,e.variables,n))}function zl(e,t){const n=e.series.reduce((r,{yAxisIndex:i,name:a})=>(r[a]=i,r),{});return{formatter:function(r){const i=Array.isArray(r)?r:[r];if(i.length===0)return"";const a=i.map(({seriesName:l,value:u})=>{var d;if(Array.isArray(u)&&u.length===2&&(u=u[1]),!l)return u;const c=n[l],p=(d=t[c])!=null?d:t.default;return`${l}: <strong>${p({value:u})}</strong>`});return a.unshift(`<strong>${i[0].name}</strong>`),a.join("<br />")}}}function ql(e,t,n){var r;return[{data:t,name:(r=e.x_axis_name)!=null?r:"",id:"main-x-axis",axisTick:{show:!0,alignWithLabel:!0},...e.x_axis},...n]}function Gl(e,t){return e.y_axes.map(({nameAlignment:n,...r},i)=>{var l;let a=r.position;return a||(a=i>0?"right":"left"),{...r,position:a,axisLabel:{show:!0,formatter:(l=t[i])!=null?l:t.default},axisLine:{show:!0},nameTextStyle:{fontWeight:"bold",align:n},nameLocation:"end",nameGap:15,splitLine:{show:!1}}})}const Nl={legend:{show:!0,bottom:0,left:"center",type:"scroll"},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],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:30,right:15,bottom:25,containLabel:!0}};function Ll(e,t){const n=e.y_axes.reduce((p,{label_formatter:d},f)=>(p[f]=function(v){let C=v;if(typeof v=="object"&&(Array.isArray(v.value)&&v.value.length===2?C=v.value[1]:C=v.value),!d)return C;try{return fe.default(C).format(d)}catch(b){return console.error(b),C}},p),{default:({value:p})=>p}),r=Y.default.uniq(t.map(p=>p[e.x_axis_data_key])),i=Fl(e,r,t,n),{regressionDataSets:a,regressionSeries:l,regressionXAxes:u}=El(e,t),c={xAxis:ql(e,r,u),yAxis:Gl(e,n),dataset:[...a],series:[...i,...l],tooltip:zl(e,n),grid:$l(e)};return x.defaultsDeep({},c,Nl)}const un={regressions:[],series:[],stats:{templates:{bottom:"",top:""},variables:[]},x_axis:{axisLabel:{rotate:0}},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:Ke}],variables:[],reference_lines:[],reference_areas:[]};ee.use([U.DataZoomComponent,_e.BarChart,_e.LineChart,_e.ScatterChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer,U.MarkLineComponent,U.MarkAreaComponent]),ee.registerTransform(Kn.transform.regression);function Zr(e){return e.trim().length>0}function jl({conf:e,data:t,width:n,height:r}){const i=_.default.useMemo(()=>Ll(e,t),[e,t]);return!n||!r?null:o(Ee.default,{echarts:ee,option:i,style:{width:n,height:r}})}function Bl({context:e}){const{value:t}=G(e.instanceData,"config"),n=S.useMemo(()=>x.defaults({},t,un),[t]),r=e.data,{width:i,height:a}=e.viewport,{ref:l,height:u}=Z.useElementSize(),{ref:c,height:p}=Z.useElementSize(),d=_.default.useMemo(()=>{const{stats:{templates:h,variables:v}}=n;return{top:sn(h.top,v,r),bottom:sn(h.bottom,v,r)}},[n,r]),f=Math.max(0,a-u-p);return g(s.Box,{children:[Zr(n.stats.templates.top)&&o(s.Text,{ref:l,align:"left",size:"xs",pl:"sm",children:Object.values(d.top).map(h=>h)}),o(jl,{width:i,height:f,data:r,conf:n}),Zr(n.stats.templates.bottom)&&o(s.Text,{ref:c,align:"left",size:"xs",pl:"sm",children:Object.values(d.bottom).map(h=>h)})]})}const Wl=[{label:"Rectangle",value:"rectangle"}],Ul=[{label:"Horizontal",value:"horizontal"}];function Yl({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`reference_areas.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(w.Controller,{name:`reference_areas.${t}.color`,control:e,render:({field:i})=>o(s.TextInput,{label:"Color",required:!0,sx:{flex:1},...i})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`reference_areas.${t}.type`,control:e,render:({field:i})=>o(s.Select,{label:"Type",required:!0,data:Wl,sx:{flex:1},...i})}),o(w.Controller,{name:`reference_areas.${t}.direction`,control:e,render:({field:i})=>o(s.Select,{label:"Direction",required:!0,data:Ul,sx:{flex:1},...i})})]}),o(s.Divider,{variant:"dashed",label:"Data",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`reference_areas.${t}.y_keys.upper`,control:e,render:({field:i})=>o(s.Select,{label:"Upper Boundary",required:!0,data:r,sx:{flex:1},...i})}),o(w.Controller,{name:`reference_areas.${t}.y_keys.lower`,control:e,render:({field:i})=>o(s.Select,{label:"Lower Boundary",required:!0,data:r,sx:{flex:1},...i})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function Hl({control:e,watch:t}){const{fields:n,append:r,remove:i}=w.useFieldArray({control:e,name:"reference_areas"}),a=t("reference_areas"),l=n.map((d,f)=>({...d,...a[f]})),u=()=>r({name:"",type:"rectangle",direction:"horizontal",y_keys:{upper:"",lower:""}}),c=t("variables"),p=S.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,f)=>o(Yl,{control:e,index:f,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Area"})})]})}function Ql({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(w.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(s.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(w.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(s.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function Jl({control:e,watch:t}){const{fields:n,append:r,remove:i}=w.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=n.map((d,f)=>({...d,...a[f]})),u=()=>r({name:"",template:"",variable_key:""}),c=t("variables"),p=S.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,f)=>o(Ql,{control:e,index:f,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Line"})})]})}const Xl=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}],Kl=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function Zl({control:e,regressionItem:t,index:n,remove:r,yAxisOptions:i,data:a}){const l=t.transform.config.method;return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(w.Controller,{name:`regressions.${n}.name`,control:e,render:({field:u})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:u})=>o(J,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})}),o(w.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...p}})=>{var d;return o(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...p,value:(d=u==null?void 0:u.toString())!=null?d:"",onChange:f=>{if(!f){c(0);return}c(Number(f))},sx:{flex:1}})}})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:u})=>o(s.Select,{label:"Method",data:Xl,sx:{flex:1},...u})}),l==="polynomial"&&o(w.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:u})=>o(s.NumberInput,{label:"Order",sx:{flex:1},...u})})]}),o(s.Divider,{mb:-15,variant:"dashed",label:"Line Style",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(w.Controller,{name:`regressions.${n}.plot.lineStyle.type`,control:e,render:({field:u})=>o(s.Select,{label:"Line Type",data:Kl,sx:{flexGrow:1},...u})}),o(w.Controller,{name:`regressions.${n}.plot.lineStyle.width`,control:e,render:({field:u})=>o(s.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...u})})]}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(w.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:u})=>o(Pe,{...u})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},n)}function eu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"regressions"}),l=t("regressions"),u=r.map((f,h)=>({...f,...l[h]})),c=t("y_axes"),p=_.default.useMemo(()=>c.map(({name:f},h)=>({label:f,value:h.toString()})),[c]),d=()=>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 g(s.Stack,{children:[u.map((f,h)=>o(Zl,{regressionItem:f,control:e,index:h,remove:a,yAxisOptions:p,data:n},h)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:d,children:"Add a Regression Line"})})]})}const tu=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function nu({control:e,index:t}){return g(H,{children:[g(s.Group,{grow:!0,align:"top",children:[o(w.Controller,{name:`series.${t}.stack`,control:e,render:({field:n})=>o(s.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),o(w.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:n})=>o(s.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),o(w.Controller,{name:`series.${t}.barGap`,control:e,render:({field:n})=>o(s.Select,{label:"Bar Gap",data:tu,sx:{flexGrow:1},...n})})]})}const ru=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],iu=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function ou({control:e,index:t}){return g(H,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(w.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:n})=>o(s.Select,{label:"Line Type",data:iu,sx:{flexGrow:1},...n})}),o(w.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:n})=>o(s.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...n})})]}),g(s.Group,{grow:!0,align:"center",children:[o(w.Controller,{name:`series.${t}.step`,control:e,render:({field:n})=>o(s.Select,{label:"Step",data:ru,sx:{flexGrow:1,maxWidth:"48%"},...n,value:String(n.value),onChange:r=>{const i=r==="false"?!1:r;n.onChange(i)}})}),g(s.Stack,{children:[o(w.Controller,{name:`series.${t}.smooth`,control:e,render:({field:n})=>o(s.Box,{sx:{flexGrow:1},children:o(s.Switch,{label:"Smooth Line",checked:n.value,onChange:r=>n.onChange(r.currentTarget.checked)})})}),o(w.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:n})=>{var r;return o(s.Box,{sx:{flexGrow:1},children:o(s.Switch,{label:"Display Name on Line",checked:(r=n.value)!=null?r:!1,onChange:i=>n.onChange(i.currentTarget.checked)})})}})]})]})]})}const au=Array.from(new Array(9),(e,t)=>({label:String(t+1),value:t+1}));function su({control:e,index:t}){return o(s.Group,{grow:!0,align:"center",children:o(w.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:n})=>g(s.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[o(s.Text,{size:"sm",children:"Size"}),o(s.Slider,{min:1,max:10,marks:au,...n,sx:{width:"100%"}})]})})})}const lu=[{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 uu({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:a}){const l=r.type;return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.Stack,{children:o(w.Controller,{name:`series.${t}.type`,control:e,render:({field:u})=>o(s.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),o(w.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:u})=>o(J,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...p}})=>{var d;return o(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...p,value:(d=u==null?void 0:u.toString())!=null?d:"",onChange:f=>{if(!f){c(0);return}c(Number(f))},sx:{flex:1}})}}),o(w.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>o(J,{label:"Group By",data:a,clearable:!0,sx:{flex:1},...u})})]}),l==="line"&&o(ou,{index:t,control:e}),l==="bar"&&o(nu,{index:t,control:e}),l==="scatter"&&o(su,{index:t,control:e}),o(w.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>o(s.Select,{label:"Label Position",data:lu,...u})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(w.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>o(Pe,{...u})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function cu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"series"}),l=t("series"),u=r.map((f,h)=>({...f,...l[h]})),c=()=>i({type:"bar",name:Z.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1}}),p=t("y_axes"),d=_.default.useMemo(()=>p.map(({name:f},h)=>({label:f,value:h.toString()})),[p]);return g(s.Stack,{children:[u.map((f,h)=>o(uu,{control:e,index:h,remove:a,seriesItem:f,yAxisOptions:d,data:n},f.id)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Series"})})]})}function du({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(w.Controller,{name:`stats.variables.${t}`,control:e,render:({field:i})=>o(ht,{data:r,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function pu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"stats.variables"});t("stats.templates");const l=t("stats.variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(gt());return g(s.Stack,{children:[g(s.Stack,{spacing:0,children:[o(w.Controller,{name:"stats.templates.top",control:e,render:({field:p})=>o(Qt,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...p})}),o(w.Controller,{name:"stats.templates.bottom",control:e,render:({field:p})=>o(Qt,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...p})})]}),u.map((p,d)=>o(du,{control:e,index:d,remove:a,data:n})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function gu({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(w.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ht,{data:r,withStyle:!1,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function fu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(gt());return g(s.Stack,{children:[u.map((p,d)=>o(gu,{control:e,index:d,remove:a,data:n},d)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function hu({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),g(s.Stack,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>o(J,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),o(w.Controller,{name:"x_axis_name",control:t,render:({field:r})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),o(s.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),o(s.Group,{children:o(w.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>o(s.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:o(s.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})})})]})}const mu=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],vu=[{label:"left",value:"left"},{label:"right",value:"right"}];function yu({control:e,index:t,remove:n}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Name",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),o(w.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>o(s.Select,{label:"Align",required:!0,data:mu,sx:{flex:1},...r})})]}),o(s.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),o(s.Group,{grow:!0,noWrap:!0,children:o(w.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>o(s.Select,{label:"Position",required:!0,data:vu,sx:{flex:1},...r})})}),g(s.Stack,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),o(w.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>o(Jt,{...r})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o($.Trash,{size:16})})]})}function bu({control:e,watch:t}){const{fields:n,append:r,remove:i}=w.useFieldArray({control:e,name:"y_axes"}),a=t("y_axes"),l=n.map((c,p)=>({...c,...a[p]})),u=()=>r({name:"",label_formatter:Ke});return g(s.Stack,{children:[l.map((c,p)=>o(yu,{control:e,index:p,remove:i},p)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Y Axis"})})]})}function Cu(e){function t({type:n,name:r,showSymbol:i,symbolSize:a=5,y_axis_data_key:l="value",yAxisIndex:u=0,label_position:c="top",stack:p="1",color:d="black",barWidth:f="30",barGap:h="0%",smooth:v=!1,step:C=!1,group_by_key:b="",display_name_on_line:D=!1,lineStyle:T={type:"solid",width:1}}){return{type:n,name:r,showSymbol:i,symbolSize:a,y_axis_data_key:l,yAxisIndex:u,label_position:c,stack:p,color:d,barWidth:f,barGap:h,smooth:v,step:C,group_by_key:b,display_name_on_line:D,lineStyle:T}}return e.map(t)}function xu(e){return e||{templates:{top:"",bottom:""},variables:[]}}function Su({series:e,stats:t,...n}){return{series:Cu(e!=null?e:[]),stats:xu(t),...n}}function wu({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=S.useMemo(()=>x.defaultsDeep({},t,un),[t]),a=S.useMemo(()=>Su(i),[i]);S.useEffect(()=>{!x.isEqual(i,a)&&(console.log("config malformed, resetting to defaults",i,a),n(a))},[i,a]);const{control:l,handleSubmit:u,watch:c,getValues:p,reset:d}=w.useForm({defaultValues:a});S.useEffect(()=>{d(a)},[a]);const f=p(),h=S.useMemo(()=>!x.isEqual(f,i),[f,i]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:u(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:o($.DeviceFloppy,{size:20})})]}),g(s.Accordion,{multiple:!0,defaultValue:["X Axis","Y Axes"],children:[g(s.Accordion.Item,{value:"X Axis",children:[o(s.Accordion.Control,{children:"X Axis"}),o(s.Accordion.Panel,{children:o(hu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Y Axes",children:[o(s.Accordion.Control,{children:"Y Axes"}),o(s.Accordion.Panel,{children:o(bu,{control:l,watch:c})})]}),g(s.Accordion.Item,{value:"Series",children:[o(s.Accordion.Control,{children:"Series"}),o(s.Accordion.Panel,{children:o(cu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Regression Lines",children:[o(s.Accordion.Control,{children:"Regression Lines"}),o(s.Accordion.Panel,{children:o(eu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Stats",children:[o(s.Accordion.Control,{children:"Stats"}),o(s.Accordion.Panel,{children:o(pu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Advanced",children:[o(s.Accordion.Control,{children:g(s.Group,{position:"apart",children:["Advanced",o(s.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(s.Accordion.Panel,{children:g(s.Tabs,{defaultValue:"variables",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"variables",children:"Variables"}),o(s.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"}),o(s.Tabs.Tab,{value:"reference_areas",children:"Reference Areas"})]}),o(s.Tabs.Panel,{value:"variables",pt:"xs",children:o(fu,{control:l,watch:c,data:r})}),o(s.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(Jl,{control:l,watch:c})}),o(s.Tabs.Panel,{value:"reference_areas",pt:"xs",children:o(Hl,{control:l,watch:c})})]})})]})]})]})})}class _u extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Du={displayName:"Cartesian Chart",migrator:new _u,name:"cartesian",viewRender:Bl,configRender:wu,createConfig:()=>un},cn={x_axis:{name:"X Axis",data_key:""},data_key:"value",bar:{name:"Value",color:"#228be6"},line:{name:"Value",color:"red"}};function dn(e){return fe.default(e).format({output:"percent",mantissa:0})}function Iu(e){const t=e.value[1];try{return dn(t)}catch(n){return console.error(n),t}}function Mu(e){const t=Array.isArray(e)?e:[e];if(t.length===0)return"";const n=t.map((r,i)=>{const a=r.seriesName,[l,u]=r.value;return a?`${a}: <strong>${(i===0?p=>p:dn)(u)}</strong>`:u});return n.unshift(`<strong>${t[0].name}</strong>`),n.join("<br />")}ee.use([_e.BarChart,_e.LineChart,U.DataZoomComponent,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Au({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,data_key:l,bar:u,line:c}=x.defaults({},t,cn),{barData:p,lineData:d}=S.useMemo(()=>{const h=n.map(b=>[b[a.data_key],Number(b[l])]).sort((b,D)=>D[1]-b[1]),v=h.reduce((b,D)=>b+D[1],0),C=h.reduce((b,D,T)=>{const E=T===0?0:b[T-1][1];return b.push([D[0],E+D[1]]),b},[]).map(b=>[b[0],b[1]/v]);return{barData:h,lineData:C}},[a.data_key,l,n]),f={dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis",formatter:Mu},xAxis:[{type:"category",name:a.name,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0}}],yAxis:[{name:u.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},axisLine:{show:!0},splitLine:{show:!1}},{name:c.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"center"},axisLabel:{show:!0,formatter:dn},splitLine:{show:!1}}],series:[{name:u.name,type:"bar",itemStyle:{color:u.color},yAxisIndex:0,data:p},{name:c.name,type:"line",itemStyle:{color:c.color},symbolSize:2,lineStyle:{width:1},label:{show:!0,position:"top",formatter:Iu},yAxisIndex:1,data:d}]};return!t||!r||!i?null:o(Ee.default,{echarts:ee,option:f,style:{width:r,height:i}})}function Vu({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=S.useMemo(()=>x.defaults({},t,cn),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=w.useForm({defaultValues:i});S.useEffect(()=>{p(i)},[i]),u(["x_axis","data_key","bar","line"]);const d=c(),f=S.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:o($.DeviceFloppy,{size:20})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"x_axis.name",control:a,render:({field:h})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...h})}),o(w.Controller,{name:"x_axis.data_key",control:a,render:({field:h})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]}),o(w.Controller,{name:"data_key",control:a,render:({field:h})=>o(J,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...h})}),o(s.Divider,{my:"md",label:"Bar",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"bar.name",control:a,render:({field:h})=>o(s.TextInput,{label:"Bar Name",sx:{flex:1},...h})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Bar's Color"}),o(w.Controller,{name:"bar.color",control:a,render:({field:h})=>o(Pe,{...h})})]})]}),o(s.Divider,{my:"md",label:"Line",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"line.name",control:a,render:({field:h})=>o(s.TextInput,{label:"Line Name",sx:{flex:1},...h})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Line's Color"}),o(w.Controller,{name:"line.color",control:a,render:({field:h})=>o(Pe,{...h})})]})]})]})})}class Tu extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const $u={displayName:"Pareto Chart",migrator:new Tu,name:"paretoChart",viewRender:Au,configRender:Vu,createConfig:()=>cn},pn={label_field:"",value_field:""};ee.use([_e.PieChart,Te.CanvasRenderer]);const Eu={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
49
- {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 ku({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:l}=x.defaults({},t,pn),u=S.useMemo(()=>n.map(d=>({name:d[a],value:Number(d[l])})),[n,a,l]),c=S.useMemo(()=>({series:{labelLayout:function(d){const f=d.labelRect.x<r/2,h=d.labelLinePoints;return x.set(h,[2,0],f?d.labelRect.x:d.labelRect.x+d.labelRect.width),{labelLinePoints:h}}}}),[r]),p=x.merge({},Eu,c,{series:{data:u}});return o(Ee.default,{echarts:ee,option:p,style:{width:r,height:i}})}function Ru({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),{label_field:r,value_field:i}=x.defaults({},t,pn),a=e.data,l=Pt.useForm({initialValues:{label_field:r,value_field:i}});return S.useEffect(()=>{l.setValues({label_field:r,value_field:i})},[r,i]),o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l.onSubmit(n),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Pie Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o($.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"Label Field",required:!0,data:a,...l.getInputProps("label_field")}),o(J,{label:"Value Field",required:!0,data:a,...l.getInputProps("value_field")})]})]})})}class Ou extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Pu={displayName:"Pie Chart",migrator:new Ou,name:"pie",viewRender:ku,configRender:Ru,createConfig:()=>pn};function ei(e){return e?t=>{try{return fe.default(t).format(e)}catch(n){return console.error(n),t}}:t=>t}function Fu(e){return{show:!0,formatter:({dimensionIndex:t,value:n})=>ei(e.dimensions[t].formatter)(n)}}function zu(e){return({name:t,marker:n,value:r})=>{if(r.length===0)return"";const i=r.map((a,l)=>{const u=e.dimensions[l],c=ei(u.formatter);return`
47
+ `,yr=()=>{const[e,t]=w.useState(!1);return g(H,{children:[o(s.Button,{variant:"subtle",compact:!0,onClick:()=>t(n=>!n),children:e?"Close":"Click to see expected data structure"}),o(s.Collapse,{in:e,children:o(be.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:Wa})})]})},Ua=I.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[...r];return g(H,{children:[o(s.TextInput,{label:"Min-width",value:t.min_width,onChange:a=>t.setMinWidth(a.currentTarget.value),placeholder:"200px"}),o(s.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(s.MultiSelect,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,l)=>g(s.Group,{sx:{position:"relative"},pr:"40px",children:[o(s.TextInput,{label:"Label",required:!0,value:t.static_options[l].label,onChange:u=>{t.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.TextInput,{label:"Value",required:!0,value:t.static_options[l].value,onChange:u=>{t.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:o(T.Trash,{size:16})})]})),o(s.Button,{size:"xs",color:"blue",leftIcon:o(T.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(s.Checkbox,{checked:t.select_first_by_default,onChange:a=>t.setSelectFirstByDefault(a.currentTarget.checked),label:"Select the first option by default"}),o(vr,{value:t.options_query_id,onChange:t.setOptionsQueryID}),o(yr,{})]})}),Ya=I.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[{label:"No default selection",value:""},...r];return g(H,{children:[o(s.Checkbox,{checked:t.required,onChange:a=>t.setRequired(a.currentTarget.checked),label:"Required"}),o(s.TextInput,{label:"Width",value:t.width,onChange:a=>t.setWidth(a.currentTarget.value),placeholder:"200px"}),o(s.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(s.Select,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,l)=>g(s.Group,{sx:{position:"relative"},pr:"40px",children:[o(s.TextInput,{label:"Label",required:!0,value:t.static_options[l].label,onChange:u=>{t.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.TextInput,{label:"Value",required:!0,value:t.static_options[l].value,onChange:u=>{t.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:o(T.Trash,{size:16})})]},l)),o(s.Button,{size:"xs",color:"blue",leftIcon:o(T.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(s.Checkbox,{checked:t.select_first_by_default,onChange:a=>t.setSelectFirstByDefault(a.currentTarget.checked),label:"Select the first option by default"}),o(vr,{value:t.options_query_id,onChange:t.setOptionsQueryID}),o(yr,{})]})}),Ha=I.observer(function({config:t}){return g(H,{children:[o(s.TextInput,{label:"Default Value",value:t.default_value,onChange:n=>{t.setDefaultValue(n.currentTarget.value)}}),o(s.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"})]})}),Qa=I.observer(function({filter:t}){const n=t.plainDefaultValue,[r,i]=_.default.useState(n);return _.default.useEffect(()=>{i(n)},[n]),g(s.Box,{sx:{maxWidth:"30em"},children:[o(s.Text,{pb:"md",color:"gray",children:"Preview"}),o(ur,{filter:t,value:r,onChange:i}),o(s.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),o(be.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),Ja={select:Ya,"multi-select":Ua,"text-input":Ha,checkbox:La,"date-range":ja},Xa=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],Ka=I.observer(function({filter:t,index:n}){const r=B(),i=_.default.useMemo(()=>Ja[t.type],[t.type]);return g(s.SimpleGrid,{cols:2,children:[g(s.Box,{pl:"md",children:[o(s.Text,{pb:"md",color:"gray",children:"Edit"}),g(s.Stack,{sx:{maxWidth:"30em"},children:[o(s.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0}),o(s.MultiSelect,{label:"Visible in...",data:r.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),o(s.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:a=>{t.setKey(a.currentTarget.value)}}),o(s.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:a=>{t.setLabel(a.currentTarget.value)}}),o(s.Select,{label:"Widget",data:Xa,required:!0,value:t.type,onChange:t.setType}),o(i,{config:t.config,index:n})]})]}),o(Qa,{filter:t})]})}),Gf="",Za=I.observer(function(){const t=B(),n=t.filters.current,r=()=>{const i=Z.randomId(),a={id:i,key:i,label:i,order:n.length+1,type:fe.TextInput,config:mr(),visibleInViewsIDs:["Main"]};t.filters.append(a)};return g(s.Box,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[o(s.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:o(s.Button,{size:"xs",color:"red",leftIcon:o(T.Recycle,{size:20}),disabled:!t.filtersChanged,onClick:t.resetFilters,children:"Revert Changes"})}),o(s.Tabs,{className:"filter-settings-tabs",orientation:"vertical",defaultValue:t.filters.firstID,styles:{root:{display:"block"}},children:g(s.Group,{sx:{height:"100%"},children:[g(s.Stack,{sx:{height:"100%"},children:[o(s.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:t.filters.current.map(i=>o(s.Tabs.Tab,{value:i.id,sx:{maxWidth:"100%",overflow:"scroll"},children:i.label},i.id))}),o(s.Button,{size:"xs",color:"blue",leftIcon:o(T.PlaylistAdd,{size:20}),onClick:r,children:"Add a Filter"})]}),o(s.Box,{sx:{flexGrow:1,height:"100%"},children:t.filters.current.map((i,a)=>o(s.Tabs.Panel,{value:i.id,sx:{height:"100%"},children:g(s.Stack,{sx:{height:"100%"},spacing:"sm",children:[o(s.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:o(Ka,{filter:i,index:a})}),o(s.Group,{position:"right",pt:10,children:o(s.Button,{size:"xs",color:"red",leftIcon:o(T.Trash,{size:20}),onClick:()=>t.filters.remove(a),children:"Delete this filter"})})]})},i.id))})]})})]})}),es=I.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Filters",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},withCloseButton:!1,children:o(Za,{})})});var br=(e=>(e.Use="use",e.Edit="edit",e))(br||{}),he=(e=>(e.Division="div",e.Modal="modal",e))(he||{}),Cr=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Cr||{});const ts=I.observer(()=>{const t=B().views.VIE;return!t||t.type!==he.Division?null:g(s.Stack,{children:[o(s.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),o(s.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})}),ns=I.observer(()=>{const t=B().views.VIE;return!t||t.type!==he.Modal?null:g(s.Stack,{children:[o(s.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(s.TextInput,{label:"Width",value:t.config.width,onChange:n=>t.updateConfig("width",n.currentTarget.value),placeholder:"600px / 50vw"}),o(s.TextInput,{label:"Height",value:t.config.height,onChange:n=>t.updateConfig("height",n.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),rs=I.observer(()=>g(H,{children:[o(ts,{}),o(ns,{})]})),is=[{label:"Division",value:he.Division},{label:"Modal",value:he.Modal}],os=I.observer(()=>{const t=B().views.VIE;return t?g(s.Stack,{sx:{position:"relative"},children:[o(s.TextInput,{label:"Name",value:t.name,onChange:n=>{t.setName(n.currentTarget.value)}}),o(s.Select,{label:"Type",value:t.type,onChange:t.setType,data:is}),o(rs,{})]}):null}),as=I.observer(({opened:e,close:t})=>{var i;const n=B(),{freezeLayout:r}=_.default.useContext(Ce);return _.default.useEffect(()=>{r(e)},[e]),o(s.Modal,{size:"500px",overflow:"inside",opened:e,onClose:t,withCloseButton:!1,styles:{header:{width:"100%"},title:{width:"100%"}},title:g(s.Group,{position:"apart",children:[g(s.Text,{sx:{flexGrow:1},children:["Editing ",(i=n.views.VIE)==null?void 0:i.name]}),o(s.ActionIcon,{size:18,color:"red",onClick:n.views.removeVIE,disabled:n.views.isVIETheFirstView,children:o(T.Trash,{size:18})})]}),trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:o(os,{})})}),ss=w.forwardRef(({label:e,type:t,...n},r)=>t!=="TRIGGER_TO_ADD"?o("div",{ref:r,...n,children:g(s.Group,{noWrap:!0,position:"apart",children:[o(s.Text,{size:"sm",children:e}),o(s.Text,{size:"xs",color:"dimmed",children:t})]})}):o("div",{ref:r,...n,children:o(s.Group,{noWrap:!0,grow:!0,children:o(s.Text,{size:"sm",align:"center",color:"#228be6",children:e})})})),xr="TRIGGER_TO_ADD",ls=I.observer(({value:e,onChange:t,triggerAdd:n,triggerEdit:r,options:i})=>{const a=w.useMemo(()=>[...i,{label:"Add a View",value:xr,type:"TRIGGER_TO_ADD"}],[i,n]),l=u=>{u!==xr?t(u):n()};return g(s.Group,{position:"left",spacing:0,sx:{minWidth:"260px"},children:[o(s.Select,{value:e,onChange:l,placeholder:"Pick a View",itemComponent:ss,data:a,nothingFound:"Empty",sx:{flexGrow:1},styles:{input:{borderTopRightRadius:0,borderBottomRightRadius:0}}}),o(s.ActionIcon,{onClick:r,variant:"default",size:36,sx:{borderLeft:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,"&:active":{transform:"none",svg:{transform:"translateY(1px)"}}},children:o(T.Settings,{size:20})})]})}),us=I.observer(()=>{const e=B(),[t,n]=w.useState(!1),r=()=>{n(!0)},i=()=>{n(!1)};return g(H,{children:[o(ls,{value:e.views.idOfVIE,onChange:e.views.setIDOfVIE,triggerAdd:e.views.addARandomNewView,triggerEdit:r,options:e.views.options}),o(as,{opened:t,close:i})]})}),wr={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}},Sr=I.observer(function({saveChanges:t}){const n=B(),r=_.default.useCallback(()=>{const k=n.queries.json,E=n.views.json,O=n.sqlSnippets.json,F=n.filters.current,L=n.mock_context.current;return{filters:F,views:E,definition:{sqlSnippets:O,queries:k,mock_context:L},version:n.version}},[n]),i=()=>{n.reset()},a=n.changed,{inEditMode:l,inUseMode:u}=_.default.useContext(Ce),[c,p]=_.default.useState(!1),d=()=>p(!0),h=()=>p(!1),[f,v]=_.default.useState(!1),C=()=>v(!0),b=()=>v(!1),D=()=>{const k=JSON.stringify(r(),null,2);da(n.name,k)};return g(s.Group,{position:"apart",pt:0,px:10,pb:"xs",children:[o(s.Group,{position:"left",children:l&&o(us,{})}),g(s.Group,{position:"right",sx:{button:{minWidth:"40px"}},children:[l&&g(H,{children:[o(s.Button,{variant:"filled",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:o(T.PlaylistAdd,{size:20}),children:"Add a Panel"}),g(s.Group,{spacing:0,sx:wr,children:[o(s.Tooltip,{label:"Filters",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:C,children:o(T.Filter,{size:20})})}),o(s.Tooltip,{label:"Data Settings",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:d,children:o(T.Database,{size:20})})})]}),g(s.Group,{spacing:0,sx:wr,children:[o(s.Tooltip,{label:"Save Changes",children:o(s.ActionIcon,{variant:"default",size:"md",onClick:t,disabled:!a,children:o(T.DeviceFloppy,{size:20,color:"green"})})}),o(s.Tooltip,{label:"Revert Changes",children:o(s.ActionIcon,{variant:"default",size:"md",disabled:!a,onClick:i,children:o(T.Recycle,{size:20,color:"red"})})})]})]}),!u&&g(s.Menu,{width:180,trigger:"hover",children:[o(s.Menu.Target,{children:o(s.ActionIcon,{variant:"default",size:"md",children:o(T.Share,{size:20})})}),g(s.Menu.Dropdown,{children:[o(s.Menu.Item,{icon:o(T.Download,{size:14}),onClick:n.queries.downloadAllData,children:"Download Data"}),o(s.Menu.Item,{icon:o(T.Code,{size:14}),onClick:D,children:"Download Schema"})]})]})]}),o(es,{opened:f,close:b}),o(Na,{opened:c,close:h})]})}),Nf="",_r=I.observer(()=>{const{freezeLayout:e}=_.default.useContext(Ce),[t,n]=_.default.useState(!1),{panel:r}=oe();return _.default.useEffect(()=>{e(t)},[t]),!r.description||r.description==="<p><br></p>"?null:g(H,{children:[o(s.Modal,{opened:t,onClose:()=>n(!1),title:r.title,withCloseButton:!1,children:o(Xn.default,{readOnly:!0,value:r.description,onChange:Y.default.noop,sx:{border:"none"}})}),o(s.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:o(s.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(i=>!i),sx:{verticalAlign:"baseline",cursor:"pointer"},children:o(T.InfoCircle,{size:20})})})]})}),Dr=e=>{const{title:t="Variables",variables:n}=e,r=Z.useClipboard(),i=a=>{r.copy(a),st.showNotification({color:"green",message:"Copied to clipboard"})};return g(s.Paper,{withBorder:!0,p:"sm",children:[o(s.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),o(s.Stack,{style:{maxHeight:"300px"},children:n.map(a=>g(s.Text,{size:"sm",children:[g(s.Code,{color:"teal",children:["// ",a.description]}),o("br",{}),g(s.Code,{onClick:()=>i(a.name),style:{cursor:"pointer"},children:[a.name," : ",a.valueType]})]},a.name))})]})};class cs{constructor(t,n){$(this,"operationId");$(this,"operation");$(this,"operationSchema");$(this,"variables",[]);this.operationManager=t,this.instance=n,ie.makeAutoObservable(this)}get schemaList(){return this.operationManager.getOperationSchemaList()}async configOperation(t,n){const r=await this.operationManager.retrieveTrigger(t),i=this.operationManager.getOperationSchemaList().find(a=>a.id===(r==null?void 0:r.schemaRef));ie.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 ds(e){return!!e.operationId}const ps=I.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return o(s.Button,{variant:"outline",onClick:t,children:n})}),gs=I.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return w.createElement(e.operationSchema.configRender,t)});function fs({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(a=>a.id===i))}return o(s.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const hs=I.observer(e=>{const[t,{setTrue:n,setFalse:r}]=j.useBoolean(!1),{operationManager:i,operationId:a,instance:l,variables:u}=e,c=j.useCreation(()=>new cs(i,l),[i,l]);return j.useAsyncEffect(async()=>{await c.configOperation(a,u)},[a,c]),ds(c)?g(H,{children:[o(ps,{model:c,onClick:n}),o(s.Modal,{opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",children:g(s.Stack,{children:[o(fs,{model:c}),o(gs,{model:c}),o(Dr,{title:"Variables",variables:c.variables})]})})]}):null});class ms{constructor(t,n){$(this,"triggerId");$(this,"trigger");$(this,"triggerSchema");$(this,"sampleData");this.triggerManager=t,this.instance=n,ie.makeAutoObservable(this)}get schemaList(){return this.triggerManager.getTriggerSchemaList()}async configTrigger(t,n){const r=await this.triggerManager.retrieveTrigger(t),i=this.triggerManager.getTriggerSchemaList().find(a=>a.id===(r==null?void 0:r.schemaRef));ie.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 vs(this)}}function vs(e){return!!e.triggerId&&!!e.triggerSchema}function ys(e,t){return j.useCreation(()=>new ms(e,t),[e,t])}const bs=I.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return o(s.Button,{variant:"outline",onClick:t,children:w.createElement(n,r)})}),Cs=I.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(a=>a.id===i))}return o(s.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),xs=I.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return w.createElement(e.triggerSchema.configRender,t)}),ws=I.observer(e=>{const[t,{setTrue:n,setFalse:r}]=j.useBoolean(!1),i=e.model;return g(H,{children:[o(s.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",children:g(s.Stack,{children:[o(Cs,{model:i}),o(xs,{model:i}),o(Dr,{title:"Payload",variables:i.triggerSchema.payload})]})}),o(bs,{onClick:n,model:i})]})});class Ue{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,x.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:x.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,a)=>{n(i,a)},r):this.root.watchItem(this.path,(i,a)=>{const l=x.get(i,t),u=x.get(a,t);l!==u&&n(l,u)},r)}}class Ut{constructor(t,n,r){$(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new Ue(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new Ue(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new Ue(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(x.values(t).map(n=>this.constructInstance(new Ue(this.attachmentStorage,n.id))))}}class Mr{constructor(t){$(this,"rootRef");this.rootRef=ie.observable({current:t})}async deleteItem(t){ie.runInAction(()=>{x.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?ie.toJS(this.rootRef.current):x.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(x.isObject(n))ie.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else ie.runInAction(()=>{x.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return ie.reaction(()=>this.getValueFromRoot(t),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:x.get(r,"fireImmediately",!1)})}}class Ss{constructor(){$(this,"channels",new Map);$(this,"globalChannel",new Kn.default)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new Kn.default;return this.channels.set(t,r),r}}class _s{constructor(t){$(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 Ss,instanceData:new Mr(t.viz.conf)};return this.instances.set(t.id,r),r}}function Ir(e,t,n){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Mr({}),colorPalette:{getColor(){return()=>""}},data:t}}const Ds=e=>{const{panel:t,vizManager:n,data:r}=e,i=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),l={...Ir(a,r,n),viewport:{width:t.layout.w,height:t.layout.h}},u=i.viewRender;return o(u,{context:l,instance:a,...x.omit(e,["panel","vizManager","data"])})},Ms=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),u={...Ir(l,i,t),panelInfoEditor:r},c=a.configRender;return o(c,{context:u,instance:l,...x.omit(e,["panel","vizManager","data","panelInfoEditor"])})},Vr=(e,t)=>{const n=Qe.default.bezier(e),r=Qe.default.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},dt=e=>{const t=Qe.default.bezier(e);return function(n){return t(n/100).hex()}},Is={type:"interpolation",displayName:"Red / Green",getColor:Vr(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Vs={type:"interpolation",displayName:"Yellow / Blue",getColor:Vr(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},As={type:"interpolation",displayName:"Red",getColor:dt(["#fff7f1","darkred"]),name:"red",category:"sequential"},Ts={type:"interpolation",displayName:"Green",getColor:dt(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},ks={type:"interpolation",displayName:"Blue",getColor:dt(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},Es={type:"interpolation",displayName:"Orange",getColor:dt(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},$s="6.1.0";class Rs{constructor(t){$(this,"staticColors",new Map);$(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 Os{constructor(){$(this,"plugins",new Map);$(this,"vizComponents",new Map);$(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 Ps{constructor(){$(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n){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 r=this.migrations.filter(l=>l.version>t.from&&l.version<=t.to),i=x.orderBy(r,"version","asc");if(((a=x.last(i))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return i.reduce((l,u)=>u.handler(l),n)}}class ue extends Ps{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,r=>({version:t,...n(r)}))}async migrate({configData:t}){const n=await t.getItem(null),r=x.get(n,"version",0),i=this.run({from:r,to:this.VERSION},n);await t.setItem(null,i)}async needMigration({configData:t}){const n=await t.getItem(null);return x.get(n,"version",0)<this.VERSION}}const G=(e,t)=>{const[n,{setFalse:r}]=j.useBoolean(!0),[i,a]=w.useState();w.useEffect(()=>(e.getItem(t).then(u=>{a(u),r()}),e.watchItem(t,u=>{a(u)})));const l=w.useCallback(async u=>{await e.setItem(t,u),a(u)},[e,t]);return{loading:n,value:i,set:l}},Yt={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"}};ee.use([U.GridComponent,U.VisualMapComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Fs({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:u,xAxis3D:c,yAxis3D:p,zAxis3D:d}=x.defaults({},t,Yt),h=w.useMemo(()=>{const C=x.minBy(n,b=>b[u]);return x.get(C,u)},[n,u]),f=w.useMemo(()=>{const C=x.maxBy(n,b=>b[u]);return x.get(C,u)},[n,u]),v={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:h,max:f,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:c,yAxis3D:p,zAxis3D:d,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:n.map(C=>[C[a],C[l],C[u]])}]};return t?o(Ee.default,{echarts:ee,option:v,style:{width:r,height:i}}):null}function zs({label:e,required:t,value:n,onChange:r,data:i,clearable:a=!1,sx:l,...u},c){const p=_.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const h=Object.keys(i[0]).map(f=>({label:f,value:f}));return a?h.concat([{label:"unset",value:""}]):h},[i]);return o(s.Select,{ref:c,label:e,data:p,value:n,onChange:r,required:t,sx:l,...u})}const J=_.default.forwardRef(zs);function qs({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=x.defaults({},t,Yt),{control:a,handleSubmit:l,reset:u}=S.useForm({defaultValues:i});return w.useEffect(()=>{u(i)},[t]),t?o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[o(s.Text,{children:"X Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(S.Controller,{name:"x_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(S.Controller,{name:"xAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Text,{mt:"lg",children:"Y Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(S.Controller,{name:"y_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(S.Controller,{name:"yAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Text,{mt:"lg",children:"Z Axis"}),g(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(S.Controller,{name:"z_axis_data_key",control:a,render:({field:c})=>o(J,{label:"Data Field",required:!0,data:r,...c})}),o(S.Controller,{name:"zAxis3D.name",control:a,render:({field:c})=>o(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),o(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:g(s.Button,{color:"blue",type:"submit",children:[o(T.DeviceFloppy,{size:20}),o(s.Text,{ml:"md",children:"Save"})]})})]})}):null}class Gs extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Ns={displayName:"Bar Chart (3D)",migrator:new Gs,name:"bar-3d",viewRender:Fs,configRender:qs,createConfig:()=>Yt},Ht=w.forwardRef(function({value:t,onChange:n,...r},i){return o(s.TextInput,{ref:i,value:t,onChange:n,...r})}),Ke={mantissa:0,output:"number",trimMantissa:!1,average:!1};function Ls({value:e,onChange:t},n){const r=u=>{t({...e,output:u})},i=u=>{const c=u===0?!1:e.trimMantissa;t({...e,mantissa:u,trimMantissa:c})},a=u=>{t({...e,trimMantissa:u.currentTarget.checked})},l=u=>{t({...e,average:u.currentTarget.checked})};return g(s.Stack,{ref:n,children:[g(s.Group,{grow:!0,children:[o(s.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r,sx:{flexGrow:1}}),o(s.Switch,{label:g(s.Stack,{spacing:0,children:[o(s.Text,{children:"Average"}),o(s.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:l,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),g(s.Group,{grow:!0,children:[o(s.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),o(s.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:a,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),g(s.Stack,{spacing:0,children:[o(s.Text,{weight:"bold",children:"Preview"}),o(je,{children:g(s.Group,{position:"apart",children:[g(s.Text,{size:12,color:"gray",children:["123456789 ",o(T.ArrowRight,{size:9})," ",ge.default(123456789).format(e)]}),g(s.Text,{size:12,color:"gray",children:["1234 ",o(T.ArrowRight,{size:9})," ",ge.default(1234).format(e)]}),g(s.Text,{size:12,color:"gray",children:["0.1234 ",o(T.ArrowRight,{size:9})," ",ge.default(.1234).format(e)]})]})})]})]})}const Qt=_.default.forwardRef(Ls);function pt(){return{name:Z.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:Ke}}const Bs=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"},{label:"Quantile(99%, 95%, ...)",value:"quantile"}];function js({label:e,value:t,onChange:n},r){w.useEffect(()=>{typeof t=="string"&&(console.log(t),n({type:t,config:{}}))},[t,n]);const i=l=>{n(l==="quantile"?{type:"quantile",config:{p:.99}}:{type:l,config:{}})},a=l=>{n({type:"quantile",config:{p:l}})};return g(s.Group,{grow:!0,noWrap:!0,pt:"sm",children:[o(s.Select,{ref:r,label:e,data:Bs,value:t.type,onChange:i}),t.type==="quantile"&&o(s.NumberInput,{label:"p",value:t.config.p,onChange:a,precision:2,min:.05,step:.05,max:1})]})}const Ws=_.default.forwardRef(js);function Us({label:e,value:t,onChange:n},r){const[i,a]=_.default.useState(Array.isArray(t)?[...t]:[]),l=_.default.useCallback(()=>{a(f=>[...f,""])},[a]),u=_.default.useCallback(f=>{a(v=>(v.splice(f,1),[...v]))},[a]),c=_.default.useMemo(()=>!Y.default.isEqual(i,t),[i,t]),p=()=>{n(i.map(f=>f.toString()))},d=s.useMantineTheme(),h=_.default.useMemo(()=>Object.entries(d.colors).map(([f,v])=>v[6]),[d]);return g(H,{children:[g(s.Group,{position:"left",ref:r,children:[o(s.Text,{children:e}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:p,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Group,{children:[i.map((f,v)=>o(s.ColorInput,{value:f,onChange:C=>{a(b=>(b.splice(v,1,C),[...b]))},swatches:h,rightSection:o(s.ActionIcon,{onClick:()=>u(v),color:"red",children:o(T.Trash,{size:14})}),sx:{width:"45%"}})),o(s.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:o(T.PlaylistAdd,{size:20})})]})]})}const Ys=_.default.forwardRef(Us);function Hs({value:e,onChange:t},n){const{colorManager:r}=w.useContext(Me),i=_.default.useMemo(()=>r.getStaticColors().map(u=>({label:u.name,group:u.category,value:u.value})),[r]),a=_.default.useMemo(()=>i.some(l=>l.value===e),[e,i]);return g(s.Group,{position:"apart",spacing:4,ref:n,children:[o(s.TextInput,{placeholder:"Set any color",value:a?"":e,onChange:l=>t(l.currentTarget.value),rightSection:o(s.ColorSwatch,{color:a?"transparent":e,radius:4}),variant:a?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),o(s.Text,{sx:{flexGrow:0},children:"or"}),o(s.Select,{data:i,value:e,onChange:t,variant:a?"default":"filled",placeholder:"Pick a theme color",icon:o(s.ColorSwatch,{color:a?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const Pe=_.default.forwardRef(Hs),gt=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function Qs({label:e,value:t,onChange:n},r){var l,u;const[i,a]=_.default.useState((u=(l=gt.find(c=>c.label===t))==null?void 0:l.value)!=null?u:gt[0].value);return _.default.useEffect(()=>{const c=gt.find(p=>p.value===i);c&&n(c.label)},[i]),g(s.Stack,{spacing:0,mt:"sm",mb:"lg",children:[o(s.Text,{size:"sm",children:e}),o(s.Slider,{label:null,marks:gt,value:i,onChange:a,step:25,placeholder:"Pick a font size",ref:r})]})}const Js=_.default.forwardRef(Qs);function Xs({label:e,value:t,onChange:n},r){const[i,a]=_.default.useState(Array.isArray(t)?[...t]:[]),l=_.default.useCallback(()=>{a(d=>[...d,""])},[a]),u=_.default.useCallback(d=>{a(h=>(h.splice(d,1),[...h]))},[a]),c=_.default.useMemo(()=>!Y.default.isEqual(i,t),[i,t]),p=()=>{n(i.map(d=>d.toString()))};return g(H,{children:[g(s.Group,{position:"left",ref:r,children:[o(s.Text,{children:e}),o(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:p,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Group,{children:[i.map((d,h)=>o(s.TextInput,{value:d,onChange:f=>{const v=f.currentTarget.value;a(C=>(C.splice(h,1,v),[...C]))},rightSection:o(s.ActionIcon,{onClick:()=>u(h),color:"red",children:o(T.Trash,{size:14})}),sx:{width:"45%"}})),o(s.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:o(T.PlaylistAdd,{size:20})})]})]})}const Ks=_.default.forwardRef(Xs),Zs=_.default.forwardRef(function({value:t,onChange:n},r){const i=t.color.type,a=(l,u)=>{const c=Y.default.cloneDeep(t);Y.default.set(c,l,u),n(c)};return g(H,{children:[o(s.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),o(s.Stack,{children:o(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:t.size,onChange:l=>a("size",l.currentTarget.value)})}),o(s.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:o(Js,{label:"Font Weight",value:t.weight,onChange:l=>a("weight",l)})}),o(s.Divider,{my:"xs",label:"Style",labelPosition:"center"}),g(s.Stack,{children:[o(s.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:l=>a("color.type",l)}),i==="static"&&o(Pe,{value:t.color.staticColor,onChange:l=>a("color.staticColor",l)}),i==="continuous"&&g(H,{children:[o(Ks,{label:"Value Range",value:t.color.valueRange,onChange:l=>a("color.valueRange",l)}),o(Ys,{label:"Color Range",value:t.color.colorRange,onChange:l=>a("color.colorRange",l)})]})]})]})}),ft=_.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},a){const l=(u,c)=>{const p=Y.default.cloneDeep(t);Y.default.set(p,u,c),n(p)};return g(s.Box,{px:"sm",py:"md",ref:a,children:[o(s.Text,{weight:"bold",pb:0,children:t.name}),o(s.Divider,{my:"xs",label:"Data",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(s.TextInput,{label:"Name",required:!0,value:t.name,onChange:u=>l("name",u.currentTarget.value)}),o(J,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:u=>l("data_field",u)})]}),o(Ws,{label:"Aggregation",value:t.aggregation,onChange:u=>l("aggregation",u)}),o(s.Divider,{my:"xs",label:"Format",labelPosition:"center"}),o(Qt,{value:t.formatter,onChange:u=>l("formatter",u)}),i&&o(Zs,{value:t,onChange:n})]})});function el(e){const t=Array.from(e).sort((r,i)=>r-i),n=Math.floor(t.length/2);return t.length%2===0?(t[n-1]+t[n])/2:t[n]}function Jt(e,t,n){var i,a,l,u;const r=e.map(c=>c[t]);switch(n.type){case"sum":return Y.default.sum(r);case"mean":return Y.default.mean(r);case"median":return el(r);case"max":return(i=Y.default.max(r))!=null?i:0;case"min":return(a=Y.default.min(r))!=null?a:0;case"quantile":return(l=Wo.quantile(r,n.config.p))!=null?l:0;default:return(u=e[0])==null?void 0:u[t]}}var Ar=function(){},Ze=function(){};process.env.NODE_ENV!=="production"&&(Ar=function(e,t){!e&&typeof console<"u"&&console.warn(t)},Ze=function(e,t){if(!e)throw new Error(t)});const tl=(e,t,n)=>Math.min(Math.max(n,e),t),Tr=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},Xt=(e,t,n)=>-n*e+n*t+e,kr=(e,t)=>n=>Math.max(Math.min(n,t),e),et=e=>e%1?Number(e.toFixed(5)):e,ht=/(-)?([\d]*\.?[\d])+/g,Kt=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,nl=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function tt(e){return typeof e=="string"}const mt={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Er=Object.assign(Object.assign({},mt),{transform:kr(0,1)});Object.assign(Object.assign({},mt),{default:1});const nt=(e=>({test:t=>tt(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}))("%");Object.assign(Object.assign({},nt),{parse:e=>nt.parse(e)/100,transform:e=>nt.transform(e*100)});const Zt=(e,t)=>n=>Boolean(tt(n)&&nl.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),$r=(e,t,n)=>r=>{if(!tt(r))return r;const[i,a,l,u]=r.match(ht);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(l),alpha:u!==void 0?parseFloat(u):1}},Be={test:Zt("hsl","hue"),parse:$r("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+nt.transform(et(t))+", "+nt.transform(et(n))+", "+et(Er.transform(r))+")"},rl=kr(0,255),en=Object.assign(Object.assign({},mt),{transform:e=>Math.round(rl(e))}),Fe={test:Zt("rgb","red"),parse:$r("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+en.transform(e)+", "+en.transform(t)+", "+en.transform(n)+", "+et(Er.transform(r))+")"};function il(e){let t="",n="",r="",i="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}const tn={test:Zt("#"),parse:il,transform:Fe.transform},vt={test:e=>Fe.test(e)||tn.test(e)||Be.test(e),parse:e=>Fe.test(e)?Fe.parse(e):Be.test(e)?Be.parse(e):tn.parse(e),transform:e=>tt(e)?e:e.hasOwnProperty("red")?Fe.transform(e):Be.transform(e)},Rr="${c}",Or="${n}";function ol(e){var t,n,r,i;return isNaN(e)&&tt(e)&&((n=(t=e.match(ht))===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)+((i=(r=e.match(Kt))===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0)>0}function Pr(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0;const r=e.match(Kt);r&&(n=r.length,e=e.replace(Kt,Rr),t.push(...r.map(vt.parse)));const i=e.match(ht);return i&&(e=e.replace(ht,Or),t.push(...i.map(mt.parse))),{values:t,numColors:n,tokenised:e}}function Fr(e){return Pr(e).values}function zr(e){const{values:t,numColors:n,tokenised:r}=Pr(e),i=t.length;return a=>{let l=r;for(let u=0;u<i;u++)l=l.replace(u<n?Rr:Or,u<n?vt.transform(a[u]):et(a[u]));return l}}const al=e=>typeof e=="number"?0:e;function sl(e){const t=Fr(e);return zr(e)(t.map(al))}const qr={test:ol,parse:Fr,createTransformer:zr,getAnimatableNone:sl};function nn(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Gr({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,l=0;if(!t)i=a=l=n;else{const u=n<.5?n*(1+t):n+t-n*t,c=2*n-u;i=nn(c,u,e+1/3),a=nn(c,u,e),l=nn(c,u,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(l*255),alpha:r}}const ll=(e,t,n)=>{const r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},ul=[tn,Fe,Be],Nr=e=>ul.find(t=>t.test(e)),Lr=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,Br=(e,t)=>{let n=Nr(e),r=Nr(t);Ze(!!n,Lr(e)),Ze(!!r,Lr(t));let i=n.parse(e),a=r.parse(t);n===Be&&(i=Gr(i),n=Fe),r===Be&&(a=Gr(a),r=Fe);const l=Object.assign({},i);return u=>{for(const c in l)c!=="alpha"&&(l[c]=ll(i[c],a[c],u));return l.alpha=Xt(i.alpha,a.alpha,u),n.transform(l)}},cl=e=>typeof e=="number",dl=(e,t)=>n=>t(e(n)),jr=(...e)=>e.reduce(dl);function Wr(e,t){return cl(e)?n=>Xt(e,t,n):vt.test(e)?Br(e,t):Hr(e,t)}const Ur=(e,t)=>{const n=[...e],r=n.length,i=e.map((a,l)=>Wr(a,t[l]));return a=>{for(let l=0;l<r;l++)n[l]=i[l](a);return n}},pl=(e,t)=>{const n=Object.assign(Object.assign({},e),t),r={};for(const i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Wr(e[i],t[i]));return i=>{for(const a in r)n[a]=r[a](i);return n}};function Yr(e){const t=qr.parse(e),n=t.length;let r=0,i=0,a=0;for(let l=0;l<n;l++)r||typeof t[l]=="number"?r++:t[l].hue!==void 0?a++:i++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:a}}const Hr=(e,t)=>{const n=qr.createTransformer(t),r=Yr(e),i=Yr(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?jr(Ur(r.parsed,i.parsed),n):(Ar(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),l=>`${l>0?t:e}`)},gl=(e,t)=>n=>Xt(e,t,n);function fl(e){if(typeof e=="number")return gl;if(typeof e=="string")return vt.test(e)?Br:Hr;if(Array.isArray(e))return Ur;if(typeof e=="object")return pl}function hl(e,t,n){const r=[],i=n||fl(e[0]),a=e.length-1;for(let l=0;l<a;l++){let u=i(e[l],e[l+1]);if(t){const c=Array.isArray(t)?t[l]:t;u=jr(c,u)}r.push(u)}return r}function ml([e,t],[n]){return r=>n(Tr(e,t,r))}function vl(e,t){const n=e.length,r=n-1;return i=>{let a=0,l=!1;if(i<=e[0]?l=!0:i>=e[r]&&(a=r-1,l=!0),!l){let c=1;for(;c<n&&!(e[c]>i||c===r);c++);a=c-1}const u=Tr(e[a],e[a+1],i);return t[a](u)}}function yl(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const a=e.length;Ze(a===t.length,"Both input and output ranges must be the same length"),Ze(!r||!Array.isArray(r)||r.length===a-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const l=hl(t,r,i),u=a===2?ml(e,l):vl(e,l);return n?c=>u(tl(e[0],e[a-1],c)):u}class bl{constructor({valueRange:t,colorRange:n}){$(this,"mapper");this.mapper=yl(t,n)}getColor(t){return this.mapper(t)}}function Cl(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function rn({data_field:e,aggregation:t},n){return Jt(n,e,t)}function rt({formatter:e},t){return["string","number"].includes(typeof t)?ge.default(t).format(e):Cl(t)}function xl(e,t){return e.type==="static"?e.staticColor:e.type==="continuous"?new bl(e).getColor(t):"black"}function wl(e,t){const n={};return e.forEach(r=>{const{name:i,color:a,data_field:l,aggregation:u,size:c,weight:p}=r,d=Jt(t,l,u),h=rt(r,d);n[i]=o(s.Text,{sx:{fontSize:c,display:"inline"},color:xl(a,d),weight:p,children:h})}),n}function Sl(e){return e.split(" ").map((t,n)=>g(_.default.Fragment,{children:[t,"\xA0"]},n))}function _l(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
48
+ `,"<br/>").split("<br/>");return n.map((i,a)=>{const l=[Sl(i)];return a!==n.length-1&&l.push(o("br",{})),l}).flat().filter(i=>i!==void 0)}function on(e){return _l(e)}function an(e,t,n){const r=wl(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var p;const l=i.exec(a);if(!l)return on(a);const u=r[l[1]];if(!u)return on(a);const c=(p=l[2])!=null?p:"";return g(H,{children:[u,on(c)]})})}function Dl(e,t){const n={};return e.forEach(r=>{const{name:i,data_field:a,aggregation:l}=r,u=Jt(t,a,l);n[i]=rt(r,u)}),n}function Qr(e,t,n){const r=Dl(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var p;const l=i.exec(a);if(!l)return a;const u=r[l[1]];if(!u)return a;const c=(p=l[2])!=null?p:"";return`${u}${c}`}).join("")}const sn={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis",data_key:"value"},color:"#228be6",variables:[],reference_lines:[]};ee.use([U.DataZoomComponent,_e.BoxplotChart,U.MarkLineComponent,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Ml(e,t,n){const r=t.reduce((i,a)=>{const l=rn(a,n);return i[a.name]=rt(a,l),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 Qr(i.template,t,n)},position:"insideEndTop"}}}))}function Il({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,y_axis:l,color:u,variables:c,reference_lines:p}=x.defaults({},t,sn),{xAxisData:d,boxplotData:h}=w.useMemo(()=>{const v=Y.default.groupBy(n,a.data_key);return{xAxisData:Object.keys(v),boxplotData:Object.values(v).map(C=>C.map(b=>b[l.data_key]))}},[n,a.data_key,l.data_key]),f={dataset:[{source:h},{transform:{type:"boxplot",config:{itemNameFormatter:function(v){var C;return(C=d[v.value])!=null?C:v.value}}}}],dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",name:a.name,axisTick:{show:!0,alignWithLabel:!0}}],yAxis:[{name:l.name,axisLine:{show:!0}}],series:[{name:l.name,type:"boxplot",itemStyle:{color:u,borderColor:"#454545"},boxWidth:[10,40],datasetIndex:1},...Ml(p,c,n)]};return!t||!r||!i?null:o(Ee.default,{echarts:ee,option:f,style:{width:r,height:i}})}function Vl({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(S.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(s.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(S.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(s.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function Al({control:e,watch:t}){const{fields:n,append:r,remove:i}=S.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=n.map((d,h)=>({...d,...a[h]})),u=()=>r({name:"",template:"",variable_key:""}),c=t("variables"),p=w.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,h)=>o(Vl,{control:e,index:h,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Line"})})]})}function Tl({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(S.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ft,{data:r,withStyle:!1,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function kl({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(pt());return g(s.Stack,{children:[u.map((p,d)=>o(Tl,{control:e,index:d,remove:a,data:n})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function El({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=w.useMemo(()=>x.defaults({},t,sn),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=S.useForm({defaultValues:i});w.useEffect(()=>{p(i)},[i]),u(["x_axis","y_axis","reference_lines","color"]);const d=c(),h=w.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Accordion,{defaultValue:"Axis",children:[g(s.Accordion.Item,{value:"Axis",children:[o(s.Accordion.Control,{children:"Axis"}),g(s.Accordion.Panel,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"x_axis.name",control:a,render:({field:f})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...f})}),o(S.Controller,{name:"x_axis.data_key",control:a,render:({field:f})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...f})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"y_axis.name",control:a,render:({field:f})=>o(s.TextInput,{label:"Y Axis Name",sx:{flex:1},...f})}),o(S.Controller,{name:"y_axis.data_key",control:a,render:({field:f})=>o(J,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...f})})]})]})]}),g(s.Accordion.Item,{value:"Style",children:[o(s.Accordion.Control,{children:"Style"}),o(s.Accordion.Panel,{children:g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(S.Controller,{name:"color",control:a,render:({field:f})=>o(Pe,{...f})})]})})]}),g(s.Accordion.Item,{value:"Advanced",children:[o(s.Accordion.Control,{children:g(s.Group,{position:"apart",children:["Advanced",o(s.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(s.Accordion.Panel,{children:g(s.Tabs,{defaultValue:"variables",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"variables",children:"Variables"}),o(s.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),o(s.Tabs.Panel,{value:"variables",pt:"xs",children:o(kl,{control:a,watch:u,data:r})}),o(s.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(Al,{control:a,watch:u})})]})})]})]})]})})}class $l extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Rl={displayName:"Boxplot",migrator:new $l,name:"boxplot",viewRender:Il,configRender:El,createConfig:()=>sn};function Ol(e){const t=e.y_axes.some(n=>!!n.name);return{bottom:e.x_axis_name?40:25,top:t?30:10}}function Pl({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:a,plot:l,name:u,y_axis_data_key:c})=>{const p=`x-axis-for-${u}`,d=`dataset-for-${u}--raw`,h=`dataset-for-${u}--transformed`;n.push({id:d,source:t.map((f,v)=>[v,Number(f[c])])}),n.push({transform:a,id:h,fromDatasetId:d}),r.push({...l,name:u,datasetId:h,xAxisId:p,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:p,datasetId:h,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function Fl(e,t,n,r){const i=t.map(a=>[a[n],a[r]]);return Y.default.unionBy(i,e,0)}function zl(e,t,n){const r=t.reduce((i,a)=>{const l=rn(a,n);return i[a.name]=rt(a,l),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 Qr(i.template,t,n)},position:"insideEndTop"}}}))}function ql(e,t,n){const r=t.reduce((i,a)=>{const l=rn(a,n);return i[a.name]=rt(a,l),i},{});return e.map(i=>({name:"",type:"line",data:[],markArea:{itemStyle:{color:i.color},data:[[{yAxis:r[i.y_keys.upper]},{yAxis:r[i.y_keys.lower]}]],silent:!0}}))}function Gl({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:a,stack:l,color:u,display_name_on_line:c,...p},d,h,f){const v={label:{show:!!r,position:r,formatter:f[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:l,color:u,...p};if(c&&(v.endLabel={show:!0,formatter:i,offset:[-12,12],align:"right"}),!a)return v.data=h.map(b=>b[t]),v;const C=x.groupBy(h,a);return Object.entries(C).map(([b,D])=>{const k=x.cloneDeep(v);return k.data=Fl(d,D,e,t),k.name=b,k.color=void 0,k})}function Nl(e,t,n,r){const i=t.map(l=>[l,0]);return e.series.map(l=>Gl(e,l,i,n,r)).flat().concat(zl(e.reference_lines,e.variables,n)).concat(ql(e.reference_areas,e.variables,n))}function Ll(e,t){const n=e.series.reduce((r,{yAxisIndex:i,name:a})=>(r[a]=i,r),{});return{formatter:function(r){const i=Array.isArray(r)?r:[r];if(i.length===0)return"";const a=i.map(({seriesName:l,value:u})=>{var d;if(Array.isArray(u)&&u.length===2&&(u=u[1]),!l)return u;const c=n[l],p=(d=t[c])!=null?d:t.default;return`${l}: <strong>${p({value:u})}</strong>`});return a.unshift(`<strong>${i[0].name}</strong>`),a.join("<br />")}}}function Bl(e,t,n){var r;return[{data:t,name:(r=e.x_axis_name)!=null?r:"",id:"main-x-axis",axisTick:{show:!0,alignWithLabel:!0},...e.x_axis},...n]}function jl(e,t){return e.y_axes.map(({nameAlignment:n,...r},i)=>{var l;let a=r.position;return a||(a=i>0?"right":"left"),{...r,position:a,axisLabel:{show:!0,formatter:(l=t[i])!=null?l:t.default},axisLine:{show:!0},nameTextStyle:{fontWeight:"bold",align:n},nameLocation:"end",nameGap:15,splitLine:{show:!1}}})}const Wl={legend:{show:!0,bottom:0,left:"center",type:"scroll"},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],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:30,right:15,bottom:25,containLabel:!0}};function Ul(e,t){const n=e.y_axes.reduce((p,{label_formatter:d},h)=>(p[h]=function(v){let C=v;if(typeof v=="object"&&(Array.isArray(v.value)&&v.value.length===2?C=v.value[1]:C=v.value),!d)return C;try{return ge.default(C).format(d)}catch(b){return console.error(b),C}},p),{default:({value:p})=>p}),r=Y.default.uniq(t.map(p=>p[e.x_axis_data_key])),i=Nl(e,r,t,n),{regressionDataSets:a,regressionSeries:l,regressionXAxes:u}=Pl(e,t),c={xAxis:Bl(e,r,u),yAxis:jl(e,n),dataset:[...a],series:[...i,...l],tooltip:Ll(e,n),grid:Ol(e)};return x.defaultsDeep({},c,Wl)}const ln={regressions:[],series:[],stats:{templates:{bottom:"",top:""},variables:[]},x_axis:{axisLabel:{rotate:0}},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",position:"left",nameAlignment:"center",label_formatter:Ke}],variables:[],reference_lines:[],reference_areas:[]};ee.use([U.DataZoomComponent,_e.BarChart,_e.LineChart,_e.ScatterChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer,U.MarkLineComponent,U.MarkAreaComponent]),ee.registerTransform(Hn.transform.regression);function Jr(e){return e.trim().length>0}function Yl({conf:e,data:t,width:n,height:r}){const i=_.default.useMemo(()=>Ul(e,t),[e,t]);return!n||!r?null:o(Ee.default,{echarts:ee,option:i,style:{width:n,height:r}})}function Hl({context:e}){const{value:t}=G(e.instanceData,"config"),n=w.useMemo(()=>x.defaults({},t,ln),[t]),r=e.data,{width:i,height:a}=e.viewport,{ref:l,height:u}=Z.useElementSize(),{ref:c,height:p}=Z.useElementSize(),d=_.default.useMemo(()=>{const{stats:{templates:f,variables:v}}=n;return{top:an(f.top,v,r),bottom:an(f.bottom,v,r)}},[n,r]),h=Math.max(0,a-u-p);return g(s.Box,{children:[Jr(n.stats.templates.top)&&o(s.Text,{ref:l,align:"left",size:"xs",pl:"sm",children:Object.values(d.top).map(f=>f)}),o(Yl,{width:i,height:h,data:r,conf:n}),Jr(n.stats.templates.bottom)&&o(s.Text,{ref:c,align:"left",size:"xs",pl:"sm",children:Object.values(d.bottom).map(f=>f)})]})}const Ql=[{label:"Rectangle",value:"rectangle"}],Jl=[{label:"Horizontal",value:"horizontal"}];function Xl({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`reference_areas.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(S.Controller,{name:`reference_areas.${t}.color`,control:e,render:({field:i})=>o(s.TextInput,{label:"Color",required:!0,sx:{flex:1},...i})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`reference_areas.${t}.type`,control:e,render:({field:i})=>o(s.Select,{label:"Type",required:!0,data:Ql,sx:{flex:1},...i})}),o(S.Controller,{name:`reference_areas.${t}.direction`,control:e,render:({field:i})=>o(s.Select,{label:"Direction",required:!0,data:Jl,sx:{flex:1},...i})})]}),o(s.Divider,{variant:"dashed",label:"Data",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`reference_areas.${t}.y_keys.upper`,control:e,render:({field:i})=>o(s.Select,{label:"Upper Boundary",required:!0,data:r,sx:{flex:1},...i})}),o(S.Controller,{name:`reference_areas.${t}.y_keys.lower`,control:e,render:({field:i})=>o(s.Select,{label:"Lower Boundary",required:!0,data:r,sx:{flex:1},...i})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function Kl({control:e,watch:t}){const{fields:n,append:r,remove:i}=S.useFieldArray({control:e,name:"reference_areas"}),a=t("reference_areas"),l=n.map((d,h)=>({...d,...a[h]})),u=()=>r({name:"",type:"rectangle",direction:"horizontal",y_keys:{upper:"",lower:""}}),c=t("variables"),p=w.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,h)=>o(Xl,{control:e,index:h,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Area"})})]})}function Zl({control:e,index:t,remove:n,variableOptions:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(S.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(s.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(S.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(s.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function eu({control:e,watch:t}){const{fields:n,append:r,remove:i}=S.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),l=n.map((d,h)=>({...d,...a[h]})),u=()=>r({name:"",template:"",variable_key:""}),c=t("variables"),p=w.useMemo(()=>c.map(d=>({label:d.name,value:d.name})),[c]);return g(s.Stack,{children:[l.map((d,h)=>o(Zl,{control:e,index:h,remove:i,variableOptions:p})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Reference Line"})})]})}const tu=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}],nu=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function ru({control:e,regressionItem:t,index:n,remove:r,yAxisOptions:i,data:a}){const l=t.transform.config.method;return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(S.Controller,{name:`regressions.${n}.name`,control:e,render:({field:u})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:u})=>o(J,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})}),o(S.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...p}})=>{var d;return o(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...p,value:(d=u==null?void 0:u.toString())!=null?d:"",onChange:h=>{if(!h){c(0);return}c(Number(h))},sx:{flex:1}})}})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:u})=>o(s.Select,{label:"Method",data:tu,sx:{flex:1},...u})}),l==="polynomial"&&o(S.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:u})=>o(s.NumberInput,{label:"Order",sx:{flex:1},...u})})]}),o(s.Divider,{mb:-15,variant:"dashed",label:"Line Style",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(S.Controller,{name:`regressions.${n}.plot.lineStyle.type`,control:e,render:({field:u})=>o(s.Select,{label:"Line Type",data:nu,sx:{flexGrow:1},...u})}),o(S.Controller,{name:`regressions.${n}.plot.lineStyle.width`,control:e,render:({field:u})=>o(s.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...u})})]}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(S.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:u})=>o(Pe,{...u})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},n)}function iu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"regressions"}),l=t("regressions"),u=r.map((h,f)=>({...h,...l[f]})),c=t("y_axes"),p=_.default.useMemo(()=>c.map(({name:h},f)=>({label:h,value:f.toString()})),[c]),d=()=>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 g(s.Stack,{children:[u.map((h,f)=>o(ru,{regressionItem:h,control:e,index:f,remove:a,yAxisOptions:p,data:n},f)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:d,children:"Add a Regression Line"})})]})}const ou=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function au({control:e,index:t}){return g(H,{children:[g(s.Group,{grow:!0,align:"top",children:[o(S.Controller,{name:`series.${t}.stack`,control:e,render:({field:n})=>o(s.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),o(S.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:n})=>o(s.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),o(S.Controller,{name:`series.${t}.barGap`,control:e,render:({field:n})=>o(s.Select,{label:"Bar Gap",data:ou,sx:{flexGrow:1},...n})})]})}const su=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}],lu=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}];function uu({control:e,index:t}){return g(H,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Line Settings",labelPosition:"center"}),g(s.Group,{grow:!0,children:[o(S.Controller,{name:`series.${t}.lineStyle.type`,control:e,render:({field:n})=>o(s.Select,{label:"Line Type",data:lu,sx:{flexGrow:1},...n})}),o(S.Controller,{name:`series.${t}.lineStyle.width`,control:e,render:({field:n})=>o(s.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...n})})]}),g(s.Group,{grow:!0,align:"center",children:[o(S.Controller,{name:`series.${t}.step`,control:e,render:({field:n})=>o(s.Select,{label:"Step",data:su,sx:{flexGrow:1,maxWidth:"48%"},...n,value:String(n.value),onChange:r=>{const i=r==="false"?!1:r;n.onChange(i)}})}),g(s.Stack,{children:[o(S.Controller,{name:`series.${t}.smooth`,control:e,render:({field:n})=>o(s.Box,{sx:{flexGrow:1},children:o(s.Switch,{label:"Smooth Line",checked:n.value,onChange:r=>n.onChange(r.currentTarget.checked)})})}),o(S.Controller,{name:`series.${t}.display_name_on_line`,control:e,render:({field:n})=>{var r;return o(s.Box,{sx:{flexGrow:1},children:o(s.Switch,{label:"Display Name on Line",checked:(r=n.value)!=null?r:!1,onChange:i=>n.onChange(i.currentTarget.checked)})})}})]})]})]})}const cu=Array.from(new Array(9),(e,t)=>({label:String(t+1),value:t+1}));function du({control:e,index:t}){return o(s.Group,{grow:!0,align:"center",children:o(S.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:n})=>g(s.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[o(s.Text,{size:"sm",children:"Size"}),o(s.Slider,{min:1,max:10,marks:cu,...n,sx:{width:"100%"}})]})})})}const pu=[{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 gu({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:a}){const l=r.type;return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.Stack,{children:o(S.Controller,{name:`series.${t}.type`,control:e,render:({field:u})=>o(s.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),o(S.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:u})=>o(J,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...p}})=>{var d;return o(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...p,value:(d=u==null?void 0:u.toString())!=null?d:"",onChange:h=>{if(!h){c(0);return}c(Number(h))},sx:{flex:1}})}}),o(S.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>o(J,{label:"Group By",data:a,clearable:!0,sx:{flex:1},...u})})]}),l==="line"&&o(uu,{index:t,control:e}),l==="bar"&&o(au,{index:t,control:e}),l==="scatter"&&o(du,{index:t,control:e}),o(S.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>o(s.Select,{label:"Label Position",data:pu,...u})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(S.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>o(Pe,{...u})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function fu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"series"}),l=t("series"),u=r.map((h,f)=>({...h,...l[f]})),c=()=>i({type:"bar",name:Z.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",display_name_on_line:!1,stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%",lineStyle:{type:"solid",width:1}}),p=t("y_axes"),d=_.default.useMemo(()=>p.map(({name:h},f)=>({label:h,value:f.toString()})),[p]);return g(s.Stack,{children:[u.map((h,f)=>o(gu,{control:e,index:f,remove:a,seriesItem:h,yAxisOptions:d,data:n},h.id)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Series"})})]})}function hu({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(S.Controller,{name:`stats.variables.${t}`,control:e,render:({field:i})=>o(ft,{data:r,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function mu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"stats.variables"});t("stats.templates");const l=t("stats.variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(pt());return g(s.Stack,{children:[g(s.Stack,{spacing:0,children:[o(S.Controller,{name:"stats.templates.top",control:e,render:({field:p})=>o(Ht,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...p})}),o(S.Controller,{name:"stats.templates.bottom",control:e,render:({field:p})=>o(Ht,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...p})})]}),u.map((p,d)=>o(hu,{control:e,index:d,remove:a,data:n})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function vu({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(S.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ft,{data:r,withStyle:!1,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function yu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(pt());return g(s.Stack,{children:[u.map((p,d)=>o(vu,{control:e,index:d,remove:a,data:n},d)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function bu({data:e,control:t,watch:n}){return n(["x_axis_data_key","x_axis_name","x_axis"]),g(s.Stack,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"x_axis_data_key",control:t,render:({field:r})=>o(J,{label:"X Axis Data Field",required:!0,data:e,sx:{flex:1},...r})}),o(S.Controller,{name:"x_axis_name",control:t,render:({field:r})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...r})})]}),o(s.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),o(s.Group,{children:o(S.Controller,{name:"x_axis.axisLabel.rotate",control:t,render:({field:r})=>o(s.NumberInput,{label:"Rotate",hideControls:!0,min:-90,max:90,rightSection:o(s.Text,{color:"dimmed",children:"degree"}),sx:{width:"48%"},styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},...r})})})]})}const Cu=[{label:"left",value:"left"},{label:"center",value:"center"},{label:"right",value:"right"}],xu=[{label:"left",value:"left"},{label:"right",value:"right"}];function wu({control:e,index:t,remove:n}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Name",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})}),o(S.Controller,{name:`y_axes.${t}.nameAlignment`,control:e,render:({field:r})=>o(s.Select,{label:"Align",required:!0,data:Cu,sx:{flex:1},...r})})]}),o(s.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),o(s.Group,{grow:!0,noWrap:!0,children:o(S.Controller,{name:`y_axes.${t}.position`,control:e,render:({field:r})=>o(s.Select,{label:"Position",required:!0,data:xu,sx:{flex:1},...r})})}),g(s.Stack,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),o(S.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>o(Qt,{...r})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o(T.Trash,{size:16})})]})}function Su({control:e,watch:t}){const{fields:n,append:r,remove:i}=S.useFieldArray({control:e,name:"y_axes"}),a=t("y_axes"),l=n.map((c,p)=>({...c,...a[p]})),u=()=>r({name:"",label_formatter:Ke});return g(s.Stack,{children:[l.map((c,p)=>o(wu,{control:e,index:p,remove:i},p)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:u,children:"Add a Y Axis"})})]})}function _u(e){function t({type:n,name:r,showSymbol:i,symbolSize:a=5,y_axis_data_key:l="value",yAxisIndex:u=0,label_position:c="top",stack:p="1",color:d="black",barWidth:h="30",barGap:f="0%",smooth:v=!1,step:C=!1,group_by_key:b="",display_name_on_line:D=!1,lineStyle:k={type:"solid",width:1}}){return{type:n,name:r,showSymbol:i,symbolSize:a,y_axis_data_key:l,yAxisIndex:u,label_position:c,stack:p,color:d,barWidth:h,barGap:f,smooth:v,step:C,group_by_key:b,display_name_on_line:D,lineStyle:k}}return e.map(t)}function Du(e){return e||{templates:{top:"",bottom:""},variables:[]}}function Mu({series:e,stats:t,...n}){return{series:_u(e!=null?e:[]),stats:Du(t),...n}}function Iu({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=w.useMemo(()=>x.defaultsDeep({},t,ln),[t]),a=w.useMemo(()=>Mu(i),[i]);w.useEffect(()=>{!x.isEqual(i,a)&&(console.log("config malformed, resetting to defaults",i,a),n(a))},[i,a]);const{control:l,handleSubmit:u,watch:c,getValues:p,reset:d}=S.useForm({defaultValues:a});w.useEffect(()=>{d(a)},[a]);const h=p(),f=w.useMemo(()=>!x.isEqual(h,i),[h,i]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:u(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Accordion,{multiple:!0,defaultValue:["X Axis","Y Axes"],children:[g(s.Accordion.Item,{value:"X Axis",children:[o(s.Accordion.Control,{children:"X Axis"}),o(s.Accordion.Panel,{children:o(bu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Y Axes",children:[o(s.Accordion.Control,{children:"Y Axes"}),o(s.Accordion.Panel,{children:o(Su,{control:l,watch:c})})]}),g(s.Accordion.Item,{value:"Series",children:[o(s.Accordion.Control,{children:"Series"}),o(s.Accordion.Panel,{children:o(fu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Regression Lines",children:[o(s.Accordion.Control,{children:"Regression Lines"}),o(s.Accordion.Panel,{children:o(iu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Stats",children:[o(s.Accordion.Control,{children:"Stats"}),o(s.Accordion.Panel,{children:o(mu,{control:l,watch:c,data:r})})]}),g(s.Accordion.Item,{value:"Advanced",children:[o(s.Accordion.Control,{children:g(s.Group,{position:"apart",children:["Advanced",o(s.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(s.Accordion.Panel,{children:g(s.Tabs,{defaultValue:"variables",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"variables",children:"Variables"}),o(s.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"}),o(s.Tabs.Tab,{value:"reference_areas",children:"Reference Areas"})]}),o(s.Tabs.Panel,{value:"variables",pt:"xs",children:o(yu,{control:l,watch:c,data:r})}),o(s.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(eu,{control:l,watch:c})}),o(s.Tabs.Panel,{value:"reference_areas",pt:"xs",children:o(Kl,{control:l,watch:c})})]})})]})]})]})})}class Vu extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Au={displayName:"Cartesian Chart",migrator:new Vu,name:"cartesian",viewRender:Hl,configRender:Iu,createConfig:()=>ln},un={x_axis:{name:"X Axis",data_key:""},data_key:"value",bar:{name:"Value",color:"#228be6"},line:{name:"Value",color:"red"}};function cn(e){return ge.default(e).format({output:"percent",mantissa:0})}function Tu(e){const t=e.value[1];try{return cn(t)}catch(n){return console.error(n),t}}function ku(e){const t=Array.isArray(e)?e:[e];if(t.length===0)return"";const n=t.map((r,i)=>{const a=r.seriesName,[l,u]=r.value;return a?`${a}: <strong>${(i===0?p=>p:cn)(u)}</strong>`:u});return n.unshift(`<strong>${t[0].name}</strong>`),n.join("<br />")}ee.use([_e.BarChart,_e.LineChart,U.DataZoomComponent,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Eu({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,data_key:l,bar:u,line:c}=x.defaults({},t,un),{barData:p,lineData:d}=w.useMemo(()=>{const f=n.map(b=>[b[a.data_key],Number(b[l])]).sort((b,D)=>D[1]-b[1]),v=f.reduce((b,D)=>b+D[1],0),C=f.reduce((b,D,k)=>{const E=k===0?0:b[k-1][1];return b.push([D[0],E+D[1]]),b},[]).map(b=>[b[0],b[1]/v]);return{barData:f,lineData:C}},[a.data_key,l,n]),h={dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis",formatter:ku},xAxis:[{type:"category",name:a.name,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},splitLine:{show:!1},axisTick:{show:!0,alignWithLabel:!0}}],yAxis:[{name:u.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"},axisLine:{show:!0},splitLine:{show:!1}},{name:c.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"center"},axisLabel:{show:!0,formatter:cn},splitLine:{show:!1}}],series:[{name:u.name,type:"bar",itemStyle:{color:u.color},yAxisIndex:0,data:p},{name:c.name,type:"line",itemStyle:{color:c.color},symbolSize:2,lineStyle:{width:1},label:{show:!0,position:"top",formatter:Tu},yAxisIndex:1,data:d}]};return!t||!r||!i?null:o(Ee.default,{echarts:ee,option:h,style:{width:r,height:i}})}function $u({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=w.useMemo(()=>x.defaults({},t,un),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=S.useForm({defaultValues:i});w.useEffect(()=>{p(i)},[i]),u(["x_axis","data_key","bar","line"]);const d=c(),h=w.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"x_axis.name",control:a,render:({field:f})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...f})}),o(S.Controller,{name:"x_axis.data_key",control:a,render:({field:f})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...f})})]}),o(S.Controller,{name:"data_key",control:a,render:({field:f})=>o(J,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...f})}),o(s.Divider,{my:"md",label:"Bar",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"bar.name",control:a,render:({field:f})=>o(s.TextInput,{label:"Bar Name",sx:{flex:1},...f})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Bar's Color"}),o(S.Controller,{name:"bar.color",control:a,render:({field:f})=>o(Pe,{...f})})]})]}),o(s.Divider,{my:"md",label:"Line",labelPosition:"center"}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"line.name",control:a,render:({field:f})=>o(s.TextInput,{label:"Line Name",sx:{flex:1},...f})}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Line's Color"}),o(S.Controller,{name:"line.color",control:a,render:({field:f})=>o(Pe,{...f})})]})]})]})})}class Ru extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Ou={displayName:"Pareto Chart",migrator:new Ru,name:"paretoChart",viewRender:Eu,configRender:$u,createConfig:()=>un},dn={label_field:"",value_field:""};ee.use([_e.PieChart,Te.CanvasRenderer]);const Pu={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
49
+ {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 Fu({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:l}=x.defaults({},t,dn),u=w.useMemo(()=>n.map(d=>({name:d[a],value:Number(d[l])})),[n,a,l]),c=w.useMemo(()=>({series:{labelLayout:function(d){const h=d.labelRect.x<r/2,f=d.labelLinePoints;return x.set(f,[2,0],h?d.labelRect.x:d.labelRect.x+d.labelRect.width),{labelLinePoints:f}}}}),[r]),p=x.merge({},Pu,c,{series:{data:u}});return o(Ee.default,{echarts:ee,option:p,style:{width:r,height:i}})}function zu({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),{label_field:r,value_field:i}=x.defaults({},t,dn),a=e.data,l=Ot.useForm({initialValues:{label_field:r,value_field:i}});return w.useEffect(()=>{l.setValues({label_field:r,value_field:i})},[r,i]),o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l.onSubmit(n),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Pie Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o(T.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"Label Field",required:!0,data:a,...l.getInputProps("label_field")}),o(J,{label:"Value Field",required:!0,data:a,...l.getInputProps("value_field")})]})]})})}class qu extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Gu={displayName:"Pie Chart",migrator:new qu,name:"pie",viewRender:Fu,configRender:zu,createConfig:()=>dn};function Xr(e){return e?t=>{try{return ge.default(t).format(e)}catch(n){return console.error(n),t}}:t=>t}function Nu(e){return{show:!0,formatter:({dimensionIndex:t,value:n})=>Xr(e.dimensions[t].formatter)(n)}}function Lu(e){return({name:t,marker:n,value:r})=>{if(r.length===0)return"";const i=r.map((a,l)=>{const u=e.dimensions[l],c=Xr(u.formatter);return`
50
50
  <tr>
51
51
  <td style="padding-left: 18px;">${u.name}</td>
52
52
  <td style="text-align: right; "><strong>${c(a)}</strong></td>
@@ -74,7 +74,7 @@ WHERE
74
74
  ${i.join("")}
75
75
  </tbody>
76
76
  </table>
77
- `}}const qu={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function Gu(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:l,max:u})=>({name:l,max:u})),i=t.map(l=>({value:e.dimensions.map(({data_key:u})=>l[u]),name:l[e.series_name_key]})),a={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,formatter:zu(e)},legend:{show:!0,left:"center"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},areaStyle:{opacity:.4},label:Fu(e)},color:n};return Y.default.merge({},qu,a)}const gn={series_name_key:"name",dimensions:[]};ee.use([_e.RadarChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Nu({context:e}){const{value:t}=G(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=e.data,a=S.useMemo(()=>Gu(x.defaultsDeep({},t,gn),i),[t,i]);return!n||!r||!t||x.isEmpty(t==null?void 0:t.dimensions)?null:o(s.Box,{children:o(Ee.default,{echarts:ee,option:a,style:{width:n,height:r}})})}function Lu({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(w.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>o(J,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),o(w.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>o(s.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),g(s.Stack,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),o(w.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>o(Jt,{...i})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o($.Trash,{size:16})})]},t)}function ju({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"dimensions"}),l=t("dimensions"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i({name:Z.randomId(),data_key:"",max:100,formatter:Ke});return g(s.Stack,{children:[u.map((p,d)=>o(Lu,{data:n,control:e,index:d,remove:a})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Dimension"})})]})}function Bu(e){function t({name:n="",data_key:r="",max:i=10,formatter:a=Ke}){return{name:n,data_key:r,max:i,formatter:a}}return e.map(t)}function Wu({context:e}){const t=e.data,{value:n,set:r}=G(e.instanceData,"config"),i=S.useMemo(()=>x.defaultsDeep({},n,gn),[n]),{dimensions:a,series_name_key:l}=i,u=S.useMemo(()=>({dimensions:Bu(a!=null?a:[]),series_name_key:l}),[a,l]);S.useEffect(()=>{!x.isEqual(i,u)&&r(u)},[i,u]);const{control:c,handleSubmit:p,watch:d,getValues:f,reset:h}=w.useForm({defaultValues:u});S.useEffect(()=>{x.isEqual(f(),u)||h(u)},[i]),d(["series_name_key"]);const v=f(),C=S.useMemo(()=>!x.isEqual(v,i),[v,i]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:p(r),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!C,children:o($.DeviceFloppy,{size:20})})]}),o(s.Box,{py:"sm",children:o(w.Controller,{name:"series_name_key",control:c,render:({field:b})=>o(J,{label:"Series Name Field",required:!0,data:t,sx:{flex:1},...b})})}),o(ju,{control:c,watch:d,data:t})]})})}class Uu extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Yu={displayName:"Radar Chart",migrator:new Uu,name:"radar",viewRender:Nu,configRender:Wu,createConfig:()=>gn};function Hu(e,t){switch(e.config.method){case"linear":return[...ke.regressionLinear()(t)];case"exponential":return[...ke.regressionExp()(t)];case"logarithmic":return[...ke.regressionLog()(t)];case"polynomial":return[...ke.regressionPoly().order(e.config.order)(t)];default:return[]}}function Qu({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:a,name:l}=e,u=Hu(i,t);return n.push({...a,name:l,data:u,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const Ju={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function Xu(e,t){var a,l;const n=Y.default.uniqBy(t.map(u=>[u[e.x_axis.data_key],u[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=Qu(e,n),i={xAxis:{type:"category",name:(a=e.x_axis.name)!=null?a:"",axisTick:{show:!0,alignWithLabel:!0}},yAxis:{name:(l=e.y_axis.name)!=null?l:"",axisLine:{show:!0}},series:[{data:n,name:e.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...r]};return x.defaultsDeep({},i,Ju)}function bt(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function Ku(e,t){if(!t)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:r,y_axis:i}=t,a=e.map(l=>[l[r.data_key],l[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const l=ke.regressionLinear()(a),{a:u,b:c,rSquared:p}=l;return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:c}),o(s.Text,{children:"+"}),o(s.Text,{weight:"bold",color:"gray",children:u}),o(s.Text,{children:"\xD7"}),o(s.Text,{children:r.name})]}),rSquared:p,adjustedRSquared:bt(p,e.length,1)}}if(n.transform.config.method==="exponential"){const{a:l,b:u,rSquared:c}=ke.regressionExp()(a);return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:l}),o(s.Text,{children:"\xD7"}),g(s.Group,{position:"left",noWrap:!0,spacing:2,children:[o(s.Text,{children:"Math.exp("}),o(s.Text,{weight:"bold",color:"gray",children:u}),o(s.Text,{children:"\xD7"}),o(s.Text,{children:r.name}),o(s.Text,{children:")"})]})]}),rSquared:c,adjustedRSquared:bt(c,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a:l,b:u,rSquared:c}=ke.regressionLog()(a);return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:l}),o(s.Text,{children:"\xD7"}),g(s.Group,{position:"left",noWrap:!0,spacing:2,children:[o(s.Text,{children:"Math.log("}),o(s.Text,{children:r.name}),o(s.Text,{children:")"}),o(s.Text,{children:"+"}),o(s.Text,{weight:"bold",color:"gray",children:u})]})]}),rSquared:c,adjustedRSquared:bt(c,e.length,1)}}if(n.transform.config.method==="polynomial"){const l=ke.regressionPoly().order(n.transform.config.order)(a),{rSquared:u}=l;return console.log(l),{expression:"",rSquared:u,adjustedRSquared:bt(u,e.length,1)}}return{expression:"",rSquared:0}}const fn={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"}};ee.use([U.DataZoomComponent,_e.ScatterChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]),ee.registerTransform(Kn.transform.regression);function Zu({context:e}){const{value:t}=G(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=S.useMemo(()=>{var h;const d=e.data,f=(h=t==null?void 0:t.regression)==null?void 0:h.y_axis_data_key;return f?d.map(v=>typeof v[f]=="number"?v:{...v,[f]:Number(v[f])}):d},[e.data,t==null?void 0:t.regression.y_axis_data_key]),a=S.useMemo(()=>Xu(x.defaultsDeep({},t,fn),i),[t,i]),{expression:l,rSquared:u,adjustedRSquared:c}=S.useMemo(()=>Ku(i,t),[t,i]);if(!n||!r||!t)return null;let p=r;return l&&(p-=20),g(s.Box,{children:[l&&o(s.Text,{align:"center",size:12,children:l}),g(s.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[o(Ee.default,{echarts:ee,option:a,style:{width:n-190,height:p}}),u&&o(s.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:g("tbody",{children:[g("tr",{children:[o("td",{children:"R-Sq"}),o("td",{style:{textAlign:"right"},children:fe.default(u).format({output:"percent",mantissa:1})})]}),g("tr",{children:[o("td",{children:"R-Sq(Adjusted)"}),o("td",{style:{textAlign:"right"},children:fe.default(c).format({output:"percent",mantissa:1})})]})]})})]})]})}const ec=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function tc({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return g(s.Stack,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"regression.name",control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(w.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>o(J,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>o(s.Select,{label:"Method",data:ec,sx:{flex:1},...i})}),r==="polynomial"&&o(w.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>o(s.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(w.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>o(Pe,{...i})})]})]})}function nc({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=S.useMemo(()=>x.defaults({},t,fn),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=w.useForm({defaultValues:i});S.useEffect(()=>{p(i)},[i]),u(["x_axis","y_axis","regression"]);const d=c(),f=S.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:o($.DeviceFloppy,{size:20})})]}),g(s.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[g(s.Accordion.Item,{value:"Axis",children:[o(s.Accordion.Control,{children:"Axis"}),g(s.Accordion.Panel,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(w.Controller,{name:"x_axis.name",control:a,render:({field:h})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...h})}),o(w.Controller,{name:"x_axis.data_key",control:a,render:({field:h})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...h})})]}),o(s.Group,{grow:!0,noWrap:!0,children:o(w.Controller,{name:"y_axis.name",control:a,render:({field:h})=>o(s.TextInput,{label:"Y Axis Name",sx:{flex:1},...h})})})]})]}),g(s.Accordion.Item,{value:"Regression",children:[o(s.Accordion.Control,{children:"Regression Line"}),o(s.Accordion.Panel,{children:o(tc,{control:a,watch:u,data:r})})]})]})]})})}class rc extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const ic={displayName:"Regression Chart",migrator:new rc,name:"regressionChart",viewRender:Zu,configRender:nc,createConfig:()=>fn},hn={content:""};function ti(e){const t=S.useRef(null);return S.useEffect(()=>{var n,r,i;e&&((i=(r=(n=t.current)==null?void 0:n.editor)==null?void 0:r.clipboard)==null||i.dangerouslyPasteHTML(e))},[e]),t}function oc({context:e}){const{panel:t}=ae(),{value:n}=G(e.instanceData,"config"),r=n==null?void 0:n.content,i=ti(r);return n!=null&&n.content?o(Ot.RichTextEditor,{id:t.id,ref:i,readOnly:!0,value:n.content,onChange:x.noop,sx:{border:"none",".ql-editor":{padding:0,"h1, h2, h3, h4, h5, p, ul, ol":{"&:last-child":{marginBottom:0}}}}}):null}function ac({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=S.useMemo(()=>x.defaults({},t,hn),[t]),{control:i,handleSubmit:a,watch:l,getValues:u}=w.useForm({defaultValues:r});l("content");const c=u(),p=S.useMemo(()=>!x.isEqual(c,t),[c,t]),d=ti(t==null?void 0:t.content);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:a(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Content"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:o($.DeviceFloppy,{size:20})})]}),o(w.Controller,{name:"content",control:i,render:({field:f})=>o(tr.default,{ref:d,sx:{flex:1},...x.omit(f,"ref")})})]})})}class sc extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}fixMalformedConfig(n){return x.defaults({},n,hn)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const lc={displayName:"RichText",migrator:new sc,name:"richText",viewRender:oc,configRender:ac,createConfig:()=>hn},mn={align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:{output:"number",mantissa:0}}]};function uc(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:a="",data_field:l="value",formatter:u={output:"number",mantissa:0},postfix:c=""}={}}=e;return{align:t,template:`${a} \${value} ${c}`,variables:[{name:"value",data_field:l,aggregation:{type:"none",config:{}},formatter:u,color:i,weight:r,size:n}]}}class cc extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({config:uc(n)}))}}function dc({context:e}){const{value:t=mn}=G(e.instanceData,"config"),{template:n,variables:r,align:i}=t,a=S.useMemo(()=>sn(n,r,e.data),[n,r,e.data]);return o(s.Text,{align:i,children:Object.values(a).map((l,u)=>o(_.default.Fragment,{children:l},u))})}function pc({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(w.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ht,{data:r,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},t)}function gc({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=w.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(gt());return g(s.Stack,{children:[u.map((p,d)=>o(pc,{control:e,index:d,remove:a,data:n},p.name)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function fc({context:e}){const t=e.data||[],{value:n,set:r}=G(e.instanceData,"config"),i=_.default.useMemo(()=>{const{align:h,template:v="",variables:C=[]}=x.defaultsDeep({},n,mn);return{variables:C,template:v,align:h}},[n]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=w.useForm({defaultValues:i});_.default.useEffect(()=>{p(i)},[i]),u(["variables","template"]);const d=c(),f=_.default.useMemo(()=>!Y.default.isEqual(d,n),[d,n]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(r),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{weight:500,children:"Stats Configurations"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!f,children:o($.DeviceFloppy,{size:20})})]}),o(w.Controller,{name:"template",control:a,render:({field:h})=>o(Qt,{label:"Template",py:"md",sx:{flexGrow:1},...h})}),o(s.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),o(gc,{control:a,watch:u,data:t})]})})}const hc={createConfig(){return{version:1,config:mn}},displayName:"Stats",migrator:new cc,name:"stats",viewRender:dc,configRender:fc},vn={label_field:"",value_field:""};ee.use([_e.SunburstChart,Te.CanvasRenderer]);const mc={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function vc({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:l}=x.defaults({},t,vn),u=S.useMemo(()=>n.map(f=>({name:f[a],value:Number(f[l])})),[n,a,l]),c=S.useMemo(()=>{var f,h;return(h=(f=x.maxBy(u,v=>v.value))==null?void 0:f.value)!=null?h:1},[u]),p=S.useMemo(()=>({series:{label:{formatter:({name:f,value:h})=>h/c<.2?" ":f}}}),[c]),d=x.merge({},mc,p,{series:{data:u}});return o(Ee.default,{echarts:ee,option:d,style:{width:r,height:i}})}function yc({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),{label_field:r,value_field:i}=x.defaults({},t,vn),a=e.data,l=Pt.useForm({initialValues:{label_field:r,value_field:i}});return S.useEffect(()=>{l.setValues({label_field:r,value_field:i})},[r,i]),o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l.onSubmit(n),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Sunburst Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o($.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"Label Field",required:!0,data:a,...l.getInputProps("label_field")}),o(J,{label:"Value Field",required:!0,data:a,...l.getInputProps("value_field")})]})]})})}class bc extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Cc={displayName:"Sunburst",migrator:new bc,name:"sunburst",viewRender:vc,configRender:yc,createConfig:()=>vn};var ze=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(ze||{});const Ct={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"};/**
77
+ `}}const Bu={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function ju(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:l,max:u})=>({name:l,max:u})),i=t.map(l=>({value:e.dimensions.map(({data_key:u})=>l[u]),name:l[e.series_name_key]})),a={radar:{indicator:r,splitArea:{show:!1}},tooltip:{confine:!0,formatter:Lu(e)},legend:{show:!0,left:"center"},series:{type:"radar",data:i,symbolSize:4,lineStyle:{width:1},areaStyle:{opacity:.4},label:Nu(e)},color:n};return Y.default.merge({},Bu,a)}const pn={series_name_key:"name",dimensions:[]};ee.use([_e.RadarChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]);function Wu({context:e}){const{value:t}=G(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=e.data,a=w.useMemo(()=>ju(x.defaultsDeep({},t,pn),i),[t,i]);return!n||!r||!t||x.isEmpty(t==null?void 0:t.dimensions)?null:o(s.Box,{children:o(Ee.default,{echarts:ee,option:a,style:{width:n,height:r}})})}function Uu({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(S.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>o(J,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),o(S.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>o(s.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),g(s.Stack,{children:[o(s.Divider,{mb:-15,variant:"dashed",label:"Value Formatter",labelPosition:"center"}),o(S.Controller,{name:`dimensions.${t}.formatter`,control:e,render:({field:i})=>o(Qt,{...i})})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o(T.Trash,{size:16})})]},t)}function Yu({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"dimensions"}),l=t("dimensions"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i({name:Z.randomId(),data_key:"",max:100,formatter:Ke});return g(s.Stack,{children:[u.map((p,d)=>o(Uu,{data:n,control:e,index:d,remove:a})),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Dimension"})})]})}function Hu(e){function t({name:n="",data_key:r="",max:i=10,formatter:a=Ke}){return{name:n,data_key:r,max:i,formatter:a}}return e.map(t)}function Qu({context:e}){const t=e.data,{value:n,set:r}=G(e.instanceData,"config"),i=w.useMemo(()=>x.defaultsDeep({},n,pn),[n]),{dimensions:a,series_name_key:l}=i,u=w.useMemo(()=>({dimensions:Hu(a!=null?a:[]),series_name_key:l}),[a,l]);w.useEffect(()=>{!x.isEqual(i,u)&&r(u)},[i,u]);const{control:c,handleSubmit:p,watch:d,getValues:h,reset:f}=S.useForm({defaultValues:u});w.useEffect(()=>{x.isEqual(h(),u)||f(u)},[i]),d(["series_name_key"]);const v=h(),C=w.useMemo(()=>!x.isEqual(v,i),[v,i]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:p(r),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!C,children:o(T.DeviceFloppy,{size:20})})]}),o(s.Box,{py:"sm",children:o(S.Controller,{name:"series_name_key",control:c,render:({field:b})=>o(J,{label:"Series Name Field",required:!0,data:t,sx:{flex:1},...b})})}),o(Yu,{control:c,watch:d,data:t})]})})}class Ju extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Xu={displayName:"Radar Chart",migrator:new Ju,name:"radar",viewRender:Wu,configRender:Qu,createConfig:()=>pn};function Ku(e,t){switch(e.config.method){case"linear":return[...$e.regressionLinear()(t)];case"exponential":return[...$e.regressionExp()(t)];case"logarithmic":return[...$e.regressionLog()(t)];case"polynomial":return[...$e.regressionPoly().order(e.config.order)(t)];default:return[]}}function Zu({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:a,name:l}=e,u=Ku(i,t);return n.push({...a,name:l,data:u,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const ec={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function tc(e,t){var a,l;const n=Y.default.uniqBy(t.map(u=>[u[e.x_axis.data_key],u[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=Zu(e,n),i={xAxis:{type:"category",name:(a=e.x_axis.name)!=null?a:"",axisTick:{show:!0,alignWithLabel:!0}},yAxis:{name:(l=e.y_axis.name)!=null?l:"",axisLine:{show:!0}},series:[{data:n,name:e.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...r]};return x.defaultsDeep({},i,ec)}function yt(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function nc(e,t){if(!t)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:r,y_axis:i}=t,a=e.map(l=>[l[r.data_key],l[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const l=$e.regressionLinear()(a),{a:u,b:c,rSquared:p}=l;return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:c}),o(s.Text,{children:"+"}),o(s.Text,{weight:"bold",color:"gray",children:u}),o(s.Text,{children:"\xD7"}),o(s.Text,{children:r.name})]}),rSquared:p,adjustedRSquared:yt(p,e.length,1)}}if(n.transform.config.method==="exponential"){const{a:l,b:u,rSquared:c}=$e.regressionExp()(a);return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:l}),o(s.Text,{children:"\xD7"}),g(s.Group,{position:"left",noWrap:!0,spacing:2,children:[o(s.Text,{children:"Math.exp("}),o(s.Text,{weight:"bold",color:"gray",children:u}),o(s.Text,{children:"\xD7"}),o(s.Text,{children:r.name}),o(s.Text,{children:")"})]})]}),rSquared:c,adjustedRSquared:yt(c,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a:l,b:u,rSquared:c}=$e.regressionLog()(a);return{expression:g(s.Group,{position:"center",noWrap:!0,spacing:10,children:[o(s.Text,{children:i.name}),o(s.Text,{children:"="}),o(s.Text,{weight:"bold",color:"gray",children:l}),o(s.Text,{children:"\xD7"}),g(s.Group,{position:"left",noWrap:!0,spacing:2,children:[o(s.Text,{children:"Math.log("}),o(s.Text,{children:r.name}),o(s.Text,{children:")"}),o(s.Text,{children:"+"}),o(s.Text,{weight:"bold",color:"gray",children:u})]})]}),rSquared:c,adjustedRSquared:yt(c,e.length,1)}}if(n.transform.config.method==="polynomial"){const l=$e.regressionPoly().order(n.transform.config.order)(a),{rSquared:u}=l;return console.log(l),{expression:"",rSquared:u,adjustedRSquared:yt(u,e.length,1)}}return{expression:"",rSquared:0}}const gn={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"}};ee.use([U.DataZoomComponent,_e.ScatterChart,U.GridComponent,U.LegendComponent,U.TooltipComponent,Te.CanvasRenderer]),ee.registerTransform(Hn.transform.regression);function rc({context:e}){const{value:t}=G(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=w.useMemo(()=>{var f;const d=e.data,h=(f=t==null?void 0:t.regression)==null?void 0:f.y_axis_data_key;return h?d.map(v=>typeof v[h]=="number"?v:{...v,[h]:Number(v[h])}):d},[e.data,t==null?void 0:t.regression.y_axis_data_key]),a=w.useMemo(()=>tc(x.defaultsDeep({},t,gn),i),[t,i]),{expression:l,rSquared:u,adjustedRSquared:c}=w.useMemo(()=>nc(i,t),[t,i]);if(!n||!r||!t)return null;let p=r;return l&&(p-=20),g(s.Box,{children:[l&&o(s.Text,{align:"center",size:12,children:l}),g(s.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[o(Ee.default,{echarts:ee,option:a,style:{width:n-190,height:p}}),u&&o(s.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:g("tbody",{children:[g("tr",{children:[o("td",{children:"R-Sq"}),o("td",{style:{textAlign:"right"},children:ge.default(u).format({output:"percent",mantissa:1})})]}),g("tr",{children:[o("td",{children:"R-Sq(Adjusted)"}),o("td",{style:{textAlign:"right"},children:ge.default(c).format({output:"percent",mantissa:1})})]})]})})]})]})}const ic=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function oc({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return g(s.Stack,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"regression.name",control:e,render:({field:i})=>o(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(S.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>o(J,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>o(s.Select,{label:"Method",data:ic,sx:{flex:1},...i})}),r==="polynomial"&&o(S.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>o(s.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),g(s.Stack,{spacing:4,children:[o(s.Text,{size:"sm",children:"Color"}),o(S.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>o(Pe,{...i})})]})]})}function ac({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=e.data,i=w.useMemo(()=>x.defaults({},t,gn),[t]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=S.useForm({defaultValues:i});w.useEffect(()=>{p(i)},[i]),u(["x_axis","y_axis","regression"]);const d=c(),h=w.useMemo(()=>!x.isEqual(d,t),[d,t]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Chart Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:o(T.DeviceFloppy,{size:20})})]}),g(s.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[g(s.Accordion.Item,{value:"Axis",children:[o(s.Accordion.Control,{children:"Axis"}),g(s.Accordion.Panel,{children:[g(s.Group,{grow:!0,noWrap:!0,children:[o(S.Controller,{name:"x_axis.name",control:a,render:({field:f})=>o(s.TextInput,{label:"X Axis Name",sx:{flex:1},...f})}),o(S.Controller,{name:"x_axis.data_key",control:a,render:({field:f})=>o(J,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...f})})]}),o(s.Group,{grow:!0,noWrap:!0,children:o(S.Controller,{name:"y_axis.name",control:a,render:({field:f})=>o(s.TextInput,{label:"Y Axis Name",sx:{flex:1},...f})})})]})]}),g(s.Accordion.Item,{value:"Regression",children:[o(s.Accordion.Control,{children:"Regression Line"}),o(s.Accordion.Panel,{children:o(oc,{control:a,watch:u,data:r})})]})]})]})})}class sc extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const lc={displayName:"Regression Chart",migrator:new sc,name:"regressionChart",viewRender:rc,configRender:ac,createConfig:()=>gn},fn={content:""};function Kr(e){const t=w.useRef(null);return w.useEffect(()=>{var n,r,i;e&&((i=(r=(n=t.current)==null?void 0:n.editor)==null?void 0:r.clipboard)==null||i.dangerouslyPasteHTML(e))},[e]),t}function uc({context:e}){const{panel:t}=oe(),{value:n}=G(e.instanceData,"config"),r=n==null?void 0:n.content,i=Kr(r);return n!=null&&n.content?o(Rt.RichTextEditor,{id:t.id,ref:i,readOnly:!0,value:n.content,onChange:x.noop,sx:{border:"none",".ql-editor":{padding:0,"h1, h2, h3, h4, h5, p, ul, ol":{"&:last-child":{marginBottom:0}}}}}):null}function cc({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=w.useMemo(()=>x.defaults({},t,fn),[t]),{control:i,handleSubmit:a,watch:l,getValues:u}=S.useForm({defaultValues:r});l("content");const c=u(),p=w.useMemo(()=>!x.isEqual(c,t),[c,t]),d=Kr(t==null?void 0:t.content);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:a(n),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{children:"Content"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:o(T.DeviceFloppy,{size:20})})]}),o(S.Controller,{name:"content",control:i,render:({field:h})=>o(Xn.default,{ref:d,sx:{flex:1},...x.omit(h,"ref")})})]})})}class dc extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}fixMalformedConfig(n){return x.defaults({},n,fn)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const pc={displayName:"RichText",migrator:new dc,name:"richText",viewRender:uc,configRender:cc,createConfig:()=>fn},hn={align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:{output:"number",mantissa:0}}]};function gc(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:a="",data_field:l="value",formatter:u={output:"number",mantissa:0},postfix:c=""}={}}=e;return{align:t,template:`${a} \${value} ${c}`,variables:[{name:"value",data_field:l,aggregation:{type:"none",config:{}},formatter:u,color:i,weight:r,size:n}]}}class fc extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({config:gc(n)}))}}function hc({context:e}){const{value:t=hn}=G(e.instanceData,"config"),{template:n,variables:r,align:i}=t,a=w.useMemo(()=>an(n,r,e.data),[n,r,e.data]);return o(s.Text,{align:i,children:Object.values(a).map((l,u)=>o(_.default.Fragment,{children:l},u))})}function mc({control:e,index:t,remove:n,data:r}){return g(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(S.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(ft,{data:r,...i})}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},t)}function vc({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=S.useFieldArray({control:e,name:"variables"}),l=t("variables"),u=r.map((p,d)=>({...p,...l[d]})),c=()=>i(pt());return g(s.Stack,{children:[u.map((p,d)=>o(mc,{control:e,index:d,remove:a,data:n},p.name)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:c,children:"Add a Variable"})})]})}function yc({context:e}){const t=e.data||[],{value:n,set:r}=G(e.instanceData,"config"),i=_.default.useMemo(()=>{const{align:f,template:v="",variables:C=[]}=x.defaultsDeep({},n,hn);return{variables:C,template:v,align:f}},[n]),{control:a,handleSubmit:l,watch:u,getValues:c,reset:p}=S.useForm({defaultValues:i});_.default.useEffect(()=>{p(i)},[i]),u(["variables","template"]);const d=c(),h=_.default.useMemo(()=>!Y.default.isEqual(d,n),[d,n]);return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l(r),children:[g(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(s.Text,{weight:500,children:"Stats Configurations"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:o(T.DeviceFloppy,{size:20})})]}),o(S.Controller,{name:"template",control:a,render:({field:f})=>o(Ht,{label:"Template",py:"md",sx:{flexGrow:1},...f})}),o(s.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),o(vc,{control:a,watch:u,data:t})]})})}const bc={createConfig(){return{version:1,config:hn}},displayName:"Stats",migrator:new fc,name:"stats",viewRender:hc,configRender:yc},mn={label_field:"",value_field:""};ee.use([_e.SunburstChart,Te.CanvasRenderer]);const Cc={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function xc({context:e}){const{value:t}=G(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:l}=x.defaults({},t,mn),u=w.useMemo(()=>n.map(h=>({name:h[a],value:Number(h[l])})),[n,a,l]),c=w.useMemo(()=>{var h,f;return(f=(h=x.maxBy(u,v=>v.value))==null?void 0:h.value)!=null?f:1},[u]),p=w.useMemo(()=>({series:{label:{formatter:({name:h,value:f})=>f/c<.2?" ":h}}}),[c]),d=x.merge({},Cc,p,{series:{data:u}});return o(Ee.default,{echarts:ee,option:d,style:{width:r,height:i}})}function wc({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),{label_field:r,value_field:i}=x.defaults({},t,mn),a=e.data,l=Ot.useForm({initialValues:{label_field:r,value_field:i}});return w.useEffect(()=>{l.setValues({label_field:r,value_field:i})},[r,i]),o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:l.onSubmit(n),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Sunburst Config"}),o(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o(T.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"Label Field",required:!0,data:a,...l.getInputProps("label_field")}),o(J,{label:"Value Field",required:!0,data:a,...l.getInputProps("value_field")})]})]})})}class Sc extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const _c={displayName:"Sunburst",migrator:new Sc,name:"sunburst",viewRender:xc,configRender:wc,createConfig:()=>mn};var ze=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(ze||{});const bt={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"};/**
78
78
  * react-table
79
79
  *
80
80
  * Copyright (c) TanStack
@@ -83,10 +83,10 @@ WHERE
83
83
  * LICENSE.md file in the root directory of this source tree.
84
84
  *
85
85
  * @license MIT
86
- */function qe(e,t){return typeof e=="function"?e(t):e}function me(e,t){return n=>{t.setState(r=>({...r,[e]:qe(n,r[e])}))}}function xt(e){return e instanceof Function}function xc(e,t){const n=[],r=i=>{i.forEach(a=>{n.push(a);const l=t(a);l!=null&&l.length&&r(l)})};return r(e),n}function P(e,t,n){let r=[],i;return()=>{let a;n.key&&n.debug&&(a=Date.now());const l=e();if(!(l.length!==r.length||l.some((p,d)=>r[d]!==p)))return i;r=l;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...l),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const p=Math.round((Date.now()-a)*100)/100,d=Math.round((Date.now()-c)*100)/100,f=d/16,h=(v,C)=>{for(v=String(v);v.length<C;)v=" "+v;return v};console.info("%c\u23F1 "+h(d,5)+" /"+h(p,5)+" ms",`
86
+ */function qe(e,t){return typeof e=="function"?e(t):e}function me(e,t){return n=>{t.setState(r=>({...r,[e]:qe(n,r[e])}))}}function Ct(e){return e instanceof Function}function Dc(e,t){const n=[],r=i=>{i.forEach(a=>{n.push(a);const l=t(a);l!=null&&l.length&&r(l)})};return r(e),n}function P(e,t,n){let r=[],i;return()=>{let a;n.key&&n.debug&&(a=Date.now());const l=e();if(!(l.length!==r.length||l.some((p,d)=>r[d]!==p)))return i;r=l;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...l),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const p=Math.round((Date.now()-a)*100)/100,d=Math.round((Date.now()-c)*100)/100,h=d/16,f=(v,C)=>{for(v=String(v);v.length<C;)v=" "+v;return v};console.info("%c\u23F1 "+f(d,5)+" /"+f(p,5)+" ms",`
87
87
  font-size: .6rem;
88
88
  font-weight: bold;
89
- color: hsl(`+Math.max(0,Math.min(120-120*f,120))+"deg 100% 31%);",n==null?void 0:n.key)}return i}}function Sc(e,t,n,r){var i,a;const u={...e._getDefaultColumnDef(),...t},c=u.accessorKey;let p=(i=(a=u.id)!=null?a:c?c.replace(".","_"):void 0)!=null?i:typeof u.header=="string"?u.header:void 0,d;if(u.accessorFn?d=u.accessorFn:c&&(c.includes(".")?d=h=>{let v=h;for(const C of c.split("."))v=v[C];return v}:d=h=>h[u.accessorKey]),!p)throw process.env.NODE_ENV!=="production"?new Error(u.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let f={id:""+String(p),accessorFn:d,parent:r,depth:n,columnDef:u,columns:[],getFlatColumns:P(()=>[!0],()=>{var h;return[f,...(h=f.columns)==null?void 0:h.flatMap(v=>v.getFlatColumns())]},{key:process.env.NODE_ENV==="production"&&"column.getFlatColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}}),getLeafColumns:P(()=>[e._getOrderColumnsFn()],h=>{var v;if((v=f.columns)!=null&&v.length){let C=f.columns.flatMap(b=>b.getLeafColumns());return h(C)}return[f]},{key:process.env.NODE_ENV==="production"&&"column.getLeafColumns",debug:()=>{var h;return(h=e.options.debugAll)!=null?h:e.options.debugColumns}})};return f=e._features.reduce((h,v)=>Object.assign(h,v.createColumn==null?void 0:v.createColumn(f,e)),f),f}function ni(e,t,n){var r;let a={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 l=[],u=c=>{c.subHeaders&&c.subHeaders.length&&c.subHeaders.map(u),l.push(c)};return u(a),l},getContext:()=>({table:e,header:a,column:t})};return e._features.forEach(l=>{Object.assign(a,l.createHeader==null?void 0:l.createHeader(a,e))}),a}const wc={createTable:e=>({getHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var a,l;const u=(a=r==null?void 0:r.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?a:[],c=(l=i==null?void 0:i.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?l:[],p=n.filter(f=>!(r!=null&&r.includes(f.id))&&!(i!=null&&i.includes(f.id)));return St(t,[...u,...p,...c],e)},{key:process.env.NODE_ENV==="development"&&"getHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(a=>!(r!=null&&r.includes(a.id))&&!(i!=null&&i.includes(a.id))),St(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:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(l=>n.find(u=>u.id===l)).filter(Boolean))!=null?i:[];return St(t,a,e,"left")},{key:process.env.NODE_ENV==="development"&&"getLeftHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(l=>n.find(u=>u.id===l)).filter(Boolean))!=null?i:[];return St(t,a,e,"right")},{key:process.env.NODE_ENV==="development"&&"getRightHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFooterGroups:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,a,l,u,c,p;return[...(i=(a=t[0])==null?void 0:a.headers)!=null?i:[],...(l=(u=n[0])==null?void 0:u.headers)!=null?l:[],...(c=(p=r[0])==null?void 0:p.headers)!=null?c:[]].map(d=>d.getLeafHeaders()).flat()},{key:process.env.NODE_ENV==="development"&&"getLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}})})};function St(e,t,n,r){var i,a;let l=0;const u=function(h,v){v===void 0&&(v=1),l=Math.max(l,v),h.filter(C=>C.getIsVisible()).forEach(C=>{var b;(b=C.columns)!=null&&b.length&&u(C.columns,v+1)},0)};u(e);let c=[];const p=(h,v)=>{const C={depth:v,id:[r,""+v].filter(Boolean).join("_"),headers:[]},b=[];h.forEach(D=>{const T=[...b].reverse()[0],E=D.column.depth===C.depth;let O,F=!1;if(E&&D.column.parent?O=D.column.parent:(O=D.column,F=!0),T&&(T==null?void 0:T.column)===O)T.subHeaders.push(D);else{const L=ni(n,O,{id:[r,v,O.id,D==null?void 0:D.id].filter(Boolean).join("_"),isPlaceholder:F,placeholderId:F?""+b.filter(se=>se.column===O).length:void 0,depth:v,index:b.length});L.subHeaders.push(D),b.push(L)}C.headers.push(D),D.headerGroup=C}),c.push(C),v>0&&p(b,v-1)},d=t.map((h,v)=>ni(n,h,{depth:l,index:v}));p(d,l-1),c.reverse();const f=h=>h.filter(C=>C.column.getIsVisible()).map(C=>{let b=0,D=0,T=[0];C.subHeaders&&C.subHeaders.length?(T=[],f(C.subHeaders).forEach(O=>{let{colSpan:F,rowSpan:L}=O;b+=F,T.push(L)})):b=1;const E=Math.min(...T);return D=D+E,C.colSpan=b,C.rowSpan=D,{colSpan:b,rowSpan:D}});return f((i=(a=c[0])==null?void 0:a.headers)!=null?i:[]),c}const wt={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},yn=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),_c={getDefaultColumnDef:()=>wt,getInitialState:e=>({columnSizing:{},columnSizingInfo:yn(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:me("columnSizing",e),onColumnSizingInfoChange:me("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,r,i;const a=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:wt.minSize,(r=a!=null?a:e.columnDef.size)!=null?r:wt.size),(i=e.columnDef.maxSize)!=null?i:wt.maxSize)},getStart:n=>{const r=n?n==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),i=r.findIndex(a=>a.id===e.id);if(i>0){const a=r[i-1];return a.getStart(n)+a.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 a;n+=(a=i.column.getSize())!=null?a: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(),bn(i)&&i.touches&&i.touches.length>1))return;const a=e.getSize(),l=e?e.getLeafHeaders().map(v=>[v.column.id,v.column.getSize()]):[[n.id,n.getSize()]],u=bn(i)?Math.round(i.touches[0].clientX):i.clientX,c=(v,C)=>{if(typeof C!="number")return;let b={};t.setColumnSizingInfo(D=>{var T,E;const O=C-((T=D==null?void 0:D.startOffset)!=null?T:0),F=Math.max(O/((E=D==null?void 0:D.startSize)!=null?E:0),-.999999);return D.columnSizingStart.forEach(L=>{let[se,ne]=L;b[se]=Math.round(Math.max(ne+ne*F,0)*100)/100}),{...D,deltaOffset:O,deltaPercentage:F}}),(t.options.columnResizeMode==="onChange"||v==="end")&&t.setColumnSizing(D=>({...D,...b}))},p=v=>c("move",v),d=v=>{c("end",v),t.setColumnSizingInfo(C=>({...C,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},f={moveHandler:v=>p(v.clientX),upHandler:v=>{document.removeEventListener("mousemove",f.moveHandler),document.removeEventListener("mouseup",f.upHandler),d(v.clientX)}},h=Dc()?{passive:!1}:!1;bn(i)||(document.addEventListener("mousemove",f.moveHandler,h),document.addEventListener("mouseup",f.upHandler,h)),t.setColumnSizingInfo(v=>({...v,startOffset:u,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,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?yn():(n=e.initialState.columnSizingInfo)!=null?n:yn())},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 _t=null;function Dc(){if(typeof _t=="boolean")return _t;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 _t=e,_t}function bn(e){return e.type==="touchstart"}const Ic={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:me("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,a;e.setExpanded(r?{}:(i=(a=e.initialState)==null?void 0:a.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(a=>{const l=a.split(".");r=Math.max(r,l.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 a=r===!0?!0:!!(r!=null&&r[e.id]);let l={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(u=>{l[u]=!0}):l=r,n=(i=n)!=null?i:!a,!a&&n)return{...l,[e.id]:!0};if(a&&!n){const{[e.id]:u,...c}=l;return c}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()}}})},ri=(e,t,n)=>{var r;const i=n.toLowerCase();return(r=e.getValue(t))==null?void 0:r.toLowerCase().includes(i)};ri.autoRemove=e=>xe(e);const ii=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};ii.autoRemove=e=>xe(e);const oi=(e,t,n)=>{var r;return((r=e.getValue(t))==null?void 0:r.toLowerCase())===n.toLowerCase()};oi.autoRemove=e=>xe(e);const ai=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};ai.autoRemove=e=>xe(e)||!(e!=null&&e.length);const si=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});si.autoRemove=e=>xe(e)||!(e!=null&&e.length);const li=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});li.autoRemove=e=>xe(e)||!(e!=null&&e.length);const ui=(e,t,n)=>e.getValue(t)===n;ui.autoRemove=e=>xe(e);const ci=(e,t,n)=>e.getValue(t)==n;ci.autoRemove=e=>xe(e);const Cn=(e,t,n)=>{let[r,i]=n;const a=e.getValue(t);return a>=r&&a<=i};Cn.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,a=t===null||Number.isNaN(r)?-1/0:r,l=n===null||Number.isNaN(i)?1/0:i;if(a>l){const u=a;a=l,l=u}return[a,l]},Cn.autoRemove=e=>xe(e)||xe(e[0])&&xe(e[1]);const Ae={includesString:ri,includesStringSensitive:ii,equalsString:oi,arrIncludes:ai,arrIncludesAll:si,arrIncludesSome:li,equals:ui,weakEquals:ci,inNumberRange:Cn};function xe(e){return e==null||e===""}const Mc={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:me("columnFilters",e),onGlobalFilterChange:me("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"?Ae.includesString:typeof r=="number"?Ae.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?Ae.equals:Array.isArray(r)?Ae.arrIncludes:Ae.weakEquals},getFilterFn:()=>{var n,r;return xt(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:Ae[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,a;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((a=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?a:!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(),a=r==null?void 0:r.find(d=>d.id===e.id),l=qe(n,a?a.value:void 0);if(di(i,l,e)){var u;return(u=r==null?void 0:r.filter(d=>d.id!==e.id))!=null?u:[]}const c={id:e.id,value:l};if(a){var p;return(p=r==null?void 0:r.map(d=>d.id===e.id?c:d))!=null?p:[]}return r!=null&&r.length?[...r,c]:[c]})},_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:()=>Ae.includesString,getGlobalFilterFn:()=>{var t,n;const{globalFilterFn:r}=e.options;return xt(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:Ae[r]},setColumnFilters:t=>{const n=e.getAllLeafColumns(),r=i=>{var a;return(a=qe(t,i))==null?void 0:a.filter(l=>{const u=n.find(c=>c.id===l.id);if(u){const c=u.getFilterFn();if(di(c,l.value,u))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 di(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const xn={sum:(e,t,n)=>n.reduce((r,i)=>{const a=i.getValue(e);return r+(typeof a=="number"?a:0)},0),min:(e,t,n)=>{let r;return n.forEach(i=>{const a=i.getValue(e);a!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}),r},max:(e,t,n)=>{let r;return n.forEach(i=>{const a=i.getValue(e);a!=null&&(r<a||r===void 0&&a>=a)&&(r=a)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(a=>{const l=a.getValue(e);l!=null&&(r===void 0?l>=l&&(r=i=l):(r>l&&(r=l),i<l&&(i=l)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(i=>{let a=i.getValue(e);a!=null&&(a=+a)>=a&&(++n,r+=a)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=0,r=0;return t.forEach(i=>{let a=i.getValue(e);typeof a=="number"&&(n=Math.min(n,a),r=Math.max(r,a))}),(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},Ac={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:me("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,a;return(n=(r=(i=(a=e.columnDef.enableGrouping)!=null?a:!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 xn.sum;if(Object.prototype.toString.call(r)==="[object Date]")return xn.extent},getAggregationFn:()=>{var n,r;if(!e)throw new Error;return xt(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:xn[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 Vc(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(a=>!t.includes(a.id));return n==="remove"?r:[...t.map(a=>e.find(l=>l.id===a)).filter(Boolean),...r]}const Tc={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:me("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:P(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let a=[];if(!(t!=null&&t.length))a=i;else{const l=[...t],u=[...i];for(;u.length&&l.length;){const c=l.shift(),p=u.findIndex(d=>d.id===c);p>-1&&a.push(u.splice(p,1)[0])}a=[...a,...u]}return Vc(a,n,r)},{key:process.env.NODE_ENV==="development"&&"getOrderColumnsFn"})})},Sn=0,wn=10,_n=()=>({pageIndex:Sn,pageSize:wn}),$c={getInitialState:e=>({...e,pagination:{..._n(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:me("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=a=>qe(r,a);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},resetPagination:r=>{var i;e.setPagination(r?_n():(i=e.initialState.pagination)!=null?i:_n())},setPageIndex:r=>{e.setPagination(i=>{let a=qe(r,i.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return a=Math.min(Math.max(0,a),l),{...i,pageIndex:a}})},resetPageIndex:r=>{var i,a,l;e.setPageIndex(r?Sn:(i=(a=e.initialState)==null||(l=a.pagination)==null?void 0:l.pageIndex)!=null?i:Sn)},resetPageSize:r=>{var i,a,l;e.setPageSize(r?wn:(i=(a=e.initialState)==null||(l=a.pagination)==null?void 0:l.pageSize)!=null?i:wn)},setPageSize:r=>{e.setPagination(i=>{const a=Math.max(1,qe(r,i.pageSize)),l=i.pageSize*i.pageIndex,u=Math.floor(l/a);return{...i,pageIndex:u,pageSize:a}})},setPageCount:r=>e.setPagination(i=>{var a;let l=qe(r,(a=e.options.pageCount)!=null?a:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...i,pageCount:l}}),getPageOptions:P(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((a,l)=>l)),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)}}}},Dn=()=>({left:[],right:[]}),Ec={getInitialState:e=>({columnPinning:Dn(),...e}),getDefaultOptions:e=>({onColumnPinningChange:me("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var a,l;if(n==="right"){var u,c;return{left:((u=i==null?void 0:i.left)!=null?u:[]).filter(f=>!(r!=null&&r.includes(f))),right:[...((c=i==null?void 0:i.right)!=null?c:[]).filter(f=>!(r!=null&&r.includes(f))),...r]}}if(n==="left"){var p,d;return{left:[...((p=i==null?void 0:i.left)!=null?p:[]).filter(f=>!(r!=null&&r.includes(f))),...r],right:((d=i==null?void 0:i.right)!=null?d:[]).filter(f=>!(r!=null&&r.includes(f)))}}return{left:((a=i==null?void 0:i.left)!=null?a:[]).filter(f=>!(r!=null&&r.includes(f))),right:((l=i==null?void 0:i.right)!=null?l:[]).filter(f=>!(r!=null&&r.includes(f)))}})},getCanPin:()=>e.getLeafColumns().some(r=>{var i,a;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((a=t.options.enablePinning)!=null?a:!0)}),getIsPinned:()=>{const n=e.getLeafColumns().map(u=>u.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(u=>r==null?void 0:r.includes(u)),l=n.some(u=>i==null?void 0:i.includes(u));return a?"left":l?"right":!1},getPinnedIndex:()=>{var n,r,i;const a=e.getIsPinned();return a?(n=(r=t.getState().columnPinning)==null||(i=r[a])==null?void 0:i.indexOf(e.id))!=null?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const a=[...r!=null?r:[],...i!=null?i:[]];return n.filter(l=>!a.includes(l.column.id))},{key:process.env.NODE_ENV==="production"&&"row.getCenterVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getLeftVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,],(n,r)=>(r!=null?r:[]).map(a=>n.find(l=>l.column.id===a)).filter(Boolean).map(a=>({...a,position:"left"})),{key:process.env.NODE_ENV==="production"&&"row.getLeftVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getRightVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map(a=>n.find(l=>l.column.id===a)).filter(Boolean).map(a=>({...a,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?Dn():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:Dn())},getIsSomeColumnsPinned:t=>{var n;const r=e.getState().columnPinning;if(!t){var i,a;return Boolean(((i=r.left)==null?void 0:i.length)||((a=r.right)==null?void 0:a.length))}return Boolean((n=r[t])==null?void 0:n.length)},getLeftLeafColumns:P(()=>[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:P(()=>[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:P(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n!=null?n:[],...r!=null?r:[]];return t.filter(a=>!i.includes(a.id))},{key:process.env.NODE_ENV==="development"&&"getCenterLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}})})},kc={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:me("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(a=>{!a.getCanSelect()||(r[a.id]=!0)}):i.forEach(a=>{delete r[a.id]}),r})},toggleAllPageRowsSelected:t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(a=>{In(i,a.id,r,e)}),i}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:P(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Mn(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:P(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Mn(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:P(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Mn(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 a={...i};return In(a,e.id,n,t),a})},getIsSelected:()=>{const{rowSelection:n}=t.getState();return An(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return pi(e,n)==="some"},getIsAllSubRowsSelected:()=>{const{rowSelection:n}=t.getState();return pi(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)}}})},In=(e,t,n,r)=>{var i;const a=r.getRow(t);n?(a.getCanMultiSelect()||Object.keys(e).forEach(l=>delete e[l]),a.getCanSelect()&&(e[t]=!0)):delete e[t],(i=a.subRows)!=null&&i.length&&a.getCanSelectSubRows()&&a.subRows.forEach(l=>In(e,l.id,n,r))};function Mn(e,t){const n=e.getState().rowSelection,r=[],i={},a=function(l,u){return l.map(c=>{var p;const d=An(c,n);if(d&&(r.push(c),i[c.id]=c),(p=c.subRows)!=null&&p.length&&(c={...c,subRows:a(c.subRows)}),d)return c}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function An(e,t){var n;return(n=t[e.id])!=null?n:!1}function pi(e,t,n){if(e.subRows&&e.subRows.length){let r=!0,i=!1;return e.subRows.forEach(a=>{i&&!r||(An(a,t)?i=!0:r=!1)}),r?"all":i?"some":!1}return!1}const Vn=/([0-9]+)/gm,Rc=(e,t,n)=>gi(Ge(e.getValue(n)).toLowerCase(),Ge(t.getValue(n)).toLowerCase()),Oc=(e,t,n)=>gi(Ge(e.getValue(n)),Ge(t.getValue(n))),Pc=(e,t,n)=>Tn(Ge(e.getValue(n)).toLowerCase(),Ge(t.getValue(n)).toLowerCase()),Fc=(e,t,n)=>Tn(Ge(e.getValue(n)),Ge(t.getValue(n))),zc=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},qc=(e,t,n)=>Tn(e.getValue(n),t.getValue(n));function Tn(e,t){return e===t?0:e>t?1:-1}function Ge(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function gi(e,t){const n=e.split(Vn).filter(Boolean),r=t.split(Vn).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),a=r.shift(),l=parseInt(i,10),u=parseInt(a,10),c=[l,u].sort();if(isNaN(c[0])){if(i>a)return 1;if(a>i)return-1;continue}if(isNaN(c[1]))return isNaN(l)?-1:1;if(l>u)return 1;if(u>l)return-1}return n.length-r.length}const it={alphanumeric:Rc,alphanumericCaseSensitive:Oc,text:Pc,textCaseSensitive:Fc,datetime:zc,basic:qc},fi=[wc,{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:me("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:P(()=>[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:P(()=>[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)=>P(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(a=>a.getIsVisible==null?void 0:a.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,a)=>({...i,[a.id]:n||!(a.getCanHide!=null&&a.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)}}}},Tc,Ec,Mc,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:me("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 a=i==null?void 0:i.getValue(e.id);if(Object.prototype.toString.call(a)==="[object Date]")return it.datetime;if(typeof a=="string"&&(r=!0,a.split(Vn).length>1))return it.alphanumeric}return r?it.text:it.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 xt(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:it[e.columnDef.sortingFn]},toggleSorting:(n,r)=>{const i=e.getNextSortingOrder(),a=typeof n<"u"&&n!==null;t.setSorting(l=>{const u=l==null?void 0:l.find(v=>v.id===e.id),c=l==null?void 0:l.findIndex(v=>v.id===e.id);let p=[],d,f=a?n:i==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&r?u?d="toggle":d="add":l!=null&&l.length&&c!==l.length-1?d="replace":u?d="toggle":d="replace",d==="toggle"&&(a||i||(d="remove")),d==="add"){var h;p=[...l,{id:e.id,desc:f}],p.splice(0,p.length-((h=t.options.maxMultiSortColCount)!=null?h:Number.MAX_SAFE_INTEGER))}else d==="toggle"?p=l.map(v=>v.id===e.id?{...v,desc:f}:v):d==="remove"?p=l.filter(v=>v.id!==e.id):p=[{id:e.id,desc:f}];return p})},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 a=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==a&&((r=t.options.enableSortingRemoval)!=null?r:!0)&&(n&&(i=t.options.enableMultiRemove)!=null?i:!0)?!1:l==="desc"?"asc":"desc":a},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())})},Ac,Ic,$c,kc,_c];function Gc(e){var t;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let n={_features:fi};const r=n._features.reduce((d,f)=>Object.assign(d,f.getDefaultOptions==null?void 0:f.getDefaultOptions(n)),{}),i=d=>n.options.mergeOptions?n.options.mergeOptions(r,d):{...r,...d};let l={...{},...(t=e.initialState)!=null?t:{}};n._features.forEach(d=>{var f;l=(f=d.getInitialState==null?void 0:d.getInitialState(l))!=null?f:l});const u=[];let c=!1;const p={_features:fi,options:{...r,...e},initialState:l,_queue:d=>{u.push(d),c||(c=!0,Promise.resolve().then(()=>{for(;u.length;)u.shift()();c=!1}).catch(f=>setTimeout(()=>{throw f})))},reset:()=>{n.setState(n.initialState)},setOptions:d=>{const f=qe(d,n.options);n.options=i(f)},getState:()=>n.options.state,setState:d=>{n.options.onStateChange==null||n.options.onStateChange(d)},_getRowId:(d,f,h)=>{var v;return(v=n.options.getRowId==null?void 0:n.options.getRowId(d,f,h))!=null?v:""+(h?[h.id,f].join("."):f)},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:d=>{const f=n.getRowModel().rowsById[d];if(!f)throw process.env.NODE_ENV!=="production"?new Error("getRow expected an ID, but got "+d):new Error;return f},_getDefaultColumnDef:P(()=>[n.options.defaultColumn],d=>{var f;return d=(f=d)!=null?f:{},{header:h=>{const v=h.header.column.columnDef;return v.accessorKey?v.accessorKey:v.accessorFn?v.id:null},cell:h=>{var v,C;return(v=(C=h.renderValue())==null||C.toString==null?void 0:C.toString())!=null?v:null},...n._features.reduce((h,v)=>Object.assign(h,v.getDefaultColumnDef==null?void 0:v.getDefaultColumnDef()),{}),...d}},{debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns},key:process.env.NODE_ENV==="development"&&"getDefaultColumnDef"}),_getColumnDefs:()=>n.options.columns,getAllColumns:P(()=>[n._getColumnDefs()],d=>{const f=function(h,v,C){return C===void 0&&(C=0),h.map(b=>{const D=Sc(n,b,C,v),T=b;return D.columns=T.columns?f(T.columns,D,C+1):[],D})};return f(d)},{key:process.env.NODE_ENV==="development"&&"getAllColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getAllFlatColumns:P(()=>[n.getAllColumns()],d=>d.flatMap(f=>f.getFlatColumns()),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),_getAllFlatColumnsById:P(()=>[n.getAllFlatColumns()],d=>d.reduce((f,h)=>(f[h.id]=h,f),{}),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumnsById",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getAllLeafColumns:P(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(d,f)=>{let h=d.flatMap(v=>v.getLeafColumns());return f(h)},{key:process.env.NODE_ENV==="development"&&"getAllLeafColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getColumn:d=>{const f=n._getAllFlatColumnsById()[d];if(!f)throw process.env.NODE_ENV!=="production"&&console.warn("[Table] Column with id "+d+" does not exist."),new Error;return f}};return Object.assign(n,p),n._features.forEach(d=>Object.assign(n,d.createTable==null?void 0:d.createTable(n))),n}function Nc(e,t,n,r){const i=()=>{var l;return(l=a.getValue())!=null?l:e.options.renderFallbackValue},a={id:t.id+"_"+n.id,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:P(()=>[e,n,t,a],(l,u,c,p)=>({table:l,column:u,row:c,cell:p,getValue:p.getValue,renderValue:p.renderValue}),{key:process.env.NODE_ENV==="development"&&"cell.getContext",debug:()=>e.options.debugAll})};return e._features.forEach(l=>{Object.assign(a,l.createCell==null?void 0:l.createCell(a,n,t,e))},{}),a}const Lc=(e,t,n,r,i,a)=>{let l={id:t,index:r,original:n,depth:i,_valuesCache:{},getValue:u=>{if(l._valuesCache.hasOwnProperty(u))return l._valuesCache[u];const c=e.getColumn(u);if(!!c.accessorFn)return l._valuesCache[u]=c.accessorFn(l.original,r),l._valuesCache[u]},renderValue:u=>{var c;return(c=l.getValue(u))!=null?c:e.options.renderFallbackValue},subRows:a!=null?a:[],getLeafRows:()=>xc(l.subRows,u=>u.subRows),getAllCells:P(()=>[e.getAllLeafColumns()],u=>u.map(c=>Nc(e,l,c,c.id)),{key:process.env.NODE_ENV==="development"&&"row.getAllCells",debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}}),_getAllCellsByColumnId:P(()=>[l.getAllCells()],u=>u.reduce((c,p)=>(c[p.column.id]=p,c),{}),{key:process.env.NODE_ENV==="production"&&"row.getAllCellsByColumnId",debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}})};for(let u=0;u<e._features.length;u++){const c=e._features[u];Object.assign(l,c==null||c.createRow==null?void 0:c.createRow(l,e))}return l};function jc(){return{accessor:(e,t)=>typeof e=="function"?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function Bc(){return e=>P(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,a,l){a===void 0&&(a=0);const u=[];for(let p=0;p<i.length;p++){const d=Lc(e,e._getRowId(i[p],p,l),i[p],p,a);if(n.flatRows.push(d),n.rowsById[d.id]=d,u.push(d),e.options.getSubRows){var c;d.originalSubRows=e.options.getSubRows(i[p],p),(c=d.originalSubRows)!=null&&c.length&&(d.subRows=r(d.originalSubRows,a+1,d))}}return u};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 Wc(){return e=>P(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],a=r.filter(c=>e.getColumn(c.id).getCanSort()),l={};a.forEach(c=>{const p=e.getColumn(c.id);l[c.id]={sortUndefined:p.columnDef.sortUndefined,invertSorting:p.columnDef.invertSorting,sortingFn:p.getSortingFn()}});const u=c=>{const p=c.slice();return p.sort((d,f)=>{for(let v=0;v<a.length;v+=1){var h;const C=a[v],b=l[C.id],D=(h=C==null?void 0:C.desc)!=null?h:!1;if(b.sortUndefined){const E=d.getValue(C.id),O=f.getValue(C.id),F=typeof E>"u",L=typeof O>"u";if(F||L)return F&&L?0:F?b.sortUndefined:-b.sortUndefined}let T=b.sortingFn(d,f,C.id);if(T!==0)return D&&(T*=-1),b.invertSorting&&(T*=-1),T}return d.index-f.index}),p.forEach(d=>{i.push(d),!(!d.subRows||d.subRows.length<=1)&&(d.subRows=u(d.subRows))}),p};return{rows:u(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 hi(e,t){return e?Uc(e)?o(e,{...t}):e:null}function Uc(e){return Yc(e)||typeof e=="function"||Hc(e)}function Yc(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Hc(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Qc(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=Zn.useState(()=>({current:Gc(t)})),[r,i]=Zn.useState(()=>n.current.initialState);return n.current.setOptions(a=>({...a,...e,state:{...r,...e.state},onStateChange:l=>{i(l),e.onStateChange==null||e.onStateChange(l)}})),n.current}const Jc=({vizManager:e,instance:t})=>W.useCreation(()=>new On(t,e.resolveComponent(t.type),It),[t,e]),Xc=(e,t)=>{const[n,r]=S.useState([]);return S.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(a=>a.schemaRef===t))),[]),n};function mi(e,t,n){return Math.min(Math.max(e,t),n)}class Kc{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,a)=>i.from-a.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 a=>r*a+i}getStepFunctionForValue(t){let n=x.findLastIndex(this.steps,r=>r.from<=t);return n=mi(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(t){return mi(this.getStepFunctionForValue(t)(t),0,100)}}const Zc=({header:e,cx:t})=>g(s.Text,{className:t("table-head-cell",{"table-head-cell--sortable":e.column.getCanSort()}),onClick:e.column.getToggleSortingHandler(),children:[e.isPlaceholder?null:hi(e.column.columnDef.header,e.getContext()),o(ed,{direction:e.column.getIsSorted()})]}),ed=({direction:e})=>{switch(e){case"asc":return o(_a,{size:16});case"desc":return o(Sa,{size:"1em"});default:return null}},$n={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:od,configRender:rd,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"}]},td={column:""};function vi(e){const{value:t}=G(e.instanceData,"config");return t?t.columns.map((n,r)=>({label:n.label,value:r.toString()})):[]}function nd(e){return x.isEmpty(e)?[]:Object.keys(e[0]).map(t=>({label:t,value:t}))}function rd(e){const t=vi(e.instance),n=nd(e.sampleData),r=t.length>0?t:n,{value:i,set:a}=G(e.trigger.triggerData,"config"),{column:l}=x.defaults({},i,td),u=c=>{isNaN(+c)?a({column:c}):a({column:+c})};return o(s.Select,{clearable:!1,data:r,label:"Choose a column",value:l.toString(),onChange:u})}function id(e,t){return e?x.isNumber(e.column)?`Click cell of ${t[e.column].label}`:`Click cell of ${e.column}`:"Click cell content (click to config)"}function od(e){const t=vi(e.instance),{value:n}=G(e.trigger.triggerData,"config");return o(s.Text,{children:id(n,t)})}const ad=s.createStyles(e=>({root:{overflow:"auto","& .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:0}})),sd=s.createStyles((e,t)=>({content:{display:"flex",alignItems:"center",justifyContent:"flex-start",".table-cell-text":{whiteSpace:"nowrap",marginLeft:e.spacing.xs,cursor:t.clickable?"pointer":"default",textDecoration:t.clickable?"underline":"none"}}}));function ld(e){return e?Qe.default(e).oklch()[0]>.7?"black":"white":"inherit"}function ud(e){const t=e.tableCellContext.bgColor;return{backgroundColor:t,color:ld(t)}}function Dt(e){const t=e.tableCellContext.isClickable(),n=sd({clickable:t});return o("div",{className:n.classes.content,style:{...ud(e)},children:o(s.Text,{className:"table-cell-text",onClick:e.tableCellContext.getClickHandler(),children:o("span",{children:e.children})})})}function cd(e){return o(Dt,{...e,children:e.value})}function dd(e){return o(Dt,{...e,children:e.value})}function pd(e){const t=fe.default(e.value).format({thousandSeparated:!0});return o(Dt,{...e,children:t})}function gd(e){const t=fe.default(e.value).format({output:"percent",mantissa:3});return o(Dt,{...e,children:t})}function fd(e){switch(e.type){case ze.string:return o(cd,{...e});case ze.eloc:return o(dd,{...e});case ze.number:return o(pd,{...e});case ze.percentage:return o(gd,{...e})}}const hd=e=>{const t=Jc(e),n=Xc(t.triggerManager,$n.id),{colorManager:r}=S.useContext(Ie);return S.useCallback(i=>new vd(e.getColIndex,i,n,t,r),[n,t,e.getColIndex])};function md({context:e,instance:t}){var ve,ce,Se;const n=(ve=e.data)!=null?ve:[],{height:r,width:i}=e.viewport,{value:a=Ct}=G(e.instanceData,"config"),{use_raw_columns:l,columns:u,...c}=a,{classes:p,cx:d}=ad(),f=_.default.useMemo(()=>l?Object.keys(n[0]).map(re=>({label:re,value_field:re,value_type:ze.string})):u,[l,u,n]),h=hd({getColIndex:S.useCallback(re=>f.indexOf(re.column.columnDef.meta),[f]),vizManager:e.vizManager,instance:t}),v=S.useMemo(()=>{const re=jc(),we=f.map(pe=>re.accessor(pe.value_field,{cell:Ne=>o(fd,{tableCellContext:h(Ne.cell),value:Ne.getValue(),type:pe.value_type}),header:pe.label,enableSorting:!0,meta:pe}));return[re.display({id:"#index",cell:pe=>pe.row.index+1,header:"#",size:10*(n.length.toString().length+1)}),...we]},[f,h]),[C,b]=S.useState([]),D=Qc({data:n,state:{sorting:C},onSortingChange:b,columns:v,getCoreRowModel:Bc(),getSortedRowModel:Wc()}),{rows:T}=D.getRowModel(),E=_.default.useRef(null),O=jo.useVirtual({parentRef:E,size:T.length,estimateSize:S.useCallback(()=>28,[]),overscan:20}),{virtualItems:F,totalSize:L}=O,se=F.length>0&&((ce=F==null?void 0:F[0])==null?void 0:ce.start)||0,ne=F.length>0?L-(((Se=F==null?void 0:F[F.length-1])==null?void 0:Se.end)||0):0;return o("div",{ref:E,style:{height:r,width:i},className:d(p.root,{"table-highlight-on-hover":a.highlightOnHover}),children:g(s.Table,{sx:{maxHeight:r},...c,striped:a.striped,children:[o("thead",{className:p.thead,children:D.getHeaderGroups().map(re=>o("tr",{children:re.headers.map(we=>o("th",{style:{width:we.getSize()},children:o(Zc,{header:we,cx:d})},we.id))},re.id))}),g("tbody",{children:[se>0&&o("tr",{children:o("td",{style:{height:`${se}px`}})}),F.map(re=>{const we=T[re.index];return o("tr",{children:we.getVisibleCells().map(de=>o("td",{children:hi(de.column.columnDef.cell,de.getContext())},de.id))},we.id)}),ne>0&&o("tr",{children:o("td",{style:{height:`${ne}px`}})})]})]})})}class vd{constructor(t,n,r,i,a){this.getColIndex=t,this.cell=n,this.triggers=r,this.interactionManager=i,this.colorManager=a}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===$n.id).filter(n=>{const r=this.getColIndex(this.cell),i=x.get(this.cell.column.columnDef.meta,"value_field"),a=x.get(n.config,"column");return a==r||a==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(x.isString(t))return t;const n=+this.cell.getValue();if(isFinite(n)){const r=this.colorManager.decodeInterpolation(t.interpolation),a=new Kc(t.steps).mapValue(n);return r==null?void 0:r.getColor(a)}}}const yi=s.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)"}}}})),yd=[{from:0,to:0},{from:100,to:100}];class bd{constructor(){k(this,"steps",new Map);k(this,"interpolation");k(this,"onChange");ie.makeAutoObservable(this,{steps:ie.observable},{deep:!1}),ie.reaction(()=>ie.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(yd):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 Cd(e){const{onChange:t,color:n,index:r,value:i}=e,{classes:a}=yi(),[l,u]=S.useState(i),[c,{setTrue:p,setFalse:d}]=W.useBoolean(!1),f=r%2===1,h=f&&i!=null,v=!f&&i!=null,C=`map ${i} to color ${r}`,b=()=>{u(i),d()},D=()=>{d(),t==null||t(l)},T=fe.default(i).format({average:!0});return g("div",{"data-testid":`palette-item-${r}`,className:a.paletteItem,children:[o(s.Text,{title:C,style:{opacity:h?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:T}),g(s.Popover,{width:200,trapFocus:!0,opened:c,onClose:d,children:[o(s.Popover.Target,{children:o("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:p,style:{"--shadow-color":Qe.default(n).alpha(.5).hex(),backgroundColor:n}})}),o(s.Popover.Dropdown,{children:g(s.Stack,{children:[o(s.NumberInput,{size:"xs",label:"Map a value to this color",value:l,onChange:u}),g(s.Group,{position:"right",children:[o(s.Button,{variant:"subtle",size:"xs",onClick:b,children:"Cancel"}),o(s.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:D,children:"OK"})]})]})})]}),o(s.Text,{title:C,style:{opacity:v?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:T})]})}const xd=M.observer(({model:e})=>{const{classes:t}=yi(),n=x.range(0,13,1).map(r=>100/12*r).map(r=>[e.interpolation.getColor(r),r]);return o("div",{className:t.palette,children:n.map(([r,i],a)=>o(Cd,{index:a,color:r,value:e.getStepFromValue(i),onChange:l=>e.changeStep(l,i)},r))})}),Sd=M.observer(function(t){const n=W.useCreation(()=>new bd,[]);return S.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:o(xd,{model:n})}),wd=e=>{const{value:t,onChange:n,colorManager:r}=e,i=r.getColorInterpolations(),[a,l]=S.useState(t),u=r.decodeInterpolation(a.interpolation)||i[0],[c,{setTrue:p,setFalse:d}]=W.useBoolean(),f=i.map(D=>({label:D.displayName,value:r.encodeColor(D),group:D.category}));function h(D){D&&l(T=>({...T,interpolation:D}))}const v=()=>{d(),n==null||n(ie.toJS(a))};function C(D){l(T=>({...T,steps:D}))}const b=()=>{d(),l(t)};return g(H,{children:[o(s.Button,{variant:"outline",onClick:p,children:u==null?void 0:u.displayName}),o(s.Modal,{size:508,title:"Setup color interpolation",opened:c,onClose:d,children:c&&g(s.Stack,{"data-testid":"color-interpolation-modal",children:[o(s.Select,{label:"Color style",value:a.interpolation,data:f,onChange:h}),o(Sd,{steps:a.steps,interpolation:u,onChange:C}),g(s.Group,{position:"right",children:[o(s.Button,{onClick:b,variant:"subtle",children:"Cancel"}),o(s.Button,{onClick:v,children:"OK"})]})]})})]})},_d=["static","interpolation","none"],Dd=[{from:0,to:0},{from:100,to:100}];function bi(e){return e?x.isString(e)?e==="none"?"none":"static":"interpolation":"none"}function Id(e,t){var n;return bi(t)==="static"?t:(n=e.getStaticColors()[0])==null?void 0:n.value}function Md(e,t){return x.isObject(t)?t:{steps:Dd,interpolation:e.encodeColor(e.getColorInterpolations()[0])}}const Ad=e=>{const{colorManager:t}=S.useContext(Ie),[n,r]=S.useState(bi(e.value)),[i,a]=S.useState(Id(t,e.value)),l=W.useLatest(i),[u,c]=S.useState(Md(t,e.value)),p=W.useLatest(u),d=v=>{var C,b,D;r(v||"none"),v==="static"?(C=e.onChange)==null||C.call(e,l.current):v==="none"||!v?(b=e.onChange)==null||b.call(e,"none"):(D=e.onChange)==null||D.call(e,p.current)},f=v=>{var C;a(v),(C=e.onChange)==null||C.call(e,v)},h=v=>{var C;c(v),(C=e.onChange)==null||C.call(e,v)};return g(s.Group,{align:"end",children:[o(s.Select,{label:"Cell background",value:n||"none",onChange:d,data:_d}),n==="static"&&o(Pe,{value:i,onChange:f}),n==="interpolation"&&o(wd,{colorManager:t,value:u,onChange:h})]})},Vd=Object.values(ze).map(e=>({label:e,value:e}));function Td({label:e,value:t,onChange:n,sx:r}){return o(s.Select,{label:e,data:Vd,value:t,onChange:n,sx:r})}function $d({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=Pt.useForm({initialValues:Ct});S.useEffect(()=>{const l=x.defaults({},t,r.values,Ct);t&&r.setValues(l)},[t]);const i=e.data||[],a=()=>r.insertListItem("columns",{label:Z.randomId(),value_field:"value",value_type:ze.string});return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:r.onSubmit(async l=>{await n(l)}),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Table Config"}),o(s.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",children:o($.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"ID Field",required:!0,data:i,...r.getInputProps("id_field")}),g(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[o(s.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("horizontalSpacing")}),o(s.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("verticalSpacing")})]}),o(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:o(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("fontSize")})}),g(s.Stack,{children:[o(s.Text,{children:"Other"}),g(s.Group,{position:"apart",grow:!0,children:[o(s.Switch,{label:"Striped",...r.getInputProps("striped",{type:"checkbox"})}),o(s.Switch,{label:"Highlight on hover",...r.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),g(s.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(s.Switch,{label:"Use Original Data Columns",...r.getInputProps("use_raw_columns",{type:"checkbox"})}),!r.values.use_raw_columns&&g(s.Stack,{children:[o(s.Text,{mt:"xl",mb:0,children:"Custom Columns"}),r.values.columns.map((l,u)=>g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{position:"apart",grow:!0,children:[o(s.TextInput,{label:"Label",required:!0,id:`col-label-${u}`,sx:{flex:1},...r.getInputProps(`columns.${u}.label`)}),o(J,{label:"Value Field",required:!0,data:i,...r.getInputProps(`columns.${u}.value_field`)}),o(Td,{label:"Value Type",sx:{flex:1},...r.getInputProps(`columns.${u}.value_type`)}),o(Ad,{...r.getInputProps(`columns.${u}.cellBackgroundColor`)})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r.removeListItem("columns",u),sx:{position:"absolute",top:15,right:5},children:o($.Trash,{size:16})})]},u)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:a,children:"Add a Column"})})]})]}),o(s.Text,{weight:500,mb:"md",children:"Current Configuration:"}),o(be.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(r.values,null,2)})]})})}class Ed extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const En={createConfig(){return{version:1,config:x.cloneDeep(Ct)}},displayName:"Table",migrator:new Ed,name:"table",viewRender:md,configRender:$d,triggers:[$n]};async function kd(e,t,n,r={}){const i={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",...r.headers},a={baseURL:e,method:"POST",url:t,params:r.params,headers:i};return a.data=r.string?JSON.stringify(n):n,er.default(a).then(l=>l.data).catch(l=>Promise.reject(l))}const Rd=({baseURL:e,payload:t})=>async()=>e?await kd(e,"/expert/v2/scenario",t,{}):{};var De=(e=>(e.dev_load="dev_load",e.personal_report="personal_report",e.performance="performance",e.comparison="comparison",e))(De||{}),Q=(e=>(e.productivity="productivity",e.pareto="pareto",e.heatmap="heatmap",e.skills="skills",e.commits="commits",e.quality="quality",e.quality_history="quality_history",e.efficiency="efficiency",e))(Q||{});const kn={expertSystemURL:"",scenario:"performance",metric_set:"quality"};function Od(e){const t=[],n=x.groupBy(e,({actor:r,eloc_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,eloc_type:u}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",eloc_type:u,data:i.map(({ref_date:c,eloc:p})=>({ref_date:c,eloc:p}))})}),{efficiency:t}}function Pd(e,t){switch(e.metric_set){case Q.efficiency:return Od(t);default:throw new Error("Invalid metric_set for scenario[comparison]")}}function Fd(e,t){return{comparison:{...Pd(e,t)}}}function zd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(u=>({ref_date:u.ref_date,eloc:u.eloc}))})}),{heatmap:t}}function qd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(({contributor:u,eloc:c})=>({contributor:u,eloc:Number(c)}))})}),{pareto:t}}function Gd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,baseline:u}=i[0],c=[],p=[];i.forEach(({ref_date:d,eloc:f,eloc_type:h})=>{const v={ref_date:d,eloc:f};h==="current"?c.push(v):h==="previous"?p.push(v):console.error("Invalid eloc_type for dev_load.productivity")}),t.push({actor:a!=null?a:l,actor_type:"project",baseline:u,current:c,previous:p})}),{productivity:t}}function Nd(e,t){switch(e.metric_set){case Q.productivity:return Gd(t);case Q.heatmap:return zd(t);case Q.pareto:return qd(t);default:throw new Error("Invalid metric_set for scenario[dev_load]")}}function Ld(e,t){return{dev_load:{...Nd(e,t)}}}function jd(e){const t=[],n=x.groupBy(e,({actor:r,eloc_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,eloc_type:u}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",eloc_type:u,data:i.map(({ref_date:c,eloc:p})=>({ref_date:c,eloc:p}))})}),{efficiency:t}}function Bd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(({contributor:u,eloc:c})=>({contributor:u,eloc:Number(c)}))})}),{pareto:t}}function Wd(e){return{quality:e.map(({name:t,actor:n,issues_blocker:r,issues_critical:i,issues_info:a,issues_major:l,issues_minor:u,...c})=>({actor:t!=null?t:n,actor_type:"project",code:{...c,issues:{blocker:r,critical:i,info:a,major:l,minor:u}}}))}}function Ud(e){const t=[],n=x.groupBy(e,({actor:r,val_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,val_type:u,baseline_lower:c,baseline_upper:p}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",val_type:u,baseline:[c,p],data:i.map(d=>({ref_date:d.ref_date,val:d.val}))})}),{quality_history:t}}function Yd(e,t){switch(e.metric_set){case Q.quality:return Wd(t);case Q.quality_history:return Ud(t);case Q.efficiency:return jd(t);case Q.pareto:return Bd(t);default:throw new Error("Invalid metric_set for scenario[performance]")}}function Hd(e,t){return{performance:{...Yd(e,t)}}}function Qd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,code_issue_density:u,code_test_coverage:c,code_doc_coverage:p,baseline_issue_density:d,baseline_test_coverage:f,baseline_doc_coverage:h}=i[0];t.push({actor:a!=null?a:l,code:{issues_density:u,test_coverage:c,doc_coverage:p},baseline:{issues_density:d,test_coverage:f,doc_coverage:h}})}),{quality:t}}function Jd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,repos:u,range_days:c}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",repos:u,range_days:c,data:i.map(({ref_date:p,eloc:d})=>({ref_date:p,eloc:Number(d)}))})}),{commits:t}}function Xd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{actor:a}=i[0];t.push({actor:a,data:i.map(({language:l,feature:u})=>({language:l,feature:u}))})}),{skills:t}}function Kd(e,t){switch(e.metric_set){case Q.skills:return Xd(t);case Q.quality:return Qd(t);case Q.commits:return Jd(t);default:throw new Error("Invalid metric_set for scenario[personal_report]")}}function Zd(e,t){return{personal_report:{...Kd(e,t)}}}function ep(e,t){switch(e.scenario){case De.performance:return Hd(e,t);case De.dev_load:return Ld(e,t);case De.personal_report:return Zd(e,t);case De.comparison:return Fd(e,t);default:return{}}}function tp({context:e}){var p,d,f;const{value:t}=G(e.instanceData,"config"),n=S.useMemo(()=>x.defaultsDeep({},t,kn),[t]),{width:r,height:i}=e.viewport,a=(p=e.data)!=null?p:[],{data:l={},error:u,loading:c}=W.useRequest(Rd({baseURL:n==null?void 0:n.expertSystemURL,payload:ep(n,a)}),{refreshDeps:[JSON.stringify(a),n==null?void 0:n.expertSystemURL]});return!r||!i||!n?null:n.scenario===De.personal_report&&n.metric_set===Q.commits?g(s.Box,{sx:{position:"relative",height:i},children:[o(s.Text,{align:"center",color:"red",children:"Not supported"}),o(s.Text,{size:"sm",children:`This scenario&metric pair is not supported, since "baselines" can't be queried along with elocs`})]}):c?o(s.Box,{sx:{position:"relative",height:i},children:o(s.LoadingOverlay,{visible:!0})}):Array.isArray(l.errors)&&l.errors.length>0?o(be.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(l.errors,null,2)}):g(s.Box,{children:[o(s.Text,{size:"xs",color:"red",align:"center",mb:-6,children:"Response for debugging"}),g(s.Tabs,{defaultValue:"0",children:[o(s.Tabs.List,{children:(d=l.replies)==null?void 0:d.map((h,v)=>o(s.Tabs.Tab,{value:v.toString(),children:v},`${h.actor}-${h.metric}-${v}`))}),(f=l.replies)==null?void 0:f.map((h,v)=>o(s.Tabs.Panel,{value:v.toString(),pt:6,children:o(be.Prism,{my:8,language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(h,null,2)})},`${h.actor}-${h.metric}-${v}`))]})]})}const np={dev_load:[{label:"productivity",value:Q.productivity},{label:"pareto",value:Q.pareto},{label:"heatmap",value:Q.heatmap}],personal_report:[{label:"skills",value:Q.skills},{label:"commits",value:Q.commits},{label:"quality",value:Q.quality}],performance:[{label:"quality",value:Q.quality},{label:"quality_history",value:Q.quality_history},{label:"efficiency",value:Q.efficiency},{label:"pareto",value:Q.pareto}],comparison:[{label:"efficiency",value:Q.efficiency}]},rp=({conf:e,setConfByKey:t})=>{const n=S.useMemo(()=>{var i;return(i=np[e.scenario])!=null?i:[]},[e.scenario]),r=i=>{t("metric_set",i)};return S.useEffect(()=>{n.find(a=>a.value===e.metric_set)||t("metric_set",n[0].value)},[n,e.metric_set,t]),o(s.Select,{label:"Metric Set",data:n,value:e.metric_set,onChange:r,disabled:n.length===0,required:!0})},Ci=(e,t)=>{const n=e[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((r,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+t)))})};async function ip(e){return Ci(Object.assign({"./performance/efficiency.schema.json":()=>Promise.resolve().then(()=>Gg),"./performance/quality.schema.json":()=>Promise.resolve().then(()=>Ng),"./performance/quality_history.schema.json":()=>Promise.resolve().then(()=>Lg)}),`./${e.scenario}/${e.metric_set}.schema.json`)}async function op(e){try{return(await Ci(Object.assign({"./comparison/efficiency.structure.ts":()=>Promise.resolve().then(()=>jg),"./dev_load/heatmap.structure.ts":()=>Promise.resolve().then(()=>Bg),"./dev_load/pareto.structure.ts":()=>Promise.resolve().then(()=>Wg),"./dev_load/productivity.structure.ts":()=>Promise.resolve().then(()=>Ug),"./performance/efficiency.structure.ts":()=>Promise.resolve().then(()=>Yg),"./performance/pareto.structure.ts":()=>Promise.resolve().then(()=>Hg),"./performance/quality.structure.ts":()=>Promise.resolve().then(()=>Qg),"./performance/quality_history.structure.ts":()=>Promise.resolve().then(()=>Jg),"./personal_report/commits.structure.ts":()=>Promise.resolve().then(()=>Xg),"./personal_report/quality.structure.ts":()=>Promise.resolve().then(()=>Kg),"./personal_report/skills.structure.ts":()=>Promise.resolve().then(()=>Zg)}),`./${e.scenario}/${e.metric_set}.structure.ts`)).default}catch(t){return console.error(t),""}}const ap=new Ho.default;function sp({errors:e}){return e?typeof e=="string"?o(s.Text,{size:"sm",children:e}):o(be.Prism,{my:8,language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(e,null,2)}):o(s.Text,{size:"sm",children:"Great! Data is valid for expert system"})}function lp({conf:e,data:t}){const{data:n=null}=W.useRequest(async()=>ip(e),{refreshDeps:[e.scenario,e.metric_set]}),{data:r=""}=W.useRequest(async()=>op(e),{refreshDeps:[e.scenario,e.metric_set]}),{valid:i,errors:a}=S.useMemo(()=>{try{if(!n||!n.type)return{valid:!1,errors:`Schema file for this ${e.scenario}.${e.metric_set} is missing`};const l=ap.compile({...n});return{valid:l(t),errors:l.errors}}catch(l){return console.error(l),{valid:!1,errors:l.message}}},[e,t,n]);return g(s.Tabs,{defaultValue:"structure",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"structure",children:"Expected Data Structure"}),n&&g(s.Tabs.Tab,{value:"validation",children:["Validation ",o(s.Badge,{color:i?"green":"red",children:i?"Pass":"Failed"})]})]}),n&&o(s.Tabs.Panel,{value:"validation",pt:6,children:o(sp,{errors:a})}),o(s.Tabs.Panel,{value:"structure",pt:6,children:o(be.Prism,{my:8,language:"typescript",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:r})})]})}const up=[{label:"dev_load",value:De.dev_load},{label:"personal_report",value:De.personal_report},{label:"performance",value:De.performance},{label:"comparison",value:De.comparison}],cp=({conf:e,setConfByKey:t})=>{const n=r=>{t("scenario",r)};return o(s.Select,{label:"Scenario",data:up,value:e.scenario,onChange:n})};function dp({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=S.useMemo(()=>x.defaultsDeep({},t,kn),[t]),i=(a,l)=>{n({...r,[a]:l})};return g(s.Stack,{children:[o(s.TextInput,{value:r.expertSystemURL,onChange:a=>{i("expertSystemURL",a.currentTarget.value)},label:"Expert System URL",required:!0}),g(s.Group,{grow:!0,children:[o(cp,{conf:r,setConfByKey:i}),o(rp,{conf:r,setConfByKey:i})]}),o(lp,{conf:r,data:e.data})]})}class pp extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const gp={displayName:"Merico Expert System",migrator:new pp,name:"expertSystem",viewRender:tp,configRender:dp,createConfig:()=>kn},fp=[{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"})),hp=[ws,_s,Ms,Is,Ds,As],xi=()=>({id:"dashboard",version:Vs,manifest:{viz:[En,hc,lc,Cc,Pu,Fs,Tl,$u,Du,Yu,ic,gp],color:[...fp,...hp]}}),ot=new $s,te={pluginManager:Re("pluginManager"),vizManager:Re("vizManager"),colorManager:Re("colorManager"),instanceScope:{vizInstance:Re("vizInstance"),interactionManager:Re("interactionManager"),migrator:Re("migrator"),operationManager:Re("operationManager"),triggerManager:Re("triggerManager")}},Rn=()=>{try{ot.install(xi())}catch{}const e=new Cs(ot),t=new Ts(ot);return{pluginManager:ot,vizManager:e,colorManager:t}},Ie=S.createContext(Rn());try{ot.install(xi())}catch{}function mp(e,t){const{value:n,set:r}=G(e.operation.operationData,"config"),[i,a]=S.useState(x.defaults({},n,t)),l=async()=>{await r(i)};return S.useEffect(()=>{a(x.defaults({},n,t))},[n]),{config:i,setConfig:a,commit:l}}function vp(e){const{config:t,setConfig:n,commit:r}=mp(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function a(u){n({...t,openInNewTab:u}),await r()}const l=u=>n({...t,urlTemplate:u.currentTarget.value});return g(s.Stack,{children:[o(s.TextInput,{label:"Url",value:t.urlTemplate,onChange:l,onBlur:i}),o(s.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:u=>a(u.currentTarget.checked)})]})}function yp(e){return x.cloneDeepWith(e,n=>{if(typeof n=="string")return encodeURIComponent(n)})}async function bp(e,t){const{urlTemplate:n,openInNewTab:r}=await t.operationData.getItem("config"),a=x.template(n||"")(yp(e));window.open(a,r?"_blank":"_self","noopener")}class Cp extends ge{constructor(){super(...arguments);k(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const xp={displayName:"Open Link",id:"builtin:op:open-link",configRender:vp,run:bp,migrator:new Cp,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function Sp(e){const{value:t,set:n}=G(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function wp(e){const[t,n]=Sp(e.operation);return o(s.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function _p(e,t){const n=await t.operationData.getItem("config"),r=x.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const Dp={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:wp,run:_p},Ip=M.observer(e=>{const t=j(),{value:n,set:r}=G(e.operation.operationData,"config");console.log({value:n,viewID:n==null?void 0:n.viewID});const i=(n==null?void 0:n.viewID)||"",a=l=>void r({viewID:l});return o(s.Select,{defaultValue:i,value:i,onChange:a,label:"View",data:t.views.options})});async function Mp(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const Ap={displayName:"Open View",id:"builtin:op:open_view",configRender:Ip,run:Mp},Vp={dictionary:{}},Tp=M.observer(e=>{const t=j(),{value:n=Vp,set:r}=G(e.operation.operationData,"config"),{dictionary:i={}}=n,a=(u,c)=>{r({dictionary:{...i,[u]:c}})},l=()=>{a(t.filters.firstFilterValueKey,"")};return g(s.Stack,{spacing:10,children:[o(s.Text,{children:"Mapping Rules"}),Object.entries(i).map(([u,c],p)=>g(s.Group,{noWrap:!0,children:[o(s.TextInput,{label:"Payload key",value:c,onChange:d=>{a(u,d.currentTarget.value)}}),o(J,{data:[t.filters.values],value:u,onChange:d=>{a(d,c)},label:"Filter key"})]},p)),o(s.Button,{size:"xs",onClick:l,children:"Add one mapping rule"})]})});async function $p(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const It=[Dp,xp,Ap,{displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:Tp,run:$p}];class Ep{constructor(t,n=It){k(this,"attachments");this.operations=n;const r=async i=>{const{id:a,schemaRef:l}=await i.getItem(null);return{id:a,schemaRef:l,operationData:new Ue(i,"data")}};this.attachments=new Yt(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},a=this.tryGetSchema(r.schemaRef),l=a==null?void 0:a.migrator;return l&&await l.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},a=this.tryGetSchema(r.schemaRef),l=a==null?void 0:a.migrator;l&&await l.needMigration(i)&&await l.migrate(i)});await Promise.all(n)}async createOrGetOperation(t,n){var l,u;if(!this.getOperationSchemaList().some(c=>c.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:(u=(l=n.createDefaultConfig)==null?void 0:l.call(n))!=null?u:{}}):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 Si="__TRIGGERS";class kp{constructor(t,n){k(this,"attachments");this.instance=t,this.component=n;const r=async i=>{const{id:a,schemaRef:l}=await i.getItem(null);return{id:a,schemaRef:l,triggerData:new Ue(i,"data")}};this.attachments=new Yt(t,Si,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(Si,n=>{const r=x.values(n).map(i=>({id:x.get(i,"id"),schemaRef:x.get(i,"schemaRef"),config:ie.toJS(x.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var u;if(!this.getTriggerSchemaList().some(c=>c.id===n.id))throw new Error(`Trigger schema '${n.id}' is not defined in component '${this.component.name}'`);const a=await this.attachments.getInstance(t);return!a||r.recreate||a.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:((u=n==null?void 0:n.createDefaultConfig)==null?void 0:u.call(n))||{}}):a}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(u=>u.id===r.schemaRef),a=i==null?void 0:i.migrator,l={configData:r.triggerData};return a&&await a.needMigration(l)?()=>a.migrate(l):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 On{constructor(t,n,r){k(this,"operationManager");k(this,"triggerManager");k(this,"attachments");this.operationManager=new Ep(t,r),this.triggerManager=new kp(t,n);const i=async a=>{const{id:l,triggerRef:u,operationRef:c}=await a.getItem(null);return{id:l,triggerRef:u,operationRef:c}};this.attachments=new Yt(t,"__INTERACTIONS",i)}async addInteraction(t,n){const r=t.id,i=n.id,a=`[${r}]:[${i}]`;await this.attachments.create(a,{id:a,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(a=>a.triggerRef===t);await Promise.all(i.map(async a=>{try{return await this.operationManager.runOperation(a.operationRef,n)}catch(l){console.warn(`Failed to run operation '${a.operationRef}'`,l)}}))}}function Rp(e,t){const[n,r]=S.useState([]);return W.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t]),n}const Op=M.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:a})=>{const{triggerRef:l,operationRef:u}=e,c=fs(t.triggerManager,n);if(W.useAsyncEffect(async()=>{await c.configTrigger(l,r)},[c,l,r]),c.isReady()){const p=[...c.triggerSchema.payload,...i];return g(s.Group,{children:[o(ys,{model:c}),o(ds,{instance:n,operationId:u,variables:p,operationManager:t.operationManager}),o(s.Button,{"aria-label":"delete-interaction",variant:"outline",color:"red",onClick:()=>a(e),children:o($.Trash,{})})]})}return null}),Pp=e=>{const[t,n]=S.useState(0),{interactionManager:r,instance:i,sampleData:a,variables:l}=e,u=Rp(r,t),c=async()=>{const d=await r.triggerManager.createOrGetTrigger(Z.randomId(),r.triggerManager.getTriggerSchemaList()[0]),f=await r.operationManager.createOrGetOperation(Z.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(d,f),n(h=>h+1)};async function p(d){await r.removeInteraction(d.id),n(f=>f+1)}return g(s.Stack,{children:[u.map(d=>o(Op,{onRemove:p,instance:i,sampleData:a,variables:l,item:d,manager:e.interactionManager},d.id)),o(s.Button,{style:{width:"fit-content"},onClick:()=>c(),children:"Add interaction"})]})},Fp=()=>{const{panel:e,data:t}=ae(),n=e.viz,{vizManager:r}=S.useContext(Ie),i=e.json,a=W.useCreation(()=>r.getOrCreateInstance(i),[r,n.type]),l=W.useCreation(()=>new On(a,r.resolveComponent(n.type),It),[a,n.type]);return S.useEffect(()=>a.instanceData.watchItem(null,x.throttle(u=>{e.viz.setConf(u)},100,{leading:!1,trailing:!0})),[a]),{instance:a,vizManager:r,interactionManager:l,sampleData:t,variables:[]}},zp=()=>{const e=Fp();return o(Pp,{...e})},qp=M.observer(()=>{const{panel:e}=ae(),[t,n]=_.default.useState(e.description),r=e.description!==t,i=_.default.useCallback(()=>{!r||e.setDescription(t)},[r,t]);return g(s.Stack,{spacing:4,sx:{flexGrow:1},children:[g(s.Group,{align:"end",children:[o(s.Text,{sx:{flexGrow:1},children:"Description"}),o(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!r,onClick:i,children:o($.DeviceFloppy,{size:20})})]}),o(Ot.RichTextEditor,{value:t,onChange:n,sx:{flexGrow:1},sticky:!0,p:"0"})]})}),Gp=M.observer(()=>{const{panel:e}=ae(),{style:t}=e;return o(H,{children:o(s.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),Np=M.observer(()=>{const{panel:{title:e,style:{border:t}}}=ae();return o(Be,{children:g(s.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[g(s.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[o(s.Group,{children:o(Mr,{})}),o(s.Group,{grow:!0,position:"center",children:o(s.Text,{lineClamp:1,weight:"bold",children:e})}),o(s.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),o(s.Group,{sx:{background:"#eee",flexGrow:1}})]})})}),Lp=M.observer(()=>{const{panel:e}=ae(),{title:t,setTitle:n}=e,[r,i]=Z.useInputState(t),a=t!==r,l=_.default.useCallback(()=>{!a||n(r)},[a,r]);return o(s.TextInput,{value:r,onChange:i,label:g(s.Group,{align:"apart",children:[o(s.Text,{sx:{flexGrow:1},children:"Panel Title"}),o(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:l,children:o($.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function jp(){return g(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[g(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[o(s.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),o(Gp,{}),o(s.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),o(Lp,{}),o(qp,{})]}),o(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(Np,{})})]})}const Bp=M.observer(function(){const t=j(),{panel:{queryID:n,setQueryID:r}}=ae(),i=_.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.id})),[t.queries.current]);return g(s.Stack,{children:[g(s.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[o(s.Text,{children:"Select a Query"}),o(s.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),o(mr,{id:n})]})});var wi=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(wi||{}),Mt=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(Mt||{});class Wp{constructor(t){k(this,"vizInstance");k(this,"operationManager");k(this,"triggerManager");k(this,"vizManager");k(this,"runningMigration");k(this,"status","notStarted");this.vizInstance=t.getRequired(te.instanceScope.vizInstance),this.operationManager=t.getRequired(te.instanceScope.operationManager),this.triggerManager=t.getRequired(te.instanceScope.triggerManager),this.vizManager=t.getRequired(te.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};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 _i(e){return S.useCallback(t=>{const n=t.getRequired(te.vizManager),r=n.resolveComponent(e.viz.type);return t.createScoped().provideFactory(te.instanceScope.vizInstance,()=>n.getOrCreateInstance(e)).provideFactory(te.instanceScope.interactionManager,i=>{const a=i.getRequired(te.instanceScope.vizInstance);return new On(a,r,It)}).provideFactory(te.instanceScope.operationManager,i=>i.getRequired(te.instanceScope.interactionManager).operationManager).provideFactory(te.instanceScope.triggerManager,i=>i.getRequired(te.instanceScope.interactionManager).triggerManager).provideFactory(te.instanceScope.migrator,i=>new Wp(i))},[e.viz.type,e.viz.conf])}function Di(e){const[t,n]=S.useState(!1),r=sr().getRequired(te.instanceScope.migrator);return W.useAsyncEffect(async()=>{const i=r.status===Mt.notStarted;n(r.status===Mt.done),r.status===Mt.notStarted&&r.runMigration().then(a=>{a===wi.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function Ii(e,t){const n=sr().getRequired(te.instanceScope.vizInstance);return S.useEffect(()=>n.instanceData.watchItem(null,r=>{e(r)}),[e,t.viz.type]),n}function Up({setVizConf:e,...t}){const{panel:n}=t,r=Ii(e,n),i=Di(()=>{st.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return W.useAsyncEffect(async()=>{await r.instanceData.setItem(null,n.viz.conf)},[r,n.viz.type]),i?o(Ss,{...t}):o(s.Text,{children:"Checking update..."})}function Yp(e){const{panel:t,setVizConf:n}=e;return Ii(n,t),Di(()=>{st.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?o(xs,{...e}):o(s.Text,{children:"Checking update"})}const Bf="";function Hp(e,t){const{vizManager:n}=S.useContext(Ie),{panel:{viz:r,title:i,id:a,description:l,queryID:u,style:c}}=ae(),p={title:i,id:a,description:l,queryID:u,viz:r,layout:t,style:c.json},d=_i(p);try{return n.resolveComponent(r.type),o(ut,{configure:d,children:o(Yp,{setVizConf:r.setConf,panel:p,data:e,vizManager:n})})}catch(f){return console.info(x.get(f,"message")),null}}const Qp=["richText"],Mi=M.observer(function({height:t,viz:n,data:r,loading:i,error:a}){const{ref:l,width:u,height:c}=Z.useElementSize(),p=_.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]),d=Hp(r,{w:u,h:c});return Qp.includes(n.type)?o("div",{className:"viz-root",style:{height:t},ref:l,children:o(Be,{children:d})}):i?o("div",{className:"viz-root",style:{height:t},ref:l,children:o(s.LoadingOverlay,{visible:i,exitTransitionDuration:0})}):g("div",{className:"viz-root",style:{height:t},ref:l,children:[a&&o(s.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:a}),!a&&p&&o(s.Text,{color:"gray",align:"center",children:"Empty Data"}),!p&&o(Be,{children:d})]})}),Jp=M.observer(()=>{const{data:e,loading:t,panel:{viz:n}}=ae();return o(Mi,{viz:n,data:e,loading:t,height:"100%"})}),Pn=[];function Xp(){const{vizManager:e}=S.useContext(Ie);return S.useMemo(()=>e.availableVizList.map(t=>({value:t.name,label:t.displayName})).concat(Pn),[e])}function Kp(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function Zp(){const{data:e,panel:{viz:t,title:n,queryID:r,description:i,setDescription:a,setTitle:l,setQueryID:u,id:c,style:p}}=ae(),{vizManager:d}=S.useContext(Ie),f={title:n,description:i,viz:t,queryID:r,id:c,style:p.json},h={setDescription:a,setQueryID:u,setTitle:l},v=_i(f);try{return d.resolveComponent(f.viz.type),o(ut,{configure:v,children:o(Up,{setVizConf:t.setConf,panel:f,panelInfoEditor:h,vizManager:d,data:e})})}catch(C){return console.info(x.get(C,"message")),null}}const eg=M.observer(()=>{const{data:e,panel:{viz:t}}=ae(),[n,r]=Z.useInputState(t.type),i=t.type!==n,{vizManager:a}=S.useContext(Ie),l=_.default.useCallback(()=>{if(!i)return;const v=Kp(a,n);t.setType(n),t.setConf(v||{})},[t,i,n]),u=v=>{try{t.setConf(JSON.parse(v))}catch(C){console.error(C)}},c=_.default.useMemo(()=>{var v;return(v=Pn.find(C=>C.value===n))==null?void 0:v.Panel},[n,Pn]),p=Zp(),d=c?S.createElement(c,{data:e,conf:t.conf,setConf:t.setConf}):null,f=p||d,h=Xp();return g(H,{children:[o(s.Select,{label:"Visualization",value:n,onChange:r,data:h,rightSection:o(s.ActionIcon,{disabled:!i,onClick:l,children:o($.DeviceFloppy,{size:20})})}),f,!f&&o(s.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:u})]})});function tg(){return g(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[o(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,overflow:"scroll",height:"100%"},children:o(eg,{})}),o(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(Jp,{})})]})}const ng=M.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce),[i,a]=S.useState("Visualization"),{panel:l,loading:u}=ae(),{id:c,title:p}=l;return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:`Editing Panel - ${p.trim()?p:c}`,trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",minHeight:"unset",maxHeight:"100%",width:"100%",padding:"16px"}},padding:"md",children:g(s.Tabs,{value:i,onTabChange:a,className:"panel-settings-tabs",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"Data",children:"Data"}),o(s.Tabs.Tab,{value:"Panel",children:"Panel"}),o(s.Tabs.Tab,{value:"Visualization",children:"Visualization"}),o(s.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),g(s.Tabs.Panel,{value:"Data",pt:"sm",children:[o(s.LoadingOverlay,{visible:u,exitTransitionDuration:0}),o(Bp,{})]}),o(s.Tabs.Panel,{value:"Panel",pt:"sm",children:i==="Panel"&&o(jp,{})}),o(s.Tabs.Panel,{value:"Visualization",pt:"sm",children:i==="Visualization"&&o(tg,{})}),o(s.Tabs.Panel,{value:"Interactions",pt:"sm",children:o(Be,{children:o(zp,{})})})]})})})}),rg=M.observer(({view:e})=>{const t=j(),n=Me.useModals(),[r,i]=_.default.useState(!1),a=()=>i(!0),l=()=>i(!1),{panel:u}=ae(),{id:c,query:p}=u,{inEditMode:d}=_.default.useContext(Ce),f=()=>p==null?void 0:p.fetchData(),{viewPanelInFullScreen:h,inFullScreen:v}=_.default.useContext(Nt),C=()=>{e.panels.duplicateByID(c)},b=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(c)}),D=_.default.useCallback(()=>{h(c)},[c,h]);return g(H,{children:[o(s.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:g(s.Menu,{withinPortal:!0,children:[o(s.Menu.Target,{children:o(s.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),g(s.Menu.Dropdown,{children:[o(s.Menu.Item,{onClick:f,icon:o($.Refresh,{size:14}),children:"Refresh"}),o(s.Menu.Item,{onClick:()=>t.queries.downloadDataByQueryID(p),icon:o($.Download,{size:14}),children:"Download Data"}),!v&&o(s.Menu.Item,{onClick:D,icon:o($.ArrowsMaximize,{size:14}),children:"Full Screen"}),d&&g(H,{children:[o(s.Divider,{label:"Edit",labelPosition:"center"}),o(s.Menu.Item,{onClick:a,icon:o($.Settings,{size:14}),children:"Settings"}),o(s.Menu.Item,{onClick:C,icon:o($.Copy,{size:14}),children:"Duplicate"}),o(s.Menu.Item,{color:"red",onClick:b,icon:o($.Trash,{size:14}),children:"Delete"})]})]})]})}),d&&o(ng,{opened:r,close:l})]})}),Wf="",ig=M.observer(function(){const{panel:t}=ae(),{title:n}=t;return n?o(s.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:o(s.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null});function og(e){return!["richText"].includes(e)}const ag={border:"1px solid #e9ecef"},Ai={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function sg(e,t,n){return e.style.border.enabled?ag:n||t?Ai:{border:"1px dashed transparent"}}const At=M.observer(function({panel:t,view:n}){const r=j(),{inEditMode:i}=S.useContext(Ce),{data:a,state:l,error:u}=r.getDataStuffByID(t.queryID),c=og(t.viz.type),p=c&&l==="loading",d=t.title?"calc(100% - 25px - 5px)":"100%",f=sg(t,c,i),h=c||i;return o(dr,{value:{panel:t,data:a,loading:p},children:g(s.Box,{className:"panel-root",p:5,pt:0,sx:{...f},children:[o(s.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:o(Mr,{})}),h&&o(rg,{view:n}),o(ig,{}),o(Mi,{viz:t.viz,data:a,loading:p,error:u,height:d})]})})}),Vi=M.observer(function({view:t,panel:n,exitFullScreen:r}){return g(s.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[o(s.Group,{mx:"-5px",sx:{flexGrow:0},children:o(s.Button,{variant:"default",size:"sm",onClick:r,leftIcon:o($.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),o(s.Group,{mx:"-5px",grow:!0,sx:{flexGrow:1,flexShrink:0},children:o(At,{view:t,panel:n})})]})});function Ti(e,t,n){const r=e.id==="Main",[i,a]=_.default.useState(()=>r&&e.panels.findByID(t)?t:null),l=_.default.useCallback(d=>{a(d),r&&n(d)},[r,n]),u=_.default.useCallback(()=>{a(null),r&&n("")},[r,n]),c=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:l,exitFullScreen:u,inFullScreen:!!c,fullScreenPanel:c}}function $i(){_.default.useEffect(()=>{const e=Qo.default(".dashboard-sticky-area",{useStickyClasses:!0,parentClass:"dashboard-sticky-parent"});return()=>{e==null||e.cleanup()}},[])}const Uf="",lg=_.default.forwardRef(({handleAxis:e},t)=>o(s.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:o($.ArrowsMove,{size:16})})),ug=_.default.forwardRef(({handleAxis:e,...t},n)=>o(s.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:o($.ChevronDownRight,{size:16})})),cg=Ft.WidthProvider(rr.default),dg=M.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:a}){const l=_.default.useCallback(u=>{u.forEach(({i:c,...p})=>{const d=t.panels.findByID(c);!d||d.layout.set(p)})},[t]);return o(cg,{onLayoutChange:l,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:a,draggableHandle:".react-grid-customDragHandle",resizeHandle:o(ug,{}),children:t.panels.list.map((u,c)=>g("div",{"data-grid":{...u.layout},style:{position:"relative"},children:[i&&o(lg,{}),o(At,{view:t,panel:u})]},u.id))})}),pg=Ft.WidthProvider(rr.default),gg=M.observer(function({view:t,className:n="layout",rowHeight:r=10}){return o(pg,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>o("div",{"data-grid":i.layout,children:o(At,{view:t,panel:i})},i.id))})}),fg=M.observer(({children:e})=>o(s.Box,{children:e})),hg=M.observer(({children:e,view:t})=>o(s.Modal,{size:t.config.width,overflow:"inside",opened:!0,onClose:Y.default.noop,withCloseButton:!1,title:t.name,trapFocus:!0,onDragStart:n=>{n.stopPropagation()},styles:{root:{position:"relative",height:"calc(100% - 46px)"},overlay:{position:"absolute !important"},modal:{border:"1px solid #efefef"},body:{"> div":{maxHeight:t.config.height,overflow:"scroll"}}},withinPortal:!1,transitionDuration:0,children:e})),mg=M.observer(({view:e,children:t})=>{switch(e.type){case he.Modal:return o(hg,{view:e,children:t});case he.Division:default:return o(fg,{children:t})}}),Ei=M.observer(function({view:t,saveDashboardChanges:n,fullScreenPanelID:r,setFullScreenPanelID:i}){const{viewPanelInFullScreen:a,exitFullScreen:l,inFullScreen:u,fullScreenPanel:c}=Ti(t,r,i);return $i(),o(Nt.Provider,{value:{viewPanelInFullScreen:a,inFullScreen:u},children:g(s.Box,{className:"dashboard-view",mx:-10,sx:{position:"relative",height:"100%"},children:[u&&o(Vi,{view:t,panel:c,exitFullScreen:l}),!u&&o(Ir,{saveChanges:n}),o(mg,{view:t,children:g(s.Box,{className:"dashboard-sticky-parent",children:[!u&&o(s.Box,{className:"dashboard-sticky-area",children:o(fr,{view:t})}),!u&&o(dg,{view:t,isDraggable:!0,isResizable:!0})]})})]})})}),vg=M.observer(({children:e})=>o(s.Box,{children:e})),yg=M.observer(({children:e,view:t})=>{const n=j(),r=n.views.visibleViewIDs.includes(t.id),i=()=>n.views.rmVisibleViewID(t.id);return o(s.Modal,{size:t.config.width,centered:!0,overflow:"inside",opened:r,onClose:i,withCloseButton:!1,title:t.name,trapFocus:!0,onDragStart:a=>{a.stopPropagation()},styles:{modal:{border:"1px solid #efefef"},body:{maxHeight:t.config.height,overflow:"scroll"}},transitionDuration:0,children:e})}),bg=M.observer(({view:e,children:t})=>{switch(e.type){case he.Modal:return o(yg,{view:e,children:t});case he.Division:default:return o(vg,{children:t})}}),ki=M.observer(function({view:t,fullScreenPanelID:n,setFullScreenPanelID:r}){const{viewPanelInFullScreen:i,exitFullScreen:a,inFullScreen:l,fullScreenPanel:u}=Ti(t,n,r);return $i(),o(Nt.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:l},children:g(s.Box,{className:"dashboard-view",mx:-10,sx:{position:"relative",height:"100%"},children:[l&&o(Vi,{view:t,panel:u,exitFullScreen:a}),!l&&o(Ir,{saveChanges:Y.default.noop}),o(bg,{view:t,children:g(s.Box,{className:"dashboard-sticky-parent",children:[!l&&o(s.Box,{className:"dashboard-sticky-area",children:o(fr,{view:t})}),!l&&o(gg,{view:t})]})})]})})}),Fn=y.types.model("FilterConfigModel_Checkbox",{_name:"checkbox",default_value:y.types.boolean}).actions(e=>({setDefaultValue(t){e.default_value=t}})),Cg=()=>Fn.create({_name:"checkbox",default_value:!1}),xg=y.types.model("FilterConfigModel_DateRange",{_name:"date-range",required:y.types.boolean,inputFormat:y.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:y.types.optional(y.types.array(y.types.union(y.types.string,y.types.null)),[null,null]),clearable:y.types.boolean}).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)}})),zn=y.types.snapshotProcessor(xg,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:$e.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>{try{return n?$e.default.tz(n,"UTC").format(t.inputFormat):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}}}),Sg=()=>zn.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),wg=y.types.model({label:y.types.string,value:y.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),Ri=y.types.model("FilterConfigModel_BaseSelect",{static_options:y.types.optional(y.types.array(wg),[]),options_query_id:y.types.optional(y.types.string,""),select_first_by_default:y.types.optional(y.types.boolean,!1)}).views(e=>({get options(){const{options_query_id:t,static_options:n}=e;if(!t)return n;const{data:r,state:i,error:a}=y.getRoot(e).getDataStuffByID(t);return i==="idle"?r:[]}})).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setSelectFirstByDefault(t){e.select_first_by_default=t},setOptionsQueryID(t){e.options_query_id=t}})),qn=y.types.compose("FilterConfigModel_MultiSelect",y.types.model({_name:"multi-select",default_value:y.types.optional(y.types.array(y.types.string),[])}),Ri).actions(e=>({setDefaultValue(t){e.default_value=y.cast(t)}})),_g=()=>qn.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",select_first_by_default:!1}),Gn=y.types.compose("FilterConfigModel_Select",y.types.model({_name:"select",default_value:y.types.string,required:y.types.boolean}),Ri).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),Dg=()=>Gn.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",select_first_by_default:!1}),Nn=y.types.model("FilterModel",{id:y.types.identifier,key:y.types.string,label:y.types.string,order:y.types.number,visibleInViewsIDs:y.types.array(y.types.string),type:y.types.enumeration("DashboardFilterType",[oe.Select,oe.MultiSelect,oe.TextInput,oe.Checkbox,oe.DateRange]),config:y.types.union({dispatcher:e=>{switch(e._name){case oe.Select:return Gn;case oe.MultiSelect:return qn;case oe.TextInput:return dt;case oe.Checkbox:return Fn;case oe.DateRange:return zn;default:return console.error(`[filter model] invalid filter.config._name: ${e._name}`),dt}}},Gn,qn,dt,Fn,zn)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t}})).actions(e=>({setKey(t){e.key=t},setLabel(t){e.label=t},setOrder(t){e.order=t},setType(t){switch(t){case oe.Select:e.config=Dg();break;case oe.MultiSelect:e.config=_g();break;case oe.TextInput:e.config=br();break;case oe.Checkbox:e.config=Cg();break;case oe.DateRange:e.config=Sg();break}e.type=t},setVisibleInViewsIDs(t){e.visibleInViewsIDs.length=0,e.visibleInViewsIDs.push(...t)}}));function Oi(e,t){if(e===void 0)return e;if(Array.isArray(e))try{return e.map(n=>{const r=$e.default.tz(n,"UTC").format(t.inputFormat);return r!=null?r:n})}catch(n){return console.error(n),e}return e}function Pi(e){return e.reduce((t,n)=>(t[n.key]=Oi(n.config.default_value,n.config),t),{})}function Ig(e,t,n){y.addDisposer(e,y.addMiddleware(e,(r,i)=>{i(r,()=>{y.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const Fi=y.types.model("FiltersModel",{current:y.types.optional(y.types.array(Nn),[]),values:y.types.optional(y.types.frozen(),{}),previewValues:y.types.optional(y.types.frozen(),{})}).views(e=>({get firstID(){if(e.current.length!==0)return e.current[0].id},get inOrder(){return Y.default.sortBy(e.current,"order")},get empty(){return e.current.length===0},visibleInView(t){return Y.default.sortBy(e.current.filter(n=>n.visibleInViewsIDs.includes(t)),"order")},get firstFilterValueKey(){var t;return(t=Object.keys(e.values)[0])!=null?t:""}})).actions(e=>({replace(t){e.current=y.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,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=Pi(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){Ig(e.current,Nn,(n,r)=>{if(n==="setType"){const i=Oi(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function zi(e){return{current:e,values:Pi(e)}}const Mg=y.types.model("QueryModel",{id:y.types.string,type:y.types.enumeration("DataSourceType",[Oe.Postgresql,Oe.MySQL,Oe.HTTP]),key:y.types.string,sql:y.types.string}).views(e=>({get valid(){return e.id&&e.type&&e.key&&e.sql},get configurations(){const{id:t,type:n,key:r,sql:i}=e;return{id:t,type:n,key:r,sql:i}}})),qi=y.types.compose("QueryModel",Mg,y.types.model({state:y.types.optional(y.types.enumeration(["idle","loading","error"]),"idle"),data:y.types.optional(y.types.array(y.types.frozen()),[]),error:y.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,mock_context:n,sqlSnippets:r,filterValues:i}=y.getRoot(e).payloadForSQL;return vr(e.sql,t,n,r,i)}})).views(e=>({get json(){const{id:t,type:n,key:r,sql:i}=e;return{id:t,type:n,key:r,sql:i}}})).actions(e=>({setID(t){e.id=t},setKey(t){e.key=t},setType(t){e.type=t},setSQL(t){e.sql=t},fetchData:y.flow(function*(){if(!!e.valid){e.state="loading";try{const t=e.id,{context:n,mock_context:r,sqlSnippets:i,filterValues:a}=y.getRoot(e).payloadForSQL;e.data=yield*y.toGenerator(ma({context:n,mock_context:r,sqlSnippets:i,title:t,query:{type:e.type,key:e.key,sql:e.sql},filterValues:a})),e.state="idle",e.error=null}catch(t){e.data.length=0,e.error=x.get(t,"response.data.detail.message","unknown error"),e.state="error"}}})})).actions(e=>({afterCreate(){y.addDisposer(e,ie.reaction(()=>`${e.id}--${e.key}--${e.type}--${e.formattedSQL}`,e.fetchData,{fireImmediately:!0,delay:500}))}})),Gi=y.types.model("QueriesModel",{current:y.types.optional(y.types.array(qi),[])}).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.filter(t=>t.id).map(t=>({value:t.id,label:t.id}))}})).views(e=>({get json(){return e.current.map(t=>t.json)}})).actions(e=>({replace(t){e.current=y.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(({id:n,data:r})=>({id:n,data:r.toJSON()}));la(t)},downloadDataByQueryID(t){if(!t){console.log("[downloadDataByQueryID] query not found");return}const{id:n,data:r}=t,i=hr(r);aa(n,i)},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&&(y.detach(n),e.current.remove(n))}})),Ni=y.types.model("SQLSnippetModel",{key:y.types.string,value:y.types.string}).views(e=>({get json(){const{key:t,value:n}=e;return{key:t,value:n}}})).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),Li=y.types.model("SQLSnippetsModel",{current:y.types.optional(y.types.array(Ni),[])}).views(e=>({get json(){return e.current.map(t=>t.json)},get record(){return e.current.reduce((t,n)=>(t[n.key]=n.value,t),{})}})).actions(e=>({replace(t){e.current=y.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},replaceByIndex(t,n){e.current.splice(t,1,n)}})),ji=y.types.model("ContextModel",{current:y.types.optional(y.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}})),Ag=y.types.model("MockContextModel",{current:y.types.optional(y.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}})),Vg=y.types.model("PanelLayoutModel",{x:y.types.number,y:y.types.number,w:y.types.number,h:y.types.number,moved:y.types.optional(y.types.boolean,!1),static:y.types.optional(y.types.boolean,!1)}).views(e=>({get json(){const{x:t,y:n,w:r,h:i,moved:a}=e;return{x:t,y:n,w:r,h:i,moved:a,static:e.static}}})).actions(e=>({set(t){const{x:n,y:r,w:i,h:a,moved:l}=t;e.x=n,e.y=r,e.w=i,e.h=a,e.moved=!!l,e.static=!!t.static}})),Tg=y.types.model("PanelStyleBorderModel",{enabled:y.types.boolean}).views(e=>({get json(){const{enabled:t}=e;return{enabled:t}}})).actions(e=>({setEnabled(t){e.enabled=t}})),$g=y.types.model("PanelStyleModel",{border:Tg}).views(e=>({get json(){const{border:t}=e;return{border:t.json}}})).actions(e=>({})),Eg=y.types.model("PanelVizModel",{type:y.types.string,conf:y.types.frozen()}).views(e=>({get json(){return{type:e.type,conf:e.conf}}})).actions(e=>({setType(t){e.type=t},setConf(t){e.conf=t}})),kg=y.types.model({id:y.types.string,title:y.types.string,description:y.types.string,layout:Vg,queryID:y.types.string,viz:Eg,style:$g}).views(e=>({get query(){return y.getParentOfType(e,Vt).queries.findByID(e.queryID)},get json(){const{id:t,title:n,description:r,queryID:i}=e;return{id:t,title:n,description:r,layout:e.layout.json,queryID:i,viz:e.viz.json,style:e.style.json}}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){if(y.getParentOfType(e,Vt).queries.findByID(t))e.queryID=t;else throw new Error(`Query with id ${t} does not exist`)}})),Rg=y.types.model("PanelsModel",{list:y.types.optional(y.types.array(kg),[])}).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)}})).actions(e=>({replace(t){e.list=y.castToSnapshot(t)},addANewPanel(){const t=Z.randomId();e.list.push({id:t,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${t}`,description:"<p><br></p>",queryID:"",viz:{type:En.name,conf:En.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:Z.randomId(),layout:{...n.layout,x:0,y:1/0,moved:!1}})},replaceByIndex(t,n){e.list.splice(t,1,n)}})),Bi=y.types.model({id:y.types.identifier,name:y.types.string,type:y.types.string,config:y.types.frozen(),panels:Rg}).views(e=>({get json(){const{id:t,name:n,type:r,config:i}=e;return{id:t,name:n,type:r,config:i,panels:e.panels.json}}})).actions(e=>({setName(t){e.name=t},setType(t){e.type!==t&&(t===he.Modal?e.config={width:"600px",height:"400px"}:e.config={},e.type=t)},setConfig(t){e.config=t},updateConfig(t,n){e.config={...e.config,[t]:n}}})).actions(e=>({})),Wi=y.types.model("ViewsModel",{current:y.types.optional(y.types.array(Bi),[]),visibleViewIDs:y.types.array(y.types.string),idOfVIE:y.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}))}})).actions(e=>({replace(t){e.current.replace(t)},addANewView(t,n,r){e.current.push({id:t,name:t,type:n,config:r,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=Z.randomId();e.addANewView(t,he.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 Ui(e){const t=e.length>0?[e[0].id]:[],n=e.length>0?e[0].id:"";return{current:e.map(i=>({...i,panels:{list:i.panels}})),visibleViewIDs:t,idOfVIE:n}}const Og=y.types.model({id:y.types.identifier,name:y.types.string,version:y.types.string,filters:Fi,queries:Gi,sqlSnippets:Li,views:Wi,context:ji,mock_context:Ag,origin:y.types.maybe(y.types.frozen())}).views(e=>({get filtersChanged(){const t="filters.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get queriesChanged(){const t="queries.current",n=y.getSnapshot(x.get(e,t)).map(r=>x.pick(r,["id","key","type","sql"]));return!x.isEqual(n,x.get(e.origin,t))},get sqlSnippetsChanged(){const t="sqlSnippets.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get viewsChanged(){const t="views.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get mockContextChanged(){const t="mock_context.current";return!x.isEqual(x.get(e,t),x.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(),state:n.state,error:n.error}:{data:[],state:"idle",error:void 0}},getDataStateByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.state)!=null?r:[]},getDataErrorByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.error)!=null?r:[]}})).views(e=>({findDependingPanels(t){return e.views.current.flatMap(n=>n.panels.list.filter(r=>r.queryID===t).map(r=>r.title))}})).actions(e=>{function t(){const n=`dashboard-${e.id}-filters`;try{const i=localStorage.getItem(n);if(i){const a=JSON.parse(i);y.applyPatch(e.filters,{op:"replace",path:"/values",value:a})}}catch(i){console.log(i)}const r=y.onSnapshot(e.filters,i=>{localStorage.setItem(n,JSON.stringify(i.values))});y.addDisposer(e,r)}return{afterCreate(){t()},reset(){y.applySnapshot(e.filters.current,e.origin.filters.current),y.applySnapshot(e.queries.current,e.origin.queries.current),y.applySnapshot(e.sqlSnippets.current,e.origin.sqlSnippets.current),y.applySnapshot(e.views.current,e.origin.views.current),e.mock_context.current=e.origin.mock_context.current},resetFilters(){y.applySnapshot(e.filters.current,e.origin.filters.current)}}}),Vt=y.types.snapshotProcessor(Og,{preProcessor(e){return{...e,origin:e}},postProcessor(e){delete e.origin;const t=y.castToSnapshot(e.queries.current.map(n=>x.pick(n,["id","key","type","sql"])));return x.defaults({},{queries:{current:t}},e)}});function Ln({id:e,name:t,version:n,filters:r,views:i,definition:{queries:a,sqlSnippets:l,mock_context:u={}}},c){return Vt.create({id:e,name:t,version:n,filters:zi(r),queries:{current:a},sqlSnippets:{current:l},context:{current:c},mock_context:{current:u},views:Ui(i)})}function jn(e){return _.default.useCallback(t=>t.provideValue(te.pluginManager,e.pluginManager).provideValue(te.vizManager,e.vizManager).provideValue(te.colorManager,e.colorManager),[])}const Yf="",Pg=M.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:a,fullScreenPanelID:l,setFullScreenPanelID:u}){yr(a);const[c,p]=_.default.useState(!1),d=_.default.useMemo(()=>Ln(n,t),[n]);ir(d,!0),_.default.useEffect(()=>{d.context.replace(t)},[t]);const f=async()=>{const C=[...d.queries.json],b=[...d.sqlSnippets.json],D=[...d.views.json],T={...d.mock_context.current},E={...n,filters:[...d.filters.current],views:D,definition:{sqlSnippets:b,queries:C,mock_context:T}};await r(E)},h=W.useCreation(Rn,[]),v=jn(h);return o(Me.ModalsProvider,{children:o(Lt,{value:d,children:o(Ce.Provider,{value:{layoutFrozen:c,freezeLayout:p,inEditMode:!0,inUseMode:!1},children:o(s.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:o(Ie.Provider,{value:h,children:o(ut,{configure:v,children:d.views.visibleViews.map(C=>o(Ei,{view:C,saveDashboardChanges:f,fullScreenPanelID:l,setFullScreenPanelID:u},C.id))})})})})})})}),Fg=M.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:a})=>{yr(r);const l=_.default.useMemo(()=>Ln(t,e),[t]);ir(l,!1),_.default.useEffect(()=>{l.context.replace(e)},[e]);const u=W.useCreation(Rn,[]),c=jn(u);return o(Me.ModalsProvider,{children:o(Lt,{value:l,children:o(Ce.Provider,{value:{layoutFrozen:!0,freezeLayout:Y.default.noop,inEditMode:!1,inUseMode:!0},children:o(s.Box,{className:`${n} dashboard-root dashboard-sticky-parent`,children:o(Ie.Provider,{value:u,children:o(ut,{configure:c,children:l.views.visibleViews.map(p=>o(ki,{view:p,fullScreenPanelID:i,setFullScreenPanelID:a},p.id))})})})})})})});var Yi={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Le,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,a,l){var u,c=function(h,v,C){C===void 0&&(C={});var b=new Date(h),D=function(T,E){E===void 0&&(E={});var O=E.timeZoneName||"short",F=T+"|"+O,L=r[F];return L||(L=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:T,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:O}),r[F]=L),L}(v,C);return D.formatToParts(b)},p=function(h,v){for(var C=c(h,v),b=[],D=0;D<C.length;D+=1){var T=C[D],E=T.type,O=T.value,F=n[E];F>=0&&(b[F]=parseInt(O,10))}var L=b[3],se=L===24?0:L,ne=b[0]+"-"+b[1]+"-"+b[2]+" "+se+":"+b[4]+":"+b[5]+":000",ve=+h;return(l.utc(ne).valueOf()-(ve-=ve%1e3))/6e4},d=a.prototype;d.tz=function(h,v){h===void 0&&(h=u);var C=this.utcOffset(),b=this.toDate(),D=b.toLocaleString("en-US",{timeZone:h}),T=Math.round((b-new Date(D))/1e3/60),E=l(D).$set("millisecond",this.$ms).utcOffset(15*-Math.round(b.getTimezoneOffset()/15)-T,!0);if(v){var O=E.utcOffset();E=E.add(C-O,"minute")}return E.$x.$timezone=h,E},d.offsetName=function(h){var v=this.$x.$timezone||l.tz.guess(),C=c(this.valueOf(),v,{timeZoneName:h}).find(function(b){return b.type.toLowerCase()==="timezonename"});return C&&C.value};var f=d.startOf;d.startOf=function(h,v){if(!this.$x||!this.$x.$timezone)return f.call(this,h,v);var C=l(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return f.call(C,h,v).tz(this.$x.$timezone,!0)},l.tz=function(h,v,C){var b=C&&v,D=C||v||u,T=p(+l(),D);if(typeof h!="string")return l(h).tz(D);var E=function(se,ne,ve){var ce=se-60*ne*1e3,Se=p(ce,ve);if(ne===Se)return[ce,ne];var re=p(ce-=60*(Se-ne)*1e3,ve);return Se===re?[ce,Se]:[se-60*Math.min(Se,re)*1e3,Math.max(Se,re)]}(l.utc(h,b).valueOf(),T,D),O=E[0],F=E[1],L=l(O).utcOffset(F);return L.$x.$timezone=D,L},l.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},l.tz.setDefault=function(h){u=h}}})})(Yi);const zg=Yi.exports;var Hi={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Le,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(a,l,u){var c=l.prototype;u.utc=function(b){var D={date:b,utc:!0,args:arguments};return new l(D)},c.utc=function(b){var D=u(this.toDate(),{locale:this.$L,utc:!0});return b?D.add(this.utcOffset(),n):D},c.local=function(){return u(this.toDate(),{locale:this.$L,utc:!1})};var p=c.parse;c.parse=function(b){b.utc&&(this.$u=!0),this.$utils().u(b.$offset)||(this.$offset=b.$offset),p.call(this,b)};var d=c.init;c.init=function(){if(this.$u){var b=this.$d;this.$y=b.getUTCFullYear(),this.$M=b.getUTCMonth(),this.$D=b.getUTCDate(),this.$W=b.getUTCDay(),this.$H=b.getUTCHours(),this.$m=b.getUTCMinutes(),this.$s=b.getUTCSeconds(),this.$ms=b.getUTCMilliseconds()}else d.call(this)};var f=c.utcOffset;c.utcOffset=function(b,D){var T=this.$utils().u;if(T(b))return this.$u?0:T(this.$offset)?f.call(this):this.$offset;if(typeof b=="string"&&(b=function(L){L===void 0&&(L="");var se=L.match(r);if(!se)return null;var ne=(""+se[0]).match(i)||["-",0,0],ve=ne[0],ce=60*+ne[1]+ +ne[2];return ce===0?0:ve==="+"?ce:-ce}(b),b===null))return this;var E=Math.abs(b)<=16?60*b:b,O=this;if(D)return O.$offset=E,O.$u=b===0,O;if(b!==0){var F=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(O=this.local().add(E+F,n)).$offset=E,O.$x.$localOffset=F}else O=this.utc();return O};var h=c.format;c.format=function(b){var D=b||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,D)},c.valueOf=function(){var b=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*b},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var v=c.toDate;c.toDate=function(b){return b==="s"&&this.$offset?u(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():v.call(this)};var C=c.diff;c.diff=function(b,D,T){if(b&&this.$u===b.$u)return C.call(this,b,D,T);var E=this.local(),O=u(b).local();return C.call(E,O,D,T)}}})})(Hi);const qg=Hi.exports;$e.default.extend(qg),$e.default.extend(zg),$e.default.tz.setDefault("UTC");const Qi="array",Ji="Root Schema",Xi={type:"object",default:{},title:"A Schema",required:["actor","eloc_type","ref_date","eloc"],properties:{actor:{type:"string",default:"",title:"The actor Schema",examples:["Name of the subject"]},eloc_type:{type:"string",default:"",title:"The eloc_type Schema",enum:["new","accumulated"],examples:["new"]},ref_date:{type:"string",default:"",title:"The ref_date Schema",examples:["2021-12-31"]},eloc:{type:["number","string"],default:0,title:"The eloc Schema",examples:[999]}},examples:[{actor:"Name of the subject",eloc_type:"new",ref_date:"2021-12-31",eloc:999}]},Ki=[[{actor:"Name of the subject",eloc_type:"new",ref_date:"2021-12-31",eloc:999}]],Gg=Object.freeze(Object.defineProperty({__proto__:null,type:Qi,title:Ji,items:Xi,examples:Ki,default:{type:Qi,default:[],title:Ji,items:Xi,examples:Ki}},Symbol.toStringTag,{value:"Module"})),Zi="object",eo="Root Schema",to=["actor","actor_type","code"],no={actor:{type:"string",default:"",title:"The actor Schema",examples:["project1"]},actor_type:{type:"string",default:"",title:"The actor_type Schema",examples:["project"]},code:{type:"object",default:{},title:"The code Schema",required:["doc_coverage","test_coverage","dryness","modularity","issues_density","issues_blocker","issues_critical","issues_info","issues_major","issues_minor"],properties:{doc_coverage:{type:["number","string"],default:0,title:"The doc_coverage Schema",examples:[.87]},test_coverage:{type:["number","string"],default:0,title:"The test_coverage Schema",examples:[.14]},dryness:{type:["number","string"],default:0,title:"The dryness Schema",examples:[.96]},modularity:{type:["number","string"],default:0,title:"The modularity Schema",examples:[.45]},issues_density:{type:["number","string"],default:0,title:"The issues_density Schema",examples:[.003]},issues_blocker:{type:"integer",default:0,title:"The issues_blocker Schema",examples:[65]},issues_critical:{type:"integer",default:0,title:"The issues_critical Schema",examples:[4546]},issues_info:{type:"integer",default:0,title:"The issues_info Schema",examples:[1876]},issues_major:{type:"integer",default:0,title:"The issues_major Schema",examples:[16049]},issues_minor:{type:"integer",default:0,title:"The issues_minor Schema",examples:[10324]}},examples:[{doc_coverage:.87,test_coverage:.14,dryness:.96,modularity:.45,issues_density:.003,issues_blocker:65,issues_critical:4546,issues_info:1876,issues_major:16049,issues_minor:10324}]}},ro=[{actor:"project1",actor_type:"project",code:{doc_coverage:.87,test_coverage:.14,dryness:.96,modularity:.45,issues_density:.003,issues_blocker:65,issues_critical:4546,issues_info:1876,issues_major:16049,issues_minor:10324}}],Ng=Object.freeze(Object.defineProperty({__proto__:null,type:Zi,title:eo,required:to,properties:no,examples:ro,default:{type:Zi,default:{},title:eo,required:to,properties:no,examples:ro}},Symbol.toStringTag,{value:"Module"})),io="array",oo="Root Schema",ao={type:"object",default:{},title:"A Schema",required:["actor","val_type","baseline_lower","baseline_upper","ref_date","val"],properties:{actor:{type:"string",default:"",title:"The actor Schema",examples:["Name of the subject"]},val_type:{type:"string",default:"",title:"The val_type Schema",enum:["doc_coverage","test_coverage","dryness","modularity","blocker_issues","critical_issues","major_issues","minor_issues","info_issues","issues_density"],examples:["doc_coverage"]},baseline_lower:{type:["number","string"],default:0,title:"The baseline_lower Schema",examples:[.2]},baseline_upper:{type:["number","string"],default:0,title:"The baseline_upper Schema",examples:[.4]},ref_date:{type:"string",default:"",title:"The ref_date Schema",examples:["2021-12-31"]},val:{type:["number","string"],default:0,title:"The val Schema",examples:[.2]}},examples:[{actor:"Name of the subject",val_type:"doc_coverage",baseline_lower:.2,baseline_upper:.4,ref_date:"2021-12-31",val:.2}]},so=[[{actor:"Name of the subject",val_type:"doc_coverage",baseline_lower:.2,baseline_upper:.4,ref_date:"2021-12-31",val:.2}]],Lg=Object.freeze(Object.defineProperty({__proto__:null,type:io,title:oo,items:ao,examples:so,default:{type:io,default:[],title:oo,items:ao,examples:so}},Symbol.toStringTag,{value:"Module"})),jg=Object.freeze(Object.defineProperty({__proto__:null,default:`
89
+ color: hsl(`+Math.max(0,Math.min(120-120*h,120))+"deg 100% 31%);",n==null?void 0:n.key)}return i}}function Mc(e,t,n,r){var i,a;const u={...e._getDefaultColumnDef(),...t},c=u.accessorKey;let p=(i=(a=u.id)!=null?a:c?c.replace(".","_"):void 0)!=null?i:typeof u.header=="string"?u.header:void 0,d;if(u.accessorFn?d=u.accessorFn:c&&(c.includes(".")?d=f=>{let v=f;for(const C of c.split("."))v=v[C];return v}:d=f=>f[u.accessorKey]),!p)throw process.env.NODE_ENV!=="production"?new Error(u.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let h={id:""+String(p),accessorFn:d,parent:r,depth:n,columnDef:u,columns:[],getFlatColumns:P(()=>[!0],()=>{var f;return[h,...(f=h.columns)==null?void 0:f.flatMap(v=>v.getFlatColumns())]},{key:process.env.NODE_ENV==="production"&&"column.getFlatColumns",debug:()=>{var f;return(f=e.options.debugAll)!=null?f:e.options.debugColumns}}),getLeafColumns:P(()=>[e._getOrderColumnsFn()],f=>{var v;if((v=h.columns)!=null&&v.length){let C=h.columns.flatMap(b=>b.getLeafColumns());return f(C)}return[h]},{key:process.env.NODE_ENV==="production"&&"column.getLeafColumns",debug:()=>{var f;return(f=e.options.debugAll)!=null?f:e.options.debugColumns}})};return h=e._features.reduce((f,v)=>Object.assign(f,v.createColumn==null?void 0:v.createColumn(h,e)),h),h}function Zr(e,t,n){var r;let a={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 l=[],u=c=>{c.subHeaders&&c.subHeaders.length&&c.subHeaders.map(u),l.push(c)};return u(a),l},getContext:()=>({table:e,header:a,column:t})};return e._features.forEach(l=>{Object.assign(a,l.createHeader==null?void 0:l.createHeader(a,e))}),a}const Ic={createTable:e=>({getHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var a,l;const u=(a=r==null?void 0:r.map(h=>n.find(f=>f.id===h)).filter(Boolean))!=null?a:[],c=(l=i==null?void 0:i.map(h=>n.find(f=>f.id===h)).filter(Boolean))!=null?l:[],p=n.filter(h=>!(r!=null&&r.includes(h.id))&&!(i!=null&&i.includes(h.id)));return xt(t,[...u,...p,...c],e)},{key:process.env.NODE_ENV==="development"&&"getHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(a=>!(r!=null&&r.includes(a.id))&&!(i!=null&&i.includes(a.id))),xt(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:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(l=>n.find(u=>u.id===l)).filter(Boolean))!=null?i:[];return xt(t,a,e,"left")},{key:process.env.NODE_ENV==="development"&&"getLeftHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getRightHeaderGroups:P(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(l=>n.find(u=>u.id===l)).filter(Boolean))!=null?i:[];return xt(t,a,e,"right")},{key:process.env.NODE_ENV==="development"&&"getRightHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getFooterGroups:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[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:P(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,a,l,u,c,p;return[...(i=(a=t[0])==null?void 0:a.headers)!=null?i:[],...(l=(u=n[0])==null?void 0:u.headers)!=null?l:[],...(c=(p=r[0])==null?void 0:p.headers)!=null?c:[]].map(d=>d.getLeafHeaders()).flat()},{key:process.env.NODE_ENV==="development"&&"getLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}})})};function xt(e,t,n,r){var i,a;let l=0;const u=function(f,v){v===void 0&&(v=1),l=Math.max(l,v),f.filter(C=>C.getIsVisible()).forEach(C=>{var b;(b=C.columns)!=null&&b.length&&u(C.columns,v+1)},0)};u(e);let c=[];const p=(f,v)=>{const C={depth:v,id:[r,""+v].filter(Boolean).join("_"),headers:[]},b=[];f.forEach(D=>{const k=[...b].reverse()[0],E=D.column.depth===C.depth;let O,F=!1;if(E&&D.column.parent?O=D.column.parent:(O=D.column,F=!0),k&&(k==null?void 0:k.column)===O)k.subHeaders.push(D);else{const L=Zr(n,O,{id:[r,v,O.id,D==null?void 0:D.id].filter(Boolean).join("_"),isPlaceholder:F,placeholderId:F?""+b.filter(ae=>ae.column===O).length:void 0,depth:v,index:b.length});L.subHeaders.push(D),b.push(L)}C.headers.push(D),D.headerGroup=C}),c.push(C),v>0&&p(b,v-1)},d=t.map((f,v)=>Zr(n,f,{depth:l,index:v}));p(d,l-1),c.reverse();const h=f=>f.filter(C=>C.column.getIsVisible()).map(C=>{let b=0,D=0,k=[0];C.subHeaders&&C.subHeaders.length?(k=[],h(C.subHeaders).forEach(O=>{let{colSpan:F,rowSpan:L}=O;b+=F,k.push(L)})):b=1;const E=Math.min(...k);return D=D+E,C.colSpan=b,C.rowSpan=D,{colSpan:b,rowSpan:D}});return h((i=(a=c[0])==null?void 0:a.headers)!=null?i:[]),c}const wt={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},vn=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Vc={getDefaultColumnDef:()=>wt,getInitialState:e=>({columnSizing:{},columnSizingInfo:vn(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:me("columnSizing",e),onColumnSizingInfoChange:me("columnSizingInfo",e)}),createColumn:(e,t)=>({getSize:()=>{var n,r,i;const a=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:wt.minSize,(r=a!=null?a:e.columnDef.size)!=null?r:wt.size),(i=e.columnDef.maxSize)!=null?i:wt.maxSize)},getStart:n=>{const r=n?n==="left"?t.getLeftVisibleLeafColumns():t.getRightVisibleLeafColumns():t.getVisibleLeafColumns(),i=r.findIndex(a=>a.id===e.id);if(i>0){const a=r[i-1];return a.getStart(n)+a.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 a;n+=(a=i.column.getSize())!=null?a: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(),yn(i)&&i.touches&&i.touches.length>1))return;const a=e.getSize(),l=e?e.getLeafHeaders().map(v=>[v.column.id,v.column.getSize()]):[[n.id,n.getSize()]],u=yn(i)?Math.round(i.touches[0].clientX):i.clientX,c=(v,C)=>{if(typeof C!="number")return;let b={};t.setColumnSizingInfo(D=>{var k,E;const O=C-((k=D==null?void 0:D.startOffset)!=null?k:0),F=Math.max(O/((E=D==null?void 0:D.startSize)!=null?E:0),-.999999);return D.columnSizingStart.forEach(L=>{let[ae,ne]=L;b[ae]=Math.round(Math.max(ne+ne*F,0)*100)/100}),{...D,deltaOffset:O,deltaPercentage:F}}),(t.options.columnResizeMode==="onChange"||v==="end")&&t.setColumnSizing(D=>({...D,...b}))},p=v=>c("move",v),d=v=>{c("end",v),t.setColumnSizingInfo(C=>({...C,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},h={moveHandler:v=>p(v.clientX),upHandler:v=>{document.removeEventListener("mousemove",h.moveHandler),document.removeEventListener("mouseup",h.upHandler),d(v.clientX)}},f=Ac()?{passive:!1}:!1;yn(i)||(document.addEventListener("mousemove",h.moveHandler,f),document.addEventListener("mouseup",h.upHandler,f)),t.setColumnSizingInfo(v=>({...v,startOffset:u,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,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?vn():(n=e.initialState.columnSizingInfo)!=null?n:vn())},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 St=null;function Ac(){if(typeof St=="boolean")return St;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 St=e,St}function yn(e){return e.type==="touchstart"}const Tc={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:me("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,a;e.setExpanded(r?{}:(i=(a=e.initialState)==null?void 0:a.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(a=>{const l=a.split(".");r=Math.max(r,l.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 a=r===!0?!0:!!(r!=null&&r[e.id]);let l={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(u=>{l[u]=!0}):l=r,n=(i=n)!=null?i:!a,!a&&n)return{...l,[e.id]:!0};if(a&&!n){const{[e.id]:u,...c}=l;return c}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()}}})},ei=(e,t,n)=>{var r;const i=n.toLowerCase();return(r=e.getValue(t))==null?void 0:r.toLowerCase().includes(i)};ei.autoRemove=e=>xe(e);const ti=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};ti.autoRemove=e=>xe(e);const ni=(e,t,n)=>{var r;return((r=e.getValue(t))==null?void 0:r.toLowerCase())===n.toLowerCase()};ni.autoRemove=e=>xe(e);const ri=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};ri.autoRemove=e=>xe(e)||!(e!=null&&e.length);const ii=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});ii.autoRemove=e=>xe(e)||!(e!=null&&e.length);const oi=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});oi.autoRemove=e=>xe(e)||!(e!=null&&e.length);const ai=(e,t,n)=>e.getValue(t)===n;ai.autoRemove=e=>xe(e);const si=(e,t,n)=>e.getValue(t)==n;si.autoRemove=e=>xe(e);const bn=(e,t,n)=>{let[r,i]=n;const a=e.getValue(t);return a>=r&&a<=i};bn.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,a=t===null||Number.isNaN(r)?-1/0:r,l=n===null||Number.isNaN(i)?1/0:i;if(a>l){const u=a;a=l,l=u}return[a,l]},bn.autoRemove=e=>xe(e)||xe(e[0])&&xe(e[1]);const Ve={includesString:ei,includesStringSensitive:ti,equalsString:ni,arrIncludes:ri,arrIncludesAll:ii,arrIncludesSome:oi,equals:ai,weakEquals:si,inNumberRange:bn};function xe(e){return e==null||e===""}const kc={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:me("columnFilters",e),onGlobalFilterChange:me("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"?Ve.includesString:typeof r=="number"?Ve.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?Ve.equals:Array.isArray(r)?Ve.arrIncludes:Ve.weakEquals},getFilterFn:()=>{var n,r;return Ct(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:Ve[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,a;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((a=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?a:!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(),a=r==null?void 0:r.find(d=>d.id===e.id),l=qe(n,a?a.value:void 0);if(li(i,l,e)){var u;return(u=r==null?void 0:r.filter(d=>d.id!==e.id))!=null?u:[]}const c={id:e.id,value:l};if(a){var p;return(p=r==null?void 0:r.map(d=>d.id===e.id?c:d))!=null?p:[]}return r!=null&&r.length?[...r,c]:[c]})},_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:()=>Ve.includesString,getGlobalFilterFn:()=>{var t,n;const{globalFilterFn:r}=e.options;return Ct(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:Ve[r]},setColumnFilters:t=>{const n=e.getAllLeafColumns(),r=i=>{var a;return(a=qe(t,i))==null?void 0:a.filter(l=>{const u=n.find(c=>c.id===l.id);if(u){const c=u.getFilterFn();if(li(c,l.value,u))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 li(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const Cn={sum:(e,t,n)=>n.reduce((r,i)=>{const a=i.getValue(e);return r+(typeof a=="number"?a:0)},0),min:(e,t,n)=>{let r;return n.forEach(i=>{const a=i.getValue(e);a!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}),r},max:(e,t,n)=>{let r;return n.forEach(i=>{const a=i.getValue(e);a!=null&&(r<a||r===void 0&&a>=a)&&(r=a)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(a=>{const l=a.getValue(e);l!=null&&(r===void 0?l>=l&&(r=i=l):(r>l&&(r=l),i<l&&(i=l)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(i=>{let a=i.getValue(e);a!=null&&(a=+a)>=a&&(++n,r+=a)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=0,r=0;return t.forEach(i=>{let a=i.getValue(e);typeof a=="number"&&(n=Math.min(n,a),r=Math.max(r,a))}),(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},Ec={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:me("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,a;return(n=(r=(i=(a=e.columnDef.enableGrouping)!=null?a:!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 Cn.sum;if(Object.prototype.toString.call(r)==="[object Date]")return Cn.extent},getAggregationFn:()=>{var n,r;if(!e)throw new Error;return Ct(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:Cn[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 $c(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(a=>!t.includes(a.id));return n==="remove"?r:[...t.map(a=>e.find(l=>l.id===a)).filter(Boolean),...r]}const Rc={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:me("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:P(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let a=[];if(!(t!=null&&t.length))a=i;else{const l=[...t],u=[...i];for(;u.length&&l.length;){const c=l.shift(),p=u.findIndex(d=>d.id===c);p>-1&&a.push(u.splice(p,1)[0])}a=[...a,...u]}return $c(a,n,r)},{key:process.env.NODE_ENV==="development"&&"getOrderColumnsFn"})})},xn=0,wn=10,Sn=()=>({pageIndex:xn,pageSize:wn}),Oc={getInitialState:e=>({...e,pagination:{...Sn(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:me("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=a=>qe(r,a);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},resetPagination:r=>{var i;e.setPagination(r?Sn():(i=e.initialState.pagination)!=null?i:Sn())},setPageIndex:r=>{e.setPagination(i=>{let a=qe(r,i.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return a=Math.min(Math.max(0,a),l),{...i,pageIndex:a}})},resetPageIndex:r=>{var i,a,l;e.setPageIndex(r?xn:(i=(a=e.initialState)==null||(l=a.pagination)==null?void 0:l.pageIndex)!=null?i:xn)},resetPageSize:r=>{var i,a,l;e.setPageSize(r?wn:(i=(a=e.initialState)==null||(l=a.pagination)==null?void 0:l.pageSize)!=null?i:wn)},setPageSize:r=>{e.setPagination(i=>{const a=Math.max(1,qe(r,i.pageSize)),l=i.pageSize*i.pageIndex,u=Math.floor(l/a);return{...i,pageIndex:u,pageSize:a}})},setPageCount:r=>e.setPagination(i=>{var a;let l=qe(r,(a=e.options.pageCount)!=null?a:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...i,pageCount:l}}),getPageOptions:P(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((a,l)=>l)),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)}}}},_n=()=>({left:[],right:[]}),Pc={getInitialState:e=>({columnPinning:_n(),...e}),getDefaultOptions:e=>({onColumnPinningChange:me("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var a,l;if(n==="right"){var u,c;return{left:((u=i==null?void 0:i.left)!=null?u:[]).filter(h=>!(r!=null&&r.includes(h))),right:[...((c=i==null?void 0:i.right)!=null?c:[]).filter(h=>!(r!=null&&r.includes(h))),...r]}}if(n==="left"){var p,d;return{left:[...((p=i==null?void 0:i.left)!=null?p:[]).filter(h=>!(r!=null&&r.includes(h))),...r],right:((d=i==null?void 0:i.right)!=null?d:[]).filter(h=>!(r!=null&&r.includes(h)))}}return{left:((a=i==null?void 0:i.left)!=null?a:[]).filter(h=>!(r!=null&&r.includes(h))),right:((l=i==null?void 0:i.right)!=null?l:[]).filter(h=>!(r!=null&&r.includes(h)))}})},getCanPin:()=>e.getLeafColumns().some(r=>{var i,a;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((a=t.options.enablePinning)!=null?a:!0)}),getIsPinned:()=>{const n=e.getLeafColumns().map(u=>u.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(u=>r==null?void 0:r.includes(u)),l=n.some(u=>i==null?void 0:i.includes(u));return a?"left":l?"right":!1},getPinnedIndex:()=>{var n,r,i;const a=e.getIsPinned();return a?(n=(r=t.getState().columnPinning)==null||(i=r[a])==null?void 0:i.indexOf(e.id))!=null?n:-1:0}}),createRow:(e,t)=>({getCenterVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const a=[...r!=null?r:[],...i!=null?i:[]];return n.filter(l=>!a.includes(l.column.id))},{key:process.env.NODE_ENV==="production"&&"row.getCenterVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getLeftVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,],(n,r)=>(r!=null?r:[]).map(a=>n.find(l=>l.column.id===a)).filter(Boolean).map(a=>({...a,position:"left"})),{key:process.env.NODE_ENV==="production"&&"row.getLeftVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getRightVisibleCells:P(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map(a=>n.find(l=>l.column.id===a)).filter(Boolean).map(a=>({...a,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?_n():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:_n())},getIsSomeColumnsPinned:t=>{var n;const r=e.getState().columnPinning;if(!t){var i,a;return Boolean(((i=r.left)==null?void 0:i.length)||((a=r.right)==null?void 0:a.length))}return Boolean((n=r[t])==null?void 0:n.length)},getLeftLeafColumns:P(()=>[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:P(()=>[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:P(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n!=null?n:[],...r!=null?r:[]];return t.filter(a=>!i.includes(a.id))},{key:process.env.NODE_ENV==="development"&&"getCenterLeafColumns",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugColumns}})})},Fc={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:me("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(a=>{!a.getCanSelect()||(r[a.id]=!0)}):i.forEach(a=>{delete r[a.id]}),r})},toggleAllPageRowsSelected:t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(a=>{Dn(i,a.id,r,e)}),i}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:P(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Mn(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:P(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Mn(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:P(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Mn(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 a={...i};return Dn(a,e.id,n,t),a})},getIsSelected:()=>{const{rowSelection:n}=t.getState();return In(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return ui(e,n)==="some"},getIsAllSubRowsSelected:()=>{const{rowSelection:n}=t.getState();return ui(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)}}})},Dn=(e,t,n,r)=>{var i;const a=r.getRow(t);n?(a.getCanMultiSelect()||Object.keys(e).forEach(l=>delete e[l]),a.getCanSelect()&&(e[t]=!0)):delete e[t],(i=a.subRows)!=null&&i.length&&a.getCanSelectSubRows()&&a.subRows.forEach(l=>Dn(e,l.id,n,r))};function Mn(e,t){const n=e.getState().rowSelection,r=[],i={},a=function(l,u){return l.map(c=>{var p;const d=In(c,n);if(d&&(r.push(c),i[c.id]=c),(p=c.subRows)!=null&&p.length&&(c={...c,subRows:a(c.subRows)}),d)return c}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function In(e,t){var n;return(n=t[e.id])!=null?n:!1}function ui(e,t,n){if(e.subRows&&e.subRows.length){let r=!0,i=!1;return e.subRows.forEach(a=>{i&&!r||(In(a,t)?i=!0:r=!1)}),r?"all":i?"some":!1}return!1}const Vn=/([0-9]+)/gm,zc=(e,t,n)=>ci(Ge(e.getValue(n)).toLowerCase(),Ge(t.getValue(n)).toLowerCase()),qc=(e,t,n)=>ci(Ge(e.getValue(n)),Ge(t.getValue(n))),Gc=(e,t,n)=>An(Ge(e.getValue(n)).toLowerCase(),Ge(t.getValue(n)).toLowerCase()),Nc=(e,t,n)=>An(Ge(e.getValue(n)),Ge(t.getValue(n))),Lc=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},Bc=(e,t,n)=>An(e.getValue(n),t.getValue(n));function An(e,t){return e===t?0:e>t?1:-1}function Ge(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function ci(e,t){const n=e.split(Vn).filter(Boolean),r=t.split(Vn).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),a=r.shift(),l=parseInt(i,10),u=parseInt(a,10),c=[l,u].sort();if(isNaN(c[0])){if(i>a)return 1;if(a>i)return-1;continue}if(isNaN(c[1]))return isNaN(l)?-1:1;if(l>u)return 1;if(u>l)return-1}return n.length-r.length}const it={alphanumeric:zc,alphanumericCaseSensitive:qc,text:Gc,textCaseSensitive:Nc,datetime:Lc,basic:Bc},di=[Ic,{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:me("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:P(()=>[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:P(()=>[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)=>P(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(a=>a.getIsVisible==null?void 0:a.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,a)=>({...i,[a.id]:n||!(a.getCanHide!=null&&a.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)}}}},Rc,Pc,kc,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:me("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 a=i==null?void 0:i.getValue(e.id);if(Object.prototype.toString.call(a)==="[object Date]")return it.datetime;if(typeof a=="string"&&(r=!0,a.split(Vn).length>1))return it.alphanumeric}return r?it.text:it.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 Ct(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:it[e.columnDef.sortingFn]},toggleSorting:(n,r)=>{const i=e.getNextSortingOrder(),a=typeof n<"u"&&n!==null;t.setSorting(l=>{const u=l==null?void 0:l.find(v=>v.id===e.id),c=l==null?void 0:l.findIndex(v=>v.id===e.id);let p=[],d,h=a?n:i==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&r?u?d="toggle":d="add":l!=null&&l.length&&c!==l.length-1?d="replace":u?d="toggle":d="replace",d==="toggle"&&(a||i||(d="remove")),d==="add"){var f;p=[...l,{id:e.id,desc:h}],p.splice(0,p.length-((f=t.options.maxMultiSortColCount)!=null?f:Number.MAX_SAFE_INTEGER))}else d==="toggle"?p=l.map(v=>v.id===e.id?{...v,desc:h}:v):d==="remove"?p=l.filter(v=>v.id!==e.id):p=[{id:e.id,desc:h}];return p})},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 a=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==a&&((r=t.options.enableSortingRemoval)!=null?r:!0)&&(n&&(i=t.options.enableMultiRemove)!=null?i:!0)?!1:l==="desc"?"asc":"desc":a},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())})},Ec,Tc,Oc,Fc,Vc];function jc(e){var t;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let n={_features:di};const r=n._features.reduce((d,h)=>Object.assign(d,h.getDefaultOptions==null?void 0:h.getDefaultOptions(n)),{}),i=d=>n.options.mergeOptions?n.options.mergeOptions(r,d):{...r,...d};let l={...{},...(t=e.initialState)!=null?t:{}};n._features.forEach(d=>{var h;l=(h=d.getInitialState==null?void 0:d.getInitialState(l))!=null?h:l});const u=[];let c=!1;const p={_features:di,options:{...r,...e},initialState:l,_queue:d=>{u.push(d),c||(c=!0,Promise.resolve().then(()=>{for(;u.length;)u.shift()();c=!1}).catch(h=>setTimeout(()=>{throw h})))},reset:()=>{n.setState(n.initialState)},setOptions:d=>{const h=qe(d,n.options);n.options=i(h)},getState:()=>n.options.state,setState:d=>{n.options.onStateChange==null||n.options.onStateChange(d)},_getRowId:(d,h,f)=>{var v;return(v=n.options.getRowId==null?void 0:n.options.getRowId(d,h,f))!=null?v:""+(f?[f.id,h].join("."):h)},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:d=>{const h=n.getRowModel().rowsById[d];if(!h)throw process.env.NODE_ENV!=="production"?new Error("getRow expected an ID, but got "+d):new Error;return h},_getDefaultColumnDef:P(()=>[n.options.defaultColumn],d=>{var h;return d=(h=d)!=null?h:{},{header:f=>{const v=f.header.column.columnDef;return v.accessorKey?v.accessorKey:v.accessorFn?v.id:null},cell:f=>{var v,C;return(v=(C=f.renderValue())==null||C.toString==null?void 0:C.toString())!=null?v:null},...n._features.reduce((f,v)=>Object.assign(f,v.getDefaultColumnDef==null?void 0:v.getDefaultColumnDef()),{}),...d}},{debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns},key:process.env.NODE_ENV==="development"&&"getDefaultColumnDef"}),_getColumnDefs:()=>n.options.columns,getAllColumns:P(()=>[n._getColumnDefs()],d=>{const h=function(f,v,C){return C===void 0&&(C=0),f.map(b=>{const D=Mc(n,b,C,v),k=b;return D.columns=k.columns?h(k.columns,D,C+1):[],D})};return h(d)},{key:process.env.NODE_ENV==="development"&&"getAllColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getAllFlatColumns:P(()=>[n.getAllColumns()],d=>d.flatMap(h=>h.getFlatColumns()),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),_getAllFlatColumnsById:P(()=>[n.getAllFlatColumns()],d=>d.reduce((h,f)=>(h[f.id]=f,h),{}),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumnsById",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getAllLeafColumns:P(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(d,h)=>{let f=d.flatMap(v=>v.getLeafColumns());return h(f)},{key:process.env.NODE_ENV==="development"&&"getAllLeafColumns",debug:()=>{var d;return(d=n.options.debugAll)!=null?d:n.options.debugColumns}}),getColumn:d=>{const h=n._getAllFlatColumnsById()[d];if(!h)throw process.env.NODE_ENV!=="production"&&console.warn("[Table] Column with id "+d+" does not exist."),new Error;return h}};return Object.assign(n,p),n._features.forEach(d=>Object.assign(n,d.createTable==null?void 0:d.createTable(n))),n}function Wc(e,t,n,r){const i=()=>{var l;return(l=a.getValue())!=null?l:e.options.renderFallbackValue},a={id:t.id+"_"+n.id,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:P(()=>[e,n,t,a],(l,u,c,p)=>({table:l,column:u,row:c,cell:p,getValue:p.getValue,renderValue:p.renderValue}),{key:process.env.NODE_ENV==="development"&&"cell.getContext",debug:()=>e.options.debugAll})};return e._features.forEach(l=>{Object.assign(a,l.createCell==null?void 0:l.createCell(a,n,t,e))},{}),a}const Uc=(e,t,n,r,i,a)=>{let l={id:t,index:r,original:n,depth:i,_valuesCache:{},getValue:u=>{if(l._valuesCache.hasOwnProperty(u))return l._valuesCache[u];const c=e.getColumn(u);if(!!c.accessorFn)return l._valuesCache[u]=c.accessorFn(l.original,r),l._valuesCache[u]},renderValue:u=>{var c;return(c=l.getValue(u))!=null?c:e.options.renderFallbackValue},subRows:a!=null?a:[],getLeafRows:()=>Dc(l.subRows,u=>u.subRows),getAllCells:P(()=>[e.getAllLeafColumns()],u=>u.map(c=>Wc(e,l,c,c.id)),{key:process.env.NODE_ENV==="development"&&"row.getAllCells",debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}}),_getAllCellsByColumnId:P(()=>[l.getAllCells()],u=>u.reduce((c,p)=>(c[p.column.id]=p,c),{}),{key:process.env.NODE_ENV==="production"&&"row.getAllCellsByColumnId",debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}})};for(let u=0;u<e._features.length;u++){const c=e._features[u];Object.assign(l,c==null||c.createRow==null?void 0:c.createRow(l,e))}return l};function Yc(){return{accessor:(e,t)=>typeof e=="function"?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function Hc(){return e=>P(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,a,l){a===void 0&&(a=0);const u=[];for(let p=0;p<i.length;p++){const d=Uc(e,e._getRowId(i[p],p,l),i[p],p,a);if(n.flatRows.push(d),n.rowsById[d.id]=d,u.push(d),e.options.getSubRows){var c;d.originalSubRows=e.options.getSubRows(i[p],p),(c=d.originalSubRows)!=null&&c.length&&(d.subRows=r(d.originalSubRows,a+1,d))}}return u};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 Qc(){return e=>P(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],a=r.filter(c=>e.getColumn(c.id).getCanSort()),l={};a.forEach(c=>{const p=e.getColumn(c.id);l[c.id]={sortUndefined:p.columnDef.sortUndefined,invertSorting:p.columnDef.invertSorting,sortingFn:p.getSortingFn()}});const u=c=>{const p=c.slice();return p.sort((d,h)=>{for(let v=0;v<a.length;v+=1){var f;const C=a[v],b=l[C.id],D=(f=C==null?void 0:C.desc)!=null?f:!1;if(b.sortUndefined){const E=d.getValue(C.id),O=h.getValue(C.id),F=typeof E>"u",L=typeof O>"u";if(F||L)return F&&L?0:F?b.sortUndefined:-b.sortUndefined}let k=b.sortingFn(d,h,C.id);if(k!==0)return D&&(k*=-1),b.invertSorting&&(k*=-1),k}return d.index-h.index}),p.forEach(d=>{i.push(d),!(!d.subRows||d.subRows.length<=1)&&(d.subRows=u(d.subRows))}),p};return{rows:u(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 pi(e,t){return e?Jc(e)?o(e,{...t}):e:null}function Jc(e){return Xc(e)||typeof e=="function"||Kc(e)}function Xc(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Kc(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function Zc(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=Qn.useState(()=>({current:jc(t)})),[r,i]=Qn.useState(()=>n.current.initialState);return n.current.setOptions(a=>({...a,...e,state:{...r,...e.state},onStateChange:l=>{i(l),e.onStateChange==null||e.onStateChange(l)}})),n.current}const gi=({vizManager:e,instance:t})=>j.useCreation(()=>new On(t,e.resolveComponent(t.type),Dt),[t,e]),fi=(e,t)=>{const[n,r]=w.useState([]);return w.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(a=>a.schemaRef===t))),[]),n};function hi(e,t,n){return Math.min(Math.max(e,t),n)}class ed{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,a)=>i.from-a.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 a=>r*a+i}getStepFunctionForValue(t){let n=x.findLastIndex(this.steps,r=>r.from<=t);return n=hi(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(t){return hi(this.getStepFunctionForValue(t)(t),0,100)}}const td=({header:e,cx:t})=>g(s.Text,{className:t("table-head-cell",{"table-head-cell--sortable":e.column.getCanSort()}),onClick:e.column.getToggleSortingHandler(),children:[e.isPlaceholder?null:pi(e.column.columnDef.header,e.getContext()),o(nd,{direction:e.column.getIsSorted()})]}),nd=({direction:e})=>{switch(e){case"asc":return o(Va,{size:16});case"desc":return o(Ma,{size:"1em"});default:return null}},Tn={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:sd,configRender:od,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"}]},rd={column:""};function mi(e){const{value:t}=G(e.instanceData,"config");return t?t.columns.map((n,r)=>({label:n.label,value:r.toString()})):[]}function id(e){return x.isEmpty(e)?[]:Object.keys(e[0]).map(t=>({label:t,value:t}))}function od(e){const t=mi(e.instance),n=id(e.sampleData),r=t.length>0?t:n,{value:i,set:a}=G(e.trigger.triggerData,"config"),{column:l}=x.defaults({},i,rd),u=c=>{isNaN(+c)?a({column:c}):a({column:+c})};return o(s.Select,{clearable:!1,data:r,label:"Choose a column",value:l.toString(),onChange:u})}function ad(e,t){return e?x.isNumber(e.column)?`Click cell of ${t[e.column].label}`:`Click cell of ${e.column}`:"Click cell content (click to config)"}function sd(e){const t=mi(e.instance),{value:n}=G(e.trigger.triggerData,"config");return o(s.Text,{children:ad(n,t)})}const ld=s.createStyles(e=>({root:{overflow:"auto","& .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:0}})),ud=s.createStyles((e,t)=>({content:{display:"flex",alignItems:"center",justifyContent:"flex-start",".table-cell-text":{whiteSpace:"nowrap",marginLeft:e.spacing.xs,cursor:t.clickable?"pointer":"default",textDecoration:t.clickable?"underline":"none"}}}));function cd(e){return e?Qe.default(e).oklch()[0]>.7?"black":"white":"inherit"}function dd(e){const t=e.tableCellContext.bgColor;return{backgroundColor:t,color:cd(t)}}function _t(e){const t=e.tableCellContext.isClickable(),n=ud({clickable:t});return o("div",{className:n.classes.content,style:{...dd(e)},children:o(s.Text,{className:"table-cell-text",onClick:e.tableCellContext.getClickHandler(),children:o("span",{children:e.children})})})}function pd(e){return o(_t,{...e,children:e.value})}function gd(e){return o(_t,{...e,children:e.value})}function fd(e){const t=ge.default(e.value).format({thousandSeparated:!0});return o(_t,{...e,children:t})}function hd(e){const t=ge.default(e.value).format({output:"percent",mantissa:3});return o(_t,{...e,children:t})}function md(e){switch(e.type){case ze.string:return o(pd,{...e});case ze.eloc:return o(gd,{...e});case ze.number:return o(fd,{...e});case ze.percentage:return o(hd,{...e})}}const vd=e=>{const t=gi(e),n=fi(t.triggerManager,Tn.id),{colorManager:r}=w.useContext(Me);return w.useCallback(i=>new bd(e.getColIndex,i,n,t,r),[n,t,e.getColIndex])};function yd({context:e,instance:t}){var ve,ce,we;const n=(ve=e.data)!=null?ve:[],{height:r,width:i}=e.viewport,{value:a=bt}=G(e.instanceData,"config"),{use_raw_columns:l,columns:u,...c}=a,{classes:p,cx:d}=ld(),h=_.default.useMemo(()=>l?Object.keys(n[0]).map(re=>({label:re,value_field:re,value_type:ze.string})):u,[l,u,n]),f=vd({getColIndex:w.useCallback(re=>h.indexOf(re.column.columnDef.meta),[h]),vizManager:e.vizManager,instance:t}),v=w.useMemo(()=>{const re=Yc(),Se=h.map(pe=>re.accessor(pe.value_field,{cell:Ne=>o(md,{tableCellContext:f(Ne.cell),value:Ne.getValue(),type:pe.value_type}),header:pe.label,enableSorting:!0,meta:pe}));return[re.display({id:"#index",cell:pe=>pe.row.index+1,header:"#",size:10*(n.length.toString().length+1)}),...Se]},[h,f]),[C,b]=w.useState([]),D=Zc({data:n,state:{sorting:C},onSortingChange:b,columns:v,getCoreRowModel:Hc(),getSortedRowModel:Qc()}),{rows:k}=D.getRowModel(),E=_.default.useRef(null),O=Yo.useVirtual({parentRef:E,size:k.length,estimateSize:w.useCallback(()=>28,[]),overscan:20}),{virtualItems:F,totalSize:L}=O,ae=F.length>0&&((ce=F==null?void 0:F[0])==null?void 0:ce.start)||0,ne=F.length>0?L-(((we=F==null?void 0:F[F.length-1])==null?void 0:we.end)||0):0;return o("div",{ref:E,style:{height:r,width:i},className:d(p.root,{"table-highlight-on-hover":a.highlightOnHover}),children:g(s.Table,{sx:{maxHeight:r},...c,striped:a.striped,children:[o("thead",{className:p.thead,children:D.getHeaderGroups().map(re=>o("tr",{children:re.headers.map(Se=>o("th",{style:{width:Se.getSize()},children:o(td,{header:Se,cx:d})},Se.id))},re.id))}),g("tbody",{children:[ae>0&&o("tr",{children:o("td",{style:{height:`${ae}px`}})}),F.map(re=>{const Se=k[re.index];return o("tr",{children:Se.getVisibleCells().map(de=>o("td",{children:pi(de.column.columnDef.cell,de.getContext())},de.id))},Se.id)}),ne>0&&o("tr",{children:o("td",{style:{height:`${ne}px`}})})]})]})})}class bd{constructor(t,n,r,i,a){this.getColIndex=t,this.cell=n,this.triggers=r,this.interactionManager=i,this.colorManager=a}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===Tn.id).filter(n=>{const r=this.getColIndex(this.cell),i=x.get(this.cell.column.columnDef.meta,"value_field"),a=x.get(n.config,"column");return a==r||a==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(x.isString(t))return t;const n=+this.cell.getValue();if(isFinite(n)){const r=this.colorManager.decodeInterpolation(t.interpolation),a=new ed(t.steps).mapValue(n);return r==null?void 0:r.getColor(a)}}}const vi=s.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)"}}}})),Cd=[{from:0,to:0},{from:100,to:100}];class xd{constructor(){$(this,"steps",new Map);$(this,"interpolation");$(this,"onChange");ie.makeAutoObservable(this,{steps:ie.observable},{deep:!1}),ie.reaction(()=>ie.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(Cd):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 wd(e){const{onChange:t,color:n,index:r,value:i}=e,{classes:a}=vi(),[l,u]=w.useState(i),[c,{setTrue:p,setFalse:d}]=j.useBoolean(!1),h=r%2===1,f=h&&i!=null,v=!h&&i!=null,C=`map ${i} to color ${r}`,b=()=>{u(i),d()},D=()=>{d(),t==null||t(l)},k=ge.default(i).format({average:!0});return g("div",{"data-testid":`palette-item-${r}`,className:a.paletteItem,children:[o(s.Text,{title:C,style:{opacity:f?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:k}),g(s.Popover,{width:200,trapFocus:!0,opened:c,onClose:d,children:[o(s.Popover.Target,{children:o("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:p,style:{"--shadow-color":Qe.default(n).alpha(.5).hex(),backgroundColor:n}})}),o(s.Popover.Dropdown,{children:g(s.Stack,{children:[o(s.NumberInput,{size:"xs",label:"Map a value to this color",value:l,onChange:u}),g(s.Group,{position:"right",children:[o(s.Button,{variant:"subtle",size:"xs",onClick:b,children:"Cancel"}),o(s.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:D,children:"OK"})]})]})})]}),o(s.Text,{title:C,style:{opacity:v?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:k})]})}const Sd=I.observer(({model:e})=>{const{classes:t}=vi(),n=x.range(0,13,1).map(r=>100/12*r).map(r=>[e.interpolation.getColor(r),r]);return o("div",{className:t.palette,children:n.map(([r,i],a)=>o(wd,{index:a,color:r,value:e.getStepFromValue(i),onChange:l=>e.changeStep(l,i)},r))})}),_d=I.observer(function(t){const n=j.useCreation(()=>new xd,[]);return w.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:o(Sd,{model:n})}),Dd=e=>{const{value:t,onChange:n,colorManager:r}=e,i=r.getColorInterpolations(),[a,l]=w.useState(t),u=r.decodeInterpolation(a.interpolation)||i[0],[c,{setTrue:p,setFalse:d}]=j.useBoolean(),h=i.map(D=>({label:D.displayName,value:r.encodeColor(D),group:D.category}));function f(D){D&&l(k=>({...k,interpolation:D}))}const v=()=>{d(),n==null||n(ie.toJS(a))};function C(D){l(k=>({...k,steps:D}))}const b=()=>{d(),l(t)};return g(H,{children:[o(s.Button,{variant:"outline",onClick:p,children:u==null?void 0:u.displayName}),o(s.Modal,{size:508,title:"Setup color interpolation",opened:c,onClose:d,children:c&&g(s.Stack,{"data-testid":"color-interpolation-modal",children:[o(s.Select,{label:"Color style",value:a.interpolation,data:h,onChange:f}),o(_d,{steps:a.steps,interpolation:u,onChange:C}),g(s.Group,{position:"right",children:[o(s.Button,{onClick:b,variant:"subtle",children:"Cancel"}),o(s.Button,{onClick:v,children:"OK"})]})]})})]})},Md=["static","interpolation","none"],Id=[{from:0,to:0},{from:100,to:100}];function yi(e){return e?x.isString(e)?e==="none"?"none":"static":"interpolation":"none"}function Vd(e,t){var n;return yi(t)==="static"?t:(n=e.getStaticColors()[0])==null?void 0:n.value}function Ad(e,t){return x.isObject(t)?t:{steps:Id,interpolation:e.encodeColor(e.getColorInterpolations()[0])}}const Td=e=>{const{colorManager:t}=w.useContext(Me),[n,r]=w.useState(yi(e.value)),[i,a]=w.useState(Vd(t,e.value)),l=j.useLatest(i),[u,c]=w.useState(Ad(t,e.value)),p=j.useLatest(u),d=v=>{var C,b,D;r(v||"none"),v==="static"?(C=e.onChange)==null||C.call(e,l.current):v==="none"||!v?(b=e.onChange)==null||b.call(e,"none"):(D=e.onChange)==null||D.call(e,p.current)},h=v=>{var C;a(v),(C=e.onChange)==null||C.call(e,v)},f=v=>{var C;c(v),(C=e.onChange)==null||C.call(e,v)};return g(s.Group,{align:"end",children:[o(s.Select,{label:"Cell background",value:n||"none",onChange:d,data:Md}),n==="static"&&o(Pe,{value:i,onChange:h}),n==="interpolation"&&o(Dd,{colorManager:t,value:u,onChange:f})]})},kd=Object.values(ze).map(e=>({label:e,value:e}));function Ed({label:e,value:t,onChange:n,sx:r}){return o(s.Select,{label:e,data:kd,value:t,onChange:n,sx:r})}function $d({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=Ot.useForm({initialValues:bt});w.useEffect(()=>{const l=x.defaults({},t,r.values,bt);t&&r.setValues(l)},[t]);const i=e.data||[],a=()=>r.insertListItem("columns",{label:Z.randomId(),value_field:"value",value_type:ze.string});return o(s.Stack,{mt:"md",spacing:"xs",children:g("form",{onSubmit:r.onSubmit(async l=>{await n(l)}),children:[g(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(s.Text,{children:"Table Config"}),o(s.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",children:o(T.DeviceFloppy,{size:20})})]}),g(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(J,{label:"ID Field",required:!0,data:i,...r.getInputProps("id_field")}),g(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[o(s.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("horizontalSpacing")}),o(s.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("verticalSpacing")})]}),o(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:o(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("fontSize")})}),g(s.Stack,{children:[o(s.Text,{children:"Other"}),g(s.Group,{position:"apart",grow:!0,children:[o(s.Switch,{label:"Striped",...r.getInputProps("striped",{type:"checkbox"})}),o(s.Switch,{label:"Highlight on hover",...r.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),g(s.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(s.Switch,{label:"Use Original Data Columns",...r.getInputProps("use_raw_columns",{type:"checkbox"})}),!r.values.use_raw_columns&&g(s.Stack,{children:[o(s.Text,{mt:"xl",mb:0,children:"Custom Columns"}),r.values.columns.map((l,u)=>g(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[g(s.Group,{position:"apart",grow:!0,children:[o(s.TextInput,{label:"Label",required:!0,id:`col-label-${u}`,sx:{flex:1},...r.getInputProps(`columns.${u}.label`)}),o(J,{label:"Value Field",required:!0,data:i,...r.getInputProps(`columns.${u}.value_field`)}),o(Ed,{label:"Value Type",sx:{flex:1},...r.getInputProps(`columns.${u}.value_type`)}),o(Td,{...r.getInputProps(`columns.${u}.cellBackgroundColor`)})]}),o(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r.removeListItem("columns",u),sx:{position:"absolute",top:15,right:5},children:o(T.Trash,{size:16})})]},u)),o(s.Group,{position:"center",mt:"xs",children:o(s.Button,{onClick:a,children:"Add a Column"})})]})]}),o(s.Text,{weight:500,mb:"md",children:"Current Configuration:"}),o(be.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(r.values,null,2)})]})})}class Rd extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const kn={createConfig(){return{version:1,config:x.cloneDeep(bt)}},displayName:"Table",migrator:new Rd,name:"table",viewRender:yd,configRender:$d,triggers:[Tn]};async function Od(e,t,n,r={}){const i={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",...r.headers},a={baseURL:e,method:"POST",url:t,params:r.params,headers:i};return a.data=r.string?JSON.stringify(n):n,Jn.default(a).then(l=>l.data).catch(l=>Promise.reject(l))}const Pd=({baseURL:e,payload:t})=>async()=>e?await Od(e,"/expert/v2/scenario",t,{}):{};var De=(e=>(e.dev_load="dev_load",e.personal_report="personal_report",e.performance="performance",e.comparison="comparison",e))(De||{}),Q=(e=>(e.productivity="productivity",e.pareto="pareto",e.heatmap="heatmap",e.skills="skills",e.commits="commits",e.quality="quality",e.quality_history="quality_history",e.efficiency="efficiency",e))(Q||{});const En={expertSystemURL:"",scenario:"performance",metric_set:"quality"};function Fd(e){const t=[],n=x.groupBy(e,({actor:r,eloc_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,eloc_type:u}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",eloc_type:u,data:i.map(({ref_date:c,eloc:p})=>({ref_date:c,eloc:p}))})}),{efficiency:t}}function zd(e,t){switch(e.metric_set){case Q.efficiency:return Fd(t);default:throw new Error("Invalid metric_set for scenario[comparison]")}}function qd(e,t){return{comparison:{...zd(e,t)}}}function Gd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(u=>({ref_date:u.ref_date,eloc:u.eloc}))})}),{heatmap:t}}function Nd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(({contributor:u,eloc:c})=>({contributor:u,eloc:Number(c)}))})}),{pareto:t}}function Ld(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,baseline:u}=i[0],c=[],p=[];i.forEach(({ref_date:d,eloc:h,eloc_type:f})=>{const v={ref_date:d,eloc:h};f==="current"?c.push(v):f==="previous"?p.push(v):console.error("Invalid eloc_type for dev_load.productivity")}),t.push({actor:a!=null?a:l,actor_type:"project",baseline:u,current:c,previous:p})}),{productivity:t}}function Bd(e,t){switch(e.metric_set){case Q.productivity:return Ld(t);case Q.heatmap:return Gd(t);case Q.pareto:return Nd(t);default:throw new Error("Invalid metric_set for scenario[dev_load]")}}function jd(e,t){return{dev_load:{...Bd(e,t)}}}function Wd(e){const t=[],n=x.groupBy(e,({actor:r,eloc_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,eloc_type:u}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",eloc_type:u,data:i.map(({ref_date:c,eloc:p})=>({ref_date:c,eloc:p}))})}),{efficiency:t}}function Ud(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",data:i.map(({contributor:u,eloc:c})=>({contributor:u,eloc:Number(c)}))})}),{pareto:t}}function Yd(e){return{quality:e.map(({name:t,actor:n,issues_blocker:r,issues_critical:i,issues_info:a,issues_major:l,issues_minor:u,...c})=>({actor:t!=null?t:n,actor_type:"project",code:{...c,issues:{blocker:r,critical:i,info:a,major:l,minor:u}}}))}}function Hd(e){const t=[],n=x.groupBy(e,({actor:r,val_type:i})=>`${r}-${i}`);return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,val_type:u,baseline_lower:c,baseline_upper:p}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",val_type:u,baseline:[c,p],data:i.map(d=>({ref_date:d.ref_date,val:d.val}))})}),{quality_history:t}}function Qd(e,t){switch(e.metric_set){case Q.quality:return Yd(t);case Q.quality_history:return Hd(t);case Q.efficiency:return Wd(t);case Q.pareto:return Ud(t);default:throw new Error("Invalid metric_set for scenario[performance]")}}function Jd(e,t){return{performance:{...Qd(e,t)}}}function Xd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,code_issue_density:u,code_test_coverage:c,code_doc_coverage:p,baseline_issue_density:d,baseline_test_coverage:h,baseline_doc_coverage:f}=i[0];t.push({actor:a!=null?a:l,code:{issues_density:u,test_coverage:c,doc_coverage:p},baseline:{issues_density:d,test_coverage:h,doc_coverage:f}})}),{quality:t}}function Kd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{name:a,actor:l,repos:u,range_days:c}=i[0];t.push({actor:a!=null?a:l,actor_type:"project",repos:u,range_days:c,data:i.map(({ref_date:p,eloc:d})=>({ref_date:p,eloc:Number(d)}))})}),{commits:t}}function Zd(e){const t=[],n=x.groupBy(e,"actor");return Object.entries(n).forEach(([r,i])=>{const{actor:a}=i[0];t.push({actor:a,data:i.map(({language:l,feature:u})=>({language:l,feature:u}))})}),{skills:t}}function ep(e,t){switch(e.metric_set){case Q.skills:return Zd(t);case Q.quality:return Xd(t);case Q.commits:return Kd(t);default:throw new Error("Invalid metric_set for scenario[personal_report]")}}function tp(e,t){return{personal_report:{...ep(e,t)}}}function np(e,t){switch(e.scenario){case De.performance:return Jd(e,t);case De.dev_load:return jd(e,t);case De.personal_report:return tp(e,t);case De.comparison:return qd(e,t);default:return{}}}function rp({context:e}){var p,d,h;const{value:t}=G(e.instanceData,"config"),n=w.useMemo(()=>x.defaultsDeep({},t,En),[t]),{width:r,height:i}=e.viewport,a=(p=e.data)!=null?p:[],{data:l={},error:u,loading:c}=j.useRequest(Pd({baseURL:n==null?void 0:n.expertSystemURL,payload:np(n,a)}),{refreshDeps:[JSON.stringify(a),n==null?void 0:n.expertSystemURL]});return!r||!i||!n?null:n.scenario===De.personal_report&&n.metric_set===Q.commits?g(s.Box,{sx:{position:"relative",height:i},children:[o(s.Text,{align:"center",color:"red",children:"Not supported"}),o(s.Text,{size:"sm",children:`This scenario&metric pair is not supported, since "baselines" can't be queried along with elocs`})]}):c?o(s.Box,{sx:{position:"relative",height:i},children:o(s.LoadingOverlay,{visible:!0})}):Array.isArray(l.errors)&&l.errors.length>0?o(be.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(l.errors,null,2)}):g(s.Box,{children:[o(s.Text,{size:"xs",color:"red",align:"center",mb:-6,children:"Response for debugging"}),g(s.Tabs,{defaultValue:"0",children:[o(s.Tabs.List,{children:(d=l.replies)==null?void 0:d.map((f,v)=>o(s.Tabs.Tab,{value:v.toString(),children:v},`${f.actor}-${f.metric}-${v}`))}),(h=l.replies)==null?void 0:h.map((f,v)=>o(s.Tabs.Panel,{value:v.toString(),pt:6,children:o(be.Prism,{my:8,language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(f,null,2)})},`${f.actor}-${f.metric}-${v}`))]})]})}const ip={dev_load:[{label:"productivity",value:Q.productivity},{label:"pareto",value:Q.pareto},{label:"heatmap",value:Q.heatmap}],personal_report:[{label:"skills",value:Q.skills},{label:"commits",value:Q.commits},{label:"quality",value:Q.quality}],performance:[{label:"quality",value:Q.quality},{label:"quality_history",value:Q.quality_history},{label:"efficiency",value:Q.efficiency},{label:"pareto",value:Q.pareto}],comparison:[{label:"efficiency",value:Q.efficiency}]},op=({conf:e,setConfByKey:t})=>{const n=w.useMemo(()=>{var i;return(i=ip[e.scenario])!=null?i:[]},[e.scenario]),r=i=>{t("metric_set",i)};return w.useEffect(()=>{n.find(a=>a.value===e.metric_set)||t("metric_set",n[0].value)},[n,e.metric_set,t]),o(s.Select,{label:"Metric Set",data:n,value:e.metric_set,onChange:r,disabled:n.length===0,required:!0})},bi=(e,t)=>{const n=e[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((r,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+t)))})};async function ap(e){return bi(Object.assign({"./performance/efficiency.schema.json":()=>Promise.resolve().then(()=>Xg),"./performance/quality.schema.json":()=>Promise.resolve().then(()=>Kg),"./performance/quality_history.schema.json":()=>Promise.resolve().then(()=>Zg)}),`./${e.scenario}/${e.metric_set}.schema.json`)}async function sp(e){try{return(await bi(Object.assign({"./comparison/efficiency.structure.ts":()=>Promise.resolve().then(()=>ef),"./dev_load/heatmap.structure.ts":()=>Promise.resolve().then(()=>tf),"./dev_load/pareto.structure.ts":()=>Promise.resolve().then(()=>nf),"./dev_load/productivity.structure.ts":()=>Promise.resolve().then(()=>rf),"./performance/efficiency.structure.ts":()=>Promise.resolve().then(()=>of),"./performance/pareto.structure.ts":()=>Promise.resolve().then(()=>af),"./performance/quality.structure.ts":()=>Promise.resolve().then(()=>sf),"./performance/quality_history.structure.ts":()=>Promise.resolve().then(()=>lf),"./personal_report/commits.structure.ts":()=>Promise.resolve().then(()=>uf),"./personal_report/quality.structure.ts":()=>Promise.resolve().then(()=>cf),"./personal_report/skills.structure.ts":()=>Promise.resolve().then(()=>df)}),`./${e.scenario}/${e.metric_set}.structure.ts`)).default}catch(t){return console.error(t),""}}const lp=new Ko.default;function up({errors:e}){return e?typeof e=="string"?o(s.Text,{size:"sm",children:e}):o(be.Prism,{my:8,language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(e,null,2)}):o(s.Text,{size:"sm",children:"Great! Data is valid for expert system"})}function cp({conf:e,data:t}){const{data:n=null}=j.useRequest(async()=>ap(e),{refreshDeps:[e.scenario,e.metric_set]}),{data:r=""}=j.useRequest(async()=>sp(e),{refreshDeps:[e.scenario,e.metric_set]}),{valid:i,errors:a}=w.useMemo(()=>{try{if(!n||!n.type)return{valid:!1,errors:`Schema file for this ${e.scenario}.${e.metric_set} is missing`};const l=lp.compile({...n});return{valid:l(t),errors:l.errors}}catch(l){return console.error(l),{valid:!1,errors:l.message}}},[e,t,n]);return g(s.Tabs,{defaultValue:"structure",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"structure",children:"Expected Data Structure"}),n&&g(s.Tabs.Tab,{value:"validation",children:["Validation ",o(s.Badge,{color:i?"green":"red",children:i?"Pass":"Failed"})]})]}),n&&o(s.Tabs.Panel,{value:"validation",pt:6,children:o(up,{errors:a})}),o(s.Tabs.Panel,{value:"structure",pt:6,children:o(be.Prism,{my:8,language:"typescript",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:r})})]})}const dp=[{label:"dev_load",value:De.dev_load},{label:"personal_report",value:De.personal_report},{label:"performance",value:De.performance},{label:"comparison",value:De.comparison}],pp=({conf:e,setConfByKey:t})=>{const n=r=>{t("scenario",r)};return o(s.Select,{label:"Scenario",data:dp,value:e.scenario,onChange:n})};function gp({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=w.useMemo(()=>x.defaultsDeep({},t,En),[t]),i=(a,l)=>{n({...r,[a]:l})};return g(s.Stack,{children:[o(s.TextInput,{value:r.expertSystemURL,onChange:a=>{i("expertSystemURL",a.currentTarget.value)},label:"Expert System URL",required:!0}),g(s.Group,{grow:!0,children:[o(pp,{conf:r,setConfByKey:i}),o(op,{conf:r,setConfByKey:i})]}),o(cp,{conf:r,data:e.data})]})}class fp extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const hp={displayName:"Merico Expert System",migrator:new fp,name:"expertSystem",viewRender:rp,configRender:gp,createConfig:()=>En},Ci="__TRIGGERS";class mp{constructor(t,n){$(this,"attachments");this.instance=t,this.component=n;const r=async i=>{const{id:a,schemaRef:l}=await i.getItem(null);return{id:a,schemaRef:l,triggerData:new Ue(i,"data")}};this.attachments=new Ut(t,Ci,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(Ci,n=>{const r=x.values(n).map(i=>({id:x.get(i,"id"),schemaRef:x.get(i,"schemaRef"),config:ie.toJS(x.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){var u;if(!this.getTriggerSchemaList().some(c=>c.id===n.id))throw new Error(`Trigger schema '${n.id}' is not defined in component '${this.component.name}'`);const a=await this.attachments.getInstance(t);return!a||r.recreate||a.schemaRef!==n.id?await this.attachments.create(t,{id:t,schemaRef:n.id,data:((u=n==null?void 0:n.createDefaultConfig)==null?void 0:u.call(n))||{}}):a}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(u=>u.id===r.schemaRef),a=i==null?void 0:i.migrator,l={configData:r.triggerData};return a&&await a.needMigration(l)?()=>a.migrate(l):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()))}}const xi={id:"builtin:button:click-button",displayName:"Click Button",nameRender:yp,configRender:vp,payload:[]};function vp(e){return o(H,{})}function yp(e){return o(s.Text,{children:"Click this button"})}const $n={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1},bp=I.observer(({context:e,instance:t})=>{const n=gi({vizManager:e.vizManager,instance:t}),r=fi(n.triggerManager,xi.id),i=B(),{value:a}=G(e.instanceData,"config"),l=w.useMemo(()=>x.defaultsDeep({},a,$n),[a]),{content:u,...c}=l,{width:p,height:d}=e.viewport,h={filters:i.filters.values,context:i.context.current},f=()=>{r.forEach(v=>{n.runInteraction(v.id,{})})};return o(s.Center,{sx:{width:p,height:d},children:o(s.Button,{...c,onClick:f,children:x.template(u)(h)})})}),Cp=({value:e,onChange:t,label:n})=>{const r=s.useMantineTheme(),i=w.useCallback(l=>()=>t(l),[t]),a=l=>e===l;return g(s.Stack,{spacing:2,children:[o(s.Text,{size:14,sx:{fontWeight:500},children:n}),o(s.Group,{position:"left",spacing:"xs",children:Object.keys(r.colors).map(l=>{const u=r.colors[l][6];return o(s.ColorSwatch,{color:u,onClick:i(l),radius:4,size:26,sx:{cursor:"pointer"},children:a(l)&&o(s.CheckIcon,{width:10,color:"white"})},l)})})]})},xp=s.MANTINE_SIZES.map(e=>({label:e.toUpperCase(),value:e})),wp=({label:e,value:t,onChange:n})=>o(s.Select,{data:xp,label:e,value:t,onChange:n}),Sp=[{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}];function _p({context:e}){const{value:t,set:n}=G(e.instanceData,"config"),r=w.useMemo(()=>x.defaultsDeep({},t,$n),[t]),i=(a,l)=>{n({...r,[a]:l})};return g(s.Stack,{children:[o(s.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",value:r.content,onChange:a=>i("content",a.currentTarget.value),required:!0}),o(s.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),o(s.Select,{label:"Variant",data:Sp,value:r.variant,onChange:a=>i("variant",a)}),g(s.SimpleGrid,{cols:2,children:[o(Cp,{label:"Theme",value:r.color,onChange:a=>i("color",a)}),g(s.Stack,{children:[o(wp,{label:"Size",value:r.size,onChange:a=>i("size",a)}),o(s.Checkbox,{label:"Compact",checked:r.compact,onChange:a=>i("compact",a.currentTarget.checked)})]})]})]})}class Dp extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Mp={displayName:"Button",migrator:new Dp,name:"button",viewRender:bp,configRender:_p,createConfig:()=>$n,triggers:[xi]},Ip=[{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"})),Vp=[Is,Vs,ks,Ts,As,Es],wi=()=>({id:"dashboard",version:$s,manifest:{viz:[kn,bc,pc,_c,Gu,Ns,Rl,Ou,Au,Xu,lc,hp,Mp],color:[...Ip,...Vp]}}),ot=new Os,te={pluginManager:Re("pluginManager"),vizManager:Re("vizManager"),colorManager:Re("colorManager"),instanceScope:{vizInstance:Re("vizInstance"),interactionManager:Re("interactionManager"),migrator:Re("migrator"),operationManager:Re("operationManager"),triggerManager:Re("triggerManager")}},Rn=()=>{try{ot.install(wi())}catch{}const e=new _s(ot),t=new Rs(ot);return{pluginManager:ot,vizManager:e,colorManager:t}},Me=w.createContext(Rn());try{ot.install(wi())}catch{}function Ap(e,t){const{value:n,set:r}=G(e.operation.operationData,"config"),[i,a]=w.useState(x.defaults({},n,t)),l=async()=>{await r(i)};return w.useEffect(()=>{a(x.defaults({},n,t))},[n]),{config:i,setConfig:a,commit:l}}function Tp(e){const{config:t,setConfig:n,commit:r}=Ap(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function a(u){n({...t,openInNewTab:u}),await r()}const l=u=>n({...t,urlTemplate:u.currentTarget.value});return g(s.Stack,{children:[o(s.TextInput,{label:"Url",value:t.urlTemplate,onChange:l,onBlur:i}),o(s.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:u=>a(u.currentTarget.checked)})]})}async function kp(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 Ep extends ue{constructor(){super(...arguments);$(this,"VERSION",1)}configVersions(){this.version(1,n=>n)}}const $p={displayName:"Open Link",id:"builtin:op:open-link",configRender:Tp,run:kp,migrator:new Ep,createDefaultConfig:()=>({version:1,config:{urlTemplate:"",openInNewTab:!0}})};function Rp(e){const{value:t,set:n}=G(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function Op(e){const[t,n]=Rp(e.operation);return o(s.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function Pp(e,t){const n=await t.operationData.getItem("config"),r=x.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const Fp={displayName:"console.log (debug)",id:"builtin:op:debug",configRender:Op,run:Pp},zp=I.observer(e=>{const t=B(),{value:n,set:r}=G(e.operation.operationData,"config");console.log({value:n,viewID:n==null?void 0:n.viewID});const i=(n==null?void 0:n.viewID)||"",a=l=>void r({viewID:l});return o(s.Select,{defaultValue:i,value:i,onChange:a,label:"View",data:t.views.options})});async function qp(e,t){const r=(await t.operationData.getItem("config")).viewID;window.dispatchEvent(new CustomEvent("open-view",{detail:{viewID:r}}))}const Gp={displayName:"Open View",id:"builtin:op:open_view",configRender:zp,run:qp},Np={dictionary:{}},Lp=I.observer(e=>{const t=B(),{value:n=Np,set:r}=G(e.operation.operationData,"config"),{dictionary:i={}}=n,a=(c,p)=>{r({dictionary:{...i,[c]:p}})},l=()=>{a(t.filters.firstFilterValueKey,"")},u=c=>{const p={...i};delete p[c],r({dictionary:p})};return console.log(t.filters.values),g(s.Stack,{spacing:10,children:[o(s.Text,{children:"Mapping Rules"}),Object.entries(i).map(([c,p],d)=>g(s.Group,{noWrap:!0,children:[o(s.TextInput,{label:"Payload key",value:p,onChange:h=>{a(c,h.currentTarget.value)}}),o(J,{data:[t.filters.values],value:c,onChange:h=>{a(h,p)},label:"Filter key"}),o(s.ActionIcon,{onClick:()=>u(c),sx:{marginTop:"22px"},children:o(T.Trash,{size:14,color:"red"})})]},c)),o(s.Button,{size:"xs",onClick:l,children:"Add one mapping rule"})]})});async function Bp(e,t){const r=(await t.operationData.getItem("config")).dictionary;window.dispatchEvent(new CustomEvent("set-filter-values",{detail:{dictionary:r,payload:e}}))}const Dt=[Fp,$p,Gp,{displayName:"Set Filter Values",id:"builtin:op:set_filter_values",configRender:Lp,run:Bp}];class jp{constructor(t,n=Dt){$(this,"attachments");this.operations=n;const r=async i=>{const{id:a,schemaRef:l}=await i.getItem(null);return{id:a,schemaRef:l,operationData:new Ue(i,"data")}};this.attachments=new Ut(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},a=this.tryGetSchema(r.schemaRef),l=a==null?void 0:a.migrator;return l&&await l.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},a=this.tryGetSchema(r.schemaRef),l=a==null?void 0:a.migrator;l&&await l.needMigration(i)&&await l.migrate(i)});await Promise.all(n)}async createOrGetOperation(t,n){var l,u;if(!this.getOperationSchemaList().some(c=>c.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:(u=(l=n.createDefaultConfig)==null?void 0:l.call(n))!=null?u:{}}):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)}}class On{constructor(t,n,r){$(this,"operationManager");$(this,"triggerManager");$(this,"attachments");this.operationManager=new jp(t,r),this.triggerManager=new mp(t,n);const i=async a=>{const{id:l,triggerRef:u,operationRef:c}=await a.getItem(null);return{id:l,triggerRef:u,operationRef:c}};this.attachments=new Ut(t,"__INTERACTIONS",i)}async addInteraction(t,n){const r=t.id,i=n.id,a=`[${r}]:[${i}]`;await this.attachments.create(a,{id:a,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(a=>a.triggerRef===t);await Promise.all(i.map(async a=>{try{return await this.operationManager.runOperation(a.operationRef,n)}catch(l){console.warn(`Failed to run operation '${a.operationRef}'`,l)}}))}}function Wp(e,t){const[n,r]=w.useState([]);return j.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t]),n}const Up=I.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:a})=>{const{triggerRef:l,operationRef:u}=e,c=ys(t.triggerManager,n);if(j.useAsyncEffect(async()=>{await c.configTrigger(l,r)},[c,l,r]),c.isReady()){const p=[...c.triggerSchema.payload,...i];return g(s.Group,{children:[o(ws,{model:c}),o(hs,{instance:n,operationId:u,variables:p,operationManager:t.operationManager}),o(s.Button,{"aria-label":"delete-interaction",variant:"outline",color:"red",onClick:()=>a(e),children:o(T.Trash,{})})]})}return null}),Yp=e=>{const[t,n]=w.useState(0),{interactionManager:r,instance:i,sampleData:a,variables:l}=e,u=Wp(r,t),c=async()=>{const f=await r.triggerManager.createOrGetTrigger(Z.randomId(),r.triggerManager.getTriggerSchemaList()[0]),v=await r.operationManager.createOrGetOperation(Z.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(f,v),n(C=>C+1)};async function p(f){await r.removeInteraction(f.id),n(v=>v+1)}const{data:d=0,loading:h}=j.useRequest(async()=>{try{return(await r.triggerManager.getTriggerSchemaList()).length}catch{return 0}});return g(s.Stack,{children:[o(s.LoadingOverlay,{visible:h}),d===0&&o(s.Alert,{icon:o(T.AlertCircle,{size:16}),title:"Unavailable",color:"gray",children:"This visualization does not have available interactions to choose from"}),u.map(f=>o(Up,{onRemove:p,instance:i,sampleData:a,variables:l,item:f,manager:e.interactionManager},f.id)),o(s.Button,{style:{width:"fit-content"},onClick:()=>c(),disabled:d===0,children:"Add interaction"})]})},Hp=()=>{const{panel:e,data:t}=oe(),n=e.viz,{vizManager:r}=w.useContext(Me),i=e.json,a=j.useCreation(()=>r.getOrCreateInstance(i),[r,n.type]),l=j.useCreation(()=>new On(a,r.resolveComponent(n.type),Dt),[a,n.type]);return w.useEffect(()=>a.instanceData.watchItem(null,x.throttle(u=>{e.viz.setConf(u)},100,{leading:!1,trailing:!0})),[a]),{instance:a,vizManager:r,interactionManager:l,sampleData:t,variables:[]}},Qp=()=>{const e=Hp();return o(Yp,{...e})},Jp=I.observer(()=>{const{panel:e}=oe(),[t,n]=_.default.useState(e.description),r=e.description!==t,i=_.default.useCallback(()=>{!r||e.setDescription(t)},[r,t]);return g(s.Stack,{spacing:4,sx:{flexGrow:1},children:[g(s.Group,{align:"end",children:[o(s.Text,{sx:{flexGrow:1},children:"Description"}),o(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!r,onClick:i,children:o(T.DeviceFloppy,{size:20})})]}),o(Rt.RichTextEditor,{value:t,onChange:n,sx:{flexGrow:1},sticky:!0,p:"0"})]})}),Xp=I.observer(()=>{const{panel:e}=oe(),{style:t}=e;return o(H,{children:o(s.Switch,{label:"Border",checked:t.border.enabled,onChange:n=>t.border.setEnabled(n.currentTarget.checked)})})}),Kp=I.observer(()=>{const{panel:{title:e,style:{border:t}}}=oe();return o(je,{children:g(s.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.enabled?"1px":"0px"},children:[g(s.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[o(s.Group,{children:o(_r,{})}),o(s.Group,{grow:!0,position:"center",children:o(s.Text,{lineClamp:1,weight:"bold",children:e})}),o(s.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),o(s.Group,{sx:{background:"#eee",flexGrow:1}})]})})}),Zp=I.observer(()=>{const{panel:e}=oe(),{title:t,setTitle:n}=e,[r,i]=Z.useInputState(t),a=t!==r,l=_.default.useCallback(()=>{!a||n(r)},[a,r]);return o(s.TextInput,{value:r,onChange:i,label:g(s.Group,{align:"apart",children:[o(s.Text,{sx:{flexGrow:1},children:"Panel Title"}),o(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:l,children:o(T.DeviceFloppy,{size:20})})]}),styles:{label:{display:"block",paddingBottom:"4px"}}})});function eg(){return g(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[g(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[o(s.Divider,{label:"Style",labelPosition:"center",variant:"dashed"}),o(Xp,{}),o(s.Divider,{label:"Info",labelPosition:"center",variant:"dashed"}),o(Zp,{}),o(Jp,{})]}),o(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(Kp,{})})]})}const tg=I.observer(function(){const t=B(),{panel:{queryID:n,setQueryID:r}}=oe(),i=_.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.id})),[t.queries.current]);return g(s.Stack,{children:[g(s.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[o(s.Text,{children:"Select a Query"}),o(s.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),o(pr,{id:n})]})});var Si=(e=>(e.migrated="migrated",e.nothingToMigrate="nothingToMigrate",e.checkFailed="checkFailed",e.migrationFailed="migrationFailed",e))(Si||{}),Mt=(e=>(e.notStarted="notStarted",e.inProgress="inProgress",e.done="done",e))(Mt||{});class ng{constructor(t){$(this,"vizInstance");$(this,"operationManager");$(this,"triggerManager");$(this,"vizManager");$(this,"runningMigration");$(this,"status","notStarted");this.vizInstance=t.getRequired(te.instanceScope.vizInstance),this.operationManager=t.getRequired(te.instanceScope.operationManager),this.triggerManager=t.getRequired(te.instanceScope.triggerManager),this.vizManager=t.getRequired(te.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};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 _i(e){return w.useCallback(t=>{const n=t.getRequired(te.vizManager),r=n.resolveComponent(e.viz.type);return t.createScoped().provideFactory(te.instanceScope.vizInstance,()=>n.getOrCreateInstance(e)).provideFactory(te.instanceScope.interactionManager,i=>{const a=i.getRequired(te.instanceScope.vizInstance);return new On(a,r,Dt)}).provideFactory(te.instanceScope.operationManager,i=>i.getRequired(te.instanceScope.interactionManager).operationManager).provideFactory(te.instanceScope.triggerManager,i=>i.getRequired(te.instanceScope.interactionManager).triggerManager).provideFactory(te.instanceScope.migrator,i=>new ng(i))},[e.viz.type,e.viz.conf])}function Di(e){const[t,n]=w.useState(!1),r=rr().getRequired(te.instanceScope.migrator);return j.useAsyncEffect(async()=>{const i=r.status===Mt.notStarted;n(r.status===Mt.done),r.status===Mt.notStarted&&r.runMigration().then(a=>{a===Si.migrated&&i&&(e==null||e())}).finally(()=>{n(!0)})},[r]),t}function Mi(e,t){const n=rr().getRequired(te.instanceScope.vizInstance);return w.useEffect(()=>n.instanceData.watchItem(null,r=>{e(r)}),[e,t.viz.type]),n}function rg({setVizConf:e,...t}){const{panel:n}=t,r=Mi(e,n),i=Di(()=>{st.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return j.useAsyncEffect(async()=>{await r.instanceData.setItem(null,n.viz.conf)},[r,n.viz.type]),i?o(Ms,{...t}):o(s.Text,{children:"Checking update..."})}function ig(e){const{panel:t,setVizConf:n}=e;return Mi(n,t),Di(()=>{st.showNotification({title:`${t.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?o(Ds,{...e}):o(s.Text,{children:"Checking update"})}const th="";function og(e,t){const{vizManager:n}=w.useContext(Me),{panel:{viz:r,title:i,id:a,description:l,queryID:u,style:c}}=oe(),p={title:i,id:a,description:l,queryID:u,viz:r,layout:t,style:c.json},d=_i(p);try{return n.resolveComponent(r.type),o(ut,{configure:d,children:o(ig,{setVizConf:r.setConf,panel:p,data:e,vizManager:n})})}catch(h){return console.info(x.get(h,"message")),null}}const ag=["richText","button"],Ii=I.observer(function({height:t,viz:n,data:r,loading:i,error:a}){const{ref:l,width:u,height:c}=Z.useElementSize(),p=_.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]),d=og(r,{w:u,h:c});return ag.includes(n.type)?o("div",{className:"viz-root",style:{height:t},ref:l,children:o(je,{children:d})}):i?o("div",{className:"viz-root",style:{height:t},ref:l,children:o(s.LoadingOverlay,{visible:i,exitTransitionDuration:0})}):g("div",{className:"viz-root",style:{height:t},ref:l,children:[a&&o(s.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:a}),!a&&p&&o(s.Text,{color:"gray",align:"center",children:"Empty Data"}),!p&&o(je,{children:d})]})}),sg=I.observer(()=>{const{data:e,loading:t,panel:{viz:n}}=oe();return o(Ii,{viz:n,data:e,loading:t,height:"100%"})}),Pn=[];function lg(){const{vizManager:e}=w.useContext(Me);return w.useMemo(()=>e.availableVizList.map(t=>({value:t.name,label:t.displayName})).concat(Pn),[e])}function ug(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function cg(){const{data:e,panel:{viz:t,title:n,queryID:r,description:i,setDescription:a,setTitle:l,setQueryID:u,id:c,style:p}}=oe(),{vizManager:d}=w.useContext(Me),h={title:n,description:i,viz:t,queryID:r,id:c,style:p.json},f={setDescription:a,setQueryID:u,setTitle:l},v=_i(h);try{return d.resolveComponent(h.viz.type),o(ut,{configure:v,children:o(rg,{setVizConf:t.setConf,panel:h,panelInfoEditor:f,vizManager:d,data:e})})}catch(C){return console.info(x.get(C,"message")),null}}const dg=I.observer(()=>{const{data:e,panel:{viz:t}}=oe(),[n,r]=Z.useInputState(t.type),i=t.type!==n,{vizManager:a}=w.useContext(Me),l=_.default.useCallback(()=>{if(!i)return;const v=ug(a,n);t.setType(n),t.setConf(v||{})},[t,i,n]),u=v=>{try{t.setConf(JSON.parse(v))}catch(C){console.error(C)}},c=_.default.useMemo(()=>{var v;return(v=Pn.find(C=>C.value===n))==null?void 0:v.Panel},[n,Pn]),p=cg(),d=c?w.createElement(c,{data:e,conf:t.conf,setConf:t.setConf}):null,h=p||d,f=lg();return g(H,{children:[o(s.Select,{label:"Visualization",value:n,onChange:r,data:f,rightSection:o(s.ActionIcon,{disabled:!i,onClick:l,children:o(T.DeviceFloppy,{size:20})})}),h,!h&&o(s.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:u})]})});function pg(){return g(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[o(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,overflow:"scroll",height:"100%"},children:o(dg,{})}),o(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(sg,{})})]})}const gg=I.observer(function({opened:t,close:n}){const{freezeLayout:r}=_.default.useContext(Ce),[i,a]=w.useState("Visualization"),{panel:l,loading:u}=oe(),{id:c,title:p}=l;return _.default.useEffect(()=>{r(t)},[t]),o(s.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:`Editing Panel - ${p.trim()?p:c}`,trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:o(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",minHeight:"unset",maxHeight:"100%",width:"100%",padding:"16px"}},padding:"md",children:g(s.Tabs,{value:i,onTabChange:a,className:"panel-settings-tabs",children:[g(s.Tabs.List,{children:[o(s.Tabs.Tab,{value:"Data",children:"Data"}),o(s.Tabs.Tab,{value:"Panel",children:"Panel"}),o(s.Tabs.Tab,{value:"Visualization",children:"Visualization"}),o(s.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),g(s.Tabs.Panel,{value:"Data",pt:"sm",children:[o(s.LoadingOverlay,{visible:u,exitTransitionDuration:0}),o(tg,{})]}),o(s.Tabs.Panel,{value:"Panel",pt:"sm",children:i==="Panel"&&o(eg,{})}),o(s.Tabs.Panel,{value:"Visualization",pt:"sm",children:i==="Visualization"&&o(pg,{})}),o(s.Tabs.Panel,{value:"Interactions",pt:"sm",children:o(je,{children:o(Qp,{})})})]})})})}),fg=I.observer(({view:e})=>{const t=B(),n=Ie.useModals(),[r,i]=_.default.useState(!1),a=()=>i(!0),l=()=>i(!1),{panel:u}=oe(),{id:c,query:p}=u,{inEditMode:d}=_.default.useContext(Ce),h=()=>p==null?void 0:p.fetchData(),{viewPanelInFullScreen:f,inFullScreen:v}=_.default.useContext(Gt),C=()=>{e.panels.duplicateByID(c)},b=()=>n.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(c)}),D=_.default.useCallback(()=>{f(c)},[c,f]);return g(H,{children:[o(s.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:g(s.Menu,{withinPortal:!0,children:[o(s.Menu.Target,{children:o(s.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),g(s.Menu.Dropdown,{children:[o(s.Menu.Item,{onClick:h,icon:o(T.Refresh,{size:14}),children:"Refresh"}),o(s.Menu.Item,{onClick:()=>t.queries.downloadDataByQueryID(p),icon:o(T.Download,{size:14}),children:"Download Data"}),!v&&o(s.Menu.Item,{onClick:D,icon:o(T.ArrowsMaximize,{size:14}),children:"Full Screen"}),d&&g(H,{children:[o(s.Divider,{label:"Edit",labelPosition:"center"}),o(s.Menu.Item,{onClick:a,icon:o(T.Settings,{size:14}),children:"Settings"}),o(s.Menu.Item,{onClick:C,icon:o(T.Copy,{size:14}),children:"Duplicate"}),o(s.Menu.Item,{color:"red",onClick:b,icon:o(T.Trash,{size:14}),children:"Delete"})]})]})]})}),d&&o(gg,{opened:r,close:l})]})}),nh="",hg=I.observer(function(){const{panel:t}=oe(),{title:n}=t;return n?o(s.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:o(s.Text,{align:"center",lineClamp:1,weight:"bold",children:n})}):null});function mg(e){return!["richText","button"].includes(e)}const vg={border:"1px solid #e9ecef"},Vi={border:"1px dashed transparent",transition:"border-color 300ms ease","&:hover":{borderColor:"#e9ecef"}};function yg(e,t,n){return e.style.border.enabled?vg:n||t?Vi:{border:"1px dashed transparent"}}const It=I.observer(function({panel:t,view:n}){const r=B(),{inEditMode:i}=w.useContext(Ce),{data:a,state:l,error:u}=r.getDataStuffByID(t.queryID),c=mg(t.viz.type),p=c&&l==="loading",d=t.title?"calc(100% - 25px - 5px)":"100%",h=yg(t,c,i),f=c||i;return o(sr,{value:{panel:t,data:a,loading:p},children:g(s.Box,{className:"panel-root",p:5,pt:0,sx:{...h},children:[o(s.Box,{sx:{position:"absolute",left:0,top:0,height:28,zIndex:310},children:o(_r,{})}),f&&o(fg,{view:n}),o(hg,{}),o(Ii,{viz:t.viz,data:a,loading:p,error:u,height:d})]})})}),Ai=I.observer(function({view:t,panel:n,exitFullScreen:r}){return g(s.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[o(s.Group,{mx:"-5px",sx:{flexGrow:0},children:o(s.Button,{variant:"default",size:"sm",onClick:r,leftIcon:o(T.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),o(s.Group,{mx:"-5px",grow:!0,sx:{flexGrow:1,flexShrink:0},children:o(It,{view:t,panel:n})})]})});function Ti(e,t,n){const r=e.id==="Main",[i,a]=_.default.useState(()=>r&&e.panels.findByID(t)?t:null),l=_.default.useCallback(d=>{a(d),r&&n(d)},[r,n]),u=_.default.useCallback(()=>{a(null),r&&n("")},[r,n]),c=i?e.panels.findByID(i):null;return{viewPanelInFullScreen:l,exitFullScreen:u,inFullScreen:!!c,fullScreenPanel:c}}function ki(){_.default.useEffect(()=>{const e=Zo.default(".dashboard-sticky-area",{useStickyClasses:!0,parentClass:"dashboard-sticky-parent"});return()=>{e==null||e.cleanup()}},[])}const rh="",bg=_.default.forwardRef(({handleAxis:e},t)=>o(s.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:o(T.ArrowsMove,{size:16})})),Cg=_.default.forwardRef(({handleAxis:e,...t},n)=>o(s.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:o(T.ChevronDownRight,{size:16})})),xg=Pt.WidthProvider(Zn.default),wg=I.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:a}){const l=_.default.useCallback(u=>{u.forEach(({i:c,...p})=>{const d=t.panels.findByID(c);!d||d.layout.set(p)})},[t]);return o(xg,{onLayoutChange:l,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:a,draggableHandle:".react-grid-customDragHandle",resizeHandle:o(Cg,{}),children:t.panels.list.map((u,c)=>g("div",{"data-grid":{...u.layout},style:{position:"relative"},children:[i&&o(bg,{}),o(It,{view:t,panel:u})]},u.id))})}),Sg=Pt.WidthProvider(Zn.default),_g=I.observer(function({view:t,className:n="layout",rowHeight:r=10}){return o(Sg,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.list.map(i=>o("div",{"data-grid":i.layout,children:o(It,{view:t,panel:i})},i.id))})}),Dg=I.observer(({children:e})=>o(s.Box,{children:e})),Mg=I.observer(({children:e,view:t})=>o(s.Modal,{size:t.config.width,overflow:"inside",opened:!0,onClose:Y.default.noop,withCloseButton:!1,title:t.name,trapFocus:!0,onDragStart:n=>{n.stopPropagation()},styles:{root:{position:"relative",height:"calc(100% - 46px)"},overlay:{position:"absolute !important"},modal:{border:"1px solid #efefef"},body:{"> div":{maxHeight:t.config.height,overflow:"scroll"}}},withinPortal:!1,transitionDuration:0,children:e})),Ig=I.observer(({view:e,children:t})=>{switch(e.type){case he.Modal:return o(Mg,{view:e,children:t});case he.Division:default:return o(Dg,{children:t})}}),Ei=I.observer(function({view:t,saveDashboardChanges:n,fullScreenPanelID:r,setFullScreenPanelID:i}){const{viewPanelInFullScreen:a,exitFullScreen:l,inFullScreen:u,fullScreenPanel:c}=Ti(t,r,i);return ki(),o(Gt.Provider,{value:{viewPanelInFullScreen:a,inFullScreen:u},children:g(s.Box,{className:"dashboard-view",mx:-10,sx:{position:"relative",height:"100%"},children:[u&&o(Ai,{view:t,panel:c,exitFullScreen:l}),!u&&o(Sr,{saveChanges:n}),o(Ig,{view:t,children:g(s.Box,{className:"dashboard-sticky-parent",children:[!u&&o(s.Box,{className:"dashboard-sticky-area",children:o(cr,{view:t})}),!u&&o(wg,{view:t,isDraggable:!0,isResizable:!0})]})})]})})}),Vg=I.observer(({children:e})=>o(s.Box,{children:e})),Ag=I.observer(({children:e,view:t})=>{const n=B(),r=n.views.visibleViewIDs.includes(t.id),i=()=>n.views.rmVisibleViewID(t.id);return o(s.Modal,{size:t.config.width,centered:!0,overflow:"inside",opened:r,onClose:i,withCloseButton:!1,title:t.name,trapFocus:!0,onDragStart:a=>{a.stopPropagation()},styles:{modal:{border:"1px solid #efefef"},body:{maxHeight:t.config.height,overflow:"scroll"}},transitionDuration:0,children:e})}),Tg=I.observer(({view:e,children:t})=>{switch(e.type){case he.Modal:return o(Ag,{view:e,children:t});case he.Division:default:return o(Vg,{children:t})}}),$i=I.observer(function({view:t,fullScreenPanelID:n,setFullScreenPanelID:r}){const{viewPanelInFullScreen:i,exitFullScreen:a,inFullScreen:l,fullScreenPanel:u}=Ti(t,n,r);return ki(),o(Gt.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:l},children:g(s.Box,{className:"dashboard-view",mx:-10,sx:{position:"relative",height:"100%"},children:[l&&o(Ai,{view:t,panel:u,exitFullScreen:a}),!l&&o(Sr,{saveChanges:Y.default.noop}),o(Tg,{view:t,children:g(s.Box,{className:"dashboard-sticky-parent",children:[!l&&o(s.Box,{className:"dashboard-sticky-area",children:o(cr,{view:t})}),!l&&o(_g,{view:t})]})})]})})}),Ri=y.types.model("FilterConfigModel_Checkbox",{_name:y.types.literal("checkbox"),default_value:y.types.boolean}).actions(e=>({setDefaultValue(t){e.default_value=t}})),kg=()=>Ri.create({_name:"checkbox",default_value:!1}),Eg=y.types.model("FilterConfigModel_DateRange",{_name:y.types.literal("date-range"),required:y.types.boolean,inputFormat:y.types.enumeration("DateRangeInputFormat",["YYYY","YYYYMM","YYYYMMDD","YYYY-MM","YYYY-MM-DD"]),default_value:y.types.optional(y.types.array(y.types.union(y.types.string,y.types.null)),[null,null]),clearable:y.types.boolean}).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)}})),Oi=y.types.snapshotProcessor(Eg,{preProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>n===null?null:ke.default.tz(n,"UTC").toISOString())}},postProcessor({default_value:e,...t}){return{...t,default_value:e.map(n=>{try{return n?ke.default.tz(n,"UTC").format(t.inputFormat):null}catch{return console.log(`[date-range] failed parsing ${n}`),null}})}}}),$g=()=>Oi.create({_name:"date-range",required:!1,inputFormat:"YYYY-MM-DD",clearable:!1,default_value:[null,null]}),Rg=y.types.model({label:y.types.string,value:y.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),Pi=y.types.model("FilterConfigModel_BaseSelect",{static_options:y.types.optional(y.types.array(Rg),[]),options_query_id:y.types.optional(y.types.string,""),select_first_by_default:y.types.optional(y.types.boolean,!1)}).views(e=>({get options(){const{options_query_id:t,static_options:n}=e;if(!t)return n;const{data:r,state:i,error:a}=y.getRoot(e).getDataStuffByID(t);return i==="idle"?r:[]}})).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setSelectFirstByDefault(t){e.select_first_by_default=t},setOptionsQueryID(t){e.options_query_id=t}})),Fi=y.types.compose("FilterConfigModel_MultiSelect",y.types.model({_name:y.types.literal("multi-select"),default_value:y.types.optional(y.types.array(y.types.string),[]),min_width:y.types.optional(y.types.string,"")}),Pi).actions(e=>({setDefaultValue(t){e.default_value=y.cast(t)},setMinWidth(t){e.min_width=t}})),Og=()=>Fi.create({_name:"multi-select",default_value:[],static_options:[],options_query_id:"",select_first_by_default:!1}),zi=y.types.compose("FilterConfigModel_Select",y.types.model({_name:y.types.literal("select"),default_value:y.types.string,required:y.types.boolean,width:y.types.optional(y.types.string,"")}),Pi).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setWidth(t){e.width=t}})),Pg=()=>zi.create({_name:"select",required:!1,default_value:"",static_options:[],options_query_id:"",select_first_by_default:!1}),Fn=y.types.model("FilterModel",{id:y.types.identifier,key:y.types.string,label:y.types.string,order:y.types.number,visibleInViewsIDs:y.types.array(y.types.string),type:y.types.enumeration("DashboardFilterType",[fe.Select,fe.MultiSelect,fe.TextInput,fe.Checkbox,fe.DateRange]),config:y.types.union(zi,Fi,hr,Ri,Oi)}).views(e=>({get plainDefaultValue(){const t=e.config.default_value;return Array.isArray(t)?[...t]:t}})).actions(e=>({setKey(t){e.key=t},setLabel(t){e.label=t},setOrder(t){e.order=t},setType(t){switch(t){case fe.Select:e.config=Pg();break;case fe.MultiSelect:e.config=Og();break;case fe.TextInput:e.config=mr();break;case fe.Checkbox:e.config=kg();break;case fe.DateRange:e.config=$g();break}e.type=t},setVisibleInViewsIDs(t){e.visibleInViewsIDs.length=0,e.visibleInViewsIDs.push(...t)}}));function qi(e,t){if(e===void 0)return e;if(Array.isArray(e))try{return e.map(n=>{const r=ke.default.tz(n,"UTC").format(t.inputFormat);return r!=null?r:n})}catch(n){return console.error(n),e}return e}function Gi(e){return e.reduce((t,n)=>(t[n.key]=qi(n.config.default_value,n.config),t),{})}function Fg(e,t,n){y.addDisposer(e,y.addMiddleware(e,(r,i)=>{i(r,()=>{y.getType(r.context)===t&&r.type==="action"&&n(r.name,r.context)})}))}const Ni=y.types.model("FiltersModel",{current:y.types.optional(y.types.array(Fn),[]),values:y.types.optional(y.types.frozen(),{}),previewValues:y.types.optional(y.types.frozen(),{})}).views(e=>({get firstID(){if(e.current.length!==0)return e.current[0].id},get inOrder(){return Y.default.sortBy(e.current,"order")},get empty(){return e.current.length===0},visibleInView(t){return Y.default.sortBy(e.current.filter(n=>n.visibleInViewsIDs.includes(t)),"order")},get firstFilterValueKey(){var t;return(t=Object.keys(e.values)[0])!=null?t:""}})).actions(e=>({replace(t){e.current=y.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,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=Gi(e.current)},updatePreviewValues(t){e.previewValues=t}})).actions(e=>{function t(){Fg(e.current,Fn,(n,r)=>{if(n==="setType"){const i=qi(r.config.default_value,r.config);e.setValueByKey(r.key,i),e.updatePreviewValues({...e.previewValues,[r.key]:i})}})}return{afterCreate(){t()}}});function Li(e){return{current:e,values:Gi(e)}}const zg=y.types.model("QueryModel",{id:y.types.string,type:y.types.enumeration("DataSourceType",[Oe.Postgresql,Oe.MySQL,Oe.HTTP]),key:y.types.string,sql:y.types.string}).views(e=>({get valid(){return e.id&&e.type&&e.key&&e.sql},get configurations(){const{id:t,type:n,key:r,sql:i}=e;return{id:t,type:n,key:r,sql:i}}})),Bi=y.types.compose("QueryModel",zg,y.types.model({state:y.types.optional(y.types.enumeration(["idle","loading","error"]),"idle"),data:y.types.optional(y.types.array(y.types.frozen()),[]),error:y.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,mock_context:n,sqlSnippets:r,filterValues:i}=y.getRoot(e).payloadForSQL;return gr(e.sql,t,n,r,i)}})).views(e=>({get json(){const{id:t,type:n,key:r,sql:i}=e;return{id:t,type:n,key:r,sql:i}}})).actions(e=>({setID(t){e.id=t},setKey(t){e.key=t},setType(t){e.type=t},setSQL(t){e.sql=t},fetchData:y.flow(function*(){if(!!e.valid){e.state="loading";try{const t=e.id,{context:n,mock_context:r,sqlSnippets:i,filterValues:a}=y.getRoot(e).payloadForSQL;e.data=yield*y.toGenerator(Ca({context:n,mock_context:r,sqlSnippets:i,title:t,query:{type:e.type,key:e.key,sql:e.sql},filterValues:a})),e.state="idle",e.error=null}catch(t){e.data.length=0,e.error=x.get(t,"response.data.detail.message","unknown error"),e.state="error"}}})})).actions(e=>({afterCreate(){y.addDisposer(e,ie.reaction(()=>`${e.id}--${e.key}--${e.type}--${e.formattedSQL}`,e.fetchData,{fireImmediately:!0,delay:500}))}})),ji=y.types.model("QueriesModel",{current:y.types.optional(y.types.array(Bi),[])}).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.filter(t=>t.id).map(t=>({value:t.id,label:t.id}))}})).views(e=>({get json(){return e.current.map(t=>t.json)}})).actions(e=>({replace(t){e.current=y.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(({id:n,data:r})=>({id:n,data:r.toJSON()}));pa(t)},downloadDataByQueryID(t){if(!t){console.log("[downloadDataByQueryID] query not found");return}const{id:n,data:r}=t,i=dr(r);ca(n,i)},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&&(y.detach(n),e.current.remove(n))}})),Wi=y.types.model("SQLSnippetModel",{key:y.types.string,value:y.types.string}).views(e=>({get json(){const{key:t,value:n}=e;return{key:t,value:n}}})).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),Ui=y.types.model("SQLSnippetsModel",{current:y.types.optional(y.types.array(Wi),[])}).views(e=>({get json(){return e.current.map(t=>t.json)},get record(){return e.current.reduce((t,n)=>(t[n.key]=n.value,t),{})}})).actions(e=>({replace(t){e.current=y.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},replaceByIndex(t,n){e.current.splice(t,1,n)}})),Yi=y.types.model("ContextModel",{current:y.types.optional(y.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}})),qg=y.types.model("MockContextModel",{current:y.types.optional(y.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}})),Gg=y.types.model("PanelLayoutModel",{x:y.types.number,y:y.types.number,w:y.types.number,h:y.types.number,moved:y.types.optional(y.types.boolean,!1),static:y.types.optional(y.types.boolean,!1)}).views(e=>({get json(){const{x:t,y:n,w:r,h:i,moved:a}=e;return{x:t,y:n,w:r,h:i,moved:a,static:e.static}}})).actions(e=>({set(t){const{x:n,y:r,w:i,h:a,moved:l}=t;e.x=n,e.y=r,e.w=i,e.h=a,e.moved=!!l,e.static=!!t.static}})),Ng=y.types.model("PanelStyleBorderModel",{enabled:y.types.boolean}).views(e=>({get json(){const{enabled:t}=e;return{enabled:t}}})).actions(e=>({setEnabled(t){e.enabled=t}})),Lg=y.types.model("PanelStyleModel",{border:Ng}).views(e=>({get json(){const{border:t}=e;return{border:t.json}}})).actions(e=>({})),Bg=y.types.model("PanelVizModel",{type:y.types.string,conf:y.types.frozen()}).views(e=>({get json(){return{type:e.type,conf:e.conf}}})).actions(e=>({setType(t){e.type=t},setConf(t){e.conf=t}})),jg=y.types.model({id:y.types.string,title:y.types.string,description:y.types.string,layout:Gg,queryID:y.types.string,viz:Bg,style:Lg}).views(e=>({get query(){return y.getParentOfType(e,Vt).queries.findByID(e.queryID)},get json(){const{id:t,title:n,description:r,queryID:i}=e;return{id:t,title:n,description:r,layout:e.layout.json,queryID:i,viz:e.viz.json,style:e.style.json}}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){if(y.getParentOfType(e,Vt).queries.findByID(t))e.queryID=t;else throw new Error(`Query with id ${t} does not exist`)}})),Wg=y.types.model("PanelsModel",{list:y.types.optional(y.types.array(jg),[])}).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)}})).actions(e=>({replace(t){e.list=y.castToSnapshot(t)},addANewPanel(){const t=Z.randomId();e.list.push({id:t,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${t}`,description:"<p><br></p>",queryID:"",viz:{type:kn.name,conf:kn.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:Z.randomId(),layout:{...n.layout,x:0,y:1/0,moved:!1}})},replaceByIndex(t,n){e.list.splice(t,1,n)}})),Hi=y.types.model({id:y.types.identifier,name:y.types.string,type:y.types.string,config:y.types.frozen(),panels:Wg}).views(e=>({get json(){const{id:t,name:n,type:r,config:i}=e;return{id:t,name:n,type:r,config:i,panels:e.panels.json}}})).actions(e=>({setName(t){e.name=t},setType(t){e.type!==t&&(t===he.Modal?e.config={width:"600px",height:"400px"}:e.config={},e.type=t)},setConfig(t){e.config=t},updateConfig(t,n){e.config={...e.config,[t]:n}}})).actions(e=>({})),Qi=y.types.model("ViewsModel",{current:y.types.optional(y.types.array(Hi),[]),visibleViewIDs:y.types.array(y.types.string),idOfVIE:y.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}))}})).actions(e=>({replace(t){e.current.replace(t)},addANewView(t,n,r){e.current.push({id:t,name:t,type:n,config:r,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=Z.randomId();e.addANewView(t,he.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 Ji(e){const t=e.length>0?[e[0].id]:[],n=e.length>0?e[0].id:"";return{current:e.map(i=>({...i,panels:{list:i.panels}})),visibleViewIDs:t,idOfVIE:n}}const Ug=y.types.model({id:y.types.identifier,name:y.types.string,version:y.types.string,filters:Ni,queries:ji,sqlSnippets:Ui,views:Qi,context:Yi,mock_context:qg,origin:y.types.maybe(y.types.frozen())}).views(e=>({get filtersChanged(){const t="filters.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get queriesChanged(){const t="queries.current",n=y.getSnapshot(x.get(e,t)).map(r=>x.pick(r,["id","key","type","sql"]));return!x.isEqual(n,x.get(e.origin,t))},get sqlSnippetsChanged(){const t="sqlSnippets.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get viewsChanged(){const t="views.current";return!x.isEqual(y.getSnapshot(x.get(e,t)),x.get(e.origin,t))},get mockContextChanged(){const t="mock_context.current";return!x.isEqual(x.get(e,t),x.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(),state:n.state,error:n.error}:{data:[],state:"idle",error:void 0}},getDataStateByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.state)!=null?r:[]},getDataErrorByID(t){var n,r;return(r=(n=e.queries.findByID(t))==null?void 0:n.error)!=null?r:[]}})).views(e=>({findDependingPanels(t){return e.views.current.flatMap(n=>n.panels.list.filter(r=>r.queryID===t).map(r=>r.title))}})).actions(e=>{function t(){const n=`dashboard-${e.id}-filters`;try{const i=localStorage.getItem(n);if(i){const a=JSON.parse(i);y.applyPatch(e.filters,{op:"replace",path:"/values",value:a})}}catch(i){console.log(i)}const r=y.onSnapshot(e.filters,i=>{localStorage.setItem(n,JSON.stringify(i.values))});y.addDisposer(e,r)}return{afterCreate(){t()},reset(){y.applySnapshot(e.filters.current,e.origin.filters.current),y.applySnapshot(e.queries.current,e.origin.queries.current),y.applySnapshot(e.sqlSnippets.current,e.origin.sqlSnippets.current),y.applySnapshot(e.views.current,e.origin.views.current),e.mock_context.current=e.origin.mock_context.current},resetFilters(){y.applySnapshot(e.filters.current,e.origin.filters.current)}}}),Vt=y.types.snapshotProcessor(Ug,{preProcessor(e){return{...e,origin:e}},postProcessor(e){delete e.origin;const t=y.castToSnapshot(e.queries.current.map(n=>x.pick(n,["id","key","type","sql"])));return x.defaults({},{queries:{current:t}},e)}});function zn({id:e,name:t,version:n,filters:r,views:i,definition:{queries:a,sqlSnippets:l,mock_context:u={}}},c){return Vt.create({id:e,name:t,version:n,filters:Li(r),queries:{current:a},sqlSnippets:{current:l},context:{current:c},mock_context:{current:u},views:Ji(i)})}function qn(e){return _.default.useCallback(t=>t.provideValue(te.pluginManager,e.pluginManager).provideValue(te.vizManager,e.vizManager).provideValue(te.colorManager,e.colorManager),[])}const ih="",Yg=I.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:a,fullScreenPanelID:l,setFullScreenPanelID:u}){fr(a);const[c,p]=_.default.useState(!1),d=_.default.useMemo(()=>zn(n,t),[n]);er(d,!0),_.default.useEffect(()=>{d.context.replace(t)},[t]);const h=async()=>{const C=[...d.queries.json],b=[...d.sqlSnippets.json],D=[...d.views.json],k={...d.mock_context.current},E={...n,filters:[...d.filters.current],views:D,definition:{sqlSnippets:b,queries:C,mock_context:k}};await r(E)},f=j.useCreation(Rn,[]),v=qn(f);return o(Ie.ModalsProvider,{children:o(Nt,{value:d,children:o(Ce.Provider,{value:{layoutFrozen:c,freezeLayout:p,inEditMode:!0,inUseMode:!1},children:o(s.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:o(Me.Provider,{value:f,children:o(ut,{configure:v,children:d.views.visibleViews.map(C=>o(Ei,{view:C,saveDashboardChanges:h,fullScreenPanelID:l,setFullScreenPanelID:u},C.id))})})})})})})}),Hg=I.observer(({context:e,dashboard:t,className:n="dashboard",config:r,fullScreenPanelID:i,setFullScreenPanelID:a})=>{fr(r);const l=_.default.useMemo(()=>zn(t,e),[t]);er(l,!1),_.default.useEffect(()=>{l.context.replace(e)},[e]);const u=j.useCreation(Rn,[]),c=qn(u);return o(Ie.ModalsProvider,{children:o(Nt,{value:l,children:o(Ce.Provider,{value:{layoutFrozen:!0,freezeLayout:Y.default.noop,inEditMode:!1,inUseMode:!0},children:o(s.Box,{className:`${n} dashboard-root dashboard-sticky-parent`,children:o(Me.Provider,{value:u,children:o(ut,{configure:c,children:l.views.visibleViews.map(p=>o($i,{view:p,fullScreenPanelID:i,setFullScreenPanelID:a},p.id))})})})})})})});var Xi={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Le,function(){var n={year:0,month:1,day:2,hour:3,minute:4,second:5},r={};return function(i,a,l){var u,c=function(f,v,C){C===void 0&&(C={});var b=new Date(f),D=function(k,E){E===void 0&&(E={});var O=E.timeZoneName||"short",F=k+"|"+O,L=r[F];return L||(L=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:k,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:O}),r[F]=L),L}(v,C);return D.formatToParts(b)},p=function(f,v){for(var C=c(f,v),b=[],D=0;D<C.length;D+=1){var k=C[D],E=k.type,O=k.value,F=n[E];F>=0&&(b[F]=parseInt(O,10))}var L=b[3],ae=L===24?0:L,ne=b[0]+"-"+b[1]+"-"+b[2]+" "+ae+":"+b[4]+":"+b[5]+":000",ve=+f;return(l.utc(ne).valueOf()-(ve-=ve%1e3))/6e4},d=a.prototype;d.tz=function(f,v){f===void 0&&(f=u);var C=this.utcOffset(),b=this.toDate(),D=b.toLocaleString("en-US",{timeZone:f}),k=Math.round((b-new Date(D))/1e3/60),E=l(D).$set("millisecond",this.$ms).utcOffset(15*-Math.round(b.getTimezoneOffset()/15)-k,!0);if(v){var O=E.utcOffset();E=E.add(C-O,"minute")}return E.$x.$timezone=f,E},d.offsetName=function(f){var v=this.$x.$timezone||l.tz.guess(),C=c(this.valueOf(),v,{timeZoneName:f}).find(function(b){return b.type.toLowerCase()==="timezonename"});return C&&C.value};var h=d.startOf;d.startOf=function(f,v){if(!this.$x||!this.$x.$timezone)return h.call(this,f,v);var C=l(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return h.call(C,f,v).tz(this.$x.$timezone,!0)},l.tz=function(f,v,C){var b=C&&v,D=C||v||u,k=p(+l(),D);if(typeof f!="string")return l(f).tz(D);var E=function(ae,ne,ve){var ce=ae-60*ne*1e3,we=p(ce,ve);if(ne===we)return[ce,ne];var re=p(ce-=60*(we-ne)*1e3,ve);return we===re?[ce,we]:[ae-60*Math.min(we,re)*1e3,Math.max(we,re)]}(l.utc(f,b).valueOf(),k,D),O=E[0],F=E[1],L=l(O).utcOffset(F);return L.$x.$timezone=D,L},l.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},l.tz.setDefault=function(f){u=f}}})})(Xi);const Qg=Xi.exports;var Ki={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Le,function(){var n="minute",r=/[+-]\d\d(?::?\d\d)?/g,i=/([+-]|\d\d)/g;return function(a,l,u){var c=l.prototype;u.utc=function(b){var D={date:b,utc:!0,args:arguments};return new l(D)},c.utc=function(b){var D=u(this.toDate(),{locale:this.$L,utc:!0});return b?D.add(this.utcOffset(),n):D},c.local=function(){return u(this.toDate(),{locale:this.$L,utc:!1})};var p=c.parse;c.parse=function(b){b.utc&&(this.$u=!0),this.$utils().u(b.$offset)||(this.$offset=b.$offset),p.call(this,b)};var d=c.init;c.init=function(){if(this.$u){var b=this.$d;this.$y=b.getUTCFullYear(),this.$M=b.getUTCMonth(),this.$D=b.getUTCDate(),this.$W=b.getUTCDay(),this.$H=b.getUTCHours(),this.$m=b.getUTCMinutes(),this.$s=b.getUTCSeconds(),this.$ms=b.getUTCMilliseconds()}else d.call(this)};var h=c.utcOffset;c.utcOffset=function(b,D){var k=this.$utils().u;if(k(b))return this.$u?0:k(this.$offset)?h.call(this):this.$offset;if(typeof b=="string"&&(b=function(L){L===void 0&&(L="");var ae=L.match(r);if(!ae)return null;var ne=(""+ae[0]).match(i)||["-",0,0],ve=ne[0],ce=60*+ne[1]+ +ne[2];return ce===0?0:ve==="+"?ce:-ce}(b),b===null))return this;var E=Math.abs(b)<=16?60*b:b,O=this;if(D)return O.$offset=E,O.$u=b===0,O;if(b!==0){var F=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(O=this.local().add(E+F,n)).$offset=E,O.$x.$localOffset=F}else O=this.utc();return O};var f=c.format;c.format=function(b){var D=b||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return f.call(this,D)},c.valueOf=function(){var b=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*b},c.isUTC=function(){return!!this.$u},c.toISOString=function(){return this.toDate().toISOString()},c.toString=function(){return this.toDate().toUTCString()};var v=c.toDate;c.toDate=function(b){return b==="s"&&this.$offset?u(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():v.call(this)};var C=c.diff;c.diff=function(b,D,k){if(b&&this.$u===b.$u)return C.call(this,b,D,k);var E=this.local(),O=u(b).local();return C.call(E,O,D,k)}}})})(Ki);const Jg=Ki.exports;ke.default.extend(Jg),ke.default.extend(Qg),ke.default.tz.setDefault("UTC");const Zi="array",eo="Root Schema",to={type:"object",default:{},title:"A Schema",required:["actor","eloc_type","ref_date","eloc"],properties:{actor:{type:"string",default:"",title:"The actor Schema",examples:["Name of the subject"]},eloc_type:{type:"string",default:"",title:"The eloc_type Schema",enum:["new","accumulated"],examples:["new"]},ref_date:{type:"string",default:"",title:"The ref_date Schema",examples:["2021-12-31"]},eloc:{type:["number","string"],default:0,title:"The eloc Schema",examples:[999]}},examples:[{actor:"Name of the subject",eloc_type:"new",ref_date:"2021-12-31",eloc:999}]},no=[[{actor:"Name of the subject",eloc_type:"new",ref_date:"2021-12-31",eloc:999}]],Xg=Object.freeze(Object.defineProperty({__proto__:null,type:Zi,title:eo,items:to,examples:no,default:{type:Zi,default:[],title:eo,items:to,examples:no}},Symbol.toStringTag,{value:"Module"})),ro="object",io="Root Schema",oo=["actor","actor_type","code"],ao={actor:{type:"string",default:"",title:"The actor Schema",examples:["project1"]},actor_type:{type:"string",default:"",title:"The actor_type Schema",examples:["project"]},code:{type:"object",default:{},title:"The code Schema",required:["doc_coverage","test_coverage","dryness","modularity","issues_density","issues_blocker","issues_critical","issues_info","issues_major","issues_minor"],properties:{doc_coverage:{type:["number","string"],default:0,title:"The doc_coverage Schema",examples:[.87]},test_coverage:{type:["number","string"],default:0,title:"The test_coverage Schema",examples:[.14]},dryness:{type:["number","string"],default:0,title:"The dryness Schema",examples:[.96]},modularity:{type:["number","string"],default:0,title:"The modularity Schema",examples:[.45]},issues_density:{type:["number","string"],default:0,title:"The issues_density Schema",examples:[.003]},issues_blocker:{type:"integer",default:0,title:"The issues_blocker Schema",examples:[65]},issues_critical:{type:"integer",default:0,title:"The issues_critical Schema",examples:[4546]},issues_info:{type:"integer",default:0,title:"The issues_info Schema",examples:[1876]},issues_major:{type:"integer",default:0,title:"The issues_major Schema",examples:[16049]},issues_minor:{type:"integer",default:0,title:"The issues_minor Schema",examples:[10324]}},examples:[{doc_coverage:.87,test_coverage:.14,dryness:.96,modularity:.45,issues_density:.003,issues_blocker:65,issues_critical:4546,issues_info:1876,issues_major:16049,issues_minor:10324}]}},so=[{actor:"project1",actor_type:"project",code:{doc_coverage:.87,test_coverage:.14,dryness:.96,modularity:.45,issues_density:.003,issues_blocker:65,issues_critical:4546,issues_info:1876,issues_major:16049,issues_minor:10324}}],Kg=Object.freeze(Object.defineProperty({__proto__:null,type:ro,title:io,required:oo,properties:ao,examples:so,default:{type:ro,default:{},title:io,required:oo,properties:ao,examples:so}},Symbol.toStringTag,{value:"Module"})),lo="array",uo="Root Schema",co={type:"object",default:{},title:"A Schema",required:["actor","val_type","baseline_lower","baseline_upper","ref_date","val"],properties:{actor:{type:"string",default:"",title:"The actor Schema",examples:["Name of the subject"]},val_type:{type:"string",default:"",title:"The val_type Schema",enum:["doc_coverage","test_coverage","dryness","modularity","blocker_issues","critical_issues","major_issues","minor_issues","info_issues","issues_density"],examples:["doc_coverage"]},baseline_lower:{type:["number","string"],default:0,title:"The baseline_lower Schema",examples:[.2]},baseline_upper:{type:["number","string"],default:0,title:"The baseline_upper Schema",examples:[.4]},ref_date:{type:"string",default:"",title:"The ref_date Schema",examples:["2021-12-31"]},val:{type:["number","string"],default:0,title:"The val Schema",examples:[.2]}},examples:[{actor:"Name of the subject",val_type:"doc_coverage",baseline_lower:.2,baseline_upper:.4,ref_date:"2021-12-31",val:.2}]},po=[[{actor:"Name of the subject",val_type:"doc_coverage",baseline_lower:.2,baseline_upper:.4,ref_date:"2021-12-31",val:.2}]],Zg=Object.freeze(Object.defineProperty({__proto__:null,type:lo,title:uo,items:co,examples:po,default:{type:lo,default:[],title:uo,items:co,examples:po}},Symbol.toStringTag,{value:"Module"})),ef=Object.freeze(Object.defineProperty({__proto__:null,default:`
90
90
  {
91
91
  name?: string;
92
92
  actor: string;
@@ -94,21 +94,21 @@ WHERE
94
94
  ref_date: string;
95
95
  eloc: number;
96
96
  }
97
- `},Symbol.toStringTag,{value:"Module"})),Bg=Object.freeze(Object.defineProperty({__proto__:null,default:`
97
+ `},Symbol.toStringTag,{value:"Module"})),tf=Object.freeze(Object.defineProperty({__proto__:null,default:`
98
98
  {
99
99
  name?: string;
100
100
  actor: string;
101
101
  ref_date: string;
102
102
  eloc: number;
103
103
  }
104
- `},Symbol.toStringTag,{value:"Module"})),Wg=Object.freeze(Object.defineProperty({__proto__:null,default:`
104
+ `},Symbol.toStringTag,{value:"Module"})),nf=Object.freeze(Object.defineProperty({__proto__:null,default:`
105
105
  {
106
106
  name?: string;
107
107
  actor: string;
108
108
  contributor: string;
109
109
  eloc: number;
110
110
  }
111
- `},Symbol.toStringTag,{value:"Module"})),Ug=Object.freeze(Object.defineProperty({__proto__:null,default:`
111
+ `},Symbol.toStringTag,{value:"Module"})),rf=Object.freeze(Object.defineProperty({__proto__:null,default:`
112
112
  {
113
113
  name?: string;
114
114
  actor: string;
@@ -117,7 +117,7 @@ WHERE
117
117
  eloc: number;
118
118
  eloc_type: 'current' | 'previous';
119
119
  }
120
- `},Symbol.toStringTag,{value:"Module"})),Yg=Object.freeze(Object.defineProperty({__proto__:null,default:`
120
+ `},Symbol.toStringTag,{value:"Module"})),of=Object.freeze(Object.defineProperty({__proto__:null,default:`
121
121
  {
122
122
  name?: string;
123
123
  actor: string;
@@ -125,14 +125,14 @@ WHERE
125
125
  ref_date: string;
126
126
  eloc: number;
127
127
  }
128
- `},Symbol.toStringTag,{value:"Module"})),Hg=Object.freeze(Object.defineProperty({__proto__:null,default:`
128
+ `},Symbol.toStringTag,{value:"Module"})),af=Object.freeze(Object.defineProperty({__proto__:null,default:`
129
129
  {
130
130
  name?: string;
131
131
  actor: string;
132
132
  contributor: string;
133
133
  eloc: number;
134
134
  }
135
- `},Symbol.toStringTag,{value:"Module"})),Qg=Object.freeze(Object.defineProperty({__proto__:null,default:`
135
+ `},Symbol.toStringTag,{value:"Module"})),sf=Object.freeze(Object.defineProperty({__proto__:null,default:`
136
136
  {
137
137
  actor: string;
138
138
  doc_coverage: number;
@@ -147,7 +147,7 @@ WHERE
147
147
  issues_major: number;
148
148
  issues_minor: number;
149
149
  }
150
- `},Symbol.toStringTag,{value:"Module"})),Jg=Object.freeze(Object.defineProperty({__proto__:null,default:`
150
+ `},Symbol.toStringTag,{value:"Module"})),lf=Object.freeze(Object.defineProperty({__proto__:null,default:`
151
151
  {
152
152
  name?: string;
153
153
  actor: string;
@@ -167,7 +167,7 @@ WHERE
167
167
  ref_date: string;
168
168
  val: number;
169
169
  }
170
- `},Symbol.toStringTag,{value:"Module"})),Xg=Object.freeze(Object.defineProperty({__proto__:null,default:`
170
+ `},Symbol.toStringTag,{value:"Module"})),uf=Object.freeze(Object.defineProperty({__proto__:null,default:`
171
171
  {
172
172
  name?: string;
173
173
  actor: string;
@@ -176,7 +176,7 @@ WHERE
176
176
  ref_date: string;
177
177
  eloc: number;
178
178
  }
179
- `},Symbol.toStringTag,{value:"Module"})),Kg=Object.freeze(Object.defineProperty({__proto__:null,default:`
179
+ `},Symbol.toStringTag,{value:"Module"})),cf=Object.freeze(Object.defineProperty({__proto__:null,default:`
180
180
  {
181
181
  name?: string;
182
182
  actor: string;
@@ -187,10 +187,10 @@ WHERE
187
187
  baseline_test_coverage: number;
188
188
  baseline_doc_coverage: number;
189
189
  }
190
- `},Symbol.toStringTag,{value:"Module"})),Zg=Object.freeze(Object.defineProperty({__proto__:null,default:`
190
+ `},Symbol.toStringTag,{value:"Module"})),df=Object.freeze(Object.defineProperty({__proto__:null,default:`
191
191
  {
192
192
  actor: string;
193
193
  language: string;
194
194
  feature: string;
195
195
  }
196
- `},Symbol.toStringTag,{value:"Module"}));A.ContextModel=ji,A.Dashboard=Pg,A.DashboardFilterType=wr,A.DashboardMode=Sr,A.DashboardModel=Vt,A.EViewComponentType=he,A.FilterModel=Nn,A.FiltersModel=Fi,A.LayoutStateContext=Ce,A.MainDashboardView=Ei,A.ModelContextProvider=Lt,A.Panel=At,A.PanelContextProvider=dr,A.QueriesModel=Gi,A.QueryModel=qi,A.ReadOnlyDashboard=Fg,A.ReadOnlyDashboardView=ki,A.SQLSnippetModel=Ni,A.SQLSnippetsModel=Li,A.ViewModel=Bi,A.ViewsModel=Wi,A.createDashboardModel=Ln,A.createDashboardViewsModel=Ui,A.getInitialFiltersPayload=zi,A.useModelContext=j,A.usePanelContext=ae,A.useTopLevelServices=jn,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
196
+ `},Symbol.toStringTag,{value:"Module"}));V.ContextModel=Yi,V.Dashboard=Yg,V.DashboardFilterType=Cr,V.DashboardMode=br,V.DashboardModel=Vt,V.EViewComponentType=he,V.FilterModel=Fn,V.FiltersModel=Ni,V.LayoutStateContext=Ce,V.MainDashboardView=Ei,V.ModelContextProvider=Nt,V.Panel=It,V.PanelContextProvider=sr,V.QueriesModel=ji,V.QueryModel=Bi,V.ReadOnlyDashboard=Hg,V.ReadOnlyDashboardView=$i,V.SQLSnippetModel=Wi,V.SQLSnippetsModel=Ui,V.ViewModel=Hi,V.ViewsModel=Qi,V.createDashboardModel=zn,V.createDashboardViewsModel=Ji,V.getInitialFiltersPayload=Li,V.useModelContext=B,V.usePanelContext=oe,V.useTopLevelServices=qn,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});