@devtable/dashboard 1.24.0 → 1.25.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(I,Q){typeof exports=="object"&&typeof module!="undefined"?Q(exports,require("react"),require("lodash"),require("react-grid-layout"),require("@mantine/core"),require("ahooks"),require("axios"),require("tabler-icons-react"),require("@mantine/rte"),require("@mantine/hooks"),require("echarts-for-react/lib/core"),require("echarts/core"),require("echarts/charts"),require("echarts/renderers"),require("echarts/components"),require("numbro"),require("echarts-gl"),require("react-hook-form"),require("@mantine/form"),require("@mantine/prism")):typeof define=="function"&&define.amd?define(["exports","react","lodash","react-grid-layout","@mantine/core","ahooks","axios","tabler-icons-react","@mantine/rte","@mantine/hooks","echarts-for-react/lib/core","echarts/core","echarts/charts","echarts/renderers","echarts/components","numbro","echarts-gl","react-hook-form","@mantine/form","@mantine/prism"],Q):(I=typeof globalThis!="undefined"?globalThis:I||self,Q(I.dashboard={},I.React,I._,I["react-grid-layout"],I["@mantine/core"],I.ahooks,I.axios,I["tabler-icons-react"],I["@mantine/rte"],I["@mantine/hooks"],I["echarts-for-react/lib/core"],I["echarts/core"],I["echarts/charts"],I["echarts/renderers"],I["echarts/components"],I.numbro,I["echarts-gl"],I["react-hook-form"],I["@mantine/form"],I["@mantine/prism"]))})(this,function(I,Q,X,ee,o,We,Jt,q,ut,le,Zt,Ht,Ee,Pe,be,en,Ni,$,de,se){"use strict";var Pi=Object.defineProperty,zi=Object.defineProperties;var Li=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var Kt=Object.prototype.hasOwnProperty,Yt=Object.prototype.propertyIsEnumerable;var st=(I,Q,X)=>Q in I?Pi(I,Q,{enumerable:!0,configurable:!0,writable:!0,value:X}):I[Q]=X,S=(I,Q)=>{for(var X in Q||(Q={}))Kt.call(Q,X)&&st(I,X,Q[X]);if(_e)for(var X of _e(Q))Yt.call(Q,X)&&st(I,X,Q[X]);return I},Y=(I,Q)=>zi(I,Li(Q));var Z=(I,Q)=>{var X={};for(var ee in I)Kt.call(I,ee)&&Q.indexOf(ee)<0&&(X[ee]=I[ee]);if(I!=null&&_e)for(var ee of _e(I))Q.indexOf(ee)<0&&Yt.call(I,ee)&&(X[ee]=I[ee]);return X};var Xt=(I,Q,X)=>(st(I,typeof Q!="symbol"?Q+"":Q,X),X);function ye(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function tn(e){if(e&&e.__esModule)return e;var r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),r.default=e,Object.freeze(r)}var x=ye(Q),V=ye(X),dt=ye(ee),nn=ye(Jt),Ve=ye(ut),ze=ye(Zt),ce=tn(Ht),Me=ye(en),ie=(e=>(e.Use="use",e.Layout="layout",e.Edit="edit",e))(ie||{});const rn={layoutFrozen:!1,freezeLayout:()=>{},mode:ie.Edit,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},ge=x.default.createContext(rn);function an(e,r){const n=Object.keys(r),a=Object.values(r);try{return new Function(...n,`return \`${e}\`;`)(...a)}catch(i){return console.error(i),i.message}}function Ue(e,r){const n=Object.keys(r),a=Object.values(r);try{return new Function(...n,`return \`${e}\`;`)(...a)}catch(i){throw n.length===0&&e.includes("$")?new Error("[formatSQL] insufficient params"):i}}function ct(e,r){const n=r.sqlSnippets.reduce((a,i)=>(a[i.key]=Ue(i.value,e),a),{});return V.default.merge({},n,e)}function on(e,r,n){try{const a=ct(r,n);return Ue(e,a)}catch(a){return console.error(a),a.message}}const Te={baseURL:"http://localhost:31200",getRequest(e){return(r,n,a={})=>{const i=S({"X-Requested-With":"XMLHttpRequest","Content-Type":a.string?"application/x-www-form-urlencoded":"application/json"},a.headers),l={baseURL:this.baseURL,method:e,url:r,params:e==="GET"?n:a.params,headers:i};return e==="POST"&&(l.data=a.string?JSON.stringify(n):n),nn.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}},ft=({context:e,definitions:r,title:n,query:a})=>async()=>{if(!a||!a.sql)return[];const{type:i,key:l,sql:u}=a,s=u.includes("$");try{const d=ct(e,r),p=Ue(u,d);return s&&(console.groupCollapsed(`Final SQL for: ${n}`),console.log(p),console.groupEnd()),await Te.getRequest("POST")("/query",{type:i,key:l,sql:p})}catch(d){return console.error(d),[]}};async function ln(){try{return await Te.getRequest("GET")("/query/sources",{})}catch(e){return console.error(e),{}}}const pt={},sn=pt,fe=x.default.createContext(pt),un={data:[],loading:!1,title:"",setTitle:()=>{},description:"",setDescription:()=>{},queryID:"",setQueryID:()=>{},viz:{type:"",conf:{}},setViz:()=>{},refreshData:()=>{}},ae=x.default.createContext(un),dn={sqlSnippets:[],setSQLSnippets:()=>{},queries:[],setQueries:()=>{}},oe=x.default.createContext(dn);var cn=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},Le={exports:{}},Ne={};/**
1
+ (function(z,Q){typeof exports=="object"&&typeof module!="undefined"?Q(exports,require("react"),require("lodash"),require("react-grid-layout"),require("@mantine/core"),require("ahooks"),require("axios"),require("tabler-icons-react"),require("@mantine/rte"),require("@mantine/hooks"),require("echarts-for-react/lib/core"),require("echarts/core"),require("echarts/charts"),require("echarts/renderers"),require("echarts/components"),require("numbro"),require("echarts-gl"),require("react-hook-form"),require("@mantine/form"),require("@mantine/prism")):typeof define=="function"&&define.amd?define(["exports","react","lodash","react-grid-layout","@mantine/core","ahooks","axios","tabler-icons-react","@mantine/rte","@mantine/hooks","echarts-for-react/lib/core","echarts/core","echarts/charts","echarts/renderers","echarts/components","numbro","echarts-gl","react-hook-form","@mantine/form","@mantine/prism"],Q):(z=typeof globalThis!="undefined"?globalThis:z||self,Q(z.dashboard={},z.React,z._,z["react-grid-layout"],z["@mantine/core"],z.ahooks,z.axios,z["tabler-icons-react"],z["@mantine/rte"],z["@mantine/hooks"],z["echarts-for-react/lib/core"],z["echarts/core"],z["echarts/charts"],z["echarts/renderers"],z["echarts/components"],z.numbro,z["echarts-gl"],z["react-hook-form"],z["@mantine/form"],z["@mantine/prism"]))})(this,function(z,Q,X,ee,o,We,nn,q,ct,ie,rn,an,Ee,Ie,be,on,$i,F,de,se){"use strict";var Ri=Object.defineProperty,qi=Object.defineProperties;var Bi=Object.getOwnPropertyDescriptors;var _e=Object.getOwnPropertySymbols;var Ht=Object.prototype.hasOwnProperty,en=Object.prototype.propertyIsEnumerable;var dt=(z,Q,X)=>Q in z?Ri(z,Q,{enumerable:!0,configurable:!0,writable:!0,value:X}):z[Q]=X,y=(z,Q)=>{for(var X in Q||(Q={}))Ht.call(Q,X)&&dt(z,X,Q[X]);if(_e)for(var X of _e(Q))en.call(Q,X)&&dt(z,X,Q[X]);return z},Y=(z,Q)=>qi(z,Bi(Q));var Z=(z,Q)=>{var X={};for(var ee in z)Ht.call(z,ee)&&Q.indexOf(ee)<0&&(X[ee]=z[ee]);if(z!=null&&_e)for(var ee of _e(z))Q.indexOf(ee)<0&&en.call(z,ee)&&(X[ee]=z[ee]);return X};var tn=(z,Q,X)=>(dt(z,typeof Q!="symbol"?Q+"":Q,X),X);function ye(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function ln(e){if(e&&e.__esModule)return e;var r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}}),r.default=e,Object.freeze(r)}var x=ye(Q),V=ye(X),ft=ye(ee),sn=ye(nn),Ve=ye(ct),Pe=ye(rn),ce=ln(an),Ae=ye(on),ae=(e=>(e.Use="use",e.Layout="layout",e.Edit="edit",e))(ae||{});const un={layoutFrozen:!1,freezeLayout:()=>{},mode:ae.Edit,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},ge=x.default.createContext(un);function dn(e,r){const n=Object.keys(r),a=Object.values(r);try{return new Function(...n,`return \`${e}\`;`)(...a)}catch(i){return console.error(i),i.message}}function Ue(e,r){const n=Object.keys(r),a=Object.values(r);try{return new Function(...n,`return \`${e}\`;`)(...a)}catch(i){throw n.length===0&&e.includes("$")?new Error("[formatSQL] insufficient params"):i}}function pt(e,r){const n=r.sqlSnippets.reduce((a,i)=>(a[i.key]=Ue(i.value,e),a),{});return V.default.merge({},n,e)}function cn(e,r,n){try{const a=pt(r,n);return Ue(e,a)}catch(a){return console.error(a),a.message}}const Te={baseURL:"http://localhost:31200",getRequest(e){return(r,n,a={})=>{const i=y({"X-Requested-With":"XMLHttpRequest","Content-Type":a.string?"application/x-www-form-urlencoded":"application/json"},a.headers),l={baseURL:this.baseURL,method:e,url:r,params:e==="GET"?n:a.params,headers:i};return e==="POST"&&(l.data=a.string?JSON.stringify(n):n),sn.default(l).then(u=>u.data).catch(u=>Promise.reject(u))}}},mt=({context:e,definitions:r,title:n,query:a})=>async()=>{if(!a||!a.sql)return[];const{type:i,key:l,sql:u}=a,s=u.includes("$");try{const d=pt(e,r),p=Ue(u,d);return s&&(console.groupCollapsed(`Final SQL for: ${n}`),console.log(p),console.groupEnd()),await Te.getRequest("POST")("/query",{type:i,key:l,sql:p})}catch(d){return console.error(d),[]}};async function fn(){try{return await Te.getRequest("GET")("/query/sources",{})}catch(e){return console.error(e),{}}}const ht={},pn=ht,fe=x.default.createContext(ht),mn={data:[],loading:!1,title:"",setTitle:()=>{},description:"",setDescription:()=>{},queryID:"",setQueryID:()=>{},viz:{type:"",conf:{}},setViz:()=>{},refreshData:()=>{}},oe=x.default.createContext(mn),hn={sqlSnippets:[],setSQLSnippets:()=>{},queries:[],setQueries:()=>{}},le=x.default.createContext(hn);var gn=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},Le={exports:{}},Ne={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,9 +6,9 @@
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 fn=x.default,pn=Symbol.for("react.element"),mn=Symbol.for("react.fragment"),hn=Object.prototype.hasOwnProperty,gn=fn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,xn={key:!0,ref:!0,__self:!0,__source:!0};function mt(e,r,n){var a,i={},l=null,u=null;n!==void 0&&(l=""+n),r.key!==void 0&&(l=""+r.key),r.ref!==void 0&&(u=r.ref);for(a in r)hn.call(r,a)&&!xn.hasOwnProperty(a)&&(i[a]=r[a]);if(e&&e.defaultProps)for(a in r=e.defaultProps,r)i[a]===void 0&&(i[a]=r[a]);return{$$typeof:pn,type:e,key:l,ref:u,props:i,_owner:gn.current}}Ne.Fragment=mn,Ne.jsx=mt,Ne.jsxs=mt,Le.exports=Ne;const t=Le.exports.jsx,v=Le.exports.jsxs,Se=Le.exports.Fragment;function ht({position:e="bottom",trigger:r="hover"}){const{freezeLayout:n}=x.default.useContext(ge),[a,i]=x.default.useState(!1),{description:l}=x.default.useContext(ae);if(x.default.useEffect(()=>{n(a)},[a]),!l||l==="<p><br></p>")return null;const u=r==="click"?t(o.Tooltip,{label:"Click to see description",openDelay:500,children:t(q.InfoCircle,{size:20,onClick:()=>i(s=>!s),style:{verticalAlign:"baseline",cursor:"pointer"}})}):t(q.InfoCircle,{size:20,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{verticalAlign:"baseline",cursor:"pointer"}});return t(o.Popover,{opened:a,onClose:()=>i(!1),withCloseButton:r==="click",withArrow:!0,trapFocus:!0,closeOnEscape:!1,placement:"center",position:e,target:u,width:"40vw",children:t(Ve.default,{readOnly:!0,value:l,onChange:V.default.noop,sx:{border:"none"}})})}function vn(){const{description:e,setDescription:r}=x.default.useContext(ae),[n,a]=x.default.useState(e),i=e!==n,l=x.default.useCallback(()=>{!i||r(n)},[i,n]);return v(o.Group,{direction:"column",sx:{flexGrow:1},children:[v(o.Group,{align:"end",children:[t(o.Text,{children:"Description"}),t(o.ActionIcon,{variant:"hover",color:"blue",disabled:!i,onClick:l,children:t(q.DeviceFloppy,{size:20})})]}),t(ut.RichTextEditor,{value:n,onChange:a,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class Qe extends x.default.Component{constructor(r){super(r),this.state={error:null}}componentDidCatch(r){this.setState({error:r})}render(){var r;if(this.state.error){const n=()=>{this.setState({error:null})};return v(o.Box,{children:[t(o.Text,{size:"xs",children:(r=this.state.error)==null?void 0:r.message}),t(o.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function bn(){const{title:e}=x.default.useContext(ae);return t(Qe,{children:v(o.Group,{direction:"column",grow:!0,noWrap:!0,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:[v(o.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[t(o.Group,{children:t(ht,{position:"bottom",trigger:"hover"})}),t(o.Group,{grow:!0,position:"center",children:t(o.Text,{lineClamp:1,weight:"bold",children:e})}),t(o.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),t(o.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function yn(){const{title:e,setTitle:r}=x.default.useContext(ae),[n,a]=le.useInputState(e),i=e!==n,l=x.default.useCallback(()=>{!i||r(n)},[i,n]);return t(o.TextInput,{value:n,onChange:a,label:v(o.Group,{align:"end",children:[t(o.Text,{children:"Panel Title"}),t(o.ActionIcon,{variant:"hover",color:"blue",disabled:!i,onClick:l,children:t(q.DeviceFloppy,{size:20})})]})})}function Sn({}){return v(o.Group,{direction:"row",grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[v(o.Group,{grow:!0,direction:"column",sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[t(yn,{}),t(vn,{})]}),t(o.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(bn,{})})]})}function gt({id:e}){const r=x.default.useContext(oe),n=x.default.useContext(fe),a=x.default.useMemo(()=>r.queries.find(s=>s.id===e),[r.queries,e]),{data:i=[],loading:l,refresh:u}=We.useRequest(ft({context:n,definitions:r,title:e,query:a}),{refreshDeps:[n,r,a]});return l?t(o.LoadingOverlay,{visible:l,exitTransitionDuration:0}):i.length===0?t(o.Table,{}):v(o.Group,{my:"xl",direction:"column",grow:!0,sx:{border:"1px solid #eee"},children:[v(o.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[v(o.Group,{position:"left",children:[t(o.Text,{weight:500,children:"Preview Data"}),i.length>10&&v(o.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",i.length]})]}),t(o.ActionIcon,{mr:15,variant:"hover",color:"blue",disabled:l,onClick:u,children:t(q.Refresh,{size:15})})]}),v(o.Table,{children:[t("thead",{children:t("tr",{children:Object.keys(i==null?void 0:i[0]).map(s=>t("th",{children:t(o.Text,{weight:700,color:"#000",children:s})},s))})}),t("tbody",{children:i.slice(0,10).map((s,d)=>t("tr",{children:Object.values(s).map((p,f)=>t("td",{children:t(o.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:t(o.Text,{children:p})})},`${p}--${f}`))},`row-${d}`))})]})]})}function Cn({}){const{queries:e}=x.default.useContext(oe),{queryID:r,setQueryID:n,data:a,loading:i}=x.default.useContext(ae),l=x.default.useMemo(()=>e.map(u=>({value:u.id,label:u.id})),[e]);return v(o.Group,{direction:"column",grow:!0,noWrap:!0,children:[v(o.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(o.Text,{children:"Select a Query"}),t(o.Select,{data:l,value:r,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),t(gt,{id:r})]})}ce.use([Ee.SunburstChart,Pe.CanvasRenderer]);const wn={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function Tn({conf:e,data:r,width:n,height:a}){const c=e,{label_field:i="name",value_field:l="value"}=c,u=Z(c,["label_field","value_field"]),s=x.default.useMemo(()=>r.map(h=>({name:h[i],value:Number(h[l])})),[r,i,l]),d=x.default.useMemo(()=>{var h,m;return(m=(h=V.default.maxBy(s,b=>b.value))==null?void 0:h.value)!=null?m:1},[s]),p=x.default.useMemo(()=>({series:{label:{formatter:({name:h,value:m})=>m/d<.2?" ":h}}}),[d]),f=V.default.merge({},wn,p,u,{series:{data:s}});return t(ze.default,{echarts:ce,option:f,style:{width:n,height:a}})}var xt={exports:{}};(function(e,r){(function(a,i){e.exports=i()})(cn,function(){return function(n){var a={};function i(l){if(a[l])return a[l].exports;var u=a[l]={exports:{},id:l,loaded:!1};return n[l].call(u.exports,u,u.exports,i),u.loaded=!0,u.exports}return i.m=n,i.c=a,i.p="",i(0)}([function(n,a,i){var l;l=function(u){return{clustering:i(1),regression:i(5),statistics:i(6),histogram:i(15),transform:{regression:i(18),histogram:i(21),clustering:i(22)}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.dataPreprocess,p=s.normalizeDimensions,f=i(3),g=i(4),c=f.size,h=f.sumOfColumn,m=f.sum,b=f.zeros,g=i(4),y=g.isNumber,w=Math.pow,C={SINGLE:"single",MULTIPLE:"multiple"};function D(P,L,z){for(var B=b(P.length,2),R=A(L,k(P,z.dimensions)),N=!0,_,F,U,j;N;){N=!1;for(var O=0;O<P.length;O++){_=1/0,F=-1;for(var J=0;J<L;J++)U=G(P[O],R[J],z),U<_&&(_=U,F=J);B[O][0]!==F&&(N=!0),B[O][0]=F,B[O][1]=_}for(var O=0;O<L;O++){j=[];for(var J=0;J<B.length;J++)B[J][0]===O&&j.push(P[J]);R[O]=E(j,z)}}var we={centroids:R,clusterAssigned:B};return we}function E(P,L){for(var z=[],B,R,N=0;N<L.dimensions.length;N++){var _=L.dimensions[N];B=0;for(var F=0;F<P.length;F++)B+=P[F][_];R=B/P.length,z.push(R)}return z}function T(P,L,z){var B=(y(L)?{clusterCount:L,stepByStep:z}:L)||{clusterCount:2},R=B.clusterCount;if(R<2)return;var N=W(P,B),_=N.outputType===C.SINGLE,F=d(P,{dimensions:N.dimensions}),U=b(F.length,2),j,O,J;function we(H,me){U[H][1]=me}function ne(H){return U[H][1]}if(_){j=[];var Ut=N.outputClusterIndexDimension;O=function(H,me){j[H][Ut]=me},J=function(H){return j[H][Ut]};for(var ue=0;ue<F.length;ue++)j.push(F[ue].slice()),we(ue,0),O(ue,0)}else O=function(H,me){U[H][0]=me},J=function(H){return U[H][0]};for(var Qt=E(F,N),De=[Qt],ue=0;ue<F.length;ue++){var Ii=G(F[ue],Qt,N);we(ue,Ii)}var nt,rt,it,$e,at,ot,kt=1,pe={data:j,centroids:De,isEnd:!1};_||(pe.clusterAssment=U);function jt(){if(kt<R){nt=1/0;for(var H,me,he,re=0;re<De.length;re++){rt=[],it=[];for(var K=0;K<F.length;K++)J(K)===re?rt.push(F[K]):it.push(ne(K));$e=D(rt,2,N),at=h($e.clusterAssigned,1),ot=m(it),at+ot<nt&&(nt=ot+at,H=re,me=$e.centroids,he=$e.clusterAssigned)}for(var K=0;K<he.length;K++)he[K][0]===0?he[K][0]=H:he[K][0]===1&&(he[K][0]=De.length);De[H]=me[0],De.push(me[1]);for(var K=0,re=0;K<F.length&&re<he.length;K++)J(K)===H&&(O(K,he[re][0]),we(K,he[re++][1]));var lt=[];if(!_){for(var K=0;K<De.length;K++){lt[K]=[];for(var re=0;re<F.length;re++)J(re)===K&&lt[K].push(F[re])}pe.pointsInCluster=lt}kt++}else pe.isEnd=!0}if(B.stepByStep)pe.next=function(){return jt(),M(pe,N),pe};else for(;jt(),!pe.isEnd;);return M(pe,N),pe}function M(P,L){var z=L.outputCentroidDimensions;if(!(L.outputType!==C.SINGLE||z==null))for(var B=P.data,R=P.centroids,N=0;N<B.length;N++)for(var _=B[N],F=_[L.outputClusterIndexDimension],U=R[F],j=Math.min(U.length,z.length),O=0;O<j;O++)_[z[O]]=U[O]}function A(P,L){for(var z=b(P,L.length),B=0;B<L.length;B++)for(var R=L[B],N=0;N<P;N++)z[N][B]=R.min+R.span*Math.random();return z}function G(P,L,z){for(var B=0,R=z.dimensions,N=z.rawExtents,_=0;_<R.length;_++){var F=N[_].span;if(F){var U=R[_],j=(P[U]-L[_])/F;B+=w(j,2)}}return B}function W(P,L){var z=c(P);if(z.length<1)throw new Error("The input data of clustering should be two-dimension array.");for(var B=z[1],R=[],N=0;N<B;N++)R.push(N);var _=p(L.dimensions,R),F=L.outputType||C.MULTIPLE,U=L.outputClusterIndexDimension;if(F===C.SINGLE&&!g.isNumber(U))throw new Error("outputClusterIndexDimension is required as a number.");var j=k(P,_);return{dimensions:_,rawExtents:j,outputType:F,outputClusterIndexDimension:U,outputCentroidDimensions:L.outputCentroidDimensions}}function k(P,L){for(var z=[],B=L.length,R=0;R<B;R++)z.push({min:1/0,max:-1/0});for(var R=0;R<P.length;R++)for(var N=P[R],_=0;_<B;_++){var F=z[_],U=N[L[_]];F.min>U&&(F.min=U),F.max<U&&(F.max=U)}for(var R=0;R<B;R++)z[R].span=z[R].max-z[R].min;return z}return{OutputType:C,hierarchicalKMeans:T}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(3),d=s.isArray,p=s.size,f=i(4),c=f.isNumber;function h(g,y){return typeof g=="number"?[g]:g==null?y:g}function m(g,y){y=y||{};var w=y.dimensions,C={};if(w!=null)for(var D=0;D<w.length;D++)C[w[D]]=!0;var E=y.toOneDimensionArray?w?w[0]:0:null;function T(P){return!w||C.hasOwnProperty(P)}if(!d(g))throw new Error("Invalid data type, you should input an array");var M=[],A=p(g);if(A.length===1)for(var D=0;D<A[0];D++){var G=g[D];c(G)&&M.push(G)}else if(A.length===2)for(var D=0;D<A[0];D++){for(var W=!0,G=g[D],k=0;k<A[1];k++)T(k)&&!c(G[k])&&(W=!1);W&&M.push(E!=null?G[E]:G)}return M}function b(g){var y=g.toString(),w=y.indexOf(".");return w<0?0:y.length-1-w}return{normalizeDimensions:h,dataPreprocess:m,getPrecision:b}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=Object.prototype.toString,d=Array.prototype,p=d.map;function f(C){for(var D=[];c(C);)D.push(C.length),C=C[0];return D}function c(C){return s.call(C)==="[object Array]"}function h(C,D){for(var E=[],T=0;T<C;T++){E[T]=[];for(var M=0;M<D;M++)E[T][M]=0}return E}function m(C){for(var D=0,E=0;E<C.length;E++)D+=C[E];return D}function b(C,D){for(var E=0,T=0;T<C.length;T++)E+=C[T][D];return E}function g(C,D){return C>D?1:C<D?-1:C===D?0:NaN}function y(C,D,E,T){for(E==null&&(E=0),T==null&&(T=C.length);E<T;){var M=Math.floor((E+T)/2),A=g(C[M],D);if(A>0)T=M;else if(A<0)E=M+1;else return M+1}return E}function w(C,D,E){if(!!(C&&D)){if(C.map&&C.map===p)return C.map(D,E);for(var T=[],M=0,A=C.length;M<A;M++)T.push(D.call(E,C[M],M,C));return T}}return{size:f,isArray:c,zeros:h,sum:m,sumOfColumn:b,ascending:g,bisect:y,map:w}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){function s(f){return f=f===null?NaN:+f,typeof f=="number"&&!isNaN(f)}function d(f){return isFinite(f)&&f===Math.round(f)}function p(f){if(f===0)return 0;var c=Math.floor(Math.log(f)/Math.LN10);return f/Math.pow(10,c)>=10&&c++,c}return{isNumber:s,isInteger:d,quantityExponent:p}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.dataPreprocess,p=s.normalizeDimensions,f={linear:function(m,b){for(var g=b.dimensions[0],y=b.dimensions[1],w=0,C=0,D=0,E=0,T=m.length,M=0;M<T;M++){var A=m[M];w+=A[g],C+=A[y],D+=A[g]*A[y],E+=A[g]*A[g]}for(var G=(T*D-w*C)/(T*E-w*w),W=C/T-G*w/T,k=[],P=0;P<m.length;P++){var A=m[P],L=A.slice();L[g]=A[g],L[y]=G*A[g]+W,k.push(L)}var z="y = "+Math.round(G*100)/100+"x + "+Math.round(W*100)/100;return{points:k,parameter:{gradient:G,intercept:W},expression:z}},linearThroughOrigin:function(m,b){for(var g=b.dimensions[0],y=b.dimensions[1],w=0,C=0,D=0;D<m.length;D++){var E=m[D];w+=E[g]*E[g],C+=E[g]*E[y]}for(var T=C/w,M=[],A=0;A<m.length;A++){var E=m[A],G=E.slice();G[g]=E[g],G[y]=E[g]*T,M.push(G)}var W="y = "+Math.round(T*100)/100+"x";return{points:M,parameter:{gradient:T},expression:W}},exponential:function(m,b){for(var g=b.dimensions[0],y=b.dimensions[1],w=0,C=0,D=0,E=0,T=0,M=0,A=0;A<m.length;A++){var G=m[A];w+=G[g],C+=G[y],M+=G[g]*G[y],D+=G[g]*G[g]*G[y],E+=G[y]*Math.log(G[y]),T+=G[g]*G[y]*Math.log(G[y])}for(var W=C*D-M*M,k=Math.pow(Math.E,(D*E-M*T)/W),P=(C*T-M*E)/W,L=[],z=0;z<m.length;z++){var G=m[z],B=G.slice();B[g]=G[g],B[y]=k*Math.pow(Math.E,P*G[g]),L.push(B)}var R="y = "+Math.round(k*100)/100+"e^("+Math.round(P*100)/100+"x)";return{points:L,parameter:{coefficient:k,index:P},expression:R}},logarithmic:function(m,b){for(var g=b.dimensions[0],y=b.dimensions[1],w=0,C=0,D=0,E=0,T=0;T<m.length;T++){var M=m[T];w+=Math.log(M[g]),C+=M[y]*Math.log(M[g]),D+=M[y],E+=Math.pow(Math.log(M[g]),2)}for(var A=(T*C-D*w)/(T*E-w*w),G=(D-A*w)/T,W=[],k=0;k<m.length;k++){var M=m[k],P=M.slice();P[g]=M[g],P[y]=A*Math.log(M[g])+G,W.push(P)}var L="y = "+Math.round(G*100)/100+" + "+Math.round(A*100)/100+"ln(x)";return{points:W,parameter:{gradient:A,intercept:G},expression:L}},polynomial:function(m,b){var g=b.dimensions[0],y=b.dimensions[1],w=b.order;w==null&&(w=2);for(var C=[],D=[],E=w+1,T=0;T<E;T++){for(var M=0,A=0;A<m.length;A++){var G=m[A];M+=G[y]*Math.pow(G[g],T)}D.push(M);for(var W=[],k=0;k<E;k++){for(var P=0,L=0;L<m.length;L++)P+=Math.pow(m[L][g],T+k);W.push(P)}C.push(W)}C.push(D);for(var z=c(C,E),B=[],T=0;T<m.length;T++){for(var R=0,G=m[T],A=0;A<z.length;A++)R+=z[A]*Math.pow(G[g],A);var N=G.slice();N[g]=G[g],N[y]=R,B.push(N)}for(var _="y = ",T=z.length-1;T>=0;T--)T>1?_+=Math.round(z[T]*Math.pow(10,T+1))/Math.pow(10,T+1)+"x^"+T+" + ":T===1?_+=Math.round(z[T]*100)/100+"x + ":_+=Math.round(z[T]*100)/100;return{points:B,parameter:z,expression:_}}};function c(m,b){for(var g=0;g<m.length-1;g++){for(var y=g,w=g+1;w<m.length-1;w++)Math.abs(m[g][w])>Math.abs(m[g][y])&&(y=w);for(var C=g;C<m.length;C++){var D=m[C][g];m[C][g]=m[C][y],m[C][y]=D}for(var E=g+1;E<m.length-1;E++)for(var T=m.length-1;T>=g;T--)m[T][E]-=m[T][g]/m[g][g]*m[g][E]}for(var M=new Array(b),A=m.length-1,w=m.length-2;w>=0;w--){for(var D=0,g=w+1;g<m.length-1;g++)D+=m[g][w]*M[g];M[w]=(m[A][w]-D)/m[w][w]}return M}var h=function(m,b,g){var y=typeof g=="number"?{order:g}:g||{},w=p(y.dimensions,[0,1]),C=d(b,{dimensions:w}),D=f[m](C,{order:y.order,dimensions:w}),E=w[0];return D.points.sort(function(T,M){return T[E]-M[E]}),D};return h}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s={};return s.max=i(7),s.deviation=i(8),s.mean=i(10),s.median=i(12),s.min=i(14),s.quantile=i(13),s.sampleVariance=i(9),s.sum=i(11),s}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){for(var c=-1/0,h=0;h<f.length;h++)d(f[h])&&f[h]>c&&(c=f[h]);return c}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(9);return function(d){var p=s(d);return p&&Math.sqrt(p)}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber,p=i(10);function f(c){var h=c.length;if(!h||h<2)return 0;if(c.length>=2){for(var m=p(c),b=0,g,y=0;y<c.length;y++)d(c[y])&&(g=c[y]-m,b+=g*g);return b/(c.length-1)}}return f}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(11);function d(p){var f=p.length;return f?s(p)/p.length:0}return d}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){var c=f.length;if(!c)return 0;for(var h=0,m=0;m<c;m++)d(f[m])&&(h+=f[m]);return h}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(13);function d(p){return s(p,.5)}return d}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){return function(s,d){var p=s.length;if(!p)return 0;if(d<=0||p<2)return s[0];if(d>=1)return s[p-1];var f=(p-1)*d,c=Math.floor(f),h=s[c],m=s[c+1];return h+(m-h)*(f-c)}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){for(var c=1/0,h=0;h<f.length;h++)d(f[h])&&f[h]<c&&(c=f[h]);return c}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(7),d=i(14),p=i(13),f=i(8),c=i(2),h=c.dataPreprocess,m=c.normalizeDimensions,b=i(3),g=b.ascending,y=b.map,w=i(16),C=b.bisect,D=i(17);function E(J,A){for(var G=typeof A=="string"?{method:A}:A||{},W=G.method==null?T.squareRoot:T[G.method],k=m(G.dimensions),P=h(J,{dimensions:k,toOneDimensionArray:!0}),L=s(P),z=d(P),B=W(P,z,L),R=D(z,L,B),N=R.step,_=R.toFixedPrecision,F=w(+(Math.ceil(z/N)*N).toFixed(_),+(Math.floor(L/N)*N).toFixed(_),N,_),U=F.length,j=new Array(U+1),O=0;O<=U;O++)j[O]={},j[O].sample=[],j[O].x0=O>0?F[O-1]:F[O]-z===N?z:F[O]-N,j[O].x1=O<U?F[O]:L-F[O-1]===N?L:F[O-1]+N;for(var O=0;O<P.length;O++)z<=P[O]&&P[O]<=L&&j[C(F,P[O],0,U)].sample.push(P[O]);var J=y(j,function(ne){return[+((ne.x0+ne.x1)/2).toFixed(_),ne.sample.length,ne.x0,ne.x1,ne.x0+" - "+ne.x1]}),we=y(j,function(ne){return[ne.x0,ne.x1,ne.sample.length]});return{bins:j,data:J,customData:we}}var T={squareRoot:function(M){var A=Math.ceil(Math.sqrt(M.length));return A>50?50:A},scott:function(M,A,G){return Math.ceil((G-A)/(3.5*f(M)*Math.pow(M.length,-1/3)))},freedmanDiaconis:function(M,A,G){return M.sort(g),Math.ceil((G-A)/(2*(p(M,.75)-p(M,.25))*Math.pow(M.length,-1/3)))},sturges:function(M){return Math.ceil(Math.log(M.length)/Math.LN2)+1}};return E}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.getPrecision;return function(p,f,c,h){var m=arguments.length;m<2?(f=p,p=0,c=1):m<3?c=1:m<4?(c=+c,h=d(c)):h=+h;for(var b=Math.ceil(((f-p)/c).toFixed(h)),g=new Array(b+1),y=0;y<b+1;y++)g[y]=+(p+y*c).toFixed(h);return g}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4);return function(d,p,f){var c=Math.abs(p-d)/f,h=s.quantityExponent(c),m=Math.pow(10,h),b=c/m;b>=Math.sqrt(50)?m*=10:b>=Math.sqrt(10)?m*=5:b>=Math.sqrt(2)&&(m*=2);var g=h<0?-h:0,y=+(p>=d?m:-m).toFixed(g);return{step:y,toFixedPrecision:g}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(5),d=i(19),p=2;return{type:"ecStat:regression",transform:function(c){var h=c.upstream,m=c.config||{},b=m.method||"linear",g=s(b,h.cloneRawData(),{order:m.order,dimensions:d.normalizeExistingDimensions(c,m.dimensions)}),y=g.points,w=m.formulaOn;w==null&&(w="end");var C;if(w!=="none"){for(var D=0;D<y.length;D++)y[D][p]=w==="start"&&D===0||w==="all"||w==="end"&&D===y.length-1?g.expression:"";C=h.cloneAllDimensionInfo(),C[p]={}}return[{dimensions:C,data:y}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(3),d=i(4),p=i(20);function f(h,m){if(m==null)return;var b=h.upstream;if(s.isArray(m)){for(var g=[],y=0;y<m.length;y++){var w=b.getDimensionInfo(m[y]);C(w,m[y]),g[y]=w.index}return g}else{var w=b.getDimensionInfo(m);return C(w,m),w.index}function C(D,E){if(!D)throw new Error("Can not find dimension by "+E)}}function c(h){if(s.isArray(h)){for(var m=[],b=[],g=0;g<h.length;g++){var y=w(h[g]);m.push(y.name),b.push(y.index)}return{name:m,index:b}}else if(h!=null)return w(h);function w(C){if(d.isNumber(C))return{index:C};if(p.isObject(C)&&d.isNumber(C.index))return C;throw new Error("Illegle new dimensions config. Expect `{ name: string, index: number }`.")}}return{normalizeExistingDimensions:f,normalizeNewDimensions:c}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){function s(p,f){if(Object.assign)Object.assign(p,f);else for(var c in f)f.hasOwnProperty(c)&&(p[c]=f[c]);return p}function d(p){const f=typeof p;return f==="function"||!!p&&f==="object"}return{extend:s,isObject:d}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(15),d=i(19);return{type:"ecStat:histogram",transform:function(f){var c=f.upstream,h=f.config||{},m=s(c.cloneRawData(),{method:h.method,dimensions:d.normalizeExistingDimensions(f,h.dimensions)});return[{dimensions:["MeanOfV0V1","VCount","V0","V1","DisplayableName"],data:m.data},{data:m.customData}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(1),d=i(4),p=i(19),f=d.isNumber;return{type:"ecStat:clustering",transform:function(h){var m=h.upstream,b=h.config||{},g=b.clusterCount;if(!f(g)||g<=0)throw new Error('config param "clusterCount" need to be specified as an interger greater than 1.');if(g===1)return[{},{data:[]}];var y=p.normalizeNewDimensions(b.outputClusterIndexDimension),w=p.normalizeNewDimensions(b.outputCentroidDimensions);if(y==null)throw new Error("outputClusterIndexDimension is required as a number.");for(var C=s.hierarchicalKMeans(m.cloneRawData(),{clusterCount:g,stepByStep:!1,dimensions:p.normalizeExistingDimensions(h,b.dimensions),outputType:s.OutputType.SINGLE,outputClusterIndexDimension:y.index,outputCentroidDimensions:(w||{}).index}),D=m.cloneAllDimensionInfo(),E=[],T=0;T<D.length;T++){var M=D[T];E.push(M.name)}if(E[y.index]=y.name,w)for(var T=0;T<w.index.length;T++)w.name[T]!=null&&(E[w.index[T]]=w.name[T]);return[{dimensions:E,data:C.data},{data:C.centroids}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)}])})})(xt);var Dn=xt.exports;function En({regressions:e=[]},r){const n=[],a=[],i=[];return r.length===0?{regressionDataSets:n,regressionSeries:a,regressionXAxes:i}:(e.forEach(({transform:l,plot:u,name:s,y_axis_data_key:d})=>{const p=`x-axis-for-${s}`,f=`dataset-for-${s}--raw`,c=`dataset-for-${s}--transformed`;n.push({id:f,source:r.map((h,m)=>[m,h[d]])}),n.push({transform:l,id:c,fromDatasetId:f}),a.push(Y(S({},u),{name:s,datasetId:c,xAxisId:p,showSymbol:!1,tooltip:{show:!1}})),i.push({type:"category",id:p,datasetId:c,show:!1})}),{regressionDataSets:n,regressionSeries:a,regressionXAxes:i})}const Mn={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:30,left:15,right:15,bottom:30,containLabel:!0}};function An(e,r){var p;const n=e.y_axes.reduce((f,{label_formatter:c},h)=>(f[h]=function(b){const g=typeof b=="object"?b.value:b;if(!c)return g;try{return Me.default(g).format(c)}catch(y){return console.error(y),g}},f),{default:({value:f})=>f}),a=e.series.reduce((f,{yAxisIndex:c,name:h})=>(f[h]=c,f),{}),i=e.series.map(g=>{var y=g,{y_axis_data_key:f,yAxisIndex:c,label_position:h,name:m}=y,b=Z(y,["y_axis_data_key","yAxisIndex","label_position","name"]);return S({data:r.map(C=>C[f]),label:{show:!!h,position:h,formatter:n[c!=null?c:"default"]},name:m,xAxisId:"main-x-axis",yAxisIndex:c},b)}),{regressionDataSets:l,regressionSeries:u,regressionXAxes:s}=En(e,r),d={xAxis:[{data:r.map(f=>f[e.x_axis_data_key]),name:(p=e.x_axis_name)!=null?p:"",id:"main-x-axis"},...s],yAxis:e.y_axes.map((m,h)=>{var b=m,{label_formatter:f}=b,c=Z(b,["label_formatter"]);var g;return Y(S({},c),{axisLabel:{show:!0,formatter:(g=n[h])!=null?g:n.default}})}),dataset:[...l],series:[...i,...u],tooltip:{formatter:function(f){const c=Array.isArray(f)?f:[f];if(c.length===0)return"";const h=c.map(({seriesName:m,value:b})=>{var w;if(!m)return b;const g=a[m],y=(w=n[g])!=null?w:n.default;return`${m}: ${y({value:b})}`});return h.unshift(`<strong>${c[0].name}</strong>`),h.join("<br />")}}};return V.default.merge({},Mn,d)}ce.use([Ee.BarChart,Ee.LineChart,Ee.ScatterChart,be.GridComponent,be.LegendComponent,be.TooltipComponent,Pe.CanvasRenderer]),ce.registerTransform(Dn.transform.regression);function Gn({conf:e,data:r,width:n,height:a}){const i=x.default.useMemo(()=>An(e,r),[e,r]);return!n||!a?null:t(ze.default,{echarts:ce,option:i,style:{width:n,height:a}})}var xe=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(xe||{});function In({value:e}){return t(o.Text,{component:"span",children:e})}function Pn({value:e}){return t(o.Text,{component:"span",children:e})}function zn({value:e}){const r=Me.default(e).format({thousandSeparated:!0});return t(o.Text,{component:"span",children:r})}function Ln({value:e}){const r=Me.default(e).format({output:"percent",mantissa:3});return t(o.Text,{component:"span",children:r})}function Nn({value:e,type:r}){switch(r){case xe.string:return t(In,{value:e});case xe.eloc:return t(Pn,{value:e});case xe.number:return t(zn,{value:e});case xe.percentage:return t(Ln,{value:e})}}function On({conf:e,data:r=[],width:n,height:a}){const f=e,{id_field:i,use_raw_columns:l,columns:u}=f,s=Z(f,["id_field","use_raw_columns","columns"]),d=x.default.useMemo(()=>l?Object.keys(r==null?void 0:r[0]):u.map(c=>c.label),[l,u,r]),p=x.default.useMemo(()=>l?Object.keys(r==null?void 0:r[0]).map(c=>({label:c,value_field:c,value_type:xe.string})):u,[l,u,r]);return v(o.Table,Y(S({sx:{maxHeight:a}},s),{children:[t("thead",{children:t("tr",{children:d.map(c=>t("th",{children:c},c))})}),t("tbody",{children:r.slice(0,30).map((c,h)=>t("tr",{children:p.map(({value_field:m,value_type:b})=>t("td",{children:t(o.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace",fontSize:s.fontSize}},children:t(Nn,{value:c[m],type:b})})},`${m}--${c[m]}`))},i?c[i]:`row-${h}`))}),r.length>100&&t("tfoot",{children:t("tr",{children:t("td",{colSpan:d.length,children:t(o.Text,{color:"red",size:"sm",children:"Showing only the first 30 rows to avoid causing slow performance"})})})})]}))}function Fn(e,r={}){const n=Y(S({},r),{numbro:Me.default}),a=Object.keys(n),i=Object.values(n);try{return new Function(...a,`return \`${e}\`;`)(...i)}catch(l){return l.message}}function Rn({conf:{paragraphs:e},data:r}){return t(Se,{children:e.map((u,l)=>{var s=u,{template:n,size:a}=s,i=Z(s,["template","size"]);return t(o.Text,Y(S({},i),{sx:{fontSize:a},children:Fn(n,r[0])}),`${n}---${l}`)})})}ce.use([be.GridComponent,be.VisualMapComponent,be.LegendComponent,be.TooltipComponent,Pe.CanvasRenderer]);function qn({conf:e,data:r,width:n,height:a}){const c=e,{x_axis_data_key:i,y_axis_data_key:l,z_axis_data_key:u}=c,s=Z(c,["x_axis_data_key","y_axis_data_key","z_axis_data_key"]),d=x.default.useMemo(()=>V.default.minBy(r,h=>h[u])[u],[r,u]),p=x.default.useMemo(()=>V.default.maxBy(r,h=>h[u])[u],[r,u]),f=Y(S({tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:d,max:p,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:{type:"value"},yAxis3D:{type:"value"},zAxis3D:{type:"value"},grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}}},s),{series:[{type:"bar3D",wireframe:{},data:r.map(h=>[h[i],h[l],h[u]])}]});return t(ze.default,{echarts:ce,option:f,style:{width:n,height:a}})}var Oi="";ce.use([Ee.PieChart,Pe.CanvasRenderer]);const Bn={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
10
- {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 $n({conf:e,data:r,width:n,height:a}){const f=e,{label_field:i="name",value_field:l="value"}=f,u=Z(f,["label_field","value_field"]),s=x.default.useMemo(()=>r.map(c=>({name:c[i],value:Number(c[l])})),[r,i,l]),d=x.default.useMemo(()=>({series:{labelLayout:function(c){const h=c.labelRect.x<n/2,m=c.labelLinePoints;return m[2][0]=h?c.labelRect.x:c.labelRect.x+c.labelRect.width,{labelLinePoints:m}}}}),[n]),p=V.default.merge({},Bn,d,u,{series:{data:s}});return t(ze.default,{echarts:ce,option:p,style:{width:n,height:a}})}function _n(e){const r=Array.from(e).sort((a,i)=>a-i),n=Math.floor(r.length/2);return r.length%2===0?(r[n-1]+r[n])/2:r[n]}function Wn(e,r,n){var i,l,u;const a=e.map(s=>s[r]);switch(n){case"sum":return V.default.sum(a);case"mean":return V.default.mean(a);case"median":return _n(a);case"max":return(i=V.default.max(a))!=null?i:0;case"min":return(l=V.default.min(a))!=null?l:0;default:return(u=e[0])==null?void 0:u[r]}}var vt=function(){};const Vn=(e,r,n)=>Math.min(Math.max(n,e),r),bt=(e,r,n)=>{const a=r-e;return a===0?1:(n-e)/a},ke=(e,r,n)=>-n*e+n*r+e,yt=(e,r)=>n=>Math.max(Math.min(n,r),e),Ae=e=>e%1?Number(e.toFixed(5)):e,Oe=/(-)?([\d]*\.?[\d])+/g,je=/(#[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,Un=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function Ge(e){return typeof e=="string"}const Fe={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},St=Object.assign(Object.assign({},Fe),{transform:yt(0,1)});Object.assign(Object.assign({},Fe),{default:1});const Ie=(e=>({test:r=>Ge(r)&&r.endsWith(e)&&r.split(" ").length===1,parse:parseFloat,transform:r=>`${r}${e}`}))("%");Object.assign(Object.assign({},Ie),{parse:e=>Ie.parse(e)/100,transform:e=>Ie.transform(e*100)});const Ke=(e,r)=>n=>Boolean(Ge(n)&&Un.test(n)&&n.startsWith(e)||r&&Object.prototype.hasOwnProperty.call(n,r)),Ct=(e,r,n)=>a=>{if(!Ge(a))return a;const[i,l,u,s]=a.match(Oe);return{[e]:parseFloat(i),[r]:parseFloat(l),[n]:parseFloat(u),alpha:s!==void 0?parseFloat(s):1}},Ce={test:Ke("hsl","hue"),parse:Ct("hue","saturation","lightness"),transform:({hue:e,saturation:r,lightness:n,alpha:a=1})=>"hsla("+Math.round(e)+", "+Ie.transform(Ae(r))+", "+Ie.transform(Ae(n))+", "+Ae(St.transform(a))+")"},Qn=yt(0,255),Ye=Object.assign(Object.assign({},Fe),{transform:e=>Math.round(Qn(e))}),ve={test:Ke("rgb","red"),parse:Ct("red","green","blue"),transform:({red:e,green:r,blue:n,alpha:a=1})=>"rgba("+Ye.transform(e)+", "+Ye.transform(r)+", "+Ye.transform(n)+", "+Ae(St.transform(a))+")"};function kn(e){let r="",n="",a="",i="";return e.length>5?(r=e.substr(1,2),n=e.substr(3,2),a=e.substr(5,2),i=e.substr(7,2)):(r=e.substr(1,1),n=e.substr(2,1),a=e.substr(3,1),i=e.substr(4,1),r+=r,n+=n,a+=a,i+=i),{red:parseInt(r,16),green:parseInt(n,16),blue:parseInt(a,16),alpha:i?parseInt(i,16)/255:1}}const Xe={test:Ke("#"),parse:kn,transform:ve.transform},Re={test:e=>ve.test(e)||Xe.test(e)||Ce.test(e),parse:e=>ve.test(e)?ve.parse(e):Ce.test(e)?Ce.parse(e):Xe.parse(e),transform:e=>Ge(e)?e:e.hasOwnProperty("red")?ve.transform(e):Ce.transform(e)},wt="${c}",Tt="${n}";function jn(e){var r,n,a,i;return isNaN(e)&&Ge(e)&&((n=(r=e.match(Oe))===null||r===void 0?void 0:r.length)!==null&&n!==void 0?n:0)+((i=(a=e.match(je))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0)>0}function Dt(e){typeof e=="number"&&(e=`${e}`);const r=[];let n=0;const a=e.match(je);a&&(n=a.length,e=e.replace(je,wt),r.push(...a.map(Re.parse)));const i=e.match(Oe);return i&&(e=e.replace(Oe,Tt),r.push(...i.map(Fe.parse))),{values:r,numColors:n,tokenised:e}}function Et(e){return Dt(e).values}function Mt(e){const{values:r,numColors:n,tokenised:a}=Dt(e),i=r.length;return l=>{let u=a;for(let s=0;s<i;s++)u=u.replace(s<n?wt:Tt,s<n?Re.transform(l[s]):Ae(l[s]));return u}}const Kn=e=>typeof e=="number"?0:e;function Yn(e){const r=Et(e);return Mt(e)(r.map(Kn))}const At={test:jn,parse:Et,createTransformer:Mt,getAnimatableNone:Yn};function Je(e,r,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(r-e)*6*n:n<1/2?r:n<2/3?e+(r-e)*(2/3-n)*6:e}function Gt({hue:e,saturation:r,lightness:n,alpha:a}){e/=360,r/=100,n/=100;let i=0,l=0,u=0;if(!r)i=l=u=n;else{const s=n<.5?n*(1+r):n+r-n*r,d=2*n-s;i=Je(d,s,e+1/3),l=Je(d,s,e),u=Je(d,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(l*255),blue:Math.round(u*255),alpha:a}}const Xn=(e,r,n)=>{const a=e*e,i=r*r;return Math.sqrt(Math.max(0,n*(i-a)+a))},Jn=[Xe,ve,Ce],It=e=>Jn.find(r=>r.test(e)),Pt=(e,r)=>{let n=It(e),a=It(r),i=n.parse(e),l=a.parse(r);n===Ce&&(i=Gt(i),n=ve),a===Ce&&(l=Gt(l),a=ve);const u=Object.assign({},i);return s=>{for(const d in u)d!=="alpha"&&(u[d]=Xn(i[d],l[d],s));return u.alpha=ke(i.alpha,l.alpha,s),n.transform(u)}},Zn=e=>typeof e=="number",Hn=(e,r)=>n=>r(e(n)),zt=(...e)=>e.reduce(Hn);function Lt(e,r){return Zn(e)?n=>ke(e,r,n):Re.test(e)?Pt(e,r):Ft(e,r)}const Nt=(e,r)=>{const n=[...e],a=n.length,i=e.map((l,u)=>Lt(l,r[u]));return l=>{for(let u=0;u<a;u++)n[u]=i[u](l);return n}},er=(e,r)=>{const n=Object.assign(Object.assign({},e),r),a={};for(const i in n)e[i]!==void 0&&r[i]!==void 0&&(a[i]=Lt(e[i],r[i]));return i=>{for(const l in a)n[l]=a[l](i);return n}};function Ot(e){const r=At.parse(e),n=r.length;let a=0,i=0,l=0;for(let u=0;u<n;u++)a||typeof r[u]=="number"?a++:r[u].hue!==void 0?l++:i++;return{parsed:r,numNumbers:a,numRGB:i,numHSL:l}}const Ft=(e,r)=>{const n=At.createTransformer(r),a=Ot(e),i=Ot(r);return a.numHSL===i.numHSL&&a.numRGB===i.numRGB&&a.numNumbers>=i.numNumbers?zt(Nt(a.parsed,i.parsed),n):u=>`${u>0?r:e}`},tr=(e,r)=>n=>ke(e,r,n);function nr(e){if(typeof e=="number")return tr;if(typeof e=="string")return Re.test(e)?Pt:Ft;if(Array.isArray(e))return Nt;if(typeof e=="object")return er}function rr(e,r,n){const a=[],i=n||nr(e[0]),l=e.length-1;for(let u=0;u<l;u++){let s=i(e[u],e[u+1]);if(r){const d=Array.isArray(r)?r[u]:r;s=zt(d,s)}a.push(s)}return a}function ir([e,r],[n]){return a=>n(bt(e,r,a))}function ar(e,r){const n=e.length,a=n-1;return i=>{let l=0,u=!1;if(i<=e[0]?u=!0:i>=e[a]&&(l=a-1,u=!0),!u){let d=1;for(;d<n&&!(e[d]>i||d===a);d++);l=d-1}const s=bt(e[l],e[l+1],i);return r[l](s)}}function or(e,r,{clamp:n=!0,ease:a,mixer:i}={}){const l=e.length;vt(l===r.length),vt(!a||!Array.isArray(a)||a.length===l-1),e[0]>e[l-1]&&(e=[].concat(e),r=[].concat(r),e.reverse(),r.reverse());const u=rr(r,a,i),s=l===2?ir(e,u):ar(e,u);return n?d=>s(Vn(e[0],e[l-1],d)):s}class lr{constructor({valueRange:r,colorRange:n}){Xt(this,"mapper");this.mapper=or(r,n)}getColor(r){return this.mapper(r)}}function sr(e,r){return e.type==="static"?e.staticColor:e.type==="continuous"?new lr(e).getColor(r):"black"}function ur(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function dr(e,r){const n={};return e.forEach(({name:a,color:i,data_field:l,aggregation:u,size:s,weight:d,formatter:p})=>{const f=Wn(r,l,u);let c="";["string","number"].includes(typeof f)?c=Me.default(f).format(p):c=ur(f),n[a]=t(o.Text,{sx:{fontSize:s,display:"inline"},color:sr(i,f),weight:d,children:c})}),n}function cr(e){return e.split(" ").map(r=>v(Se,{children:[r,"\xA0"]}))}function fr(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
11
- `,"<br/>").split("<br/>");return n.map((i,l)=>{const u=[cr(i)];return l!==n.length-1&&u.push(t("br",{})),u}).flat().filter(i=>i!==void 0)}function Ze(e){return fr(e)}function pr(e,r,n){const a=dr(r,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(l=>{var p;const u=i.exec(l);if(!u)return Ze(l);const s=a[u[1]];if(!s)return Ze(l);const d=(p=u[2])!=null?p:"";return v(Se,{children:[s,Ze(d)]})})}function mr({conf:{template:e,variables:r,align:n},data:a}){const i=x.default.useMemo(()=>pr(e,r,a),[e,r,a]);return t(o.Text,{align:n,children:Object.values(i).map(l=>l)})}function hr({conf:e,width:r,height:n}){return!r||!n?null:t(Ve.default,{readOnly:!0,value:e.content,onChange:V.default.noop,sx:{border:"none"}})}function Rt(e,r,n,a){const i={width:e,height:r,data:n,conf:a.conf};switch(a.type){case"sunburst":return t(Tn,S({},i));case"cartesian":return t(Gn,S({},i));case"table":return t(On,S({},i));case"text":return t(Rn,S({},i));case"stats":return t(mr,S({},i));case"rich-text":return t(hr,S({},i));case"bar-3d":return t(qn,S({},i));case"pie":return t($n,S({},i));default:return null}}const gr=["rich-text"];function qt({viz:e,data:r,loading:n}){const{ref:a,width:i,height:l}=le.useElementSize();if(!!gr.includes(e.type))return t("div",{className:"viz-root",ref:a,children:t(Qe,{children:Rt(i,l,r,e)})});const s=x.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]);return n?t("div",{className:"viz-root",ref:a,children:t(o.LoadingOverlay,{visible:n,exitTransitionDuration:0})}):v("div",{className:"viz-root",ref:a,children:[s&&t(o.Text,{color:"gray",align:"center",children:"nothing to show"}),!s&&t(Qe,{children:Rt(i,l,r,e)})]})}function xr({}){const{data:e,loading:r,viz:n}=x.default.useContext(ae);return t(qt,{viz:n,data:e,loading:r})}function vr({label:e,required:r,value:n,onChange:a,data:i,sx:l},u){const s=x.default.useMemo(()=>!Array.isArray(i)||i.length===0?[]:Object.keys(i[0]).map(p=>({label:p,value:p})),[i]);return t(o.Select,{ref:u,label:e,data:s,value:n,onChange:a,required:r,sx:l})}const te=x.default.forwardRef(vr);function br({conf:e,setConf:r,data:n}){const a=V.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},e),{control:i,handleSubmit:l,formState:u}=$.useForm({defaultValues:a});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:l(r),children:[t(o.Text,{children:"X Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t($.Controller,{name:"x_axis_data_key",control:i,render:({field:s})=>t(te,S({label:"Data Field",required:!0,data:n},s))}),t($.Controller,{name:"xAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,S({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Text,{mt:"lg",children:"Y Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t($.Controller,{name:"y_axis_data_key",control:i,render:({field:s})=>t(te,S({label:"Data Field",required:!0,data:n},s))}),t($.Controller,{name:"yAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,S({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Text,{mt:"lg",children:"Z Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t($.Controller,{name:"z_axis_data_key",control:i,render:({field:s})=>t(te,S({label:"Data Field",required:!0,data:n},s))}),t($.Controller,{name:"zAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,S({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:v(o.Button,{color:"blue",type:"submit",children:[t(q.DeviceFloppy,{size:20}),t(o.Text,{ml:"md",children:"Save"})]})})]})})}function yr({value:e,onChange:r},n){const a=o.useMantineTheme(),i=x.default.useMemo(()=>Object.entries(a.colors).map(([u,s])=>({label:u,value:s[6]})),[a]),l=x.default.useMemo(()=>i.some(u=>u.value===e),[e,i]);return v(o.Group,{position:"apart",spacing:4,children:[t(o.TextInput,{placeholder:"Set any color",value:l?"":e,onChange:u=>r(u.currentTarget.value),rightSection:t(o.ColorSwatch,{color:l?"transparent":e,radius:4}),variant:l?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),t(o.Text,{sx:{flexGrow:0},children:"or"}),t(o.Select,{data:i,value:e,onChange:r,variant:l?"default":"filled",placeholder:"Pick a theme color",icon:t(o.ColorSwatch,{color:l?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const qe=x.default.forwardRef(yr);function Sr({control:e,index:r}){return v(o.Group,{direction:"row",grow:!0,align:"top",children:[t($.Controller,{name:`series.${r}.stack`,control:e,render:({field:n})=>t(o.TextInput,S({label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1}},n))}),t($.Controller,{name:`series.${r}.barWidth`,control:e,render:({field:n})=>t(o.TextInput,S({label:"Bar Width",sx:{flexGrow:1}},n))})]})}const Cr=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function wr({control:e,index:r}){return v(o.Group,{direction:"row",grow:!0,align:"center",children:[t($.Controller,{name:`series.${r}.step`,control:e,render:({field:n})=>t(o.Select,Y(S({label:"Step",data:Cr,sx:{flexGrow:1,maxWidth:"48%"}},n),{value:String(n.value),onChange:a=>{const i=a==="false"?!1:a;n.onChange(i)}}))}),t($.Controller,{name:`series.${r}.smooth`,control:e,render:({field:n})=>t(o.Box,{sx:{flexGrow:1},children:t(o.Switch,{label:"Smooth Line",checked:n.value,onChange:a=>n.onChange(a.currentTarget.checked)})})})]})}const Tr=Array.from(new Array(9),(e,r)=>({label:String(r+1),value:r+1}));function Dr({control:e,index:r}){return t(o.Group,{direction:"row",grow:!0,align:"center",children:t($.Controller,{name:`series.${r}.symbolSize`,control:e,render:({field:n})=>v(o.Group,{direction:"column",noWrap:!0,sx:{flexGrow:1},pb:16,spacing:4,children:[t(o.Text,{size:"sm",children:"Size"}),t(o.Slider,Y(S({min:1,max:10,marks:Tr},n),{sx:{width:"100%"}}))]})})})}const Er=[{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 Mr({control:e,index:r,remove:n,seriesItem:a,yAxisOptions:i,data:l}){const u=a.type;return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.Group,{direction:"column",grow:!0,noWrap:!0,children:t($.Controller,{name:`series.${r}.type`,control:e,render:({field:s})=>t(o.SegmentedControl,S({data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}]},s))})}),t($.Controller,{name:`series.${r}.name`,control:e,render:({field:s})=>t(o.TextInput,S({label:"Name",required:!0,sx:{flex:1}},s))}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t($.Controller,{name:`series.${r}.y_axis_data_key`,control:e,render:({field:s})=>t(te,S({label:"Value Field",required:!0,data:l,sx:{flex:1}},s))}),t($.Controller,{name:`series.${r}.yAxisIndex`,control:e,render:f=>{var{field:c}=f,h=c,{value:s,onChange:d}=h,p=Z(h,["value","onChange"]);var m;return t(o.Select,Y(S({label:"Y Axis",data:i,disabled:i.length===0},p),{value:(m=s==null?void 0:s.toString())!=null?m:"",onChange:b=>{if(!b){d(0);return}d(Number(b))},sx:{flex:1}}))}})]}),u==="line"&&t(wr,{index:r,control:e}),u==="bar"&&t(Sr,{index:r,control:e}),u==="scatter"&&t(Dr,{index:r,control:e}),t($.Controller,{name:`series.${r}.label_position`,control:e,render:({field:s})=>t(o.Select,S({label:"Label Position",data:Er},s))}),v(o.Group,{direction:"column",grow:!0,spacing:4,children:[t(o.Text,{size:"sm",children:"Color"}),t($.Controller,{name:`series.${r}.color`,control:e,render:({field:s})=>t(qe,S({},s))})]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},r)}function Ar({control:e,watch:r,getValues:n,data:a}){const{fields:i,append:l,remove:u}=$.useFieldArray({control:e,name:"series"}),s=r("series"),d=i.map((c,h)=>S(S({},c),s[h])),p=()=>l({type:"bar",name:le.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),f=x.default.useMemo(()=>n().y_axes.map(({name:c},h)=>({label:c,value:h.toString()})),[n]);return v(o.Group,{direction:"column",grow:!0,children:[d.map((c,h)=>t(Mr,{control:e,index:h,remove:u,seriesItem:c,yAxisOptions:f,data:a})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:p,children:"Add a Series"})})]})}const Bt={mantissa:0,output:"number"};function Gr({value:e,onChange:r},n){const a=u=>{r(Y(S({},e),{output:u}))},i=u=>{const s=u===0?!1:e.trimMantissa;r(Y(S({},e),{mantissa:u,trimMantissa:s}))},l=u=>{r(Y(S({},e),{trimMantissa:u.currentTarget.checked}))};return t(o.Group,{direction:"column",grow:!0,noWrap:!0,ref:n,children:v(o.Group,{direction:"row",grow:!0,children:[t(o.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:a}),t(o.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),t(o.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:l,disabled:e.mantissa===0})]})})}const $t=x.default.forwardRef(Gr);function Ir({control:e,index:r,remove:n}){return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.Group,{direction:"row",grow:!0,noWrap:!0,children:t($.Controller,{name:`y_axes.${r}.name`,control:e,render:({field:a})=>t(o.TextInput,S({label:"Name",required:!0,sx:{flex:1}},a))})}),t(o.Group,{direction:"column",grow:!0,noWrap:!0,children:t($.Controller,{name:`y_axes.${r}.label_formatter`,control:e,render:({field:a})=>t($t,S({},a))})}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},disabled:r===0,children:t(q.Trash,{size:16})})]},r)}function Pr({control:e,watch:r}){const{fields:n,append:a,remove:i}=$.useFieldArray({control:e,name:"y_axes"}),l=r("y_axes"),u=n.map((d,p)=>S(S({},d),l[p])),s=()=>a({name:"",label_formatter:Bt});return v(o.Group,{direction:"column",grow:!0,children:[u.map((d,p)=>t(Ir,{control:e,index:p,remove:i})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:s,children:"Add a Y Axis"})})]})}const zr=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function Lr({control:e,regressionItem:r,index:n,remove:a,yAxisOptions:i,data:l}){const u=r.transform.config.method;return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t($.Controller,{name:`regressions.${n}.name`,control:e,render:({field:s})=>t(o.TextInput,S({label:"Name",required:!0,sx:{flex:1}},s))}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t($.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:s})=>t(te,S({label:"Value Field",required:!0,data:l,sx:{flex:1}},s))}),t($.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:f=>{var{field:c}=f,h=c,{value:s,onChange:d}=h,p=Z(h,["value","onChange"]);var m;return t(o.Select,Y(S({label:"Y Axis",data:i,disabled:i.length===0},p),{value:(m=s==null?void 0:s.toString())!=null?m:"",onChange:b=>{if(!b){d(0);return}d(Number(b))},sx:{flex:1}}))}})]}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t($.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:s})=>t(o.Select,S({label:"Method",data:zr,sx:{flex:1}},s))}),u==="polynomial"&&t($.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:s})=>t(o.NumberInput,S({label:"Order",sx:{flex:1}},s))})]}),v(o.Group,{direction:"column",grow:!0,spacing:4,children:[t(o.Text,{size:"sm",children:"Color"}),t($.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:s})=>t(qe,S({},s))})]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>a(n),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},n)}function Nr({control:e,watch:r,getValues:n,data:a}){const{fields:i,append:l,remove:u}=$.useFieldArray({control:e,name:"regressions"}),s=r("regressions"),d=i.map((c,h)=>S(S({},c),s[h])),p=x.default.useMemo(()=>n().y_axes.map(({name:c},h)=>({label:c,value:h.toString()})),[n]),f=()=>l({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return v(o.Group,{direction:"column",grow:!0,children:[d.map((c,h)=>t(Lr,{regressionItem:c,control:e,index:h,remove:u,yAxisOptions:p,data:a})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:f,children:"Add a Regression Line"})})]})}function Or(e){function r({type:n,name:a,showSymbol:i,symbolSize:l=5,y_axis_data_key:u="value",yAxisIndex:s=0,label_position:d="top",stack:p="1",color:f="black",barWidth:c="30",smooth:h=!1,step:m=!1}){return{type:n,name:a,showSymbol:i,symbolSize:l,y_axis_data_key:u,yAxisIndex:s,label_position:d,stack:p,color:f,barWidth:c,smooth:h,step:m}}return e.map(r)}function Fr({conf:e,setConf:r,data:n}){const m=e,{series:a,y_axes:i}=m,l=Z(m,["series","y_axes"]),u=x.default.useMemo(()=>{const y=l,{x_axis_name:b=""}=y,g=Z(y,["x_axis_name"]);return S({series:Or(a!=null?a:[]),x_axis_name:b,y_axes:i!=null?i:[{name:"Y Axis",label_formatter:Bt}]},g)},[a,l]);x.default.useEffect(()=>{!V.default.isEqual(e,u)&&r(u)},[e,u]);const{control:s,handleSubmit:d,watch:p,getValues:f}=$.useForm({defaultValues:u});p(["x_axis_data_key","x_axis_name"]);const c=f(),h=x.default.useMemo(()=>!V.default.isEqual(c,e),[c,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:d(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{children:"Chart Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Accordion,{offsetIcon:!1,multiple:!0,initialState:{0:!0,1:!0},children:[t(o.Accordion.Item,{label:"X Axis",children:v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t($.Controller,{name:"x_axis_data_key",control:s,render:({field:b})=>t(te,S({label:"X Axis Data Field",required:!0,data:n,sx:{flex:1}},b))}),t($.Controller,{name:"x_axis_name",control:s,render:({field:b})=>t(o.TextInput,S({label:"X Axis Name",sx:{flex:1}},b))})]})}),t(o.Accordion.Item,{label:"Y Axes",children:t(Pr,{control:s,watch:p})}),t(o.Accordion.Item,{label:"Series",children:t(Ar,{control:s,watch:p,getValues:f,data:n})}),t(o.Accordion.Item,{label:"Regression Lines",children:t(Nr,{control:s,watch:p,getValues:f,data:n})})]})]})})}function Rr({conf:{label_field:e,value_field:r},setConf:n,data:a}){const i=de.useForm({initialValues:{label_field:e,value_field:r}});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Pie Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,S({label:"Label Field",required:!0,data:a},i.getInputProps("label_field"))),t(te,S({label:"Value Field",required:!0,data:a},i.getInputProps("value_field")))]})]})})}function qr({conf:e,setConf:r}){const n=x.default.useMemo(()=>{const{content:p=""}=e;return{content:p}},[e]);x.default.useEffect(()=>{!V.default.isEqual(e,n)&&r(n)},[e,n]);const{control:a,handleSubmit:i,watch:l,getValues:u}=$.useForm({defaultValues:n});l("content");const s=u(),d=x.default.useMemo(()=>!V.default.isEqual(s,e),[s,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{children:"Content"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!d,children:t(q.DeviceFloppy,{size:20})})]}),t($.Controller,{name:"content",control:a,render:({field:p})=>t(Ve.default,S({sx:{flex:1}},p))})]})})}function Br(e){if("variables"in e)return e;const{align:r,size:n,weight:a,color:i,content:{prefix:l="",data_field:u="value",formatter:s={output:"number",mantissa:0},postfix:d=""}={}}=e;return{align:r,template:`${l} \${value} ${d}`,variables:[{name:"value",data_field:u,aggregation:"none",formatter:s,color:i,weight:a,size:n}]}}const $r=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function _r({label:e,value:r,onChange:n},a){return t(o.Select,{ref:a,label:e,data:$r,value:r,onChange:n})}const Wr=x.default.forwardRef(_r);function Vr({label:e,value:r,onChange:n},a){const[i,l]=x.default.useState(Array.isArray(r)?[...r]:[]),u=x.default.useCallback(()=>{l(h=>[...h,""])},[l]),s=x.default.useCallback(h=>{l(m=>(m.splice(h,1),[...m]))},[l]),d=x.default.useMemo(()=>!V.default.isEqual(i,r),[i,r]),p=()=>{n(i.map(h=>h.toString()))},f=o.useMantineTheme(),c=x.default.useMemo(()=>Object.entries(f.colors).map(([h,m])=>m[6]),[f]);return v(Se,{children:[v(o.Group,{position:"left",ref:a,children:[t(o.Text,{children:e}),t(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{children:[i.map((h,m)=>t(o.ColorInput,{value:h,onChange:b=>{l(g=>(g.splice(m,1,b),[...g]))},swatches:c,rightSection:t(o.ActionIcon,{onClick:()=>s(m),color:"red",children:t(q.Trash,{size:14})}),sx:{width:"45%"}})),t(o.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(q.PlaylistAdd,{size:20})})]})]})}const Ur=x.default.forwardRef(Vr),Be=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function Qr({label:e,value:r,onChange:n},a){var u,s;const[i,l]=x.default.useState((s=(u=Be.find(d=>d.label===r))==null?void 0:u.value)!=null?s:Be[0].value);return x.default.useEffect(()=>{const d=Be.find(p=>p.value===i);d&&n(d.label)},[i]),v(o.Group,{direction:"column",grow:!0,spacing:0,mt:"sm",mb:"lg",children:[t(o.Text,{size:"sm",children:e}),t(o.Slider,{label:null,marks:Be,value:i,onChange:l,step:25,placeholder:"Pick a font size",ref:a})]})}const _t=x.default.forwardRef(Qr);function kr({label:e,value:r,onChange:n},a){const[i,l]=x.default.useState(Array.isArray(r)?[...r]:[]),u=x.default.useCallback(()=>{l(f=>[...f,""])},[l]),s=x.default.useCallback(f=>{l(c=>(c.splice(f,1),[...c]))},[l]),d=x.default.useMemo(()=>!V.default.isEqual(i,r),[i,r]),p=()=>{n(i.map(f=>f.toString()))};return v(Se,{children:[v(o.Group,{position:"left",ref:a,children:[t(o.Text,{children:e}),t(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{children:[i.map((f,c)=>t(o.TextInput,{value:f,onChange:h=>{const m=h.currentTarget.value;l(b=>(b.splice(c,1,m),[...b]))},rightSection:t(o.ActionIcon,{onClick:()=>s(c),color:"red",children:t(q.Trash,{size:14})}),sx:{width:"45%"}})),t(o.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(q.PlaylistAdd,{size:20})})]})]})}const jr=x.default.forwardRef(kr),Kr=x.default.forwardRef(function(l,i){var u=l,{value:r,onChange:n}=u,a=Z(u,["value","onChange"]);return t(o.TextInput,S({ref:i,value:r,onChange:n},a))});function Yr({value:e,onChange:r,data:n}){const a=e.color.type,i=(l,u)=>{const s=V.default.cloneDeep(e);V.default.set(s,l,u),r(s)};return v(o.Box,{px:"sm",py:"md",children:[t(o.Text,{weight:"bold",pb:0,children:e.name}),t(o.Divider,{my:"xs",label:"Data",labelPosition:"center"}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(o.TextInput,{label:"Name",required:!0,value:e.name,onChange:l=>i("name",l.currentTarget.value)}),t(te,{label:"Data Field",required:!0,data:n,value:e.data_field,onChange:l=>i("data_field",l)}),t(Wr,{label:"Aggregation",value:e.aggregation,onChange:l=>i("aggregation",l)})]}),t($t,{value:e.formatter,onChange:l=>i("formatter",l)}),t(o.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),t(o.Group,{direction:"column",grow:!0,children:t(o.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:e.size,onChange:l=>i("size",l.currentTarget.value)})}),t(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(_t,{label:"Font Weight",value:e.weight,onChange:l=>i("weight",l)})}),t(o.Divider,{my:"xs",label:"Style",labelPosition:"center"}),v(o.Group,{direction:"column",grow:!0,children:[t(o.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:l=>i("color.type",l)}),a==="static"&&t(qe,{value:e.color.staticColor,onChange:l=>i("color.staticColor",l)}),a==="continuous"&&v(Se,{children:[t(jr,{label:"Value Range",value:e.color.valueRange,onChange:l=>i("color.valueRange",l)}),t(Ur,{label:"Color Range",value:e.color.colorRange,onChange:l=>i("color.colorRange",l)})]})]})]})}function Xr({control:e,index:r,remove:n,data:a}){return v(o.Group,{direction:"column",grow:!0,my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t($.Controller,{name:`variables.${r}`,control:e,render:({field:i})=>t(Yr,S({data:a},i))}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},r)}function Jr({control:e,watch:r,data:n}){const{fields:a,append:i,remove:l}=$.useFieldArray({control:e,name:"variables"}),u=r("variables"),s=a.map((p,f)=>S(S({},p),u[f])),d=()=>i({name:le.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}});return v(o.Group,{direction:"column",grow:!0,children:[s.map((p,f)=>t(Xr,{control:e,index:f,remove:l,data:n})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:d,children:"Add a Variable"})})]})}function Zr(){return{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:"none",formatter:{output:"number",mantissa:0}}]}}function Hr({conf:e,setConf:r,data:n}){const a=x.default.useMemo(()=>{const{align:f,template:c="",variables:h=[]}=Br(e);return f?{variables:h,template:c,align:f}:Zr()},[e]);x.default.useEffect(()=>{!V.default.isEqual(e,a)&&r(a)},[e,a]);const{control:i,handleSubmit:l,watch:u,getValues:s}=$.useForm({defaultValues:a});u(["variables","template"]);const d=s(),p=x.default.useMemo(()=>!V.default.isEqual(d,e),[d,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,noWrap:!0,children:v("form",{onSubmit:l(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{weight:500,children:"Stats Configurations"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:t(q.DeviceFloppy,{size:20})})]}),t($.Controller,{name:"template",control:i,render:({field:f})=>t(Kr,S({label:"Template",py:"md",sx:{flexGrow:1}},f))}),t(o.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),t(Jr,{control:i,watch:u,data:n})]})})}function ei({conf:{label_field:e,value_field:r},setConf:n,data:a}){const i=de.useForm({initialValues:{label_field:e,value_field:r}});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Sunburst Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,S({label:"Label Field",required:!0,data:a},i.getInputProps("label_field"))),t(te,S({label:"Value Field",required:!0,data:a},i.getInputProps("value_field")))]})]})})}const ti=Object.values(xe).map(e=>({label:e,value:e}));function ni({label:e,value:r,onChange:n,sx:a}){return t(o.Select,{label:e,data:ti,value:r,onChange:n,sx:a})}function ri(i){var l=i,{conf:u}=l,s=u,{columns:e}=s,r=Z(s,["columns"]),{setConf:n,data:a}=l;const d=de.useForm({initialValues:S({id_field:"id",use_raw_columns:!0,columns:de.formList(e!=null?e:[]),fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1},r)}),p=()=>d.addListItem("columns",{label:le.randomId(),value_field:"value",value_type:xe.string});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:d.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Table Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,S({label:"ID Field",required:!0,data:a},d.getInputProps("id_field"))),v(o.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[t(o.TextInput,S({label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("horizontalSpacing"))),t(o.TextInput,S({label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("verticalSpacing")))]}),t(o.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:t(o.TextInput,S({label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("fontSize")))}),v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{children:"Other"}),v(o.Group,{position:"apart",grow:!0,children:[t(o.Switch,S({label:"Striped"},d.getInputProps("striped",{type:"checkbox"}))),t(o.Switch,S({label:"Highlight on hover"},d.getInputProps("highlightOnHover",{type:"checkbox"})))]})]})]}),v(o.Group,{direction:"column",mt:"xs",spacing:"xs",grow:!0,p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(o.Switch,S({label:"Use Original Data Columns"},d.getInputProps("use_raw_columns",{type:"checkbox"}))),!d.values.use_raw_columns&&v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{mt:"xl",mb:0,children:"Custom Columns"}),d.values.columns.map((f,c)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[v(o.Group,{position:"apart",grow:!0,children:[t(o.TextInput,S({label:"Label",required:!0,sx:{flex:1}},d.getListInputProps("columns",c,"label"))),t(te,S({label:"Value Field",required:!0,data:a},d.getListInputProps("columns",c,"value_field"))),t(ni,S({label:"Value Type",sx:{flex:1}},d.getListInputProps("columns",c,"value_type")))]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>d.removeListItem("columns",c),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},c)),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:p,children:"Add a Column"})})]})]}),t(o.Text,{weight:500,mb:"md",children:"Current Configuration:"}),t(se.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(d.values,null,2)})]})})}const Wt=[{align:"center",size:"xl",weight:"bold",color:"black",template:"Time: ${new Date().toISOString()}"},{align:"center",size:"md",weight:"bold",color:"red",template:"Platform: ${navigator.userAgentData.platform}."}];function ii({conf:e,setConf:r}){var i;const n=de.useForm({initialValues:{paragraphs:de.formList((i=e.paragraphs)!=null?i:Wt)}}),a=()=>n.addListItem("paragraphs",Y(S({},Wt[0]),{template:le.randomId()}));return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:n.onSubmit(r),children:[n.values.paragraphs.length===0&&t(o.Text,{color:"dimmed",align:"center",children:"Empty"}),v(o.Group,{position:"apart",mb:"xs",sx:{" + .mantine-Group-root":{marginTop:0}},children:[t(o.Text,{children:"Paragraphs"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),n.values.paragraphs.map((l,u)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.TextInput,S({placeholder:"Time: ${new Date().toISOString()}",label:"Content Template",required:!0,sx:{flex:1}},n.getListInputProps("paragraphs",u,"template"))),v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{children:"Color"}),t(qe,S({},n.getListInputProps("paragraphs",u,"color")))]}),t(o.Group,{direction:"column",grow:!0,children:t(o.TextInput,S({label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1}},n.getListInputProps("paragraphs",u,"size")))}),t(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(_t,S({label:"Font Weight"},n.getListInputProps("paragraphs",u,"weight")))}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n.removeListItem("paragraphs",u),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},u)),t(o.Group,{position:"center",mt:"md",children:t(o.Button,{onClick:a,children:"Add a Paragraph"})}),t(o.Text,{size:"sm",weight:500,mt:"md",children:"Current Configuration:"}),t(se.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(n.values,null,2)})]})})}const He=[{value:"text",label:"Text",Panel:ii},{value:"stats",label:"Stats",Panel:Hr},{value:"rich-text",label:"Rich Text",Panel:qr},{value:"table",label:"Table",Panel:ri},{value:"sunburst",label:"Sunburst",Panel:ei},{value:"bar-3d",label:"Bar Chart (3D)",Panel:br},{value:"cartesian",label:"Cartesian Chart",Panel:Fr},{value:"pie",label:"Pie Chart",Panel:Rr}];function ai(){const{data:e,viz:r,setViz:n}=x.default.useContext(ae),[a,i]=le.useInputState(r.type),l=r.type!==a,u=x.default.useCallback(()=>{!l||n(f=>Y(S({},f),{type:a}))},[l,a]),s=f=>{n(c=>Y(S({},c),{conf:f}))},d=f=>{try{s(JSON.parse(f))}catch(c){console.error(c)}},p=x.default.useMemo(()=>{var f;return(f=He.find(c=>c.value===a))==null?void 0:f.Panel},[a,He]);return v(Se,{children:[t(o.Select,{label:"Visualization",value:a,onChange:i,data:He,rightSection:t(o.ActionIcon,{disabled:!l,onClick:u,children:t(q.DeviceFloppy,{size:20})})}),p&&t(p,{conf:r.conf,setConf:s,data:e}),!p&&t(o.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(r.conf,null,2),onChange:d})]})}function oi({}){return v(o.Group,{direction:"row",grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[t(o.Group,{grow:!0,direction:"column",noWrap:!0,sx:{width:"40%",flexShrink:0,flexGrow:0},children:t(ai,{})}),t(o.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(xr,{})})]})}function li({opened:e,close:r}){const{freezeLayout:n}=x.default.useContext(ge),{data:a,loading:i,viz:l,title:u}=x.default.useContext(ae);return x.default.useEffect(()=>{n(e)},[e]),t(o.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:u,trapFocus:!0,onDragStart:s=>{s.stopPropagation()},children:t(o.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%"}},padding:"md",children:v(o.Tabs,{initialTab:2,children:[v(o.Tabs.Tab,{label:"Data",children:[t(o.LoadingOverlay,{visible:i,exitTransitionDuration:0}),t(Cn,{})]}),t(o.Tabs.Tab,{label:"Panel",children:t(Sn,{})}),t(o.Tabs.Tab,{label:"Visualization",children:t(oi,{})})]})})})}var Ri="";function si({}){const[e,r]=x.default.useState(!1),n=()=>r(!0),a=()=>r(!1),{title:i,refreshData:l}=x.default.useContext(ae),{inEditMode:u}=x.default.useContext(ge);return v(o.Box,{sx:{position:"relative"},children:[t(o.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:t(ht,{})}),t(o.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:v(o.Menu,{control:t(o.Text,{lineClamp:1,weight:"bold",children:i}),placement:"center",children:[t(o.Menu.Item,{onClick:l,icon:t(q.Refresh,{size:14}),children:"Refresh"}),u&&t(o.Menu.Item,{onClick:n,icon:t(q.Settings,{size:14}),children:"Settings"}),t(o.Divider,{}),t(o.Menu.Item,{color:"red",disabled:!0,icon:t(q.Trash,{size:14}),children:"Delete"})]})}),u&&t(li,{opened:e,close:a})]})}var qi="";function et({viz:e,queryID:r,title:n,description:a,update:i,layout:l,id:u}){const s=x.default.useContext(fe),d=x.default.useContext(oe),[p,f]=x.default.useState(n),[c,h]=x.default.useState(a),[m,b]=x.default.useState(r),[g,y]=x.default.useState(e),w=x.default.useMemo(()=>{if(!!m)return d.queries.find(M=>M.id===m)},[m,d.queries]);x.default.useEffect(()=>{i==null||i({id:u,layout:l,title:p,description:c,queryID:m,viz:g})},[p,c,w,g,u,l,m]);const{data:C=[],loading:D,refresh:E}=We.useRequest(ft({context:s,definitions:d,title:p,query:w}),{refreshDeps:[s,d,w]}),T=E;return t(ae.Provider,{value:{data:C,loading:D,title:p,setTitle:f,description:c,setDescription:h,queryID:m,setQueryID:b,viz:g,setViz:y,refreshData:T},children:v(o.Container,{className:"panel-root",children:[t(si,{}),t(qt,{viz:g,data:C,loading:D})]})})}var Bi="";const ui=ee.WidthProvider(dt.default);function Vt({panels:e,setPanels:r,className:n="layout",rowHeight:a=10,onRemoveItem:i,isDraggable:l,isResizable:u}){const s=x.default.useCallback(d=>{const p=new Map;d.forEach(m=>{var b=m,{i:c}=b,h=Z(b,["i"]);p.set(c,h)});const f=e.map(c=>Y(S({},c),{layout:p.get(c.id)}));r(f)},[e,r]);return t(ui,{onLayoutChange:s,className:n,rowHeight:a,isDraggable:l,isResizable:u,children:e.map((c,f)=>{var h=c,{id:d}=h,p=Z(h,["id"]);return t("div",{"data-grid":p.layout,children:t(et,Y(S({id:d},p),{destroy:()=>i(d),update:m=>{r(b=>(b.splice(f,1,m),[...b]))}}))},d)})})}function tt(e,r){return v(o.Text,{sx:{svg:{verticalAlign:"text-bottom"}},children:[e," ",r]})}function di({mode:e,setMode:r}){return t(o.SegmentedControl,{value:e,onChange:r,data:[{label:tt(t(q.PlayerPlay,{size:20}),"Use"),value:ie.Use},{label:tt(t(q.Resize,{size:20}),"Layout"),value:ie.Layout},{label:tt(t(q.Paint,{size:20}),"Content"),value:ie.Edit}]})}const ci=`
9
+ */var xn=x.default,vn=Symbol.for("react.element"),bn=Symbol.for("react.fragment"),yn=Object.prototype.hasOwnProperty,Sn=xn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Cn={key:!0,ref:!0,__self:!0,__source:!0};function gt(e,r,n){var a,i={},l=null,u=null;n!==void 0&&(l=""+n),r.key!==void 0&&(l=""+r.key),r.ref!==void 0&&(u=r.ref);for(a in r)yn.call(r,a)&&!Cn.hasOwnProperty(a)&&(i[a]=r[a]);if(e&&e.defaultProps)for(a in r=e.defaultProps,r)i[a]===void 0&&(i[a]=r[a]);return{$$typeof:vn,type:e,key:l,ref:u,props:i,_owner:Sn.current}}Ne.Fragment=bn,Ne.jsx=gt,Ne.jsxs=gt,Le.exports=Ne;const t=Le.exports.jsx,v=Le.exports.jsxs,Se=Le.exports.Fragment;function xt({position:e="bottom",trigger:r="hover"}){const{freezeLayout:n}=x.default.useContext(ge),[a,i]=x.default.useState(!1),{description:l}=x.default.useContext(oe);if(x.default.useEffect(()=>{n(a)},[a]),!l||l==="<p><br></p>")return null;const u=r==="click"?t(o.Tooltip,{label:"Click to see description",openDelay:500,children:t(q.InfoCircle,{size:20,onClick:()=>i(s=>!s),style:{verticalAlign:"baseline",cursor:"pointer"}})}):t(q.InfoCircle,{size:20,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{verticalAlign:"baseline",cursor:"pointer"}});return t(o.Popover,{opened:a,onClose:()=>i(!1),withCloseButton:r==="click",withArrow:!0,trapFocus:!0,closeOnEscape:!1,placement:"center",position:e,target:u,width:"40vw",children:t(Ve.default,{readOnly:!0,value:l,onChange:V.default.noop,sx:{border:"none"}})})}function wn(){const{description:e,setDescription:r}=x.default.useContext(oe),[n,a]=x.default.useState(e),i=e!==n,l=x.default.useCallback(()=>{!i||r(n)},[i,n]);return v(o.Group,{direction:"column",sx:{flexGrow:1},children:[v(o.Group,{align:"end",children:[t(o.Text,{children:"Description"}),t(o.ActionIcon,{variant:"hover",color:"blue",disabled:!i,onClick:l,children:t(q.DeviceFloppy,{size:20})})]}),t(ct.RichTextEditor,{value:n,onChange:a,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class Qe extends x.default.Component{constructor(r){super(r),this.state={error:null}}componentDidCatch(r){this.setState({error:r})}render(){var r;if(this.state.error){const n=()=>{this.setState({error:null})};return v(o.Box,{children:[t(o.Text,{size:"xs",children:(r=this.state.error)==null?void 0:r.message}),t(o.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function Tn(){const{title:e}=x.default.useContext(oe);return t(Qe,{children:v(o.Group,{direction:"column",grow:!0,noWrap:!0,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:[v(o.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[t(o.Group,{children:t(xt,{position:"bottom",trigger:"hover"})}),t(o.Group,{grow:!0,position:"center",children:t(o.Text,{lineClamp:1,weight:"bold",children:e})}),t(o.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),t(o.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function Dn(){const{title:e,setTitle:r}=x.default.useContext(oe),[n,a]=ie.useInputState(e),i=e!==n,l=x.default.useCallback(()=>{!i||r(n)},[i,n]);return t(o.TextInput,{value:n,onChange:a,label:v(o.Group,{align:"end",children:[t(o.Text,{children:"Panel Title"}),t(o.ActionIcon,{variant:"hover",color:"blue",disabled:!i,onClick:l,children:t(q.DeviceFloppy,{size:20})})]})})}function En({}){return v(o.Group,{direction:"row",grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[v(o.Group,{grow:!0,direction:"column",sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[t(Dn,{}),t(wn,{})]}),t(o.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Tn,{})})]})}function vt({id:e}){const r=x.default.useContext(le),n=x.default.useContext(fe),a=x.default.useMemo(()=>r.queries.find(s=>s.id===e),[r.queries,e]),{data:i=[],loading:l,refresh:u}=We.useRequest(mt({context:n,definitions:r,title:e,query:a}),{refreshDeps:[n,r,a]});return l?t(o.LoadingOverlay,{visible:l,exitTransitionDuration:0}):i.length===0?t(o.Table,{}):v(o.Group,{my:"xl",direction:"column",grow:!0,sx:{border:"1px solid #eee"},children:[v(o.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[v(o.Group,{position:"left",children:[t(o.Text,{weight:500,children:"Preview Data"}),i.length>10&&v(o.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",i.length]})]}),t(o.ActionIcon,{mr:15,variant:"hover",color:"blue",disabled:l,onClick:u,children:t(q.Refresh,{size:15})})]}),v(o.Table,{children:[t("thead",{children:t("tr",{children:Object.keys(i==null?void 0:i[0]).map(s=>t("th",{children:t(o.Text,{weight:700,color:"#000",children:s})},s))})}),t("tbody",{children:i.slice(0,10).map((s,d)=>t("tr",{children:Object.values(s).map((p,f)=>t("td",{children:t(o.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:t(o.Text,{children:p})})},`${p}--${f}`))},`row-${d}`))})]})]})}function An({}){const{queries:e}=x.default.useContext(le),{queryID:r,setQueryID:n,data:a,loading:i}=x.default.useContext(oe),l=x.default.useMemo(()=>e.map(u=>({value:u.id,label:u.id})),[e]);return v(o.Group,{direction:"column",grow:!0,noWrap:!0,children:[v(o.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(o.Text,{children:"Select a Query"}),t(o.Select,{data:l,value:r,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),t(vt,{id:r})]})}ce.use([Ee.SunburstChart,Ie.CanvasRenderer]);const Mn={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function Gn({conf:e,data:r,width:n,height:a}){const c=e,{label_field:i="name",value_field:l="value"}=c,u=Z(c,["label_field","value_field"]),s=x.default.useMemo(()=>r.map(h=>({name:h[i],value:Number(h[l])})),[r,i,l]),d=x.default.useMemo(()=>{var h,m;return(m=(h=V.default.maxBy(s,b=>b.value))==null?void 0:h.value)!=null?m:1},[s]),p=x.default.useMemo(()=>({series:{label:{formatter:({name:h,value:m})=>m/d<.2?" ":h}}}),[d]),f=V.default.merge({},Mn,p,u,{series:{data:s}});return t(Pe.default,{echarts:ce,option:f,style:{width:n,height:a}})}var bt={exports:{}};(function(e,r){(function(a,i){e.exports=i()})(gn,function(){return function(n){var a={};function i(l){if(a[l])return a[l].exports;var u=a[l]={exports:{},id:l,loaded:!1};return n[l].call(u.exports,u,u.exports,i),u.loaded=!0,u.exports}return i.m=n,i.c=a,i.p="",i(0)}([function(n,a,i){var l;l=function(u){return{clustering:i(1),regression:i(5),statistics:i(6),histogram:i(15),transform:{regression:i(18),histogram:i(21),clustering:i(22)}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.dataPreprocess,p=s.normalizeDimensions,f=i(3),g=i(4),c=f.size,h=f.sumOfColumn,m=f.sum,b=f.zeros,g=i(4),S=g.isNumber,C=Math.pow,w={SINGLE:"single",MULTIPLE:"multiple"};function D(I,L,P){for(var $=b(I.length,2),B=M(L,k(I,P.dimensions)),N=!0,_,R,U,j;N;){N=!1;for(var O=0;O<I.length;O++){_=1/0,R=-1;for(var J=0;J<L;J++)U=G(I[O],B[J],P),U<_&&(_=U,R=J);$[O][0]!==R&&(N=!0),$[O][0]=R,$[O][1]=_}for(var O=0;O<L;O++){j=[];for(var J=0;J<$.length;J++)$[J][0]===O&&j.push(I[J]);B[O]=E(j,P)}}var we={centroids:B,clusterAssigned:$};return we}function E(I,L){for(var P=[],$,B,N=0;N<L.dimensions.length;N++){var _=L.dimensions[N];$=0;for(var R=0;R<I.length;R++)$+=I[R][_];B=$/I.length,P.push(B)}return P}function T(I,L,P){var $=(S(L)?{clusterCount:L,stepByStep:P}:L)||{clusterCount:2},B=$.clusterCount;if(B<2)return;var N=W(I,$),_=N.outputType===w.SINGLE,R=d(I,{dimensions:N.dimensions}),U=b(R.length,2),j,O,J;function we(H,me){U[H][1]=me}function ne(H){return U[H][1]}if(_){j=[];var Yt=N.outputClusterIndexDimension;O=function(H,me){j[H][Yt]=me},J=function(H){return j[H][Yt]};for(var ue=0;ue<R.length;ue++)j.push(R[ue].slice()),we(ue,0),O(ue,0)}else O=function(H,me){U[H][0]=me},J=function(H){return U[H][0]};for(var Xt=E(R,N),De=[Xt],ue=0;ue<R.length;ue++){var Fi=G(R[ue],Xt,N);we(ue,Fi)}var it,at,ot,$e,lt,st,Jt=1,pe={data:j,centroids:De,isEnd:!1};_||(pe.clusterAssment=U);function Zt(){if(Jt<B){it=1/0;for(var H,me,he,re=0;re<De.length;re++){at=[],ot=[];for(var K=0;K<R.length;K++)J(K)===re?at.push(R[K]):ot.push(ne(K));$e=D(at,2,N),lt=h($e.clusterAssigned,1),st=m(ot),lt+st<it&&(it=st+lt,H=re,me=$e.centroids,he=$e.clusterAssigned)}for(var K=0;K<he.length;K++)he[K][0]===0?he[K][0]=H:he[K][0]===1&&(he[K][0]=De.length);De[H]=me[0],De.push(me[1]);for(var K=0,re=0;K<R.length&&re<he.length;K++)J(K)===H&&(O(K,he[re][0]),we(K,he[re++][1]));var ut=[];if(!_){for(var K=0;K<De.length;K++){ut[K]=[];for(var re=0;re<R.length;re++)J(re)===K&&ut[K].push(R[re])}pe.pointsInCluster=ut}Jt++}else pe.isEnd=!0}if($.stepByStep)pe.next=function(){return Zt(),A(pe,N),pe};else for(;Zt(),!pe.isEnd;);return A(pe,N),pe}function A(I,L){var P=L.outputCentroidDimensions;if(!(L.outputType!==w.SINGLE||P==null))for(var $=I.data,B=I.centroids,N=0;N<$.length;N++)for(var _=$[N],R=_[L.outputClusterIndexDimension],U=B[R],j=Math.min(U.length,P.length),O=0;O<j;O++)_[P[O]]=U[O]}function M(I,L){for(var P=b(I,L.length),$=0;$<L.length;$++)for(var B=L[$],N=0;N<I;N++)P[N][$]=B.min+B.span*Math.random();return P}function G(I,L,P){for(var $=0,B=P.dimensions,N=P.rawExtents,_=0;_<B.length;_++){var R=N[_].span;if(R){var U=B[_],j=(I[U]-L[_])/R;$+=C(j,2)}}return $}function W(I,L){var P=c(I);if(P.length<1)throw new Error("The input data of clustering should be two-dimension array.");for(var $=P[1],B=[],N=0;N<$;N++)B.push(N);var _=p(L.dimensions,B),R=L.outputType||w.MULTIPLE,U=L.outputClusterIndexDimension;if(R===w.SINGLE&&!g.isNumber(U))throw new Error("outputClusterIndexDimension is required as a number.");var j=k(I,_);return{dimensions:_,rawExtents:j,outputType:R,outputClusterIndexDimension:U,outputCentroidDimensions:L.outputCentroidDimensions}}function k(I,L){for(var P=[],$=L.length,B=0;B<$;B++)P.push({min:1/0,max:-1/0});for(var B=0;B<I.length;B++)for(var N=I[B],_=0;_<$;_++){var R=P[_],U=N[L[_]];R.min>U&&(R.min=U),R.max<U&&(R.max=U)}for(var B=0;B<$;B++)P[B].span=P[B].max-P[B].min;return P}return{OutputType:w,hierarchicalKMeans:T}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(3),d=s.isArray,p=s.size,f=i(4),c=f.isNumber;function h(g,S){return typeof g=="number"?[g]:g==null?S:g}function m(g,S){S=S||{};var C=S.dimensions,w={};if(C!=null)for(var D=0;D<C.length;D++)w[C[D]]=!0;var E=S.toOneDimensionArray?C?C[0]:0:null;function T(I){return!C||w.hasOwnProperty(I)}if(!d(g))throw new Error("Invalid data type, you should input an array");var A=[],M=p(g);if(M.length===1)for(var D=0;D<M[0];D++){var G=g[D];c(G)&&A.push(G)}else if(M.length===2)for(var D=0;D<M[0];D++){for(var W=!0,G=g[D],k=0;k<M[1];k++)T(k)&&!c(G[k])&&(W=!1);W&&A.push(E!=null?G[E]:G)}return A}function b(g){var S=g.toString(),C=S.indexOf(".");return C<0?0:S.length-1-C}return{normalizeDimensions:h,dataPreprocess:m,getPrecision:b}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=Object.prototype.toString,d=Array.prototype,p=d.map;function f(w){for(var D=[];c(w);)D.push(w.length),w=w[0];return D}function c(w){return s.call(w)==="[object Array]"}function h(w,D){for(var E=[],T=0;T<w;T++){E[T]=[];for(var A=0;A<D;A++)E[T][A]=0}return E}function m(w){for(var D=0,E=0;E<w.length;E++)D+=w[E];return D}function b(w,D){for(var E=0,T=0;T<w.length;T++)E+=w[T][D];return E}function g(w,D){return w>D?1:w<D?-1:w===D?0:NaN}function S(w,D,E,T){for(E==null&&(E=0),T==null&&(T=w.length);E<T;){var A=Math.floor((E+T)/2),M=g(w[A],D);if(M>0)T=A;else if(M<0)E=A+1;else return A+1}return E}function C(w,D,E){if(!!(w&&D)){if(w.map&&w.map===p)return w.map(D,E);for(var T=[],A=0,M=w.length;A<M;A++)T.push(D.call(E,w[A],A,w));return T}}return{size:f,isArray:c,zeros:h,sum:m,sumOfColumn:b,ascending:g,bisect:S,map:C}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){function s(f){return f=f===null?NaN:+f,typeof f=="number"&&!isNaN(f)}function d(f){return isFinite(f)&&f===Math.round(f)}function p(f){if(f===0)return 0;var c=Math.floor(Math.log(f)/Math.LN10);return f/Math.pow(10,c)>=10&&c++,c}return{isNumber:s,isInteger:d,quantityExponent:p}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.dataPreprocess,p=s.normalizeDimensions,f={linear:function(m,b){for(var g=b.dimensions[0],S=b.dimensions[1],C=0,w=0,D=0,E=0,T=m.length,A=0;A<T;A++){var M=m[A];C+=M[g],w+=M[S],D+=M[g]*M[S],E+=M[g]*M[g]}for(var G=(T*D-C*w)/(T*E-C*C),W=w/T-G*C/T,k=[],I=0;I<m.length;I++){var M=m[I],L=M.slice();L[g]=M[g],L[S]=G*M[g]+W,k.push(L)}var P="y = "+Math.round(G*100)/100+"x + "+Math.round(W*100)/100;return{points:k,parameter:{gradient:G,intercept:W},expression:P}},linearThroughOrigin:function(m,b){for(var g=b.dimensions[0],S=b.dimensions[1],C=0,w=0,D=0;D<m.length;D++){var E=m[D];C+=E[g]*E[g],w+=E[g]*E[S]}for(var T=w/C,A=[],M=0;M<m.length;M++){var E=m[M],G=E.slice();G[g]=E[g],G[S]=E[g]*T,A.push(G)}var W="y = "+Math.round(T*100)/100+"x";return{points:A,parameter:{gradient:T},expression:W}},exponential:function(m,b){for(var g=b.dimensions[0],S=b.dimensions[1],C=0,w=0,D=0,E=0,T=0,A=0,M=0;M<m.length;M++){var G=m[M];C+=G[g],w+=G[S],A+=G[g]*G[S],D+=G[g]*G[g]*G[S],E+=G[S]*Math.log(G[S]),T+=G[g]*G[S]*Math.log(G[S])}for(var W=w*D-A*A,k=Math.pow(Math.E,(D*E-A*T)/W),I=(w*T-A*E)/W,L=[],P=0;P<m.length;P++){var G=m[P],$=G.slice();$[g]=G[g],$[S]=k*Math.pow(Math.E,I*G[g]),L.push($)}var B="y = "+Math.round(k*100)/100+"e^("+Math.round(I*100)/100+"x)";return{points:L,parameter:{coefficient:k,index:I},expression:B}},logarithmic:function(m,b){for(var g=b.dimensions[0],S=b.dimensions[1],C=0,w=0,D=0,E=0,T=0;T<m.length;T++){var A=m[T];C+=Math.log(A[g]),w+=A[S]*Math.log(A[g]),D+=A[S],E+=Math.pow(Math.log(A[g]),2)}for(var M=(T*w-D*C)/(T*E-C*C),G=(D-M*C)/T,W=[],k=0;k<m.length;k++){var A=m[k],I=A.slice();I[g]=A[g],I[S]=M*Math.log(A[g])+G,W.push(I)}var L="y = "+Math.round(G*100)/100+" + "+Math.round(M*100)/100+"ln(x)";return{points:W,parameter:{gradient:M,intercept:G},expression:L}},polynomial:function(m,b){var g=b.dimensions[0],S=b.dimensions[1],C=b.order;C==null&&(C=2);for(var w=[],D=[],E=C+1,T=0;T<E;T++){for(var A=0,M=0;M<m.length;M++){var G=m[M];A+=G[S]*Math.pow(G[g],T)}D.push(A);for(var W=[],k=0;k<E;k++){for(var I=0,L=0;L<m.length;L++)I+=Math.pow(m[L][g],T+k);W.push(I)}w.push(W)}w.push(D);for(var P=c(w,E),$=[],T=0;T<m.length;T++){for(var B=0,G=m[T],M=0;M<P.length;M++)B+=P[M]*Math.pow(G[g],M);var N=G.slice();N[g]=G[g],N[S]=B,$.push(N)}for(var _="y = ",T=P.length-1;T>=0;T--)T>1?_+=Math.round(P[T]*Math.pow(10,T+1))/Math.pow(10,T+1)+"x^"+T+" + ":T===1?_+=Math.round(P[T]*100)/100+"x + ":_+=Math.round(P[T]*100)/100;return{points:$,parameter:P,expression:_}}};function c(m,b){for(var g=0;g<m.length-1;g++){for(var S=g,C=g+1;C<m.length-1;C++)Math.abs(m[g][C])>Math.abs(m[g][S])&&(S=C);for(var w=g;w<m.length;w++){var D=m[w][g];m[w][g]=m[w][S],m[w][S]=D}for(var E=g+1;E<m.length-1;E++)for(var T=m.length-1;T>=g;T--)m[T][E]-=m[T][g]/m[g][g]*m[g][E]}for(var A=new Array(b),M=m.length-1,C=m.length-2;C>=0;C--){for(var D=0,g=C+1;g<m.length-1;g++)D+=m[g][C]*A[g];A[C]=(m[M][C]-D)/m[C][C]}return A}var h=function(m,b,g){var S=typeof g=="number"?{order:g}:g||{},C=p(S.dimensions,[0,1]),w=d(b,{dimensions:C}),D=f[m](w,{order:S.order,dimensions:C}),E=C[0];return D.points.sort(function(T,A){return T[E]-A[E]}),D};return h}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s={};return s.max=i(7),s.deviation=i(8),s.mean=i(10),s.median=i(12),s.min=i(14),s.quantile=i(13),s.sampleVariance=i(9),s.sum=i(11),s}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){for(var c=-1/0,h=0;h<f.length;h++)d(f[h])&&f[h]>c&&(c=f[h]);return c}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(9);return function(d){var p=s(d);return p&&Math.sqrt(p)}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber,p=i(10);function f(c){var h=c.length;if(!h||h<2)return 0;if(c.length>=2){for(var m=p(c),b=0,g,S=0;S<c.length;S++)d(c[S])&&(g=c[S]-m,b+=g*g);return b/(c.length-1)}}return f}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(11);function d(p){var f=p.length;return f?s(p)/p.length:0}return d}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){var c=f.length;if(!c)return 0;for(var h=0,m=0;m<c;m++)d(f[m])&&(h+=f[m]);return h}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(13);function d(p){return s(p,.5)}return d}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){return function(s,d){var p=s.length;if(!p)return 0;if(d<=0||p<2)return s[0];if(d>=1)return s[p-1];var f=(p-1)*d,c=Math.floor(f),h=s[c],m=s[c+1];return h+(m-h)*(f-c)}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4),d=s.isNumber;function p(f){for(var c=1/0,h=0;h<f.length;h++)d(f[h])&&f[h]<c&&(c=f[h]);return c}return p}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(7),d=i(14),p=i(13),f=i(8),c=i(2),h=c.dataPreprocess,m=c.normalizeDimensions,b=i(3),g=b.ascending,S=b.map,C=i(16),w=b.bisect,D=i(17);function E(J,M){for(var G=typeof M=="string"?{method:M}:M||{},W=G.method==null?T.squareRoot:T[G.method],k=m(G.dimensions),I=h(J,{dimensions:k,toOneDimensionArray:!0}),L=s(I),P=d(I),$=W(I,P,L),B=D(P,L,$),N=B.step,_=B.toFixedPrecision,R=C(+(Math.ceil(P/N)*N).toFixed(_),+(Math.floor(L/N)*N).toFixed(_),N,_),U=R.length,j=new Array(U+1),O=0;O<=U;O++)j[O]={},j[O].sample=[],j[O].x0=O>0?R[O-1]:R[O]-P===N?P:R[O]-N,j[O].x1=O<U?R[O]:L-R[O-1]===N?L:R[O-1]+N;for(var O=0;O<I.length;O++)P<=I[O]&&I[O]<=L&&j[w(R,I[O],0,U)].sample.push(I[O]);var J=S(j,function(ne){return[+((ne.x0+ne.x1)/2).toFixed(_),ne.sample.length,ne.x0,ne.x1,ne.x0+" - "+ne.x1]}),we=S(j,function(ne){return[ne.x0,ne.x1,ne.sample.length]});return{bins:j,data:J,customData:we}}var T={squareRoot:function(A){var M=Math.ceil(Math.sqrt(A.length));return M>50?50:M},scott:function(A,M,G){return Math.ceil((G-M)/(3.5*f(A)*Math.pow(A.length,-1/3)))},freedmanDiaconis:function(A,M,G){return A.sort(g),Math.ceil((G-M)/(2*(p(A,.75)-p(A,.25))*Math.pow(A.length,-1/3)))},sturges:function(A){return Math.ceil(Math.log(A.length)/Math.LN2)+1}};return E}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(2),d=s.getPrecision;return function(p,f,c,h){var m=arguments.length;m<2?(f=p,p=0,c=1):m<3?c=1:m<4?(c=+c,h=d(c)):h=+h;for(var b=Math.ceil(((f-p)/c).toFixed(h)),g=new Array(b+1),S=0;S<b+1;S++)g[S]=+(p+S*c).toFixed(h);return g}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(4);return function(d,p,f){var c=Math.abs(p-d)/f,h=s.quantityExponent(c),m=Math.pow(10,h),b=c/m;b>=Math.sqrt(50)?m*=10:b>=Math.sqrt(10)?m*=5:b>=Math.sqrt(2)&&(m*=2);var g=h<0?-h:0,S=+(p>=d?m:-m).toFixed(g);return{step:S,toFixedPrecision:g}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(5),d=i(19),p=2;return{type:"ecStat:regression",transform:function(c){var h=c.upstream,m=c.config||{},b=m.method||"linear",g=s(b,h.cloneRawData(),{order:m.order,dimensions:d.normalizeExistingDimensions(c,m.dimensions)}),S=g.points,C=m.formulaOn;C==null&&(C="end");var w;if(C!=="none"){for(var D=0;D<S.length;D++)S[D][p]=C==="start"&&D===0||C==="all"||C==="end"&&D===S.length-1?g.expression:"";w=h.cloneAllDimensionInfo(),w[p]={}}return[{dimensions:w,data:S}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(3),d=i(4),p=i(20);function f(h,m){if(m==null)return;var b=h.upstream;if(s.isArray(m)){for(var g=[],S=0;S<m.length;S++){var C=b.getDimensionInfo(m[S]);w(C,m[S]),g[S]=C.index}return g}else{var C=b.getDimensionInfo(m);return w(C,m),C.index}function w(D,E){if(!D)throw new Error("Can not find dimension by "+E)}}function c(h){if(s.isArray(h)){for(var m=[],b=[],g=0;g<h.length;g++){var S=C(h[g]);m.push(S.name),b.push(S.index)}return{name:m,index:b}}else if(h!=null)return C(h);function C(w){if(d.isNumber(w))return{index:w};if(p.isObject(w)&&d.isNumber(w.index))return w;throw new Error("Illegle new dimensions config. Expect `{ name: string, index: number }`.")}}return{normalizeExistingDimensions:f,normalizeNewDimensions:c}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){function s(p,f){if(Object.assign)Object.assign(p,f);else for(var c in f)f.hasOwnProperty(c)&&(p[c]=f[c]);return p}function d(p){const f=typeof p;return f==="function"||!!p&&f==="object"}return{extend:s,isObject:d}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(15),d=i(19);return{type:"ecStat:histogram",transform:function(f){var c=f.upstream,h=f.config||{},m=s(c.cloneRawData(),{method:h.method,dimensions:d.normalizeExistingDimensions(f,h.dimensions)});return[{dimensions:["MeanOfV0V1","VCount","V0","V1","DisplayableName"],data:m.data},{data:m.customData}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)},function(n,a,i){var l;l=function(u){var s=i(1),d=i(4),p=i(19),f=d.isNumber;return{type:"ecStat:clustering",transform:function(h){var m=h.upstream,b=h.config||{},g=b.clusterCount;if(!f(g)||g<=0)throw new Error('config param "clusterCount" need to be specified as an interger greater than 1.');if(g===1)return[{},{data:[]}];var S=p.normalizeNewDimensions(b.outputClusterIndexDimension),C=p.normalizeNewDimensions(b.outputCentroidDimensions);if(S==null)throw new Error("outputClusterIndexDimension is required as a number.");for(var w=s.hierarchicalKMeans(m.cloneRawData(),{clusterCount:g,stepByStep:!1,dimensions:p.normalizeExistingDimensions(h,b.dimensions),outputType:s.OutputType.SINGLE,outputClusterIndexDimension:S.index,outputCentroidDimensions:(C||{}).index}),D=m.cloneAllDimensionInfo(),E=[],T=0;T<D.length;T++){var A=D[T];E.push(A.name)}if(E[S.index]=S.name,C)for(var T=0;T<C.index.length;T++)C.name[T]!=null&&(E[C.index[T]]=C.name[T]);return[{dimensions:E,data:w.data},{data:w.centroids}]}}}.call(a,i,a,n),l!==void 0&&(n.exports=l)}])})})(bt);var zn=bt.exports;function In({regressions:e=[]},r){const n=[],a=[],i=[];return r.length===0?{regressionDataSets:n,regressionSeries:a,regressionXAxes:i}:(e.forEach(({transform:l,plot:u,name:s,y_axis_data_key:d})=>{const p=`x-axis-for-${s}`,f=`dataset-for-${s}--raw`,c=`dataset-for-${s}--transformed`;n.push({id:f,source:r.map((h,m)=>[m,h[d]])}),n.push({transform:l,id:c,fromDatasetId:f}),a.push(Y(y({},u),{name:s,datasetId:c,xAxisId:p,showSymbol:!1,tooltip:{show:!1}})),i.push({type:"category",id:p,datasetId:c,show:!1})}),{regressionDataSets:n,regressionSeries:a,regressionXAxes:i})}const Pn={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:0,left:15,right:15,bottom:30,containLabel:!0}};function Ln(e,r){var p;const n=e.y_axes.reduce((f,{label_formatter:c},h)=>(f[h]=function(b){const g=typeof b=="object"?b.value:b;if(!c)return g;try{return Ae.default(g).format(c)}catch(S){return console.error(S),g}},f),{default:({value:f})=>f}),a=e.series.reduce((f,{yAxisIndex:c,name:h})=>(f[h]=c,f),{}),i=e.series.map(g=>{var S=g,{y_axis_data_key:f,yAxisIndex:c,label_position:h,name:m}=S,b=Z(S,["y_axis_data_key","yAxisIndex","label_position","name"]);return y({data:r.map(w=>w[f]),label:{show:!!h,position:h,formatter:n[c!=null?c:"default"]},name:m,xAxisId:"main-x-axis",yAxisIndex:c},b)}),{regressionDataSets:l,regressionSeries:u,regressionXAxes:s}=In(e,r),d={xAxis:[{data:r.map(f=>f[e.x_axis_data_key]),name:(p=e.x_axis_name)!=null?p:"",id:"main-x-axis"},...s],yAxis:e.y_axes.map((m,h)=>{var b=m,{label_formatter:f}=b,c=Z(b,["label_formatter"]);var g;return Y(y({},c),{axisLabel:{show:!0,formatter:(g=n[h])!=null?g:n.default}})}),dataset:[...l],series:[...i,...u],tooltip:{formatter:function(f){const c=Array.isArray(f)?f:[f];if(c.length===0)return"";const h=c.map(({seriesName:m,value:b})=>{var C;if(!m)return b;const g=a[m],S=(C=n[g])!=null?C:n.default;return`${m}: ${S({value:b})}`});return h.unshift(`<strong>${c[0].name}</strong>`),h.join("<br />")}}};return V.default.merge({},Pn,d)}function Nn(e){const r=Array.from(e).sort((a,i)=>a-i),n=Math.floor(r.length/2);return r.length%2===0?(r[n-1]+r[n])/2:r[n]}function On(e,r,n){var i,l,u;const a=e.map(s=>s[r]);switch(n){case"sum":return V.default.sum(a);case"mean":return V.default.mean(a);case"median":return Nn(a);case"max":return(i=V.default.max(a))!=null?i:0;case"min":return(l=V.default.min(a))!=null?l:0;default:return(u=e[0])==null?void 0:u[r]}}var yt=function(){};const Fn=(e,r,n)=>Math.min(Math.max(n,e),r),St=(e,r,n)=>{const a=r-e;return a===0?1:(n-e)/a},ke=(e,r,n)=>-n*e+n*r+e,Ct=(e,r)=>n=>Math.max(Math.min(n,r),e),Me=e=>e%1?Number(e.toFixed(5)):e,Oe=/(-)?([\d]*\.?[\d])+/g,je=/(#[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,Rn=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function Ge(e){return typeof e=="string"}const Fe={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},wt=Object.assign(Object.assign({},Fe),{transform:Ct(0,1)});Object.assign(Object.assign({},Fe),{default:1});const ze=(e=>({test:r=>Ge(r)&&r.endsWith(e)&&r.split(" ").length===1,parse:parseFloat,transform:r=>`${r}${e}`}))("%");Object.assign(Object.assign({},ze),{parse:e=>ze.parse(e)/100,transform:e=>ze.transform(e*100)});const Ke=(e,r)=>n=>Boolean(Ge(n)&&Rn.test(n)&&n.startsWith(e)||r&&Object.prototype.hasOwnProperty.call(n,r)),Tt=(e,r,n)=>a=>{if(!Ge(a))return a;const[i,l,u,s]=a.match(Oe);return{[e]:parseFloat(i),[r]:parseFloat(l),[n]:parseFloat(u),alpha:s!==void 0?parseFloat(s):1}},Ce={test:Ke("hsl","hue"),parse:Tt("hue","saturation","lightness"),transform:({hue:e,saturation:r,lightness:n,alpha:a=1})=>"hsla("+Math.round(e)+", "+ze.transform(Me(r))+", "+ze.transform(Me(n))+", "+Me(wt.transform(a))+")"},qn=Ct(0,255),Ye=Object.assign(Object.assign({},Fe),{transform:e=>Math.round(qn(e))}),xe={test:Ke("rgb","red"),parse:Tt("red","green","blue"),transform:({red:e,green:r,blue:n,alpha:a=1})=>"rgba("+Ye.transform(e)+", "+Ye.transform(r)+", "+Ye.transform(n)+", "+Me(wt.transform(a))+")"};function Bn(e){let r="",n="",a="",i="";return e.length>5?(r=e.substr(1,2),n=e.substr(3,2),a=e.substr(5,2),i=e.substr(7,2)):(r=e.substr(1,1),n=e.substr(2,1),a=e.substr(3,1),i=e.substr(4,1),r+=r,n+=n,a+=a,i+=i),{red:parseInt(r,16),green:parseInt(n,16),blue:parseInt(a,16),alpha:i?parseInt(i,16)/255:1}}const Xe={test:Ke("#"),parse:Bn,transform:xe.transform},Re={test:e=>xe.test(e)||Xe.test(e)||Ce.test(e),parse:e=>xe.test(e)?xe.parse(e):Ce.test(e)?Ce.parse(e):Xe.parse(e),transform:e=>Ge(e)?e:e.hasOwnProperty("red")?xe.transform(e):Ce.transform(e)},Dt="${c}",Et="${n}";function $n(e){var r,n,a,i;return isNaN(e)&&Ge(e)&&((n=(r=e.match(Oe))===null||r===void 0?void 0:r.length)!==null&&n!==void 0?n:0)+((i=(a=e.match(je))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0)>0}function At(e){typeof e=="number"&&(e=`${e}`);const r=[];let n=0;const a=e.match(je);a&&(n=a.length,e=e.replace(je,Dt),r.push(...a.map(Re.parse)));const i=e.match(Oe);return i&&(e=e.replace(Oe,Et),r.push(...i.map(Fe.parse))),{values:r,numColors:n,tokenised:e}}function Mt(e){return At(e).values}function Gt(e){const{values:r,numColors:n,tokenised:a}=At(e),i=r.length;return l=>{let u=a;for(let s=0;s<i;s++)u=u.replace(s<n?Dt:Et,s<n?Re.transform(l[s]):Me(l[s]));return u}}const _n=e=>typeof e=="number"?0:e;function Wn(e){const r=Mt(e);return Gt(e)(r.map(_n))}const zt={test:$n,parse:Mt,createTransformer:Gt,getAnimatableNone:Wn};function Je(e,r,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(r-e)*6*n:n<1/2?r:n<2/3?e+(r-e)*(2/3-n)*6:e}function It({hue:e,saturation:r,lightness:n,alpha:a}){e/=360,r/=100,n/=100;let i=0,l=0,u=0;if(!r)i=l=u=n;else{const s=n<.5?n*(1+r):n+r-n*r,d=2*n-s;i=Je(d,s,e+1/3),l=Je(d,s,e),u=Je(d,s,e-1/3)}return{red:Math.round(i*255),green:Math.round(l*255),blue:Math.round(u*255),alpha:a}}const Vn=(e,r,n)=>{const a=e*e,i=r*r;return Math.sqrt(Math.max(0,n*(i-a)+a))},Un=[Xe,xe,Ce],Pt=e=>Un.find(r=>r.test(e)),Lt=(e,r)=>{let n=Pt(e),a=Pt(r),i=n.parse(e),l=a.parse(r);n===Ce&&(i=It(i),n=xe),a===Ce&&(l=It(l),a=xe);const u=Object.assign({},i);return s=>{for(const d in u)d!=="alpha"&&(u[d]=Vn(i[d],l[d],s));return u.alpha=ke(i.alpha,l.alpha,s),n.transform(u)}},Qn=e=>typeof e=="number",kn=(e,r)=>n=>r(e(n)),Nt=(...e)=>e.reduce(kn);function Ot(e,r){return Qn(e)?n=>ke(e,r,n):Re.test(e)?Lt(e,r):qt(e,r)}const Ft=(e,r)=>{const n=[...e],a=n.length,i=e.map((l,u)=>Ot(l,r[u]));return l=>{for(let u=0;u<a;u++)n[u]=i[u](l);return n}},jn=(e,r)=>{const n=Object.assign(Object.assign({},e),r),a={};for(const i in n)e[i]!==void 0&&r[i]!==void 0&&(a[i]=Ot(e[i],r[i]));return i=>{for(const l in a)n[l]=a[l](i);return n}};function Rt(e){const r=zt.parse(e),n=r.length;let a=0,i=0,l=0;for(let u=0;u<n;u++)a||typeof r[u]=="number"?a++:r[u].hue!==void 0?l++:i++;return{parsed:r,numNumbers:a,numRGB:i,numHSL:l}}const qt=(e,r)=>{const n=zt.createTransformer(r),a=Rt(e),i=Rt(r);return a.numHSL===i.numHSL&&a.numRGB===i.numRGB&&a.numNumbers>=i.numNumbers?Nt(Ft(a.parsed,i.parsed),n):u=>`${u>0?r:e}`},Kn=(e,r)=>n=>ke(e,r,n);function Yn(e){if(typeof e=="number")return Kn;if(typeof e=="string")return Re.test(e)?Lt:qt;if(Array.isArray(e))return Ft;if(typeof e=="object")return jn}function Xn(e,r,n){const a=[],i=n||Yn(e[0]),l=e.length-1;for(let u=0;u<l;u++){let s=i(e[u],e[u+1]);if(r){const d=Array.isArray(r)?r[u]:r;s=Nt(d,s)}a.push(s)}return a}function Jn([e,r],[n]){return a=>n(St(e,r,a))}function Zn(e,r){const n=e.length,a=n-1;return i=>{let l=0,u=!1;if(i<=e[0]?u=!0:i>=e[a]&&(l=a-1,u=!0),!u){let d=1;for(;d<n&&!(e[d]>i||d===a);d++);l=d-1}const s=St(e[l],e[l+1],i);return r[l](s)}}function Hn(e,r,{clamp:n=!0,ease:a,mixer:i}={}){const l=e.length;yt(l===r.length),yt(!a||!Array.isArray(a)||a.length===l-1),e[0]>e[l-1]&&(e=[].concat(e),r=[].concat(r),e.reverse(),r.reverse());const u=Xn(r,a,i),s=l===2?Jn(e,u):Zn(e,u);return n?d=>s(Fn(e[0],e[l-1],d)):s}class er{constructor({valueRange:r,colorRange:n}){tn(this,"mapper");this.mapper=Hn(r,n)}getColor(r){return this.mapper(r)}}function tr(e,r){return e.type==="static"?e.staticColor:e.type==="continuous"?new er(e).getColor(r):"black"}function nr(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function rr(e,r){const n={};return e.forEach(({name:a,color:i,data_field:l,aggregation:u,size:s,weight:d,formatter:p})=>{const f=On(r,l,u);let c="";["string","number"].includes(typeof f)?c=Ae.default(f).format(p):c=nr(f),n[a]=t(o.Text,{sx:{fontSize:s,display:"inline"},color:tr(i,f),weight:d,children:c})}),n}function ir(e){return e.split(" ").map(r=>v(Se,{children:[r,"\xA0"]}))}function ar(e){const n=e.replaceAll("<br />","<br/>").replaceAll(`
10
+ `,"<br/>").split("<br/>");return n.map((i,l)=>{const u=[ir(i)];return l!==n.length-1&&u.push(t("br",{})),u}).flat().filter(i=>i!==void 0)}function Ze(e){return ar(e)}function He(e,r,n){const a=rr(r,n),i=/^\{(.+)\}(.*)$/;return e.split("$").map(l=>{var p;const u=i.exec(l);if(!u)return Ze(l);const s=a[u[1]];if(!s)return Ze(l);const d=(p=u[2])!=null?p:"";return v(Se,{children:[s,Ze(d)]})})}ce.use([Ee.BarChart,Ee.LineChart,Ee.ScatterChart,be.GridComponent,be.LegendComponent,be.TooltipComponent,Ie.CanvasRenderer]),ce.registerTransform(zn.transform.regression);function Bt(e){return e.trim().length>0}function or({conf:e,data:r,width:n,height:a}){const i=x.default.useMemo(()=>Ln(e,r),[e,r]);return!n||!a?null:t(Pe.default,{echarts:ce,option:i,style:{width:n,height:a}})}function lr({conf:e,data:r,width:n,height:a}){const{ref:i,height:l}=ie.useElementSize(),{ref:u,height:s}=ie.useElementSize(),d=x.default.useMemo(()=>{const{stats:{templates:f,variables:c}}=e;return{top:He(f.top,c,r),bottom:He(f.bottom,c,r)}},[e,r]),p=Math.max(0,a-l-s);return v(o.Box,{children:[Bt(e.stats.templates.top)&&t(o.Text,{ref:i,align:"left",size:"xs",pl:"sm",children:Object.values(d.top).map(f=>f)}),t(or,{width:n,height:p,data:r,conf:e}),Bt(e.stats.templates.bottom)&&t(o.Text,{ref:u,align:"left",size:"xs",pl:"sm",children:Object.values(d.bottom).map(f=>f)})]})}var ve=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(ve||{});function sr({value:e}){return t(o.Text,{component:"span",children:e})}function ur({value:e}){return t(o.Text,{component:"span",children:e})}function dr({value:e}){const r=Ae.default(e).format({thousandSeparated:!0});return t(o.Text,{component:"span",children:r})}function cr({value:e}){const r=Ae.default(e).format({output:"percent",mantissa:3});return t(o.Text,{component:"span",children:r})}function fr({value:e,type:r}){switch(r){case ve.string:return t(sr,{value:e});case ve.eloc:return t(ur,{value:e});case ve.number:return t(dr,{value:e});case ve.percentage:return t(cr,{value:e})}}function pr({conf:e,data:r=[],width:n,height:a}){const f=e,{id_field:i,use_raw_columns:l,columns:u}=f,s=Z(f,["id_field","use_raw_columns","columns"]),d=x.default.useMemo(()=>l?Object.keys(r==null?void 0:r[0]):u.map(c=>c.label),[l,u,r]),p=x.default.useMemo(()=>l?Object.keys(r==null?void 0:r[0]).map(c=>({label:c,value_field:c,value_type:ve.string})):u,[l,u,r]);return v(o.Table,Y(y({sx:{maxHeight:a}},s),{children:[t("thead",{children:t("tr",{children:d.map(c=>t("th",{children:c},c))})}),t("tbody",{children:r.slice(0,30).map((c,h)=>t("tr",{children:p.map(({value_field:m,value_type:b})=>t("td",{children:t(o.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace",fontSize:s.fontSize}},children:t(fr,{value:c[m],type:b})})},`${m}--${c[m]}`))},i?c[i]:`row-${h}`))}),r.length>100&&t("tfoot",{children:t("tr",{children:t("td",{colSpan:d.length,children:t(o.Text,{color:"red",size:"sm",children:"Showing only the first 30 rows to avoid causing slow performance"})})})})]}))}function mr(e,r={}){const n=Y(y({},r),{numbro:Ae.default}),a=Object.keys(n),i=Object.values(n);try{return new Function(...a,`return \`${e}\`;`)(...i)}catch(l){return l.message}}function hr({conf:{paragraphs:e},data:r}){return t(Se,{children:e.map((u,l)=>{var s=u,{template:n,size:a}=s,i=Z(s,["template","size"]);return t(o.Text,Y(y({},i),{sx:{fontSize:a},children:mr(n,r[0])}),`${n}---${l}`)})})}ce.use([be.GridComponent,be.VisualMapComponent,be.LegendComponent,be.TooltipComponent,Ie.CanvasRenderer]);function gr({conf:e,data:r,width:n,height:a}){const c=e,{x_axis_data_key:i,y_axis_data_key:l,z_axis_data_key:u}=c,s=Z(c,["x_axis_data_key","y_axis_data_key","z_axis_data_key"]),d=x.default.useMemo(()=>V.default.minBy(r,h=>h[u])[u],[r,u]),p=x.default.useMemo(()=>V.default.maxBy(r,h=>h[u])[u],[r,u]),f=Y(y({tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:d,max:p,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:{type:"value"},yAxis3D:{type:"value"},zAxis3D:{type:"value"},grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}}},s),{series:[{type:"bar3D",wireframe:{},data:r.map(h=>[h[i],h[l],h[u]])}]});return t(Pe.default,{echarts:ce,option:f,style:{width:n,height:a}})}var Wi="";ce.use([Ee.PieChart,Ie.CanvasRenderer]);const xr={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
11
+ {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 vr({conf:e,data:r,width:n,height:a}){const f=e,{label_field:i="name",value_field:l="value"}=f,u=Z(f,["label_field","value_field"]),s=x.default.useMemo(()=>r.map(c=>({name:c[i],value:Number(c[l])})),[r,i,l]),d=x.default.useMemo(()=>({series:{labelLayout:function(c){const h=c.labelRect.x<n/2,m=c.labelLinePoints;return m[2][0]=h?c.labelRect.x:c.labelRect.x+c.labelRect.width,{labelLinePoints:m}}}}),[n]),p=V.default.merge({},xr,d,u,{series:{data:s}});return t(Pe.default,{echarts:ce,option:p,style:{width:n,height:a}})}function br({conf:{template:e,variables:r,align:n},data:a}){const i=x.default.useMemo(()=>He(e,r,a),[e,r,a]);return t(o.Text,{align:n,children:Object.values(i).map(l=>l)})}function yr({conf:e,width:r,height:n}){return!r||!n?null:t(Ve.default,{readOnly:!0,value:e.content,onChange:V.default.noop,sx:{border:"none"}})}function $t(e,r,n,a){const i={width:e,height:r,data:n,conf:a.conf};switch(a.type){case"sunburst":return t(Gn,y({},i));case"cartesian":return t(lr,y({},i));case"table":return t(pr,y({},i));case"text":return t(hr,y({},i));case"stats":return t(br,y({},i));case"rich-text":return t(yr,y({},i));case"bar-3d":return t(gr,y({},i));case"pie":return t(vr,y({},i));default:return null}}const Sr=["rich-text"];function _t({viz:e,data:r,loading:n}){const{ref:a,width:i,height:l}=ie.useElementSize();if(!!Sr.includes(e.type))return t("div",{className:"viz-root",ref:a,children:t(Qe,{children:$t(i,l,r,e)})});const s=x.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]);return n?t("div",{className:"viz-root",ref:a,children:t(o.LoadingOverlay,{visible:n,exitTransitionDuration:0})}):v("div",{className:"viz-root",ref:a,children:[s&&t(o.Text,{color:"gray",align:"center",children:"nothing to show"}),!s&&t(Qe,{children:$t(i,l,r,e)})]})}function Cr({}){const{data:e,loading:r,viz:n}=x.default.useContext(oe);return t(_t,{viz:n,data:e,loading:r})}function wr({label:e,required:r,value:n,onChange:a,data:i,sx:l},u){const s=x.default.useMemo(()=>!Array.isArray(i)||i.length===0?[]:Object.keys(i[0]).map(p=>({label:p,value:p})),[i]);return t(o.Select,{ref:u,label:e,data:s,value:n,onChange:a,required:r,sx:l})}const te=x.default.forwardRef(wr);function Tr({conf:e,setConf:r,data:n}){const a=V.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},e),{control:i,handleSubmit:l,formState:u}=F.useForm({defaultValues:a});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:l(r),children:[t(o.Text,{children:"X Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(F.Controller,{name:"x_axis_data_key",control:i,render:({field:s})=>t(te,y({label:"Data Field",required:!0,data:n},s))}),t(F.Controller,{name:"xAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,y({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Text,{mt:"lg",children:"Y Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(F.Controller,{name:"y_axis_data_key",control:i,render:({field:s})=>t(te,y({label:"Data Field",required:!0,data:n},s))}),t(F.Controller,{name:"yAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,y({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Text,{mt:"lg",children:"Z Axis"}),v(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(F.Controller,{name:"z_axis_data_key",control:i,render:({field:s})=>t(te,y({label:"Data Field",required:!0,data:n},s))}),t(F.Controller,{name:"zAxis3D.name",control:i,render:({field:s})=>t(o.TextInput,y({sx:{flexGrow:1},size:"md",label:"Name"},s))})]}),t(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:v(o.Button,{color:"blue",type:"submit",children:[t(q.DeviceFloppy,{size:20}),t(o.Text,{ml:"md",children:"Save"})]})})]})})}function Dr({value:e,onChange:r},n){const a=o.useMantineTheme(),i=x.default.useMemo(()=>Object.entries(a.colors).map(([u,s])=>({label:u,value:s[6]})),[a]),l=x.default.useMemo(()=>i.some(u=>u.value===e),[e,i]);return v(o.Group,{position:"apart",spacing:4,children:[t(o.TextInput,{placeholder:"Set any color",value:l?"":e,onChange:u=>r(u.currentTarget.value),rightSection:t(o.ColorSwatch,{color:l?"transparent":e,radius:4}),variant:l?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),t(o.Text,{sx:{flexGrow:0},children:"or"}),t(o.Select,{data:i,value:e,onChange:r,variant:l?"default":"filled",placeholder:"Pick a theme color",icon:t(o.ColorSwatch,{color:l?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const qe=x.default.forwardRef(Dr);function Er({control:e,index:r}){return v(o.Group,{direction:"row",grow:!0,align:"top",children:[t(F.Controller,{name:`series.${r}.stack`,control:e,render:({field:n})=>t(o.TextInput,y({label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1}},n))}),t(F.Controller,{name:`series.${r}.barWidth`,control:e,render:({field:n})=>t(o.TextInput,y({label:"Bar Width",sx:{flexGrow:1}},n))})]})}const Ar=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function Mr({control:e,index:r}){return v(o.Group,{direction:"row",grow:!0,align:"center",children:[t(F.Controller,{name:`series.${r}.step`,control:e,render:({field:n})=>t(o.Select,Y(y({label:"Step",data:Ar,sx:{flexGrow:1,maxWidth:"48%"}},n),{value:String(n.value),onChange:a=>{const i=a==="false"?!1:a;n.onChange(i)}}))}),t(F.Controller,{name:`series.${r}.smooth`,control:e,render:({field:n})=>t(o.Box,{sx:{flexGrow:1},children:t(o.Switch,{label:"Smooth Line",checked:n.value,onChange:a=>n.onChange(a.currentTarget.checked)})})})]})}const Gr=Array.from(new Array(9),(e,r)=>({label:String(r+1),value:r+1}));function zr({control:e,index:r}){return t(o.Group,{direction:"row",grow:!0,align:"center",children:t(F.Controller,{name:`series.${r}.symbolSize`,control:e,render:({field:n})=>v(o.Group,{direction:"column",noWrap:!0,sx:{flexGrow:1},pb:16,spacing:4,children:[t(o.Text,{size:"sm",children:"Size"}),t(o.Slider,Y(y({min:1,max:10,marks:Gr},n),{sx:{width:"100%"}}))]})})})}const Ir=[{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 Pr({control:e,index:r,remove:n,seriesItem:a,yAxisOptions:i,data:l}){const u=a.type;return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.Group,{direction:"column",grow:!0,noWrap:!0,children:t(F.Controller,{name:`series.${r}.type`,control:e,render:({field:s})=>t(o.SegmentedControl,y({data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}]},s))})}),t(F.Controller,{name:`series.${r}.name`,control:e,render:({field:s})=>t(o.TextInput,y({label:"Name",required:!0,sx:{flex:1}},s))}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(F.Controller,{name:`series.${r}.y_axis_data_key`,control:e,render:({field:s})=>t(te,y({label:"Value Field",required:!0,data:l,sx:{flex:1}},s))}),t(F.Controller,{name:`series.${r}.yAxisIndex`,control:e,render:f=>{var{field:c}=f,h=c,{value:s,onChange:d}=h,p=Z(h,["value","onChange"]);var m;return t(o.Select,Y(y({label:"Y Axis",data:i,disabled:i.length===0},p),{value:(m=s==null?void 0:s.toString())!=null?m:"",onChange:b=>{if(!b){d(0);return}d(Number(b))},sx:{flex:1}}))}})]}),u==="line"&&t(Mr,{index:r,control:e}),u==="bar"&&t(Er,{index:r,control:e}),u==="scatter"&&t(zr,{index:r,control:e}),t(F.Controller,{name:`series.${r}.label_position`,control:e,render:({field:s})=>t(o.Select,y({label:"Label Position",data:Ir},s))}),v(o.Group,{direction:"column",grow:!0,spacing:4,children:[t(o.Text,{size:"sm",children:"Color"}),t(F.Controller,{name:`series.${r}.color`,control:e,render:({field:s})=>t(qe,y({},s))})]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},r)}function Lr({control:e,watch:r,getValues:n,data:a}){const{fields:i,append:l,remove:u}=F.useFieldArray({control:e,name:"series"}),s=r("series"),d=i.map((c,h)=>y(y({},c),s[h])),p=()=>l({type:"bar",name:ie.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),f=x.default.useMemo(()=>n().y_axes.map(({name:c},h)=>({label:c,value:h.toString()})),[n]);return v(o.Group,{direction:"column",grow:!0,children:[d.map((c,h)=>t(Pr,{control:e,index:h,remove:u,seriesItem:c,yAxisOptions:f,data:a})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:p,children:"Add a Series"})})]})}const Wt={mantissa:0,output:"number"};function Nr({value:e,onChange:r},n){const a=u=>{r(Y(y({},e),{output:u}))},i=u=>{const s=u===0?!1:e.trimMantissa;r(Y(y({},e),{mantissa:u,trimMantissa:s}))},l=u=>{r(Y(y({},e),{trimMantissa:u.currentTarget.checked}))};return t(o.Group,{direction:"column",grow:!0,noWrap:!0,ref:n,children:v(o.Group,{direction:"row",grow:!0,children:[t(o.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:a}),t(o.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),t(o.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:l,disabled:e.mantissa===0})]})})}const Vt=x.default.forwardRef(Nr);function Or({control:e,index:r,remove:n}){return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.Group,{direction:"row",grow:!0,noWrap:!0,children:t(F.Controller,{name:`y_axes.${r}.name`,control:e,render:({field:a})=>t(o.TextInput,y({label:"Name",required:!0,sx:{flex:1}},a))})}),t(o.Group,{direction:"column",grow:!0,noWrap:!0,children:t(F.Controller,{name:`y_axes.${r}.label_formatter`,control:e,render:({field:a})=>t(Vt,y({},a))})}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},disabled:r===0,children:t(q.Trash,{size:16})})]},r)}function Fr({control:e,watch:r}){const{fields:n,append:a,remove:i}=F.useFieldArray({control:e,name:"y_axes"}),l=r("y_axes"),u=n.map((d,p)=>y(y({},d),l[p])),s=()=>a({name:"",label_formatter:Wt});return v(o.Group,{direction:"column",grow:!0,children:[u.map((d,p)=>t(Or,{control:e,index:p,remove:i})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:s,children:"Add a Y Axis"})})]})}const Rr=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function qr({control:e,regressionItem:r,index:n,remove:a,yAxisOptions:i,data:l}){const u=r.transform.config.method;return v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(F.Controller,{name:`regressions.${n}.name`,control:e,render:({field:s})=>t(o.TextInput,y({label:"Name",required:!0,sx:{flex:1}},s))}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(F.Controller,{name:`regressions.${n}.y_axis_data_key`,control:e,render:({field:s})=>t(te,y({label:"Value Field",required:!0,data:l,sx:{flex:1}},s))}),t(F.Controller,{name:`regressions.${n}.plot.yAxisIndex`,control:e,render:f=>{var{field:c}=f,h=c,{value:s,onChange:d}=h,p=Z(h,["value","onChange"]);var m;return t(o.Select,Y(y({label:"Y Axis",data:i,disabled:i.length===0},p),{value:(m=s==null?void 0:s.toString())!=null?m:"",onChange:b=>{if(!b){d(0);return}d(Number(b))},sx:{flex:1}}))}})]}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(F.Controller,{name:`regressions.${n}.transform.config.method`,control:e,render:({field:s})=>t(o.Select,y({label:"Method",data:Rr,sx:{flex:1}},s))}),u==="polynomial"&&t(F.Controller,{name:`regressions.${n}.transform.config.order`,control:e,render:({field:s})=>t(o.NumberInput,y({label:"Order",sx:{flex:1}},s))})]}),v(o.Group,{direction:"column",grow:!0,spacing:4,children:[t(o.Text,{size:"sm",children:"Color"}),t(F.Controller,{name:`regressions.${n}.plot.color`,control:e,render:({field:s})=>t(qe,y({},s))})]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>a(n),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},n)}function Br({control:e,watch:r,getValues:n,data:a}){const{fields:i,append:l,remove:u}=F.useFieldArray({control:e,name:"regressions"}),s=r("regressions"),d=i.map((c,h)=>y(y({},c),s[h])),p=x.default.useMemo(()=>n().y_axes.map(({name:c},h)=>({label:c,value:h.toString()})),[n]),f=()=>l({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return v(o.Group,{direction:"column",grow:!0,children:[d.map((c,h)=>t(qr,{regressionItem:c,control:e,index:h,remove:u,yAxisOptions:p,data:a})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:f,children:"Add a Regression Line"})})]})}const $r=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function _r({label:e,value:r,onChange:n},a){return t(o.Select,{ref:a,label:e,data:$r,value:r,onChange:n})}const Wr=x.default.forwardRef(_r);function Vr({label:e,value:r,onChange:n},a){const[i,l]=x.default.useState(Array.isArray(r)?[...r]:[]),u=x.default.useCallback(()=>{l(h=>[...h,""])},[l]),s=x.default.useCallback(h=>{l(m=>(m.splice(h,1),[...m]))},[l]),d=x.default.useMemo(()=>!V.default.isEqual(i,r),[i,r]),p=()=>{n(i.map(h=>h.toString()))},f=o.useMantineTheme(),c=x.default.useMemo(()=>Object.entries(f.colors).map(([h,m])=>m[6]),[f]);return v(Se,{children:[v(o.Group,{position:"left",ref:a,children:[t(o.Text,{children:e}),t(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{children:[i.map((h,m)=>t(o.ColorInput,{value:h,onChange:b=>{l(g=>(g.splice(m,1,b),[...g]))},swatches:c,rightSection:t(o.ActionIcon,{onClick:()=>s(m),color:"red",children:t(q.Trash,{size:14})}),sx:{width:"45%"}})),t(o.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(q.PlaylistAdd,{size:20})})]})]})}const Ur=x.default.forwardRef(Vr),Be=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function Qr({label:e,value:r,onChange:n},a){var u,s;const[i,l]=x.default.useState((s=(u=Be.find(d=>d.label===r))==null?void 0:u.value)!=null?s:Be[0].value);return x.default.useEffect(()=>{const d=Be.find(p=>p.value===i);d&&n(d.label)},[i]),v(o.Group,{direction:"column",grow:!0,spacing:0,mt:"sm",mb:"lg",children:[t(o.Text,{size:"sm",children:e}),t(o.Slider,{label:null,marks:Be,value:i,onChange:l,step:25,placeholder:"Pick a font size",ref:a})]})}const Ut=x.default.forwardRef(Qr);function kr({label:e,value:r,onChange:n},a){const[i,l]=x.default.useState(Array.isArray(r)?[...r]:[]),u=x.default.useCallback(()=>{l(f=>[...f,""])},[l]),s=x.default.useCallback(f=>{l(c=>(c.splice(f,1),[...c]))},[l]),d=x.default.useMemo(()=>!V.default.isEqual(i,r),[i,r]),p=()=>{n(i.map(f=>f.toString()))};return v(Se,{children:[v(o.Group,{position:"left",ref:a,children:[t(o.Text,{children:e}),t(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{children:[i.map((f,c)=>t(o.TextInput,{value:f,onChange:h=>{const m=h.currentTarget.value;l(b=>(b.splice(c,1,m),[...b]))},rightSection:t(o.ActionIcon,{onClick:()=>s(c),color:"red",children:t(q.Trash,{size:14})}),sx:{width:"45%"}})),t(o.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(q.PlaylistAdd,{size:20})})]})]})}const jr=x.default.forwardRef(kr);function Qt(){return{name:ie.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}}const et=x.default.forwardRef(function(l,i){var u=l,{value:r,onChange:n}=u,a=Z(u,["value","onChange"]);return t(o.TextInput,y({ref:i,value:r,onChange:n},a))});function kt({value:e,onChange:r,data:n}){const a=e.color.type,i=(l,u)=>{const s=V.default.cloneDeep(e);V.default.set(s,l,u),r(s)};return v(o.Box,{px:"sm",py:"md",children:[t(o.Text,{weight:"bold",pb:0,children:e.name}),t(o.Divider,{my:"xs",label:"Data",labelPosition:"center"}),v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(o.TextInput,{label:"Name",required:!0,value:e.name,onChange:l=>i("name",l.currentTarget.value)}),t(te,{label:"Data Field",required:!0,data:n,value:e.data_field,onChange:l=>i("data_field",l)}),t(Wr,{label:"Aggregation",value:e.aggregation,onChange:l=>i("aggregation",l)})]}),t(Vt,{value:e.formatter,onChange:l=>i("formatter",l)}),t(o.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),t(o.Group,{direction:"column",grow:!0,children:t(o.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:e.size,onChange:l=>i("size",l.currentTarget.value)})}),t(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(Ut,{label:"Font Weight",value:e.weight,onChange:l=>i("weight",l)})}),t(o.Divider,{my:"xs",label:"Style",labelPosition:"center"}),v(o.Group,{direction:"column",grow:!0,children:[t(o.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:l=>i("color.type",l)}),a==="static"&&t(qe,{value:e.color.staticColor,onChange:l=>i("color.staticColor",l)}),a==="continuous"&&v(Se,{children:[t(jr,{label:"Value Range",value:e.color.valueRange,onChange:l=>i("color.valueRange",l)}),t(Ur,{label:"Color Range",value:e.color.colorRange,onChange:l=>i("color.colorRange",l)})]})]})]})}function Kr({control:e,index:r,remove:n,data:a}){return v(o.Group,{direction:"column",grow:!0,my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(F.Controller,{name:`stats.variables.${r}`,control:e,render:({field:i})=>t(kt,y({data:a},i))}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},r)}function Yr({control:e,watch:r,data:n}){const{fields:a,append:i,remove:l}=F.useFieldArray({control:e,name:"stats.variables"});r("stats.templates");const u=r("stats.variables"),s=a.map((p,f)=>y(y({},p),u[f])),d=()=>i(Qt());return v(o.Group,{direction:"column",grow:!0,children:[v(o.Group,{direction:"column",grow:!0,noWrap:!0,spacing:0,children:[t(F.Controller,{name:"stats.templates.top",control:e,render:({field:p})=>t(et,y({label:"Template for stats above the chart",py:"md",sx:{flexGrow:1}},p))}),t(F.Controller,{name:"stats.templates.bottom",control:e,render:({field:p})=>t(et,y({label:"Template for stats under the chart",py:"md",sx:{flexGrow:1}},p))})]}),s.map((p,f)=>t(Kr,{control:e,index:f,remove:l,data:n})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:d,children:"Add a Variable"})})]})}function Xr(e){function r({type:n,name:a,showSymbol:i,symbolSize:l=5,y_axis_data_key:u="value",yAxisIndex:s=0,label_position:d="top",stack:p="1",color:f="black",barWidth:c="30",smooth:h=!1,step:m=!1}){return{type:n,name:a,showSymbol:i,symbolSize:l,y_axis_data_key:u,yAxisIndex:s,label_position:d,stack:p,color:f,barWidth:c,smooth:h,step:m}}return e.map(r)}function Jr(e){return e||{templates:{top:"",bottom:""},variables:[]}}function Zr({conf:e,setConf:r,data:n}){const m=e,{series:a,y_axes:i}=m,l=Z(m,["series","y_axes"]),u=x.default.useMemo(()=>{const C=l,{x_axis_name:b="",stats:g}=C,S=Z(C,["x_axis_name","stats"]);return y({series:Xr(a!=null?a:[]),x_axis_name:b,y_axes:i!=null?i:[{name:"Y Axis",label_formatter:Wt}],stats:Jr(g)},S)},[a,l]);x.default.useEffect(()=>{!V.default.isEqual(e,u)&&r(u)},[e,u]);const{control:s,handleSubmit:d,watch:p,getValues:f}=F.useForm({defaultValues:u});p(["x_axis_data_key","x_axis_name"]);const c=f(),h=x.default.useMemo(()=>!V.default.isEqual(c,e),[c,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:d(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{children:"Chart Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Accordion,{offsetIcon:!1,multiple:!0,initialState:{0:!0,1:!0},children:[t(o.Accordion.Item,{label:"X Axis",children:v(o.Group,{direction:"row",grow:!0,noWrap:!0,children:[t(F.Controller,{name:"x_axis_data_key",control:s,render:({field:b})=>t(te,y({label:"X Axis Data Field",required:!0,data:n,sx:{flex:1}},b))}),t(F.Controller,{name:"x_axis_name",control:s,render:({field:b})=>t(o.TextInput,y({label:"X Axis Name",sx:{flex:1}},b))})]})}),t(o.Accordion.Item,{label:"Y Axes",children:t(Fr,{control:s,watch:p})}),t(o.Accordion.Item,{label:"Series",children:t(Lr,{control:s,watch:p,getValues:f,data:n})}),t(o.Accordion.Item,{label:"Regression Lines",children:t(Br,{control:s,watch:p,getValues:f,data:n})}),t(o.Accordion.Item,{label:"Stats",children:t(Yr,{control:s,watch:p,data:n})})]})]})})}function Hr({conf:{label_field:e,value_field:r},setConf:n,data:a}){const i=de.useForm({initialValues:{label_field:e,value_field:r}});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Pie Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,y({label:"Label Field",required:!0,data:a},i.getInputProps("label_field"))),t(te,y({label:"Value Field",required:!0,data:a},i.getInputProps("value_field")))]})]})})}function ei({conf:e,setConf:r}){const n=x.default.useMemo(()=>{const{content:p=""}=e;return{content:p}},[e]);x.default.useEffect(()=>{!V.default.isEqual(e,n)&&r(n)},[e,n]);const{control:a,handleSubmit:i,watch:l,getValues:u}=F.useForm({defaultValues:n});l("content");const s=u(),d=x.default.useMemo(()=>!V.default.isEqual(s,e),[s,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{children:"Content"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!d,children:t(q.DeviceFloppy,{size:20})})]}),t(F.Controller,{name:"content",control:a,render:({field:p})=>t(Ve.default,y({sx:{flex:1}},p))})]})})}function ti(e){if("variables"in e)return e;const{align:r,size:n,weight:a,color:i,content:{prefix:l="",data_field:u="value",formatter:s={output:"number",mantissa:0},postfix:d=""}={}}=e;return{align:r,template:`${l} \${value} ${d}`,variables:[{name:"value",data_field:u,aggregation:"none",formatter:s,color:i,weight:a,size:n}]}}function ni({control:e,index:r,remove:n,data:a}){return v(o.Group,{direction:"column",grow:!0,my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(F.Controller,{name:`variables.${r}`,control:e,render:({field:i})=>t(kt,y({data:a},i))}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n(r),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},r)}function ri({control:e,watch:r,data:n}){const{fields:a,append:i,remove:l}=F.useFieldArray({control:e,name:"variables"}),u=r("variables"),s=a.map((p,f)=>y(y({},p),u[f])),d=()=>i(Qt());return v(o.Group,{direction:"column",grow:!0,children:[s.map((p,f)=>t(ni,{control:e,index:f,remove:l,data:n})),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:d,children:"Add a Variable"})})]})}function ii(){return{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:"none",formatter:{output:"number",mantissa:0}}]}}function ai({conf:e,setConf:r,data:n}){const a=x.default.useMemo(()=>{const{align:f,template:c="",variables:h=[]}=ti(e);return f?{variables:h,template:c,align:f}:ii()},[e]);x.default.useEffect(()=>{!V.default.isEqual(e,a)&&r(a)},[e,a]);const{control:i,handleSubmit:l,watch:u,getValues:s}=F.useForm({defaultValues:a});u(["variables","template"]);const d=s(),p=x.default.useMemo(()=>!V.default.isEqual(d,e),[d,e]);return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,noWrap:!0,children:v("form",{onSubmit:l(r),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{weight:500,children:"Stats Configurations"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:t(q.DeviceFloppy,{size:20})})]}),t(F.Controller,{name:"template",control:i,render:({field:f})=>t(et,y({label:"Template",py:"md",sx:{flexGrow:1}},f))}),t(o.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),t(ri,{control:i,watch:u,data:n})]})})}function oi({conf:{label_field:e,value_field:r},setConf:n,data:a}){const i=de.useForm({initialValues:{label_field:e,value_field:r}});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:i.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Sunburst Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,y({label:"Label Field",required:!0,data:a},i.getInputProps("label_field"))),t(te,y({label:"Value Field",required:!0,data:a},i.getInputProps("value_field")))]})]})})}const li=Object.values(ve).map(e=>({label:e,value:e}));function si({label:e,value:r,onChange:n,sx:a}){return t(o.Select,{label:e,data:li,value:r,onChange:n,sx:a})}function ui(i){var l=i,{conf:u}=l,s=u,{columns:e}=s,r=Z(s,["columns"]),{setConf:n,data:a}=l;const d=de.useForm({initialValues:y({id_field:"id",use_raw_columns:!0,columns:de.formList(e!=null?e:[]),fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1},r)}),p=()=>d.addListItem("columns",{label:ie.randomId(),value_field:"value",value_type:ve.string});return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:d.onSubmit(n),children:[v(o.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(o.Text,{children:"Table Config"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(te,y({label:"ID Field",required:!0,data:a},d.getInputProps("id_field"))),v(o.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[t(o.TextInput,y({label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("horizontalSpacing"))),t(o.TextInput,y({label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("verticalSpacing")))]}),t(o.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:t(o.TextInput,y({label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1}},d.getInputProps("fontSize")))}),v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{children:"Other"}),v(o.Group,{position:"apart",grow:!0,children:[t(o.Switch,y({label:"Striped"},d.getInputProps("striped",{type:"checkbox"}))),t(o.Switch,y({label:"Highlight on hover"},d.getInputProps("highlightOnHover",{type:"checkbox"})))]})]})]}),v(o.Group,{direction:"column",mt:"xs",spacing:"xs",grow:!0,p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(o.Switch,y({label:"Use Original Data Columns"},d.getInputProps("use_raw_columns",{type:"checkbox"}))),!d.values.use_raw_columns&&v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{mt:"xl",mb:0,children:"Custom Columns"}),d.values.columns.map((f,c)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[v(o.Group,{position:"apart",grow:!0,children:[t(o.TextInput,y({label:"Label",required:!0,sx:{flex:1}},d.getListInputProps("columns",c,"label"))),t(te,y({label:"Value Field",required:!0,data:a},d.getListInputProps("columns",c,"value_field"))),t(si,y({label:"Value Type",sx:{flex:1}},d.getListInputProps("columns",c,"value_type")))]}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>d.removeListItem("columns",c),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},c)),t(o.Group,{position:"center",mt:"xs",children:t(o.Button,{onClick:p,children:"Add a Column"})})]})]}),t(o.Text,{weight:500,mb:"md",children:"Current Configuration:"}),t(se.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(d.values,null,2)})]})})}const jt=[{align:"center",size:"xl",weight:"bold",color:"black",template:"Time: ${new Date().toISOString()}"},{align:"center",size:"md",weight:"bold",color:"red",template:"Platform: ${navigator.userAgentData.platform}."}];function di({conf:e,setConf:r}){var i;const n=de.useForm({initialValues:{paragraphs:de.formList((i=e.paragraphs)!=null?i:jt)}}),a=()=>n.addListItem("paragraphs",Y(y({},jt[0]),{template:ie.randomId()}));return t(o.Group,{direction:"column",mt:"md",spacing:"xs",grow:!0,children:v("form",{onSubmit:n.onSubmit(r),children:[n.values.paragraphs.length===0&&t(o.Text,{color:"dimmed",align:"center",children:"Empty"}),v(o.Group,{position:"apart",mb:"xs",sx:{" + .mantine-Group-root":{marginTop:0}},children:[t(o.Text,{children:"Paragraphs"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(q.DeviceFloppy,{size:20})})]}),n.values.paragraphs.map((l,u)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.TextInput,y({placeholder:"Time: ${new Date().toISOString()}",label:"Content Template",required:!0,sx:{flex:1}},n.getListInputProps("paragraphs",u,"template"))),v(o.Group,{direction:"column",grow:!0,children:[t(o.Text,{children:"Color"}),t(qe,y({},n.getListInputProps("paragraphs",u,"color")))]}),t(o.Group,{direction:"column",grow:!0,children:t(o.TextInput,y({label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1}},n.getListInputProps("paragraphs",u,"size")))}),t(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(Ut,y({label:"Font Weight"},n.getListInputProps("paragraphs",u,"weight")))}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>n.removeListItem("paragraphs",u),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},u)),t(o.Group,{position:"center",mt:"md",children:t(o.Button,{onClick:a,children:"Add a Paragraph"})}),t(o.Text,{size:"sm",weight:500,mt:"md",children:"Current Configuration:"}),t(se.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(n.values,null,2)})]})})}const tt=[{value:"text",label:"Text",Panel:di},{value:"stats",label:"Stats",Panel:ai},{value:"rich-text",label:"Rich Text",Panel:ei},{value:"table",label:"Table",Panel:ui},{value:"sunburst",label:"Sunburst",Panel:oi},{value:"bar-3d",label:"Bar Chart (3D)",Panel:Tr},{value:"cartesian",label:"Cartesian Chart",Panel:Zr},{value:"pie",label:"Pie Chart",Panel:Hr}];function ci(){const{data:e,viz:r,setViz:n}=x.default.useContext(oe),[a,i]=ie.useInputState(r.type),l=r.type!==a,u=x.default.useCallback(()=>{!l||n(f=>Y(y({},f),{type:a}))},[l,a]),s=f=>{n(c=>Y(y({},c),{conf:f}))},d=f=>{try{s(JSON.parse(f))}catch(c){console.error(c)}},p=x.default.useMemo(()=>{var f;return(f=tt.find(c=>c.value===a))==null?void 0:f.Panel},[a,tt]);return v(Se,{children:[t(o.Select,{label:"Visualization",value:a,onChange:i,data:tt,rightSection:t(o.ActionIcon,{disabled:!l,onClick:u,children:t(q.DeviceFloppy,{size:20})})}),p&&t(p,{conf:r.conf,setConf:s,data:e}),!p&&t(o.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(r.conf,null,2),onChange:d})]})}function fi({}){return v(o.Group,{direction:"row",grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[t(o.Group,{grow:!0,direction:"column",noWrap:!0,sx:{width:"40%",flexShrink:0,flexGrow:0},children:t(ci,{})}),t(o.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Cr,{})})]})}function pi({opened:e,close:r}){const{freezeLayout:n}=x.default.useContext(ge),{data:a,loading:i,viz:l,title:u}=x.default.useContext(oe);return x.default.useEffect(()=>{n(e)},[e]),t(o.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:u,trapFocus:!0,onDragStart:s=>{s.stopPropagation()},children:t(o.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%"}},padding:"md",children:v(o.Tabs,{initialTab:2,children:[v(o.Tabs.Tab,{label:"Data",children:[t(o.LoadingOverlay,{visible:i,exitTransitionDuration:0}),t(An,{})]}),t(o.Tabs.Tab,{label:"Panel",children:t(En,{})}),t(o.Tabs.Tab,{label:"Visualization",children:t(fi,{})})]})})})}var Vi="";function mi({}){const[e,r]=x.default.useState(!1),n=()=>r(!0),a=()=>r(!1),{title:i,refreshData:l}=x.default.useContext(oe),{inEditMode:u}=x.default.useContext(ge);return v(o.Box,{sx:{position:"relative"},children:[t(o.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:t(xt,{})}),t(o.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:v(o.Menu,{control:t(o.Text,{lineClamp:1,weight:"bold",children:i}),placement:"center",children:[t(o.Menu.Item,{onClick:l,icon:t(q.Refresh,{size:14}),children:"Refresh"}),u&&t(o.Menu.Item,{onClick:n,icon:t(q.Settings,{size:14}),children:"Settings"}),t(o.Divider,{}),t(o.Menu.Item,{color:"red",disabled:!0,icon:t(q.Trash,{size:14}),children:"Delete"})]})}),u&&t(pi,{opened:e,close:a})]})}var Ui="";function nt({viz:e,queryID:r,title:n,description:a,update:i,layout:l,id:u}){const s=x.default.useContext(fe),d=x.default.useContext(le),[p,f]=x.default.useState(n),[c,h]=x.default.useState(a),[m,b]=x.default.useState(r),[g,S]=x.default.useState(e),C=x.default.useMemo(()=>{if(!!m)return d.queries.find(A=>A.id===m)},[m,d.queries]);x.default.useEffect(()=>{i==null||i({id:u,layout:l,title:p,description:c,queryID:m,viz:g})},[p,c,C,g,u,l,m]);const{data:w=[],loading:D,refresh:E}=We.useRequest(mt({context:s,definitions:d,title:p,query:C}),{refreshDeps:[s,d,C]}),T=E;return t(oe.Provider,{value:{data:w,loading:D,title:p,setTitle:f,description:c,setDescription:h,queryID:m,setQueryID:b,viz:g,setViz:S,refreshData:T},children:v(o.Container,{className:"panel-root",children:[t(mi,{}),t(_t,{viz:g,data:w,loading:D})]})})}var Qi="";const hi=ee.WidthProvider(ft.default);function Kt({panels:e,setPanels:r,className:n="layout",rowHeight:a=10,onRemoveItem:i,isDraggable:l,isResizable:u}){const s=x.default.useCallback(d=>{const p=new Map;d.forEach(m=>{var b=m,{i:c}=b,h=Z(b,["i"]);p.set(c,h)});const f=e.map(c=>Y(y({},c),{layout:p.get(c.id)}));r(f)},[e,r]);return t(hi,{onLayoutChange:s,className:n,rowHeight:a,isDraggable:l,isResizable:u,children:e.map((c,f)=>{var h=c,{id:d}=h,p=Z(h,["id"]);return t("div",{"data-grid":p.layout,children:t(nt,Y(y({id:d},p),{destroy:()=>i(d),update:m=>{r(b=>(b.splice(f,1,m),[...b]))}}))},d)})})}function rt(e,r){return v(o.Text,{sx:{svg:{verticalAlign:"text-bottom"}},children:[e," ",r]})}function gi({mode:e,setMode:r}){return t(o.SegmentedControl,{value:e,onChange:r,data:[{label:rt(t(q.PlayerPlay,{size:20}),"Use"),value:ae.Use},{label:rt(t(q.Resize,{size:20}),"Layout"),value:ae.Layout},{label:rt(t(q.Paint,{size:20}),"Content"),value:ae.Edit}]})}const xi=`
12
12
  -- You may reference context data or SQL snippets *by name*
13
13
  -- in SQL or VizConfig.
14
14
  SELECT *
@@ -19,16 +19,16 @@ WHERE
19
19
  -- SQL snippets
20
20
  AND \${author_email_condition}
21
21
  \${order_by_clause}
22
- `;function fi({}){const e=x.default.useContext(fe),{sqlSnippets:r}=x.default.useContext(oe),n=x.default.useMemo(()=>{const i=r.reduce((l,u)=>(l[u.key]=u.value,l),{});return JSON.stringify(i,null,2)},[r]),a=x.default.useMemo(()=>JSON.stringify(e,null,2),[e]);return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Context"})}),v(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:[t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:ci}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable context"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable SQL Snippets"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:n})]})]})}function pi({value:e}){const r=x.default.useContext(fe),n=x.default.useContext(oe),a=x.default.useMemo(()=>on(e,r,n),[e,r,n]);return t(se.Prism,{language:"sql",colorScheme:"light",children:a})}function mi({value:e,onChange:r}){const n=de.useForm({initialValues:e}),a=x.default.useCallback(p=>{r(p)},[r]),i=x.default.useMemo(()=>!V.default.isEqual(e,n.values),[e,n.values]);x.default.useEffect(()=>{n.reset()},[e]);const{data:l={},loading:u}=We.useRequest(ln,{refreshDeps:[]},[]),s=x.default.useMemo(()=>Object.keys(l).map(p=>({label:p,value:p})),[l]),d=x.default.useMemo(()=>{const p=l[n.values.type];return p?p.map(f=>({label:f,value:f})):[]},[l,n.values.type]);return t(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",flexGrow:1},children:v("form",{onSubmit:n.onSubmit(a),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{weight:500,children:"Edit Query"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!i||u,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,children:[v(o.Group,{grow:!0,children:[t(o.TextInput,S({placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:u},n.getInputProps("id"))),t(o.Select,S({label:"Data Source Type",data:s,sx:{flex:1},disabled:u},n.getInputProps("type"))),t(o.Select,S({label:"Data Source Key",data:d,sx:{flex:1},disabled:u},n.getInputProps("key")))]}),v(o.Tabs,{children:[t(o.Tabs.Tab,{label:"SQL",children:t(o.Textarea,Y(S({autosize:!0,minRows:12,maxRows:24},n.getInputProps("sql")),{className:"code-textarea"}))}),t(o.Tabs.Tab,{label:"Preview",children:t(pi,{value:n.values.sql})})]})]})]})})}function hi({id:e,setID:r}){const{queries:n,setQueries:a}=x.default.useContext(oe),i=x.default.useMemo(()=>n.find(u=>u.id===e),[n,e]),l=x.default.useCallback(u=>{if(n.findIndex(d=>d.id===e)===-1){console.error(new Error("Invalid data source id when updating by id"));return}a(d=>{const p=d.findIndex(f=>f.id===e);return d.splice(p,1,u),[...d]}),r(u.id)},[e,n,a,r]);return e?i?t(mi,{value:i,onChange:l}):t("span",{children:"Invalid Data Source ID"}):null}function gi({id:e,setID:r}){const{queries:n,setQueries:a}=x.default.useContext(oe),i=x.default.useCallback(()=>{var s,d;r((d=(s=n[0])==null?void 0:s.id)!=null?d:"")},[r,n]);x.default.useEffect(()=>{if(!e){i();return}n.findIndex(d=>d.id===e)===-1&&i()},[e,n,i]);const l=x.default.useMemo(()=>n.map(s=>({value:s.id,label:s.id})),[n]),u=x.default.useCallback(()=>{const s={id:le.randomId(),type:"postgresql",key:"",sql:""};a(d=>[...d,s]),r(s.id)},[a,r]);return t(o.Group,{pb:"xl",children:v(o.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(o.Text,{children:"Select a Query"}),t(o.Select,{data:l,value:e,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),t(o.Text,{children:"or"}),t(o.Group,{position:"center",mt:"md",children:t(o.Button,{onClick:u,children:"Add a Query"})})]})})}function xi({}){const[e,r]=x.default.useState("");return v(o.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:[v(o.Group,{direction:"row",position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[v(o.Group,{direction:"column",grow:!0,sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[t(gi,{id:e,setID:r}),t(hi,{id:e,setID:r})]}),t(fi,{})]}),t(gt,{id:e})]})}function vi({}){const e=x.default.useContext(fe),r="SELECT *\nFROM commit\nWHERE author_time BETWEEN '${timeRange?.[0].toISOString()}' AND '${timeRange?.[1].toISOString()}'";return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Context"})}),v(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:[t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:`-- You may refer context data *by name*
22
+ `;function vi({}){const e=x.default.useContext(fe),{sqlSnippets:r}=x.default.useContext(le),n=x.default.useMemo(()=>{const i=r.reduce((l,u)=>(l[u.key]=u.value,l),{});return JSON.stringify(i,null,2)},[r]),a=x.default.useMemo(()=>JSON.stringify(e,null,2),[e]);return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Context"})}),v(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:[t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:xi}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable context"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable SQL Snippets"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:n})]})]})}function bi({value:e}){const r=x.default.useContext(fe),n=x.default.useContext(le),a=x.default.useMemo(()=>cn(e,r,n),[e,r,n]);return t(se.Prism,{language:"sql",colorScheme:"light",children:a})}function yi({value:e,onChange:r}){const n=de.useForm({initialValues:e}),a=x.default.useCallback(p=>{r(p)},[r]),i=x.default.useMemo(()=>!V.default.isEqual(e,n.values),[e,n.values]);x.default.useEffect(()=>{n.reset()},[e]);const{data:l={},loading:u}=We.useRequest(fn,{refreshDeps:[]},[]),s=x.default.useMemo(()=>Object.keys(l).map(p=>({label:p,value:p})),[l]),d=x.default.useMemo(()=>{const p=l[n.values.type];return p?p.map(f=>({label:f,value:f})):[]},[l,n.values.type]);return t(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",flexGrow:1},children:v("form",{onSubmit:n.onSubmit(a),children:[v(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(o.Text,{weight:500,children:"Edit Query"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!i||u,children:t(q.DeviceFloppy,{size:20})})]}),v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,children:[v(o.Group,{grow:!0,children:[t(o.TextInput,y({placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:u},n.getInputProps("id"))),t(o.Select,y({label:"Data Source Type",data:s,sx:{flex:1},disabled:u},n.getInputProps("type"))),t(o.Select,y({label:"Data Source Key",data:d,sx:{flex:1},disabled:u},n.getInputProps("key")))]}),v(o.Tabs,{children:[t(o.Tabs.Tab,{label:"SQL",children:t(o.Textarea,Y(y({autosize:!0,minRows:12,maxRows:24},n.getInputProps("sql")),{className:"code-textarea"}))}),t(o.Tabs.Tab,{label:"Preview",children:t(bi,{value:n.values.sql})})]})]})]})})}function Si({id:e,setID:r}){const{queries:n,setQueries:a}=x.default.useContext(le),i=x.default.useMemo(()=>n.find(u=>u.id===e),[n,e]),l=x.default.useCallback(u=>{if(n.findIndex(d=>d.id===e)===-1){console.error(new Error("Invalid data source id when updating by id"));return}a(d=>{const p=d.findIndex(f=>f.id===e);return d.splice(p,1,u),[...d]}),r(u.id)},[e,n,a,r]);return e?i?t(yi,{value:i,onChange:l}):t("span",{children:"Invalid Data Source ID"}):null}function Ci({id:e,setID:r}){const{queries:n,setQueries:a}=x.default.useContext(le),i=x.default.useCallback(()=>{var s,d;r((d=(s=n[0])==null?void 0:s.id)!=null?d:"")},[r,n]);x.default.useEffect(()=>{if(!e){i();return}n.findIndex(d=>d.id===e)===-1&&i()},[e,n,i]);const l=x.default.useMemo(()=>n.map(s=>({value:s.id,label:s.id})),[n]),u=x.default.useCallback(()=>{const s={id:ie.randomId(),type:"postgresql",key:"",sql:""};a(d=>[...d,s]),r(s.id)},[a,r]);return t(o.Group,{pb:"xl",children:v(o.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(o.Text,{children:"Select a Query"}),t(o.Select,{data:l,value:e,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),t(o.Text,{children:"or"}),t(o.Group,{position:"center",mt:"md",children:t(o.Button,{onClick:u,children:"Add a Query"})})]})})}function wi({}){const[e,r]=x.default.useState("");return v(o.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:[v(o.Group,{direction:"row",position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[v(o.Group,{direction:"column",grow:!0,sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[t(Ci,{id:e,setID:r}),t(Si,{id:e,setID:r})]}),t(vi,{})]}),t(vt,{id:e})]})}function Ti({}){const e=x.default.useContext(fe),r="SELECT *\nFROM commit\nWHERE author_time BETWEEN '${timeRange?.[0].toISOString()}' AND '${timeRange?.[1].toISOString()}'";return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Context"})}),v(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:[t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:`-- You may refer context data *by name*
23
23
  -- in SQL or VizConfig.
24
24
 
25
- ${r}`}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable context entries"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(e,null,2)})]})]})}function bi({value:e}){const r=x.default.useContext(fe),n=x.default.useMemo(()=>an(e,r),[e,r]);return v(o.Group,{direction:"column",noWrap:!0,grow:!0,children:[t(o.Text,{children:"Preview"}),t(se.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:n})]})}function yi({}){const{sqlSnippets:e,setSQLSnippets:r}=x.default.useContext(oe),n=x.default.useMemo(()=>({snippets:de.formList(e!=null?e:[])}),[e]),a=de.useForm({initialValues:n}),i=()=>a.addListItem("snippets",{key:le.randomId(),value:""}),l=x.default.useMemo(()=>!V.default.isEqual(a.values,n),[a.values,n]),u=({snippets:s})=>{r(s)};return t(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",flexGrow:1},children:v("form",{onSubmit:a.onSubmit(u),children:[v(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:[t(o.Text,{weight:500,children:"SQL Snippets"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!l,children:t(q.DeviceFloppy,{size:20})})]}),t(o.Group,{px:"md",pb:"md",pt:"md",children:v(o.Group,{direction:"column",sx:{width:"100%",position:"relative"},grow:!0,children:[a.values.snippets.map((s,d)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.TextInput,S({label:"Key",required:!0},a.getListInputProps("snippets",d,"key"))),t(o.Textarea,Y(S({minRows:3,label:"Value",required:!0},a.getListInputProps("snippets",d,"value")),{className:"code-textarea"})),t(bi,{value:a.values.snippets[d].value}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>a.removeListItem("snippets",d),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},d)),t(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:t(o.Button,{variant:"default",onClick:i,children:"Add a snippet"})})]})})]})})}const Si=`SELECT *
25
+ ${r}`}),t(o.Text,{weight:500,sx:{flexGrow:0},children:"Avaiable context entries"}),t(se.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:JSON.stringify(e,null,2)})]})]})}function Di({value:e}){const r=x.default.useContext(fe),n=x.default.useMemo(()=>dn(e,r),[e,r]);return v(o.Group,{direction:"column",noWrap:!0,grow:!0,children:[t(o.Text,{children:"Preview"}),t(se.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:n})]})}function Ei({}){const{sqlSnippets:e,setSQLSnippets:r}=x.default.useContext(le),n=x.default.useMemo(()=>({snippets:de.formList(e!=null?e:[])}),[e]),a=de.useForm({initialValues:n}),i=()=>a.addListItem("snippets",{key:ie.randomId(),value:""}),l=x.default.useMemo(()=>!V.default.isEqual(a.values,n),[a.values,n]),u=({snippets:s})=>{r(s)};return t(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",flexGrow:1},children:v("form",{onSubmit:a.onSubmit(u),children:[v(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:[t(o.Text,{weight:500,children:"SQL Snippets"}),t(o.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!l,children:t(q.DeviceFloppy,{size:20})})]}),t(o.Group,{px:"md",pb:"md",pt:"md",children:v(o.Group,{direction:"column",sx:{width:"100%",position:"relative"},grow:!0,children:[a.values.snippets.map((s,d)=>v(o.Group,{direction:"column",grow:!0,my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(o.TextInput,y({label:"Key",required:!0},a.getListInputProps("snippets",d,"key"))),t(o.Textarea,Y(y({minRows:3,label:"Value",required:!0},a.getListInputProps("snippets",d,"value")),{className:"code-textarea"})),t(Di,{value:a.values.snippets[d].value}),t(o.ActionIcon,{color:"red",variant:"hover",onClick:()=>a.removeListItem("snippets",d),sx:{position:"absolute",top:15,right:5},children:t(q.Trash,{size:16})})]},d)),t(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:t(o.Button,{variant:"default",onClick:i,children:"Add a snippet"})})]})})]})})}const Ai=`SELECT *
26
26
  FROM commit
27
- WHERE \${author_time_condition}`;function Ci(){return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Guide"})}),t(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,trim:!1,colorScheme:"dark",children:`-- You may refer context data *by name*
27
+ WHERE \${author_time_condition}`;function Mi(){return v(o.Group,{direction:"column",grow:!0,sx:{border:"1px solid #eee",overflow:"hidden"},children:[t(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(o.Text,{weight:500,children:"Guide"})}),t(o.Group,{direction:"column",px:"md",pb:"md",sx:{width:"100%"},children:t(se.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,trim:!1,colorScheme:"dark",children:`-- You may refer context data *by name*
28
28
  -- in SQL or VizConfig.
29
29
 
30
- ${Si}
30
+ ${Ai}
31
31
 
32
32
  -- where author_time_condition is:
33
33
  author_time BETWEEN '\${timeRange?.[0].toISOString()}' AND '\${timeRange?.[1].toISOString()}'
34
- `})})]})}function wi({}){return t(o.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:v(o.Group,{direction:"row",position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[t(yi,{}),v(o.Group,{direction:"column",grow:!0,noWrap:!0,sx:{maxWidth:"40%"},children:[t(Ci,{}),t(vi,{})]})]})})}function Ti({opened:e,close:r}){const{freezeLayout:n}=x.default.useContext(ge);return x.default.useEffect(()=>{n(e)},[e]),t(o.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Data Settings",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:v(o.Tabs,{children:[t(o.Tabs.Tab,{label:"SQL Snippet",children:t(wi,{})}),t(o.Tabs.Tab,{label:"Queries",children:t(xi,{})})]})})}function Di({mode:e,setMode:r,hasChanges:n,addPanel:a,saveChanges:i}){const{inLayoutMode:l,inEditMode:u,inUseMode:s}=x.default.useContext(ge),[d,p]=x.default.useState(!1),f=()=>p(!0),c=()=>p(!1);return v(o.Group,{position:"apart",pt:"sm",pb:"xs",children:[t(o.Group,{position:"left",children:t(di,{mode:e,setMode:r})}),v(o.Group,{position:"right",children:[!s&&t(o.Button,{variant:"default",size:"sm",onClick:a,leftIcon:t(q.PlaylistAdd,{size:20}),children:"Add a Panel"}),u&&t(o.Button,{variant:"default",size:"sm",onClick:f,leftIcon:t(q.Database,{size:20}),children:"Data Settings"}),!s&&t(o.Button,{variant:"default",size:"sm",onClick:i,disabled:!n,leftIcon:t(q.DeviceFloppy,{size:20}),children:"Save Changes"}),!s&&t(o.Button,{color:"red",size:"sm",disabled:!n,leftIcon:t(q.Recycle,{size:20}),children:"Revert Changes"})]}),t(Ti,{opened:d,close:c}),s&&t(o.Button,{variant:"default",size:"sm",disabled:!0,leftIcon:t(q.Share,{size:20}),children:"Share"})]})}function Ei({context:e,dashboard:r,update:n,className:a="dashboard",config:i}){Te.baseURL!==i.apiBaseURL&&(Te.baseURL=i.apiBaseURL);const[l,u]=x.default.useState(!1),[s,d]=x.default.useState(r.panels),[p,f]=x.default.useState(r.definition.sqlSnippets),[c,h]=x.default.useState(r.definition.queries),[m,b]=x.default.useState(ie.Edit),g=x.default.useMemo(()=>{const A=W=>JSON.parse(JSON.stringify(W));return!V.default.isEqual(A(s),A(r.panels))||!V.default.isEqual(p,r.definition.sqlSnippets)?!0:!V.default.isEqual(c,r.definition.queries)},[r,s,p,c]),y=async()=>{const A=Y(S({},r),{panels:s,definition:{sqlSnippets:p,queries:c}});await n(A)},w=()=>{const A=le.randomId(),G={id:A,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${A}`,description:"<p><br></p>",queryID:"",viz:{type:"text",conf:{}}};d(W=>[...W,G])},C=A=>{const G=s.findIndex(W=>W.id===A);d(W=>(W.splice(G,1),[...W]))},D=m===ie.Edit,E=m===ie.Layout,T=m===ie.Use,M=x.default.useMemo(()=>({sqlSnippets:p,setSQLSnippets:f,queries:c,setQueries:h}),[p,f,c,h]);return t(fe.Provider,{value:e,children:t("div",{className:a,children:t(oe.Provider,{value:M,children:v(ge.Provider,{value:{layoutFrozen:l,freezeLayout:u,mode:m,inEditMode:D,inLayoutMode:E,inUseMode:T},children:[t(Di,{mode:m,setMode:b,hasChanges:g,addPanel:w,saveChanges:y}),t(Vt,{panels:s,setPanels:d,isDraggable:E,isResizable:E,onRemoveItem:C})]})})})})}const Mi=ee.WidthProvider(dt.default);function Ai({panels:e,className:r="layout",rowHeight:n=10}){return t(Mi,{className:r,rowHeight:n,isDraggable:!1,isResizable:!1,children:e.map(l=>{var u=l,{id:a}=u,i=Z(u,["id"]);return t("div",{"data-grid":i.layout,children:t(et,S({id:a},i))},a)})})}function Gi({context:e,dashboard:r,className:n="dashboard",config:a}){Te.baseURL!==a.apiBaseURL&&(Te.baseURL=a.apiBaseURL);const i=x.default.useMemo(()=>Y(S({},r.definition),{setSQLSnippets:()=>{},setQueries:()=>{}}),[r]);return t(fe.Provider,{value:e,children:t("div",{className:n,children:t(oe.Provider,{value:i,children:t(ge.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:ie.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:t(Ai,{panels:r.panels})})})})})}I.ContextInfoContext=fe,I.Dashboard=Ei,I.DashboardLayout=Vt,I.DashboardMode=ie,I.DefinitionContext=oe,I.LayoutStateContext=ge,I.Panel=et,I.PanelContext=ae,I.ReadOnlyDashboard=Gi,I.initialContextInfoContext=sn,Object.defineProperties(I,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
34
+ `})})]})}function Gi({}){return t(o.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:v(o.Group,{direction:"row",position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[t(Ei,{}),v(o.Group,{direction:"column",grow:!0,noWrap:!0,sx:{maxWidth:"40%"},children:[t(Mi,{}),t(Ti,{})]})]})})}function zi({opened:e,close:r}){const{freezeLayout:n}=x.default.useContext(ge);return x.default.useEffect(()=>{n(e)},[e]),t(o.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Data Settings",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:v(o.Tabs,{children:[t(o.Tabs.Tab,{label:"SQL Snippet",children:t(Gi,{})}),t(o.Tabs.Tab,{label:"Queries",children:t(wi,{})})]})})}function Ii({mode:e,setMode:r,hasChanges:n,addPanel:a,saveChanges:i}){const{inLayoutMode:l,inEditMode:u,inUseMode:s}=x.default.useContext(ge),[d,p]=x.default.useState(!1),f=()=>p(!0),c=()=>p(!1);return v(o.Group,{position:"apart",pt:"sm",pb:"xs",children:[t(o.Group,{position:"left",children:t(gi,{mode:e,setMode:r})}),v(o.Group,{position:"right",children:[!s&&t(o.Button,{variant:"default",size:"sm",onClick:a,leftIcon:t(q.PlaylistAdd,{size:20}),children:"Add a Panel"}),u&&t(o.Button,{variant:"default",size:"sm",onClick:f,leftIcon:t(q.Database,{size:20}),children:"Data Settings"}),!s&&t(o.Button,{variant:"default",size:"sm",onClick:i,disabled:!n,leftIcon:t(q.DeviceFloppy,{size:20}),children:"Save Changes"}),!s&&t(o.Button,{color:"red",size:"sm",disabled:!n,leftIcon:t(q.Recycle,{size:20}),children:"Revert Changes"})]}),t(zi,{opened:d,close:c}),s&&t(o.Button,{variant:"default",size:"sm",disabled:!0,leftIcon:t(q.Share,{size:20}),children:"Share"})]})}function Pi({context:e,dashboard:r,update:n,className:a="dashboard",config:i}){Te.baseURL!==i.apiBaseURL&&(Te.baseURL=i.apiBaseURL);const[l,u]=x.default.useState(!1),[s,d]=x.default.useState(r.panels),[p,f]=x.default.useState(r.definition.sqlSnippets),[c,h]=x.default.useState(r.definition.queries),[m,b]=x.default.useState(ae.Edit),g=x.default.useMemo(()=>{const M=W=>JSON.parse(JSON.stringify(W));return!V.default.isEqual(M(s),M(r.panels))||!V.default.isEqual(p,r.definition.sqlSnippets)?!0:!V.default.isEqual(c,r.definition.queries)},[r,s,p,c]),S=async()=>{const M=Y(y({},r),{panels:s,definition:{sqlSnippets:p,queries:c}});await n(M)},C=()=>{const M=ie.randomId(),G={id:M,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${M}`,description:"<p><br></p>",queryID:"",viz:{type:"text",conf:{}}};d(W=>[...W,G])},w=M=>{const G=s.findIndex(W=>W.id===M);d(W=>(W.splice(G,1),[...W]))},D=m===ae.Edit,E=m===ae.Layout,T=m===ae.Use,A=x.default.useMemo(()=>({sqlSnippets:p,setSQLSnippets:f,queries:c,setQueries:h}),[p,f,c,h]);return t(fe.Provider,{value:e,children:t("div",{className:a,children:t(le.Provider,{value:A,children:v(ge.Provider,{value:{layoutFrozen:l,freezeLayout:u,mode:m,inEditMode:D,inLayoutMode:E,inUseMode:T},children:[t(Ii,{mode:m,setMode:b,hasChanges:g,addPanel:C,saveChanges:S}),t(Kt,{panels:s,setPanels:d,isDraggable:E,isResizable:E,onRemoveItem:w})]})})})})}const Li=ee.WidthProvider(ft.default);function Ni({panels:e,className:r="layout",rowHeight:n=10}){return t(Li,{className:r,rowHeight:n,isDraggable:!1,isResizable:!1,children:e.map(l=>{var u=l,{id:a}=u,i=Z(u,["id"]);return t("div",{"data-grid":i.layout,children:t(nt,y({id:a},i))},a)})})}function Oi({context:e,dashboard:r,className:n="dashboard",config:a}){Te.baseURL!==a.apiBaseURL&&(Te.baseURL=a.apiBaseURL);const i=x.default.useMemo(()=>Y(y({},r.definition),{setSQLSnippets:()=>{},setQueries:()=>{}}),[r]);return t(fe.Provider,{value:e,children:t("div",{className:n,children:t(le.Provider,{value:i,children:t(ge.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:ae.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:t(Ni,{panels:r.panels})})})})})}z.ContextInfoContext=fe,z.Dashboard=Pi,z.DashboardLayout=Kt,z.DashboardMode=ae,z.DefinitionContext=le,z.LayoutStateContext=ge,z.Panel=nt,z.PanelContext=oe,z.ReadOnlyDashboard=Oi,z.initialContextInfoContext=pn,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -6,5 +6,5 @@ interface ICartesianChart {
6
6
  width: number;
7
7
  height: number;
8
8
  }
