@devtable/dashboard 4.6.0 → 4.8.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(Te,u){typeof exports=="object"&&typeof module<"u"?u(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("tabler-icons-react"),require("axios"),require("@mantine/prism"),require("mobx-state-tree"),require("@mantine/hooks"),require("@mantine/rte"),require("mobx"),require("@mantine/notifications"),require("numbro"),require("d3-array"),require("@mantine/form"),require("echarts-for-react/lib/core"),require("echarts/charts"),require("echarts/core"),require("echarts/renderers"),require("echarts-gl"),require("echarts/components"),require("echarts-stat"),require("d3-regression"),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","tabler-icons-react","axios","@mantine/prism","mobx-state-tree","@mantine/hooks","@mantine/rte","mobx","@mantine/notifications","numbro","d3-array","@mantine/form","echarts-for-react/lib/core","echarts/charts","echarts/core","echarts/renderers","echarts-gl","echarts/components","echarts-stat","d3-regression","stickybits","react-grid-layout"],u):(Te=typeof globalThis<"u"?globalThis:Te||self,u(Te.dashboard={},Te["@mantine/core"],Te["@mantine/modals"],Te.ahooks,Te["mobx-react-lite"],Te.React,Te._,Te["react-hook-form"],Te["@mantine/dates"],Te["tabler-icons-react"],Te.axios,Te["@mantine/prism"],Te["mobx-state-tree"],Te["@mantine/hooks"],Te["@mantine/rte"],Te.mobx,Te["@mantine/notifications"],Te.numbro,Te["d3-array"],Te["@mantine/form"],Te["echarts-for-react/lib/core"],Te["echarts/charts"],Te["echarts/core"],Te["echarts/renderers"],Te["echarts-gl"],Te["echarts/components"],Te["echarts-stat"],Te["d3-regression"],Te.stickybits,Te["react-grid-layout"]))})(this,function(Te,u,Jt,dt,Fe,be,Ce,we,yl,Ae,_l,_n,oe,_t,$r,kt,Pr,wl,Cl,Vr,xl,Yt,Sl,on,M0,ft,va,kl,El,Lr){"use strict";var T0=Object.defineProperty;var z0=(Te,u,Jt)=>u in Te?T0(Te,u,{enumerable:!0,configurable:!0,writable:!0,value:Jt}):Te[u]=Jt;var qe=(Te,u,Jt)=>(z0(Te,typeof u!="symbol"?u+"":u,Jt),Jt);const sn=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function Nr(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 ne=sn(be),ba=Nr(be),Ze=sn(Ce),Il=sn(_l),ya=sn($r),Vt=sn(wl),ln=sn(xl),wt=Nr(Sl),un=Nr(kl),Al=sn(El),_a=sn(Lr),Rl={viewPanelInFullScreen:Ze.default.noop,inFullScreen:!1},Br=ne.default.createContext(Rl),wa=ne.default.createContext(null),Gr=wa.Provider;function mt(){const e=ne.default.useContext(wa);if(!e)throw new Error("Please use ModelContextProvider");return e}var Qt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ir={exports:{}},jn={};/**
1
+ (function(D,a){typeof exports=="object"&&typeof module<"u"?a(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("tabler-icons-react"),require("axios"),require("@mantine/prism"),require("mobx-state-tree"),require("@mantine/hooks"),require("@mantine/rte"),require("mobx"),require("@mantine/notifications"),require("eventemitter2"),require("chroma-js"),require("numbro"),require("d3-array"),require("@tanstack/react-table"),require("react-virtual"),require("@mantine/form"),require("echarts-for-react/lib/core"),require("echarts/charts"),require("echarts/core"),require("echarts/renderers"),require("echarts-gl"),require("echarts/components"),require("echarts-stat"),require("d3-regression"),require("stickybits"),require("react-grid-layout"),require("jszip")):typeof define=="function"&&define.amd?define(["exports","@mantine/core","@mantine/modals","ahooks","mobx-react-lite","react","lodash","react-hook-form","@mantine/dates","tabler-icons-react","axios","@mantine/prism","mobx-state-tree","@mantine/hooks","@mantine/rte","mobx","@mantine/notifications","eventemitter2","chroma-js","numbro","d3-array","@tanstack/react-table","react-virtual","@mantine/form","echarts-for-react/lib/core","echarts/charts","echarts/core","echarts/renderers","echarts-gl","echarts/components","echarts-stat","d3-regression","stickybits","react-grid-layout","jszip"],a):(D=typeof globalThis<"u"?globalThis:D||self,a(D.dashboard={},D["@mantine/core"],D["@mantine/modals"],D.ahooks,D["mobx-react-lite"],D.React,D._,D["react-hook-form"],D["@mantine/dates"],D["tabler-icons-react"],D.axios,D["@mantine/prism"],D["mobx-state-tree"],D["@mantine/hooks"],D["@mantine/rte"],D.mobx,D["@mantine/notifications"],D.eventemitter2,D["chroma-js"],D.numbro,D["d3-array"],D["@tanstack/react-table"],D["react-virtual"],D["@mantine/form"],D["echarts-for-react/lib/core"],D["echarts/charts"],D["echarts/core"],D["echarts/renderers"],D["echarts-gl"],D["echarts/components"],D["echarts-stat"],D["d3-regression"],D.stickybits,D["react-grid-layout"],D.jszip))})(this,function(D,a,he,B,k,C,S,w,li,_,ui,Ie,y,U,pt,K,ft,ci,di,pi,fi,_e,hi,ht,gi,de,mi,ve,Rc,N,ln,yi,vi,gt,bi){"use strict";var qc=Object.defineProperty;var Fc=(D,a,he)=>a in D?qc(D,a,{enumerable:!0,configurable:!0,writable:!0,value:he}):D[a]=he;var V=(D,a,he)=>(Fc(D,typeof a!="symbol"?a+"":a,he),he);const se=t=>t&&typeof t=="object"&&"default"in t?t:{default:t};function un(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const v=se(C),z=se(S),xi=se(ui),cn=se(pt),dn=se(ci),ze=se(di),oe=se(pi),be=se(gi),X=un(mi),xe=un(yi),Ci=se(vi),pn=se(gt),wi=se(bi),Si={viewPanelInFullScreen:z.default.noop,inFullScreen:!1},mt=v.default.createContext(Si),fn=v.default.createContext(null),yt=fn.Provider;function W(){const t=v.default.useContext(fn);if(!t)throw new Error("Please use ModelContextProvider");return t}var Oe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Qe={exports:{}},Pe={};/**
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 Ca;function Dl(){if(Ca)return jn;Ca=1;var e=ne.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 s(l,d,m){var f,v={},y=null,p=null;m!==void 0&&(y=""+m),d.key!==void 0&&(y=""+d.key),d.ref!==void 0&&(p=d.ref);for(f in d)r.call(d,f)&&!a.hasOwnProperty(f)&&(v[f]=d[f]);if(l&&l.defaultProps)for(f in d=l.defaultProps,d)v[f]===void 0&&(v[f]=d[f]);return{$$typeof:t,type:l,key:y,ref:p,props:v,_owner:i.current}}return jn.Fragment=n,jn.jsx=s,jn.jsxs=s,jn}var Un={};/**
9
+ */var hn;function Ii(){if(hn)return Pe;hn=1;var t=v.default,e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function l(u,d,h){var f,m={},g=null,b=null;h!==void 0&&(g=""+h),d.key!==void 0&&(g=""+d.key),d.ref!==void 0&&(b=d.ref);for(f in d)i.call(d,f)&&!o.hasOwnProperty(f)&&(m[f]=d[f]);if(u&&u.defaultProps)for(f in d=u.defaultProps,d)m[f]===void 0&&(m[f]=d[f]);return{$$typeof:e,type:u,key:g,ref:b,props:m,_owner:s.current}}return Pe.Fragment=n,Pe.jsx=l,Pe.jsxs=l,Pe}var qe={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,17 +14,17 @@
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 xa;function Tl(){return xa||(xa=1,process.env.NODE_ENV!=="production"&&function(){var e=ne.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"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),v=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),C=Symbol.iterator,g="@@iterator";function x(P){if(P===null||typeof P!="object")return null;var ve=C&&P[C]||P[g];return typeof ve=="function"?ve:null}var S=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function D(P){{for(var ve=arguments.length,ke=new Array(ve>1?ve-1:0),Ve=1;Ve<ve;Ve++)ke[Ve-1]=arguments[Ve];F("error",P,ke)}}function F(P,ve,ke){{var Ve=S.ReactDebugCurrentFrame,tt=Ve.getStackAddendum();tt!==""&&(ve+="%s",ke=ke.concat([tt]));var at=ke.map(function(Ye){return String(Ye)});at.unshift("Warning: "+ve),Function.prototype.apply.call(console[P],console,at)}}var B=!1,q=!1,Q=!1,te=!1,se=!1,K;K=Symbol.for("react.module.reference");function ge(P){return!!(typeof P=="string"||typeof P=="function"||P===r||P===a||se||P===i||P===m||P===f||te||P===p||B||q||Q||typeof P=="object"&&P!==null&&(P.$$typeof===y||P.$$typeof===v||P.$$typeof===s||P.$$typeof===l||P.$$typeof===d||P.$$typeof===K||P.getModuleId!==void 0))}function Se(P,ve,ke){var Ve=P.displayName;if(Ve)return Ve;var tt=ve.displayName||ve.name||"";return tt!==""?ke+"("+tt+")":ke}function $(P){return P.displayName||"Context"}function ee(P){if(P==null)return null;if(typeof P.tag=="number"&&D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof P=="function")return P.displayName||P.name||null;if(typeof P=="string")return P;switch(P){case r:return"Fragment";case n:return"Portal";case a:return"Profiler";case i:return"StrictMode";case m:return"Suspense";case f:return"SuspenseList"}if(typeof P=="object")switch(P.$$typeof){case l:var ve=P;return $(ve)+".Consumer";case s:var ke=P;return $(ke._context)+".Provider";case d:return Se(P,P.render,"ForwardRef");case v:var Ve=P.displayName||null;return Ve!==null?Ve:ee(P.type)||"Memo";case y:{var tt=P,at=tt._payload,Ye=tt._init;try{return ee(Ye(at))}catch{return null}}}return null}var _=Object.assign,Z=0,$e,fe,k,E,N,I,R;function j(){}j.__reactDisabledLog=!0;function U(){{if(Z===0){$e=console.log,fe=console.info,k=console.warn,E=console.error,N=console.group,I=console.groupCollapsed,R=console.groupEnd;var P={configurable:!0,enumerable:!0,value:j,writable:!0};Object.defineProperties(console,{info:P,log:P,warn:P,error:P,group:P,groupCollapsed:P,groupEnd:P})}Z++}}function W(){{if(Z--,Z===0){var P={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:_({},P,{value:$e}),info:_({},P,{value:fe}),warn:_({},P,{value:k}),error:_({},P,{value:E}),group:_({},P,{value:N}),groupCollapsed:_({},P,{value:I}),groupEnd:_({},P,{value:R})})}Z<0&&D("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var le=S.ReactCurrentDispatcher,ce;function me(P,ve,ke){{if(ce===void 0)try{throw Error()}catch(tt){var Ve=tt.stack.trim().match(/\n( *(at )?)/);ce=Ve&&Ve[1]||""}return`
18
- `+ce+P}}var ze=!1,Me;{var Oe=typeof WeakMap=="function"?WeakMap:Map;Me=new Oe}function Be(P,ve){if(!P||ze)return"";{var ke=Me.get(P);if(ke!==void 0)return ke}var Ve;ze=!0;var tt=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var at;at=le.current,le.current=null,U();try{if(ve){var Ye=function(){throw Error()};if(Object.defineProperty(Ye.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ye,[])}catch(jt){Ve=jt}Reflect.construct(P,[],Ye)}else{try{Ye.call()}catch(jt){Ve=jt}P.call(Ye.prototype)}}else{try{throw Error()}catch(jt){Ve=jt}P()}}catch(jt){if(jt&&Ve&&typeof jt.stack=="string"){for(var We=jt.stack.split(`
19
- `),Ct=Ve.stack.split(`
20
- `),ht=We.length-1,pt=Ct.length-1;ht>=1&&pt>=0&&We[ht]!==Ct[pt];)pt--;for(;ht>=1&&pt>=0;ht--,pt--)if(We[ht]!==Ct[pt]){if(ht!==1||pt!==1)do if(ht--,pt--,pt<0||We[ht]!==Ct[pt]){var Dt=`
21
- `+We[ht].replace(" at new "," at ");return P.displayName&&Dt.includes("<anonymous>")&&(Dt=Dt.replace("<anonymous>",P.displayName)),typeof P=="function"&&Me.set(P,Dt),Dt}while(ht>=1&&pt>=0);break}}}finally{ze=!1,le.current=at,W(),Error.prepareStackTrace=tt}var gn=P?P.displayName||P.name:"",er=gn?me(gn):"";return typeof P=="function"&&Me.set(P,er),er}function Ke(P,ve,ke){return Be(P,!1)}function b(P){var ve=P.prototype;return!!(ve&&ve.isReactComponent)}function ie(P,ve,ke){if(P==null)return"";if(typeof P=="function")return Be(P,b(P));if(typeof P=="string")return me(P);switch(P){case m:return me("Suspense");case f:return me("SuspenseList")}if(typeof P=="object")switch(P.$$typeof){case d:return Ke(P.render);case v:return ie(P.type,ve,ke);case y:{var Ve=P,tt=Ve._payload,at=Ve._init;try{return ie(at(tt),ve,ke)}catch{}}}return""}var J=Object.prototype.hasOwnProperty,M={},A=S.ReactDebugCurrentFrame;function V(P){if(P){var ve=P._owner,ke=ie(P.type,P._source,ve?ve.type:null);A.setExtraStackFrame(ke)}else A.setExtraStackFrame(null)}function ae(P,ve,ke,Ve,tt){{var at=Function.call.bind(J);for(var Ye in P)if(at(P,Ye)){var We=void 0;try{if(typeof P[Ye]!="function"){var Ct=Error((Ve||"React class")+": "+ke+" type `"+Ye+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof P[Ye]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ct.name="Invariant Violation",Ct}We=P[Ye](ve,Ye,Ve,ke,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(ht){We=ht}We&&!(We instanceof Error)&&(V(tt),D("%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).",Ve||"React class",ke,Ye,typeof We),V(null)),We instanceof Error&&!(We.message in M)&&(M[We.message]=!0,V(tt),D("Failed %s type: %s",ke,We.message),V(null))}}}var re=Array.isArray;function H(P){return re(P)}function de(P){{var ve=typeof Symbol=="function"&&Symbol.toStringTag,ke=ve&&P[Symbol.toStringTag]||P.constructor.name||"Object";return ke}}function xe(P){try{return he(P),!1}catch{return!0}}function he(P){return""+P}function Ie(P){if(xe(P))return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",de(P)),he(P)}var Ge=S.ReactCurrentOwner,Le={key:!0,ref:!0,__self:!0,__source:!0},ut,At,bt;bt={};function Pt(P){if(J.call(P,"ref")){var ve=Object.getOwnPropertyDescriptor(P,"ref").get;if(ve&&ve.isReactWarning)return!1}return P.ref!==void 0}function st(P){if(J.call(P,"key")){var ve=Object.getOwnPropertyDescriptor(P,"key").get;if(ve&&ve.isReactWarning)return!1}return P.key!==void 0}function zt(P,ve){if(typeof P.ref=="string"&&Ge.current&&ve&&Ge.current.stateNode!==ve){var ke=ee(Ge.current.type);bt[ke]||(D('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',ee(Ge.current.type),P.ref),bt[ke]=!0)}}function Sn(P,ve){{var ke=function(){ut||(ut=!0,D("%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)",ve))};ke.isReactWarning=!0,Object.defineProperty(P,"key",{get:ke,configurable:!0})}}function Mt(P,ve){{var ke=function(){At||(At=!0,D("%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)",ve))};ke.isReactWarning=!0,Object.defineProperty(P,"ref",{get:ke,configurable:!0})}}var kn=function(P,ve,ke,Ve,tt,at,Ye){var We={$$typeof:t,type:P,key:ve,ref:ke,props:Ye,_owner:at};return We._store={},Object.defineProperty(We._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(We,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Ve}),Object.defineProperty(We,"_source",{configurable:!1,enumerable:!1,writable:!1,value:tt}),Object.freeze&&(Object.freeze(We.props),Object.freeze(We)),We};function zn(P,ve,ke,Ve,tt){{var at,Ye={},We=null,Ct=null;ke!==void 0&&(Ie(ke),We=""+ke),st(ve)&&(Ie(ve.key),We=""+ve.key),Pt(ve)&&(Ct=ve.ref,zt(ve,tt));for(at in ve)J.call(ve,at)&&!Le.hasOwnProperty(at)&&(Ye[at]=ve[at]);if(P&&P.defaultProps){var ht=P.defaultProps;for(at in ht)Ye[at]===void 0&&(Ye[at]=ht[at])}if(We||Ct){var pt=typeof P=="function"?P.displayName||P.name||"Unknown":P;We&&Sn(Ye,pt),Ct&&Mt(Ye,pt)}return kn(P,We,Ct,tt,Ve,Ge.current,Ye)}}var En=S.ReactCurrentOwner,Mn=S.ReactDebugCurrentFrame;function Gt(P){if(P){var ve=P._owner,ke=ie(P.type,P._source,ve?ve.type:null);Mn.setExtraStackFrame(ke)}else Mn.setExtraStackFrame(null)}var qt;qt=!1;function Kt(P){return typeof P=="object"&&P!==null&&P.$$typeof===t}function xr(){{if(En.current){var P=ee(En.current.type);if(P)return`
17
+ */var gn;function Ti(){return gn||(gn=1,process.env.NODE_ENV!=="production"&&function(){var t=v.default,e=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),b=Symbol.for("react.offscreen"),I=Symbol.iterator,A="@@iterator";function M(p){if(p===null||typeof p!="object")return null;var x=I&&p[I]||p[A];return typeof x=="function"?x:null}var F=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function R(p){{for(var x=arguments.length,T=new Array(x>1?x-1:0),E=1;E<x;E++)T[E-1]=arguments[E];J("error",p,T)}}function J(p,x,T){{var E=F.ReactDebugCurrentFrame,q=E.getStackAddendum();q!==""&&(x+="%s",T=T.concat([q]));var L=T.map(function(P){return String(P)});L.unshift("Warning: "+x),Function.prototype.apply.call(console[p],console,L)}}var ee=!1,Ne=!1,Me=!1,$e=!1,at=!1,je;je=Symbol.for("react.module.reference");function st(p){return!!(typeof p=="string"||typeof p=="function"||p===i||p===o||at||p===s||p===h||p===f||$e||p===b||ee||Ne||Me||typeof p=="object"&&p!==null&&(p.$$typeof===g||p.$$typeof===m||p.$$typeof===l||p.$$typeof===u||p.$$typeof===d||p.$$typeof===je||p.getModuleId!==void 0))}function te(p,x,T){var E=p.displayName;if(E)return E;var q=x.displayName||x.name||"";return q!==""?T+"("+q+")":T}function ce(p){return p.displayName||"Context"}function ne(p){if(p==null)return null;if(typeof p.tag=="number"&&R("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof p=="function")return p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case i:return"Fragment";case n:return"Portal";case o:return"Profiler";case s:return"StrictMode";case h:return"Suspense";case f:return"SuspenseList"}if(typeof p=="object")switch(p.$$typeof){case u:var x=p;return ce(x)+".Consumer";case l:var T=p;return ce(T._context)+".Provider";case d:return te(p,p.render,"ForwardRef");case m:var E=p.displayName||null;return E!==null?E:ne(p.type)||"Memo";case g:{var q=p,L=q._payload,P=q._init;try{return ne(P(L))}catch{return null}}}return null}var re=Object.assign,Se=0,Lr,Br,Nr,$r,jr,Wr,Qr;function Yr(){}Yr.__reactDisabledLog=!0;function dc(){{if(Se===0){Lr=console.log,Br=console.info,Nr=console.warn,$r=console.error,jr=console.group,Wr=console.groupCollapsed,Qr=console.groupEnd;var p={configurable:!0,enumerable:!0,value:Yr,writable:!0};Object.defineProperties(console,{info:p,log:p,warn:p,error:p,group:p,groupCollapsed:p,groupEnd:p})}Se++}}function pc(){{if(Se--,Se===0){var p={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:re({},p,{value:Lr}),info:re({},p,{value:Br}),warn:re({},p,{value:Nr}),error:re({},p,{value:$r}),group:re({},p,{value:jr}),groupCollapsed:re({},p,{value:Wr}),groupEnd:re({},p,{value:Qr})})}Se<0&&R("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Ht=F.ReactCurrentDispatcher,en;function ot(p,x,T){{if(en===void 0)try{throw Error()}catch(q){var E=q.stack.trim().match(/\n( *(at )?)/);en=E&&E[1]||""}return`
18
+ `+en+p}}var tn=!1,lt;{var fc=typeof WeakMap=="function"?WeakMap:Map;lt=new fc}function Ur(p,x){if(!p||tn)return"";{var T=lt.get(p);if(T!==void 0)return T}var E;tn=!0;var q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var L;L=Ht.current,Ht.current=null,dc();try{if(x){var P=function(){throw Error()};if(Object.defineProperty(P.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(P,[])}catch(ye){E=ye}Reflect.construct(p,[],P)}else{try{P.call()}catch(ye){E=ye}p.call(P.prototype)}}else{try{throw Error()}catch(ye){E=ye}p()}}catch(ye){if(ye&&E&&typeof ye.stack=="string"){for(var O=ye.stack.split(`
19
+ `),Z=E.stack.split(`
20
+ `),j=O.length-1,Y=Z.length-1;j>=1&&Y>=0&&O[j]!==Z[Y];)Y--;for(;j>=1&&Y>=0;j--,Y--)if(O[j]!==Z[Y]){if(j!==1||Y!==1)do if(j--,Y--,Y<0||O[j]!==Z[Y]){var ae=`
21
+ `+O[j].replace(" at new "," at ");return p.displayName&&ae.includes("<anonymous>")&&(ae=ae.replace("<anonymous>",p.displayName)),typeof p=="function"&&lt.set(p,ae),ae}while(j>=1&&Y>=0);break}}}finally{tn=!1,Ht.current=L,pc(),Error.prepareStackTrace=q}var Ve=p?p.displayName||p.name:"",oi=Ve?ot(Ve):"";return typeof p=="function"&&lt.set(p,oi),oi}function hc(p,x,T){return Ur(p,!1)}function gc(p){var x=p.prototype;return!!(x&&x.isReactComponent)}function ut(p,x,T){if(p==null)return"";if(typeof p=="function")return Ur(p,gc(p));if(typeof p=="string")return ot(p);switch(p){case h:return ot("Suspense");case f:return ot("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case d:return hc(p.render);case m:return ut(p.type,x,T);case g:{var E=p,q=E._payload,L=E._init;try{return ut(L(q),x,T)}catch{}}}return""}var ct=Object.prototype.hasOwnProperty,Xr={},Jr=F.ReactDebugCurrentFrame;function dt(p){if(p){var x=p._owner,T=ut(p.type,p._source,x?x.type:null);Jr.setExtraStackFrame(T)}else Jr.setExtraStackFrame(null)}function mc(p,x,T,E,q){{var L=Function.call.bind(ct);for(var P in p)if(L(p,P)){var O=void 0;try{if(typeof p[P]!="function"){var Z=Error((E||"React class")+": "+T+" type `"+P+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[P]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Z.name="Invariant Violation",Z}O=p[P](x,P,E,T,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(j){O=j}O&&!(O instanceof Error)&&(dt(q),R("%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).",E||"React class",T,P,typeof O),dt(null)),O instanceof Error&&!(O.message in Xr)&&(Xr[O.message]=!0,dt(q),R("Failed %s type: %s",T,O.message),dt(null))}}}var yc=Array.isArray;function nn(p){return yc(p)}function vc(p){{var x=typeof Symbol=="function"&&Symbol.toStringTag,T=x&&p[Symbol.toStringTag]||p.constructor.name||"Object";return T}}function bc(p){try{return Kr(p),!1}catch{return!0}}function Kr(p){return""+p}function Zr(p){if(bc(p))return R("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",vc(p)),Kr(p)}var We=F.ReactCurrentOwner,xc={key:!0,ref:!0,__self:!0,__source:!0},Hr,ei,rn;rn={};function Cc(p){if(ct.call(p,"ref")){var x=Object.getOwnPropertyDescriptor(p,"ref").get;if(x&&x.isReactWarning)return!1}return p.ref!==void 0}function wc(p){if(ct.call(p,"key")){var x=Object.getOwnPropertyDescriptor(p,"key").get;if(x&&x.isReactWarning)return!1}return p.key!==void 0}function Sc(p,x){if(typeof p.ref=="string"&&We.current&&x&&We.current.stateNode!==x){var T=ne(We.current.type);rn[T]||(R('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',ne(We.current.type),p.ref),rn[T]=!0)}}function Ic(p,x){{var T=function(){Hr||(Hr=!0,R("%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)",x))};T.isReactWarning=!0,Object.defineProperty(p,"key",{get:T,configurable:!0})}}function Tc(p,x){{var T=function(){ei||(ei=!0,R("%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)",x))};T.isReactWarning=!0,Object.defineProperty(p,"ref",{get:T,configurable:!0})}}var Dc=function(p,x,T,E,q,L,P){var O={$$typeof:e,type:p,key:x,ref:T,props:P,_owner:L};return O._store={},Object.defineProperty(O._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(O,"_self",{configurable:!1,enumerable:!1,writable:!1,value:E}),Object.defineProperty(O,"_source",{configurable:!1,enumerable:!1,writable:!1,value:q}),Object.freeze&&(Object.freeze(O.props),Object.freeze(O)),O};function _c(p,x,T,E,q){{var L,P={},O=null,Z=null;T!==void 0&&(Zr(T),O=""+T),wc(x)&&(Zr(x.key),O=""+x.key),Cc(x)&&(Z=x.ref,Sc(x,q));for(L in x)ct.call(x,L)&&!xc.hasOwnProperty(L)&&(P[L]=x[L]);if(p&&p.defaultProps){var j=p.defaultProps;for(L in j)P[L]===void 0&&(P[L]=j[L])}if(O||Z){var Y=typeof p=="function"?p.displayName||p.name||"Unknown":p;O&&Ic(P,Y),Z&&Tc(P,Y)}return Dc(p,O,Z,q,E,We.current,P)}}var an=F.ReactCurrentOwner,ti=F.ReactDebugCurrentFrame;function Ee(p){if(p){var x=p._owner,T=ut(p.type,p._source,x?x.type:null);ti.setExtraStackFrame(T)}else ti.setExtraStackFrame(null)}var sn;sn=!1;function on(p){return typeof p=="object"&&p!==null&&p.$$typeof===e}function ni(){{if(an.current){var p=ne(an.current.type);if(p)return`
22
22
 
23
- Check the render method of \``+P+"`."}return""}}function Pi(P){{if(P!==void 0){var ve=P.fileName.replace(/^.*[\\\/]/,""),ke=P.lineNumber;return`
23
+ Check the render method of \``+p+"`."}return""}}function Ac(p){{if(p!==void 0){var x=p.fileName.replace(/^.*[\\\/]/,""),T=p.lineNumber;return`
24
24
 
25
- Check your code at `+ve+":"+ke+"."}return""}}var Sr={};function Vi(P){{var ve=xr();if(!ve){var ke=typeof P=="string"?P:P.displayName||P.name;ke&&(ve=`
25
+ Check your code at `+x+":"+T+"."}return""}}var ri={};function kc(p){{var x=ni();if(!x){var T=typeof p=="string"?p:p.displayName||p.name;T&&(x=`
26
26
 
27
- Check the top-level render call using <`+ke+">.")}return ve}}function kr(P,ve){{if(!P._store||P._store.validated||P.key!=null)return;P._store.validated=!0;var ke=Vi(ve);if(Sr[ke])return;Sr[ke]=!0;var Ve="";P&&P._owner&&P._owner!==En.current&&(Ve=" It was passed a child from "+ee(P._owner.type)+"."),Gt(P),D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',ke,Ve),Gt(null)}}function Er(P,ve){{if(typeof P!="object")return;if(H(P))for(var ke=0;ke<P.length;ke++){var Ve=P[ke];Kt(Ve)&&kr(Ve,ve)}else if(Kt(P))P._store&&(P._store.validated=!0);else if(P){var tt=x(P);if(typeof tt=="function"&&tt!==P.entries)for(var at=tt.call(P),Ye;!(Ye=at.next()).done;)Kt(Ye.value)&&kr(Ye.value,ve)}}}function Li(P){{var ve=P.type;if(ve==null||typeof ve=="string")return;var ke;if(typeof ve=="function")ke=ve.propTypes;else if(typeof ve=="object"&&(ve.$$typeof===d||ve.$$typeof===v))ke=ve.propTypes;else return;if(ke){var Ve=ee(ve);ae(ke,P.props,"prop",Ve,P)}else if(ve.PropTypes!==void 0&&!qt){qt=!0;var tt=ee(ve);D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",tt||"Unknown")}typeof ve.getDefaultProps=="function"&&!ve.getDefaultProps.isReactClassApproved&&D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ni(P){{for(var ve=Object.keys(P.props),ke=0;ke<ve.length;ke++){var Ve=ve[ke];if(Ve!=="children"&&Ve!=="key"){Gt(P),D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",Ve),Gt(null);break}}P.ref!==null&&(Gt(P),D("Invalid attribute `ref` supplied to `React.Fragment`."),Gt(null))}}function Jn(P,ve,ke,Ve,tt,at){{var Ye=ge(P);if(!Ye){var We="";(P===void 0||typeof P=="object"&&P!==null&&Object.keys(P).length===0)&&(We+=" 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 Ct=Pi(tt);Ct?We+=Ct:We+=xr();var ht;P===null?ht="null":H(P)?ht="array":P!==void 0&&P.$$typeof===t?(ht="<"+(ee(P.type)||"Unknown")+" />",We=" Did you accidentally export a JSX literal instead of a component?"):ht=typeof P,D("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ht,We)}var pt=zn(P,ve,ke,tt,at);if(pt==null)return pt;if(Ye){var Dt=ve.children;if(Dt!==void 0)if(Ve)if(H(Dt)){for(var gn=0;gn<Dt.length;gn++)Er(Dt[gn],P);Object.freeze&&Object.freeze(Dt)}else D("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 Er(Dt,P)}return P===r?Ni(pt):Li(pt),pt}}function Ir(P,ve,ke){return Jn(P,ve,ke,!0)}function Bi(P,ve,ke){return Jn(P,ve,ke,!1)}var Gi=Bi,qi=Ir;Un.Fragment=r,Un.jsx=Gi,Un.jsxs=qi}()),Un}(function(e){process.env.NODE_ENV==="production"?e.exports=Dl():e.exports=Tl()})(ir);const vt=ir.exports.Fragment,o=ir.exports.jsx,z=ir.exports.jsxs;class Dn extends ne.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 z(u.Box,{children:[o(u.Text,{size:"xs",children:(t=this.state.error)==null?void 0:t.message}),o(u.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function zl({label:e,config:{default_value:t,...n},value:r,onChange:i}){return z(u.Box,{children:[o(u.Text,{children:"\xA0"}),o(u.Checkbox,{label:e,checked:r,onChange:a=>i(a.currentTarget.checked),...n})]})}function Ml({label:e,config:t,value:n,onChange:r}){return o(yl.DateRangePicker,{label:e,value:n,onChange:r,icon:o(Ae.Calendar,{size:16}),sx:{minWidth:"14em"},...t})}function Ol(e,t){const n=Object.keys(t),r=Object.values(t);try{return new Function(...n,`return \`${e}\`;`)(...r)}catch(i){return console.error(i),i.message}}function qr(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 Sa(e,t,n){const r=t.reduce((i,a)=>(i[a.key]=qr(a.value,e),i),{});return Ze.default.merge({},r,e,{filters:n})}function ka(e,t,n,r){try{const i=Sa(t,n,r);return qr(e,i)}catch(i){return console.error(i),i.message}}const wn={baseURL:"http://localhost:31200",getRequest(e){return(t,n,r={})=>{const i={"X-Requested-With":"XMLHttpRequest","Content-Type":r.string?"application/x-www-form-urlencoded":"application/json",...r.headers},a={baseURL:this.baseURL,method:e,url:t,params:e==="GET"?n:r.params,headers:i};return e==="POST"&&(a.data=r.string?JSON.stringify(n):n),Il.default(a).then(s=>s.data).catch(s=>Promise.reject(s))}}},jr=({type:e,key:t,sql:n})=>async()=>{if(!e||!t||!n)return[];try{return await wn.getRequest("POST")("/query",{type:e,key:t,query:n})}catch(r){return console.error(r),[]}};async function Fl({context:e,sqlSnippets:t,title:n,query:r,filterValues:i}){if(!r.sql)return[];const{type:a,key:s,sql:l}=r,d=l.includes("$");try{const m=Sa(e,t,i),f=qr(l,m);return d&&(console.groupCollapsed(`Final SQL for: ${n}`),console.log(f),console.groupEnd()),await wn.getRequest("POST")("/query",{type:a,key:s,query:f})}catch(m){return console.error(m),[]}}async function $l(){try{return(await wn.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}function Pl({label:e,config:t,value:n,onChange:r}){const i=!!t.options_query.sql,{data:a=[],loading:s}=dt.useRequest(jr(t.options_query),{refreshDeps:[t.options_query,i]});return o(u.MultiSelect,{label:e,data:i?a:t.static_options,disabled:i?s:!1,value:n,onChange:r,sx:{minWidth:"14em"}})}function Vl({label:e,config:t,value:n,onChange:r}){const i=!!t.options_query.sql,{data:a=[],loading:s}=dt.useRequest(jr(t.options_query),{refreshDeps:[t.options_query,i]});return o(u.Select,{label:e,data:i?a:t.static_options,disabled:i?s:!1,value:n,onChange:r})}function Ll({label:e,config:t,value:n,onChange:r}){return o(u.TextInput,{label:e,value:n,onChange:r,...t})}function Nl({type:e,config:t,key:n,...r},i){switch(e){case"select":return o(Vl,{...r,...i,config:t});case"multi-select":return o(Pl,{...r,...i,config:t});case"text-input":return o(Ll,{...r,...i,config:t});case"date-range":return o(Ml,{...r,...i,config:t});case"checkbox":return o(zl,{...r,...i,config:t});default:return null}}const Ea=ne.default.forwardRef(function({filter:t,...n},r){return o("div",{className:"filter-root",ref:r,children:o(Dn,{children:Nl(t,n)})})}),Ia=Fe.observer(function({view:t}){const n=mt(),{control:r,handleSubmit:i}=we.useForm({defaultValues:n.filters.values}),a=n.filters.visibleInView(t.id);return a.length===0?null:o("form",{onSubmit:i(n.filters.setValues),children:z(u.Group,{className:"dashboard-filters",position:"apart",p:"md",noWrap:!0,sx:{border:"1px solid #ced4da",borderRadius:"4px"},children:[o(u.Group,{align:"flex-start",children:a.map(s=>o(we.Controller,{name:s.key,control:r,render:({field:l})=>o(Ea,{filter:s,...l})},s.id))}),o(u.Group,{sx:{alignSelf:"flex-end"},children:o(u.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}),Bl={layoutFrozen:!1,freezeLayout:Ze.default.noop,inEditMode:!1,inUseMode:!0},Lt=ne.default.createContext(Bl),Gl={id:"",data:[],loading:!1,title:"",setTitle:Ze.default.noop,description:"",setDescription:Ze.default.noop,queryID:"",setQueryID:Ze.default.noop,viz:{type:"",conf:{}},setViz:Ze.default.noop},Rt=ne.default.createContext(Gl),ql=`
27
+ Check the top-level render call using <`+T+">.")}return x}}function ii(p,x){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var T=kc(x);if(ri[T])return;ri[T]=!0;var E="";p&&p._owner&&p._owner!==an.current&&(E=" It was passed a child from "+ne(p._owner.type)+"."),Ee(p),R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',T,E),Ee(null)}}function ai(p,x){{if(typeof p!="object")return;if(nn(p))for(var T=0;T<p.length;T++){var E=p[T];on(E)&&ii(E,x)}else if(on(p))p._store&&(p._store.validated=!0);else if(p){var q=M(p);if(typeof q=="function"&&q!==p.entries)for(var L=q.call(p),P;!(P=L.next()).done;)on(P.value)&&ii(P.value,x)}}}function Mc(p){{var x=p.type;if(x==null||typeof x=="string")return;var T;if(typeof x=="function")T=x.propTypes;else if(typeof x=="object"&&(x.$$typeof===d||x.$$typeof===m))T=x.propTypes;else return;if(T){var E=ne(x);mc(T,p.props,"prop",E,p)}else if(x.PropTypes!==void 0&&!sn){sn=!0;var q=ne(x);R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",q||"Unknown")}typeof x.getDefaultProps=="function"&&!x.getDefaultProps.isReactClassApproved&&R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Ec(p){{for(var x=Object.keys(p.props),T=0;T<x.length;T++){var E=x[T];if(E!=="children"&&E!=="key"){Ee(p),R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",E),Ee(null);break}}p.ref!==null&&(Ee(p),R("Invalid attribute `ref` supplied to `React.Fragment`."),Ee(null))}}function si(p,x,T,E,q,L){{var P=st(p);if(!P){var O="";(p===void 0||typeof p=="object"&&p!==null&&Object.keys(p).length===0)&&(O+=" 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 Z=Ac(q);Z?O+=Z:O+=ni();var j;p===null?j="null":nn(p)?j="array":p!==void 0&&p.$$typeof===e?(j="<"+(ne(p.type)||"Unknown")+" />",O=" Did you accidentally export a JSX literal instead of a component?"):j=typeof p,R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",j,O)}var Y=_c(p,x,T,q,L);if(Y==null)return Y;if(P){var ae=x.children;if(ae!==void 0)if(E)if(nn(ae)){for(var Ve=0;Ve<ae.length;Ve++)ai(ae[Ve],p);Object.freeze&&Object.freeze(ae)}else R("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 ai(ae,p)}return p===i?Ec(Y):Mc(Y),Y}}function Vc(p,x,T){return si(p,x,T,!0)}function zc(p,x,T){return si(p,x,T,!1)}var Oc=zc,Pc=Vc;qe.Fragment=i,qe.jsx=Oc,qe.jsxs=Pc}()),qe}(function(t){process.env.NODE_ENV==="production"?t.exports=Ii():t.exports=Ti()})(Qe);const Q=Qe.exports.Fragment,r=Qe.exports.jsx,c=Qe.exports.jsxs;class Ae extends v.default.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const n=()=>{this.setState({error:null})};return c(a.Box,{children:[r(a.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),r(a.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function Di({label:t,config:{default_value:e,...n},value:i,onChange:s}){return c(a.Box,{children:[r(a.Text,{children:"\xA0"}),r(a.Checkbox,{label:t,checked:i,onChange:o=>s(o.currentTarget.checked),...n})]})}function _i({label:t,config:e,value:n,onChange:i}){return r(li.DateRangePicker,{label:t,value:n,onChange:i,icon:r(_.Calendar,{size:16}),sx:{minWidth:"14em"},...e})}function Ai(t,e){const n=Object.keys(e),i=Object.values(e);try{return new Function(...n,`return \`${t}\`;`)(...i)}catch(s){return console.error(s),s.message}}function vt(t,e){const n=Object.keys(e),i=Object.values(e);try{return new Function(...n,`return \`${t}\`;`)(...i)}catch(s){throw n.length===0&&t.includes("$")?new Error("[formatSQL] insufficient params"):s}}function mn(t,e,n){const i=e.reduce((s,o)=>(s[o.key]=vt(o.value,t),s),{});return z.default.merge({},i,t,{filters:n})}function yn(t,e,n,i){try{const s=mn(e,n,i);return vt(t,s)}catch(s){return console.error(s),s.message}}const Te={baseURL:"http://localhost:31200",getRequest(t){return(e,n,i={})=>{const s={"X-Requested-With":"XMLHttpRequest","Content-Type":i.string?"application/x-www-form-urlencoded":"application/json",...i.headers},o={baseURL:this.baseURL,method:t,url:e,params:t==="GET"?n:i.params,headers:s};return t==="POST"&&(o.data=i.string?JSON.stringify(n):n),xi.default(o).then(l=>l.data).catch(l=>Promise.reject(l))}}},bt=({type:t,key:e,sql:n})=>async()=>{if(!t||!e||!n)return[];try{return await Te.getRequest("POST")("/query",{type:t,key:e,query:n})}catch(i){return console.error(i),[]}};async function ki({context:t,sqlSnippets:e,title:n,query:i,filterValues:s}){if(!i.sql)return[];const{type:o,key:l,sql:u}=i,d=u.includes("$");try{const h=mn(t,e,s),f=vt(u,h);return d&&(console.groupCollapsed(`Final SQL for: ${n}`),console.log(f),console.groupEnd()),await Te.getRequest("POST")("/query",{type:o,key:l,query:f})}catch(h){return console.error(h),[]}}async function Mi(){try{return(await Te.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(t){return console.error(t),[]}}function Ei({label:t,config:e,value:n,onChange:i}){const s=!!e.options_query.sql,{data:o=[],loading:l}=B.useRequest(bt(e.options_query),{refreshDeps:[e.options_query,s]});return r(a.MultiSelect,{label:t,data:s?o:e.static_options,disabled:s?l:!1,value:n,onChange:i,sx:{minWidth:"14em"}})}function Vi({label:t,config:e,value:n,onChange:i}){const s=!!e.options_query.sql,{data:o=[],loading:l}=B.useRequest(bt(e.options_query),{refreshDeps:[e.options_query,s]});return r(a.Select,{label:t,data:s?o:e.static_options,disabled:s?l:!1,value:n,onChange:i})}function zi({label:t,config:e,value:n,onChange:i}){return r(a.TextInput,{label:t,value:n,onChange:i,...e})}function Oi({type:t,config:e,key:n,...i},s){switch(t){case"select":return r(Vi,{...i,...s,config:e});case"multi-select":return r(Ei,{...i,...s,config:e});case"text-input":return r(zi,{...i,...s,config:e});case"date-range":return r(_i,{...i,...s,config:e});case"checkbox":return r(Di,{...i,...s,config:e});default:return null}}const vn=v.default.forwardRef(function({filter:e,...n},i){return r("div",{className:"filter-root",ref:i,children:r(Ae,{children:Oi(e,n)})})}),bn=k.observer(function({view:e}){const n=W(),{control:i,handleSubmit:s}=w.useForm({defaultValues:n.filters.values}),o=n.filters.visibleInView(e.id);return o.length===0?null:r("form",{onSubmit:s(n.filters.setValues),children:c(a.Group,{className:"dashboard-filters",position:"apart",p:"md",noWrap:!0,sx:{border:"1px solid #ced4da",borderRadius:"4px"},children:[r(a.Group,{align:"flex-start",children:o.map(l=>r(w.Controller,{name:l.key,control:i,render:({field:u})=>r(vn,{filter:l,...u})},l.id))}),r(a.Group,{sx:{alignSelf:"flex-end"},children:r(a.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}),Pi={layoutFrozen:!1,freezeLayout:z.default.noop,inEditMode:!1,inUseMode:!0},le=v.default.createContext(Pi),qi={id:"",data:[],loading:!1,title:"",setTitle:z.default.noop,description:"",setDescription:z.default.noop,queryID:"",setQueryID:z.default.noop,viz:{type:"",conf:{}},setViz:z.default.noop},H=v.default.createContext(qi),Fi=`
28
28
  -- You may reference global variables in SQL or VizConfig.
29
29
  SELECT *
30
30
  FROM commit
@@ -36,91 +36,7 @@ WHERE
36
36
  -- SQL snippets
37
37
  AND \${sql_snippets.author_email_condition}
38
38
  \${sql_snippets.order_by_clause}
39
- `,Aa=Fe.observer(function({showSQLSnippets:t=!0,sx:n={}}){const r=mt(),i=r.context.current,a=ne.default.useMemo(()=>{const s={context:i,filters:r.filters.values};if(t){const l=r.sqlSnippets.current.reduce((d,m)=>(d[m.key]=m.value,d),{});s.sql_snippets=l}return JSON.stringify(s,null,2)},[i,r.sqlSnippets.current,r.filters.values,t]);return z(u.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[o(u.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(u.Text,{weight:500,children:"Global Variables"})}),z(u.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[o(_n.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:ql}),o(u.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),o(_n.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})]})]})});function jl({data:e}){return e.length===0?o(u.Box,{sx:{height:"5em"}}):z(u.Table,{children:[o("thead",{children:o("tr",{children:Object.keys(e==null?void 0:e[0]).map(t=>o("th",{children:o(u.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(u.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:o(u.Text,{children:r})})},`${r}--${i}`))},`row-${n}`))})]})}const Ra=Fe.observer(function({id:t}){const n=mt(),{data:r,state:i}=n.getDataStuffByID(t),a=i==="loading",s=()=>{n.queries.refetchDataByQueryID(t)};return z(u.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[z(u.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[z(u.Group,{position:"left",children:[o(u.Text,{weight:500,children:"Preview Data"}),r.length>10&&z(u.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",r.length]})]}),o(u.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:a,onClick:s,children:o(Ae.Refresh,{size:15})})]}),z(u.Box,{sx:{position:"relative"},children:[o(u.LoadingOverlay,{visible:a}),o(jl,{data:r})]})]})}),Ul=be.forwardRef(({label:e,type:t,...n},r)=>z(u.Group,{position:"apart",ref:r,...n,children:[o(u.Text,{children:e}),o(u.Text,{children:t})]})),Da=Fe.observer(function({value:t,onChange:n}){const{data:r=[],loading:i}=dt.useRequest($l,{refreshDeps:[]},[]),a=be.useMemo(()=>r.map(l=>({label:l.key,value:l.key,type:l.type})),[r]),s=be.useMemo(()=>a.reduce((l,d)=>(l[d.value]=d.type,l),{}),[a]);return o(u.Select,{label:"Data Source",data:a,itemComponent:Ul,sx:{flex:1},disabled:i,value:t.key,onChange:l=>{l!==null&&n({key:l,type:s[l]})}})});function Ta({value:e}){const t=mt(),n=t.context.current,r=ne.default.useMemo(()=>ka(e,n,t.sqlSnippets.current,t.filters.values),[e,n,t.sqlSnippets.current,t.filters.values]);return o(_n.Prism,{language:"sql",colorScheme:"light",children:r})}const Wl=Fe.observer(function({queryModel:t,setCurrentID:n}){const r=ne.default.useRef(t.id),[i,a]=ne.default.useState(r.current);ne.default.useEffect(()=>{r.current!==t.id&&(a(t.id),r.current=t.id)},[r,t.id]);const[s,l]=ne.default.useState(t.sql);ne.default.useEffect(()=>{l(v=>v!==t.sql?t.sql:v)},[t.sql]);const d=s!==t.sql,m=()=>{t.setSQL(s)},f=()=>{n(i),t.setID(i)};return z(u.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[o(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:o(u.Text,{weight:500,children:"Edit Query"})}),z(u.Stack,{my:0,p:"md",pr:40,children:[z(u.Group,{grow:!0,children:[o(u.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},value:i,onChange:v=>{a(v.currentTarget.value)},rightSection:o(u.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:i===t.id,onClick:f,children:o(Ae.DeviceFloppy,{size:18})})}),o(Da,{value:{type:t.type,key:t.key},onChange:({type:v,key:y})=>{t.setKey(y),t.setType(v)}})]}),z(u.Tabs,{defaultValue:"SQL",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"SQL",children:"SQL"}),o(u.Tabs.Tab,{value:"Preview",children:"Preview"})]}),o(u.Tabs.Panel,{value:"SQL",pt:"sm",children:z(u.Box,{sx:{position:"relative"},children:[o(u.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:s,onChange:v=>{l(v.currentTarget.value)}}),o(u.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:10,top:10},disabled:!d,onClick:m,children:o(Ae.DeviceFloppy,{size:20})})]})}),o(u.Tabs.Panel,{value:"Preview",pt:"sm",children:o(Ta,{value:t.sql})})]})]})]})}),Hl=Fe.observer(function({id:t,setID:n}){const r=mt(),i=ne.default.useMemo(()=>r.queries.findByID(t),[r.queries,t]);return t?i?o(Wl,{queryModel:i,setCurrentID:n}):o("span",{children:"Invalid Query ID"}):null});var Zt=(e=>(e.Postgresql="postgresql",e.MySQL="mysql",e.HTTP="http",e))(Zt||{});const Yl=Fe.observer(function({id:t,setID:n}){const r=mt(),i=()=>{var s;n((s=r.queries.firstID)!=null?s:"")};ne.default.useEffect(()=>{if(!t){i();return}r.queries.current.findIndex(l=>l.id===t)===-1&&i()},[t,r.queries.current,i]);const a=()=>{const s=_t.randomId();r.queries.append(oe.cast({id:s,type:Zt.Postgresql,key:"",sql:""})),n(s)};return o(u.Group,{pb:"xl",children:z(u.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[o(u.Text,{children:"Select a Query"}),o(u.Select,{data:r.queries.options,value:t,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),o(u.Text,{children:"or"}),o(u.Group,{position:"center",mt:"md",children:o(u.Button,{onClick:a,children:"Add a Query"})})]})})}),Ql=Fe.observer(function(){const[t,n]=ne.default.useState("");return z(u.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:[z(u.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[z(u.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[o(Yl,{id:t,setID:n}),o(Hl,{id:t,setID:n})]}),o(Aa,{})]}),o(Ra,{id:t})]})});function Zl({value:e}){const n=mt().context.current,r=ne.default.useMemo(()=>Ol(e,n),[e,n]);return z(u.Stack,{children:[o(u.Text,{children:"Preview"}),o(_n.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:r})]})}const Xl=Fe.observer(function(){const t=mt(),n=()=>t.sqlSnippets.append(oe.cast({key:_t.randomId(),value:""}));return z(u.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[o(u.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:o(u.Text,{weight:500,children:"SQL Snippets"})}),o(u.Group,{px:"md",pb:"md",pt:"md",children:z(u.Stack,{sx:{width:"100%",position:"relative"},children:[t.sqlSnippets.current.map((r,i)=>z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(u.TextInput,{label:"Key",required:!0,value:r.key,onChange:a=>{r.setKey(a.currentTarget.value)}}),o(u.Textarea,{minRows:3,label:"Value",required:!0,value:r.value,onChange:a=>{r.setValue(a.currentTarget.value)},className:"code-textarea"}),o(Zl,{value:r.value}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.sqlSnippets.remove(i),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},i)),o(u.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:o(u.Button,{variant:"default",onClick:n,children:"Add a snippet"})})]})})]})});function Kl(){return o(u.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:z(u.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[o(Xl,{}),o(Aa,{showSQLSnippets:!1})]})})}const Jl=Fe.observer(function({opened:t,close:n}){const{freezeLayout:r}=ne.default.useContext(Lt);return ne.default.useEffect(()=>{r(t)},[t]),o(u.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},children:z(u.Tabs,{defaultValue:"Queries",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),o(u.Tabs.Tab,{value:"Queries",children:"Queries"})]}),o(u.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:o(Kl,{})}),o(u.Tabs.Panel,{value:"Queries",pt:"sm",children:o(Ql,{})})]})})});var Ft=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Ft||{});const za=oe.types.model({type:oe.types.enumeration("DataSourceType",[Zt.Postgresql,Zt.MySQL,Zt.HTTP]),key:oe.types.string,sql:oe.types.string}),Ma=oe.types.model("FilterConfigModel_TextInput",{required:oe.types.boolean,default_value:oe.types.string}).actions(e=>({setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t}})),Oa=()=>Ma.create({required:!1,default_value:""}),eu=Fe.observer(function({config:t}){return o(vt,{children:o(u.Checkbox,{checked:t.default_value,onChange:n=>t.setDefaultValue(n.currentTarget.checked),label:"Default Checked"})})}),tu=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],nu=Fe.observer(function({config:t}){return z(vt,{children:[z(u.Group,{children:[o(u.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"}),o(u.Checkbox,{checked:t.clearable,onChange:n=>t.setClearable(n.currentTarget.checked),label:"Clearable"})]}),o(u.Select,{data:tu,label:"Display Format",value:t.inputFormat,onChange:t.setInputFormat})]})});function ru({data:e}){return e.length===0?o(u.Box,{sx:{height:"5em"}}):z(u.Table,{children:[o("thead",{children:o("tr",{children:Object.keys(e==null?void 0:e[0]).map(t=>o("th",{children:o(u.Text,{weight:700,color:"#000",children:t})},t))})}),o("tbody",{children:e.slice(0,3).map((t,n)=>o("tr",{children:Object.values(t).map((r,i)=>o("td",{children:o(u.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:o(u.Text,{children:r})})},`${r}--${i}`))},`row-${n}`))}),e.length>3&&o("tfoot",{children:o("tr",{children:o("td",{colSpan:Object.keys(e==null?void 0:e[0]).length,children:z(u.Text,{color:"gray",size:"sm",children:[e.length-3," more row(s) hidden"]})})})})]})}const iu=Fe.observer(function({query:t}){const{data:n=[],loading:r,refresh:i}=dt.useRequest(jr(t),{refreshDeps:[t]});return z(u.Stack,{my:0,children:[z(u.Group,{position:"apart",children:[o(u.Text,{size:"md",pl:"sm",children:"Fetched Data"}),o(u.Button,{size:"xs",onClick:i,disabled:!t.sql||!t.key,children:"Retry"})]}),z(u.Box,{sx:{position:"relative"},children:[o(u.LoadingOverlay,{visible:r,exitTransitionDuration:0}),o(ru,{data:n})]})]})}),Fa=Fe.observer(function({value:t,onChange:n}){return z(u.Stack,{my:0,children:[o(Da,{value:t,onChange:({type:r,key:i})=>{n({...t,type:r,key:i})}}),z(u.Tabs,{defaultValue:"SQL",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"SQL",children:"SQL"}),o(u.Tabs.Tab,{value:"Preview",children:"Preview"}),o(u.Tabs.Tab,{value:"Data",children:"Data"})]}),o(u.Tabs.Panel,{value:"SQL",pt:"sm",children:o(u.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:t.sql,onChange:r=>{n({...t,sql:r.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),o(u.Tabs.Panel,{value:"Preview",pt:"sm",children:o(Ta,{value:t.sql})}),o(u.Tabs.Panel,{value:"Data",pt:"sm",children:o(iu,{query:t})})]})]})}),au=Fe.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[...r];return z(vt,{children:[o(u.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(u.MultiSelect,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,s)=>z(u.Group,{sx:{position:"relative"},pr:"40px",children:[o(u.TextInput,{label:"Label",required:!0,value:t.static_options[s].label,onChange:l=>{t.static_options[s].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),o(u.TextInput,{label:"Value",required:!0,value:t.static_options[s].value,onChange:l=>{t.static_options[s].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(s),sx:{position:"absolute",top:28,right:5},children:o(Ae.Trash,{size:16})})]})),o(u.Button,{size:"xs",color:"blue",leftIcon:o(Ae.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(u.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(Fa,{value:t.options_query,onChange:t.setOptionsQuery})]})}),ou=Fe.observer(function({config:t}){const n=()=>{t.addStaticOption({label:"",value:""})},r=t.static_options,i=[{label:"No default selection",value:""},...r];return z(vt,{children:[o(u.Checkbox,{checked:t.required,onChange:a=>t.setRequired(a.currentTarget.checked),label:"Required"}),o(u.Divider,{label:"Configure options",labelPosition:"center"}),r.length>0&&o(u.Select,{label:"Default Selection",data:i,value:t.default_value,onChange:t.setDefaultValue}),r.map((a,s)=>z(u.Group,{sx:{position:"relative"},pr:"40px",children:[o(u.TextInput,{label:"Label",required:!0,value:t.static_options[s].label,onChange:l=>{t.static_options[s].setLabel(l.currentTarget.value)},sx:{flexGrow:1}}),o(u.TextInput,{label:"Value",required:!0,value:t.static_options[s].value,onChange:l=>{t.static_options[s].setValue(l.currentTarget.value)},sx:{flexGrow:1}}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t.removeStaticOption(s),sx:{position:"absolute",top:28,right:5},children:o(Ae.Trash,{size:16})})]},s)),o(u.Button,{size:"xs",color:"blue",leftIcon:o(Ae.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),o(u.Divider,{label:"Or fetch options from database",labelPosition:"center"}),o(Fa,{value:t.options_query,onChange:t.setOptionsQuery})]})}),su=Fe.observer(function({config:t}){return z(vt,{children:[o(u.TextInput,{label:"Default Value",value:t.default_value,onChange:n=>{t.setDefaultValue(n.currentTarget.value)}}),o(u.Checkbox,{checked:t.required,onChange:n=>t.setRequired(n.currentTarget.checked),label:"Required"})]})}),lu=Fe.observer(function({filter:t}){const n=t.config.default_value,[r,i]=ne.default.useState(n);return ne.default.useEffect(()=>{i(n)},[n]),z(u.Box,{sx:{maxWidth:"30em"},children:[o(u.Text,{pb:"md",color:"gray",children:"Preview"}),o(Ea,{filter:t,value:r,onChange:i}),o(u.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),o(_n.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),uu={select:ou,"multi-select":au,"text-input":su,checkbox:eu,"date-range":nu},cu=[{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"}],du=Fe.observer(function({filter:t,index:n}){const r=mt(),i=ne.default.useMemo(()=>uu[t.type],[t.type]);return z(u.SimpleGrid,{cols:2,children:[z(u.Box,{pl:"md",children:[o(u.Text,{pb:"md",color:"gray",children:"Edit"}),z(u.Stack,{sx:{maxWidth:"30em"},children:[o(u.NumberInput,{label:"Placement Order",required:!0,value:t.order,onChange:t.setOrder,hideControls:!0}),o(u.MultiSelect,{label:"Visible in...",data:r.views.options,value:t.visibleInViewsIDs,onChange:t.setVisibleInViewsIDs}),o(u.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:t.key,onChange:a=>{t.setKey(a.currentTarget.value)}}),o(u.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:t.label,onChange:a=>{t.setLabel(a.currentTarget.value)}}),o(u.Select,{label:"Widget",data:cu,required:!0,value:t.type,onChange:t.setType}),o(i,{config:t.config,index:n})]})]}),o(lu,{filter:t})]})}),O0="",fu=Fe.observer(function(){const t=mt(),n=t.filters.current,r=()=>{const i=_t.randomId(),a={id:i,key:i,label:i,order:n.length+1,type:Ft.TextInput,config:Oa(),visibleInViewsIDs:["Main"]};t.filters.append(a)};return z(u.Box,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[o(u.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:o(u.Button,{size:"xs",color:"red",leftIcon:o(Ae.Recycle,{size:20}),disabled:!t.filters.changed,onClick:t.filters.reset,children:"Revert Changes"})}),o(u.Tabs,{className:"filter-settings-tabs",orientation:"vertical",defaultValue:t.filters.firstID,styles:{root:{display:"block"}},children:z(u.Group,{sx:{height:"100%"},children:[z(u.Stack,{sx:{height:"100%"},children:[o(u.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:t.filters.current.map(i=>o(u.Tabs.Tab,{value:i.id,children:i.label},i.id))}),o(u.Button,{size:"xs",color:"blue",leftIcon:o(Ae.PlaylistAdd,{size:20}),onClick:r,children:"Add a Filter"})]}),o(u.Box,{sx:{flexGrow:1,height:"100%"},children:t.filters.current.map((i,a)=>o(u.Tabs.Panel,{value:i.id,sx:{height:"100%"},children:z(u.Stack,{sx:{height:"100%"},spacing:"sm",children:[o(u.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:o(du,{filter:i,index:a})}),o(u.Group,{position:"right",pt:10,children:o(u.Button,{size:"xs",color:"red",leftIcon:o(Ae.Trash,{size:20}),onClick:()=>t.filters.remove(a),children:"Delete this filter"})})]})},i.id))})]})})]})}),hu=Fe.observer(function({opened:t,close:n}){const{freezeLayout:r}=ne.default.useContext(Lt);return ne.default.useEffect(()=>{r(t)},[t]),o(u.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:"Filters",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},withCloseButton:!1,children:o(fu,{})})});var $a=(e=>(e.Use="use",e.Edit="edit",e))($a||{}),Xt=(e=>(e.Division="div",e.Modal="modal",e))(Xt||{}),Pa=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(Pa||{});const pu=Fe.observer(()=>{const t=mt().views.VIE;return!t||t.type!==Xt.Division?null:z(u.Stack,{children:[o(u.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),o(u.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})}),gu=Fe.observer(()=>{const t=mt().views.VIE;return!t||t.type!==Xt.Modal?null:z(u.Stack,{children:[o(u.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),z(u.Group,{grow:!0,children:[o(u.TextInput,{label:"Width",value:t.config.width,onChange:n=>t.updateConfig("width",n.currentTarget.value),placeholder:"600px / 50vw"}),o(u.TextInput,{label:"Height",value:t.config.height,onChange:n=>t.updateConfig("height",n.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),mu=Fe.observer(()=>z(vt,{children:[o(pu,{}),o(gu,{})]})),vu=[{label:"Division",value:Xt.Division},{label:"Modal",value:Xt.Modal}],bu=Fe.observer(()=>{const t=mt().views.VIE;return t?z(u.Stack,{sx:{position:"relative"},children:[o(u.TextInput,{label:"Name",value:t.name,onChange:n=>{t.setName(n.currentTarget.value)}}),o(u.Select,{label:"Type",value:t.type,onChange:t.setType,data:vu}),o(mu,{})]}):null}),yu=Fe.observer(({opened:e,close:t})=>{var i;const n=mt(),{freezeLayout:r}=ne.default.useContext(Lt);return ne.default.useEffect(()=>{r(e)},[e]),o(u.Modal,{size:"500px",overflow:"inside",opened:e,onClose:t,withCloseButton:!1,styles:{header:{width:"100%"},title:{width:"100%"}},title:z(u.Group,{position:"apart",children:[z(u.Text,{sx:{flexGrow:1},children:["Editing ",(i=n.views.VIE)==null?void 0:i.id]}),o(u.ActionIcon,{size:18,color:"red",onClick:n.views.removeVIE,disabled:n.views.isVIETheFirstView,children:o(Ae.Trash,{size:18})})]}),trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:o(bu,{})})}),_u=be.forwardRef(({label:e,type:t,...n},r)=>t!=="TRIGGER_TO_ADD"?o("div",{ref:r,...n,children:z(u.Group,{noWrap:!0,position:"apart",children:[o(u.Text,{size:"sm",children:e}),o(u.Text,{size:"xs",color:"dimmed",children:t})]})}):o("div",{ref:r,...n,children:o(u.Group,{noWrap:!0,grow:!0,children:o(u.Text,{size:"sm",align:"center",color:"#228be6",children:e})})})),Va="TRIGGER_TO_ADD",wu=Fe.observer(({value:e,onChange:t,triggerAdd:n,triggerEdit:r,options:i})=>{const a=be.useMemo(()=>[...i,{label:"Add a View",value:Va,type:"TRIGGER_TO_ADD"}],[i,n]),s=l=>{l!==Va?t(l):n()};return z(u.Group,{position:"left",spacing:0,sx:{minWidth:"260px"},children:[o(u.Select,{value:e,onChange:s,placeholder:"Pick a View",itemComponent:_u,data:a,nothingFound:"Empty",sx:{flexGrow:1},styles:{input:{borderTopRightRadius:0,borderBottomRightRadius:0}}}),o(u.ActionIcon,{onClick:r,variant:"default",size:36,sx:{borderLeft:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,"&:active":{transform:"none",svg:{transform:"translateY(1px)"}}},children:o(Ae.Settings,{size:20})})]})}),Cu=Fe.observer(()=>{const e=mt(),[t,n]=be.useState(!1),r=()=>{n(!0)},i=()=>{n(!1)};return z(vt,{children:[o(wu,{value:e.views.idOfVIE,onChange:e.views.setIDOfVIE,triggerAdd:e.views.addARandomNewView,triggerEdit:r,options:e.views.options}),o(yu,{opened:t,close:i})]})});function xu({opened:e,close:t,getCurrentSchema:n}){const{freezeLayout:r}=ne.default.useContext(Lt);ne.default.useEffect(()=>{r(e)},[e]);const i=ne.default.useMemo(()=>JSON.stringify(n(),null,2),[e]);return o(u.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:t,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:e&&o(_n.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:i})})}const La=Fe.observer(function({saveChanges:t}){const n=mt(),r=ne.default.useCallback(()=>{const B=n.queries.current,q=n.views.current,Q=n.sqlSnippets.current;return{filters:n.filters.current,views:q,definition:{sqlSnippets:Q,queries:B}}},[n]),i=()=>{n.filters.reset(),n.views.reset(),n.sqlSnippets.reset(),n.queries.reset()},a=n.views.changed||n.sqlSnippets.changed||n.queries.changed||n.filters.changed,{inEditMode:s,inUseMode:l}=ne.default.useContext(Lt),[d,m]=ne.default.useState(!1),f=()=>m(!0),v=()=>m(!1),[y,p]=ne.default.useState(!1),C=()=>p(!0),g=()=>p(!1),[x,S]=ne.default.useState(!1),D=()=>S(!0),F=()=>S(!1);return z(u.Group,{position:"apart",pt:0,pb:"xs",children:[o(u.Group,{position:"left",children:s&&o(Cu,{})}),z(u.Group,{position:"right",children:[!l&&o(u.Button,{variant:"default",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:o(Ae.PlaylistAdd,{size:20}),children:"Add a Panel"}),s&&o(u.Button,{variant:"default",size:"xs",onClick:C,leftIcon:o(Ae.Filter,{size:20}),children:"Filters"}),s&&o(u.Button,{variant:"default",size:"xs",onClick:f,leftIcon:o(Ae.Database,{size:20}),children:"Data Settings"}),!l&&o(u.Button,{variant:"default",size:"xs",onClick:t,disabled:!a,leftIcon:o(Ae.DeviceFloppy,{size:20}),children:"Save Changes"}),!l&&o(u.Button,{color:"red",size:"xs",disabled:!a,onClick:i,leftIcon:o(Ae.Recycle,{size:20}),children:"Revert Changes"}),z(u.Menu,{width:180,children:[o(u.Menu.Target,{children:o(u.Button,{variant:"default",size:"xs",leftIcon:o(Ae.Share,{size:20}),children:"Export"})}),z(u.Menu.Dropdown,{children:[o(u.Menu.Item,{icon:o(Ae.Download,{size:14}),onClick:n.queries.downloadAllData,children:"Download Data"}),o(u.Menu.Item,{icon:o(Ae.Code,{size:14}),onClick:D,children:"View Schema"})]})]})]}),o(hu,{opened:y,close:g}),o(Jl,{opened:d,close:v}),o(xu,{opened:x,close:F,getCurrentSchema:r})]})});function Na(){const{freezeLayout:e}=ne.default.useContext(Lt),[t,n]=ne.default.useState(!1),{title:r,description:i}=ne.default.useContext(Rt);return ne.default.useEffect(()=>{e(t)},[t]),!i||i==="<p><br></p>"?null:z(vt,{children:[o(u.Modal,{opened:t,onClose:()=>n(!1),title:r,withCloseButton:!1,children:o(ya.default,{readOnly:!0,value:i,onChange:Ze.default.noop,sx:{border:"none"}})}),o(u.Tooltip,{label:"Click to see description",position:"top-start",children:o(u.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(a=>!a),sx:{verticalAlign:"baseline",cursor:"pointer"},children:o(Ae.InfoCircle,{size:20})})})]})}const Ba=e=>{const{title:t="Variables",variables:n}=e,r=_t.useClipboard(),i=a=>{r.copy(a),Pr.showNotification({color:"green",message:"Copied to clipboard"})};return z(u.Paper,{withBorder:!0,p:"sm",children:[o(u.Text,{size:"xs",color:"dimmed",mb:"sm",children:t}),o(u.Stack,{style:{maxHeight:"300px"},children:n.map(a=>z(u.Text,{size:"sm",children:[z(u.Code,{color:"teal",children:["// ",a.description]}),o("br",{}),z(u.Code,{onClick:()=>i(a.name),style:{cursor:"pointer"},children:[a.name," : ",a.valueType]})]},a.name))})]})};class Su{constructor(t,n){qe(this,"operationId");qe(this,"operation");qe(this,"operationSchema");qe(this,"variables",[]);this.operationManager=t,this.instance=n,kt.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));kt.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 ku(e){return!!e.operationId}const Eu=Fe.observer(({model:e,onClick:t})=>{var r;const n=(r=e.operationSchema)==null?void 0:r.displayName;return o(u.Button,{variant:"outline",onClick:t,children:n})}),Iu=Fe.observer(({model:e})=>{const t={operation:e.operation,instance:e.instance,variables:[]};return be.createElement(e.operationSchema.configRender,t)});function Au({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(u.Select,{label:"Operation",data:n,onChange:r,value:e.operationSchema.id})}const Ru=Fe.observer(e=>{const[t,{setTrue:n,setFalse:r}]=dt.useBoolean(!1),{operationManager:i,operationId:a,instance:s,variables:l}=e,d=dt.useCreation(()=>new Su(i,s),[i,s]);return dt.useAsyncEffect(async()=>{await d.configOperation(a,l)},[a,d]),ku(d)?z(vt,{children:[o(Eu,{model:d,onClick:n}),o(u.Modal,{opened:t,onClose:r,title:"Operation Settings",closeButtonLabel:"close",children:z(u.Stack,{children:[o(Au,{model:d}),o(Iu,{model:d}),o(Ba,{title:"Variables",variables:d.variables})]})})]}):null});class Du{constructor(t,n){qe(this,"triggerId");qe(this,"trigger");qe(this,"triggerSchema");qe(this,"sampleData");this.triggerManager=t,this.instance=n,kt.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));kt.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 Tu(this)}}function Tu(e){return!!e.triggerId&&!!e.triggerSchema}function zu(e,t){return dt.useCreation(()=>new Du(e,t),[e,t])}const Mu=Fe.observer(({model:e,onClick:t})=>{const n=e.triggerSchema.nameRender,r={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return o(u.Button,{variant:"outline",onClick:t,children:be.createElement(n,r)})}),Ou=Fe.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(u.Select,{label:"Trigger",data:n,value:e.triggerSchema.id,onChange:r})}),Fu=Fe.observer(({model:e})=>{const t={trigger:e.trigger,instance:e.instance,sampleData:e.sampleData};return be.createElement(e.triggerSchema.configRender,t)}),$u=Fe.observer(e=>{const[t,{setTrue:n,setFalse:r}]=dt.useBoolean(!1),i=e.model;return z(vt,{children:[o(u.Modal,{opened:t,onClose:r,title:"Setup Trigger",closeButtonLabel:"close setup",children:z(u.Stack,{children:[o(Ou,{model:i}),o(Fu,{model:i}),o(Ba,{title:"Payload",variables:i.triggerSchema.payload})]})}),o(Mu,{onClick:n,model:i})]})});class Tn{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,Ce.omit(n,t))}async getItem(t){const n=await this.root.getItem(this.path);return t===null?n:Ce.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 s=Ce.get(i,t),l=Ce.get(a,t);s!==l&&n(s,l)},r)}}class Ur{constructor(t,n,r){qe(this,"attachmentStorage");this.instance=t,this.attachmentKey=n,this.constructInstance=r,this.attachmentStorage=new Tn(t.instanceData,n)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new Tn(this.attachmentStorage,t))}async create(t,n){return await this.attachmentStorage.setItem(t,n),this.constructInstance(new Tn(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(Ce.values(t).map(n=>this.constructInstance(new Tn(this.attachmentStorage,n.id))))}}class Ga{constructor(t){qe(this,"rootRef");this.rootRef=kt.observable({current:t})}async deleteItem(t){kt.runInAction(()=>{Ce.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?kt.toJS(this.rootRef.current):Ce.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(Ce.isObject(n))kt.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else kt.runInAction(()=>{Ce.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,r){return kt.reaction(()=>this.getValueFromRoot(t),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:Ce.get(r,"fireImmediately",!1)})}}var qa={exports:{}};/*!
40
- * EventEmitter2
41
- * https://github.com/hij1nx/EventEmitter2
42
- *
43
- * Copyright (c) 2013 hij1nx
44
- * Licensed under the MIT license.
45
- */(function(e,t){(function(n){var r=Object.hasOwnProperty,i=Array.isArray?Array.isArray:function(E){return Object.prototype.toString.call(E)==="[object Array]"},a=10,s=typeof process=="object"&&typeof process.nextTick=="function",l=typeof Symbol=="function",d=typeof Reflect=="object",m=typeof setImmediate=="function",f=m?setImmediate:setTimeout,v=l?d&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(k){var E=Object.getOwnPropertyNames(k);return E.push.apply(E,Object.getOwnPropertySymbols(k)),E}:Object.keys;function y(){this._events={},this._conf&&p.call(this,this._conf)}function p(k){k&&(this._conf=k,k.delimiter&&(this.delimiter=k.delimiter),k.maxListeners!==n&&(this._maxListeners=k.maxListeners),k.wildcard&&(this.wildcard=k.wildcard),k.newListener&&(this._newListener=k.newListener),k.removeListener&&(this._removeListener=k.removeListener),k.verboseMemoryLeak&&(this.verboseMemoryLeak=k.verboseMemoryLeak),k.ignoreErrors&&(this.ignoreErrors=k.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function C(k,E){var N="(node) warning: possible EventEmitter memory leak detected. "+k+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(N+=" Event name: "+E+"."),typeof process<"u"&&process.emitWarning){var I=new Error(N);I.name="MaxListenersExceededWarning",I.emitter=this,I.count=k,process.emitWarning(I)}else console.error(N),console.trace&&console.trace()}var g=function(k,E,N){var I=arguments.length;switch(I){case 0:return[];case 1:return[k];case 2:return[k,E];case 3:return[k,E,N];default:for(var R=new Array(I);I--;)R[I]=arguments[I];return R}};function x(k,E){for(var N={},I,R=k.length,j=E?E.length:0,U=0;U<R;U++)I=k[U],N[I]=U<j?E[U]:n;return N}function S(k,E,N){this._emitter=k,this._target=E,this._listeners={},this._listenersCount=0;var I,R;if((N.on||N.off)&&(I=N.on,R=N.off),E.addEventListener?(I=E.addEventListener,R=E.removeEventListener):E.addListener?(I=E.addListener,R=E.removeListener):E.on&&(I=E.on,R=E.off),!I&&!R)throw Error("target does not implement any known event API");if(typeof I!="function")throw TypeError("on method must be a function");if(typeof R!="function")throw TypeError("off method must be a function");this._on=I,this._off=R;var j=k._observers;j?j.push(this):k._observers=[this]}Object.assign(S.prototype,{subscribe:function(k,E,N){var I=this,R=this._target,j=this._emitter,U=this._listeners,W=function(){var le=g.apply(null,arguments),ce={data:le,name:E,original:k};if(N){var me=N.call(R,ce);me!==!1&&j.emit.apply(j,[ce.name].concat(le));return}j.emit.apply(j,[E].concat(le))};if(U[k])throw Error("Event '"+k+"' is already listening");this._listenersCount++,j._newListener&&j._removeListener&&!I._onNewListener?(this._onNewListener=function(le){le===E&&U[k]===null&&(U[k]=W,I._on.call(R,k,W))},j.on("newListener",this._onNewListener),this._onRemoveListener=function(le){le===E&&!j.hasListeners(le)&&U[k]&&(U[k]=null,I._off.call(R,k,W))},U[k]=null,j.on("removeListener",this._onRemoveListener)):(U[k]=W,I._on.call(R,k,W))},unsubscribe:function(k){var E=this,N=this._listeners,I=this._emitter,R,j,U=this._off,W=this._target,le;if(k&&typeof k!="string")throw TypeError("event must be a string");function ce(){E._onNewListener&&(I.off("newListener",E._onNewListener),I.off("removeListener",E._onRemoveListener),E._onNewListener=null,E._onRemoveListener=null);var me=se.call(I,E);I._observers.splice(me,1)}if(k){if(R=N[k],!R)return;U.call(W,k,R),delete N[k],--this._listenersCount||ce()}else{for(j=v(N),le=j.length;le-- >0;)k=j[le],U.call(W,k,N[k]);this._listeners={},this._listenersCount=0,ce()}}});function D(k,E,N,I){var R=Object.assign({},E);if(!k)return R;if(typeof k!="object")throw TypeError("options must be an object");var j=Object.keys(k),U=j.length,W,le,ce;function me(Me){throw Error('Invalid "'+W+'" option value'+(Me?". Reason: "+Me:""))}for(var ze=0;ze<U;ze++){if(W=j[ze],!I&&!r.call(E,W))throw Error('Unknown "'+W+'" option');le=k[W],le!==n&&(ce=N[W],R[W]=ce?ce(le,me):le)}return R}function F(k,E){return(typeof k!="function"||!k.hasOwnProperty("prototype"))&&E("value must be a constructor"),k}function B(k){var E="value must be type of "+k.join("|"),N=k.length,I=k[0],R=k[1];return N===1?function(j,U){if(typeof j===I)return j;U(E)}:N===2?function(j,U){var W=typeof j;if(W===I||W===R)return j;U(E)}:function(j,U){for(var W=typeof j,le=N;le-- >0;)if(W===k[le])return j;U(E)}}var q=B(["function"]),Q=B(["object","function"]);function te(k,E,N){var I,R,j=0,U,W=new k(function(le,ce,me){N=D(N,{timeout:0,overload:!1},{timeout:function(Be,Ke){return Be*=1,(typeof Be!="number"||Be<0||!Number.isFinite(Be))&&Ke("timeout must be a positive number"),Be}}),I=!N.overload&&typeof k.prototype.cancel=="function"&&typeof me=="function";function ze(){R&&(R=null),j&&(clearTimeout(j),j=0)}var Me=function(Be){ze(),le(Be)},Oe=function(Be){ze(),ce(Be)};I?E(Me,Oe,me):(R=[function(Be){Oe(Be||Error("canceled"))}],E(Me,Oe,function(Be){if(U)throw Error("Unable to subscribe on cancel event asynchronously");if(typeof Be!="function")throw TypeError("onCancel callback must be a function");R.push(Be)}),U=!0),N.timeout>0&&(j=setTimeout(function(){var Be=Error("timeout");Be.code="ETIMEDOUT",j=0,W.cancel(Be),ce(Be)},N.timeout))});return I||(W.cancel=function(le){if(!!R){for(var ce=R.length,me=1;me<ce;me++)R[me](le);R[0](le),R=null}}),W}function se(k){var E=this._observers;if(!E)return-1;for(var N=E.length,I=0;I<N;I++)if(E[I]._target===k)return I;return-1}function K(k,E,N,I,R){if(!N)return null;if(I===0){var j=typeof E;if(j==="string"){var U,W,le=0,ce=0,me=this.delimiter,ze=me.length;if((W=E.indexOf(me))!==-1){U=new Array(5);do U[le++]=E.slice(ce,W),ce=W+ze;while((W=E.indexOf(me,ce))!==-1);U[le++]=E.slice(ce),E=U,R=le}else E=[E],R=1}else j==="object"?R=E.length:(E=[E],R=1)}var Me=null,Oe,Be,Ke,b,ie,J=E[I],M=E[I+1],A,V;if(I===R)N._listeners&&(typeof N._listeners=="function"?(k&&k.push(N._listeners),Me=[N]):(k&&k.push.apply(k,N._listeners),Me=[N]));else if(J==="*"){for(A=v(N),W=A.length;W-- >0;)Oe=A[W],Oe!=="_listeners"&&(V=K(k,E,N[Oe],I+1,R),V&&(Me?Me.push.apply(Me,V):Me=V));return Me}else if(J==="**"){for(ie=I+1===R||I+2===R&&M==="*",ie&&N._listeners&&(Me=K(k,E,N,R,R)),A=v(N),W=A.length;W-- >0;)Oe=A[W],Oe!=="_listeners"&&(Oe==="*"||Oe==="**"?(N[Oe]._listeners&&!ie&&(V=K(k,E,N[Oe],R,R),V&&(Me?Me.push.apply(Me,V):Me=V)),V=K(k,E,N[Oe],I,R)):Oe===M?V=K(k,E,N[Oe],I+2,R):V=K(k,E,N[Oe],I,R),V&&(Me?Me.push.apply(Me,V):Me=V));return Me}else N[J]&&(Me=K(k,E,N[J],I+1,R));if(Be=N["*"],Be&&K(k,E,Be,I+1,R),Ke=N["**"],Ke)if(I<R)for(Ke._listeners&&K(k,E,Ke,R,R),A=v(Ke),W=A.length;W-- >0;)Oe=A[W],Oe!=="_listeners"&&(Oe===M?K(k,E,Ke[Oe],I+2,R):Oe===J?K(k,E,Ke[Oe],I+1,R):(b={},b[Oe]=Ke[Oe],K(k,E,{"**":b},I+1,R)));else Ke._listeners?K(k,E,Ke,R,R):Ke["*"]&&Ke["*"]._listeners&&K(k,E,Ke["*"],R,R);return Me}function ge(k,E,N){var I=0,R=0,j,U=this.delimiter,W=U.length,le;if(typeof k=="string")if((j=k.indexOf(U))!==-1){le=new Array(5);do le[I++]=k.slice(R,j),R=j+W;while((j=k.indexOf(U,R))!==-1);le[I++]=k.slice(R)}else le=[k],I=1;else le=k,I=k.length;if(I>1){for(j=0;j+1<I;j++)if(le[j]==="**"&&le[j+1]==="**")return}var ce=this.listenerTree,me;for(j=0;j<I;j++)if(me=le[j],ce=ce[me]||(ce[me]={}),j===I-1)return ce._listeners?(typeof ce._listeners=="function"&&(ce._listeners=[ce._listeners]),N?ce._listeners.unshift(E):ce._listeners.push(E),!ce._listeners.warned&&this._maxListeners>0&&ce._listeners.length>this._maxListeners&&(ce._listeners.warned=!0,C.call(this,ce._listeners.length,me))):ce._listeners=E,!0;return!0}function Se(k,E,N,I){for(var R=v(k),j=R.length,U,W,le,ce=k._listeners,me;j-- >0;)W=R[j],U=k[W],W==="_listeners"?le=N:le=N?N.concat(W):[W],me=I||typeof W=="symbol",ce&&E.push(me?le:le.join(this.delimiter)),typeof U=="object"&&Se.call(this,U,E,le,me);return E}function $(k){for(var E=v(k),N=E.length,I,R,j;N-- >0;)R=E[N],I=k[R],I&&(j=!0,R!=="_listeners"&&!$(I)&&delete k[R]);return j}function ee(k,E,N){this.emitter=k,this.event=E,this.listener=N}ee.prototype.off=function(){return this.emitter.off(this.event,this.listener),this};function _(k,E,N){if(N===!0)R=!0;else if(N===!1)I=!0;else{if(!N||typeof N!="object")throw TypeError("options should be an object or true");var I=N.async,R=N.promisify,j=N.nextTick,U=N.objectify}if(I||j||R){var W=E,le=E._origin||E;if(j&&!s)throw Error("process.nextTick is not supported");R===n&&(R=E.constructor.name==="AsyncFunction"),E=function(){var ce=arguments,me=this,ze=this.event;return R?j?Promise.resolve():new Promise(function(Me){f(Me)}).then(function(){return me.event=ze,W.apply(me,ce)}):(j?process.nextTick:f)(function(){me.event=ze,W.apply(me,ce)})},E._async=!0,E._origin=le}return[E,U?new ee(this,k,E):this]}function Z(k){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,p.call(this,k)}Z.EventEmitter2=Z,Z.prototype.listenTo=function(k,E,N){if(typeof k!="object")throw TypeError("target musts be an object");var I=this;N=D(N,{on:n,off:n,reducers:n},{on:q,off:q,reducers:Q});function R(j){if(typeof j!="object")throw TypeError("events must be an object");var U=N.reducers,W=se.call(I,k),le;W===-1?le=new S(I,k,N):le=I._observers[W];for(var ce=v(j),me=ce.length,ze,Me=typeof U=="function",Oe=0;Oe<me;Oe++)ze=ce[Oe],le.subscribe(ze,j[ze]||ze,Me?U:U&&U[ze])}return i(E)?R(x(E)):R(typeof E=="string"?x(E.split(/\s+/)):E),this},Z.prototype.stopListeningTo=function(k,E){var N=this._observers;if(!N)return!1;var I=N.length,R,j=!1;if(k&&typeof k!="object")throw TypeError("target should be an object");for(;I-- >0;)R=N[I],(!k||R._target===k)&&(R.unsubscribe(E),j=!0);return j},Z.prototype.delimiter=".",Z.prototype.setMaxListeners=function(k){k!==n&&(this._maxListeners=k,this._conf||(this._conf={}),this._conf.maxListeners=k)},Z.prototype.getMaxListeners=function(){return this._maxListeners},Z.prototype.event="",Z.prototype.once=function(k,E,N){return this._once(k,E,!1,N)},Z.prototype.prependOnceListener=function(k,E,N){return this._once(k,E,!0,N)},Z.prototype._once=function(k,E,N,I){return this._many(k,1,E,N,I)},Z.prototype.many=function(k,E,N,I){return this._many(k,E,N,!1,I)},Z.prototype.prependMany=function(k,E,N,I){return this._many(k,E,N,!0,I)},Z.prototype._many=function(k,E,N,I,R){var j=this;if(typeof N!="function")throw new Error("many only accepts instances of Function");function U(){return--E===0&&j.off(k,U),N.apply(this,arguments)}return U._origin=N,this._on(k,U,I,R)},Z.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||y.call(this);var k=arguments[0],E,N=this.wildcard,I,R,j,U,W;if(k==="newListener"&&!this._newListener&&!this._events.newListener)return!1;if(N&&(E=k,k!=="newListener"&&k!=="removeListener"&&typeof k=="object")){if(R=k.length,l){for(j=0;j<R;j++)if(typeof k[j]=="symbol"){W=!0;break}}W||(k=k.join(this.delimiter))}var le=arguments.length,ce;if(this._all&&this._all.length)for(ce=this._all.slice(),j=0,R=ce.length;j<R;j++)switch(this.event=k,le){case 1:ce[j].call(this,k);break;case 2:ce[j].call(this,k,arguments[1]);break;case 3:ce[j].call(this,k,arguments[1],arguments[2]);break;default:ce[j].apply(this,arguments)}if(N)ce=[],K.call(this,ce,E,this.listenerTree,0,R);else if(ce=this._events[k],typeof ce=="function"){switch(this.event=k,le){case 1:ce.call(this);break;case 2:ce.call(this,arguments[1]);break;case 3:ce.call(this,arguments[1],arguments[2]);break;default:for(I=new Array(le-1),U=1;U<le;U++)I[U-1]=arguments[U];ce.apply(this,I)}return!0}else ce&&(ce=ce.slice());if(ce&&ce.length){if(le>3)for(I=new Array(le-1),U=1;U<le;U++)I[U-1]=arguments[U];for(j=0,R=ce.length;j<R;j++)switch(this.event=k,le){case 1:ce[j].call(this);break;case 2:ce[j].call(this,arguments[1]);break;case 3:ce[j].call(this,arguments[1],arguments[2]);break;default:ce[j].apply(this,I)}return!0}else if(!this.ignoreErrors&&!this._all&&k==="error")throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},Z.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||y.call(this);var k=arguments[0],E=this.wildcard,N,I,R,j,U,W;if(k==="newListener"&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(E&&(N=k,k!=="newListener"&&k!=="removeListener"&&typeof k=="object")){if(j=k.length,l){for(U=0;U<j;U++)if(typeof k[U]=="symbol"){I=!0;break}}I||(k=k.join(this.delimiter))}var le=[],ce=arguments.length,me;if(this._all)for(U=0,j=this._all.length;U<j;U++)switch(this.event=k,ce){case 1:le.push(this._all[U].call(this,k));break;case 2:le.push(this._all[U].call(this,k,arguments[1]));break;case 3:le.push(this._all[U].call(this,k,arguments[1],arguments[2]));break;default:le.push(this._all[U].apply(this,arguments))}if(E?(me=[],K.call(this,me,N,this.listenerTree,0)):me=this._events[k],typeof me=="function")switch(this.event=k,ce){case 1:le.push(me.call(this));break;case 2:le.push(me.call(this,arguments[1]));break;case 3:le.push(me.call(this,arguments[1],arguments[2]));break;default:for(R=new Array(ce-1),W=1;W<ce;W++)R[W-1]=arguments[W];le.push(me.apply(this,R))}else if(me&&me.length){if(me=me.slice(),ce>3)for(R=new Array(ce-1),W=1;W<ce;W++)R[W-1]=arguments[W];for(U=0,j=me.length;U<j;U++)switch(this.event=k,ce){case 1:le.push(me[U].call(this));break;case 2:le.push(me[U].call(this,arguments[1]));break;case 3:le.push(me[U].call(this,arguments[1],arguments[2]));break;default:le.push(me[U].apply(this,R))}}else if(!this.ignoreErrors&&!this._all&&k==="error")return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(le)},Z.prototype.on=function(k,E,N){return this._on(k,E,!1,N)},Z.prototype.prependListener=function(k,E,N){return this._on(k,E,!0,N)},Z.prototype.onAny=function(k){return this._onAny(k,!1)},Z.prototype.prependAny=function(k){return this._onAny(k,!0)},Z.prototype.addListener=Z.prototype.on,Z.prototype._onAny=function(k,E){if(typeof k!="function")throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),E?this._all.unshift(k):this._all.push(k),this},Z.prototype._on=function(k,E,N,I){if(typeof k=="function")return this._onAny(k,E),this;if(typeof E!="function")throw new Error("on only accepts instances of Function");this._events||y.call(this);var R=this,j;return I!==n&&(j=_.call(this,k,E,I),E=j[0],R=j[1]),this._newListener&&this.emit("newListener",k,E),this.wildcard?(ge.call(this,k,E,N),R):(this._events[k]?(typeof this._events[k]=="function"&&(this._events[k]=[this._events[k]]),N?this._events[k].unshift(E):this._events[k].push(E),!this._events[k].warned&&this._maxListeners>0&&this._events[k].length>this._maxListeners&&(this._events[k].warned=!0,C.call(this,this._events[k].length,k))):this._events[k]=E,R)},Z.prototype.off=function(k,E){if(typeof E!="function")throw new Error("removeListener only takes instances of Function");var N,I=[];if(this.wildcard){var R=typeof k=="string"?k.split(this.delimiter):k.slice();if(I=K.call(this,null,R,this.listenerTree,0),!I)return this}else{if(!this._events[k])return this;N=this._events[k],I.push({_listeners:N})}for(var j=0;j<I.length;j++){var U=I[j];if(N=U._listeners,i(N)){for(var W=-1,le=0,ce=N.length;le<ce;le++)if(N[le]===E||N[le].listener&&N[le].listener===E||N[le]._origin&&N[le]._origin===E){W=le;break}if(W<0)continue;return this.wildcard?U._listeners.splice(W,1):this._events[k].splice(W,1),N.length===0&&(this.wildcard?delete U._listeners:delete this._events[k]),this._removeListener&&this.emit("removeListener",k,E),this}else(N===E||N.listener&&N.listener===E||N._origin&&N._origin===E)&&(this.wildcard?delete U._listeners:delete this._events[k],this._removeListener&&this.emit("removeListener",k,E))}return this.listenerTree&&$(this.listenerTree),this},Z.prototype.offAny=function(k){var E=0,N=0,I;if(k&&this._all&&this._all.length>0){for(I=this._all,E=0,N=I.length;E<N;E++)if(k===I[E])return I.splice(E,1),this._removeListener&&this.emit("removeListenerAny",k),this}else{if(I=this._all,this._removeListener)for(E=0,N=I.length;E<N;E++)this.emit("removeListenerAny",I[E]);this._all=[]}return this},Z.prototype.removeListener=Z.prototype.off,Z.prototype.removeAllListeners=function(k){if(k===n)return!this._events||y.call(this),this;if(this.wildcard){var E=K.call(this,null,k,this.listenerTree,0),N,I;if(!E)return this;for(I=0;I<E.length;I++)N=E[I],N._listeners=null;this.listenerTree&&$(this.listenerTree)}else this._events&&(this._events[k]=null);return this},Z.prototype.listeners=function(k){var E=this._events,N,I,R,j,U;if(k===n){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!E)return[];for(N=v(E),j=N.length,R=[];j-- >0;)I=E[N[j]],typeof I=="function"?R.push(I):R.push.apply(R,I);return R}else{if(this.wildcard){if(U=this.listenerTree,!U)return[];var W=[],le=typeof k=="string"?k.split(this.delimiter):k.slice();return K.call(this,W,le,U,0),W}return E?(I=E[k],I?typeof I=="function"?[I]:I:[]):[]}},Z.prototype.eventNames=function(k){var E=this._events;return this.wildcard?Se.call(this,this.listenerTree,[],null,k):E?v(E):[]},Z.prototype.listenerCount=function(k){return this.listeners(k).length},Z.prototype.hasListeners=function(k){if(this.wildcard){var E=[],N=typeof k=="string"?k.split(this.delimiter):k.slice();return K.call(this,E,N,this.listenerTree,0),E.length>0}var I=this._events,R=this._all;return!!(R&&R.length||I&&(k===n?v(I).length:I[k]))},Z.prototype.listenersAny=function(){return this._all?this._all:[]},Z.prototype.waitFor=function(k,E){var N=this,I=typeof E;return I==="number"?E={timeout:E}:I==="function"&&(E={filter:E}),E=D(E,{timeout:0,filter:n,handleError:!1,Promise,overload:!1},{filter:q,Promise:F}),te(E.Promise,function(R,j,U){function W(){var le=E.filter;if(!(le&&!le.apply(N,arguments)))if(N.off(k,W),E.handleError){var ce=arguments[0];ce?j(ce):R(g.apply(null,arguments).slice(1))}else R(g.apply(null,arguments))}U(function(){N.off(k,W)}),N._on(k,W,!1)},{timeout:E.timeout,overload:E.overload})};function $e(k,E,N){N=D(N,{Promise,timeout:0,overload:!1},{Promise:F});var I=N.Promise;return te(I,function(R,j,U){var W;if(typeof k.addEventListener=="function"){W=function(){R(g.apply(null,arguments))},U(function(){k.removeEventListener(E,W)}),k.addEventListener(E,W,{once:!0});return}var le=function(){ce&&k.removeListener("error",ce),R(g.apply(null,arguments))},ce;E!=="error"&&(ce=function(me){k.removeListener(E,le),j(me)},k.once("error",ce)),U(function(){ce&&k.removeListener("error",ce),k.removeListener(E,le)}),k.once(E,le)},{timeout:N.timeout,overload:N.overload})}var fe=Z.prototype;Object.defineProperties(Z,{defaultMaxListeners:{get:function(){return fe._maxListeners},set:function(k){if(typeof k!="number"||k<0||Number.isNaN(k))throw TypeError("n must be a non-negative number");fe._maxListeners=k},enumerable:!0},once:{value:$e,writable:!0,configurable:!0}}),Object.defineProperties(fe,{_maxListeners:{value:a,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),typeof n=="function"&&n.amd?n(function(){return Z}):e.exports=Z})()})(qa);const ja=qa.exports;class Pu{constructor(){qe(this,"channels",new Map);qe(this,"globalChannel",new ja)}getChannel(t){const n=this.channels.get(t);if(n)return n;const r=new ja;return this.channels.set(t,r),r}}class Vu{constructor(t){qe(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 Pu,instanceData:new Ga(t.viz.conf)};return this.instances.set(t.id,r),r}}function Ua(e,t,n){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Ga({}),colorPalette:{getColor(){return()=>""}},data:t}}const Lu=e=>{const{panel:t,vizManager:n,data:r}=e,i=n.resolveComponent(t.viz.type),a=n.getOrCreateInstance(t),s={...Ua(a,r,n),viewport:{width:t.layout.w,height:t.layout.h}},l=i.viewRender;return o(l,{context:s,instance:a,...Ce.omit(e,["panel","vizManager","data"])})},Nu=e=>{const{vizManager:t,panel:n,panelInfoEditor:r,data:i}=e,a=t.resolveComponent(n.viz.type),s=t.getOrCreateInstance(n),l={...Ua(s,i,t),panelInfoEditor:r},d=a.configRender;return o(d,{context:l,instance:s,...Ce.omit(e,["panel","vizManager","data","panelInfoEditor"])})};var Wa={exports:{}};/**
46
- * chroma.js - JavaScript library for color conversions
47
- *
48
- * Copyright (c) 2011-2019, Gregor Aisch
49
- * All rights reserved.
50
- *
51
- * Redistribution and use in source and binary forms, with or without
52
- * modification, are permitted provided that the following conditions are met:
53
- *
54
- * 1. Redistributions of source code must retain the above copyright notice, this
55
- * list of conditions and the following disclaimer.
56
- *
57
- * 2. Redistributions in binary form must reproduce the above copyright notice,
58
- * this list of conditions and the following disclaimer in the documentation
59
- * and/or other materials provided with the distribution.
60
- *
61
- * 3. The name Gregor Aisch may not be used to endorse or promote products
62
- * derived from this software without specific prior written permission.
63
- *
64
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
65
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
66
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
67
- * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
68
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
69
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
70
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
71
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
72
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
73
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
74
- *
75
- * -------------------------------------------------------
76
- *
77
- * chroma.js includes colors from colorbrewer2.org, which are released under
78
- * the following license:
79
- *
80
- * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
81
- * and The Pennsylvania State University.
82
- *
83
- * Licensed under the Apache License, Version 2.0 (the "License");
84
- * you may not use this file except in compliance with the License.
85
- * You may obtain a copy of the License at
86
- * http://www.apache.org/licenses/LICENSE-2.0
87
- *
88
- * Unless required by applicable law or agreed to in writing,
89
- * software distributed under the License is distributed on an
90
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
91
- * either express or implied. See the License for the specific
92
- * language governing permissions and limitations under the License.
93
- *
94
- * ------------------------------------------------------
95
- *
96
- * Named colors are taken from X11 Color Names.
97
- * http://www.w3.org/TR/css3-color/#svg-color
98
- *
99
- * @preserve
100
- */(function(e,t){(function(n,r){e.exports=r()})(Qt,function(){for(var n=function(c,h,w){return h===void 0&&(h=0),w===void 0&&(w=1),c<h?h:c>w?w:c},r=n,i=function(c){c._clipped=!1,c._unclipped=c.slice(0);for(var h=0;h<=3;h++)h<3?((c[h]<0||c[h]>255)&&(c._clipped=!0),c[h]=r(c[h],0,255)):h===3&&(c[h]=r(c[h],0,1));return c},a={},s=0,l=["Boolean","Number","String","Function","Array","Date","RegExp","Undefined","Null"];s<l.length;s+=1){var d=l[s];a["[object "+d+"]"]=d.toLowerCase()}var m=function(c){return a[Object.prototype.toString.call(c)]||"object"},f=m,v=function(c,h){return h===void 0&&(h=null),c.length>=3?Array.prototype.slice.call(c):f(c[0])=="object"&&h?h.split("").filter(function(w){return c[0][w]!==void 0}).map(function(w){return c[0][w]}):c[0]},y=m,p=function(c){if(c.length<2)return null;var h=c.length-1;return y(c[h])=="string"?c[h].toLowerCase():null},C=Math.PI,g={clip_rgb:i,limit:n,type:m,unpack:v,last:p,PI:C,TWOPI:C*2,PITHIRD:C/3,DEG2RAD:C/180,RAD2DEG:180/C},x={format:{},autodetect:[]},S=g.last,D=g.clip_rgb,F=g.type,B=x,q=function(){for(var h=[],w=arguments.length;w--;)h[w]=arguments[w];var T=this;if(F(h[0])==="object"&&h[0].constructor&&h[0].constructor===this.constructor)return h[0];var L=S(h),G=!1;if(!L){G=!0,B.sorted||(B.autodetect=B.autodetect.sort(function(pe,Ee){return Ee.p-pe.p}),B.sorted=!0);for(var O=0,Y=B.autodetect;O<Y.length;O+=1){var X=Y[O];if(L=X.test.apply(X,h),L)break}}if(B.format[L]){var ue=B.format[L].apply(null,G?h:h.slice(0,-1));T._rgb=D(ue)}else throw new Error("unknown format: "+h);T._rgb.length===3&&T._rgb.push(1)};q.prototype.toString=function(){return F(this.hex)=="function"?this.hex():"["+this._rgb.join(",")+"]"};var Q=q,te=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(te.Color,[null].concat(c)))};te.Color=Q,te.version="2.4.2";var se=te,K=g.unpack,ge=Math.max,Se=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=K(c,"rgb"),T=w[0],L=w[1],G=w[2];T=T/255,L=L/255,G=G/255;var O=1-ge(T,ge(L,G)),Y=O<1?1/(1-O):0,X=(1-T-O)*Y,ue=(1-L-O)*Y,pe=(1-G-O)*Y;return[X,ue,pe,O]},$=Se,ee=g.unpack,_=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=ee(c,"cmyk");var w=c[0],T=c[1],L=c[2],G=c[3],O=c.length>4?c[4]:1;return G===1?[0,0,0,O]:[w>=1?0:255*(1-w)*(1-G),T>=1?0:255*(1-T)*(1-G),L>=1?0:255*(1-L)*(1-G),O]},Z=_,$e=se,fe=Q,k=x,E=g.unpack,N=g.type,I=$;fe.prototype.cmyk=function(){return I(this._rgb)},$e.cmyk=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(fe,[null].concat(c,["cmyk"])))},k.format.cmyk=Z,k.autodetect.push({p:2,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=E(c,"cmyk"),N(c)==="array"&&c.length===4)return"cmyk"}});var R=g.unpack,j=g.last,U=function(c){return Math.round(c*100)/100},W=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=R(c,"hsla"),T=j(c)||"lsa";return w[0]=U(w[0]||0),w[1]=U(w[1]*100)+"%",w[2]=U(w[2]*100)+"%",T==="hsla"||w.length>3&&w[3]<1?(w[3]=w.length>3?w[3]:1,T="hsla"):w.length=3,T+"("+w.join(",")+")"},le=W,ce=g.unpack,me=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=ce(c,"rgba");var w=c[0],T=c[1],L=c[2];w/=255,T/=255,L/=255;var G=Math.min(w,T,L),O=Math.max(w,T,L),Y=(O+G)/2,X,ue;return O===G?(X=0,ue=Number.NaN):X=Y<.5?(O-G)/(O+G):(O-G)/(2-O-G),w==O?ue=(T-L)/(O-G):T==O?ue=2+(L-w)/(O-G):L==O&&(ue=4+(w-T)/(O-G)),ue*=60,ue<0&&(ue+=360),c.length>3&&c[3]!==void 0?[ue,X,Y,c[3]]:[ue,X,Y]},ze=me,Me=g.unpack,Oe=g.last,Be=le,Ke=ze,b=Math.round,ie=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Me(c,"rgba"),T=Oe(c)||"rgb";return T.substr(0,3)=="hsl"?Be(Ke(w),T):(w[0]=b(w[0]),w[1]=b(w[1]),w[2]=b(w[2]),(T==="rgba"||w.length>3&&w[3]<1)&&(w[3]=w.length>3?w[3]:1,T="rgba"),T+"("+w.slice(0,T==="rgb"?3:4).join(",")+")")},J=ie,M=g.unpack,A=Math.round,V=function(){for(var c,h=[],w=arguments.length;w--;)h[w]=arguments[w];h=M(h,"hsl");var T=h[0],L=h[1],G=h[2],O,Y,X;if(L===0)O=Y=X=G*255;else{var ue=[0,0,0],pe=[0,0,0],Ee=G<.5?G*(1+L):G+L-G*L,ye=2*G-Ee,De=T/360;ue[0]=De+1/3,ue[1]=De,ue[2]=De-1/3;for(var Re=0;Re<3;Re++)ue[Re]<0&&(ue[Re]+=1),ue[Re]>1&&(ue[Re]-=1),6*ue[Re]<1?pe[Re]=ye+(Ee-ye)*6*ue[Re]:2*ue[Re]<1?pe[Re]=Ee:3*ue[Re]<2?pe[Re]=ye+(Ee-ye)*(2/3-ue[Re])*6:pe[Re]=ye;c=[A(pe[0]*255),A(pe[1]*255),A(pe[2]*255)],O=c[0],Y=c[1],X=c[2]}return h.length>3?[O,Y,X,h[3]]:[O,Y,X,1]},ae=V,re=ae,H=x,de=/^rgb\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$/,xe=/^rgba\(\s*(-?\d+),\s*(-?\d+)\s*,\s*(-?\d+)\s*,\s*([01]|[01]?\.\d+)\)$/,he=/^rgb\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Ie=/^rgba\(\s*(-?\d+(?:\.\d+)?)%,\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,Ge=/^hsl\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*\)$/,Le=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,ut=Math.round,At=function(c){c=c.toLowerCase().trim();var h;if(H.format.named)try{return H.format.named(c)}catch{}if(h=c.match(de)){for(var w=h.slice(1,4),T=0;T<3;T++)w[T]=+w[T];return w[3]=1,w}if(h=c.match(xe)){for(var L=h.slice(1,5),G=0;G<4;G++)L[G]=+L[G];return L}if(h=c.match(he)){for(var O=h.slice(1,4),Y=0;Y<3;Y++)O[Y]=ut(O[Y]*2.55);return O[3]=1,O}if(h=c.match(Ie)){for(var X=h.slice(1,5),ue=0;ue<3;ue++)X[ue]=ut(X[ue]*2.55);return X[3]=+X[3],X}if(h=c.match(Ge)){var pe=h.slice(1,4);pe[1]*=.01,pe[2]*=.01;var Ee=re(pe);return Ee[3]=1,Ee}if(h=c.match(Le)){var ye=h.slice(1,4);ye[1]*=.01,ye[2]*=.01;var De=re(ye);return De[3]=+h[4],De}};At.test=function(c){return de.test(c)||xe.test(c)||he.test(c)||Ie.test(c)||Ge.test(c)||Le.test(c)};var bt=At,Pt=se,st=Q,zt=x,Sn=g.type,Mt=J,kn=bt;st.prototype.css=function(c){return Mt(this._rgb,c)},Pt.css=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(st,[null].concat(c,["css"])))},zt.format.css=kn,zt.autodetect.push({p:5,test:function(c){for(var h=[],w=arguments.length-1;w-- >0;)h[w]=arguments[w+1];if(!h.length&&Sn(c)==="string"&&kn.test(c))return"css"}});var zn=Q,En=se,Mn=x,Gt=g.unpack;Mn.format.gl=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Gt(c,"rgba");return w[0]*=255,w[1]*=255,w[2]*=255,w},En.gl=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(zn,[null].concat(c,["gl"])))},zn.prototype.gl=function(){var c=this._rgb;return[c[0]/255,c[1]/255,c[2]/255,c[3]]};var qt=g.unpack,Kt=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=qt(c,"rgb"),T=w[0],L=w[1],G=w[2],O=Math.min(T,L,G),Y=Math.max(T,L,G),X=Y-O,ue=X*100/255,pe=O/(255-X)*100,Ee;return X===0?Ee=Number.NaN:(T===Y&&(Ee=(L-G)/X),L===Y&&(Ee=2+(G-T)/X),G===Y&&(Ee=4+(T-L)/X),Ee*=60,Ee<0&&(Ee+=360)),[Ee,ue,pe]},xr=Kt,Pi=g.unpack,Sr=Math.floor,Vi=function(){for(var c,h,w,T,L,G,O=[],Y=arguments.length;Y--;)O[Y]=arguments[Y];O=Pi(O,"hcg");var X=O[0],ue=O[1],pe=O[2],Ee,ye,De;pe=pe*255;var Re=ue*255;if(ue===0)Ee=ye=De=pe;else{X===360&&(X=0),X>360&&(X-=360),X<0&&(X+=360),X/=60;var je=Sr(X),Qe=X-je,Je=pe*(1-ue),nt=Je+Re*(1-Qe),Et=Je+Re*Qe,St=Je+Re;switch(je){case 0:c=[St,Et,Je],Ee=c[0],ye=c[1],De=c[2];break;case 1:h=[nt,St,Je],Ee=h[0],ye=h[1],De=h[2];break;case 2:w=[Je,St,Et],Ee=w[0],ye=w[1],De=w[2];break;case 3:T=[Je,nt,St],Ee=T[0],ye=T[1],De=T[2];break;case 4:L=[Et,Je,St],Ee=L[0],ye=L[1],De=L[2];break;case 5:G=[St,Je,nt],Ee=G[0],ye=G[1],De=G[2];break}}return[Ee,ye,De,O.length>3?O[3]:1]},kr=Vi,Er=g.unpack,Li=g.type,Ni=se,Jn=Q,Ir=x,Bi=xr;Jn.prototype.hcg=function(){return Bi(this._rgb)},Ni.hcg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Jn,[null].concat(c,["hcg"])))},Ir.format.hcg=kr,Ir.autodetect.push({p:1,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=Er(c,"hcg"),Li(c)==="array"&&c.length===3)return"hcg"}});var Gi=g.unpack,qi=g.last,P=Math.round,ve=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Gi(c,"rgba"),T=w[0],L=w[1],G=w[2],O=w[3],Y=qi(c)||"auto";O===void 0&&(O=1),Y==="auto"&&(Y=O<1?"rgba":"rgb"),T=P(T),L=P(L),G=P(G);var X=T<<16|L<<8|G,ue="000000"+X.toString(16);ue=ue.substr(ue.length-6);var pe="0"+P(O*255).toString(16);switch(pe=pe.substr(pe.length-2),Y.toLowerCase()){case"rgba":return"#"+ue+pe;case"argb":return"#"+pe+ue;default:return"#"+ue}},ke=ve,Ve=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,tt=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,at=function(c){if(c.match(Ve)){(c.length===4||c.length===7)&&(c=c.substr(1)),c.length===3&&(c=c.split(""),c=c[0]+c[0]+c[1]+c[1]+c[2]+c[2]);var h=parseInt(c,16),w=h>>16,T=h>>8&255,L=h&255;return[w,T,L,1]}if(c.match(tt)){(c.length===5||c.length===9)&&(c=c.substr(1)),c.length===4&&(c=c.split(""),c=c[0]+c[0]+c[1]+c[1]+c[2]+c[2]+c[3]+c[3]);var G=parseInt(c,16),O=G>>24&255,Y=G>>16&255,X=G>>8&255,ue=Math.round((G&255)/255*100)/100;return[O,Y,X,ue]}throw new Error("unknown hex color: "+c)},Ye=at,We=se,Ct=Q,ht=g.type,pt=x,Dt=ke;Ct.prototype.hex=function(c){return Dt(this._rgb,c)},We.hex=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Ct,[null].concat(c,["hex"])))},pt.format.hex=Ye,pt.autodetect.push({p:4,test:function(c){for(var h=[],w=arguments.length-1;w-- >0;)h[w]=arguments[w+1];if(!h.length&&ht(c)==="string"&&[3,4,5,6,7,8,9].indexOf(c.length)>=0)return"hex"}});var gn=g.unpack,er=g.TWOPI,jt=Math.min,og=Math.sqrt,sg=Math.acos,lg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=gn(c,"rgb"),T=w[0],L=w[1],G=w[2];T/=255,L/=255,G/=255;var O,Y=jt(T,L,G),X=(T+L+G)/3,ue=X>0?1-Y/X:0;return ue===0?O=NaN:(O=(T-L+(T-G))/2,O/=og((T-L)*(T-L)+(T-G)*(L-G)),O=sg(O),G>L&&(O=er-O),O/=er),[O*360,ue,X]},ug=lg,cg=g.unpack,ji=g.limit,On=g.TWOPI,Ui=g.PITHIRD,Fn=Math.cos,dg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=cg(c,"hsi");var w=c[0],T=c[1],L=c[2],G,O,Y;return isNaN(w)&&(w=0),isNaN(T)&&(T=0),w>360&&(w-=360),w<0&&(w+=360),w/=360,w<1/3?(Y=(1-T)/3,G=(1+T*Fn(On*w)/Fn(Ui-On*w))/3,O=1-(Y+G)):w<2/3?(w-=1/3,G=(1-T)/3,O=(1+T*Fn(On*w)/Fn(Ui-On*w))/3,Y=1-(G+O)):(w-=2/3,O=(1-T)/3,Y=(1+T*Fn(On*w)/Fn(Ui-On*w))/3,G=1-(O+Y)),G=ji(L*G*3),O=ji(L*O*3),Y=ji(L*Y*3),[G*255,O*255,Y*255,c.length>3?c[3]:1]},fg=dg,hg=g.unpack,pg=g.type,gg=se,ps=Q,gs=x,mg=ug;ps.prototype.hsi=function(){return mg(this._rgb)},gg.hsi=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(ps,[null].concat(c,["hsi"])))},gs.format.hsi=fg,gs.autodetect.push({p:2,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=hg(c,"hsi"),pg(c)==="array"&&c.length===3)return"hsi"}});var vg=g.unpack,bg=g.type,yg=se,ms=Q,vs=x,_g=ze;ms.prototype.hsl=function(){return _g(this._rgb)},yg.hsl=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(ms,[null].concat(c,["hsl"])))},vs.format.hsl=ae,vs.autodetect.push({p:2,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=vg(c,"hsl"),bg(c)==="array"&&c.length===3)return"hsl"}});var wg=g.unpack,Cg=Math.min,xg=Math.max,Sg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=wg(c,"rgb");var w=c[0],T=c[1],L=c[2],G=Cg(w,T,L),O=xg(w,T,L),Y=O-G,X,ue,pe;return pe=O/255,O===0?(X=Number.NaN,ue=0):(ue=Y/O,w===O&&(X=(T-L)/Y),T===O&&(X=2+(L-w)/Y),L===O&&(X=4+(w-T)/Y),X*=60,X<0&&(X+=360)),[X,ue,pe]},kg=Sg,Eg=g.unpack,Ig=Math.floor,Ag=function(){for(var c,h,w,T,L,G,O=[],Y=arguments.length;Y--;)O[Y]=arguments[Y];O=Eg(O,"hsv");var X=O[0],ue=O[1],pe=O[2],Ee,ye,De;if(pe*=255,ue===0)Ee=ye=De=pe;else{X===360&&(X=0),X>360&&(X-=360),X<0&&(X+=360),X/=60;var Re=Ig(X),je=X-Re,Qe=pe*(1-ue),Je=pe*(1-ue*je),nt=pe*(1-ue*(1-je));switch(Re){case 0:c=[pe,nt,Qe],Ee=c[0],ye=c[1],De=c[2];break;case 1:h=[Je,pe,Qe],Ee=h[0],ye=h[1],De=h[2];break;case 2:w=[Qe,pe,nt],Ee=w[0],ye=w[1],De=w[2];break;case 3:T=[Qe,Je,pe],Ee=T[0],ye=T[1],De=T[2];break;case 4:L=[nt,Qe,pe],Ee=L[0],ye=L[1],De=L[2];break;case 5:G=[pe,Qe,Je],Ee=G[0],ye=G[1],De=G[2];break}}return[Ee,ye,De,O.length>3?O[3]:1]},Rg=Ag,Dg=g.unpack,Tg=g.type,zg=se,bs=Q,ys=x,Mg=kg;bs.prototype.hsv=function(){return Mg(this._rgb)},zg.hsv=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(bs,[null].concat(c,["hsv"])))},ys.format.hsv=Rg,ys.autodetect.push({p:2,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=Dg(c,"hsv"),Tg(c)==="array"&&c.length===3)return"hsv"}});var Ar={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},$n=Ar,Og=g.unpack,_s=Math.pow,Fg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Og(c,"rgb"),T=w[0],L=w[1],G=w[2],O=$g(T,L,G),Y=O[0],X=O[1],ue=O[2],pe=116*X-16;return[pe<0?0:pe,500*(Y-X),200*(X-ue)]},Wi=function(c){return(c/=255)<=.04045?c/12.92:_s((c+.055)/1.055,2.4)},Hi=function(c){return c>$n.t3?_s(c,1/3):c/$n.t2+$n.t0},$g=function(c,h,w){c=Wi(c),h=Wi(h),w=Wi(w);var T=Hi((.4124564*c+.3575761*h+.1804375*w)/$n.Xn),L=Hi((.2126729*c+.7151522*h+.072175*w)/$n.Yn),G=Hi((.0193339*c+.119192*h+.9503041*w)/$n.Zn);return[T,L,G]},ws=Fg,Pn=Ar,Pg=g.unpack,Vg=Math.pow,Lg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=Pg(c,"lab");var w=c[0],T=c[1],L=c[2],G,O,Y,X,ue,pe;return O=(w+16)/116,G=isNaN(T)?O:O+T/500,Y=isNaN(L)?O:O-L/200,O=Pn.Yn*Qi(O),G=Pn.Xn*Qi(G),Y=Pn.Zn*Qi(Y),X=Yi(3.2404542*G-1.5371385*O-.4985314*Y),ue=Yi(-.969266*G+1.8760108*O+.041556*Y),pe=Yi(.0556434*G-.2040259*O+1.0572252*Y),[X,ue,pe,c.length>3?c[3]:1]},Yi=function(c){return 255*(c<=.00304?12.92*c:1.055*Vg(c,1/2.4)-.055)},Qi=function(c){return c>Pn.t1?c*c*c:Pn.t2*(c-Pn.t0)},Cs=Lg,Ng=g.unpack,Bg=g.type,Gg=se,xs=Q,Ss=x,qg=ws;xs.prototype.lab=function(){return qg(this._rgb)},Gg.lab=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(xs,[null].concat(c,["lab"])))},Ss.format.lab=Cs,Ss.autodetect.push({p:2,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=Ng(c,"lab"),Bg(c)==="array"&&c.length===3)return"lab"}});var jg=g.unpack,Ug=g.RAD2DEG,Wg=Math.sqrt,Hg=Math.atan2,Yg=Math.round,Qg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=jg(c,"lab"),T=w[0],L=w[1],G=w[2],O=Wg(L*L+G*G),Y=(Hg(G,L)*Ug+360)%360;return Yg(O*1e4)===0&&(Y=Number.NaN),[T,O,Y]},ks=Qg,Zg=g.unpack,Xg=ws,Kg=ks,Jg=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Zg(c,"rgb"),T=w[0],L=w[1],G=w[2],O=Xg(T,L,G),Y=O[0],X=O[1],ue=O[2];return Kg(Y,X,ue)},em=Jg,tm=g.unpack,nm=g.DEG2RAD,rm=Math.sin,im=Math.cos,am=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=tm(c,"lch"),T=w[0],L=w[1],G=w[2];return isNaN(G)&&(G=0),G=G*nm,[T,im(G)*L,rm(G)*L]},Es=am,om=g.unpack,sm=Es,lm=Cs,um=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=om(c,"lch");var w=c[0],T=c[1],L=c[2],G=sm(w,T,L),O=G[0],Y=G[1],X=G[2],ue=lm(O,Y,X),pe=ue[0],Ee=ue[1],ye=ue[2];return[pe,Ee,ye,c.length>3?c[3]:1]},Is=um,cm=g.unpack,dm=Is,fm=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=cm(c,"hcl").reverse();return dm.apply(void 0,w)},hm=fm,pm=g.unpack,gm=g.type,As=se,Rr=Q,Zi=x,Rs=em;Rr.prototype.lch=function(){return Rs(this._rgb)},Rr.prototype.hcl=function(){return Rs(this._rgb).reverse()},As.lch=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Rr,[null].concat(c,["lch"])))},As.hcl=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Rr,[null].concat(c,["hcl"])))},Zi.format.lch=Is,Zi.format.hcl=hm,["lch","hcl"].forEach(function(c){return Zi.autodetect.push({p:2,test:function(){for(var h=[],w=arguments.length;w--;)h[w]=arguments[w];if(h=pm(h,c),gm(h)==="array"&&h.length===3)return c}})});var mm={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Ds=mm,vm=Q,Ts=x,bm=g.type,tr=Ds,ym=Ye,_m=ke;vm.prototype.name=function(){for(var c=_m(this._rgb,"rgb"),h=0,w=Object.keys(tr);h<w.length;h+=1){var T=w[h];if(tr[T]===c)return T.toLowerCase()}return c},Ts.format.named=function(c){if(c=c.toLowerCase(),tr[c])return ym(tr[c]);throw new Error("unknown color name: "+c)},Ts.autodetect.push({p:5,test:function(c){for(var h=[],w=arguments.length-1;w-- >0;)h[w]=arguments[w+1];if(!h.length&&bm(c)==="string"&&tr[c.toLowerCase()])return"named"}});var wm=g.unpack,Cm=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=wm(c,"rgb"),T=w[0],L=w[1],G=w[2];return(T<<16)+(L<<8)+G},xm=Cm,Sm=g.type,km=function(c){if(Sm(c)=="number"&&c>=0&&c<=16777215){var h=c>>16,w=c>>8&255,T=c&255;return[h,w,T,1]}throw new Error("unknown num color: "+c)},Em=km,Im=se,zs=Q,Ms=x,Am=g.type,Rm=xm;zs.prototype.num=function(){return Rm(this._rgb)},Im.num=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(zs,[null].concat(c,["num"])))},Ms.format.num=Em,Ms.autodetect.push({p:5,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c.length===1&&Am(c[0])==="number"&&c[0]>=0&&c[0]<=16777215)return"num"}});var Dm=se,Xi=Q,Os=x,Fs=g.unpack,$s=g.type,Ps=Math.round;Xi.prototype.rgb=function(c){return c===void 0&&(c=!0),c===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Ps)},Xi.prototype.rgba=function(c){return c===void 0&&(c=!0),this._rgb.slice(0,4).map(function(h,w){return w<3?c===!1?h:Ps(h):h})},Dm.rgb=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Xi,[null].concat(c,["rgb"])))},Os.format.rgb=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Fs(c,"rgba");return w[3]===void 0&&(w[3]=1),w},Os.autodetect.push({p:3,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=Fs(c,"rgba"),$s(c)==="array"&&(c.length===3||c.length===4&&$s(c[3])=="number"&&c[3]>=0&&c[3]<=1))return"rgb"}});var Dr=Math.log,Tm=function(c){var h=c/100,w,T,L;return h<66?(w=255,T=h<6?0:-155.25485562709179-.44596950469579133*(T=h-2)+104.49216199393888*Dr(T),L=h<20?0:-254.76935184120902+.8274096064007395*(L=h-10)+115.67994401066147*Dr(L)):(w=351.97690566805693+.114206453784165*(w=h-55)-40.25366309332127*Dr(w),T=325.4494125711974+.07943456536662342*(T=h-50)-28.0852963507957*Dr(T),L=255),[w,T,L,1]},Vs=Tm,zm=Vs,Mm=g.unpack,Om=Math.round,Fm=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];for(var w=Mm(c,"rgb"),T=w[0],L=w[2],G=1e3,O=4e4,Y=.4,X;O-G>Y;){X=(O+G)*.5;var ue=zm(X);ue[2]/ue[0]>=L/T?O=X:G=X}return Om(X)},$m=Fm,Ki=se,Tr=Q,Ji=x,Pm=$m;Tr.prototype.temp=Tr.prototype.kelvin=Tr.prototype.temperature=function(){return Pm(this._rgb)},Ki.temp=Ki.kelvin=Ki.temperature=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Tr,[null].concat(c,["temp"])))},Ji.format.temp=Ji.format.kelvin=Ji.format.temperature=Vs;var Vm=g.unpack,ea=Math.cbrt,Lm=Math.pow,Nm=Math.sign,Bm=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Vm(c,"rgb"),T=w[0],L=w[1],G=w[2],O=[ta(T/255),ta(L/255),ta(G/255)],Y=O[0],X=O[1],ue=O[2],pe=ea(.4122214708*Y+.5363325363*X+.0514459929*ue),Ee=ea(.2119034982*Y+.6806995451*X+.1073969566*ue),ye=ea(.0883024619*Y+.2817188376*X+.6299787005*ue);return[.2104542553*pe+.793617785*Ee-.0040720468*ye,1.9779984951*pe-2.428592205*Ee+.4505937099*ye,.0259040371*pe+.7827717662*Ee-.808675766*ye]},Ls=Bm;function ta(c){var h=Math.abs(c);return h<.04045?c/12.92:(Nm(c)||1)*Lm((h+.055)/1.055,2.4)}var Gm=g.unpack,zr=Math.pow,qm=Math.sign,jm=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=Gm(c,"lab");var w=c[0],T=c[1],L=c[2],G=zr(w+.3963377774*T+.2158037573*L,3),O=zr(w-.1055613458*T-.0638541728*L,3),Y=zr(w-.0894841775*T-1.291485548*L,3);return[255*na(4.0767416621*G-3.3077115913*O+.2309699292*Y),255*na(-1.2684380046*G+2.6097574011*O-.3413193965*Y),255*na(-.0041960863*G-.7034186147*O+1.707614701*Y),c.length>3?c[3]:1]},Ns=jm;function na(c){var h=Math.abs(c);return h>.0031308?(qm(c)||1)*(1.055*zr(h,1/2.4)-.055):c*12.92}var Um=g.unpack,Wm=g.type,Hm=se,Bs=Q,Gs=x,Ym=Ls;Bs.prototype.oklab=function(){return Ym(this._rgb)},Hm.oklab=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(Bs,[null].concat(c,["oklab"])))},Gs.format.oklab=Ns,Gs.autodetect.push({p:3,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=Um(c,"oklab"),Wm(c)==="array"&&c.length===3)return"oklab"}});var Qm=g.unpack,Zm=Ls,Xm=ks,Km=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];var w=Qm(c,"rgb"),T=w[0],L=w[1],G=w[2],O=Zm(T,L,G),Y=O[0],X=O[1],ue=O[2];return Xm(Y,X,ue)},Jm=Km,ev=g.unpack,tv=Es,nv=Ns,rv=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];c=ev(c,"lch");var w=c[0],T=c[1],L=c[2],G=tv(w,T,L),O=G[0],Y=G[1],X=G[2],ue=nv(O,Y,X),pe=ue[0],Ee=ue[1],ye=ue[2];return[pe,Ee,ye,c.length>3?c[3]:1]},iv=rv,av=g.unpack,ov=g.type,sv=se,qs=Q,js=x,lv=Jm;qs.prototype.oklch=function(){return lv(this._rgb)},sv.oklch=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];return new(Function.prototype.bind.apply(qs,[null].concat(c,["oklch"])))},js.format.oklch=iv,js.autodetect.push({p:3,test:function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];if(c=av(c,"oklch"),ov(c)==="array"&&c.length===3)return"oklch"}});var Us=Q,uv=g.type;Us.prototype.alpha=function(c,h){return h===void 0&&(h=!1),c!==void 0&&uv(c)==="number"?h?(this._rgb[3]=c,this):new Us([this._rgb[0],this._rgb[1],this._rgb[2],c],"rgb"):this._rgb[3]};var cv=Q;cv.prototype.clipped=function(){return this._rgb._clipped||!1};var In=Q,dv=Ar;In.prototype.darken=function(c){c===void 0&&(c=1);var h=this,w=h.lab();return w[0]-=dv.Kn*c,new In(w,"lab").alpha(h.alpha(),!0)},In.prototype.brighten=function(c){return c===void 0&&(c=1),this.darken(-c)},In.prototype.darker=In.prototype.darken,In.prototype.brighter=In.prototype.brighten;var fv=Q;fv.prototype.get=function(c){var h=c.split("."),w=h[0],T=h[1],L=this[w]();if(T){var G=w.indexOf(T)-(w.substr(0,2)==="ok"?2:0);if(G>-1)return L[G];throw new Error("unknown channel "+T+" in mode "+w)}else return L};var Vn=Q,hv=g.type,pv=Math.pow,gv=1e-7,mv=20;Vn.prototype.luminance=function(c){if(c!==void 0&&hv(c)==="number"){if(c===0)return new Vn([0,0,0,this._rgb[3]],"rgb");if(c===1)return new Vn([255,255,255,this._rgb[3]],"rgb");var h=this.luminance(),w="rgb",T=mv,L=function(O,Y){var X=O.interpolate(Y,.5,w),ue=X.luminance();return Math.abs(c-ue)<gv||!T--?X:ue>c?L(O,X):L(X,Y)},G=(h>c?L(new Vn([0,0,0]),this):L(this,new Vn([255,255,255]))).rgb();return new Vn(G.concat([this._rgb[3]]))}return vv.apply(void 0,this._rgb.slice(0,3))};var vv=function(c,h,w){return c=ra(c),h=ra(h),w=ra(w),.2126*c+.7152*h+.0722*w},ra=function(c){return c/=255,c<=.03928?c/12.92:pv((c+.055)/1.055,2.4)},Ot={},Ws=Q,Hs=g.type,Mr=Ot,Ys=function(c,h,w){w===void 0&&(w=.5);for(var T=[],L=arguments.length-3;L-- >0;)T[L]=arguments[L+3];var G=T[0]||"lrgb";if(!Mr[G]&&!T.length&&(G=Object.keys(Mr)[0]),!Mr[G])throw new Error("interpolation mode "+G+" is not defined");return Hs(c)!=="object"&&(c=new Ws(c)),Hs(h)!=="object"&&(h=new Ws(h)),Mr[G](c,h,w).alpha(c.alpha()+w*(h.alpha()-c.alpha()))},Qs=Q,bv=Ys;Qs.prototype.mix=Qs.prototype.interpolate=function(c,h){h===void 0&&(h=.5);for(var w=[],T=arguments.length-2;T-- >0;)w[T]=arguments[T+2];return bv.apply(void 0,[this,c,h].concat(w))};var Zs=Q;Zs.prototype.premultiply=function(c){c===void 0&&(c=!1);var h=this._rgb,w=h[3];return c?(this._rgb=[h[0]*w,h[1]*w,h[2]*w,w],this):new Zs([h[0]*w,h[1]*w,h[2]*w,w],"rgb")};var ia=Q,yv=Ar;ia.prototype.saturate=function(c){c===void 0&&(c=1);var h=this,w=h.lch();return w[1]+=yv.Kn*c,w[1]<0&&(w[1]=0),new ia(w,"lch").alpha(h.alpha(),!0)},ia.prototype.desaturate=function(c){return c===void 0&&(c=1),this.saturate(-c)};var Xs=Q,Ks=g.type;Xs.prototype.set=function(c,h,w){w===void 0&&(w=!1);var T=c.split("."),L=T[0],G=T[1],O=this[L]();if(G){var Y=L.indexOf(G)-(L.substr(0,2)==="ok"?2:0);if(Y>-1){if(Ks(h)=="string")switch(h.charAt(0)){case"+":O[Y]+=+h;break;case"-":O[Y]+=+h;break;case"*":O[Y]*=+h.substr(1);break;case"/":O[Y]/=+h.substr(1);break;default:O[Y]=+h}else if(Ks(h)==="number")O[Y]=h;else throw new Error("unsupported value for Color.set");var X=new Xs(O,L);return w?(this._rgb=X._rgb,this):X}throw new Error("unknown channel "+G+" in mode "+L)}else return O};var _v=Q,wv=function(c,h,w){var T=c._rgb,L=h._rgb;return new _v(T[0]+w*(L[0]-T[0]),T[1]+w*(L[1]-T[1]),T[2]+w*(L[2]-T[2]),"rgb")};Ot.rgb=wv;var Cv=Q,aa=Math.sqrt,Ln=Math.pow,xv=function(c,h,w){var T=c._rgb,L=T[0],G=T[1],O=T[2],Y=h._rgb,X=Y[0],ue=Y[1],pe=Y[2];return new Cv(aa(Ln(L,2)*(1-w)+Ln(X,2)*w),aa(Ln(G,2)*(1-w)+Ln(ue,2)*w),aa(Ln(O,2)*(1-w)+Ln(pe,2)*w),"rgb")};Ot.lrgb=xv;var Sv=Q,kv=function(c,h,w){var T=c.lab(),L=h.lab();return new Sv(T[0]+w*(L[0]-T[0]),T[1]+w*(L[1]-T[1]),T[2]+w*(L[2]-T[2]),"lab")};Ot.lab=kv;var Js=Q,Nn=function(c,h,w,T){var L,G,O,Y;T==="hsl"?(O=c.hsl(),Y=h.hsl()):T==="hsv"?(O=c.hsv(),Y=h.hsv()):T==="hcg"?(O=c.hcg(),Y=h.hcg()):T==="hsi"?(O=c.hsi(),Y=h.hsi()):T==="lch"||T==="hcl"?(T="hcl",O=c.hcl(),Y=h.hcl()):T==="oklch"&&(O=c.oklch().reverse(),Y=h.oklch().reverse());var X,ue,pe,Ee,ye,De;(T.substr(0,1)==="h"||T==="oklch")&&(L=O,X=L[0],pe=L[1],ye=L[2],G=Y,ue=G[0],Ee=G[1],De=G[2]);var Re,je,Qe,Je;return!isNaN(X)&&!isNaN(ue)?(ue>X&&ue-X>180?Je=ue-(X+360):ue<X&&X-ue>180?Je=ue+360-X:Je=ue-X,je=X+w*Je):isNaN(X)?isNaN(ue)?je=Number.NaN:(je=ue,(ye==1||ye==0)&&T!="hsv"&&(Re=Ee)):(je=X,(De==1||De==0)&&T!="hsv"&&(Re=pe)),Re===void 0&&(Re=pe+w*(Ee-pe)),Qe=ye+w*(De-ye),T==="oklch"?new Js([Qe,Re,je],T):new Js([je,Re,Qe],T)},Ev=Nn,el=function(c,h,w){return Ev(c,h,w,"lch")};Ot.lch=el,Ot.hcl=el;var Iv=Q,Av=function(c,h,w){var T=c.num(),L=h.num();return new Iv(T+w*(L-T),"num")};Ot.num=Av;var Rv=Nn,Dv=function(c,h,w){return Rv(c,h,w,"hcg")};Ot.hcg=Dv;var Tv=Nn,zv=function(c,h,w){return Tv(c,h,w,"hsi")};Ot.hsi=zv;var Mv=Nn,Ov=function(c,h,w){return Mv(c,h,w,"hsl")};Ot.hsl=Ov;var Fv=Nn,$v=function(c,h,w){return Fv(c,h,w,"hsv")};Ot.hsv=$v;var Pv=Q,Vv=function(c,h,w){var T=c.oklab(),L=h.oklab();return new Pv(T[0]+w*(L[0]-T[0]),T[1]+w*(L[1]-T[1]),T[2]+w*(L[2]-T[2]),"oklab")};Ot.oklab=Vv;var Lv=Nn,Nv=function(c,h,w){return Lv(c,h,w,"oklch")};Ot.oklch=Nv;var oa=Q,Bv=g.clip_rgb,sa=Math.pow,la=Math.sqrt,ua=Math.PI,tl=Math.cos,nl=Math.sin,Gv=Math.atan2,qv=function(c,h,w){h===void 0&&(h="lrgb"),w===void 0&&(w=null);var T=c.length;w||(w=Array.from(new Array(T)).map(function(){return 1}));var L=T/w.reduce(function(je,Qe){return je+Qe});if(w.forEach(function(je,Qe){w[Qe]*=L}),c=c.map(function(je){return new oa(je)}),h==="lrgb")return jv(c,w);for(var G=c.shift(),O=G.get(h),Y=[],X=0,ue=0,pe=0;pe<O.length;pe++)if(O[pe]=(O[pe]||0)*w[0],Y.push(isNaN(O[pe])?0:w[0]),h.charAt(pe)==="h"&&!isNaN(O[pe])){var Ee=O[pe]/180*ua;X+=tl(Ee)*w[0],ue+=nl(Ee)*w[0]}var ye=G.alpha()*w[0];c.forEach(function(je,Qe){var Je=je.get(h);ye+=je.alpha()*w[Qe+1];for(var nt=0;nt<O.length;nt++)if(!isNaN(Je[nt]))if(Y[nt]+=w[Qe+1],h.charAt(nt)==="h"){var Et=Je[nt]/180*ua;X+=tl(Et)*w[Qe+1],ue+=nl(Et)*w[Qe+1]}else O[nt]+=Je[nt]*w[Qe+1]});for(var De=0;De<O.length;De++)if(h.charAt(De)==="h"){for(var Re=Gv(ue/Y[De],X/Y[De])/ua*180;Re<0;)Re+=360;for(;Re>=360;)Re-=360;O[De]=Re}else O[De]=O[De]/Y[De];return ye/=T,new oa(O,h).alpha(ye>.99999?1:ye,!0)},jv=function(c,h){for(var w=c.length,T=[0,0,0,0],L=0;L<c.length;L++){var G=c[L],O=h[L]/w,Y=G._rgb;T[0]+=sa(Y[0],2)*O,T[1]+=sa(Y[1],2)*O,T[2]+=sa(Y[2],2)*O,T[3]+=Y[3]*O}return T[0]=la(T[0]),T[1]=la(T[1]),T[2]=la(T[2]),T[3]>.9999999&&(T[3]=1),new oa(Bv(T))},Ut=se,Bn=g.type,Uv=Math.pow,ca=function(c){var h="rgb",w=Ut("#ccc"),T=0,L=[0,1],G=[],O=[0,0],Y=!1,X=[],ue=!1,pe=0,Ee=1,ye=!1,De={},Re=!0,je=1,Qe=function(_e){if(_e=_e||["#fff","#000"],_e&&Bn(_e)==="string"&&Ut.brewer&&Ut.brewer[_e.toLowerCase()]&&(_e=Ut.brewer[_e.toLowerCase()]),Bn(_e)==="array"){_e.length===1&&(_e=[_e[0],_e[0]]),_e=_e.slice(0);for(var Pe=0;Pe<_e.length;Pe++)_e[Pe]=Ut(_e[Pe]);G.length=0;for(var He=0;He<_e.length;He++)G.push(He/(_e.length-1))}return Tt(),X=_e},Je=function(_e){if(Y!=null){for(var Pe=Y.length-1,He=0;He<Pe&&_e>=Y[He];)He++;return He-1}return 0},nt=function(_e){return _e},Et=function(_e){return _e},St=function(_e,Pe){var He,Ue;if(Pe==null&&(Pe=!1),isNaN(_e)||_e===null)return w;if(Pe)Ue=_e;else if(Y&&Y.length>2){var It=Je(_e);Ue=It/(Y.length-2)}else Ee!==pe?Ue=(_e-pe)/(Ee-pe):Ue=1;Ue=Et(Ue),Pe||(Ue=nt(Ue)),je!==1&&(Ue=Uv(Ue,je)),Ue=O[0]+Ue*(1-O[0]-O[1]),Ue=Math.min(1,Math.max(0,Ue));var ct=Math.floor(Ue*1e4);if(Re&&De[ct])He=De[ct];else{if(Bn(X)==="array")for(var et=0;et<G.length;et++){var rt=G[et];if(Ue<=rt){He=X[et];break}if(Ue>=rt&&et===G.length-1){He=X[et];break}if(Ue>rt&&Ue<G[et+1]){Ue=(Ue-rt)/(G[et+1]-rt),He=Ut.interpolate(X[et],X[et+1],Ue,h);break}}else Bn(X)==="function"&&(He=X(Ue));Re&&(De[ct]=He)}return He},Tt=function(){return De={}};Qe(c);var Xe=function(_e){var Pe=Ut(St(_e));return ue&&Pe[ue]?Pe[ue]():Pe};return Xe.classes=function(_e){if(_e!=null){if(Bn(_e)==="array")Y=_e,L=[_e[0],_e[_e.length-1]];else{var Pe=Ut.analyze(L);_e===0?Y=[Pe.min,Pe.max]:Y=Ut.limits(Pe,"e",_e)}return Xe}return Y},Xe.domain=function(_e){if(!arguments.length)return L;pe=_e[0],Ee=_e[_e.length-1],G=[];var Pe=X.length;if(_e.length===Pe&&pe!==Ee)for(var He=0,Ue=Array.from(_e);He<Ue.length;He+=1){var It=Ue[He];G.push((It-pe)/(Ee-pe))}else{for(var ct=0;ct<Pe;ct++)G.push(ct/(Pe-1));if(_e.length>2){var et=_e.map(function(it,ot){return ot/(_e.length-1)}),rt=_e.map(function(it){return(it-pe)/(Ee-pe)});rt.every(function(it,ot){return et[ot]===it})||(Et=function(it){if(it<=0||it>=1)return it;for(var ot=0;it>=rt[ot+1];)ot++;var Ht=(it-rt[ot])/(rt[ot+1]-rt[ot]),bn=et[ot]+Ht*(et[ot+1]-et[ot]);return bn})}}return L=[pe,Ee],Xe},Xe.mode=function(_e){return arguments.length?(h=_e,Tt(),Xe):h},Xe.range=function(_e,Pe){return Qe(_e),Xe},Xe.out=function(_e){return ue=_e,Xe},Xe.spread=function(_e){return arguments.length?(T=_e,Xe):T},Xe.correctLightness=function(_e){return _e==null&&(_e=!0),ye=_e,Tt(),ye?nt=function(Pe){for(var He=St(0,!0).lab()[0],Ue=St(1,!0).lab()[0],It=He>Ue,ct=St(Pe,!0).lab()[0],et=He+(Ue-He)*Pe,rt=ct-et,it=0,ot=1,Ht=20;Math.abs(rt)>.01&&Ht-- >0;)(function(){return It&&(rt*=-1),rt<0?(it=Pe,Pe+=(ot-Pe)*.5):(ot=Pe,Pe+=(it-Pe)*.5),ct=St(Pe,!0).lab()[0],rt=ct-et})();return Pe}:nt=function(Pe){return Pe},Xe},Xe.padding=function(_e){return _e!=null?(Bn(_e)==="number"&&(_e=[_e,_e]),O=_e,Xe):O},Xe.colors=function(_e,Pe){arguments.length<2&&(Pe="hex");var He=[];if(arguments.length===0)He=X.slice(0);else if(_e===1)He=[Xe(.5)];else if(_e>1){var Ue=L[0],It=L[1]-Ue;He=Wv(0,_e,!1).map(function(ot){return Xe(Ue+ot/(_e-1)*It)})}else{c=[];var ct=[];if(Y&&Y.length>2)for(var et=1,rt=Y.length,it=1<=rt;it?et<rt:et>rt;it?et++:et--)ct.push((Y[et-1]+Y[et])*.5);else ct=L;He=ct.map(function(ot){return Xe(ot)})}return Ut[Pe]&&(He=He.map(function(ot){return ot[Pe]()})),He},Xe.cache=function(_e){return _e!=null?(Re=_e,Xe):Re},Xe.gamma=function(_e){return _e!=null?(je=_e,Xe):je},Xe.nodata=function(_e){return _e!=null?(w=Ut(_e),Xe):w},Xe};function Wv(c,h,w){for(var T=[],L=c<h,G=w?L?h+1:h-1:h,O=c;L?O<G:O>G;L?O++:O--)T.push(O);return T}var nr=Q,Hv=ca,Yv=function(c){for(var h=[1,1],w=1;w<c;w++){for(var T=[1],L=1;L<=h.length;L++)T[L]=(h[L]||0)+h[L-1];h=T}return h},Qv=function(c){var h,w,T,L,G,O,Y;if(c=c.map(function(ye){return new nr(ye)}),c.length===2)h=c.map(function(ye){return ye.lab()}),G=h[0],O=h[1],L=function(ye){var De=[0,1,2].map(function(Re){return G[Re]+ye*(O[Re]-G[Re])});return new nr(De,"lab")};else if(c.length===3)w=c.map(function(ye){return ye.lab()}),G=w[0],O=w[1],Y=w[2],L=function(ye){var De=[0,1,2].map(function(Re){return(1-ye)*(1-ye)*G[Re]+2*(1-ye)*ye*O[Re]+ye*ye*Y[Re]});return new nr(De,"lab")};else if(c.length===4){var X;T=c.map(function(ye){return ye.lab()}),G=T[0],O=T[1],Y=T[2],X=T[3],L=function(ye){var De=[0,1,2].map(function(Re){return(1-ye)*(1-ye)*(1-ye)*G[Re]+3*(1-ye)*(1-ye)*ye*O[Re]+3*(1-ye)*ye*ye*Y[Re]+ye*ye*ye*X[Re]});return new nr(De,"lab")}}else if(c.length>=5){var ue,pe,Ee;ue=c.map(function(ye){return ye.lab()}),Ee=c.length-1,pe=Yv(Ee),L=function(ye){var De=1-ye,Re=[0,1,2].map(function(je){return ue.reduce(function(Qe,Je,nt){return Qe+pe[nt]*Math.pow(De,Ee-nt)*Math.pow(ye,nt)*Je[je]},0)});return new nr(Re,"lab")}}else throw new RangeError("No point in running bezier with only one color.");return L},Zv=function(c){var h=Qv(c);return h.scale=function(){return Hv(h)},h},da=se,Wt=function(c,h,w){if(!Wt[w])throw new Error("unknown blend mode "+w);return Wt[w](c,h)},mn=function(c){return function(h,w){var T=da(w).rgb(),L=da(h).rgb();return da.rgb(c(T,L))}},vn=function(c){return function(h,w){var T=[];return T[0]=c(h[0],w[0]),T[1]=c(h[1],w[1]),T[2]=c(h[2],w[2]),T}},Xv=function(c){return c},Kv=function(c,h){return c*h/255},Jv=function(c,h){return c>h?h:c},e0=function(c,h){return c>h?c:h},t0=function(c,h){return 255*(1-(1-c/255)*(1-h/255))},n0=function(c,h){return h<128?2*c*h/255:255*(1-2*(1-c/255)*(1-h/255))},r0=function(c,h){return 255*(1-(1-h/255)/(c/255))},i0=function(c,h){return c===255?255:(c=255*(h/255)/(1-c/255),c>255?255:c)};Wt.normal=mn(vn(Xv)),Wt.multiply=mn(vn(Kv)),Wt.screen=mn(vn(t0)),Wt.overlay=mn(vn(n0)),Wt.darken=mn(vn(Jv)),Wt.lighten=mn(vn(e0)),Wt.dodge=mn(vn(i0)),Wt.burn=mn(vn(r0));for(var a0=Wt,fa=g.type,o0=g.clip_rgb,s0=g.TWOPI,l0=Math.pow,u0=Math.sin,c0=Math.cos,rl=se,d0=function(c,h,w,T,L){c===void 0&&(c=300),h===void 0&&(h=-1.5),w===void 0&&(w=1),T===void 0&&(T=1),L===void 0&&(L=[0,1]);var G=0,O;fa(L)==="array"?O=L[1]-L[0]:(O=0,L=[L,L]);var Y=function(X){var ue=s0*((c+120)/360+h*X),pe=l0(L[0]+O*X,T),Ee=G!==0?w[0]+X*G:w,ye=Ee*pe*(1-pe)/2,De=c0(ue),Re=u0(ue),je=pe+ye*(-.14861*De+1.78277*Re),Qe=pe+ye*(-.29227*De-.90649*Re),Je=pe+ye*(1.97294*De);return rl(o0([je*255,Qe*255,Je*255,1]))};return Y.start=function(X){return X==null?c:(c=X,Y)},Y.rotations=function(X){return X==null?h:(h=X,Y)},Y.gamma=function(X){return X==null?T:(T=X,Y)},Y.hue=function(X){return X==null?w:(w=X,fa(w)==="array"?(G=w[1]-w[0],G===0&&(w=w[1])):G=0,Y)},Y.lightness=function(X){return X==null?L:(fa(X)==="array"?(L=X,O=X[1]-X[0]):(L=[X,X],O=0),Y)},Y.scale=function(){return rl.scale(Y)},Y.hue(w),Y},f0=Q,h0="0123456789abcdef",p0=Math.floor,g0=Math.random,m0=function(){for(var c="#",h=0;h<6;h++)c+=h0.charAt(p0(g0()*16));return new f0(c,"hex")},ha=m,il=Math.log,v0=Math.pow,b0=Math.floor,y0=Math.abs,al=function(c,h){h===void 0&&(h=null);var w={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return ha(c)==="object"&&(c=Object.values(c)),c.forEach(function(T){h&&ha(T)==="object"&&(T=T[h]),T!=null&&!isNaN(T)&&(w.values.push(T),w.sum+=T,T<w.min&&(w.min=T),T>w.max&&(w.max=T),w.count+=1)}),w.domain=[w.min,w.max],w.limits=function(T,L){return ol(w,T,L)},w},ol=function(c,h,w){h===void 0&&(h="equal"),w===void 0&&(w=7),ha(c)=="array"&&(c=al(c));var T=c.min,L=c.max,G=c.values.sort(function(ga,ma){return ga-ma});if(w===1)return[T,L];var O=[];if(h.substr(0,1)==="c"&&(O.push(T),O.push(L)),h.substr(0,1)==="e"){O.push(T);for(var Y=1;Y<w;Y++)O.push(T+Y/w*(L-T));O.push(L)}else if(h.substr(0,1)==="l"){if(T<=0)throw new Error("Logarithmic scales are only possible for values > 0");var X=Math.LOG10E*il(T),ue=Math.LOG10E*il(L);O.push(T);for(var pe=1;pe<w;pe++)O.push(v0(10,X+pe/w*(ue-X)));O.push(L)}else if(h.substr(0,1)==="q"){O.push(T);for(var Ee=1;Ee<w;Ee++){var ye=(G.length-1)*Ee/w,De=b0(ye);if(De===ye)O.push(G[De]);else{var Re=ye-De;O.push(G[De]*(1-Re)+G[De+1]*Re)}}O.push(L)}else if(h.substr(0,1)==="k"){var je,Qe=G.length,Je=new Array(Qe),nt=new Array(w),Et=!0,St=0,Tt=null;Tt=[],Tt.push(T);for(var Xe=1;Xe<w;Xe++)Tt.push(T+Xe/w*(L-T));for(Tt.push(L);Et;){for(var _e=0;_e<w;_e++)nt[_e]=0;for(var Pe=0;Pe<Qe;Pe++)for(var He=G[Pe],Ue=Number.MAX_VALUE,It=void 0,ct=0;ct<w;ct++){var et=y0(Tt[ct]-He);et<Ue&&(Ue=et,It=ct),nt[It]++,Je[Pe]=It}for(var rt=new Array(w),it=0;it<w;it++)rt[it]=null;for(var ot=0;ot<Qe;ot++)je=Je[ot],rt[je]===null?rt[je]=G[ot]:rt[je]+=G[ot];for(var Ht=0;Ht<w;Ht++)rt[Ht]*=1/nt[Ht];Et=!1;for(var bn=0;bn<w;bn++)if(rt[bn]!==Tt[bn]){Et=!0;break}Tt=rt,St++,St>200&&(Et=!1)}for(var yn={},Gn=0;Gn<w;Gn++)yn[Gn]=[];for(var qn=0;qn<Qe;qn++)je=Je[qn],yn[je].push(G[qn]);for(var an=[],An=0;An<w;An++)an.push(yn[An][0]),an.push(yn[An][yn[An].length-1]);an=an.sort(function(ga,ma){return ga-ma}),O.push(an[0]);for(var rr=1;rr<an.length;rr+=2){var Rn=an[rr];!isNaN(Rn)&&O.indexOf(Rn)===-1&&O.push(Rn)}}return O},sl={analyze:al,limits:ol},ll=Q,_0=function(c,h){c=new ll(c),h=new ll(h);var w=c.luminance(),T=h.luminance();return w>T?(w+.05)/(T+.05):(T+.05)/(w+.05)},ul=Q,rn=Math.sqrt,yt=Math.pow,w0=Math.min,C0=Math.max,cl=Math.atan2,dl=Math.abs,Or=Math.cos,fl=Math.sin,x0=Math.exp,hl=Math.PI,S0=function(c,h,w,T,L){w===void 0&&(w=1),T===void 0&&(T=1),L===void 0&&(L=1);var G=function(Rn){return 360*Rn/(2*hl)},O=function(Rn){return 2*hl*Rn/360};c=new ul(c),h=new ul(h);var Y=Array.from(c.lab()),X=Y[0],ue=Y[1],pe=Y[2],Ee=Array.from(h.lab()),ye=Ee[0],De=Ee[1],Re=Ee[2],je=(X+ye)/2,Qe=rn(yt(ue,2)+yt(pe,2)),Je=rn(yt(De,2)+yt(Re,2)),nt=(Qe+Je)/2,Et=.5*(1-rn(yt(nt,7)/(yt(nt,7)+yt(25,7)))),St=ue*(1+Et),Tt=De*(1+Et),Xe=rn(yt(St,2)+yt(pe,2)),_e=rn(yt(Tt,2)+yt(Re,2)),Pe=(Xe+_e)/2,He=G(cl(pe,St)),Ue=G(cl(Re,Tt)),It=He>=0?He:He+360,ct=Ue>=0?Ue:Ue+360,et=dl(It-ct)>180?(It+ct+360)/2:(It+ct)/2,rt=1-.17*Or(O(et-30))+.24*Or(O(2*et))+.32*Or(O(3*et+6))-.2*Or(O(4*et-63)),it=ct-It;it=dl(it)<=180?it:ct<=It?it+360:it-360,it=2*rn(Xe*_e)*fl(O(it)/2);var ot=ye-X,Ht=_e-Xe,bn=1+.015*yt(je-50,2)/rn(20+yt(je-50,2)),yn=1+.045*Pe,Gn=1+.015*Pe*rt,qn=30*x0(-yt((et-275)/25,2)),an=2*rn(yt(Pe,7)/(yt(Pe,7)+yt(25,7))),An=-an*fl(2*O(qn)),rr=rn(yt(ot/(w*bn),2)+yt(Ht/(T*yn),2)+yt(it/(L*Gn),2)+An*(Ht/(T*yn))*(it/(L*Gn)));return C0(0,w0(100,rr))},pl=Q,k0=function(c,h,w){w===void 0&&(w="lab"),c=new pl(c),h=new pl(h);var T=c.get(w),L=h.get(w),G=0;for(var O in T){var Y=(T[O]||0)-(L[O]||0);G+=Y*Y}return Math.sqrt(G)},E0=Q,I0=function(){for(var c=[],h=arguments.length;h--;)c[h]=arguments[h];try{return new(Function.prototype.bind.apply(E0,[null].concat(c))),!0}catch{return!1}},gl=se,ml=ca,A0={cool:function(){return ml([gl.hsl(180,1,.9),gl.hsl(250,.7,.4)])},hot:function(){return ml(["#000","#f00","#ff0","#fff"]).mode("rgb")}},Fr={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},pa=0,vl=Object.keys(Fr);pa<vl.length;pa+=1){var bl=vl[pa];Fr[bl.toLowerCase()]=Fr[bl]}var R0=Fr,xt=se;xt.average=qv,xt.bezier=Zv,xt.blend=a0,xt.cubehelix=d0,xt.mix=xt.interpolate=Ys,xt.random=m0,xt.scale=ca,xt.analyze=sl.analyze,xt.contrast=_0,xt.deltaE=S0,xt.distance=k0,xt.limits=sl.limits,xt.valid=I0,xt.scales=A0,xt.colors=Ds,xt.brewer=R0;var D0=xt;return D0})})(Wa);const Wn=Wa.exports,Ha=(e,t)=>{const n=Wn.bezier(e),r=Wn.bezier(t);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},ar=e=>{const t=Wn.bezier(e);return function(n){return t(n/100).hex()}},Bu={type:"interpolation",displayName:"Red / Green",getColor:Ha(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Gu={type:"interpolation",displayName:"Yellow / Blue",getColor:Ha(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},qu={type:"interpolation",displayName:"Red",getColor:ar(["#fff7f1","darkred"]),name:"red",category:"sequential"},ju={type:"interpolation",displayName:"Green",getColor:ar(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Uu={type:"interpolation",displayName:"Blue",getColor:ar(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},Wu={type:"interpolation",displayName:"Orange",getColor:ar(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},Hu="4.6.0";class Yu{constructor(t){qe(this,"staticColors",new Map);qe(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 Qu{constructor(){qe(this,"plugins",new Map);qe(this,"vizComponents",new Map);qe(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 Zu{constructor(){qe(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(s=>s.version>t.from&&s.version<=t.to),i=Ce.orderBy(r,"version","asc");if(((a=Ce.last(i))==null?void 0:a.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return i.reduce((s,l)=>l.handler(s),n)}}class Nt extends Zu{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,r=>({version:t,...n(r)}))}async migrate({instanceData:t}){const n=await t.getItem(null),r=Ce.get(n,"version",0),i=this.run({from:r,to:this.VERSION},n);await t.setItem(null,i)}async needMigration({instanceData:t}){const n=await t.getItem(null);return Ce.get(n,"version",0)<this.VERSION}}const Wr={content:""},lt=(e,t)=>{const[n,{setFalse:r}]=dt.useBoolean(!0),[i,a]=be.useState();be.useEffect(()=>(e.getItem(t).then(l=>{a(l),r()}),e.watchItem(t,l=>{a(l)})));const s=be.useCallback(async l=>{await e.setItem(t,l),a(l)},[e,t]);return{loading:n,value:i,set:s}};function Ya(e){const t=be.useRef(null);return be.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 Xu({context:e}){const{value:t}=lt(e.instanceData,"config"),n=t==null?void 0:t.content,r=Ya(n);return t!=null&&t.content?o($r.RichTextEditor,{ref:r,readOnly:!0,value:t.content,onChange:Ce.noop,sx:{border:"none"}}):null}function Ku({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=be.useMemo(()=>Ce.defaults({},t,Wr),[t]),{control:i,handleSubmit:a,watch:s,getValues:l}=we.useForm({defaultValues:r});s("content");const d=l(),m=be.useMemo(()=>!Ce.isEqual(d,t),[d,t]),f=Ya(t==null?void 0:t.content);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:a(n),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Content"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:o(Ae.DeviceFloppy,{size:20})})]}),o(we.Controller,{name:"content",control:i,render:({field:v})=>o(ya.default,{ref:f,sx:{flex:1},...Ce.omit(v,"ref")})})]})})}class Ju extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}fixMalformedConfig(n){return Ce.defaults({},n,Wr)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const ec={displayName:"RichText",migrator:new Ju,name:"richText",viewRender:Xu,configRender:Ku,createConfig:()=>Wr},Hr={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 tc(e){if("variables"in e)return e;const{align:t,size:n,weight:r,color:i,content:{prefix:a="",data_field:s="value",formatter:l={output:"number",mantissa:0},postfix:d=""}={}}=e;return{align:t,template:`${a} \${value} ${d}`,variables:[{name:"value",data_field:s,aggregation:{type:"none",config:{}},formatter:l,color:i,weight:r,size:n}]}}class nc extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({config:tc(n)}))}}const Yr=be.forwardRef(function({value:t,onChange:n,...r},i){return o(u.TextInput,{ref:i,value:t,onChange:n,...r})}),Qr={mantissa:0,output:"number",trimMantissa:!1,average:!1};function rc({value:e,onChange:t},n){const r=l=>{t({...e,output:l})},i=l=>{const d=l===0?!1:e.trimMantissa;t({...e,mantissa:l,trimMantissa:d})},a=l=>{t({...e,trimMantissa:l.currentTarget.checked})},s=l=>{t({...e,average:l.currentTarget.checked})};return z(u.Stack,{ref:n,children:[z(u.Group,{grow:!0,children:[o(u.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:r}),o(u.Switch,{label:z(u.Text,{children:["Average",o("br",{}),o(u.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:s,disabled:e.output!=="number"})]}),z(u.Group,{grow:!0,children:[o(u.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),o(u.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:a,disabled:e.mantissa===0})]}),z(u.Stack,{spacing:0,children:[o(u.Text,{weight:"bold",children:"Preview"}),o(Dn,{children:z(u.Group,{position:"apart",children:[z(u.Text,{size:12,color:"gray",children:["123456789 ",o(Ae.ArrowRight,{size:9})," ",Vt.default(123456789).format(e)]}),z(u.Text,{size:12,color:"gray",children:["1234 ",o(Ae.ArrowRight,{size:9})," ",Vt.default(1234).format(e)]}),z(u.Text,{size:12,color:"gray",children:["0.1234 ",o(Ae.ArrowRight,{size:9})," ",Vt.default(.1234).format(e)]})]})})]})]})}const Qa=ne.default.forwardRef(rc);function or(){return{name:_t.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:Qr}}const ic=[{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 ac({label:e,value:t,onChange:n},r){be.useEffect(()=>{typeof t=="string"&&(console.log(t),n({type:t,config:{}}))},[t,n]);const i=s=>{n(s==="quantile"?{type:"quantile",config:{p:.99}}:{type:s,config:{}})},a=s=>{n({type:"quantile",config:{p:s}})};return z(u.Group,{grow:!0,noWrap:!0,pt:"sm",children:[o(u.Select,{ref:r,label:e,data:ic,value:t.type,onChange:i}),t.type==="quantile"&&o(u.NumberInput,{label:"p",value:t.config.p,onChange:a,precision:2,min:.05,step:.05,max:1})]})}const oc=ne.default.forwardRef(ac);function sc({label:e,required:t,value:n,onChange:r,data:i,clearable:a=!1,sx:s,...l},d){const m=ne.default.useMemo(()=>{if(!Array.isArray(i)||i.length===0)return[];const v=Object.keys(i[0]).map(y=>({label:y,value:y}));return a?v.concat([{label:"unset",value:""}]):v},[i]);return o(u.Select,{ref:d,label:e,data:m,value:n,onChange:r,required:t,sx:s,...l})}const gt=ne.default.forwardRef(sc);function lc({label:e,value:t,onChange:n},r){const[i,a]=ne.default.useState(Array.isArray(t)?[...t]:[]),s=ne.default.useCallback(()=>{a(y=>[...y,""])},[a]),l=ne.default.useCallback(y=>{a(p=>(p.splice(y,1),[...p]))},[a]),d=ne.default.useMemo(()=>!Ze.default.isEqual(i,t),[i,t]),m=()=>{n(i.map(y=>y.toString()))},f=u.useMantineTheme(),v=ne.default.useMemo(()=>Object.entries(f.colors).map(([y,p])=>p[6]),[f]);return z(vt,{children:[z(u.Group,{position:"left",ref:r,children:[o(u.Text,{children:e}),o(u.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:m,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Group,{children:[i.map((y,p)=>o(u.ColorInput,{value:y,onChange:C=>{a(g=>(g.splice(p,1,C),[...g]))},swatches:v,rightSection:o(u.ActionIcon,{onClick:()=>l(p),color:"red",children:o(Ae.Trash,{size:14})}),sx:{width:"45%"}})),o(u.ActionIcon,{onClick:s,color:"blue",variant:"outline",children:o(Ae.PlaylistAdd,{size:20})})]})]})}const uc=ne.default.forwardRef(lc);function cc({value:e,onChange:t},n){const{colorManager:r}=be.useContext(nn),i=ne.default.useMemo(()=>r.getStaticColors().map(l=>({label:l.name,group:l.category,value:l.value})),[r]),a=ne.default.useMemo(()=>i.some(s=>s.value===e),[e,i]);return z(u.Group,{position:"apart",spacing:4,ref:n,children:[o(u.TextInput,{placeholder:"Set $TSFixMe color",value:a?"":e,onChange:s=>t(s.currentTarget.value),rightSection:o(u.ColorSwatch,{color:a?"transparent":e,radius:4}),variant:a?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),o(u.Text,{sx:{flexGrow:0},children:"or"}),o(u.Select,{data:i,value:e,onChange:t,variant:a?"default":"filled",placeholder:"Pick a theme color",icon:o(u.ColorSwatch,{color:a?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const en=ne.default.forwardRef(cc),sr=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function dc({label:e,value:t,onChange:n},r){var s,l;const[i,a]=ne.default.useState((l=(s=sr.find(d=>d.label===t))==null?void 0:s.value)!=null?l:sr[0].value);return ne.default.useEffect(()=>{const d=sr.find(m=>m.value===i);d&&n(d.label)},[i]),z(u.Stack,{spacing:0,mt:"sm",mb:"lg",children:[o(u.Text,{size:"sm",children:e}),o(u.Slider,{label:null,marks:sr,value:i,onChange:a,step:25,placeholder:"Pick a font size",ref:r})]})}const fc=ne.default.forwardRef(dc);function hc({label:e,value:t,onChange:n},r){const[i,a]=ne.default.useState(Array.isArray(t)?[...t]:[]),s=ne.default.useCallback(()=>{a(f=>[...f,""])},[a]),l=ne.default.useCallback(f=>{a(v=>(v.splice(f,1),[...v]))},[a]),d=ne.default.useMemo(()=>!Ze.default.isEqual(i,t),[i,t]),m=()=>{n(i.map(f=>f.toString()))};return z(vt,{children:[z(u.Group,{position:"left",ref:r,children:[o(u.Text,{children:e}),o(u.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:m,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Group,{children:[i.map((f,v)=>o(u.TextInput,{value:f,onChange:y=>{const p=y.currentTarget.value;a(C=>(C.splice(v,1,p),[...C]))},rightSection:o(u.ActionIcon,{onClick:()=>l(v),color:"red",children:o(Ae.Trash,{size:14})}),sx:{width:"45%"}})),o(u.ActionIcon,{onClick:s,color:"blue",variant:"outline",children:o(Ae.PlaylistAdd,{size:20})})]})]})}const pc=ne.default.forwardRef(hc),gc=ne.default.forwardRef(function({value:t,onChange:n},r){const i=t.color.type,a=(s,l)=>{const d=Ze.default.cloneDeep(t);Ze.default.set(d,s,l),n(d)};return z(vt,{children:[o(u.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),o(u.Stack,{children:o(u.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:t.size,onChange:s=>a("size",s.currentTarget.value)})}),o(u.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:o(fc,{label:"Font Weight",value:t.weight,onChange:s=>a("weight",s)})}),o(u.Divider,{my:"xs",label:"Style",labelPosition:"center"}),z(u.Stack,{children:[o(u.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:s=>a("color.type",s)}),i==="static"&&o(en,{value:t.color.staticColor,onChange:s=>a("color.staticColor",s)}),i==="continuous"&&z(vt,{children:[o(pc,{label:"Value Range",value:t.color.valueRange,onChange:s=>a("color.valueRange",s)}),o(uc,{label:"Color Range",value:t.color.colorRange,onChange:s=>a("color.colorRange",s)})]})]})]})}),lr=ne.default.forwardRef(function({value:t,onChange:n,data:r,withStyle:i=!0},a){const s=(l,d)=>{const m=Ze.default.cloneDeep(t);Ze.default.set(m,l,d),n(m)};return z(u.Box,{px:"sm",py:"md",ref:a,children:[o(u.Text,{weight:"bold",pb:0,children:t.name}),o(u.Divider,{my:"xs",label:"Data",labelPosition:"center"}),z(u.Group,{grow:!0,noWrap:!0,children:[o(u.TextInput,{label:"Name",required:!0,value:t.name,onChange:l=>s("name",l.currentTarget.value)}),o(gt,{label:"Data Field",required:!0,data:r,value:t.data_field,onChange:l=>s("data_field",l)})]}),o(oc,{label:"Aggregation",value:t.aggregation,onChange:l=>s("aggregation",l)}),o(u.Divider,{my:"xs",label:"Format",labelPosition:"center"}),o(Qa,{value:t.formatter,onChange:l=>s("formatter",l)}),i&&o(gc,{value:t,onChange:n})]})});function mc(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 Zr(e,t,n){var i,a,s,l;const r=e.map(d=>d[t]);switch(n.type){case"sum":return Ze.default.sum(r);case"mean":return Ze.default.mean(r);case"median":return mc(r);case"max":return(i=Ze.default.max(r))!=null?i:0;case"min":return(a=Ze.default.min(r))!=null?a:0;case"quantile":return(s=Cl.quantile(r,n.config.p))!=null?s:0;default:return(l=e[0])==null?void 0:l[t]}}var Za=function(){},Hn=function(){};process.env.NODE_ENV!=="production"&&(Za=function(e,t){!e&&typeof console<"u"&&console.warn(t)},Hn=function(e,t){if(!e)throw new Error(t)});const vc=(e,t,n)=>Math.min(Math.max(n,e),t),Xa=(e,t,n)=>{const r=t-e;return r===0?1:(n-e)/r},Xr=(e,t,n)=>-n*e+n*t+e,Ka=(e,t)=>n=>Math.max(Math.min(n,t),e),Yn=e=>e%1?Number(e.toFixed(5)):e,ur=/(-)?([\d]*\.?[\d])+/g,Kr=/(#[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,bc=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function Qn(e){return typeof e=="string"}const cr={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Ja=Object.assign(Object.assign({},cr),{transform:Ka(0,1)});Object.assign(Object.assign({},cr),{default:1});const Zn=(e=>({test:t=>Qn(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}))("%");Object.assign(Object.assign({},Zn),{parse:e=>Zn.parse(e)/100,transform:e=>Zn.transform(e*100)});const Jr=(e,t)=>n=>Boolean(Qn(n)&&bc.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),eo=(e,t,n)=>r=>{if(!Qn(r))return r;const[i,a,s,l]=r.match(ur);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(s),alpha:l!==void 0?parseFloat(l):1}},Cn={test:Jr("hsl","hue"),parse:eo("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>"hsla("+Math.round(e)+", "+Zn.transform(Yn(t))+", "+Zn.transform(Yn(n))+", "+Yn(Ja.transform(r))+")"},yc=Ka(0,255),ei=Object.assign(Object.assign({},cr),{transform:e=>Math.round(yc(e))}),cn={test:Jr("rgb","red"),parse:eo("red","green","blue"),transform:({red:e,green:t,blue:n,alpha:r=1})=>"rgba("+ei.transform(e)+", "+ei.transform(t)+", "+ei.transform(n)+", "+Yn(Ja.transform(r))+")"};function _c(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 ti={test:Jr("#"),parse:_c,transform:cn.transform},dr={test:e=>cn.test(e)||ti.test(e)||Cn.test(e),parse:e=>cn.test(e)?cn.parse(e):Cn.test(e)?Cn.parse(e):ti.parse(e),transform:e=>Qn(e)?e:e.hasOwnProperty("red")?cn.transform(e):Cn.transform(e)},to="${c}",no="${n}";function wc(e){var t,n,r,i;return isNaN(e)&&Qn(e)&&((n=(t=e.match(ur))===null||t===void 0?void 0:t.length)!==null&&n!==void 0?n:0)+((i=(r=e.match(Kr))===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0)>0}function ro(e){typeof e=="number"&&(e=`${e}`);const t=[];let n=0;const r=e.match(Kr);r&&(n=r.length,e=e.replace(Kr,to),t.push(...r.map(dr.parse)));const i=e.match(ur);return i&&(e=e.replace(ur,no),t.push(...i.map(cr.parse))),{values:t,numColors:n,tokenised:e}}function io(e){return ro(e).values}function ao(e){const{values:t,numColors:n,tokenised:r}=ro(e),i=t.length;return a=>{let s=r;for(let l=0;l<i;l++)s=s.replace(l<n?to:no,l<n?dr.transform(a[l]):Yn(a[l]));return s}}const Cc=e=>typeof e=="number"?0:e;function xc(e){const t=io(e);return ao(e)(t.map(Cc))}const oo={test:wc,parse:io,createTransformer:ao,getAnimatableNone:xc};function ni(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 so({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,s=0;if(!t)i=a=s=n;else{const l=n<.5?n*(1+t):n+t-n*t,d=2*n-l;i=ni(d,l,e+1/3),a=ni(d,l,e),s=ni(d,l,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(s*255),alpha:r}}const Sc=(e,t,n)=>{const r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},kc=[ti,cn,Cn],lo=e=>kc.find(t=>t.test(e)),uo=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,co=(e,t)=>{let n=lo(e),r=lo(t);Hn(!!n,uo(e)),Hn(!!r,uo(t));let i=n.parse(e),a=r.parse(t);n===Cn&&(i=so(i),n=cn),r===Cn&&(a=so(a),r=cn);const s=Object.assign({},i);return l=>{for(const d in s)d!=="alpha"&&(s[d]=Sc(i[d],a[d],l));return s.alpha=Xr(i.alpha,a.alpha,l),n.transform(s)}},Ec=e=>typeof e=="number",Ic=(e,t)=>n=>t(e(n)),fo=(...e)=>e.reduce(Ic);function ho(e,t){return Ec(e)?n=>Xr(e,t,n):dr.test(e)?co(e,t):mo(e,t)}const po=(e,t)=>{const n=[...e],r=n.length,i=e.map((a,s)=>ho(a,t[s]));return a=>{for(let s=0;s<r;s++)n[s]=i[s](a);return n}},Ac=(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]=ho(e[i],t[i]));return i=>{for(const a in r)n[a]=r[a](i);return n}};function go(e){const t=oo.parse(e),n=t.length;let r=0,i=0,a=0;for(let s=0;s<n;s++)r||typeof t[s]=="number"?r++:t[s].hue!==void 0?a++:i++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:a}}const mo=(e,t)=>{const n=oo.createTransformer(t),r=go(e),i=go(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&r.numNumbers>=i.numNumbers?fo(po(r.parsed,i.parsed),n):(Za(!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.`),s=>`${s>0?t:e}`)},Rc=(e,t)=>n=>Xr(e,t,n);function Dc(e){if(typeof e=="number")return Rc;if(typeof e=="string")return dr.test(e)?co:mo;if(Array.isArray(e))return po;if(typeof e=="object")return Ac}function Tc(e,t,n){const r=[],i=n||Dc(e[0]),a=e.length-1;for(let s=0;s<a;s++){let l=i(e[s],e[s+1]);if(t){const d=Array.isArray(t)?t[s]:t;l=fo(d,l)}r.push(l)}return r}function zc([e,t],[n]){return r=>n(Xa(e,t,r))}function Mc(e,t){const n=e.length,r=n-1;return i=>{let a=0,s=!1;if(i<=e[0]?s=!0:i>=e[r]&&(a=r-1,s=!0),!s){let d=1;for(;d<n&&!(e[d]>i||d===r);d++);a=d-1}const l=Xa(e[a],e[a+1],i);return t[a](l)}}function Oc(e,t,{clamp:n=!0,ease:r,mixer:i}={}){const a=e.length;Hn(a===t.length,"Both input and output ranges must be the same length"),Hn(!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 s=Tc(t,r,i),l=a===2?zc(e,s):Mc(e,s);return n?d=>l(vc(e[0],e[a-1],d)):l}class Fc{constructor({valueRange:t,colorRange:n}){qe(this,"mapper");this.mapper=Oc(t,n)}getColor(t){return this.mapper(t)}}function $c(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function vo({data_field:e,aggregation:t},n){return Zr(n,e,t)}function fr({formatter:e},t){return["string","number"].includes(typeof t)?Vt.default(t).format(e):$c(t)}function Pc(e,t){return e.type==="static"?e.staticColor:e.type==="continuous"?new Fc(e).getColor(t):"black"}function Vc(e,t){const n={};return e.forEach(r=>{const{name:i,color:a,data_field:s,aggregation:l,size:d,weight:m}=r,f=Zr(t,s,l),v=fr(r,f);n[i]=o(u.Text,{sx:{fontSize:d,display:"inline"},color:Pc(a,f),weight:m,children:v})}),n}function Lc(e){return e.split(" ").map(t=>z(vt,{children:[t,"\xA0"]}))}function Nc(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
101
- `,"<br/>").split("<br/>");return n.map((i,a)=>{const s=[Lc(i)];return a!==n.length-1&&s.push(o("br",{})),s}).flat().filter(i=>i!==void 0)}function ri(e){return Nc(e)}function ii(e,t,n){const r=Vc(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var m;const s=i.exec(a);if(!s)return ri(a);const l=r[s[1]];if(!l)return ri(a);const d=(m=s[2])!=null?m:"";return z(vt,{children:[l,ri(d)]})})}function Bc(e,t){const n={};return e.forEach(r=>{const{name:i,data_field:a,aggregation:s}=r,l=Zr(t,a,s);n[i]=fr(r,l)}),n}function bo(e,t,n){const r=Bc(t,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var m;const s=i.exec(a);if(!s)return a;const l=r[s[1]];if(!l)return a;const d=(m=s[2])!=null?m:"";return`${l}${d}`}).join("")}function Gc({context:e}){const{value:t=Hr}=lt(e.instanceData,"config"),{template:n,variables:r,align:i}=t,a=be.useMemo(()=>ii(n,r,e.data),[n,r,e.data]);return o(u.Text,{align:i,children:Object.values(a).map(s=>s)})}function qc({control:e,index:t,remove:n,data:r}){return z(u.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(we.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(lr,{data:r,...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function jc({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"variables"}),s=t("variables"),l=r.map((m,f)=>({...m,...s[f]})),d=()=>i(or());return z(u.Stack,{children:[l.map((m,f)=>o(qc,{control:e,index:f,remove:a,data:n},m.name)),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Variable"})})]})}function Uc({context:e}){const t=e.data||[],{value:n,set:r}=lt(e.instanceData,"config"),i=ne.default.useMemo(()=>{const{align:y,template:p="",variables:C=[]}=Ce.defaultsDeep({},n,Hr);return{variables:C,template:p,align:y}},[n]),{control:a,handleSubmit:s,watch:l,getValues:d,reset:m}=we.useForm({defaultValues:i});ne.default.useEffect(()=>{m(i)},[i]),l(["variables","template"]);const f=d(),v=ne.default.useMemo(()=>!Ze.default.isEqual(f,n),[f,n]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s(r),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{weight:500,children:"Stats Configurations"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:o(Ae.DeviceFloppy,{size:20})})]}),o(we.Controller,{name:"template",control:a,render:({field:y})=>o(Yr,{label:"Template",py:"md",sx:{flexGrow:1},...y})}),o(u.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),o(jc,{control:a,watch:l,data:t})]})})}const Wc={createConfig(){return{version:1,config:Hr}},displayName:"Stats",migrator:new nc,name:"stats",viewRender:Gc,configRender:Uc};var dn=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(dn||{});const hr={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"};/**
102
- * react-table
103
- *
104
- * Copyright (c) TanStack
105
- *
106
- * This source code is licensed under the MIT license found in the
107
- * LICENSE.md file in the root directory of this source tree.
108
- *
109
- * @license MIT
110
- */function fn(e,t){return typeof e=="function"?e(t):e}function $t(e,t){return n=>{t.setState(r=>({...r,[e]:fn(n,r[e])}))}}function pr(e){return e instanceof Function}function Hc(e,t){const n=[],r=i=>{i.forEach(a=>{n.push(a);const s=t(a);s!=null&&s.length&&r(s)})};return r(e),n}function Ne(e,t,n){let r=[],i;return()=>{let a;n.key&&n.debug&&(a=Date.now());const s=e();if(!(s.length!==r.length||s.some((m,f)=>r[f]!==m)))return i;r=s;let d;if(n.key&&n.debug&&(d=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const m=Math.round((Date.now()-a)*100)/100,f=Math.round((Date.now()-d)*100)/100,v=f/16,y=(p,C)=>{for(p=String(p);p.length<C;)p=" "+p;return p};console.info("%c\u23F1 "+y(f,5)+" /"+y(m,5)+" ms",`
111
- font-size: .6rem;
112
- font-weight: bold;
113
- color: hsl(`+Math.max(0,Math.min(120-120*v,120))+"deg 100% 31%);",n==null?void 0:n.key)}return i}}function Yc(e,t,n,r){var i,a;const l={...e._getDefaultColumnDef(),...t},d=l.accessorKey;let m=(i=(a=l.id)!=null?a:d?d.replace(".","_"):void 0)!=null?i:typeof l.header=="string"?l.header:void 0,f;if(l.accessorFn?f=l.accessorFn:d&&(d.includes(".")?f=y=>{let p=y;for(const C of d.split("."))p=p[C];return p}:f=y=>y[l.accessorKey]),!m)throw process.env.NODE_ENV!=="production"?new Error(l.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let v={id:""+String(m),accessorFn:f,parent:r,depth:n,columnDef:l,columns:[],getFlatColumns:Ne(()=>[!0],()=>{var y;return[v,...(y=v.columns)==null?void 0:y.flatMap(p=>p.getFlatColumns())]},{key:process.env.NODE_ENV==="production"&&"column.getFlatColumns",debug:()=>{var y;return(y=e.options.debugAll)!=null?y:e.options.debugColumns}}),getLeafColumns:Ne(()=>[e._getOrderColumnsFn()],y=>{var p;if((p=v.columns)!=null&&p.length){let C=v.columns.flatMap(g=>g.getLeafColumns());return y(C)}return[v]},{key:process.env.NODE_ENV==="production"&&"column.getLeafColumns",debug:()=>{var y;return(y=e.options.debugAll)!=null?y:e.options.debugColumns}})};return v=e._features.reduce((y,p)=>Object.assign(y,p.createColumn==null?void 0:p.createColumn(v,e)),v),v}function yo(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 s=[],l=d=>{d.subHeaders&&d.subHeaders.length&&d.subHeaders.map(l),s.push(d)};return l(a),s},getContext:()=>({table:e,header:a,column:t})};return e._features.forEach(s=>{Object.assign(a,s.createHeader==null?void 0:s.createHeader(a,e))}),a}const Qc={createTable:e=>({getHeaderGroups:Ne(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var a,s;const l=(a=r==null?void 0:r.map(v=>n.find(y=>y.id===v)).filter(Boolean))!=null?a:[],d=(s=i==null?void 0:i.map(v=>n.find(y=>y.id===v)).filter(Boolean))!=null?s:[],m=n.filter(v=>!(r!=null&&r.includes(v.id))&&!(i!=null&&i.includes(v.id)));return gr(t,[...l,...m,...d],e)},{key:process.env.NODE_ENV==="development"&&"getHeaderGroups",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}}),getCenterHeaderGroups:Ne(()=>[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))),gr(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:Ne(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(s=>n.find(l=>l.id===s)).filter(Boolean))!=null?i:[];return gr(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:Ne(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const a=(i=r==null?void 0:r.map(s=>n.find(l=>l.id===s)).filter(Boolean))!=null?i:[];return gr(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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,a,s,l,d,m;return[...(i=(a=t[0])==null?void 0:a.headers)!=null?i:[],...(s=(l=n[0])==null?void 0:l.headers)!=null?s:[],...(d=(m=r[0])==null?void 0:m.headers)!=null?d:[]].map(f=>f.getLeafHeaders()).flat()},{key:process.env.NODE_ENV==="development"&&"getLeafHeaders",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugHeaders}})})};function gr(e,t,n,r){var i,a;let s=0;const l=function(y,p){p===void 0&&(p=1),s=Math.max(s,p),y.filter(C=>C.getIsVisible()).forEach(C=>{var g;(g=C.columns)!=null&&g.length&&l(C.columns,p+1)},0)};l(e);let d=[];const m=(y,p)=>{const C={depth:p,id:[r,""+p].filter(Boolean).join("_"),headers:[]},g=[];y.forEach(x=>{const S=[...g].reverse()[0],D=x.column.depth===C.depth;let F,B=!1;if(D&&x.column.parent?F=x.column.parent:(F=x.column,B=!0),S&&(S==null?void 0:S.column)===F)S.subHeaders.push(x);else{const q=yo(n,F,{id:[r,p,F.id,x==null?void 0:x.id].filter(Boolean).join("_"),isPlaceholder:B,placeholderId:B?""+g.filter(Q=>Q.column===F).length:void 0,depth:p,index:g.length});q.subHeaders.push(x),g.push(q)}C.headers.push(x),x.headerGroup=C}),d.push(C),p>0&&m(g,p-1)},f=t.map((y,p)=>yo(n,y,{depth:s,index:p}));m(f,s-1),d.reverse();const v=y=>y.filter(C=>C.column.getIsVisible()).map(C=>{let g=0,x=0,S=[0];C.subHeaders&&C.subHeaders.length?(S=[],v(C.subHeaders).forEach(F=>{let{colSpan:B,rowSpan:q}=F;g+=B,S.push(q)})):g=1;const D=Math.min(...S);return x=x+D,C.colSpan=g,C.rowSpan=x,{colSpan:g,rowSpan:x}});return v((i=(a=d[0])==null?void 0:a.headers)!=null?i:[]),d}const mr={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},ai=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Zc={getDefaultColumnDef:()=>mr,getInitialState:e=>({columnSizing:{},columnSizingInfo:ai(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",onColumnSizingChange:$t("columnSizing",e),onColumnSizingInfoChange:$t("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:mr.minSize,(r=a!=null?a:e.columnDef.size)!=null?r:mr.size),(i=e.columnDef.maxSize)!=null?i:mr.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(),oi(i)&&i.touches&&i.touches.length>1))return;const a=e.getSize(),s=e?e.getLeafHeaders().map(p=>[p.column.id,p.column.getSize()]):[[n.id,n.getSize()]],l=oi(i)?Math.round(i.touches[0].clientX):i.clientX,d=(p,C)=>{if(typeof C!="number")return;let g={};t.setColumnSizingInfo(x=>{var S,D;const F=C-((S=x==null?void 0:x.startOffset)!=null?S:0),B=Math.max(F/((D=x==null?void 0:x.startSize)!=null?D:0),-.999999);return x.columnSizingStart.forEach(q=>{let[Q,te]=q;g[Q]=Math.round(Math.max(te+te*B,0)*100)/100}),{...x,deltaOffset:F,deltaPercentage:B}}),(t.options.columnResizeMode==="onChange"||p==="end")&&t.setColumnSizing(x=>({...x,...g}))},m=p=>d("move",p),f=p=>{d("end",p),t.setColumnSizingInfo(C=>({...C,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},v={moveHandler:p=>m(p.clientX),upHandler:p=>{document.removeEventListener("mousemove",v.moveHandler),document.removeEventListener("mouseup",v.upHandler),f(p.clientX)}},y=Xc()?{passive:!1}:!1;oi(i)||(document.addEventListener("mousemove",v.moveHandler,y),document.addEventListener("mouseup",v.upHandler,y)),t.setColumnSizingInfo(p=>({...p,startOffset:l,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,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?ai():(n=e.initialState.columnSizingInfo)!=null?n:ai())},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 vr=null;function Xc(){if(typeof vr=="boolean")return vr;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 vr=e,vr}function oi(e){return e.type==="touchstart"}const Kc={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:$t("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 s=a.split(".");r=Math.max(r,s.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 s={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(l=>{s[l]=!0}):s=r,n=(i=n)!=null?i:!a,!a&&n)return{...s,[e.id]:!0};if(a&&!n){const{[e.id]:l,...d}=s;return d}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()}}})},_o=(e,t,n)=>{var r;const i=n.toLowerCase();return(r=e.getValue(t))==null?void 0:r.toLowerCase().includes(i)};_o.autoRemove=e=>Bt(e);const wo=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};wo.autoRemove=e=>Bt(e);const Co=(e,t,n)=>{var r;return((r=e.getValue(t))==null?void 0:r.toLowerCase())===n.toLowerCase()};Co.autoRemove=e=>Bt(e);const xo=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};xo.autoRemove=e=>Bt(e)||!(e!=null&&e.length);const So=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});So.autoRemove=e=>Bt(e)||!(e!=null&&e.length);const ko=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});ko.autoRemove=e=>Bt(e)||!(e!=null&&e.length);const Eo=(e,t,n)=>e.getValue(t)===n;Eo.autoRemove=e=>Bt(e);const Io=(e,t,n)=>e.getValue(t)==n;Io.autoRemove=e=>Bt(e);const si=(e,t,n)=>{let[r,i]=n;const a=e.getValue(t);return a>=r&&a<=i};si.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,s=n===null||Number.isNaN(i)?1/0:i;if(a>s){const l=a;a=s,s=l}return[a,s]},si.autoRemove=e=>Bt(e)||Bt(e[0])&&Bt(e[1]);const tn={includesString:_o,includesStringSensitive:wo,equalsString:Co,arrIncludes:xo,arrIncludesAll:So,arrIncludesSome:ko,equals:Eo,weakEquals:Io,inNumberRange:si};function Bt(e){return e==null||e===""}const Jc={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:$t("columnFilters",e),onGlobalFilterChange:$t("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"?tn.includesString:typeof r=="number"?tn.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?tn.equals:Array.isArray(r)?tn.arrIncludes:tn.weakEquals},getFilterFn:()=>{var n,r;return pr(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:tn[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(f=>f.id===e.id),s=fn(n,a?a.value:void 0);if(Ao(i,s,e)){var l;return(l=r==null?void 0:r.filter(f=>f.id!==e.id))!=null?l:[]}const d={id:e.id,value:s};if(a){var m;return(m=r==null?void 0:r.map(f=>f.id===e.id?d:f))!=null?m:[]}return r!=null&&r.length?[...r,d]:[d]})},_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:()=>tn.includesString,getGlobalFilterFn:()=>{var t,n;const{globalFilterFn:r}=e.options;return pr(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:tn[r]},setColumnFilters:t=>{const n=e.getAllLeafColumns(),r=i=>{var a;return(a=fn(t,i))==null?void 0:a.filter(s=>{const l=n.find(d=>d.id===s.id);if(l){const d=l.getFilterFn();if(Ao(d,s.value,l))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},setGlobalFilter:t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},resetGlobalFilter:t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)},resetColumnFilters:t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),getFilteredRowModel:()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel()),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),getGlobalFacetedMinMaxValues:()=>{if(!!e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function Ao(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const li={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 s=a.getValue(e);s!=null&&(r===void 0?s>=s&&(r=i=s):(r>s&&(r=s),i<s&&(i=s)))}),[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},ed={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:$t("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 li.sum;if(Object.prototype.toString.call(r)==="[object Date]")return li.extent},getAggregationFn:()=>{var n,r;if(!e)throw new Error;return pr(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:li[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 td(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(s=>s.id===a)).filter(Boolean),...r]}const nd={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:$t("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:Ne(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let a=[];if(!(t!=null&&t.length))a=i;else{const s=[...t],l=[...i];for(;l.length&&s.length;){const d=s.shift(),m=l.findIndex(f=>f.id===d);m>-1&&a.push(l.splice(m,1)[0])}a=[...a,...l]}return td(a,n,r)},{key:process.env.NODE_ENV==="development"&&"getOrderColumnsFn"})})},ui=0,ci=10,di=()=>({pageIndex:ui,pageSize:ci}),rd={getInitialState:e=>({...e,pagination:{...di(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:$t("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=>fn(r,a);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},resetPagination:r=>{var i;e.setPagination(r?di():(i=e.initialState.pagination)!=null?i:di())},setPageIndex:r=>{e.setPagination(i=>{let a=fn(r,i.pageIndex);const s=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),s),{...i,pageIndex:a}})},resetPageIndex:r=>{var i,a,s;e.setPageIndex(r?ui:(i=(a=e.initialState)==null||(s=a.pagination)==null?void 0:s.pageIndex)!=null?i:ui)},resetPageSize:r=>{var i,a,s;e.setPageSize(r?ci:(i=(a=e.initialState)==null||(s=a.pagination)==null?void 0:s.pageSize)!=null?i:ci)},setPageSize:r=>{e.setPagination(i=>{const a=Math.max(1,fn(r,i.pageSize)),s=i.pageSize*i.pageIndex,l=Math.floor(s/a);return{...i,pageIndex:l,pageSize:a}})},setPageCount:r=>e.setPagination(i=>{var a;let s=fn(r,(a=e.options.pageCount)!=null?a:-1);return typeof s=="number"&&(s=Math.max(-1,s)),{...i,pageCount:s}}),getPageOptions:Ne(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((a,s)=>s)),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)}}}},fi=()=>({left:[],right:[]}),id={getInitialState:e=>({columnPinning:fi(),...e}),getDefaultOptions:e=>({onColumnPinningChange:$t("columnPinning",e)}),createColumn:(e,t)=>({pin:n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var a,s;if(n==="right"){var l,d;return{left:((l=i==null?void 0:i.left)!=null?l:[]).filter(v=>!(r!=null&&r.includes(v))),right:[...((d=i==null?void 0:i.right)!=null?d:[]).filter(v=>!(r!=null&&r.includes(v))),...r]}}if(n==="left"){var m,f;return{left:[...((m=i==null?void 0:i.left)!=null?m:[]).filter(v=>!(r!=null&&r.includes(v))),...r],right:((f=i==null?void 0:i.right)!=null?f:[]).filter(v=>!(r!=null&&r.includes(v)))}}return{left:((a=i==null?void 0:i.left)!=null?a:[]).filter(v=>!(r!=null&&r.includes(v))),right:((s=i==null?void 0:i.right)!=null?s:[]).filter(v=>!(r!=null&&r.includes(v)))}})},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(l=>l.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(l=>r==null?void 0:r.includes(l)),s=n.some(l=>i==null?void 0:i.includes(l));return a?"left":s?"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:Ne(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const a=[...r!=null?r:[],...i!=null?i:[]];return n.filter(s=>!a.includes(s.column.id))},{key:process.env.NODE_ENV==="production"&&"row.getCenterVisibleCells",debug:()=>{var n;return(n=t.options.debugAll)!=null?n:t.options.debugRows}}),getLeftVisibleCells:Ne(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,,],(n,r)=>(r!=null?r:[]).map(a=>n.find(s=>s.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:Ne(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r!=null?r:[]).map(a=>n.find(s=>s.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?fi():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:fi())},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:Ne(()=>[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:Ne(()=>[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:Ne(()=>[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}})})},ad={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:$t("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=>{hi(i,a.id,r,e)}),i}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:Ne(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?pi(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:Ne(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?pi(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:Ne(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?pi(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 hi(a,e.id,n,t),a})},getIsSelected:()=>{const{rowSelection:n}=t.getState();return gi(e,n)},getIsSomeSelected:()=>{const{rowSelection:n}=t.getState();return Ro(e,n)==="some"},getIsAllSubRowsSelected:()=>{const{rowSelection:n}=t.getState();return Ro(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)}}})},hi=(e,t,n,r)=>{var i;const a=r.getRow(t);n?(a.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),a.getCanSelect()&&(e[t]=!0)):delete e[t],(i=a.subRows)!=null&&i.length&&a.getCanSelectSubRows()&&a.subRows.forEach(s=>hi(e,s.id,n,r))};function pi(e,t){const n=e.getState().rowSelection,r=[],i={},a=function(s,l){return s.map(d=>{var m;const f=gi(d,n);if(f&&(r.push(d),i[d.id]=d),(m=d.subRows)!=null&&m.length&&(d={...d,subRows:a(d.subRows)}),f)return d}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function gi(e,t){var n;return(n=t[e.id])!=null?n:!1}function Ro(e,t,n){if(e.subRows&&e.subRows.length){let r=!0,i=!1;return e.subRows.forEach(a=>{i&&!r||(gi(a,t)?i=!0:r=!1)}),r?"all":i?"some":!1}return!1}const mi=/([0-9]+)/gm,od=(e,t,n)=>Do(hn(e.getValue(n)).toLowerCase(),hn(t.getValue(n)).toLowerCase()),sd=(e,t,n)=>Do(hn(e.getValue(n)),hn(t.getValue(n))),ld=(e,t,n)=>vi(hn(e.getValue(n)).toLowerCase(),hn(t.getValue(n)).toLowerCase()),ud=(e,t,n)=>vi(hn(e.getValue(n)),hn(t.getValue(n))),cd=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},dd=(e,t,n)=>vi(e.getValue(n),t.getValue(n));function vi(e,t){return e===t?0:e>t?1:-1}function hn(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Do(e,t){const n=e.split(mi).filter(Boolean),r=t.split(mi).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),a=r.shift(),s=parseInt(i,10),l=parseInt(a,10),d=[s,l].sort();if(isNaN(d[0])){if(i>a)return 1;if(a>i)return-1;continue}if(isNaN(d[1]))return isNaN(s)?-1:1;if(s>l)return 1;if(l>s)return-1}return n.length-r.length}const Xn={alphanumeric:od,alphanumericCaseSensitive:sd,text:ld,textCaseSensitive:ud,datetime:cd,basic:dd},To=[Qc,{getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:$t("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:Ne(()=>[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:Ne(()=>[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)=>Ne(()=>[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)}}}},nd,id,Jc,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto"}),getDefaultOptions:e=>({onSortingChange:$t("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 Xn.datetime;if(typeof a=="string"&&(r=!0,a.split(mi).length>1))return Xn.alphanumeric}return r?Xn.text:Xn.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 pr(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:Xn[e.columnDef.sortingFn]},toggleSorting:(n,r)=>{const i=e.getNextSortingOrder(),a=typeof n<"u"&&n!==null;t.setSorting(s=>{const l=s==null?void 0:s.find(p=>p.id===e.id),d=s==null?void 0:s.findIndex(p=>p.id===e.id);let m=[],f,v=a?n:i==="desc";if(s!=null&&s.length&&e.getCanMultiSort()&&r?l?f="toggle":f="add":s!=null&&s.length&&d!==s.length-1?f="replace":l?f="toggle":f="replace",f==="toggle"&&(a||i||(f="remove")),f==="add"){var y;m=[...s,{id:e.id,desc:v}],m.splice(0,m.length-((y=t.options.maxMultiSortColCount)!=null?y:Number.MAX_SAFE_INTEGER))}else f==="toggle"?m=s.map(p=>p.id===e.id?{...p,desc:v}:p):f==="remove"?m=s.filter(p=>p.id!==e.id):m=[{id:e.id,desc:v}];return m})},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(),s=e.getIsSorted();return s?s!==a&&((r=t.options.enableSortingRemoval)!=null?r:!0)&&(n&&(i=t.options.enableMultiRemove)!=null?i:!0)?!1:s==="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())})},ed,Kc,rd,ad,Zc];function fd(e){var t;(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");let n={_features:To};const r=n._features.reduce((f,v)=>Object.assign(f,v.getDefaultOptions==null?void 0:v.getDefaultOptions(n)),{}),i=f=>n.options.mergeOptions?n.options.mergeOptions(r,f):{...r,...f};let s={...{},...(t=e.initialState)!=null?t:{}};n._features.forEach(f=>{var v;s=(v=f.getInitialState==null?void 0:f.getInitialState(s))!=null?v:s});const l=[];let d=!1;const m={_features:To,options:{...r,...e},initialState:s,_queue:f=>{l.push(f),d||(d=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();d=!1}).catch(v=>setTimeout(()=>{throw v})))},reset:()=>{n.setState(n.initialState)},setOptions:f=>{const v=fn(f,n.options);n.options=i(v)},getState:()=>n.options.state,setState:f=>{n.options.onStateChange==null||n.options.onStateChange(f)},_getRowId:(f,v,y)=>{var p;return(p=n.options.getRowId==null?void 0:n.options.getRowId(f,v,y))!=null?p:""+(y?[y.id,v].join("."):v)},getCoreRowModel:()=>(n._getCoreRowModel||(n._getCoreRowModel=n.options.getCoreRowModel(n)),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:f=>{const v=n.getRowModel().rowsById[f];if(!v)throw process.env.NODE_ENV!=="production"?new Error("getRow expected an ID, but got "+f):new Error;return v},_getDefaultColumnDef:Ne(()=>[n.options.defaultColumn],f=>{var v;return f=(v=f)!=null?v:{},{header:y=>{const p=y.header.column.columnDef;return p.accessorKey?p.accessorKey:p.accessorFn?p.id:null},cell:y=>{var p,C;return(p=(C=y.renderValue())==null||C.toString==null?void 0:C.toString())!=null?p:null},...n._features.reduce((y,p)=>Object.assign(y,p.getDefaultColumnDef==null?void 0:p.getDefaultColumnDef()),{}),...f}},{debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns},key:process.env.NODE_ENV==="development"&&"getDefaultColumnDef"}),_getColumnDefs:()=>n.options.columns,getAllColumns:Ne(()=>[n._getColumnDefs()],f=>{const v=function(y,p,C){return C===void 0&&(C=0),y.map(g=>{const x=Yc(n,g,C,p),S=g;return x.columns=S.columns?v(S.columns,x,C+1):[],x})};return v(f)},{key:process.env.NODE_ENV==="development"&&"getAllColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllFlatColumns:Ne(()=>[n.getAllColumns()],f=>f.flatMap(v=>v.getFlatColumns()),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),_getAllFlatColumnsById:Ne(()=>[n.getAllFlatColumns()],f=>f.reduce((v,y)=>(v[y.id]=y,v),{}),{key:process.env.NODE_ENV==="development"&&"getAllFlatColumnsById",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getAllLeafColumns:Ne(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(f,v)=>{let y=f.flatMap(p=>p.getLeafColumns());return v(y)},{key:process.env.NODE_ENV==="development"&&"getAllLeafColumns",debug:()=>{var f;return(f=n.options.debugAll)!=null?f:n.options.debugColumns}}),getColumn:f=>{const v=n._getAllFlatColumnsById()[f];if(!v)throw process.env.NODE_ENV!=="production"&&console.warn("[Table] Column with id "+f+" does not exist."),new Error;return v}};return Object.assign(n,m),n._features.forEach(f=>Object.assign(n,f.createTable==null?void 0:f.createTable(n))),n}function hd(e,t,n,r){const i=()=>{var s;return(s=a.getValue())!=null?s:e.options.renderFallbackValue},a={id:t.id+"_"+n.id,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:Ne(()=>[e,n,t,a],(s,l,d,m)=>({table:s,column:l,row:d,cell:m,getValue:m.getValue,renderValue:m.renderValue}),{key:process.env.NODE_ENV==="development"&&"cell.getContext",debug:()=>e.options.debugAll})};return e._features.forEach(s=>{Object.assign(a,s.createCell==null?void 0:s.createCell(a,n,t,e))},{}),a}const pd=(e,t,n,r,i,a)=>{let s={id:t,index:r,original:n,depth:i,_valuesCache:{},getValue:l=>{if(s._valuesCache.hasOwnProperty(l))return s._valuesCache[l];const d=e.getColumn(l);if(!!d.accessorFn)return s._valuesCache[l]=d.accessorFn(s.original,r),s._valuesCache[l]},renderValue:l=>{var d;return(d=s.getValue(l))!=null?d:e.options.renderFallbackValue},subRows:a!=null?a:[],getLeafRows:()=>Hc(s.subRows,l=>l.subRows),getAllCells:Ne(()=>[e.getAllLeafColumns()],l=>l.map(d=>hd(e,s,d,d.id)),{key:process.env.NODE_ENV==="development"&&"row.getAllCells",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}}),_getAllCellsByColumnId:Ne(()=>[s.getAllCells()],l=>l.reduce((d,m)=>(d[m.column.id]=m,d),{}),{key:process.env.NODE_ENV==="production"&&"row.getAllCellsByColumnId",debug:()=>{var l;return(l=e.options.debugAll)!=null?l:e.options.debugRows}})};for(let l=0;l<e._features.length;l++){const d=e._features[l];Object.assign(s,d==null||d.createRow==null?void 0:d.createRow(s,e))}return s};function gd(){return{accessor:(e,t)=>typeof e=="function"?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function md(){return e=>Ne(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,a,s){a===void 0&&(a=0);const l=[];for(let m=0;m<i.length;m++){const f=pd(e,e._getRowId(i[m],m,s),i[m],m,a);if(n.flatRows.push(f),n.rowsById[f.id]=f,l.push(f),e.options.getSubRows){var d;f.originalSubRows=e.options.getSubRows(i[m],m),(d=f.originalSubRows)!=null&&d.length&&(f.subRows=r(f.originalSubRows,a+1,f))}}return l};return n.rows=r(t),n},{key:process.env.NODE_ENV==="development"&&"getRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function vd(){return e=>Ne(()=>[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(d=>e.getColumn(d.id).getCanSort()),s={};a.forEach(d=>{const m=e.getColumn(d.id);s[d.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()}});const l=d=>{const m=d.slice();return m.sort((f,v)=>{for(let p=0;p<a.length;p+=1){var y;const C=a[p],g=s[C.id],x=(y=C==null?void 0:C.desc)!=null?y:!1;if(g.sortUndefined){const D=f.getValue(C.id),F=v.getValue(C.id),B=typeof D>"u",q=typeof F>"u";if(B||q)return B&&q?0:B?g.sortUndefined:-g.sortUndefined}let S=g.sortingFn(f,v,C.id);if(S!==0)return x&&(S*=-1),g.invertSorting&&(S*=-1),S}return f.index-v.index}),m.forEach(f=>{i.push(f),!(!f.subRows||f.subRows.length<=1)&&(f.subRows=l(f.subRows))}),m};return{rows:l(n.rows),flatRows:i,rowsById:n.rowsById}},{key:process.env.NODE_ENV==="development"&&"getSortedRowModel",debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function zo(e,t){return e?bd(e)?o(e,{...t}):e:null}function bd(e){return yd(e)||typeof e=="function"||_d(e)}function yd(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function _d(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function wd(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=ba.useState(()=>({current:fd(t)})),[r,i]=ba.useState(()=>n.current.initialState);return n.current.setOptions(a=>({...a,...e,state:{...r,...e.state},onStateChange:s=>{i(s),e.onStateChange==null||e.onStateChange(s)}})),n.current}function xn(){return xn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xn.apply(this,arguments)}function Cd(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}var xd=["bottom","height","left","right","top","width"],Sd=function(t,n){return t===void 0&&(t={}),n===void 0&&(n={}),xd.some(function(r){return t[r]!==n[r]})},pn=new Map,Mo,kd=function e(){var t=[];pn.forEach(function(n,r){var i=r.getBoundingClientRect();Sd(i,n.rect)&&(n.rect=i,t.push(n))}),t.forEach(function(n){n.callbacks.forEach(function(r){return r(n.rect)})}),Mo=window.requestAnimationFrame(e)};function Ed(e,t){return{observe:function(){var r=pn.size===0;pn.has(e)?pn.get(e).callbacks.push(t):pn.set(e,{rect:void 0,hasRectChanged:!1,callbacks:[t]}),r&&kd()},unobserve:function(){var r=pn.get(e);if(r){var i=r.callbacks.indexOf(t);i>=0&&r.callbacks.splice(i,1),r.callbacks.length||pn.delete(e),pn.size||cancelAnimationFrame(Mo)}}}}var br=typeof window<"u"?ne.default.useLayoutEffect:ne.default.useEffect;function Id(e,t){t===void 0&&(t={width:0,height:0});var n=ne.default.useState(e.current),r=n[0],i=n[1],a=ne.default.useReducer(Ad,t),s=a[0],l=a[1],d=ne.default.useRef(!1);return br(function(){e.current!==r&&i(e.current)}),br(function(){if(r&&!d.current){d.current=!0;var m=r.getBoundingClientRect();l({rect:m})}},[r]),ne.default.useEffect(function(){if(!!r){var m=Ed(r,function(f){l({rect:f})});return m.observe(),function(){m.unobserve()}}},[r]),s}function Ad(e,t){var n=t.rect;return e.height!==n.height||e.width!==n.width?n:e}var Rd=function(){return 50},Dd=function(t){return t},Td=function(t,n){var r=n?"offsetWidth":"offsetHeight";return t[r]},zd=function(t){for(var n=Math.max(t.start-t.overscan,0),r=Math.min(t.end+t.overscan,t.size-1),i=[],a=n;a<=r;a++)i.push(a);return i};function Md(e){var t,n=e.size,r=n===void 0?0:n,i=e.estimateSize,a=i===void 0?Rd:i,s=e.overscan,l=s===void 0?1:s,d=e.paddingStart,m=d===void 0?0:d,f=e.paddingEnd,v=f===void 0?0:f,y=e.parentRef,p=e.horizontal,C=e.scrollToFn,g=e.useObserver,x=e.initialRect,S=e.onScrollElement,D=e.scrollOffsetFn,F=e.keyExtractor,B=F===void 0?Dd:F,q=e.measureSize,Q=q===void 0?Td:q,te=e.rangeExtractor,se=te===void 0?zd:te,K=p?"width":"height",ge=p?"scrollLeft":"scrollTop",Se=ne.default.useRef({scrollOffset:0,measurements:[]}),$=ne.default.useState(0),ee=$[0],_=$[1];Se.current.scrollOffset=ee;var Z=g||Id,$e=Z(y,x),fe=$e[K];Se.current.outerSize=fe;var k=ne.default.useCallback(function(V){y.current&&(y.current[ge]=V)},[y,ge]),E=C||k;C=ne.default.useCallback(function(V){E(V,k)},[k,E]);var N=ne.default.useState({}),I=N[0],R=N[1],j=ne.default.useCallback(function(){return R({})},[]),U=ne.default.useRef([]),W=ne.default.useMemo(function(){var V=U.current.length>0?Math.min.apply(Math,U.current):0;U.current=[];for(var ae=Se.current.measurements.slice(0,V),re=V;re<r;re++){var H=B(re),de=I[H],xe=ae[re-1]?ae[re-1].end:m,he=typeof de=="number"?de:a(re),Ie=xe+he;ae[re]={index:re,start:xe,size:he,end:Ie,key:H}}return ae},[a,I,m,r,B]),le=(((t=W[r-1])==null?void 0:t.end)||m)+v;Se.current.measurements=W,Se.current.totalSize=le;var ce=S?S.current:y.current,me=ne.default.useRef(D);me.current=D,br(function(){if(!ce){_(0);return}var V=function(re){var H=me.current?me.current(re):ce[ge];_(H)};return V(),ce.addEventListener("scroll",V,{capture:!1,passive:!0}),function(){ce.removeEventListener("scroll",V)}},[ce,ge]);var ze=Fd(Se.current),Me=ze.start,Oe=ze.end,Be=ne.default.useMemo(function(){return se({start:Me,end:Oe,overscan:l,size:W.length})},[Me,Oe,l,W.length,se]),Ke=ne.default.useRef(Q);Ke.current=Q;var b=ne.default.useMemo(function(){for(var V=[],ae=function(xe,he){var Ie=Be[xe],Ge=W[Ie],Le=xn(xn({},Ge),{},{measureRef:function(At){if(At){var bt=Ke.current(At,p);if(bt!==Le.size){var Pt=Se.current.scrollOffset;Le.start<Pt&&k(Pt+(bt-Le.size)),U.current.push(Ie),R(function(st){var zt;return xn(xn({},st),{},(zt={},zt[Le.key]=bt,zt))})}}}});V.push(Le)},re=0,H=Be.length;re<H;re++)ae(re);return V},[Be,k,p,W]),ie=ne.default.useRef(!1);br(function(){ie.current&&R({}),ie.current=!0},[a]);var J=ne.default.useCallback(function(V,ae){var re=ae===void 0?{}:ae,H=re.align,de=H===void 0?"start":H,xe=Se.current,he=xe.scrollOffset,Ie=xe.outerSize;de==="auto"&&(V<=he?de="start":V>=he+Ie?de="end":de="start"),de==="start"?C(V):de==="end"?C(V-Ie):de==="center"&&C(V-Ie/2)},[C]),M=ne.default.useCallback(function(V,ae){var re=ae===void 0?{}:ae,H=re.align,de=H===void 0?"auto":H,xe=Cd(re,["align"]),he=Se.current,Ie=he.measurements,Ge=he.scrollOffset,Le=he.outerSize,ut=Ie[Math.max(0,Math.min(V,r-1))];if(!!ut){if(de==="auto")if(ut.end>=Ge+Le)de="end";else if(ut.start<=Ge)de="start";else return;var At=de==="center"?ut.start+ut.size/2:de==="end"?ut.end:ut.start;J(At,xn({align:de},xe))}},[J,r]),A=ne.default.useCallback(function(){for(var V=arguments.length,ae=new Array(V),re=0;re<V;re++)ae[re]=arguments[re];M.apply(void 0,ae),requestAnimationFrame(function(){M.apply(void 0,ae)})},[M]);return{virtualItems:b,totalSize:le,scrollToOffset:J,scrollToIndex:A,measure:j}}var Od=function(t,n,r,i){for(;t<=n;){var a=(t+n)/2|0,s=r(a);if(s<i)t=a+1;else if(s>i)n=a-1;else return a}return t>0?t-1:0};function Fd(e){for(var t=e.measurements,n=e.outerSize,r=e.scrollOffset,i=t.length-1,a=function(m){return t[m].start},s=Od(0,i,a,r),l=s;l<i&&t[l].end<r+n;)l++;return{start:s,end:l}}const $d=({vizManager:e,instance:t})=>dt.useCreation(()=>new qo(t,e.resolveComponent(t.type),Ri),[t,e]),Pd=(e,t)=>{const[n,r]=be.useState([]);return be.useEffect(()=>e.watchTriggerSnapshotList(i=>r(i.filter(a=>a.schemaRef===t))),[]),n};function Oo(e,t,n){return Math.min(Math.max(e,t),n)}class Vd{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=Ce.findLastIndex(this.steps,r=>r.from<=t);return n=Oo(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(t){return Oo(this.getStepFunctionForValue(t)(t),0,100)}}function Ld(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 Fo(e,t){if(e==null)return{};var n=Ld(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 Nd=["size","color","stroke"];function Bd(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,s=a===void 0?2:a,l=Fo(e,Nd);return z("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:s,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...l,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 Gd=["size","color","stroke"];function qd(e){var t=e.size,n=t===void 0?24:t,r=e.color,i=r===void 0?"currentColor":r,a=e.stroke,s=a===void 0?2:a,l=Fo(e,Gd);return z("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:s,stroke:i,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...l,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})]})}const jd=({header:e,cx:t})=>z(u.Text,{className:t("table-head-cell",{"table-head-cell--sortable":e.column.getCanSort()}),onClick:e.column.getToggleSortingHandler(),children:[e.isPlaceholder?null:zo(e.column.columnDef.header,e.getContext()),o(Ud,{direction:e.column.getIsSorted()})]}),Ud=({direction:e})=>{switch(e){case"asc":return o(qd,{size:16});case"desc":return o(Bd,{size:"1em"});default:return null}},bi={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:Zd,configRender:Yd,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"}]},Wd={column:""};function $o(e){const{value:t}=lt(e.instanceData,"config");return t?t.columns.map((n,r)=>({label:n.label,value:r.toString()})):[]}function Hd(e){return Ce.isEmpty(e)?[]:Object.keys(e[0]).map(t=>({label:t,value:t}))}function Yd(e){const t=$o(e.instance),n=Hd(e.sampleData),r=t.length>0?t:n,{value:i,set:a}=lt(e.trigger.triggerData,"config"),{column:s}=Ce.defaults({},i,Wd),l=d=>{isNaN(+d)?a({column:d}):a({column:+d})};return o(u.Select,{clearable:!1,data:r,label:"Choose a column",value:s.toString(),onChange:l})}function Qd(e,t){return e?Ce.isNumber(e.column)?`Click cell of ${t[e.column].label}`:`Click cell of ${e.column}`:"Click cell content (click to config)"}function Zd(e){const t=$o(e.instance),{value:n}=lt(e.trigger.triggerData,"config");return o(u.Text,{children:Qd(n,t)})}const Xd=u.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}})),Kd=u.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 Jd(e){return e?Wn(e).oklch()[0]>.7?"black":"white":"inherit"}function ef(e){const t=e.tableCellContext.bgColor;return{backgroundColor:t,color:Jd(t)}}function yr(e){const t=e.tableCellContext.isClickable(),n=Kd({clickable:t});return o("div",{className:n.classes.content,style:{...ef(e)},children:o(u.Text,{className:"table-cell-text",onClick:e.tableCellContext.getClickHandler(),children:o("span",{children:e.children})})})}function tf(e){return o(yr,{...e,children:e.value})}function nf(e){return o(yr,{...e,children:e.value})}function rf(e){const t=Vt.default(e.value).format({thousandSeparated:!0});return o(yr,{...e,children:t})}function af(e){const t=Vt.default(e.value).format({output:"percent",mantissa:3});return o(yr,{...e,children:t})}function of(e){switch(e.type){case dn.string:return o(tf,{...e});case dn.eloc:return o(nf,{...e});case dn.number:return o(rf,{...e});case dn.percentage:return o(af,{...e})}}const sf=e=>{const t=$d(e),n=Pd(t.triggerManager,bi.id),{colorManager:r}=be.useContext(nn);return be.useCallback(i=>new uf(e.getColIndex,i,n,t,r),[n,t,e.getColIndex])};function lf({context:e,instance:t}){var se,K,ge;const n=(se=e.data)!=null?se:[],{height:r,width:i}=e.viewport,{value:a=hr}=lt(e.instanceData,"config"),{use_raw_columns:s,columns:l,...d}=a,{classes:m,cx:f}=Xd(),v=ne.default.useMemo(()=>s?Object.keys(n[0]).map(Se=>({label:Se,value_field:Se,value_type:dn.string})):l,[s,l,n]),y=sf({getColIndex:be.useCallback(Se=>v.indexOf(Se.column.columnDef.meta),[v]),vizManager:e.vizManager,instance:t}),p=be.useMemo(()=>{const Se=gd(),$=v.map(_=>Se.accessor(_.value_field,{cell:Z=>o(of,{tableCellContext:y(Z.cell),value:Z.getValue(),type:_.value_type}),header:_.label,enableSorting:!0,meta:_}));return[Se.display({id:"#index",cell:_=>_.row.index+1,header:"#",size:10*(n.length.toString().length+1)}),...$]},[v,y]),[C,g]=be.useState([]),x=wd({data:n,state:{sorting:C},onSortingChange:g,columns:p,getCoreRowModel:md(),getSortedRowModel:vd()}),{rows:S}=x.getRowModel(),D=ne.default.useRef(null),F=Md({parentRef:D,size:S.length,estimateSize:be.useCallback(()=>28,[]),overscan:20}),{virtualItems:B,totalSize:q}=F,Q=B.length>0&&((K=B==null?void 0:B[0])==null?void 0:K.start)||0,te=B.length>0?q-(((ge=B==null?void 0:B[B.length-1])==null?void 0:ge.end)||0):0;return o("div",{ref:D,style:{height:r,width:i},className:f(m.root,{"table-highlight-on-hover":a.highlightOnHover}),children:z(u.Table,{sx:{maxHeight:r},...d,striped:a.striped,children:[o("thead",{className:m.thead,children:x.getHeaderGroups().map(Se=>o("tr",{children:Se.headers.map($=>o("th",{style:{width:$.getSize()},children:o(jd,{header:$,cx:f})},$.id))},Se.id))}),z("tbody",{children:[Q>0&&o("tr",{children:o("td",{style:{height:`${Q}px`}})}),B.map(Se=>{const $=S[Se.index];return o("tr",{children:$.getVisibleCells().map(ee=>o("td",{children:zo(ee.column.columnDef.cell,ee.getContext())},ee.id))},$.id)}),te>0&&o("tr",{children:o("td",{style:{height:`${te}px`}})})]})]})})}class uf{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===bi.id).filter(n=>{const r=this.getColIndex(this.cell),i=Ce.get(this.cell.column.columnDef.meta,"value_field"),a=Ce.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(Ce.isString(t))return t;const n=+this.cell.getValue();if(isFinite(n)){const r=this.colorManager.decodeInterpolation(t.interpolation),a=new Vd(t.steps).mapValue(n);return r==null?void 0:r.getColor(a)}}}const Po=u.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)"}}}})),cf=[{from:0,to:0},{from:100,to:100}];class df{constructor(){qe(this,"steps",new Map);qe(this,"interpolation");qe(this,"onChange");kt.makeAutoObservable(this,{steps:kt.observable},{deep:!1}),kt.reaction(()=>kt.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(cf):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 ff(e){const{onChange:t,color:n,index:r,value:i}=e,{classes:a}=Po(),[s,l]=be.useState(i),[d,{setTrue:m,setFalse:f}]=dt.useBoolean(!1),v=r%2===1,y=v&&i!=null,p=!v&&i!=null,C=`map ${i} to color ${r}`,g=()=>{l(i),f()},x=()=>{f(),t==null||t(s)},S=Vt.default(i).format({average:!0});return z("div",{"data-testid":`palette-item-${r}`,className:a.paletteItem,children:[o(u.Text,{title:C,style:{opacity:y?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:S}),z(u.Popover,{width:200,trapFocus:!0,opened:d,onClose:f,children:[o(u.Popover.Target,{children:o("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:m,style:{"--shadow-color":Wn(n).alpha(.5).hex(),backgroundColor:n}})}),o(u.Popover.Dropdown,{children:z(u.Stack,{children:[o(u.NumberInput,{size:"xs",label:"Map a value to this color",value:s,onChange:l}),z(u.Group,{position:"right",children:[o(u.Button,{variant:"subtle",size:"xs",onClick:g,children:"Cancel"}),o(u.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:x,children:"OK"})]})]})})]}),o(u.Text,{title:C,style:{opacity:p?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:S})]})}const hf=Fe.observer(({model:e})=>{const{classes:t}=Po(),n=Ce.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(ff,{index:a,color:r,value:e.getStepFromValue(i),onChange:s=>e.changeStep(s,i)},r))})}),pf=Fe.observer(function(t){const n=dt.useCreation(()=>new df,[]);return be.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:o(hf,{model:n})}),gf=e=>{const{value:t,onChange:n,colorManager:r}=e,i=r.getColorInterpolations(),[a,s]=be.useState(t),l=r.decodeInterpolation(a.interpolation)||i[0],[d,{setTrue:m,setFalse:f}]=dt.useBoolean(),v=i.map(x=>({label:x.displayName,value:r.encodeColor(x),group:x.category}));function y(x){x&&s(S=>({...S,interpolation:x}))}const p=()=>{f(),n==null||n(kt.toJS(a))};function C(x){s(S=>({...S,steps:x}))}const g=()=>{f(),s(t)};return z(vt,{children:[o(u.Button,{variant:"outline",onClick:m,children:l==null?void 0:l.displayName}),o(u.Modal,{size:508,title:"Setup color interpolation",opened:d,onClose:f,children:d&&z(u.Stack,{"data-testid":"color-interpolation-modal",children:[o(u.Select,{label:"Color style",value:a.interpolation,data:v,onChange:y}),o(pf,{steps:a.steps,interpolation:l,onChange:C}),z(u.Group,{position:"right",children:[o(u.Button,{onClick:g,variant:"subtle",children:"Cancel"}),o(u.Button,{onClick:p,children:"OK"})]})]})})]})},mf=["static","interpolation","none"],vf=[{from:0,to:0},{from:100,to:100}];function Vo(e){return e?Ce.isString(e)?e==="none"?"none":"static":"interpolation":"none"}function bf(e,t){var n;return Vo(t)==="static"?t:(n=e.getStaticColors()[0])==null?void 0:n.value}function yf(e,t){return Ce.isObject(t)?t:{steps:vf,interpolation:e.encodeColor(e.getColorInterpolations()[0])}}const _f=e=>{const{colorManager:t}=be.useContext(nn),[n,r]=be.useState(Vo(e.value)),[i,a]=be.useState(bf(t,e.value)),s=dt.useLatest(i),[l,d]=be.useState(yf(t,e.value)),m=dt.useLatest(l),f=p=>{var C,g,x;r(p||"none"),p==="static"?(C=e.onChange)==null||C.call(e,s.current):p==="none"||!p?(g=e.onChange)==null||g.call(e,"none"):(x=e.onChange)==null||x.call(e,m.current)},v=p=>{var C;a(p),(C=e.onChange)==null||C.call(e,p)},y=p=>{var C;d(p),(C=e.onChange)==null||C.call(e,p)};return z(u.Group,{align:"end",children:[o(u.Select,{label:"Cell background",value:n||"none",onChange:f,data:mf}),n==="static"&&o(en,{value:i,onChange:v}),n==="interpolation"&&o(gf,{colorManager:t,value:l,onChange:y})]})},wf=Object.values(dn).map(e=>({label:e,value:e}));function Cf({label:e,value:t,onChange:n,sx:r}){return o(u.Select,{label:e,data:wf,value:t,onChange:n,sx:r})}function xf({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=Vr.useForm({initialValues:hr});be.useEffect(()=>{const s=Ce.defaults({},t,r.values,hr);t&&r.setValues(s)},[t]);const i=e.data||[],a=()=>r.insertListItem("columns",{label:_t.randomId(),value_field:"value",value_type:dn.string});return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:r.onSubmit(async s=>{await n(s)}),children:[z(u.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(u.Text,{children:"Table Config"}),o(u.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(gt,{label:"ID Field",required:!0,data:i,...r.getInputProps("id_field")}),z(u.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[o(u.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("horizontalSpacing")}),o(u.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("verticalSpacing")})]}),o(u.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:o(u.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...r.getInputProps("fontSize")})}),z(u.Stack,{children:[o(u.Text,{children:"Other"}),z(u.Group,{position:"apart",grow:!0,children:[o(u.Switch,{label:"Striped",...r.getInputProps("striped",{type:"checkbox"})}),o(u.Switch,{label:"Highlight on hover",...r.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),z(u.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(u.Switch,{label:"Use Original Data Columns",...r.getInputProps("use_raw_columns",{type:"checkbox"})}),!r.values.use_raw_columns&&z(u.Stack,{children:[o(u.Text,{mt:"xl",mb:0,children:"Custom Columns"}),r.values.columns.map((s,l)=>z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[z(u.Group,{position:"apart",grow:!0,children:[o(u.TextInput,{label:"Label",required:!0,id:`col-label-${l}`,sx:{flex:1},...r.getInputProps(`columns.${l}.label`)}),o(gt,{label:"Value Field",required:!0,data:i,...r.getInputProps(`columns.${l}.value_field`)}),o(Cf,{label:"Value Type",sx:{flex:1},...r.getInputProps(`columns.${l}.value_type`)}),o(_f,{...r.getInputProps(`columns.${l}.cellBackgroundColor`)})]}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r.removeListItem("columns",l),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},l)),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:a,children:"Add a Column"})})]})]}),o(u.Text,{weight:500,mb:"md",children:"Current Configuration:"}),o(_n.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(r.values,null,2)})]})})}class Sf extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const yi={createConfig(){return{version:1,config:Ce.cloneDeep(hr)}},displayName:"Table",migrator:new Sf,name:"table",viewRender:lf,configRender:xf,triggers:[bi]},_i={label_field:"",value_field:""};wt.use([Yt.SunburstChart,on.CanvasRenderer]);const kf={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function Ef({context:e}){const{value:t}=lt(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:s}=Ce.defaults({},t,_i),l=be.useMemo(()=>n.map(v=>({name:v[a],value:Number(v[s])})),[n,a,s]),d=be.useMemo(()=>{var v,y;return(y=(v=Ce.maxBy(l,p=>p.value))==null?void 0:v.value)!=null?y:1},[l]),m=be.useMemo(()=>({series:{label:{formatter:({name:v,value:y})=>y/d<.2?" ":v}}}),[d]),f=Ce.merge({},kf,m,{series:{data:l}});return o(ln.default,{echarts:wt,option:f,style:{width:r,height:i}})}function If({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),{label_field:r,value_field:i}=Ce.defaults({},t,_i),a=e.data,s=Vr.useForm({initialValues:{label_field:r,value_field:i}});return be.useEffect(()=>{s.setValues({label_field:r,value_field:i})},[r,i]),o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s.onSubmit(n),children:[z(u.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(u.Text,{children:"Sunburst Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(gt,{label:"Label Field",required:!0,data:a,...s.getInputProps("label_field")}),o(gt,{label:"Value Field",required:!0,data:a,...s.getInputProps("value_field")})]})]})})}class Af extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Rf={displayName:"Sunburst",migrator:new Af,name:"sunburst",viewRender:Ef,configRender:If,createConfig:()=>_i},wi={label_field:"",value_field:""};wt.use([Yt.PieChart,on.CanvasRenderer]);const Df={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
114
- {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 Tf({context:e}){const{value:t}=lt(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{label_field:a,value_field:s}=Ce.defaults({},t,wi),l=be.useMemo(()=>n.map(f=>({name:f[a],value:Number(f[s])})),[n,a,s]),d=be.useMemo(()=>({series:{labelLayout:function(f){const v=f.labelRect.x<r/2,y=f.labelLinePoints;return Ce.set(y,[2,0],v?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:y}}}}),[r]),m=Ce.merge({},Df,d,{series:{data:l}});return o(ln.default,{echarts:wt,option:m,style:{width:r,height:i}})}function zf({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),{label_field:r,value_field:i}=Ce.defaults({},t,wi),a=e.data,s=Vr.useForm({initialValues:{label_field:r,value_field:i}});return be.useEffect(()=>{s.setValues({label_field:r,value_field:i})},[r,i]),o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s.onSubmit(n),children:[z(u.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[o(u.Text,{children:"Pie Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[o(gt,{label:"Label Field",required:!0,data:a,...s.getInputProps("label_field")}),o(gt,{label:"Value Field",required:!0,data:a,...s.getInputProps("value_field")})]})]})})}class Mf extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Of={displayName:"Pie Chart",migrator:new Mf,name:"pie",viewRender:Tf,configRender:zf,createConfig:()=>wi},Ci={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"}};wt.use([ft.GridComponent,ft.VisualMapComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]);function Ff({context:e}){const{value:t}=lt(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis_data_key:a,y_axis_data_key:s,z_axis_data_key:l,xAxis3D:d,yAxis3D:m,zAxis3D:f}=Ce.defaults({},t,Ci),v=be.useMemo(()=>{const C=Ce.minBy(n,g=>g[l]);return Ce.get(C,l)},[n,l]),y=be.useMemo(()=>{const C=Ce.maxBy(n,g=>g[l]);return Ce.get(C,l)},[n,l]),p={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:v,max:y,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:d,yAxis3D:m,zAxis3D:f,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[s],C[l]])}]};return t?o(ln.default,{echarts:wt,option:p,style:{width:r,height:i}}):null}function $f({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=e.data,i=Ce.defaults({},t,Ci),{control:a,handleSubmit:s,reset:l}=we.useForm({defaultValues:i});return be.useEffect(()=>{l(i)},[t]),t?o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s(n),children:[o(u.Text,{children:"X Axis"}),z(u.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(we.Controller,{name:"x_axis_data_key",control:a,render:({field:d})=>o(gt,{label:"Data Field",required:!0,data:r,...d})}),o(we.Controller,{name:"xAxis3D.name",control:a,render:({field:d})=>o(u.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),o(u.Text,{mt:"lg",children:"Y Axis"}),z(u.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(we.Controller,{name:"y_axis_data_key",control:a,render:({field:d})=>o(gt,{label:"Data Field",required:!0,data:r,...d})}),o(we.Controller,{name:"yAxis3D.name",control:a,render:({field:d})=>o(u.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),o(u.Text,{mt:"lg",children:"Z Axis"}),z(u.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[o(we.Controller,{name:"z_axis_data_key",control:a,render:({field:d})=>o(gt,{label:"Data Field",required:!0,data:r,...d})}),o(we.Controller,{name:"zAxis3D.name",control:a,render:({field:d})=>o(u.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),o(u.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:z(u.Button,{color:"blue",type:"submit",children:[o(Ae.DeviceFloppy,{size:20}),o(u.Text,{ml:"md",children:"Save"})]})})]})}):null}class Pf extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Vf={displayName:"Bar Chart (3D)",migrator:new Pf,name:"bar-3d",viewRender:Ff,configRender:$f,createConfig:()=>Ci},xi={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis",data_key:"value"},color:"#228be6",variables:[],reference_lines:[]};wt.use([ft.DataZoomComponent,Yt.BoxplotChart,ft.MarkLineComponent,ft.GridComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]);function Lf(e,t,n){const r=t.reduce((i,a)=>{const s=vo(a,n);return i[a.name]=fr(a,s),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 bo(i.template,t,n)},position:"insideEndTop"}}}))}function Nf({context:e}){const{value:t}=lt(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,y_axis:s,color:l,variables:d,reference_lines:m}=Ce.defaults({},t,xi),{xAxisData:f,boxplotData:v}=be.useMemo(()=>{const p=Ze.default.groupBy(n,a.data_key);return{xAxisData:Object.keys(p),boxplotData:Object.values(p).map(C=>C.map(g=>g[s.data_key]))}},[n,a.data_key,s.data_key]),y={dataset:[{source:v},{transform:{type:"boxplot",config:{itemNameFormatter:function(p){var C;return(C=f[p.value])!=null?C:p.value}}}}],dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",name:a.name}],yAxis:[{name:s.name}],series:[{name:s.name,type:"boxplot",itemStyle:{color:l,borderColor:"#454545"},boxWidth:[10,40],datasetIndex:1},...Lf(m,d,n)]};return!t||!r||!i?null:o(ln.default,{echarts:wt,option:y,style:{width:r,height:i}})}function Bf({control:e,index:t,remove:n,variableOptions:r}){return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(u.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(we.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(u.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(we.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(u.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function Gf({control:e,watch:t}){const{fields:n,append:r,remove:i}=we.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=n.map((f,v)=>({...f,...a[v]})),l=()=>r({name:"",template:"",variable_key:""}),d=t("variables"),m=be.useMemo(()=>d.map(f=>({label:f.name,value:f.name})),[d]);return z(u.Stack,{children:[s.map((f,v)=>o(Bf,{control:e,index:v,remove:i,variableOptions:m})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:l,children:"Add a Reference Line"})})]})}function qf({control:e,index:t,remove:n,data:r}){return z(u.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(we.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(lr,{data:r,withStyle:!1,...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function jf({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"variables"}),s=t("variables"),l=r.map((m,f)=>({...m,...s[f]})),d=()=>i(or());return z(u.Stack,{children:[l.map((m,f)=>o(qf,{control:e,index:f,remove:a,data:n})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Variable"})})]})}function Uf({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=e.data,i=be.useMemo(()=>Ce.defaults({},t,xi),[t]),{control:a,handleSubmit:s,watch:l,getValues:d,reset:m}=we.useForm({defaultValues:i});be.useEffect(()=>{m(i)},[i]),l(["x_axis","y_axis","reference_lines","color"]);const f=d(),v=be.useMemo(()=>!Ce.isEqual(f,t),[f,t]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s(n),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Chart Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Accordion,{defaultValue:"Axis",children:[z(u.Accordion.Item,{value:"Axis",children:[o(u.Accordion.Control,{children:"Axis"}),z(u.Accordion.Panel,{children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"x_axis.name",control:a,render:({field:y})=>o(u.TextInput,{label:"X Axis Name",sx:{flex:1},...y})}),o(we.Controller,{name:"x_axis.data_key",control:a,render:({field:y})=>o(gt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...y})})]}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"y_axis.name",control:a,render:({field:y})=>o(u.TextInput,{label:"Y Axis Name",sx:{flex:1},...y})}),o(we.Controller,{name:"y_axis.data_key",control:a,render:({field:y})=>o(gt,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...y})})]})]})]}),z(u.Accordion.Item,{value:"Style",children:[o(u.Accordion.Control,{children:"Style"}),o(u.Accordion.Panel,{children:z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Color"}),o(we.Controller,{name:"color",control:a,render:({field:y})=>o(en,{...y})})]})})]}),z(u.Accordion.Item,{value:"Advanced",children:[o(u.Accordion.Control,{children:z(u.Group,{position:"apart",children:["Advanced",o(u.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(u.Accordion.Panel,{children:z(u.Tabs,{defaultValue:"variables",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"variables",children:"Variables"}),o(u.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),o(u.Tabs.Panel,{value:"variables",pt:"xs",children:o(jf,{control:a,watch:l,data:r})}),o(u.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(Gf,{control:a,watch:l})})]})})]})]})]})})}class Wf extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Hf={displayName:"Boxplot",migrator:new Wf,name:"boxplot",viewRender:Nf,configRender:Uf,createConfig:()=>xi};function Yf(e){const t=e.y_axes.some(n=>!!n.name);return{bottom:e.x_axis_name?40:25,top:t?30:10}}function Qf({regressions:e=[]},t){const n=[],r=[],i=[];return t.length===0?{regressionDataSets:n,regressionSeries:r,regressionXAxes:i}:(e.forEach(({transform:a,plot:s,name:l,y_axis_data_key:d})=>{const m=`x-axis-for-${l}`,f=`dataset-for-${l}--raw`,v=`dataset-for-${l}--transformed`;n.push({id:f,source:t.map((y,p)=>[p,Number(y[d])])}),n.push({transform:a,id:v,fromDatasetId:f}),r.push({...s,name:l,datasetId:v,xAxisId:m,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:m,datasetId:v,show:!1})}),{regressionDataSets:n,regressionSeries:r,regressionXAxes:i})}function Zf(e,t,n,r){const i=t.map(a=>[a[n],a[r]]);return Ze.default.unionBy(i,e,0)}function Xf(e,t,n){const r=t.reduce((i,a)=>{const s=vo(a,n);return i[a.name]=fr(a,s),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 bo(i.template,t,n)},position:"insideEndTop"}}}))}function Kf({x_axis_data_key:e},{y_axis_data_key:t,yAxisIndex:n,label_position:r,name:i,group_by_key:a,stack:s,color:l,...d},m,f,v){const y={label:{show:!!r,position:r,formatter:v[n!=null?n:"default"]},name:i,xAxisId:"main-x-axis",yAxisIndex:n,stack:s,color:l,...d};if(!a)return y.data=f.map(C=>C[t]),y;const p=Ce.groupBy(f,a);return Object.entries(p).map(([C,g])=>{const x=Ce.cloneDeep(y);return x.data=Zf(m,g,e,t),x.name=C,x.color=void 0,x})}function Jf(e,t,n,r){const i=t.map(s=>[s,0]);return e.series.map(s=>Kf(e,s,i,n,r)).flat().concat(Xf(e.reference_lines,e.variables,n))}function eh(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:s,value:l})=>{var f;if(Array.isArray(l)&&l.length===2&&(l=l[1]),!s)return l;const d=n[s],m=(f=t[d])!=null?f:t.default;return`${s}: <strong>${m({value:l})}</strong>`});return a.unshift(`<strong>${i[0].name}</strong>`),a.join("<br />")}}}function th(e,t,n){var r;return[{data:t,name:(r=e.x_axis_name)!=null?r:"",id:"main-x-axis"},...n]}function nh(e,t){return e.y_axes.map(({...n},r)=>{var i;return{...n,axisLabel:{show:!0,formatter:(i=t[r])!=null?i:t.default},nameTextStyle:{fontWeight:"bold",align:"right"},nameLocation:"end",nameGap:15}})}const rh={legend:{show:!0,bottom:0,left:0,type:"scroll"},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}}],grid:{top:10,left:30,right:15,bottom:25,containLabel:!0}};function ih(e,t){const n=e.y_axes.reduce((m,{label_formatter:f},v)=>(m[v]=function(p){let C=p;if(typeof p=="object"&&(Array.isArray(p.value)&&p.value.length===2?C=p.value[1]:C=p.value),!f)return C;try{return Vt.default(C).format(f)}catch(g){return console.error(g),C}},m),{default:({value:m})=>m}),r=Ze.default.uniq(t.map(m=>m[e.x_axis_data_key])),i=Jf(e,r,t,n),{regressionDataSets:a,regressionSeries:s,regressionXAxes:l}=Qf(e,t),d={xAxis:th(e,r,l),yAxis:nh(e,n),dataset:[...a],series:[...i,...s],tooltip:eh(e,n),grid:Yf(e)};return Ce.defaultsDeep({},d,rh)}const Si={regressions:[],series:[],stats:{templates:{bottom:"",top:""},variables:[]},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",label_formatter:Qr}],variables:[],reference_lines:[]};wt.use([ft.DataZoomComponent,Yt.BarChart,Yt.LineChart,Yt.ScatterChart,ft.GridComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]),wt.registerTransform(va.transform.regression);function Lo(e){return e.trim().length>0}function ah({conf:e,data:t,width:n,height:r}){const i=ne.default.useMemo(()=>ih(e,t),[e,t]);return!n||!r?null:o(ln.default,{echarts:wt,option:i,style:{width:n,height:r}})}function oh({context:e}){const{value:t}=lt(e.instanceData,"config"),n=be.useMemo(()=>Ce.defaults({},t,Si),[t]),r=e.data,{width:i,height:a}=e.viewport,{ref:s,height:l}=_t.useElementSize(),{ref:d,height:m}=_t.useElementSize(),f=ne.default.useMemo(()=>{const{stats:{templates:y,variables:p}}=n;return{top:ii(y.top,p,r),bottom:ii(y.bottom,p,r)}},[n,r]),v=Math.max(0,a-l-m);return z(u.Box,{children:[Lo(n.stats.templates.top)&&o(u.Text,{ref:s,align:"left",size:"xs",pl:"sm",children:Object.values(f.top).map(y=>y)}),o(ah,{width:i,height:v,data:r,conf:n}),Lo(n.stats.templates.bottom)&&o(u.Text,{ref:d,align:"left",size:"xs",pl:"sm",children:Object.values(f.bottom).map(y=>y)})]})}function sh({control:e,index:t,remove:n,data:r}){return z(u.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(we.Controller,{name:`stats.variables.${t}`,control:e,render:({field:i})=>o(lr,{data:r,...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function lh({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"stats.variables"});t("stats.templates");const s=t("stats.variables"),l=r.map((m,f)=>({...m,...s[f]})),d=()=>i(or());return z(u.Stack,{children:[z(u.Stack,{spacing:0,children:[o(we.Controller,{name:"stats.templates.top",control:e,render:({field:m})=>o(Yr,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...m})}),o(we.Controller,{name:"stats.templates.bottom",control:e,render:({field:m})=>o(Yr,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...m})})]}),l.map((m,f)=>o(sh,{control:e,index:f,remove:a,data:n})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Variable"})})]})}const uh=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function ch({control:e,regressionItem:t,index:n,remove:r,yAxisOptions:i,data:a}){const s=t.transform.config.method;return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(we.Controller,{name:`regressions.${n}.name`,control:e,render:({field:l})=>o(u.TextInput,{label:"Name",required:!0,sx:{flex:1},...l})}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:l})=>o(gt,{label:"Value Field",required:!0,data:a,sx:{flex:1},...l})}),o(we.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:({field:{value:l,onChange:d,...m}})=>{var f;return o(u.Select,{label:"Y Axis",data:i,disabled:i.length===0,...m,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:v=>{if(!v){d(0);return}d(Number(v))},sx:{flex:1}})}})]}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:l})=>o(u.Select,{label:"Method",data:uh,sx:{flex:1},...l})}),s==="polynomial"&&o(we.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:l})=>o(u.NumberInput,{label:"Order",sx:{flex:1},...l})})]}),z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Color"}),o(we.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:l})=>o(en,{...l})})]}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},n)}function dh({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"regressions"}),s=t("regressions"),l=r.map((v,y)=>({...v,...s[y]})),d=t("y_axes"),m=ne.default.useMemo(()=>d.map(({name:v},y)=>({label:v,value:y.toString()})),[d]),f=()=>i({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return z(u.Stack,{children:[l.map((v,y)=>o(ch,{regressionItem:v,control:e,index:y,remove:a,yAxisOptions:m,data:n})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:f,children:"Add a Regression Line"})})]})}const fh=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function hh({control:e,index:t}){return z(vt,{children:[z(u.Group,{grow:!0,align:"top",children:[o(we.Controller,{name:`series.${t}.stack`,control:e,render:({field:n})=>o(u.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),o(we.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:n})=>o(u.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),o(we.Controller,{name:`series.${t}.barGap`,control:e,render:({field:n})=>o(u.Select,{label:"Bar Gap",data:fh,sx:{flexGrow:1},...n})})]})}const ph=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function gh({control:e,index:t}){return z(u.Group,{grow:!0,align:"center",children:[o(we.Controller,{name:`series.${t}.step`,control:e,render:({field:n})=>o(u.Select,{label:"Step",data:ph,sx:{flexGrow:1,maxWidth:"48%"},...n,value:String(n.value),onChange:r=>{const i=r==="false"?!1:r;n.onChange(i)}})}),o(we.Controller,{name:`series.${t}.smooth`,control:e,render:({field:n})=>o(u.Box,{sx:{flexGrow:1},children:o(u.Switch,{label:"Smooth Line",checked:n.value,onChange:r=>n.onChange(r.currentTarget.checked)})})})]})}const mh=Array.from(new Array(9),(e,t)=>({label:String(t+1),value:t+1}));function vh({control:e,index:t}){return o(u.Group,{grow:!0,align:"center",children:o(we.Controller,{name:`series.${t}.symbolSize`,control:e,render:({field:n})=>z(u.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[o(u.Text,{size:"sm",children:"Size"}),o(u.Slider,{min:1,max:10,marks:mh,...n,sx:{width:"100%"}})]})})})}const bh=[{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 yh({control:e,index:t,remove:n,seriesItem:r,yAxisOptions:i,data:a}){const s=r.type;return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(u.Stack,{children:o(we.Controller,{name:`series.${t}.type`,control:e,render:({field:l})=>o(u.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...l})})}),z(u.Group,{noWrap:!0,children:[o(we.Controller,{name:`series.${t}.name`,control:e,render:({field:l})=>o(u.TextInput,{label:"Name",required:!0,sx:{flex:1},...l})}),o(we.Controller,{name:`series.${t}.y_axis_data_key`,control:e,render:({field:l})=>o(gt,{label:"Value Field",required:!0,data:a,sx:{flex:1},...l})})]}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`series.${t}.yAxisIndex`,control:e,render:({field:{value:l,onChange:d,...m}})=>{var f;return o(u.Select,{label:"Y Axis",data:i,disabled:i.length===0,...m,value:(f=l==null?void 0:l.toString())!=null?f:"",onChange:v=>{if(!v){d(0);return}d(Number(v))},sx:{flex:1}})}}),o(we.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:l})=>o(gt,{label:"Group By",data:a,clearable:!0,sx:{flex:1},...l})})]}),s==="line"&&o(gh,{index:t,control:e}),s==="bar"&&o(hh,{index:t,control:e}),s==="scatter"&&o(vh,{index:t,control:e}),o(we.Controller,{name:`series.${t}.label_position`,control:e,render:({field:l})=>o(u.Select,{label:"Label Position",data:bh,...l})}),z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Color"}),o(we.Controller,{name:`series.${t}.color`,control:e,render:({field:l})=>o(en,{...l})})]}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function _h({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"series"}),s=t("series"),l=r.map((v,y)=>({...v,...s[y]})),d=()=>i({type:"bar",name:_t.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%"}),m=t("y_axes"),f=ne.default.useMemo(()=>m.map(({name:v},y)=>({label:v,value:y.toString()})),[m]);return z(u.Stack,{children:[l.map((v,y)=>o(yh,{control:e,index:y,remove:a,seriesItem:v,yAxisOptions:f,data:n},v.id)),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Series"})})]})}function wh({control:e,index:t,remove:n}){return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[o(u.Group,{grow:!0,noWrap:!0,children:o(we.Controller,{name:`y_axes.${t}.name`,control:e,render:({field:r})=>o(u.TextInput,{label:"Name",required:!0,sx:{flex:1},...r})})}),o(u.Stack,{children:o(we.Controller,{name:`y_axes.${t}.label_formatter`,control:e,render:({field:r})=>o(Qa,{...r})})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o(Ae.Trash,{size:16})})]})}function Ch({control:e,watch:t}){const{fields:n,append:r,remove:i}=we.useFieldArray({control:e,name:"y_axes"}),a=t("y_axes"),s=n.map((d,m)=>({...d,...a[m]})),l=()=>r({name:"",label_formatter:Qr});return z(u.Stack,{children:[s.map((d,m)=>o(wh,{control:e,index:m,remove:i},m)),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:l,children:"Add a Y Axis"})})]})}function xh({control:e,index:t,remove:n,data:r}){return z(u.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[o(we.Controller,{name:`variables.${t}`,control:e,render:({field:i})=>o(lr,{data:r,withStyle:!1,...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function Sh({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"variables"}),s=t("variables"),l=r.map((m,f)=>({...m,...s[f]})),d=()=>i(or());return z(u.Stack,{children:[l.map((m,f)=>o(xh,{control:e,index:f,remove:a,data:n})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Variable"})})]})}function kh({control:e,index:t,remove:n,variableOptions:r}){return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>o(u.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...i})}),o(we.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>o(u.Select,{label:"Value",required:!0,data:r,sx:{flex:1},...i})})]}),o(we.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>o(u.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...i})}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:o(Ae.Trash,{size:16})})]},t)}function Eh({control:e,watch:t}){const{fields:n,append:r,remove:i}=we.useFieldArray({control:e,name:"reference_lines"}),a=t("reference_lines"),s=n.map((f,v)=>({...f,...a[v]})),l=()=>r({name:"",template:"",variable_key:""}),d=t("variables"),m=be.useMemo(()=>d.map(f=>({label:f.name,value:f.name})),[d]);return z(u.Stack,{children:[s.map((f,v)=>o(kh,{control:e,index:v,remove:i,variableOptions:m})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:l,children:"Add a Reference Line"})})]})}function Ih(e){function t({type:n,name:r,showSymbol:i,symbolSize:a=5,y_axis_data_key:s="value",yAxisIndex:l=0,label_position:d="top",stack:m="1",color:f="black",barWidth:v="30",barGap:y="0%",smooth:p=!1,step:C=!1,group_by_key:g=""}){return{type:n,name:r,showSymbol:i,symbolSize:a,y_axis_data_key:s,yAxisIndex:l,label_position:d,stack:m,color:f,barWidth:v,barGap:y,smooth:p,step:C,group_by_key:g}}return e.map(t)}function Ah(e){return e||{templates:{top:"",bottom:""},variables:[]}}function Rh({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=e.data,i=be.useMemo(()=>Ce.defaultsDeep({},t,Si),[t]),a=be.useMemo(()=>{const{series:p,stats:C,...g}=i;return{series:Ih(p!=null?p:[]),stats:Ah(C),...g}},[i]);be.useEffect(()=>{!Ce.isEqual(i,a)&&(console.log("config malformed, resetting to defaults",i,a),n(a))},[i,a]);const{control:s,handleSubmit:l,watch:d,getValues:m,reset:f}=we.useForm({defaultValues:a});be.useEffect(()=>{f(a)},[a]),d(["x_axis_data_key","x_axis_name"]);const v=m(),y=be.useMemo(()=>!Ce.isEqual(v,i),[v,i]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:l(n),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Chart Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!y,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Accordion,{multiple:!0,defaultValue:["X Axis","Y Axes"],children:[z(u.Accordion.Item,{value:"X Axis",children:[o(u.Accordion.Control,{children:"X Axis"}),o(u.Accordion.Panel,{children:z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"x_axis_data_key",control:s,render:({field:p})=>o(gt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...p})}),o(we.Controller,{name:"x_axis_name",control:s,render:({field:p})=>o(u.TextInput,{label:"X Axis Name",sx:{flex:1},...p})})]})})]}),z(u.Accordion.Item,{value:"Y Axes",children:[o(u.Accordion.Control,{children:"Y Axes"}),o(u.Accordion.Panel,{children:o(Ch,{control:s,watch:d})})]}),z(u.Accordion.Item,{value:"Series",children:[o(u.Accordion.Control,{children:"Series"}),o(u.Accordion.Panel,{children:o(_h,{control:s,watch:d,data:r})})]}),z(u.Accordion.Item,{value:"Regression Lines",children:[o(u.Accordion.Control,{children:"Regression Lines"}),o(u.Accordion.Panel,{children:o(dh,{control:s,watch:d,data:r})})]}),z(u.Accordion.Item,{value:"Stats",children:[o(u.Accordion.Control,{children:"Stats"}),o(u.Accordion.Panel,{children:o(lh,{control:s,watch:d,data:r})})]}),z(u.Accordion.Item,{value:"Advanced",children:[o(u.Accordion.Control,{children:z(u.Group,{position:"apart",children:["Advanced",o(u.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),o(u.Accordion.Panel,{children:z(u.Tabs,{defaultValue:"variables",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"variables",children:"Variables"}),o(u.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),o(u.Tabs.Panel,{value:"variables",pt:"xs",children:o(Sh,{control:s,watch:d,data:r})}),o(u.Tabs.Panel,{value:"reference_lines",pt:"xs",children:o(Eh,{control:s,watch:d})})]})})]})]})]})})}class Dh extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Th={displayName:"Cartesian Chart",migrator:new Dh,name:"cartesian",viewRender:oh,configRender:Rh,createConfig:()=>Si},zh={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function Mh(e,t){const n=e.dimensions.map(({name:a,max:s,color:l})=>({name:a,max:s,color:l})),r=t.map(a=>({value:e.dimensions.map(({data_key:s})=>a[s]),name:a[e.series_name_key]})),i={radar:{indicator:n},series:{type:"radar",data:r}};return Ze.default.merge({},zh,i)}const ki={series_name_key:"name",dimensions:[]};wt.use([Yt.RadarChart,ft.GridComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]);function Oh({context:e}){const{value:t}=lt(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=e.data,a=be.useMemo(()=>Mh(Ce.defaultsDeep({},t,ki),i),[t,i]);return!n||!r||!t||Ce.isEmpty(t==null?void 0:t.dimensions)?null:o(u.Box,{children:o(ln.default,{echarts:wt,option:a,style:{width:n,height:r}})})}function Fh({control:e,index:t,remove:n,data:r}){return z(u.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:`dimensions.${t}.name`,control:e,render:({field:i})=>o(u.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(we.Controller,{name:`dimensions.${t}.data_key`,control:e,render:({field:i})=>o(gt,{label:"Data Key",required:!0,data:r,sx:{flex:1},...i})}),o(we.Controller,{name:`dimensions.${t}.max`,control:e,render:({field:i})=>o(u.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...i})})]}),z(u.Box,{children:[o(u.Text,{size:"sm",children:"Color"}),o(we.Controller,{name:`dimensions.${t}.color`,control:e,render:({field:i})=>o(en,{...i})})]}),o(u.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},disabled:t===0,children:o(Ae.Trash,{size:16})})]},t)}function $h({control:e,watch:t,data:n}){const{fields:r,append:i,remove:a}=we.useFieldArray({control:e,name:"dimensions"}),s=t("dimensions"),l=r.map((m,f)=>({...m,...s[f]})),d=()=>i({name:_t.randomId(),data_key:"",max:100,color:"red"});return z(u.Stack,{children:[l.map((m,f)=>o(Fh,{data:n,control:e,index:f,remove:a})),o(u.Group,{position:"center",mt:"xs",children:o(u.Button,{onClick:d,children:"Add a Dimension"})})]})}function Ph(e){function t({name:n="",data_key:r="",max:i=10,color:a="blue"}){return{name:n,data_key:r,max:i,color:a}}return e.map(t)}function Vh({context:e}){const t=e.data,{value:n,set:r}=lt(e.instanceData,"config"),i=be.useMemo(()=>Ce.defaultsDeep({},n,ki),[n]),{dimensions:a,series_name_key:s}=i,l=be.useMemo(()=>({dimensions:Ph(a!=null?a:[]),series_name_key:s}),[a,s]);be.useEffect(()=>{!Ce.isEqual(i,l)&&r(l)},[i,l]);const{control:d,handleSubmit:m,watch:f,getValues:v,reset:y}=we.useForm({defaultValues:l});be.useEffect(()=>{Ce.isEqual(v(),l)||y(l)},[i]),f(["series_name_key"]);const p=v(),C=be.useMemo(()=>!Ce.isEqual(p,i),[p,i]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:m(r),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Chart Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!C,children:o(Ae.DeviceFloppy,{size:20})})]}),o(u.Box,{py:"sm",children:o(we.Controller,{name:"series_name_key",control:d,render:({field:g})=>o(gt,{label:"Series Name Field",required:!0,data:t,sx:{flex:1},...g})})}),o($h,{control:d,watch:f,data:t})]})})}class Lh extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Nh={displayName:"Radar Chart",migrator:new Lh,name:"radar",viewRender:Oh,configRender:Vh,createConfig:()=>ki};function Bh(e,t){switch(e.config.method){case"linear":return[...un.regressionLinear()(t)];case"exponential":return[...un.regressionExp()(t)];case"logarithmic":return[...un.regressionLog()(t)];case"polynomial":return[...un.regressionPoly().order(e.config.order)(t)];default:return[]}}function Gh({regression:e},t){const n=[],r=[];if(t.length===0)return{regressionSeries:n,regressionXAxes:r};const{transform:i,plot:a,name:s}=e,l=Bh(i,t);return n.push({...a,name:s,data:l,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:r}}const qh={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function jh(e,t){var a,s;const n=Ze.default.uniqBy(t.map(l=>[l[e.x_axis.data_key],l[e.regression.y_axis_data_key]]),0),{regressionSeries:r}=Gh(e,n),i={xAxis:{type:"category",name:(a=e.x_axis.name)!=null?a:""},yAxis:{name:(s=e.y_axis.name)!=null?s:""},series:[{data:n,name:e.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...r]};return Ce.defaultsDeep({},i,qh)}function _r(e,t,n){return 1-(1-e)*(t-1)/(t-n-1)}function Uh(e,t){if(!t)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:r,y_axis:i}=t,a=e.map(s=>[s[r.data_key],s[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const s=un.regressionLinear()(a),{a:l,b:d,rSquared:m}=s;return{expression:z(u.Group,{position:"center",noWrap:!0,spacing:10,children:[o(u.Text,{children:i.name}),o(u.Text,{children:"="}),o(u.Text,{weight:"bold",color:"gray",children:d}),o(u.Text,{children:"+"}),o(u.Text,{weight:"bold",color:"gray",children:l}),o(u.Text,{children:"\xD7"}),o(u.Text,{children:r.name})]}),rSquared:m,adjustedRSquared:_r(m,e.length,1)}}if(n.transform.config.method==="exponential"){const{a:s,b:l,rSquared:d}=un.regressionExp()(a);return{expression:z(u.Group,{position:"center",noWrap:!0,spacing:10,children:[o(u.Text,{children:i.name}),o(u.Text,{children:"="}),o(u.Text,{weight:"bold",color:"gray",children:s}),o(u.Text,{children:"\xD7"}),z(u.Group,{position:"left",noWrap:!0,spacing:2,children:[o(u.Text,{children:"Math.exp("}),o(u.Text,{weight:"bold",color:"gray",children:l}),o(u.Text,{children:"\xD7"}),o(u.Text,{children:r.name}),o(u.Text,{children:")"})]})]}),rSquared:d,adjustedRSquared:_r(d,e.length,1)}}if(n.transform.config.method==="logarithmic"){const{a:s,b:l,rSquared:d}=un.regressionLog()(a);return{expression:z(u.Group,{position:"center",noWrap:!0,spacing:10,children:[o(u.Text,{children:i.name}),o(u.Text,{children:"="}),o(u.Text,{weight:"bold",color:"gray",children:s}),o(u.Text,{children:"\xD7"}),z(u.Group,{position:"left",noWrap:!0,spacing:2,children:[o(u.Text,{children:"Math.log("}),o(u.Text,{children:r.name}),o(u.Text,{children:")"}),o(u.Text,{children:"+"}),o(u.Text,{weight:"bold",color:"gray",children:l})]})]}),rSquared:d,adjustedRSquared:_r(d,e.length,1)}}if(n.transform.config.method==="polynomial"){const s=un.regressionPoly().order(n.transform.config.order)(a),{rSquared:l}=s;return console.log(s),{expression:"",rSquared:l,adjustedRSquared:_r(l,e.length,1)}}return{expression:"",rSquared:0}}const Ei={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"},name:"regression",y_axis_data_key:"value"}};wt.use([ft.DataZoomComponent,Yt.ScatterChart,ft.GridComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]),wt.registerTransform(va.transform.regression);function Wh({context:e}){const{value:t}=lt(e.instanceData,"config"),{width:n,height:r}=e.viewport,i=be.useMemo(()=>{var y;const f=e.data,v=(y=t==null?void 0:t.regression)==null?void 0:y.y_axis_data_key;return v?f.map(p=>typeof p[v]=="number"?p:{...p,[v]:Number(p[v])}):f},[e.data,t==null?void 0:t.regression.y_axis_data_key]),a=be.useMemo(()=>jh(Ce.defaultsDeep({},t,Ei),i),[t,i]),{expression:s,rSquared:l,adjustedRSquared:d}=be.useMemo(()=>Uh(i,t),[t,i]);if(!n||!r||!t)return null;let m=r;return s&&(m-=20),z(u.Box,{children:[s&&o(u.Text,{align:"center",size:12,children:s}),z(u.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[o(ln.default,{echarts:wt,option:a,style:{width:n-190,height:m}}),l&&o(u.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:z("tbody",{children:[z("tr",{children:[o("td",{children:"R-Sq"}),o("td",{style:{textAlign:"right"},children:Vt.default(l).format({output:"percent",mantissa:1})})]}),z("tr",{children:[o("td",{children:"R-Sq(Adjusted)"}),o("td",{style:{textAlign:"right"},children:Vt.default(d).format({output:"percent",mantissa:1})})]})]})})]})]})}const Hh=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function Yh({control:e,watch:t,data:n}){const r=t("regression.transform.config.method");return z(u.Stack,{children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"regression.name",control:e,render:({field:i})=>o(u.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),o(we.Controller,{name:"regression.y_axis_data_key",control:e,render:({field:i})=>o(gt,{label:"Value Field",required:!0,data:n,sx:{flex:1},...i})})]}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"regression.transform.config.method",control:e,render:({field:i})=>o(u.Select,{label:"Method",data:Hh,sx:{flex:1},...i})}),r==="polynomial"&&o(we.Controller,{name:"regression.transform.config.order",control:e,render:({field:i})=>o(u.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Color"}),o(we.Controller,{name:"regression.plot.color",control:e,render:({field:i})=>o(en,{...i})})]})]})}function Qh({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=e.data,i=be.useMemo(()=>Ce.defaults({},t,Ei),[t]),{control:a,handleSubmit:s,watch:l,getValues:d,reset:m}=we.useForm({defaultValues:i});be.useEffect(()=>{m(i)},[i]),l(["x_axis","y_axis","regression"]);const f=d(),v=be.useMemo(()=>!Ce.isEqual(f,t),[f,t]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s(n),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Chart Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[z(u.Accordion.Item,{value:"Axis",children:[o(u.Accordion.Control,{children:"Axis"}),z(u.Accordion.Panel,{children:[z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"x_axis.name",control:a,render:({field:y})=>o(u.TextInput,{label:"X Axis Name",sx:{flex:1},...y})}),o(we.Controller,{name:"x_axis.data_key",control:a,render:({field:y})=>o(gt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...y})})]}),o(u.Group,{grow:!0,noWrap:!0,children:o(we.Controller,{name:"y_axis.name",control:a,render:({field:y})=>o(u.TextInput,{label:"Y Axis Name",sx:{flex:1},...y})})})]})]}),z(u.Accordion.Item,{value:"Regression",children:[o(u.Accordion.Control,{children:"Regression Line"}),o(u.Accordion.Panel,{children:o(Yh,{control:a,watch:l,data:r})})]})]})]})})}class Zh extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Xh={displayName:"Regression Chart",migrator:new Zh,name:"regressionChart",viewRender:Wh,configRender:Qh,createConfig:()=>Ei},Ii={x_axis:{name:"X Axis",data_key:""},data_key:"value",bar:{name:"Value",color:"#228be6"},line:{name:"Value",color:"red"}};function Ai(e){return Vt.default(e).format({output:"percent",mantissa:0})}function Kh(e){const t=e.value[1];try{return Ai(t)}catch(n){return console.error(n),t}}function Jh(e){const t=Array.isArray(e)?e:[e];if(t.length===0)return"";const n=t.map((r,i)=>{const a=r.seriesName,[s,l]=r.value;return a?`${a}: <strong>${(i===0?m=>m:Ai)(l)}</strong>`:l});return n.unshift(`<strong>${t[0].name}</strong>`),n.join("<br />")}wt.use([Yt.BarChart,Yt.LineChart,ft.DataZoomComponent,ft.GridComponent,ft.LegendComponent,ft.TooltipComponent,on.CanvasRenderer]);function ep({context:e}){const{value:t}=lt(e.instanceData,"config"),n=e.data,{width:r,height:i}=e.viewport,{x_axis:a,data_key:s,bar:l,line:d}=Ce.defaults({},t,Ii),{barData:m,lineData:f}=be.useMemo(()=>{const y=n.map(g=>[g[a.data_key],Number(g[s])]).sort((g,x)=>x[1]-g[1]),p=y.reduce((g,x)=>g+x[1],0),C=y.reduce((g,x,S)=>{const D=S===0?0:g[S-1][1];return g.push([x[0],D+x[1]]),g},[]).map(g=>[g[0],g[1]/p]);return{barData:y,lineData:C}},[a.data_key,s,n]),v={dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis",formatter:Jh},xAxis:[{type:"category",name:a.name,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"}}],yAxis:[{name:l.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"}},{name:d.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"center"},axisLabel:{show:!0,formatter:Ai}}],series:[{name:l.name,type:"bar",itemStyle:{color:l.color},yAxisIndex:0,data:m},{name:d.name,type:"line",itemStyle:{color:d.color},label:{show:!0,position:"top",formatter:Kh},yAxisIndex:1,data:f}]};return!t||!r||!i?null:o(ln.default,{echarts:wt,option:v,style:{width:r,height:i}})}function tp({context:e}){const{value:t,set:n}=lt(e.instanceData,"config"),r=e.data,i=be.useMemo(()=>Ce.defaults({},t,Ii),[t]),{control:a,handleSubmit:s,watch:l,getValues:d,reset:m}=we.useForm({defaultValues:i});be.useEffect(()=>{m(i)},[i]),l(["x_axis","data_key","bar","line"]);const f=d(),v=be.useMemo(()=>!Ce.isEqual(f,t),[f,t]);return o(u.Stack,{mt:"md",spacing:"xs",children:z("form",{onSubmit:s(n),children:[z(u.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[o(u.Text,{children:"Chart Config"}),o(u.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:o(Ae.DeviceFloppy,{size:20})})]}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"x_axis.name",control:a,render:({field:y})=>o(u.TextInput,{label:"X Axis Name",sx:{flex:1},...y})}),o(we.Controller,{name:"x_axis.data_key",control:a,render:({field:y})=>o(gt,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...y})})]}),o(we.Controller,{name:"data_key",control:a,render:({field:y})=>o(gt,{label:"Y Axis Data Field",required:!0,data:r,sx:{flex:1},...y})}),o(u.Divider,{my:"md",label:"Bar",labelPosition:"center"}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"bar.name",control:a,render:({field:y})=>o(u.TextInput,{label:"Bar Name",sx:{flex:1},...y})}),z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Bar's Color"}),o(we.Controller,{name:"bar.color",control:a,render:({field:y})=>o(en,{...y})})]})]}),o(u.Divider,{my:"md",label:"Line",labelPosition:"center"}),z(u.Group,{grow:!0,noWrap:!0,children:[o(we.Controller,{name:"line.name",control:a,render:({field:y})=>o(u.TextInput,{label:"Line Name",sx:{flex:1},...y})}),z(u.Stack,{spacing:4,children:[o(u.Text,{size:"sm",children:"Line's Color"}),o(we.Controller,{name:"line.color",control:a,render:({field:y})=>o(en,{...y})})]})]})]})})}class np extends Nt{constructor(){super(...arguments);qe(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const rp={displayName:"Pareto Chart",migrator:new np,name:"paretoChart",viewRender:ep,configRender:tp,createConfig:()=>Ii},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"})),ap=[Bu,Gu,Uu,ju,qu,Wu],No={id:"dashboard",version:Hu,manifest:{viz:[yi,Wc,ec,Rf,Of,Vf,Hf,rp,Th,Nh,Xh],color:[...ip,...ap]}},Kn=new Qu,Bo=()=>{try{Kn.install(No)}catch{}const e=new Vu(Kn),t=new Yu(Kn);return{pluginManager:Kn,vizManager:e,colorManager:t}},nn=be.createContext(Bo());try{Kn.install(No)}catch{}function op(e,t){const{value:n,set:r}=lt(e.operation.operationData,"config"),[i,a]=be.useState(Ce.defaults({},n,t)),s=async()=>{await r(i)};return be.useEffect(()=>{a(Ce.defaults({},n,t))},[n]),{config:i,setConfig:a,commit:s}}function sp(e){const{config:t,setConfig:n,commit:r}=op(e,{urlTemplate:"",openInNewTab:!0});async function i(){await r()}async function a(l){n({...t,openInNewTab:l}),await r()}const s=l=>n({...t,urlTemplate:l.currentTarget.value});return z(u.Stack,{children:[o(u.TextInput,{label:"Url",value:t.urlTemplate,onChange:s,onBlur:i}),o(u.Switch,{label:"Open in new Tab",checked:t.openInNewTab,onChange:l=>a(l.currentTarget.checked)})]})}function lp(e){return Ce.cloneDeepWith(e,n=>{if(typeof n=="string")return encodeURIComponent(n)})}async function up(e,t){const{urlTemplate:n,openInNewTab:r}=await t.operationData.getItem("config"),a=Ce.template(n||"")(lp(e));window.open(a,r?"_blank":"_self","noopener")}const cp={displayName:"Open Link",id:"builtin:op:open-link",configRender:sp,run:up};function dp(e){const{value:t,set:n}=lt(e.operationData,"config"),r=i=>void n({template:i});return[(t==null?void 0:t.template)||"",r]}function fp(e){const[t,n]=dp(e.operation);return o(u.TextInput,{defaultValue:t,onBlur:r=>n(r.currentTarget.value),label:"console.log"})}async function hp(e,t){const n=await t.operationData.getItem("config"),r=Ce.template(n.template||"");console.log("run with payload",e),console.log(r(e))}const Ri=[{displayName:"console.log (debug)",id:"builtin:op:debug",configRender:fp,run:hp},cp];class pp{constructor(t,n=Ri){qe(this,"attachments");this.operations=n;const r=async i=>{const{id:a,schemaRef:s}=await i.getItem(null);return{id:a,schemaRef:s,operationData:new Tn(i,"data")}};this.attachments=new Ur(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.operations.find(a=>a.id===r.schemaRef);if(!i){console.warn(`Operation schema '${r.schemaRef}' is not defined`);return}await i.run(n,r)}async createOrGetOperation(t,n){if(!this.getOperationSchemaList().some(s=>s.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:{}}):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 Go="__TRIGGERS";class gp{constructor(t,n){qe(this,"attachments");this.instance=t,this.component=n;const r=async i=>{const{id:a,schemaRef:s}=await i.getItem(null);return{id:a,schemaRef:s,triggerData:new Tn(i,"data")}};this.attachments=new Ur(t,Go,r)}watchTriggerSnapshotList(t){return this.instance.instanceData.watchItem(Go,n=>{const r=Ce.values(n).map(i=>({id:Ce.get(i,"id"),schemaRef:Ce.get(i,"schemaRef"),config:kt.toJS(Ce.get(i,"data.config"))}));t(r)},{fireImmediately:!0})}async createOrGetTrigger(t,n,r={recreate:!1}){if(!this.getTriggerSchemaList().some(l=>l.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:{}}):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)}}class qo{constructor(t,n,r){qe(this,"operationManager");qe(this,"triggerManager");qe(this,"attachments");this.operationManager=new pp(t,r),this.triggerManager=new gp(t,n);const i=async a=>{const{id:s,triggerRef:l,operationRef:d}=await a.getItem(null);return{id:s,triggerRef:l,operationRef:d}};this.attachments=new Ur(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(s){console.warn(`Failed to run operation '${a.operationRef}'`,s)}}))}}function mp(e,t){const[n,r]=be.useState([]);return dt.useAsyncEffect(async()=>{const i=await e.getInteractionList();r(i)},[t]),n}const vp=Fe.observer(({item:e,manager:t,instance:n,sampleData:r,variables:i,onRemove:a})=>{const{triggerRef:s,operationRef:l}=e,d=zu(t.triggerManager,n);if(dt.useAsyncEffect(async()=>{await d.configTrigger(s,r)},[d,s,r]),d.isReady()){const m=[...d.triggerSchema.payload,...i];return z(u.Group,{children:[o($u,{model:d}),o(Ru,{instance:n,operationId:l,variables:m,operationManager:t.operationManager}),o(u.Button,{"aria-label":"delete-interaction",variant:"outline",color:"red",onClick:()=>a(e),children:o(Ae.Trash,{})})]})}return null}),bp=e=>{const[t,n]=be.useState(0),{interactionManager:r,instance:i,sampleData:a,variables:s}=e,l=mp(r,t),d=async()=>{const f=await r.triggerManager.createOrGetTrigger(_t.randomId(),r.triggerManager.getTriggerSchemaList()[0]),v=await r.operationManager.createOrGetOperation(_t.randomId(),r.operationManager.getOperationSchemaList()[0]);await r.addInteraction(f,v),n(y=>y+1)};async function m(f){await r.removeInteraction(f.id),n(v=>v+1)}return z(u.Stack,{children:[l.map(f=>o(vp,{onRemove:m,instance:i,sampleData:a,variables:s,item:f,manager:e.interactionManager},f.id)),o(u.Button,{style:{width:"fit-content"},onClick:()=>d(),children:"Add interaction"})]})},yp=()=>{const{data:e,viz:t,title:n,id:r,queryID:i,description:a,setViz:s}=be.useContext(Rt),{vizManager:l}=be.useContext(nn),d={title:n,description:a,id:r,queryID:i,viz:t},m=dt.useCreation(()=>l.getOrCreateInstance(d),[l,t.type]),f=dt.useCreation(()=>new qo(m,l.resolveComponent(t.type),Ri),[m,t.type]);return be.useEffect(()=>m.instanceData.watchItem(null,Ce.throttle(v=>{s(y=>({...y,conf:v}))},100,{leading:!1,trailing:!0})),[m]),{instance:m,vizManager:l,interactionManager:f,sampleData:e,variables:[]}},_p=()=>{const e=yp();return o(bp,{...e})};function wp(){const{description:e,setDescription:t}=ne.default.useContext(Rt),[n,r]=ne.default.useState(e),i=e!==n,a=ne.default.useCallback(()=>{!i||t(n)},[i,n]);return z(u.Stack,{sx:{flexGrow:1},children:[z(u.Group,{align:"end",children:[o(u.Text,{children:"Description"}),o(u.ActionIcon,{variant:"subtle",color:"blue",disabled:!i,onClick:a,children:o(Ae.DeviceFloppy,{size:20})})]}),o($r.RichTextEditor,{value:n,onChange:r,sx:{flexGrow:1},sticky:!0,p:"0"})]})}function Cp(){const{title:e}=ne.default.useContext(Rt);return o(Dn,{children:z(u.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[z(u.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[o(u.Group,{children:o(Na,{})}),o(u.Group,{grow:!0,position:"center",children:o(u.Text,{lineClamp:1,weight:"bold",children:e})}),o(u.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),o(u.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function xp(){const{title:e,setTitle:t}=ne.default.useContext(Rt),[n,r]=_t.useInputState(e),i=e!==n,a=ne.default.useCallback(()=>{!i||t(n)},[i,n]);return o(u.TextInput,{value:n,onChange:r,label:z(u.Group,{align:"end",children:[o(u.Text,{children:"Panel Title"}),o(u.ActionIcon,{variant:"subtle",color:"blue",disabled:!i,onClick:a,children:o(Ae.DeviceFloppy,{size:20})})]})})}function Sp(){return z(u.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[z(u.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[o(xp,{}),o(wp,{})]}),o(u.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(Cp,{})})]})}const kp=Fe.observer(function(){const t=mt(),{queryID:n,setQueryID:r}=ne.default.useContext(Rt),i=ne.default.useMemo(()=>t.queries.current.map(a=>({value:a.id,label:a.id})),[t.queries.current]);return z(u.Stack,{children:[z(u.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[o(u.Text,{children:"Select a Query"}),o(u.Select,{data:i,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),o(Ra,{id:n})]})});function jo(e,t,n){const r=dt.useCreation(()=>new Set,[]),i=e.resolveComponent(t.type),[a,s]=be.useState(!1);return dt.useAsyncEffect(async()=>{if(await i.migrator.needMigration(t)&&!r.has(t.id))try{r.add(t.id),await i.migrator.migrate(t),n==null||n()}finally{r.delete(t.id),s(!0)}else s(!0)},[t]),a}function Ep({setVizConf:e,...t}){const{vizManager:n,panel:r}=t,i=n.getOrCreateInstance(r),a=jo(n,i,()=>{Pr.showNotification({title:`${r.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return dt.useAsyncEffect(async()=>{await i.instanceData.setItem(null,r.viz.conf)},[i,r.viz.type]),be.useEffect(()=>i.instanceData.watchItem(null,s=>{e({type:r.viz.type,conf:s})}),[e,r.viz.type]),a?o(Nu,{...t}):o(u.Text,{children:"Checking update..."})}function Ip(e){const{vizManager:t,panel:n}=e,r=t.getOrCreateInstance(n);return jo(t,r,()=>{Pr.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?o(Lu,{...e}):o(u.Text,{children:"Checking update"})}const Y0="";function Ap(e,t){const{vizManager:n}=be.useContext(nn),{viz:r,title:i,id:a,description:s,queryID:l}=be.useContext(Rt),d={title:i,id:a,description:s,queryID:l,viz:r,layout:t};try{return n.resolveComponent(r.type),o(Ip,{panel:d,data:e,vizManager:n})}catch(m){return console.info(Ce.get(m,"message")),null}}function Uo(e,t,n,r){switch(r.conf,r.type){default:return null}}const Rp=["rich-text"],Wo=Fe.observer(function({viz:t,data:n,loading:r}){const{ref:i,width:a,height:s}=_t.useElementSize(),l=ne.default.useMemo(()=>!Array.isArray(n)||n.length===0,[n]),d=Ap(n,{w:a,h:s});if(!(!Rp.includes(t.type)||!!d))return o("div",{className:"viz-root",ref:i,children:o(Dn,{children:Uo(a,s,n,t)})});const f=d||Uo(a,s,n,t);return r?o("div",{className:"viz-root",ref:i,children:o(u.LoadingOverlay,{visible:r,exitTransitionDuration:0})}):z("div",{className:"viz-root",ref:i,children:[l&&o(u.Text,{color:"gray",align:"center",children:"nothing to show"}),!l&&o(Dn,{children:f})]})});function Dp(){const{data:e,loading:t,viz:n}=ne.default.useContext(Rt);return o(Wo,{viz:n,data:e,loading:t})}const Di=[];function Tp(){const{vizManager:e}=be.useContext(nn);return be.useMemo(()=>e.availableVizList.map(t=>({value:t.name,label:t.displayName})).concat(Di),[e])}function zp(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function Mp(){const{viz:e,title:t,data:n,queryID:r,description:i,setDescription:a,setTitle:s,setQueryID:l,setViz:d,id:m}=be.useContext(Rt),{vizManager:f}=be.useContext(nn),v={title:t,description:i,viz:e,queryID:r,id:m},y={setDescription:a,setQueryID:l,setTitle:s};try{return f.resolveComponent(v.viz.type),o(Ep,{setVizConf:d,panel:v,panelInfoEditor:y,vizManager:f,data:n})}catch(p){return console.info(Ce.get(p,"message")),null}}function Op(){const{data:e,viz:t,setViz:n}=ne.default.useContext(Rt),[r,i]=_t.useInputState(t.type),a=t.type!==r,{vizManager:s}=be.useContext(nn),l=ne.default.useCallback(()=>{if(!a)return;const g=zp(s,r);n({conf:g||{},type:r})},[a,r]),d=g=>{n(x=>({...x,conf:g}))},m=g=>{try{d(JSON.parse(g))}catch(x){console.error(x)}},f=ne.default.useMemo(()=>{var g;return(g=Di.find(x=>x.value===r))==null?void 0:g.Panel},[r,Di]),v=Mp(),y=f?be.createElement(f,{data:e,conf:t.conf,setConf:d}):null,p=v||y,C=Tp();return z(vt,{children:[o(u.Select,{label:"Visualization",value:r,onChange:i,data:C,rightSection:o(u.ActionIcon,{disabled:!a,onClick:l,children:o(Ae.DeviceFloppy,{size:20})})}),p,!p&&o(u.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:m})]})}function Fp(){return z(u.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[o(u.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,overflow:"scroll",height:"100%"},children:o(Op,{})}),o(u.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:o(Dp,{})})]})}const $p=Fe.observer(function({opened:t,close:n}){const{freezeLayout:r}=ne.default.useContext(Lt),[i,a]=be.useState("Visualization"),{loading:s,title:l}=ne.default.useContext(Rt);return ne.default.useEffect(()=>{r(t)},[t]),o(u.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:n,title:l,trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:o(u.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:z(u.Tabs,{value:i,onTabChange:a,className:"panel-settings-tabs",children:[z(u.Tabs.List,{children:[o(u.Tabs.Tab,{value:"Data",children:"Data"}),o(u.Tabs.Tab,{value:"Panel",children:"Panel"}),o(u.Tabs.Tab,{value:"Visualization",children:"Visualization"}),o(u.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),z(u.Tabs.Panel,{value:"Data",pt:"sm",children:[o(u.LoadingOverlay,{visible:s,exitTransitionDuration:0}),o(kp,{})]}),o(u.Tabs.Panel,{value:"Panel",pt:"sm",children:i==="Panel"&&o(Sp,{})}),o(u.Tabs.Panel,{value:"Visualization",pt:"sm",children:i==="Visualization"&&o(Fp,{})}),o(u.Tabs.Panel,{value:"Interactions",pt:"sm",children:o(Dn,{children:o(_p,{})})})]})})})}),Q0="",Pp=Fe.observer(function({view:t}){const n=mt(),r=Jt.useModals(),[i,a]=ne.default.useState(!1),s=()=>a(!0),l=()=>a(!1),{id:d,title:m,queryID:f}=ne.default.useContext(Rt),{inEditMode:v}=ne.default.useContext(Lt),y=()=>n.queries.refetchDataByQueryID(f),{viewPanelInFullScreen:p,inFullScreen:C}=ne.default.useContext(Br),g=()=>{t.panels.duplicateByID(d)},x=()=>r.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>t.panels.removeByID(d)}),S=ne.default.useCallback(()=>{p(d)},[d,p]);return z(u.Box,{sx:{position:"relative"},children:[o(u.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:o(Na,{})}),o(u.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:z(u.Menu,{children:[o(u.Menu.Target,{children:o(u.Text,{lineClamp:1,weight:"bold",children:m})}),z(u.Menu.Dropdown,{children:[o(u.Menu.Item,{onClick:y,icon:o(Ae.Refresh,{size:14}),children:"Refresh"}),o(u.Menu.Item,{onClick:()=>n.queries.downloadDataByQueryID(f),icon:o(Ae.Download,{size:14}),children:"Download Data"}),!C&&o(u.Menu.Item,{onClick:S,icon:o(Ae.ArrowsMaximize,{size:14}),children:"Full Screen"}),v&&z(vt,{children:[o(u.Divider,{label:"Edit",labelPosition:"center"}),o(u.Menu.Item,{onClick:s,icon:o(Ae.Settings,{size:14}),children:"Settings"}),o(u.Menu.Item,{onClick:g,icon:o(Ae.Copy,{size:14}),children:"Duplicate"}),o(u.Menu.Item,{color:"red",onClick:x,icon:o(Ae.Trash,{size:14}),children:"Delete"})]})]})]})}),v&&o($p,{opened:i,close:l})]})}),Z0="",wr=Fe.observer(function({viz:t,queryID:n,title:r,description:i,id:a,view:s}){const l=mt(),[d,m]=ne.default.useState(r),[f,v]=ne.default.useState(i),[y,p]=ne.default.useState(n),[C,g]=ne.default.useState(t);dt.useWhyDidYouUpdate("Panel",{title:d,description:f,queryID:y,viz:C,id:a}),ne.default.useEffect(()=>{const F=s.panels.findByID(a);!F||(F.setTitle(d),F.setDescription(f),F.setQueryID(y),F.viz.setType(C.type),F.viz.setConf(C.conf))},[d,f,C,a,y]);const{data:x,state:S}=l.getDataStuffByID(y),D=S==="loading";return o(Rt.Provider,{value:{id:a,data:x,loading:D,title:d,setTitle:m,description:f,setDescription:v,queryID:y,setQueryID:p,viz:C,setViz:g},children:z(u.Container,{className:"panel-root",children:[o(Pp,{view:s}),o(Wo,{viz:C,data:x,loading:D})]})})}),Ho=Fe.observer(function({view:t,panel:n,exitFullScreen:r}){return z(u.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[o(u.Group,{mx:"-5px",sx:{flexGrow:0},children:o(u.Button,{variant:"default",size:"sm",onClick:r,leftIcon:o(Ae.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),o(u.Group,{mx:"-5px",grow:!0,sx:{flexGrow:1,flexShrink:0},children:o(wr,{view:t,...n})})]})});function Yo(e){const[t,n]=ne.default.useState(null),r=ne.default.useCallback(l=>{n(l)},[]),i=ne.default.useCallback(()=>{n(null)},[]),a=ne.default.useMemo(()=>e.find(l=>l.id===t),[t,e]);return{viewPanelInFullScreen:r,exitFullScreen:i,inFullScreen:!!a,fullScreenPanel:a}}function Qo(){ne.default.useEffect(()=>{const e=Al.default(".dashboard-sticky-area",{useStickyClasses:!0,parentClass:"dashboard-sticky-parent"});return()=>{e==null||e.cleanup()}},[])}const X0="",Vp=ne.default.forwardRef(({handleAxis:e},t)=>o(u.ActionIcon,{ref:t,className:"react-grid-customDragHandle",sx:{userSelect:"none",cursor:"grab",position:"absolute",top:0,right:0,zIndex:300,"&:hover":{color:"#228be6"}},variant:"transparent",children:o(Ae.ArrowsMove,{size:16})})),Lp=ne.default.forwardRef(({handleAxis:e,...t},n)=>o(u.ActionIcon,{ref:n,className:"react-grid-customResizeHandle",sx:{userSelect:"none",cursor:"nwse-resize",position:"absolute",bottom:-5,right:-5,zIndex:300,"&:hover":{color:"#228be6"}},variant:"transparent",...t,children:o(Ae.ChevronDownRight,{size:16})})),Np=Lr.WidthProvider(_a.default),Bp=Fe.observer(function({view:t,className:n="layout",rowHeight:r=10,isDraggable:i,isResizable:a}){const s=ne.default.useCallback(l=>{l.forEach(({i:d,...m})=>{const f=t.panels.findByID(d);!f||f.layout.set(m)})},[t]);return o(Np,{onLayoutChange:s,className:`dashboard-layout ${n}`,rowHeight:r,layout:t.panels.layouts,isDraggable:i,isResizable:a,draggableHandle:".react-grid-customDragHandle",resizeHandle:o(Lp,{}),children:t.panels.current.map(({id:l,...d},m)=>z("div",{"data-grid":{...d.layout},style:{position:"relative"},children:[i&&o(Vp,{}),o(wr,{id:l,view:t,...d})]},l))})}),Gp=Lr.WidthProvider(_a.default),qp=Fe.observer(function({view:t,className:n="layout",rowHeight:r=10}){return o(Gp,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,layout:t.panels.layouts,children:t.panels.current.map(({id:i,...a})=>o("div",{"data-grid":a.layout,children:o(wr,{id:i,view:t,...a})},i))})}),jp=Fe.observer(({children:e})=>o(u.Box,{children:e})),Up=Fe.observer(({children:e,view:t})=>o(u.Modal,{size:t.config.width,overflow:"inside",opened:!0,onClose:Ze.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:{maxHeight:t.config.height,overflow:"scroll"}},withinPortal:!1,children:e})),Wp=Fe.observer(({view:e,children:t})=>{switch(e.type){case Xt.Modal:return o(Up,{view:e,children:t});case Xt.Division:default:return o(jp,{children:t})}}),Zo=Fe.observer(function({view:t,saveDashboardChanges:n}){const{viewPanelInFullScreen:r,exitFullScreen:i,inFullScreen:a,fullScreenPanel:s}=Yo(t.panels.json);return Qo(),o(Br.Provider,{value:{viewPanelInFullScreen:r,inFullScreen:a},children:z(u.Box,{className:"dashboard-view",sx:{position:"relative",height:"100%"},children:[a&&o(Ho,{view:t,panel:s,exitFullScreen:i}),!a&&o(La,{saveChanges:n}),o(Wp,{view:t,children:z(u.Box,{className:"dashboard-sticky-parent",children:[o(u.Box,{className:"dashboard-sticky-area",children:o(Ia,{view:t})}),o(u.Box,{sx:{display:a?"none":"block"},children:o(Bp,{view:t,isDraggable:!0,isResizable:!0})})]})})]})})}),Xo=Fe.observer(function({view:t}){const{viewPanelInFullScreen:n,exitFullScreen:r,inFullScreen:i,fullScreenPanel:a}=Yo(t.panels.json);return Qo(),o(Br.Provider,{value:{viewPanelInFullScreen:n,inFullScreen:i},children:z(u.Box,{className:"dashboard-view",sx:{position:"relative",height:"100%"},children:[i&&o(Ho,{view:t,panel:a,exitFullScreen:r}),!i&&z(u.Box,{className:"dashboard-sticky-area",children:[o(La,{saveChanges:Ze.default.noop}),o(Ia,{view:t})]}),o(qp,{view:t})]})})}),Ko=oe.types.model({label:oe.types.string,value:oe.types.string}).actions(e=>({setLabel(t){e.label=t},setValue(t){e.value=t}})),Jo=oe.types.model("FilterConfigModel_Select",{required:oe.types.boolean,default_value:oe.types.string,static_options:oe.types.optional(oe.types.array(Ko),[]),options_query:za}).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setRequired(t){e.required=t},setDefaultValue(t){e.default_value=t},setOptionsQuery(t){e.options_query=t}})),Hp=()=>Jo.create({required:!1,default_value:"",static_options:[],options_query:{type:Zt.Postgresql,key:"",sql:""}}),es=oe.types.model("FilterConfigModel_MultiSelect",{default_value:oe.types.optional(oe.types.array(oe.types.string),[]),static_options:oe.types.optional(oe.types.array(Ko),[]),options_query:za}).actions(e=>({addStaticOption(t){e.static_options.push(t)},removeStaticOption(t){e.static_options.splice(t,1)},setDefaultValue(t){e.default_value=oe.cast(t)},setOptionsQuery(t){e.options_query=t}})),Yp=()=>es.create({default_value:[],static_options:[],options_query:{type:Zt.Postgresql,key:"",sql:""}}),ts=oe.types.model("FilterConfigModel_Checkbox",{default_value:oe.types.boolean}).actions(e=>({setDefaultValue(t){e.default_value=t}})),Qp=()=>ts.create({default_value:!1}),ns=oe.types.model("FilterConfigModel_DateRange",{required:oe.types.boolean,inputFormat:oe.types.enumeration("DateRangeInputFormat",["YYYY","YYYY-MM","YYYY-MM-DD"]),clearable:oe.types.boolean}).actions(e=>({setRequired(t){e.required=t},setClearable(t){e.clearable=t},setInputFormat(t){e.inputFormat=t}})),Zp=()=>ns.create({required:!1,inputFormat:"YYYY-MM-DD",clearable:!1}),Ti=oe.types.model("FilterModel",{id:oe.types.identifier,key:oe.types.string,label:oe.types.string,order:oe.types.number,visibleInViewsIDs:oe.types.array(oe.types.string),type:oe.types.enumeration("DashboardFilterType",[Ft.Select,Ft.MultiSelect,Ft.TextInput,Ft.Checkbox,Ft.DateRange]),config:oe.types.union(Jo,es,Ma,ts,ns)}).actions(e=>({setKey(t){e.key=t},setLabel(t){e.label=t},setOrder(t){e.order=t},setType(t){switch(t){case Ft.Select:e.config=Hp();break;case Ft.MultiSelect:e.config=Yp();break;case Ft.TextInput:e.config=Oa();break;case Ft.Checkbox:e.config=Qp();break;case Ft.DateRange:e.config=Zp();break}e.type=t},setVisibleInViewsIDs(t){console.log(t),e.visibleInViewsIDs.length=0,e.visibleInViewsIDs.push(...t)}})),rs=oe.types.model("FiltersModel",{original:oe.types.optional(oe.types.array(Ti),[]),current:oe.types.optional(oe.types.array(Ti),[]),values:oe.types.optional(oe.types.frozen(),{})}).views(e=>({get changed(){return!Ze.default.isEqual(e.original,e.current)},get firstID(){if(e.current.length!==0)return e.current[0].id},get inOrder(){return Ze.default.sortBy(e.current,"order")},get empty(){return e.current.length===0},visibleInView(t){return Ze.default.sortBy(e.current.filter(n=>n.visibleInViewsIDs.includes(t)),"order")}})).actions(e=>({reset(){e.current=Ze.default.cloneDeep(e.original)},replace(t){e.current=oe.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[t]=n},getValueByKey(t){return e.values[t]}}));function is(e){const t=e.reduce((n,r)=>{var i;return n[r.key]=(i=r.config.default_value)!=null?i:"",n},{});return{original:e,current:e,values:t}}function Cr(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var as={exports:{}};/*!
115
-
116
- JSZip v3.10.1 - A JavaScript class for generating and reading zip files
117
- <http://stuartk.com/jszip>
118
-
119
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
120
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
121
-
122
- JSZip uses the library pako released under the MIT license :
123
- https://github.com/nodeca/pako/blob/main/LICENSE
124
- */(function(e,t){(function(n){e.exports=n()})(function(){return function n(r,i,a){function s(m,f){if(!i[m]){if(!r[m]){var v=typeof Cr=="function"&&Cr;if(!f&&v)return v(m,!0);if(l)return l(m,!0);var y=new Error("Cannot find module '"+m+"'");throw y.code="MODULE_NOT_FOUND",y}var p=i[m]={exports:{}};r[m][0].call(p.exports,function(C){var g=r[m][1][C];return s(g||C)},p,p.exports,n,r,i,a)}return i[m].exports}for(var l=typeof Cr=="function"&&Cr,d=0;d<a.length;d++)s(a[d]);return s}({1:[function(n,r,i){var a=n("./utils"),s=n("./support"),l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";i.encode=function(d){for(var m,f,v,y,p,C,g,x=[],S=0,D=d.length,F=D,B=a.getTypeOf(d)!=="string";S<d.length;)F=D-S,v=B?(m=d[S++],f=S<D?d[S++]:0,S<D?d[S++]:0):(m=d.charCodeAt(S++),f=S<D?d.charCodeAt(S++):0,S<D?d.charCodeAt(S++):0),y=m>>2,p=(3&m)<<4|f>>4,C=1<F?(15&f)<<2|v>>6:64,g=2<F?63&v:64,x.push(l.charAt(y)+l.charAt(p)+l.charAt(C)+l.charAt(g));return x.join("")},i.decode=function(d){var m,f,v,y,p,C,g=0,x=0,S="data:";if(d.substr(0,S.length)===S)throw new Error("Invalid base64 input, it looks like a data url.");var D,F=3*(d=d.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(d.charAt(d.length-1)===l.charAt(64)&&F--,d.charAt(d.length-2)===l.charAt(64)&&F--,F%1!=0)throw new Error("Invalid base64 input, bad content length.");for(D=s.uint8array?new Uint8Array(0|F):new Array(0|F);g<d.length;)m=l.indexOf(d.charAt(g++))<<2|(y=l.indexOf(d.charAt(g++)))>>4,f=(15&y)<<4|(p=l.indexOf(d.charAt(g++)))>>2,v=(3&p)<<6|(C=l.indexOf(d.charAt(g++))),D[x++]=m,p!==64&&(D[x++]=f),C!==64&&(D[x++]=v);return D}},{"./support":30,"./utils":32}],2:[function(n,r,i){var a=n("./external"),s=n("./stream/DataWorker"),l=n("./stream/Crc32Probe"),d=n("./stream/DataLengthProbe");function m(f,v,y,p,C){this.compressedSize=f,this.uncompressedSize=v,this.crc32=y,this.compression=p,this.compressedContent=C}m.prototype={getContentWorker:function(){var f=new s(a.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new d("data_length")),v=this;return f.on("end",function(){if(this.streamInfo.data_length!==v.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),f},getCompressedWorker:function(){return new s(a.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},m.createWorkerFrom=function(f,v,y){return f.pipe(new l).pipe(new d("uncompressedSize")).pipe(v.compressWorker(y)).pipe(new d("compressedSize")).withStreamInfo("compression",v)},r.exports=m},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(n,r,i){var a=n("./stream/GenericWorker");i.STORE={magic:"\0\0",compressWorker:function(){return new a("STORE compression")},uncompressWorker:function(){return new a("STORE decompression")}},i.DEFLATE=n("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(n,r,i){var a=n("./utils"),s=function(){for(var l,d=[],m=0;m<256;m++){l=m;for(var f=0;f<8;f++)l=1&l?3988292384^l>>>1:l>>>1;d[m]=l}return d}();r.exports=function(l,d){return l!==void 0&&l.length?a.getTypeOf(l)!=="string"?function(m,f,v,y){var p=s,C=y+v;m^=-1;for(var g=y;g<C;g++)m=m>>>8^p[255&(m^f[g])];return-1^m}(0|d,l,l.length,0):function(m,f,v,y){var p=s,C=y+v;m^=-1;for(var g=y;g<C;g++)m=m>>>8^p[255&(m^f.charCodeAt(g))];return-1^m}(0|d,l,l.length,0):0}},{"./utils":32}],5:[function(n,r,i){i.base64=!1,i.binary=!1,i.dir=!1,i.createFolders=!0,i.date=null,i.compression=null,i.compressionOptions=null,i.comment=null,i.unixPermissions=null,i.dosPermissions=null},{}],6:[function(n,r,i){var a=null;a=typeof Promise<"u"?Promise:n("lie"),r.exports={Promise:a}},{lie:37}],7:[function(n,r,i){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",s=n("pako"),l=n("./utils"),d=n("./stream/GenericWorker"),m=a?"uint8array":"array";function f(v,y){d.call(this,"FlateWorker/"+v),this._pako=null,this._pakoAction=v,this._pakoOptions=y,this.meta={}}i.magic="\b\0",l.inherits(f,d),f.prototype.processChunk=function(v){this.meta=v.meta,this._pako===null&&this._createPako(),this._pako.push(l.transformTo(m,v.data),!1)},f.prototype.flush=function(){d.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},f.prototype.cleanUp=function(){d.prototype.cleanUp.call(this),this._pako=null},f.prototype._createPako=function(){this._pako=new s[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var v=this;this._pako.onData=function(y){v.push({data:y,meta:v.meta})}},i.compressWorker=function(v){return new f("Deflate",v)},i.uncompressWorker=function(){return new f("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(n,r,i){function a(p,C){var g,x="";for(g=0;g<C;g++)x+=String.fromCharCode(255&p),p>>>=8;return x}function s(p,C,g,x,S,D){var F,B,q=p.file,Q=p.compression,te=D!==m.utf8encode,se=l.transformTo("string",D(q.name)),K=l.transformTo("string",m.utf8encode(q.name)),ge=q.comment,Se=l.transformTo("string",D(ge)),$=l.transformTo("string",m.utf8encode(ge)),ee=K.length!==q.name.length,_=$.length!==ge.length,Z="",$e="",fe="",k=q.dir,E=q.date,N={crc32:0,compressedSize:0,uncompressedSize:0};C&&!g||(N.crc32=p.crc32,N.compressedSize=p.compressedSize,N.uncompressedSize=p.uncompressedSize);var I=0;C&&(I|=8),te||!ee&&!_||(I|=2048);var R=0,j=0;k&&(R|=16),S==="UNIX"?(j=798,R|=function(W,le){var ce=W;return W||(ce=le?16893:33204),(65535&ce)<<16}(q.unixPermissions,k)):(j=20,R|=function(W){return 63&(W||0)}(q.dosPermissions)),F=E.getUTCHours(),F<<=6,F|=E.getUTCMinutes(),F<<=5,F|=E.getUTCSeconds()/2,B=E.getUTCFullYear()-1980,B<<=4,B|=E.getUTCMonth()+1,B<<=5,B|=E.getUTCDate(),ee&&($e=a(1,1)+a(f(se),4)+K,Z+="up"+a($e.length,2)+$e),_&&(fe=a(1,1)+a(f(Se),4)+$,Z+="uc"+a(fe.length,2)+fe);var U="";return U+=`
125
- \0`,U+=a(I,2),U+=Q.magic,U+=a(F,2),U+=a(B,2),U+=a(N.crc32,4),U+=a(N.compressedSize,4),U+=a(N.uncompressedSize,4),U+=a(se.length,2),U+=a(Z.length,2),{fileRecord:v.LOCAL_FILE_HEADER+U+se+Z,dirRecord:v.CENTRAL_FILE_HEADER+a(j,2)+U+a(Se.length,2)+"\0\0\0\0"+a(R,4)+a(x,4)+se+Z+Se}}var l=n("../utils"),d=n("../stream/GenericWorker"),m=n("../utf8"),f=n("../crc32"),v=n("../signature");function y(p,C,g,x){d.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=C,this.zipPlatform=g,this.encodeFileName=x,this.streamFiles=p,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}l.inherits(y,d),y.prototype.push=function(p){var C=p.meta.percent||0,g=this.entriesCount,x=this._sources.length;this.accumulate?this.contentBuffer.push(p):(this.bytesWritten+=p.data.length,d.prototype.push.call(this,{data:p.data,meta:{currentFile:this.currentFile,percent:g?(C+100*(g-x-1))/g:100}}))},y.prototype.openedSource=function(p){this.currentSourceOffset=this.bytesWritten,this.currentFile=p.file.name;var C=this.streamFiles&&!p.file.dir;if(C){var g=s(p,C,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:g.fileRecord,meta:{percent:0}})}else this.accumulate=!0},y.prototype.closedSource=function(p){this.accumulate=!1;var C=this.streamFiles&&!p.file.dir,g=s(p,C,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(g.dirRecord),C)this.push({data:function(x){return v.DATA_DESCRIPTOR+a(x.crc32,4)+a(x.compressedSize,4)+a(x.uncompressedSize,4)}(p),meta:{percent:100}});else for(this.push({data:g.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},y.prototype.flush=function(){for(var p=this.bytesWritten,C=0;C<this.dirRecords.length;C++)this.push({data:this.dirRecords[C],meta:{percent:100}});var g=this.bytesWritten-p,x=function(S,D,F,B,q){var Q=l.transformTo("string",q(B));return v.CENTRAL_DIRECTORY_END+"\0\0\0\0"+a(S,2)+a(S,2)+a(D,4)+a(F,4)+a(Q.length,2)+Q}(this.dirRecords.length,g,p,this.zipComment,this.encodeFileName);this.push({data:x,meta:{percent:100}})},y.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},y.prototype.registerPrevious=function(p){this._sources.push(p);var C=this;return p.on("data",function(g){C.processChunk(g)}),p.on("end",function(){C.closedSource(C.previous.streamInfo),C._sources.length?C.prepareNextSource():C.end()}),p.on("error",function(g){C.error(g)}),this},y.prototype.resume=function(){return!!d.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},y.prototype.error=function(p){var C=this._sources;if(!d.prototype.error.call(this,p))return!1;for(var g=0;g<C.length;g++)try{C[g].error(p)}catch{}return!0},y.prototype.lock=function(){d.prototype.lock.call(this);for(var p=this._sources,C=0;C<p.length;C++)p[C].lock()},r.exports=y},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(n,r,i){var a=n("../compressions"),s=n("./ZipFileWorker");i.generateWorker=function(l,d,m){var f=new s(d.streamFiles,m,d.platform,d.encodeFileName),v=0;try{l.forEach(function(y,p){v++;var C=function(D,F){var B=D||F,q=a[B];if(!q)throw new Error(B+" is not a valid compression method !");return q}(p.options.compression,d.compression),g=p.options.compressionOptions||d.compressionOptions||{},x=p.dir,S=p.date;p._compressWorker(C,g).withStreamInfo("file",{name:y,dir:x,date:S,comment:p.comment||"",unixPermissions:p.unixPermissions,dosPermissions:p.dosPermissions}).pipe(f)}),f.entriesCount=v}catch(y){f.error(y)}return f}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(n,r,i){function a(){if(!(this instanceof a))return new a;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var s=new a;for(var l in this)typeof this[l]!="function"&&(s[l]=this[l]);return s}}(a.prototype=n("./object")).loadAsync=n("./load"),a.support=n("./support"),a.defaults=n("./defaults"),a.version="3.10.1",a.loadAsync=function(s,l){return new a().loadAsync(s,l)},a.external=n("./external"),r.exports=a},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(n,r,i){var a=n("./utils"),s=n("./external"),l=n("./utf8"),d=n("./zipEntries"),m=n("./stream/Crc32Probe"),f=n("./nodejsUtils");function v(y){return new s.Promise(function(p,C){var g=y.decompressed.getContentWorker().pipe(new m);g.on("error",function(x){C(x)}).on("end",function(){g.streamInfo.crc32!==y.decompressed.crc32?C(new Error("Corrupted zip : CRC32 mismatch")):p()}).resume()})}r.exports=function(y,p){var C=this;return p=a.extend(p||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:l.utf8decode}),f.isNode&&f.isStream(y)?s.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):a.prepareContent("the loaded zip file",y,!0,p.optimizedBinaryString,p.base64).then(function(g){var x=new d(p);return x.load(g),x}).then(function(g){var x=[s.Promise.resolve(g)],S=g.files;if(p.checkCRC32)for(var D=0;D<S.length;D++)x.push(v(S[D]));return s.Promise.all(x)}).then(function(g){for(var x=g.shift(),S=x.files,D=0;D<S.length;D++){var F=S[D],B=F.fileNameStr,q=a.resolve(F.fileNameStr);C.file(q,F.decompressed,{binary:!0,optimizedBinaryString:!0,date:F.date,dir:F.dir,comment:F.fileCommentStr.length?F.fileCommentStr:null,unixPermissions:F.unixPermissions,dosPermissions:F.dosPermissions,createFolders:p.createFolders}),F.dir||(C.file(q).unsafeOriginalName=B)}return x.zipComment.length&&(C.comment=x.zipComment),C})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(n,r,i){var a=n("../utils"),s=n("../stream/GenericWorker");function l(d,m){s.call(this,"Nodejs stream input adapter for "+d),this._upstreamEnded=!1,this._bindStream(m)}a.inherits(l,s),l.prototype._bindStream=function(d){var m=this;(this._stream=d).pause(),d.on("data",function(f){m.push({data:f,meta:{percent:0}})}).on("error",function(f){m.isPaused?this.generatedError=f:m.error(f)}).on("end",function(){m.isPaused?m._upstreamEnded=!0:m.end()})},l.prototype.pause=function(){return!!s.prototype.pause.call(this)&&(this._stream.pause(),!0)},l.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},r.exports=l},{"../stream/GenericWorker":28,"../utils":32}],13:[function(n,r,i){var a=n("readable-stream").Readable;function s(l,d,m){a.call(this,d),this._helper=l;var f=this;l.on("data",function(v,y){f.push(v)||f._helper.pause(),m&&m(y)}).on("error",function(v){f.emit("error",v)}).on("end",function(){f.push(null)})}n("../utils").inherits(s,a),s.prototype._read=function(){this._helper.resume()},r.exports=s},{"../utils":32,"readable-stream":16}],14:[function(n,r,i){r.exports={isNode:typeof Buffer<"u",newBufferFrom:function(a,s){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(a,s);if(typeof a=="number")throw new Error('The "data" argument must not be a number');return new Buffer(a,s)},allocBuffer:function(a){if(Buffer.alloc)return Buffer.alloc(a);var s=new Buffer(a);return s.fill(0),s},isBuffer:function(a){return Buffer.isBuffer(a)},isStream:function(a){return a&&typeof a.on=="function"&&typeof a.pause=="function"&&typeof a.resume=="function"}}},{}],15:[function(n,r,i){function a(q,Q,te){var se,K=l.getTypeOf(Q),ge=l.extend(te||{},f);ge.date=ge.date||new Date,ge.compression!==null&&(ge.compression=ge.compression.toUpperCase()),typeof ge.unixPermissions=="string"&&(ge.unixPermissions=parseInt(ge.unixPermissions,8)),ge.unixPermissions&&16384&ge.unixPermissions&&(ge.dir=!0),ge.dosPermissions&&16&ge.dosPermissions&&(ge.dir=!0),ge.dir&&(q=S(q)),ge.createFolders&&(se=x(q))&&D.call(this,se,!0);var Se=K==="string"&&ge.binary===!1&&ge.base64===!1;te&&te.binary!==void 0||(ge.binary=!Se),(Q instanceof v&&Q.uncompressedSize===0||ge.dir||!Q||Q.length===0)&&(ge.base64=!1,ge.binary=!0,Q="",ge.compression="STORE",K="string");var $=null;$=Q instanceof v||Q instanceof d?Q:C.isNode&&C.isStream(Q)?new g(q,Q):l.prepareContent(q,Q,ge.binary,ge.optimizedBinaryString,ge.base64);var ee=new y(q,$,ge);this.files[q]=ee}var s=n("./utf8"),l=n("./utils"),d=n("./stream/GenericWorker"),m=n("./stream/StreamHelper"),f=n("./defaults"),v=n("./compressedObject"),y=n("./zipObject"),p=n("./generate"),C=n("./nodejsUtils"),g=n("./nodejs/NodejsStreamInputAdapter"),x=function(q){q.slice(-1)==="/"&&(q=q.substring(0,q.length-1));var Q=q.lastIndexOf("/");return 0<Q?q.substring(0,Q):""},S=function(q){return q.slice(-1)!=="/"&&(q+="/"),q},D=function(q,Q){return Q=Q!==void 0?Q:f.createFolders,q=S(q),this.files[q]||a.call(this,q,null,{dir:!0,createFolders:Q}),this.files[q]};function F(q){return Object.prototype.toString.call(q)==="[object RegExp]"}var B={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(q){var Q,te,se;for(Q in this.files)se=this.files[Q],(te=Q.slice(this.root.length,Q.length))&&Q.slice(0,this.root.length)===this.root&&q(te,se)},filter:function(q){var Q=[];return this.forEach(function(te,se){q(te,se)&&Q.push(se)}),Q},file:function(q,Q,te){if(arguments.length!==1)return q=this.root+q,a.call(this,q,Q,te),this;if(F(q)){var se=q;return this.filter(function(ge,Se){return!Se.dir&&se.test(ge)})}var K=this.files[this.root+q];return K&&!K.dir?K:null},folder:function(q){if(!q)return this;if(F(q))return this.filter(function(K,ge){return ge.dir&&q.test(K)});var Q=this.root+q,te=D.call(this,Q),se=this.clone();return se.root=te.name,se},remove:function(q){q=this.root+q;var Q=this.files[q];if(Q||(q.slice(-1)!=="/"&&(q+="/"),Q=this.files[q]),Q&&!Q.dir)delete this.files[q];else for(var te=this.filter(function(K,ge){return ge.name.slice(0,q.length)===q}),se=0;se<te.length;se++)delete this.files[te[se].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(q){var Q,te={};try{if((te=l.extend(q||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:s.utf8encode})).type=te.type.toLowerCase(),te.compression=te.compression.toUpperCase(),te.type==="binarystring"&&(te.type="string"),!te.type)throw new Error("No output type specified.");l.checkSupport(te.type),te.platform!=="darwin"&&te.platform!=="freebsd"&&te.platform!=="linux"&&te.platform!=="sunos"||(te.platform="UNIX"),te.platform==="win32"&&(te.platform="DOS");var se=te.comment||this.comment||"";Q=p.generateWorker(this,te,se)}catch(K){(Q=new d("error")).error(K)}return new m(Q,te.type||"string",te.mimeType)},generateAsync:function(q,Q){return this.generateInternalStream(q).accumulate(Q)},generateNodeStream:function(q,Q){return(q=q||{}).type||(q.type="nodebuffer"),this.generateInternalStream(q).toNodejsStream(Q)}};r.exports=B},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(n,r,i){r.exports=n("stream")},{stream:void 0}],17:[function(n,r,i){var a=n("./DataReader");function s(l){a.call(this,l);for(var d=0;d<this.data.length;d++)l[d]=255&l[d]}n("../utils").inherits(s,a),s.prototype.byteAt=function(l){return this.data[this.zero+l]},s.prototype.lastIndexOfSignature=function(l){for(var d=l.charCodeAt(0),m=l.charCodeAt(1),f=l.charCodeAt(2),v=l.charCodeAt(3),y=this.length-4;0<=y;--y)if(this.data[y]===d&&this.data[y+1]===m&&this.data[y+2]===f&&this.data[y+3]===v)return y-this.zero;return-1},s.prototype.readAndCheckSignature=function(l){var d=l.charCodeAt(0),m=l.charCodeAt(1),f=l.charCodeAt(2),v=l.charCodeAt(3),y=this.readData(4);return d===y[0]&&m===y[1]&&f===y[2]&&v===y[3]},s.prototype.readData=function(l){if(this.checkOffset(l),l===0)return[];var d=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,d},r.exports=s},{"../utils":32,"./DataReader":18}],18:[function(n,r,i){var a=n("../utils");function s(l){this.data=l,this.length=l.length,this.index=0,this.zero=0}s.prototype={checkOffset:function(l){this.checkIndex(this.index+l)},checkIndex:function(l){if(this.length<this.zero+l||l<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+l+"). Corrupted zip ?")},setIndex:function(l){this.checkIndex(l),this.index=l},skip:function(l){this.setIndex(this.index+l)},byteAt:function(){},readInt:function(l){var d,m=0;for(this.checkOffset(l),d=this.index+l-1;d>=this.index;d--)m=(m<<8)+this.byteAt(d);return this.index+=l,m},readString:function(l){return a.transformTo("string",this.readData(l))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var l=this.readInt(4);return new Date(Date.UTC(1980+(l>>25&127),(l>>21&15)-1,l>>16&31,l>>11&31,l>>5&63,(31&l)<<1))}},r.exports=s},{"../utils":32}],19:[function(n,r,i){var a=n("./Uint8ArrayReader");function s(l){a.call(this,l)}n("../utils").inherits(s,a),s.prototype.readData=function(l){this.checkOffset(l);var d=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,d},r.exports=s},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(n,r,i){var a=n("./DataReader");function s(l){a.call(this,l)}n("../utils").inherits(s,a),s.prototype.byteAt=function(l){return this.data.charCodeAt(this.zero+l)},s.prototype.lastIndexOfSignature=function(l){return this.data.lastIndexOf(l)-this.zero},s.prototype.readAndCheckSignature=function(l){return l===this.readData(4)},s.prototype.readData=function(l){this.checkOffset(l);var d=this.data.slice(this.zero+this.index,this.zero+this.index+l);return this.index+=l,d},r.exports=s},{"../utils":32,"./DataReader":18}],21:[function(n,r,i){var a=n("./ArrayReader");function s(l){a.call(this,l)}n("../utils").inherits(s,a),s.prototype.readData=function(l){if(this.checkOffset(l),l===0)return new Uint8Array(0);var d=this.data.subarray(this.zero+this.index,this.zero+this.index+l);return this.index+=l,d},r.exports=s},{"../utils":32,"./ArrayReader":17}],22:[function(n,r,i){var a=n("../utils"),s=n("../support"),l=n("./ArrayReader"),d=n("./StringReader"),m=n("./NodeBufferReader"),f=n("./Uint8ArrayReader");r.exports=function(v){var y=a.getTypeOf(v);return a.checkSupport(y),y!=="string"||s.uint8array?y==="nodebuffer"?new m(v):s.uint8array?new f(a.transformTo("uint8array",v)):new l(a.transformTo("array",v)):new d(v)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(n,r,i){i.LOCAL_FILE_HEADER="PK",i.CENTRAL_FILE_HEADER="PK",i.CENTRAL_DIRECTORY_END="PK",i.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",i.ZIP64_CENTRAL_DIRECTORY_END="PK",i.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(n,r,i){var a=n("./GenericWorker"),s=n("../utils");function l(d){a.call(this,"ConvertWorker to "+d),this.destType=d}s.inherits(l,a),l.prototype.processChunk=function(d){this.push({data:s.transformTo(this.destType,d.data),meta:d.meta})},r.exports=l},{"../utils":32,"./GenericWorker":28}],25:[function(n,r,i){var a=n("./GenericWorker"),s=n("../crc32");function l(){a.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}n("../utils").inherits(l,a),l.prototype.processChunk=function(d){this.streamInfo.crc32=s(d.data,this.streamInfo.crc32||0),this.push(d)},r.exports=l},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(n,r,i){var a=n("../utils"),s=n("./GenericWorker");function l(d){s.call(this,"DataLengthProbe for "+d),this.propName=d,this.withStreamInfo(d,0)}a.inherits(l,s),l.prototype.processChunk=function(d){if(d){var m=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=m+d.data.length}s.prototype.processChunk.call(this,d)},r.exports=l},{"../utils":32,"./GenericWorker":28}],27:[function(n,r,i){var a=n("../utils"),s=n("./GenericWorker");function l(d){s.call(this,"DataWorker");var m=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,d.then(function(f){m.dataIsReady=!0,m.data=f,m.max=f&&f.length||0,m.type=a.getTypeOf(f),m.isPaused||m._tickAndRepeat()},function(f){m.error(f)})}a.inherits(l,s),l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this.data=null},l.prototype.resume=function(){return!!s.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,a.delay(this._tickAndRepeat,[],this)),!0)},l.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(a.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},l.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var d=null,m=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":d=this.data.substring(this.index,m);break;case"uint8array":d=this.data.subarray(this.index,m);break;case"array":case"nodebuffer":d=this.data.slice(this.index,m)}return this.index=m,this.push({data:d,meta:{percent:this.max?this.index/this.max*100:0}})},r.exports=l},{"../utils":32,"./GenericWorker":28}],28:[function(n,r,i){function a(s){this.name=s||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}a.prototype={push:function(s){this.emit("data",s)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(s){this.emit("error",s)}return!0},error:function(s){return!this.isFinished&&(this.isPaused?this.generatedError=s:(this.isFinished=!0,this.emit("error",s),this.previous&&this.previous.error(s),this.cleanUp()),!0)},on:function(s,l){return this._listeners[s].push(l),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(s,l){if(this._listeners[s])for(var d=0;d<this._listeners[s].length;d++)this._listeners[s][d].call(this,l)},pipe:function(s){return s.registerPrevious(this)},registerPrevious:function(s){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=s.streamInfo,this.mergeStreamInfo(),this.previous=s;var l=this;return s.on("data",function(d){l.processChunk(d)}),s.on("end",function(){l.end()}),s.on("error",function(d){l.error(d)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var s=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),s=!0),this.previous&&this.previous.resume(),!s},flush:function(){},processChunk:function(s){this.push(s)},withStreamInfo:function(s,l){return this.extraStreamInfo[s]=l,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var s in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,s)&&(this.streamInfo[s]=this.extraStreamInfo[s])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var s="Worker "+this.name;return this.previous?this.previous+" -> "+s:s}},r.exports=a},{}],29:[function(n,r,i){var a=n("../utils"),s=n("./ConvertWorker"),l=n("./GenericWorker"),d=n("../base64"),m=n("../support"),f=n("../external"),v=null;if(m.nodestream)try{v=n("../nodejs/NodejsStreamOutputAdapter")}catch{}function y(C,g){return new f.Promise(function(x,S){var D=[],F=C._internalType,B=C._outputType,q=C._mimeType;C.on("data",function(Q,te){D.push(Q),g&&g(te)}).on("error",function(Q){D=[],S(Q)}).on("end",function(){try{var Q=function(te,se,K){switch(te){case"blob":return a.newBlob(a.transformTo("arraybuffer",se),K);case"base64":return d.encode(se);default:return a.transformTo(te,se)}}(B,function(te,se){var K,ge=0,Se=null,$=0;for(K=0;K<se.length;K++)$+=se[K].length;switch(te){case"string":return se.join("");case"array":return Array.prototype.concat.apply([],se);case"uint8array":for(Se=new Uint8Array($),K=0;K<se.length;K++)Se.set(se[K],ge),ge+=se[K].length;return Se;case"nodebuffer":return Buffer.concat(se);default:throw new Error("concat : unsupported type '"+te+"'")}}(F,D),q);x(Q)}catch(te){S(te)}D=[]}).resume()})}function p(C,g,x){var S=g;switch(g){case"blob":case"arraybuffer":S="uint8array";break;case"base64":S="string"}try{this._internalType=S,this._outputType=g,this._mimeType=x,a.checkSupport(S),this._worker=C.pipe(new s(S)),C.lock()}catch(D){this._worker=new l("error"),this._worker.error(D)}}p.prototype={accumulate:function(C){return y(this,C)},on:function(C,g){var x=this;return C==="data"?this._worker.on(C,function(S){g.call(x,S.data,S.meta)}):this._worker.on(C,function(){a.delay(g,arguments,x)}),this},resume:function(){return a.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(C){if(a.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new v(this,{objectMode:this._outputType!=="nodebuffer"},C)}},r.exports=p},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(n,r,i){if(i.base64=!0,i.array=!0,i.string=!0,i.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",i.nodebuffer=typeof Buffer<"u",i.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")i.blob=!1;else{var a=new ArrayBuffer(0);try{i.blob=new Blob([a],{type:"application/zip"}).size===0}catch{try{var s=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);s.append(a),i.blob=s.getBlob("application/zip").size===0}catch{i.blob=!1}}}try{i.nodestream=!!n("readable-stream").Readable}catch{i.nodestream=!1}},{"readable-stream":16}],31:[function(n,r,i){for(var a=n("./utils"),s=n("./support"),l=n("./nodejsUtils"),d=n("./stream/GenericWorker"),m=new Array(256),f=0;f<256;f++)m[f]=252<=f?6:248<=f?5:240<=f?4:224<=f?3:192<=f?2:1;m[254]=m[254]=1;function v(){d.call(this,"utf-8 decode"),this.leftOver=null}function y(){d.call(this,"utf-8 encode")}i.utf8encode=function(p){return s.nodebuffer?l.newBufferFrom(p,"utf-8"):function(C){var g,x,S,D,F,B=C.length,q=0;for(D=0;D<B;D++)(64512&(x=C.charCodeAt(D)))==55296&&D+1<B&&(64512&(S=C.charCodeAt(D+1)))==56320&&(x=65536+(x-55296<<10)+(S-56320),D++),q+=x<128?1:x<2048?2:x<65536?3:4;for(g=s.uint8array?new Uint8Array(q):new Array(q),D=F=0;F<q;D++)(64512&(x=C.charCodeAt(D)))==55296&&D+1<B&&(64512&(S=C.charCodeAt(D+1)))==56320&&(x=65536+(x-55296<<10)+(S-56320),D++),x<128?g[F++]=x:(x<2048?g[F++]=192|x>>>6:(x<65536?g[F++]=224|x>>>12:(g[F++]=240|x>>>18,g[F++]=128|x>>>12&63),g[F++]=128|x>>>6&63),g[F++]=128|63&x);return g}(p)},i.utf8decode=function(p){return s.nodebuffer?a.transformTo("nodebuffer",p).toString("utf-8"):function(C){var g,x,S,D,F=C.length,B=new Array(2*F);for(g=x=0;g<F;)if((S=C[g++])<128)B[x++]=S;else if(4<(D=m[S]))B[x++]=65533,g+=D-1;else{for(S&=D===2?31:D===3?15:7;1<D&&g<F;)S=S<<6|63&C[g++],D--;1<D?B[x++]=65533:S<65536?B[x++]=S:(S-=65536,B[x++]=55296|S>>10&1023,B[x++]=56320|1023&S)}return B.length!==x&&(B.subarray?B=B.subarray(0,x):B.length=x),a.applyFromCharCode(B)}(p=a.transformTo(s.uint8array?"uint8array":"array",p))},a.inherits(v,d),v.prototype.processChunk=function(p){var C=a.transformTo(s.uint8array?"uint8array":"array",p.data);if(this.leftOver&&this.leftOver.length){if(s.uint8array){var g=C;(C=new Uint8Array(g.length+this.leftOver.length)).set(this.leftOver,0),C.set(g,this.leftOver.length)}else C=this.leftOver.concat(C);this.leftOver=null}var x=function(D,F){var B;for((F=F||D.length)>D.length&&(F=D.length),B=F-1;0<=B&&(192&D[B])==128;)B--;return B<0||B===0?F:B+m[D[B]]>F?B:F}(C),S=C;x!==C.length&&(s.uint8array?(S=C.subarray(0,x),this.leftOver=C.subarray(x,C.length)):(S=C.slice(0,x),this.leftOver=C.slice(x,C.length))),this.push({data:i.utf8decode(S),meta:p.meta})},v.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:i.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},i.Utf8DecodeWorker=v,a.inherits(y,d),y.prototype.processChunk=function(p){this.push({data:i.utf8encode(p.data),meta:p.meta})},i.Utf8EncodeWorker=y},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(n,r,i){var a=n("./support"),s=n("./base64"),l=n("./nodejsUtils"),d=n("./external");function m(g){return g}function f(g,x){for(var S=0;S<g.length;++S)x[S]=255&g.charCodeAt(S);return x}n("setimmediate"),i.newBlob=function(g,x){i.checkSupport("blob");try{return new Blob([g],{type:x})}catch{try{var S=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return S.append(g),S.getBlob(x)}catch{throw new Error("Bug : can't construct the Blob.")}}};var v={stringifyByChunk:function(g,x,S){var D=[],F=0,B=g.length;if(B<=S)return String.fromCharCode.apply(null,g);for(;F<B;)x==="array"||x==="nodebuffer"?D.push(String.fromCharCode.apply(null,g.slice(F,Math.min(F+S,B)))):D.push(String.fromCharCode.apply(null,g.subarray(F,Math.min(F+S,B)))),F+=S;return D.join("")},stringifyByChar:function(g){for(var x="",S=0;S<g.length;S++)x+=String.fromCharCode(g[S]);return x},applyCanBeUsed:{uint8array:function(){try{return a.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return a.nodebuffer&&String.fromCharCode.apply(null,l.allocBuffer(1)).length===1}catch{return!1}}()}};function y(g){var x=65536,S=i.getTypeOf(g),D=!0;if(S==="uint8array"?D=v.applyCanBeUsed.uint8array:S==="nodebuffer"&&(D=v.applyCanBeUsed.nodebuffer),D)for(;1<x;)try{return v.stringifyByChunk(g,S,x)}catch{x=Math.floor(x/2)}return v.stringifyByChar(g)}function p(g,x){for(var S=0;S<g.length;S++)x[S]=g[S];return x}i.applyFromCharCode=y;var C={};C.string={string:m,array:function(g){return f(g,new Array(g.length))},arraybuffer:function(g){return C.string.uint8array(g).buffer},uint8array:function(g){return f(g,new Uint8Array(g.length))},nodebuffer:function(g){return f(g,l.allocBuffer(g.length))}},C.array={string:y,array:m,arraybuffer:function(g){return new Uint8Array(g).buffer},uint8array:function(g){return new Uint8Array(g)},nodebuffer:function(g){return l.newBufferFrom(g)}},C.arraybuffer={string:function(g){return y(new Uint8Array(g))},array:function(g){return p(new Uint8Array(g),new Array(g.byteLength))},arraybuffer:m,uint8array:function(g){return new Uint8Array(g)},nodebuffer:function(g){return l.newBufferFrom(new Uint8Array(g))}},C.uint8array={string:y,array:function(g){return p(g,new Array(g.length))},arraybuffer:function(g){return g.buffer},uint8array:m,nodebuffer:function(g){return l.newBufferFrom(g)}},C.nodebuffer={string:y,array:function(g){return p(g,new Array(g.length))},arraybuffer:function(g){return C.nodebuffer.uint8array(g).buffer},uint8array:function(g){return p(g,new Uint8Array(g.length))},nodebuffer:m},i.transformTo=function(g,x){if(x=x||"",!g)return x;i.checkSupport(g);var S=i.getTypeOf(x);return C[S][g](x)},i.resolve=function(g){for(var x=g.split("/"),S=[],D=0;D<x.length;D++){var F=x[D];F==="."||F===""&&D!==0&&D!==x.length-1||(F===".."?S.pop():S.push(F))}return S.join("/")},i.getTypeOf=function(g){return typeof g=="string"?"string":Object.prototype.toString.call(g)==="[object Array]"?"array":a.nodebuffer&&l.isBuffer(g)?"nodebuffer":a.uint8array&&g instanceof Uint8Array?"uint8array":a.arraybuffer&&g instanceof ArrayBuffer?"arraybuffer":void 0},i.checkSupport=function(g){if(!a[g.toLowerCase()])throw new Error(g+" is not supported by this platform")},i.MAX_VALUE_16BITS=65535,i.MAX_VALUE_32BITS=-1,i.pretty=function(g){var x,S,D="";for(S=0;S<(g||"").length;S++)D+="\\x"+((x=g.charCodeAt(S))<16?"0":"")+x.toString(16).toUpperCase();return D},i.delay=function(g,x,S){setImmediate(function(){g.apply(S||null,x||[])})},i.inherits=function(g,x){function S(){}S.prototype=x.prototype,g.prototype=new S},i.extend=function(){var g,x,S={};for(g=0;g<arguments.length;g++)for(x in arguments[g])Object.prototype.hasOwnProperty.call(arguments[g],x)&&S[x]===void 0&&(S[x]=arguments[g][x]);return S},i.prepareContent=function(g,x,S,D,F){return d.Promise.resolve(x).then(function(B){return a.blob&&(B instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(B))!==-1)&&typeof FileReader<"u"?new d.Promise(function(q,Q){var te=new FileReader;te.onload=function(se){q(se.target.result)},te.onerror=function(se){Q(se.target.error)},te.readAsArrayBuffer(B)}):B}).then(function(B){var q=i.getTypeOf(B);return q?(q==="arraybuffer"?B=i.transformTo("uint8array",B):q==="string"&&(F?B=s.decode(B):S&&D!==!0&&(B=function(Q){return f(Q,a.uint8array?new Uint8Array(Q.length):new Array(Q.length))}(B))),B):d.Promise.reject(new Error("Can't read the data of '"+g+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(n,r,i){var a=n("./reader/readerFor"),s=n("./utils"),l=n("./signature"),d=n("./zipEntry"),m=n("./support");function f(v){this.files=[],this.loadOptions=v}f.prototype={checkSignature:function(v){if(!this.reader.readAndCheckSignature(v)){this.reader.index-=4;var y=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+s.pretty(y)+", expected "+s.pretty(v)+")")}},isSignature:function(v,y){var p=this.reader.index;this.reader.setIndex(v);var C=this.reader.readString(4)===y;return this.reader.setIndex(p),C},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var v=this.reader.readData(this.zipCommentLength),y=m.uint8array?"uint8array":"array",p=s.transformTo(y,v);this.zipComment=this.loadOptions.decodeFileName(p)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var v,y,p,C=this.zip64EndOfCentralSize-44;0<C;)v=this.reader.readInt(2),y=this.reader.readInt(4),p=this.reader.readData(y),this.zip64ExtensibleData[v]={id:v,length:y,value:p}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var v,y;for(v=0;v<this.files.length;v++)y=this.files[v],this.reader.setIndex(y.localHeaderOffset),this.checkSignature(l.LOCAL_FILE_HEADER),y.readLocalPart(this.reader),y.handleUTF8(),y.processAttributes()},readCentralDir:function(){var v;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(l.CENTRAL_FILE_HEADER);)(v=new d({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(v);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var v=this.reader.lastIndexOfSignature(l.CENTRAL_DIRECTORY_END);if(v<0)throw this.isSignature(0,l.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(v);var y=v;if(this.checkSignature(l.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===s.MAX_VALUE_16BITS||this.diskWithCentralDirStart===s.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===s.MAX_VALUE_16BITS||this.centralDirRecords===s.MAX_VALUE_16BITS||this.centralDirSize===s.MAX_VALUE_32BITS||this.centralDirOffset===s.MAX_VALUE_32BITS){if(this.zip64=!0,(v=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(v),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,l.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(l.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var p=this.centralDirOffset+this.centralDirSize;this.zip64&&(p+=20,p+=12+this.zip64EndOfCentralSize);var C=y-p;if(0<C)this.isSignature(y,l.CENTRAL_FILE_HEADER)||(this.reader.zero=C);else if(C<0)throw new Error("Corrupted zip: missing "+Math.abs(C)+" bytes.")},prepareReader:function(v){this.reader=a(v)},load:function(v){this.prepareReader(v),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},r.exports=f},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(n,r,i){var a=n("./reader/readerFor"),s=n("./utils"),l=n("./compressedObject"),d=n("./crc32"),m=n("./utf8"),f=n("./compressions"),v=n("./support");function y(p,C){this.options=p,this.loadOptions=C}y.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(p){var C,g;if(p.skip(22),this.fileNameLength=p.readInt(2),g=p.readInt(2),this.fileName=p.readData(this.fileNameLength),p.skip(g),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((C=function(x){for(var S in f)if(Object.prototype.hasOwnProperty.call(f,S)&&f[S].magic===x)return f[S];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new l(this.compressedSize,this.uncompressedSize,this.crc32,C,p.readData(this.compressedSize))},readCentralPart:function(p){this.versionMadeBy=p.readInt(2),p.skip(2),this.bitFlag=p.readInt(2),this.compressionMethod=p.readString(2),this.date=p.readDate(),this.crc32=p.readInt(4),this.compressedSize=p.readInt(4),this.uncompressedSize=p.readInt(4);var C=p.readInt(2);if(this.extraFieldsLength=p.readInt(2),this.fileCommentLength=p.readInt(2),this.diskNumberStart=p.readInt(2),this.internalFileAttributes=p.readInt(2),this.externalFileAttributes=p.readInt(4),this.localHeaderOffset=p.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");p.skip(C),this.readExtraFields(p),this.parseZIP64ExtraField(p),this.fileComment=p.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var p=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),p==0&&(this.dosPermissions=63&this.externalFileAttributes),p==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var p=a(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=p.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=p.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=p.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=p.readInt(4))}},readExtraFields:function(p){var C,g,x,S=p.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});p.index+4<S;)C=p.readInt(2),g=p.readInt(2),x=p.readData(g),this.extraFields[C]={id:C,length:g,value:x};p.setIndex(S)},handleUTF8:function(){var p=v.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=m.utf8decode(this.fileName),this.fileCommentStr=m.utf8decode(this.fileComment);else{var C=this.findExtraFieldUnicodePath();if(C!==null)this.fileNameStr=C;else{var g=s.transformTo(p,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(g)}var x=this.findExtraFieldUnicodeComment();if(x!==null)this.fileCommentStr=x;else{var S=s.transformTo(p,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(S)}}},findExtraFieldUnicodePath:function(){var p=this.extraFields[28789];if(p){var C=a(p.value);return C.readInt(1)!==1||d(this.fileName)!==C.readInt(4)?null:m.utf8decode(C.readData(p.length-5))}return null},findExtraFieldUnicodeComment:function(){var p=this.extraFields[25461];if(p){var C=a(p.value);return C.readInt(1)!==1||d(this.fileComment)!==C.readInt(4)?null:m.utf8decode(C.readData(p.length-5))}return null}},r.exports=y},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(n,r,i){function a(C,g,x){this.name=C,this.dir=x.dir,this.date=x.date,this.comment=x.comment,this.unixPermissions=x.unixPermissions,this.dosPermissions=x.dosPermissions,this._data=g,this._dataBinary=x.binary,this.options={compression:x.compression,compressionOptions:x.compressionOptions}}var s=n("./stream/StreamHelper"),l=n("./stream/DataWorker"),d=n("./utf8"),m=n("./compressedObject"),f=n("./stream/GenericWorker");a.prototype={internalStream:function(C){var g=null,x="string";try{if(!C)throw new Error("No output type specified.");var S=(x=C.toLowerCase())==="string"||x==="text";x!=="binarystring"&&x!=="text"||(x="string"),g=this._decompressWorker();var D=!this._dataBinary;D&&!S&&(g=g.pipe(new d.Utf8EncodeWorker)),!D&&S&&(g=g.pipe(new d.Utf8DecodeWorker))}catch(F){(g=new f("error")).error(F)}return new s(g,x,"")},async:function(C,g){return this.internalStream(C).accumulate(g)},nodeStream:function(C,g){return this.internalStream(C||"nodebuffer").toNodejsStream(g)},_compressWorker:function(C,g){if(this._data instanceof m&&this._data.compression.magic===C.magic)return this._data.getCompressedWorker();var x=this._decompressWorker();return this._dataBinary||(x=x.pipe(new d.Utf8EncodeWorker)),m.createWorkerFrom(x,C,g)},_decompressWorker:function(){return this._data instanceof m?this._data.getContentWorker():this._data instanceof f?this._data:new l(this._data)}};for(var v=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],y=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},p=0;p<v.length;p++)a.prototype[v[p]]=y;r.exports=a},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(n,r,i){(function(a){var s,l,d=a.MutationObserver||a.WebKitMutationObserver;if(d){var m=0,f=new d(C),v=a.document.createTextNode("");f.observe(v,{characterData:!0}),s=function(){v.data=m=++m%2}}else if(a.setImmediate||a.MessageChannel===void 0)s="document"in a&&"onreadystatechange"in a.document.createElement("script")?function(){var g=a.document.createElement("script");g.onreadystatechange=function(){C(),g.onreadystatechange=null,g.parentNode.removeChild(g),g=null},a.document.documentElement.appendChild(g)}:function(){setTimeout(C,0)};else{var y=new a.MessageChannel;y.port1.onmessage=C,s=function(){y.port2.postMessage(0)}}var p=[];function C(){var g,x;l=!0;for(var S=p.length;S;){for(x=p,p=[],g=-1;++g<S;)x[g]();S=p.length}l=!1}r.exports=function(g){p.push(g)!==1||l||s()}}).call(this,typeof Qt<"u"?Qt:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(n,r,i){var a=n("immediate");function s(){}var l={},d=["REJECTED"],m=["FULFILLED"],f=["PENDING"];function v(S){if(typeof S!="function")throw new TypeError("resolver must be a function");this.state=f,this.queue=[],this.outcome=void 0,S!==s&&g(this,S)}function y(S,D,F){this.promise=S,typeof D=="function"&&(this.onFulfilled=D,this.callFulfilled=this.otherCallFulfilled),typeof F=="function"&&(this.onRejected=F,this.callRejected=this.otherCallRejected)}function p(S,D,F){a(function(){var B;try{B=D(F)}catch(q){return l.reject(S,q)}B===S?l.reject(S,new TypeError("Cannot resolve promise with itself")):l.resolve(S,B)})}function C(S){var D=S&&S.then;if(S&&(typeof S=="object"||typeof S=="function")&&typeof D=="function")return function(){D.apply(S,arguments)}}function g(S,D){var F=!1;function B(te){F||(F=!0,l.reject(S,te))}function q(te){F||(F=!0,l.resolve(S,te))}var Q=x(function(){D(q,B)});Q.status==="error"&&B(Q.value)}function x(S,D){var F={};try{F.value=S(D),F.status="success"}catch(B){F.status="error",F.value=B}return F}(r.exports=v).prototype.finally=function(S){if(typeof S!="function")return this;var D=this.constructor;return this.then(function(F){return D.resolve(S()).then(function(){return F})},function(F){return D.resolve(S()).then(function(){throw F})})},v.prototype.catch=function(S){return this.then(null,S)},v.prototype.then=function(S,D){if(typeof S!="function"&&this.state===m||typeof D!="function"&&this.state===d)return this;var F=new this.constructor(s);return this.state!==f?p(F,this.state===m?S:D,this.outcome):this.queue.push(new y(F,S,D)),F},y.prototype.callFulfilled=function(S){l.resolve(this.promise,S)},y.prototype.otherCallFulfilled=function(S){p(this.promise,this.onFulfilled,S)},y.prototype.callRejected=function(S){l.reject(this.promise,S)},y.prototype.otherCallRejected=function(S){p(this.promise,this.onRejected,S)},l.resolve=function(S,D){var F=x(C,D);if(F.status==="error")return l.reject(S,F.value);var B=F.value;if(B)g(S,B);else{S.state=m,S.outcome=D;for(var q=-1,Q=S.queue.length;++q<Q;)S.queue[q].callFulfilled(D)}return S},l.reject=function(S,D){S.state=d,S.outcome=D;for(var F=-1,B=S.queue.length;++F<B;)S.queue[F].callRejected(D);return S},v.resolve=function(S){return S instanceof this?S:l.resolve(new this(s),S)},v.reject=function(S){var D=new this(s);return l.reject(D,S)},v.all=function(S){var D=this;if(Object.prototype.toString.call(S)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=S.length,B=!1;if(!F)return this.resolve([]);for(var q=new Array(F),Q=0,te=-1,se=new this(s);++te<F;)K(S[te],te);return se;function K(ge,Se){D.resolve(ge).then(function($){q[Se]=$,++Q!==F||B||(B=!0,l.resolve(se,q))},function($){B||(B=!0,l.reject(se,$))})}},v.race=function(S){var D=this;if(Object.prototype.toString.call(S)!=="[object Array]")return this.reject(new TypeError("must be an array"));var F=S.length,B=!1;if(!F)return this.resolve([]);for(var q=-1,Q=new this(s);++q<F;)te=S[q],D.resolve(te).then(function(se){B||(B=!0,l.resolve(Q,se))},function(se){B||(B=!0,l.reject(Q,se))});var te;return Q}},{immediate:36}],38:[function(n,r,i){var a={};(0,n("./lib/utils/common").assign)(a,n("./lib/deflate"),n("./lib/inflate"),n("./lib/zlib/constants")),r.exports=a},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(n,r,i){var a=n("./zlib/deflate"),s=n("./utils/common"),l=n("./utils/strings"),d=n("./zlib/messages"),m=n("./zlib/zstream"),f=Object.prototype.toString,v=0,y=-1,p=0,C=8;function g(S){if(!(this instanceof g))return new g(S);this.options=s.assign({level:y,method:C,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},S||{});var D=this.options;D.raw&&0<D.windowBits?D.windowBits=-D.windowBits:D.gzip&&0<D.windowBits&&D.windowBits<16&&(D.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m,this.strm.avail_out=0;var F=a.deflateInit2(this.strm,D.level,D.method,D.windowBits,D.memLevel,D.strategy);if(F!==v)throw new Error(d[F]);if(D.header&&a.deflateSetHeader(this.strm,D.header),D.dictionary){var B;if(B=typeof D.dictionary=="string"?l.string2buf(D.dictionary):f.call(D.dictionary)==="[object ArrayBuffer]"?new Uint8Array(D.dictionary):D.dictionary,(F=a.deflateSetDictionary(this.strm,B))!==v)throw new Error(d[F]);this._dict_set=!0}}function x(S,D){var F=new g(D);if(F.push(S,!0),F.err)throw F.msg||d[F.err];return F.result}g.prototype.push=function(S,D){var F,B,q=this.strm,Q=this.options.chunkSize;if(this.ended)return!1;B=D===~~D?D:D===!0?4:0,typeof S=="string"?q.input=l.string2buf(S):f.call(S)==="[object ArrayBuffer]"?q.input=new Uint8Array(S):q.input=S,q.next_in=0,q.avail_in=q.input.length;do{if(q.avail_out===0&&(q.output=new s.Buf8(Q),q.next_out=0,q.avail_out=Q),(F=a.deflate(q,B))!==1&&F!==v)return this.onEnd(F),!(this.ended=!0);q.avail_out!==0&&(q.avail_in!==0||B!==4&&B!==2)||(this.options.to==="string"?this.onData(l.buf2binstring(s.shrinkBuf(q.output,q.next_out))):this.onData(s.shrinkBuf(q.output,q.next_out)))}while((0<q.avail_in||q.avail_out===0)&&F!==1);return B===4?(F=a.deflateEnd(this.strm),this.onEnd(F),this.ended=!0,F===v):B!==2||(this.onEnd(v),!(q.avail_out=0))},g.prototype.onData=function(S){this.chunks.push(S)},g.prototype.onEnd=function(S){S===v&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=S,this.msg=this.strm.msg},i.Deflate=g,i.deflate=x,i.deflateRaw=function(S,D){return(D=D||{}).raw=!0,x(S,D)},i.gzip=function(S,D){return(D=D||{}).gzip=!0,x(S,D)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(n,r,i){var a=n("./zlib/inflate"),s=n("./utils/common"),l=n("./utils/strings"),d=n("./zlib/constants"),m=n("./zlib/messages"),f=n("./zlib/zstream"),v=n("./zlib/gzheader"),y=Object.prototype.toString;function p(g){if(!(this instanceof p))return new p(g);this.options=s.assign({chunkSize:16384,windowBits:0,to:""},g||{});var x=this.options;x.raw&&0<=x.windowBits&&x.windowBits<16&&(x.windowBits=-x.windowBits,x.windowBits===0&&(x.windowBits=-15)),!(0<=x.windowBits&&x.windowBits<16)||g&&g.windowBits||(x.windowBits+=32),15<x.windowBits&&x.windowBits<48&&(15&x.windowBits)==0&&(x.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var S=a.inflateInit2(this.strm,x.windowBits);if(S!==d.Z_OK)throw new Error(m[S]);this.header=new v,a.inflateGetHeader(this.strm,this.header)}function C(g,x){var S=new p(x);if(S.push(g,!0),S.err)throw S.msg||m[S.err];return S.result}p.prototype.push=function(g,x){var S,D,F,B,q,Q,te=this.strm,se=this.options.chunkSize,K=this.options.dictionary,ge=!1;if(this.ended)return!1;D=x===~~x?x:x===!0?d.Z_FINISH:d.Z_NO_FLUSH,typeof g=="string"?te.input=l.binstring2buf(g):y.call(g)==="[object ArrayBuffer]"?te.input=new Uint8Array(g):te.input=g,te.next_in=0,te.avail_in=te.input.length;do{if(te.avail_out===0&&(te.output=new s.Buf8(se),te.next_out=0,te.avail_out=se),(S=a.inflate(te,d.Z_NO_FLUSH))===d.Z_NEED_DICT&&K&&(Q=typeof K=="string"?l.string2buf(K):y.call(K)==="[object ArrayBuffer]"?new Uint8Array(K):K,S=a.inflateSetDictionary(this.strm,Q)),S===d.Z_BUF_ERROR&&ge===!0&&(S=d.Z_OK,ge=!1),S!==d.Z_STREAM_END&&S!==d.Z_OK)return this.onEnd(S),!(this.ended=!0);te.next_out&&(te.avail_out!==0&&S!==d.Z_STREAM_END&&(te.avail_in!==0||D!==d.Z_FINISH&&D!==d.Z_SYNC_FLUSH)||(this.options.to==="string"?(F=l.utf8border(te.output,te.next_out),B=te.next_out-F,q=l.buf2string(te.output,F),te.next_out=B,te.avail_out=se-B,B&&s.arraySet(te.output,te.output,F,B,0),this.onData(q)):this.onData(s.shrinkBuf(te.output,te.next_out)))),te.avail_in===0&&te.avail_out===0&&(ge=!0)}while((0<te.avail_in||te.avail_out===0)&&S!==d.Z_STREAM_END);return S===d.Z_STREAM_END&&(D=d.Z_FINISH),D===d.Z_FINISH?(S=a.inflateEnd(this.strm),this.onEnd(S),this.ended=!0,S===d.Z_OK):D!==d.Z_SYNC_FLUSH||(this.onEnd(d.Z_OK),!(te.avail_out=0))},p.prototype.onData=function(g){this.chunks.push(g)},p.prototype.onEnd=function(g){g===d.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=g,this.msg=this.strm.msg},i.Inflate=p,i.inflate=C,i.inflateRaw=function(g,x){return(x=x||{}).raw=!0,C(g,x)},i.ungzip=C},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(n,r,i){var a=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";i.assign=function(d){for(var m=Array.prototype.slice.call(arguments,1);m.length;){var f=m.shift();if(f){if(typeof f!="object")throw new TypeError(f+"must be non-object");for(var v in f)f.hasOwnProperty(v)&&(d[v]=f[v])}}return d},i.shrinkBuf=function(d,m){return d.length===m?d:d.subarray?d.subarray(0,m):(d.length=m,d)};var s={arraySet:function(d,m,f,v,y){if(m.subarray&&d.subarray)d.set(m.subarray(f,f+v),y);else for(var p=0;p<v;p++)d[y+p]=m[f+p]},flattenChunks:function(d){var m,f,v,y,p,C;for(m=v=0,f=d.length;m<f;m++)v+=d[m].length;for(C=new Uint8Array(v),m=y=0,f=d.length;m<f;m++)p=d[m],C.set(p,y),y+=p.length;return C}},l={arraySet:function(d,m,f,v,y){for(var p=0;p<v;p++)d[y+p]=m[f+p]},flattenChunks:function(d){return[].concat.apply([],d)}};i.setTyped=function(d){d?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,s)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,l))},i.setTyped(a)},{}],42:[function(n,r,i){var a=n("./common"),s=!0,l=!0;try{String.fromCharCode.apply(null,[0])}catch{s=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{l=!1}for(var d=new a.Buf8(256),m=0;m<256;m++)d[m]=252<=m?6:248<=m?5:240<=m?4:224<=m?3:192<=m?2:1;function f(v,y){if(y<65537&&(v.subarray&&l||!v.subarray&&s))return String.fromCharCode.apply(null,a.shrinkBuf(v,y));for(var p="",C=0;C<y;C++)p+=String.fromCharCode(v[C]);return p}d[254]=d[254]=1,i.string2buf=function(v){var y,p,C,g,x,S=v.length,D=0;for(g=0;g<S;g++)(64512&(p=v.charCodeAt(g)))==55296&&g+1<S&&(64512&(C=v.charCodeAt(g+1)))==56320&&(p=65536+(p-55296<<10)+(C-56320),g++),D+=p<128?1:p<2048?2:p<65536?3:4;for(y=new a.Buf8(D),g=x=0;x<D;g++)(64512&(p=v.charCodeAt(g)))==55296&&g+1<S&&(64512&(C=v.charCodeAt(g+1)))==56320&&(p=65536+(p-55296<<10)+(C-56320),g++),p<128?y[x++]=p:(p<2048?y[x++]=192|p>>>6:(p<65536?y[x++]=224|p>>>12:(y[x++]=240|p>>>18,y[x++]=128|p>>>12&63),y[x++]=128|p>>>6&63),y[x++]=128|63&p);return y},i.buf2binstring=function(v){return f(v,v.length)},i.binstring2buf=function(v){for(var y=new a.Buf8(v.length),p=0,C=y.length;p<C;p++)y[p]=v.charCodeAt(p);return y},i.buf2string=function(v,y){var p,C,g,x,S=y||v.length,D=new Array(2*S);for(p=C=0;p<S;)if((g=v[p++])<128)D[C++]=g;else if(4<(x=d[g]))D[C++]=65533,p+=x-1;else{for(g&=x===2?31:x===3?15:7;1<x&&p<S;)g=g<<6|63&v[p++],x--;1<x?D[C++]=65533:g<65536?D[C++]=g:(g-=65536,D[C++]=55296|g>>10&1023,D[C++]=56320|1023&g)}return f(D,C)},i.utf8border=function(v,y){var p;for((y=y||v.length)>v.length&&(y=v.length),p=y-1;0<=p&&(192&v[p])==128;)p--;return p<0||p===0?y:p+d[v[p]]>y?p:y}},{"./common":41}],43:[function(n,r,i){r.exports=function(a,s,l,d){for(var m=65535&a|0,f=a>>>16&65535|0,v=0;l!==0;){for(l-=v=2e3<l?2e3:l;f=f+(m=m+s[d++]|0)|0,--v;);m%=65521,f%=65521}return m|f<<16|0}},{}],44:[function(n,r,i){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(n,r,i){var a=function(){for(var s,l=[],d=0;d<256;d++){s=d;for(var m=0;m<8;m++)s=1&s?3988292384^s>>>1:s>>>1;l[d]=s}return l}();r.exports=function(s,l,d,m){var f=a,v=m+d;s^=-1;for(var y=m;y<v;y++)s=s>>>8^f[255&(s^l[y])];return-1^s}},{}],46:[function(n,r,i){var a,s=n("../utils/common"),l=n("./trees"),d=n("./adler32"),m=n("./crc32"),f=n("./messages"),v=0,y=4,p=0,C=-2,g=-1,x=4,S=2,D=8,F=9,B=286,q=30,Q=19,te=2*B+1,se=15,K=3,ge=258,Se=ge+K+1,$=42,ee=113,_=1,Z=2,$e=3,fe=4;function k(b,ie){return b.msg=f[ie],ie}function E(b){return(b<<1)-(4<b?9:0)}function N(b){for(var ie=b.length;0<=--ie;)b[ie]=0}function I(b){var ie=b.state,J=ie.pending;J>b.avail_out&&(J=b.avail_out),J!==0&&(s.arraySet(b.output,ie.pending_buf,ie.pending_out,J,b.next_out),b.next_out+=J,ie.pending_out+=J,b.total_out+=J,b.avail_out-=J,ie.pending-=J,ie.pending===0&&(ie.pending_out=0))}function R(b,ie){l._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,ie),b.block_start=b.strstart,I(b.strm)}function j(b,ie){b.pending_buf[b.pending++]=ie}function U(b,ie){b.pending_buf[b.pending++]=ie>>>8&255,b.pending_buf[b.pending++]=255&ie}function W(b,ie){var J,M,A=b.max_chain_length,V=b.strstart,ae=b.prev_length,re=b.nice_match,H=b.strstart>b.w_size-Se?b.strstart-(b.w_size-Se):0,de=b.window,xe=b.w_mask,he=b.prev,Ie=b.strstart+ge,Ge=de[V+ae-1],Le=de[V+ae];b.prev_length>=b.good_match&&(A>>=2),re>b.lookahead&&(re=b.lookahead);do if(de[(J=ie)+ae]===Le&&de[J+ae-1]===Ge&&de[J]===de[V]&&de[++J]===de[V+1]){V+=2,J++;do;while(de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&de[++V]===de[++J]&&V<Ie);if(M=ge-(Ie-V),V=Ie-ge,ae<M){if(b.match_start=ie,re<=(ae=M))break;Ge=de[V+ae-1],Le=de[V+ae]}}while((ie=he[ie&xe])>H&&--A!=0);return ae<=b.lookahead?ae:b.lookahead}function le(b){var ie,J,M,A,V,ae,re,H,de,xe,he=b.w_size;do{if(A=b.window_size-b.lookahead-b.strstart,b.strstart>=he+(he-Se)){for(s.arraySet(b.window,b.window,he,he,0),b.match_start-=he,b.strstart-=he,b.block_start-=he,ie=J=b.hash_size;M=b.head[--ie],b.head[ie]=he<=M?M-he:0,--J;);for(ie=J=he;M=b.prev[--ie],b.prev[ie]=he<=M?M-he:0,--J;);A+=he}if(b.strm.avail_in===0)break;if(ae=b.strm,re=b.window,H=b.strstart+b.lookahead,de=A,xe=void 0,xe=ae.avail_in,de<xe&&(xe=de),J=xe===0?0:(ae.avail_in-=xe,s.arraySet(re,ae.input,ae.next_in,xe,H),ae.state.wrap===1?ae.adler=d(ae.adler,re,xe,H):ae.state.wrap===2&&(ae.adler=m(ae.adler,re,xe,H)),ae.next_in+=xe,ae.total_in+=xe,xe),b.lookahead+=J,b.lookahead+b.insert>=K)for(V=b.strstart-b.insert,b.ins_h=b.window[V],b.ins_h=(b.ins_h<<b.hash_shift^b.window[V+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[V+K-1])&b.hash_mask,b.prev[V&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=V,V++,b.insert--,!(b.lookahead+b.insert<K)););}while(b.lookahead<Se&&b.strm.avail_in!==0)}function ce(b,ie){for(var J,M;;){if(b.lookahead<Se){if(le(b),b.lookahead<Se&&ie===v)return _;if(b.lookahead===0)break}if(J=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,J=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),J!==0&&b.strstart-J<=b.w_size-Se&&(b.match_length=W(b,J)),b.match_length>=K)if(M=l._tr_tally(b,b.strstart-b.match_start,b.match_length-K),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=K){for(b.match_length--;b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,J=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart,--b.match_length!=0;);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else M=l._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(M&&(R(b,!1),b.strm.avail_out===0))return _}return b.insert=b.strstart<K-1?b.strstart:K-1,ie===y?(R(b,!0),b.strm.avail_out===0?$e:fe):b.last_lit&&(R(b,!1),b.strm.avail_out===0)?_:Z}function me(b,ie){for(var J,M,A;;){if(b.lookahead<Se){if(le(b),b.lookahead<Se&&ie===v)return _;if(b.lookahead===0)break}if(J=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,J=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,J!==0&&b.prev_length<b.max_lazy_match&&b.strstart-J<=b.w_size-Se&&(b.match_length=W(b,J),b.match_length<=5&&(b.strategy===1||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=K&&b.match_length<=b.prev_length){for(A=b.strstart+b.lookahead-K,M=l._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K),b.lookahead-=b.prev_length-1,b.prev_length-=2;++b.strstart<=A&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,J=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),--b.prev_length!=0;);if(b.match_available=0,b.match_length=K-1,b.strstart++,M&&(R(b,!1),b.strm.avail_out===0))return _}else if(b.match_available){if((M=l._tr_tally(b,0,b.window[b.strstart-1]))&&R(b,!1),b.strstart++,b.lookahead--,b.strm.avail_out===0)return _}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(M=l._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,ie===y?(R(b,!0),b.strm.avail_out===0?$e:fe):b.last_lit&&(R(b,!1),b.strm.avail_out===0)?_:Z}function ze(b,ie,J,M,A){this.good_length=b,this.max_lazy=ie,this.nice_length=J,this.max_chain=M,this.func=A}function Me(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=D,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new s.Buf16(2*te),this.dyn_dtree=new s.Buf16(2*(2*q+1)),this.bl_tree=new s.Buf16(2*(2*Q+1)),N(this.dyn_ltree),N(this.dyn_dtree),N(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new s.Buf16(se+1),this.heap=new s.Buf16(2*B+1),N(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new s.Buf16(2*B+1),N(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Oe(b){var ie;return b&&b.state?(b.total_in=b.total_out=0,b.data_type=S,(ie=b.state).pending=0,ie.pending_out=0,ie.wrap<0&&(ie.wrap=-ie.wrap),ie.status=ie.wrap?$:ee,b.adler=ie.wrap===2?0:1,ie.last_flush=v,l._tr_init(ie),p):k(b,C)}function Be(b){var ie=Oe(b);return ie===p&&function(J){J.window_size=2*J.w_size,N(J.head),J.max_lazy_match=a[J.level].max_lazy,J.good_match=a[J.level].good_length,J.nice_match=a[J.level].nice_length,J.max_chain_length=a[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=K-1,J.match_available=0,J.ins_h=0}(b.state),ie}function Ke(b,ie,J,M,A,V){if(!b)return C;var ae=1;if(ie===g&&(ie=6),M<0?(ae=0,M=-M):15<M&&(ae=2,M-=16),A<1||F<A||J!==D||M<8||15<M||ie<0||9<ie||V<0||x<V)return k(b,C);M===8&&(M=9);var re=new Me;return(b.state=re).strm=b,re.wrap=ae,re.gzhead=null,re.w_bits=M,re.w_size=1<<re.w_bits,re.w_mask=re.w_size-1,re.hash_bits=A+7,re.hash_size=1<<re.hash_bits,re.hash_mask=re.hash_size-1,re.hash_shift=~~((re.hash_bits+K-1)/K),re.window=new s.Buf8(2*re.w_size),re.head=new s.Buf16(re.hash_size),re.prev=new s.Buf16(re.w_size),re.lit_bufsize=1<<A+6,re.pending_buf_size=4*re.lit_bufsize,re.pending_buf=new s.Buf8(re.pending_buf_size),re.d_buf=1*re.lit_bufsize,re.l_buf=3*re.lit_bufsize,re.level=ie,re.strategy=V,re.method=J,Be(b)}a=[new ze(0,0,0,0,function(b,ie){var J=65535;for(J>b.pending_buf_size-5&&(J=b.pending_buf_size-5);;){if(b.lookahead<=1){if(le(b),b.lookahead===0&&ie===v)return _;if(b.lookahead===0)break}b.strstart+=b.lookahead,b.lookahead=0;var M=b.block_start+J;if((b.strstart===0||b.strstart>=M)&&(b.lookahead=b.strstart-M,b.strstart=M,R(b,!1),b.strm.avail_out===0)||b.strstart-b.block_start>=b.w_size-Se&&(R(b,!1),b.strm.avail_out===0))return _}return b.insert=0,ie===y?(R(b,!0),b.strm.avail_out===0?$e:fe):(b.strstart>b.block_start&&(R(b,!1),b.strm.avail_out),_)}),new ze(4,4,8,4,ce),new ze(4,5,16,8,ce),new ze(4,6,32,32,ce),new ze(4,4,16,16,me),new ze(8,16,32,32,me),new ze(8,16,128,128,me),new ze(8,32,128,256,me),new ze(32,128,258,1024,me),new ze(32,258,258,4096,me)],i.deflateInit=function(b,ie){return Ke(b,ie,D,15,8,0)},i.deflateInit2=Ke,i.deflateReset=Be,i.deflateResetKeep=Oe,i.deflateSetHeader=function(b,ie){return b&&b.state?b.state.wrap!==2?C:(b.state.gzhead=ie,p):C},i.deflate=function(b,ie){var J,M,A,V;if(!b||!b.state||5<ie||ie<0)return b?k(b,C):C;if(M=b.state,!b.output||!b.input&&b.avail_in!==0||M.status===666&&ie!==y)return k(b,b.avail_out===0?-5:C);if(M.strm=b,J=M.last_flush,M.last_flush=ie,M.status===$)if(M.wrap===2)b.adler=0,j(M,31),j(M,139),j(M,8),M.gzhead?(j(M,(M.gzhead.text?1:0)+(M.gzhead.hcrc?2:0)+(M.gzhead.extra?4:0)+(M.gzhead.name?8:0)+(M.gzhead.comment?16:0)),j(M,255&M.gzhead.time),j(M,M.gzhead.time>>8&255),j(M,M.gzhead.time>>16&255),j(M,M.gzhead.time>>24&255),j(M,M.level===9?2:2<=M.strategy||M.level<2?4:0),j(M,255&M.gzhead.os),M.gzhead.extra&&M.gzhead.extra.length&&(j(M,255&M.gzhead.extra.length),j(M,M.gzhead.extra.length>>8&255)),M.gzhead.hcrc&&(b.adler=m(b.adler,M.pending_buf,M.pending,0)),M.gzindex=0,M.status=69):(j(M,0),j(M,0),j(M,0),j(M,0),j(M,0),j(M,M.level===9?2:2<=M.strategy||M.level<2?4:0),j(M,3),M.status=ee);else{var ae=D+(M.w_bits-8<<4)<<8;ae|=(2<=M.strategy||M.level<2?0:M.level<6?1:M.level===6?2:3)<<6,M.strstart!==0&&(ae|=32),ae+=31-ae%31,M.status=ee,U(M,ae),M.strstart!==0&&(U(M,b.adler>>>16),U(M,65535&b.adler)),b.adler=1}if(M.status===69)if(M.gzhead.extra){for(A=M.pending;M.gzindex<(65535&M.gzhead.extra.length)&&(M.pending!==M.pending_buf_size||(M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),I(b),A=M.pending,M.pending!==M.pending_buf_size));)j(M,255&M.gzhead.extra[M.gzindex]),M.gzindex++;M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),M.gzindex===M.gzhead.extra.length&&(M.gzindex=0,M.status=73)}else M.status=73;if(M.status===73)if(M.gzhead.name){A=M.pending;do{if(M.pending===M.pending_buf_size&&(M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),I(b),A=M.pending,M.pending===M.pending_buf_size)){V=1;break}V=M.gzindex<M.gzhead.name.length?255&M.gzhead.name.charCodeAt(M.gzindex++):0,j(M,V)}while(V!==0);M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),V===0&&(M.gzindex=0,M.status=91)}else M.status=91;if(M.status===91)if(M.gzhead.comment){A=M.pending;do{if(M.pending===M.pending_buf_size&&(M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),I(b),A=M.pending,M.pending===M.pending_buf_size)){V=1;break}V=M.gzindex<M.gzhead.comment.length?255&M.gzhead.comment.charCodeAt(M.gzindex++):0,j(M,V)}while(V!==0);M.gzhead.hcrc&&M.pending>A&&(b.adler=m(b.adler,M.pending_buf,M.pending-A,A)),V===0&&(M.status=103)}else M.status=103;if(M.status===103&&(M.gzhead.hcrc?(M.pending+2>M.pending_buf_size&&I(b),M.pending+2<=M.pending_buf_size&&(j(M,255&b.adler),j(M,b.adler>>8&255),b.adler=0,M.status=ee)):M.status=ee),M.pending!==0){if(I(b),b.avail_out===0)return M.last_flush=-1,p}else if(b.avail_in===0&&E(ie)<=E(J)&&ie!==y)return k(b,-5);if(M.status===666&&b.avail_in!==0)return k(b,-5);if(b.avail_in!==0||M.lookahead!==0||ie!==v&&M.status!==666){var re=M.strategy===2?function(H,de){for(var xe;;){if(H.lookahead===0&&(le(H),H.lookahead===0)){if(de===v)return _;break}if(H.match_length=0,xe=l._tr_tally(H,0,H.window[H.strstart]),H.lookahead--,H.strstart++,xe&&(R(H,!1),H.strm.avail_out===0))return _}return H.insert=0,de===y?(R(H,!0),H.strm.avail_out===0?$e:fe):H.last_lit&&(R(H,!1),H.strm.avail_out===0)?_:Z}(M,ie):M.strategy===3?function(H,de){for(var xe,he,Ie,Ge,Le=H.window;;){if(H.lookahead<=ge){if(le(H),H.lookahead<=ge&&de===v)return _;if(H.lookahead===0)break}if(H.match_length=0,H.lookahead>=K&&0<H.strstart&&(he=Le[Ie=H.strstart-1])===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]){Ge=H.strstart+ge;do;while(he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&he===Le[++Ie]&&Ie<Ge);H.match_length=ge-(Ge-Ie),H.match_length>H.lookahead&&(H.match_length=H.lookahead)}if(H.match_length>=K?(xe=l._tr_tally(H,1,H.match_length-K),H.lookahead-=H.match_length,H.strstart+=H.match_length,H.match_length=0):(xe=l._tr_tally(H,0,H.window[H.strstart]),H.lookahead--,H.strstart++),xe&&(R(H,!1),H.strm.avail_out===0))return _}return H.insert=0,de===y?(R(H,!0),H.strm.avail_out===0?$e:fe):H.last_lit&&(R(H,!1),H.strm.avail_out===0)?_:Z}(M,ie):a[M.level].func(M,ie);if(re!==$e&&re!==fe||(M.status=666),re===_||re===$e)return b.avail_out===0&&(M.last_flush=-1),p;if(re===Z&&(ie===1?l._tr_align(M):ie!==5&&(l._tr_stored_block(M,0,0,!1),ie===3&&(N(M.head),M.lookahead===0&&(M.strstart=0,M.block_start=0,M.insert=0))),I(b),b.avail_out===0))return M.last_flush=-1,p}return ie!==y?p:M.wrap<=0?1:(M.wrap===2?(j(M,255&b.adler),j(M,b.adler>>8&255),j(M,b.adler>>16&255),j(M,b.adler>>24&255),j(M,255&b.total_in),j(M,b.total_in>>8&255),j(M,b.total_in>>16&255),j(M,b.total_in>>24&255)):(U(M,b.adler>>>16),U(M,65535&b.adler)),I(b),0<M.wrap&&(M.wrap=-M.wrap),M.pending!==0?p:1)},i.deflateEnd=function(b){var ie;return b&&b.state?(ie=b.state.status)!==$&&ie!==69&&ie!==73&&ie!==91&&ie!==103&&ie!==ee&&ie!==666?k(b,C):(b.state=null,ie===ee?k(b,-3):p):C},i.deflateSetDictionary=function(b,ie){var J,M,A,V,ae,re,H,de,xe=ie.length;if(!b||!b.state||(V=(J=b.state).wrap)===2||V===1&&J.status!==$||J.lookahead)return C;for(V===1&&(b.adler=d(b.adler,ie,xe,0)),J.wrap=0,xe>=J.w_size&&(V===0&&(N(J.head),J.strstart=0,J.block_start=0,J.insert=0),de=new s.Buf8(J.w_size),s.arraySet(de,ie,xe-J.w_size,J.w_size,0),ie=de,xe=J.w_size),ae=b.avail_in,re=b.next_in,H=b.input,b.avail_in=xe,b.next_in=0,b.input=ie,le(J);J.lookahead>=K;){for(M=J.strstart,A=J.lookahead-(K-1);J.ins_h=(J.ins_h<<J.hash_shift^J.window[M+K-1])&J.hash_mask,J.prev[M&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=M,M++,--A;);J.strstart=M,J.lookahead=K-1,le(J)}return J.strstart+=J.lookahead,J.block_start=J.strstart,J.insert=J.lookahead,J.lookahead=0,J.match_length=J.prev_length=K-1,J.match_available=0,b.next_in=re,b.input=H,b.avail_in=ae,J.wrap=V,p},i.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(n,r,i){r.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(n,r,i){r.exports=function(a,s){var l,d,m,f,v,y,p,C,g,x,S,D,F,B,q,Q,te,se,K,ge,Se,$,ee,_,Z;l=a.state,d=a.next_in,_=a.input,m=d+(a.avail_in-5),f=a.next_out,Z=a.output,v=f-(s-a.avail_out),y=f+(a.avail_out-257),p=l.dmax,C=l.wsize,g=l.whave,x=l.wnext,S=l.window,D=l.hold,F=l.bits,B=l.lencode,q=l.distcode,Q=(1<<l.lenbits)-1,te=(1<<l.distbits)-1;e:do{F<15&&(D+=_[d++]<<F,F+=8,D+=_[d++]<<F,F+=8),se=B[D&Q];t:for(;;){if(D>>>=K=se>>>24,F-=K,(K=se>>>16&255)===0)Z[f++]=65535&se;else{if(!(16&K)){if((64&K)==0){se=B[(65535&se)+(D&(1<<K)-1)];continue t}if(32&K){l.mode=12;break e}a.msg="invalid literal/length code",l.mode=30;break e}ge=65535&se,(K&=15)&&(F<K&&(D+=_[d++]<<F,F+=8),ge+=D&(1<<K)-1,D>>>=K,F-=K),F<15&&(D+=_[d++]<<F,F+=8,D+=_[d++]<<F,F+=8),se=q[D&te];n:for(;;){if(D>>>=K=se>>>24,F-=K,!(16&(K=se>>>16&255))){if((64&K)==0){se=q[(65535&se)+(D&(1<<K)-1)];continue n}a.msg="invalid distance code",l.mode=30;break e}if(Se=65535&se,F<(K&=15)&&(D+=_[d++]<<F,(F+=8)<K&&(D+=_[d++]<<F,F+=8)),p<(Se+=D&(1<<K)-1)){a.msg="invalid distance too far back",l.mode=30;break e}if(D>>>=K,F-=K,(K=f-v)<Se){if(g<(K=Se-K)&&l.sane){a.msg="invalid distance too far back",l.mode=30;break e}if(ee=S,($=0)===x){if($+=C-K,K<ge){for(ge-=K;Z[f++]=S[$++],--K;);$=f-Se,ee=Z}}else if(x<K){if($+=C+x-K,(K-=x)<ge){for(ge-=K;Z[f++]=S[$++],--K;);if($=0,x<ge){for(ge-=K=x;Z[f++]=S[$++],--K;);$=f-Se,ee=Z}}}else if($+=x-K,K<ge){for(ge-=K;Z[f++]=S[$++],--K;);$=f-Se,ee=Z}for(;2<ge;)Z[f++]=ee[$++],Z[f++]=ee[$++],Z[f++]=ee[$++],ge-=3;ge&&(Z[f++]=ee[$++],1<ge&&(Z[f++]=ee[$++]))}else{for($=f-Se;Z[f++]=Z[$++],Z[f++]=Z[$++],Z[f++]=Z[$++],2<(ge-=3););ge&&(Z[f++]=Z[$++],1<ge&&(Z[f++]=Z[$++]))}break}}break}}while(d<m&&f<y);d-=ge=F>>3,D&=(1<<(F-=ge<<3))-1,a.next_in=d,a.next_out=f,a.avail_in=d<m?m-d+5:5-(d-m),a.avail_out=f<y?y-f+257:257-(f-y),l.hold=D,l.bits=F}},{}],49:[function(n,r,i){var a=n("../utils/common"),s=n("./adler32"),l=n("./crc32"),d=n("./inffast"),m=n("./inftrees"),f=1,v=2,y=0,p=-2,C=1,g=852,x=592;function S($){return($>>>24&255)+($>>>8&65280)+((65280&$)<<8)+((255&$)<<24)}function D(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new a.Buf16(320),this.work=new a.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function F($){var ee;return $&&$.state?(ee=$.state,$.total_in=$.total_out=ee.total=0,$.msg="",ee.wrap&&($.adler=1&ee.wrap),ee.mode=C,ee.last=0,ee.havedict=0,ee.dmax=32768,ee.head=null,ee.hold=0,ee.bits=0,ee.lencode=ee.lendyn=new a.Buf32(g),ee.distcode=ee.distdyn=new a.Buf32(x),ee.sane=1,ee.back=-1,y):p}function B($){var ee;return $&&$.state?((ee=$.state).wsize=0,ee.whave=0,ee.wnext=0,F($)):p}function q($,ee){var _,Z;return $&&$.state?(Z=$.state,ee<0?(_=0,ee=-ee):(_=1+(ee>>4),ee<48&&(ee&=15)),ee&&(ee<8||15<ee)?p:(Z.window!==null&&Z.wbits!==ee&&(Z.window=null),Z.wrap=_,Z.wbits=ee,B($))):p}function Q($,ee){var _,Z;return $?(Z=new D,($.state=Z).window=null,(_=q($,ee))!==y&&($.state=null),_):p}var te,se,K=!0;function ge($){if(K){var ee;for(te=new a.Buf32(512),se=new a.Buf32(32),ee=0;ee<144;)$.lens[ee++]=8;for(;ee<256;)$.lens[ee++]=9;for(;ee<280;)$.lens[ee++]=7;for(;ee<288;)$.lens[ee++]=8;for(m(f,$.lens,0,288,te,0,$.work,{bits:9}),ee=0;ee<32;)$.lens[ee++]=5;m(v,$.lens,0,32,se,0,$.work,{bits:5}),K=!1}$.lencode=te,$.lenbits=9,$.distcode=se,$.distbits=5}function Se($,ee,_,Z){var $e,fe=$.state;return fe.window===null&&(fe.wsize=1<<fe.wbits,fe.wnext=0,fe.whave=0,fe.window=new a.Buf8(fe.wsize)),Z>=fe.wsize?(a.arraySet(fe.window,ee,_-fe.wsize,fe.wsize,0),fe.wnext=0,fe.whave=fe.wsize):(Z<($e=fe.wsize-fe.wnext)&&($e=Z),a.arraySet(fe.window,ee,_-Z,$e,fe.wnext),(Z-=$e)?(a.arraySet(fe.window,ee,_-Z,Z,0),fe.wnext=Z,fe.whave=fe.wsize):(fe.wnext+=$e,fe.wnext===fe.wsize&&(fe.wnext=0),fe.whave<fe.wsize&&(fe.whave+=$e))),0}i.inflateReset=B,i.inflateReset2=q,i.inflateResetKeep=F,i.inflateInit=function($){return Q($,15)},i.inflateInit2=Q,i.inflate=function($,ee){var _,Z,$e,fe,k,E,N,I,R,j,U,W,le,ce,me,ze,Me,Oe,Be,Ke,b,ie,J,M,A=0,V=new a.Buf8(4),ae=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!$||!$.state||!$.output||!$.input&&$.avail_in!==0)return p;(_=$.state).mode===12&&(_.mode=13),k=$.next_out,$e=$.output,N=$.avail_out,fe=$.next_in,Z=$.input,E=$.avail_in,I=_.hold,R=_.bits,j=E,U=N,ie=y;e:for(;;)switch(_.mode){case C:if(_.wrap===0){_.mode=13;break}for(;R<16;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(2&_.wrap&&I===35615){V[_.check=0]=255&I,V[1]=I>>>8&255,_.check=l(_.check,V,2,0),R=I=0,_.mode=2;break}if(_.flags=0,_.head&&(_.head.done=!1),!(1&_.wrap)||(((255&I)<<8)+(I>>8))%31){$.msg="incorrect header check",_.mode=30;break}if((15&I)!=8){$.msg="unknown compression method",_.mode=30;break}if(R-=4,b=8+(15&(I>>>=4)),_.wbits===0)_.wbits=b;else if(b>_.wbits){$.msg="invalid window size",_.mode=30;break}_.dmax=1<<b,$.adler=_.check=1,_.mode=512&I?10:12,R=I=0;break;case 2:for(;R<16;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(_.flags=I,(255&_.flags)!=8){$.msg="unknown compression method",_.mode=30;break}if(57344&_.flags){$.msg="unknown header flags set",_.mode=30;break}_.head&&(_.head.text=I>>8&1),512&_.flags&&(V[0]=255&I,V[1]=I>>>8&255,_.check=l(_.check,V,2,0)),R=I=0,_.mode=3;case 3:for(;R<32;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.head&&(_.head.time=I),512&_.flags&&(V[0]=255&I,V[1]=I>>>8&255,V[2]=I>>>16&255,V[3]=I>>>24&255,_.check=l(_.check,V,4,0)),R=I=0,_.mode=4;case 4:for(;R<16;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.head&&(_.head.xflags=255&I,_.head.os=I>>8),512&_.flags&&(V[0]=255&I,V[1]=I>>>8&255,_.check=l(_.check,V,2,0)),R=I=0,_.mode=5;case 5:if(1024&_.flags){for(;R<16;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.length=I,_.head&&(_.head.extra_len=I),512&_.flags&&(V[0]=255&I,V[1]=I>>>8&255,_.check=l(_.check,V,2,0)),R=I=0}else _.head&&(_.head.extra=null);_.mode=6;case 6:if(1024&_.flags&&(E<(W=_.length)&&(W=E),W&&(_.head&&(b=_.head.extra_len-_.length,_.head.extra||(_.head.extra=new Array(_.head.extra_len)),a.arraySet(_.head.extra,Z,fe,W,b)),512&_.flags&&(_.check=l(_.check,Z,W,fe)),E-=W,fe+=W,_.length-=W),_.length))break e;_.length=0,_.mode=7;case 7:if(2048&_.flags){if(E===0)break e;for(W=0;b=Z[fe+W++],_.head&&b&&_.length<65536&&(_.head.name+=String.fromCharCode(b)),b&&W<E;);if(512&_.flags&&(_.check=l(_.check,Z,W,fe)),E-=W,fe+=W,b)break e}else _.head&&(_.head.name=null);_.length=0,_.mode=8;case 8:if(4096&_.flags){if(E===0)break e;for(W=0;b=Z[fe+W++],_.head&&b&&_.length<65536&&(_.head.comment+=String.fromCharCode(b)),b&&W<E;);if(512&_.flags&&(_.check=l(_.check,Z,W,fe)),E-=W,fe+=W,b)break e}else _.head&&(_.head.comment=null);_.mode=9;case 9:if(512&_.flags){for(;R<16;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(I!==(65535&_.check)){$.msg="header crc mismatch",_.mode=30;break}R=I=0}_.head&&(_.head.hcrc=_.flags>>9&1,_.head.done=!0),$.adler=_.check=0,_.mode=12;break;case 10:for(;R<32;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}$.adler=_.check=S(I),R=I=0,_.mode=11;case 11:if(_.havedict===0)return $.next_out=k,$.avail_out=N,$.next_in=fe,$.avail_in=E,_.hold=I,_.bits=R,2;$.adler=_.check=1,_.mode=12;case 12:if(ee===5||ee===6)break e;case 13:if(_.last){I>>>=7&R,R-=7&R,_.mode=27;break}for(;R<3;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}switch(_.last=1&I,R-=1,3&(I>>>=1)){case 0:_.mode=14;break;case 1:if(ge(_),_.mode=20,ee!==6)break;I>>>=2,R-=2;break e;case 2:_.mode=17;break;case 3:$.msg="invalid block type",_.mode=30}I>>>=2,R-=2;break;case 14:for(I>>>=7&R,R-=7&R;R<32;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if((65535&I)!=(I>>>16^65535)){$.msg="invalid stored block lengths",_.mode=30;break}if(_.length=65535&I,R=I=0,_.mode=15,ee===6)break e;case 15:_.mode=16;case 16:if(W=_.length){if(E<W&&(W=E),N<W&&(W=N),W===0)break e;a.arraySet($e,Z,fe,W,k),E-=W,fe+=W,N-=W,k+=W,_.length-=W;break}_.mode=12;break;case 17:for(;R<14;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(_.nlen=257+(31&I),I>>>=5,R-=5,_.ndist=1+(31&I),I>>>=5,R-=5,_.ncode=4+(15&I),I>>>=4,R-=4,286<_.nlen||30<_.ndist){$.msg="too many length or distance symbols",_.mode=30;break}_.have=0,_.mode=18;case 18:for(;_.have<_.ncode;){for(;R<3;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.lens[ae[_.have++]]=7&I,I>>>=3,R-=3}for(;_.have<19;)_.lens[ae[_.have++]]=0;if(_.lencode=_.lendyn,_.lenbits=7,J={bits:_.lenbits},ie=m(0,_.lens,0,19,_.lencode,0,_.work,J),_.lenbits=J.bits,ie){$.msg="invalid code lengths set",_.mode=30;break}_.have=0,_.mode=19;case 19:for(;_.have<_.nlen+_.ndist;){for(;ze=(A=_.lencode[I&(1<<_.lenbits)-1])>>>16&255,Me=65535&A,!((me=A>>>24)<=R);){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(Me<16)I>>>=me,R-=me,_.lens[_.have++]=Me;else{if(Me===16){for(M=me+2;R<M;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(I>>>=me,R-=me,_.have===0){$.msg="invalid bit length repeat",_.mode=30;break}b=_.lens[_.have-1],W=3+(3&I),I>>>=2,R-=2}else if(Me===17){for(M=me+3;R<M;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}R-=me,b=0,W=3+(7&(I>>>=me)),I>>>=3,R-=3}else{for(M=me+7;R<M;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}R-=me,b=0,W=11+(127&(I>>>=me)),I>>>=7,R-=7}if(_.have+W>_.nlen+_.ndist){$.msg="invalid bit length repeat",_.mode=30;break}for(;W--;)_.lens[_.have++]=b}}if(_.mode===30)break;if(_.lens[256]===0){$.msg="invalid code -- missing end-of-block",_.mode=30;break}if(_.lenbits=9,J={bits:_.lenbits},ie=m(f,_.lens,0,_.nlen,_.lencode,0,_.work,J),_.lenbits=J.bits,ie){$.msg="invalid literal/lengths set",_.mode=30;break}if(_.distbits=6,_.distcode=_.distdyn,J={bits:_.distbits},ie=m(v,_.lens,_.nlen,_.ndist,_.distcode,0,_.work,J),_.distbits=J.bits,ie){$.msg="invalid distances set",_.mode=30;break}if(_.mode=20,ee===6)break e;case 20:_.mode=21;case 21:if(6<=E&&258<=N){$.next_out=k,$.avail_out=N,$.next_in=fe,$.avail_in=E,_.hold=I,_.bits=R,d($,U),k=$.next_out,$e=$.output,N=$.avail_out,fe=$.next_in,Z=$.input,E=$.avail_in,I=_.hold,R=_.bits,_.mode===12&&(_.back=-1);break}for(_.back=0;ze=(A=_.lencode[I&(1<<_.lenbits)-1])>>>16&255,Me=65535&A,!((me=A>>>24)<=R);){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(ze&&(240&ze)==0){for(Oe=me,Be=ze,Ke=Me;ze=(A=_.lencode[Ke+((I&(1<<Oe+Be)-1)>>Oe)])>>>16&255,Me=65535&A,!(Oe+(me=A>>>24)<=R);){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}I>>>=Oe,R-=Oe,_.back+=Oe}if(I>>>=me,R-=me,_.back+=me,_.length=Me,ze===0){_.mode=26;break}if(32&ze){_.back=-1,_.mode=12;break}if(64&ze){$.msg="invalid literal/length code",_.mode=30;break}_.extra=15&ze,_.mode=22;case 22:if(_.extra){for(M=_.extra;R<M;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.length+=I&(1<<_.extra)-1,I>>>=_.extra,R-=_.extra,_.back+=_.extra}_.was=_.length,_.mode=23;case 23:for(;ze=(A=_.distcode[I&(1<<_.distbits)-1])>>>16&255,Me=65535&A,!((me=A>>>24)<=R);){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if((240&ze)==0){for(Oe=me,Be=ze,Ke=Me;ze=(A=_.distcode[Ke+((I&(1<<Oe+Be)-1)>>Oe)])>>>16&255,Me=65535&A,!(Oe+(me=A>>>24)<=R);){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}I>>>=Oe,R-=Oe,_.back+=Oe}if(I>>>=me,R-=me,_.back+=me,64&ze){$.msg="invalid distance code",_.mode=30;break}_.offset=Me,_.extra=15&ze,_.mode=24;case 24:if(_.extra){for(M=_.extra;R<M;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}_.offset+=I&(1<<_.extra)-1,I>>>=_.extra,R-=_.extra,_.back+=_.extra}if(_.offset>_.dmax){$.msg="invalid distance too far back",_.mode=30;break}_.mode=25;case 25:if(N===0)break e;if(W=U-N,_.offset>W){if((W=_.offset-W)>_.whave&&_.sane){$.msg="invalid distance too far back",_.mode=30;break}le=W>_.wnext?(W-=_.wnext,_.wsize-W):_.wnext-W,W>_.length&&(W=_.length),ce=_.window}else ce=$e,le=k-_.offset,W=_.length;for(N<W&&(W=N),N-=W,_.length-=W;$e[k++]=ce[le++],--W;);_.length===0&&(_.mode=21);break;case 26:if(N===0)break e;$e[k++]=_.length,N--,_.mode=21;break;case 27:if(_.wrap){for(;R<32;){if(E===0)break e;E--,I|=Z[fe++]<<R,R+=8}if(U-=N,$.total_out+=U,_.total+=U,U&&($.adler=_.check=_.flags?l(_.check,$e,U,k-U):s(_.check,$e,U,k-U)),U=N,(_.flags?I:S(I))!==_.check){$.msg="incorrect data check",_.mode=30;break}R=I=0}_.mode=28;case 28:if(_.wrap&&_.flags){for(;R<32;){if(E===0)break e;E--,I+=Z[fe++]<<R,R+=8}if(I!==(4294967295&_.total)){$.msg="incorrect length check",_.mode=30;break}R=I=0}_.mode=29;case 29:ie=1;break e;case 30:ie=-3;break e;case 31:return-4;case 32:default:return p}return $.next_out=k,$.avail_out=N,$.next_in=fe,$.avail_in=E,_.hold=I,_.bits=R,(_.wsize||U!==$.avail_out&&_.mode<30&&(_.mode<27||ee!==4))&&Se($,$.output,$.next_out,U-$.avail_out)?(_.mode=31,-4):(j-=$.avail_in,U-=$.avail_out,$.total_in+=j,$.total_out+=U,_.total+=U,_.wrap&&U&&($.adler=_.check=_.flags?l(_.check,$e,U,$.next_out-U):s(_.check,$e,U,$.next_out-U)),$.data_type=_.bits+(_.last?64:0)+(_.mode===12?128:0)+(_.mode===20||_.mode===15?256:0),(j==0&&U===0||ee===4)&&ie===y&&(ie=-5),ie)},i.inflateEnd=function($){if(!$||!$.state)return p;var ee=$.state;return ee.window&&(ee.window=null),$.state=null,y},i.inflateGetHeader=function($,ee){var _;return $&&$.state?(2&(_=$.state).wrap)==0?p:((_.head=ee).done=!1,y):p},i.inflateSetDictionary=function($,ee){var _,Z=ee.length;return $&&$.state?(_=$.state).wrap!==0&&_.mode!==11?p:_.mode===11&&s(1,ee,Z,0)!==_.check?-3:Se($,ee,Z,Z)?(_.mode=31,-4):(_.havedict=1,y):p},i.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(n,r,i){var a=n("../utils/common"),s=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];r.exports=function(f,v,y,p,C,g,x,S){var D,F,B,q,Q,te,se,K,ge,Se=S.bits,$=0,ee=0,_=0,Z=0,$e=0,fe=0,k=0,E=0,N=0,I=0,R=null,j=0,U=new a.Buf16(16),W=new a.Buf16(16),le=null,ce=0;for($=0;$<=15;$++)U[$]=0;for(ee=0;ee<p;ee++)U[v[y+ee]]++;for($e=Se,Z=15;1<=Z&&U[Z]===0;Z--);if(Z<$e&&($e=Z),Z===0)return C[g++]=20971520,C[g++]=20971520,S.bits=1,0;for(_=1;_<Z&&U[_]===0;_++);for($e<_&&($e=_),$=E=1;$<=15;$++)if(E<<=1,(E-=U[$])<0)return-1;if(0<E&&(f===0||Z!==1))return-1;for(W[1]=0,$=1;$<15;$++)W[$+1]=W[$]+U[$];for(ee=0;ee<p;ee++)v[y+ee]!==0&&(x[W[v[y+ee]]++]=ee);if(te=f===0?(R=le=x,19):f===1?(R=s,j-=257,le=l,ce-=257,256):(R=d,le=m,-1),$=_,Q=g,k=ee=I=0,B=-1,q=(N=1<<(fe=$e))-1,f===1&&852<N||f===2&&592<N)return 1;for(;;){for(se=$-k,ge=x[ee]<te?(K=0,x[ee]):x[ee]>te?(K=le[ce+x[ee]],R[j+x[ee]]):(K=96,0),D=1<<$-k,_=F=1<<fe;C[Q+(I>>k)+(F-=D)]=se<<24|K<<16|ge|0,F!==0;);for(D=1<<$-1;I&D;)D>>=1;if(D!==0?(I&=D-1,I+=D):I=0,ee++,--U[$]==0){if($===Z)break;$=v[y+x[ee]]}if($e<$&&(I&q)!==B){for(k===0&&(k=$e),Q+=_,E=1<<(fe=$-k);fe+k<Z&&!((E-=U[fe+k])<=0);)fe++,E<<=1;if(N+=1<<fe,f===1&&852<N||f===2&&592<N)return 1;C[B=I&q]=$e<<24|fe<<16|Q-g|0}}return I!==0&&(C[Q+I]=$-k<<24|64<<16|0),S.bits=$e,0}},{"../utils/common":41}],51:[function(n,r,i){r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(n,r,i){var a=n("../utils/common"),s=0,l=1;function d(A){for(var V=A.length;0<=--V;)A[V]=0}var m=0,f=29,v=256,y=v+1+f,p=30,C=19,g=2*y+1,x=15,S=16,D=7,F=256,B=16,q=17,Q=18,te=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],se=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],K=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ge=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Se=new Array(2*(y+2));d(Se);var $=new Array(2*p);d($);var ee=new Array(512);d(ee);var _=new Array(256);d(_);var Z=new Array(f);d(Z);var $e,fe,k,E=new Array(p);function N(A,V,ae,re,H){this.static_tree=A,this.extra_bits=V,this.extra_base=ae,this.elems=re,this.max_length=H,this.has_stree=A&&A.length}function I(A,V){this.dyn_tree=A,this.max_code=0,this.stat_desc=V}function R(A){return A<256?ee[A]:ee[256+(A>>>7)]}function j(A,V){A.pending_buf[A.pending++]=255&V,A.pending_buf[A.pending++]=V>>>8&255}function U(A,V,ae){A.bi_valid>S-ae?(A.bi_buf|=V<<A.bi_valid&65535,j(A,A.bi_buf),A.bi_buf=V>>S-A.bi_valid,A.bi_valid+=ae-S):(A.bi_buf|=V<<A.bi_valid&65535,A.bi_valid+=ae)}function W(A,V,ae){U(A,ae[2*V],ae[2*V+1])}function le(A,V){for(var ae=0;ae|=1&A,A>>>=1,ae<<=1,0<--V;);return ae>>>1}function ce(A,V,ae){var re,H,de=new Array(x+1),xe=0;for(re=1;re<=x;re++)de[re]=xe=xe+ae[re-1]<<1;for(H=0;H<=V;H++){var he=A[2*H+1];he!==0&&(A[2*H]=le(de[he]++,he))}}function me(A){var V;for(V=0;V<y;V++)A.dyn_ltree[2*V]=0;for(V=0;V<p;V++)A.dyn_dtree[2*V]=0;for(V=0;V<C;V++)A.bl_tree[2*V]=0;A.dyn_ltree[2*F]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function ze(A){8<A.bi_valid?j(A,A.bi_buf):0<A.bi_valid&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function Me(A,V,ae,re){var H=2*V,de=2*ae;return A[H]<A[de]||A[H]===A[de]&&re[V]<=re[ae]}function Oe(A,V,ae){for(var re=A.heap[ae],H=ae<<1;H<=A.heap_len&&(H<A.heap_len&&Me(V,A.heap[H+1],A.heap[H],A.depth)&&H++,!Me(V,re,A.heap[H],A.depth));)A.heap[ae]=A.heap[H],ae=H,H<<=1;A.heap[ae]=re}function Be(A,V,ae){var re,H,de,xe,he=0;if(A.last_lit!==0)for(;re=A.pending_buf[A.d_buf+2*he]<<8|A.pending_buf[A.d_buf+2*he+1],H=A.pending_buf[A.l_buf+he],he++,re===0?W(A,H,V):(W(A,(de=_[H])+v+1,V),(xe=te[de])!==0&&U(A,H-=Z[de],xe),W(A,de=R(--re),ae),(xe=se[de])!==0&&U(A,re-=E[de],xe)),he<A.last_lit;);W(A,F,V)}function Ke(A,V){var ae,re,H,de=V.dyn_tree,xe=V.stat_desc.static_tree,he=V.stat_desc.has_stree,Ie=V.stat_desc.elems,Ge=-1;for(A.heap_len=0,A.heap_max=g,ae=0;ae<Ie;ae++)de[2*ae]!==0?(A.heap[++A.heap_len]=Ge=ae,A.depth[ae]=0):de[2*ae+1]=0;for(;A.heap_len<2;)de[2*(H=A.heap[++A.heap_len]=Ge<2?++Ge:0)]=1,A.depth[H]=0,A.opt_len--,he&&(A.static_len-=xe[2*H+1]);for(V.max_code=Ge,ae=A.heap_len>>1;1<=ae;ae--)Oe(A,de,ae);for(H=Ie;ae=A.heap[1],A.heap[1]=A.heap[A.heap_len--],Oe(A,de,1),re=A.heap[1],A.heap[--A.heap_max]=ae,A.heap[--A.heap_max]=re,de[2*H]=de[2*ae]+de[2*re],A.depth[H]=(A.depth[ae]>=A.depth[re]?A.depth[ae]:A.depth[re])+1,de[2*ae+1]=de[2*re+1]=H,A.heap[1]=H++,Oe(A,de,1),2<=A.heap_len;);A.heap[--A.heap_max]=A.heap[1],function(Le,ut){var At,bt,Pt,st,zt,Sn,Mt=ut.dyn_tree,kn=ut.max_code,zn=ut.stat_desc.static_tree,En=ut.stat_desc.has_stree,Mn=ut.stat_desc.extra_bits,Gt=ut.stat_desc.extra_base,qt=ut.stat_desc.max_length,Kt=0;for(st=0;st<=x;st++)Le.bl_count[st]=0;for(Mt[2*Le.heap[Le.heap_max]+1]=0,At=Le.heap_max+1;At<g;At++)qt<(st=Mt[2*Mt[2*(bt=Le.heap[At])+1]+1]+1)&&(st=qt,Kt++),Mt[2*bt+1]=st,kn<bt||(Le.bl_count[st]++,zt=0,Gt<=bt&&(zt=Mn[bt-Gt]),Sn=Mt[2*bt],Le.opt_len+=Sn*(st+zt),En&&(Le.static_len+=Sn*(zn[2*bt+1]+zt)));if(Kt!==0){do{for(st=qt-1;Le.bl_count[st]===0;)st--;Le.bl_count[st]--,Le.bl_count[st+1]+=2,Le.bl_count[qt]--,Kt-=2}while(0<Kt);for(st=qt;st!==0;st--)for(bt=Le.bl_count[st];bt!==0;)kn<(Pt=Le.heap[--At])||(Mt[2*Pt+1]!==st&&(Le.opt_len+=(st-Mt[2*Pt+1])*Mt[2*Pt],Mt[2*Pt+1]=st),bt--)}}(A,V),ce(de,Ge,A.bl_count)}function b(A,V,ae){var re,H,de=-1,xe=V[1],he=0,Ie=7,Ge=4;for(xe===0&&(Ie=138,Ge=3),V[2*(ae+1)+1]=65535,re=0;re<=ae;re++)H=xe,xe=V[2*(re+1)+1],++he<Ie&&H===xe||(he<Ge?A.bl_tree[2*H]+=he:H!==0?(H!==de&&A.bl_tree[2*H]++,A.bl_tree[2*B]++):he<=10?A.bl_tree[2*q]++:A.bl_tree[2*Q]++,de=H,Ge=(he=0)===xe?(Ie=138,3):H===xe?(Ie=6,3):(Ie=7,4))}function ie(A,V,ae){var re,H,de=-1,xe=V[1],he=0,Ie=7,Ge=4;for(xe===0&&(Ie=138,Ge=3),re=0;re<=ae;re++)if(H=xe,xe=V[2*(re+1)+1],!(++he<Ie&&H===xe)){if(he<Ge)for(;W(A,H,A.bl_tree),--he!=0;);else H!==0?(H!==de&&(W(A,H,A.bl_tree),he--),W(A,B,A.bl_tree),U(A,he-3,2)):he<=10?(W(A,q,A.bl_tree),U(A,he-3,3)):(W(A,Q,A.bl_tree),U(A,he-11,7));de=H,Ge=(he=0)===xe?(Ie=138,3):H===xe?(Ie=6,3):(Ie=7,4)}}d(E);var J=!1;function M(A,V,ae,re){U(A,(m<<1)+(re?1:0),3),function(H,de,xe,he){ze(H),he&&(j(H,xe),j(H,~xe)),a.arraySet(H.pending_buf,H.window,de,xe,H.pending),H.pending+=xe}(A,V,ae,!0)}i._tr_init=function(A){J||(function(){var V,ae,re,H,de,xe=new Array(x+1);for(H=re=0;H<f-1;H++)for(Z[H]=re,V=0;V<1<<te[H];V++)_[re++]=H;for(_[re-1]=H,H=de=0;H<16;H++)for(E[H]=de,V=0;V<1<<se[H];V++)ee[de++]=H;for(de>>=7;H<p;H++)for(E[H]=de<<7,V=0;V<1<<se[H]-7;V++)ee[256+de++]=H;for(ae=0;ae<=x;ae++)xe[ae]=0;for(V=0;V<=143;)Se[2*V+1]=8,V++,xe[8]++;for(;V<=255;)Se[2*V+1]=9,V++,xe[9]++;for(;V<=279;)Se[2*V+1]=7,V++,xe[7]++;for(;V<=287;)Se[2*V+1]=8,V++,xe[8]++;for(ce(Se,y+1,xe),V=0;V<p;V++)$[2*V+1]=5,$[2*V]=le(V,5);$e=new N(Se,te,v+1,y,x),fe=new N($,se,0,p,x),k=new N(new Array(0),K,0,C,D)}(),J=!0),A.l_desc=new I(A.dyn_ltree,$e),A.d_desc=new I(A.dyn_dtree,fe),A.bl_desc=new I(A.bl_tree,k),A.bi_buf=0,A.bi_valid=0,me(A)},i._tr_stored_block=M,i._tr_flush_block=function(A,V,ae,re){var H,de,xe=0;0<A.level?(A.strm.data_type===2&&(A.strm.data_type=function(he){var Ie,Ge=4093624447;for(Ie=0;Ie<=31;Ie++,Ge>>>=1)if(1&Ge&&he.dyn_ltree[2*Ie]!==0)return s;if(he.dyn_ltree[18]!==0||he.dyn_ltree[20]!==0||he.dyn_ltree[26]!==0)return l;for(Ie=32;Ie<v;Ie++)if(he.dyn_ltree[2*Ie]!==0)return l;return s}(A)),Ke(A,A.l_desc),Ke(A,A.d_desc),xe=function(he){var Ie;for(b(he,he.dyn_ltree,he.l_desc.max_code),b(he,he.dyn_dtree,he.d_desc.max_code),Ke(he,he.bl_desc),Ie=C-1;3<=Ie&&he.bl_tree[2*ge[Ie]+1]===0;Ie--);return he.opt_len+=3*(Ie+1)+5+5+4,Ie}(A),H=A.opt_len+3+7>>>3,(de=A.static_len+3+7>>>3)<=H&&(H=de)):H=de=ae+5,ae+4<=H&&V!==-1?M(A,V,ae,re):A.strategy===4||de===H?(U(A,2+(re?1:0),3),Be(A,Se,$)):(U(A,4+(re?1:0),3),function(he,Ie,Ge,Le){var ut;for(U(he,Ie-257,5),U(he,Ge-1,5),U(he,Le-4,4),ut=0;ut<Le;ut++)U(he,he.bl_tree[2*ge[ut]+1],3);ie(he,he.dyn_ltree,Ie-1),ie(he,he.dyn_dtree,Ge-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,xe+1),Be(A,A.dyn_ltree,A.dyn_dtree)),me(A),re&&ze(A)},i._tr_tally=function(A,V,ae){return A.pending_buf[A.d_buf+2*A.last_lit]=V>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&V,A.pending_buf[A.l_buf+A.last_lit]=255&ae,A.last_lit++,V===0?A.dyn_ltree[2*ae]++:(A.matches++,V--,A.dyn_ltree[2*(_[ae]+v+1)]++,A.dyn_dtree[2*R(V)]++),A.last_lit===A.lit_bufsize-1},i._tr_align=function(A){U(A,2,3),W(A,F,Se),function(V){V.bi_valid===16?(j(V,V.bi_buf),V.bi_buf=0,V.bi_valid=0):8<=V.bi_valid&&(V.pending_buf[V.pending++]=255&V.bi_buf,V.bi_buf>>=8,V.bi_valid-=8)}(A)}},{"../utils/common":41}],53:[function(n,r,i){r.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(n,r,i){(function(a){(function(s,l){if(!s.setImmediate){var d,m,f,v,y=1,p={},C=!1,g=s.document,x=Object.getPrototypeOf&&Object.getPrototypeOf(s);x=x&&x.setTimeout?x:s,d={}.toString.call(s.process)==="[object process]"?function(B){process.nextTick(function(){D(B)})}:function(){if(s.postMessage&&!s.importScripts){var B=!0,q=s.onmessage;return s.onmessage=function(){B=!1},s.postMessage("","*"),s.onmessage=q,B}}()?(v="setImmediate$"+Math.random()+"$",s.addEventListener?s.addEventListener("message",F,!1):s.attachEvent("onmessage",F),function(B){s.postMessage(v+B,"*")}):s.MessageChannel?((f=new MessageChannel).port1.onmessage=function(B){D(B.data)},function(B){f.port2.postMessage(B)}):g&&"onreadystatechange"in g.createElement("script")?(m=g.documentElement,function(B){var q=g.createElement("script");q.onreadystatechange=function(){D(B),q.onreadystatechange=null,m.removeChild(q),q=null},m.appendChild(q)}):function(B){setTimeout(D,0,B)},x.setImmediate=function(B){typeof B!="function"&&(B=new Function(""+B));for(var q=new Array(arguments.length-1),Q=0;Q<q.length;Q++)q[Q]=arguments[Q+1];var te={callback:B,args:q};return p[y]=te,d(y),y++},x.clearImmediate=S}function S(B){delete p[B]}function D(B){if(C)setTimeout(D,0,B);else{var q=p[B];if(q){C=!0;try{(function(Q){var te=Q.callback,se=Q.args;switch(se.length){case 0:te();break;case 1:te(se[0]);break;case 2:te(se[0],se[1]);break;case 3:te(se[0],se[1],se[2]);break;default:te.apply(l,se)}})(q)}finally{S(B),C=!1}}}}function F(B){B.source===s&&typeof B.data=="string"&&B.data.indexOf(v)===0&&D(+B.data.slice(v.length))}})(typeof self>"u"?a===void 0?this:a:self)}).call(this,typeof Qt<"u"?Qt:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(as);const Xp=as.exports;var zi={exports:{}};(function(e,t){(function(n,r){r()})(Qt,function(){function n(m,f){return typeof f>"u"?f={autoBom:!1}:typeof f!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),f={autoBom:!f}),f.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(m.type)?new Blob(["\uFEFF",m],{type:m.type}):m}function r(m,f,v){var y=new XMLHttpRequest;y.open("GET",m),y.responseType="blob",y.onload=function(){d(y.response,f,v)},y.onerror=function(){console.error("could not download file")},y.send()}function i(m){var f=new XMLHttpRequest;f.open("HEAD",m,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function a(m){try{m.dispatchEvent(new MouseEvent("click"))}catch{var f=document.createEvent("MouseEvents");f.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),m.dispatchEvent(f)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Qt=="object"&&Qt.global===Qt?Qt:void 0,l=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!l?function(m,f,v){var y=s.URL||s.webkitURL,p=document.createElement("a");f=f||m.name||"download",p.download=f,p.rel="noopener",typeof m=="string"?(p.href=m,p.origin===location.origin?a(p):i(p.href)?r(m,f,v):a(p,p.target="_blank")):(p.href=y.createObjectURL(m),setTimeout(function(){y.revokeObjectURL(p.href)},4e4),setTimeout(function(){a(p)},0))}:"msSaveOrOpenBlob"in navigator?function(m,f,v){if(f=f||m.name||"download",typeof m!="string")navigator.msSaveOrOpenBlob(n(m,v),f);else if(i(m))r(m,f,v);else{var y=document.createElement("a");y.href=m,y.target="_blank",setTimeout(function(){a(y)})}}:function(m,f,v,y){if(y=y||open("","_blank"),y&&(y.document.title=y.document.body.innerText="downloading..."),typeof m=="string")return r(m,f,v);var p=m.type==="application/octet-stream",C=/constructor/i.test(s.HTMLElement)||s.safari,g=/CriOS\/[\d]+/.test(navigator.userAgent);if((g||p&&C||l)&&typeof FileReader<"u"){var x=new FileReader;x.onloadend=function(){var F=x.result;F=g?F:F.replace(/^data:[^;]*;/,"data:attachment/file;"),y?y.location.href=F:location=F,y=null},x.readAsDataURL(m)}else{var S=s.URL||s.webkitURL,D=S.createObjectURL(m);y?y.location=D:location.href=D,y=null,setTimeout(function(){S.revokeObjectURL(D)},4e4)}});s.saveAs=d.saveAs=d,e.exports=d})})(zi);function Kp(e,t){const n=new Blob([t],{type:"text/csv"});zi.exports.saveAs(n,`${e}.csv`)}function Jp(e){const t=new Xp;e.forEach(({id:n,data:r})=>{t.file(`${n}.csv`,os(r))}),t.generateAsync({type:"blob"}).then(n=>{zi.exports.saveAs(n,"dashboard_data.zip")})}function os(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(`
126
- `)}const ss=oe.types.model("QueryModel",{id:oe.types.string,type:oe.types.enumeration("DataSourceType",[Zt.Postgresql,Zt.MySQL,Zt.HTTP]),key:oe.types.string,sql:oe.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}}})),ls=oe.types.compose("QueryModel",ss,oe.types.model({state:oe.types.optional(oe.types.enumeration(["idle","loading","error"]),"idle"),data:oe.types.optional(oe.types.array(oe.types.frozen()),[]),error:oe.types.frozen()})).views(e=>({get formattedSQL(){const{context:t,sqlSnippets:n,filterValues:r}=oe.getRoot(e).payloadForSQL;return ka(e.sql,t,n,r)}})).actions(e=>({setID(t){e.id=t},setKey(t){e.key=t},setType(t){e.type=t},setSQL(t){e.sql=t},fetchData:oe.flow(function*(){if(!!e.valid){e.state="loading";try{const t=e.id,{context:n,sqlSnippets:r,filterValues:i}=oe.getRoot(e).payloadForSQL;e.data=yield*oe.toGenerator(Fl({context:n,sqlSnippets:r,title:t,query:{type:e.type,key:e.key,sql:e.sql},filterValues:i})),e.state="idle"}catch(t){console.error(t),e.error=t,e.state="error"}}})})).actions(e=>({afterCreate(){oe.addDisposer(e,kt.reaction(()=>`${e.id}--${e.key}--${e.type}--${e.formattedSQL}`,e.fetchData,{fireImmediately:!0,delay:500}))}})),us=oe.types.model("QueriesModel",{original:oe.types.optional(oe.types.array(ss),[]),current:oe.types.optional(oe.types.array(ls),[])}).views(e=>({get changed(){return e.original.length!==e.current.length?!0:e.original.some((t,n)=>!Ze.default.isEqual(t.configurations,e.current[n].configurations))},get firstID(){if(e.current.length!==0)return e.current[0].id},findByID(t){return e.current.find(n=>n.id===t)},get options(){return e.current.map(t=>({value:t.id,label:t.id}))}})).actions(e=>({reset(){const t=e.original.map(n=>({...n,state:"idle",data:[],error:null}));e.current.length=0,e.current.unshift(...t)},replace(t){e.current=oe.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()}));Jp(t)},downloadDataByQueryID(t){const n=e.findByID(t);if(!n){console.log(`[downloadDataByQueryID] query by ID[${t}] not found`);return}const{id:r,data:i}=n,a=os(i);Kp(r,a)},refetchDataByQueryID(t){const n=e.findByID(t);if(!n){console.error(new Error(`[downloadDataByQueryID] query by ID[${t}] not found`));return}return n.fetchData()}})),Mi=oe.types.model("SQLSnippetModel",{key:oe.types.string,value:oe.types.string}).actions(e=>({setKey(t){e.key=t},setValue(t){e.value=t}})),cs=oe.types.model("SQLSnippetsModel",{original:oe.types.optional(oe.types.array(Mi),[]),current:oe.types.optional(oe.types.array(Mi),[])}).views(e=>({get changed(){return!Ze.default.isEqual(e.original,e.current)}})).actions(e=>({reset(){e.current=Ze.default.cloneDeep(e.original)},replace(t){e.current=oe.cast(t)},append(t){e.current.push(t)},remove(t){e.current.splice(t,1)},replaceByIndex(t,n){e.current.splice(t,1,n)}})),ds=oe.types.model("ContextModel",{current:oe.types.optional(oe.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}})),eg=oe.types.model("PanelLayoutModel",{x:oe.types.number,y:oe.types.number,w:oe.types.number,h:oe.types.number,moved:oe.types.optional(oe.types.boolean,!1),static:oe.types.optional(oe.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:s}=t;e.x=n,e.y=r,e.w=i,e.h=a,e.moved=!!s,e.static=!!t.static}})),tg=oe.types.model("PanelVizModel",{type:oe.types.string,conf:oe.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}})),fs=oe.types.model({id:oe.types.string,title:oe.types.string,description:oe.types.string,layout:eg,queryID:oe.types.string,viz:tg}).views(e=>({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}}})).actions(e=>({setID(t){e.id=t},setTitle(t){e.title=t},setDescription(t){e.description=t},setQueryID(t){e.queryID=t}})).actions(e=>({})),ng=oe.types.model("PanelsModel",{original:oe.types.optional(oe.types.array(fs),[]),current:oe.types.optional(oe.types.array(fs),[])}).views(e=>({get changed(){return e.original.length!==e.current.length?!0:e.original.some((t,n)=>!Ze.default.isEqual(t.json,e.current[n].json))},get json(){return e.current.map(t=>t.json)},get layouts(){return e.current.map(t=>({...t.layout.json,i:t.id}))},findByID(t){return e.current.find(n=>n.id===t)}})).actions(e=>({reset(){const t=e.original.map(n=>({...n}));e.current.length=0,e.current.unshift(...t)},replace(t){e.current=oe.cast(t)},addANewPanel(){const t=_t.randomId();e.current.push({id:t,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${t}`,description:"<p><br></p>",queryID:"",viz:{type:yi.name,conf:yi.createConfig()}})},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)},duplicateByID(t){const n=e.current.find(r=>r.id===t);if(!n){console.error(new Error(`[duplicate panel] Can't find a panel by id[${t}]`));return}e.current.push({...n,id:_t.randomId(),layout:{...n.layout,x:0,y:1/0,moved:!1}})},replaceByIndex(t,n){e.current.splice(t,1,n)}})),Oi=oe.types.model({id:oe.types.identifier,name:oe.types.string,type:oe.types.string,config:oe.types.frozen(),panels:ng}).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===Xt.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=>({})),Fi=oe.types.model("ViewsModel",{original:oe.types.optional(oe.types.array(Oi),[]),current:oe.types.optional(oe.types.array(Oi),[]),visibleViewIDs:oe.types.array(oe.types.string),idOfVIE:oe.types.string}).views(e=>({get changed(){return e.original.length!==e.current.length?!0:e.original.some((t,n)=>!Ze.default.isEqual(t.json,e.current[n].json))},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=>({reset(){const t=e.original.map(n=>({...n}));e.current.length=0,e.current.unshift(...t)},replace(t){e.current=oe.cast(t)},addANewView(t,n,r){e.current.push({id:_t.randomId(),name:t,type:n,config:r,panels:{current:[],original:[]}})},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()}})).actions(e=>({addARandomNewView(){const t=_t.randomId();e.addANewView(t,Xt.Division,{}),e.setIDOfVIE(t)},removeVIE(){e.current.length!==1&&(e.removeByID(e.idOfVIE),e.setIDOfVIE(e.current[0].id))}}));function hs(e){const t=e.length>0?[e[0].id]:[],n=e.length>0?e[0].id:"",r=e.map(i=>({...i,panels:{original:i.panels,current:i.panels}}));return Fi.create({original:r,current:r,visibleViewIDs:t,idOfVIE:n})}const rg=oe.types.model({id:oe.types.identifier,name:oe.types.string,filters:rs,queries:us,sqlSnippets:cs,views:Fi,context:ds}).views(e=>({get payloadForSQL(){return{context:e.context.current,sqlSnippets:e.sqlSnippets.current,filterValues:e.filters.values}},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:void 0}:{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:[]}}));function $i({id:e,name:t,filters:n,views:r,definition:{queries:i,sqlSnippets:a}},s){return rg.create({id:e,name:t,filters:is(n),queries:{original:i,current:i},sqlSnippets:{original:a,current:a},context:s,views:hs(r)})}const K0="",ig=Fe.observer(function({context:t,dashboard:n,update:r,className:i="dashboard",config:a}){wn.baseURL!==a.apiBaseURL&&(wn.baseURL=a.apiBaseURL);const[s,l]=ne.default.useState(!1),d=ne.default.useMemo(()=>$i(n,t),[n]);ne.default.useEffect(()=>{d.context.replace(t)},[t]);const m=async()=>{const v=[...d.queries.current],y=[...d.sqlSnippets.current],p=[...d.views.json],C={...n,filters:[...d.filters.current],views:p,definition:{sqlSnippets:y,queries:v}};await r(C)},f=dt.useCreation(Bo,[]);return o(Jt.ModalsProvider,{children:o(Gr,{value:d,children:o(Lt.Provider,{value:{layoutFrozen:s,freezeLayout:l,inEditMode:!0,inUseMode:!1},children:o(u.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:o(nn.Provider,{value:f,children:d.views.visibleViews.map(v=>o(Zo,{view:v,saveDashboardChanges:m},v.id))})})})})})});function ag({context:e,dashboard:t,className:n="dashboard",config:r}){wn.baseURL!==r.apiBaseURL&&(wn.baseURL=r.apiBaseURL);const i=ne.default.useMemo(()=>$i(t,e),[t]);return ne.default.useEffect(()=>{i.context.replace(e)},[e]),o(Jt.ModalsProvider,{children:o(Gr,{value:i,children:o(Lt.Provider,{value:{layoutFrozen:!0,freezeLayout:Ze.default.noop,inEditMode:!1,inUseMode:!0},children:o(u.Box,{className:`${n} dashboard-root dashboard-sticky-parent`,children:i.views.visibleViews.map(a=>o(Xo,{view:a},a.id))})})})})}Te.ContextModel=ds,Te.Dashboard=ig,Te.DashboardFilterType=Pa,Te.DashboardMode=$a,Te.EViewComponentType=Xt,Te.FilterModel=Ti,Te.FiltersModel=rs,Te.LayoutStateContext=Lt,Te.MainDashboardView=Zo,Te.ModelContextProvider=Gr,Te.Panel=wr,Te.PanelContext=Rt,Te.QueriesModel=us,Te.QueryModel=ls,Te.ReadOnlyDashboard=ag,Te.ReadOnlyDashboardView=Xo,Te.SQLSnippetModel=Mi,Te.SQLSnippetsModel=cs,Te.ViewModel=Oi,Te.ViewsModel=Fi,Te.createDashboardModel=$i,Te.createDashboardViewsModel=hs,Te.getInitialFiltersPayload=is,Te.useModelContext=mt,Object.defineProperties(Te,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
39
+ `,xn=k.observer(function({showSQLSnippets:e=!0,sx:n={}}){const i=W(),s=i.context.current,o=v.default.useMemo(()=>{const l={context:s,filters:i.filters.values};if(e){const u=i.sqlSnippets.current.reduce((d,h)=>(d[h.key]=h.value,d),{});l.sql_snippets=u}return JSON.stringify(l,null,2)},[s,i.sqlSnippets.current,i.filters.values,e]);return c(a.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[r(a.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:r(a.Text,{weight:500,children:"Global Variables"})}),c(a.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[r(Ie.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:Fi}),r(a.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),r(Ie.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})]})});function Ri({data:t}){return t.length===0?r(a.Box,{sx:{height:"5em"}}):c(a.Table,{children:[r("thead",{children:r("tr",{children:Object.keys(t==null?void 0:t[0]).map(e=>r("th",{children:r(a.Text,{weight:700,color:"#000",children:e})},e))})}),r("tbody",{children:t.slice(0,10).map((e,n)=>r("tr",{children:Object.values(e).map((i,s)=>r("td",{children:r(a.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:r(a.Text,{children:i})})},`${i}--${s}`))},`row-${n}`))})]})}const Cn=k.observer(function({id:e}){const n=W(),{data:i,state:s}=n.getDataStuffByID(e),o=s==="loading",l=()=>{n.queries.refetchDataByQueryID(e)};return c(a.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[c(a.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[c(a.Group,{position:"left",children:[r(a.Text,{weight:500,children:"Preview Data"}),i.length>10&&c(a.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",i.length]})]}),r(a.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:o,onClick:l,children:r(_.Refresh,{size:15})})]}),c(a.Box,{sx:{position:"relative"},children:[r(a.LoadingOverlay,{visible:o}),r(Ri,{data:i})]})]})}),Gi=C.forwardRef(({label:t,type:e,...n},i)=>c(a.Group,{position:"apart",ref:i,...n,children:[r(a.Text,{children:t}),r(a.Text,{children:e})]})),wn=k.observer(function({value:e,onChange:n}){const{data:i=[],loading:s}=B.useRequest(Mi,{refreshDeps:[]},[]),o=C.useMemo(()=>i.map(u=>({label:u.key,value:u.key,type:u.type})),[i]),l=C.useMemo(()=>o.reduce((u,d)=>(u[d.value]=d.type,u),{}),[o]);return r(a.Select,{label:"Data Source",data:o,itemComponent:Gi,sx:{flex:1},disabled:s,value:e.key,onChange:u=>{u!==null&&n({key:u,type:l[u]})}})});function Sn({value:t}){const e=W(),n=e.context.current,i=v.default.useMemo(()=>yn(t,n,e.sqlSnippets.current,e.filters.values),[t,n,e.sqlSnippets.current,e.filters.values]);return r(Ie.Prism,{language:"sql",colorScheme:"light",children:i})}const Li=k.observer(function({queryModel:e,setCurrentID:n}){const i=v.default.useRef(e.id),[s,o]=v.default.useState(i.current);v.default.useEffect(()=>{i.current!==e.id&&(o(e.id),i.current=e.id)},[i,e.id]);const[l,u]=v.default.useState(e.sql);v.default.useEffect(()=>{u(m=>m!==e.sql?e.sql:m)},[e.sql]);const d=l!==e.sql,h=()=>{e.setSQL(l)},f=()=>{n(s),e.setID(s)};return c(a.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[r(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:r(a.Text,{weight:500,children:"Edit Query"})}),c(a.Stack,{my:0,p:"md",pr:40,children:[c(a.Group,{grow:!0,children:[r(a.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},value:s,onChange:m=>{o(m.currentTarget.value)},rightSection:r(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:s===e.id,onClick:f,children:r(_.DeviceFloppy,{size:18})})}),r(wn,{value:{type:e.type,key:e.key},onChange:({type:m,key:g})=>{e.setKey(g),e.setType(m)}})]}),c(a.Tabs,{defaultValue:"SQL",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"SQL",children:"SQL"}),r(a.Tabs.Tab,{value:"Preview",children:"Preview"})]}),r(a.Tabs.Panel,{value:"SQL",pt:"sm",children:c(a.Box,{sx:{position:"relative"},children:[r(a.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:l,onChange:m=>{u(m.currentTarget.value)}}),r(a.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:10,top:10},disabled:!d,onClick:h,children:r(_.DeviceFloppy,{size:20})})]})}),r(a.Tabs.Panel,{value:"Preview",pt:"sm",children:r(Sn,{value:e.sql})})]})]})]})}),Bi=k.observer(function({id:e,setID:n}){const i=W(),s=v.default.useMemo(()=>i.queries.findByID(e),[i.queries,e]);return e?s?r(Li,{queryModel:s,setCurrentID:n}):r("span",{children:"Invalid Query ID"}):null});var pe=(t=>(t.Postgresql="postgresql",t.MySQL="mysql",t.HTTP="http",t))(pe||{});const Ni=k.observer(function({id:e,setID:n}){const i=W(),s=()=>{var l;n((l=i.queries.firstID)!=null?l:"")};v.default.useEffect(()=>{if(!e){s();return}i.queries.current.findIndex(u=>u.id===e)===-1&&s()},[e,i.queries.current,s]);const o=()=>{const l=U.randomId();i.queries.append(y.cast({id:l,type:pe.Postgresql,key:"",sql:""})),n(l)};return r(a.Group,{pb:"xl",children:c(a.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[r(a.Text,{children:"Select a Query"}),r(a.Select,{data:i.queries.options,value:e,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),r(a.Text,{children:"or"}),r(a.Group,{position:"center",mt:"md",children:r(a.Button,{onClick:o,children:"Add a Query"})})]})})}),$i=k.observer(function(){const[e,n]=v.default.useState("");return c(a.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:[c(a.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[c(a.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[r(Ni,{id:e,setID:n}),r(Bi,{id:e,setID:n})]}),r(xn,{})]}),r(Cn,{id:e})]})});function ji({value:t}){const n=W().context.current,i=v.default.useMemo(()=>Ai(t,n),[t,n]);return c(a.Stack,{children:[r(a.Text,{children:"Preview"}),r(Ie.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:i})]})}const Wi=k.observer(function(){const e=W(),n=()=>e.sqlSnippets.append(y.cast({key:U.randomId(),value:""}));return c(a.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[r(a.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:r(a.Text,{weight:500,children:"SQL Snippets"})}),r(a.Group,{px:"md",pb:"md",pt:"md",children:c(a.Stack,{sx:{width:"100%",position:"relative"},children:[e.sqlSnippets.current.map((i,s)=>c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r(a.TextInput,{label:"Key",required:!0,value:i.key,onChange:o=>{i.setKey(o.currentTarget.value)}}),r(a.Textarea,{minRows:3,label:"Value",required:!0,value:i.value,onChange:o=>{i.setValue(o.currentTarget.value)},className:"code-textarea"}),r(ji,{value:i.value}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.sqlSnippets.remove(s),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},s)),r(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:r(a.Button,{variant:"default",onClick:n,children:"Add a snippet"})})]})})]})});function Qi(){return r(a.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:c(a.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[r(Wi,{}),r(xn,{showSQLSnippets:!1})]})})}const Yi=k.observer(function({opened:e,close:n}){const{freezeLayout:i}=v.default.useContext(le);return v.default.useEffect(()=>{i(e)},[e]),r(a.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:s=>{s.stopPropagation()},children:c(a.Tabs,{defaultValue:"Queries",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),r(a.Tabs.Tab,{value:"Queries",children:"Queries"})]}),r(a.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:r(Qi,{})}),r(a.Tabs.Panel,{value:"Queries",pt:"sm",children:r($i,{})})]})})});var ie=(t=>(t.Select="select",t.MultiSelect="multi-select",t.TextInput="text-input",t.Checkbox="checkbox",t.DateRange="date-range",t))(ie||{});const In=y.types.model({type:y.types.enumeration("DataSourceType",[pe.Postgresql,pe.MySQL,pe.HTTP]),key:y.types.string,sql:y.types.string}),Tn=y.types.model("FilterConfigModel_TextInput",{required:y.types.boolean,default_value:y.types.string}).actions(t=>({setRequired(e){t.required=e},setDefaultValue(e){t.default_value=e}})),Dn=()=>Tn.create({required:!1,default_value:""}),Ui=k.observer(function({config:e}){return r(Q,{children:r(a.Checkbox,{checked:e.default_value,onChange:n=>e.setDefaultValue(n.currentTarget.checked),label:"Default Checked"})})}),Xi=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],Ji=k.observer(function({config:e}){return c(Q,{children:[c(a.Group,{children:[r(a.Checkbox,{checked:e.required,onChange:n=>e.setRequired(n.currentTarget.checked),label:"Required"}),r(a.Checkbox,{checked:e.clearable,onChange:n=>e.setClearable(n.currentTarget.checked),label:"Clearable"})]}),r(a.Select,{data:Xi,label:"Display Format",value:e.inputFormat,onChange:e.setInputFormat})]})});function Ki({data:t}){return t.length===0?r(a.Box,{sx:{height:"5em"}}):c(a.Table,{children:[r("thead",{children:r("tr",{children:Object.keys(t==null?void 0:t[0]).map(e=>r("th",{children:r(a.Text,{weight:700,color:"#000",children:e})},e))})}),r("tbody",{children:t.slice(0,3).map((e,n)=>r("tr",{children:Object.values(e).map((i,s)=>r("td",{children:r(a.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:r(a.Text,{children:i})})},`${i}--${s}`))},`row-${n}`))}),t.length>3&&r("tfoot",{children:r("tr",{children:r("td",{colSpan:Object.keys(t==null?void 0:t[0]).length,children:c(a.Text,{color:"gray",size:"sm",children:[t.length-3," more row(s) hidden"]})})})})]})}const Zi=k.observer(function({query:e}){const{data:n=[],loading:i,refresh:s}=B.useRequest(bt(e),{refreshDeps:[e]});return c(a.Stack,{my:0,children:[c(a.Group,{position:"apart",children:[r(a.Text,{size:"md",pl:"sm",children:"Fetched Data"}),r(a.Button,{size:"xs",onClick:s,disabled:!e.sql||!e.key,children:"Retry"})]}),c(a.Box,{sx:{position:"relative"},children:[r(a.LoadingOverlay,{visible:i,exitTransitionDuration:0}),r(Ki,{data:n})]})]})}),_n=k.observer(function({value:e,onChange:n}){return c(a.Stack,{my:0,children:[r(wn,{value:e,onChange:({type:i,key:s})=>{n({...e,type:i,key:s})}}),c(a.Tabs,{defaultValue:"SQL",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"SQL",children:"SQL"}),r(a.Tabs.Tab,{value:"Preview",children:"Preview"}),r(a.Tabs.Tab,{value:"Data",children:"Data"})]}),r(a.Tabs.Panel,{value:"SQL",pt:"sm",children:r(a.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:e.sql,onChange:i=>{n({...e,sql:i.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),r(a.Tabs.Panel,{value:"Preview",pt:"sm",children:r(Sn,{value:e.sql})}),r(a.Tabs.Panel,{value:"Data",pt:"sm",children:r(Zi,{query:e})})]})]})}),Hi=k.observer(function({config:e}){const n=()=>{e.addStaticOption({label:"",value:""})},i=e.static_options,s=[...i];return c(Q,{children:[r(a.Divider,{label:"Configure options",labelPosition:"center"}),i.length>0&&r(a.MultiSelect,{label:"Default Selection",data:s,value:e.default_value,onChange:e.setDefaultValue}),i.map((o,l)=>c(a.Group,{sx:{position:"relative"},pr:"40px",children:[r(a.TextInput,{label:"Label",required:!0,value:e.static_options[l].label,onChange:u=>{e.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),r(a.TextInput,{label:"Value",required:!0,value:e.static_options[l].value,onChange:u=>{e.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:r(_.Trash,{size:16})})]})),r(a.Button,{size:"xs",color:"blue",leftIcon:r(_.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),r(a.Divider,{label:"Or fetch options from database",labelPosition:"center"}),r(_n,{value:e.options_query,onChange:e.setOptionsQuery})]})}),ea=k.observer(function({config:e}){const n=()=>{e.addStaticOption({label:"",value:""})},i=e.static_options,s=[{label:"No default selection",value:""},...i];return c(Q,{children:[r(a.Checkbox,{checked:e.required,onChange:o=>e.setRequired(o.currentTarget.checked),label:"Required"}),r(a.Divider,{label:"Configure options",labelPosition:"center"}),i.length>0&&r(a.Select,{label:"Default Selection",data:s,value:e.default_value,onChange:e.setDefaultValue}),i.map((o,l)=>c(a.Group,{sx:{position:"relative"},pr:"40px",children:[r(a.TextInput,{label:"Label",required:!0,value:e.static_options[l].label,onChange:u=>{e.static_options[l].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),r(a.TextInput,{label:"Value",required:!0,value:e.static_options[l].value,onChange:u=>{e.static_options[l].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.removeStaticOption(l),sx:{position:"absolute",top:28,right:5},children:r(_.Trash,{size:16})})]},l)),r(a.Button,{size:"xs",color:"blue",leftIcon:r(_.PlaylistAdd,{size:20}),onClick:n,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),r(a.Divider,{label:"Or fetch options from database",labelPosition:"center"}),r(_n,{value:e.options_query,onChange:e.setOptionsQuery})]})}),ta=k.observer(function({config:e}){return c(Q,{children:[r(a.TextInput,{label:"Default Value",value:e.default_value,onChange:n=>{e.setDefaultValue(n.currentTarget.value)}}),r(a.Checkbox,{checked:e.required,onChange:n=>e.setRequired(n.currentTarget.checked),label:"Required"})]})}),na=k.observer(function({filter:e}){const n=e.config.default_value,[i,s]=v.default.useState(n);return v.default.useEffect(()=>{s(n)},[n]),c(a.Box,{sx:{maxWidth:"30em"},children:[r(a.Text,{pb:"md",color:"gray",children:"Preview"}),r(vn,{filter:e,value:i,onChange:s}),r(a.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),r(Ie.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e,null,4)})]})}),ra={select:ea,"multi-select":Hi,"text-input":ta,checkbox:Ui,"date-range":Ji},ia=[{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"}],aa=k.observer(function({filter:e,index:n}){const i=W(),s=v.default.useMemo(()=>ra[e.type],[e.type]);return c(a.SimpleGrid,{cols:2,children:[c(a.Box,{pl:"md",children:[r(a.Text,{pb:"md",color:"gray",children:"Edit"}),c(a.Stack,{sx:{maxWidth:"30em"},children:[r(a.NumberInput,{label:"Placement Order",required:!0,value:e.order,onChange:e.setOrder,hideControls:!0}),r(a.MultiSelect,{label:"Visible in...",data:i.views.options,value:e.visibleInViewsIDs,onChange:e.setVisibleInViewsIDs}),r(a.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:e.key,onChange:o=>{e.setKey(o.currentTarget.value)}}),r(a.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:e.label,onChange:o=>{e.setLabel(o.currentTarget.value)}}),r(a.Select,{label:"Widget",data:ia,required:!0,value:e.type,onChange:e.setType}),r(s,{config:e.config,index:n})]})]}),r(na,{filter:e})]})}),Gc="",sa=k.observer(function(){const e=W(),n=e.filters.current,i=()=>{const s=U.randomId(),o={id:s,key:s,label:s,order:n.length+1,type:ie.TextInput,config:Dn(),visibleInViewsIDs:["Main"]};e.filters.append(o)};return c(a.Box,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[r(a.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:r(a.Button,{size:"xs",color:"red",leftIcon:r(_.Recycle,{size:20}),disabled:!e.filters.changed,onClick:e.filters.reset,children:"Revert Changes"})}),r(a.Tabs,{className:"filter-settings-tabs",orientation:"vertical",defaultValue:e.filters.firstID,styles:{root:{display:"block"}},children:c(a.Group,{sx:{height:"100%"},children:[c(a.Stack,{sx:{height:"100%"},children:[r(a.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:e.filters.current.map(s=>r(a.Tabs.Tab,{value:s.id,children:s.label},s.id))}),r(a.Button,{size:"xs",color:"blue",leftIcon:r(_.PlaylistAdd,{size:20}),onClick:i,children:"Add a Filter"})]}),r(a.Box,{sx:{flexGrow:1,height:"100%"},children:e.filters.current.map((s,o)=>r(a.Tabs.Panel,{value:s.id,sx:{height:"100%"},children:c(a.Stack,{sx:{height:"100%"},spacing:"sm",children:[r(a.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:r(aa,{filter:s,index:o})}),r(a.Group,{position:"right",pt:10,children:r(a.Button,{size:"xs",color:"red",leftIcon:r(_.Trash,{size:20}),onClick:()=>e.filters.remove(o),children:"Delete this filter"})})]})},s.id))})]})})]})}),oa=k.observer(function({opened:e,close:n}){const{freezeLayout:i}=v.default.useContext(le);return v.default.useEffect(()=>{i(e)},[e]),r(a.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Filters",trapFocus:!0,onDragStart:s=>{s.stopPropagation()},withCloseButton:!1,children:r(sa,{})})});var An=(t=>(t.Use="use",t.Edit="edit",t))(An||{}),fe=(t=>(t.Division="div",t.Modal="modal",t))(fe||{}),kn=(t=>(t.Select="select",t.MultiSelect="multi-select",t.TextInput="text-input",t.Checkbox="checkbox",t.DateRange="date-range",t))(kn||{});const la=k.observer(()=>{const e=W().views.VIE;return!e||e.type!==fe.Division?null:c(a.Stack,{children:[r(a.Divider,{mt:8,mb:0,label:"Division settings",labelPosition:"center"}),r(a.Text,{align:"center",size:"xs",color:"dimmed",children:"Under construction"})]})}),ua=k.observer(()=>{const e=W().views.VIE;return!e||e.type!==fe.Modal?null:c(a.Stack,{children:[r(a.Divider,{mt:8,label:"Modal settings",labelPosition:"center"}),c(a.Group,{grow:!0,children:[r(a.TextInput,{label:"Width",value:e.config.width,onChange:n=>e.updateConfig("width",n.currentTarget.value),placeholder:"600px / 50vw"}),r(a.TextInput,{label:"Height",value:e.config.height,onChange:n=>e.updateConfig("height",n.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),ca=k.observer(()=>c(Q,{children:[r(la,{}),r(ua,{})]})),da=[{label:"Division",value:fe.Division},{label:"Modal",value:fe.Modal}],pa=k.observer(()=>{const e=W().views.VIE;return e?c(a.Stack,{sx:{position:"relative"},children:[r(a.TextInput,{label:"Name",value:e.name,onChange:n=>{e.setName(n.currentTarget.value)}}),r(a.Select,{label:"Type",value:e.type,onChange:e.setType,data:da}),r(ca,{})]}):null}),fa=k.observer(({opened:t,close:e})=>{var s;const n=W(),{freezeLayout:i}=v.default.useContext(le);return v.default.useEffect(()=>{i(t)},[t]),r(a.Modal,{size:"500px",overflow:"inside",opened:t,onClose:e,withCloseButton:!1,styles:{header:{width:"100%"},title:{width:"100%"}},title:c(a.Group,{position:"apart",children:[c(a.Text,{sx:{flexGrow:1},children:["Editing ",(s=n.views.VIE)==null?void 0:s.name]}),r(a.ActionIcon,{size:18,color:"red",onClick:n.views.removeVIE,disabled:n.views.isVIETheFirstView,children:r(_.Trash,{size:18})})]}),trapFocus:!0,onDragStart:o=>{o.stopPropagation()},children:r(pa,{})})}),ha=C.forwardRef(({label:t,type:e,...n},i)=>e!=="TRIGGER_TO_ADD"?r("div",{ref:i,...n,children:c(a.Group,{noWrap:!0,position:"apart",children:[r(a.Text,{size:"sm",children:t}),r(a.Text,{size:"xs",color:"dimmed",children:e})]})}):r("div",{ref:i,...n,children:r(a.Group,{noWrap:!0,grow:!0,children:r(a.Text,{size:"sm",align:"center",color:"#228be6",children:t})})})),Mn="TRIGGER_TO_ADD",ga=k.observer(({value:t,onChange:e,triggerAdd:n,triggerEdit:i,options:s})=>{const o=C.useMemo(()=>[...s,{label:"Add a View",value:Mn,type:"TRIGGER_TO_ADD"}],[s,n]),l=u=>{u!==Mn?e(u):n()};return c(a.Group,{position:"left",spacing:0,sx:{minWidth:"260px"},children:[r(a.Select,{value:t,onChange:l,placeholder:"Pick a View",itemComponent:ha,data:o,nothingFound:"Empty",sx:{flexGrow:1},styles:{input:{borderTopRightRadius:0,borderBottomRightRadius:0}}}),r(a.ActionIcon,{onClick:i,variant:"default",size:36,sx:{borderLeft:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,"&:active":{transform:"none",svg:{transform:"translateY(1px)"}}},children:r(_.Settings,{size:20})})]})}),ma=k.observer(()=>{const t=W(),[e,n]=C.useState(!1),i=()=>{n(!0)},s=()=>{n(!1)};return c(Q,{children:[r(ga,{value:t.views.idOfVIE,onChange:t.views.setIDOfVIE,triggerAdd:t.views.addARandomNewView,triggerEdit:i,options:t.views.options}),r(fa,{opened:e,close:s})]})});function ya({opened:t,close:e,getCurrentSchema:n}){const{freezeLayout:i}=v.default.useContext(le);v.default.useEffect(()=>{i(t)},[t]);const s=v.default.useMemo(()=>JSON.stringify(n(),null,2),[t]);return r(a.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:e,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:o=>{o.stopPropagation()},children:t&&r(Ie.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:s})})}const En=k.observer(function({saveChanges:e}){const n=W(),i=v.default.useCallback(()=>{const ee=n.queries.current,Ne=n.views.current,Me=n.sqlSnippets.current;return{filters:n.filters.current,views:Ne,definition:{sqlSnippets:Me,queries:ee}}},[n]),s=()=>{n.filters.reset(),n.views.reset(),n.sqlSnippets.reset(),n.queries.reset()},o=n.views.changed||n.sqlSnippets.changed||n.queries.changed||n.filters.changed,{inEditMode:l,inUseMode:u}=v.default.useContext(le),[d,h]=v.default.useState(!1),f=()=>h(!0),m=()=>h(!1),[g,b]=v.default.useState(!1),I=()=>b(!0),A=()=>b(!1),[M,F]=v.default.useState(!1),R=()=>F(!0),J=()=>F(!1);return c(a.Group,{position:"apart",pt:0,px:10,pb:"xs",children:[r(a.Group,{position:"left",children:l&&r(ma,{})}),c(a.Group,{position:"right",children:[!u&&r(a.Button,{variant:"default",size:"xs",disabled:!n.views.VIE,onClick:n.views.addAPanelToVIE,leftIcon:r(_.PlaylistAdd,{size:20}),children:"Add a Panel"}),l&&r(a.Button,{variant:"default",size:"xs",onClick:I,leftIcon:r(_.Filter,{size:20}),children:"Filters"}),l&&r(a.Button,{variant:"default",size:"xs",onClick:f,leftIcon:r(_.Database,{size:20}),children:"Data Settings"}),!u&&r(a.Button,{variant:"default",size:"xs",onClick:e,disabled:!o,leftIcon:r(_.DeviceFloppy,{size:20}),children:"Save Changes"}),!u&&r(a.Button,{color:"red",size:"xs",disabled:!o,onClick:s,leftIcon:r(_.Recycle,{size:20}),children:"Revert Changes"}),c(a.Menu,{width:180,children:[r(a.Menu.Target,{children:r(a.Button,{variant:"default",size:"xs",leftIcon:r(_.Share,{size:20}),children:"Export"})}),c(a.Menu.Dropdown,{children:[r(a.Menu.Item,{icon:r(_.Download,{size:14}),onClick:n.queries.downloadAllData,children:"Download Data"}),r(a.Menu.Item,{icon:r(_.Code,{size:14}),onClick:R,children:"View Schema"})]})]})]}),r(oa,{opened:g,close:A}),r(Yi,{opened:d,close:m}),r(ya,{opened:M,close:J,getCurrentSchema:i})]})}),Lc="";function Vn(){const{freezeLayout:t}=v.default.useContext(le),[e,n]=v.default.useState(!1),{title:i,description:s}=v.default.useContext(H);return v.default.useEffect(()=>{t(e)},[e]),!s||s==="<p><br></p>"?null:c(Q,{children:[r(a.Modal,{opened:e,onClose:()=>n(!1),title:i,withCloseButton:!1,children:r(cn.default,{readOnly:!0,value:s,onChange:z.default.noop,sx:{border:"none"}})}),r(a.Tooltip,{label:"Click to see description",position:"top-start",children:r(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>n(o=>!o),sx:{verticalAlign:"baseline",cursor:"pointer"},children:r(_.InfoCircle,{size:20})})})]})}const zn=t=>{const{title:e="Variables",variables:n}=t,i=U.useClipboard(),s=o=>{i.copy(o),ft.showNotification({color:"green",message:"Copied to clipboard"})};return c(a.Paper,{withBorder:!0,p:"sm",children:[r(a.Text,{size:"xs",color:"dimmed",mb:"sm",children:e}),r(a.Stack,{style:{maxHeight:"300px"},children:n.map(o=>c(a.Text,{size:"sm",children:[c(a.Code,{color:"teal",children:["// ",o.description]}),r("br",{}),c(a.Code,{onClick:()=>s(o.name),style:{cursor:"pointer"},children:[o.name," : ",o.valueType]})]},o.name))})]})};class va{constructor(e,n){V(this,"operationId");V(this,"operation");V(this,"operationSchema");V(this,"variables",[]);this.operationManager=e,this.instance=n,K.makeAutoObservable(this)}get schemaList(){return this.operationManager.getOperationSchemaList()}async configOperation(e,n){const i=await this.operationManager.retrieveTrigger(e),s=this.operationManager.getOperationSchemaList().find(o=>o.id===(i==null?void 0:i.schemaRef));K.runInAction(()=>{this.operationId=e,this.operation=i,this.operationSchema=s,this.variables=n})}async changeSchema(e){this.operationId&&(await this.operationManager.createOrGetOperation(this.operationId,e),await this.configOperation(this.operationId,this.variables))}}function ba(t){return!!t.operationId}const xa=k.observer(({model:t,onClick:e})=>{var i;const n=(i=t.operationSchema)==null?void 0:i.displayName;return r(a.Button,{variant:"outline",onClick:e,children:n})}),Ca=k.observer(({model:t})=>{const e={operation:t.operation,instance:t.instance,variables:[]};return C.createElement(t.operationSchema.configRender,e)});function wa({model:t}){const e=t.schemaList,n=e.map(s=>({label:s.displayName,value:s.id}));async function i(s){await t.changeSchema(e.find(o=>o.id===s))}return r(a.Select,{label:"Operation",data:n,onChange:i,value:t.operationSchema.id})}const Sa=k.observer(t=>{const[e,{setTrue:n,setFalse:i}]=B.useBoolean(!1),{operationManager:s,operationId:o,instance:l,variables:u}=t,d=B.useCreation(()=>new va(s,l),[s,l]);return B.useAsyncEffect(async()=>{await d.configOperation(o,u)},[o,d]),ba(d)?c(Q,{children:[r(xa,{model:d,onClick:n}),r(a.Modal,{opened:e,onClose:i,title:"Operation Settings",closeButtonLabel:"close",children:c(a.Stack,{children:[r(wa,{model:d}),r(Ca,{model:d}),r(zn,{title:"Variables",variables:d.variables})]})})]}):null});class Ia{constructor(e,n){V(this,"triggerId");V(this,"trigger");V(this,"triggerSchema");V(this,"sampleData");this.triggerManager=e,this.instance=n,K.makeAutoObservable(this)}get schemaList(){return this.triggerManager.getTriggerSchemaList()}async configTrigger(e,n){const i=await this.triggerManager.retrieveTrigger(e),s=this.triggerManager.getTriggerSchemaList().find(o=>o.id===(i==null?void 0:i.schemaRef));K.runInAction(()=>{this.triggerId=e,this.trigger=i,this.triggerSchema=s,this.sampleData=n})}async changeSchema(e){this.triggerId&&(await this.triggerManager.createOrGetTrigger(this.triggerId,e),await this.configTrigger(this.triggerId,this.sampleData))}isReady(){return Ta(this)}}function Ta(t){return!!t.triggerId&&!!t.triggerSchema}function Da(t,e){return B.useCreation(()=>new Ia(t,e),[t,e])}const _a=k.observer(({model:t,onClick:e})=>{const n=t.triggerSchema.nameRender,i={trigger:t.trigger,instance:t.instance,sampleData:t.sampleData};return r(a.Button,{variant:"outline",onClick:e,children:C.createElement(n,i)})}),Aa=k.observer(({model:t})=>{const e=t.schemaList,n=e.map(s=>({label:s.displayName,value:s.id}));async function i(s){await t.changeSchema(e.find(o=>o.id===s))}return r(a.Select,{label:"Trigger",data:n,value:t.triggerSchema.id,onChange:i})}),ka=k.observer(({model:t})=>{const e={trigger:t.trigger,instance:t.instance,sampleData:t.sampleData};return C.createElement(t.triggerSchema.configRender,e)}),Ma=k.observer(t=>{const[e,{setTrue:n,setFalse:i}]=B.useBoolean(!1),s=t.model;return c(Q,{children:[r(a.Modal,{opened:e,onClose:i,title:"Setup Trigger",closeButtonLabel:"close setup",children:c(a.Stack,{children:[r(Aa,{model:s}),r(ka,{model:s}),r(zn,{title:"Payload",variables:s.triggerSchema.payload})]})}),r(_a,{onClick:n,model:s})]})});class ke{constructor(e,n){this.root=e,this.path=n}async deleteItem(e){e===null&&await this.root.deleteItem(this.path);const n=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,S.omit(n,e))}async getItem(e){const n=await this.root.getItem(this.path);return e===null?n:S.get(n,e)}async setItem(e,n){if(e===null)await this.root.setItem(this.path,n);else{const i=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,{...i,[e]:n})}return await this.getItem(e)}watchItem(e,n,i){return e===null?this.root.watchItem(this.path,(s,o)=>{n(s,o)},i):this.root.watchItem(this.path,(s,o)=>{const l=S.get(s,e),u=S.get(o,e);l!==u&&n(l,u)},i)}}class xt{constructor(e,n,i){V(this,"attachmentStorage");this.instance=e,this.attachmentKey=n,this.constructInstance=i,this.attachmentStorage=new ke(e.instanceData,n)}async getInstance(e){if(await this.attachmentStorage.getItem(e))return this.constructInstance(new ke(this.attachmentStorage,e))}async create(e,n){return await this.attachmentStorage.setItem(e,n),this.constructInstance(new ke(this.attachmentStorage,e))}async remove(e){await this.attachmentStorage.deleteItem(e)}async list(){const e=await this.attachmentStorage.getItem(null);return Promise.all(S.values(e).map(n=>this.constructInstance(new ke(this.attachmentStorage,n.id))))}}class On{constructor(e){V(this,"rootRef");this.rootRef=K.observable({current:e})}async deleteItem(e){K.runInAction(()=>{S.unset(this.rootRef.current,[e])})}getItem(e){const n=this.getValueFromRoot(e);return Promise.resolve(n)}getValueFromRoot(e){return e===null?K.toJS(this.rootRef.current):S.get(this.rootRef.current,[e])}setItem(e,n){if(e===null)if(S.isObject(n))K.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else K.runInAction(()=>{S.set(this.rootRef.current,[e],n)});return Promise.resolve(this.getItem(e))}watchItem(e,n,i){return K.reaction(()=>this.getValueFromRoot(e),(s,o)=>{n(s,o)},{requiresObservable:!0,fireImmediately:S.get(i,"fireImmediately",!1)})}}class Ea{constructor(){V(this,"channels",new Map);V(this,"globalChannel",new dn.default)}getChannel(e){const n=this.channels.get(e);if(n)return n;const i=new dn.default;return this.channels.set(e,i),i}}class Va{constructor(e){V(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const n=this.instances.get(e.id);if(n)return n;const i={id:e.id,name:e.viz.type,type:e.viz.type,messageChannels:new Ea,instanceData:new On(e.viz.conf)};return this.instances.set(e.id,i),i}}function Pn(t,e,n){return{vizManager:n,locale:"zh",msgChannels:t.messageChannels,instanceData:t.instanceData,pluginData:new On({}),colorPalette:{getColor(){return()=>""}},data:e}}const za=t=>{const{panel:e,vizManager:n,data:i}=t,s=n.resolveComponent(e.viz.type),o=n.getOrCreateInstance(e),l={...Pn(o,i,n),viewport:{width:e.layout.w,height:e.layout.h}},u=s.viewRender;return r(u,{context:l,instance:o,...S.omit(t,["panel","vizManager","data"])})},Oa=t=>{const{vizManager:e,panel:n,panelInfoEditor:i,data:s}=t,o=e.resolveComponent(n.viz.type),l=e.getOrCreateInstance(n),u={...Pn(l,s,e),panelInfoEditor:i},d=o.configRender;return r(d,{context:u,instance:l,...S.omit(t,["panel","vizManager","data","panelInfoEditor"])})},qn=(t,e)=>{const n=ze.default.bezier(t),i=ze.default.bezier(e);return function(s){return s<50?n(s*2/100).hex():i((s-50)*2/100).hex()}},Ye=t=>{const e=ze.default.bezier(t);return function(n){return e(n/100).hex()}},Pa={type:"interpolation",displayName:"Red / Green",getColor:qn(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},qa={type:"interpolation",displayName:"Yellow / Blue",getColor:qn(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Fa={type:"interpolation",displayName:"Red",getColor:Ye(["#fff7f1","darkred"]),name:"red",category:"sequential"},Ra={type:"interpolation",displayName:"Green",getColor:Ye(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Ga={type:"interpolation",displayName:"Blue",getColor:Ye(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},La={type:"interpolation",displayName:"Orange",getColor:Ye(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},Ba="4.8.0";class Na{constructor(e){V(this,"staticColors",new Map);V(this,"interpolations",new Map);e.installedPlugins.forEach(n=>{n.manifest.color.forEach(i=>{this.register(i)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(e){const n=this.encodeColor(e);e.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.staticColors.set(n,e)):e.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`,`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.interpolations.set(n,e))}decodeStaticColor(e){return this.staticColors.get(e)}encodeColor(e){return`\${${e.category}}.{${e.name}}`}decodeInterpolation(e){return this.interpolations.get(e)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class $a{constructor(){V(this,"plugins",new Map);V(this,"vizComponents",new Map);V(this,"factory",{viz:e=>{const n=this.vizComponents.get(e);if(n)return n;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const n of e.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 ja{constructor(){V(this,"migrations",[])}version(e,n){return this.migrations.push({version:e,handler:n}),this}run(e,n){var o;if(e.from===e.to)return n;if(e.from>e.to)throw new Error(`Can not downgrade from version '${e.from}' to (${e.to})`);const i=this.migrations.filter(l=>l.version>e.from&&l.version<=e.to),s=S.orderBy(i,"version","asc");if(((o=S.last(s))==null?void 0:o.version)!==e.to)throw new Error(`Migration to version ${e.to} not found`);return s.reduce((l,u)=>u.handler(l),n)}}class ue extends ja{constructor(){super(),this.configVersions()}version(e,n){return super.version(e,i=>({version:e,...n(i)}))}async migrate({instanceData:e}){const n=await e.getItem(null),i=S.get(n,"version",0),s=this.run({from:i,to:this.VERSION},n);await e.setItem(null,s)}async needMigration({instanceData:e}){const n=await e.getItem(null);return S.get(n,"version",0)<this.VERSION}}const Ct={content:""},G=(t,e)=>{const[n,{setFalse:i}]=B.useBoolean(!0),[s,o]=C.useState();C.useEffect(()=>(t.getItem(e).then(u=>{o(u),i()}),t.watchItem(e,u=>{o(u)})));const l=C.useCallback(async u=>{await t.setItem(e,u),o(u)},[t,e]);return{loading:n,value:s,set:l}};function Fn(t){const e=C.useRef(null);return C.useEffect(()=>{var n,i,s;t&&((s=(i=(n=e.current)==null?void 0:n.editor)==null?void 0:i.clipboard)==null||s.dangerouslyPasteHTML(t))},[t]),e}function Wa({context:t}){const{value:e}=G(t.instanceData,"config"),n=e==null?void 0:e.content,i=Fn(n);return e!=null&&e.content?r(pt.RichTextEditor,{ref:i,readOnly:!0,value:e.content,onChange:S.noop,sx:{border:"none"}}):null}function Qa({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=C.useMemo(()=>S.defaults({},e,Ct),[e]),{control:s,handleSubmit:o,watch:l,getValues:u}=w.useForm({defaultValues:i});l("content");const d=u(),h=C.useMemo(()=>!S.isEqual(d,e),[d,e]),f=Fn(e==null?void 0:e.content);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:o(n),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Content"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:r(_.DeviceFloppy,{size:20})})]}),r(w.Controller,{name:"content",control:s,render:({field:m})=>r(cn.default,{ref:f,sx:{flex:1},...S.omit(m,"ref")})})]})})}class Ya extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}fixMalformedConfig(n){return S.defaults({},n,Ct)}configVersions(){this.version(1,n=>({version:1,config:this.fixMalformedConfig(n)}))}}const Ua={displayName:"RichText",migrator:new Ya,name:"richText",viewRender:Wa,configRender:Qa,createConfig:()=>Ct},wt={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 Xa(t){if("variables"in t)return t;const{align:e,size:n,weight:i,color:s,content:{prefix:o="",data_field:l="value",formatter:u={output:"number",mantissa:0},postfix:d=""}={}}=t;return{align:e,template:`${o} \${value} ${d}`,variables:[{name:"value",data_field:l,aggregation:{type:"none",config:{}},formatter:u,color:s,weight:i,size:n}]}}class Ja extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({config:Xa(n)}))}}const St=C.forwardRef(function({value:e,onChange:n,...i},s){return r(a.TextInput,{ref:s,value:e,onChange:n,...i})}),It={mantissa:0,output:"number",trimMantissa:!1,average:!1};function Ka({value:t,onChange:e},n){const i=u=>{e({...t,output:u})},s=u=>{const d=u===0?!1:t.trimMantissa;e({...t,mantissa:u,trimMantissa:d})},o=u=>{e({...t,trimMantissa:u.currentTarget.checked})},l=u=>{e({...t,average:u.currentTarget.checked})};return c(a.Stack,{ref:n,children:[c(a.Group,{grow:!0,children:[r(a.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:t.output,onChange:i}),r(a.Switch,{label:c(a.Text,{children:["Average",r("br",{}),r(a.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:t.average,onChange:l,disabled:t.output!=="number"})]}),c(a.Group,{grow:!0,children:[r(a.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:t.mantissa,onChange:s}),r(a.Switch,{label:"Trim mantissa",checked:t.trimMantissa,onChange:o,disabled:t.mantissa===0})]}),c(a.Stack,{spacing:0,children:[r(a.Text,{weight:"bold",children:"Preview"}),r(Ae,{children:c(a.Group,{position:"apart",children:[c(a.Text,{size:12,color:"gray",children:["123456789 ",r(_.ArrowRight,{size:9})," ",oe.default(123456789).format(t)]}),c(a.Text,{size:12,color:"gray",children:["1234 ",r(_.ArrowRight,{size:9})," ",oe.default(1234).format(t)]}),c(a.Text,{size:12,color:"gray",children:["0.1234 ",r(_.ArrowRight,{size:9})," ",oe.default(.1234).format(t)]})]})})]})]})}const Rn=v.default.forwardRef(Ka);function Ue(){return{name:U.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:{type:"none",config:{}},formatter:It}}const Za=[{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 Ha({label:t,value:e,onChange:n},i){C.useEffect(()=>{typeof e=="string"&&(console.log(e),n({type:e,config:{}}))},[e,n]);const s=l=>{n(l==="quantile"?{type:"quantile",config:{p:.99}}:{type:l,config:{}})},o=l=>{n({type:"quantile",config:{p:l}})};return c(a.Group,{grow:!0,noWrap:!0,pt:"sm",children:[r(a.Select,{ref:i,label:t,data:Za,value:e.type,onChange:s}),e.type==="quantile"&&r(a.NumberInput,{label:"p",value:e.config.p,onChange:o,precision:2,min:.05,step:.05,max:1})]})}const es=v.default.forwardRef(Ha);function ts({label:t,required:e,value:n,onChange:i,data:s,clearable:o=!1,sx:l,...u},d){const h=v.default.useMemo(()=>{if(!Array.isArray(s)||s.length===0)return[];const m=Object.keys(s[0]).map(g=>({label:g,value:g}));return o?m.concat([{label:"unset",value:""}]):m},[s]);return r(a.Select,{ref:d,label:t,data:h,value:n,onChange:i,required:e,sx:l,...u})}const $=v.default.forwardRef(ts);function ns({label:t,value:e,onChange:n},i){const[s,o]=v.default.useState(Array.isArray(e)?[...e]:[]),l=v.default.useCallback(()=>{o(g=>[...g,""])},[o]),u=v.default.useCallback(g=>{o(b=>(b.splice(g,1),[...b]))},[o]),d=v.default.useMemo(()=>!z.default.isEqual(s,e),[s,e]),h=()=>{n(s.map(g=>g.toString()))},f=a.useMantineTheme(),m=v.default.useMemo(()=>Object.entries(f.colors).map(([g,b])=>b[6]),[f]);return c(Q,{children:[c(a.Group,{position:"left",ref:i,children:[r(a.Text,{children:t}),r(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:h,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Group,{children:[s.map((g,b)=>r(a.ColorInput,{value:g,onChange:I=>{o(A=>(A.splice(b,1,I),[...A]))},swatches:m,rightSection:r(a.ActionIcon,{onClick:()=>u(b),color:"red",children:r(_.Trash,{size:14})}),sx:{width:"45%"}})),r(a.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:r(_.PlaylistAdd,{size:20})})]})]})}const rs=v.default.forwardRef(ns);function is({value:t,onChange:e},n){const{colorManager:i}=C.useContext(me),s=v.default.useMemo(()=>i.getStaticColors().map(u=>({label:u.name,group:u.category,value:u.value})),[i]),o=v.default.useMemo(()=>s.some(l=>l.value===t),[t,s]);return c(a.Group,{position:"apart",spacing:4,ref:n,children:[r(a.TextInput,{placeholder:"Set $TSFixMe color",value:o?"":t,onChange:l=>e(l.currentTarget.value),rightSection:r(a.ColorSwatch,{color:o?"transparent":t,radius:4}),variant:o?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),r(a.Text,{sx:{flexGrow:0},children:"or"}),r(a.Select,{data:s,value:t,onChange:e,variant:o?"default":"filled",placeholder:"Pick a theme color",icon:r(a.ColorSwatch,{color:o?t:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const ge=v.default.forwardRef(is),Xe=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function as({label:t,value:e,onChange:n},i){var l,u;const[s,o]=v.default.useState((u=(l=Xe.find(d=>d.label===e))==null?void 0:l.value)!=null?u:Xe[0].value);return v.default.useEffect(()=>{const d=Xe.find(h=>h.value===s);d&&n(d.label)},[s]),c(a.Stack,{spacing:0,mt:"sm",mb:"lg",children:[r(a.Text,{size:"sm",children:t}),r(a.Slider,{label:null,marks:Xe,value:s,onChange:o,step:25,placeholder:"Pick a font size",ref:i})]})}const ss=v.default.forwardRef(as);function os({label:t,value:e,onChange:n},i){const[s,o]=v.default.useState(Array.isArray(e)?[...e]:[]),l=v.default.useCallback(()=>{o(f=>[...f,""])},[o]),u=v.default.useCallback(f=>{o(m=>(m.splice(f,1),[...m]))},[o]),d=v.default.useMemo(()=>!z.default.isEqual(s,e),[s,e]),h=()=>{n(s.map(f=>f.toString()))};return c(Q,{children:[c(a.Group,{position:"left",ref:i,children:[r(a.Text,{children:t}),r(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:h,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Group,{children:[s.map((f,m)=>r(a.TextInput,{value:f,onChange:g=>{const b=g.currentTarget.value;o(I=>(I.splice(m,1,b),[...I]))},rightSection:r(a.ActionIcon,{onClick:()=>u(m),color:"red",children:r(_.Trash,{size:14})}),sx:{width:"45%"}})),r(a.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:r(_.PlaylistAdd,{size:20})})]})]})}const ls=v.default.forwardRef(os),us=v.default.forwardRef(function({value:e,onChange:n},i){const s=e.color.type,o=(l,u)=>{const d=z.default.cloneDeep(e);z.default.set(d,l,u),n(d)};return c(Q,{children:[r(a.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),r(a.Stack,{children:r(a.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:e.size,onChange:l=>o("size",l.currentTarget.value)})}),r(a.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:r(ss,{label:"Font Weight",value:e.weight,onChange:l=>o("weight",l)})}),r(a.Divider,{my:"xs",label:"Style",labelPosition:"center"}),c(a.Stack,{children:[r(a.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:l=>o("color.type",l)}),s==="static"&&r(ge,{value:e.color.staticColor,onChange:l=>o("color.staticColor",l)}),s==="continuous"&&c(Q,{children:[r(ls,{label:"Value Range",value:e.color.valueRange,onChange:l=>o("color.valueRange",l)}),r(rs,{label:"Color Range",value:e.color.colorRange,onChange:l=>o("color.colorRange",l)})]})]})]})}),Je=v.default.forwardRef(function({value:e,onChange:n,data:i,withStyle:s=!0},o){const l=(u,d)=>{const h=z.default.cloneDeep(e);z.default.set(h,u,d),n(h)};return c(a.Box,{px:"sm",py:"md",ref:o,children:[r(a.Text,{weight:"bold",pb:0,children:e.name}),r(a.Divider,{my:"xs",label:"Data",labelPosition:"center"}),c(a.Group,{grow:!0,noWrap:!0,children:[r(a.TextInput,{label:"Name",required:!0,value:e.name,onChange:u=>l("name",u.currentTarget.value)}),r($,{label:"Data Field",required:!0,data:i,value:e.data_field,onChange:u=>l("data_field",u)})]}),r(es,{label:"Aggregation",value:e.aggregation,onChange:u=>l("aggregation",u)}),r(a.Divider,{my:"xs",label:"Format",labelPosition:"center"}),r(Rn,{value:e.formatter,onChange:u=>l("formatter",u)}),s&&r(us,{value:e,onChange:n})]})});function cs(t){const e=Array.from(t).sort((i,s)=>i-s),n=Math.floor(e.length/2);return e.length%2===0?(e[n-1]+e[n])/2:e[n]}function Tt(t,e,n){var s,o,l,u;const i=t.map(d=>d[e]);switch(n.type){case"sum":return z.default.sum(i);case"mean":return z.default.mean(i);case"median":return cs(i);case"max":return(s=z.default.max(i))!=null?s:0;case"min":return(o=z.default.min(i))!=null?o:0;case"quantile":return(l=fi.quantile(i,n.config.p))!=null?l:0;default:return(u=t[0])==null?void 0:u[e]}}var Gn=function(){},Fe=function(){};process.env.NODE_ENV!=="production"&&(Gn=function(t,e){!t&&typeof console<"u"&&console.warn(e)},Fe=function(t,e){if(!t)throw new Error(e)});const ds=(t,e,n)=>Math.min(Math.max(n,t),e),Ln=(t,e,n)=>{const i=e-t;return i===0?1:(n-t)/i},Dt=(t,e,n)=>-n*t+n*e+t,Bn=(t,e)=>n=>Math.max(Math.min(n,e),t),Re=t=>t%1?Number(t.toFixed(5)):t,Ke=/(-)?([\d]*\.?[\d])+/g,_t=/(#[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,ps=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function Ge(t){return typeof t=="string"}const Ze={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Nn=Object.assign(Object.assign({},Ze),{transform:Bn(0,1)});Object.assign(Object.assign({},Ze),{default:1});const Le=(t=>({test:e=>Ge(e)&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}))("%");Object.assign(Object.assign({},Le),{parse:t=>Le.parse(t)/100,transform:t=>Le.transform(t*100)});const At=(t,e)=>n=>Boolean(Ge(n)&&ps.test(n)&&n.startsWith(t)||e&&Object.prototype.hasOwnProperty.call(n,e)),$n=(t,e,n)=>i=>{if(!Ge(i))return i;const[s,o,l,u]=i.match(Ke);return{[t]:parseFloat(s),[e]:parseFloat(o),[n]:parseFloat(l),alpha:u!==void 0?parseFloat(u):1}},De={test:At("hsl","hue"),parse:$n("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:n,alpha:i=1})=>"hsla("+Math.round(t)+", "+Le.transform(Re(e))+", "+Le.transform(Re(n))+", "+Re(Nn.transform(i))+")"},fs=Bn(0,255),kt=Object.assign(Object.assign({},Ze),{transform:t=>Math.round(fs(t))}),Ce={test:At("rgb","red"),parse:$n("red","green","blue"),transform:({red:t,green:e,blue:n,alpha:i=1})=>"rgba("+kt.transform(t)+", "+kt.transform(e)+", "+kt.transform(n)+", "+Re(Nn.transform(i))+")"};function hs(t){let e="",n="",i="",s="";return t.length>5?(e=t.substr(1,2),n=t.substr(3,2),i=t.substr(5,2),s=t.substr(7,2)):(e=t.substr(1,1),n=t.substr(2,1),i=t.substr(3,1),s=t.substr(4,1),e+=e,n+=n,i+=i,s+=s),{red:parseInt(e,16),green:parseInt(n,16),blue:parseInt(i,16),alpha:s?parseInt(s,16)/255:1}}const Mt={test:At("#"),parse:hs,transform:Ce.transform},He={test:t=>Ce.test(t)||Mt.test(t)||De.test(t),parse:t=>Ce.test(t)?Ce.parse(t):De.test(t)?De.parse(t):Mt.parse(t),transform:t=>Ge(t)?t:t.hasOwnProperty("red")?Ce.transform(t):De.transform(t)},jn="${c}",Wn="${n}";function gs(t){var e,n,i,s;return isNaN(t)&&Ge(t)&&((n=(e=t.match(Ke))===null||e===void 0?void 0:e.length)!==null&&n!==void 0?n:0)+((s=(i=t.match(_t))===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0)>0}function Qn(t){typeof t=="number"&&(t=`${t}`);const e=[];let n=0;const i=t.match(_t);i&&(n=i.length,t=t.replace(_t,jn),e.push(...i.map(He.parse)));const s=t.match(Ke);return s&&(t=t.replace(Ke,Wn),e.push(...s.map(Ze.parse))),{values:e,numColors:n,tokenised:t}}function Yn(t){return Qn(t).values}function Un(t){const{values:e,numColors:n,tokenised:i}=Qn(t),s=e.length;return o=>{let l=i;for(let u=0;u<s;u++)l=l.replace(u<n?jn:Wn,u<n?He.transform(o[u]):Re(o[u]));return l}}const ms=t=>typeof t=="number"?0:t;function ys(t){const e=Yn(t);return Un(t)(e.map(ms))}const Xn={test:gs,parse:Yn,createTransformer:Un,getAnimatableNone:ys};function Et(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*(2/3-n)*6:t}function Jn({hue:t,saturation:e,lightness:n,alpha:i}){t/=360,e/=100,n/=100;let s=0,o=0,l=0;if(!e)s=o=l=n;else{const u=n<.5?n*(1+e):n+e-n*e,d=2*n-u;s=Et(d,u,t+1/3),o=Et(d,u,t),l=Et(d,u,t-1/3)}return{red:Math.round(s*255),green:Math.round(o*255),blue:Math.round(l*255),alpha:i}}const vs=(t,e,n)=>{const i=t*t,s=e*e;return Math.sqrt(Math.max(0,n*(s-i)+i))},bs=[Mt,Ce,De],Kn=t=>bs.find(e=>e.test(t)),Zn=t=>`'${t}' is not an animatable color. Use the equivalent color code instead.`,Hn=(t,e)=>{let n=Kn(t),i=Kn(e);Fe(!!n,Zn(t)),Fe(!!i,Zn(e));let s=n.parse(t),o=i.parse(e);n===De&&(s=Jn(s),n=Ce),i===De&&(o=Jn(o),i=Ce);const l=Object.assign({},s);return u=>{for(const d in l)d!=="alpha"&&(l[d]=vs(s[d],o[d],u));return l.alpha=Dt(s.alpha,o.alpha,u),n.transform(l)}},xs=t=>typeof t=="number",Cs=(t,e)=>n=>e(t(n)),er=(...t)=>t.reduce(Cs);function tr(t,e){return xs(t)?n=>Dt(t,e,n):He.test(t)?Hn(t,e):ir(t,e)}const nr=(t,e)=>{const n=[...t],i=n.length,s=t.map((o,l)=>tr(o,e[l]));return o=>{for(let l=0;l<i;l++)n[l]=s[l](o);return n}},ws=(t,e)=>{const n=Object.assign(Object.assign({},t),e),i={};for(const s in n)t[s]!==void 0&&e[s]!==void 0&&(i[s]=tr(t[s],e[s]));return s=>{for(const o in i)n[o]=i[o](s);return n}};function rr(t){const e=Xn.parse(t),n=e.length;let i=0,s=0,o=0;for(let l=0;l<n;l++)i||typeof e[l]=="number"?i++:e[l].hue!==void 0?o++:s++;return{parsed:e,numNumbers:i,numRGB:s,numHSL:o}}const ir=(t,e)=>{const n=Xn.createTransformer(e),i=rr(t),s=rr(e);return i.numHSL===s.numHSL&&i.numRGB===s.numRGB&&i.numNumbers>=s.numNumbers?er(nr(i.parsed,s.parsed),n):(Gn(!0,`Complex values '${t}' and '${e}' 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?e:t}`)},Ss=(t,e)=>n=>Dt(t,e,n);function Is(t){if(typeof t=="number")return Ss;if(typeof t=="string")return He.test(t)?Hn:ir;if(Array.isArray(t))return nr;if(typeof t=="object")return ws}function Ts(t,e,n){const i=[],s=n||Is(t[0]),o=t.length-1;for(let l=0;l<o;l++){let u=s(t[l],t[l+1]);if(e){const d=Array.isArray(e)?e[l]:e;u=er(d,u)}i.push(u)}return i}function Ds([t,e],[n]){return i=>n(Ln(t,e,i))}function _s(t,e){const n=t.length,i=n-1;return s=>{let o=0,l=!1;if(s<=t[0]?l=!0:s>=t[i]&&(o=i-1,l=!0),!l){let d=1;for(;d<n&&!(t[d]>s||d===i);d++);o=d-1}const u=Ln(t[o],t[o+1],s);return e[o](u)}}function As(t,e,{clamp:n=!0,ease:i,mixer:s}={}){const o=t.length;Fe(o===e.length,"Both input and output ranges must be the same length"),Fe(!i||!Array.isArray(i)||i.length===o-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),t[0]>t[o-1]&&(t=[].concat(t),e=[].concat(e),t.reverse(),e.reverse());const l=Ts(e,i,s),u=o===2?Ds(t,l):_s(t,l);return n?d=>u(ds(t[0],t[o-1],d)):u}class ks{constructor({valueRange:e,colorRange:n}){V(this,"mapper");this.mapper=As(e,n)}getColor(e){return this.mapper(e)}}function Ms(t){return t===null?"null":t===void 0?"undefined":Array.isArray(t)?`Array(${t.length})`:t.toString()}function ar({data_field:t,aggregation:e},n){return Tt(n,t,e)}function et({formatter:t},e){return["string","number"].includes(typeof e)?oe.default(e).format(t):Ms(e)}function Es(t,e){return t.type==="static"?t.staticColor:t.type==="continuous"?new ks(t).getColor(e):"black"}function Vs(t,e){const n={};return t.forEach(i=>{const{name:s,color:o,data_field:l,aggregation:u,size:d,weight:h}=i,f=Tt(e,l,u),m=et(i,f);n[s]=r(a.Text,{sx:{fontSize:d,display:"inline"},color:Es(o,f),weight:h,children:m})}),n}function zs(t){return t.split(" ").map(e=>c(Q,{children:[e,"\xA0"]}))}function Os(t){const n=t.replaceAll("<br />","<br/>").replaceAll(`
40
+ `,"<br/>").split("<br/>");return n.map((s,o)=>{const l=[zs(s)];return o!==n.length-1&&l.push(r("br",{})),l}).flat().filter(s=>s!==void 0)}function Vt(t){return Os(t)}function zt(t,e,n){const i=Vs(e,n),s=/^\{(.+)\}(.*)$/;return t.split("$").map(o=>{var h;const l=s.exec(o);if(!l)return Vt(o);const u=i[l[1]];if(!u)return Vt(o);const d=(h=l[2])!=null?h:"";return c(Q,{children:[u,Vt(d)]})})}function Ps(t,e){const n={};return t.forEach(i=>{const{name:s,data_field:o,aggregation:l}=i,u=Tt(e,o,l);n[s]=et(i,u)}),n}function sr(t,e,n){const i=Ps(e,n),s=/^\{(.+)\}(.*)$/;return t.split("$").map(o=>{var h;const l=s.exec(o);if(!l)return o;const u=i[l[1]];if(!u)return o;const d=(h=l[2])!=null?h:"";return`${u}${d}`}).join("")}function qs({context:t}){const{value:e=wt}=G(t.instanceData,"config"),{template:n,variables:i,align:s}=e,o=C.useMemo(()=>zt(n,i,t.data),[n,i,t.data]);return r(a.Text,{align:s,children:Object.values(o).map(l=>l)})}function Fs({control:t,index:e,remove:n,data:i}){return c(a.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[r(w.Controller,{name:`variables.${e}`,control:t,render:({field:s})=>r(Je,{data:i,...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function Rs({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"variables"}),l=e("variables"),u=i.map((h,f)=>({...h,...l[f]})),d=()=>s(Ue());return c(a.Stack,{children:[u.map((h,f)=>r(Fs,{control:t,index:f,remove:o,data:n},h.name)),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Variable"})})]})}function Gs({context:t}){const e=t.data||[],{value:n,set:i}=G(t.instanceData,"config"),s=v.default.useMemo(()=>{const{align:g,template:b="",variables:I=[]}=S.defaultsDeep({},n,wt);return{variables:I,template:b,align:g}},[n]),{control:o,handleSubmit:l,watch:u,getValues:d,reset:h}=w.useForm({defaultValues:s});v.default.useEffect(()=>{h(s)},[s]),u(["variables","template"]);const f=d(),m=v.default.useMemo(()=>!z.default.isEqual(f,n),[f,n]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l(i),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{weight:500,children:"Stats Configurations"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:r(_.DeviceFloppy,{size:20})})]}),r(w.Controller,{name:"template",control:o,render:({field:g})=>r(St,{label:"Template",py:"md",sx:{flexGrow:1},...g})}),r(a.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),r(Rs,{control:o,watch:u,data:e})]})})}const Ls={createConfig(){return{version:1,config:wt}},displayName:"Stats",migrator:new Ja,name:"stats",viewRender:qs,configRender:Gs};var we=(t=>(t.string="string",t.number="number",t.eloc="eloc",t.percentage="percentage",t))(we||{});const tt={columns:[],fontSize:"1rem",highlightOnHover:!1,horizontalSpacing:"1em",id_field:"",striped:!1,use_raw_columns:!1,verticalSpacing:"1em"},Bs=({vizManager:t,instance:e})=>B.useCreation(()=>new mr(e,t.resolveComponent(e.type),Wt),[e,t]),Ns=(t,e)=>{const[n,i]=C.useState([]);return C.useEffect(()=>t.watchTriggerSnapshotList(s=>i(s.filter(o=>o.schemaRef===e))),[]),n};function or(t,e,n){return Math.min(Math.max(t,e),n)}class $s{constructor(e){this.steps=e;const n=[],i=new Set;for(const s of e)i.has(s.to)||(n.push(s),i.add(s.to));if(n.sort((s,o)=>s.from-o.from),n.length<2)throw new Error("MultiStepValueMapper requires at least 2 steps");this.steps=n}getLinearFunction(e,n){const i=(n.to-e.to)/(n.from-e.from),s=e.to-i*e.from;return o=>i*o+s}getStepFunctionForValue(e){let n=S.findLastIndex(this.steps,i=>i.from<=e);return n=or(n,0,this.steps.length-2),this.getLinearFunction(this.steps[n],this.steps[n+1])}mapValue(e){return or(this.getStepFunctionForValue(e)(e),0,100)}}function js(t,e){if(t==null)return{};var n={},i=Object.keys(t),s,o;for(o=0;o<i.length;o++)s=i[o],!(e.indexOf(s)>=0)&&(n[s]=t[s]);return n}function lr(t,e){if(t==null)return{};var n=js(t,e),i,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(s=0;s<o.length;s++)i=o[s],!(e.indexOf(i)>=0)&&(!Object.prototype.propertyIsEnumerable.call(t,i)||(n[i]=t[i]))}return n}var Ws=["size","color","stroke"];function Qs(t){var e=t.size,n=e===void 0?24:e,i=t.color,s=i===void 0?"currentColor":i,o=t.stroke,l=o===void 0?2:o,u=lr(t,Ws);return c("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:s,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[r("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),r("line",{x1:12,y1:5,x2:12,y2:19}),r("line",{x1:18,y1:13,x2:12,y2:19}),r("line",{x1:6,y1:13,x2:12,y2:19})]})}var Ys=["size","color","stroke"];function Us(t){var e=t.size,n=e===void 0?24:e,i=t.color,s=i===void 0?"currentColor":i,o=t.stroke,l=o===void 0?2:o,u=lr(t,Ys);return c("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:s,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...u,children:[r("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),r("line",{x1:12,y1:5,x2:12,y2:19}),r("line",{x1:18,y1:11,x2:12,y2:5}),r("line",{x1:6,y1:11,x2:12,y2:5})]})}const Xs=({header:t,cx:e})=>c(a.Text,{className:e("table-head-cell",{"table-head-cell--sortable":t.column.getCanSort()}),onClick:t.column.getToggleSortingHandler(),children:[t.isPlaceholder?null:_e.flexRender(t.column.columnDef.header,t.getContext()),r(Js,{direction:t.column.getIsSorted()})]}),Js=({direction:t})=>{switch(t){case"asc":return r(Us,{size:16});case"desc":return r(Qs,{size:"1em"});default:return null}},Ot={id:"builtin:table:click-cell-content",displayName:"Click Cell Content",nameRender:to,configRender:Hs,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"}]},Ks={column:""};function ur(t){const{value:e}=G(t.instanceData,"config");return e?e.columns.map((n,i)=>({label:n.label,value:i.toString()})):[]}function Zs(t){return S.isEmpty(t)?[]:Object.keys(t[0]).map(e=>({label:e,value:e}))}function Hs(t){const e=ur(t.instance),n=Zs(t.sampleData),i=e.length>0?e:n,{value:s,set:o}=G(t.trigger.triggerData,"config"),{column:l}=S.defaults({},s,Ks),u=d=>{isNaN(+d)?o({column:d}):o({column:+d})};return r(a.Select,{clearable:!1,data:i,label:"Choose a column",value:l.toString(),onChange:u})}function eo(t,e){return t?S.isNumber(t.column)?`Click cell of ${e[t.column].label}`:`Click cell of ${t.column}`:"Click cell content (click to config)"}function to(t){const e=ur(t.instance),{value:n}=G(t.trigger.triggerData,"config");return r(a.Text,{children:eo(n,e)})}const no=a.createStyles(t=>({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:t.colorScheme==="dark"?t.colors.dark[5]:t.colors.gray[0]}}},thead:{background:t.colorScheme==="dark"?t.colors.dark[7]:t.white,position:"sticky",top:0}})),ro=a.createStyles((t,e)=>({content:{display:"flex",alignItems:"center",justifyContent:"flex-start",".table-cell-text":{whiteSpace:"nowrap",marginLeft:t.spacing.xs,cursor:e.clickable?"pointer":"default",textDecoration:e.clickable?"underline":"none"}}}));function io(t){return t?ze.default(t).oklch()[0]>.7?"black":"white":"inherit"}function ao(t){const e=t.tableCellContext.bgColor;return{backgroundColor:e,color:io(e)}}function nt(t){const e=t.tableCellContext.isClickable(),n=ro({clickable:e});return r("div",{className:n.classes.content,style:{...ao(t)},children:r(a.Text,{className:"table-cell-text",onClick:t.tableCellContext.getClickHandler(),children:r("span",{children:t.children})})})}function so(t){return r(nt,{...t,children:t.value})}function oo(t){return r(nt,{...t,children:t.value})}function lo(t){const e=oe.default(t.value).format({thousandSeparated:!0});return r(nt,{...t,children:e})}function uo(t){const e=oe.default(t.value).format({output:"percent",mantissa:3});return r(nt,{...t,children:e})}function co(t){switch(t.type){case we.string:return r(so,{...t});case we.eloc:return r(oo,{...t});case we.number:return r(lo,{...t});case we.percentage:return r(uo,{...t})}}const po=t=>{const e=Bs(t),n=Ns(e.triggerManager,Ot.id),{colorManager:i}=C.useContext(me);return C.useCallback(s=>new ho(t.getColIndex,s,n,e,i),[n,e,t.getColIndex])};function fo({context:t,instance:e}){var at,je,st;const n=(at=t.data)!=null?at:[],{height:i,width:s}=t.viewport,{value:o=tt}=G(t.instanceData,"config"),{use_raw_columns:l,columns:u,...d}=o,{classes:h,cx:f}=no(),m=v.default.useMemo(()=>l?Object.keys(n[0]).map(te=>({label:te,value_field:te,value_type:we.string})):u,[l,u,n]),g=po({getColIndex:C.useCallback(te=>m.indexOf(te.column.columnDef.meta),[m]),vizManager:t.vizManager,instance:e}),b=C.useMemo(()=>{const te=_e.createColumnHelper(),ce=m.map(re=>te.accessor(re.value_field,{cell:Se=>r(co,{tableCellContext:g(Se.cell),value:Se.getValue(),type:re.value_type}),header:re.label,enableSorting:!0,meta:re}));return[te.display({id:"#index",cell:re=>re.row.index+1,header:"#",size:10*(n.length.toString().length+1)}),...ce]},[m,g]),[I,A]=C.useState([]),M=_e.useReactTable({data:n,state:{sorting:I},onSortingChange:A,columns:b,getCoreRowModel:_e.getCoreRowModel(),getSortedRowModel:_e.getSortedRowModel()}),{rows:F}=M.getRowModel(),R=v.default.useRef(null),J=hi.useVirtual({parentRef:R,size:F.length,estimateSize:C.useCallback(()=>28,[]),overscan:20}),{virtualItems:ee,totalSize:Ne}=J,Me=ee.length>0&&((je=ee==null?void 0:ee[0])==null?void 0:je.start)||0,$e=ee.length>0?Ne-(((st=ee==null?void 0:ee[ee.length-1])==null?void 0:st.end)||0):0;return r("div",{ref:R,style:{height:i,width:s},className:f(h.root,{"table-highlight-on-hover":o.highlightOnHover}),children:c(a.Table,{sx:{maxHeight:i},...d,striped:o.striped,children:[r("thead",{className:h.thead,children:M.getHeaderGroups().map(te=>r("tr",{children:te.headers.map(ce=>r("th",{style:{width:ce.getSize()},children:r(Xs,{header:ce,cx:f})},ce.id))},te.id))}),c("tbody",{children:[Me>0&&r("tr",{children:r("td",{style:{height:`${Me}px`}})}),ee.map(te=>{const ce=F[te.index];return r("tr",{children:ce.getVisibleCells().map(ne=>r("td",{children:_e.flexRender(ne.column.columnDef.cell,ne.getContext())},ne.id))},ce.id)}),$e>0&&r("tr",{children:r("td",{style:{height:`${$e}px`}})})]})]})})}class ho{constructor(e,n,i,s,o){this.getColIndex=e,this.cell=n,this.triggers=i,this.interactionManager=s,this.colorManager=o}getClickHandler(){const e=this.getRelatedTrigger();if(e.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 i of e)this.interactionManager.runInteraction(i.id,n)}}getRelatedTrigger(){return this.triggers.filter(n=>n.schemaRef===Ot.id).filter(n=>{const i=this.getColIndex(this.cell),s=S.get(this.cell.column.columnDef.meta,"value_field"),o=S.get(n.config,"column");return o==i||o==s})}isClickable(){return this.getRelatedTrigger().length>0}get columnConf(){return this.cell.column.columnDef.meta}get bgColor(){const e=this.columnConf.cellBackgroundColor;if(!e||e==="none")return;if(S.isString(e))return e;const n=+this.cell.getValue();if(isFinite(n)){const i=this.colorManager.decodeInterpolation(e.interpolation),o=new $s(e.steps).mapValue(n);return i==null?void 0:i.getColor(o)}}}const cr=a.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)"}}}})),go=[{from:0,to:0},{from:100,to:100}];class mo{constructor(){V(this,"steps",new Map);V(this,"interpolation");V(this,"onChange");K.makeAutoObservable(this,{steps:K.observable},{deep:!1}),K.reaction(()=>K.toJS(this.steps),()=>{this.notifyStepChange()})}setSteps(e){for(const n of e)this.steps.set(n.to,n.from)}notifyStepChange(){var e;(e=this.onChange)==null||e.call(this,Array.from(this.steps.entries()).map(([n,i])=>({to:n,from:i})).sort((n,i)=>n.to-i.to||n.from-i.from))}fromProps(e){e.steps.length<2?this.setSteps(go):this.setSteps(e.steps),this.interpolation=e.interpolation,this.onChange=e.onChange}changeStep(e,n){e==null?this.steps.delete(n):this.steps.set(n,e)}getStepFromValue(e){return this.steps.get(e)}}function yo(t){const{onChange:e,color:n,index:i,value:s}=t,{classes:o}=cr(),[l,u]=C.useState(s),[d,{setTrue:h,setFalse:f}]=B.useBoolean(!1),m=i%2===1,g=m&&s!=null,b=!m&&s!=null,I=`map ${s} to color ${i}`,A=()=>{u(s),f()},M=()=>{f(),e==null||e(l)},F=oe.default(s).format({average:!0});return c("div",{"data-testid":`palette-item-${i}`,className:o.paletteItem,children:[r(a.Text,{title:I,style:{opacity:g?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:F}),c(a.Popover,{width:200,trapFocus:!0,opened:d,onClose:f,children:[r(a.Popover.Target,{children:r("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:h,style:{"--shadow-color":ze.default(n).alpha(.5).hex(),backgroundColor:n}})}),r(a.Popover.Dropdown,{children:c(a.Stack,{children:[r(a.NumberInput,{size:"xs",label:"Map a value to this color",value:l,onChange:u}),c(a.Group,{position:"right",children:[r(a.Button,{variant:"subtle",size:"xs",onClick:A,children:"Cancel"}),r(a.Button,{"data-testid":"palette-item-ok",size:"xs",onClick:M,children:"OK"})]})]})})]}),r(a.Text,{title:I,style:{opacity:b?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:F})]})}const vo=k.observer(({model:t})=>{const{classes:e}=cr(),n=S.range(0,13,1).map(i=>100/12*i).map(i=>[t.interpolation.getColor(i),i]);return r("div",{className:e.palette,children:n.map(([i,s],o)=>r(yo,{index:o,color:i,value:t.getStepFromValue(s),onChange:l=>t.changeStep(l,s)},i))})}),bo=k.observer(function(e){const n=B.useCreation(()=>new mo,[]);return C.useEffect(()=>{n.fromProps(e)}),n.interpolation==null?null:r(vo,{model:n})}),xo=t=>{const{value:e,onChange:n,colorManager:i}=t,s=i.getColorInterpolations(),[o,l]=C.useState(e),u=i.decodeInterpolation(o.interpolation)||s[0],[d,{setTrue:h,setFalse:f}]=B.useBoolean(),m=s.map(M=>({label:M.displayName,value:i.encodeColor(M),group:M.category}));function g(M){M&&l(F=>({...F,interpolation:M}))}const b=()=>{f(),n==null||n(K.toJS(o))};function I(M){l(F=>({...F,steps:M}))}const A=()=>{f(),l(e)};return c(Q,{children:[r(a.Button,{variant:"outline",onClick:h,children:u==null?void 0:u.displayName}),r(a.Modal,{size:508,title:"Setup color interpolation",opened:d,onClose:f,children:d&&c(a.Stack,{"data-testid":"color-interpolation-modal",children:[r(a.Select,{label:"Color style",value:o.interpolation,data:m,onChange:g}),r(bo,{steps:o.steps,interpolation:u,onChange:I}),c(a.Group,{position:"right",children:[r(a.Button,{onClick:A,variant:"subtle",children:"Cancel"}),r(a.Button,{onClick:b,children:"OK"})]})]})})]})},Co=["static","interpolation","none"],wo=[{from:0,to:0},{from:100,to:100}];function dr(t){return t?S.isString(t)?t==="none"?"none":"static":"interpolation":"none"}function So(t,e){var n;return dr(e)==="static"?e:(n=t.getStaticColors()[0])==null?void 0:n.value}function Io(t,e){return S.isObject(e)?e:{steps:wo,interpolation:t.encodeColor(t.getColorInterpolations()[0])}}const To=t=>{const{colorManager:e}=C.useContext(me),[n,i]=C.useState(dr(t.value)),[s,o]=C.useState(So(e,t.value)),l=B.useLatest(s),[u,d]=C.useState(Io(e,t.value)),h=B.useLatest(u),f=b=>{var I,A,M;i(b||"none"),b==="static"?(I=t.onChange)==null||I.call(t,l.current):b==="none"||!b?(A=t.onChange)==null||A.call(t,"none"):(M=t.onChange)==null||M.call(t,h.current)},m=b=>{var I;o(b),(I=t.onChange)==null||I.call(t,b)},g=b=>{var I;d(b),(I=t.onChange)==null||I.call(t,b)};return c(a.Group,{align:"end",children:[r(a.Select,{label:"Cell background",value:n||"none",onChange:f,data:Co}),n==="static"&&r(ge,{value:s,onChange:m}),n==="interpolation"&&r(xo,{colorManager:e,value:u,onChange:g})]})},Do=Object.values(we).map(t=>({label:t,value:t}));function _o({label:t,value:e,onChange:n,sx:i}){return r(a.Select,{label:t,data:Do,value:e,onChange:n,sx:i})}function Ao({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=ht.useForm({initialValues:tt});C.useEffect(()=>{const l=S.defaults({},e,i.values,tt);e&&i.setValues(l)},[e]);const s=t.data||[],o=()=>i.insertListItem("columns",{label:U.randomId(),value_field:"value",value_type:we.string});return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:i.onSubmit(async l=>{await n(l)}),children:[c(a.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[r(a.Text,{children:"Table Config"}),r(a.ActionIcon,{type:"submit","aria-label":"save config",mr:5,variant:"filled",color:"blue",children:r(_.DeviceFloppy,{size:20})})]}),c(a.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[r($,{label:"ID Field",required:!0,data:s,...i.getInputProps("id_field")}),c(a.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[r(a.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("horizontalSpacing")}),r(a.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("verticalSpacing")})]}),r(a.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:r(a.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("fontSize")})}),c(a.Stack,{children:[r(a.Text,{children:"Other"}),c(a.Group,{position:"apart",grow:!0,children:[r(a.Switch,{label:"Striped",...i.getInputProps("striped",{type:"checkbox"})}),r(a.Switch,{label:"Highlight on hover",...i.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),c(a.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[r(a.Switch,{label:"Use Original Data Columns",...i.getInputProps("use_raw_columns",{type:"checkbox"})}),!i.values.use_raw_columns&&c(a.Stack,{children:[r(a.Text,{mt:"xl",mb:0,children:"Custom Columns"}),i.values.columns.map((l,u)=>c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[c(a.Group,{position:"apart",grow:!0,children:[r(a.TextInput,{label:"Label",required:!0,id:`col-label-${u}`,sx:{flex:1},...i.getInputProps(`columns.${u}.label`)}),r($,{label:"Value Field",required:!0,data:s,...i.getInputProps(`columns.${u}.value_field`)}),r(_o,{label:"Value Type",sx:{flex:1},...i.getInputProps(`columns.${u}.value_type`)}),r(To,{...i.getInputProps(`columns.${u}.cellBackgroundColor`)})]}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeListItem("columns",u),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},u)),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:o,children:"Add a Column"})})]})]}),r(a.Text,{weight:500,mb:"md",children:"Current Configuration:"}),r(Ie.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(i.values,null,2)})]})})}class ko extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Pt={createConfig(){return{version:1,config:S.cloneDeep(tt)}},displayName:"Table",migrator:new ko,name:"table",viewRender:fo,configRender:Ao,triggers:[Ot]},qt={label_field:"",value_field:""};X.use([de.SunburstChart,ve.CanvasRenderer]);const Mo={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function Eo({context:t}){const{value:e}=G(t.instanceData,"config"),n=t.data,{width:i,height:s}=t.viewport,{label_field:o,value_field:l}=S.defaults({},e,qt),u=C.useMemo(()=>n.map(m=>({name:m[o],value:Number(m[l])})),[n,o,l]),d=C.useMemo(()=>{var m,g;return(g=(m=S.maxBy(u,b=>b.value))==null?void 0:m.value)!=null?g:1},[u]),h=C.useMemo(()=>({series:{label:{formatter:({name:m,value:g})=>g/d<.2?" ":m}}}),[d]),f=S.merge({},Mo,h,{series:{data:u}});return r(be.default,{echarts:X,option:f,style:{width:i,height:s}})}function Vo({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),{label_field:i,value_field:s}=S.defaults({},e,qt),o=t.data,l=ht.useForm({initialValues:{label_field:i,value_field:s}});return C.useEffect(()=>{l.setValues({label_field:i,value_field:s})},[i,s]),r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l.onSubmit(n),children:[c(a.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[r(a.Text,{children:"Sunburst Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:r(_.DeviceFloppy,{size:20})})]}),c(a.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[r($,{label:"Label Field",required:!0,data:o,...l.getInputProps("label_field")}),r($,{label:"Value Field",required:!0,data:o,...l.getInputProps("value_field")})]})]})})}class zo extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Oo={displayName:"Sunburst",migrator:new zo,name:"sunburst",viewRender:Eo,configRender:Vo,createConfig:()=>qt},Ft={label_field:"",value_field:""};X.use([de.PieChart,ve.CanvasRenderer]);const Po={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
41
+ {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 qo({context:t}){const{value:e}=G(t.instanceData,"config"),n=t.data,{width:i,height:s}=t.viewport,{label_field:o,value_field:l}=S.defaults({},e,Ft),u=C.useMemo(()=>n.map(f=>({name:f[o],value:Number(f[l])})),[n,o,l]),d=C.useMemo(()=>({series:{labelLayout:function(f){const m=f.labelRect.x<i/2,g=f.labelLinePoints;return S.set(g,[2,0],m?f.labelRect.x:f.labelRect.x+f.labelRect.width),{labelLinePoints:g}}}}),[i]),h=S.merge({},Po,d,{series:{data:u}});return r(be.default,{echarts:X,option:h,style:{width:i,height:s}})}function Fo({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),{label_field:i,value_field:s}=S.defaults({},e,Ft),o=t.data,l=ht.useForm({initialValues:{label_field:i,value_field:s}});return C.useEffect(()=>{l.setValues({label_field:i,value_field:s})},[i,s]),r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l.onSubmit(n),children:[c(a.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[r(a.Text,{children:"Pie Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:r(_.DeviceFloppy,{size:20})})]}),c(a.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[r($,{label:"Label Field",required:!0,data:o,...l.getInputProps("label_field")}),r($,{label:"Value Field",required:!0,data:o,...l.getInputProps("value_field")})]})]})})}class Ro extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Go={displayName:"Pie Chart",migrator:new Ro,name:"pie",viewRender:qo,configRender:Fo,createConfig:()=>Ft},Rt={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"}};X.use([N.GridComponent,N.VisualMapComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]);function Lo({context:t}){const{value:e}=G(t.instanceData,"config"),n=t.data,{width:i,height:s}=t.viewport,{x_axis_data_key:o,y_axis_data_key:l,z_axis_data_key:u,xAxis3D:d,yAxis3D:h,zAxis3D:f}=S.defaults({},e,Rt),m=C.useMemo(()=>{const I=S.minBy(n,A=>A[u]);return S.get(I,u)},[n,u]),g=C.useMemo(()=>{const I=S.maxBy(n,A=>A[u]);return S.get(I,u)},[n,u]),b={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:m,max:g,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:d,yAxis3D:h,zAxis3D:f,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:n.map(I=>[I[o],I[l],I[u]])}]};return e?r(be.default,{echarts:X,option:b,style:{width:i,height:s}}):null}function Bo({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=t.data,s=S.defaults({},e,Rt),{control:o,handleSubmit:l,reset:u}=w.useForm({defaultValues:s});return C.useEffect(()=>{u(s)},[e]),e?r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l(n),children:[r(a.Text,{children:"X Axis"}),c(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r(w.Controller,{name:"x_axis_data_key",control:o,render:({field:d})=>r($,{label:"Data Field",required:!0,data:i,...d})}),r(w.Controller,{name:"xAxis3D.name",control:o,render:({field:d})=>r(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),r(a.Text,{mt:"lg",children:"Y Axis"}),c(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r(w.Controller,{name:"y_axis_data_key",control:o,render:({field:d})=>r($,{label:"Data Field",required:!0,data:i,...d})}),r(w.Controller,{name:"yAxis3D.name",control:o,render:({field:d})=>r(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),r(a.Text,{mt:"lg",children:"Z Axis"}),c(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r(w.Controller,{name:"z_axis_data_key",control:o,render:({field:d})=>r($,{label:"Data Field",required:!0,data:i,...d})}),r(w.Controller,{name:"zAxis3D.name",control:o,render:({field:d})=>r(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),r(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:c(a.Button,{color:"blue",type:"submit",children:[r(_.DeviceFloppy,{size:20}),r(a.Text,{ml:"md",children:"Save"})]})})]})}):null}class No extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const $o={displayName:"Bar Chart (3D)",migrator:new No,name:"bar-3d",viewRender:Lo,configRender:Bo,createConfig:()=>Rt},Gt={x_axis:{name:"X Axis",data_key:""},y_axis:{name:"Y Axis",data_key:"value"},color:"#228be6",variables:[],reference_lines:[]};X.use([N.DataZoomComponent,de.BoxplotChart,N.MarkLineComponent,N.GridComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]);function jo(t,e,n){const i=e.reduce((s,o)=>{const l=ar(o,n);return s[o.name]=et(o,l),s},{});return t.map(s=>({name:"refs",type:"scatter",data:[],markLine:{data:[{name:s.name,yAxis:Number(i[s.variable_key])}],silent:!0,symbol:["none","none"],label:{formatter:function(){return sr(s.template,e,n)},position:"insideEndTop"}}}))}function Wo({context:t}){const{value:e}=G(t.instanceData,"config"),n=t.data,{width:i,height:s}=t.viewport,{x_axis:o,y_axis:l,color:u,variables:d,reference_lines:h}=S.defaults({},e,Gt),{xAxisData:f,boxplotData:m}=C.useMemo(()=>{const b=z.default.groupBy(n,o.data_key);return{xAxisData:Object.keys(b),boxplotData:Object.values(b).map(I=>I.map(A=>A[l.data_key]))}},[n,o.data_key,l.data_key]),g={dataset:[{source:m},{transform:{type:"boxplot",config:{itemNameFormatter:function(b){var I;return(I=f[b.value])!=null?I:b.value}}}}],dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",name:o.name}],yAxis:[{name:l.name}],series:[{name:l.name,type:"boxplot",itemStyle:{color:u,borderColor:"#454545"},boxWidth:[10,40],datasetIndex:1},...jo(h,d,n)]};return!e||!i||!s?null:r(be.default,{echarts:X,option:g,style:{width:i,height:s}})}function Qo({control:t,index:e,remove:n,variableOptions:i}){return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`reference_lines.${e}.name`,control:t,render:({field:s})=>r(a.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...s})}),r(w.Controller,{name:`reference_lines.${e}.variable_key`,control:t,render:({field:s})=>r(a.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...s})})]}),r(w.Controller,{name:`reference_lines.${e}.template`,control:t,render:({field:s})=>r(a.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function Yo({control:t,watch:e}){const{fields:n,append:i,remove:s}=w.useFieldArray({control:t,name:"reference_lines"}),o=e("reference_lines"),l=n.map((f,m)=>({...f,...o[m]})),u=()=>i({name:"",template:"",variable_key:""}),d=e("variables"),h=C.useMemo(()=>d.map(f=>({label:f.name,value:f.name})),[d]);return c(a.Stack,{children:[l.map((f,m)=>r(Qo,{control:t,index:m,remove:s,variableOptions:h})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:u,children:"Add a Reference Line"})})]})}function Uo({control:t,index:e,remove:n,data:i}){return c(a.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[r(w.Controller,{name:`variables.${e}`,control:t,render:({field:s})=>r(Je,{data:i,withStyle:!1,...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function Xo({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"variables"}),l=e("variables"),u=i.map((h,f)=>({...h,...l[f]})),d=()=>s(Ue());return c(a.Stack,{children:[u.map((h,f)=>r(Uo,{control:t,index:f,remove:o,data:n})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Variable"})})]})}function Jo({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=t.data,s=C.useMemo(()=>S.defaults({},e,Gt),[e]),{control:o,handleSubmit:l,watch:u,getValues:d,reset:h}=w.useForm({defaultValues:s});C.useEffect(()=>{h(s)},[s]),u(["x_axis","y_axis","reference_lines","color"]);const f=d(),m=C.useMemo(()=>!S.isEqual(f,e),[f,e]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l(n),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Chart Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Accordion,{defaultValue:"Axis",children:[c(a.Accordion.Item,{value:"Axis",children:[r(a.Accordion.Control,{children:"Axis"}),c(a.Accordion.Panel,{children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"x_axis.name",control:o,render:({field:g})=>r(a.TextInput,{label:"X Axis Name",sx:{flex:1},...g})}),r(w.Controller,{name:"x_axis.data_key",control:o,render:({field:g})=>r($,{label:"X Axis Data Field",required:!0,data:i,sx:{flex:1},...g})})]}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"y_axis.name",control:o,render:({field:g})=>r(a.TextInput,{label:"Y Axis Name",sx:{flex:1},...g})}),r(w.Controller,{name:"y_axis.data_key",control:o,render:({field:g})=>r($,{label:"Y Axis Data Field",required:!0,data:i,sx:{flex:1},...g})})]})]})]}),c(a.Accordion.Item,{value:"Style",children:[r(a.Accordion.Control,{children:"Style"}),r(a.Accordion.Panel,{children:c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Color"}),r(w.Controller,{name:"color",control:o,render:({field:g})=>r(ge,{...g})})]})})]}),c(a.Accordion.Item,{value:"Advanced",children:[r(a.Accordion.Control,{children:c(a.Group,{position:"apart",children:["Advanced",r(a.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),r(a.Accordion.Panel,{children:c(a.Tabs,{defaultValue:"variables",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"variables",children:"Variables"}),r(a.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),r(a.Tabs.Panel,{value:"variables",pt:"xs",children:r(Xo,{control:o,watch:u,data:i})}),r(a.Tabs.Panel,{value:"reference_lines",pt:"xs",children:r(Yo,{control:o,watch:u})})]})})]})]})]})})}class Ko extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Zo={displayName:"Boxplot",migrator:new Ko,name:"boxplot",viewRender:Wo,configRender:Jo,createConfig:()=>Gt};function Ho(t){const e=t.y_axes.some(n=>!!n.name);return{bottom:t.x_axis_name?40:25,top:e?30:10}}function el({regressions:t=[]},e){const n=[],i=[],s=[];return e.length===0?{regressionDataSets:n,regressionSeries:i,regressionXAxes:s}:(t.forEach(({transform:o,plot:l,name:u,y_axis_data_key:d})=>{const h=`x-axis-for-${u}`,f=`dataset-for-${u}--raw`,m=`dataset-for-${u}--transformed`;n.push({id:f,source:e.map((g,b)=>[b,Number(g[d])])}),n.push({transform:o,id:m,fromDatasetId:f}),i.push({...l,name:u,datasetId:m,xAxisId:h,showSymbol:!1,tooltip:{show:!1}}),s.push({type:"category",id:h,datasetId:m,show:!1})}),{regressionDataSets:n,regressionSeries:i,regressionXAxes:s})}function tl(t,e,n,i){const s=e.map(o=>[o[n],o[i]]);return z.default.unionBy(s,t,0)}function nl(t,e,n){const i=e.reduce((s,o)=>{const l=ar(o,n);return s[o.name]=et(o,l),s},{});return t.map(s=>({name:"refs",type:"scatter",data:[],markLine:{data:[{name:s.name,yAxis:Number(i[s.variable_key])}],silent:!0,symbol:["none","none"],label:{formatter:function(){return sr(s.template,e,n)},position:"insideEndTop"}}}))}function rl({x_axis_data_key:t},{y_axis_data_key:e,yAxisIndex:n,label_position:i,name:s,group_by_key:o,stack:l,color:u,...d},h,f,m){const g={label:{show:!!i,position:i,formatter:m[n!=null?n:"default"]},name:s,xAxisId:"main-x-axis",yAxisIndex:n,stack:l,color:u,...d};if(!o)return g.data=f.map(I=>I[e]),g;const b=S.groupBy(f,o);return Object.entries(b).map(([I,A])=>{const M=S.cloneDeep(g);return M.data=tl(h,A,t,e),M.name=I,M.color=void 0,M})}function il(t,e,n,i){const s=e.map(l=>[l,0]);return t.series.map(l=>rl(t,l,s,n,i)).flat().concat(nl(t.reference_lines,t.variables,n))}function al(t,e){const n=t.series.reduce((i,{yAxisIndex:s,name:o})=>(i[o]=s,i),{});return{formatter:function(i){const s=Array.isArray(i)?i:[i];if(s.length===0)return"";const o=s.map(({seriesName:l,value:u})=>{var f;if(Array.isArray(u)&&u.length===2&&(u=u[1]),!l)return u;const d=n[l],h=(f=e[d])!=null?f:e.default;return`${l}: <strong>${h({value:u})}</strong>`});return o.unshift(`<strong>${s[0].name}</strong>`),o.join("<br />")}}}function sl(t,e,n){var i;return[{data:e,name:(i=t.x_axis_name)!=null?i:"",id:"main-x-axis"},...n]}function ol(t,e){return t.y_axes.map(({...n},i)=>{var s;return{...n,axisLabel:{show:!0,formatter:(s=e[i])!=null?s:e.default},nameTextStyle:{fontWeight:"bold",align:"right"},nameLocation:"end",nameGap:15}})}const ll={legend:{show:!0,bottom:0,left:0,type:"scroll"},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis"},xAxis:[{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}}],grid:{top:10,left:30,right:15,bottom:25,containLabel:!0}};function ul(t,e){const n=t.y_axes.reduce((h,{label_formatter:f},m)=>(h[m]=function(b){let I=b;if(typeof b=="object"&&(Array.isArray(b.value)&&b.value.length===2?I=b.value[1]:I=b.value),!f)return I;try{return oe.default(I).format(f)}catch(A){return console.error(A),I}},h),{default:({value:h})=>h}),i=z.default.uniq(e.map(h=>h[t.x_axis_data_key])),s=il(t,i,e,n),{regressionDataSets:o,regressionSeries:l,regressionXAxes:u}=el(t,e),d={xAxis:sl(t,i,u),yAxis:ol(t,n),dataset:[...o],series:[...s,...l],tooltip:al(t,n),grid:Ho(t)};return S.defaultsDeep({},d,ll)}const Lt={regressions:[],series:[],stats:{templates:{bottom:"",top:""},variables:[]},x_axis_data_key:"",x_axis_name:"",y_axes:[{name:"Y Axis",label_formatter:It}],variables:[],reference_lines:[]};X.use([N.DataZoomComponent,de.BarChart,de.LineChart,de.ScatterChart,N.GridComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]),X.registerTransform(ln.transform.regression);function pr(t){return t.trim().length>0}function cl({conf:t,data:e,width:n,height:i}){const s=v.default.useMemo(()=>ul(t,e),[t,e]);return!n||!i?null:r(be.default,{echarts:X,option:s,style:{width:n,height:i}})}function dl({context:t}){const{value:e}=G(t.instanceData,"config"),n=C.useMemo(()=>S.defaults({},e,Lt),[e]),i=t.data,{width:s,height:o}=t.viewport,{ref:l,height:u}=U.useElementSize(),{ref:d,height:h}=U.useElementSize(),f=v.default.useMemo(()=>{const{stats:{templates:g,variables:b}}=n;return{top:zt(g.top,b,i),bottom:zt(g.bottom,b,i)}},[n,i]),m=Math.max(0,o-u-h);return c(a.Box,{children:[pr(n.stats.templates.top)&&r(a.Text,{ref:l,align:"left",size:"xs",pl:"sm",children:Object.values(f.top).map(g=>g)}),r(cl,{width:s,height:m,data:i,conf:n}),pr(n.stats.templates.bottom)&&r(a.Text,{ref:d,align:"left",size:"xs",pl:"sm",children:Object.values(f.bottom).map(g=>g)})]})}function pl({control:t,index:e,remove:n,data:i}){return c(a.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[r(w.Controller,{name:`stats.variables.${e}`,control:t,render:({field:s})=>r(Je,{data:i,...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function fl({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"stats.variables"});e("stats.templates");const l=e("stats.variables"),u=i.map((h,f)=>({...h,...l[f]})),d=()=>s(Ue());return c(a.Stack,{children:[c(a.Stack,{spacing:0,children:[r(w.Controller,{name:"stats.templates.top",control:t,render:({field:h})=>r(St,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...h})}),r(w.Controller,{name:"stats.templates.bottom",control:t,render:({field:h})=>r(St,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...h})})]}),u.map((h,f)=>r(pl,{control:t,index:f,remove:o,data:n})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Variable"})})]})}const hl=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function gl({control:t,regressionItem:e,index:n,remove:i,yAxisOptions:s,data:o}){const l=e.transform.config.method;return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r(w.Controller,{name:`regressions.${n}.name`,control:t,render:({field:u})=>r(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`regressions.${n}.y_axis_data_key`,control:t,render:({field:u})=>r($,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})}),r(w.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:t,render:({field:{value:u,onChange:d,...h}})=>{var f;return r(a.Select,{label:"Y Axis",data:s,disabled:s.length===0,...h,value:(f=u==null?void 0:u.toString())!=null?f:"",onChange:m=>{if(!m){d(0);return}d(Number(m))},sx:{flex:1}})}})]}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`regressions.${n}.transform.config.method`,control:t,render:({field:u})=>r(a.Select,{label:"Method",data:hl,sx:{flex:1},...u})}),l==="polynomial"&&r(w.Controller,{name:`regressions.${n}.transform.config.order`,control:t,render:({field:u})=>r(a.NumberInput,{label:"Order",sx:{flex:1},...u})})]}),c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Color"}),r(w.Controller,{name:`regressions.${n}.plot.color`,control:t,render:({field:u})=>r(ge,{...u})})]}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i(n),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},n)}function ml({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"regressions"}),l=e("regressions"),u=i.map((m,g)=>({...m,...l[g]})),d=e("y_axes"),h=v.default.useMemo(()=>d.map(({name:m},g)=>({label:m,value:g.toString()})),[d]),f=()=>s({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return c(a.Stack,{children:[u.map((m,g)=>r(gl,{regressionItem:m,control:t,index:g,remove:o,yAxisOptions:h,data:n})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:f,children:"Add a Regression Line"})})]})}const yl=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function vl({control:t,index:e}){return c(Q,{children:[c(a.Group,{grow:!0,align:"top",children:[r(w.Controller,{name:`series.${e}.stack`,control:t,render:({field:n})=>r(a.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...n})}),r(w.Controller,{name:`series.${e}.barWidth`,control:t,render:({field:n})=>r(a.TextInput,{label:"Bar Width",sx:{flexGrow:1},...n})})]}),r(w.Controller,{name:`series.${e}.barGap`,control:t,render:({field:n})=>r(a.Select,{label:"Bar Gap",data:yl,sx:{flexGrow:1},...n})})]})}const bl=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function xl({control:t,index:e}){return c(a.Group,{grow:!0,align:"center",children:[r(w.Controller,{name:`series.${e}.step`,control:t,render:({field:n})=>r(a.Select,{label:"Step",data:bl,sx:{flexGrow:1,maxWidth:"48%"},...n,value:String(n.value),onChange:i=>{const s=i==="false"?!1:i;n.onChange(s)}})}),r(w.Controller,{name:`series.${e}.smooth`,control:t,render:({field:n})=>r(a.Box,{sx:{flexGrow:1},children:r(a.Switch,{label:"Smooth Line",checked:n.value,onChange:i=>n.onChange(i.currentTarget.checked)})})})]})}const Cl=Array.from(new Array(9),(t,e)=>({label:String(e+1),value:e+1}));function wl({control:t,index:e}){return r(a.Group,{grow:!0,align:"center",children:r(w.Controller,{name:`series.${e}.symbolSize`,control:t,render:({field:n})=>c(a.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[r(a.Text,{size:"sm",children:"Size"}),r(a.Slider,{min:1,max:10,marks:Cl,...n,sx:{width:"100%"}})]})})})}const Sl=[{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 Il({control:t,index:e,remove:n,seriesItem:i,yAxisOptions:s,data:o}){const l=i.type;return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r(a.Stack,{children:r(w.Controller,{name:`series.${e}.type`,control:t,render:({field:u})=>r(a.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),c(a.Group,{noWrap:!0,children:[r(w.Controller,{name:`series.${e}.name`,control:t,render:({field:u})=>r(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),r(w.Controller,{name:`series.${e}.y_axis_data_key`,control:t,render:({field:u})=>r($,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})})]}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`series.${e}.yAxisIndex`,control:t,render:({field:{value:u,onChange:d,...h}})=>{var f;return r(a.Select,{label:"Y Axis",data:s,disabled:s.length===0,...h,value:(f=u==null?void 0:u.toString())!=null?f:"",onChange:m=>{if(!m){d(0);return}d(Number(m))},sx:{flex:1}})}}),r(w.Controller,{name:`series.${e}.group_by_key`,control:t,render:({field:u})=>r($,{label:"Group By",data:o,clearable:!0,sx:{flex:1},...u})})]}),l==="line"&&r(xl,{index:e,control:t}),l==="bar"&&r(vl,{index:e,control:t}),l==="scatter"&&r(wl,{index:e,control:t}),r(w.Controller,{name:`series.${e}.label_position`,control:t,render:({field:u})=>r(a.Select,{label:"Label Position",data:Sl,...u})}),c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Color"}),r(w.Controller,{name:`series.${e}.color`,control:t,render:({field:u})=>r(ge,{...u})})]}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function Tl({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"series"}),l=e("series"),u=i.map((m,g)=>({...m,...l[g]})),d=()=>s({type:"bar",name:U.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1,barWidth:"10",barGap:"0%"}),h=e("y_axes"),f=v.default.useMemo(()=>h.map(({name:m},g)=>({label:m,value:g.toString()})),[h]);return c(a.Stack,{children:[u.map((m,g)=>r(Il,{control:t,index:g,remove:o,seriesItem:m,yAxisOptions:f,data:n},m.id)),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Series"})})]})}function Dl({control:t,index:e,remove:n}){return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r(a.Group,{grow:!0,noWrap:!0,children:r(w.Controller,{name:`y_axes.${e}.name`,control:t,render:({field:i})=>r(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})})}),r(a.Stack,{children:r(w.Controller,{name:`y_axes.${e}.label_formatter`,control:t,render:({field:i})=>r(Rn,{...i})})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},disabled:e===0,children:r(_.Trash,{size:16})})]})}function _l({control:t,watch:e}){const{fields:n,append:i,remove:s}=w.useFieldArray({control:t,name:"y_axes"}),o=e("y_axes"),l=n.map((d,h)=>({...d,...o[h]})),u=()=>i({name:"",label_formatter:It});return c(a.Stack,{children:[l.map((d,h)=>r(Dl,{control:t,index:h,remove:s},h)),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:u,children:"Add a Y Axis"})})]})}function Al({control:t,index:e,remove:n,data:i}){return c(a.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[r(w.Controller,{name:`variables.${e}`,control:t,render:({field:s})=>r(Je,{data:i,withStyle:!1,...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function kl({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"variables"}),l=e("variables"),u=i.map((h,f)=>({...h,...l[f]})),d=()=>s(Ue());return c(a.Stack,{children:[u.map((h,f)=>r(Al,{control:t,index:f,remove:o,data:n})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Variable"})})]})}function Ml({control:t,index:e,remove:n,variableOptions:i}){return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`reference_lines.${e}.name`,control:t,render:({field:s})=>r(a.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...s})}),r(w.Controller,{name:`reference_lines.${e}.variable_key`,control:t,render:({field:s})=>r(a.Select,{label:"Value",required:!0,data:i,sx:{flex:1},...s})})]}),r(w.Controller,{name:`reference_lines.${e}.template`,control:t,render:({field:s})=>r(a.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",required:!0,sx:{flex:1},...s})}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},children:r(_.Trash,{size:16})})]},e)}function El({control:t,watch:e}){const{fields:n,append:i,remove:s}=w.useFieldArray({control:t,name:"reference_lines"}),o=e("reference_lines"),l=n.map((f,m)=>({...f,...o[m]})),u=()=>i({name:"",template:"",variable_key:""}),d=e("variables"),h=C.useMemo(()=>d.map(f=>({label:f.name,value:f.name})),[d]);return c(a.Stack,{children:[l.map((f,m)=>r(Ml,{control:t,index:m,remove:s,variableOptions:h})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:u,children:"Add a Reference Line"})})]})}function Vl(t){function e({type:n,name:i,showSymbol:s,symbolSize:o=5,y_axis_data_key:l="value",yAxisIndex:u=0,label_position:d="top",stack:h="1",color:f="black",barWidth:m="30",barGap:g="0%",smooth:b=!1,step:I=!1,group_by_key:A=""}){return{type:n,name:i,showSymbol:s,symbolSize:o,y_axis_data_key:l,yAxisIndex:u,label_position:d,stack:h,color:f,barWidth:m,barGap:g,smooth:b,step:I,group_by_key:A}}return t.map(e)}function zl(t){return t||{templates:{top:"",bottom:""},variables:[]}}function Ol({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=t.data,s=C.useMemo(()=>S.defaultsDeep({},e,Lt),[e]),o=C.useMemo(()=>{const{series:b,stats:I,...A}=s;return{series:Vl(b!=null?b:[]),stats:zl(I),...A}},[s]);C.useEffect(()=>{!S.isEqual(s,o)&&(console.log("config malformed, resetting to defaults",s,o),n(o))},[s,o]);const{control:l,handleSubmit:u,watch:d,getValues:h,reset:f}=w.useForm({defaultValues:o});C.useEffect(()=>{f(o)},[o]),d(["x_axis_data_key","x_axis_name"]);const m=h(),g=C.useMemo(()=>!S.isEqual(m,s),[m,s]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:u(n),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Chart Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!g,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Accordion,{multiple:!0,defaultValue:["X Axis","Y Axes"],children:[c(a.Accordion.Item,{value:"X Axis",children:[r(a.Accordion.Control,{children:"X Axis"}),r(a.Accordion.Panel,{children:c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"x_axis_data_key",control:l,render:({field:b})=>r($,{label:"X Axis Data Field",required:!0,data:i,sx:{flex:1},...b})}),r(w.Controller,{name:"x_axis_name",control:l,render:({field:b})=>r(a.TextInput,{label:"X Axis Name",sx:{flex:1},...b})})]})})]}),c(a.Accordion.Item,{value:"Y Axes",children:[r(a.Accordion.Control,{children:"Y Axes"}),r(a.Accordion.Panel,{children:r(_l,{control:l,watch:d})})]}),c(a.Accordion.Item,{value:"Series",children:[r(a.Accordion.Control,{children:"Series"}),r(a.Accordion.Panel,{children:r(Tl,{control:l,watch:d,data:i})})]}),c(a.Accordion.Item,{value:"Regression Lines",children:[r(a.Accordion.Control,{children:"Regression Lines"}),r(a.Accordion.Panel,{children:r(ml,{control:l,watch:d,data:i})})]}),c(a.Accordion.Item,{value:"Stats",children:[r(a.Accordion.Control,{children:"Stats"}),r(a.Accordion.Panel,{children:r(fl,{control:l,watch:d,data:i})})]}),c(a.Accordion.Item,{value:"Advanced",children:[r(a.Accordion.Control,{children:c(a.Group,{position:"apart",children:["Advanced",r(a.Text,{align:"right",size:12,color:"grey",children:"Use variables in reference lines"})]})}),r(a.Accordion.Panel,{children:c(a.Tabs,{defaultValue:"variables",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"variables",children:"Variables"}),r(a.Tabs.Tab,{value:"reference_lines",children:"Reference Lines"})]}),r(a.Tabs.Panel,{value:"variables",pt:"xs",children:r(kl,{control:l,watch:d,data:i})}),r(a.Tabs.Panel,{value:"reference_lines",pt:"xs",children:r(El,{control:l,watch:d})})]})})]})]})]})})}class Pl extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const ql={displayName:"Cartesian Chart",migrator:new Pl,name:"cartesian",viewRender:dl,configRender:Ol,createConfig:()=>Lt},Fl={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"item"}};function Rl(t,e){const n=t.dimensions.map(({name:o,max:l,color:u})=>({name:o,max:l,color:u})),i=e.map(o=>({value:t.dimensions.map(({data_key:l})=>o[l]),name:o[t.series_name_key]})),s={radar:{indicator:n},series:{type:"radar",data:i}};return z.default.merge({},Fl,s)}const Bt={series_name_key:"name",dimensions:[]};X.use([de.RadarChart,N.GridComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]);function Gl({context:t}){const{value:e}=G(t.instanceData,"config"),{width:n,height:i}=t.viewport,s=t.data,o=C.useMemo(()=>Rl(S.defaultsDeep({},e,Bt),s),[e,s]);return!n||!i||!e||S.isEmpty(e==null?void 0:e.dimensions)?null:r(a.Box,{children:r(be.default,{echarts:X,option:o,style:{width:n,height:i}})})}function Ll({control:t,index:e,remove:n,data:i}){return c(a.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:`dimensions.${e}.name`,control:t,render:({field:s})=>r(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),r(w.Controller,{name:`dimensions.${e}.data_key`,control:t,render:({field:s})=>r($,{label:"Data Key",required:!0,data:i,sx:{flex:1},...s})}),r(w.Controller,{name:`dimensions.${e}.max`,control:t,render:({field:s})=>r(a.NumberInput,{label:"Max",hideControls:!0,required:!0,sx:{flex:1},...s})})]}),c(a.Box,{children:[r(a.Text,{size:"sm",children:"Color"}),r(w.Controller,{name:`dimensions.${e}.color`,control:t,render:({field:s})=>r(ge,{...s})})]}),r(a.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(e),sx:{position:"absolute",top:15,right:5},disabled:e===0,children:r(_.Trash,{size:16})})]},e)}function Bl({control:t,watch:e,data:n}){const{fields:i,append:s,remove:o}=w.useFieldArray({control:t,name:"dimensions"}),l=e("dimensions"),u=i.map((h,f)=>({...h,...l[f]})),d=()=>s({name:U.randomId(),data_key:"",max:100,color:"red"});return c(a.Stack,{children:[u.map((h,f)=>r(Ll,{data:n,control:t,index:f,remove:o})),r(a.Group,{position:"center",mt:"xs",children:r(a.Button,{onClick:d,children:"Add a Dimension"})})]})}function Nl(t){function e({name:n="",data_key:i="",max:s=10,color:o="blue"}){return{name:n,data_key:i,max:s,color:o}}return t.map(e)}function $l({context:t}){const e=t.data,{value:n,set:i}=G(t.instanceData,"config"),s=C.useMemo(()=>S.defaultsDeep({},n,Bt),[n]),{dimensions:o,series_name_key:l}=s,u=C.useMemo(()=>({dimensions:Nl(o!=null?o:[]),series_name_key:l}),[o,l]);C.useEffect(()=>{!S.isEqual(s,u)&&i(u)},[s,u]);const{control:d,handleSubmit:h,watch:f,getValues:m,reset:g}=w.useForm({defaultValues:u});C.useEffect(()=>{S.isEqual(m(),u)||g(u)},[s]),f(["series_name_key"]);const b=m(),I=C.useMemo(()=>!S.isEqual(b,s),[b,s]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:h(i),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Chart Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!I,children:r(_.DeviceFloppy,{size:20})})]}),r(a.Box,{py:"sm",children:r(w.Controller,{name:"series_name_key",control:d,render:({field:A})=>r($,{label:"Series Name Field",required:!0,data:e,sx:{flex:1},...A})})}),r(Bl,{control:d,watch:f,data:e})]})})}class jl extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const Wl={displayName:"Radar Chart",migrator:new jl,name:"radar",viewRender:Gl,configRender:$l,createConfig:()=>Bt};function Ql(t,e){switch(t.config.method){case"linear":return[...xe.regressionLinear()(e)];case"exponential":return[...xe.regressionExp()(e)];case"logarithmic":return[...xe.regressionLog()(e)];case"polynomial":return[...xe.regressionPoly().order(t.config.order)(e)];default:return[]}}function Yl({regression:t},e){const n=[],i=[];if(e.length===0)return{regressionSeries:n,regressionXAxes:i};const{transform:s,plot:o,name:l}=t,u=Ql(s,e);return n.push({...o,name:l,data:u,showSymbol:!1,smooth:!0,tooltip:{show:!1}}),{regressionSeries:n,regressionXAxes:i}}const Ul={tooltip:{trigger:"axis"},grid:{top:10,left:30,right:15,bottom:30,containLabel:!0},dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}]};function Xl(t,e){var o,l;const n=z.default.uniqBy(e.map(u=>[u[t.x_axis.data_key],u[t.regression.y_axis_data_key]]),0),{regressionSeries:i}=Yl(t,n),s={xAxis:{type:"category",name:(o=t.x_axis.name)!=null?o:""},yAxis:{name:(l=t.y_axis.name)!=null?l:""},series:[{data:n,name:t.y_axis.name,type:"scatter",symbolSize:4,color:"red"},...i]};return S.defaultsDeep({},s,Ul)}function rt(t,e,n){return 1-(1-t)*(e-1)/(e-n-1)}function Jl(t,e){if(!e)return{expression:"",rSquared:0,adjustedRSquared:0};const{regression:n,x_axis:i,y_axis:s}=e,o=t.map(l=>[l[i.data_key],l[n.y_axis_data_key]]);if(n.transform.config.method==="linear"){const l=xe.regressionLinear()(o),{a:u,b:d,rSquared:h}=l;return{expression:c(a.Group,{position:"center",noWrap:!0,spacing:10,children:[r(a.Text,{children:s.name}),r(a.Text,{children:"="}),r(a.Text,{weight:"bold",color:"gray",children:d}),r(a.Text,{children:"+"}),r(a.Text,{weight:"bold",color:"gray",children:u}),r(a.Text,{children:"\xD7"}),r(a.Text,{children:i.name})]}),rSquared:h,adjustedRSquared:rt(h,t.length,1)}}if(n.transform.config.method==="exponential"){const{a:l,b:u,rSquared:d}=xe.regressionExp()(o);return{expression:c(a.Group,{position:"center",noWrap:!0,spacing:10,children:[r(a.Text,{children:s.name}),r(a.Text,{children:"="}),r(a.Text,{weight:"bold",color:"gray",children:l}),r(a.Text,{children:"\xD7"}),c(a.Group,{position:"left",noWrap:!0,spacing:2,children:[r(a.Text,{children:"Math.exp("}),r(a.Text,{weight:"bold",color:"gray",children:u}),r(a.Text,{children:"\xD7"}),r(a.Text,{children:i.name}),r(a.Text,{children:")"})]})]}),rSquared:d,adjustedRSquared:rt(d,t.length,1)}}if(n.transform.config.method==="logarithmic"){const{a:l,b:u,rSquared:d}=xe.regressionLog()(o);return{expression:c(a.Group,{position:"center",noWrap:!0,spacing:10,children:[r(a.Text,{children:s.name}),r(a.Text,{children:"="}),r(a.Text,{weight:"bold",color:"gray",children:l}),r(a.Text,{children:"\xD7"}),c(a.Group,{position:"left",noWrap:!0,spacing:2,children:[r(a.Text,{children:"Math.log("}),r(a.Text,{children:i.name}),r(a.Text,{children:")"}),r(a.Text,{children:"+"}),r(a.Text,{weight:"bold",color:"gray",children:u})]})]}),rSquared:d,adjustedRSquared:rt(d,t.length,1)}}if(n.transform.config.method==="polynomial"){const l=xe.regressionPoly().order(n.transform.config.order)(o),{rSquared:u}=l;return console.log(l),{expression:"",rSquared:u,adjustedRSquared:rt(u,t.length,1)}}return{expression:"",rSquared:0}}const Nt={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"},name:"regression",y_axis_data_key:"value"}};X.use([N.DataZoomComponent,de.ScatterChart,N.GridComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]),X.registerTransform(ln.transform.regression);function Kl({context:t}){const{value:e}=G(t.instanceData,"config"),{width:n,height:i}=t.viewport,s=C.useMemo(()=>{var g;const f=t.data,m=(g=e==null?void 0:e.regression)==null?void 0:g.y_axis_data_key;return m?f.map(b=>typeof b[m]=="number"?b:{...b,[m]:Number(b[m])}):f},[t.data,e==null?void 0:e.regression.y_axis_data_key]),o=C.useMemo(()=>Xl(S.defaultsDeep({},e,Nt),s),[e,s]),{expression:l,rSquared:u,adjustedRSquared:d}=C.useMemo(()=>Jl(s,e),[e,s]);if(!n||!i||!e)return null;let h=i;return l&&(h-=20),c(a.Box,{children:[l&&r(a.Text,{align:"center",size:12,children:l}),c(a.Group,{spacing:0,noWrap:!0,align:"start",sx:{"> *":{flexGrow:0,flexShrink:0}},children:[r(be.default,{echarts:X,option:o,style:{width:n-190,height:h}}),u&&r(a.Table,{mt:20,fontSize:12,sx:{width:180,border:"1px solid #999",td:{padding:"3px 8px"}},children:c("tbody",{children:[c("tr",{children:[r("td",{children:"R-Sq"}),r("td",{style:{textAlign:"right"},children:oe.default(u).format({output:"percent",mantissa:1})})]}),c("tr",{children:[r("td",{children:"R-Sq(Adjusted)"}),r("td",{style:{textAlign:"right"},children:oe.default(d).format({output:"percent",mantissa:1})})]})]})})]})]})}const Zl=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function Hl({control:t,watch:e,data:n}){const i=e("regression.transform.config.method");return c(a.Stack,{children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"regression.name",control:t,render:({field:s})=>r(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),r(w.Controller,{name:"regression.y_axis_data_key",control:t,render:({field:s})=>r($,{label:"Value Field",required:!0,data:n,sx:{flex:1},...s})})]}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"regression.transform.config.method",control:t,render:({field:s})=>r(a.Select,{label:"Method",data:Zl,sx:{flex:1},...s})}),i==="polynomial"&&r(w.Controller,{name:"regression.transform.config.order",control:t,render:({field:s})=>r(a.NumberInput,{label:"Order",sx:{flex:1},...s})})]}),c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Color"}),r(w.Controller,{name:"regression.plot.color",control:t,render:({field:s})=>r(ge,{...s})})]})]})}function eu({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=t.data,s=C.useMemo(()=>S.defaults({},e,Nt),[e]),{control:o,handleSubmit:l,watch:u,getValues:d,reset:h}=w.useForm({defaultValues:s});C.useEffect(()=>{h(s)},[s]),u(["x_axis","y_axis","regression"]);const f=d(),m=C.useMemo(()=>!S.isEqual(f,e),[f,e]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l(n),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Chart Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Accordion,{multiple:!0,defaultValue:["Axis","Regression"],children:[c(a.Accordion.Item,{value:"Axis",children:[r(a.Accordion.Control,{children:"Axis"}),c(a.Accordion.Panel,{children:[c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"x_axis.name",control:o,render:({field:g})=>r(a.TextInput,{label:"X Axis Name",sx:{flex:1},...g})}),r(w.Controller,{name:"x_axis.data_key",control:o,render:({field:g})=>r($,{label:"X Axis Data Field",required:!0,data:i,sx:{flex:1},...g})})]}),r(a.Group,{grow:!0,noWrap:!0,children:r(w.Controller,{name:"y_axis.name",control:o,render:({field:g})=>r(a.TextInput,{label:"Y Axis Name",sx:{flex:1},...g})})})]})]}),c(a.Accordion.Item,{value:"Regression",children:[r(a.Accordion.Control,{children:"Regression Line"}),r(a.Accordion.Panel,{children:r(Hl,{control:o,watch:u,data:i})})]})]})]})})}class tu extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const nu={displayName:"Regression Chart",migrator:new tu,name:"regressionChart",viewRender:Kl,configRender:eu,createConfig:()=>Nt},$t={x_axis:{name:"X Axis",data_key:""},data_key:"value",bar:{name:"Value",color:"#228be6"},line:{name:"Value",color:"red"}};function jt(t){return oe.default(t).format({output:"percent",mantissa:0})}function ru(t){const e=t.value[1];try{return jt(e)}catch(n){return console.error(n),e}}function iu(t){const e=Array.isArray(t)?t:[t];if(e.length===0)return"";const n=e.map((i,s)=>{const o=i.seriesName,[l,u]=i.value;return o?`${o}: <strong>${(s===0?h=>h:jt)(u)}</strong>`:u});return n.unshift(`<strong>${e[0].name}</strong>`),n.join("<br />")}X.use([de.BarChart,de.LineChart,N.DataZoomComponent,N.GridComponent,N.LegendComponent,N.TooltipComponent,ve.CanvasRenderer]);function au({context:t}){const{value:e}=G(t.instanceData,"config"),n=t.data,{width:i,height:s}=t.viewport,{x_axis:o,data_key:l,bar:u,line:d}=S.defaults({},e,$t),{barData:h,lineData:f}=C.useMemo(()=>{const g=n.map(A=>[A[o.data_key],Number(A[l])]).sort((A,M)=>M[1]-A[1]),b=g.reduce((A,M)=>A+M[1],0),I=g.reduce((A,M,F)=>{const R=F===0?0:A[F-1][1];return A.push([M[0],R+M[1]]),A},[]).map(A=>[A[0],A[1]/b]);return{barData:g,lineData:I}},[o.data_key,l,n]),m={dataZoom:[{type:"inside",xAxisIndex:[0]},{type:"inside",yAxisIndex:[0]}],tooltip:{trigger:"axis",formatter:iu},xAxis:[{type:"category",name:o.name,nameLocation:"middle",nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"}}],yAxis:[{name:u.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"right"}},{name:d.name,nameGap:30,nameTextStyle:{fontWeight:"bold",align:"center"},axisLabel:{show:!0,formatter:jt}}],series:[{name:u.name,type:"bar",itemStyle:{color:u.color},yAxisIndex:0,data:h},{name:d.name,type:"line",itemStyle:{color:d.color},label:{show:!0,position:"top",formatter:ru},yAxisIndex:1,data:f}]};return!e||!i||!s?null:r(be.default,{echarts:X,option:m,style:{width:i,height:s}})}function su({context:t}){const{value:e,set:n}=G(t.instanceData,"config"),i=t.data,s=C.useMemo(()=>S.defaults({},e,$t),[e]),{control:o,handleSubmit:l,watch:u,getValues:d,reset:h}=w.useForm({defaultValues:s});C.useEffect(()=>{h(s)},[s]),u(["x_axis","data_key","bar","line"]);const f=d(),m=C.useMemo(()=>!S.isEqual(f,e),[f,e]);return r(a.Stack,{mt:"md",spacing:"xs",children:c("form",{onSubmit:l(n),children:[c(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r(a.Text,{children:"Chart Config"}),r(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:r(_.DeviceFloppy,{size:20})})]}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"x_axis.name",control:o,render:({field:g})=>r(a.TextInput,{label:"X Axis Name",sx:{flex:1},...g})}),r(w.Controller,{name:"x_axis.data_key",control:o,render:({field:g})=>r($,{label:"X Axis Data Field",required:!0,data:i,sx:{flex:1},...g})})]}),r(w.Controller,{name:"data_key",control:o,render:({field:g})=>r($,{label:"Y Axis Data Field",required:!0,data:i,sx:{flex:1},...g})}),r(a.Divider,{my:"md",label:"Bar",labelPosition:"center"}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"bar.name",control:o,render:({field:g})=>r(a.TextInput,{label:"Bar Name",sx:{flex:1},...g})}),c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Bar's Color"}),r(w.Controller,{name:"bar.color",control:o,render:({field:g})=>r(ge,{...g})})]})]}),r(a.Divider,{my:"md",label:"Line",labelPosition:"center"}),c(a.Group,{grow:!0,noWrap:!0,children:[r(w.Controller,{name:"line.name",control:o,render:({field:g})=>r(a.TextInput,{label:"Line Name",sx:{flex:1},...g})}),c(a.Stack,{spacing:4,children:[r(a.Text,{size:"sm",children:"Line's Color"}),r(w.Controller,{name:"line.color",control:o,render:({field:g})=>r(ge,{...g})})]})]})]})})}class ou extends ue{constructor(){super(...arguments);V(this,"VERSION",1)}configVersions(){this.version(1,n=>({version:1,config:n}))}}const lu={displayName:"Pareto Chart",migrator:new ou,name:"paretoChart",viewRender:au,configRender:su,createConfig:()=>$t},uu=[{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(t=>({name:t.name,value:t.value,type:"single",category:"basic"})),cu=[Pa,qa,Ga,Ra,Fa,La],fr={id:"dashboard",version:Ba,manifest:{viz:[Pt,Ls,Ua,Oo,Go,$o,Zo,lu,ql,Wl,nu],color:[...uu,...cu]}},Be=new $a,hr=()=>{try{Be.install(fr)}catch{}const t=new Va(Be),e=new Na(Be);return{pluginManager:Be,vizManager:t,colorManager:e}},me=C.createContext(hr());try{Be.install(fr)}catch{}function du(t,e){const{value:n,set:i}=G(t.operation.operationData,"config"),[s,o]=C.useState(S.defaults({},n,e)),l=async()=>{await i(s)};return C.useEffect(()=>{o(S.defaults({},n,e))},[n]),{config:s,setConfig:o,commit:l}}function pu(t){const{config:e,setConfig:n,commit:i}=du(t,{urlTemplate:"",openInNewTab:!0});async function s(){await i()}async function o(u){n({...e,openInNewTab:u}),await i()}const l=u=>n({...e,urlTemplate:u.currentTarget.value});return c(a.Stack,{children:[r(a.TextInput,{label:"Url",value:e.urlTemplate,onChange:l,onBlur:s}),r(a.Switch,{label:"Open in new Tab",checked:e.openInNewTab,onChange:u=>o(u.currentTarget.checked)})]})}function fu(t){return S.cloneDeepWith(t,n=>{if(typeof n=="string")return encodeURIComponent(n)})}async function hu(t,e){const{urlTemplate:n,openInNewTab:i}=await e.operationData.getItem("config"),o=S.template(n||"")(fu(t));window.open(o,i?"_blank":"_self","noopener")}const gu={displayName:"Open Link",id:"builtin:op:open-link",configRender:pu,run:hu};function mu(t){const{value:e,set:n}=G(t.operationData,"config"),i=s=>void n({template:s});return[(e==null?void 0:e.template)||"",i]}function yu(t){const[e,n]=mu(t.operation);return r(a.TextInput,{defaultValue:e,onBlur:i=>n(i.currentTarget.value),label:"console.log"})}async function vu(t,e){const n=await e.operationData.getItem("config"),i=S.template(n.template||"");console.log("run with payload",t),console.log(i(t))}const Wt=[{displayName:"console.log (debug)",id:"builtin:op:debug",configRender:yu,run:vu},gu];class bu{constructor(e,n=Wt){V(this,"attachments");this.operations=n;const i=async s=>{const{id:o,schemaRef:l}=await s.getItem(null);return{id:o,schemaRef:l,operationData:new ke(s,"data")}};this.attachments=new xt(e,"__OPERATIONS",i)}async runOperation(e,n){const i=await this.attachments.getInstance(e);if(!i){console.warn(`Operation '${e}' is not defined`);return}const s=this.operations.find(o=>o.id===i.schemaRef);if(!s){console.warn(`Operation schema '${i.schemaRef}' is not defined`);return}await s.run(n,i)}async createOrGetOperation(e,n){if(!this.getOperationSchemaList().some(l=>l.id===n.id))throw new Error(`Operation schema '${n.id}' is not defined`);const s=await this.attachments.getInstance(e);return!s||s.schemaRef!==n.id?await this.attachments.create(e,{id:e,schemaRef:n.id,data:{}}):s}getOperationList(){return this.attachments.list()}getOperationSchemaList(){return this.operations}removeOperation(e){return this.attachments.remove(e)}async retrieveTrigger(e){return await this.attachments.getInstance(e)}}const gr="__TRIGGERS";class xu{constructor(e,n){V(this,"attachments");this.instance=e,this.component=n;const i=async s=>{const{id:o,schemaRef:l}=await s.getItem(null);return{id:o,schemaRef:l,triggerData:new ke(s,"data")}};this.attachments=new xt(e,gr,i)}watchTriggerSnapshotList(e){return this.instance.instanceData.watchItem(gr,n=>{const i=S.values(n).map(s=>({id:S.get(s,"id"),schemaRef:S.get(s,"schemaRef"),config:K.toJS(S.get(s,"data.config"))}));e(i)},{fireImmediately:!0})}async createOrGetTrigger(e,n,i={recreate:!1}){if(!this.getTriggerSchemaList().some(u=>u.id===n.id))throw new Error(`Trigger schema '${n.id}' is not defined in component '${this.component.name}'`);const o=await this.attachments.getInstance(e);return!o||i.recreate||o.schemaRef!==n.id?await this.attachments.create(e,{id:e,schemaRef:n.id,data:{}}):o}async getTriggerList(){return await this.attachments.list()}getTriggerSchemaList(){return this.component.triggers||[]}async removeTrigger(e){await this.attachments.remove(e)}async retrieveTrigger(e){return await this.attachments.getInstance(e)}}class mr{constructor(e,n,i){V(this,"operationManager");V(this,"triggerManager");V(this,"attachments");this.operationManager=new bu(e,i),this.triggerManager=new xu(e,n);const s=async o=>{const{id:l,triggerRef:u,operationRef:d}=await o.getItem(null);return{id:l,triggerRef:u,operationRef:d}};this.attachments=new xt(e,"__INTERACTIONS",s)}async addInteraction(e,n){const i=e.id,s=n.id,o=`[${i}]:[${s}]`;await this.attachments.create(o,{id:o,triggerRef:i,operationRef:s})}getInteractionList(){return this.attachments.list()}async removeInteraction(e){const n=await this.attachments.getInstance(e);if(!n)return;const{triggerRef:i,operationRef:s}=n;await this.getTriggerRefCount(i)<=1&&await this.triggerManager.removeTrigger(i),await this.getOperationRefCount(s)<=1&&await this.operationManager.removeOperation(s),await this.attachments.remove(e)}async getOperationRefCount(e){return(await this.getInteractionList()).filter(i=>i.operationRef===e).length}async getTriggerRefCount(e){return(await this.getInteractionList()).filter(i=>i.triggerRef===e).length}async runInteraction(e,n){const s=(await this.getInteractionList()).filter(o=>o.triggerRef===e);await Promise.all(s.map(async o=>{try{return await this.operationManager.runOperation(o.operationRef,n)}catch(l){console.warn(`Failed to run operation '${o.operationRef}'`,l)}}))}}function Cu(t,e){const[n,i]=C.useState([]);return B.useAsyncEffect(async()=>{const s=await t.getInteractionList();i(s)},[e]),n}const wu=k.observer(({item:t,manager:e,instance:n,sampleData:i,variables:s,onRemove:o})=>{const{triggerRef:l,operationRef:u}=t,d=Da(e.triggerManager,n);if(B.useAsyncEffect(async()=>{await d.configTrigger(l,i)},[d,l,i]),d.isReady()){const h=[...d.triggerSchema.payload,...s];return c(a.Group,{children:[r(Ma,{model:d}),r(Sa,{instance:n,operationId:u,variables:h,operationManager:e.operationManager}),r(a.Button,{"aria-label":"delete-interaction",variant:"outline",color:"red",onClick:()=>o(t),children:r(_.Trash,{})})]})}return null}),Su=t=>{const[e,n]=C.useState(0),{interactionManager:i,instance:s,sampleData:o,variables:l}=t,u=Cu(i,e),d=async()=>{const f=await i.triggerManager.createOrGetTrigger(U.randomId(),i.triggerManager.getTriggerSchemaList()[0]),m=await i.operationManager.createOrGetOperation(U.randomId(),i.operationManager.getOperationSchemaList()[0]);await i.addInteraction(f,m),n(g=>g+1)};async function h(f){await i.removeInteraction(f.id),n(m=>m+1)}return c(a.Stack,{children:[u.map(f=>r(wu,{onRemove:h,instance:s,sampleData:o,variables:l,item:f,manager:t.interactionManager},f.id)),r(a.Button,{style:{width:"fit-content"},onClick:()=>d(),children:"Add interaction"})]})},Iu=()=>{const{data:t,viz:e,title:n,id:i,queryID:s,description:o,setViz:l}=C.useContext(H),{vizManager:u}=C.useContext(me),d={title:n,description:o,id:i,queryID:s,viz:e},h=B.useCreation(()=>u.getOrCreateInstance(d),[u,e.type]),f=B.useCreation(()=>new mr(h,u.resolveComponent(e.type),Wt),[h,e.type]);return C.useEffect(()=>h.instanceData.watchItem(null,S.throttle(m=>{l(g=>({...g,conf:m}))},100,{leading:!1,trailing:!0})),[h]),{instance:h,vizManager:u,interactionManager:f,sampleData:t,variables:[]}},Tu=()=>{const t=Iu();return r(Su,{...t})};function Du(){const{description:t,setDescription:e}=v.default.useContext(H),[n,i]=v.default.useState(t),s=t!==n,o=v.default.useCallback(()=>{!s||e(n)},[s,n]);return c(a.Stack,{sx:{flexGrow:1},children:[c(a.Group,{align:"end",children:[r(a.Text,{children:"Description"}),r(a.ActionIcon,{variant:"subtle",color:"blue",disabled:!s,onClick:o,children:r(_.DeviceFloppy,{size:20})})]}),r(pt.RichTextEditor,{value:n,onChange:i,sx:{flexGrow:1},sticky:!0,p:"0"})]})}function _u(){const{title:t}=v.default.useContext(H);return r(Ae,{children:c(a.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[c(a.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[r(a.Group,{children:r(Vn,{})}),r(a.Group,{grow:!0,position:"center",children:r(a.Text,{lineClamp:1,weight:"bold",children:t})}),r(a.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),r(a.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function Au(){const{title:t,setTitle:e}=v.default.useContext(H),[n,i]=U.useInputState(t),s=t!==n,o=v.default.useCallback(()=>{!s||e(n)},[s,n]);return r(a.TextInput,{value:n,onChange:i,label:c(a.Group,{align:"end",children:[r(a.Text,{children:"Panel Title"}),r(a.ActionIcon,{variant:"subtle",color:"blue",disabled:!s,onClick:o,children:r(_.DeviceFloppy,{size:20})})]})})}function ku(){return c(a.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[c(a.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[r(Au,{}),r(Du,{})]}),r(a.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:r(_u,{})})]})}const Mu=k.observer(function(){const e=W(),{queryID:n,setQueryID:i}=v.default.useContext(H),s=v.default.useMemo(()=>e.queries.current.map(o=>({value:o.id,label:o.id})),[e.queries.current]);return c(a.Stack,{children:[c(a.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[r(a.Text,{children:"Select a Query"}),r(a.Select,{data:s,value:n,onChange:i,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),r(Cn,{id:n})]})});function yr(t,e,n){const i=B.useCreation(()=>new Set,[]),s=t.resolveComponent(e.type),[o,l]=C.useState(!1);return B.useAsyncEffect(async()=>{if(await s.migrator.needMigration(e)&&!i.has(e.id))try{i.add(e.id),await s.migrator.migrate(e),n==null||n()}finally{i.delete(e.id),l(!0)}else l(!0)},[e]),o}function Eu({setVizConf:t,...e}){const{vizManager:n,panel:i}=e,s=n.getOrCreateInstance(i),o=yr(n,s,()=>{ft.showNotification({title:`${i.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})});return B.useAsyncEffect(async()=>{await s.instanceData.setItem(null,i.viz.conf)},[s,i.viz.type]),C.useEffect(()=>s.instanceData.watchItem(null,l=>{t({type:i.viz.type,conf:l})}),[t,i.viz.type]),o?r(Oa,{...e}):r(a.Text,{children:"Checking update..."})}function Vu(t){const{vizManager:e,panel:n}=t,i=e.getOrCreateInstance(n);return yr(e,i,()=>{ft.showNotification({title:`${n.title} - Updated`,message:"Your plugin configuration has been migrated to the latest version"})})?r(za,{...t}):r(a.Text,{children:"Checking update"})}const $c="";function zu(t,e){const{vizManager:n}=C.useContext(me),{viz:i,title:s,id:o,description:l,queryID:u}=C.useContext(H),d={title:s,id:o,description:l,queryID:u,viz:i,layout:e};try{return n.resolveComponent(i.type),r(Vu,{panel:d,data:t,vizManager:n})}catch(h){return console.info(S.get(h,"message")),null}}function vr(t,e,n,i){switch(i.conf,i.type){default:return null}}const Ou=["rich-text"],br=k.observer(function({viz:e,data:n,loading:i}){const{ref:s,width:o,height:l}=U.useElementSize(),u=v.default.useMemo(()=>!Array.isArray(n)||n.length===0,[n]),d=zu(n,{w:o,h:l});if(!(!Ou.includes(e.type)||!!d))return r("div",{className:"viz-root",ref:s,children:r(Ae,{children:vr(o,l,n,e)})});const f=d||vr(o,l,n,e);return i?r("div",{className:"viz-root",ref:s,children:r(a.LoadingOverlay,{visible:i,exitTransitionDuration:0})}):c("div",{className:"viz-root",ref:s,children:[u&&r(a.Text,{color:"gray",align:"center",children:"nothing to show"}),!u&&r(Ae,{children:f})]})});function Pu(){const{data:t,loading:e,viz:n}=v.default.useContext(H);return r(br,{viz:n,data:t,loading:e})}const Qt=[];function qu(){const{vizManager:t}=C.useContext(me);return C.useMemo(()=>t.availableVizList.map(e=>({value:e.name,label:e.displayName})).concat(Qt),[t])}function Fu(t,e){try{return t.resolveComponent(e).createConfig()}catch{return null}}function Ru(){const{viz:t,title:e,data:n,queryID:i,description:s,setDescription:o,setTitle:l,setQueryID:u,setViz:d,id:h}=C.useContext(H),{vizManager:f}=C.useContext(me),m={title:e,description:s,viz:t,queryID:i,id:h},g={setDescription:o,setQueryID:u,setTitle:l};try{return f.resolveComponent(m.viz.type),r(Eu,{setVizConf:d,panel:m,panelInfoEditor:g,vizManager:f,data:n})}catch(b){return console.info(S.get(b,"message")),null}}function Gu(){const{data:t,viz:e,setViz:n}=v.default.useContext(H),[i,s]=U.useInputState(e.type),o=e.type!==i,{vizManager:l}=C.useContext(me),u=v.default.useCallback(()=>{if(!o)return;const A=Fu(l,i);n({conf:A||{},type:i})},[o,i]),d=A=>{n(M=>({...M,conf:A}))},h=A=>{try{d(JSON.parse(A))}catch(M){console.error(M)}},f=v.default.useMemo(()=>{var A;return(A=Qt.find(M=>M.value===i))==null?void 0:A.Panel},[i,Qt]),m=Ru(),g=f?C.createElement(f,{data:t,conf:e.conf,setConf:d}):null,b=m||g,I=qu();return c(Q,{children:[r(a.Select,{label:"Visualization",value:i,onChange:s,data:I,rightSection:r(a.ActionIcon,{disabled:!o,onClick:u,children:r(_.DeviceFloppy,{size:20})})}),b,!b&&r(a.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(e.conf,null,2),onChange:h})]})}function Lu(){return c(a.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[r(a.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,overflow:"scroll",height:"100%"},children:r(Gu,{})}),r(a.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:r(Pu,{})})]})}const Bu=k.observer(function({opened:e,close:n}){const{freezeLayout:i}=v.default.useContext(le),[s,o]=C.useState("Visualization"),{loading:l,title:u}=v.default.useContext(H);return v.default.useEffect(()=>{i(e)},[e]),r(a.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:u,trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:r(a.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:c(a.Tabs,{value:s,onTabChange:o,className:"panel-settings-tabs",children:[c(a.Tabs.List,{children:[r(a.Tabs.Tab,{value:"Data",children:"Data"}),r(a.Tabs.Tab,{value:"Panel",children:"Panel"}),r(a.Tabs.Tab,{value:"Visualization",children:"Visualization"}),r(a.Tabs.Tab,{value:"Interactions",children:"Interactions"})]}),c(a.Tabs.Panel,{value:"Data",pt:"sm",children:[r(a.LoadingOverlay,{visible:l,exitTransitionDuration:0}),r(Mu,{})]}),r(a.Tabs.Panel,{value:"Panel",pt:"sm",children:s==="Panel"&&r(ku,{})}),r(a.Tabs.Panel,{value:"Visualization",pt:"sm",children:s==="Visualization"&&r(Lu,{})}),r(a.Tabs.Panel,{value:"Interactions",pt:"sm",children:r(Ae,{children:r(Tu,{})})})]})})})}),jc="",Nu=k.observer(function({view:e}){const n=W(),i=he.useModals(),[s,o]=v.default.useState(!1),l=()=>o(!0),u=()=>o(!1),{id:d,title:h,queryID:f}=v.default.useContext(H),{inEditMode:m}=v.default.useContext(le),g=()=>n.queries.refetchDataByQueryID(f),{viewPanelInFullScreen:b,inFullScreen:I}=v.default.useContext(mt),A=()=>{e.panels.duplicateByID(d)},M=()=>i.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>e.panels.removeByID(d)}),F=v.default.useCallback(()=>{b(d)},[d,b]);return c(a.Box,{sx:{position:"relative"},children:[r(a.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:r(Vn,{})}),r(a.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:c(a.Menu,{children:[r(a.Menu.Target,{children:r(a.Text,{lineClamp:1,weight:"bold",children:h})}),c(a.Menu.Dropdown,{children:[r(a.Menu.Item,{onClick:g,icon:r(_.Refresh,{size:14}),children:"Refresh"}),r(a.Menu.Item,{onClick:()=>n.queries.downloadDataByQueryID(f),icon:r(_.Download,{size:14}),children:"Download Data"}),!I&&r(a.Menu.Item,{onClick:F,icon:r(_.ArrowsMaximize,{size:14}),children:"Full Screen"}),m&&c(Q,{children:[r(a.Divider,{label:"Edit",labelPosition:"center"}),r(a.Menu.Item,{onClick:l,icon:r(_.Settings,{size:14}),children:"Settings"}),r(a.Menu.Item,{onClick:A,icon:r(_.Copy,{size:14}),children:"Duplicate"}),r(a.Menu.Item,{color:"red",onClick:M,icon:r(_.Trash,{size:14}),children:"Delete"})]})]})]})}),m&&r(Bu,{opened:s,close:u})]})});function $u(t){return!["richText"].includes(t)}const it=k.observer(function({viz:e,queryID:n,title:i,description:s,id:o,view:l}){const u=W(),[d,h]=v.default.useState(i),[f,m]=v.default.useState(s),[g,b]=v.default.useState(n),[I,A]=v.default.useState(e);B.useWhyDidYouUpdate("Panel",{title:d,description:f,queryID:g,viz:I,id:o}),v.default.useEffect(()=>{const J=l.panels.findByID(o);!J||(J.setTitle(d),J.setDescription(f),J.setQueryID(g),J.viz.setType(I.type),J.viz.setConf(I.conf))},[d,f,I,o,g]);const{data:M,state:F}=u.getDataStuffByID(g),R=$u(I.type)&&F==="loading";return r(H.Provider,{value:{id:o,data:M,loading:R,title:d,setTitle:h,description:f,setDescription:m,queryID:g,setQueryID:b,viz:I,setViz:A},children:c(a.Container,{className:"panel-root",children:[r(Nu,{view:l}),r(br,{viz:I,data:M,loading:R})]})})}),xr=k.observer(function({view:e,panel:n,exitFullScreen:i}){return c(a.Stack,{px:"10px",pb:"5px",sx:{height:"100%",flexGrow:1,justifyContent:"flex-start"},children:[r(a.Group,{mx:"-5px",sx:{flexGrow:0},children:r(a.Button,{variant:"default",size:"sm",onClick:i,leftIcon:r(_.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),r(a.Group,{mx:"-5px",grow:!0,sx:{flexGrow:1,flexShrink:0},children:r(it,{view:e,...n})})]})});function Cr(t){const[e,n]=v.default.useState(null),i=v.default.useCallback(u=>{n(u)},[]),s=v.default.useCallback(()=>{n(null)},[]),o=v.default.useMemo(()=>t.find(u=>u.id===e),[e,t]);return{viewPanelInFullScreen:i,exitFullScreen:s,inFullScreen:!!o,fullScreenPanel:o}}function wr(){v.default.useEffect(()=>{const t=Ci.default(".dashboard-sticky-area",{useStickyClasses:!0,parentClass:"dashboard-sticky-parent"});return()=>{t==null||t.cleanup()}},[])}const Wc="",ju=v.default.forwardRef(({handleAxis:t},e)=>r(a.ActionIcon,{ref:e,className:"react-grid-customDragHandle",sx:{userSelect:"none",cursor:"grab",position:"absolute",top:0,right:0,zIndex:300,"&:hover":{color:"#228be6"}},variant:"transparent",children:r(_.ArrowsMove,{size:16})})),Wu=v.default.forwardRef(({handleAxis:t,...e},n)=>r(a.ActionIcon,{ref:n,className:"react-grid-customResizeHandle",sx:{userSelect:"none",cursor:"nwse-resize",position:"absolute",bottom:-5,right:-5,zIndex:300,"&:hover":{color:"#228be6"}},variant:"transparent",...e,children:r(_.ChevronDownRight,{size:16})})),Qu=gt.WidthProvider(pn.default),Yu=k.observer(function({view:e,className:n="layout",rowHeight:i=10,isDraggable:s,isResizable:o}){const l=v.default.useCallback(u=>{u.forEach(({i:d,...h})=>{const f=e.panels.findByID(d);!f||f.layout.set(h)})},[e]);return r(Qu,{onLayoutChange:l,className:`dashboard-layout ${n}`,rowHeight:i,layout:e.panels.layouts,isDraggable:s,isResizable:o,draggableHandle:".react-grid-customDragHandle",resizeHandle:r(Wu,{}),children:e.panels.current.map(({id:u,...d},h)=>c("div",{"data-grid":{...d.layout},style:{position:"relative"},children:[s&&r(ju,{}),r(it,{id:u,view:e,...d})]},u))})}),Uu=gt.WidthProvider(pn.default),Xu=k.observer(function({view:e,className:n="layout",rowHeight:i=10}){return r(Uu,{className:`dashboard-layout ${n}`,rowHeight:i,isDraggable:!1,isResizable:!1,layout:e.panels.layouts,children:e.panels.current.map(({id:s,...o})=>r("div",{"data-grid":o.layout,children:r(it,{id:s,view:e,...o})},s))})}),Ju=k.observer(({children:t})=>r(a.Box,{children:t})),Ku=k.observer(({children:t,view:e})=>r(a.Modal,{size:e.config.width,overflow:"inside",opened:!0,onClose:z.default.noop,withCloseButton:!1,title:e.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:e.config.height,overflow:"scroll"}}},withinPortal:!1,transitionDuration:0,children:t})),Zu=k.observer(({view:t,children:e})=>{switch(t.type){case fe.Modal:return r(Ku,{view:t,children:e});case fe.Division:default:return r(Ju,{children:e})}}),Sr=k.observer(function({view:e,saveDashboardChanges:n}){const{viewPanelInFullScreen:i,exitFullScreen:s,inFullScreen:o,fullScreenPanel:l}=Cr(e.panels.json);return wr(),r(mt.Provider,{value:{viewPanelInFullScreen:i,inFullScreen:o},children:c(a.Box,{className:"dashboard-view",mx:-10,sx:{position:"relative",height:"100%"},children:[o&&r(xr,{view:e,panel:l,exitFullScreen:s}),!o&&r(En,{saveChanges:n}),r(Zu,{view:e,children:c(a.Box,{className:"dashboard-sticky-parent",children:[r(a.Box,{className:"dashboard-sticky-area",children:r(bn,{view:e})}),r(a.Box,{sx:{display:o?"none":"block"},children:r(Yu,{view:e,isDraggable:!0,isResizable:!0})})]})})]})})}),Ir=k.observer(function({view:e}){const{viewPanelInFullScreen:n,exitFullScreen:i,inFullScreen:s,fullScreenPanel:o}=Cr(e.panels.json);return wr(),r(mt.Provider,{value:{viewPanelInFullScreen:n,inFullScreen:s},children:c(a.Box,{className:"dashboard-view",sx:{position:"relative",height:"100%"},children:[s&&r(xr,{view:e,panel:o,exitFullScreen:i}),!s&&c(a.Box,{className:"dashboard-sticky-area",children:[r(En,{saveChanges:z.default.noop}),r(bn,{view:e})]}),r(Xu,{view:e})]})})}),Tr=y.types.model({label:y.types.string,value:y.types.string}).actions(t=>({setLabel(e){t.label=e},setValue(e){t.value=e}})),Dr=y.types.model("FilterConfigModel_Select",{required:y.types.boolean,default_value:y.types.string,static_options:y.types.optional(y.types.array(Tr),[]),options_query:In}).actions(t=>({addStaticOption(e){t.static_options.push(e)},removeStaticOption(e){t.static_options.splice(e,1)},setRequired(e){t.required=e},setDefaultValue(e){t.default_value=e},setOptionsQuery(e){t.options_query=e}})),Hu=()=>Dr.create({required:!1,default_value:"",static_options:[],options_query:{type:pe.Postgresql,key:"",sql:""}}),_r=y.types.model("FilterConfigModel_MultiSelect",{default_value:y.types.optional(y.types.array(y.types.string),[]),static_options:y.types.optional(y.types.array(Tr),[]),options_query:In}).actions(t=>({addStaticOption(e){t.static_options.push(e)},removeStaticOption(e){t.static_options.splice(e,1)},setDefaultValue(e){t.default_value=y.cast(e)},setOptionsQuery(e){t.options_query=e}})),ec=()=>_r.create({default_value:[],static_options:[],options_query:{type:pe.Postgresql,key:"",sql:""}}),Ar=y.types.model("FilterConfigModel_Checkbox",{default_value:y.types.boolean}).actions(t=>({setDefaultValue(e){t.default_value=e}})),tc=()=>Ar.create({default_value:!1}),kr=y.types.model("FilterConfigModel_DateRange",{required:y.types.boolean,inputFormat:y.types.enumeration("DateRangeInputFormat",["YYYY","YYYY-MM","YYYY-MM-DD"]),clearable:y.types.boolean}).actions(t=>({setRequired(e){t.required=e},setClearable(e){t.clearable=e},setInputFormat(e){t.inputFormat=e}})),nc=()=>kr.create({required:!1,inputFormat:"YYYY-MM-DD",clearable:!1}),Yt=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",[ie.Select,ie.MultiSelect,ie.TextInput,ie.Checkbox,ie.DateRange]),config:y.types.union(Dr,_r,Tn,Ar,kr)}).actions(t=>({setKey(e){t.key=e},setLabel(e){t.label=e},setOrder(e){t.order=e},setType(e){switch(e){case ie.Select:t.config=Hu();break;case ie.MultiSelect:t.config=ec();break;case ie.TextInput:t.config=Dn();break;case ie.Checkbox:t.config=tc();break;case ie.DateRange:t.config=nc();break}t.type=e},setVisibleInViewsIDs(e){console.log(e),t.visibleInViewsIDs.length=0,t.visibleInViewsIDs.push(...e)}})),Mr=y.types.model("FiltersModel",{original:y.types.optional(y.types.array(Yt),[]),current:y.types.optional(y.types.array(Yt),[]),values:y.types.optional(y.types.frozen(),{})}).views(t=>({get changed(){return!z.default.isEqual(t.original,t.current)},get firstID(){if(t.current.length!==0)return t.current[0].id},get inOrder(){return z.default.sortBy(t.current,"order")},get empty(){return t.current.length===0},visibleInView(e){return z.default.sortBy(t.current.filter(n=>n.visibleInViewsIDs.includes(e)),"order")}})).actions(t=>({reset(){t.current=z.default.cloneDeep(t.original)},replace(e){t.current=y.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},setValues(e){t.values=e},setValueByKey(e,n){t.values[e]=n},getValueByKey(e){return t.values[e]}}));function Er(t){const e=t.reduce((n,i)=>{var s;return n[i.key]=(s=i.config.default_value)!=null?s:"",n},{});return{original:t,current:t,values:e}}var Ut={exports:{}};(function(t,e){(function(n,i){i()})(Oe,function(){function n(h,f){return typeof f>"u"?f={autoBom:!1}:typeof f!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),f={autoBom:!f}),f.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(h.type)?new Blob(["\uFEFF",h],{type:h.type}):h}function i(h,f,m){var g=new XMLHttpRequest;g.open("GET",h),g.responseType="blob",g.onload=function(){d(g.response,f,m)},g.onerror=function(){console.error("could not download file")},g.send()}function s(h){var f=new XMLHttpRequest;f.open("HEAD",h,!1);try{f.send()}catch{}return 200<=f.status&&299>=f.status}function o(h){try{h.dispatchEvent(new MouseEvent("click"))}catch{var f=document.createEvent("MouseEvents");f.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),h.dispatchEvent(f)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Oe=="object"&&Oe.global===Oe?Oe:void 0,u=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(h,f,m){var g=l.URL||l.webkitURL,b=document.createElement("a");f=f||h.name||"download",b.download=f,b.rel="noopener",typeof h=="string"?(b.href=h,b.origin===location.origin?o(b):s(b.href)?i(h,f,m):o(b,b.target="_blank")):(b.href=g.createObjectURL(h),setTimeout(function(){g.revokeObjectURL(b.href)},4e4),setTimeout(function(){o(b)},0))}:"msSaveOrOpenBlob"in navigator?function(h,f,m){if(f=f||h.name||"download",typeof h!="string")navigator.msSaveOrOpenBlob(n(h,m),f);else if(s(h))i(h,f,m);else{var g=document.createElement("a");g.href=h,g.target="_blank",setTimeout(function(){o(g)})}}:function(h,f,m,g){if(g=g||open("","_blank"),g&&(g.document.title=g.document.body.innerText="downloading..."),typeof h=="string")return i(h,f,m);var b=h.type==="application/octet-stream",I=/constructor/i.test(l.HTMLElement)||l.safari,A=/CriOS\/[\d]+/.test(navigator.userAgent);if((A||b&&I||u)&&typeof FileReader<"u"){var M=new FileReader;M.onloadend=function(){var J=M.result;J=A?J:J.replace(/^data:[^;]*;/,"data:attachment/file;"),g?g.location.href=J:location=J,g=null},M.readAsDataURL(h)}else{var F=l.URL||l.webkitURL,R=F.createObjectURL(h);g?g.location=R:location.href=R,g=null,setTimeout(function(){F.revokeObjectURL(R)},4e4)}});l.saveAs=d.saveAs=d,t.exports=d})})(Ut);function rc(t,e){const n=new Blob([e],{type:"text/csv"});Ut.exports.saveAs(n,`${t}.csv`)}function ic(t){const e=new wi.default;t.forEach(({id:n,data:i})=>{e.file(`${n}.csv`,Vr(i))}),e.generateAsync({type:"blob"}).then(n=>{Ut.exports.saveAs(n,"dashboard_data.zip")})}function Vr(t){if(!Array.isArray(t)||t.length===0)return"";const e=[],n=Object.keys(t[0]);return e.push(n.join(",")),t.forEach(i=>{const s=Object.values(i).join(",");e.push(s)}),e.join(`
42
+ `)}const zr=y.types.model("QueryModel",{id:y.types.string,type:y.types.enumeration("DataSourceType",[pe.Postgresql,pe.MySQL,pe.HTTP]),key:y.types.string,sql:y.types.string}).views(t=>({get valid(){return t.id&&t.type&&t.key&&t.sql},get configurations(){const{id:e,type:n,key:i,sql:s}=t;return{id:e,type:n,key:i,sql:s}}})),Or=y.types.compose("QueryModel",zr,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(t=>({get formattedSQL(){const{context:e,sqlSnippets:n,filterValues:i}=y.getRoot(t).payloadForSQL;return yn(t.sql,e,n,i)}})).actions(t=>({setID(e){t.id=e},setKey(e){t.key=e},setType(e){t.type=e},setSQL(e){t.sql=e},fetchData:y.flow(function*(){if(!!t.valid){t.state="loading";try{const e=t.id,{context:n,sqlSnippets:i,filterValues:s}=y.getRoot(t).payloadForSQL;t.data=yield*y.toGenerator(ki({context:n,sqlSnippets:i,title:e,query:{type:t.type,key:t.key,sql:t.sql},filterValues:s})),t.state="idle"}catch(e){console.error(e),t.error=e,t.state="error"}}})})).actions(t=>({afterCreate(){y.addDisposer(t,K.reaction(()=>`${t.id}--${t.key}--${t.type}--${t.formattedSQL}`,t.fetchData,{fireImmediately:!0,delay:500}))}})),Pr=y.types.model("QueriesModel",{original:y.types.optional(y.types.array(zr),[]),current:y.types.optional(y.types.array(Or),[])}).views(t=>({get changed(){return t.original.length!==t.current.length?!0:t.original.some((e,n)=>!z.default.isEqual(e.configurations,t.current[n].configurations))},get firstID(){if(t.current.length!==0)return t.current[0].id},findByID(e){return t.current.find(n=>n.id===e)},get options(){return t.current.map(e=>({value:e.id,label:e.id}))}})).actions(t=>({reset(){const e=t.original.map(n=>({...n,state:"idle",data:[],error:null}));t.current.length=0,t.current.unshift(...e)},replace(e){t.current=y.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},replaceByIndex(e,n){t.current.splice(e,1,n)},downloadAllData(){const e=t.current.map(({id:n,data:i})=>({id:n,data:i.toJSON()}));ic(e)},downloadDataByQueryID(e){const n=t.findByID(e);if(!n){console.log(`[downloadDataByQueryID] query by ID[${e}] not found`);return}const{id:i,data:s}=n,o=Vr(s);rc(i,o)},refetchDataByQueryID(e){const n=t.findByID(e);if(!n){console.error(new Error(`[downloadDataByQueryID] query by ID[${e}] not found`));return}return n.fetchData()}})),Xt=y.types.model("SQLSnippetModel",{key:y.types.string,value:y.types.string}).actions(t=>({setKey(e){t.key=e},setValue(e){t.value=e}})),qr=y.types.model("SQLSnippetsModel",{original:y.types.optional(y.types.array(Xt),[]),current:y.types.optional(y.types.array(Xt),[])}).views(t=>({get changed(){return!z.default.isEqual(t.original,t.current)}})).actions(t=>({reset(){t.current=z.default.cloneDeep(t.original)},replace(e){t.current=y.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},replaceByIndex(e,n){t.current.splice(e,1,n)}})),Fr=y.types.model("ContextModel",{current:y.types.optional(y.types.frozen(),{})}).views(t=>({get keys(){return Object.keys(t.current)},get entries(){return Object.entries(t.current)}})).actions(t=>({replace(e){t.current=e},get(e){return t.current[e]},set(e,n){t.current[e]=n}})),ac=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(t=>({get json(){const{x:e,y:n,w:i,h:s,moved:o}=t;return{x:e,y:n,w:i,h:s,moved:o,static:t.static}}})).actions(t=>({set(e){const{x:n,y:i,w:s,h:o,moved:l}=e;t.x=n,t.y=i,t.w=s,t.h=o,t.moved=!!l,t.static=!!e.static}})),sc=y.types.model("PanelVizModel",{type:y.types.string,conf:y.types.frozen()}).views(t=>({get json(){return{type:t.type,conf:t.conf}}})).actions(t=>({setType(e){t.type=e},setConf(e){t.conf=e}})),Rr=y.types.model({id:y.types.string,title:y.types.string,description:y.types.string,layout:ac,queryID:y.types.string,viz:sc}).views(t=>({get json(){const{id:e,title:n,description:i,queryID:s}=t;return{id:e,title:n,description:i,layout:t.layout.json,queryID:s,viz:t.viz.json}}})).actions(t=>({setID(e){t.id=e},setTitle(e){t.title=e},setDescription(e){t.description=e},setQueryID(e){t.queryID=e}})).actions(t=>({})),oc=y.types.model("PanelsModel",{original:y.types.optional(y.types.array(Rr),[]),current:y.types.optional(y.types.array(Rr),[])}).views(t=>({get changed(){return t.original.length!==t.current.length?!0:t.original.some((e,n)=>!z.default.isEqual(e.json,t.current[n].json))},get json(){return t.current.map(e=>e.json)},get layouts(){return t.current.map(e=>({...e.layout.json,i:e.id}))},findByID(e){return t.current.find(n=>n.id===e)}})).actions(t=>({reset(){const e=t.original.map(n=>({...n}));t.current.length=0,t.current.unshift(...e)},replace(e){t.current=y.cast(e)},addANewPanel(){const e=U.randomId();t.current.push({id:e,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${e}`,description:"<p><br></p>",queryID:"",viz:{type:Pt.name,conf:Pt.createConfig()}})},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},removeByID(e){const n=t.current.findIndex(i=>i.id===e);n!==-1&&t.current.splice(n,1)},duplicateByID(e){const n=t.current.find(i=>i.id===e);if(!n){console.error(new Error(`[duplicate panel] Can't find a panel by id[${e}]`));return}t.current.push({...n,id:U.randomId(),layout:{...n.layout,x:0,y:1/0,moved:!1}})},replaceByIndex(e,n){t.current.splice(e,1,n)}})),Jt=y.types.model({id:y.types.identifier,name:y.types.string,type:y.types.string,config:y.types.frozen(),panels:oc}).views(t=>({get json(){const{id:e,name:n,type:i,config:s}=t;return{id:e,name:n,type:i,config:s,panels:t.panels.json}}})).actions(t=>({setName(e){t.name=e},setType(e){t.type!==e&&(e===fe.Modal?t.config={width:"600px",height:"400px"}:t.config={},t.type=e)},setConfig(e){t.config=e},updateConfig(e,n){t.config={...t.config,[e]:n}}})).actions(t=>({})),Kt=y.types.model("ViewsModel",{original:y.types.optional(y.types.array(Jt),[]),current:y.types.optional(y.types.array(Jt),[]),visibleViewIDs:y.types.array(y.types.string),idOfVIE:y.types.string}).views(t=>({get changed(){return t.original.length!==t.current.length?!0:t.original.some((e,n)=>!z.default.isEqual(e.json,t.current[n].json))},get json(){return t.current.map(e=>e.json)},findByID(e){return t.current.find(n=>n.id===e)},get isVIETheFirstView(){return t.current.length===0||!t.idOfVIE?!1:t.current[0].id===t.idOfVIE},get firstVisibleView(){const[e]=t.visibleViewIDs;return t.current.find(({id:n})=>n===e)},get visibleViews(){const e=new Set(t.visibleViewIDs);return t.current.filter(({id:n})=>e.has(n))},get VIE(){return t.current.find(({id:e})=>e===t.idOfVIE)},get options(){return t.current.map(e=>({label:e.name,value:e.id,type:e.type}))}})).actions(t=>({reset(){const e=t.original.map(n=>({...n}));t.current.length=0,t.current.unshift(...e)},replace(e){t.current=y.cast(e)},addANewView(e,n,i){t.current.push({id:e,name:e,type:n,config:i,panels:{current:[],original:[]}})},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},removeByID(e){const n=t.current.findIndex(i=>i.id===e);n!==-1&&t.current.splice(n,1)},replaceByIndex(e,n){t.current.splice(e,1,n)},setIDOfVIE(e){t.idOfVIE=e,t.visibleViewIDs.length=0,t.visibleViewIDs.push(e)},addAPanelToVIE(){var e;(e=t.VIE)==null||e.panels.addANewPanel()}})).actions(t=>({addARandomNewView(){const e=U.randomId();t.addANewView(e,fe.Division,{}),t.setIDOfVIE(e)},removeVIE(){t.current.length!==1&&(t.removeByID(t.idOfVIE),t.setIDOfVIE(t.current[0].id))},rmVisibleViewID(e){const n=t.visibleViewIDs.findIndex(i=>i===e);n!==-1&&t.visibleViewIDs.splice(n,1)}}));function Gr(t){const e=t.length>0?[t[0].id]:[],n=t.length>0?t[0].id:"",i=t.map(s=>({...s,panels:{original:s.panels,current:s.panels}}));return Kt.create({original:i,current:i,visibleViewIDs:e,idOfVIE:n})}const lc=y.types.model({id:y.types.identifier,name:y.types.string,filters:Mr,queries:Pr,sqlSnippets:qr,views:Kt,context:Fr}).views(t=>({get payloadForSQL(){return{context:t.context.current,sqlSnippets:t.sqlSnippets.current,filterValues:t.filters.values}},get data(){return t.queries.current.map(({id:n,data:i})=>({id:n,data:i})).reduce((n,i)=>(n[i.id]=i.data,n),{})},getDataStuffByID(e){const n=t.queries.findByID(e);return n?{data:n.data.toJSON(),state:n.state,error:void 0}:{data:[],state:"idle",error:void 0}},getDataStateByID(e){var n,i;return(i=(n=t.queries.findByID(e))==null?void 0:n.state)!=null?i:[]},getDataErrorByID(e){var n,i;return(i=(n=t.queries.findByID(e))==null?void 0:n.error)!=null?i:[]}}));function Zt({id:t,name:e,filters:n,views:i,definition:{queries:s,sqlSnippets:o}},l){return lc.create({id:t,name:e,filters:Er(n),queries:{original:s,current:s},sqlSnippets:{original:o,current:o},context:l,views:Gr(i)})}const Qc="",uc=k.observer(function({context:e,dashboard:n,update:i,className:s="dashboard",config:o}){Te.baseURL!==o.apiBaseURL&&(Te.baseURL=o.apiBaseURL);const[l,u]=v.default.useState(!1),d=v.default.useMemo(()=>Zt(n,e),[n]);v.default.useEffect(()=>{d.context.replace(e)},[e]);const h=async()=>{const m=[...d.queries.current],g=[...d.sqlSnippets.current],b=[...d.views.json],I={...n,filters:[...d.filters.current],views:b,definition:{sqlSnippets:g,queries:m}};await i(I)},f=B.useCreation(hr,[]);return r(he.ModalsProvider,{children:r(yt,{value:d,children:r(le.Provider,{value:{layoutFrozen:l,freezeLayout:u,inEditMode:!0,inUseMode:!1},children:r(a.Box,{className:`${s} dashboard-root`,sx:{position:"relative"},children:r(me.Provider,{value:f,children:d.views.visibleViews.map(m=>r(Sr,{view:m,saveDashboardChanges:h},m.id))})})})})})});function cc({context:t,dashboard:e,className:n="dashboard",config:i}){Te.baseURL!==i.apiBaseURL&&(Te.baseURL=i.apiBaseURL);const s=v.default.useMemo(()=>Zt(e,t),[e]);return v.default.useEffect(()=>{s.context.replace(t)},[t]),r(he.ModalsProvider,{children:r(yt,{value:s,children:r(le.Provider,{value:{layoutFrozen:!0,freezeLayout:z.default.noop,inEditMode:!1,inUseMode:!0},children:r(a.Box,{className:`${n} dashboard-root dashboard-sticky-parent`,children:s.views.visibleViews.map(o=>r(Ir,{view:o},o.id))})})})})}D.ContextModel=Fr,D.Dashboard=uc,D.DashboardFilterType=kn,D.DashboardMode=An,D.EViewComponentType=fe,D.FilterModel=Yt,D.FiltersModel=Mr,D.LayoutStateContext=le,D.MainDashboardView=Sr,D.ModelContextProvider=yt,D.Panel=it,D.PanelContext=H,D.QueriesModel=Pr,D.QueryModel=Or,D.ReadOnlyDashboard=cc,D.ReadOnlyDashboardView=Ir,D.SQLSnippetModel=Xt,D.SQLSnippetsModel=qr,D.ViewModel=Jt,D.ViewsModel=Kt,D.createDashboardModel=Zt,D.createDashboardViewsModel=Gr,D.getInitialFiltersPayload=Er,D.useModelContext=W,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});