@devtable/dashboard 13.42.0 → 13.42.2

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.
@@ -88,7 +88,7 @@ Check the top-level render call using <`+N+">.")}return A}}function em(k,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=N_(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=q_(c);return $_(d,i,n)})}function F_(e,t){const n=xc.decode(t);n!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:n}),console.groupEnd())}async function G_({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=rx({sql:p,pre_process:u}),g=xc.encode(h);F_(h,g);let b=await Yt.query(i)({type:a,key:l,query:g,...s},{params:{name:t}});return b=sx(d,b,fo(n)),b}async function W_({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(Rt.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 Gp(){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 Wp{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 R_{constructor(){q(this,"channels",new Map);q(this,"globalChannel",new bc)}getChannel(t){const n=this.channels.get(t);if(n)return n;const s=new bc;return this.channels.set(t,s),s}}class Q_{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 R_,instanceData:new Wp(t.viz.conf)};return this.instances.set(t.id,s),s}}function Rp(e,t,n,s){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Wp({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const U_=e=>{const{panel:t,measure:n,vizManager:s,data:i,variables:a}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...Rp(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"])})},Y_=e=>{const{vizManager:t,panel:n,data:s,variables:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),c={...Rp(l,s,t,i)},u=a.configRender;return r.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},Qp=(e,t)=>{const n=Et.bezier(e),s=Et.bezier(t);return function(i){return i<50?n(i*2/100).hex():s((i-50)*2/100).hex()}},Ks=e=>{const t=Et.bezier(e);return function(n){return t(n/100).hex()}},K_={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:Qp(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},X_={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:Qp(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},J_={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:Ks(["#fff7f1","darkred"]),name:"red",category:"sequential"},Z_={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:Ks(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},H_={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:Ks(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ej={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:Ks(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class tj{constructor(t){q(this,"symbol");this.symbol=Symbol(t)}}function pn(e){return new tj(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 Up="13.42.0",nj=Object.freeze(Object.defineProperty({__proto__:null,version:Up},Symbol.toStringTag,{value:"Module"}));class rj{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 sj{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 ij{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 Ie extends ij{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}]=Y.useBoolean(!0),[i,a]=f.useState();f.useEffect(()=>(e.getItem(t).then(c=>{a(c),s()}),e.watchItem(t,c=>{a(c)})));const l=f.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},Vt=e=>Math.max(0,e-ut.left-ut.right),Nt=e=>Math.max(0,e-ut.top-ut.bottom),Zr=(e,t)=>({width:Vt(e),height:Nt(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 aj({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=f.useMemo(()=>cs(n,a),[n,a]),{x:g,y:b,z:x}=f.useMemo(()=>({x:L(a),y:L(l),z:L(c)}),[a,l,c]),{min:_,max:T}=f.useMemo(()=>{const I=v.minBy(h,z=>z[x.columnKey]),M=v.maxBy(h,z=>z[x.columnKey]);return{min:v.get(I,x.columnKey),max:v.get(M,x.columnKey)}},[h,x]),C={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(I=>[I[g.columnKey],I[b.columnKey],I[x.columnKey]])}]};return t?r.jsx(dt,{width:s,height:i,children:r.jsx(Ke,{echarts:Ye,option:C,style:Zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const U=D.observer(f.forwardRef(({label:e,required:t,description:n,value:s,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Pe(),h=f.useMemo(()=>p.dataFieldOptions(s,l,a),[s,l,a]);if(h.length===0){const g=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:g.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:g.queryName?"black":"red",sx:{fontFamily:"monospace"},children:g.queryName??g.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:g.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 oj({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 f.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 lj=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function cj(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 uj extends Ie{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:cj(i,s)}})}}const dj={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new uj,name:"bar-3d",viewRender:aj,configRender:oj,createConfig(){return{version:2,config:v.cloneDeep(xo)}},translation:lj},pj=({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 tt(){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=N_(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=q_(c);return $_(d,i,n)})}function F_(e,t){const n=xc.decode(t);n!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:n}),console.groupEnd())}async function G_({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=rx({sql:p,pre_process:u}),g=xc.encode(h);F_(h,g);let b=await Yt.query(i)({type:a,key:l,query:g,...s},{params:{name:t}});return b=sx(d,b,fo(n)),b}async function W_({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(Rt.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 Gp(){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 Wp{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 R_{constructor(){q(this,"channels",new Map);q(this,"globalChannel",new bc)}getChannel(t){const n=this.channels.get(t);if(n)return n;const s=new bc;return this.channels.set(t,s),s}}class Q_{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 R_,instanceData:new Wp(t.viz.conf)};return this.instances.set(t.id,s),s}}function Rp(e,t,n,s){return{vizManager:n,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Wp({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const U_=e=>{const{panel:t,measure:n,vizManager:s,data:i,variables:a}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...Rp(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"])})},Y_=e=>{const{vizManager:t,panel:n,data:s,variables:i}=e,a=t.resolveComponent(n.viz.type),l=t.getOrCreateInstance(n),c={...Rp(l,s,t,i)},u=a.configRender;return r.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},Qp=(e,t)=>{const n=Et.bezier(e),s=Et.bezier(t);return function(i){return i<50?n(i*2/100).hex():s((i-50)*2/100).hex()}},Ks=e=>{const t=Et.bezier(e);return function(n){return t(n/100).hex()}},K_={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:Qp(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},X_={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:Qp(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},J_={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:Ks(["#fff7f1","darkred"]),name:"red",category:"sequential"},Z_={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:Ks(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},H_={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:Ks(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ej={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:Ks(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class tj{constructor(t){q(this,"symbol");this.symbol=Symbol(t)}}function pn(e){return new tj(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 Up="13.42.2",nj=Object.freeze(Object.defineProperty({__proto__:null,version:Up},Symbol.toStringTag,{value:"Module"}));class rj{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 sj{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 ij{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 Ie extends ij{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}]=Y.useBoolean(!0),[i,a]=f.useState();f.useEffect(()=>(e.getItem(t).then(c=>{a(c),s()}),e.watchItem(t,c=>{a(c)})));const l=f.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},Vt=e=>Math.max(0,e-ut.left-ut.right),Nt=e=>Math.max(0,e-ut.top-ut.bottom),Zr=(e,t)=>({width:Vt(e),height:Nt(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 aj({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=f.useMemo(()=>cs(n,a),[n,a]),{x:g,y:b,z:x}=f.useMemo(()=>({x:L(a),y:L(l),z:L(c)}),[a,l,c]),{min:_,max:T}=f.useMemo(()=>{const I=v.minBy(h,z=>z[x.columnKey]),M=v.maxBy(h,z=>z[x.columnKey]);return{min:v.get(I,x.columnKey),max:v.get(M,x.columnKey)}},[h,x]),C={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(I=>[I[g.columnKey],I[b.columnKey],I[x.columnKey]])}]};return t?r.jsx(dt,{width:s,height:i,children:r.jsx(Ke,{echarts:Ye,option:C,style:Zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const U=D.observer(f.forwardRef(({label:e,required:t,description:n,value:s,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Pe(),h=f.useMemo(()=>p.dataFieldOptions(s,l,a),[s,l,a]);if(h.length===0){const g=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:g.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:g.queryName?"black":"red",sx:{fontFamily:"monospace"},children:g.queryName??g.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:g.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 oj({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 f.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 lj=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function cj(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 uj extends Ie{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:cj(i,s)}})}}const dj={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new uj,name:"bar-3d",viewRender:aj,configRender:oj,createConfig(){return{version:2,config:v.cloneDeep(xo)}},translation:lj},pj=({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 tt(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
92
92
  `)}}const qt=f.forwardRef(({value:e,onChange:t,triggerButtonText:n},s)=>{const{t:i}=j.useTranslation(),[a,{setTrue:l,setFalse:c}]=Y.useBoolean(),[u,d]=f.useState(e);f.useEffect(()=>{d(e)},[e]);const p=T=>{d({...u,enabled:T})},h=()=>{c();const{enabled:T,func_content:C}=u,I={enabled:T,func_content:C};d(I),t(I)},g=()=>{c(),d(e)},b=T=>{d(C=>({...C,func_content:T}))},x=()=>{b(tt().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(pj,{value:u.func_content,onChange:b,disabled:!u.enabled}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{onClick:x,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:g,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 Yp(){return v.cloneDeep(Fn)}const hj=[{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:"点击箱体、散点或异常点"}}}}],Kp={id:"builtin:echarts:click-echart:series",displayName:"viz.boxplot.click_series.label",nameRender:gj,configRender:fj,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 fj(e){return r.jsx(r.Fragment,{})}function gj(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.boxplot.click_series.label")})}const Xs=f.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=f.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})]})]})}),$t=f.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 It({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};
@@ -140,7 +140,7 @@ Check the top-level render call using <`+N+">.")}return A}}function em(k,A){{if(
140
140
  ${s.join("")}
141
141
  </tbody>
142
142
  </table>
143
- `}const Sw=(e,t)=>n=>{const{seriesName:s,value:i}=n;switch(s){case t.Box:return _w(e,i);case t.Outlier:return ww(e,i);case t.Scatter:return Cw(e,i)}};function kw({config:e,seriesNames:t}){return xe.getTooltip({trigger:"item",formatter:Sw(e,t)})}function Zs(e,t){t||(t="none");const n=[];return e.x_axis_scroll&&n.push({type:"inside",xAxisIndex:[0],filterMode:t,minSpan:1}),e.y_axis_scroll&&n.push({type:"inside",yAxisIndex:[0],filterMode:t,minSpan:1}),e.x_axis_slider&&n.push({type:"slider",xAxisIndex:[0],filterMode:t,bottom:"auto",top:0,height:15,moveHandleSize:0,showDataShadow:!1,minSpan:1}),n}function Tw({min:e,max:t}){if(e<=110)return Math.min(0,e);if(e<=200)return 100;const n=Qn.floor(Qn.log10(e)),s=Math.pow(10,n),i=Math.pow(10,n-1);return e/s<=2?v.round(e,-1*(n-1))-i:v.round(e,-1*n)-s}function Iw(e){return{Box:e("viz.boxplot.box"),Scatter:e("viz.boxplot.scatter"),Outlier:e("viz.boxplot.outlier")}}function Dw({config:e,data:t,variables:n,t:s}){const{x_axis:i,y_axis:a,reference_lines:l}=e,c=uw(e,t),u=Dt(i.axisLabel.overflow.on_axis),d=Iw(s),p=vw(e,c).map(h=>({...h,name:v.get(d,h.name,h.name)}));return{dataZoom:Zs(e.dataZoom,"filter"),grid:dw(e),dataset:c,legend:pw({config:e,seriesNames:d}),tooltip:kw({config:e,seriesNames:d}),xAxis:[xe.getXAxis({type:"category",name:i.name,nameGap:25,nameLocation:"center",nameTextStyle:{align:"center"},axisLabel:{...i.axisLabel,...u,formatter:pt(i.axisLabel.formatter)}})],yAxis:[xe.getYAxis({name:a.name,minInterval:1,axisLabel:{formatter:function(h){return ie(h,a.label_formatter)}},min:Tw})],series:[...p,...hw(l,n,t)]}}function Mw({context:e,instance:t}){const{t:n}=j.useTranslation(),{value:s}=Q(e.instanceData,"config"),{variables:i}=e,a=e.data,{width:l,height:c}=e.viewport,u=v.defaults({},s,bo),d=_t({vizManager:e.vizManager,instance:t}),p=vt(d.triggerManager,Kp.id),h=Gn(a,u.x_axis.data_key),g=f.useCallback(_=>{const T=v.get(h,_.name,{error:"rowData is not found"});p.forEach(C=>{d.runInteraction(C.id,{..._,rowData:T})})},[h,p,d]),b=f.useMemo(()=>({click:g}),[g]),x=f.useMemo(()=>Dw({config:u,data:a,variables:i,t:n}),[u,a,i,n]);return!s||!l||!c?null:r.jsx(dt,{width:l,height:c,children:r.jsx(Ke,{echarts:Ye,option:x,style:Zr(l,c),onEvents:b,notMerge:!0,theme:"merico-light"})})}function $e({canSubmit:e,buttonRef:t}){const{t:n}=j.useTranslation();return r.jsxs(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r.jsx(o.Text,{children:n("viz.viz_config_banner")}),r.jsx(o.ActionIcon,{ref:t,type:"submit",mr:5,variant:"filled",color:"blue",disabled:!e,children:r.jsx(S.IconDeviceFloppy,{size:20})})]})}const Co=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("common.align.horizontal.left"),value:"left"},{label:a("common.align.horizontal.center"),value:"center"},{label:a("common.align.horizontal.right"),value:"right"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("common.align.horizontal.label"),data:c,value:t,onChange:n,sx:s})}),nh=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("common.align.vertical.top"),value:"top"},{label:a("common.align.vertical.center"),value:"center"},{label:a("common.align.vertical.bottom"),value:"bottom"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("common.align.vertical.label"),data:c,value:t,onChange:n,sx:s})}),rh=o.createStyles(()=>({palette:{display:"flex",flexFlow:"row nowrap"},paletteItem:{".palette-value":{height:24,overflow:"visible",width:36},".palette-item":{width:"36px",height:36*.618,cursor:"pointer",transition:"transform 100ms ease-in-out","&:hover":{boxShadow:"0 0 0 2px var(--shadow-color)",borderRadius:2,transform:"scale(1.2)"}}}})),zw=[{from:0,to:0},{from:100,to:100}];class Ew{constructor(){q(this,"steps",new Map);q(this,"interpolation");q(this,"onChange");re.makeAutoObservable(this,{steps:re.observable},{deep:!1}),re.reaction(()=>re.toJS(this.steps),()=>{this.notifyStepChange()})}setSteps(t){for(const n of t)this.steps.set(n.to,n.from)}notifyStepChange(){var t;(t=this.onChange)==null||t.call(this,Array.from(this.steps.entries()).map(([n,s])=>({to:n,from:s})).sort((n,s)=>n.to-s.to||n.from-s.from))}fromProps(t){t.steps.length<2?this.setSteps(zw):this.setSteps(t.steps),this.interpolation=t.interpolation,this.onChange=t.onChange}changeStep(t,n){t==null?this.steps.delete(n):this.steps.set(n,t)}getStepFromValue(t){return this.steps.get(t)}}function sh(e){if(typeof e=="number")return String(e)}function Aw(e){const{t}=j.useTranslation(),{onChange:n,color:s,index:i,value:a}=e,{classes:l}=rh(),[c,u]=f.useState(sh(a)),[d,{setTrue:p,setFalse:h}]=Y.useBoolean(!1),g=i%2===1,b=g&&a!=null,x=!g&&a!=null,_=`map ${a} to color ${i}`,T=()=>{u(sh(a)),h()},C=()=>{h(),n==null||n(Number(c))},I=()=>{h(),n==null||n(null)},M=ie(a??null,{output:"number",mantissa:10,trimMantissa:!0,average:!0,absolute:!1}),z=!c||Number.isNaN(Number(c));return r.jsxs("div",{"data-testid":`palette-item-${i}`,className:l.paletteItem,children:[r.jsx(o.Text,{title:_,style:{opacity:b?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:M}),r.jsxs(o.Popover,{width:240,trapFocus:!0,opened:d,onClose:h,zIndex:340,withinPortal:!0,children:[r.jsx(o.Popover.Target,{children:r.jsx("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:p,style:{"--shadow-color":Et(s).alpha(.5).hex(),backgroundColor:s}})}),r.jsxs(o.Popover.Dropdown,{children:[r.jsx(o.Tooltip,{withinPortal:!0,zIndex:340,label:t("common.actions.close"),children:r.jsx(o.CloseButton,{"data-testid":"palette-item-cancel",size:"sm",color:"gray",onClick:T,style:{position:"absolute",top:"0.5em",right:"0.8em"}})}),r.jsxs(o.Stack,{children:[r.jsx(o.TextInput,{size:"xs",label:t("style.color.interpolation.palette.mapping.value_input_label"),value:c,onChange:E=>{const R=E.currentTarget.value;u(R)},error:c&&z}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{variant:"light",color:"red",size:"xs",onClick:I,leftIcon:r.jsx(S.IconTrash,{size:16}),children:t("common.actions.delete")}),r.jsx(o.Button,{color:"green",leftIcon:r.jsx(S.IconDeviceFloppy,{size:16}),"data-testid":"palette-item-ok",size:"xs",onClick:C,disabled:z,children:t("common.actions.save")})]})]})]})]}),r.jsx(o.Text,{title:_,style:{opacity:x?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:M})]})}const Pw=D.observer(({model:e})=>{const{classes:t}=rh(),n=v.range(0,13,1).map(s=>100/12*s).map(s=>[e.interpolation.getColor(s),s]);return r.jsx("div",{className:t.palette,children:n.map(([s,i],a)=>r.jsx(Aw,{index:a,color:s,value:e.getStepFromValue(i),onChange:l=>e.changeStep(l,i)},s))})}),Ow=D.observer(function(t){const n=Y.useCreation(()=>new Ew,[]);return f.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:r.jsx(Pw,{model:n})}),Lw=e=>{const{t,i18n:n}=j.useTranslation(),{value:s,onChange:i,colorManager:a}=e,l=a.getColorInterpolations(),[c,u]=f.useState(s),d=a.decodeInterpolation(c.interpolation)||l[0],[p,{setTrue:h,setFalse:g}]=Y.useBoolean(),b=f.useMemo(()=>l.map(I=>({label:t(I.displayName),value:a.encodeColor(I),group:t(`style.color.interpolation.palette.category.${I.category}`)})),[n.language]);function x(I){I&&u(M=>({...M,interpolation:I}))}const _=()=>{g(),i==null||i(re.toJS(c))};function T(I){u(M=>({...M,steps:I}))}const C=()=>{g(),u(s)};return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"outline",onClick:h,children:t(d==null?void 0:d.displayName)}),r.jsx(o.Modal,{size:508,title:t("style.color.interpolation.setup"),opened:p,onClose:g,zIndex:320,children:p&&r.jsxs(o.Stack,{"data-testid":"color-interpolation-modal",children:[r.jsx(o.Select,{label:t("style.color.interpolation.palette.label"),value:c.interpolation,data:b,onChange:x,withinPortal:!0,zIndex:340,maxDropdownHeight:500}),r.jsx(Ow,{steps:c.steps,interpolation:d,onChange:T}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{onClick:C,variant:"subtle",children:t("common.actions.cancel")}),r.jsx(o.Button,{color:"green",leftIcon:r.jsx(S.IconDeviceFloppy,{size:16}),onClick:_,children:t("common.actions.save")})]})]})})]})},Bw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.color.type.static"),value:"static"},{label:a("style.color.type.interpolation"),value:"interpolation"},{label:a("style.color.type.none"),value:"none"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.color.type.label"),data:c,value:t,onChange:n,sx:s})}),Vw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.flex.justify_content.left"),value:"left"},{label:a("style.flex.justify_content.center"),value:"center"},{label:a("style.flex.justify_content.right"),value:"right"},{label:a("style.flex.justify_content.space_between"),value:"space-between"},{label:a("style.flex.justify_content.space_around"),value:"space-around"},{label:a("style.flex.justify_content.space_evenly"),value:"space-evenly"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.flex.justify_content.label"),data:c,value:t,onChange:n,sx:s})}),Nw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.flex.align_items.start"),value:"start"},{label:a("style.flex.align_items.center"),value:"center"},{label:a("style.flex.align_items.end"),value:"end"},{label:a("style.flex.align_items.stretch"),value:"stretch"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.flex.align_items.label"),data:c,value:t,onChange:n,sx:s})}),qw=({value:e,index:t,children:n})=>{const[s,{setTrue:i,setFalse:a}]=Y.useBoolean(!1),{ref:l,handleRef:c}=Tp({id:e,index:t});return r.jsx(o.Tabs.Tab,{ref:l,value:e,icon:r.jsx(S.IconGripHorizontal,{size:14,color:s||t===0?"rgb(34, 139, 230)":"transparent"}),onMouseEnter:i,onMouseLeave:a,children:n})},$w=({fieldArray:e,add:t,addButtonText:n,renderTabName:s,controlledFields:i})=>{const a=l=>{const{source:c,target:u}=l.operation,d=i.findIndex(h=>h.id===c.id),p=u.index;e.move(d,p)};return r.jsxs(o.Tabs.List,{children:[r.jsx(as.DragDropProvider,{onDragEnd:a,children:i.map((l,c)=>r.jsx(qw,{value:l.id,index:c,children:s(l,c)},l.id))}),r.jsx(o.Tabs.Tab,{onClick:t,value:"add",children:r.jsx(o.Tooltip,{label:n,children:r.jsx(o.Center,{children:r.jsx(S.IconPlus,{size:18,color:"#228be6"})})})})]})},Fw={tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},Se=({control:e,watch:t,name:n,getItem:s,children:i,addButtonText:a,deleteButtonText:l,renderTabName:c,deleteDisalbed:u})=>{var z;const d=y.useFieldArray({control:e,name:n}),{fields:p,append:h,remove:g}=d,b=t(n),x=p.map((E,R)=>({...E,...b[R]})),_=((z=v.last(x))==null?void 0:z.id)??null,[T,C]=f.useState(_),I=E=>{E!=="add"&&C(E)};f.useEffect(()=>{C(E=>_===E?E:_)},[_]);const M=()=>{const E=s();d.append(E),C(E.id)};return r.jsxs(o.Tabs,{value:T,onTabChange:I,styles:Fw,children:[r.jsx($w,{fieldArray:d,add:M,addButtonText:a,renderTabName:c,controlledFields:x}),x.map((E,R)=>r.jsx(o.Tabs.Panel,{value:E.id,children:r.jsxs(o.Stack,{children:[i({field:E,index:R}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed"}),r.jsx(o.Button,{leftIcon:r.jsx(S.IconTrash,{size:16}),color:"red",variant:"light",onClick:()=>g(R),sx:{top:15,right:5},disabled:u==null?void 0:u({field:E,index:R,fields:x}),children:l})]})},E.id))]})},Hs=f.forwardRef(({value:e,onChange:t},n)=>{const{t:s}=j.useTranslation(),i=a=>l=>{t({...e,[a]:l})};return r.jsxs(o.Stack,{children:[r.jsx(o.Divider,{variant:"dashed",label:s("chart.zooming.scroll.label"),labelPosition:"center"}),r.jsxs(o.Group,{children:[r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.scroll.x_axis"),checked:e.x_axis_scroll,onChange:a=>i("x_axis_scroll")(a.currentTarget.checked)})}),r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.scroll.y_axis"),checked:e.y_axis_scroll,onChange:a=>i("y_axis_scroll")(a.currentTarget.checked)})})]}),r.jsx(o.Divider,{variant:"dashed",label:s("chart.zooming.slider.label"),labelPosition:"center"}),r.jsxs(o.Group,{children:[r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.slider.x_axis"),checked:e.x_axis_slider,onChange:a=>i("x_axis_slider")(a.currentTarget.checked)})}),r.jsx(o.Tooltip,{label:s("chart.zooming.slider.y_axis_disabled"),children:r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.slider.y_axis"),disabled:!e.y_axis_slider,checked:e.y_axis_slider,onChange:a=>i("y_axis_slider")(a.currentTarget.checked)})})})]})]})}),zn=f.forwardRef(({label:e,value:t,onChange:n,sx:s={},disabled:i},a)=>{const{t:l,i18n:c}=j.useTranslation(),u=f.useMemo(()=>[{label:l("chart.orientation.horizontal"),value:"horizontal"},{label:l("chart.orientation.vertical"),value:"vertical"}],[c.language]);return r.jsx(o.Select,{ref:a,label:e??l("chart.orientation.label"),data:u,value:t,onChange:n,sx:s,disabled:i})}),Gw=({control:e,watch:t})=>{const{t:n}=j.useTranslation(),s=t("legend"),i=(a,l)=>{const c={...s,orient:a};a==="horizontal"?(c.top="0",c.left="auto",c.right="10",c.bottom="auto"):(c.top="10",c.left="auto",c.right="0",c.bottom="auto"),l(c)};return r.jsxs(o.Stack,{children:[r.jsx(o.Group,{grow:!0,noWrap:!0,mt:20,children:r.jsx(y.Controller,{name:"legend.show",control:e,render:({field:a})=>r.jsx(o.Switch,{label:n("chart.legend.show_legend"),sx:{flex:1},checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})})}),r.jsx(o.Group,{children:r.jsx(y.Controller,{name:"legend",control:e,render:({field:a})=>r.jsx(zn,{sx:{flex:1},value:a.value.orient,onChange:l=>{i(l,a.onChange)},disabled:!s.show})})})]})};function Ww({control:e,index:t,variableOptions:n}){const{t:s}=j.useTranslation();return r.jsxs(o.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>r.jsx(o.TextInput,{label:s("common.name"),placeholder:s("chart.reference_line.name_placeholder"),required:!0,sx:{flex:1},...i})}),r.jsx(y.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>r.jsx(o.Select,{label:s("common.value"),required:!0,data:n,sx:{flex:1},...i})})]}),r.jsx(y.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>r.jsx(o.TextInput,{label:s("chart.content_template.label"),placeholder:s("chart.content_template.placeholder"),required:!0,sx:{flex:1},...i})})]})}function Rw({control:e,watch:t,variables:n}){const{t:s}=j.useTranslation(),i=()=>({name:"",template:"",variable_key:""}),a=f.useMemo(()=>n.map(c=>({label:c.name,value:c.name})),[n]),l=(c,u)=>{const d=c.name.trim();return d||u+1};return r.jsx(Se,{control:e,watch:t,name:"reference_lines",getItem:i,addButtonText:s("chart.reference_line.add"),deleteButtonText:s("chart.reference_line.delete"),renderTabName:l,children:({field:c,index:u})=>r.jsx(Ww,{control:e,index:u,variableOptions:a})})}const Qw=({control:e,index:t})=>{const{t:n}=j.useTranslation();return r.jsx(o.Stack,{children:r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`tooltip.metrics.${t}.name`,control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("common.name"),required:!0,sx:{flex:1},...s})}),r.jsx(y.Controller,{name:`tooltip.metrics.${t}.data_key`,control:e,render:({field:s})=>r.jsx(U,{label:n("chart.data_field"),required:!0,sx:{flex:1},...s})})]})})},Uw=({control:e,watch:t})=>{const{t:n}=j.useTranslation(),s=()=>({id:Date.now().toString(),data_key:"",name:""}),i=(a,l)=>{const c=a.name.trim();return c||l+1};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[r.jsx(S.IconInfoCircle,{size:14,color:"#888"}),r.jsx(o.Text,{size:14,color:"#888",children:n("chart.tooltip.additional_metrics.description")})]}),r.jsx(Se,{control:e,watch:t,name:"tooltip.metrics",getItem:s,addButtonText:n("chart.tooltip.additional_metrics.add"),deleteButtonText:n("chart.tooltip.additional_metrics.delete"),renderTabName:i,children:({field:a,index:l})=>r.jsx(Qw,{control:e,index:l})})]})};function Yw({control:e,watch:t}){return r.jsx(o.Stack,{children:r.jsx(Uw,{control:e,watch:t})})}const hn=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a}=j.useTranslation();return r.jsx(o.NumberInput,{ref:i,label:e??a("chart.rotate"),hideControls:!0,min:-90,max:90,rightSection:r.jsx(o.Text,{size:"xs",color:"dimmed",children:a("chart.degree")}),sx:s,styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},value:t,onChange:n})}),Kw=({control:e,watch:t})=>{const{t:n}=j.useTranslation();return t(["x_axis"]),r.jsxs(o.Stack,{children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"x_axis.name",control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("chart.x_axis.x_axis_name"),sx:{flex:1},...s})}),r.jsx(y.Controller,{name:"x_axis.data_key",control:e,render:({field:s})=>r.jsx(U,{label:n("chart.x_axis.x_axis_data_field"),required:!0,sx:{flex:1},...s})})]}),r.jsx(o.Divider,{mb:-15,label:n("chart.axis.tick_label"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:s})=>r.jsx(hn,{sx:{width:"48%"},...s})}),r.jsx(y.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:s})=>r.jsx(qt,{...s})})]}),r.jsx(y.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:s})=>r.jsx($t,{...s})})]})},So={root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}},Xw=["123456789","1234","1234.56789","1.234","0.123456789","-0.123456789"];function Jw({format:e}){const{t}=j.useTranslation(),[n,{toggle:s}]=Me.useDisclosure(!1);return r.jsxs(o.Box,{children:[r.jsx(o.Button,{variant:"subtle",w:"100%",compact:!0,onClick:s,leftIcon:n?r.jsx(S.IconChevronUp,{size:14}):r.jsx(S.IconChevronDown,{size:14}),children:t(n?"numbro.format.preview.close":"numbro.format.preview.open")}),r.jsx(o.Collapse,{in:n,children:n&&r.jsxs(o.Table,{highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:t("numbro.format.preview.input")}),r.jsx("th",{children:t("numbro.format.preview.output")})]})}),r.jsx("tbody",{children:Xw.map(i=>r.jsxs("tr",{children:[r.jsx("td",{children:i}),r.jsx("td",{children:r.jsx(Re,{children:ie(i,e)})})]},i))})]})})]})}function Zw({value:e,onChange:t},n){const{t:s}=j.useTranslation(),i=d=>{t({...e,output:d})},a=d=>{const p=d===0?!1:e.trimMantissa;t({...e,mantissa:d,trimMantissa:p})},l=d=>{t({...e,trimMantissa:d.currentTarget.checked})},c=d=>{t({...e,average:d.currentTarget.checked})},u=d=>{const p={...e,absolute:d.currentTarget.checked};t(p)};return r.jsxs(o.Stack,{ref:n,children:[r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.Select,{label:s("numbro.format.label"),data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i,sx:{flexGrow:1}}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.absolute")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.absolute_description")})]}),checked:e.absolute,onChange:u,sx:{flexGrow:1},styles:So}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.abbreviation")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.abbreviation_description")})]}),checked:e.average,onChange:c,disabled:e.output!=="number",sx:{flexGrow:1},styles:So})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.NumberInput,{label:s("numbro.format.mantissa"),defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:a}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.trim_mantissa")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.trim_mantissa_description")})]}),checked:e.trimMantissa,onChange:l,disabled:e.mantissa===0,styles:So}),r.jsx(o.Box,{})]}),r.jsx(Jw,{format:e})]})}const Mt=f.forwardRef(Zw),Hw=({control:e,watch:t})=>{const{t:n}=j.useTranslation();return t(["y_axis"]),r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"y_axis.name",control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("chart.y_axis.y_axis_name"),sx:{flex:1},...s})}),r.jsx(y.Controller,{name:"y_axis.data_key",control:e,render:({field:s})=>r.jsx(U,{label:n("chart.y_axis.y_axis_data_field"),required:!0,sx:{flex:1},...s})})]}),r.jsxs(o.Stack,{children:[r.jsx(o.Divider,{mt:10,mb:-15,variant:"dashed",label:n("chart.axis.section_title.label_format"),labelPosition:"center"}),r.jsx(y.Controller,{name:"y_axis.label_formatter",control:e,render:({field:s})=>r.jsx(Mt,{...s})})]})]})};function e0({context:e}){const{t}=j.useTranslation(),{value:n,set:s}=Q(e.instanceData,"config"),{variables:i}=e,a=f.useMemo(()=>v.defaults({},n,bo),[n]),{control:l,handleSubmit:c,watch:u,formState:d,reset:p}=y.useForm({defaultValues:a});return f.useEffect(()=>{p(a)},[a]),u(["x_axis","y_axis","reference_lines","color","dataZoom"]),r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:c(s),children:[r.jsx($e,{canSubmit:d.isDirty}),r.jsxs(o.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"X Axis",children:t("chart.x_axis.label")}),r.jsx(o.Tabs.Tab,{value:"Y Axis",children:t("chart.y_axis.label")}),r.jsx(o.Tabs.Tab,{value:"Legend",children:t("chart.legend.label")}),r.jsx(o.Tabs.Tab,{value:"Tooltip",children:t("chart.tooltip.label")}),r.jsx(o.Tabs.Tab,{value:"Style",children:t("chart.style.label")}),r.jsx(o.Tabs.Tab,{value:"Reference Lines",children:t("chart.reference_line.labels")}),r.jsx(o.Tabs.Tab,{value:"Zooming",children:t("chart.zooming.label")})]}),r.jsx(o.Tabs.Panel,{value:"X Axis",children:r.jsx(Kw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Y Axis",children:r.jsx(Hw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Legend",children:r.jsx(Gw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Tooltip",children:r.jsx(Yw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Style",children:r.jsx(o.SimpleGrid,{cols:2,children:r.jsx(y.Controller,{name:"color",control:l,render:({field:h})=>r.jsx(rt,{label:t("chart.color.label"),...h})})})}),r.jsx(o.Tabs.Panel,{value:"Reference Lines",children:r.jsx(Rw,{variables:i,control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Zooming",children:r.jsx(y.Controller,{name:"dataZoom",control:l,render:({field:h})=>r.jsx(Hs,{...h})})})]})]})})}function t0(e){return v.omit(e,"variables")}function n0(e){const{label_formatter:t=We,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function r0(e){const t={rotate:0,formatter:tt()},{axisLabel:n=t,...s}=e.x_axis;return{...e,x_axis:{...s,axisLabel:n}}}function s0(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return v.defaultsDeep(t,e)}function i0(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,s={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return v.defaultsDeep(s,e)}function a0(e){const t={tooltip:{metrics:[]}};return v.defaultsDeep(t,e)}function o0(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:i,y_axis:a,tooltip:l,...c}=e;return{...c,x_axis:{...i,data_key:s(i.data_key)},y_axis:{...a,data_key:s(a.data_key)},tooltip:{...l,metrics:l.metrics.map(u=>({...u,data_key:s(u.data_key)}))}}}catch(n){throw console.error("[Migration failed]",n),n}}function l0(e){const t={legend:{show:!0,top:"0",right:"10",left:"auto",bottom:"auto",orient:"horizontal",type:"scroll"}};return v.defaultsDeep(t,e)}function c0(e){const{dataZoom:t,...n}=e;return{...n,dataZoom:t??Yp()}}class u0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",9)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:s})=>{const{config:i}=n;return(i.variables||[]).forEach(l=>{s.variables.find(c=>c.name===l.name)||s.addVariable(l)}),{...n,version:2,config:t0(i)}}),this.version(3,n=>{const{config:s}=n;return{...n,version:3,config:n0(s)}}),this.version(4,n=>{const{config:s}=n;return{...n,version:4,config:r0(s)}}),this.version(5,n=>{const{config:s}=n;return{...n,version:5,config:s0(s)}}),this.version(6,n=>{const{config:s}=n;return{...n,version:6,config:i0(s)}}),this.version(7,n=>{const{config:s}=n;return{...n,version:7,config:a0(s)}}),this.version(8,(n,s)=>{const{config:i}=n;return{...n,version:8,config:o0(i,s)}}),this.version(9,n=>{const{config:s}=n;return{...n,version:9,config:l0(s)}}),this.version(10,n=>{const{config:s}=n;return{...n,version:10,config:c0(s)}})}}const d0={displayName:"viz.boxplot.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new u0,name:"boxplot",viewRender:Mw,configRender:e0,createConfig(){return{version:10,config:v.cloneDeep(bo)}},triggers:[Kp],translation:hj},ih={id:"builtin:button:click-button",displayName:"viz.button.click.label",nameRender:h0,configRender:p0,payload:[]};function p0(e){return r.jsx(r.Fragment,{})}function h0(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.button.click.label")})}const ko={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},f0={left:"flex-start",center:"center",right:"flex-end"},g0={top:"flex-start",center:"center",bottom:"flex-end"},m0=D.observer(({context:e,instance:t})=>{const n=_t({vizManager:e.vizManager,instance:t}),s=vt(n.triggerManager,ih.id),i=Te(),{value:a}=Q(e.instanceData,"config"),l=f.useMemo(()=>v.defaultsDeep({},a,ko),[a]),{content:c,horizontal_align:u,vertical_align:d,...p}=l,{width:h,height:g}=e.viewport,b=i.payloadForSQL,x=()=>{s.forEach(_=>{n.runInteraction(_.id,{})})};return r.jsx(o.Center,{sx:{width:h,height:g,justifyContent:f0[u],alignItems:g0[d]},children:r.jsx(o.Button,{...p,onClick:x,children:v.template(c)(b)})})}),x0=({value:e,onChange:t,label:n})=>{const s=o.useMantineTheme(),i=f.useCallback(l=>()=>t(l),[t]),a=l=>e===l;return r.jsxs(o.Stack,{spacing:2,children:[r.jsx(o.Text,{size:14,sx:{fontWeight:500},children:n}),r.jsx(o.Group,{position:"left",spacing:"xs",children:Object.keys(s.colors).map(l=>{const c=s.colors[l][6];return r.jsx(o.ColorSwatch,{color:c,onClick:i(l),radius:4,size:26,sx:{cursor:"pointer"},children:a(l)&&r.jsx(o.CheckIcon,{width:10,color:"white"})},l)})})]})},To=f.forwardRef(({label:e,value:t,onChange:n,sx:s,disabled:i},a)=>{const{t:l}=j.useTranslation(),c=f.useMemo(()=>o.MANTINE_SIZES.map(u=>({label:l(`style.size.${u}`),value:u})),[]);return r.jsx(o.Select,{ref:a,data:c,label:e,value:t,onChange:n,sx:s,disabled:!0})}),b0=[{label:"Filled",value:"filled"},{label:"Outline",value:"outline"},{label:"Light",value:"light"},{label:"White",value:"white"},{label:"Default",value:"default"},{label:"Subtle",value:"subtle"},{label:"Gradient",value:"gradient",disabled:!0}];function y0({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=f.useMemo(()=>v.defaultsDeep({},t,ko),[t]),i=s;f.useEffect(()=>{!v.isEqual(s,i)&&(console.log("config malformed, resetting to defaults",s,i),n(i))},[s,i]);const{control:a,handleSubmit:l,watch:c,formState:u,reset:d}=y.useForm({defaultValues:i});return f.useEffect(()=>{d(i)},[i]),c(["content","variant","color","size","compact","horizontal_align","vertical_align"]),r.jsxs("form",{onSubmit:l(n),children:[r.jsx($e,{canSubmit:u.isDirty}),r.jsxs(o.Stack,{children:[r.jsx(y.Controller,{control:a,name:"content",render:({field:p})=>r.jsx(o.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...p,required:!0})}),r.jsx(o.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"variant",render:({field:p})=>r.jsx(o.Select,{label:"Variant",data:b0,...p})}),r.jsx(y.Controller,{control:a,name:"color",render:({field:p})=>r.jsx(x0,{label:"Theme",...p})})]}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"size",render:({field:p})=>r.jsx(To,{label:"Size",...p})}),r.jsx(y.Controller,{control:a,name:"compact",render:({field:p})=>r.jsx(o.Checkbox,{label:"Compact",checked:p.value,onChange:h=>p.onChange(h.currentTarget.checked),mt:26})})]}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"horizontal_align",render:({field:p})=>r.jsx(Co,{...p})}),r.jsx(y.Controller,{control:a,name:"vertical_align",render:({field:p})=>r.jsx(nh,{...p})})]})]})]})}const v0=[{lang:"en",resources:{button:{viz_name:"Button",click:{label:"Click this button"}}}},{lang:"zh",resources:{button:{viz_name:"按钮",click:{label:"点击此按钮"}}}}];class _0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{horizontal_align:s="left",vertical_align:i="center",...a}=n.config;return{...n,version:2,config:{...a,horizontal_align:s,vertical_align:i}}})}}const j0={displayName:"viz.button.viz_name",displayGroup:"chart.groups.others",migrator:new _0,name:"button",viewRender:m0,configRender:y0,createConfig(){return{version:2,config:v.cloneDeep(ko)}},triggers:[ih],translation:v0},w0=f.forwardRef(({label:e,description:t,...n},s)=>r.jsx(o.Box,{...n,children:r.jsxs(o.Stack,{spacing:"0",ref:s,children:[r.jsx(o.Text,{size:"sm",children:e}),r.jsx(o.Text,{size:"xs",opacity:.65,children:t})]})})),C0=f.forwardRef(({value:e,onChange:t})=>{const{t:n,i18n:s}=j.useTranslation(),i=f.useMemo(()=>[{label:n("chart.series.line.area_style.origin.auto.label"),description:n("chart.series.line.area_style.origin.auto.description"),value:"auto"},{label:n("chart.series.line.area_style.origin.start.label"),description:n("chart.series.line.area_style.origin.start.description"),value:"start"},{label:n("chart.series.line.area_style.origin.end.label"),description:n("chart.series.line.area_style.origin.end.description"),value:"end"}],[s.language]);return r.jsx(o.Select,{label:n("chart.series.line.area_style.origin.label"),data:i,value:e,onChange:t,itemComponent:w0,size:"xs"})}),ah=f.forwardRef(({value:e,onChange:t,label:n,placeholder:s})=>r.jsx(o.ColorInput,{label:n,placeholder:s,value:e,onChange:t,size:"xs",withinPortal:!0,dropdownZIndex:340,rightSection:e?r.jsx(o.CloseButton,{onClick:()=>{t("")}}):null})),S0=f.forwardRef(({value:e,onChange:t},n)=>{const{t:s}=j.useTranslation(),i=a=>l=>{const c=v.cloneDeep(e);v.set(c,a,l),t(c)};return r.jsxs(o.Stack,{ref:n,children:[r.jsx(o.Divider,{mt:10,mb:-10,variant:"dashed",label:r.jsxs(o.Group,{spacing:6,children:[r.jsx(S.IconChartAreaLineFilled,{size:14,style:{color:"#999"}}),s("chart.series.line.area_style.label")]}),labelPosition:"center"}),r.jsx(o.Switch,{label:s("chart.series.line.area_style.enabled"),checked:e.enabled,onChange:a=>i("enabled")(a.currentTarget.checked)}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(ah,{label:s("chart.series.line.area_style.color"),placeholder:s("chart.series.line.area_style.use_series_color"),value:e.color,onChange:i("color")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.opacity"),value:e.opacity,onChange:i("opacity"),step:.1,precision:1,min:0,max:1})]}),r.jsx(C0,{value:e.origin,onChange:i("origin")}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(ah,{label:s("chart.series.line.area_style.shadow_color"),value:e.shadowColor,onChange:i("shadowColor")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_blur"),value:e.shadowBlur,onChange:i("shadowBlur")})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_offset_x"),value:e.shadowOffsetX,onChange:i("shadowOffsetX")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_offset_y"),value:e.shadowOffsetY,onChange:i("shadowOffsetY")})]})]})});function oh(){return{enabled:!1,color:"",origin:"auto",shadowBlur:0,shadowColor:"",shadowOffsetX:0,shadowOffsetY:0,opacity:.7}}function k0(e){const t=v.cloneDeep(v.omit(e,"variables"));return t.stats=v.omit(t.stats,"variables"),t}function T0(e){const{rotate:t,formatter:n=tt()}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function I0(e){const{dataZoom:t=Fn,...n}=e;return{...n,dataZoom:t}}function D0(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return v.defaultsDeep(t,e)}function M0(e){const t=e.reference_lines.map(n=>{const{lineStyle:s={type:"dashed",width:1,color:Et.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:s,show_in_legend:i}});return{...e,reference_lines:t}}function z0(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:s=0}=n;return{...n,yAxisIndex:s}});return{...e,reference_lines:t}}function E0(e){const t=e.series.map(n=>{const{aggregation_on_group:s=Yn}=n;return{...n,aggregation_on_group:s}});return{...e,series:t}}function A0(e){const t=e.series.map(n=>{const{aggregation_on_value:s=Yn}=n;return{...n,aggregation_on_value:s}});return{...e,series:t}}function P0(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,s={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return v.defaultsDeep(s,e)}function O0(e){const{series:t,...n}=e;return{...n,series:t.map(s=>{const{barMinWidth:i,barWidth:a,barMaxWidth:l}=s;return i?{...s,barMinWidth:i,barWidth:"",barMaxWidth:l??a}:{...s,barMinWidth:"",barWidth:a,barMaxWidth:""}})}}function L0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{min:i="",max:a=""}=s;return{...s,min:i,max:a}})}}function B0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{nameAlignment:i="left"}=s;return{...s,nameAlignment:i}})}}function V0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{show:i=!0}=s;return{...s,show:i}})}}function N0(e){const{regressions:t,...n}=e;return{...n,regressions:t.map(s=>{const{group_by_key:i=""}=s;return{...s,group_by_key:i}})}}function q0(e){const{series:t,y_axes:n,...s}=e;return{...s,series:t.map(i=>{const{hide_in_legend:a=!1,aggregation_on_value:l=Yn}=i;return{...i,hide_in_legend:a,aggregation_on_value:l}}),y_axes:n.map(i=>{const{min:a="",max:l="",show:c=!0}=i;return{...i,min:a,max:l,show:c}})}}function $0(e){const{type:t="category",...n}=e.x_axis;return{...e,x_axis:{...n,type:t}}}function F0(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,series:a,regressions:l,...c}=e;return{...c,x_axis_data_key:s(i),series:a.map(u=>({...u,y_axis_data_key:s(u.y_axis_data_key),group_by_key:s(u.group_by_key)})),regressions:l.map(u=>({...u,y_axis_data_key:s(u.y_axis_data_key),group_by_key:s(u.group_by_key)}))}}catch(n){throw console.error("[Migration failed]",n),n}}function G0(e){const{tooltip:t={metrics:[]},...n}=e;return{...e,tooltip:t}}function W0(e,t){const{stats:n,...s}=e,i=dr(n.templates.top,t),a=dr(n.templates.bottom,t);return{stats:{top:i??"",bottom:a??""},...s}}function R0(e){const{series:t,...n}=e,s=t.map(i=>{const{areaStyle:a=oh(),...l}=i;return{...l,areaStyle:a}});return{...n,series:s}}class Q0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",21)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:s})=>{const{config:i}=n;return(i.variables||[]).forEach(c=>{s.variables.find(u=>u.name===c.name)||s.addVariable(c)}),(v.get(i,"stats.variables")||[]).forEach(c=>{s.variables.find(u=>u.name===c.name)||s.addVariable(c)}),{...n,version:2,config:k0(i)}}),this.version(3,n=>({...n,version:3,config:T0(n.config)})),this.version(4,n=>({...n,version:4,config:I0(n.config)})),this.version(5,n=>({...n,version:5,config:D0(n.config)})),this.version(6,n=>({...n,version:6,config:M0(n.config)})),this.version(7,n=>({...n,version:7,config:z0(n.config)})),this.version(8,n=>({...n,version:8,config:E0(n.config)})),this.version(9,n=>({...n,version:9,config:A0(n.config)})),this.version(10,n=>({...n,version:10,config:P0(n.config)})),this.version(11,n=>({...n,version:11,config:O0(n.config)})),this.version(12,n=>({...n,version:12,config:L0(n.config)})),this.version(13,n=>({...n,version:13,config:B0(n.config)})),this.version(14,n=>({...n,version:14,config:V0(n.config)})),this.version(15,n=>({...n,version:15,config:N0(n.config)})),this.version(16,n=>({...n,version:16,config:q0(n.config)})),this.version(17,n=>({...n,version:17,config:$0(n.config)})),this.version(18,(n,s)=>({...n,version:18,config:F0(n.config,s)})),this.version(19,n=>({...n,version:19,config:G0(n.config)})),this.version(20,(n,s)=>({...n,version:20,config:W0(n.config,s.panelModel)})),this.version(21,(n,s)=>({...n,version:21,config:R0(n.config)}))}}const U0=[{lang:"en",resources:{cartesian_chart:{viz_name:"Cartesian Chart",series:{aggregation:{label:"Aggregation on Value"}},click_series:{label:"Click bar, line or scatter"}}}},{lang:"zh",resources:{cartesian_chart:{viz_name:"复合图",series:{aggregation:{label:"聚合数据"}},click_series:{label:"点击柱、线或散点"}}}}],Io={id:"builtin:echarts:click-echart:series",displayName:"viz.cartesian_chart.click_series.label",nameRender:K0,configRender:Y0,payload:[{name:"seriesType",description:"'line' | 'scatter' | 'bar'",valueType:"string"},{name:"componentType",description:"'series'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"String-typed number, or series' actual value",valueType:"string"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function Y0(e){return r.jsx(r.Fragment,{})}function K0(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.cartesian_chart.click_series.label")})}const lh={regressions:[],series:[],stats:{bottom:"",top:""},x_axis:{type:"category",axisLabel:{rotate:0,formatter:tt(),overflow:ht()}},tooltip:{metrics:[]},x_axis_data_key:"",x_axis_name:"",y_axes:[{min:"",max:"",name:"Y Axis",show:!0,position:"left",nameAlignment:"center",label_formatter:We}],reference_lines:[],reference_areas:[],dataZoom:Fn},ei=D.observer(({value:e,context:t,onHeightChange:n})=>{var h;const{ref:s}=Me.useElementSize(),i=Te(),{panel:a}=nt(),{variables:l,data:c}=t,u=f.useMemo(()=>Ys(e,l,i.payloadForViz,c),[e,l,c]),d=((h=s.current)==null?void 0:h.textContent)==="";f.useEffect(()=>{if(!n||!s.current)return;const g=d?0:s.current.offsetHeight;n(g)},[d,s.current]);const p=f.useMemo(()=>d?"none":"block",[d]);return r.jsx(o.Box,{sx:{display:p},children:r.jsx(ur,{ref:s,value:u,styles:{root:{border:"none",maxWidth:"100%","&.mantine-RichTextEditor-root":{overflow:"auto !important"}},content:{"&.mantine-RichTextEditor-content .ProseMirror":{padding:0},"&.mantine-RichTextEditor-content .ProseMirror > p":{fontSize:"12px",lineHeight:"20px"}}},dashboardState:i.dashboardState,variableAggValueMap:a.variableAggValueMap})})});function X0(e){const t=e.y_axes.some(i=>!!i.name);let n=15;t&&(n+=20),e.dataZoom.x_axis_slider&&(n+=20);let s=5;return e.x_axis_name&&(s+=15),e.series.some(i=>!i.hide_in_legend)&&(s+=20),{top:n,right:15,bottom:s,left:20,containLabel:!0}}function J0(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function Z0(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function H0(e){const t={show:!0,bottom:0,left:"center",type:"scroll"};return t.data=e.filter(n=>!n.hide_in_legend).map(({name:n,type:s})=>({name:n,icon:Z0(s),...J0(s)})),t}function ti(e,t){switch(e.config.method){case"linear":return[...yn.regressionLinear()(t)];case"exponential":return[...yn.regressionExp()(t)];case"logistic":return[...yn.regressionLog()(t)];case"polynomial":return[...yn.regressionPoly().order(e.config.order)(t)];default:return[]}}function eC(e,t,n,s){const{transform:i,plot:a}=e,l={...a,name:t,data:ti(i,s),showSymbol:!1,tooltip:{show:!1},smooth:!1,custom:{}};return n&&(l.custom={type:"regression-line",targetSeries:n}),l}function tC({regressions:e=[],x_axis_data_key:t},n){const s=[];if(Object.keys(n).length===0)return s;function i(a,l,c,u){const d=eC(a,l,c,u);s.push(d)}return e.forEach(a=>{const{name:l,group_by_key:c}=a;if(!c||c===t){const h=Ot(n,a.y_axis_data_key).map((g,b)=>[b,Number(g)]);i(a,l,"",h);return}const{columnKey:u}=L(a.y_axis_data_key),d=v.groupBy(cs(n,a.y_axis_data_key),c);Object.entries(d).forEach(([p,h])=>{const g=h.map((x,_)=>[_,Number(x[u])]);i(a,p,p,g)})}),s}function nC(e,t){return e.map(n=>({name:"",type:"line",hide_in_legend:!0,data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function rC(e,t,n,s){return t?s==="value"?[[n[0],e]]:[e]:[]}function sC(e,t,n,s,i,a){return e.map(l=>{const c=n[l.variable_key],u=l.orientation==="horizontal",d=u?"yAxis":"xAxis",p=u?"insideEndTop":"end",h=rC(c,u,i,a);return{name:l.name,type:"scatter",hide_in_legend:!l.show_in_legend,xAxisId:"main-x-axis",yAxisIndex:l.yAxisIndex,data:h,symbol:"none",silent:!0,tooltip:{show:!1},markLine:{data:[{name:l.name,[d]:c}],silent:!0,symbol:["none","none"],lineStyle:l.lineStyle,label:{formatter:function(){return l.template?Jr(l.template,t,s):""},position:p}}}})}function Do(e,t,n){const s=Ot(e,t),i=Ot(e,n);return v.zip(s,i)}function iC(e,t,n,s){const i=Do(t,n,s);return v.unionBy(i,e,0)}function aC({dataTemplate:e,data:t,x_axis_data_key:n,y_axis_data_key:s,valueTypedXAxis:i}){return i?iC(e,t,n,s):Ot(t,s)}function oC({dataTemplate:e,data:t,aggregation_on_value:n,x_axis_data_key:s,y_axis_data_key:i,valueTypedXAxis:a}){if(!n||n.type==="none")return aC({dataTemplate:e,data:t,x_axis_data_key:s,y_axis_data_key:i,valueTypedXAxis:a});const l=Do(t,s,i),c=v.groupBy(l,"0");return e.map(([d])=>{const h=c[d].map(b=>b[1]),g=Ai(h,n);return[d,g]})}function lC({group_by_key:e,data:t,x_axis_data_key:n,y_axis_data_key:s}){const{queryID:i,columnKey:a}=L(e),l=v.groupBy(t[i],a);return Object.entries(l).forEach(([c,u])=>{l[c]=Do({[i]:u},n,s)}),l}function cC({type:e,...t},n,s,i){if(!e)return 10;if(e==="static"){const{size:d}=t;return d}const{func_content:a}=t,{queryID:l,columnKey:c}=L(s),u=v.keyBy(cs(n,l),c);return(d,p)=>{let h;p.name?h=u[p.name]:h=n[p.dataIndex];try{return new Function(`return ${a}`)()({rowData:h,params:p,variables:i},{lodash:v,interpolate:xn.interpolate})}catch(g){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${g.message}`),10}}}function uC({x_axis_data_key:e,x_axis:t},{y_axis_data_key:n,yAxisIndex:s,label_position:i,name:a,group_by_key:l,aggregation_on_value:c,stack:u,color:d,display_name_on_line:p,symbolSize:h,hide_in_legend:g,areaStyle:b,...x},_,T,C,I){const M=t.type!=="category",z={label:{show:!!i,position:i,formatter:I[s??"default"]},name:a,xAxisId:"main-x-axis",yAxisIndex:s,stack:u,color:d,symbolSize:cC(h,T,e,C),hide_in_legend:g,labelLayout:{hideOverlap:!0},...x};if(x.type==="line"&&(z.lineStyle={width:x.lineStyle.width,shadowColor:"rgba(255,255,255,1)",shadowBlur:0,shadowOffsetX:0,shadowOffsetY:v.clamp(x.lineStyle.width,1,3)},b.enabled)){z.lineStyle.shadowColor="transparent";const{enabled:R,...Z}=b;z.areaStyle={...Z,color:Z.color||d}}if(p&&(z.endLabel={show:!0,formatter:a,offset:[-12,12],align:"right"}),!l||l===e)return z.data=oC({dataTemplate:_,data:T,aggregation_on_value:c,x_axis_data_key:e,y_axis_data_key:n,valueTypedXAxis:M}),z;const E=lC({group_by_key:l,data:T,x_axis_data_key:e,y_axis_data_key:n});return Object.entries(E).map(([R,Z])=>{const oe=v.cloneDeep(z);return oe.name=R,oe.color=void 0,"areaStyle"in oe&&(oe.areaStyle.color=void 0),oe.data=Z,oe})}function dC(e,t,n,s,i,a){const l=t.map(u=>[u,0]);return e.series.map(u=>uC(e,u,l,n,a,s)).flat().concat(sC(e.reference_lines,i,a,n,t,e.x_axis.type)).concat(nC(e.reference_areas,a))}function pC(e,t){const n=e.find(a=>a.axisDim==="x"&&a.axisId==="main-x-axis");if(!n)return"";const{axisValue:s,axisIndex:i}=n;return pt(t.x_axis.axisLabel.formatter)(s,i)}const hC=e=>ie(e,{output:"number",trimMantissa:!0,mantissa:2,absolute:!1});function fC(e,t,n,s){const i=n.reduce((a,{yAxisIndex:l,name:c})=>(a[c]=l,a),{});return xe.getTooltip({trigger:"axis",formatter:function(a){const l=Array.isArray(a)?a:[a];if(l.length===0)return"";const c=l.map(({seriesName:h,marker:g,value:b})=>{if(Array.isArray(b)&&b.length===2&&(b=b[1]),!h)return b;const x=i[h],_=s[x]??s.default;return`
143
+ `}const Sw=(e,t)=>n=>{const{seriesName:s,value:i}=n;switch(s){case t.Box:return _w(e,i);case t.Outlier:return ww(e,i);case t.Scatter:return Cw(e,i)}};function kw({config:e,seriesNames:t}){return xe.getTooltip({trigger:"item",formatter:Sw(e,t)})}function Zs(e,t){t||(t="none");const n=[];return e.x_axis_scroll&&n.push({type:"inside",xAxisIndex:[0],filterMode:t,minSpan:1}),e.y_axis_scroll&&n.push({type:"inside",yAxisIndex:[0],filterMode:t,minSpan:1}),e.x_axis_slider&&n.push({type:"slider",xAxisIndex:[0],filterMode:t,bottom:"auto",top:0,height:15,moveHandleSize:0,showDataShadow:!1,minSpan:1}),n}function Tw({min:e,max:t}){if(e<=110)return Math.min(0,e);if(e<=200)return 100;const n=Qn.floor(Qn.log10(e)),s=Math.pow(10,n),i=Math.pow(10,n-1);return e/s<=2?v.round(e,-1*(n-1))-i:v.round(e,-1*n)-s}function Iw(e){return{Box:e("viz.boxplot.box"),Scatter:e("viz.boxplot.scatter"),Outlier:e("viz.boxplot.outlier")}}function Dw({config:e,data:t,variables:n,t:s}){const{x_axis:i,y_axis:a,reference_lines:l}=e,c=uw(e,t),u=Dt(i.axisLabel.overflow.on_axis),d=Iw(s),p=vw(e,c).map(h=>({...h,name:v.get(d,h.name,h.name)}));return{dataZoom:Zs(e.dataZoom,"filter"),grid:dw(e),dataset:c,legend:pw({config:e,seriesNames:d}),tooltip:kw({config:e,seriesNames:d}),xAxis:[xe.getXAxis({type:"category",name:i.name,nameGap:25,nameLocation:"center",nameTextStyle:{align:"center"},axisLabel:{...i.axisLabel,...u,formatter:pt(i.axisLabel.formatter)}})],yAxis:[xe.getYAxis({name:a.name,minInterval:1,axisLabel:{formatter:function(h){return ie(h,a.label_formatter)}},min:Tw})],series:[...p,...hw(l,n,t)]}}function Mw({context:e,instance:t}){const{t:n}=j.useTranslation(),{value:s}=Q(e.instanceData,"config"),{variables:i}=e,a=e.data,{width:l,height:c}=e.viewport,u=v.defaults({},s,bo),d=_t({vizManager:e.vizManager,instance:t}),p=vt(d.triggerManager,Kp.id),h=Gn(a,u.x_axis.data_key),g=f.useCallback(_=>{const T=v.get(h,_.name,{error:"rowData is not found"});p.forEach(C=>{d.runInteraction(C.id,{..._,rowData:T})})},[h,p,d]),b=f.useMemo(()=>({click:g}),[g]),x=f.useMemo(()=>Dw({config:u,data:a,variables:i,t:n}),[u,a,i,n]);return!s||!l||!c?null:r.jsx(dt,{width:l,height:c,children:r.jsx(Ke,{echarts:Ye,option:x,style:Zr(l,c),onEvents:b,notMerge:!0,theme:"merico-light"})})}function $e({canSubmit:e,buttonRef:t}){const{t:n}=j.useTranslation();return r.jsxs(o.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[r.jsx(o.Text,{children:n("viz.viz_config_banner")}),r.jsx(o.ActionIcon,{ref:t,type:"submit",mr:5,variant:"filled",color:"blue",disabled:!e,children:r.jsx(S.IconDeviceFloppy,{size:20})})]})}const Co=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("common.align.horizontal.left"),value:"left"},{label:a("common.align.horizontal.center"),value:"center"},{label:a("common.align.horizontal.right"),value:"right"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("common.align.horizontal.label"),data:c,value:t,onChange:n,sx:s})}),nh=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("common.align.vertical.top"),value:"top"},{label:a("common.align.vertical.center"),value:"center"},{label:a("common.align.vertical.bottom"),value:"bottom"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("common.align.vertical.label"),data:c,value:t,onChange:n,sx:s})}),rh=o.createStyles(()=>({palette:{display:"flex",flexFlow:"row nowrap"},paletteItem:{".palette-value":{height:24,overflow:"visible",width:36},".palette-item":{width:"36px",height:36*.618,cursor:"pointer",transition:"transform 100ms ease-in-out","&:hover":{boxShadow:"0 0 0 2px var(--shadow-color)",borderRadius:2,transform:"scale(1.2)"}}}})),zw=[{from:0,to:0},{from:100,to:100}];class Ew{constructor(){q(this,"steps",new Map);q(this,"interpolation");q(this,"onChange");re.makeAutoObservable(this,{steps:re.observable},{deep:!1}),re.reaction(()=>re.toJS(this.steps),()=>{this.notifyStepChange()})}setSteps(t){for(const n of t)this.steps.set(n.to,n.from)}notifyStepChange(){var t;(t=this.onChange)==null||t.call(this,Array.from(this.steps.entries()).map(([n,s])=>({to:n,from:s})).sort((n,s)=>n.to-s.to||n.from-s.from))}fromProps(t){t.steps.length<2?this.setSteps(zw):this.setSteps(t.steps),this.interpolation=t.interpolation,this.onChange=t.onChange}changeStep(t,n){t==null?this.steps.delete(n):this.steps.set(n,t)}getStepFromValue(t){return this.steps.get(t)}}function sh(e){if(typeof e=="number")return String(e)}function Aw(e){const{t}=j.useTranslation(),{onChange:n,color:s,index:i,value:a}=e,{classes:l}=rh(),[c,u]=f.useState(sh(a)),[d,{setTrue:p,setFalse:h}]=Y.useBoolean(!1),g=i%2===1,b=g&&a!=null,x=!g&&a!=null,_=`map ${a} to color ${i}`,T=()=>{u(sh(a)),h()},C=()=>{h(),n==null||n(Number(c))},I=()=>{h(),n==null||n(null)},M=ie(a??null,{output:"number",mantissa:10,trimMantissa:!0,average:!0,absolute:!1}),z=!c||Number.isNaN(Number(c));return r.jsxs("div",{"data-testid":`palette-item-${i}`,className:l.paletteItem,children:[r.jsx(o.Text,{title:_,style:{opacity:b?1:0},color:"dimmed",size:"sm",className:"palette-value--up palette-value",children:M}),r.jsxs(o.Popover,{width:240,trapFocus:!0,opened:d,onClose:h,zIndex:340,withinPortal:!0,children:[r.jsx(o.Popover.Target,{children:r.jsx("div",{"data-testid":"palette-item-target",className:"palette-item",onClick:p,style:{"--shadow-color":Et(s).alpha(.5).hex(),backgroundColor:s}})}),r.jsxs(o.Popover.Dropdown,{children:[r.jsx(o.Tooltip,{withinPortal:!0,zIndex:340,label:t("common.actions.close"),children:r.jsx(o.CloseButton,{"data-testid":"palette-item-cancel",size:"sm",color:"gray",onClick:T,style:{position:"absolute",top:"0.5em",right:"0.8em"}})}),r.jsxs(o.Stack,{children:[r.jsx(o.TextInput,{size:"xs",label:t("style.color.interpolation.palette.mapping.value_input_label"),value:c,onChange:E=>{const R=E.currentTarget.value;u(R)},error:c&&z}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{variant:"light",color:"red",size:"xs",onClick:I,leftIcon:r.jsx(S.IconTrash,{size:16}),children:t("common.actions.delete")}),r.jsx(o.Button,{color:"green",leftIcon:r.jsx(S.IconDeviceFloppy,{size:16}),"data-testid":"palette-item-ok",size:"xs",onClick:C,disabled:z,children:t("common.actions.save")})]})]})]})]}),r.jsx(o.Text,{title:_,style:{opacity:x?1:0},color:"dimmed",size:"sm",className:"palette-value--bottom palette-value",children:M})]})}const Pw=D.observer(({model:e})=>{const{classes:t}=rh(),n=v.range(0,13,1).map(s=>100/12*s).map(s=>[e.interpolation.getColor(s),s]);return r.jsx("div",{className:t.palette,children:n.map(([s,i],a)=>r.jsx(Aw,{index:a,color:s,value:e.getStepFromValue(i),onChange:l=>e.changeStep(l,i)},s))})}),Ow=D.observer(function(t){const n=Y.useCreation(()=>new Ew,[]);return f.useEffect(()=>{n.fromProps(t)}),n.interpolation==null?null:r.jsx(Pw,{model:n})}),Lw=e=>{const{t,i18n:n}=j.useTranslation(),{value:s,onChange:i,colorManager:a}=e,l=a.getColorInterpolations(),[c,u]=f.useState(s),d=a.decodeInterpolation(c.interpolation)||l[0],[p,{setTrue:h,setFalse:g}]=Y.useBoolean(),b=f.useMemo(()=>l.map(I=>({label:t(I.displayName),value:a.encodeColor(I),group:t(`style.color.interpolation.palette.category.${I.category}`)})),[n.language]);function x(I){I&&u(M=>({...M,interpolation:I}))}const _=()=>{g(),i==null||i(re.toJS(c))};function T(I){u(M=>({...M,steps:I}))}const C=()=>{g(),u(s)};return r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"outline",onClick:h,children:t(d==null?void 0:d.displayName)}),r.jsx(o.Modal,{size:508,title:t("style.color.interpolation.setup"),opened:p,onClose:g,zIndex:320,children:p&&r.jsxs(o.Stack,{"data-testid":"color-interpolation-modal",children:[r.jsx(o.Select,{label:t("style.color.interpolation.palette.label"),value:c.interpolation,data:b,onChange:x,withinPortal:!0,zIndex:340,maxDropdownHeight:500}),r.jsx(Ow,{steps:c.steps,interpolation:d,onChange:T}),r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Button,{onClick:C,variant:"subtle",children:t("common.actions.cancel")}),r.jsx(o.Button,{color:"green",leftIcon:r.jsx(S.IconDeviceFloppy,{size:16}),onClick:_,children:t("common.actions.save")})]})]})})]})},Bw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.color.type.static"),value:"static"},{label:a("style.color.type.interpolation"),value:"interpolation"},{label:a("style.color.type.none"),value:"none"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.color.type.label"),data:c,value:t,onChange:n,sx:s})}),Vw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.flex.justify_content.left"),value:"left"},{label:a("style.flex.justify_content.center"),value:"center"},{label:a("style.flex.justify_content.right"),value:"right"},{label:a("style.flex.justify_content.space_between"),value:"space-between"},{label:a("style.flex.justify_content.space_around"),value:"space-around"},{label:a("style.flex.justify_content.space_evenly"),value:"space-evenly"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.flex.justify_content.label"),data:c,value:t,onChange:n,sx:s})}),Nw=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a,i18n:l}=j.useTranslation(),c=f.useMemo(()=>[{label:a("style.flex.align_items.start"),value:"start"},{label:a("style.flex.align_items.center"),value:"center"},{label:a("style.flex.align_items.end"),value:"end"},{label:a("style.flex.align_items.stretch"),value:"stretch"}],[l.language]);return r.jsx(o.Select,{ref:i,label:e??a("style.flex.align_items.label"),data:c,value:t,onChange:n,sx:s})}),qw=({value:e,index:t,children:n})=>{const[s,{setTrue:i,setFalse:a}]=Y.useBoolean(!1),{ref:l,handleRef:c}=Tp({id:e,index:t});return r.jsx(o.Tabs.Tab,{ref:l,value:e,icon:r.jsx(S.IconGripHorizontal,{size:14,color:s||t===0?"rgb(34, 139, 230)":"transparent"}),onMouseEnter:i,onMouseLeave:a,children:n})},$w=({fieldArray:e,add:t,addButtonText:n,renderTabName:s,controlledFields:i})=>{const a=l=>{const{source:c,target:u}=l.operation,d=i.findIndex(h=>h.id===c.id),p=u.index;e.move(d,p)};return r.jsxs(o.Tabs.List,{children:[r.jsx(as.DragDropProvider,{onDragEnd:a,children:i.map((l,c)=>r.jsx(qw,{value:l.id,index:c,children:s(l,c)},l.id))}),r.jsx(o.Tabs.Tab,{onClick:t,value:"add",children:r.jsx(o.Tooltip,{label:n,children:r.jsx(o.Center,{children:r.jsx(S.IconPlus,{size:18,color:"#228be6"})})})})]})},Fw={tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},Se=({control:e,watch:t,name:n,getItem:s,children:i,addButtonText:a,deleteButtonText:l,renderTabName:c,deleteDisalbed:u})=>{var z;const d=y.useFieldArray({control:e,name:n}),{fields:p,append:h,remove:g}=d,b=t(n),x=p.map((E,R)=>({...E,...b[R]})),_=((z=v.last(x))==null?void 0:z.id)??null,[T,C]=f.useState(_),I=E=>{E!=="add"&&C(E)};f.useEffect(()=>{C(E=>_===E?E:_)},[_]);const M=()=>{const E=s();d.append(E),C(E.id)};return r.jsxs(o.Tabs,{value:T,onTabChange:I,styles:Fw,children:[r.jsx($w,{fieldArray:d,add:M,addButtonText:a,renderTabName:c,controlledFields:x}),x.map((E,R)=>r.jsx(o.Tabs.Panel,{value:E.id,children:r.jsxs(o.Stack,{children:[i({field:E,index:R}),r.jsx(o.Divider,{mb:-10,mt:10,variant:"dashed"}),r.jsx(o.Button,{leftIcon:r.jsx(S.IconTrash,{size:16}),color:"red",variant:"light",onClick:()=>g(R),sx:{top:15,right:5},disabled:u==null?void 0:u({field:E,index:R,fields:x}),children:l})]})},E.id))]})},Hs=f.forwardRef(({value:e,onChange:t},n)=>{const{t:s}=j.useTranslation(),i=a=>l=>{t({...e,[a]:l})};return r.jsxs(o.Stack,{children:[r.jsx(o.Divider,{variant:"dashed",label:s("chart.zooming.scroll.label"),labelPosition:"center"}),r.jsxs(o.Group,{children:[r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.scroll.x_axis"),checked:e.x_axis_scroll,onChange:a=>i("x_axis_scroll")(a.currentTarget.checked)})}),r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.scroll.y_axis"),checked:e.y_axis_scroll,onChange:a=>i("y_axis_scroll")(a.currentTarget.checked)})})]}),r.jsx(o.Divider,{variant:"dashed",label:s("chart.zooming.slider.label"),labelPosition:"center"}),r.jsxs(o.Group,{children:[r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.slider.x_axis"),checked:e.x_axis_slider,onChange:a=>i("x_axis_slider")(a.currentTarget.checked)})}),r.jsx(o.Tooltip,{label:s("chart.zooming.slider.y_axis_disabled"),children:r.jsx(o.Box,{sx:{flexGrow:1},children:r.jsx(o.Switch,{label:s("chart.zooming.slider.y_axis"),disabled:!e.y_axis_slider,checked:e.y_axis_slider,onChange:a=>i("y_axis_slider")(a.currentTarget.checked)})})})]})]})}),zn=f.forwardRef(({label:e,value:t,onChange:n,sx:s={},disabled:i},a)=>{const{t:l,i18n:c}=j.useTranslation(),u=f.useMemo(()=>[{label:l("chart.orientation.horizontal"),value:"horizontal"},{label:l("chart.orientation.vertical"),value:"vertical"}],[c.language]);return r.jsx(o.Select,{ref:a,label:e??l("chart.orientation.label"),data:u,value:t,onChange:n,sx:s,disabled:i})}),Gw=({control:e,watch:t})=>{const{t:n}=j.useTranslation(),s=t("legend"),i=(a,l)=>{const c={...s,orient:a};a==="horizontal"?(c.top="0",c.left="auto",c.right="10",c.bottom="auto"):(c.top="10",c.left="auto",c.right="0",c.bottom="auto"),l(c)};return r.jsxs(o.Stack,{children:[r.jsx(o.Group,{grow:!0,noWrap:!0,mt:20,children:r.jsx(y.Controller,{name:"legend.show",control:e,render:({field:a})=>r.jsx(o.Switch,{label:n("chart.legend.show_legend"),sx:{flex:1},checked:a.value,onChange:l=>a.onChange(l.currentTarget.checked)})})}),r.jsx(o.Group,{children:r.jsx(y.Controller,{name:"legend",control:e,render:({field:a})=>r.jsx(zn,{sx:{flex:1},value:a.value.orient,onChange:l=>{i(l,a.onChange)},disabled:!s.show})})})]})};function Ww({control:e,index:t,variableOptions:n}){const{t:s}=j.useTranslation();return r.jsxs(o.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:i})=>r.jsx(o.TextInput,{label:s("common.name"),placeholder:s("chart.reference_line.name_placeholder"),required:!0,sx:{flex:1},...i})}),r.jsx(y.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:i})=>r.jsx(o.Select,{label:s("common.value"),required:!0,data:n,sx:{flex:1},...i})})]}),r.jsx(y.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:i})=>r.jsx(o.TextInput,{label:s("chart.content_template.label"),placeholder:s("chart.content_template.placeholder"),required:!0,sx:{flex:1},...i})})]})}function Rw({control:e,watch:t,variables:n}){const{t:s}=j.useTranslation(),i=()=>({name:"",template:"",variable_key:""}),a=f.useMemo(()=>n.map(c=>({label:c.name,value:c.name})),[n]),l=(c,u)=>{const d=c.name.trim();return d||u+1};return r.jsx(Se,{control:e,watch:t,name:"reference_lines",getItem:i,addButtonText:s("chart.reference_line.add"),deleteButtonText:s("chart.reference_line.delete"),renderTabName:l,children:({field:c,index:u})=>r.jsx(Ww,{control:e,index:u,variableOptions:a})})}const Qw=({control:e,index:t})=>{const{t:n}=j.useTranslation();return r.jsx(o.Stack,{children:r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:`tooltip.metrics.${t}.name`,control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("common.name"),required:!0,sx:{flex:1},...s})}),r.jsx(y.Controller,{name:`tooltip.metrics.${t}.data_key`,control:e,render:({field:s})=>r.jsx(U,{label:n("chart.data_field"),required:!0,sx:{flex:1},...s})})]})})},Uw=({control:e,watch:t})=>{const{t:n}=j.useTranslation(),s=()=>({id:Date.now().toString(),data_key:"",name:""}),i=(a,l)=>{const c=a.name.trim();return c||l+1};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{spacing:2,sx:{cursor:"default",userSelect:"none"},children:[r.jsx(S.IconInfoCircle,{size:14,color:"#888"}),r.jsx(o.Text,{size:14,color:"#888",children:n("chart.tooltip.additional_metrics.description")})]}),r.jsx(Se,{control:e,watch:t,name:"tooltip.metrics",getItem:s,addButtonText:n("chart.tooltip.additional_metrics.add"),deleteButtonText:n("chart.tooltip.additional_metrics.delete"),renderTabName:i,children:({field:a,index:l})=>r.jsx(Qw,{control:e,index:l})})]})};function Yw({control:e,watch:t}){return r.jsx(o.Stack,{children:r.jsx(Uw,{control:e,watch:t})})}const hn=f.forwardRef(({label:e,value:t,onChange:n,sx:s={}},i)=>{const{t:a}=j.useTranslation();return r.jsx(o.NumberInput,{ref:i,label:e??a("chart.rotate"),hideControls:!0,min:-90,max:90,rightSection:r.jsx(o.Text,{size:"xs",color:"dimmed",children:a("chart.degree")}),sx:s,styles:{rightSection:{width:"4em",justifyContent:"flex-end",paddingRight:"6px"}},value:t,onChange:n})}),Kw=({control:e,watch:t})=>{const{t:n}=j.useTranslation();return t(["x_axis"]),r.jsxs(o.Stack,{children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"x_axis.name",control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("chart.x_axis.x_axis_name"),sx:{flex:1},...s})}),r.jsx(y.Controller,{name:"x_axis.data_key",control:e,render:({field:s})=>r.jsx(U,{label:n("chart.x_axis.x_axis_data_field"),required:!0,sx:{flex:1},...s})})]}),r.jsx(o.Divider,{mb:-15,label:n("chart.axis.tick_label"),labelPosition:"center"}),r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"x_axis.axisLabel.rotate",control:e,render:({field:s})=>r.jsx(hn,{sx:{width:"48%"},...s})}),r.jsx(y.Controller,{name:"x_axis.axisLabel.formatter",control:e,render:({field:s})=>r.jsx(qt,{...s})})]}),r.jsx(y.Controller,{name:"x_axis.axisLabel.overflow",control:e,render:({field:s})=>r.jsx($t,{...s})})]})},So={root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}},Xw=["123456789","1234","1234.56789","1.234","0.123456789","-0.123456789"];function Jw({format:e}){const{t}=j.useTranslation(),[n,{toggle:s}]=Me.useDisclosure(!1);return r.jsxs(o.Box,{children:[r.jsx(o.Button,{variant:"subtle",w:"100%",compact:!0,onClick:s,leftIcon:n?r.jsx(S.IconChevronUp,{size:14}):r.jsx(S.IconChevronDown,{size:14}),children:t(n?"numbro.format.preview.close":"numbro.format.preview.open")}),r.jsx(o.Collapse,{in:n,children:n&&r.jsxs(o.Table,{highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{children:t("numbro.format.preview.input")}),r.jsx("th",{children:t("numbro.format.preview.output")})]})}),r.jsx("tbody",{children:Xw.map(i=>r.jsxs("tr",{children:[r.jsx("td",{children:i}),r.jsx("td",{children:r.jsx(Re,{children:ie(i,e)})})]},i))})]})})]})}function Zw({value:e,onChange:t},n){const{t:s}=j.useTranslation(),i=d=>{t({...e,output:d})},a=d=>{const p=d===0?!1:e.trimMantissa;t({...e,mantissa:d,trimMantissa:p})},l=d=>{t({...e,trimMantissa:d.currentTarget.checked})},c=d=>{t({...e,average:d.currentTarget.checked})},u=d=>{const p={...e,absolute:d.currentTarget.checked};t(p)};return r.jsxs(o.Stack,{ref:n,children:[r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.Select,{label:s("numbro.format.label"),data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i,sx:{flexGrow:1}}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.absolute")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.absolute_description")})]}),checked:e.absolute,onChange:u,sx:{flexGrow:1},styles:So}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.abbreviation")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.abbreviation_description")})]}),checked:e.average,onChange:c,disabled:e.output!=="number",sx:{flexGrow:1},styles:So})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.NumberInput,{label:s("numbro.format.mantissa"),defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:a}),r.jsx(o.Switch,{label:r.jsxs(o.Stack,{spacing:0,children:[r.jsx(o.Text,{children:s("numbro.format.trim_mantissa")}),r.jsx(o.Text,{size:12,color:"gray",children:s("numbro.format.trim_mantissa_description")})]}),checked:e.trimMantissa,onChange:l,disabled:e.mantissa===0,styles:So}),r.jsx(o.Box,{})]}),r.jsx(Jw,{format:e})]})}const Mt=f.forwardRef(Zw),Hw=({control:e,watch:t})=>{const{t:n}=j.useTranslation();return t(["y_axis"]),r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{grow:!0,noWrap:!0,children:[r.jsx(y.Controller,{name:"y_axis.name",control:e,render:({field:s})=>r.jsx(o.TextInput,{label:n("chart.y_axis.y_axis_name"),sx:{flex:1},...s})}),r.jsx(y.Controller,{name:"y_axis.data_key",control:e,render:({field:s})=>r.jsx(U,{label:n("chart.y_axis.y_axis_data_field"),required:!0,sx:{flex:1},...s})})]}),r.jsxs(o.Stack,{children:[r.jsx(o.Divider,{mt:10,mb:-15,variant:"dashed",label:n("chart.axis.section_title.label_format"),labelPosition:"center"}),r.jsx(y.Controller,{name:"y_axis.label_formatter",control:e,render:({field:s})=>r.jsx(Mt,{...s})})]})]})};function e0({context:e}){const{t}=j.useTranslation(),{value:n,set:s}=Q(e.instanceData,"config"),{variables:i}=e,a=f.useMemo(()=>v.defaults({},n,bo),[n]),{control:l,handleSubmit:c,watch:u,formState:d,reset:p}=y.useForm({defaultValues:a});return f.useEffect(()=>{p(a)},[a]),u(["x_axis","y_axis","reference_lines","color","dataZoom"]),r.jsx(o.Stack,{spacing:"xs",children:r.jsxs("form",{onSubmit:c(s),children:[r.jsx($e,{canSubmit:d.isDirty}),r.jsxs(o.Tabs,{defaultValue:"X Axis",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[r.jsxs(o.Tabs.List,{children:[r.jsx(o.Tabs.Tab,{value:"X Axis",children:t("chart.x_axis.label")}),r.jsx(o.Tabs.Tab,{value:"Y Axis",children:t("chart.y_axis.label")}),r.jsx(o.Tabs.Tab,{value:"Legend",children:t("chart.legend.label")}),r.jsx(o.Tabs.Tab,{value:"Tooltip",children:t("chart.tooltip.label")}),r.jsx(o.Tabs.Tab,{value:"Style",children:t("chart.style.label")}),r.jsx(o.Tabs.Tab,{value:"Reference Lines",children:t("chart.reference_line.labels")}),r.jsx(o.Tabs.Tab,{value:"Zooming",children:t("chart.zooming.label")})]}),r.jsx(o.Tabs.Panel,{value:"X Axis",children:r.jsx(Kw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Y Axis",children:r.jsx(Hw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Legend",children:r.jsx(Gw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Tooltip",children:r.jsx(Yw,{control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Style",children:r.jsx(o.SimpleGrid,{cols:2,children:r.jsx(y.Controller,{name:"color",control:l,render:({field:h})=>r.jsx(rt,{label:t("chart.color.label"),...h})})})}),r.jsx(o.Tabs.Panel,{value:"Reference Lines",children:r.jsx(Rw,{variables:i,control:l,watch:u})}),r.jsx(o.Tabs.Panel,{value:"Zooming",children:r.jsx(y.Controller,{name:"dataZoom",control:l,render:({field:h})=>r.jsx(Hs,{...h})})})]})]})})}function t0(e){return v.omit(e,"variables")}function n0(e){const{label_formatter:t=We,...n}=e.y_axis;return{...e,y_axis:{...n,label_formatter:t}}}function r0(e){const t={rotate:0,formatter:tt()},{axisLabel:n=t,...s}=e.x_axis;return{...e,x_axis:{...s,axisLabel:n}}}function s0(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return v.defaultsDeep(t,e)}function i0(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,s={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return v.defaultsDeep(s,e)}function a0(e){const t={tooltip:{metrics:[]}};return v.defaultsDeep(t,e)}function o0(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:i,y_axis:a,tooltip:l,...c}=e;return{...c,x_axis:{...i,data_key:s(i.data_key)},y_axis:{...a,data_key:s(a.data_key)},tooltip:{...l,metrics:l.metrics.map(u=>({...u,data_key:s(u.data_key)}))}}}catch(n){throw console.error("[Migration failed]",n),n}}function l0(e){const t={legend:{show:!0,top:"0",right:"10",left:"auto",bottom:"auto",orient:"horizontal",type:"scroll"}};return v.defaultsDeep(t,e)}function c0(e){const{dataZoom:t,...n}=e;return{...n,dataZoom:t??Yp()}}class u0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",9)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:s})=>{const{config:i}=n;return(i.variables||[]).forEach(l=>{s.variables.find(c=>c.name===l.name)||s.addVariable(l)}),{...n,version:2,config:t0(i)}}),this.version(3,n=>{const{config:s}=n;return{...n,version:3,config:n0(s)}}),this.version(4,n=>{const{config:s}=n;return{...n,version:4,config:r0(s)}}),this.version(5,n=>{const{config:s}=n;return{...n,version:5,config:s0(s)}}),this.version(6,n=>{const{config:s}=n;return{...n,version:6,config:i0(s)}}),this.version(7,n=>{const{config:s}=n;return{...n,version:7,config:a0(s)}}),this.version(8,(n,s)=>{const{config:i}=n;return{...n,version:8,config:o0(i,s)}}),this.version(9,n=>{const{config:s}=n;return{...n,version:9,config:l0(s)}}),this.version(10,n=>{const{config:s}=n;return{...n,version:10,config:c0(s)}})}}const d0={displayName:"viz.boxplot.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new u0,name:"boxplot",viewRender:Mw,configRender:e0,createConfig(){return{version:10,config:v.cloneDeep(bo)}},triggers:[Kp],translation:hj},ih={id:"builtin:button:click-button",displayName:"viz.button.click.label",nameRender:h0,configRender:p0,payload:[]};function p0(e){return r.jsx(r.Fragment,{})}function h0(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.button.click.label")})}const ko={content:"Button",variant:"filled",color:"blue",size:"xs",compact:!1,horizontal_align:"left",vertical_align:"center"},f0={left:"flex-start",center:"center",right:"flex-end"},g0={top:"flex-start",center:"center",bottom:"flex-end"},m0=D.observer(({context:e,instance:t})=>{const n=_t({vizManager:e.vizManager,instance:t}),s=vt(n.triggerManager,ih.id),i=Te(),{value:a}=Q(e.instanceData,"config"),l=f.useMemo(()=>v.defaultsDeep({},a,ko),[a]),{content:c,horizontal_align:u,vertical_align:d,...p}=l,{width:h,height:g}=e.viewport,b=i.payloadForSQL,x=()=>{s.forEach(_=>{n.runInteraction(_.id,{})})};return r.jsx(o.Center,{sx:{width:h,height:g,justifyContent:f0[u],alignItems:g0[d]},children:r.jsx(o.Button,{...p,onClick:x,children:v.template(c)(b)})})}),x0=({value:e,onChange:t,label:n})=>{const s=o.useMantineTheme(),i=f.useCallback(l=>()=>t(l),[t]),a=l=>e===l;return r.jsxs(o.Stack,{spacing:2,children:[r.jsx(o.Text,{size:14,sx:{fontWeight:500},children:n}),r.jsx(o.Group,{position:"left",spacing:"xs",children:Object.keys(s.colors).map(l=>{const c=s.colors[l][6];return r.jsx(o.ColorSwatch,{color:c,onClick:i(l),radius:4,size:26,sx:{cursor:"pointer"},children:a(l)&&r.jsx(o.CheckIcon,{width:10,color:"white"})},l)})})]})},To=f.forwardRef(({label:e,value:t,onChange:n,sx:s,disabled:i},a)=>{const{t:l}=j.useTranslation(),c=f.useMemo(()=>o.MANTINE_SIZES.map(u=>({label:l(`style.size.${u}`),value:u})),[]);return r.jsx(o.Select,{ref:a,data:c,label:e,value:t,onChange:n,sx:s,disabled:!0})}),b0=[{label:"Filled",value:"filled"},{label:"Outline",value:"outline"},{label:"Light",value:"light"},{label:"White",value:"white"},{label:"Default",value:"default"},{label:"Subtle",value:"subtle"},{label:"Gradient",value:"gradient",disabled:!0}];function y0({context:e}){const{value:t,set:n}=Q(e.instanceData,"config"),s=f.useMemo(()=>v.defaultsDeep({},t,ko),[t]),i=s;f.useEffect(()=>{!v.isEqual(s,i)&&(console.log("config malformed, resetting to defaults",s,i),n(i))},[s,i]);const{control:a,handleSubmit:l,watch:c,formState:u,reset:d}=y.useForm({defaultValues:i});return f.useEffect(()=>{d(i)},[i]),c(["content","variant","color","size","compact","horizontal_align","vertical_align"]),r.jsxs("form",{onSubmit:l(n),children:[r.jsx($e,{canSubmit:u.isDirty}),r.jsxs(o.Stack,{children:[r.jsx(y.Controller,{control:a,name:"content",render:({field:p})=>r.jsx(o.TextInput,{label:"Content Template",description:"Filter values & context entries are supported",...p,required:!0})}),r.jsx(o.Divider,{mt:"xs",mb:0,label:"Styles",labelPosition:"center",variant:"dashed"}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"variant",render:({field:p})=>r.jsx(o.Select,{label:"Variant",data:b0,...p})}),r.jsx(y.Controller,{control:a,name:"color",render:({field:p})=>r.jsx(x0,{label:"Theme",...p})})]}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"size",render:({field:p})=>r.jsx(To,{label:"Size",...p})}),r.jsx(y.Controller,{control:a,name:"compact",render:({field:p})=>r.jsx(o.Checkbox,{label:"Compact",checked:p.value,onChange:h=>p.onChange(h.currentTarget.checked),mt:26})})]}),r.jsxs(o.SimpleGrid,{cols:2,children:[r.jsx(y.Controller,{control:a,name:"horizontal_align",render:({field:p})=>r.jsx(Co,{...p})}),r.jsx(y.Controller,{control:a,name:"vertical_align",render:({field:p})=>r.jsx(nh,{...p})})]})]})]})}const v0=[{lang:"en",resources:{button:{viz_name:"Button",click:{label:"Click this button"}}}},{lang:"zh",resources:{button:{viz_name:"按钮",click:{label:"点击此按钮"}}}}];class _0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,n=>{const{horizontal_align:s="left",vertical_align:i="center",...a}=n.config;return{...n,version:2,config:{...a,horizontal_align:s,vertical_align:i}}})}}const j0={displayName:"viz.button.viz_name",displayGroup:"chart.groups.others",migrator:new _0,name:"button",viewRender:m0,configRender:y0,createConfig(){return{version:2,config:v.cloneDeep(ko)}},triggers:[ih],translation:v0},w0=f.forwardRef(({label:e,description:t,...n},s)=>r.jsx(o.Box,{...n,children:r.jsxs(o.Stack,{spacing:"0",ref:s,children:[r.jsx(o.Text,{size:"sm",children:e}),r.jsx(o.Text,{size:"xs",opacity:.65,children:t})]})})),C0=f.forwardRef(({value:e,onChange:t})=>{const{t:n,i18n:s}=j.useTranslation(),i=f.useMemo(()=>[{label:n("chart.series.line.area_style.origin.auto.label"),description:n("chart.series.line.area_style.origin.auto.description"),value:"auto"},{label:n("chart.series.line.area_style.origin.start.label"),description:n("chart.series.line.area_style.origin.start.description"),value:"start"},{label:n("chart.series.line.area_style.origin.end.label"),description:n("chart.series.line.area_style.origin.end.description"),value:"end"}],[s.language]);return r.jsx(o.Select,{label:n("chart.series.line.area_style.origin.label"),data:i,value:e,onChange:t,itemComponent:w0,size:"xs"})}),ah=f.forwardRef(({value:e,onChange:t,label:n,placeholder:s})=>r.jsx(o.ColorInput,{label:n,placeholder:s,value:e,onChange:t,size:"xs",withinPortal:!0,dropdownZIndex:340,rightSection:e?r.jsx(o.CloseButton,{onClick:()=>{t("")}}):null})),S0=f.forwardRef(({value:e,onChange:t},n)=>{const{t:s}=j.useTranslation(),i=a=>l=>{const c=v.cloneDeep(e);v.set(c,a,l),t(c)};return r.jsxs(o.Stack,{ref:n,children:[r.jsx(o.Divider,{mt:10,mb:-10,variant:"dashed",label:r.jsxs(o.Group,{spacing:6,children:[r.jsx(S.IconChartAreaLineFilled,{size:14,style:{color:"#999"}}),s("chart.series.line.area_style.label")]}),labelPosition:"center"}),r.jsx(o.Switch,{label:s("chart.series.line.area_style.enabled"),checked:e.enabled,onChange:a=>i("enabled")(a.currentTarget.checked)}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(ah,{label:s("chart.series.line.area_style.color"),placeholder:s("chart.series.line.area_style.use_series_color"),value:e.color,onChange:i("color")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.opacity"),value:e.opacity,onChange:i("opacity"),step:.1,precision:1,min:0,max:1})]}),r.jsx(C0,{value:e.origin,onChange:i("origin")}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(ah,{label:s("chart.series.line.area_style.shadow_color"),value:e.shadowColor,onChange:i("shadowColor")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_blur"),value:e.shadowBlur,onChange:i("shadowBlur")})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_offset_x"),value:e.shadowOffsetX,onChange:i("shadowOffsetX")}),r.jsx(o.NumberInput,{size:"xs",label:s("chart.series.line.area_style.shadow_offset_y"),value:e.shadowOffsetY,onChange:i("shadowOffsetY")})]})]})});function oh(){return{enabled:!1,color:"",origin:"auto",shadowBlur:0,shadowColor:"",shadowOffsetX:0,shadowOffsetY:0,opacity:.7}}function k0(e){const t=v.cloneDeep(v.omit(e,"variables"));return t.stats=v.omit(t.stats,"variables"),t}function T0(e){const{rotate:t,formatter:n=tt()}=e.x_axis.axisLabel;return{...e,x_axis:{...e.x_axis,axisLabel:{rotate:t,formatter:n}}}}function I0(e){const{dataZoom:t=Fn,...n}=e;return{...n,dataZoom:t}}function D0(e){const t={x_axis:{axisLabel:{overflow:{x_axis:{width:80,overflow:"truncate",ellipsis:"..."},tooltip:{width:200,overflow:"break",ellipsis:"..."}}}}};return v.defaultsDeep(t,e)}function M0(e){const t=e.reference_lines.map(n=>{const{lineStyle:s={type:"dashed",width:1,color:Et.random().css()},show_in_legend:i=!1}=n;return{...n,lineStyle:s,show_in_legend:i}});return{...e,reference_lines:t}}function z0(e){const t=e.reference_lines.map(n=>{const{yAxisIndex:s=0}=n;return{...n,yAxisIndex:s}});return{...e,reference_lines:t}}function E0(e){const t=e.series.map(n=>{const{aggregation_on_group:s=Yn}=n;return{...n,aggregation_on_group:s}});return{...e,series:t}}function A0(e){const t=e.series.map(n=>{const{aggregation_on_value:s=Yn}=n;return{...n,aggregation_on_value:s}});return{...e,series:t}}function P0(e){delete e.config;const{x_axis:t,tooltip:n}=e.x_axis.axisLabel.overflow,s={x_axis:{axisLabel:{overflow:{on_axis:t,in_tooltip:n}}}};return v.defaultsDeep(s,e)}function O0(e){const{series:t,...n}=e;return{...n,series:t.map(s=>{const{barMinWidth:i,barWidth:a,barMaxWidth:l}=s;return i?{...s,barMinWidth:i,barWidth:"",barMaxWidth:l??a}:{...s,barMinWidth:"",barWidth:a,barMaxWidth:""}})}}function L0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{min:i="",max:a=""}=s;return{...s,min:i,max:a}})}}function B0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{nameAlignment:i="left"}=s;return{...s,nameAlignment:i}})}}function V0(e){const{y_axes:t,...n}=e;return{...n,y_axes:t.map(s=>{const{show:i=!0}=s;return{...s,show:i}})}}function N0(e){const{regressions:t,...n}=e;return{...n,regressions:t.map(s=>{const{group_by_key:i=""}=s;return{...s,group_by_key:i}})}}function q0(e){const{series:t,y_axes:n,...s}=e;return{...s,series:t.map(i=>{const{hide_in_legend:a=!1,aggregation_on_value:l=Yn}=i;return{...i,hide_in_legend:a,aggregation_on_value:l}}),y_axes:n.map(i=>{const{min:a="",max:l="",show:c=!0}=i;return{...i,min:a,max:l,show:c}})}}function $0(e){const{type:t="category",...n}=e.x_axis;return{...e,x_axis:{...n,type:t}}}function F0(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,series:a,regressions:l,...c}=e;return{...c,x_axis_data_key:s(i),series:a.map(u=>({...u,y_axis_data_key:s(u.y_axis_data_key),group_by_key:s(u.group_by_key)})),regressions:l.map(u=>({...u,y_axis_data_key:s(u.y_axis_data_key),group_by_key:s(u.group_by_key)}))}}catch(n){throw console.error("[Migration failed]",n),n}}function G0(e){const{tooltip:t={metrics:[]},...n}=e;return{...e,tooltip:t}}function W0(e,t){const{stats:n,...s}=e,i=dr(n.templates.top,t),a=dr(n.templates.bottom,t);return{stats:{top:i??"",bottom:a??""},...s}}function R0(e){const{series:t,...n}=e,s=t.map(i=>{const{areaStyle:a=oh(),...l}=i;return{...l,areaStyle:a}});return{...n,series:s}}class Q0 extends Ie{constructor(){super(...arguments);q(this,"VERSION",21)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,{panelModel:s})=>{const{config:i}=n;return(i.variables||[]).forEach(c=>{s.variables.find(u=>u.name===c.name)||s.addVariable(c)}),(v.get(i,"stats.variables")||[]).forEach(c=>{s.variables.find(u=>u.name===c.name)||s.addVariable(c)}),{...n,version:2,config:k0(i)}}),this.version(3,n=>({...n,version:3,config:T0(n.config)})),this.version(4,n=>({...n,version:4,config:I0(n.config)})),this.version(5,n=>({...n,version:5,config:D0(n.config)})),this.version(6,n=>({...n,version:6,config:M0(n.config)})),this.version(7,n=>({...n,version:7,config:z0(n.config)})),this.version(8,n=>({...n,version:8,config:E0(n.config)})),this.version(9,n=>({...n,version:9,config:A0(n.config)})),this.version(10,n=>({...n,version:10,config:P0(n.config)})),this.version(11,n=>({...n,version:11,config:O0(n.config)})),this.version(12,n=>({...n,version:12,config:L0(n.config)})),this.version(13,n=>({...n,version:13,config:B0(n.config)})),this.version(14,n=>({...n,version:14,config:V0(n.config)})),this.version(15,n=>({...n,version:15,config:N0(n.config)})),this.version(16,n=>({...n,version:16,config:q0(n.config)})),this.version(17,n=>({...n,version:17,config:$0(n.config)})),this.version(18,(n,s)=>({...n,version:18,config:F0(n.config,s)})),this.version(19,n=>({...n,version:19,config:G0(n.config)})),this.version(20,(n,s)=>({...n,version:20,config:W0(n.config,s.panelModel)})),this.version(21,(n,s)=>({...n,version:21,config:R0(n.config)}))}}const U0=[{lang:"en",resources:{cartesian_chart:{viz_name:"Cartesian Chart",series:{aggregation:{label:"Aggregation on Value"}},click_series:{label:"Click bar, line or scatter"}}}},{lang:"zh",resources:{cartesian_chart:{viz_name:"复合图",series:{aggregation:{label:"聚合数据"}},click_series:{label:"点击柱、线或散点"}}}}],Io={id:"builtin:echarts:click-echart:series",displayName:"viz.cartesian_chart.click_series.label",nameRender:K0,configRender:Y0,payload:[{name:"seriesType",description:"'line' | 'scatter' | 'bar'",valueType:"string"},{name:"componentType",description:"'series'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"String-typed number, or series' actual value",valueType:"string"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function Y0(e){return r.jsx(r.Fragment,{})}function K0(e){const{t}=j.useTranslation();return r.jsx(o.Text,{children:t("viz.cartesian_chart.click_series.label")})}const lh={regressions:[],series:[],stats:{bottom:"",top:""},x_axis:{type:"category",axisLabel:{rotate:0,formatter:tt(),overflow:ht()}},tooltip:{metrics:[]},x_axis_data_key:"",x_axis_name:"",y_axes:[{min:"",max:"",name:"Y Axis",show:!0,position:"left",nameAlignment:"center",label_formatter:We}],reference_lines:[],reference_areas:[],dataZoom:Fn},ei=D.observer(({value:e,context:t,onHeightChange:n})=>{var h;const{ref:s}=Me.useElementSize(),i=Te(),{panel:a}=nt(),{variables:l,data:c}=t,u=f.useMemo(()=>Ys(e,l,i.payloadForViz,c),[e,l,c]),d=((h=s.current)==null?void 0:h.textContent)==="";f.useEffect(()=>{if(!n||!s.current)return;const g=d?0:s.current.offsetHeight;n(g)},[d,s.current]);const p=f.useMemo(()=>d?"none":"block",[d]);return r.jsx(o.Box,{sx:{display:p},children:r.jsx(ur,{ref:s,value:u,styles:{root:{margin:"0 8px",border:"none",maxWidth:"100%","&.mantine-RichTextEditor-root":{overflow:"auto !important"}},content:{"&.mantine-RichTextEditor-content .ProseMirror":{padding:0},"&.mantine-RichTextEditor-content .ProseMirror > p":{fontSize:"12px",lineHeight:"20px"}}},dashboardState:i.dashboardState,variableAggValueMap:a.variableAggValueMap})})});function X0(e){const t=e.y_axes.some(i=>!!i.name);let n=15;t&&(n+=20),e.dataZoom.x_axis_slider&&(n+=20);let s=5;return e.x_axis_name&&(s+=15),e.series.some(i=>!i.hide_in_legend)&&(s+=20),{top:n,right:15,bottom:s,left:20,containLabel:!0}}function J0(e){return e!=="line"?{}:{itemStyle:{opacity:0}}}function Z0(e){switch(e){case"line":return;case"bar":return"roundRect";case"scatter":return"circle"}}function H0(e){const t={show:!0,bottom:0,left:"center",type:"scroll"};return t.data=e.filter(n=>!n.hide_in_legend).map(({name:n,type:s})=>({name:n,icon:Z0(s),...J0(s)})),t}function ti(e,t){switch(e.config.method){case"linear":return[...yn.regressionLinear()(t)];case"exponential":return[...yn.regressionExp()(t)];case"logistic":return[...yn.regressionLog()(t)];case"polynomial":return[...yn.regressionPoly().order(e.config.order)(t)];default:return[]}}function eC(e,t,n,s){const{transform:i,plot:a}=e,l={...a,name:t,data:ti(i,s),showSymbol:!1,tooltip:{show:!1},smooth:!1,custom:{}};return n&&(l.custom={type:"regression-line",targetSeries:n}),l}function tC({regressions:e=[],x_axis_data_key:t},n){const s=[];if(Object.keys(n).length===0)return s;function i(a,l,c,u){const d=eC(a,l,c,u);s.push(d)}return e.forEach(a=>{const{name:l,group_by_key:c}=a;if(!c||c===t){const h=Ot(n,a.y_axis_data_key).map((g,b)=>[b,Number(g)]);i(a,l,"",h);return}const{columnKey:u}=L(a.y_axis_data_key),d=v.groupBy(cs(n,a.y_axis_data_key),c);Object.entries(d).forEach(([p,h])=>{const g=h.map((x,_)=>[_,Number(x[u])]);i(a,p,p,g)})}),s}function nC(e,t){return e.map(n=>({name:"",type:"line",hide_in_legend:!0,data:[],markArea:{itemStyle:{color:n.color},data:[[{yAxis:t[n.y_keys.upper]},{yAxis:t[n.y_keys.lower]}]],silent:!0}}))}function rC(e,t,n,s){return t?s==="value"?[[n[0],e]]:[e]:[]}function sC(e,t,n,s,i,a){return e.map(l=>{const c=n[l.variable_key],u=l.orientation==="horizontal",d=u?"yAxis":"xAxis",p=u?"insideEndTop":"end",h=rC(c,u,i,a);return{name:l.name,type:"scatter",hide_in_legend:!l.show_in_legend,xAxisId:"main-x-axis",yAxisIndex:l.yAxisIndex,data:h,symbol:"none",silent:!0,tooltip:{show:!1},markLine:{data:[{name:l.name,[d]:c}],silent:!0,symbol:["none","none"],lineStyle:l.lineStyle,label:{formatter:function(){return l.template?Jr(l.template,t,s):""},position:p}}}})}function Do(e,t,n){const s=Ot(e,t),i=Ot(e,n);return v.zip(s,i)}function iC(e,t,n,s){const i=Do(t,n,s);return v.unionBy(i,e,0)}function aC({dataTemplate:e,data:t,x_axis_data_key:n,y_axis_data_key:s,valueTypedXAxis:i}){return i?iC(e,t,n,s):Ot(t,s)}function oC({dataTemplate:e,data:t,aggregation_on_value:n,x_axis_data_key:s,y_axis_data_key:i,valueTypedXAxis:a}){if(!n||n.type==="none")return aC({dataTemplate:e,data:t,x_axis_data_key:s,y_axis_data_key:i,valueTypedXAxis:a});const l=Do(t,s,i),c=v.groupBy(l,"0");return e.map(([d])=>{const h=c[d].map(b=>b[1]),g=Ai(h,n);return[d,g]})}function lC({group_by_key:e,data:t,x_axis_data_key:n,y_axis_data_key:s}){const{queryID:i,columnKey:a}=L(e),l=v.groupBy(t[i],a);return Object.entries(l).forEach(([c,u])=>{l[c]=Do({[i]:u},n,s)}),l}function cC({type:e,...t},n,s,i){if(!e)return 10;if(e==="static"){const{size:d}=t;return d}const{func_content:a}=t,{queryID:l,columnKey:c}=L(s),u=v.keyBy(cs(n,l),c);return(d,p)=>{let h;p.name?h=u[p.name]:h=n[p.dataIndex];try{return new Function(`return ${a}`)()({rowData:h,params:p,variables:i},{lodash:v,interpolate:xn.interpolate})}catch(g){return console.error(`[getEchartsSymbolSize] failed parsing custom function, error: ${g.message}`),10}}}function uC({x_axis_data_key:e,x_axis:t},{y_axis_data_key:n,yAxisIndex:s,label_position:i,name:a,group_by_key:l,aggregation_on_value:c,stack:u,color:d,display_name_on_line:p,symbolSize:h,hide_in_legend:g,areaStyle:b,...x},_,T,C,I){const M=t.type!=="category",z={label:{show:!!i,position:i,formatter:I[s??"default"]},name:a,xAxisId:"main-x-axis",yAxisIndex:s,stack:u,color:d,symbolSize:cC(h,T,e,C),hide_in_legend:g,labelLayout:{hideOverlap:!0},...x};if(x.type==="line"&&(z.lineStyle={width:x.lineStyle.width,shadowColor:"rgba(255,255,255,1)",shadowBlur:0,shadowOffsetX:0,shadowOffsetY:v.clamp(x.lineStyle.width,1,3)},b.enabled)){z.lineStyle.shadowColor="transparent";const{enabled:R,...Z}=b;z.areaStyle={...Z,color:Z.color||d}}if(p&&(z.endLabel={show:!0,formatter:a,offset:[-12,12],align:"right"}),!l||l===e)return z.data=oC({dataTemplate:_,data:T,aggregation_on_value:c,x_axis_data_key:e,y_axis_data_key:n,valueTypedXAxis:M}),z;const E=lC({group_by_key:l,data:T,x_axis_data_key:e,y_axis_data_key:n});return Object.entries(E).map(([R,Z])=>{const oe=v.cloneDeep(z);return oe.name=R,oe.color=void 0,"areaStyle"in oe&&(oe.areaStyle.color=void 0),oe.data=Z,oe})}function dC(e,t,n,s,i,a){const l=t.map(u=>[u,0]);return e.series.map(u=>uC(e,u,l,n,a,s)).flat().concat(sC(e.reference_lines,i,a,n,t,e.x_axis.type)).concat(nC(e.reference_areas,a))}function pC(e,t){const n=e.find(a=>a.axisDim==="x"&&a.axisId==="main-x-axis");if(!n)return"";const{axisValue:s,axisIndex:i}=n;return pt(t.x_axis.axisLabel.formatter)(s,i)}const hC=e=>ie(e,{output:"number",trimMantissa:!0,mantissa:2,absolute:!1});function fC(e,t,n,s){const i=n.reduce((a,{yAxisIndex:l,name:c})=>(a[c]=l,a),{});return xe.getTooltip({trigger:"axis",formatter:function(a){const l=Array.isArray(a)?a:[a];if(l.length===0)return"";const c=l.map(({seriesName:h,marker:g,value:b})=>{if(Array.isArray(b)&&b.length===2&&(b=b[1]),!h)return b;const x=i[h],_=s[x]??s.default;return`
144
144
  <tr>
145
145
  <td>${g}</td>
146
146
  <th style="text-align: right; padding: 0 1em;">${h}</th>
@@ -487,7 +487,7 @@ Variable: {{ your_var }}`,tabs:{guide:"Guide",vars:"Dashboard state & Panel vari
487
487
  -- 在富文本中,要使用双重花括号来包裹代码。
488
488
  项目ID:{{ context.project_id }}
489
489
  搜索关键字:{{ filters.keyword }}
490
- 我的卡片变量: {{ your_var }}`,tabs:{guide:"使用指南",vars:"看板信息与卡片的变量"}}}},style:{label:"样式",font_size:{label:"字号",placeholder:"10px, 1em, 1rem, 100%..."},font_weight:{label:"字重"},size:{xs:"特小",sm:"小",md:"中",lg:"大",xl:"特大"},flex:{justify_content:{label:"内容分布",left:"从左起",center:"居中",right:"从右起",space_between:"均匀分布,首尾顶格",space_around:"均匀分布,首尾留空一半",space_evenly:"均匀分布,首尾留空"},align_items:{label:"对齐位置",start:"起点对齐",center:"居中对齐",end:"末端对齐",stretch:"拉伸对齐"}},color:{type:{label:"颜色类型",static:"单色",interpolation:"插值取色",none:"无"},interpolation:{setup:"设置取色方案",palette:{label:"色板",category:{sequential:"单色渐变",diverging:"双色渐变"},red_green:"红 / 绿",yellow_blue:"黄 / 蓝",red:"红",green:"绿",blue:"蓝",orange:"橙",mapping:{value_input_label:"映射一个值到此颜色"}}}}},query:{label:"查询",labels:"查询",add:"新增查询",delete:"删除这个查询",cant_delete:"此查询在使用中,不能删除。请查看“使用情况”标签页以了解详情",delete_unused:"删除未用到的查询",name:"名称",name_description:"唯一名称",manage:"管理查询",open:"打开此查询",configurations:"配置",basics:"基本信息",conditions:"条件",run_by_condition:{label:"以下条件为真时,才运行本查询",description:"为假的情况: 空数组 / NaN / false / 空字符串 / undefined / null",unset:"留空则在看板加载时便运行本查询"},re_run_condition:{label:"当以下条件改变时,重新运行此查询",unset:"留空则永不重新运行此查询"},dependency:{label:"依赖",has_none:"此查询无依赖"},edit_sql:"编辑SQL",preview_sql:"预览SQL",request:"请求",build_request:"构造请求",process_request:"加工请求",process_result:"加工结果",usage:{label:"使用情况",in_views:"所在视图",unused_description:"此查询未被任何筛选器或卡片用到"},transform:{label:"查询变形",full_label:"查询变形",data_source:"基于其他查询的数据,加工出新数据",guide:{pick_queries:"选择一至多个查询作为数据输入",write_function:"编写函数,返回新数据"}}},data:{label:"数据",preview_data:"预览数据",empty_data:"无数据",requires_data:"请先关联查询"},data_source:{label:"数据源",explore:"查看数据源",explorer:"数据源查看器",table_structure:"数据表结构",table_structure_short:"表结构",see_table_structure:"查看数据表结构"},visualization:{label:"可视化",component:"可视化组件",label_short:"可视化"},numbro:{format:{label:"格式",absolute:"绝对值",absolute_description:"非负",abbreviation:"缩写",abbreviation_description:"如1.23k、1.23m",mantissa:"小数",trim_mantissa:"抹零",trim_mantissa_description:"省略末尾的零",preview:{open:"展开预览",close:"收起预览",input:"输入",output:"输出"}}},import:{label:"导入...",title:"自描述文件导入看板内容",json_file:"描述文件(JSON格式)",this_dashboard:"此看板",this_file:"此文件"},function_utils:{trigger_text:"关于utils参数",modal_title:"关于utils参数",description:"参数 <code>utils</code> 是 <code>FunctionUtils</code>,包含以下内容:",document:"文档"},aggregation:{option:{none:"无",sum:"和",mean:"平均值",median:"中位数",min:"最小值",max:"最大值",cov:"变异系数",std:"标准差",quantile:{label:"分位",label_with_hint:"分位(99%, 95%, ...)"},custom:{label:"自定义",label_trigger:"编写函数",title:"自定义聚合方式"},pick_record:{label:"直接选择数据",method:{label:"数据记录",first:"第一条",last:"最后一条"}}}},rich_text:{label:"富文本",content:{label:"内容"},dynamic_color:{label:"动态颜色",edit:"编辑动态颜色",clear:"清除动态颜色"},color_mapping:{label:"颜色映射",edit:"编辑颜色映射",clear:"清除颜色映射",choose_value_var:"选择用于映射颜色的变量",min:{val:"固定最小值",var:"动态最小值(优先)"},max:{val:"固定最大值",var:"动态最大值(优先)"}}},chart:{chart_config:"图表设置",data_field:"数据字段",groups:{merico_suite:"思码逸套件",echarts_based_charts:"基于ECharts的图表",others:"其他"},label:{label:"文案",label_full:"标签文案",label_style:"标签文案样式",label_format:"标签文案格式"},label_position:{label:"文案位置",off:"不显示文案",top:"上",left:"左",right:"右",bottom:"下",inside:"内",inside_top:"内-上",inside_left:"内-左",inside_center:"内-中",inside_right:"内-右",inside_bottom:"内-下",inside_top_left:"内-上-左",inside_top_right:"内-上-右",inside_bottom_left:"内-下-左",inside_bottom_right:"内-下-右",outside:"外"},visual_map:{label:"视觉映射",continuous:{label:"连续型"},piecewise:{label:"分段型",mode:{pieces:"连续数据",categories:"离散数据"},add_a_piece:"加一个分段",interval:"值区间",piece_label:"文案"},bar_width:"长条的宽度",bar_height:"长条的高度",item_width:"小块的宽度",item_height:"小块的高度",calculable:"显示拖拽手柄",min_value:"最小值",max_value:"最大值",min_text:"最小值文案",max_text:"最大值文案",use_palette_x:'使用配色方案"{{x}}"',built_in_palettes:"内置配色方案",precision:"数据精度",skip_range:{lt_min:"小于最小值时的颜色",min:"最小值的颜色",max:"最大值的颜色",gt_max:"大于最大值时的颜色",follow_visual_map:"颜色跟随渐变规则"}},number_or_dynamic_value:{type:{static:"具体值",dynamic:"动态值"},dynamic:{setup:"设置",setup_title:"设置动态值",guide:"由函数确定动态值"}},orientation:{label:"朝向",horizontal:"水平",vertical:"垂直"},symbol_size:{label:"标记点大小",static:"固定值",dynamic:"动态值",setup:{label:"设置",title:"设置动态值",description:"由函数确定动态值"}},series:{label:"系列",name:"名称",y_axis:"Y轴",data_field:"数据字段",add:"增加一个系列",delete:"删除这个系列",line:{label:"线",line_settings:"线段设置",line_style:"线条样式",type:{label:"类型",solid:"实线",dashed:"方虚线",dotted:"圆点虚线"},line_width:"线宽",step:{label:"阶梯状",off:"不启用",start:"在当前点拐弯",middle:"在当前点与下个点中间拐弯",end:"在下个点拐弯"},smooth_line:"平滑曲线",show_name_on_line:"显示标签文案",show_symbol_on_line:"显示标记点",area_style:{label:"区域填充样式",enabled:"启用区域填充",color:"填充颜色",use_series_color:"沿用系列本色",origin:{label:"图形区域的起始位置",auto:{label:"自动",description:"填充坐标轴线到数据间的区域(默认)"},start:{label:"自下而上",description:"填充坐标轴底部到数据间的区域"},end:{label:"自上而下",description:"填充坐标轴顶部到数据间的区域"}},shadow_blur:"图形阴影的模糊大小",shadow_color:"图形阴影的颜色",shadow_offset_x:"阴影水平方向上的偏移距离",shadow_offset_y:"阴影垂直方向上的偏移距离",opacity:"图形透明度"}},bar:{label:"柱",stack:"堆放",stack_hint:"此值相同的柱系列会堆叠在一起",bar_gap:{label:"柱间隔",no_gap:"柱子之间无间隔",overlap:"柱子可互相重叠"},bar_width:{min:"最小柱宽",exact:"柱宽",max:"最大柱宽"}},scatter:{label:"散点"},group_by:{label:"按此字段拆分为多个系列",label_line:"按此字段拆分为多条线"}},axis:{tick_label:"刻度文案",customize_label:"自定义文案",overflow:{label:"溢出",max_width:"最大宽度",truncate:"截断",break_line:"换行",break_word:"断词换行",ellipsis:"省略符",section_title:{on_axis:"轴刻度上文案的溢出",in_tooltip:"提示框中的文案溢出"}},section_title:{label_format:"文案格式"},type:{value:"数值轴",category:"类目轴",time:"时间轴",log:"对数轴",click_to_learn_more:"点击 <1>这里</1> 以进一步了解这些选项"}},name_text:{align:{label:"名称贴靠侧",left:"左",center:"中",right:"右"}},rotate:"旋转",degree:"度",padding:"内间距",content_template:{label:"内容模板",hint:"均值: ${avg}"},x_axis:{label:"X轴",labels:"X轴",label_format:"刻度文案格式",add:"增加一条X轴",delete:"删除这条X轴",x_axis_name:"X轴名称",x_axis_data_field:"X轴数据字段",x_axis_type:"X轴类型",layout:"布局",position:{label:"位置",top:"上",bottom:"下"},value_range:"值范围",value_min:"最小值",value_max:"最大值",behavior:"表现",visible:"可见"},y_axis:{label:"Y轴",labels:"Y轴",label_format:"刻度文案格式",add:"增加一条Y轴",delete:"删除这条Y轴",y_axis_name:"Y轴名称",y_axis_name_anchor:"名称贴靠侧",y_axis_data_field:"Y轴数据字段",layout:"布局",position:{label:"位置",left:"左",right:"右"},value_range:"值范围",value_min:"最小值",value_max:"最大值",behavior:"表现",visible:"可见"},stats:{label:"统计内容",template:{above_chart:"统计内容(图表上方)",under_chart:"统计内容(图表下方)"}},legend:{label:"图例",show_legend:"显示图例",show_in_legend:"显示在图例中",hide_in_legend:"不显示在图例中",orientation:{label:"布局朝向",horizontal:"横向",vertical:"纵向"}},tooltip:{label:"提示框",additional_metrics:{description:"在此设置更多指标,来展示在散点的提示框",add:"增加一个指标",delete:"删除这个指标"},trigger:{label:"触发者",scatter_point:"散点",x_axis:"X轴"}},style:{label:"样式"},color:{label:"颜色",background_color:"背景色",text_color:"文字颜色",click_to_add_a_color:"点击增加一个颜色",color_gradient:"颜色渐变",not_set:"未设置"},behavior:{label:"表现",invisible:"隐藏不可见"},heatmap:{heatblock:{label:"热力块",show_label:"展示值文案"}},reference_line:{label:"参考线",labels:"参考线",add:"增加一条参考线",name_placeholder:"均值参考线",delete:"删除这条参考线",orientation:{vertical_hint:"仅当X轴值为数字时可绘制"}},regression_line:{label:"回归线",labels:"回归线",add:"增加一条回归线",delete:"删除这条回归线",method:{label:"方法",linear:"线性回归",exponential:"指数回归",logistic:"指数回归",polynomial:"多项式回归",polynomial_order:"次"}},reference_area:{label:"参考区域",labels:"参考区域",add:"增加一面参考区域",delete:"删除这面参考区域",type:{label:"形状",rectangle:"矩形"},direction:{label:"方向",horizontal:"水平"},boundary:{upper:"上边界",lower:"下边界"},content:{label:"内容",content_text:"内容文字",text_position:"文字位置"},endpoint:{labels:"端点",left_bottom_point:"左下点",right_top_point:"右上点"}},zooming:{label:"缩放",scroll:{label:"滚轮缩放",x_axis:"对X轴启用",y_axis:"对Y轴启用"},slider:{label:"滚动条缩放",x_axis:"对X轴启用",y_axis:"对Y轴启用",y_axis_disabled:"暂不可用,会与Y轴刻度文字重叠"}}},viz:{viz_config_banner:"可视化参数配置"},validation:{number:{require_a_number:"请填写一个数字"}},spotlight:{trigger_text:"搜索",main_group:"主要项",placeholder:"打开…",not_found:"无匹配项"}}},bi=Um.createInstance({debug:!1,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:_P,zh:jP}}).use(Ym).use(j.initReactI18next);bi.init(),Zo.forEach(e=>{var t;(t=e.translation)==null||t.forEach(n=>{bi.addResourceBundle(n.lang,"translation",{viz:n.resources},!0,!0)})});function vg({lang:e,children:t}){return f.useEffect(()=>{bi.changeLanguage(e)},[e]),r.jsx(j.I18nextProvider,{i18n:bi,children:t})}function yi(e){console.groupCollapsed("Running operation ",e.type),console.log(e),console.groupEnd()}function _g(e,t){f.useEffect(()=>{const n=s=>{yi(s);const{viewID:i}=s.detail;if(!i){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(i),t&&e.views.setIDOfVIE(i)};return window.addEventListener("open-view",n),()=>{window.removeEventListener("open-view",n)}},[e,t]),f.useEffect(()=>{const n=s=>{yi(s);const{dictionary:i,payload:a}=s.detail;if(!a||Object.keys(a).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}const l={};Object.entries(i).forEach(([c,u])=>{const d=v.get(a,u);l[c]=d}),e.filters.applyValuesPatch(l)};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e]),f.useEffect(()=>{function n(i){return Array.isArray(i)?[]:typeof i=="object"?{}:typeof i=="boolean"?!1:typeof i=="string"?"":typeof i=="number"?0:i}const s=i=>{yi(i);const a={},{filter_keys:l}=i.detail;l.forEach(c=>{const u=v.get(e.filters.values,c),d=n(u);a[c]=d}),e.filters.applyValuesPatch(a)};return window.addEventListener("clear-filter-values",s),()=>{window.removeEventListener("clear-filter-values",s)}},[e]),f.useEffect(()=>{const n=s=>{yi(s);const{urlTemplate:i,openInNewTab:a,enableEncoding:l=!1,payload:c}=s.detail;if(!i){console.error(new Error("[Open Link] URL is empty"));return}function u(h){return v.cloneDeepWith(h,b=>{if(l&&typeof b=="string")return encodeURIComponent(b)})}const p=v.template(i||"")(u({...c,filters:e.payloadForSQL.filters,context:e.payloadForSQL.context}));window.open(p,a?"_blank":"_self","noopener")};return window.addEventListener("open-link",n),()=>{window.removeEventListener("open-link",n)}},[e])}function jg(e){return f.useCallback(t=>t.provideValue(Oe.pluginManager,e.pluginManager).provideValue(Oe.vizManager,e.vizManager).provideValue(Oe.colorManager,e.colorManager),[])}const lV="",wP=D.observer(({saveDashboardChanges:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=se(),i=()=>{n.openConfirmModal({title:r.jsxs(o.Group,{position:"left",children:[r.jsx(S.IconAlertTriangle,{size:18,color:"red"}),r.jsx(o.Text,{children:"You are reverting changes"})]}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:()=>s.reset(),zIndex:320,withCloseButton:!1})},a=s.changed;return r.jsxs(o.Group,{spacing:0,children:[r.jsx(o.Button,{color:"green",variant:"filled",size:"xs",leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),onClick:e,disabled:!a,sx:{borderTopRightRadius:0,borderBottomRightRadius:0},children:t("common.actions.save_changes")}),r.jsxs(o.Menu,{width:200,trigger:"hover",openDelay:100,closeDelay:400,withinPortal:!0,zIndex:320,disabled:!a,children:[r.jsx(o.Menu.Target,{children:r.jsx(o.ActionIcon,{variant:"default",disabled:!a,sx:{height:"30px",borderTopLeftRadius:0,borderBottomLeftRadius:0,svg:{fill:"rgb(173, 181, 189)",stroke:"none"}},children:r.jsx(S.IconCaretDown,{size:18})})}),r.jsx(o.Menu.Dropdown,{children:r.jsx(o.Menu.Item,{icon:r.jsx(S.IconRecycle,{size:14,color:"red"}),disabled:!a,onClick:i,children:t("common.actions.revert_changes")})})]})]})}),CP=D.observer(({saveDashboardChanges:e,onExit:t,headerSlot:n=null})=>{j.useTranslation();const s=ce(),i=s.content.changed,a=()=>{t({hasChanges:i,dashboardId:s.id})};return r.jsx(o.Header,{height:60,px:"md",py:0,sx:{zIndex:299},children:r.jsxs(o.Group,{position:"apart",sx:{height:60,minWidth:"1000px",position:"relative"},children:[r.jsxs(o.Group,{children:[r.jsx(o.Button,{size:"xs",color:i?"red":"green",leftIcon:r.jsx(S.IconArrowLeft,{size:20}),onClick:a,children:r.jsx(o.Group,{spacing:4,children:r.jsxs(j.Trans,{i18nKey:"common.actions.end_editing",values:{name:s.name},children:["End Editing ",r.jsx(o.Text,{td:"underline",children:s.name})]})})}),r.jsx(wP,{saveDashboardChanges:e})]}),r.jsx(o.Group,{position:"right",sx:{flexGrow:1},children:n})]})})}),wg={height:"30px",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},SP=D.observer(()=>{var i;const{t:e}=j.useTranslation(),t=se(),n=((i=t.views.VIE)==null?void 0:i.type)===G.Tabs,s=()=>t.addANewPanel(t.views.idOfVIE);return n?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),sx:{...wg,transform:"none !important"},children:e("panel.add")})}):r.jsx(o.Button,{variant:"outline",color:"blue",radius:0,size:"xs",onClick:s,leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),sx:{...wg,background:"rgb(231, 245, 255)"},children:e("panel.add")})}),kP=D.observer(({done:e})=>{var E,R;const{t}=j.useTranslation(),s=se().layouts,i=f.useMemo(()=>({list:s.breakpointsInfo}),[s.breakpointsInfo]),{control:a,handleSubmit:l,watch:c,getValues:u,reset:d,formState:p}=y.useForm({defaultValues:i}),{fields:h,append:g,remove:b}=y.useFieldArray({control:a,name:"list",rules:{validate:Z=>{if(console.log({values:Z}),v.uniqBy(Z,"breakpoint").length!==Z.length)return"Screen sizes should be unique by min width"}}}),x=c("list"),_=h.map((Z,oe)=>({...Z,...x[oe]})),T=()=>{g({id:sn.v4(),name:"",breakpoint:""})},C=({list:Z})=>{const oe=Z.filter(ve=>Number.isFinite(ve.breakpoint));s.updateLayoutSetsInfo(oe),e()},I=u(),M=f.useMemo(()=>{const Z={list:I.list.filter(oe=>!!oe.name&&Number.isFinite(oe.breakpoint))};return!v.isEqual(Z,i)},[I,i]),z=(R=(E=p.errors.list)==null?void 0:E.root)==null?void 0:R.message;return r.jsx(r.Fragment,{children:r.jsxs("form",{onSubmit:l(C),children:[r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,withBorder:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"340px"},children:t("common.name")}),r.jsx("th",{style:{width:"160px"},children:t("breakpoint.breakpoint")}),r.jsx("th",{})]})}),r.jsxs("tbody",{children:[_.map((Z,oe)=>r.jsxs("tr",{children:[r.jsx("th",{children:Z.id==="basis"?Z.name:r.jsx(y.Controller,{name:`list.${oe}.name`,control:a,render:({field:ve})=>r.jsx(o.TextInput,{size:"xs",label:"",required:!0,sx:{flex:1},...ve})})}),r.jsx("td",{children:Z.id==="basis"?r.jsxs(o.Text,{ff:"monospace",children:[Z.breakpoint,"px"]}):r.jsx(y.Controller,{name:`list.${oe}.breakpoint`,control:a,render:({field:ve})=>r.jsx(o.NumberInput,{size:"xs",label:"",required:!0,max:1e4,hideControls:!0,rightSection:r.jsx(o.Text,{color:"dimmed",children:"px"}),rightSectionProps:{style:{width:"30px"}},sx:{flex:1,fontFamily:"monospace"},styles:{input:{paddingRight:"30px"}},...ve})})}),r.jsx("td",{children:Z.id!=="basis"&&r.jsx(o.ActionIcon,{mx:"auto",size:"xs",variant:"subtle",color:"red",onClick:()=>b(oe),children:r.jsx(S.IconTrash,{})})})]},Z.id)),r.jsx("tr",{style:{backgroundColor:"transparent"},children:r.jsx("td",{colSpan:3,style:{padding:"0"},children:r.jsx(o.Tooltip,{label:t("breakpoint.add"),children:r.jsx(o.ActionIcon,{variant:"subtle",size:"md",color:"blue",onClick:T,sx:{width:"100%"},children:r.jsx(S.IconPlus,{size:18})})})})})]})]}),r.jsx(o.Text,{mt:6,ta:"right",size:"xs",color:"red",children:z??" "}),r.jsxs(o.Group,{mt:6,position:"apart",children:[r.jsx(o.Button,{color:"orange",size:"xs",onClick:()=>d(),leftIcon:r.jsx(S.IconRecycle,{size:18}),disabled:!M,children:t("common.actions.revert")}),r.jsx(o.Button,{color:"green",size:"xs",type:"submit",leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),disabled:!M,children:t("common.actions.save_changes")})]})]})})}),TP=D.observer(()=>{const{t:e}=j.useTranslation(),[t,{open:n,close:s}]=Me.useDisclosure(!1),i=se(),a=i.layouts.currentBreakpoint,l=i.layouts.currentLayoutRange,c=()=>{setTimeout(()=>{window.dispatchEvent(new Event("resize"))},32)},u=()=>{s(),c()};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsxs(o.Menu,{withArrow:!0,withinPortal:!0,zIndex:320,trigger:"hover",children:[r.jsx(o.Menu.Target,{children:r.jsx(o.Button,{size:"xs",variant:"subtle",leftIcon:r.jsx(S.IconDevices,{size:16}),sx:{borderRadius:0},children:r.jsxs(o.Group,{spacing:6,children:[r.jsx(o.Text,{size:"xs",fw:"normal",children:l.name}),r.jsx(o.Text,{size:"xs",color:"#777",children:i.layouts.currentRangeText})]})})}),r.jsxs(o.Menu.Dropdown,{children:[i.layouts.breakpointRanges.map(d=>r.jsx(o.Menu.Item,{onClick:()=>i.layouts.setCurrentBreakpoint(d.id),disabled:a===d.id,children:r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Text,{size:"sm",children:d.name}),r.jsx(o.Text,{size:"xs",color:"dimmed",children:d.text})]})},d.id)),r.jsx(o.Menu.Divider,{}),r.jsx(o.Menu.Item,{color:"blue",icon:r.jsx(S.IconSettings,{size:14}),onClick:n,children:r.jsx(o.Text,{size:"sm",children:e("breakpoint.manage")})})]})]}),i.layouts.divisionPreviewScale<1&&r.jsx(o.Text,{size:"xs",color:"dimmed",children:is(i.layouts.divisionPreviewScale).format({output:"percent",mantissa:0})})]}),r.jsx(o.Modal,{opened:t,onClose:u,title:e("breakpoint.label",{count:2}),withinPortal:!0,zIndex:320,size:600,closeOnClickOutside:!1,children:r.jsx(kP,{done:u})})]})}),Cg={height:"30px",borderRight:"none",borderTop:"none",borderLeft:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},IP=D.observer(()=>{var i;const{t:e}=j.useTranslation(),t=se(),n=((i=t.views.VIE)==null?void 0:i.type)===G.Tabs,s=()=>{var a;return(a=t.views.VIE)==null?void 0:a.downloadSchema()};return n?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconCode,{size:16}),sx:{...Cg,transform:"none !important"},children:e("view.download_schema")})}):r.jsx(o.Button,{variant:"outline",color:"blue",radius:0,size:"xs",onClick:s,leftIcon:r.jsx(S.IconCode,{size:16}),sx:{...Cg},children:e("view.download_schema")})}),vi=({headers:e,rows:t})=>r.jsxs(o.Table,{fontSize:"xs",highlightOnHover:!0,sx:{tableLayout:"fixed",fontFamily:"monospace"},children:[r.jsx("thead",{children:e}),r.jsx("tbody",{children:t})]}),DP=({content:e})=>{const{t}=j.useTranslation(),n=e.views;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("view.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{children:t("common.type")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.name}),r.jsx("td",{children:t(`view.component.${s.type}.label`)})]},s.id))})]})},MP=({content:e})=>{const{t}=j.useTranslation(),n=e.filters;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("filter.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.key")}),r.jsx("th",{children:t("common.label")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.key}),r.jsx("td",{children:s.label})]},s.id))})]})},zP=({content:e})=>{const{t}=j.useTranslation(),n=e.panels;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("panel.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{children:t("visualization.component")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.name}),r.jsx("td",{children:s.viz.type})]},s.id))})]})},EP=({content:e})=>{var s;const{t}=j.useTranslation(),n=(s=e.definition)==null?void 0:s.queries;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("query.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{style:{width:"140px"},children:t("common.type")}),r.jsx("th",{style:{width:"260px"},children:t("data_source.label")})]}),rows:n.map(i=>r.jsxs("tr",{children:[r.jsx("td",{children:i.id}),r.jsx("td",{children:i.name}),r.jsx("td",{children:i.type}),r.jsx("td",{children:i.key})]},i.id))})]})},AP=({content:e})=>{var s;const{t}=j.useTranslation(),n=(s=e.definition)==null?void 0:s.sqlSnippets;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("sql_snippet.labels")}),r.jsx(o.List,{size:"sm",pl:10,ff:"monospace",icon:r.jsx(S.IconPointFilled,{size:10}),children:n.map(i=>r.jsx(o.List.Item,{children:i.key},i.key))})]})},PP=({content:e})=>{var s;const{t}=j.useTranslation(),n=Object.keys(((s=e.definition)==null?void 0:s.mock_context)??{});return n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("mock_context.label")}),r.jsx(o.List,{size:"sm",pl:10,ff:"monospace",icon:r.jsx(S.IconPointFilled,{size:10}),children:n.map(i=>r.jsx(o.List.Item,{children:i},i))})]})},OP=({content:e})=>e?r.jsxs(o.Box,{children:[r.jsx(o.Divider,{mt:20,mb:10,variant:"dashed"}),r.jsx(o.Text,{ta:"left",c:"dimmed",children:"Preview"}),r.jsxs(o.Stack,{children:[r.jsx(DP,{content:e}),r.jsx(MP,{content:e}),r.jsx(zP,{content:e}),r.jsx(EP,{content:e}),r.jsx(AP,{content:e}),r.jsx(PP,{content:e})]})]}):null;function LP(e){if(e.target===null)throw new Error("FileReader failed with null result");if(typeof e.target.result!="string")throw new Error(`Unparsable file content of type: ${typeof e.target.result}`);let t=JSON.parse(e.target.result);if("content"in t&&(t=t.content),t.version!==gn)throw new Error("Schema version mismatch");return t}const BP=D.observer(({onSuccess:e,stretchModal:t,shrinkModal:n})=>{var C,I;const{t:s}=j.useTranslation(),i=se(),{handleSubmit:a,formState:{errors:l},setValue:c,watch:u,setError:d,clearErrors:p}=y.useForm({defaultValues:{content:null}}),h=({content:M})=>{try{if(!M)throw new Error("please use a valid json file");i.applyJSONSchema(M),Ut.showNotification({title:"Successful",message:"",color:"green"}),e()}catch(z){console.error(z),Ut.showNotification({title:"Failed",message:z.message,color:"red"})}},[g,b]=f.useState(null);f.useEffect(()=>{if(!g)return;const M=new FileReader;M.readAsText(g,"UTF-8"),M.onload=z=>{try{const E=LP(z);c("content",E),p("content")}catch(E){console.error(E),d("content",{type:"custom",message:E.message})}},M.onabort=()=>console.log("🟨 abort"),M.onerror=()=>{M.error&&(console.error(M.error),d("content",{type:"custom",message:M.error.message}))}},[g]);const[x]=u(["content"]),_=!x,T=(C=l==null?void 0:l.content)==null?void 0:C.message;return f.useEffect(()=>{!x||T?n():t()},[x,T]),r.jsx(o.Box,{mx:"auto",sx:{position:"relative"},children:r.jsxs("form",{onSubmit:a(h),children:[r.jsx(o.FileInput,{label:s("import.json_file"),required:!0,value:g,onChange:b,error:(I=l==null?void 0:l.content)==null?void 0:I.message,sx:{maxWidth:500}}),T?r.jsx(o.Table,{fontSize:12,mt:10,children:r.jsxs("tbody",{children:[r.jsxs("tr",{children:[r.jsx("th",{children:s("import.this_dashboard")}),r.jsx("td",{children:gn})]}),r.jsxs("tr",{children:[r.jsx("th",{children:s("import.this_file")}),r.jsx("td",{style:{color:"red"},children:x==null?void 0:x.version})]})]})}):r.jsxs(r.Fragment,{children:[r.jsx(OP,{content:x}),r.jsx(o.Group,{position:"right",my:"md",children:r.jsx(o.Button,{type:"submit",color:"green",disabled:_,children:s("common.actions.confirm")})})]})]})})}),Sg={height:"30px",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},VP=D.observer(()=>{var d;const{t:e}=j.useTranslation(),[t,{open:n,close:s}]=Me.useDisclosure(!1),[i,{setTrue:a,setFalse:l}]=Y.useBoolean(!1),u=((d=ce().content.views.VIE)==null?void 0:d.type)===G.Tabs;return u?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconFileImport,{size:16}),sx:{...Sg,transform:"none !important"},children:e("import.label")})}):r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"subtle",color:"blue",radius:0,size:"xs",disabled:u||t,onClick:n,leftIcon:r.jsx(S.IconFileImport,{size:16}),sx:{...Sg},children:e("import.label")}),r.jsx(o.Modal,{opened:t,onClose:s,title:e("import.title"),trapFocus:!0,onDragStart:p=>{p.stopPropagation()},withinPortal:!0,zIndex:320,size:i?"90vw":500,children:r.jsx(BP,{onSuccess:s,stretchModal:a,shrinkModal:l})})]})}),NP=({iconKey:e,...t})=>{switch(e){case"query_variables":return r.jsx(S.IconVariable,{...t});case"mock_context":return r.jsx(S.IconCodeDots,{...t});case"filter":return r.jsx(S.IconFilter,{...t});case"sql_snippet":return r.jsx(S.IconCopy,{...t});case"query":return r.jsx(S.IconDatabase,{...t});case"view":return r.jsx(S.IconBoxMultiple,{...t});case"panel":return r.jsx(S.IconAppWindow,{...t});default:return null}},qP=({action:e})=>{const{t}=j.useTranslation();return e.description?r.jsx(o.Text,{color:"dimmed",size:"xs",children:t(e.description)}):e.viz?r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Text,{color:"dimmed",size:"xs",children:t(e.viz.displayName)}),r.jsx(o.Text,{color:"dimmed",opacity:0,size:"xs",className:"spotlight-action-viz-group",children:t(e.viz.displayGroup)})]}):null},$P=o.createStyles((e,t)=>({action:{position:"relative",display:"block",width:"100%",padding:`${o.rem(10)} ${o.rem(12)}`,borderRadius:e.radius.sm,...e.fn.hover({backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1],".spotlight-action-viz-group":{opacity:1}}),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1],".spotlight-action-viz-group":{opacity:1}}}})),FP=D.observer(({action:e,styles:t,classNames:n,hovered:s,onTrigger:i,highlightQuery:a,query:l,...c})=>{const{t:u}=j.useTranslation(),{classes:d}=$P(null,{styles:t,classNames:n,name:"Spotlight"});return r.jsx(o.UnstyledButton,{className:d.action,"data-hovered":s||void 0,tabIndex:-1,onMouseDown:p=>p.preventDefault(),onClick:i,...c,children:r.jsxs(o.Group,{noWrap:!0,children:[r.jsx(NP,{iconKey:e.iconKey,size:14}),r.jsxs("div",{style:{flex:1},children:[r.jsx(o.Highlight,{highlight:l,size:"sm",children:u(e.title)}),r.jsx(qP,{action:e})]})]})})}),GP=D.observer(({children:e})=>{const{t,i18n:n}=j.useTranslation(),s=ce(),i=f.useMemo(()=>s.editor.spotlightActions.map(u=>{const d=u.group;return{...u,group:d?t(d):void 0,keywords:[u.title,t(u.title)]}}),[s.editor.spotlightActions,n.language]),[a,{set:l}]=Y.useBoolean(!1),c=f.useCallback(u=>{l(!!u)},[]);return r.jsx(jc.SpotlightProvider,{actions:i,actionComponent:FP,shortcut:["mod + P","mod + K"],searchIcon:r.jsx(S.IconSearch,{size:"1.2rem"}),searchPlaceholder:t("spotlight.placeholder"),nothingFoundMessage:t("spotlight.not_found"),limit:a?20:5,onQueryChange:c,children:e})}),kg=({children:e})=>r.jsx(o.Text,{style:{fontSize:"0.6875rem",lineHeight:1,padding:"0.25rem 0.2375rem",borderRadius:"0.25rem"},children:e}),Tg=function(){return(navigator.userAgentData.platform??navigator.platform).toLowerCase().includes("mac")}(),WP=()=>{const{t:e}=j.useTranslation();return r.jsx(o.Tooltip,{label:r.jsxs(r.Fragment,{children:[Tg&&r.jsx(kg,{children:"⌘ + K"}),!Tg&&r.jsx(kg,{children:"Ctrl + K"})]}),children:r.jsx(o.UnstyledButton,{onClick:()=>jc.spotlight.open(),style:{height:"1.875rem",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef",paddingLeft:"calc(0.875rem / 1.5)",paddingRight:"1rem"},sx:{color:"#228be6",background:"transparent","&:hover":{background:"rgb(231, 245, 255)"}},children:r.jsxs(o.Group,{spacing:"0.625rem",children:[r.jsx(S.IconSearch,{size:"1rem",color:"#228be6"}),r.jsx(o.Text,{style:{flexGrow:1,fontWeight:500,fontSize:"0.75rem",lineHeight:1},children:e("spotlight.trigger_text")})]})})})},RP={position:"fixed",top:60,left:0,right:0,height:30,zIndex:299,borderBottom:"1px solid #e9ecef",background:"rgba(233,236,239, 0.15)"},QP=D.observer(()=>r.jsx(o.Box,{sx:RP,pl:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},children:r.jsxs(o.Group,{position:"apart",align:"center",sx:{height:"30px"},children:[r.jsxs(o.Group,{position:"left",spacing:0,children:[r.jsx(SP,{}),r.jsx(VP,{}),r.jsx(WP,{})]}),r.jsx(TP,{}),r.jsx(o.Group,{position:"right",spacing:0,children:r.jsx(IP,{})})]})})),UP=D.observer(e=>r.jsxs(r.Fragment,{children:[r.jsx(CP,{...e}),r.jsx(QP,{})]})),cV="";function YP(e,t,n){const s=[];return e.filter(i=>"__INTERACTIONS"in i.viz.conf).forEach((i,a)=>{const l=t[i.id];l.data.interactions=v.get(l,"data.interactions",[]);const{__INTERACTIONS:c,__OPERATIONS:u,__TRIGGERS:d}=i.viz.conf;Object.entries(u).forEach(([p,h])=>{const{schemaRef:g,data:b}=h,{config:x}=b;switch(g){case"builtin:op:open-link":let _=x.urlTemplate.substring(0,100);x.urlTemplate.length>=20&&(_+="..."),l.type="interaction",l.data.interactions.push({schemaRef:g,urlTemplate:x.urlTemplate,shortURLTemplate:_});return;case"builtin:op:open_view":s.push({id:`OPERATION--${p}`,source:i.id,target:x.viewID,label:"Open View",style:{stroke:"rgba(0,0,0,0.8)"},type:"default"});return;case"builtin:op:set_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:Object.keys(x.dictionary).map(T=>({key:T,label:n[T]}))});return;case"builtin:op:clear_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:x.filter_keys.map(T=>({key:T,label:n[T]}))});return;default:return}})}),s}function KP(e,t){const n=e.filters.keyLabelMap;return{edges:YP(e.panels.list,t,n),edgeNodes:[]}}function Ig(e,t,n){return e*t+e*n}function XP(e,t,n){return e*t+(e-1)*n}const _i=25,Vl=40,Dg=25,Nl=350,JP=150,ZP=150,Mg=150,zg=300,ji=40,Eg=25,HP=300;function e2(e,t){const n=v.keyBy(t,i=>i.id),s=[];return e.current.forEach((i,a)=>{i.panelIDs.forEach((l,c)=>{const u=Ig(c,ji,Eg)+Vl,d=n[l];if(!d){s.push({id:l,_node_type:"panel",parentNode:i.id,data:{label:`!: ${l}`},position:{x:_i,y:u},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,style:{width:zg,height:ji}});return}const p=d.name;s.push({id:d.id,_node_type:"panel",parentNode:i.id,data:{label:p},position:{x:_i,y:u},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,style:{width:zg,height:ji}})})}),s}const t2={[G.Division]:"Div",[G.Modal]:"Modal",[G.Tabs]:"Tabs"},n2=cg;function r2(e){return e.current.map((n,s)=>{const i=XP(n.panelIDs.length,ji,Eg)+Vl+Dg;let a=[];return n.type===G.Tabs&&(a=n.config.tabsInOrder.map(c=>c.view_id)),{id:n.id,_node_type:"view-root",_view_type:n.type,_view_level:0,_sub_view_ids:[],_tab_view_ids:a,data:{label:`${t2[n.type]}:${n.name}`},position:{x:0,y:0},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,className:"light",style:{backgroundColor:n2[n.type],width:Nl,height:i}}})}function s2(e){const t=v.keyBy(e,n=>n.id);e.forEach(n=>{n._node_type!=="view-root"||n._view_type!==G.Tabs||n._tab_view_ids.forEach(s=>{t[s].parentNode=n.id})})}function i2(e){const t=r2(e.views);s2(t);const n=e2(e.views,e.panels.list);return[...t,...n]}function a2({nodeMap:e,nodes:t,edges:n}){t.forEach(s=>{s._node_type!=="view-root"||s._view_type!==G.Tabs||(s.sourcePosition=Ue.Position.Bottom,s.style.width=Nl+_i*2,s.style.height=Dg+s._tab_view_ids.reduce((i,a)=>{const l=e[a];l.position.y=i,l.position.x=_i;const c=l.style.height;return i+c+20},Vl))})}function o2({nodeMap:e,nodes:t,edges:n}){n.filter(s=>s.label==="Open View").forEach(s=>{const i=e[s.source],a=e[s.target];if(!i||!a||!i.parentNode)return;const l=e[i.parentNode];l._node_type!=="view-root"||a._node_type!=="view-root"||(a._view_level+=1+l._view_level,l._sub_view_ids.push(a.id))}),t.sort((s,i)=>s._node_type==="view-root"&&i._node_type==="view-root"?s._view_level-i._view_level:s._node_type!=="view-root"&&i._node_type!=="view-root"?0:s._node_type==="view-root"?-1:1)}function l2({nodeMap:e,nodes:t,edges:n}){const s={};n.forEach(i=>{if(i.label!=="Open View")return;const a=e[i.source],l=e[i.target];if(a&&l&&a.parentNode){const c=e[a.parentNode],u=c.position.x,d=Number(v.get(l,"style.height",0)),p=Number(c.style.width);l.position.x=u+p+HP,c._view_level===0&&l._sub_view_ids.length===0&&(a.sourcePosition=Ue.Position.Left,l.targetPosition=Ue.Position.Right,l.position.x*=-1);const g=l.position.x,b=v.get(s,g,0);l.position.y=b,s[g]=b+d+Mg}})}function c2({nodeMap:e,nodes:t,edges:n}){const s=new Set,i=new Set;n.forEach(l=>{s.add(l.source),i.add(l.target)}),t.filter(l=>l._node_type!=="view-root"||l.id==="Main"||l.parentNode?!1:!s.has(l.id)&&!i.has(l.id)).forEach((l,c)=>{l.position.x=Ig(c,Nl,ZP),l.position.y=0-JP-Mg})}function u2({nodeMap:e,nodes:t,edges:n}){const s={nodeMap:e,nodes:t,edges:n};return c2(s),o2(s),a2(s),l2(s),{nodes:t,edges:n}}function d2(e){const t=i2(e),n=v.keyBy(t,u=>u.id),{edges:s,edgeNodes:i}=KP(e,n),a=[...t,...i],l=v.keyBy(a,u=>u.id),c={edges:v.uniqBy(s,u=>u.id),nodes:a,nodeMap:l};return u2(c)}const uV="",ql={"builtin:op:open-link":r.jsx(o.ThemeIcon,{color:"blue",size:20,radius:"xl",children:r.jsx(S.IconCircleDashed,{size:14})}),"builtin:op:set_filter_values":r.jsx(o.ThemeIcon,{color:"orange",size:20,radius:"xl",children:r.jsx(S.IconCircleDot,{size:14})}),"builtin:op:clear_filter_values":r.jsx(o.ThemeIcon,{color:"orange",size:20,radius:"xl",children:r.jsx(S.IconCircleOff,{size:14})})};function p2(e){const t=[];return e.forEach(n=>{switch(n.schemaRef){case"builtin:op:open-link":t.push({key:n.urlTemplate,icon:ql[n.schemaRef],text:r.jsxs(o.Group,{spacing:4,children:[r.jsx(o.Text,{children:"Open: "}),r.jsx(o.Text,{color:"dimmed",children:n.shortURLTemplate})]})});return;case"builtin:op:set_filter_values":n.filters.forEach(({key:s,label:i})=>{t.push({key:n.schemaRef+s,icon:ql[n.schemaRef],text:r.jsx(o.Group,{spacing:4,children:r.jsxs(o.Text,{children:["Set Filter: ",i]})})})});return;case"builtin:op:clear_filter_values":n.filters.forEach(({key:s,label:i})=>{t.push({key:n.schemaRef+s,icon:ql[n.schemaRef],text:r.jsx(o.Group,{spacing:4,children:r.jsxs(o.Text,{children:["Clear Filter: ",i]})})})});return}}),t}const h2=f.memo(({data:e,isConnectable:t,sourcePosition:n=Ue.Position.Right,targetPosition:s=Ue.Position.Left,...i})=>{const a=f.useMemo(()=>p2(e.interactions),[e.interactions]);return r.jsxs(r.Fragment,{children:[r.jsx(Ue.Handle,{type:"target",position:s,isConnectable:t}),r.jsx(o.Box,{sx:{position:"absolute",top:0,right:0},children:r.jsx(S.IconChevronsUpRight,{size:12})}),r.jsxs(o.HoverCard,{shadow:"xl",withinPortal:!0,children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.Text,{children:e.label})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsx(o.List,{spacing:"xs",size:"sm",center:!0,children:a.map(l=>r.jsx(o.List.Item,{icon:l.icon,children:l.text},l.key))})})]}),r.jsx(Ue.Handle,{type:"source",position:n,isConnectable:t})]})}),dV="",f2={interaction:h2},g2=D.observer(()=>{const e=Te(),{edges:t,nodes:n}=d2(e);return r.jsxs(Ue,{nodes:n,edges:t,onNodesChange:v.noop,onEdgesChange:v.noop,onConnect:v.noop,className:"interactions-viewer",fitView:!0,nodeTypes:f2,children:[r.jsx(Ue.MiniMap,{}),r.jsx(Ue.Controls,{}),r.jsx(Ue.Background,{})]})}),m2=D.observer(({opened:e,close:t})=>{const{t:n}=j.useTranslation();return r.jsx(o.Modal,{size:"96vw",opened:e,onClose:t,title:n("interactions.interactions_viewer"),trapFocus:!0,onDragStart:s=>{s.stopPropagation()},styles:{body:{height:"calc(90vh - 54px)"},content:{transform:"none !important"}},zIndex:300,children:r.jsx(g2,{})})}),x2={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},":not(:first-of-type):not(:last-of-type)":{borderTopRightRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}};function b2({onClick:e,name:t,active:n,openSettings:s}){return r.jsxs(o.Box,{sx:{position:"relative"},children:[r.jsx(o.UnstyledButton,{sx:i=>({display:"block",width:"100%",padding:i.spacing.xs,borderRadius:0,position:"relative",color:i.black,"&:hover":{backgroundColor:i.colors.gray[0]},backgroundColor:n?i.colors.gray[2]:"transparent"}),children:r.jsx(o.Group,{sx:{width:"calc(100% - 28px)"},onClick:e,children:r.jsx(o.Text,{size:"sm",children:t})})}),n&&r.jsx(o.Tooltip,{label:"Edit",position:"right",withinPortal:!0,children:r.jsx(o.ActionIcon,{onClick:s,variant:"light",color:"blue",sx:{position:"absolute",top:0,bottom:0,height:"100%",right:0,zIndex:0,borderRadius:0},children:r.jsx(S.IconAdjustments,{size:16})})})]})}const y2=D.observer(()=>{const{t:e}=j.useTranslation(),t=ce(),n=se(),s=f.useCallback(a=>()=>n.views.setIDOfVIE(a),[n]),i=a=>{t.editor.open(["_VIEWS_",a])};return r.jsxs(o.Box,{sx:{position:"relative"},children:[n.views.options.map(a=>r.jsx(b2,{active:n.views.idOfVIE===a.value,name:a.label,onClick:s(a.value),openSettings:()=>i(a.value)},a.value)),r.jsx(o.Divider,{variant:"dashed"}),r.jsx(o.Button,{variant:"subtle",rightIcon:r.jsx(S.IconPlus,{size:14}),size:"sm",px:"xs",color:"blue",onClick:n.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"space-between"}},children:e("view.add")})]})}),v2=D.observer(()=>{const{t:e}=j.useTranslation(),t=ce(),n=se(),s=()=>{if(!n.queries.firstID){t.editor.open(["_QUERIES_",""]);return}t.editor.open(["_QUERIES_",n.queries.firstID])},i=()=>{if(!n.filters.firstID){t.editor.open(["_FILTERS_",""]);return}t.editor.open(["_FILTERS_",n.filters.firstID])},[a,l]=f.useState(!1),c=()=>l(!0),u=()=>l(!1);return r.jsxs(o.Navbar,{p:0,width:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},zIndex:299,children:[r.jsxs(o.Navbar.Section,{children:[r.jsxs(o.Group,{grow:!0,spacing:0,sx:{...x2,button:{borderWidth:0,borderBottomWidth:1,borderColor:"#e9ecef"}},children:[r.jsx(o.Tooltip,{label:e("filter.labels"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:i,children:r.jsx(S.IconFilter,{size:18})})}),r.jsx(o.Tooltip,{label:e("query.labels"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:s,children:r.jsx(S.IconDatabase,{size:18})})}),r.jsx(o.Tooltip,{label:e("interactions.interactions_viewer"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:c,children:r.jsx(S.IconRoute,{size:18})})})]}),r.jsx(m2,{opened:a,close:u})]}),r.jsx(o.Navbar.Section,{py:5,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:e("view.labels")})}),r.jsx(o.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:r.jsx(y2,{})}),r.jsx(o.Navbar.Section,{children:r.jsx(o.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:r.jsx(o.Button,{size:"xs",leftIcon:r.jsx(S.IconSettings,{size:20}),onClick:()=>t.editor.open([]),children:e("common.titles.settings")})})})]})}),_2=D.observer(({filter:e})=>{const{panel:t}=Pe(),{t:n}=j.useTranslation(),s=e.config;return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:s.default_value,onChange:i=>s.setDefaultValue(i.currentTarget.checked),label:n("filter.widget.checkbox.default_checked")}),r.jsx(Wn,{filter:e})]}),r.jsx(Mn,{label:n("filter.widget.checkbox.description"),value:s.description,onChange:s.setDescription,styles:{root:{flexGrow:1,minHeight:"400px"}}},t.id)]})}),j2=[{label:"2022",value:"YYYY"},{label:"202201",value:"YYYYMM"},{label:"20220101",value:"YYYYMMDD"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],w2=D.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config,i=f.useMemo(()=>sl().map(({key:l,value:c,group:u})=>({label:n(`filter.widget.date_range.shortcut.${u}.full.${l}`),value:c,group:n(`filter.widget.date_range.shortcut.${u}.label`)})),[]),a=[...s.default_value];return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsx(o.Checkbox,{checked:s.required,onChange:l=>s.setRequired(l.currentTarget.checked),label:n("filter.widget.date_range.required")}),r.jsx(o.Checkbox,{checked:s.allowSingleDateInRange,onChange:l=>s.setAllowSingleDateInRange(l.currentTarget.checked),label:n("filter.widget.date_range.allow_single_date")})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.Select,{data:j2,label:n("filter.widget.date_range.display_format"),value:s.inputFormat,onChange:s.setInputFormat}),r.jsx(o.NumberInput,{label:n("filter.widget.date_range.max_days"),min:0,value:s.max_days,onChange:s.setMaxDays,hideControls:!0})]}),r.jsxs(o.Group,{children:[r.jsx(Qf,{label:n("filter.widget.date_range.default_value"),config:s,value:{value:a,shortcut:null},onChange:s.setDefaultValue,disabled:!!s.default_shortcut}),r.jsx(o.Select,{data:i,label:n("filter.widget.date_range.default_by_shortcut"),value:s.default_shortcut,onChange:s.setDefaultShortcut,placeholder:n("filter.widget.date_range.default_by_shortcut_placeholder"),clearable:!0,sx:{flexGrow:1},maxDropdownHeight:500})]}),r.jsx(Wn,{filter:t})]})}),C2=`
490
+ 我的卡片变量: {{ your_var }}`,tabs:{guide:"使用指南",vars:"看板信息与卡片的变量"}}}},style:{label:"样式",font_size:{label:"字号",placeholder:"10px, 1em, 1rem, 100%..."},font_weight:{label:"字重"},size:{xs:"特小",sm:"小",md:"中",lg:"大",xl:"特大"},flex:{justify_content:{label:"内容分布",left:"从左起",center:"居中",right:"从右起",space_between:"均匀分布,首尾顶格",space_around:"均匀分布,首尾留空一半",space_evenly:"均匀分布,首尾留空"},align_items:{label:"对齐位置",start:"起点对齐",center:"居中对齐",end:"末端对齐",stretch:"拉伸对齐"}},color:{type:{label:"颜色类型",static:"单色",interpolation:"插值取色",none:"无"},interpolation:{setup:"设置取色方案",palette:{label:"色板",category:{sequential:"单色渐变",diverging:"双色渐变"},red_green:"红 / 绿",yellow_blue:"黄 / 蓝",red:"红",green:"绿",blue:"蓝",orange:"橙",mapping:{value_input_label:"映射一个值到此颜色"}}}}},query:{label:"查询",labels:"查询",add:"新增查询",delete:"删除这个查询",cant_delete:"此查询在使用中,不能删除。请查看“使用情况”标签页以了解详情",delete_unused:"删除未用到的查询",name:"名称",name_description:"唯一名称",manage:"管理查询",open:"打开此查询",configurations:"配置",basics:"基本信息",conditions:"条件",run_by_condition:{label:"以下条件为真时,才运行本查询",description:"为假的情况: 空数组 / NaN / false / 空字符串 / undefined / null",unset:"留空则在看板加载时便运行本查询"},re_run_condition:{label:"当以下条件改变时,重新运行此查询",unset:"留空则永不重新运行此查询"},dependency:{label:"依赖",has_none:"此查询无依赖"},edit_sql:"编辑SQL",preview_sql:"预览SQL",request:"请求",build_request:"构造请求",process_request:"加工请求",process_result:"加工结果",usage:{label:"使用情况",in_views:"所在视图",unused_description:"此查询未被任何筛选器或卡片用到"},transform:{label:"查询变形",full_label:"查询变形",data_source:"基于其他查询的数据,加工出新数据",guide:{pick_queries:"选择一至多个查询作为数据输入",write_function:"编写函数,返回新数据"}}},data:{label:"数据",preview_data:"预览数据",empty_data:"无数据",requires_data:"请先关联查询"},data_source:{label:"数据源",explore:"查看数据源",explorer:"数据源查看器",table_structure:"数据表结构",table_structure_short:"表结构",see_table_structure:"查看数据表结构"},visualization:{label:"可视化",component:"可视化组件",label_short:"可视化"},numbro:{format:{label:"格式",absolute:"绝对值",absolute_description:"非负",abbreviation:"缩写",abbreviation_description:"如1.23k、1.23m",mantissa:"小数",trim_mantissa:"抹零",trim_mantissa_description:"省略末尾的零",preview:{open:"展开预览",close:"收起预览",input:"输入",output:"输出"}}},import:{label:"导入...",title:"自描述文件导入看板内容",json_file:"描述文件(JSON格式)",this_dashboard:"此看板",this_file:"此文件"},function_utils:{trigger_text:"关于utils参数",modal_title:"关于utils参数",description:"参数 <code>utils</code> 是 <code>FunctionUtils</code>,包含以下内容:",document:"文档"},aggregation:{option:{none:"无",sum:"和",mean:"平均值",median:"中位数",min:"最小值",max:"最大值",cov:"变异系数",std:"标准差",quantile:{label:"分位",label_with_hint:"分位(99%, 95%, ...)"},custom:{label:"自定义",label_trigger:"编写函数",title:"自定义聚合方式"},pick_record:{label:"直接选择数据",method:{label:"数据记录",first:"第一条",last:"最后一条"}}}},rich_text:{label:"富文本",content:{label:"内容"},dynamic_color:{label:"动态颜色",edit:"编辑动态颜色",clear:"清除动态颜色"},color_mapping:{label:"颜色映射",edit:"编辑颜色映射",clear:"清除颜色映射",choose_value_var:"选择用于映射颜色的变量",min:{val:"固定最小值",var:"动态最小值(优先)"},max:{val:"固定最大值",var:"动态最大值(优先)"}}},chart:{chart_config:"图表设置",data_field:"数据字段",groups:{merico_suite:"思码逸套件",echarts_based_charts:"基于ECharts的图表",others:"其他"},label:{label:"文案",label_full:"标签文案",label_style:"标签文案样式",label_format:"标签文案格式"},label_position:{label:"文案位置",off:"不显示文案",top:"上",left:"左",right:"右",bottom:"下",inside:"内",inside_top:"内-上",inside_left:"内-左",inside_center:"内-中",inside_right:"内-右",inside_bottom:"内-下",inside_top_left:"内-上-左",inside_top_right:"内-上-右",inside_bottom_left:"内-下-左",inside_bottom_right:"内-下-右",outside:"外"},visual_map:{label:"视觉映射",continuous:{label:"连续型"},piecewise:{label:"分段型",mode:{pieces:"连续数据",categories:"离散数据"},add_a_piece:"加一个分段",interval:"值区间",piece_label:"文案"},bar_width:"长条的宽度",bar_height:"长条的高度",item_width:"小块的宽度",item_height:"小块的高度",calculable:"显示拖拽手柄",min_value:"最小值",max_value:"最大值",min_text:"最小值文案",max_text:"最大值文案",use_palette_x:'使用配色方案"{{x}}"',built_in_palettes:"内置配色方案",precision:"数据精度",skip_range:{lt_min:"小于最小值时的颜色",min:"最小值的颜色",max:"最大值的颜色",gt_max:"大于最大值时的颜色",follow_visual_map:"颜色跟随渐变规则"}},number_or_dynamic_value:{type:{static:"具体值",dynamic:"动态值"},dynamic:{setup:"设置",setup_title:"设置动态值",guide:"由函数确定动态值"}},orientation:{label:"朝向",horizontal:"水平",vertical:"垂直"},symbol_size:{label:"标记点大小",static:"固定值",dynamic:"动态值",setup:{label:"设置",title:"设置动态值",description:"由函数确定动态值"}},series:{label:"系列",name:"名称",y_axis:"Y轴",data_field:"数据字段",add:"增加一个系列",delete:"删除这个系列",line:{label:"线",line_settings:"线段设置",line_style:"线条样式",type:{label:"类型",solid:"实线",dashed:"方虚线",dotted:"圆点虚线"},line_width:"线宽",step:{label:"阶梯状",off:"不启用",start:"在当前点拐弯",middle:"在当前点与下个点中间拐弯",end:"在下个点拐弯"},smooth_line:"平滑曲线",show_name_on_line:"显示标签文案",show_symbol_on_line:"显示标记点",area_style:{label:"区域填充样式",enabled:"启用区域填充",color:"填充颜色",use_series_color:"沿用系列本色",origin:{label:"图形区域的起始位置",auto:{label:"自动",description:"填充坐标轴线到数据间的区域(默认)"},start:{label:"自下而上",description:"填充坐标轴底部到数据间的区域"},end:{label:"自上而下",description:"填充坐标轴顶部到数据间的区域"}},shadow_blur:"图形阴影的模糊大小",shadow_color:"图形阴影的颜色",shadow_offset_x:"阴影水平方向上的偏移距离",shadow_offset_y:"阴影垂直方向上的偏移距离",opacity:"图形透明度"}},bar:{label:"柱",stack:"堆放",stack_hint:"此值相同的柱系列会堆叠在一起",bar_gap:{label:"柱间隔",no_gap:"柱子之间无间隔",overlap:"柱子可互相重叠"},bar_width:{min:"最小柱宽",exact:"柱宽",max:"最大柱宽"}},scatter:{label:"散点"},group_by:{label:"按此字段拆分为多个系列",label_line:"按此字段拆分为多条线"}},axis:{tick_label:"刻度文案",customize_label:"自定义文案",overflow:{label:"溢出",max_width:"最大宽度",truncate:"截断",break_line:"换行",break_word:"断词换行",ellipsis:"省略符",section_title:{on_axis:"轴刻度上文案的溢出",in_tooltip:"提示框中的文案溢出"}},section_title:{label_format:"文案格式"},type:{value:"数值轴",category:"类目轴",time:"时间轴",log:"对数轴",click_to_learn_more:"点击 <1>这里</1> 以进一步了解这些选项"}},name_text:{align:{label:"名称贴靠侧",left:"左",center:"中",right:"右"}},rotate:"旋转",degree:"度",padding:"内间距",content_template:{label:"内容模板",hint:"均值: ${avg}"},x_axis:{label:"X轴",labels:"X轴",label_format:"刻度文案格式",add:"增加一条X轴",delete:"删除这条X轴",x_axis_name:"X轴名称",x_axis_data_field:"X轴数据字段",x_axis_type:"X轴类型",layout:"布局",position:{label:"位置",top:"上",bottom:"下"},value_range:"值范围",value_min:"最小值",value_max:"最大值",behavior:"表现",visible:"可见"},y_axis:{label:"Y轴",labels:"Y轴",label_format:"刻度文案格式",add:"增加一条Y轴",delete:"删除这条Y轴",y_axis_name:"Y轴名称",y_axis_name_anchor:"名称贴靠侧",y_axis_data_field:"Y轴数据字段",layout:"布局",position:{label:"位置",left:"左",right:"右"},value_range:"值范围",value_min:"最小值",value_max:"最大值",behavior:"表现",visible:"可见"},stats:{label:"统计内容",template:{above_chart:"统计内容(图表上方)",under_chart:"统计内容(图表下方)"}},legend:{label:"图例",show_legend:"显示图例",show_in_legend:"显示在图例中",hide_in_legend:"不显示在图例中",orientation:{label:"布局朝向",horizontal:"横向",vertical:"纵向"}},tooltip:{label:"提示框",additional_metrics:{description:"在此设置更多指标,来展示在散点的提示框",add:"增加一个指标",delete:"删除这个指标"},trigger:{label:"触发者",scatter_point:"散点",x_axis:"X轴"}},style:{label:"样式"},color:{label:"颜色",background_color:"背景色",text_color:"文字颜色",click_to_add_a_color:"点击增加一个颜色",color_gradient:"颜色渐变",not_set:"未设置"},behavior:{label:"表现",invisible:"隐藏不可见"},heatmap:{heatblock:{label:"热力块",show_label:"展示值文案"}},reference_line:{label:"参考线",labels:"参考线",add:"增加一条参考线",name_placeholder:"均值参考线",delete:"删除这条参考线",orientation:{vertical_hint:"仅当X轴值为数字时可绘制"}},regression_line:{label:"回归线",labels:"回归线",add:"增加一条回归线",delete:"删除这条回归线",method:{label:"方法",linear:"线性回归",exponential:"指数回归",logistic:"指数回归",polynomial:"多项式回归",polynomial_order:"次"}},reference_area:{label:"参考区域",labels:"参考区域",add:"增加一面参考区域",delete:"删除这面参考区域",type:{label:"形状",rectangle:"矩形"},direction:{label:"方向",horizontal:"水平"},boundary:{upper:"上边界",lower:"下边界"},content:{label:"内容",content_text:"内容文字",text_position:"文字位置"},endpoint:{labels:"端点",left_bottom_point:"左下点",right_top_point:"右上点"}},zooming:{label:"缩放",scroll:{label:"滚轮缩放",x_axis:"对X轴启用",y_axis:"对Y轴启用"},slider:{label:"滚动条缩放",x_axis:"对X轴启用",y_axis:"对Y轴启用",y_axis_disabled:"暂不可用,会与Y轴刻度文字重叠"}}},viz:{viz_config_banner:"可视化参数配置"},validation:{number:{require_a_number:"请填写一个数字"}},spotlight:{trigger_text:"搜索",main_group:"主要项",placeholder:"打开…",not_found:"无匹配项"}}},bi=Um.createInstance({debug:!1,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:_P,zh:jP}}).use(Ym).use(j.initReactI18next);bi.init(),Zo.forEach(e=>{var t;(t=e.translation)==null||t.forEach(n=>{bi.addResourceBundle(n.lang,"translation",{viz:n.resources},!0,!0)})});function vg({lang:e,children:t}){return f.useEffect(()=>{bi.changeLanguage(e)},[e]),r.jsx(j.I18nextProvider,{i18n:bi,children:t})}function yi(e){console.groupCollapsed("Running operation ",e.type),console.log(e),console.groupEnd()}function _g(e,t){f.useEffect(()=>{const n=s=>{yi(s);const{viewID:i}=s.detail;if(!i){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(i),t&&e.views.setIDOfVIE(i)};return window.addEventListener("open-view",n),()=>{window.removeEventListener("open-view",n)}},[e,t]),f.useEffect(()=>{const n=s=>{yi(s);const{dictionary:i,payload:a}=s.detail;if(!a||Object.keys(a).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}const l={};Object.entries(i).forEach(([c,u])=>{const d=v.get(a,u);l[c]=d}),e.filters.applyValuesPatch(l)};return window.addEventListener("set-filter-values",n),()=>{window.removeEventListener("set-filter-values",n)}},[e]),f.useEffect(()=>{function n(i){return Array.isArray(i)?[]:typeof i=="object"?{}:typeof i=="boolean"?!1:typeof i=="string"?"":typeof i=="number"?0:i}const s=i=>{yi(i);const a={},{filter_keys:l}=i.detail;l.forEach(c=>{const u=v.get(e.filters.values,c),d=n(u);a[c]=d}),e.filters.applyValuesPatch(a)};return window.addEventListener("clear-filter-values",s),()=>{window.removeEventListener("clear-filter-values",s)}},[e]),f.useEffect(()=>{const n=s=>{yi(s);const{urlTemplate:i,openInNewTab:a,enableEncoding:l=!1,payload:c}=s.detail;if(!i){console.error(new Error("[Open Link] URL is empty"));return}function u(h){return v.cloneDeepWith(h,b=>{if(l&&typeof b=="string")return encodeURIComponent(b)})}const p=v.template(i||"")(u({...c,filters:e.payloadForSQL.filters,context:e.payloadForSQL.context}));window.open(p,a?"_blank":"_self","noopener")};return window.addEventListener("open-link",n),()=>{window.removeEventListener("open-link",n)}},[e])}function jg(e){return f.useCallback(t=>t.provideValue(Oe.pluginManager,e.pluginManager).provideValue(Oe.vizManager,e.vizManager).provideValue(Oe.colorManager,e.colorManager),[])}const lV="",wP=D.observer(({saveDashboardChanges:e})=>{const{t}=j.useTranslation(),n=jt.useModals(),s=se(),i=()=>{n.openConfirmModal({title:r.jsxs(o.Group,{position:"left",children:[r.jsx(S.IconAlertTriangle,{size:18,color:"red"}),r.jsx(o.Text,{children:"You are reverting changes"})]}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},confirmProps:{color:"red"},onCancel:()=>console.log("Cancel"),onConfirm:()=>s.reset(),zIndex:320,withCloseButton:!1})},a=s.changed;return r.jsxs(o.Group,{spacing:0,children:[r.jsx(o.Button,{color:"green",variant:"filled",size:"xs",leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),onClick:e,disabled:!a,sx:{borderTopRightRadius:0,borderBottomRightRadius:0},children:t("common.actions.save_changes")}),r.jsxs(o.Menu,{width:200,trigger:"hover",openDelay:100,closeDelay:400,withinPortal:!0,zIndex:320,disabled:!a,children:[r.jsx(o.Menu.Target,{children:r.jsx(o.ActionIcon,{variant:"default",disabled:!a,sx:{height:"30px",borderTopLeftRadius:0,borderBottomLeftRadius:0,svg:{fill:"rgb(173, 181, 189)",stroke:"none"}},children:r.jsx(S.IconCaretDown,{size:18})})}),r.jsx(o.Menu.Dropdown,{children:r.jsx(o.Menu.Item,{icon:r.jsx(S.IconRecycle,{size:14,color:"red"}),disabled:!a,onClick:i,children:t("common.actions.revert_changes")})})]})]})}),CP=D.observer(({saveDashboardChanges:e,onExit:t,headerSlot:n=null})=>{j.useTranslation();const s=ce(),i=s.content.changed,a=()=>{t({hasChanges:i,dashboardId:s.id})};return r.jsx(o.Header,{height:60,px:"md",py:0,sx:{zIndex:299},children:r.jsxs(o.Group,{position:"apart",sx:{height:60,minWidth:"1000px",position:"relative"},children:[r.jsxs(o.Group,{children:[r.jsx(o.Button,{size:"xs",color:i?"red":"green",leftIcon:r.jsx(S.IconArrowLeft,{size:20}),onClick:a,children:r.jsx(o.Group,{spacing:4,children:r.jsxs(j.Trans,{i18nKey:"common.actions.end_editing",values:{name:s.name},children:["End Editing ",r.jsx(o.Text,{td:"underline",children:s.name})]})})}),r.jsx(wP,{saveDashboardChanges:e})]}),r.jsx(o.Group,{position:"right",sx:{flexGrow:1},children:n})]})})}),wg={height:"30px",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},SP=D.observer(()=>{var i;const{t:e}=j.useTranslation(),t=se(),n=((i=t.views.VIE)==null?void 0:i.type)===G.Tabs,s=()=>t.addANewPanel(t.views.idOfVIE);return n?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),sx:{...wg,transform:"none !important"},children:e("panel.add")})}):r.jsx(o.Button,{variant:"outline",color:"blue",radius:0,size:"xs",onClick:s,leftIcon:r.jsx(S.IconPlaylistAdd,{size:20}),sx:{...wg,background:"rgb(231, 245, 255)"},children:e("panel.add")})}),kP=D.observer(({done:e})=>{var E,R;const{t}=j.useTranslation(),s=se().layouts,i=f.useMemo(()=>({list:s.breakpointsInfo}),[s.breakpointsInfo]),{control:a,handleSubmit:l,watch:c,getValues:u,reset:d,formState:p}=y.useForm({defaultValues:i}),{fields:h,append:g,remove:b}=y.useFieldArray({control:a,name:"list",rules:{validate:Z=>{if(console.log({values:Z}),v.uniqBy(Z,"breakpoint").length!==Z.length)return"Screen sizes should be unique by min width"}}}),x=c("list"),_=h.map((Z,oe)=>({...Z,...x[oe]})),T=()=>{g({id:sn.v4(),name:"",breakpoint:""})},C=({list:Z})=>{const oe=Z.filter(ve=>Number.isFinite(ve.breakpoint));s.updateLayoutSetsInfo(oe),e()},I=u(),M=f.useMemo(()=>{const Z={list:I.list.filter(oe=>!!oe.name&&Number.isFinite(oe.breakpoint))};return!v.isEqual(Z,i)},[I,i]),z=(R=(E=p.errors.list)==null?void 0:E.root)==null?void 0:R.message;return r.jsx(r.Fragment,{children:r.jsxs("form",{onSubmit:l(C),children:[r.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,withBorder:!0,sx:{tableLayout:"fixed"},children:[r.jsx("thead",{children:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"340px"},children:t("common.name")}),r.jsx("th",{style:{width:"160px"},children:t("breakpoint.breakpoint")}),r.jsx("th",{})]})}),r.jsxs("tbody",{children:[_.map((Z,oe)=>r.jsxs("tr",{children:[r.jsx("th",{children:Z.id==="basis"?Z.name:r.jsx(y.Controller,{name:`list.${oe}.name`,control:a,render:({field:ve})=>r.jsx(o.TextInput,{size:"xs",label:"",required:!0,sx:{flex:1},...ve})})}),r.jsx("td",{children:Z.id==="basis"?r.jsxs(o.Text,{ff:"monospace",children:[Z.breakpoint,"px"]}):r.jsx(y.Controller,{name:`list.${oe}.breakpoint`,control:a,render:({field:ve})=>r.jsx(o.NumberInput,{size:"xs",label:"",required:!0,max:1e4,hideControls:!0,rightSection:r.jsx(o.Text,{color:"dimmed",children:"px"}),rightSectionProps:{style:{width:"30px"}},sx:{flex:1,fontFamily:"monospace"},styles:{input:{paddingRight:"30px"}},...ve})})}),r.jsx("td",{children:Z.id!=="basis"&&r.jsx(o.ActionIcon,{mx:"auto",size:"xs",variant:"subtle",color:"red",onClick:()=>b(oe),children:r.jsx(S.IconTrash,{})})})]},Z.id)),r.jsx("tr",{style:{backgroundColor:"transparent"},children:r.jsx("td",{colSpan:3,style:{padding:"0"},children:r.jsx(o.Tooltip,{label:t("breakpoint.add"),children:r.jsx(o.ActionIcon,{variant:"subtle",size:"md",color:"blue",onClick:T,sx:{width:"100%"},children:r.jsx(S.IconPlus,{size:18})})})})})]})]}),r.jsx(o.Text,{mt:6,ta:"right",size:"xs",color:"red",children:z??" "}),r.jsxs(o.Group,{mt:6,position:"apart",children:[r.jsx(o.Button,{color:"orange",size:"xs",onClick:()=>d(),leftIcon:r.jsx(S.IconRecycle,{size:18}),disabled:!M,children:t("common.actions.revert")}),r.jsx(o.Button,{color:"green",size:"xs",type:"submit",leftIcon:r.jsx(S.IconDeviceFloppy,{size:18}),disabled:!M,children:t("common.actions.save_changes")})]})]})})}),TP=D.observer(()=>{const{t:e}=j.useTranslation(),[t,{open:n,close:s}]=Me.useDisclosure(!1),i=se(),a=i.layouts.currentBreakpoint,l=i.layouts.currentLayoutRange,c=()=>{setTimeout(()=>{window.dispatchEvent(new Event("resize"))},32)},u=()=>{s(),c()};return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsxs(o.Menu,{withArrow:!0,withinPortal:!0,zIndex:320,trigger:"hover",children:[r.jsx(o.Menu.Target,{children:r.jsx(o.Button,{size:"xs",variant:"subtle",leftIcon:r.jsx(S.IconDevices,{size:16}),sx:{borderRadius:0},children:r.jsxs(o.Group,{spacing:6,children:[r.jsx(o.Text,{size:"xs",fw:"normal",children:l.name}),r.jsx(o.Text,{size:"xs",color:"#777",children:i.layouts.currentRangeText})]})})}),r.jsxs(o.Menu.Dropdown,{children:[i.layouts.breakpointRanges.map(d=>r.jsx(o.Menu.Item,{onClick:()=>i.layouts.setCurrentBreakpoint(d.id),disabled:a===d.id,children:r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Text,{size:"sm",children:d.name}),r.jsx(o.Text,{size:"xs",color:"dimmed",children:d.text})]})},d.id)),r.jsx(o.Menu.Divider,{}),r.jsx(o.Menu.Item,{color:"blue",icon:r.jsx(S.IconSettings,{size:14}),onClick:n,children:r.jsx(o.Text,{size:"sm",children:e("breakpoint.manage")})})]})]}),i.layouts.divisionPreviewScale<1&&r.jsx(o.Text,{size:"xs",color:"dimmed",children:is(i.layouts.divisionPreviewScale).format({output:"percent",mantissa:0})})]}),r.jsx(o.Modal,{opened:t,onClose:u,title:e("breakpoint.label",{count:2}),withinPortal:!0,zIndex:320,size:600,closeOnClickOutside:!1,children:r.jsx(kP,{done:u})})]})}),Cg={height:"30px",borderRight:"none",borderTop:"none",borderLeft:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},IP=D.observer(()=>{var i;const{t:e}=j.useTranslation(),t=se(),n=((i=t.views.VIE)==null?void 0:i.type)===G.Tabs,s=()=>{var a;return(a=t.views.VIE)==null?void 0:a.downloadSchema()};return n?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconCode,{size:16}),sx:{...Cg,transform:"none !important"},children:e("view.download_schema")})}):r.jsx(o.Button,{variant:"outline",color:"blue",radius:0,size:"xs",onClick:s,leftIcon:r.jsx(S.IconCode,{size:16}),sx:{...Cg},children:e("view.download_schema")})}),vi=({headers:e,rows:t})=>r.jsxs(o.Table,{fontSize:"xs",highlightOnHover:!0,sx:{tableLayout:"fixed",fontFamily:"monospace"},children:[r.jsx("thead",{children:e}),r.jsx("tbody",{children:t})]}),DP=({content:e})=>{const{t}=j.useTranslation(),n=e.views;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("view.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{children:t("common.type")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.name}),r.jsx("td",{children:t(`view.component.${s.type}.label`)})]},s.id))})]})},MP=({content:e})=>{const{t}=j.useTranslation(),n=e.filters;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("filter.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.key")}),r.jsx("th",{children:t("common.label")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.key}),r.jsx("td",{children:s.label})]},s.id))})]})},zP=({content:e})=>{const{t}=j.useTranslation(),n=e.panels;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("panel.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{children:t("visualization.component")})]}),rows:n.map(s=>r.jsxs("tr",{children:[r.jsx("td",{children:s.id}),r.jsx("td",{children:s.name}),r.jsx("td",{children:s.viz.type})]},s.id))})]})},EP=({content:e})=>{var s;const{t}=j.useTranslation(),n=(s=e.definition)==null?void 0:s.queries;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("query.labels")}),r.jsx(vi,{headers:r.jsxs("tr",{children:[r.jsx("th",{style:{width:"160px"},children:t("common.id")}),r.jsx("th",{children:t("common.name")}),r.jsx("th",{style:{width:"140px"},children:t("common.type")}),r.jsx("th",{style:{width:"260px"},children:t("data_source.label")})]}),rows:n.map(i=>r.jsxs("tr",{children:[r.jsx("td",{children:i.id}),r.jsx("td",{children:i.name}),r.jsx("td",{children:i.type}),r.jsx("td",{children:i.key})]},i.id))})]})},AP=({content:e})=>{var s;const{t}=j.useTranslation(),n=(s=e.definition)==null?void 0:s.sqlSnippets;return!Array.isArray(n)||n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("sql_snippet.labels")}),r.jsx(o.List,{size:"sm",pl:10,ff:"monospace",icon:r.jsx(S.IconPointFilled,{size:10}),children:n.map(i=>r.jsx(o.List.Item,{children:i.key},i.key))})]})},PP=({content:e})=>{var s;const{t}=j.useTranslation(),n=Object.keys(((s=e.definition)==null?void 0:s.mock_context)??{});return n.length===0?null:r.jsxs(o.Box,{children:[r.jsx(o.Text,{pl:10,size:"sm",fw:500,c:"dimmed",ta:"center",children:t("mock_context.label")}),r.jsx(o.List,{size:"sm",pl:10,ff:"monospace",icon:r.jsx(S.IconPointFilled,{size:10}),children:n.map(i=>r.jsx(o.List.Item,{children:i},i))})]})},OP=({content:e})=>e?r.jsxs(o.Box,{children:[r.jsx(o.Divider,{mt:20,mb:10,variant:"dashed"}),r.jsx(o.Text,{ta:"left",c:"dimmed",children:"Preview"}),r.jsxs(o.Stack,{children:[r.jsx(DP,{content:e}),r.jsx(MP,{content:e}),r.jsx(zP,{content:e}),r.jsx(EP,{content:e}),r.jsx(AP,{content:e}),r.jsx(PP,{content:e})]})]}):null;function LP(e){if(e.target===null)throw new Error("FileReader failed with null result");if(typeof e.target.result!="string")throw new Error(`Unparsable file content of type: ${typeof e.target.result}`);let t=JSON.parse(e.target.result);if("content"in t&&(t=t.content),t.version!==gn)throw new Error("Schema version mismatch");return t}const BP=D.observer(({onSuccess:e,stretchModal:t,shrinkModal:n})=>{var C,I;const{t:s}=j.useTranslation(),i=se(),{handleSubmit:a,formState:{errors:l},setValue:c,watch:u,setError:d,clearErrors:p}=y.useForm({defaultValues:{content:null}}),h=({content:M})=>{try{if(!M)throw new Error("please use a valid json file");i.applyJSONSchema(M),Ut.showNotification({title:"Successful",message:"",color:"green"}),e()}catch(z){console.error(z),Ut.showNotification({title:"Failed",message:z.message,color:"red"})}},[g,b]=f.useState(null);f.useEffect(()=>{if(!g)return;const M=new FileReader;M.readAsText(g,"UTF-8"),M.onload=z=>{try{const E=LP(z);c("content",E),p("content")}catch(E){console.error(E),d("content",{type:"custom",message:E.message})}},M.onabort=()=>console.log("🟨 abort"),M.onerror=()=>{M.error&&(console.error(M.error),d("content",{type:"custom",message:M.error.message}))}},[g]);const[x]=u(["content"]),_=!x,T=(C=l==null?void 0:l.content)==null?void 0:C.message;return f.useEffect(()=>{!x||T?n():t()},[x,T]),r.jsx(o.Box,{mx:"auto",sx:{position:"relative"},children:r.jsxs("form",{onSubmit:a(h),children:[r.jsx(o.FileInput,{label:s("import.json_file"),required:!0,value:g,onChange:b,error:(I=l==null?void 0:l.content)==null?void 0:I.message,sx:{maxWidth:500}}),T?r.jsx(o.Table,{fontSize:12,mt:10,children:r.jsxs("tbody",{children:[r.jsxs("tr",{children:[r.jsx("th",{children:s("import.this_dashboard")}),r.jsx("td",{children:gn})]}),r.jsxs("tr",{children:[r.jsx("th",{children:s("import.this_file")}),r.jsx("td",{style:{color:"red"},children:x==null?void 0:x.version})]})]})}):r.jsxs(r.Fragment,{children:[r.jsx(OP,{content:x}),r.jsx(o.Group,{position:"right",my:"md",children:r.jsx(o.Button,{type:"submit",color:"green",disabled:_,children:s("common.actions.confirm")})})]})]})})}),Sg={height:"30px",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef"},VP=D.observer(()=>{var d;const{t:e}=j.useTranslation(),[t,{open:n,close:s}]=Me.useDisclosure(!1),[i,{setTrue:a,setFalse:l}]=Y.useBoolean(!1),u=((d=ce().content.views.VIE)==null?void 0:d.type)===G.Tabs;return u?r.jsx(o.Tooltip,{label:e("common.choose_a_tab_first"),children:r.jsx(o.Button,{variant:"outline",color:"gray",radius:0,size:"xs",leftIcon:r.jsx(S.IconFileImport,{size:16}),sx:{...Sg,transform:"none !important"},children:e("import.label")})}):r.jsxs(r.Fragment,{children:[r.jsx(o.Button,{variant:"subtle",color:"blue",radius:0,size:"xs",disabled:u||t,onClick:n,leftIcon:r.jsx(S.IconFileImport,{size:16}),sx:{...Sg},children:e("import.label")}),r.jsx(o.Modal,{opened:t,onClose:s,title:e("import.title"),trapFocus:!0,onDragStart:p=>{p.stopPropagation()},withinPortal:!0,zIndex:320,size:i?"90vw":500,children:r.jsx(BP,{onSuccess:s,stretchModal:a,shrinkModal:l})})]})}),NP=({iconKey:e,...t})=>{switch(e){case"query_variables":return r.jsx(S.IconVariable,{...t});case"mock_context":return r.jsx(S.IconCodeDots,{...t});case"filter":return r.jsx(S.IconFilter,{...t});case"sql_snippet":return r.jsx(S.IconCopy,{...t});case"query":return r.jsx(S.IconDatabase,{...t});case"view":return r.jsx(S.IconBoxMultiple,{...t});case"panel":return r.jsx(S.IconAppWindow,{...t});default:return null}},qP=({action:e})=>{const{t}=j.useTranslation();return e.description?r.jsx(o.Text,{color:"dimmed",size:"xs",children:t(e.description)}):e.viz?r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Text,{color:"dimmed",size:"xs",children:t(e.viz.displayName)}),r.jsx(o.Text,{color:"dimmed",opacity:0,size:"xs",className:"spotlight-action-viz-group",children:t(e.viz.displayGroup)})]}):null},$P=o.createStyles((e,t)=>({action:{position:"relative",display:"block",width:"100%",padding:`${o.rem(10)} ${o.rem(12)}`,borderRadius:e.radius.sm,...e.fn.hover({backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1],".spotlight-action-viz-group":{opacity:1}}),"&[data-hovered]":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[1],".spotlight-action-viz-group":{opacity:1}}}})),FP=D.observer(({action:e,styles:t,classNames:n,hovered:s,onTrigger:i,highlightQuery:a,query:l,...c})=>{const{t:u}=j.useTranslation(),{classes:d}=$P(null,{styles:t,classNames:n,name:"Spotlight"});return r.jsx(o.UnstyledButton,{className:d.action,"data-hovered":s||void 0,tabIndex:-1,onMouseDown:p=>p.preventDefault(),onClick:i,...c,children:r.jsxs(o.Group,{noWrap:!0,children:[r.jsx(NP,{iconKey:e.iconKey,size:14}),r.jsxs("div",{style:{flex:1},children:[r.jsx(o.Highlight,{highlight:l,size:"sm",children:u(e.title)}),r.jsx(qP,{action:e})]})]})})}),GP=D.observer(({children:e})=>{const{t,i18n:n}=j.useTranslation(),s=ce(),i=f.useMemo(()=>s.editor.spotlightActions.map(u=>{const d=u.group;return{...u,group:d?t(d):void 0,keywords:[u.title,t(u.title)]}}),[s.editor.spotlightActions,n.language]),[a,{set:l}]=Y.useBoolean(!1),c=f.useCallback(u=>{l(!!u)},[]);return r.jsx(jc.SpotlightProvider,{actions:i,actionComponent:FP,shortcut:["mod + P","mod + K"],searchIcon:r.jsx(S.IconSearch,{size:"1.2rem"}),searchPlaceholder:t("spotlight.placeholder"),nothingFoundMessage:t("spotlight.not_found"),limit:a?20:5,onQueryChange:c,children:e})}),kg=({children:e})=>r.jsx(o.Text,{style:{fontSize:"0.6875rem",lineHeight:1,padding:"0.25rem 0.2375rem",borderRadius:"0.25rem"},children:e}),Tg=function(){var t;return(((t=navigator.userAgentData)==null?void 0:t.platform)??navigator.platform).toLowerCase().includes("mac")}(),WP=()=>{const{t:e}=j.useTranslation();return r.jsx(o.Tooltip,{label:r.jsxs(r.Fragment,{children:[Tg&&r.jsx(kg,{children:"⌘ + K"}),!Tg&&r.jsx(kg,{children:"Ctrl + K"})]}),children:r.jsx(o.UnstyledButton,{onClick:()=>jc.spotlight.open(),style:{height:"1.875rem",borderLeft:"none",borderTop:"none",borderRight:"1px solid #e9ecef",borderBottom:"1px solid #e9ecef",paddingLeft:"calc(0.875rem / 1.5)",paddingRight:"1rem"},sx:{color:"#228be6",background:"transparent","&:hover":{background:"rgb(231, 245, 255)"}},children:r.jsxs(o.Group,{spacing:"0.625rem",children:[r.jsx(S.IconSearch,{size:"1rem",color:"#228be6"}),r.jsx(o.Text,{style:{flexGrow:1,fontWeight:500,fontSize:"0.75rem",lineHeight:1},children:e("spotlight.trigger_text")})]})})})},RP={position:"fixed",top:60,left:0,right:0,height:30,zIndex:299,borderBottom:"1px solid #e9ecef",background:"rgba(233,236,239, 0.15)"},QP=D.observer(()=>r.jsx(o.Box,{sx:RP,pl:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},children:r.jsxs(o.Group,{position:"apart",align:"center",sx:{height:"30px"},children:[r.jsxs(o.Group,{position:"left",spacing:0,children:[r.jsx(SP,{}),r.jsx(VP,{}),r.jsx(WP,{})]}),r.jsx(TP,{}),r.jsx(o.Group,{position:"right",spacing:0,children:r.jsx(IP,{})})]})})),UP=D.observer(e=>r.jsxs(r.Fragment,{children:[r.jsx(CP,{...e}),r.jsx(QP,{})]})),cV="";function YP(e,t,n){const s=[];return e.filter(i=>"__INTERACTIONS"in i.viz.conf).forEach((i,a)=>{const l=t[i.id];l.data.interactions=v.get(l,"data.interactions",[]);const{__INTERACTIONS:c,__OPERATIONS:u,__TRIGGERS:d}=i.viz.conf;Object.entries(u).forEach(([p,h])=>{const{schemaRef:g,data:b}=h,{config:x}=b;switch(g){case"builtin:op:open-link":let _=x.urlTemplate.substring(0,100);x.urlTemplate.length>=20&&(_+="..."),l.type="interaction",l.data.interactions.push({schemaRef:g,urlTemplate:x.urlTemplate,shortURLTemplate:_});return;case"builtin:op:open_view":s.push({id:`OPERATION--${p}`,source:i.id,target:x.viewID,label:"Open View",style:{stroke:"rgba(0,0,0,0.8)"},type:"default"});return;case"builtin:op:set_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:Object.keys(x.dictionary).map(T=>({key:T,label:n[T]}))});return;case"builtin:op:clear_filter_values":l.type="interaction",l.data.interactions.push({schemaRef:g,filters:x.filter_keys.map(T=>({key:T,label:n[T]}))});return;default:return}})}),s}function KP(e,t){const n=e.filters.keyLabelMap;return{edges:YP(e.panels.list,t,n),edgeNodes:[]}}function Ig(e,t,n){return e*t+e*n}function XP(e,t,n){return e*t+(e-1)*n}const _i=25,Vl=40,Dg=25,Nl=350,JP=150,ZP=150,Mg=150,zg=300,ji=40,Eg=25,HP=300;function e2(e,t){const n=v.keyBy(t,i=>i.id),s=[];return e.current.forEach((i,a)=>{i.panelIDs.forEach((l,c)=>{const u=Ig(c,ji,Eg)+Vl,d=n[l];if(!d){s.push({id:l,_node_type:"panel",parentNode:i.id,data:{label:`!: ${l}`},position:{x:_i,y:u},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,style:{width:zg,height:ji}});return}const p=d.name;s.push({id:d.id,_node_type:"panel",parentNode:i.id,data:{label:p},position:{x:_i,y:u},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,style:{width:zg,height:ji}})})}),s}const t2={[G.Division]:"Div",[G.Modal]:"Modal",[G.Tabs]:"Tabs"},n2=cg;function r2(e){return e.current.map((n,s)=>{const i=XP(n.panelIDs.length,ji,Eg)+Vl+Dg;let a=[];return n.type===G.Tabs&&(a=n.config.tabsInOrder.map(c=>c.view_id)),{id:n.id,_node_type:"view-root",_view_type:n.type,_view_level:0,_sub_view_ids:[],_tab_view_ids:a,data:{label:`${t2[n.type]}:${n.name}`},position:{x:0,y:0},sourcePosition:Ue.Position.Right,targetPosition:Ue.Position.Left,className:"light",style:{backgroundColor:n2[n.type],width:Nl,height:i}}})}function s2(e){const t=v.keyBy(e,n=>n.id);e.forEach(n=>{n._node_type!=="view-root"||n._view_type!==G.Tabs||n._tab_view_ids.forEach(s=>{t[s].parentNode=n.id})})}function i2(e){const t=r2(e.views);s2(t);const n=e2(e.views,e.panels.list);return[...t,...n]}function a2({nodeMap:e,nodes:t,edges:n}){t.forEach(s=>{s._node_type!=="view-root"||s._view_type!==G.Tabs||(s.sourcePosition=Ue.Position.Bottom,s.style.width=Nl+_i*2,s.style.height=Dg+s._tab_view_ids.reduce((i,a)=>{const l=e[a];l.position.y=i,l.position.x=_i;const c=l.style.height;return i+c+20},Vl))})}function o2({nodeMap:e,nodes:t,edges:n}){n.filter(s=>s.label==="Open View").forEach(s=>{const i=e[s.source],a=e[s.target];if(!i||!a||!i.parentNode)return;const l=e[i.parentNode];l._node_type!=="view-root"||a._node_type!=="view-root"||(a._view_level+=1+l._view_level,l._sub_view_ids.push(a.id))}),t.sort((s,i)=>s._node_type==="view-root"&&i._node_type==="view-root"?s._view_level-i._view_level:s._node_type!=="view-root"&&i._node_type!=="view-root"?0:s._node_type==="view-root"?-1:1)}function l2({nodeMap:e,nodes:t,edges:n}){const s={};n.forEach(i=>{if(i.label!=="Open View")return;const a=e[i.source],l=e[i.target];if(a&&l&&a.parentNode){const c=e[a.parentNode],u=c.position.x,d=Number(v.get(l,"style.height",0)),p=Number(c.style.width);l.position.x=u+p+HP,c._view_level===0&&l._sub_view_ids.length===0&&(a.sourcePosition=Ue.Position.Left,l.targetPosition=Ue.Position.Right,l.position.x*=-1);const g=l.position.x,b=v.get(s,g,0);l.position.y=b,s[g]=b+d+Mg}})}function c2({nodeMap:e,nodes:t,edges:n}){const s=new Set,i=new Set;n.forEach(l=>{s.add(l.source),i.add(l.target)}),t.filter(l=>l._node_type!=="view-root"||l.id==="Main"||l.parentNode?!1:!s.has(l.id)&&!i.has(l.id)).forEach((l,c)=>{l.position.x=Ig(c,Nl,ZP),l.position.y=0-JP-Mg})}function u2({nodeMap:e,nodes:t,edges:n}){const s={nodeMap:e,nodes:t,edges:n};return c2(s),o2(s),a2(s),l2(s),{nodes:t,edges:n}}function d2(e){const t=i2(e),n=v.keyBy(t,u=>u.id),{edges:s,edgeNodes:i}=KP(e,n),a=[...t,...i],l=v.keyBy(a,u=>u.id),c={edges:v.uniqBy(s,u=>u.id),nodes:a,nodeMap:l};return u2(c)}const uV="",ql={"builtin:op:open-link":r.jsx(o.ThemeIcon,{color:"blue",size:20,radius:"xl",children:r.jsx(S.IconCircleDashed,{size:14})}),"builtin:op:set_filter_values":r.jsx(o.ThemeIcon,{color:"orange",size:20,radius:"xl",children:r.jsx(S.IconCircleDot,{size:14})}),"builtin:op:clear_filter_values":r.jsx(o.ThemeIcon,{color:"orange",size:20,radius:"xl",children:r.jsx(S.IconCircleOff,{size:14})})};function p2(e){const t=[];return e.forEach(n=>{switch(n.schemaRef){case"builtin:op:open-link":t.push({key:n.urlTemplate,icon:ql[n.schemaRef],text:r.jsxs(o.Group,{spacing:4,children:[r.jsx(o.Text,{children:"Open: "}),r.jsx(o.Text,{color:"dimmed",children:n.shortURLTemplate})]})});return;case"builtin:op:set_filter_values":n.filters.forEach(({key:s,label:i})=>{t.push({key:n.schemaRef+s,icon:ql[n.schemaRef],text:r.jsx(o.Group,{spacing:4,children:r.jsxs(o.Text,{children:["Set Filter: ",i]})})})});return;case"builtin:op:clear_filter_values":n.filters.forEach(({key:s,label:i})=>{t.push({key:n.schemaRef+s,icon:ql[n.schemaRef],text:r.jsx(o.Group,{spacing:4,children:r.jsxs(o.Text,{children:["Clear Filter: ",i]})})})});return}}),t}const h2=f.memo(({data:e,isConnectable:t,sourcePosition:n=Ue.Position.Right,targetPosition:s=Ue.Position.Left,...i})=>{const a=f.useMemo(()=>p2(e.interactions),[e.interactions]);return r.jsxs(r.Fragment,{children:[r.jsx(Ue.Handle,{type:"target",position:s,isConnectable:t}),r.jsx(o.Box,{sx:{position:"absolute",top:0,right:0},children:r.jsx(S.IconChevronsUpRight,{size:12})}),r.jsxs(o.HoverCard,{shadow:"xl",withinPortal:!0,children:[r.jsx(o.HoverCard.Target,{children:r.jsx(o.Text,{children:e.label})}),r.jsx(o.HoverCard.Dropdown,{children:r.jsx(o.List,{spacing:"xs",size:"sm",center:!0,children:a.map(l=>r.jsx(o.List.Item,{icon:l.icon,children:l.text},l.key))})})]}),r.jsx(Ue.Handle,{type:"source",position:n,isConnectable:t})]})}),dV="",f2={interaction:h2},g2=D.observer(()=>{const e=Te(),{edges:t,nodes:n}=d2(e);return r.jsxs(Ue,{nodes:n,edges:t,onNodesChange:v.noop,onEdgesChange:v.noop,onConnect:v.noop,className:"interactions-viewer",fitView:!0,nodeTypes:f2,children:[r.jsx(Ue.MiniMap,{}),r.jsx(Ue.Controls,{}),r.jsx(Ue.Background,{})]})}),m2=D.observer(({opened:e,close:t})=>{const{t:n}=j.useTranslation();return r.jsx(o.Modal,{size:"96vw",opened:e,onClose:t,title:n("interactions.interactions_viewer"),trapFocus:!0,onDragStart:s=>{s.stopPropagation()},styles:{body:{height:"calc(90vh - 54px)"},content:{transform:"none !important"}},zIndex:300,children:r.jsx(g2,{})})}),x2={"> button":{"&:first-of-type":{borderTopRightRadius:0,borderBottomRightRadius:0,borderRightWidth:.5},":not(:first-of-type):not(:last-of-type)":{borderTopRightRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5,borderRightWidth:.5},"&:last-of-type":{borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeftWidth:.5}}};function b2({onClick:e,name:t,active:n,openSettings:s}){return r.jsxs(o.Box,{sx:{position:"relative"},children:[r.jsx(o.UnstyledButton,{sx:i=>({display:"block",width:"100%",padding:i.spacing.xs,borderRadius:0,position:"relative",color:i.black,"&:hover":{backgroundColor:i.colors.gray[0]},backgroundColor:n?i.colors.gray[2]:"transparent"}),children:r.jsx(o.Group,{sx:{width:"calc(100% - 28px)"},onClick:e,children:r.jsx(o.Text,{size:"sm",children:t})})}),n&&r.jsx(o.Tooltip,{label:"Edit",position:"right",withinPortal:!0,children:r.jsx(o.ActionIcon,{onClick:s,variant:"light",color:"blue",sx:{position:"absolute",top:0,bottom:0,height:"100%",right:0,zIndex:0,borderRadius:0},children:r.jsx(S.IconAdjustments,{size:16})})})]})}const y2=D.observer(()=>{const{t:e}=j.useTranslation(),t=ce(),n=se(),s=f.useCallback(a=>()=>n.views.setIDOfVIE(a),[n]),i=a=>{t.editor.open(["_VIEWS_",a])};return r.jsxs(o.Box,{sx:{position:"relative"},children:[n.views.options.map(a=>r.jsx(b2,{active:n.views.idOfVIE===a.value,name:a.label,onClick:s(a.value),openSettings:()=>i(a.value)},a.value)),r.jsx(o.Divider,{variant:"dashed"}),r.jsx(o.Button,{variant:"subtle",rightIcon:r.jsx(S.IconPlus,{size:14}),size:"sm",px:"xs",color:"blue",onClick:n.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"space-between"}},children:e("view.add")})]})}),v2=D.observer(()=>{const{t:e}=j.useTranslation(),t=ce(),n=se(),s=()=>{if(!n.queries.firstID){t.editor.open(["_QUERIES_",""]);return}t.editor.open(["_QUERIES_",n.queries.firstID])},i=()=>{if(!n.filters.firstID){t.editor.open(["_FILTERS_",""]);return}t.editor.open(["_FILTERS_",n.filters.firstID])},[a,l]=f.useState(!1),c=()=>l(!0),u=()=>l(!1);return r.jsxs(o.Navbar,{p:0,width:{base:200,xs:200,sm:200,md:220,lg:240,xl:260},zIndex:299,children:[r.jsxs(o.Navbar.Section,{children:[r.jsxs(o.Group,{grow:!0,spacing:0,sx:{...x2,button:{borderWidth:0,borderBottomWidth:1,borderColor:"#e9ecef"}},children:[r.jsx(o.Tooltip,{label:e("filter.labels"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:i,children:r.jsx(S.IconFilter,{size:18})})}),r.jsx(o.Tooltip,{label:e("query.labels"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:s,children:r.jsx(S.IconDatabase,{size:18})})}),r.jsx(o.Tooltip,{label:e("interactions.interactions_viewer"),withinPortal:!0,children:r.jsx(o.ActionIcon,{variant:"default",radius:0,size:"md",sx:{height:"30px"},onClick:c,children:r.jsx(S.IconRoute,{size:18})})})]}),r.jsx(m2,{opened:a,close:u})]}),r.jsx(o.Navbar.Section,{py:5,sx:{borderBottom:"1px solid #eee"},children:r.jsx(o.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:e("view.labels")})}),r.jsx(o.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:r.jsx(y2,{})}),r.jsx(o.Navbar.Section,{children:r.jsx(o.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:r.jsx(o.Button,{size:"xs",leftIcon:r.jsx(S.IconSettings,{size:20}),onClick:()=>t.editor.open([]),children:e("common.titles.settings")})})})]})}),_2=D.observer(({filter:e})=>{const{panel:t}=Pe(),{t:n}=j.useTranslation(),s=e.config;return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{position:"apart",children:[r.jsx(o.Checkbox,{checked:s.default_value,onChange:i=>s.setDefaultValue(i.currentTarget.checked),label:n("filter.widget.checkbox.default_checked")}),r.jsx(Wn,{filter:e})]}),r.jsx(Mn,{label:n("filter.widget.checkbox.description"),value:s.description,onChange:s.setDescription,styles:{root:{flexGrow:1,minHeight:"400px"}}},t.id)]})}),j2=[{label:"2022",value:"YYYY"},{label:"202201",value:"YYYYMM"},{label:"20220101",value:"YYYYMMDD"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],w2=D.observer(function({filter:t}){const{t:n}=j.useTranslation(),s=t.config,i=f.useMemo(()=>sl().map(({key:l,value:c,group:u})=>({label:n(`filter.widget.date_range.shortcut.${u}.full.${l}`),value:c,group:n(`filter.widget.date_range.shortcut.${u}.label`)})),[]),a=[...s.default_value];return r.jsxs(r.Fragment,{children:[r.jsxs(o.Group,{children:[r.jsx(o.Checkbox,{checked:s.required,onChange:l=>s.setRequired(l.currentTarget.checked),label:n("filter.widget.date_range.required")}),r.jsx(o.Checkbox,{checked:s.allowSingleDateInRange,onChange:l=>s.setAllowSingleDateInRange(l.currentTarget.checked),label:n("filter.widget.date_range.allow_single_date")})]}),r.jsxs(o.Group,{grow:!0,children:[r.jsx(o.Select,{data:j2,label:n("filter.widget.date_range.display_format"),value:s.inputFormat,onChange:s.setInputFormat}),r.jsx(o.NumberInput,{label:n("filter.widget.date_range.max_days"),min:0,value:s.max_days,onChange:s.setMaxDays,hideControls:!0})]}),r.jsxs(o.Group,{children:[r.jsx(Qf,{label:n("filter.widget.date_range.default_value"),config:s,value:{value:a,shortcut:null},onChange:s.setDefaultValue,disabled:!!s.default_shortcut}),r.jsx(o.Select,{data:i,label:n("filter.widget.date_range.default_by_shortcut"),value:s.default_shortcut,onChange:s.setDefaultShortcut,placeholder:n("filter.widget.date_range.default_by_shortcut_placeholder"),clearable:!0,sx:{flexGrow:1},maxDropdownHeight:500})]}),r.jsx(Wn,{filter:t})]})}),C2=`
491
491
  // row
492
492
  {
493
493
  label: string;