9
- export declare function VizCartesianChart({ conf, data, width, height }: ICartesianChart): JSX.Element | null;
9
+ export declare function VizCartesianChart({ conf, data, width, height }: ICartesianChart): JSX.Element;
10
10
  export {};
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { Control, UseFormWatch } from "react-hook-form";
3
+ import { ICartesianChartConf } from "../../type";
4
+ interface IVariablesField {
5
+ control: Control<ICartesianChartConf, any>;
6
+ watch: UseFormWatch<ICartesianChartConf>;
7
+ data: any[];
8
+ }
9
+ export declare function StatsField({ control, watch, data }: IVariablesField): JSX.Element;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Control, UseFieldArrayRemove } from "react-hook-form";
3
+ import { ICartesianChartConf } from "../../type";
4
+ interface VariableField {
5
+ control: Control<ICartesianChartConf, any>;
6
+ index: number;
7
+ remove: UseFieldArrayRemove;
8
+ data: any[];
9
+ }
10
+ export declare function VariableField({ control, index, remove, data }: VariableField): JSX.Element;
11
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { TextInputProps } from "@mantine/core";
2
2
  import React, { ChangeEventHandler } from "react";
3
3
  import { ITemplateVariable } from "./types";
4
+ export declare function getANewVariable(): ITemplateVariable;
4
5
  interface ITemplateInput extends Omit<TextInputProps, 'value' | 'onChange'> {
5
6
  value: string;
6
7
  onChange: ChangeEventHandler<HTMLInputElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtable/dashboard",
3
- "version": "1.24.0",
3
+ "version": "1.25.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"