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