@devtable/dashboard 13.36.2 → 13.36.4

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.
@@ -4,5 +4,5 @@ type Props = {
4
4
  totalPages: number;
5
5
  width: number;
6
6
  };
7
- export declare const HeatmapPagination: (props: Props) => import('./react/jsx-runtime').JSX.Element | undefined;
7
+ export declare const HeatmapPagination: (props: Props) => import('./react/jsx-runtime').JSX.Element | null;
8
8
  export {};
@@ -9579,7 +9579,7 @@ class lc {
9579
9579
  }), this.instanceRegistry.clear(), this.factoryRegistry.clear();
9580
9580
  }
9581
9581
  }
9582
- const mf = "13.36.2", JS = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
9582
+ const mf = "13.36.4", JS = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
9583
9583
  __proto__: null,
9584
9584
  version: mf
9585
9585
  }, Symbol.toStringTag, { value: "Module" }));
@@ -16115,15 +16115,12 @@ const vT = {
16115
16115
  return /* @__PURE__ */ r.jsx(el, { size: "xs", value: e, onChange: (s) => {
16116
16116
  t(Number(s.currentTarget.value));
16117
16117
  }, data: i });
16118
- }, wT = (e) => {
16119
- if (!(e.totalPages <= 1))
16120
- return /* @__PURE__ */ r.jsx(R, { sx: {
16121
- position: "absolute",
16122
- top: "calc(1rem + 5px)",
16123
- right: "calc(1rem + 5px)",
16124
- zIndex: 2
16125
- }, children: e.width > 600 ? /* @__PURE__ */ r.jsx(_T, { ...e }) : /* @__PURE__ */ r.jsx(jT, { ...e }) });
16126
- };
16118
+ }, wT = (e) => e.totalPages <= 1 ? null : /* @__PURE__ */ r.jsx(R, { sx: {
16119
+ position: "absolute",
16120
+ top: "calc(1rem + 5px)",
16121
+ right: "calc(1rem + 5px)",
16122
+ zIndex: 2
16123
+ }, children: e.width > 600 ? /* @__PURE__ */ r.jsx(_T, { ...e }) : /* @__PURE__ */ r.jsx(jT, { ...e }) });
16127
16124
  function ST(e) {
16128
16125
  const t = $t(e.x_axis.axisLabel.formatter), n = $t(e.y_axis.axisLabel.formatter);
16129
16126
  return {
@@ -38707,7 +38704,7 @@ const NV = D(({
38707
38704
  ".mantine-NavLink-label": {
38708
38705
  fontFamily: "monospace"
38709
38706
  }
38710
- }, children: Object.entries(t.data).map(([n, i]) => /* @__PURE__ */ r.jsx(yo, { label: n, icon: /* @__PURE__ */ r.jsx(Pr, { size: 14 }), defaultOpened: e.table_schema === n, pl: 0, childrenOffset: 14, children: i.map((s) => /* @__PURE__ */ r.jsx(yo, { label: s.table_name, icon: /* @__PURE__ */ r.jsx(VV, { table_type: s.table_type }), onClick: () => {
38707
+ }, children: Object.entries(t.data).map(([n, i]) => /* @__PURE__ */ r.jsx(yo, { label: n, title: n, icon: /* @__PURE__ */ r.jsx(Pr, { size: 14 }), defaultOpened: e.table_schema === n, pl: 0, childrenOffset: 14, children: i.map((s) => /* @__PURE__ */ r.jsx(yo, { label: s.table_name, title: s.table_name, icon: /* @__PURE__ */ r.jsx(VV, { table_type: s.table_type }), onClick: () => {
38711
38708
  e.setKeywords(n, s.table_name);
38712
38709
  }, active: e.table_name === s.table_name }, s.table_name)) }, n)) });
38713
38710
  }), qV = ({
@@ -88,7 +88,7 @@ Check the top-level render call using <`+N+">.")}return A}}function Rg(C,A){{if(
88
88
  ${Object.entries(t).map(([s,i])=>`const ${s} = '${i}';`).join(`
89
89
  `)}
90
90
  return ${e};
91
- `)(n)}catch(s){return console.error(s),console.log(e),e}}function Ys(e,t,n,s){const i=C_(t,s);return e.replaceAll(/(\{\{([^{\}]+(?=}))\}\})/g,(...l)=>{const c=l[2];if(!c)return c;const u=i[c];if(u)return u;const d=S_(c);return k_(d,i,n)})}function T_(e,t){const n=bc.decode(t);n!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:n}),console.groupEnd())}async function D_({query:e,name:t,payload:n,additionals:s},i){if(!e.sql)return[];const{type:a,key:l,sql:c,pre_process:u,post_process:d}=e,p=Mi(c,n),h=Ym({sql:p,pre_process:u}),f=bc.encode(h);T_(h,f);let x=await Yt.query(i)({type:a,key:l,query:f,...s},{params:{name:t}});return x=Km(d,x,fo(n)),x}async function I_({type:e,key:t,configString:n,name:s,additionals:i},a){try{return await Yt.httpDataSourceQuery(a)({type:e,key:t,query:n,...i},{params:{name:s}})}catch(l){if(Wt.isCancel(l))throw l;return console.error(l),l}}async function go(){try{return(await Yt.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(e){return console.error(e),[]}}async function Vp(){try{return(await Yt.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(e){return console.error(e),[]}}class Np{constructor(t){q(this,"rootRef");this.rootRef=re.observable({current:t})}async deleteItem(t){re.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?re.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(v.isObject(n))re.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else re.runInAction(()=>{v.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,s){return re.reaction(()=>this.getValueFromRoot(t),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:v.get(s,"fireImmediately",!1)})}}class M_{constructor(){q(this,"channels",new Map);q(this,"globalChannel",new yc)}getChannel(t){const n=this.channels.get(t);if(n)return n;const s=new yc;return this.channels.set(t,s),s}}class z_{constructor(t){q(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const n=this.instances.get(t.id);if(n)return n;const s={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new M_,instanceData:new Np(t.viz.conf)};return this.instances.set(t.id,s),s}}function qp(e,t,n,s){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Np({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const E_=e=>{const{panel:t,measure:n,vizManager:s,data:i,variables:a}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...qp(c,i,s,a),viewport:{width:n.w,height:n.h}},d=l.viewRender;return r.jsx(d,{context:u,instance:c,...v.omit(e,["panel","vizManager","data"])})},A_=e=>{const{vizManager:t,panel:n,data:s,variables:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),c={...qp(l,s,t,i)},u=a.configRender;return r.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},$p=(e,t)=>{const n=Rt.bezier(e),s=Rt.bezier(t);return function(i){return i<50?n(i*2/100).hex():s((i-50)*2/100).hex()}},Ks=e=>{const t=Rt.bezier(e);return function(n){return t(n/100).hex()}},P_={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:$p(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},O_={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:$p(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},L_={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:Ks(["#fff7f1","darkred"]),name:"red",category:"sequential"},B_={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:Ks(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},V_={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:Ks(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},N_={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:Ks(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class q_{constructor(t){q(this,"symbol");this.symbol=Symbol(t)}}function hn(e){return new q_(e)}class mo{constructor(){q(this,"parent");q(this,"factoryRegistry",new Map);q(this,"instanceRegistry",new Map)}createScoped(){const t=new mo;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const n=this.factoryRegistry.get(t.symbol);if(n){const s=n(this);return this.instanceRegistry.set(t.symbol,s),s}if(this.parent)return this.parent.get(t)}provideFactory(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,n),this}provideValue(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(t=>{const n=v.get(t,"dispose");v.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const Fp="13.36.2",$_=Object.freeze(Object.defineProperty({__proto__:null,version:Fp},Symbol.toStringTag,{value:"Module"}));class F_{constructor(t){q(this,"staticColors",new Map);q(this,"interpolations",new Map);t.installedPlugins.forEach(n=>{n.manifest.color.forEach(s=>{this.register(s)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const n=this.encodeColor(t);t.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(n,t)):t.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(n,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class G_{constructor(){q(this,"plugins",new Map);q(this,"vizComponents",new Map);q(this,"factory",{viz:t=>{const n=this.vizComponents.get(t);if(n)return n;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const n of t.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class W_{constructor(){q(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n,s){var l;if(t.from===t.to)return n;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const i=this.migrations.filter(c=>c.version>t.from&&c.version<=t.to),a=v.orderBy(i,"version","asc");if(((l=v.last(a))==null?void 0:l.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return a.reduce((c,u)=>u.handler(c,s),n)}}class De extends W_{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,(s,i)=>({version:t,...n(s,i)}))}async migrate({configData:t,panelModel:n}){const s=await t.getItem(null),i=v.get(s,"version",0),a=this.run({from:i,to:this.VERSION},s,{panelModel:n});await t.setItem(null,a)}async needMigration({configData:t}){const n=await t.getItem(null);return v.get(n,"version",0)<this.VERSION}}const Q=(e,t)=>{const[n,{setFalse:s}]=X.useBoolean(!0),[i,a]=g.useState();g.useEffect(()=>(e.getItem(t).then(c=>{a(c),s()}),e.watchItem(t,c=>{a(c)})));const l=g.useCallback(async c=>{await e.setItem(t,c),a(c)},[e,t]);return{loading:n,value:i,set:l}},ut={top:16,right:16,bottom:16,left:16},Bt=e=>Math.max(0,e-ut.left-ut.right),Vt=e=>Math.max(0,e-ut.top-ut.bottom),Zr=(e,t)=>({width:Bt(e),height:Vt(t)}),dt=({width:e,height:t,children:n})=>r.jsx(o.Box,{pt:ut.top,pr:ut.right,pb:ut.bottom,pl:ut.left,sx:{width:e,height:t,overflow:"hidden",position:"relative"},children:n}),xo={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};function R_({context:e}){const{value:t}=Q(e.instanceData,"config"),n=e.data,{width:s,height:i}=e.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=v.defaults({},t,xo),h=g.useMemo(()=>cs(n,a),[n,a]),{x:f,y:x,z:b}=g.useMemo(()=>({x:L(a),y:L(l),z:L(c)}),[a,l,c]),{min:_,max:T}=g.useMemo(()=>{const D=v.minBy(h,M=>M[b.columnKey]),z=v.maxBy(h,M=>M[b.columnKey]);return{min:v.get(D,b.columnKey),max:v.get(z,b.columnKey)}},[h,b]),k={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:_,max:T,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,zAxis3D:p,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:h.map(D=>[D[f.columnKey],D[x.columnKey],D[b.columnKey]])}]};return t?r.jsx(dt,{width:s,height:i,children:r.jsx(Ye,{echarts:Ue,option:k,style:Zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const U=I.observer(g.forwardRef(({label:e,required:t,description:n,value:s,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=rt(),h=g.useMemo(()=>p.dataFieldOptions(s,l,a),[s,l,a]);if(h.length===0){const f=p.explainDataKey(s);return r.jsxs(o.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.Box,{children:r.jsx(o.TextInput,{label:e,required:t,defaultValue:f.columnKey,readOnly:!0,disabled:!0})})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsxs(o.Group,{position:"left",spacing:0,children:[r.jsx(o.Text,{size:"xs",color:f.queryName?"black":"red",sx:{fontFamily:"monospace"},children:f.queryName??f.queryID}),r.jsx(o.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),r.jsx(o.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:f.columnKey})]})})]})}return r.jsx(o.Select,{ref:d,label:e,description:n,data:h,value:s,onChange:i,required:t,sx:c,maxDropdownHeight:500,...u})}));function Q_({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=v.defaults({},t,xo),{control:i,handleSubmit:a,reset:l}=y.useForm({defaultValues:s});return g.useEffect(()=>{l(s)},[t]),t?r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:a(n),children:[r.jsx(o.Text,{children:"X Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Text,{mt:"lg",children:"Y Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Text,{mt:"lg",children:"Z Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:r.jsxs(o.Button,{color:"blue",type:"submit",children:[r.jsx(S.IconDeviceFloppy,{size:20}),r.jsx(o.Text,{ml:"md",children:"Save"})]})})]})}):null}const U_=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function Y_(e,{panelModel:t}){try{const n=t.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const s=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:a,z_axis_data_key:l,...c}=e;return{...c,x_axis_data_key:s(i),y_axis_data_key:s(a),z_axis_data_key:s(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class K_ extends De{constructor(){super(...arguments);q(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,s)=>{const{config:i}=n;return{...n,version:2,config:Y_(i,s)}})}}const X_={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new K_,name:"bar-3d",viewRender:R_,configRender:Q_,createConfig(){return{version:2,config:v.cloneDeep(xo)}},translation:U_},J_=({disabled:e,value:t,onChange:n})=>{const s=i=>{i&&n(i)};return r.jsxs(o.Box,{sx:{position:"relative"},children:[e&&r.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),r.jsx(gt,{height:"500px",defaultLanguage:"javascript",value:t,onChange:s,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})};function pt({enabled:e,func_content:t}){return(n,s)=>{if(!e)return n;try{return new Function(`return ${t}`)()(n,s)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function et(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
91
+ `)(n)}catch(s){return console.error(s),console.log(e),e}}function Ys(e,t,n,s){const i=C_(t,s);return e.replaceAll(/(\{\{([^{\}]+(?=}))\}\})/g,(...l)=>{const c=l[2];if(!c)return c;const u=i[c];if(u)return u;const d=S_(c);return k_(d,i,n)})}function T_(e,t){const n=bc.decode(t);n!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:n}),console.groupEnd())}async function D_({query:e,name:t,payload:n,additionals:s},i){if(!e.sql)return[];const{type:a,key:l,sql:c,pre_process:u,post_process:d}=e,p=Mi(c,n),h=Ym({sql:p,pre_process:u}),f=bc.encode(h);T_(h,f);let x=await Yt.query(i)({type:a,key:l,query:f,...s},{params:{name:t}});return x=Km(d,x,fo(n)),x}async function I_({type:e,key:t,configString:n,name:s,additionals:i},a){try{return await Yt.httpDataSourceQuery(a)({type:e,key:t,query:n,...i},{params:{name:s}})}catch(l){if(Wt.isCancel(l))throw l;return console.error(l),l}}async function go(){try{return(await Yt.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(e){return console.error(e),[]}}async function Vp(){try{return(await Yt.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(e){return console.error(e),[]}}class Np{constructor(t){q(this,"rootRef");this.rootRef=re.observable({current:t})}async deleteItem(t){re.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const n=this.getValueFromRoot(t);return Promise.resolve(n)}getValueFromRoot(t){return t===null?re.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,n){if(t===null)if(v.isObject(n))re.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else re.runInAction(()=>{v.set(this.rootRef.current,[t],n)});return Promise.resolve(this.getItem(t))}watchItem(t,n,s){return re.reaction(()=>this.getValueFromRoot(t),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:v.get(s,"fireImmediately",!1)})}}class M_{constructor(){q(this,"channels",new Map);q(this,"globalChannel",new yc)}getChannel(t){const n=this.channels.get(t);if(n)return n;const s=new yc;return this.channels.set(t,s),s}}class z_{constructor(t){q(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const n=this.instances.get(t.id);if(n)return n;const s={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new M_,instanceData:new Np(t.viz.conf)};return this.instances.set(t.id,s),s}}function qp(e,t,n,s){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Np({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const E_=e=>{const{panel:t,measure:n,vizManager:s,data:i,variables:a}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...qp(c,i,s,a),viewport:{width:n.w,height:n.h}},d=l.viewRender;return r.jsx(d,{context:u,instance:c,...v.omit(e,["panel","vizManager","data"])})},A_=e=>{const{vizManager:t,panel:n,data:s,variables:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),c={...qp(l,s,t,i)},u=a.configRender;return r.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},$p=(e,t)=>{const n=Rt.bezier(e),s=Rt.bezier(t);return function(i){return i<50?n(i*2/100).hex():s((i-50)*2/100).hex()}},Ks=e=>{const t=Rt.bezier(e);return function(n){return t(n/100).hex()}},P_={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:$p(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},O_={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:$p(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},L_={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:Ks(["#fff7f1","darkred"]),name:"red",category:"sequential"},B_={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:Ks(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},V_={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:Ks(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},N_={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:Ks(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class q_{constructor(t){q(this,"symbol");this.symbol=Symbol(t)}}function hn(e){return new q_(e)}class mo{constructor(){q(this,"parent");q(this,"factoryRegistry",new Map);q(this,"instanceRegistry",new Map)}createScoped(){const t=new mo;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const n=this.factoryRegistry.get(t.symbol);if(n){const s=n(this);return this.instanceRegistry.set(t.symbol,s),s}if(this.parent)return this.parent.get(t)}provideFactory(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,n),this}provideValue(t,n){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(t=>{const n=v.get(t,"dispose");v.isFunction(n)&&n.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const Fp="13.36.4",$_=Object.freeze(Object.defineProperty({__proto__:null,version:Fp},Symbol.toStringTag,{value:"Module"}));class F_{constructor(t){q(this,"staticColors",new Map);q(this,"interpolations",new Map);t.installedPlugins.forEach(n=>{n.manifest.color.forEach(s=>{this.register(s)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const n=this.encodeColor(t);t.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(n,t)):t.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(n,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class G_{constructor(){q(this,"plugins",new Map);q(this,"vizComponents",new Map);q(this,"factory",{viz:t=>{const n=this.vizComponents.get(t);if(n)return n;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const n of t.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class W_{constructor(){q(this,"migrations",[])}version(t,n){return this.migrations.push({version:t,handler:n}),this}run(t,n,s){var l;if(t.from===t.to)return n;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const i=this.migrations.filter(c=>c.version>t.from&&c.version<=t.to),a=v.orderBy(i,"version","asc");if(((l=v.last(a))==null?void 0:l.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return a.reduce((c,u)=>u.handler(c,s),n)}}class De extends W_{constructor(){super(),this.configVersions()}version(t,n){return super.version(t,(s,i)=>({version:t,...n(s,i)}))}async migrate({configData:t,panelModel:n}){const s=await t.getItem(null),i=v.get(s,"version",0),a=this.run({from:i,to:this.VERSION},s,{panelModel:n});await t.setItem(null,a)}async needMigration({configData:t}){const n=await t.getItem(null);return v.get(n,"version",0)<this.VERSION}}const Q=(e,t)=>{const[n,{setFalse:s}]=X.useBoolean(!0),[i,a]=g.useState();g.useEffect(()=>(e.getItem(t).then(c=>{a(c),s()}),e.watchItem(t,c=>{a(c)})));const l=g.useCallback(async c=>{await e.setItem(t,c),a(c)},[e,t]);return{loading:n,value:i,set:l}},ut={top:16,right:16,bottom:16,left:16},Bt=e=>Math.max(0,e-ut.left-ut.right),Vt=e=>Math.max(0,e-ut.top-ut.bottom),Zr=(e,t)=>({width:Bt(e),height:Vt(t)}),dt=({width:e,height:t,children:n})=>r.jsx(o.Box,{pt:ut.top,pr:ut.right,pb:ut.bottom,pl:ut.left,sx:{width:e,height:t,overflow:"hidden",position:"relative"},children:n}),xo={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};function R_({context:e}){const{value:t}=Q(e.instanceData,"config"),n=e.data,{width:s,height:i}=e.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=v.defaults({},t,xo),h=g.useMemo(()=>cs(n,a),[n,a]),{x:f,y:x,z:b}=g.useMemo(()=>({x:L(a),y:L(l),z:L(c)}),[a,l,c]),{min:_,max:T}=g.useMemo(()=>{const D=v.minBy(h,M=>M[b.columnKey]),z=v.maxBy(h,M=>M[b.columnKey]);return{min:v.get(D,b.columnKey),max:v.get(z,b.columnKey)}},[h,b]),k={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:_,max:T,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,zAxis3D:p,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:h.map(D=>[D[f.columnKey],D[x.columnKey],D[b.columnKey]])}]};return t?r.jsx(dt,{width:s,height:i,children:r.jsx(Ye,{echarts:Ue,option:k,style:Zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const U=I.observer(g.forwardRef(({label:e,required:t,description:n,value:s,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=rt(),h=g.useMemo(()=>p.dataFieldOptions(s,l,a),[s,l,a]);if(h.length===0){const f=p.explainDataKey(s);return r.jsxs(o.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.Box,{children:r.jsx(o.TextInput,{label:e,required:t,defaultValue:f.columnKey,readOnly:!0,disabled:!0})})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsxs(o.Group,{position:"left",spacing:0,children:[r.jsx(o.Text,{size:"xs",color:f.queryName?"black":"red",sx:{fontFamily:"monospace"},children:f.queryName??f.queryID}),r.jsx(o.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),r.jsx(o.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:f.columnKey})]})})]})}return r.jsx(o.Select,{ref:d,label:e,description:n,data:h,value:s,onChange:i,required:t,sx:c,maxDropdownHeight:500,...u})}));function Q_({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=v.defaults({},t,xo),{control:i,handleSubmit:a,reset:l}=y.useForm({defaultValues:s});return g.useEffect(()=>{l(s)},[t]),t?r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:a(n),children:[r.jsx(o.Text,{children:"X Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Text,{mt:"lg",children:"Y Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Text,{mt:"lg",children:"Z Axis"}),r.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[r.jsx(y.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>r.jsx(U,{label:"Data Field",required:!0,...c})}),r.jsx(y.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>r.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),r.jsx(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:r.jsxs(o.Button,{color:"blue",type:"submit",children:[r.jsx(S.IconDeviceFloppy,{size:20}),r.jsx(o.Text,{ml:"md",children:"Save"})]})})]})}):null}const U_=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function Y_(e,{panelModel:t}){try{const n=t.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const s=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:a,z_axis_data_key:l,...c}=e;return{...c,x_axis_data_key:s(i),y_axis_data_key:s(a),z_axis_data_key:s(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class K_ extends De{constructor(){super(...arguments);q(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,s)=>{const{config:i}=n;return{...n,version:2,config:Y_(i,s)}})}}const X_={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new K_,name:"bar-3d",viewRender:R_,configRender:Q_,createConfig(){return{version:2,config:v.cloneDeep(xo)}},translation:U_},J_=({disabled:e,value:t,onChange:n})=>{const s=i=>{i&&n(i)};return r.jsxs(o.Box,{sx:{position:"relative"},children:[e&&r.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),r.jsx(gt,{height:"500px",defaultLanguage:"javascript",value:t,onChange:s,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})};function pt({enabled:e,func_content:t}){return(n,s)=>{if(!e)return n;try{return new Function(`return ${t}`)()(n,s)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function et(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
92
92
  `)}}const Nt=g.forwardRef(({value:e,onChange:t,triggerButtonText:n},s)=>{const{t:i}=j.useTranslation(),[a,{setTrue:l,setFalse:c}]=X.useBoolean(),[u,d]=g.useState(e);g.useEffect(()=>{d(e)},[e]);const p=T=>{d({...u,enabled:T})},h=()=>{c();const{enabled:T,func_content:k}=u,D={enabled:T,func_content:k};d(D),t(D)},f=()=>{c(),d(e)},x=T=>{d(k=>({...k,func_content:T}))},b=()=>{x(et().func_content)},_=n??i("chart.axis.customize_label");return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"filled",color:"grape",leftIcon:r.jsx(S.IconMathFunction,{size:16}),mt:24,onClick:l,sx:{flexGrow:0},children:_}),r.jsx(o.Modal,{size:800,title:_,opened:a,onClose:c,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:a&&r.jsxs(o.Stack,{children:[r.jsx(o.Checkbox,{mt:10,label:i("common.enabled"),checked:u.enabled,onChange:T=>p(T.currentTarget.checked)}),r.jsx(J_,{value:u.func_content,onChange:x,disabled:!u.enabled}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{onClick:b,color:"red",leftIcon:r.jsx(S.IconRecycle,{size:20}),children:i("common.actions.reset_to_default")}),r.jsxs(o.Group,{position:"right",children:[r.jsx(o.Button,{onClick:f,variant:"subtle",children:i("common.actions.cancel")}),r.jsx(o.Button,{color:"green",leftIcon:r.jsx(S.IconDeviceFloppy,{size:16}),onClick:h,children:i("common.actions.save")})]})]})]})})]})}),Fn={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1};function Gp(){return v.cloneDeep(Fn)}const Z_=[{lang:"en",resources:{boxplot:{viz_name:"Boxplot Chart",box:"Box",outlier:"Outlier",scatter:"Scatter",click_series:{label:"Click box, scatter or outlier"}}}},{lang:"zh",resources:{boxplot:{viz_name:"箱线图",box:"箱体",outlier:"异常点",scatter:"散点",click_series:{label:"点击箱体、散点或异常点"}}}}],Wp={id:"builtin:echarts:click-echart:series",displayName:"viz.boxplot.click_series.label",nameRender:ej,configRender:H_,payload:[{name:"type",description:"Always 'click'",valueType:"string"},{name:"seriesType",description:"'boxplot'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"Record of 'name', 'min', 'q1', 'median', 'q3', 'max'",valueType:"object"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function H_(e){return r.jsx(r.Fragment,{})}function ej(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.boxplot.click_series.label")})}const Xs=g.forwardRef(({sectionTitle:e,value:t,onChange:n},s)=>{const{t:i,i18n:a}=j.useTranslation(),l=u=>d=>{const p=v.cloneDeep(t);v.set(p,u,d),n(p)},c=g.useMemo(()=>[{label:i("chart.axis.overflow.truncate"),value:"truncate"},{label:i("chart.axis.overflow.break_line"),value:"break"},{label:i("chart.axis.overflow.break_word"),value:"breakAll"}],[a.language]);return r.jsxs(o.Stack,{spacing:0,children:[e&&r.jsx(o.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",labelProps:{color:"dimmed"}}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(o.NumberInput,{label:i("chart.axis.overflow.max_width"),hideControls:!0,value:t.width,onChange:l("width")}),r.jsx(o.Select,{label:i("chart.axis.overflow.label"),data:c,value:t.overflow,onChange:l("overflow")}),r.jsx(o.TextInput,{label:i("chart.axis.overflow.ellipsis"),value:t.ellipsis,disabled:!0})]})]})}),qt=g.forwardRef(({value:e,onChange:t},n)=>{const{t:s}=j.useTranslation(),i=l=>{t({...e,on_axis:l})},a=l=>{t({...e,in_tooltip:l})};return r.jsxs(o.Stack,{ref:n,spacing:0,children:[r.jsx(Xs,{sectionTitle:s("chart.axis.overflow.section_title.on_axis"),value:e.on_axis,onChange:i}),r.jsx(Xs,{sectionTitle:s("chart.axis.overflow.section_title.in_tooltip"),value:e.in_tooltip,onChange:a})]})});function ht(){return{on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}}}function Dt({overflow:e,width:t}){const n={truncate:"initial",break:"break-all",breakAll:"break-word"}[e],s=e==="truncate"?"nowrap":"initial",i={truncate:"ellipsis",break:"clip",breakAll:"clip"}[e];return`
93
93
  max-width: ${t}px;
94
94
  word-break: ${n};
@@ -176,7 +176,7 @@ Check the top-level render call using <`+N+">.")}return A}}function Rg(C,A){{if(
176
176
  <table style="width: auto">
177
177
  <tbody>${u.join("")}</tbody>
178
178
  </table>
179
- `}}function NC(e,t){return me.getTooltip({trigger:"item",formatter:VC(e,t)})}function qC(e,t){return{grid:{top:0,left:0,right:0,bottom:0},tooltip:NC(e,t),series:LC(e,t)}}function $C(e){return e||(e=Date.now().toString()),{id:e,name:e,level_name_data_key:"",level_value_data_key:"",min:{value:0,enable_value:!1,size:"0%"},max:{value:0,enable_value:!1,size:"100%"},gap:2,axisLabel:{show:!0,position:"inside",overflow:ht()},sort:"descending",orient:"vertical",funnelAlign:"center"}}const Po={series:[$C("Funnel")]};function FC({conf:e,data:t,width:n,height:s}){const i=g.useMemo(()=>qC(e,t),[e,t]);return r.jsx(Ye,{echarts:Ue,option:i,style:{width:n,height:s},notMerge:!0,theme:"merico-light"})}function GC({context:e}){const{value:t}=Q(e.instanceData,"config"),n=g.useMemo(()=>v.defaults({},t,Po),[t]),s=e.data,{width:i,height:a}=e.viewport;return!i||!a?null:r.jsx(dt,{width:i,height:a,children:r.jsx(FC,{width:Bt(i),height:Vt(a),data:s,conf:n})})}const WC=({item:e,control:t,index:n,remove:s})=>{const{t:i,i18n:a}=j.useTranslation(),l=e.min.enable_value,c=e.max.enable_value,{orient:u}=e,d=g.useMemo(()=>({horizontal:[{label:i("chart.label_position.top"),value:"top"},{label:i("chart.label_position.inside_center"),value:"inside"},{label:i("chart.label_position.bottom"),value:"bottom"}],vertical:[{label:i("chart.label_position.left"),value:"left"},{label:i("chart.label_position.inside_left"),value:"insideLeft"},{label:i("chart.label_position.inside_center"),value:"inside"},{label:i("chart.label_position.inside_right"),value:"insideRight"},{label:i("chart.label_position.right"),value:"right"}]}),[a.language]),p=g.useMemo(()=>[{label:i("viz.funnel_chart.sort.ascending"),value:"ascending"},{label:i("viz.funnel_chart.sort.descending"),value:"descending"},{label:i("viz.funnel_chart.sort.none"),value:"0"}],[a.language]);return r.jsxs(o.Stack,{children:[r.jsx(o.Group,{grow:!0,noWrap:!0,children:r.jsx(y.Controller,{name:`series.${n}.name`,control:t,render:({field:h})=>r.jsx(o.TextInput,{label:i("viz.funnel_chart.series_name"),...h})})}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.level_name_data_key`,control:t,render:({field:h})=>r.jsx(U,{label:i("viz.funnel_chart.level_name_field"),...h})}),r.jsx(y.Controller,{name:`series.${n}.level_value_data_key`,control:t,render:({field:h})=>r.jsx(U,{label:i("viz.funnel_chart.level_value_field"),...h})})]}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed",label:i("viz.funnel_chart.funnel_style"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.min.value`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{disabled:!l,labelProps:{display:"block"},label:r.jsxs(o.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[r.jsx(o.Text,{children:i("viz.funnel_chart.min_value")}),r.jsx(o.Tooltip,{label:i("viz.funnel_chart.min_value_checkbox_tip"),children:r.jsx(o.Box,{children:r.jsx(y.Controller,{name:`series.${n}.min.enable_value`,control:t,render:({field:f})=>r.jsx(o.Checkbox,{size:"xs",checked:f.value,onChange:x=>f.onChange(x.currentTarget.checked)})})})})]}),...h})}),r.jsx(y.Controller,{name:`series.${n}.min.size`,control:t,render:({field:h})=>r.jsx(o.TextInput,{placeholder:"0%",label:i("viz.funnel_chart.min_size"),...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.max.value`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{disabled:!c,labelProps:{display:"block"},label:r.jsxs(o.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[r.jsx(o.Text,{children:i("viz.funnel_chart.max_value")}),r.jsx(o.Tooltip,{label:i("viz.funnel_chart.max_value_checkbox_tip"),children:r.jsx(o.Box,{children:r.jsx(y.Controller,{name:`series.${n}.max.enable_value`,control:t,render:({field:f})=>r.jsx(o.Checkbox,{size:"xs",checked:f.value,onChange:x=>f.onChange(x.currentTarget.checked)})})})})]}),...h})}),r.jsx(y.Controller,{name:`series.${n}.max.size`,control:t,render:({field:h})=>r.jsx(o.TextInput,{placeholder:"100%",label:i("viz.funnel_chart.max_size"),...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.orient`,control:t,render:({field:h})=>r.jsx(zn,{...h})}),r.jsx(y.Controller,{name:`series.${n}.sort`,control:t,render:({field:h})=>r.jsx(o.Select,{label:i("viz.funnel_chart.sort.label"),data:p,...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.funnelAlign`,control:t,render:({field:h})=>r.jsx(En,{label:i("viz.funnel_chart.align"),disabled:u==="horizontal",...h})}),r.jsx(y.Controller,{name:`series.${n}.gap`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{placeholder:"0, 5, 10...",label:i("viz.funnel_chart.gap"),...h})})]}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed",label:i("chart.label.label_style"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.axisLabel.position`,control:t,render:({field:h})=>r.jsx(gr,{label:i("chart.label_position.label"),options:d[u],...h})}),r.jsx(o.Box,{})]}),r.jsx(o.Group,{grow:!0,noWrap:!0,children:r.jsx(y.Controller,{name:`series.${n}.axisLabel.overflow`,control:t,render:({field:h})=>r.jsx(qt,{...h})})})]})},RC=({control:e,watch:t})=>{const{fields:n,append:s,remove:i}=y.useFieldArray({control:e,name:"series"}),a=t("series"),l=n.map((p,h)=>({...p,...a[h]})),c=v.get(l,"0.id"),[u,d]=g.useState(c??null);return g.useEffect(()=>{c&&d(p=>p!==null?p:c)},[c]),r.jsxs(o.Tabs,{value:u,onTabChange:p=>d(p),styles:{panel:{padding:"0px",paddingTop:"6px"}},children:[r.jsxs(o.Tabs.List,{children:[l.map((p,h)=>r.jsx(o.Tabs.Tab,{value:p.id,children:p.name},p.id)),r.jsx(o.Tabs.Tab,{value:"add",disabled:!0,children:r.jsx(o.Tooltip,{label:"todo",children:r.jsx(o.Center,{children:r.jsx(S.IconPlus,{size:18,color:"#228be6"})})})})]}),l.map((p,h)=>r.jsx(o.Tabs.Panel,{value:p.id,children:r.jsx(WC,{item:p,control:e,index:h,remove:i})},p.id))]})};function QC({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=g.useMemo(()=>v.defaultsDeep({},t,Po),[t]),{control:i,handleSubmit:a,watch:l,formState:c,reset:u}=y.useForm({defaultValues:s});return g.useEffect(()=>{u(s)},[s]),r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:a(n),children:[r.jsx(qe,{canSubmit:c.isDirty}),r.jsx(RC,{control:i,watch:l})]})})}const UC=[{lang:"en",resources:{funnel_chart:{viz_name:"Funnel Chart",series_name:"Series Name",level_name_field:"Level Name Field",level_value_field:"Level Value Field",funnel_style:"Funnel Style",min_value:"Min Value",min_value_checkbox_tip:"Check to enable specific min value",max_value:"Max Value",max_value_checkbox_tip:"Check to enable specific max value",min_size:"Min Size",max_size:"Max Size",sort:{label:"Sort",ascending:"Ascending",descending:"Descending",none:"Use original data order"},gap:"Gap",align:"Align"}}},{lang:"zh",resources:{funnel_chart:{viz_name:"漏斗图",series_name:"系列名称",level_name_field:"层名字段",level_value_field:"层值字段",funnel_style:"漏斗样式",min_value:"最小值",min_value_checkbox_tip:"勾选以启用最小值设置",max_value:"最大值",max_value_checkbox_tip:"勾选以启用最大值设置",min_size:"最小尺寸",max_size:"最大尺寸",sort:{label:"排序",ascending:"升序",descending:"降序",none:"依原始数据的顺序"},gap:"间距",align:"对齐"}}}];function YC(e){return{series:e.series.map(t=>{const{min:n,minSize:s,max:i,maxSize:a,...l}=t;return{...l,min:{value:n,use_data_min:!1,size:s},max:{value:i,use_data_max:!1,size:a}}})}}function KC(e,{panelModel:t}){try{const n=t.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const s=l=>l&&`${n}.${l}`,{series:i,...a}=e;return{...a,series:i.map(l=>({...l,level_name_data_key:s(l.level_name_data_key),level_value_data_key:s(l.level_value_data_key)}))}}catch(n){throw console.error("[Migration failed]",n),n}}class XC extends De{constructor(){super(...arguments);q(this,"VERSION",3)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:s}=n;return{...n,version:2,config:YC(s)}}),this.version(3,(n,s)=>{const{config:i}=n;return{...n,version:3,config:KC(i,s)}})}}const JC={displayName:"viz.funnel_chart.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new XC,name:"funnel",viewRender:GC,configRender:QC,createConfig:()=>({version:3,config:Po}),translation:UC},ZC=({page:e,setPage:t,totalPages:n})=>r.jsx(o.Pagination,{size:"xs",withControls:!1,siblings:1,color:"gray",value:e,onChange:t,total:n,position:"right"}),HC=({page:e,setPage:t,totalPages:n})=>{const s=g.useMemo(()=>Array.from(new Array(n),(i,a)=>({label:String(a+1),value:String(a+1)})),[n]);return r.jsx(o.NativeSelect,{size:"xs",value:e,onChange:i=>{t(Number(i.currentTarget.value))},data:s})},eS=e=>{if(!(e.totalPages<=1))return r.jsx(o.Box,{sx:{position:"absolute",top:"calc(1rem + 5px)",right:"calc(1rem + 5px)",zIndex:2},children:e.width>600?r.jsx(ZC,{...e}):r.jsx(HC,{...e})})};function tS(e){const t=pt(e.x_axis.axisLabel.formatter),n=pt(e.y_axis.axisLabel.formatter);return{x_axis:t,y_axis:n}}function nS(e){return{heat_block:function(s){if(!e.heat_block.value_formatter)return s;try{return ie(s,e.heat_block.value_formatter)}catch(i){return console.error(i),s}}}}function rS(e){let t=0;return e.x_axis.name&&(t+=20),{show:!0,top:45,left:5,right:5,bottom:t,containLabel:!0,borderColor:"none",backgroundColor:"#E7E7E9",z:1}}function sS(e,t,n){const{heat_block:s}=e;return{type:"heatmap",name:s.name,xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{borderColor:"white",borderWidth:n},data:t,label:s.label,labelLayout:{hideOverlap:!0},z:2}}const iS=e=>ie(e,{output:"number",trimMantissa:!0,mantissa:2,absolute:!1});function aS({conf:e,labelFormatters:t,valueFormatters:n,dataDict:s,params:i}){const{value:a,dataIndex:l}=i,[c,u,d]=a,p={label:e.x_axis.name?e.x_axis.name:"X Axis",value:t.x_axis(c,l),style:{label:"",value:Dt(e.x_axis.axisLabel.overflow.in_tooltip)}},h={label:e.y_axis.name?e.y_axis.name:"Y Axis",value:t.y_axis(u,l),style:{label:"",value:Dt(e.y_axis.axisLabel.overflow.in_tooltip)}},f={label:e.heat_block.name,value:n.heat_block(d),style:{label:"",value:""}},x=[p,h,f],b=s[`${c}---${u}`];return b&&e.tooltip.metrics.forEach(_=>{const T=L(_.data_key);x.push({label:_.name,value:iS(v.get(b,T.columnKey,"")),style:{label:"",value:""}})}),x}function oS(e,t,n,s){const{x_axis:i,y_axis:a,heat_block:l}=e,c=L(i.data_key),u=L(a.data_key);L(l.data_key);const d=v.keyBy(t[c.queryID],p=>`${p[c.columnKey]}---${p[u.columnKey]}`);return me.getTooltip({formatter:function(p){const f=aS({conf:e,labelFormatters:n,valueFormatters:s,dataDict:d,params:p}).map(b=>`
179
+ `}}function NC(e,t){return me.getTooltip({trigger:"item",formatter:VC(e,t)})}function qC(e,t){return{grid:{top:0,left:0,right:0,bottom:0},tooltip:NC(e,t),series:LC(e,t)}}function $C(e){return e||(e=Date.now().toString()),{id:e,name:e,level_name_data_key:"",level_value_data_key:"",min:{value:0,enable_value:!1,size:"0%"},max:{value:0,enable_value:!1,size:"100%"},gap:2,axisLabel:{show:!0,position:"inside",overflow:ht()},sort:"descending",orient:"vertical",funnelAlign:"center"}}const Po={series:[$C("Funnel")]};function FC({conf:e,data:t,width:n,height:s}){const i=g.useMemo(()=>qC(e,t),[e,t]);return r.jsx(Ye,{echarts:Ue,option:i,style:{width:n,height:s},notMerge:!0,theme:"merico-light"})}function GC({context:e}){const{value:t}=Q(e.instanceData,"config"),n=g.useMemo(()=>v.defaults({},t,Po),[t]),s=e.data,{width:i,height:a}=e.viewport;return!i||!a?null:r.jsx(dt,{width:i,height:a,children:r.jsx(FC,{width:Bt(i),height:Vt(a),data:s,conf:n})})}const WC=({item:e,control:t,index:n,remove:s})=>{const{t:i,i18n:a}=j.useTranslation(),l=e.min.enable_value,c=e.max.enable_value,{orient:u}=e,d=g.useMemo(()=>({horizontal:[{label:i("chart.label_position.top"),value:"top"},{label:i("chart.label_position.inside_center"),value:"inside"},{label:i("chart.label_position.bottom"),value:"bottom"}],vertical:[{label:i("chart.label_position.left"),value:"left"},{label:i("chart.label_position.inside_left"),value:"insideLeft"},{label:i("chart.label_position.inside_center"),value:"inside"},{label:i("chart.label_position.inside_right"),value:"insideRight"},{label:i("chart.label_position.right"),value:"right"}]}),[a.language]),p=g.useMemo(()=>[{label:i("viz.funnel_chart.sort.ascending"),value:"ascending"},{label:i("viz.funnel_chart.sort.descending"),value:"descending"},{label:i("viz.funnel_chart.sort.none"),value:"0"}],[a.language]);return r.jsxs(o.Stack,{children:[r.jsx(o.Group,{grow:!0,noWrap:!0,children:r.jsx(y.Controller,{name:`series.${n}.name`,control:t,render:({field:h})=>r.jsx(o.TextInput,{label:i("viz.funnel_chart.series_name"),...h})})}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.level_name_data_key`,control:t,render:({field:h})=>r.jsx(U,{label:i("viz.funnel_chart.level_name_field"),...h})}),r.jsx(y.Controller,{name:`series.${n}.level_value_data_key`,control:t,render:({field:h})=>r.jsx(U,{label:i("viz.funnel_chart.level_value_field"),...h})})]}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed",label:i("viz.funnel_chart.funnel_style"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.min.value`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{disabled:!l,labelProps:{display:"block"},label:r.jsxs(o.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[r.jsx(o.Text,{children:i("viz.funnel_chart.min_value")}),r.jsx(o.Tooltip,{label:i("viz.funnel_chart.min_value_checkbox_tip"),children:r.jsx(o.Box,{children:r.jsx(y.Controller,{name:`series.${n}.min.enable_value`,control:t,render:({field:f})=>r.jsx(o.Checkbox,{size:"xs",checked:f.value,onChange:x=>f.onChange(x.currentTarget.checked)})})})})]}),...h})}),r.jsx(y.Controller,{name:`series.${n}.min.size`,control:t,render:({field:h})=>r.jsx(o.TextInput,{placeholder:"0%",label:i("viz.funnel_chart.min_size"),...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.max.value`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{disabled:!c,labelProps:{display:"block"},label:r.jsxs(o.Group,{position:"apart",pr:6,sx:{width:"100%"},children:[r.jsx(o.Text,{children:i("viz.funnel_chart.max_value")}),r.jsx(o.Tooltip,{label:i("viz.funnel_chart.max_value_checkbox_tip"),children:r.jsx(o.Box,{children:r.jsx(y.Controller,{name:`series.${n}.max.enable_value`,control:t,render:({field:f})=>r.jsx(o.Checkbox,{size:"xs",checked:f.value,onChange:x=>f.onChange(x.currentTarget.checked)})})})})]}),...h})}),r.jsx(y.Controller,{name:`series.${n}.max.size`,control:t,render:({field:h})=>r.jsx(o.TextInput,{placeholder:"100%",label:i("viz.funnel_chart.max_size"),...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.orient`,control:t,render:({field:h})=>r.jsx(zn,{...h})}),r.jsx(y.Controller,{name:`series.${n}.sort`,control:t,render:({field:h})=>r.jsx(o.Select,{label:i("viz.funnel_chart.sort.label"),data:p,...h})})]}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.funnelAlign`,control:t,render:({field:h})=>r.jsx(En,{label:i("viz.funnel_chart.align"),disabled:u==="horizontal",...h})}),r.jsx(y.Controller,{name:`series.${n}.gap`,control:t,render:({field:h})=>r.jsx(o.NumberInput,{placeholder:"0, 5, 10...",label:i("viz.funnel_chart.gap"),...h})})]}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed",label:i("chart.label.label_style"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`series.${n}.axisLabel.position`,control:t,render:({field:h})=>r.jsx(gr,{label:i("chart.label_position.label"),options:d[u],...h})}),r.jsx(o.Box,{})]}),r.jsx(o.Group,{grow:!0,noWrap:!0,children:r.jsx(y.Controller,{name:`series.${n}.axisLabel.overflow`,control:t,render:({field:h})=>r.jsx(qt,{...h})})})]})},RC=({control:e,watch:t})=>{const{fields:n,append:s,remove:i}=y.useFieldArray({control:e,name:"series"}),a=t("series"),l=n.map((p,h)=>({...p,...a[h]})),c=v.get(l,"0.id"),[u,d]=g.useState(c??null);return g.useEffect(()=>{c&&d(p=>p!==null?p:c)},[c]),r.jsxs(o.Tabs,{value:u,onTabChange:p=>d(p),styles:{panel:{padding:"0px",paddingTop:"6px"}},children:[r.jsxs(o.Tabs.List,{children:[l.map((p,h)=>r.jsx(o.Tabs.Tab,{value:p.id,children:p.name},p.id)),r.jsx(o.Tabs.Tab,{value:"add",disabled:!0,children:r.jsx(o.Tooltip,{label:"todo",children:r.jsx(o.Center,{children:r.jsx(S.IconPlus,{size:18,color:"#228be6"})})})})]}),l.map((p,h)=>r.jsx(o.Tabs.Panel,{value:p.id,children:r.jsx(WC,{item:p,control:e,index:h,remove:i})},p.id))]})};function QC({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=g.useMemo(()=>v.defaultsDeep({},t,Po),[t]),{control:i,handleSubmit:a,watch:l,formState:c,reset:u}=y.useForm({defaultValues:s});return g.useEffect(()=>{u(s)},[s]),r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:a(n),children:[r.jsx(qe,{canSubmit:c.isDirty}),r.jsx(RC,{control:i,watch:l})]})})}const UC=[{lang:"en",resources:{funnel_chart:{viz_name:"Funnel Chart",series_name:"Series Name",level_name_field:"Level Name Field",level_value_field:"Level Value Field",funnel_style:"Funnel Style",min_value:"Min Value",min_value_checkbox_tip:"Check to enable specific min value",max_value:"Max Value",max_value_checkbox_tip:"Check to enable specific max value",min_size:"Min Size",max_size:"Max Size",sort:{label:"Sort",ascending:"Ascending",descending:"Descending",none:"Use original data order"},gap:"Gap",align:"Align"}}},{lang:"zh",resources:{funnel_chart:{viz_name:"漏斗图",series_name:"系列名称",level_name_field:"层名字段",level_value_field:"层值字段",funnel_style:"漏斗样式",min_value:"最小值",min_value_checkbox_tip:"勾选以启用最小值设置",max_value:"最大值",max_value_checkbox_tip:"勾选以启用最大值设置",min_size:"最小尺寸",max_size:"最大尺寸",sort:{label:"排序",ascending:"升序",descending:"降序",none:"依原始数据的顺序"},gap:"间距",align:"对齐"}}}];function YC(e){return{series:e.series.map(t=>{const{min:n,minSize:s,max:i,maxSize:a,...l}=t;return{...l,min:{value:n,use_data_min:!1,size:s},max:{value:i,use_data_max:!1,size:a}}})}}function KC(e,{panelModel:t}){try{const n=t.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const s=l=>l&&`${n}.${l}`,{series:i,...a}=e;return{...a,series:i.map(l=>({...l,level_name_data_key:s(l.level_name_data_key),level_value_data_key:s(l.level_value_data_key)}))}}catch(n){throw console.error("[Migration failed]",n),n}}class XC extends De{constructor(){super(...arguments);q(this,"VERSION",3)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{config:s}=n;return{...n,version:2,config:YC(s)}}),this.version(3,(n,s)=>{const{config:i}=n;return{...n,version:3,config:KC(i,s)}})}}const JC={displayName:"viz.funnel_chart.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new XC,name:"funnel",viewRender:GC,configRender:QC,createConfig:()=>({version:3,config:Po}),translation:UC},ZC=({page:e,setPage:t,totalPages:n})=>r.jsx(o.Pagination,{size:"xs",withControls:!1,siblings:1,color:"gray",value:e,onChange:t,total:n,position:"right"}),HC=({page:e,setPage:t,totalPages:n})=>{const s=g.useMemo(()=>Array.from(new Array(n),(i,a)=>({label:String(a+1),value:String(a+1)})),[n]);return r.jsx(o.NativeSelect,{size:"xs",value:e,onChange:i=>{t(Number(i.currentTarget.value))},data:s})},eS=e=>e.totalPages<=1?null:r.jsx(o.Box,{sx:{position:"absolute",top:"calc(1rem + 5px)",right:"calc(1rem + 5px)",zIndex:2},children:e.width>600?r.jsx(ZC,{...e}):r.jsx(HC,{...e})});function tS(e){const t=pt(e.x_axis.axisLabel.formatter),n=pt(e.y_axis.axisLabel.formatter);return{x_axis:t,y_axis:n}}function nS(e){return{heat_block:function(s){if(!e.heat_block.value_formatter)return s;try{return ie(s,e.heat_block.value_formatter)}catch(i){return console.error(i),s}}}}function rS(e){let t=0;return e.x_axis.name&&(t+=20),{show:!0,top:45,left:5,right:5,bottom:t,containLabel:!0,borderColor:"none",backgroundColor:"#E7E7E9",z:1}}function sS(e,t,n){const{heat_block:s}=e;return{type:"heatmap",name:s.name,xAxisId:"main-x-axis",yAxisIndex:0,datasetIndex:0,itemStyle:{borderColor:"white",borderWidth:n},data:t,label:s.label,labelLayout:{hideOverlap:!0},z:2}}const iS=e=>ie(e,{output:"number",trimMantissa:!0,mantissa:2,absolute:!1});function aS({conf:e,labelFormatters:t,valueFormatters:n,dataDict:s,params:i}){const{value:a,dataIndex:l}=i,[c,u,d]=a,p={label:e.x_axis.name?e.x_axis.name:"X Axis",value:t.x_axis(c,l),style:{label:"",value:Dt(e.x_axis.axisLabel.overflow.in_tooltip)}},h={label:e.y_axis.name?e.y_axis.name:"Y Axis",value:t.y_axis(u,l),style:{label:"",value:Dt(e.y_axis.axisLabel.overflow.in_tooltip)}},f={label:e.heat_block.name,value:n.heat_block(d),style:{label:"",value:""}},x=[p,h,f],b=s[`${c}---${u}`];return b&&e.tooltip.metrics.forEach(_=>{const T=L(_.data_key);x.push({label:_.name,value:iS(v.get(b,T.columnKey,"")),style:{label:"",value:""}})}),x}function oS(e,t,n,s){const{x_axis:i,y_axis:a,heat_block:l}=e,c=L(i.data_key),u=L(a.data_key);L(l.data_key);const d=v.keyBy(t[c.queryID],p=>`${p[c.columnKey]}---${p[u.columnKey]}`);return me.getTooltip({formatter:function(p){const f=aS({conf:e,labelFormatters:n,valueFormatters:s,dataDict:d,params:p}).map(b=>`
180
180
  <tr>
181
181
  <th style="text-align: right;">
182
182
  <div style="${b.style.label}">${b.label}</div>
@@ -494,7 +494,7 @@ Variable: {{ your_var }}`,tabs:{guide:"Guide",vars:"Dashboard state & Panel vari
494
494
  value: string;
495
495
  description?: string; // optional
496
496
  }
497
- `,Cg=()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState(!1);return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"subtle",compact:!0,onClick:()=>n(s=>!s),children:e(t?"common.actions.close":"filter.widget.common.see_data_structure")}),r.jsx(o.Collapse,{in:t,children:r.jsx(on.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:RP})})]})},QP=I.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config,i=()=>{s.addStaticOption({label:"",value:""})},a=s.static_options,l=[...a];return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:s.required,onChange:c=>s.setRequired(c.currentTarget.checked),label:n("filter.widget.select.required")}),r.jsx(Wn,{filter:t})]}),r.jsx(o.TextInput,{label:n("filter.widget.select.width"),description:n("filter.widget.multi_select.width_description"),value:s.min_width,onChange:c=>s.setMinWidth(c.currentTarget.value),placeholder:"200px"}),r.jsx(o.Divider,{label:n("filter.widget.select.configure_options"),labelPosition:"center"}),r.jsxs(o.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[s.usingQuery&&r.jsxs(r.Fragment,{children:[r.jsx(o.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),r.jsx(o.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:r.jsx(o.Text,{color:"white",size:16,children:n("filter.widget.common.using_query")})})]}),a.length>0&&r.jsx(o.MultiSelect,{label:n("filter.widget.select.default_selection"),data:l,value:[...s.default_value],onChange:s.setDefaultValue}),a.map((c,u)=>r.jsxs(o.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[r.jsx(o.TextInput,{label:n("common.label"),required:!0,value:s.static_options[u].label,onChange:d=>{s.static_options[u].setLabel(d.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.TextInput,{label:n("common.value"),required:!0,value:s.static_options[u].value,onChange:d=>{s.static_options[u].setValue(d.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.ActionIcon,{color:"red",variant:"subtle",onClick:()=>s.removeStaticOption(u),sx:{position:"absolute",top:28,right:5},children:r.jsx(S.IconTrash,{size:16})})]},u)),r.jsx(o.Button,{mt:10,size:"xs",color:"blue",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),onClick:i,sx:{width:"50%"},mx:"auto",children:n("common.actions.add_an_option")})]}),r.jsx(o.Divider,{label:n("filter.widget.common.or_fetch_options_from_datasource"),labelPosition:"center"}),r.jsx(o.NumberInput,{value:s.default_selection_count,onChange:s.setDefaultSelectionCount,label:n("filter.widget.common.default_selection_count")}),r.jsx(di,{value:s.options_query_id,onChange:s.setOptionsQueryID}),r.jsx(Cg,{})]})}),UP=I.observer(function({filter:t}){const{t:n,i18n:s}=j.useTranslation(),i=t.config,a=()=>{i.addStaticOption({label:"",value:""})},l=i.static_options,c=g.useMemo(()=>[{label:n("filter.widget.select.no_default_selection"),value:""},...l],[s.language,l]);return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:i.required,onChange:u=>i.setRequired(u.currentTarget.checked),label:n("filter.widget.select.required")}),r.jsx(o.Checkbox,{checked:i.clearable,onChange:u=>i.setClearable(u.currentTarget.checked),label:n("filter.widget.select.clearable")}),r.jsx(Wn,{filter:t})]}),r.jsx(o.TextInput,{label:n("filter.widget.select.width"),value:i.width,onChange:u=>i.setWidth(u.currentTarget.value),placeholder:"200px"}),r.jsx(o.Divider,{label:n("filter.widget.select.configure_options"),labelPosition:"center"}),r.jsxs(o.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[i.usingQuery&&r.jsxs(r.Fragment,{children:[r.jsx(o.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),r.jsx(o.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:r.jsx(o.Text,{color:"white",size:16,children:n("filter.widget.common.using_query")})})]}),l.length>0&&r.jsx(o.Select,{label:n("filter.widget.select.default_selection"),data:c,value:i.default_value,onChange:i.setDefaultValue}),l.map((u,d)=>r.jsxs(o.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[r.jsx(o.TextInput,{label:n("common.label"),required:!0,value:i.static_options[d].label,onChange:p=>{i.static_options[d].setLabel(p.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.TextInput,{label:n("common.value"),required:!0,value:i.static_options[d].value,onChange:p=>{i.static_options[d].setValue(p.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeStaticOption(d),sx:{position:"absolute",top:28,right:5},children:r.jsx(S.IconTrash,{size:16})})]},d)),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),onClick:a,sx:{width:"50%"},mx:"auto",children:n("common.actions.add_an_option")})]}),r.jsx(o.Divider,{label:n("filter.widget.common.or_fetch_options_from_datasource"),labelPosition:"center"}),r.jsx(o.Checkbox,{checked:i.default_selection_count===1,onChange:u=>i.setDefaultSelectionCount(u.currentTarget.checked?1:0),label:n("filter.widget.select.select_first_option_by_default")}),r.jsx(di,{value:i.options_query_id,onChange:i.setOptionsQueryID}),r.jsx(Cg,{})]})}),YP=I.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config;return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsx(o.TextInput,{label:n("filter.widget.text_input.default_value"),value:s.default_value,onChange:i=>{s.setDefaultValue(i.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.Box,{mt:22,children:r.jsx(Wn,{filter:t})})]}),r.jsx(o.Checkbox,{checked:s.required,onChange:i=>s.setRequired(i.currentTarget.checked),label:n("filter.widget.text_input.required")})]})}),KP=I.observer(function({filter:t}){const{t:n}=j.useTranslation();return r.jsxs(o.Box,{sx:{maxWidth:"480px"},children:[r.jsx(o.Text,{pt:"0",pb:"md",color:"gray",children:n("common.titles.config")}),r.jsx(on.Prism,{mt:22,language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),XP={[W.Select]:UP,[W.MultiSelect]:QP,[W.TreeSelect]:oE,[W.TreeSingleSelect]:hE,[W.TextInput]:YP,[W.Checkbox]:FP,[W.DateRange]:WP},An={[W.Select]:"filter.widget.names.select",[W.MultiSelect]:"filter.widget.names.multi_select",[W.TreeSelect]:"filter.widget.names.tree_select",[W.TreeSingleSelect]:"filter.widget.names.tree_single_select",[W.TextInput]:"filter.widget.names.text_input",[W.Checkbox]:"filter.widget.names.checkbox",[W.DateRange]:"filter.widget.names.date_range"},JP=I.observer(function({filter:t}){const{t:n,i18n:s}=j.useTranslation(),i=se(),a=g.useMemo(()=>XP[t.type],[t.type]),l=g.useMemo(()=>[{label:n(An[W.Select]),value:"select"},{label:n(An[W.MultiSelect]),value:"multi-select"},{label:n(An[W.TreeSelect]),value:"tree-select"},{label:n(An[W.TreeSingleSelect]),value:"tree-single-select"},{label:n(An[W.TextInput]),value:"text-input"},{label:n(An[W.Checkbox]),value:"checkbox"},{label:n(An[W.DateRange]),value:"date-range"}],[s.language]);return r.jsxs(o.Group,{grow:!0,spacing:20,align:"top",children:[r.jsxs(o.Box,{sx:{maxWidth:"600px"},children:[r.jsx(o.Text,{pb:"md",color:"gray",children:n("common.titles.edit")}),r.jsxs(o.Stack,{children:[r.jsxs(o.Group,{noWrap:!0,children:[r.jsx(o.NumberInput,{label:n("filter.field.order"),required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&r.jsx(o.Checkbox,{label:n("filter.field.auto_submit"),checked:t.auto_submit,onChange:c=>t.setAutoSubmit(c.currentTarget.checked),mt:22})]}),r.jsx(o.MultiSelect,{label:n("filter.field.visible_in"),data:i.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),r.jsx(o.TextInput,{label:n("common.key"),placeholder:n("filter.field.key_placeholder"),required:!0,value:t.key,onChange:c=>{t.setKey(c.currentTarget.value)}}),r.jsx(o.TextInput,{label:n("common.label"),placeholder:n("filter.field.label_placeholder"),required:!0,value:t.label,onChange:c=>{t.setLabel(c.currentTarget.value)}}),r.jsx(o.Select,{label:n("filter.field.widget"),data:l,required:!0,value:t.type,onChange:t.setType,maxDropdownHeight:500}),r.jsx(o.Divider,{mb:0,mt:10,variant:"dashed",labelPosition:"center"}),r.jsx(a,{filter:t})]})]}),r.jsx(KP,{filter:t})]})}),ZP=I.observer(({id:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=le(),i=se();if(e==="")return null;const a=i.filters.findByID(e);if(!a)return r.jsxs(o.Text,{size:14,children:["Filter by ID[",e,"] is not found"]});const l=()=>{s.editor.setPath(["_FILTERS_",""])},c=()=>{n.openConfirmModal({title:`${t("filter.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.filters.removeByID(e),l()},confirmProps:{color:"red"},zIndex:320})};return r.jsxs(o.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[r.jsx(o.Group,{position:"right",pt:10,children:r.jsx(o.Button,{size:"xs",color:"red",leftIcon:r.jsx(S.IconTrash,{size:16}),onClick:c,children:t("filter.delete")})}),r.jsx(o.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:r.jsx(JP,{filter:a})})]})}),HP=I.observer(()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState([]),s=le(),i=d=>{s.editor.setPath(["_FILTERS_",d])},a=()=>{s.content.filters.downloadSchema(t)},l=g.useMemo(()=>s.content.filters.sortedList.map(d=>d.id),[s.content.filters.sortedList]),c=()=>{n(l)},u=()=>{n([])};return r.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[r.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:e("filter.manage")})}),r.jsx(o.Flex,{justify:"space-between",align:"center",px:12,children:r.jsxs(o.Group,{position:"left",children:[r.jsxs(o.Button.Group,{children:[r.jsx(o.Button,{variant:"default",size:"xs",onClick:c,children:e("common.actions.select_all")}),r.jsx(o.Button,{variant:"default",size:"xs",onClick:u,children:e("common.actions.clear_selection")})]}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconCode,{size:14}),disabled:t.length===0,onClick:a,children:e("common.actions.download_schema")})]})}),r.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:r.jsx(o.Checkbox.Group,{size:"xs",value:t,onChange:n,children:r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"40px"}}),r.jsx("th",{style:{width:"300px"},children:e("common.label")}),r.jsx("th",{children:e("common.key")}),r.jsx("th",{style:{width:"100px"},children:e("filter.field.widget")}),r.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:e("common.action")})]})}),r.jsx("tbody",{children:s.content.filters.sortedList.map(d=>r.jsxs("tr",{children:[r.jsx("td",{children:r.jsx(o.Checkbox,{value:d.id,styles:{input:{cursor:"pointer"}}})}),r.jsx("td",{children:d.label}),r.jsx("td",{children:d.key}),r.jsx("td",{children:e(An[d.type])}),r.jsx("td",{children:r.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>i(d.id),children:e("common.actions.open")})})]},d.id))})]})})})]})}),e2=I.observer(()=>{const{t:e}=j.useTranslation(),t=se(),[n,s]=g.useState(()=>JSON.stringify(t.mock_context.current,null,4)),i=()=>{try{t.mock_context.replace(JSON.parse(n))}catch(l){Ut.showNotification({title:"Failed",message:l.message,color:"red"})}},a=g.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(t.mock_context.current)}catch{return!1}},[n,t.mock_context.current]);return r.jsxs(o.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[r.jsx(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:r.jsx(o.Text,{weight:500,children:e("mock_context.label")})}),r.jsxs(o.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[r.jsxs(o.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[r.jsx(o.Text,{children:e("mock_context.hint")}),r.jsx(o.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:s,sx:{flexGrow:1}})]}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!a,onClick:i,children:r.jsx(S.IconDeviceFloppy,{size:20})})]})]})}),t2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt();return r.jsx(Mn,{label:e("panel.panel_description"),value:t.description,onChange:t.setDescription,styles:{root:{flexGrow:1}}})}),n2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt(),n=Te().layouts.findItemByPanelID(t.id),{style:s}=t;return r.jsx(r.Fragment,{children:r.jsxs(o.Stack,{spacing:20,children:[r.jsxs(o.Group,{grow:!0,align:"top",children:[r.jsx(o.NumberInput,{label:e("panel.style.width"),min:1,max:36,step:1,precision:0,rightSection:r.jsx(o.Text,{size:12,children:e("panel.style.width_postfix")}),styles:{rightSection:{width:"auto",maxWidth:"100px",paddingRight:"14px",justifyContent:"flex-end"}},value:n.w,onChange:i=>{i&&n.setWidth(i)}}),r.jsx(o.NumberInput,{label:e("panel.style.height"),rightSection:r.jsx(o.Text,{size:12,children:e("panel.style.height_postfix")}),styles:{rightSection:{width:"40px"}},value:n.h,onChange:i=>{i&&n.setHeight(i)}})]}),r.jsx(o.Checkbox,{ml:6,label:e("panel.style.border"),checked:s.border.enabled,onChange:i=>s.border.setEnabled(i.currentTarget.checked)})]})})}),r2=()=>r.jsxs("span",{className:"mantine-103svbs mantine-InputWrapper-required mantine-Select-required","aria-hidden":"true",children:[" ","*"]}),s2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt(),{name:n}=t,[s,i]=Me.useInputState(n),a=n!==s,l=g.useCallback(()=>{a&&t.setName(s)},[a,s]);g.useEffect(()=>{i(n)},[n]);const c=!s.trim();return r.jsxs(o.Stack,{spacing:4,children:[r.jsxs(o.Group,{align:"center",children:[r.jsxs(o.Text,{size:14,fw:500,children:[e("panel.panel_name"),r.jsx(r2,{})]}),r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:!a||c,onClick:l,children:r.jsx(S.IconDeviceFloppy,{size:18})})]}),r.jsx(o.TextInput,{value:s,onChange:i,required:!0})]})}),i2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt();return r.jsx(o.Stack,{spacing:6,mb:10,children:r.jsxs(o.Group,{pl:6,position:"left",spacing:20,children:[r.jsx(o.Checkbox,{size:"sm",checked:t.title.show,onChange:n=>t.title.setShow(n.currentTarget.checked),label:e("panel.show_title"),sx:{userSelect:"none"}}),r.jsx(o.Checkbox,{size:"sm",checked:!0,disabled:!0,label:e("panel.use_name_as_title")})]})})});function a2(){const{t:e}=j.useTranslation();return r.jsxs(o.Stack,{sx:{height:"100%"},children:[r.jsx(n2,{}),r.jsx(o.Divider,{label:e("common.info"),labelPosition:"center",variant:"dashed"}),r.jsx(s2,{}),r.jsx(i2,{}),r.jsx(t2,{})]})}const o2={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},"th, td":{wordBreak:"break-word"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1",backgroundColor:"rgb(248, 249, 250)"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function Sg({data:e}){const t=g.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const s=Et.createColumnHelper();return Object.keys(e[0]).map(i=>s.accessor(i,{cell:a=>a.getValue()}))},[e]),n=Et.useReactTable({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Et.getCoreRowModel()});return e.length===0?r.jsx(o.Box,{sx:{height:"5em"}}):r.jsx(We,{children:r.jsxs(o.Table,{sx:o2,children:[r.jsx("thead",{children:n.getHeaderGroups().map(s=>r.jsx("tr",{children:s.headers.map(i=>r.jsxs("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Et.flexRender(i.column.columnDef.header,i.getContext()),r.jsx(o.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:r.jsx(S.IconArrowBarToRight,{})})]},i.id))},s.id))}),r.jsx("tbody",{children:n.getRowModel().rows.map(s=>r.jsx("tr",{children:s.getVisibleCells().map(i=>r.jsx("td",{children:r.jsx(We,{children:typeof i.getValue()=="object"?r.jsx("pre",{children:JSON.stringify(i.getValue(),null,2)}):Et.flexRender(i.column.columnDef.cell,i.getContext())})},i.id))},s.id))})]})})}const l2=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],c2={icon:{width:"80px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"80px"}}},u2=({data:e,page:t,setPage:n,limit:s,setLimit:i})=>{const{t:a}=j.useTranslation(),l=e.length,c=Math.ceil(l/s),u=p=>{n(1),i(Number(p))};if(l===0)return null;const d=c===1&&l<=10;return r.jsxs(o.Group,{pt:10,px:10,position:"apart",children:[r.jsxs(o.Group,{position:"left",children:[c>1&&r.jsx(o.Pagination,{size:"sm",value:t,onChange:n,total:c,withEdges:c>7,styles:{control:{height:"30px"}}}),!d&&r.jsx(o.Select,{icon:r.jsx(o.Text,{ta:"center",color:"dimmed",size:14,children:a("common.pagination.page_size")}),size:"xs",styles:c2,data:l2,value:String(s),onChange:u})]}),r.jsx(o.Group,{position:"right",children:r.jsx(o.Text,{color:"dimmed",my:0,size:14,children:a("common.pagination.total_rows",{total:l})})})]})},d2=b_(({data:e,loading:t})=>{const[n,s]=g.useState(1),[i,a]=g.useState(20),l=g.useMemo(()=>{const c=(n-1)*i,u=c+i;return e.slice(c,u)},[e,n,i]);return r.jsxs(We,{children:[r.jsx(u2,{data:e,page:n,setPage:s,limit:i,setLimit:a}),r.jsxs(o.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[r.jsx(o.LoadingOverlay,{visible:t,overlayBlur:2}),r.jsx(Sg,{data:l})]})]})}),p2=({queryID:e})=>{const t=Te(),{state:n,error:s}=t.getDataStuffByID(e),i=g.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:s?r.jsx(o.Text,{mt:10,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:s}):i!=null&&i.stateMessage?r.jsx(o.Text,{mt:10,color:"gray",align:"center",children:i.stateMessage}):null},Fl=I.observer(({id:e,moreActions:t,refreshOnMount:n})=>{const{t:s}=j.useTranslation(),i=Te(),{data:a,state:l}=i.getDataStuffByID(e),c=l==="loading",u=g.useCallback(()=>{i.queries.refetchDataByQueryID(e)},[e,i]),d=()=>{i.queries.downloadDataByQueryID(e)};g.useEffect(()=>{n&&u()},[u,n]);const p=!Array.isArray(a)||a.length===0;return r.jsxs(o.Stack,{spacing:0,sx:{height:"100%",border:"1px solid #eee"},children:[r.jsxs(o.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r.jsx(o.Group,{position:"left",children:r.jsx(o.Text,{weight:500,children:s("data.preview_data")})}),r.jsxs(o.Group,{pr:15,children:[t,r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:c,onClick:u,children:r.jsx(S.IconRefresh,{size:16})}),r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:c||p,onClick:d,children:r.jsx(S.IconDownload,{size:16})})]})]}),r.jsxs(o.Box,{pb:20,sx:{position:"relative",flexGrow:1,overflow:"auto"},children:[r.jsx(p2,{queryID:e}),r.jsx(d2,{data:a,loading:c})]})]})}),h2=I.observer(function(){const{t}=j.useTranslation(),n=le(),s=se(),{panel:i}=rt(),[a,l]=g.useState(!1),c=d=>{n.editor.setPath(["_QUERIES_",d])},u=i.queryIDs.length;return r.jsxs(r.Fragment,{children:[r.jsx(o.Drawer,{opened:a,onClose:()=>l(!1),title:t("panel.settings.choose_queries"),padding:"xl",size:500,zIndex:320,children:r.jsx(o.Checkbox.Group,{value:[...i.queryIDs],onChange:i.setQueryIDs,children:r.jsx(o.Stack,{spacing:"lg",children:s.queries.options.map(d=>r.jsx(o.Checkbox,{label:d.label,value:d.value},d.value))})})}),r.jsxs(o.Stack,{spacing:6,children:[r.jsx(o.Group,{position:"left",children:r.jsx(o.Button,{variant:"light",size:"sm",leftIcon:r.jsx(S.IconLine,{size:16}),onClick:()=>l(!0),children:t(u===0?"panel.settings.need_to_choose_queries":"panel.settings.choose_queries")})}),u===1&&r.jsx(Fl,{id:i.queryIDs[0],moreActions:r.jsx(o.Tooltip,{label:t("query.open"),children:r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(i.queryIDs[0]),children:r.jsx(S.IconArrowCurveRight,{size:16})})})}),u>1&&r.jsxs(o.Tabs,{defaultValue:i.queryIDs[0],children:[r.jsx(o.Tabs.List,{children:i.queries.map(d=>r.jsx(o.Tabs.Tab,{value:d.id,children:d.name},d.id))}),i.queries.map(d=>r.jsx(o.Tabs.Panel,{value:d.id,children:r.jsx(Fl,{id:d.id,moreActions:r.jsx(o.Tooltip,{label:t("query.open"),children:r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(d.id),children:r.jsx(S.IconArrowCurveRight,{size:16})})})})},d.id))]})]})]})}),f2=I.observer(()=>{const{panel:e}=nt();return e.title.show?r.jsx(o.Group,{grow:!0,position:"center",className:"panel-title-wrapper",sx:{flexGrow:1},children:r.jsx(o.Text,{align:"center",lineClamp:1,className:"panel-title-text",children:e.title.show?e.name:""})}):null}),g2=I.observer(()=>{const{panel:e}=nt();return r.jsx(We,{children:r.jsxs(o.Box,{className:`panel-root ${e.title.show?"panel-root--show-title":""}`,p:0,sx:{border:"1px solid",borderColor:e.style.border.enabled?"#e9ecef":"transparent",flexGrow:0,flexShrink:0,width:"600px !important",height:"450px !important"},children:[r.jsx(o.Box,{className:"panel-description-popover-wrapper",children:r.jsx(El,{})}),r.jsx(f2,{}),r.jsx(Al,{panel:e})]})})});function m2(){const{t:e}=j.useTranslation(),{vizManager:t}=g.useContext(nn);return g.useMemo(()=>{const n=t.availableVizList.map(s=>({value:s.name,label:e(s.displayName??s.name),group:e(s.displayGroup??"")}));return v.orderBy(n,[s=>s.group,s=>s.label],["asc","asc"])},[t])}const x2=I.observer(({value:e,submit:t})=>{const{t:n}=j.useTranslation(),[s,i]=Me.useInputState(e);g.useEffect(()=>{i(e)},[e]);const a=m2(),l=e!==s;return r.jsx(o.Select,{label:n("visualization.component"),value:s,searchable:!0,onChange:i,data:a,rightSection:r.jsx(o.ActionIcon,{variant:"filled",color:"green",disabled:!l,onClick:()=>t(s),children:r.jsx(S.IconDeviceFloppy,{size:20})}),maxDropdownHeight:600})}),kg=[];function b2(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function y2(){const{data:e,panel:{variables:t,viz:n,title:s,name:i,queryIDs:a,description:l,id:c}}=rt(),{vizManager:u}=g.useContext(nn),d={name:i,title:s,description:l,viz:n,queryIDs:a,id:c},p=Ff(d);try{return u.resolveComponent(d.viz.type),r.jsx(ui,{configure:p,children:r.jsx(JE,{variables:t,setVizConf:n.setConf,panel:d,vizManager:u,data:e})})}catch(h){return console.info(v.get(h,"message")),null}}const v2=I.observer(()=>{const{data:e,panel:{viz:t}}=rt(),{vizManager:n}=g.useContext(nn),s=g.useCallback(d=>{if(d===t.type)return;const p=b2(n,d);t.setType(d),t.setConf(p||{})},[t.type]),i=d=>{try{t.setConf(JSON.parse(d))}catch(p){console.error(p)}},a=g.useMemo(()=>{var d;return(d=kg.find(p=>p.value===t.type))==null?void 0:d.Panel},[t.type,kg]),l=y2(),c=a?g.createElement(a,{data:e,conf:t.conf,setConf:t.setConf}):null,u=l||c;return r.jsxs(o.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[r.jsx(x2,{submit:s,value:t.type}),r.jsxs(We,{children:[r.jsx(o.Stack,{pb:10,sx:{flexGrow:1,maxHeight:"100%",overflow:"auto"},children:u}),!u&&r.jsx(o.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:i})]})]})}),_2=I.observer(({panel:e,sourceViewID:t})=>{const{t:n}=j.useTranslation(),s=se(),[i,a]=g.useState(t);g.useEffect(()=>{a(t)},[t]);const[l,{open:c,close:u}]=Me.useDisclosure(!1),d=()=>{e.moveToView(t,i),u()};return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{size:"xs",variant:"subtle",color:"blue",onClick:c,leftIcon:r.jsx(S.IconBoxMultiple,{size:14}),children:n("panel.settings.change_view")}),r.jsx(o.Modal,{opened:l,onClose:u,title:n("panel.settings.change_view_title"),zIndex:320,children:r.jsxs(o.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[r.jsx(o.Radio.Group,{value:i,onChange:a,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:r.jsx(o.Stack,{spacing:"xs",children:s.views.options.map(p=>r.jsx(o.Radio,{value:p.value,label:p.label},p.value))})}),r.jsxs(o.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[r.jsx(o.Button,{size:"xs",color:"red",leftIcon:r.jsx(S.IconX,{size:14}),onClick:u,children:n("common.actions.cancel")}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconDeviceFloppy,{size:14}),onClick:d,disabled:i===t,children:n("common.actions.confirm")})]})]})})]})}),j2=I.observer(({sx:e={}})=>{const{t}=j.useTranslation(),n=Te(),{panel:s}=nt(),i=n.dashboardState,a=(()=>{const l={...i,...s.variableStrings};return JSON.stringify(l,null,2)})();return r.jsx(o.Stack,{sx:{overflow:"hidden",...e},children:r.jsxs(o.Tabs,{defaultValue:"vars",keepMounted:!1,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"guide",icon:r.jsx(S.IconAlertCircle,{size:14}),children:t("panel.variable.guide.tabs.guide")}),r.jsx(o.Tabs.Tab,{value:"vars",icon:r.jsx(S.IconVariable,{size:14}),children:t("panel.variable.guide.tabs.vars")})]}),r.jsx(o.Tabs.Panel,{value:"guide",pt:"xs",children:r.jsx(on.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:t("panel.variable.guide.text")})}),r.jsx(o.Tabs.Panel,{value:"vars",pt:"xs",children:r.jsx(on.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})})]})})}),Gl={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{},fallback:"0"},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class w2{constructor(t){q(this,"panel");q(this,"selected");this.panel=t,t.variables.length>0&&(this.selected=t.variables[0]),re.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}get variableOptions(){return this.panel.variables.map(t=>({label:t.name,value:t.name,description:t.aggregation.type}))}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(Gl.name)).length;this.panel.addVariable(v.cloneDeep({...Gl,name:`${Gl.name}${t||""}`})),this.selected=v.last(this.panel.variables)}select(t){this.selected=t}selectByName(t){if(!t){console.warn("Unexpected null name when calling selectByName");return}const n=this.variables.find(s=>s.name===t);if(!n){console.error(`Variable by name[${t}] not found`);return}this.selected=n}remove(t){this.selected===t&&(this.selected=void 0);const n=this.panel.variables.indexOf(t);if(this.panel.removeVariable(t),!this.selected&&!v.isEmpty(this.panel.variables)){const s=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[s]}}}function C2(){const{panel:e}=rt();return X.useCreation(()=>new w2(e),[e])}function S2({label:e,value:t,onChange:n},s){const[i,a]=g.useState(Array.isArray(t)?[...t]:[]),l=g.useCallback(()=>{a(f=>[...f,""])},[a]),c=g.useCallback(f=>{a(x=>(x.splice(f,1),[...x]))},[a]),u=g.useMemo(()=>!v.isEqual(i,t),[i,t]),d=()=>{n(i.map(f=>f.toString()))},p=o.useMantineTheme(),h=g.useMemo(()=>Object.entries(p.colors).map(([f,x])=>x[6]),[p]);return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"left",ref:s,children:[r.jsx(o.Text,{children:e}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!u,onClick:d,children:r.jsx(S.IconDeviceFloppy,{size:20})})]}),r.jsxs(o.Group,{children:[i.map((f,x)=>r.jsx(o.ColorInput,{value:f,onChange:b=>{a(_=>(_.splice(x,1,b),[..._]))},swatches:h,rightSection:r.jsx(o.ActionIcon,{onClick:()=>c(x),color:"red",children:r.jsx(S.IconTrash,{size:14})}),sx:{width:"45%"}})),r.jsx(o.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:r.jsx(S.IconPlaylistAdd,{size:20})})]})]})}const k2=g.forwardRef(S2);function T2({label:e,value:t,onChange:n,type:s},i){const[a,l]=g.useState(Array.isArray(t)?[...t]:[]),c=g.useCallback(()=>{l(h=>[...h,""])},[l]),u=g.useCallback(h=>{l(f=>(f.splice(h,1),[...f]))},[l]),d=g.useMemo(()=>!v.isEqual(a.map(String),t.map(String)),[a,t]),p=()=>{n(a.map(h=>s==="number"?Number(h):h.toString()))};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"left",ref:i,children:[r.jsx(o.Text,{children:e}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:r.jsx(S.IconDeviceFloppy,{size:20})})]}),r.jsxs(o.Group,{children:[a.map((h,f)=>r.jsx(o.TextInput,{type:s,value:h,onChange:x=>{const b=x.currentTarget.value;l(_=>(_.splice(f,1,b),[..._]))},rightSection:r.jsx(o.ActionIcon,{onClick:()=>u(f),color:"red",children:r.jsx(S.IconTrash,{size:14})}),sx:{width:"45%"}})),r.jsx(o.ActionIcon,{onClick:c,color:"blue",variant:"outline",children:r.jsx(S.IconPlaylistAdd,{size:20})})]})]})}const D2=g.forwardRef(T2),I2=g.forwardRef(function({value:t,onChange:n},s){const{t:i}=j.useTranslation(),a=t.color.type,l=(u,d)=>{const p=v.cloneDeep(t);v.set(p,u,d),n(p)},c=u=>{if(u==="static"){n({...t,color:{type:"static",staticColor:"#25262B"}});return}n({...t,color:{type:"continuous",colorRange:[],valueRange:[]}})};return r.jsxs(r.Fragment,{children:[r.jsx(o.Stack,{children:r.jsx(o.TextInput,{label:i("style.font_size.label"),placeholder:i("styles.font_size.placeholder"),sx:{flex:1},value:t.size,onChange:u=>l("size",u.currentTarget.value)})}),r.jsx(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:r.jsx(Bh,{label:i("style.font_weight.label"),value:t.weight,onChange:u=>l("weight",u)})}),r.jsx(o.Divider,{mt:"lg",mb:0,variant:"dashed",label:i("style.label"),labelPosition:"center"}),r.jsxs(o.Stack,{children:[r.jsx(o.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:c}),a==="static"&&r.jsx(tt,{value:t.color.staticColor,onChange:u=>l("color.staticColor",u)}),a==="continuous"&&r.jsxs(r.Fragment,{children:[r.jsx(D2,{label:"Value Range",value:t.color.valueRange,type:"number",onChange:u=>l("color.valueRange",u)}),r.jsx(k2,{label:"Color Range",value:t.color.colorRange,onChange:u=>l("color.colorRange",u)})]})]})]})}),M2=g.forwardRef(function({value:t,onChange:n,withStyle:s=!0,remove:i},a){const{t:l}=j.useTranslation(),c=(u,d)=>{const p=v.cloneDeep(t);v.set(p,u,d),n(p)};return r.jsxs(o.Stack,{ref:a,children:[r.jsxs(o.Stack,{spacing:"xs",px:"sm",py:"md",sx:{border:"1px solid #e9ecef"},children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(o.TextInput,{label:l("common.name"),required:!0,value:t.name,onChange:u=>c("name",u.currentTarget.value)}),r.jsx(U,{label:l("common.data_field"),required:!0,value:t.data_field,onChange:u=>c("data_field",u)})]}),r.jsx(Ao,{label:l("panel.variable.aggregation.label"),pt:0,value:t.aggregation,onChange:u=>c("aggregation",u),withFallback:!0}),t.aggregation.type!=="custom"&&r.jsxs(r.Fragment,{children:[r.jsx(o.Divider,{mt:"xl",mb:0,label:l("numbro.format.label"),labelPosition:"center",variant:"dashed"}),r.jsx(Mt,{value:t.formatter,onChange:u=>c("formatter",u)})]})]}),s&&r.jsx(o.Accordion,{variant:"contained",children:r.jsxs(o.Accordion.Item,{value:"Styles",children:[r.jsx(o.Accordion.Control,{icon:r.jsx(o.Text,{size:"xl",children:"🖼️"}),children:l("style.label")}),r.jsx(o.Accordion.Panel,{children:r.jsx(I2,{value:t,onChange:n})})]})}),r.jsx(o.Button,{mt:20,leftIcon:r.jsx(S.IconTrash,{size:16}),color:"red",variant:"light",onClick:i,children:l("panel.variable.delete")})]})}),z2=I.observer(e=>{const{t}=j.useTranslation(),n=X.useCreation(()=>Lf(e.variable),[e.variable]),s=()=>e.uiModel.remove(e.variable);return r.jsxs(o.Stack,{"data-testid":"variable-editor",align:"stretch",children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{variant:"subtle",size:"xs",disabled:!n.changed,color:"red",onClick:n.reset,leftIcon:r.jsx(S.IconRecycle,{size:18}),children:t("common.actions.revert_changes")}),r.jsx(o.Button,{variant:"filled",size:"xs",disabled:!n.changed,color:"green",onClick:n.commit,leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),children:t("common.actions.save_changes")})]}),r.jsx(M2,{value:m.getSnapshot(n.copy),onChange:n.update,remove:s})]})});I.observer(e=>{const{uiModel:t}=e;return r.jsx(o.Stack,{className:"var-list",children:t.variables.map(n=>r.jsx(o.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})});const E2=I.observer(({model:e})=>{const{t}=j.useTranslation();return r.jsx(o.Overlay,{color:"#fff",opacity:1,sx:{position:"absolute"},children:r.jsx(o.Button,{variant:"light",size:"xs",leftIcon:r.jsx(S.IconPlus,{size:16}),onClick:e.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:t("panel.variable.add")})})}),A2=I.observer(()=>{var n;const{t:e}=j.useTranslation(),t=C2();return t.variableOptions.length===0?r.jsx(E2,{model:t}):r.jsxs(o.Stack,{pb:20,children:[r.jsxs(o.Group,{position:"left",children:[r.jsx(o.Select,{label:e("panel.variable.labels"),data:t.variableOptions,value:(n=t.selected)==null?void 0:n.name,onChange:t.selectByName,maxDropdownHeight:600,sx:{flexGrow:1}}),r.jsx(o.Button,{variant:"light",size:"xs",leftIcon:r.jsx(S.IconPlus,{size:16}),onClick:t.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:e("panel.variable.add")})]}),r.jsx(o.Divider,{variant:"dashed"}),t.selected?r.jsx(z2,{uiModel:t,variable:t.selected}):r.jsx("span",{children:"Select or create a new variable on right side"})]})}),P2={root:{flexGrow:1,width:"100%",minWidth:"1200px",overflow:"hidden"},panel:{width:"100%",minWidth:"1200px",height:"calc(100% - 44px)",padding:10,overflow:"auto"}},Wl=({children:e})=>r.jsxs(o.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"100%",position:"relative"},children:[r.jsx(o.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:e}),r.jsxs(o.Stack,{justify:"flex-start",sx:{alignSelf:"flex-start",width:"600px",flexGrow:0,flexShrink:0},children:[r.jsx(g2,{}),r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(j2,{})})]})]});function O2(e){return!["richText","button"].includes(e)}const L2=I.observer(({panel:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=le(),i=se(),[a,l]=g.useState(s.editor.panelTab),c=e.queries,d=O2(e.viz.type)&&e.dataLoading,p=d||e.queryErrors.length>0||e.queryStateMessages!==""||c.length===0,h=s.editor.path[1];g.useEffect(()=>{l(_=>p&&_==="Visualization"?"Data":_)},[e.id,p]);const f=g.useCallback(_=>{l(_),s.editor.setPanelTab(a)},[]),x=()=>{s.editor.setPath(["_VIEWS_",h])},b=()=>n.openConfirmModal({title:`${t("panel.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.removePanelByID(e.id,h),x()},confirmProps:{color:"red"},zIndex:320});return r.jsxs(aa,{value:{panel:e,data:e.data,loading:d,errors:e.queryErrors,downloadPanelScreenshot:()=>{}},children:[r.jsxs(o.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[r.jsx(o.Text,{pt:9,pb:8,children:e.name}),r.jsxs(o.Group,{position:"right",noWrap:!0,children:[r.jsx(_2,{panel:e,sourceViewID:h}),r.jsx(o.Button,{size:"xs",variant:"subtle",color:"red",onClick:b,leftIcon:r.jsx(S.IconTrash,{size:14}),children:t("panel.delete")})]})]}),r.jsxs(o.Tabs,{value:a,onTabChange:f,keepMounted:!1,styles:P2,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"Data",icon:r.jsx(S.IconDatabase,{size:14}),disabled:d,children:t("data.label")}),r.jsx(o.Tabs.Tab,{value:"Panel",icon:r.jsx(S.IconAppWindow,{size:14}),children:t("panel.label")}),r.jsx(o.Tabs.Tab,{value:"Variables",icon:r.jsx(S.IconVariable,{size:14}),disabled:p,children:r.jsx(o.Tooltip,{label:t("data.requires_data"),disabled:!p,withinPortal:!0,zIndex:310,children:r.jsx(o.Text,{children:t("panel.variable.labels")})})}),r.jsx(o.Tabs.Tab,{value:"Visualization",icon:r.jsx(S.IconChartHistogram,{size:14}),disabled:p,children:r.jsx(o.Tooltip,{label:t("data.requires_data"),disabled:!p,withinPortal:!0,zIndex:310,children:r.jsx(o.Text,{children:t("visualization.label")})})}),r.jsx(o.Tabs.Tab,{value:"Interactions",icon:r.jsx(S.IconRoute,{size:14}),children:t("interactions.label")})]}),r.jsxs(o.Tabs.Panel,{value:"Data",children:[r.jsx(o.LoadingOverlay,{visible:d,exitTransitionDuration:0}),r.jsx(h2,{})]}),r.jsx(o.Tabs.Panel,{value:"Panel",children:r.jsx(Wl,{children:r.jsx(a2,{})})}),r.jsx(o.Tabs.Panel,{value:"Variables",children:r.jsx(Wl,{children:r.jsx(A2,{})})}),r.jsx(o.Tabs.Panel,{value:"Visualization",children:r.jsx(We,{children:r.jsx(Wl,{children:r.jsx(v2,{})})})}),r.jsx(o.Tabs.Panel,{value:"Interactions",children:r.jsx(We,{children:r.jsx(Fj,{})})})]})]})}),B2=I.observer(({viewID:e,panelID:t})=>{const n=se();if(!n.views.findByID(e))return r.jsxs(o.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=n.panels.findByID(t);return i?r.jsx(L2,{panel:i}):r.jsxs(o.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),V2=I.observer(()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState([]),s=jt.useModals(),i=le(),a=f=>{i.editor.setPath(["_QUERIES_",f])},l=()=>{s.openConfirmModal({title:"Delete ununsed queries?",children:r.jsx(o.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedQueries(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.queries.downloadSchema(t)},u=g.useMemo(()=>i.content.queries.sortedList.map(f=>f.id),[i.content.queries.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.queriesUsage;return r.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[r.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:e("query.manage")})}),r.jsxs(o.Flex,{justify:"space-between",align:"center",px:12,children:[r.jsxs(o.Group,{position:"left",children:[r.jsxs(o.Button.Group,{children:[r.jsx(o.Button,{variant:"default",size:"xs",onClick:d,children:e("common.actions.select_all")}),r.jsx(o.Button,{variant:"default",size:"xs",onClick:p,children:e("common.actions.clear_selection")})]}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconCode,{size:14}),disabled:t.length===0,onClick:c,children:e("common.actions.download_schema")})]}),r.jsx(o.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:r.jsx(S.IconTrash,{size:14}),disabled:!i.content.hasUnusedQueries,onClick:l,children:e("query.delete_unused")})]}),r.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:r.jsx(o.Checkbox.Group,{size:"xs",value:t,onChange:n,children:r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"40px"}}),r.jsx("th",{children:e("common.name")}),r.jsx("th",{style:{width:"200px"},children:e("data_source.label")}),r.jsx("th",{style:{width:"100px",textAlign:"right"},children:e("common.type")}),r.jsx("th",{style:{width:"100px",textAlign:"center"},children:e("query.usage.label")}),r.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:e("common.action")})]})}),r.jsx("tbody",{children:i.content.queries.sortedList.map(f=>{var b;const x=((b=h[f.id])==null?void 0:b.length)??0;return r.jsxs("tr",{children:[r.jsx("td",{children:r.jsx(o.Checkbox,{value:f.id,styles:{input:{cursor:"pointer"}}})}),r.jsx("td",{children:f.name}),r.jsx("td",{children:f.key}),r.jsx("td",{style:{textAlign:"right"},children:f.type}),r.jsx("td",{style:{color:x===0?"#ff0000":"#000",fontWeight:x===0?"bold":"normal",textAlign:"center"},children:x}),r.jsx("td",{children:r.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>a(f.id),children:e("common.actions.open")})})]},f.id)})})]})})})]})}),N2=e=>{const{t}=j.useTranslation(),{queryModel:n}=e,s=le(),i=se(),l=i.findQueryUsage(n.id).length>0,c=jt.useModals(),u=()=>{c.openConfirmModal({title:`${t("query.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.queries.removeQuery(n.id),s.editor.setPath(["_QUERIES_",""])},confirmProps:{color:"red"},zIndex:320})};return l?r.jsx(o.Tooltip,{label:t("query.cant_delete"),withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,zIndex:320,position:"top-end",children:r.jsx(o.Box,{sx:{alignSelf:"flex-end"},children:r.jsx(o.Button,{disabled:!0,size:"xs",leftIcon:r.jsx(S.IconTrash,{size:16}),children:t("query.delete")})})}):r.jsx(o.Button,{color:"red",size:"xs",onClick:u,leftIcon:r.jsx(S.IconTrash,{size:16}),sx:{alignSelf:"flex-end"},children:t("query.delete")})},q2=I.observer(N2),Tg=({width:e="calc(100% - 32px)",lastWidth:t="50%",height:n,count:s,spacing:i=16,pl:a=0})=>r.jsxs(o.Stack,{spacing:i,mt:6,pl:a,children:[Array.from(new Array(s-1),(l,c)=>r.jsx(o.Skeleton,{width:e,height:n,radius:"xs"},c)),r.jsx(o.Skeleton,{width:t,height:n,radius:"xs"})]}),ns=({value:e})=>e===null||e===""?null:r.jsx(o.Tooltip,{label:e,disabled:!e,multiline:!0,children:r.jsx(o.ActionIcon,{children:r.jsx(S.IconInfoCircle,{size:14})})}),$2=({column:e})=>{const{column_key:t,column_key_text:n}=e;return t?r.jsx(o.Tooltip,{label:n,disabled:!n,children:r.jsx(o.Badge,{children:t})}):null},F2=I.observer(({dataSource:e})=>{const{columns:t}=e;return t.loading?r.jsx(Tg,{height:"24px",width:"100%",lastWidth:"100%",count:20,pl:6}):t.empty?null:r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"1000px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{width:50}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:30}}),r.jsx("col",{style:{width:70}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{minWidth:80,width:80}}),r.jsx("col",{style:{minWidth:120,width:120}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"#"}),r.jsx("th",{children:"Column Name"}),r.jsx("th",{}),r.jsx("th",{}),r.jsx("th",{children:"Type"}),r.jsx("th",{children:"Nullable"}),r.jsx("th",{children:"Default Value"})]})}),r.jsx("tbody",{children:t.data.map(n=>r.jsxs("tr",{children:[r.jsx("td",{children:n.ordinal_position}),r.jsx("td",{children:n.column_name}),r.jsx("td",{children:r.jsx(ns,{value:n.column_comment})}),r.jsx("td",{children:r.jsx($2,{column:n})}),r.jsx("td",{children:n.column_type}),r.jsx("td",{children:n.is_nullable}),r.jsx("td",{children:r.jsx(ns,{value:n.column_default})})]},n.column_name))})]})}),G2=I.observer(({dataSource:e})=>{const{indexes:t}=e,n=t.data;return r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"950px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:250}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Index Length"}),r.jsx("th",{children:"Index Name"}),r.jsx("th",{children:"Index Algorithm"}),r.jsx("th",{children:"Unique"}),r.jsx("th",{children:"Column Name"})]})}),r.jsx("tbody",{children:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.index_length}),r.jsx("td",{children:s.index_name}),r.jsx("td",{children:s.index_algorithm}),r.jsx("td",{children:s.is_unique?"YES":"NO"}),r.jsx("td",{children:s.column_name})]},s.index_name))})]})}),W2=I.observer(({dataSource:e})=>{const{indexes:t}=e,n=t.data;return r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"850px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Index Name"}),r.jsx("th",{children:"Index Algorithm"}),r.jsx("th",{children:"Unique"}),r.jsx("th",{children:"Definition"}),r.jsx("th",{children:"Condition"}),r.jsx("th",{children:"Comment"})]})}),r.jsx("tbody",{children:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.index_name}),r.jsx("td",{children:s.index_algorithm}),r.jsx("td",{children:s.is_unique?"YES":"NO"}),r.jsx("td",{children:r.jsx(ns,{value:s.index_definition})}),r.jsx("td",{children:r.jsx(ns,{value:s.condition})}),r.jsx("td",{children:r.jsx(ns,{value:s.comment})})]},s.index_name))})]})}),R2=I.observer(({dataSource:e})=>{const{indexes:t}=e;return t.loading||t.empty?null:e.type===Ee.MySQL?r.jsx(G2,{dataSource:e}):e.type===Ee.Postgresql?r.jsx(W2,{dataSource:e}):null}),Q2=I.observer(({dataSource:e})=>r.jsxs(o.Stack,{spacing:40,pt:10,sx:{flexGrow:1,overflow:"auto",position:"relative"},children:[r.jsx(We,{children:r.jsx(F2,{dataSource:e})}),r.jsx(We,{children:r.jsx(R2,{dataSource:e})})]}));function U2({table_type:e}){return e==="VIEW"?r.jsx(S.IconEye,{size:14}):e==="BASE TABLE"?r.jsx(S.IconTable,{size:14}):null}const Y2=I.observer(({dataSource:e})=>{const{tables:t}=e;return t.loading?r.jsx(Tg,{height:"24px",lastWidth:"50%",count:15}):r.jsx(o.Box,{h:"100%",sx:{overflow:"auto",".mantine-NavLink-label":{fontFamily:"monospace"}},children:Object.entries(t.data).map(([n,s])=>r.jsx(o.NavLink,{label:n,icon:r.jsx(S.IconDatabase,{size:14}),defaultOpened:e.table_schema===n,pl:0,childrenOffset:14,children:s.map(i=>r.jsx(o.NavLink,{label:i.table_name,icon:r.jsx(U2,{table_type:i.table_type}),onClick:()=>{e.setKeywords(n,i.table_name)},active:e.table_name===i.table_name},i.table_name))},n))})}),K2=({visible:e})=>r.jsx(o.Box,{py:10,sx:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:r.jsx(o.LoadingOverlay,{visible:e})}),X2=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],J2={icon:{width:"50px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"50px"}}},Z2=I.observer(({dataSource:e})=>{const{t}=j.useTranslation(),{tableData:n}=e;return r.jsxs(o.Group,{pt:10,px:10,position:"apart",children:[r.jsxs(o.Group,{position:"left",children:[n.maxPage>1&&r.jsx(o.Pagination,{size:"sm",value:n.page,onChange:n.setPage,total:n.maxPage,withEdges:n.maxPage>7,styles:{control:{height:"30px"}}}),r.jsx(o.Select,{icon:r.jsx(o.Text,{ta:"center",color:"dimmed",size:14,children:t("common.pagination.page_size")}),size:"xs",styles:J2,data:X2,value:String(n.limit),onChange:s=>n.setLimit(Number(s))})]}),r.jsx(o.Group,{position:"right",children:r.jsx(o.Text,{color:"dimmed",my:0,size:14,children:t("common.pagination.total_rows",{total:n.total})})})]})}),H2=I.observer(({dataSource:e})=>{const t=e.tableData;return t.maxPage===0?r.jsx(o.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:"This table is empty"}):t.error?r.jsx(o.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:t.error}):t.page===1&&t.loading?r.jsx(K2,{visible:!0}):r.jsxs(We,{children:[r.jsx(Z2,{dataSource:e}),r.jsxs(o.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[r.jsx(o.LoadingOverlay,{visible:t.loading,overlayBlur:2}),r.jsx(Sg,{data:t.data})]})]})}),eO={root:{flexGrow:1,overflow:"auto",borderLeft:"1px solid #efefef"},tabsList:{borderBottom:"1px solid #efefef"},tab:{minWidth:120}},tO=I.observer(({dataSource:e})=>{const{t}=j.useTranslation();return g.useEffect(()=>{e.loadTablesIfEmpty()},[e]),e.tables.error?r.jsx(o.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:e.tables.error}):r.jsxs(o.Flex,{sx:{height:"100%"},children:[r.jsx(o.Box,{w:300,sx:{flexGrow:0,flexShrink:0,position:"relative"},children:r.jsx(We,{children:r.jsx(Y2,{dataSource:e})})}),r.jsxs(o.Tabs,{defaultValue:"structure",styles:eO,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"structure",icon:r.jsx(S.IconColumns,{size:14}),children:t("data_source.table_structure_short")}),r.jsx(o.Tabs.Tab,{value:"data",icon:r.jsx(S.IconDatabase,{size:14}),children:t("data.label")})]}),r.jsx(o.Tabs.Panel,{value:"structure",children:r.jsx(Q2,{dataSource:e})}),r.jsx(o.Tabs.Panel,{value:"data",sx:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:r.jsx(H2,{dataSource:e})})]})]})}),nO={modal:{paddingLeft:"0px !important",paddingRight:"0px !important"},header:{marginBottom:0,padding:"20px 20px 10px",borderBottom:"1px solid #efefef",gap:"20px"},title:{flexGrow:1},body:{padding:"0 0 0 20px"}},Dg=I.observer(({dataSource:e,triggerButtonProps:t={}})=>{const{t:n}=j.useTranslation(),[s,i]=g.useState(!1);return e.type==="http"?null:r.jsxs(r.Fragment,{children:[r.jsx(o.Modal,{opened:s,onClose:()=>i(!1),title:r.jsxs(o.Group,{position:"apart",sx:{flexGrow:1},children:[r.jsx(o.Text,{fw:500,children:n("data_source.explorer")}),r.jsxs(o.Group,{spacing:7,children:[r.jsx(o.Badge,{variant:"gradient",gradient:{from:"indigo",to:"cyan"},children:e.key}),r.jsx(o.Badge,{variant:"gradient",gradient:{from:"orange",to:"red"},children:e.type})]})]}),zIndex:320,size:"96vw",styles:nO,children:r.jsx(o.Box,{sx:{height:"calc(100vh - 220px)"},children:r.jsx(tO,{dataSource:e})})}),r.jsx(o.Button,{variant:"subtle",onClick:()=>i(!0),px:16,styles:{inner:{justifyContent:"flex-start"}},...t,children:n("data_source.see_table_structure")})]})}),rO=g.forwardRef(({label:e,type:t,...n},s)=>t===Ee.Transform?r.jsxs(o.Group,{className:"transform-query-option",position:"left",ref:s,...n,sx:{'&[data-selected="true"]':{".mantine-Text-root":{color:"white"},svg:{stroke:"white"}}},children:[r.jsx(S.IconVectorTriangle,{size:14,color:"#228be6"}),r.jsx(o.Text,{color:"blue",children:e})]}):r.jsxs(o.Group,{position:"apart",ref:s,...n,children:[r.jsx(o.Text,{children:e}),r.jsx(o.Text,{children:t})]})),sO=I.observer(({value:e,onChange:t})=>{const{t:n}=j.useTranslation(),s=le(),{data:i=[],loading:a}=X.useRequest(go,{refreshDeps:[]},[]),l=g.useMemo(()=>{const p=i.map(h=>({label:h.key,value:h.key,type:h.type}));return p.push({label:n("query.transform.data_source"),value:Ee.Transform,type:Ee.Transform}),p},[i]),c=g.useMemo(()=>l.reduce((p,h)=>(p[h.value]=h.type,p),{}),[l]),u=p=>{p!==null&&t({key:p,type:c[p]})},d=g.useMemo(()=>s.datasources.find(e),[s,e]);return r.jsx(o.Select,{data:l,label:r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Box,{children:n("data_source.label")}),d&&r.jsx(Dg,{dataSource:d,triggerButtonProps:{compact:!0,size:"xs",px:10}})]}),itemComponent:rO,rightSection:d?r.jsx(o.Text,{size:"xs",color:"dimmed",children:d.type}):void 0,rightSectionWidth:85,maxDropdownHeight:500,styles:{root:{flex:1},label:{display:"block"},rightSection:{pointerEvents:"none",justifyContent:"flex-end",paddingRight:"10px",".mantine-Text-root":{userSelect:"none"}}},disabled:a,value:e.key,onChange:u})}),iO=I.observer(({queryModel:e})=>{const{t}=j.useTranslation(),[n,s]=g.useState(e.name);return g.useEffect(()=>{s(e.name)},[e.name]),r.jsx(o.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:r.jsxs(o.Stack,{spacing:10,sx:{width:"100%"},children:[r.jsx(o.Divider,{mb:-10,variant:"dashed",label:t("query.basics"),labelPosition:"center"}),r.jsx(o.TextInput,{placeholder:t("query.name_description"),label:t("query.name"),required:!0,sx:{flex:1},value:n,onChange:i=>{s(i.currentTarget.value)},rightSection:r.jsx(o.ActionIcon,{variant:"filled",color:"blue",size:"sm",onClick:()=>e.setName(n),disabled:n===e.name,children:r.jsx(S.IconDeviceFloppy,{size:16})}),onBlur:()=>{e.setName(n)}}),r.jsx(sO,{value:{type:e.type,key:e.key},onChange:({type:i,key:a})=>{e.setKey(a),e.setType(i)}}),r.jsx(o.Divider,{mt:10,mb:-10,variant:"dashed",label:t("query.conditions"),labelPosition:"center"}),r.jsx(o.MultiSelect,{label:t("query.run_by_condition.label"),description:t("query.run_by_condition.description"),placeholder:t("query.run_by_condition.unset"),data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy,itemComponent:Op,maxDropdownHeight:500}),e.typedAsHTTP&&r.jsx(o.MultiSelect,{label:t("query.re_run_condition.label"),placeholder:t("query.re_run_condition.label"),data:e.conditionOptions,value:[...e.react_to],onChange:e.setReactTo,itemComponent:Op,maxDropdownHeight:500}),r.jsx(o.Divider,{mt:20,mb:10,variant:"dashed"}),r.jsx(q2,{queryModel:e})]})})});function aO({content:e}){return r.jsxs(o.HoverCard,{width:"60vw",shadow:"md",children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.ActionIcon,{size:16,color:"blue",children:r.jsx(S.IconEye,{})})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsx(on.Prism,{language:"sql",noCopy:!0,withLineNumbers:!0,children:e})})]})}const oO=I.observer(()=>{const t=[...le().globalSQLSnippets.list];return t.length===0?null:r.jsxs(o.Table,{horizontalSpacing:"xs",verticalSpacing:"xs",fontSize:"sm",highlightOnHover:!0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Key"}),r.jsx("th",{children:"Value"})]})}),r.jsx("tbody",{children:t.map(n=>{const{id:s,content:i}=n;return r.jsxs("tr",{children:[r.jsx("td",{children:s}),r.jsx("td",{width:200,children:r.jsx(aO,{content:i})})]},s)})})]})}),lO=`
497
+ `,Cg=()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState(!1);return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"subtle",compact:!0,onClick:()=>n(s=>!s),children:e(t?"common.actions.close":"filter.widget.common.see_data_structure")}),r.jsx(o.Collapse,{in:t,children:r.jsx(on.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:RP})})]})},QP=I.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config,i=()=>{s.addStaticOption({label:"",value:""})},a=s.static_options,l=[...a];return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:s.required,onChange:c=>s.setRequired(c.currentTarget.checked),label:n("filter.widget.select.required")}),r.jsx(Wn,{filter:t})]}),r.jsx(o.TextInput,{label:n("filter.widget.select.width"),description:n("filter.widget.multi_select.width_description"),value:s.min_width,onChange:c=>s.setMinWidth(c.currentTarget.value),placeholder:"200px"}),r.jsx(o.Divider,{label:n("filter.widget.select.configure_options"),labelPosition:"center"}),r.jsxs(o.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[s.usingQuery&&r.jsxs(r.Fragment,{children:[r.jsx(o.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),r.jsx(o.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:r.jsx(o.Text,{color:"white",size:16,children:n("filter.widget.common.using_query")})})]}),a.length>0&&r.jsx(o.MultiSelect,{label:n("filter.widget.select.default_selection"),data:l,value:[...s.default_value],onChange:s.setDefaultValue}),a.map((c,u)=>r.jsxs(o.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[r.jsx(o.TextInput,{label:n("common.label"),required:!0,value:s.static_options[u].label,onChange:d=>{s.static_options[u].setLabel(d.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.TextInput,{label:n("common.value"),required:!0,value:s.static_options[u].value,onChange:d=>{s.static_options[u].setValue(d.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.ActionIcon,{color:"red",variant:"subtle",onClick:()=>s.removeStaticOption(u),sx:{position:"absolute",top:28,right:5},children:r.jsx(S.IconTrash,{size:16})})]},u)),r.jsx(o.Button,{mt:10,size:"xs",color:"blue",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),onClick:i,sx:{width:"50%"},mx:"auto",children:n("common.actions.add_an_option")})]}),r.jsx(o.Divider,{label:n("filter.widget.common.or_fetch_options_from_datasource"),labelPosition:"center"}),r.jsx(o.NumberInput,{value:s.default_selection_count,onChange:s.setDefaultSelectionCount,label:n("filter.widget.common.default_selection_count")}),r.jsx(di,{value:s.options_query_id,onChange:s.setOptionsQueryID}),r.jsx(Cg,{})]})}),UP=I.observer(function({filter:t}){const{t:n,i18n:s}=j.useTranslation(),i=t.config,a=()=>{i.addStaticOption({label:"",value:""})},l=i.static_options,c=g.useMemo(()=>[{label:n("filter.widget.select.no_default_selection"),value:""},...l],[s.language,l]);return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:i.required,onChange:u=>i.setRequired(u.currentTarget.checked),label:n("filter.widget.select.required")}),r.jsx(o.Checkbox,{checked:i.clearable,onChange:u=>i.setClearable(u.currentTarget.checked),label:n("filter.widget.select.clearable")}),r.jsx(Wn,{filter:t})]}),r.jsx(o.TextInput,{label:n("filter.widget.select.width"),value:i.width,onChange:u=>i.setWidth(u.currentTarget.value),placeholder:"200px"}),r.jsx(o.Divider,{label:n("filter.widget.select.configure_options"),labelPosition:"center"}),r.jsxs(o.Stack,{spacing:10,sx:{position:"relative",minHeight:"50px"},children:[i.usingQuery&&r.jsxs(r.Fragment,{children:[r.jsx(o.Overlay,{opacity:.8,color:"#000",sx:{left:"-5px",right:"-5px",top:"-5px",bottom:"-5px"}}),r.jsx(o.Center,{sx:{position:"absolute",top:0,left:0,zIndex:200,height:"100%",width:"100%"},children:r.jsx(o.Text,{color:"white",size:16,children:n("filter.widget.common.using_query")})})]}),l.length>0&&r.jsx(o.Select,{label:n("filter.widget.select.default_selection"),data:c,value:i.default_value,onChange:i.setDefaultValue}),l.map((u,d)=>r.jsxs(o.Flex,{gap:10,sx:{position:"relative"},pr:"40px",children:[r.jsx(o.TextInput,{label:n("common.label"),required:!0,value:i.static_options[d].label,onChange:p=>{i.static_options[d].setLabel(p.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.TextInput,{label:n("common.value"),required:!0,value:i.static_options[d].value,onChange:p=>{i.static_options[d].setValue(p.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeStaticOption(d),sx:{position:"absolute",top:28,right:5},children:r.jsx(S.IconTrash,{size:16})})]},d)),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),onClick:a,sx:{width:"50%"},mx:"auto",children:n("common.actions.add_an_option")})]}),r.jsx(o.Divider,{label:n("filter.widget.common.or_fetch_options_from_datasource"),labelPosition:"center"}),r.jsx(o.Checkbox,{checked:i.default_selection_count===1,onChange:u=>i.setDefaultSelectionCount(u.currentTarget.checked?1:0),label:n("filter.widget.select.select_first_option_by_default")}),r.jsx(di,{value:i.options_query_id,onChange:i.setOptionsQueryID}),r.jsx(Cg,{})]})}),YP=I.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config;return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsx(o.TextInput,{label:n("filter.widget.text_input.default_value"),value:s.default_value,onChange:i=>{s.setDefaultValue(i.currentTarget.value)},sx:{flexGrow:1}}),r.jsx(o.Box,{mt:22,children:r.jsx(Wn,{filter:t})})]}),r.jsx(o.Checkbox,{checked:s.required,onChange:i=>s.setRequired(i.currentTarget.checked),label:n("filter.widget.text_input.required")})]})}),KP=I.observer(function({filter:t}){const{t:n}=j.useTranslation();return r.jsxs(o.Box,{sx:{maxWidth:"480px"},children:[r.jsx(o.Text,{pt:"0",pb:"md",color:"gray",children:n("common.titles.config")}),r.jsx(on.Prism,{mt:22,language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(t,null,4)})]})}),XP={[W.Select]:UP,[W.MultiSelect]:QP,[W.TreeSelect]:oE,[W.TreeSingleSelect]:hE,[W.TextInput]:YP,[W.Checkbox]:FP,[W.DateRange]:WP},An={[W.Select]:"filter.widget.names.select",[W.MultiSelect]:"filter.widget.names.multi_select",[W.TreeSelect]:"filter.widget.names.tree_select",[W.TreeSingleSelect]:"filter.widget.names.tree_single_select",[W.TextInput]:"filter.widget.names.text_input",[W.Checkbox]:"filter.widget.names.checkbox",[W.DateRange]:"filter.widget.names.date_range"},JP=I.observer(function({filter:t}){const{t:n,i18n:s}=j.useTranslation(),i=se(),a=g.useMemo(()=>XP[t.type],[t.type]),l=g.useMemo(()=>[{label:n(An[W.Select]),value:"select"},{label:n(An[W.MultiSelect]),value:"multi-select"},{label:n(An[W.TreeSelect]),value:"tree-select"},{label:n(An[W.TreeSingleSelect]),value:"tree-single-select"},{label:n(An[W.TextInput]),value:"text-input"},{label:n(An[W.Checkbox]),value:"checkbox"},{label:n(An[W.DateRange]),value:"date-range"}],[s.language]);return r.jsxs(o.Group,{grow:!0,spacing:20,align:"top",children:[r.jsxs(o.Box,{sx:{maxWidth:"600px"},children:[r.jsx(o.Text,{pb:"md",color:"gray",children:n("common.titles.edit")}),r.jsxs(o.Stack,{children:[r.jsxs(o.Group,{noWrap:!0,children:[r.jsx(o.NumberInput,{label:n("filter.field.order"),required:!0,value:t.order,onChange:t.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),t.auto_submit_supported&&r.jsx(o.Checkbox,{label:n("filter.field.auto_submit"),checked:t.auto_submit,onChange:c=>t.setAutoSubmit(c.currentTarget.checked),mt:22})]}),r.jsx(o.MultiSelect,{label:n("filter.field.visible_in"),data:i.views.options,value:[...t.visibleInViewsIDs],onChange:t.setVisibleInViewsIDs}),r.jsx(o.TextInput,{label:n("common.key"),placeholder:n("filter.field.key_placeholder"),required:!0,value:t.key,onChange:c=>{t.setKey(c.currentTarget.value)}}),r.jsx(o.TextInput,{label:n("common.label"),placeholder:n("filter.field.label_placeholder"),required:!0,value:t.label,onChange:c=>{t.setLabel(c.currentTarget.value)}}),r.jsx(o.Select,{label:n("filter.field.widget"),data:l,required:!0,value:t.type,onChange:t.setType,maxDropdownHeight:500}),r.jsx(o.Divider,{mb:0,mt:10,variant:"dashed",labelPosition:"center"}),r.jsx(a,{filter:t})]})]}),r.jsx(KP,{filter:t})]})}),ZP=I.observer(({id:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=le(),i=se();if(e==="")return null;const a=i.filters.findByID(e);if(!a)return r.jsxs(o.Text,{size:14,children:["Filter by ID[",e,"] is not found"]});const l=()=>{s.editor.setPath(["_FILTERS_",""])},c=()=>{n.openConfirmModal({title:`${t("filter.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.filters.removeByID(e),l()},confirmProps:{color:"red"},zIndex:320})};return r.jsxs(o.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[r.jsx(o.Group,{position:"right",pt:10,children:r.jsx(o.Button,{size:"xs",color:"red",leftIcon:r.jsx(S.IconTrash,{size:16}),onClick:c,children:t("filter.delete")})}),r.jsx(o.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:r.jsx(JP,{filter:a})})]})}),HP=I.observer(()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState([]),s=le(),i=d=>{s.editor.setPath(["_FILTERS_",d])},a=()=>{s.content.filters.downloadSchema(t)},l=g.useMemo(()=>s.content.filters.sortedList.map(d=>d.id),[s.content.filters.sortedList]),c=()=>{n(l)},u=()=>{n([])};return r.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[r.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:e("filter.manage")})}),r.jsx(o.Flex,{justify:"space-between",align:"center",px:12,children:r.jsxs(o.Group,{position:"left",children:[r.jsxs(o.Button.Group,{children:[r.jsx(o.Button,{variant:"default",size:"xs",onClick:c,children:e("common.actions.select_all")}),r.jsx(o.Button,{variant:"default",size:"xs",onClick:u,children:e("common.actions.clear_selection")})]}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconCode,{size:14}),disabled:t.length===0,onClick:a,children:e("common.actions.download_schema")})]})}),r.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:r.jsx(o.Checkbox.Group,{size:"xs",value:t,onChange:n,children:r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"40px"}}),r.jsx("th",{style:{width:"300px"},children:e("common.label")}),r.jsx("th",{children:e("common.key")}),r.jsx("th",{style:{width:"100px"},children:e("filter.field.widget")}),r.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:e("common.action")})]})}),r.jsx("tbody",{children:s.content.filters.sortedList.map(d=>r.jsxs("tr",{children:[r.jsx("td",{children:r.jsx(o.Checkbox,{value:d.id,styles:{input:{cursor:"pointer"}}})}),r.jsx("td",{children:d.label}),r.jsx("td",{children:d.key}),r.jsx("td",{children:e(An[d.type])}),r.jsx("td",{children:r.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>i(d.id),children:e("common.actions.open")})})]},d.id))})]})})})]})}),e2=I.observer(()=>{const{t:e}=j.useTranslation(),t=se(),[n,s]=g.useState(()=>JSON.stringify(t.mock_context.current,null,4)),i=()=>{try{t.mock_context.replace(JSON.parse(n))}catch(l){Ut.showNotification({title:"Failed",message:l.message,color:"red"})}},a=g.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(t.mock_context.current)}catch{return!1}},[n,t.mock_context.current]);return r.jsxs(o.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[r.jsx(o.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:r.jsx(o.Text,{weight:500,children:e("mock_context.label")})}),r.jsxs(o.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[r.jsxs(o.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[r.jsx(o.Text,{children:e("mock_context.hint")}),r.jsx(o.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:s,sx:{flexGrow:1}})]}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!a,onClick:i,children:r.jsx(S.IconDeviceFloppy,{size:20})})]})]})}),t2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt();return r.jsx(Mn,{label:e("panel.panel_description"),value:t.description,onChange:t.setDescription,styles:{root:{flexGrow:1}}})}),n2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt(),n=Te().layouts.findItemByPanelID(t.id),{style:s}=t;return r.jsx(r.Fragment,{children:r.jsxs(o.Stack,{spacing:20,children:[r.jsxs(o.Group,{grow:!0,align:"top",children:[r.jsx(o.NumberInput,{label:e("panel.style.width"),min:1,max:36,step:1,precision:0,rightSection:r.jsx(o.Text,{size:12,children:e("panel.style.width_postfix")}),styles:{rightSection:{width:"auto",maxWidth:"100px",paddingRight:"14px",justifyContent:"flex-end"}},value:n.w,onChange:i=>{i&&n.setWidth(i)}}),r.jsx(o.NumberInput,{label:e("panel.style.height"),rightSection:r.jsx(o.Text,{size:12,children:e("panel.style.height_postfix")}),styles:{rightSection:{width:"40px"}},value:n.h,onChange:i=>{i&&n.setHeight(i)}})]}),r.jsx(o.Checkbox,{ml:6,label:e("panel.style.border"),checked:s.border.enabled,onChange:i=>s.border.setEnabled(i.currentTarget.checked)})]})})}),r2=()=>r.jsxs("span",{className:"mantine-103svbs mantine-InputWrapper-required mantine-Select-required","aria-hidden":"true",children:[" ","*"]}),s2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt(),{name:n}=t,[s,i]=Me.useInputState(n),a=n!==s,l=g.useCallback(()=>{a&&t.setName(s)},[a,s]);g.useEffect(()=>{i(n)},[n]);const c=!s.trim();return r.jsxs(o.Stack,{spacing:4,children:[r.jsxs(o.Group,{align:"center",children:[r.jsxs(o.Text,{size:14,fw:500,children:[e("panel.panel_name"),r.jsx(r2,{})]}),r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:!a||c,onClick:l,children:r.jsx(S.IconDeviceFloppy,{size:18})})]}),r.jsx(o.TextInput,{value:s,onChange:i,required:!0})]})}),i2=I.observer(()=>{const{t:e}=j.useTranslation(),{panel:t}=rt();return r.jsx(o.Stack,{spacing:6,mb:10,children:r.jsxs(o.Group,{pl:6,position:"left",spacing:20,children:[r.jsx(o.Checkbox,{size:"sm",checked:t.title.show,onChange:n=>t.title.setShow(n.currentTarget.checked),label:e("panel.show_title"),sx:{userSelect:"none"}}),r.jsx(o.Checkbox,{size:"sm",checked:!0,disabled:!0,label:e("panel.use_name_as_title")})]})})});function a2(){const{t:e}=j.useTranslation();return r.jsxs(o.Stack,{sx:{height:"100%"},children:[r.jsx(n2,{}),r.jsx(o.Divider,{label:e("common.info"),labelPosition:"center",variant:"dashed"}),r.jsx(s2,{}),r.jsx(i2,{}),r.jsx(t2,{})]})}const o2={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},"th, td":{wordBreak:"break-word"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1",backgroundColor:"rgb(248, 249, 250)"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function Sg({data:e}){const t=g.useMemo(()=>{if(!Array.isArray(e)||e.length===0)return[];const s=Et.createColumnHelper();return Object.keys(e[0]).map(i=>s.accessor(i,{cell:a=>a.getValue()}))},[e]),n=Et.useReactTable({data:e,columns:t,columnResizeMode:"onChange",getCoreRowModel:Et.getCoreRowModel()});return e.length===0?r.jsx(o.Box,{sx:{height:"5em"}}):r.jsx(We,{children:r.jsxs(o.Table,{sx:o2,children:[r.jsx("thead",{children:n.getHeaderGroups().map(s=>r.jsx("tr",{children:s.headers.map(i=>r.jsxs("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Et.flexRender(i.column.columnDef.header,i.getContext()),r.jsx(o.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:r.jsx(S.IconArrowBarToRight,{})})]},i.id))},s.id))}),r.jsx("tbody",{children:n.getRowModel().rows.map(s=>r.jsx("tr",{children:s.getVisibleCells().map(i=>r.jsx("td",{children:r.jsx(We,{children:typeof i.getValue()=="object"?r.jsx("pre",{children:JSON.stringify(i.getValue(),null,2)}):Et.flexRender(i.column.columnDef.cell,i.getContext())})},i.id))},s.id))})]})})}const l2=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],c2={icon:{width:"80px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"80px"}}},u2=({data:e,page:t,setPage:n,limit:s,setLimit:i})=>{const{t:a}=j.useTranslation(),l=e.length,c=Math.ceil(l/s),u=p=>{n(1),i(Number(p))};if(l===0)return null;const d=c===1&&l<=10;return r.jsxs(o.Group,{pt:10,px:10,position:"apart",children:[r.jsxs(o.Group,{position:"left",children:[c>1&&r.jsx(o.Pagination,{size:"sm",value:t,onChange:n,total:c,withEdges:c>7,styles:{control:{height:"30px"}}}),!d&&r.jsx(o.Select,{icon:r.jsx(o.Text,{ta:"center",color:"dimmed",size:14,children:a("common.pagination.page_size")}),size:"xs",styles:c2,data:l2,value:String(s),onChange:u})]}),r.jsx(o.Group,{position:"right",children:r.jsx(o.Text,{color:"dimmed",my:0,size:14,children:a("common.pagination.total_rows",{total:l})})})]})},d2=b_(({data:e,loading:t})=>{const[n,s]=g.useState(1),[i,a]=g.useState(20),l=g.useMemo(()=>{const c=(n-1)*i,u=c+i;return e.slice(c,u)},[e,n,i]);return r.jsxs(We,{children:[r.jsx(u2,{data:e,page:n,setPage:s,limit:i,setLimit:a}),r.jsxs(o.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[r.jsx(o.LoadingOverlay,{visible:t,overlayBlur:2}),r.jsx(Sg,{data:l})]})]})}),p2=({queryID:e})=>{const t=Te(),{state:n,error:s}=t.getDataStuffByID(e),i=g.useMemo(()=>t.queries.findByID(e),[t,e]);return n==="loading"?null:s?r.jsx(o.Text,{mt:10,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:s}):i!=null&&i.stateMessage?r.jsx(o.Text,{mt:10,color:"gray",align:"center",children:i.stateMessage}):null},Fl=I.observer(({id:e,moreActions:t,refreshOnMount:n})=>{const{t:s}=j.useTranslation(),i=Te(),{data:a,state:l}=i.getDataStuffByID(e),c=l==="loading",u=g.useCallback(()=>{i.queries.refetchDataByQueryID(e)},[e,i]),d=()=>{i.queries.downloadDataByQueryID(e)};g.useEffect(()=>{n&&u()},[u,n]);const p=!Array.isArray(a)||a.length===0;return r.jsxs(o.Stack,{spacing:0,sx:{height:"100%",border:"1px solid #eee"},children:[r.jsxs(o.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r.jsx(o.Group,{position:"left",children:r.jsx(o.Text,{weight:500,children:s("data.preview_data")})}),r.jsxs(o.Group,{pr:15,children:[t,r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:c,onClick:u,children:r.jsx(S.IconRefresh,{size:16})}),r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",disabled:c||p,onClick:d,children:r.jsx(S.IconDownload,{size:16})})]})]}),r.jsxs(o.Box,{pb:20,sx:{position:"relative",flexGrow:1,overflow:"auto"},children:[r.jsx(p2,{queryID:e}),r.jsx(d2,{data:a,loading:c})]})]})}),h2=I.observer(function(){const{t}=j.useTranslation(),n=le(),s=se(),{panel:i}=rt(),[a,l]=g.useState(!1),c=d=>{n.editor.setPath(["_QUERIES_",d])},u=i.queryIDs.length;return r.jsxs(r.Fragment,{children:[r.jsx(o.Drawer,{opened:a,onClose:()=>l(!1),title:t("panel.settings.choose_queries"),padding:"xl",size:500,zIndex:320,children:r.jsx(o.Checkbox.Group,{value:[...i.queryIDs],onChange:i.setQueryIDs,children:r.jsx(o.Stack,{spacing:"lg",children:s.queries.options.map(d=>r.jsx(o.Checkbox,{label:d.label,value:d.value},d.value))})})}),r.jsxs(o.Stack,{spacing:6,children:[r.jsx(o.Group,{position:"left",children:r.jsx(o.Button,{variant:"light",size:"sm",leftIcon:r.jsx(S.IconLine,{size:16}),onClick:()=>l(!0),children:t(u===0?"panel.settings.need_to_choose_queries":"panel.settings.choose_queries")})}),u===1&&r.jsx(Fl,{id:i.queryIDs[0],moreActions:r.jsx(o.Tooltip,{label:t("query.open"),children:r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(i.queryIDs[0]),children:r.jsx(S.IconArrowCurveRight,{size:16})})})}),u>1&&r.jsxs(o.Tabs,{defaultValue:i.queryIDs[0],children:[r.jsx(o.Tabs.List,{children:i.queries.map(d=>r.jsx(o.Tabs.Tab,{value:d.id,children:d.name},d.id))}),i.queries.map(d=>r.jsx(o.Tabs.Panel,{value:d.id,children:r.jsx(Fl,{id:d.id,moreActions:r.jsx(o.Tooltip,{label:t("query.open"),children:r.jsx(o.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(d.id),children:r.jsx(S.IconArrowCurveRight,{size:16})})})})},d.id))]})]})]})}),f2=I.observer(()=>{const{panel:e}=nt();return e.title.show?r.jsx(o.Group,{grow:!0,position:"center",className:"panel-title-wrapper",sx:{flexGrow:1},children:r.jsx(o.Text,{align:"center",lineClamp:1,className:"panel-title-text",children:e.title.show?e.name:""})}):null}),g2=I.observer(()=>{const{panel:e}=nt();return r.jsx(We,{children:r.jsxs(o.Box,{className:`panel-root ${e.title.show?"panel-root--show-title":""}`,p:0,sx:{border:"1px solid",borderColor:e.style.border.enabled?"#e9ecef":"transparent",flexGrow:0,flexShrink:0,width:"600px !important",height:"450px !important"},children:[r.jsx(o.Box,{className:"panel-description-popover-wrapper",children:r.jsx(El,{})}),r.jsx(f2,{}),r.jsx(Al,{panel:e})]})})});function m2(){const{t:e}=j.useTranslation(),{vizManager:t}=g.useContext(nn);return g.useMemo(()=>{const n=t.availableVizList.map(s=>({value:s.name,label:e(s.displayName??s.name),group:e(s.displayGroup??"")}));return v.orderBy(n,[s=>s.group,s=>s.label],["asc","asc"])},[t])}const x2=I.observer(({value:e,submit:t})=>{const{t:n}=j.useTranslation(),[s,i]=Me.useInputState(e);g.useEffect(()=>{i(e)},[e]);const a=m2(),l=e!==s;return r.jsx(o.Select,{label:n("visualization.component"),value:s,searchable:!0,onChange:i,data:a,rightSection:r.jsx(o.ActionIcon,{variant:"filled",color:"green",disabled:!l,onClick:()=>t(s),children:r.jsx(S.IconDeviceFloppy,{size:20})}),maxDropdownHeight:600})}),kg=[];function b2(e,t){try{return e.resolveComponent(t).createConfig()}catch{return null}}function y2(){const{data:e,panel:{variables:t,viz:n,title:s,name:i,queryIDs:a,description:l,id:c}}=rt(),{vizManager:u}=g.useContext(nn),d={name:i,title:s,description:l,viz:n,queryIDs:a,id:c},p=Ff(d);try{return u.resolveComponent(d.viz.type),r.jsx(ui,{configure:p,children:r.jsx(JE,{variables:t,setVizConf:n.setConf,panel:d,vizManager:u,data:e})})}catch(h){return console.info(v.get(h,"message")),null}}const v2=I.observer(()=>{const{data:e,panel:{viz:t}}=rt(),{vizManager:n}=g.useContext(nn),s=g.useCallback(d=>{if(d===t.type)return;const p=b2(n,d);t.setType(d),t.setConf(p||{})},[t.type]),i=d=>{try{t.setConf(JSON.parse(d))}catch(p){console.error(p)}},a=g.useMemo(()=>{var d;return(d=kg.find(p=>p.value===t.type))==null?void 0:d.Panel},[t.type,kg]),l=y2(),c=a?g.createElement(a,{data:e,conf:t.conf,setConf:t.setConf}):null,u=l||c;return r.jsxs(o.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[r.jsx(x2,{submit:s,value:t.type}),r.jsxs(We,{children:[r.jsx(o.Stack,{pb:10,sx:{flexGrow:1,maxHeight:"100%",overflow:"auto"},children:u}),!u&&r.jsx(o.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(t.conf,null,2),onChange:i})]})]})}),_2=I.observer(({panel:e,sourceViewID:t})=>{const{t:n}=j.useTranslation(),s=se(),[i,a]=g.useState(t);g.useEffect(()=>{a(t)},[t]);const[l,{open:c,close:u}]=Me.useDisclosure(!1),d=()=>{e.moveToView(t,i),u()};return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{size:"xs",variant:"subtle",color:"blue",onClick:c,leftIcon:r.jsx(S.IconBoxMultiple,{size:14}),children:n("panel.settings.change_view")}),r.jsx(o.Modal,{opened:l,onClose:u,title:n("panel.settings.change_view_title"),zIndex:320,children:r.jsxs(o.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[r.jsx(o.Radio.Group,{value:i,onChange:a,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:r.jsx(o.Stack,{spacing:"xs",children:s.views.options.map(p=>r.jsx(o.Radio,{value:p.value,label:p.label},p.value))})}),r.jsxs(o.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[r.jsx(o.Button,{size:"xs",color:"red",leftIcon:r.jsx(S.IconX,{size:14}),onClick:u,children:n("common.actions.cancel")}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconDeviceFloppy,{size:14}),onClick:d,disabled:i===t,children:n("common.actions.confirm")})]})]})})]})}),j2=I.observer(({sx:e={}})=>{const{t}=j.useTranslation(),n=Te(),{panel:s}=nt(),i=n.dashboardState,a=(()=>{const l={...i,...s.variableStrings};return JSON.stringify(l,null,2)})();return r.jsx(o.Stack,{sx:{overflow:"hidden",...e},children:r.jsxs(o.Tabs,{defaultValue:"vars",keepMounted:!1,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"guide",icon:r.jsx(S.IconAlertCircle,{size:14}),children:t("panel.variable.guide.tabs.guide")}),r.jsx(o.Tabs.Tab,{value:"vars",icon:r.jsx(S.IconVariable,{size:14}),children:t("panel.variable.guide.tabs.vars")})]}),r.jsx(o.Tabs.Panel,{value:"guide",pt:"xs",children:r.jsx(on.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:t("panel.variable.guide.text")})}),r.jsx(o.Tabs.Panel,{value:"vars",pt:"xs",children:r.jsx(on.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})})]})})}),Gl={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{},fallback:"0"},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class w2{constructor(t){q(this,"panel");q(this,"selected");this.panel=t,t.variables.length>0&&(this.selected=t.variables[0]),re.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}get variableOptions(){return this.panel.variables.map(t=>({label:t.name,value:t.name,description:t.aggregation.type}))}addNew(){const t=this.panel.variables.filter(n=>n.name.startsWith(Gl.name)).length;this.panel.addVariable(v.cloneDeep({...Gl,name:`${Gl.name}${t||""}`})),this.selected=v.last(this.panel.variables)}select(t){this.selected=t}selectByName(t){if(!t){console.warn("Unexpected null name when calling selectByName");return}const n=this.variables.find(s=>s.name===t);if(!n){console.error(`Variable by name[${t}] not found`);return}this.selected=n}remove(t){this.selected===t&&(this.selected=void 0);const n=this.panel.variables.indexOf(t);if(this.panel.removeVariable(t),!this.selected&&!v.isEmpty(this.panel.variables)){const s=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[s]}}}function C2(){const{panel:e}=rt();return X.useCreation(()=>new w2(e),[e])}function S2({label:e,value:t,onChange:n},s){const[i,a]=g.useState(Array.isArray(t)?[...t]:[]),l=g.useCallback(()=>{a(f=>[...f,""])},[a]),c=g.useCallback(f=>{a(x=>(x.splice(f,1),[...x]))},[a]),u=g.useMemo(()=>!v.isEqual(i,t),[i,t]),d=()=>{n(i.map(f=>f.toString()))},p=o.useMantineTheme(),h=g.useMemo(()=>Object.entries(p.colors).map(([f,x])=>x[6]),[p]);return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"left",ref:s,children:[r.jsx(o.Text,{children:e}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!u,onClick:d,children:r.jsx(S.IconDeviceFloppy,{size:20})})]}),r.jsxs(o.Group,{children:[i.map((f,x)=>r.jsx(o.ColorInput,{value:f,onChange:b=>{a(_=>(_.splice(x,1,b),[..._]))},swatches:h,rightSection:r.jsx(o.ActionIcon,{onClick:()=>c(x),color:"red",children:r.jsx(S.IconTrash,{size:14})}),sx:{width:"45%"}})),r.jsx(o.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:r.jsx(S.IconPlaylistAdd,{size:20})})]})]})}const k2=g.forwardRef(S2);function T2({label:e,value:t,onChange:n,type:s},i){const[a,l]=g.useState(Array.isArray(t)?[...t]:[]),c=g.useCallback(()=>{l(h=>[...h,""])},[l]),u=g.useCallback(h=>{l(f=>(f.splice(h,1),[...f]))},[l]),d=g.useMemo(()=>!v.isEqual(a.map(String),t.map(String)),[a,t]),p=()=>{n(a.map(h=>s==="number"?Number(h):h.toString()))};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"left",ref:i,children:[r.jsx(o.Text,{children:e}),r.jsx(o.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:r.jsx(S.IconDeviceFloppy,{size:20})})]}),r.jsxs(o.Group,{children:[a.map((h,f)=>r.jsx(o.TextInput,{type:s,value:h,onChange:x=>{const b=x.currentTarget.value;l(_=>(_.splice(f,1,b),[..._]))},rightSection:r.jsx(o.ActionIcon,{onClick:()=>u(f),color:"red",children:r.jsx(S.IconTrash,{size:14})}),sx:{width:"45%"}})),r.jsx(o.ActionIcon,{onClick:c,color:"blue",variant:"outline",children:r.jsx(S.IconPlaylistAdd,{size:20})})]})]})}const D2=g.forwardRef(T2),I2=g.forwardRef(function({value:t,onChange:n},s){const{t:i}=j.useTranslation(),a=t.color.type,l=(u,d)=>{const p=v.cloneDeep(t);v.set(p,u,d),n(p)},c=u=>{if(u==="static"){n({...t,color:{type:"static",staticColor:"#25262B"}});return}n({...t,color:{type:"continuous",colorRange:[],valueRange:[]}})};return r.jsxs(r.Fragment,{children:[r.jsx(o.Stack,{children:r.jsx(o.TextInput,{label:i("style.font_size.label"),placeholder:i("styles.font_size.placeholder"),sx:{flex:1},value:t.size,onChange:u=>l("size",u.currentTarget.value)})}),r.jsx(o.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:r.jsx(Bh,{label:i("style.font_weight.label"),value:t.weight,onChange:u=>l("weight",u)})}),r.jsx(o.Divider,{mt:"lg",mb:0,variant:"dashed",label:i("style.label"),labelPosition:"center"}),r.jsxs(o.Stack,{children:[r.jsx(o.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:t.color.type,onChange:c}),a==="static"&&r.jsx(tt,{value:t.color.staticColor,onChange:u=>l("color.staticColor",u)}),a==="continuous"&&r.jsxs(r.Fragment,{children:[r.jsx(D2,{label:"Value Range",value:t.color.valueRange,type:"number",onChange:u=>l("color.valueRange",u)}),r.jsx(k2,{label:"Color Range",value:t.color.colorRange,onChange:u=>l("color.colorRange",u)})]})]})]})}),M2=g.forwardRef(function({value:t,onChange:n,withStyle:s=!0,remove:i},a){const{t:l}=j.useTranslation(),c=(u,d)=>{const p=v.cloneDeep(t);v.set(p,u,d),n(p)};return r.jsxs(o.Stack,{ref:a,children:[r.jsxs(o.Stack,{spacing:"xs",px:"sm",py:"md",sx:{border:"1px solid #e9ecef"},children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(o.TextInput,{label:l("common.name"),required:!0,value:t.name,onChange:u=>c("name",u.currentTarget.value)}),r.jsx(U,{label:l("common.data_field"),required:!0,value:t.data_field,onChange:u=>c("data_field",u)})]}),r.jsx(Ao,{label:l("panel.variable.aggregation.label"),pt:0,value:t.aggregation,onChange:u=>c("aggregation",u),withFallback:!0}),t.aggregation.type!=="custom"&&r.jsxs(r.Fragment,{children:[r.jsx(o.Divider,{mt:"xl",mb:0,label:l("numbro.format.label"),labelPosition:"center",variant:"dashed"}),r.jsx(Mt,{value:t.formatter,onChange:u=>c("formatter",u)})]})]}),s&&r.jsx(o.Accordion,{variant:"contained",children:r.jsxs(o.Accordion.Item,{value:"Styles",children:[r.jsx(o.Accordion.Control,{icon:r.jsx(o.Text,{size:"xl",children:"🖼️"}),children:l("style.label")}),r.jsx(o.Accordion.Panel,{children:r.jsx(I2,{value:t,onChange:n})})]})}),r.jsx(o.Button,{mt:20,leftIcon:r.jsx(S.IconTrash,{size:16}),color:"red",variant:"light",onClick:i,children:l("panel.variable.delete")})]})}),z2=I.observer(e=>{const{t}=j.useTranslation(),n=X.useCreation(()=>Lf(e.variable),[e.variable]),s=()=>e.uiModel.remove(e.variable);return r.jsxs(o.Stack,{"data-testid":"variable-editor",align:"stretch",children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{variant:"subtle",size:"xs",disabled:!n.changed,color:"red",onClick:n.reset,leftIcon:r.jsx(S.IconRecycle,{size:18}),children:t("common.actions.revert_changes")}),r.jsx(o.Button,{variant:"filled",size:"xs",disabled:!n.changed,color:"green",onClick:n.commit,leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),children:t("common.actions.save_changes")})]}),r.jsx(M2,{value:m.getSnapshot(n.copy),onChange:n.update,remove:s})]})});I.observer(e=>{const{uiModel:t}=e;return r.jsx(o.Stack,{className:"var-list",children:t.variables.map(n=>r.jsx(o.Button,{variant:t.selected===n?"filled":"subtle",color:"gray",onClick:()=>t.select(n),children:n.name},n.name))})});const E2=I.observer(({model:e})=>{const{t}=j.useTranslation();return r.jsx(o.Overlay,{color:"#fff",opacity:1,sx:{position:"absolute"},children:r.jsx(o.Button,{variant:"light",size:"xs",leftIcon:r.jsx(S.IconPlus,{size:16}),onClick:e.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:t("panel.variable.add")})})}),A2=I.observer(()=>{var n;const{t:e}=j.useTranslation(),t=C2();return t.variableOptions.length===0?r.jsx(E2,{model:t}):r.jsxs(o.Stack,{pb:20,children:[r.jsxs(o.Group,{position:"left",children:[r.jsx(o.Select,{label:e("panel.variable.labels"),data:t.variableOptions,value:(n=t.selected)==null?void 0:n.name,onChange:t.selectByName,maxDropdownHeight:600,sx:{flexGrow:1}}),r.jsx(o.Button,{variant:"light",size:"xs",leftIcon:r.jsx(S.IconPlus,{size:16}),onClick:t.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:e("panel.variable.add")})]}),r.jsx(o.Divider,{variant:"dashed"}),t.selected?r.jsx(z2,{uiModel:t,variable:t.selected}):r.jsx("span",{children:"Select or create a new variable on right side"})]})}),P2={root:{flexGrow:1,width:"100%",minWidth:"1200px",overflow:"hidden"},panel:{width:"100%",minWidth:"1200px",height:"calc(100% - 44px)",padding:10,overflow:"auto"}},Wl=({children:e})=>r.jsxs(o.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"100%",position:"relative"},children:[r.jsx(o.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:e}),r.jsxs(o.Stack,{justify:"flex-start",sx:{alignSelf:"flex-start",width:"600px",flexGrow:0,flexShrink:0},children:[r.jsx(g2,{}),r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(j2,{})})]})]});function O2(e){return!["richText","button"].includes(e)}const L2=I.observer(({panel:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=le(),i=se(),[a,l]=g.useState(s.editor.panelTab),c=e.queries,d=O2(e.viz.type)&&e.dataLoading,p=d||e.queryErrors.length>0||e.queryStateMessages!==""||c.length===0,h=s.editor.path[1];g.useEffect(()=>{l(_=>p&&_==="Visualization"?"Data":_)},[e.id,p]);const f=g.useCallback(_=>{l(_),s.editor.setPanelTab(a)},[]),x=()=>{s.editor.setPath(["_VIEWS_",h])},b=()=>n.openConfirmModal({title:`${t("panel.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.removePanelByID(e.id,h),x()},confirmProps:{color:"red"},zIndex:320});return r.jsxs(aa,{value:{panel:e,data:e.data,loading:d,errors:e.queryErrors,downloadPanelScreenshot:()=>{}},children:[r.jsxs(o.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[r.jsx(o.Text,{pt:9,pb:8,children:e.name}),r.jsxs(o.Group,{position:"right",noWrap:!0,children:[r.jsx(_2,{panel:e,sourceViewID:h}),r.jsx(o.Button,{size:"xs",variant:"subtle",color:"red",onClick:b,leftIcon:r.jsx(S.IconTrash,{size:14}),children:t("panel.delete")})]})]}),r.jsxs(o.Tabs,{value:a,onTabChange:f,keepMounted:!1,styles:P2,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"Data",icon:r.jsx(S.IconDatabase,{size:14}),disabled:d,children:t("data.label")}),r.jsx(o.Tabs.Tab,{value:"Panel",icon:r.jsx(S.IconAppWindow,{size:14}),children:t("panel.label")}),r.jsx(o.Tabs.Tab,{value:"Variables",icon:r.jsx(S.IconVariable,{size:14}),disabled:p,children:r.jsx(o.Tooltip,{label:t("data.requires_data"),disabled:!p,withinPortal:!0,zIndex:310,children:r.jsx(o.Text,{children:t("panel.variable.labels")})})}),r.jsx(o.Tabs.Tab,{value:"Visualization",icon:r.jsx(S.IconChartHistogram,{size:14}),disabled:p,children:r.jsx(o.Tooltip,{label:t("data.requires_data"),disabled:!p,withinPortal:!0,zIndex:310,children:r.jsx(o.Text,{children:t("visualization.label")})})}),r.jsx(o.Tabs.Tab,{value:"Interactions",icon:r.jsx(S.IconRoute,{size:14}),children:t("interactions.label")})]}),r.jsxs(o.Tabs.Panel,{value:"Data",children:[r.jsx(o.LoadingOverlay,{visible:d,exitTransitionDuration:0}),r.jsx(h2,{})]}),r.jsx(o.Tabs.Panel,{value:"Panel",children:r.jsx(Wl,{children:r.jsx(a2,{})})}),r.jsx(o.Tabs.Panel,{value:"Variables",children:r.jsx(Wl,{children:r.jsx(A2,{})})}),r.jsx(o.Tabs.Panel,{value:"Visualization",children:r.jsx(We,{children:r.jsx(Wl,{children:r.jsx(v2,{})})})}),r.jsx(o.Tabs.Panel,{value:"Interactions",children:r.jsx(We,{children:r.jsx(Fj,{})})})]})]})}),B2=I.observer(({viewID:e,panelID:t})=>{const n=se();if(!n.views.findByID(e))return r.jsxs(o.Text,{size:14,children:["View by ID[",e,"] is not found"]});const i=n.panels.findByID(t);return i?r.jsx(L2,{panel:i}):r.jsxs(o.Text,{size:14,children:["Panel by ID[",t,"] is not found"]})}),V2=I.observer(()=>{const{t:e}=j.useTranslation(),[t,n]=g.useState([]),s=jt.useModals(),i=le(),a=f=>{i.editor.setPath(["_QUERIES_",f])},l=()=>{s.openConfirmModal({title:"Delete ununsed queries?",children:r.jsx(o.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedQueries(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.queries.downloadSchema(t)},u=g.useMemo(()=>i.content.queries.sortedList.map(f=>f.id),[i.content.queries.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.queriesUsage;return r.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[r.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:e("query.manage")})}),r.jsxs(o.Flex,{justify:"space-between",align:"center",px:12,children:[r.jsxs(o.Group,{position:"left",children:[r.jsxs(o.Button.Group,{children:[r.jsx(o.Button,{variant:"default",size:"xs",onClick:d,children:e("common.actions.select_all")}),r.jsx(o.Button,{variant:"default",size:"xs",onClick:p,children:e("common.actions.clear_selection")})]}),r.jsx(o.Button,{size:"xs",color:"blue",leftIcon:r.jsx(S.IconCode,{size:14}),disabled:t.length===0,onClick:c,children:e("common.actions.download_schema")})]}),r.jsx(o.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:r.jsx(S.IconTrash,{size:14}),disabled:!i.content.hasUnusedQueries,onClick:l,children:e("query.delete_unused")})]}),r.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:r.jsx(o.Checkbox.Group,{size:"xs",value:t,onChange:n,children:r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"40px"}}),r.jsx("th",{children:e("common.name")}),r.jsx("th",{style:{width:"200px"},children:e("data_source.label")}),r.jsx("th",{style:{width:"100px",textAlign:"right"},children:e("common.type")}),r.jsx("th",{style:{width:"100px",textAlign:"center"},children:e("query.usage.label")}),r.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:e("common.action")})]})}),r.jsx("tbody",{children:i.content.queries.sortedList.map(f=>{var b;const x=((b=h[f.id])==null?void 0:b.length)??0;return r.jsxs("tr",{children:[r.jsx("td",{children:r.jsx(o.Checkbox,{value:f.id,styles:{input:{cursor:"pointer"}}})}),r.jsx("td",{children:f.name}),r.jsx("td",{children:f.key}),r.jsx("td",{style:{textAlign:"right"},children:f.type}),r.jsx("td",{style:{color:x===0?"#ff0000":"#000",fontWeight:x===0?"bold":"normal",textAlign:"center"},children:x}),r.jsx("td",{children:r.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>a(f.id),children:e("common.actions.open")})})]},f.id)})})]})})})]})}),N2=e=>{const{t}=j.useTranslation(),{queryModel:n}=e,s=le(),i=se(),l=i.findQueryUsage(n.id).length>0,c=jt.useModals(),u=()=>{c.openConfirmModal({title:`${t("query.delete")}?`,labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.queries.removeQuery(n.id),s.editor.setPath(["_QUERIES_",""])},confirmProps:{color:"red"},zIndex:320})};return l?r.jsx(o.Tooltip,{label:t("query.cant_delete"),withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,zIndex:320,position:"top-end",children:r.jsx(o.Box,{sx:{alignSelf:"flex-end"},children:r.jsx(o.Button,{disabled:!0,size:"xs",leftIcon:r.jsx(S.IconTrash,{size:16}),children:t("query.delete")})})}):r.jsx(o.Button,{color:"red",size:"xs",onClick:u,leftIcon:r.jsx(S.IconTrash,{size:16}),sx:{alignSelf:"flex-end"},children:t("query.delete")})},q2=I.observer(N2),Tg=({width:e="calc(100% - 32px)",lastWidth:t="50%",height:n,count:s,spacing:i=16,pl:a=0})=>r.jsxs(o.Stack,{spacing:i,mt:6,pl:a,children:[Array.from(new Array(s-1),(l,c)=>r.jsx(o.Skeleton,{width:e,height:n,radius:"xs"},c)),r.jsx(o.Skeleton,{width:t,height:n,radius:"xs"})]}),ns=({value:e})=>e===null||e===""?null:r.jsx(o.Tooltip,{label:e,disabled:!e,multiline:!0,children:r.jsx(o.ActionIcon,{children:r.jsx(S.IconInfoCircle,{size:14})})}),$2=({column:e})=>{const{column_key:t,column_key_text:n}=e;return t?r.jsx(o.Tooltip,{label:n,disabled:!n,children:r.jsx(o.Badge,{children:t})}):null},F2=I.observer(({dataSource:e})=>{const{columns:t}=e;return t.loading?r.jsx(Tg,{height:"24px",width:"100%",lastWidth:"100%",count:20,pl:6}):t.empty?null:r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"1000px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{width:50}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:30}}),r.jsx("col",{style:{width:70}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{minWidth:80,width:80}}),r.jsx("col",{style:{minWidth:120,width:120}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"#"}),r.jsx("th",{children:"Column Name"}),r.jsx("th",{}),r.jsx("th",{}),r.jsx("th",{children:"Type"}),r.jsx("th",{children:"Nullable"}),r.jsx("th",{children:"Default Value"})]})}),r.jsx("tbody",{children:t.data.map(n=>r.jsxs("tr",{children:[r.jsx("td",{children:n.ordinal_position}),r.jsx("td",{children:n.column_name}),r.jsx("td",{children:r.jsx(ns,{value:n.column_comment})}),r.jsx("td",{children:r.jsx($2,{column:n})}),r.jsx("td",{children:n.column_type}),r.jsx("td",{children:n.is_nullable}),r.jsx("td",{children:r.jsx(ns,{value:n.column_default})})]},n.column_name))})]})}),G2=I.observer(({dataSource:e})=>{const{indexes:t}=e,n=t.data;return r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"950px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:250}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Index Length"}),r.jsx("th",{children:"Index Name"}),r.jsx("th",{children:"Index Algorithm"}),r.jsx("th",{children:"Unique"}),r.jsx("th",{children:"Column Name"})]})}),r.jsx("tbody",{children:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.index_length}),r.jsx("td",{children:s.index_name}),r.jsx("td",{children:s.index_algorithm}),r.jsx("td",{children:s.is_unique?"YES":"NO"}),r.jsx("td",{children:s.column_name})]},s.index_name))})]})}),W2=I.observer(({dataSource:e})=>{const{indexes:t}=e,n=t.data;return r.jsxs(o.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"850px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[r.jsxs("colgroup",{children:[r.jsx("col",{style:{minWidth:300}}),r.jsx("col",{style:{width:150}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}}),r.jsx("col",{style:{width:100}})]}),r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Index Name"}),r.jsx("th",{children:"Index Algorithm"}),r.jsx("th",{children:"Unique"}),r.jsx("th",{children:"Definition"}),r.jsx("th",{children:"Condition"}),r.jsx("th",{children:"Comment"})]})}),r.jsx("tbody",{children:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.index_name}),r.jsx("td",{children:s.index_algorithm}),r.jsx("td",{children:s.is_unique?"YES":"NO"}),r.jsx("td",{children:r.jsx(ns,{value:s.index_definition})}),r.jsx("td",{children:r.jsx(ns,{value:s.condition})}),r.jsx("td",{children:r.jsx(ns,{value:s.comment})})]},s.index_name))})]})}),R2=I.observer(({dataSource:e})=>{const{indexes:t}=e;return t.loading||t.empty?null:e.type===Ee.MySQL?r.jsx(G2,{dataSource:e}):e.type===Ee.Postgresql?r.jsx(W2,{dataSource:e}):null}),Q2=I.observer(({dataSource:e})=>r.jsxs(o.Stack,{spacing:40,pt:10,sx:{flexGrow:1,overflow:"auto",position:"relative"},children:[r.jsx(We,{children:r.jsx(F2,{dataSource:e})}),r.jsx(We,{children:r.jsx(R2,{dataSource:e})})]}));function U2({table_type:e}){return e==="VIEW"?r.jsx(S.IconEye,{size:14}):e==="BASE TABLE"?r.jsx(S.IconTable,{size:14}):null}const Y2=I.observer(({dataSource:e})=>{const{tables:t}=e;return t.loading?r.jsx(Tg,{height:"24px",lastWidth:"50%",count:15}):r.jsx(o.Box,{h:"100%",sx:{overflow:"auto",".mantine-NavLink-label":{fontFamily:"monospace"}},children:Object.entries(t.data).map(([n,s])=>r.jsx(o.NavLink,{label:n,title:n,icon:r.jsx(S.IconDatabase,{size:14}),defaultOpened:e.table_schema===n,pl:0,childrenOffset:14,children:s.map(i=>r.jsx(o.NavLink,{label:i.table_name,title:i.table_name,icon:r.jsx(U2,{table_type:i.table_type}),onClick:()=>{e.setKeywords(n,i.table_name)},active:e.table_name===i.table_name},i.table_name))},n))})}),K2=({visible:e})=>r.jsx(o.Box,{py:10,sx:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:r.jsx(o.LoadingOverlay,{visible:e})}),X2=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],J2={icon:{width:"50px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"50px"}}},Z2=I.observer(({dataSource:e})=>{const{t}=j.useTranslation(),{tableData:n}=e;return r.jsxs(o.Group,{pt:10,px:10,position:"apart",children:[r.jsxs(o.Group,{position:"left",children:[n.maxPage>1&&r.jsx(o.Pagination,{size:"sm",value:n.page,onChange:n.setPage,total:n.maxPage,withEdges:n.maxPage>7,styles:{control:{height:"30px"}}}),r.jsx(o.Select,{icon:r.jsx(o.Text,{ta:"center",color:"dimmed",size:14,children:t("common.pagination.page_size")}),size:"xs",styles:J2,data:X2,value:String(n.limit),onChange:s=>n.setLimit(Number(s))})]}),r.jsx(o.Group,{position:"right",children:r.jsx(o.Text,{color:"dimmed",my:0,size:14,children:t("common.pagination.total_rows",{total:n.total})})})]})}),H2=I.observer(({dataSource:e})=>{const t=e.tableData;return t.maxPage===0?r.jsx(o.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:"This table is empty"}):t.error?r.jsx(o.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:t.error}):t.page===1&&t.loading?r.jsx(K2,{visible:!0}):r.jsxs(We,{children:[r.jsx(Z2,{dataSource:e}),r.jsxs(o.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[r.jsx(o.LoadingOverlay,{visible:t.loading,overlayBlur:2}),r.jsx(Sg,{data:t.data})]})]})}),eO={root:{flexGrow:1,overflow:"auto",borderLeft:"1px solid #efefef"},tabsList:{borderBottom:"1px solid #efefef"},tab:{minWidth:120}},tO=I.observer(({dataSource:e})=>{const{t}=j.useTranslation();return g.useEffect(()=>{e.loadTablesIfEmpty()},[e]),e.tables.error?r.jsx(o.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:e.tables.error}):r.jsxs(o.Flex,{sx:{height:"100%"},children:[r.jsx(o.Box,{w:300,sx:{flexGrow:0,flexShrink:0,position:"relative"},children:r.jsx(We,{children:r.jsx(Y2,{dataSource:e})})}),r.jsxs(o.Tabs,{defaultValue:"structure",styles:eO,children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"structure",icon:r.jsx(S.IconColumns,{size:14}),children:t("data_source.table_structure_short")}),r.jsx(o.Tabs.Tab,{value:"data",icon:r.jsx(S.IconDatabase,{size:14}),children:t("data.label")})]}),r.jsx(o.Tabs.Panel,{value:"structure",children:r.jsx(Q2,{dataSource:e})}),r.jsx(o.Tabs.Panel,{value:"data",sx:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:r.jsx(H2,{dataSource:e})})]})]})}),nO={modal:{paddingLeft:"0px !important",paddingRight:"0px !important"},header:{marginBottom:0,padding:"20px 20px 10px",borderBottom:"1px solid #efefef",gap:"20px"},title:{flexGrow:1},body:{padding:"0 0 0 20px"}},Dg=I.observer(({dataSource:e,triggerButtonProps:t={}})=>{const{t:n}=j.useTranslation(),[s,i]=g.useState(!1);return e.type==="http"?null:r.jsxs(r.Fragment,{children:[r.jsx(o.Modal,{opened:s,onClose:()=>i(!1),title:r.jsxs(o.Group,{position:"apart",sx:{flexGrow:1},children:[r.jsx(o.Text,{fw:500,children:n("data_source.explorer")}),r.jsxs(o.Group,{spacing:7,children:[r.jsx(o.Badge,{variant:"gradient",gradient:{from:"indigo",to:"cyan"},children:e.key}),r.jsx(o.Badge,{variant:"gradient",gradient:{from:"orange",to:"red"},children:e.type})]})]}),zIndex:320,size:"96vw",styles:nO,children:r.jsx(o.Box,{sx:{height:"calc(100vh - 220px)"},children:r.jsx(tO,{dataSource:e})})}),r.jsx(o.Button,{variant:"subtle",onClick:()=>i(!0),px:16,styles:{inner:{justifyContent:"flex-start"}},...t,children:n("data_source.see_table_structure")})]})}),rO=g.forwardRef(({label:e,type:t,...n},s)=>t===Ee.Transform?r.jsxs(o.Group,{className:"transform-query-option",position:"left",ref:s,...n,sx:{'&[data-selected="true"]':{".mantine-Text-root":{color:"white"},svg:{stroke:"white"}}},children:[r.jsx(S.IconVectorTriangle,{size:14,color:"#228be6"}),r.jsx(o.Text,{color:"blue",children:e})]}):r.jsxs(o.Group,{position:"apart",ref:s,...n,children:[r.jsx(o.Text,{children:e}),r.jsx(o.Text,{children:t})]})),sO=I.observer(({value:e,onChange:t})=>{const{t:n}=j.useTranslation(),s=le(),{data:i=[],loading:a}=X.useRequest(go,{refreshDeps:[]},[]),l=g.useMemo(()=>{const p=i.map(h=>({label:h.key,value:h.key,type:h.type}));return p.push({label:n("query.transform.data_source"),value:Ee.Transform,type:Ee.Transform}),p},[i]),c=g.useMemo(()=>l.reduce((p,h)=>(p[h.value]=h.type,p),{}),[l]),u=p=>{p!==null&&t({key:p,type:c[p]})},d=g.useMemo(()=>s.datasources.find(e),[s,e]);return r.jsx(o.Select,{data:l,label:r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Box,{children:n("data_source.label")}),d&&r.jsx(Dg,{dataSource:d,triggerButtonProps:{compact:!0,size:"xs",px:10}})]}),itemComponent:rO,rightSection:d?r.jsx(o.Text,{size:"xs",color:"dimmed",children:d.type}):void 0,rightSectionWidth:85,maxDropdownHeight:500,styles:{root:{flex:1},label:{display:"block"},rightSection:{pointerEvents:"none",justifyContent:"flex-end",paddingRight:"10px",".mantine-Text-root":{userSelect:"none"}}},disabled:a,value:e.key,onChange:u})}),iO=I.observer(({queryModel:e})=>{const{t}=j.useTranslation(),[n,s]=g.useState(e.name);return g.useEffect(()=>{s(e.name)},[e.name]),r.jsx(o.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:r.jsxs(o.Stack,{spacing:10,sx:{width:"100%"},children:[r.jsx(o.Divider,{mb:-10,variant:"dashed",label:t("query.basics"),labelPosition:"center"}),r.jsx(o.TextInput,{placeholder:t("query.name_description"),label:t("query.name"),required:!0,sx:{flex:1},value:n,onChange:i=>{s(i.currentTarget.value)},rightSection:r.jsx(o.ActionIcon,{variant:"filled",color:"blue",size:"sm",onClick:()=>e.setName(n),disabled:n===e.name,children:r.jsx(S.IconDeviceFloppy,{size:16})}),onBlur:()=>{e.setName(n)}}),r.jsx(sO,{value:{type:e.type,key:e.key},onChange:({type:i,key:a})=>{e.setKey(a),e.setType(i)}}),r.jsx(o.Divider,{mt:10,mb:-10,variant:"dashed",label:t("query.conditions"),labelPosition:"center"}),r.jsx(o.MultiSelect,{label:t("query.run_by_condition.label"),description:t("query.run_by_condition.description"),placeholder:t("query.run_by_condition.unset"),data:e.conditionOptions,value:[...e.run_by],onChange:e.setRunBy,itemComponent:Op,maxDropdownHeight:500}),e.typedAsHTTP&&r.jsx(o.MultiSelect,{label:t("query.re_run_condition.label"),placeholder:t("query.re_run_condition.label"),data:e.conditionOptions,value:[...e.react_to],onChange:e.setReactTo,itemComponent:Op,maxDropdownHeight:500}),r.jsx(o.Divider,{mt:20,mb:10,variant:"dashed"}),r.jsx(q2,{queryModel:e})]})})});function aO({content:e}){return r.jsxs(o.HoverCard,{width:"60vw",shadow:"md",children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.ActionIcon,{size:16,color:"blue",children:r.jsx(S.IconEye,{})})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsx(on.Prism,{language:"sql",noCopy:!0,withLineNumbers:!0,children:e})})]})}const oO=I.observer(()=>{const t=[...le().globalSQLSnippets.list];return t.length===0?null:r.jsxs(o.Table,{horizontalSpacing:"xs",verticalSpacing:"xs",fontSize:"sm",highlightOnHover:!0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:"Key"}),r.jsx("th",{children:"Value"})]})}),r.jsx("tbody",{children:t.map(n=>{const{id:s,content:i}=n;return r.jsxs("tr",{children:[r.jsx("td",{children:s}),r.jsx("td",{width:200,children:r.jsx(aO,{content:i})})]},s)})})]})}),lO=`
498
498
  -- You may reference query variables in SQL or VizConfig.
499
499
  SELECT *
500
500
  FROM commit