@devtable/dashboard 13.10.1 → 13.10.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.
@@ -53,7 +53,7 @@ Check the top-level render call using <`+P+">.")}return z}}function bu(C,z){{if(
53
53
  </table>
54
54
  `;function Ss(t,e){const n=Object.keys(e),r=Object.values(e);try{return new Function(...n,`return \`${t}\`;`)(...r)}catch(i){throw n.length===0&&t.includes("$")?new Error("[formatSQL] insufficient payload"):i}}function ks(t,e){try{return Ss(t,e)}catch(n){return console.error(n),n.message}}function yd({sql:t,pre_process:e}){if(!e.trim())return t;try{return new Function(`return ${e}`)()({sql:t},nt)}catch(n){return console.error(n),t}}function bd(t,e,n){if(!t.trim())return e;try{return new Function(`return ${t}`)()(e,nt,n)}catch(r){return console.error(r),e}}function vd(t){t=t||{};const e=Object.keys(t).sort(),n=[];for(let r=0;r<e.length;r++){const i=e[r];if(i!="authentication"&&t[i])n.push(e[r]+"="+(typeof t[i]=="object"?JSON.stringify(t[i]):t[i]));else{const a=Object.keys(t[i]).sort();for(let l=0;l<a.length;l++){const c=a[l];c!="sign"&&t[i][c]&&n.push(a[l]+"="+(typeof t[i][c]=="object"?JSON.stringify(t[i][c]):t[i][c]))}}}return n.sort().join("&")}function _d(t,e){let n=vd(t);return n+="&key="+e,dd.MD5(n).toString().toUpperCase()}class pa{constructor(){this.type="default_api_client",this.baseURL="http://localhost:31200",this.app_id="",this.app_secret=""}getAuthentication(e){if(!this.app_id||!this.app_secret)return;const n=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:n,sign:_d({app_id:this.app_id,nonce_str:n,...e},this.app_secret)}}getRequest(e,n){return(r,i,a,l)=>{const c=this.buildHeader(a),u=this.buildAxiosConfig(e,r,i,a,c,n);return ct(u).then(d=>l?d:d.data).catch(d=>{const p=y.get(d,"response.data.detail.message",d.message);return Promise.reject(new Error(p))})}}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}buildAxiosConfig(e,n,r,i,a,l){const c={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a,signal:l};return["POST","PUT"].includes(e)&&(c.data=i.string?JSON.stringify(r):r,c.data.authentication=this.getAuthentication(c.data)),c}buildHeader(e){const n=window.localStorage.getItem("token");return{"X-Requested-With":"XMLHttpRequest","Content-Type":e.string?"application/x-www-form-urlencoded":"application/json",authorization:n?`bearer ${n}`:"",...e.headers}}}class jd{constructor(e){this.implementation=e}getRequest(e,n){return this.implementation.getRequest(e,n)}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}}class ha extends pa{constructor(){super(...arguments);$(this,"makeQueryENV",null)}query(n){return async(r,i={})=>{var a;return r.env||(r.env=((a=this.makeQueryENV)==null?void 0:a.call(this))??{error:"failed to run makeQueryENV"}),this.post(n)("/query",r,i)}}httpDataSourceQuery(n){return async(r,i={})=>{var a;return r.env||(r.env=((a=this.makeQueryENV)==null?void 0:a.call(this))??{error:"failed to run makeQueryENV"}),this.getRequest("POST",n)("/query",r,i,!0)}}structure(n){return async(r,i={})=>this.post(n)("/query/structure",r,i)}}class ma{constructor(e){this.implementation=e}query(e){return this.implementation.query(e)}httpDataSourceQuery(e){return this.implementation.httpDataSourceQuery(e)}structure(e){return this.implementation.structure(e)}getRequest(e,n){return this.implementation.getRequest(e,n)}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}}const Ot=new ha;function Ts(t){Ot.baseURL!==t.apiBaseURL&&(Ot.baseURL=t.apiBaseURL),t.app_id&&(Ot.app_id=t.app_id),t.app_secret&&(Ot.app_secret=t.app_secret),t.makeQueryENV&&(Ot.makeQueryENV=t.makeQueryENV)}const ga=new ma(Ot),st=ga,on=m.forwardRef(function({value:e,onChange:n,...r},i){return s.jsx(o.TextInput,{ref:i,value:e,onChange:n,...r})});function E(t){const[e,n]=t.split(".");return{queryID:e,columnKey:n}}function wd(t){return t.includes(".")?E(t):{queryID:"",columnKey:t}}function rt(t,e){var i;const{queryID:n,columnKey:r}=E(e);return n?r?((i=t[n])==null?void 0:i.map(a=>a[r]))??[]:t[n]:[]}function Tn(t,e){const{queryID:n}=E(e);return n?t[n]:[]}function Cd(t){return Object.values(t)[0]}function Dn(t,e){const{queryID:n,columnKey:r}=E(e);return t[r]}const fa=["function aggregation({ queryData }, utils) {",' return "Aggregation Result";',"}"].join(`
55
55
  `),Vt={type:"none",config:{},fallback:"0"};function Sd(t){const e=Array.from(t).sort((r,i)=>r-i),n=Math.floor(e.length/2);return e.length%2===0?(e[n-1]+e[n])/2:e[n]}function kd(t,e){switch(e.type){case"sum":return y.sum(t);case"mean":return y.mean(t);case"median":return Sd(t);case"max":return y.max(t);case"min":return y.min(t);case"quantile":return nn.quantile(t,e.config.p);case"CV":const n=qt.std(...t),r=qt.mean(...t);return r?n/r:Number.NaN;case"std":return qt.std(...t);default:return t}}function Ds(t,e){const n=t.map(Number),r=kd(n,e);return typeof r=="number"?Number.isFinite(r)?r:e.fallback:r??e.fallback}function Td(t,e,n){try{const r=Tn(t,e);return new Function(`return ${n.config.func}`)()({queryData:r},nt)}catch(r){return console.error(r),r.message}}function zn(t,e,n){try{return n.type==="custom"?Td(t,e,n):Ds(rt(t,e),n)}catch(r){return console.error(r),null}}class Dd{constructor({valueRange:e,colorRange:n}){$(this,"mapper");this.mapper=kt.interpolate(e,n)}getColor(e){return this.mapper(e)}}const _e={mantissa:0,output:"number",trimMantissa:!1,average:!1,absolute:!1};function R(t,{absolute:e,...n}){if(t===null)return String(t);try{let r=Cn(t).value();if(r===void 0||Number.isNaN(r))throw new Error(`[formatNumber]Not a number: ${t}`);return e&&(r=Math.abs(r)),Cn(r).format(n)}catch(r){return console.debug(r),String(t)}}function zd(t){return t===null?"null":t===void 0?"undefined":Array.isArray(t)?`Array(${t.length})`:t.toString()}function it({data_field:t,aggregation:e},n){return zn(n,t,e)}function Le({formatter:t,aggregation:e},n){if(typeof n!="string"&&typeof n!="number")return zd(n);if(e.type==="custom")return n;try{return R(n,t)}catch(r){return console.error(r),n}}function Md(t,e){if(t.type==="static")return t.staticColor;if(t.type==="continuous")try{if(typeof e!="number")throw new Error(`[getColorByColorConf] Invalid type of aggregated value: ${e}`);return new Dd(t).getColor(e)}catch(n){return console.error(n),"black"}return"black"}function Id(t,e){const{color:n,data_field:r,aggregation:i,size:a,weight:l}=t,c=zn(e,r,i),u=Le(t,c);return s.jsx(o.Text,{sx:{fontSize:a,display:"inline"},color:Md(n,c),weight:l,children:u})}function Ed(t,e){const n={};return t.forEach(r=>{const i=r.name;n[i]=Id(r,e)}),n}function Ad(t){return t.split(" ").map((e,n)=>s.jsxs(m.Fragment,{children:[e," "]},n))}function Pd(t){const n=t.replaceAll("<br />","<br/>").replaceAll(`
56
- `,"<br/>").split("<br/>");return n.map((i,a)=>{const l=[Ad(i)];return a!==n.length-1&&l.push(s.jsx("br",{},`br-${a}`)),l}).flat().filter(i=>i!==void 0)}function zs(t){return Pd(t)}function ln(t,e,n){const r=Ed(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map((a,l)=>{const c=i.exec(a);if(!c)return zs(a);const u=r[c[1]];if(!u)return zs(a);const d=c[2]??"";return s.jsxs(m.Fragment,{children:[u,zs(d)]},`${a}-${l}`)})}function $d(t,e){const{data_field:n,aggregation:r}=t,i=zn(e,n,r);return Le(t,i)}function xa(t,e){const n={};return t.forEach(r=>{n[r.name]=$d(r,e)}),n}function Mn(t,e,n){const r=xa(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map(a=>{const l=i.exec(a);if(!l)return a;const c=r[l[1]];if(!c)return a;const u=l[2]??"";return`${c}${u}`}).join("")}const Tt={grid:{axis:"#97999D",scope:"rgba(47,140,192,0.1)",boundary:"#789AB4",reference:"#CFCFD8"},graphics:{compared:{blueDark:"#3E7CAB",blue:"#6398C7",blueLight:"#7CB0DF",blue10:"#6398C71a",redDark:"#AF5F6B",red:"#CD7C88",redLight:"#E794A0",red10:"#CD7C881a"},gradient:{distributed:"linear-gradient(90deg, #1babe6 0%, #2fc8c8 28.63%, #98d44b 48.86%, #ffd057 67.53%, #f5ae53 80.6%, #e76441 91.18%, #b90000 100%)",protrude:"linear-gradient(180deg, #ec73734d 0%, #ec737300 100%)"},level:{lv0:"#6398C7",lv1:"#61B5BF",lv2:"#54D4BB",lv3:"#F5D277",lv4:"#E8BB7F",lv5:"#DB9E84",lv6:"#CB8089"},depth:{dp0:"#FFF7F8",dp1:"#FFE1E1",dp2:"#FDBCBC",dp3:"#F39494",dp4:"#FA4242",dp5:"#E21212"},multiple:{c1:"#66B4DB",c2:"#E46464",c3:"#EEBA00",c4:"#33A678",c5:"#9D88CB",c6:"#939943",c7:"#E49792",c8:"#09A2B8",c9:"#AF5F6B",c10:"#6CA157",c11:"#3E7CAB",c12:"#6398C7",c13:"#E692BA",c14:"#97B566",c15:"#8CACE2",c16:"#CA79AC",c17:"#6DBC80",c18:"#B08F4B",c19:"#39BFA2",c20:"#826BAF"}}};function Ld(){we.registerTheme("merico-light",{color:Object.values(Tt.graphics.multiple),visualMap:{color:Object.values(Tt.graphics.depth).reverse()},axes:[{type:"all",name:"通用坐标轴",axisLineColor:"#97999D",axisTickColor:"#97999D",axisLabelShow:!0,axisLabelColor:"#818388",splitLineShow:!0,splitLineColor:["#E0E6F1"]}]})}function ya(){Ld()}function*Bd(t){const e=Tt.graphics[t];if(!e)throw new Error("Invalid palette key provided");const n=Object.values(e);let r=0;for(;;)yield n[r%n.length],r++}function ba(){return{filters:{},context:{}}}function Ms(t){const e=ba();if(!t)return ba();const{filters:n=e.filters,context:r=e.context}=t;return{filters:n,context:r}}class Ce extends m.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const n=()=>{this.setState({error:null})};return s.jsxs(o.Box,{children:[s.jsx(o.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),s.jsx(o.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function qd(t,e={handleError:!0}){return n=>s.jsx(Ce,{...e,children:s.jsx(t,{...n})})}function Od(t,e){return new Function(`return ${t}`)()(e,nt)}function Vd(t,e,n){return Od(t,{context:e,filters:n})}function Nd(t,e){try{return new Function(`return ${t.config.processing.pre}`)()(e,nt)}catch(n){return console.error(n),e}}function Gd(t,e){return new Function(`return ${t.config.processing.post}`)()(e,nt)}function Fd(t,e,n){return t?new Function(`return ${t}`)()(e,nt,n):e}function va(){Gi.use([Su.CanvasRenderer,tt.BarChart,tt.BoxplotChart,tt.CustomChart,tt.FunnelChart,tt.HeatmapChart,tt.LineChart,tt.PieChart,tt.RadarChart,tt.ScatterChart,tt.SunburstChart,bt.CalendarComponent,bt.DataZoomComponent,bt.GridComponent,bt.LegendComponent,bt.TooltipComponent,bt.MarkLineComponent,bt.MarkAreaComponent,bt.VisualMapComponent])}const Nt=t=>y.cloneDeepWith(t,(e,n)=>{if(n!==void 0&&e)return K.toJS(e)}),In={sqlSnippet:new RegExp("(?<=sql_snippets\\.)([^\\?}.]+)","gm"),context:new RegExp("(?<=context\\.)([^\\?}.]+)","gm"),filter:new RegExp("(?<=filters\\.)([^\\?}.]+)","gm")};function Wd(t,e){const n=Fi.decode(e);n!==t&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:t,after:e,v:n}),console.groupEnd())}async function Qd({query:t,name:e,payload:n,additionals:r},i){if(!t.sql)return[];const{type:a,key:l,sql:c,pre_process:u,post_process:d}=t,p=Ss(c,n),h=yd({sql:p,pre_process:u}),f=Fi.encode(h);Wd(h,f);let x=await st.query(i)({type:a,key:l,query:f,...r},{params:{name:e}});return x=bd(d,x,Ms(n)),x}async function Rd({type:t,key:e,configString:n,name:r,additionals:i},a){try{return await st.httpDataSourceQuery(a)({type:t,key:e,query:n,...i},{params:{name:r}})}catch(l){if(ct.isCancel(l))throw l;return console.error(l),l}}async function Is(){try{return(await st.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(t){return console.error(t),[]}}async function _a(){try{return(await st.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(t){return console.error(t),[]}}class ja{constructor(e){$(this,"rootRef");this.rootRef=K.observable({current:e})}async deleteItem(e){K.runInAction(()=>{y.unset(this.rootRef.current,[e])})}getItem(e){const n=this.getValueFromRoot(e);return Promise.resolve(n)}getValueFromRoot(e){return e===null?K.toJS(this.rootRef.current):y.get(this.rootRef.current,[e])}setItem(e,n){if(e===null)if(y.isObject(n))K.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else K.runInAction(()=>{y.set(this.rootRef.current,[e],n)});return Promise.resolve(this.getItem(e))}watchItem(e,n,r){return K.reaction(()=>this.getValueFromRoot(e),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:y.get(r,"fireImmediately",!1)})}}class Ud{constructor(){$(this,"channels",new Map);$(this,"globalChannel",new Wi)}getChannel(e){const n=this.channels.get(e);if(n)return n;const r=new Wi;return this.channels.set(e,r),r}}class Yd{constructor(e){$(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const n=this.instances.get(e.id);if(n)return n;const r={id:e.id,name:e.viz.type,type:e.viz.type,messageChannels:new Ud,instanceData:new ja(e.viz.conf)};return this.instances.set(e.id,r),r}}function wa(t,e,n,r){return{vizManager:n,locale:"zh",msgChannels:t.messageChannels,instanceData:t.instanceData,pluginData:new ja({}),colorPalette:{getColor(){return()=>""}},data:e,variables:r}}const Kd=t=>{const{panel:e,measure:n,vizManager:r,data:i,variables:a}=t,l=r.resolveComponent(e.viz.type),c=r.getOrCreateInstance(e),u={...wa(c,i,r,a),viewport:{width:n.w,height:n.h}},d=l.viewRender;return s.jsx(d,{context:u,instance:c,...y.omit(t,["panel","vizManager","data"])})},Jd=t=>{const{vizManager:e,panel:n,data:r,variables:i}=t,a=e.resolveComponent(n.viz.type),l=e.getOrCreateInstance(n),c={...wa(l,r,e,i)},u=a.configRender;return s.jsx(u,{context:c,instance:l,...y.omit(t,["panel","vizManager","data"])})},Ca=(t,e)=>{const n=ut.bezier(t),r=ut.bezier(e);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},En=t=>{const e=ut.bezier(t);return function(n){return e(n/100).hex()}},Xd={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:Ca(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Zd={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:Ca(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Hd={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:En(["#fff7f1","darkred"]),name:"red",category:"sequential"},ep={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:En(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},tp={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:En(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},np={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:En(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class sp{constructor(e){$(this,"symbol");this.symbol=Symbol(e)}}function pt(t){return new sp(t)}class Es{constructor(){$(this,"parent");$(this,"factoryRegistry",new Map);$(this,"instanceRegistry",new Map)}createScoped(){const e=new Es;return e.parent=this,e}getRequired(e){return this.get(e)}get(e){if(this.instanceRegistry.has(e.symbol))return this.instanceRegistry.get(e.symbol);const n=this.factoryRegistry.get(e.symbol);if(n){const r=n(this);return this.instanceRegistry.set(e.symbol,r),r}if(this.parent)return this.parent.get(e)}provideFactory(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,n),this}provideValue(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(e=>{const n=y.get(e,"dispose");y.isFunction(n)&&n.bind(e)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const Sa="13.10.1",rp=Object.freeze(Object.defineProperty({__proto__:null,version:Sa},Symbol.toStringTag,{value:"Module"}));class ip{constructor(e){$(this,"staticColors",new Map);$(this,"interpolations",new Map);e.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(e){const n=this.encodeColor(e);e.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.staticColors.set(n,e)):e.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`,`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.interpolations.set(n,e))}decodeStaticColor(e){return this.staticColors.get(e)}encodeColor(e){return`\${${e.category}}.{${e.name}}`}decodeInterpolation(e){return this.interpolations.get(e)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class ap{constructor(){$(this,"plugins",new Map);$(this,"vizComponents",new Map);$(this,"factory",{viz:e=>{const n=this.vizComponents.get(e);if(n)return n;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const n of e.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class op{constructor(){$(this,"migrations",[])}version(e,n){return this.migrations.push({version:e,handler:n}),this}run(e,n,r){var l;if(e.from===e.to)return n;if(e.from>e.to)throw new Error(`Can not downgrade from version '${e.from}' to (${e.to})`);const i=this.migrations.filter(c=>c.version>e.from&&c.version<=e.to),a=y.orderBy(i,"version","asc");if(((l=y.last(a))==null?void 0:l.version)!==e.to)throw new Error(`Migration to version ${e.to} not found`);return a.reduce((c,u)=>u.handler(c,r),n)}}class oe extends op{constructor(){super(),this.configVersions()}version(e,n){return super.version(e,(r,i)=>({version:e,...n(r,i)}))}async migrate({configData:e,panelModel:n}){const r=await e.getItem(null),i=y.get(r,"version",0),a=this.run({from:i,to:this.VERSION},r,{panelModel:n});await e.setItem(null,a)}async needMigration({configData:e}){const n=await e.getItem(null);return y.get(n,"version",0)<this.VERSION}}const O=(t,e)=>{const[n,{setFalse:r}]=N.useBoolean(!0),[i,a]=m.useState();m.useEffect(()=>(t.getItem(e).then(c=>{a(c),r()}),t.watchItem(e,c=>{a(c)})));const l=m.useCallback(async c=>{await t.setItem(e,c),a(c)},[t,e]);return{loading:n,value:i,set:l}},Me={top:16,right:16,bottom:16,left:16},Je=t=>Math.max(0,t-Me.left-Me.right),Xe=t=>Math.max(0,t-Me.top-Me.bottom),cn=(t,e)=>({width:Je(t),height:Xe(e)}),Ie=({width:t,height:e,children:n})=>s.jsx(o.Box,{pt:Me.top,pr:Me.right,pb:Me.bottom,pl:Me.left,sx:{width:t,height:e,overflow:"hidden",position:"relative"},children:n}),As={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 lp({context:t}){const{value:e}=O(t.instanceData,"config"),n=t.data,{width:r,height:i}=t.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=y.defaults({},e,As),h=m.useMemo(()=>Tn(n,a),[n,a]),{x:f,y:x,z:v}=m.useMemo(()=>({x:E(a),y:E(l),z:E(c)}),[a,l,c]),{min:w,max:T}=m.useMemo(()=>{const I=y.minBy(h,F=>F[v.columnKey]),A=y.maxBy(h,F=>F[v.columnKey]);return{min:y.get(I,v.columnKey),max:y.get(A,v.columnKey)}},[h,v]),D={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:w,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[f.columnKey],I[x.columnKey],I[v.columnKey]])}]};return e?s.jsx(Ie,{width:r,height:i,children:s.jsx(Te,{echarts:we,option:D,style:cn(r,i),notMerge:!0,theme:"merico-light"})}):null}const ka=m.createContext(null),Ps=ka.Provider;function $s(){const t=m.useContext(ka);if(!t)throw new Error("Please use DashboardModelContextProvider");return t}const Z=()=>$s(),Ta=()=>$s(),Da=m.createContext({searchButtonProps:{}}),Ls=Da.Provider;function za(){return m.useContext(Da)}const Ma=m.createContext(null),Bs=Ma.Provider;function Ia(){const t=m.useContext(Ma);if(!t)throw new Error("Please use ContentModelContextProvider");return t}const U=()=>Ia(),pe=()=>Ia(),cp={inEditMode:!1},An=m.createContext(cp),Ea=m.createContext({panel:null,data:{},loading:!1,errors:[],downloadPanelScreenshot:()=>{}}),qs=Ea.Provider;function Aa(){const t=m.useContext(Ea);if(!t.panel)throw new Error("Please use PanelContextProvider");return t}const ht=()=>Aa(),Be=()=>Aa(),up={fullScreenPanelID:"",setFullScreenPanelID:y.noop},Os=m.createContext(up);function Pa(){const t=m.useContext(Os);if(!t)throw new Error("Please use FullScreenPanelContext.Provider");return t}const dp={en:"en",zh:"zh-cn"};function Vs({children:t}){const{i18n:e}=_.useTranslation(),n=m.useMemo(()=>{const r=e.language;return dp[r]??"en"},[e.language]);return s.jsx(Qi.DatesProvider,{settings:{locale:n,firstDayOfWeek:1},children:t})}const q=S.observer(m.forwardRef(({label:t,required:e,description:n,value:r,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Be(),h=m.useMemo(()=>p.dataFieldOptions(r,l,a),[r,l,a]);if(h.length===0){const f=p.explainDataKey(r);return s.jsxs(o.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[s.jsx(o.HoverCard.Target,{children:s.jsx(o.Box,{children:s.jsx(o.TextInput,{label:t,required:e,defaultValue:f.columnKey,readOnly:!0,disabled:!0})})}),s.jsx(o.HoverCard.Dropdown,{children:s.jsxs(o.Group,{position:"left",spacing:0,children:[s.jsx(o.Text,{size:"xs",color:f.queryName?"black":"red",sx:{fontFamily:"monospace"},children:f.queryName??f.queryID}),s.jsx(o.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),s.jsx(o.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:f.columnKey})]})})]})}return s.jsx(o.Select,{ref:d,label:t,description:n,data:h,value:r,onChange:i,required:e,sx:c,maxDropdownHeight:500,...u})}));function pp({context:t}){const{value:e,set:n}=O(t.instanceData,"config"),r=y.defaults({},e,As),{control:i,handleSubmit:a,reset:l}=b.useForm({defaultValues:r});return m.useEffect(()=>{l(r)},[e]),e?s.jsx(o.Stack,{spacing:"xs",children:s.jsxs("form",{onSubmit:a(n),children:[s.jsx(o.Text,{children:"X Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Text,{mt:"lg",children:"Y Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Text,{mt:"lg",children:"Z Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:s.jsxs(o.Button,{color:"blue",type:"submit",children:[s.jsx(L.DeviceFloppy,{size:20}),s.jsx(o.Text,{ml:"md",children:"Save"})]})})]})}):null}const hp=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function mp(t,{panelModel:e}){try{const n=e.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const r=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:a,z_axis_data_key:l,...c}=t;return{...c,x_axis_data_key:r(i),y_axis_data_key:r(a),z_axis_data_key:r(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class gp extends oe{constructor(){super(...arguments);$(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,r)=>{const{config:i}=n;return{...n,version:2,config:mp(i,r)}})}}const fp={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new gp,name:"bar-3d",viewRender:lp,configRender:pp,createConfig(){return{version:2,config:y.cloneDeep(As)}},translation:hp},xp=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(o.Box,{sx:{position:"relative"},children:[t&&s.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx($e,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})};function Ee({enabled:t,func_content:e}){return(n,r)=>{if(!t)return n;try{return new Function(`return ${e}`)()(n,r)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function Se(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
56
+ `,"<br/>").split("<br/>");return n.map((i,a)=>{const l=[Ad(i)];return a!==n.length-1&&l.push(s.jsx("br",{},`br-${a}`)),l}).flat().filter(i=>i!==void 0)}function zs(t){return Pd(t)}function ln(t,e,n){const r=Ed(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map((a,l)=>{const c=i.exec(a);if(!c)return zs(a);const u=r[c[1]];if(!u)return zs(a);const d=c[2]??"";return s.jsxs(m.Fragment,{children:[u,zs(d)]},`${a}-${l}`)})}function $d(t,e){const{data_field:n,aggregation:r}=t,i=zn(e,n,r);return Le(t,i)}function xa(t,e){const n={};return t.forEach(r=>{n[r.name]=$d(r,e)}),n}function Mn(t,e,n){const r=xa(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map(a=>{const l=i.exec(a);if(!l)return a;const c=r[l[1]];if(!c)return a;const u=l[2]??"";return`${c}${u}`}).join("")}const Tt={grid:{axis:"#97999D",scope:"rgba(47,140,192,0.1)",boundary:"#789AB4",reference:"#CFCFD8"},graphics:{compared:{blueDark:"#3E7CAB",blue:"#6398C7",blueLight:"#7CB0DF",blue10:"#6398C71a",redDark:"#AF5F6B",red:"#CD7C88",redLight:"#E794A0",red10:"#CD7C881a"},gradient:{distributed:"linear-gradient(90deg, #1babe6 0%, #2fc8c8 28.63%, #98d44b 48.86%, #ffd057 67.53%, #f5ae53 80.6%, #e76441 91.18%, #b90000 100%)",protrude:"linear-gradient(180deg, #ec73734d 0%, #ec737300 100%)"},level:{lv0:"#6398C7",lv1:"#61B5BF",lv2:"#54D4BB",lv3:"#F5D277",lv4:"#E8BB7F",lv5:"#DB9E84",lv6:"#CB8089"},depth:{dp0:"#FFF7F8",dp1:"#FFE1E1",dp2:"#FDBCBC",dp3:"#F39494",dp4:"#FA4242",dp5:"#E21212"},multiple:{c1:"#66B4DB",c2:"#E46464",c3:"#EEBA00",c4:"#33A678",c5:"#9D88CB",c6:"#939943",c7:"#E49792",c8:"#09A2B8",c9:"#AF5F6B",c10:"#6CA157",c11:"#3E7CAB",c12:"#6398C7",c13:"#E692BA",c14:"#97B566",c15:"#8CACE2",c16:"#CA79AC",c17:"#6DBC80",c18:"#B08F4B",c19:"#39BFA2",c20:"#826BAF"}}};function Ld(){we.registerTheme("merico-light",{color:Object.values(Tt.graphics.multiple),visualMap:{color:Object.values(Tt.graphics.depth).reverse()},axes:[{type:"all",name:"通用坐标轴",axisLineColor:"#97999D",axisTickColor:"#97999D",axisLabelShow:!0,axisLabelColor:"#818388",splitLineShow:!0,splitLineColor:["#E0E6F1"]}]})}function ya(){Ld()}function*Bd(t){const e=Tt.graphics[t];if(!e)throw new Error("Invalid palette key provided");const n=Object.values(e);let r=0;for(;;)yield n[r%n.length],r++}function ba(){return{filters:{},context:{}}}function Ms(t){const e=ba();if(!t)return ba();const{filters:n=e.filters,context:r=e.context}=t;return{filters:n,context:r}}class Ce extends m.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const n=()=>{this.setState({error:null})};return s.jsxs(o.Box,{children:[s.jsx(o.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),s.jsx(o.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function qd(t,e={handleError:!0}){return n=>s.jsx(Ce,{...e,children:s.jsx(t,{...n})})}function Od(t,e){return new Function(`return ${t}`)()(e,nt)}function Vd(t,e,n){return Od(t,{context:e,filters:n})}function Nd(t,e){try{return new Function(`return ${t.config.processing.pre}`)()(e,nt)}catch(n){return console.error(n),e}}function Gd(t,e){return new Function(`return ${t.config.processing.post}`)()(e,nt)}function Fd(t,e,n){return t?new Function(`return ${t}`)()(e,nt,n):e}function va(){Gi.use([Su.CanvasRenderer,tt.BarChart,tt.BoxplotChart,tt.CustomChart,tt.FunnelChart,tt.HeatmapChart,tt.LineChart,tt.PieChart,tt.RadarChart,tt.ScatterChart,tt.SunburstChart,bt.CalendarComponent,bt.DataZoomComponent,bt.GridComponent,bt.LegendComponent,bt.TooltipComponent,bt.MarkLineComponent,bt.MarkAreaComponent,bt.VisualMapComponent])}const Nt=t=>y.cloneDeepWith(t,(e,n)=>{if(n!==void 0&&e)return K.toJS(e)}),In={sqlSnippet:new RegExp("(?<=sql_snippets\\.)([^\\?}.]+)","gm"),context:new RegExp("(?<=context\\.)([^\\?}.]+)","gm"),filter:new RegExp("(?<=filters\\.)([^\\?}.]+)","gm")};function Wd(t,e){const n=Fi.decode(e);n!==t&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:t,after:e,v:n}),console.groupEnd())}async function Qd({query:t,name:e,payload:n,additionals:r},i){if(!t.sql)return[];const{type:a,key:l,sql:c,pre_process:u,post_process:d}=t,p=Ss(c,n),h=yd({sql:p,pre_process:u}),f=Fi.encode(h);Wd(h,f);let x=await st.query(i)({type:a,key:l,query:f,...r},{params:{name:e}});return x=bd(d,x,Ms(n)),x}async function Rd({type:t,key:e,configString:n,name:r,additionals:i},a){try{return await st.httpDataSourceQuery(a)({type:t,key:e,query:n,...i},{params:{name:r}})}catch(l){if(ct.isCancel(l))throw l;return console.error(l),l}}async function Is(){try{return(await st.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(t){return console.error(t),[]}}async function _a(){try{return(await st.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(t){return console.error(t),[]}}class ja{constructor(e){$(this,"rootRef");this.rootRef=K.observable({current:e})}async deleteItem(e){K.runInAction(()=>{y.unset(this.rootRef.current,[e])})}getItem(e){const n=this.getValueFromRoot(e);return Promise.resolve(n)}getValueFromRoot(e){return e===null?K.toJS(this.rootRef.current):y.get(this.rootRef.current,[e])}setItem(e,n){if(e===null)if(y.isObject(n))K.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else K.runInAction(()=>{y.set(this.rootRef.current,[e],n)});return Promise.resolve(this.getItem(e))}watchItem(e,n,r){return K.reaction(()=>this.getValueFromRoot(e),(i,a)=>{n(i,a)},{requiresObservable:!0,fireImmediately:y.get(r,"fireImmediately",!1)})}}class Ud{constructor(){$(this,"channels",new Map);$(this,"globalChannel",new Wi)}getChannel(e){const n=this.channels.get(e);if(n)return n;const r=new Wi;return this.channels.set(e,r),r}}class Yd{constructor(e){$(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const n=this.instances.get(e.id);if(n)return n;const r={id:e.id,name:e.viz.type,type:e.viz.type,messageChannels:new Ud,instanceData:new ja(e.viz.conf)};return this.instances.set(e.id,r),r}}function wa(t,e,n,r){return{vizManager:n,locale:"zh",msgChannels:t.messageChannels,instanceData:t.instanceData,pluginData:new ja({}),colorPalette:{getColor(){return()=>""}},data:e,variables:r}}const Kd=t=>{const{panel:e,measure:n,vizManager:r,data:i,variables:a}=t,l=r.resolveComponent(e.viz.type),c=r.getOrCreateInstance(e),u={...wa(c,i,r,a),viewport:{width:n.w,height:n.h}},d=l.viewRender;return s.jsx(d,{context:u,instance:c,...y.omit(t,["panel","vizManager","data"])})},Jd=t=>{const{vizManager:e,panel:n,data:r,variables:i}=t,a=e.resolveComponent(n.viz.type),l=e.getOrCreateInstance(n),c={...wa(l,r,e,i)},u=a.configRender;return s.jsx(u,{context:c,instance:l,...y.omit(t,["panel","vizManager","data"])})},Ca=(t,e)=>{const n=ut.bezier(t),r=ut.bezier(e);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},En=t=>{const e=ut.bezier(t);return function(n){return e(n/100).hex()}},Xd={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:Ca(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Zd={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:Ca(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Hd={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:En(["#fff7f1","darkred"]),name:"red",category:"sequential"},ep={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:En(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},tp={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:En(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},np={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:En(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class sp{constructor(e){$(this,"symbol");this.symbol=Symbol(e)}}function pt(t){return new sp(t)}class Es{constructor(){$(this,"parent");$(this,"factoryRegistry",new Map);$(this,"instanceRegistry",new Map)}createScoped(){const e=new Es;return e.parent=this,e}getRequired(e){return this.get(e)}get(e){if(this.instanceRegistry.has(e.symbol))return this.instanceRegistry.get(e.symbol);const n=this.factoryRegistry.get(e.symbol);if(n){const r=n(this);return this.instanceRegistry.set(e.symbol,r),r}if(this.parent)return this.parent.get(e)}provideFactory(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,n),this}provideValue(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(e=>{const n=y.get(e,"dispose");y.isFunction(n)&&n.bind(e)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const Sa="13.10.2",rp=Object.freeze(Object.defineProperty({__proto__:null,version:Sa},Symbol.toStringTag,{value:"Module"}));class ip{constructor(e){$(this,"staticColors",new Map);$(this,"interpolations",new Map);e.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(e){const n=this.encodeColor(e);e.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.staticColors.set(n,e)):e.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`,`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.interpolations.set(n,e))}decodeStaticColor(e){return this.staticColors.get(e)}encodeColor(e){return`\${${e.category}}.{${e.name}}`}decodeInterpolation(e){return this.interpolations.get(e)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class ap{constructor(){$(this,"plugins",new Map);$(this,"vizComponents",new Map);$(this,"factory",{viz:e=>{const n=this.vizComponents.get(e);if(n)return n;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const n of e.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class op{constructor(){$(this,"migrations",[])}version(e,n){return this.migrations.push({version:e,handler:n}),this}run(e,n,r){var l;if(e.from===e.to)return n;if(e.from>e.to)throw new Error(`Can not downgrade from version '${e.from}' to (${e.to})`);const i=this.migrations.filter(c=>c.version>e.from&&c.version<=e.to),a=y.orderBy(i,"version","asc");if(((l=y.last(a))==null?void 0:l.version)!==e.to)throw new Error(`Migration to version ${e.to} not found`);return a.reduce((c,u)=>u.handler(c,r),n)}}class oe extends op{constructor(){super(),this.configVersions()}version(e,n){return super.version(e,(r,i)=>({version:e,...n(r,i)}))}async migrate({configData:e,panelModel:n}){const r=await e.getItem(null),i=y.get(r,"version",0),a=this.run({from:i,to:this.VERSION},r,{panelModel:n});await e.setItem(null,a)}async needMigration({configData:e}){const n=await e.getItem(null);return y.get(n,"version",0)<this.VERSION}}const O=(t,e)=>{const[n,{setFalse:r}]=N.useBoolean(!0),[i,a]=m.useState();m.useEffect(()=>(t.getItem(e).then(c=>{a(c),r()}),t.watchItem(e,c=>{a(c)})));const l=m.useCallback(async c=>{await t.setItem(e,c),a(c)},[t,e]);return{loading:n,value:i,set:l}},Me={top:16,right:16,bottom:16,left:16},Je=t=>Math.max(0,t-Me.left-Me.right),Xe=t=>Math.max(0,t-Me.top-Me.bottom),cn=(t,e)=>({width:Je(t),height:Xe(e)}),Ie=({width:t,height:e,children:n})=>s.jsx(o.Box,{pt:Me.top,pr:Me.right,pb:Me.bottom,pl:Me.left,sx:{width:t,height:e,overflow:"hidden",position:"relative"},children:n}),As={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 lp({context:t}){const{value:e}=O(t.instanceData,"config"),n=t.data,{width:r,height:i}=t.viewport,{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=y.defaults({},e,As),h=m.useMemo(()=>Tn(n,a),[n,a]),{x:f,y:x,z:v}=m.useMemo(()=>({x:E(a),y:E(l),z:E(c)}),[a,l,c]),{min:w,max:T}=m.useMemo(()=>{const I=y.minBy(h,F=>F[v.columnKey]),A=y.maxBy(h,F=>F[v.columnKey]);return{min:y.get(I,v.columnKey),max:y.get(A,v.columnKey)}},[h,v]),D={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:w,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[f.columnKey],I[x.columnKey],I[v.columnKey]])}]};return e?s.jsx(Ie,{width:r,height:i,children:s.jsx(Te,{echarts:we,option:D,style:cn(r,i),notMerge:!0,theme:"merico-light"})}):null}const ka=m.createContext(null),Ps=ka.Provider;function $s(){const t=m.useContext(ka);if(!t)throw new Error("Please use DashboardModelContextProvider");return t}const Z=()=>$s(),Ta=()=>$s(),Da=m.createContext({searchButtonProps:{}}),Ls=Da.Provider;function za(){return m.useContext(Da)}const Ma=m.createContext(null),Bs=Ma.Provider;function Ia(){const t=m.useContext(Ma);if(!t)throw new Error("Please use ContentModelContextProvider");return t}const U=()=>Ia(),pe=()=>Ia(),cp={inEditMode:!1},An=m.createContext(cp),Ea=m.createContext({panel:null,data:{},loading:!1,errors:[],downloadPanelScreenshot:()=>{}}),qs=Ea.Provider;function Aa(){const t=m.useContext(Ea);if(!t.panel)throw new Error("Please use PanelContextProvider");return t}const ht=()=>Aa(),Be=()=>Aa(),up={fullScreenPanelID:"",setFullScreenPanelID:y.noop},Os=m.createContext(up);function Pa(){const t=m.useContext(Os);if(!t)throw new Error("Please use FullScreenPanelContext.Provider");return t}const dp={en:"en",zh:"zh-cn"};function Vs({children:t}){const{i18n:e}=_.useTranslation(),n=m.useMemo(()=>{const r=e.language;return dp[r]??"en"},[e.language]);return s.jsx(Qi.DatesProvider,{settings:{locale:n,firstDayOfWeek:1},children:t})}const q=S.observer(m.forwardRef(({label:t,required:e,description:n,value:r,onChange:i,queryID:a,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Be(),h=m.useMemo(()=>p.dataFieldOptions(r,l,a),[r,l,a]);if(h.length===0){const f=p.explainDataKey(r);return s.jsxs(o.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[s.jsx(o.HoverCard.Target,{children:s.jsx(o.Box,{children:s.jsx(o.TextInput,{label:t,required:e,defaultValue:f.columnKey,readOnly:!0,disabled:!0})})}),s.jsx(o.HoverCard.Dropdown,{children:s.jsxs(o.Group,{position:"left",spacing:0,children:[s.jsx(o.Text,{size:"xs",color:f.queryName?"black":"red",sx:{fontFamily:"monospace"},children:f.queryName??f.queryID}),s.jsx(o.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),s.jsx(o.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:f.columnKey})]})})]})}return s.jsx(o.Select,{ref:d,label:t,description:n,data:h,value:r,onChange:i,required:e,sx:c,maxDropdownHeight:500,...u})}));function pp({context:t}){const{value:e,set:n}=O(t.instanceData,"config"),r=y.defaults({},e,As),{control:i,handleSubmit:a,reset:l}=b.useForm({defaultValues:r});return m.useEffect(()=>{l(r)},[e]),e?s.jsx(o.Stack,{spacing:"xs",children:s.jsxs("form",{onSubmit:a(n),children:[s.jsx(o.Text,{children:"X Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Text,{mt:"lg",children:"Y Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Text,{mt:"lg",children:"Z Axis"}),s.jsxs(o.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>s.jsx(o.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(o.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:s.jsxs(o.Button,{color:"blue",type:"submit",children:[s.jsx(L.DeviceFloppy,{size:20}),s.jsx(o.Text,{ml:"md",children:"Save"})]})})]})}):null}const hp=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function mp(t,{panelModel:e}){try{const n=e.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const r=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:a,z_axis_data_key:l,...c}=t;return{...c,x_axis_data_key:r(i),y_axis_data_key:r(a),z_axis_data_key:r(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class gp extends oe{constructor(){super(...arguments);$(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,r)=>{const{config:i}=n;return{...n,version:2,config:mp(i,r)}})}}const fp={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new gp,name:"bar-3d",viewRender:lp,configRender:pp,createConfig(){return{version:2,config:y.cloneDeep(As)}},translation:hp},xp=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(o.Box,{sx:{position:"relative"},children:[t&&s.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx($e,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})};function Ee({enabled:t,func_content:e}){return(n,r)=>{if(!t)return n;try{return new Function(`return ${e}`)()(n,r)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function Se(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
57
57
  `)}}const Ze=m.forwardRef(({value:t,onChange:e,triggerButtonText:n},r)=>{const{t:i}=_.useTranslation(),[a,{setTrue:l,setFalse:c}]=N.useBoolean(),[u,d]=m.useState(t);m.useEffect(()=>{d(t)},[t]);const p=T=>{d({...u,enabled:T})},h=()=>{c();const{enabled:T,func_content:D}=u,I={enabled:T,func_content:D};d(I),e(I)},f=()=>{c(),d(t)},x=T=>{d(D=>({...D,func_content:T}))},v=()=>{x(Se().func_content)},w=n??i("chart.axis.customize_label");return s.jsxs(s.Fragment,{children:[s.jsx(o.Button,{variant:"filled",color:"grape",leftIcon:s.jsx(k.IconMathFunction,{size:16}),mt:24,onClick:l,sx:{flexGrow:0},children:w}),s.jsx(o.Modal,{size:800,title:w,opened:a,onClose:c,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:a&&s.jsxs(o.Stack,{children:[s.jsx(o.Checkbox,{mt:10,label:i("common.enabled"),checked:u.enabled,onChange:T=>p(T.currentTarget.checked)}),s.jsx(xp,{value:u.func_content,onChange:x,disabled:!u.enabled}),s.jsxs(o.Group,{position:"apart",children:[s.jsx(o.Button,{onClick:v,color:"red",leftIcon:s.jsx(L.Recycle,{size:20}),children:i("common.actions.reset_to_default")}),s.jsxs(o.Group,{position:"right",children:[s.jsx(o.Button,{onClick:f,variant:"subtle",children:i("common.actions.cancel")}),s.jsx(o.Button,{color:"green",leftIcon:s.jsx(k.IconDeviceFloppy,{size:16}),onClick:h,children:i("common.actions.save")})]})]})]})})]})}),Dt={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1};function $a(){return y.cloneDeep(Dt)}const yp=[{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:"点击箱体、散点或异常点"}}}}],La={id:"builtin:echarts:click-echart:series",displayName:"viz.boxplot.click_series.label",nameRender:vp,configRender:bp,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 bp(t){return s.jsx(s.Fragment,{})}function vp(t){const{t:e}=_.useTranslation();return s.jsx(o.Text,{children:e("viz.boxplot.click_series.label")})}const Pn=m.forwardRef(({sectionTitle:t,value:e,onChange:n},r)=>{const{t:i,i18n:a}=_.useTranslation(),l=u=>d=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)},c=m.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 s.jsxs(o.Stack,{spacing:0,children:[t&&s.jsx(o.Divider,{mb:-5,mt:5,variant:"dotted",label:t,labelPosition:"right",labelProps:{color:"dimmed"}}),s.jsxs(o.Group,{grow:!0,noWrap:!0,children:[s.jsx(o.NumberInput,{label:i("chart.axis.overflow.max_width"),hideControls:!0,value:e.width,onChange:l("width")}),s.jsx(o.Select,{label:i("chart.axis.overflow.label"),data:c,value:e.overflow,onChange:l("overflow")}),s.jsx(o.TextInput,{label:i("chart.axis.overflow.ellipsis"),value:e.ellipsis,disabled:!0})]})]})}),He=m.forwardRef(({value:t,onChange:e},n)=>{const{t:r}=_.useTranslation(),i=l=>{e({...t,on_axis:l})},a=l=>{e({...t,in_tooltip:l})};return s.jsxs(o.Stack,{ref:n,spacing:0,children:[s.jsx(Pn,{sectionTitle:r("chart.axis.overflow.section_title.on_axis"),value:t.on_axis,onChange:i}),s.jsx(Pn,{sectionTitle:r("chart.axis.overflow.section_title.in_tooltip"),value:t.in_tooltip,onChange:a})]})});function Ae(){return{on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}}}function We({overflow:t,width:e}){const n={truncate:"initial",break:"break-all",breakAll:"break-word"}[t],r=t==="truncate"?"nowrap":"initial",i={truncate:"ellipsis",break:"clip",breakAll:"clip"}[t];return`
58
58
  max-width: ${e}px;
59
59
  word-break: ${n};
@@ -479,4 +479,4 @@ WHERE
479
479
  `)},$1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation();return t.typedAsHTTP?s.jsxs(o.Tabs,{defaultValue:"pre_process",orientation:"vertical",sx:{flexGrow:1},children:[s.jsxs(o.Tabs.List,{children:[s.jsx(o.Tabs.Tab,{value:"pre_process",children:e("query.build_request")}),s.jsx(o.Tabs.Tab,{value:"post_process",children:e("query.process_result")}),s.jsx(Mi,{})]}),s.jsx(o.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s.jsx(Rt,{label:"",value:t.pre_process,onChange:t.setPreProcess,defaultValue:Kc.pre})}),s.jsx(o.Tabs.Panel,{value:"post_process",p:"sm",children:s.jsx(Rt,{label:"",value:t.post_process,onChange:t.setPostProcess,defaultValue:Kc.post})})]}):null}),L1=S.observer(({queryID:t,usage:e})=>{const{t:n}=_.useTranslation(),r=Z().editor,i=l=>{if(l.type==="filter"){r.setPath(["_FILTERS_",l.id]);return}if(l.type==="panel"){const c=l.views[0].id;r.setPath(["_VIEWS_",c,"_PANELS_",l.id]);return}},a=l=>{r.setPath(["_VIEWS_",l])};return s.jsx(o.Stack,{py:"sm",px:"md",children:s.jsxs(o.Table,{highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:100},children:n("common.type")}),s.jsx("th",{style:{width:"calc(50% - 50px)"},children:n("common.name")}),s.jsx("th",{children:n("query.usage.in_views")})]})}),s.jsx("tbody",{children:e.map(l=>s.jsxs("tr",{children:[s.jsx("td",{children:n(l.type_label)}),s.jsx("td",{children:s.jsx(o.Anchor,{component:"button",type:"button",onClick:()=>i(l),children:l.label})}),s.jsx("td",{children:s.jsxs(o.Stack,{align:"flex-start",justify:"flex-start",spacing:2,children:[l.views.map(c=>s.jsx(o.Anchor,{component:"button",type:"button",onClick:()=>a(c.id),children:s.jsx(o.Box,{children:c.label})},c.id)),l.views.length===0&&s.jsx(o.Box,{children:"--"})]})})]},l.id))})]})})}),Ii=({value:t,onChange:e,height:n="200px",defaultLanguage:r="sql",theme:i="vs-dark"})=>{const a=c=>{e==null||e(c??"")},l=!e;return s.jsx($e,{className:"minimal-monaco-editor",height:n,defaultLanguage:r,value:t,onChange:l?void 0:a,theme:i,options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:l||!e,"semanticHighlighting.enabled":!0}})},B1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),n=m.useMemo(()=>y.groupBy(t.dependencies,"type"),[t.dependencies]),r=m.useMemo(()=>t.dependencies.some(a=>!a.valid),[t.dependencies]),i=t.dependencies.length>0;return i?s.jsxs(o.HoverCard,{withinPortal:!0,zIndex:340,shadow:"md",disabled:!i,children:[s.jsx(o.HoverCard.Target,{children:s.jsx(o.Button,{size:"xs",variant:"subtle",color:r?"red":"green",disabled:!i,leftIcon:r?s.jsx(k.IconAlertTriangle,{size:16}):s.jsx(k.IconDiscountCheckFilled,{size:16}),children:e("query.dependency.label")})}),s.jsx(o.HoverCard.Dropdown,{children:s.jsx(o.List,{spacing:"md",size:14,listStyleType:"none",children:Object.entries(n).map(([a,l])=>s.jsxs(o.List.Item,{children:[s.jsx(o.Text,{fw:"bold",ff:"monospace",children:e(`${a}.label`)}),s.jsx(o.List,{withPadding:!0,size:14,sx:{fontFamily:"monospace",svg:{verticalAlign:"middle"}},children:l.map(c=>s.jsx(o.List.Item,{icon:s.jsx(o.Box,{sx:{path:{fill:c.valid?"rgb(18, 184, 134)":"rgb(250, 82, 82)"}},children:s.jsx(k.IconPointFilled,{size:12})}),children:c.key},c.key))})]},a))})})]}):s.jsx(o.Tooltip,{label:e("query.dependency.has_none"),children:s.jsx(o.Button,{size:"xs",variant:"subtle",color:"gray",leftIcon:s.jsx(k.IconHierarchy,{size:16,style:{transform:"rotate(180deg)"}}),sx:{transform:"none !important"},children:e("query.dependency.label")})})}),q1="SELECT 1",O1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),[n,r]=m.useState(t.sql),i=()=>{t.setSQL(n)},a=()=>{r(t.sql)},l=()=>{r(q1)};m.useEffect(()=>{r(t.sql)},[t.sql]);const c=n!==t.sql;return s.jsxs(o.Stack,{spacing:4,sx:{height:"100%"},children:[s.jsxs(o.Group,{mb:6,position:"apart",sx:{flexShrink:0,flexGrow:0},children:[s.jsx(o.Group,{position:"left",children:s.jsx(B1,{queryModel:t})}),s.jsxs(o.Group,{position:"right",children:[s.jsx(o.Button,{onClick:l,size:"xs",variant:"default",leftIcon:s.jsx(k.IconPlayerSkipBack,{size:16}),children:e("common.actions.reset_to_default")}),s.jsx(o.Button,{onClick:a,color:"red",size:"xs",disabled:!c,leftIcon:s.jsx(k.IconRecycle,{size:16}),children:e("common.actions.revert_changes")}),s.jsx(o.Button,{color:"green",size:"xs",onClick:i,disabled:!c,leftIcon:s.jsx(k.IconDeviceFloppy,{size:16}),children:e("common.actions.save_changes")})]})]}),s.jsx(Ii,{height:"100%",value:n,onChange:r,theme:"sql-dark",defaultLanguage:"sql"})]})}),V1=({value:t,height:e="200px",defaultLanguage:n="sql"})=>s.jsx($e,{className:"preview-sql-in-monaco-editor",height:e,defaultLanguage:n,value:t,onChange:void 0,theme:"vs-light",options:{lineNumbers:"on",folding:!0,lineDecorationsWidth:20,wordWrap:"on",minimap:{enabled:!1},readOnly:!0}}),N1=S.observer(({value:t})=>{const n=pe().payloadForSQL,r=m.useMemo(()=>ks(t,n),[t,n]);return s.jsx(V1,{height:"100%",value:r})}),Jc={pre:["function process_request({ context, filters, sql }, utils) {"," // modify and return sql"," return sql","}"].join(`
480
480
  `),post:["function process_result(data, utils, state) {"," // process data and return the result"," return data","}"].join(`
481
481
  `)},G1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation();return t.typedAsSQL?s.jsxs(o.Tabs,{defaultValue:"Edit",orientation:"vertical",sx:{flexGrow:1},styles:{tabLabel:{width:"100%",height:"28px",lineHeight:"28px"}},keepMounted:!1,children:[s.jsxs(o.Tabs.List,{children:[s.jsx(o.Tabs.Tab,{value:"Edit",children:s.jsx(o.Group,{spacing:14,position:"apart",children:e("query.edit_sql")})}),s.jsx(o.Tabs.Tab,{value:"Preview",children:e("query.preview_sql")}),s.jsx(o.Tabs.Tab,{value:"pre_process",children:e("query.process_request")}),s.jsx(o.Tabs.Tab,{value:"post_process",children:e("query.process_result")}),s.jsx(Mi,{}),t.datasource&&s.jsx(Rc,{dataSource:t.datasource})]}),s.jsx(o.Tabs.Panel,{value:"Edit",sx:{position:"relative"},p:"sm",children:s.jsx(O1,{queryModel:t})}),s.jsx(o.Tabs.Panel,{value:"Preview",p:0,pl:4,children:s.jsx(N1,{value:t.sql})}),s.jsx(o.Tabs.Panel,{value:"pre_process",sx:{position:"relative"},p:"sm",children:s.jsx(Rt,{label:"",value:t.pre_process,onChange:t.setPreProcess,defaultValue:Jc.pre})}),s.jsx(o.Tabs.Panel,{value:"post_process",p:"sm",children:s.jsx(Rt,{label:"",value:t.post_process,onChange:t.setPostProcess,defaultValue:Jc.post})})]}):null}),F1={pre:["function transform(queries, state, utils) {"," // use queries & dashboar state to build new data"," const data = []"," return data","}"].join(`
482
- `),post:""},W1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),n=U();return t.isTransform?s.jsxs(o.Stack,{py:20,px:20,sx:{height:"100%"},children:[s.jsx(o.Text,{size:"sm",children:e("query.transform.guide.pick_queries")}),s.jsx(o.MultiSelect,{data:n.queries.optionsWithoutTransform,value:[...t.dep_query_ids],onChange:t.setDependantQueryIDs,maxDropdownHeight:800}),s.jsx(o.Text,{size:"sm",children:e("query.transform.guide.write_function")}),s.jsx(o.Box,{sx:{flexGrow:1},children:s.jsx(Rt,{label:"",value:t.pre_process,onChange:t.setPreProcess,defaultValue:F1.pre})})]}):null}),_n={height:"calc(100% - 44px)",padding:0},Q1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),n=U(),r=m.useMemo(()=>t.datasource?t.typedAsHTTP?"HTTP":"SQL":"Configurations",[t.datasource,t.typedAsHTTP]),[i,a]=m.useState(r);m.useEffect(()=>{a(u=>u!=="Configurations"&&r==="Configurations"?"Configurations":u)},[r]);const l=n.findQueryUsage(t.id),c=l.length===0;return s.jsxs(o.Tabs,{value:i,onTabChange:a,defaultValue:r,orientation:"horizontal",keepMounted:!1,sx:{height:"100vh"},children:[s.jsxs(o.Tabs.List,{grow:!0,children:[s.jsx(o.Tabs.Tab,{value:"Configurations",children:e("query.configurations")}),t.typedAsSQL&&s.jsx(o.Tabs.Tab,{value:"SQL",children:e("query.request")}),t.typedAsHTTP&&s.jsx(o.Tabs.Tab,{value:"HTTP",children:e("query.request")}),t.isTransform&&s.jsx(o.Tabs.Tab,{value:"Transform",children:e("query.transform.label")}),s.jsx(o.Tabs.Tab,{value:"Data",disabled:!t.canPreviewData,children:s.jsx(o.Tooltip,{label:t.guideToPreviewData,disabled:t.canPreviewData,withinPortal:!0,children:s.jsx(o.Text,{children:e("data.preview_data")})})}),s.jsx(o.Tabs.Tab,{value:"Usage",disabled:c,children:s.jsx(o.Tooltip,{label:e("query.usage.unused_description"),disabled:!c,withinPortal:!0,children:s.jsx(o.Text,{children:e("query.usage.label")})})})]}),s.jsx(o.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:s.jsx(I1,{queryModel:t})}),t.typedAsSQL&&s.jsx(o.Tabs.Panel,{value:"SQL",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx(G1,{queryModel:t})})}),t.typedAsHTTP&&s.jsx(o.Tabs.Panel,{value:"HTTP",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx($1,{queryModel:t})})}),t.isTransform&&s.jsx(o.Tabs.Panel,{value:"Transform",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx(W1,{queryModel:t})})}),s.jsx(o.Tabs.Panel,{value:"Data",sx:{..._n,overflow:"hidden"},children:s.jsx(Ti,{id:t.id,moreActions:null,refreshOnMount:!0})}),s.jsx(o.Tabs.Panel,{value:"Usage",sx:{..._n,overflow:"hidden"},children:s.jsx(L1,{queryID:t.id,usage:l})})]})}),R1=S.observer(({id:t})=>{const n=U().queries.findByID(t);return t===""?null:n?s.jsx(Q1,{queryModel:n}):s.jsx(o.Text,{size:14,color:"red",children:"Invalid Query ID"})}),U1=S.observer(({value:t})=>{const n=pe().payloadForSQL,r=m.useMemo(()=>ks(t,n),[t,n]);return s.jsx(Ii,{height:"100%",value:r})}),Y1=S.observer(({item:t,remove:e,onKeyChanged:n})=>{const{t:r}=_.useTranslation(),[i,a]=m.useState("SQL"),[l,c]=m.useState(t.key),u=()=>{t.setKey(l),n(l)},d=l!==t.key,p=t.isADuplicatedKey(l),[h,f]=m.useState(t.value),x=()=>{t.setValue(h)};m.useEffect(()=>{c(t.key),f(t.value)},[t]);const v=h!==t.value,w=Fe.useModals(),T=()=>{w.openConfirmModal({title:`${r("sql_snippet.delete")}?`,labels:{confirm:r("common.actions.confirm"),cancel:r("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:e,confirmProps:{color:"red"},zIndex:320})};return s.jsxs(o.Stack,{p:20,sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",children:[s.jsxs(o.Group,{sx:{alignItems:"end"},spacing:40,children:[s.jsx(o.TextInput,{label:r(p?"sql_snippet.key_occupied":"sql_snippet.key"),value:l,onChange:D=>{c(D.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:s.jsx(o.ActionIcon,{color:"blue",variant:"subtle",onClick:u,disabled:!d||p,children:s.jsx(L.DeviceFloppy,{size:16})}),error:p}),s.jsx(o.Button,{leftIcon:s.jsx(L.Trash,{size:16}),color:"red",variant:"light",onClick:T,children:r("sql_snippet.delete")})]}),s.jsxs(o.Tabs,{value:i,onTabChange:a,sx:{flexGrow:1},styles:{panel:{height:"calc(100% - 50px)"}},children:[s.jsxs(o.Tabs.List,{sx:{position:"relative"},children:[s.jsx(o.Tabs.Tab,{value:"SQL",children:r("sql_snippet.edit_snippet")}),s.jsx(o.Tabs.Tab,{value:"Preview",children:r("sql_snippet.preview_snippet")}),s.jsx(Mi,{}),s.jsx(o.ActionIcon,{color:"blue",variant:"filled",onClick:x,disabled:!v,sx:{position:"absolute",top:0,right:10},children:s.jsx(L.DeviceFloppy,{size:18})})]}),s.jsx(o.Tabs.Panel,{value:"SQL",pt:"sm",children:s.jsx(Ii,{height:"100%",value:h,onChange:f,defaultLanguage:"sql",theme:"sql-dark"})}),s.jsx(o.Tabs.Panel,{value:"Preview",pt:"sm",children:s.jsx(U1,{value:h})})]})]})}),K1=S.observer(({id:t})=>{const e=Z(),n=U(),r=m.useMemo(()=>n.sqlSnippets.findByKey(t),[t]);if(!t)return null;if(!r)return s.jsxs(o.Text,{size:14,children:["SQL Snippet by key[",t,"] is not found"]});const i=()=>{e.editor.setPath(["_SQL_SNIPPETS_",""])},a=()=>{n.sqlSnippets.removeByKey(t),i()},l=c=>{e.editor.setPath(["_SQL_SNIPPETS_",c])};return s.jsx(Y1,{item:r,remove:a,onKeyChanged:l})}),J1=S.observer(()=>{const{t}=_.useTranslation(),[e,n]=m.useState([]),r=Fe.useModals(),i=Z(),a=f=>{i.editor.setPath(["_SQL_SNIPPETS_",f])},l=()=>{r.openConfirmModal({title:"Delete ununsed SQL snippets?",children:s.jsx(o.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedSQLSnippets(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.sqlSnippets.downloadSchema(e)},u=m.useMemo(()=>i.content.sqlSnippets.sortedList.map(f=>f.key),[i.content.sqlSnippets.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.sqlSnippetsUsage;return s.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("sql_snippet.manage")})}),s.jsxs(o.Flex,{justify:"space-between",align:"center",px:12,children:[s.jsxs(o.Group,{position:"left",children:[s.jsxs(o.Button.Group,{children:[s.jsx(o.Button,{variant:"default",size:"xs",onClick:d,children:t("common.actions.select_all")}),s.jsx(o.Button,{variant:"default",size:"xs",onClick:p,children:t("common.actions.clear_selection")})]}),s.jsx(o.Button,{size:"xs",color:"blue",leftIcon:s.jsx(k.IconCode,{size:14}),disabled:e.length===0,onClick:c,children:t("common.actions.download_schema")})]}),s.jsx(o.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:s.jsx(k.IconTrash,{size:14}),disabled:!i.content.hasUnusedSQLSnippets,onClick:l,children:t("sql_snippet.delete_unused")})]}),s.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(o.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{children:t("common.key")}),s.jsx("th",{style:{width:"100px",textAlign:"center"},children:t("sql_snippet.usage.label")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:i.content.sqlSnippets.sortedList.map(f=>{var v;const x=((v=h[f.key])==null?void 0:v.length)??0;return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(o.Checkbox,{value:f.key,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:f.key}),s.jsx("td",{style:{color:x===0?"#ff0000":"#000",fontWeight:x===0?"bold":"normal",textAlign:"center"},children:x}),s.jsx("td",{children:s.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>a(f.key),children:t("common.actions.open")})})]},f.key)})})]})})})]})}),X1=S.observer(({view:t})=>!t||t.type!==B.Division?null:s.jsx(o.Stack,{})),Z1=S.observer(({view:t})=>{const{t:e,i18n:n}=_.useTranslation(),r=m.useMemo(()=>[{value:"default",label:e("common.tabs.variant.default")},{value:"outline",label:e("common.tabs.variant.outline")},{value:"pills",label:e("common.tabs.variant.pills")}],[n.language]),i=m.useMemo(()=>[{value:"horizontal",label:e("common.tabs.orientation.horizontal")},{value:"vertical",label:e("common.tabs.orientation.vertical")}],[n.language]);if(!t||t.type!==B.Tabs)return null;const a=t.config;return s.jsxs(o.Stack,{children:[s.jsx(o.Divider,{mt:8,mb:0,label:e("view.component.tabs.tabs_settings"),labelPosition:"center"}),s.jsx(o.Select,{label:e("common.tabs.variant.label"),value:a.variant,onChange:a.setVariant,data:r}),s.jsx(o.Select,{label:e("common.tabs.orientation.label"),value:a.orientation,onChange:a.setOrientation,data:i}),s.jsx(o.Switch,{label:e("common.tabs.grow_tabs"),checked:a.grow,onChange:l=>a.setGrow(l.currentTarget.checked)})]})}),H1=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(o.Box,{sx:{position:"relative"},children:[t&&s.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx($e,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})},eD=({value:t,onChange:e})=>{const{t:n}=_.useTranslation(),[r,{setTrue:i,setFalse:a}]=N.useBoolean(),[l,c]=m.useState(t??cs),u=x=>{c({...l,enabled:x})},d=()=>{a();const{enabled:x,func_content:v}=l,w={enabled:x,func_content:v};c(w),e(w)},p=()=>{a(),c(t)},h=x=>{c(v=>({...v,func_content:x}))},f=()=>{h(cs.func_content)};return s.jsxs(s.Fragment,{children:[s.jsx(o.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:i,sx:{flexGrow:0},children:s.jsx(L.Settings,{size:14})}),s.jsx(o.Modal,{size:800,title:n("view.component.modal.custom_title"),opened:r,onClose:a,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&s.jsxs(o.Stack,{children:[s.jsx(o.Checkbox,{mt:10,label:n("common.enabled"),checked:l.enabled,onChange:x=>u(x.currentTarget.checked)}),s.jsx(H1,{value:l.func_content,onChange:h,disabled:!l.enabled}),s.jsxs(o.Group,{position:"apart",children:[s.jsx(o.Button,{onClick:f,color:"red",leftIcon:s.jsx(L.Recycle,{size:20}),children:n("common.actions.revert")}),s.jsxs(o.Group,{position:"right",children:[s.jsx(o.Button,{onClick:p,variant:"subtle",children:n("common.actions.cancel")}),s.jsx(o.Button,{onClick:d,children:n("common.actions.save")})]})]})]})})]})},tD=S.observer(({view:t})=>{const{t:e}=_.useTranslation();if(!t||t.type!==B.Modal)return null;const n=t.config,r=n.custom_modal_title.value;return s.jsxs(o.Stack,{children:[s.jsx(o.Divider,{mt:8,label:e("view.component.modal.modal_settings"),labelPosition:"center"}),s.jsxs(o.Flex,{gap:10,children:[s.jsx(o.TextInput,{label:e("view.component.modal.title"),value:r,onChange:y.noop,disabled:!0,sx:{flexGrow:1}}),s.jsx(eD,{value:n.custom_modal_title,onChange:n.custom_modal_title.replace})]}),s.jsxs(o.Group,{grow:!0,children:[s.jsx(o.TextInput,{label:e("view.component.modal.width"),value:n.width,onChange:i=>n.setWidth(i.currentTarget.value),placeholder:"600px / 50vw"}),s.jsx(o.TextInput,{label:e("view.component.modal.height"),value:n.height,onChange:i=>n.setHeight(i.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),nD=S.observer(({view:t})=>s.jsxs(s.Fragment,{children:[s.jsx(X1,{view:t}),s.jsx(tD,{view:t}),s.jsx(Z1,{view:t})]})),sD=S.observer(({view:t})=>{const{t:e,i18n:n}=_.useTranslation(),r=m.useMemo(()=>[{label:e("view.component.div.label"),value:B.Division},{label:e("view.component.modal.label"),value:B.Modal},{label:e("view.component.tabs.label"),value:B.Tabs}],[n.language]);return t?s.jsxs(o.Stack,{sx:{position:"relative"},children:[s.jsx(o.TextInput,{label:e("common.name"),value:t.name,onChange:i=>{t.setName(i.currentTarget.value)}}),s.jsx(o.Select,{label:e("common.type"),withinPortal:!0,zIndex:320,value:t.type,onChange:t.setType,data:r}),s.jsx(nD,{view:t})]}):null}),rD=S.observer(({id:t})=>{const{t:e}=_.useTranslation(),n=Fe.useModals(),r=Z(),i=U();if(t==="")return null;const a=i.views.findByID(t);if(!a)return s.jsxs(o.Text,{size:14,children:["View by ID[",t,"] is not found"]});const l=()=>{r.editor.setPath(["_VIEWS_",""])},c=()=>{n.openConfirmModal({title:`${e("view.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.views.removeByID(t),l()},zIndex:320})};return s.jsxs(o.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[s.jsx(o.Group,{position:"right",pt:10,children:s.jsx(o.Button,{size:"xs",color:"red",leftIcon:s.jsx(L.Trash,{size:16}),onClick:c,children:e("view.delete")})}),s.jsx(o.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s.jsx(sD,{view:a})})]})});function iD(t){return t.length===1&&t[0]==="_QUERY_VARS_"}function aD(t){return t.length===1&&t[0]==="_MOCK_CONTEXT_"}function oD(t){return t.length===1&&t[0]==="_FILTERS_"}function lD(t){return t.length===2&&t[0]==="_FILTERS_"}function cD(t){return t.length===1&&t[0]==="_SQL_SNIPPETS_"}function uD(t){return t.length===2&&t[0]==="_SQL_SNIPPETS_"}function dD(t){return t.length===2&&t[0]==="_QUERIES_"}function pD(t){return t.length===1&&t[0]==="_QUERIES_"}function hD(t){return t.length===2&&t[0]==="_VIEWS_"}function mD(t){return t.length===4&&t[0]==="_VIEWS_"&&t[2]==="_PANELS_"}const gD=S.observer(()=>s.jsx(o.Stack,{sx:{height:"100%"},p:"sm",children:s.jsx(Yc,{})})),fD=S.observer(()=>{const t=Z().editor,e=t.path;return iD(e)?s.jsx(gD,{}):aD(e)?s.jsx(TT,{}):oD(e)?s.jsx(kT,{}):lD(e)?s.jsx(o.Box,{p:"xs",pl:20,children:s.jsx(ST,{id:e[1]})}):cD(e)?s.jsx(J1,{}):uD(e)?s.jsx(K1,{id:e[1]}):pD(e)?s.jsx(u1,{}):dD(e)?s.jsx(R1,{id:e[1]}):hD(e)?s.jsx(o.Box,{p:"xs",pl:20,children:s.jsx(rD,{id:e[1]})}):mD(e)?s.jsx(c1,{viewID:e[1],panelID:e[3]}):s.jsx(o.Box,{children:t.path})}),xD=S.observer(()=>s.jsx(fD,{})),yD=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={id:r,key:r,label:r,order:e.content.filters.current.length+1,type:me.TextInput,config:Zr(),visibleInViewsIDs:["Main"],auto_submit:!1};e.content.filters.append(i),e.editor.setPath(["_FILTERS_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("filter.add")})}),bD=S.observer(({parentID:t})=>{const{t:e}=_.useTranslation(),n=U();if(!t)return null;const r=n.views.findByID(t);return!r||r.type===B.Tabs?null:s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:()=>n.addANewPanel(r.id),sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:e("panel.add")})}),vD=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={id:r,name:r,type:ue.Postgresql,key:"",sql:""};e.content.queries.append(i),e.editor.setPath(["_QUERIES_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("query.add")})}),_D=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={key:r,value:""};e.content.sqlSnippets.append(i),e.editor.setPath(["_SQL_SNIPPETS_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("sql_snippet.add")})}),jD=S.observer(()=>{const{t}=_.useTranslation(),e=U();return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:e.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("view.add")})}),wD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_QUERIES_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("query.manage")})}),CD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_SQL_SNIPPETS_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("sql_snippet.manage")})}),SD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_FILTERS_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("filter.manage")})}),kD=S.observer(({action_type:t,parentID:e})=>t==="_Add_A_Filter_"?s.jsx(yD,{}):t==="_Add_A_SQL_SNIPPET_"?s.jsx(_D,{}):t==="_Add_A_QUERY_"?s.jsx(vD,{}):t==="_Add_A_VIEW_"?s.jsx(jD,{}):t==="_Add_A_PANEL_"?s.jsx(bD,{parentID:e}):t==="_QUERIES_SETTINGS_"?s.jsx(wD,{}):t==="_SQL_SNIPPETS_SETTINGS_"?s.jsx(CD,{}):t==="_FILTERS_SETTINGS_"?s.jsx(SD,{}):null),Xc=S.observer(({option:t})=>{var p;const{t:e}=_.useTranslation(),n=Z().editor,r=n.isOptionActive,i=r(n.path,t),a=n.isOptionOpened,l=n.navigate,c=a(t),[u,d]=m.useState(c);return m.useEffect(()=>{d(c)},[c]),s.jsx(o.NavLink,{active:i,defaultOpened:c,opened:u,onChange:d,label:e(t.label),onClick:()=>l(t),icon:t.Icon?s.jsx(t.Icon,{size:18}):null,children:(p=t.children)==null?void 0:p.map(h=>h._type==="ACTION"?s.jsx(kD,{action_type:h._action_type,parentID:h.parentID},`_ADD_${h.value}_`):s.jsx(Xc,{option:h},h.value))},t.label)}),TD=S.observer(()=>{const t=Z();return s.jsx(o.Box,{sx:{position:"relative"},children:t.editor.navOptions.map(e=>s.jsx(Xc,{option:e},e.value))})}),DD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsxs(o.Navbar,{p:0,width:{base:220,xs:220,sm:240,md:260,lg:300,xl:320},sx:{height:"100vh - 60px - 60px",".mantine-NavLink-body":{wordWrap:"break-word"}},children:[s.jsx(o.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(o.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:t("common.titles.settings")})}),s.jsx(o.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s.jsx(TD,{})}),s.jsx(o.Navbar.Section,{children:s.jsx(o.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s.jsx(o.Button,{size:"xs",color:"red",leftIcon:s.jsx(k.IconX,{size:18}),onClick:()=>e.editor.close(),children:t("common.actions.close")})})})]})}),zD={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden",minWidth:"calc(var(--mantine-navbar-width, 0px) + 1200px)"},body:{flexGrow:1,nav:{top:0,height:"100vh"}},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:0,height:"100vh"}},MD=S.observer(()=>{const t=Z().editor;return s.jsx(o.Modal,{onClose:()=>t.setSettingsOpen(!1),closeOnEscape:!1,closeOnClickOutside:!1,opened:t.settings_open,fullScreen:!0,title:null,transitionProps:{duration:0},withCloseButton:!1,withinPortal:!0,zIndex:300,styles:{body:{padding:"0 !important"},content:{overflowY:"hidden !important"}},children:s.jsx(o.AppShell,{padding:0,navbar:s.jsx(DD,{}),styles:zD,children:s.jsx(xD,{})})})}),ID=t=>t.replace(/([^:])(\/\/+)/g,"$1/");function ED(t){m.useEffect(()=>{if($e.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/dashboard");const n=ID(t);$e.loader.config({paths:{vs:n}}),$e.loader.init().then(r=>console.log("monaco instance:",r))},[])}ya(),va();const AD={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60+30,height:"100vh"}},PD=({context:t,dashboard:e,content:n,update:r,className:i="dashboard",config:a,onChange:l,headerSlot:c,filterValues:u,onFilterValuesChange:d,onExit:p,lang:h},f)=>{ED(a.monacoPath),Ts(a);const{data:x=[]}=N.useRequest(Is),{data:v=[]}=N.useRequest(_a),w=m.useMemo(()=>Mc(e,n,x,v,t,u??{}),[e,n]);m.useImperativeHandle(f,()=>w,[w]),Ec(w.content,!0),m.useEffect(()=>{w.context.replace(t)},[t]),m.useEffect(()=>{w.datasources.replace(x)},[x]),m.useEffect(()=>{w.globalSQLSnippets.replace(v)},[v]),m.useEffect(()=>{d==null||d(w.content.filters.values)},[d,w.content.filters.values]),m.useEffect(()=>{u&&w.content.filters.patchValues(u)},[u,w.content.filters.patchValues]),m.useEffect(()=>K.reaction(()=>K.toJS(w.json),A=>{l==null||l(A)}),[w]);const T=async()=>{await r(w.json,w.content.json)},D=N.useCreation(Vr,[]),I=Ac(D);return s.jsx(Ic,{lang:h,children:s.jsx(Fe.ModalsProvider,{children:s.jsx(Vs,{children:s.jsx(Ls,{value:{searchButtonProps:a.searchButtonProps},children:s.jsx(Ps,{value:w,children:s.jsx(Bs,{value:w.content,children:s.jsx(An.Provider,{value:{inEditMode:!0},children:s.jsx(lt.Provider,{value:D,children:s.jsxs(os,{configure:I,children:[s.jsx(o.AppShell,{padding:0,header:s.jsx(Bk,{onExit:p,saveDashboardChanges:T,headerSlot:c}),navbar:s.jsx(uT,{}),styles:AD,children:s.jsx(o.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:w.content.views.visibleViews.map(A=>s.jsx(yc,{view:A},A.id))})}),s.jsx(MD,{})]})})})})})})})})})},$D=S.observer(m.forwardRef(PD)),CM="",Ei=g.types.model({id:g.types.string,name:g.types.string,dashboard_id:g.types.string,create_time:g.types.string,update_time:g.types.string,version:g.types.string,filters:di,queries:mi,sqlSnippets:fi,views:li,panels:ui,layouts:gi,mock_context:Wr}).views(t=>({get json(){return{id:t.id,name:t.name,create_time:t.create_time,update_time:t.update_time,dashboard_id:t.dashboard_id,content:{views:t.views.json,panels:t.panels.json,filters:t.filters.json,version:t.version,layouts:t.layouts.json,definition:{queries:t.queries.json,sqlSnippets:t.sqlSnippets.json,mock_context:t.mock_context.current}}}},get contentJSON(){return this.json.content},get payloadForSQL(){const e=g.getParent(t).context.current,n=g.getParent(t).globalSQLSnippets,r={context:{...t.mock_context.current,...e},filters:t.filters.values};return{...r,sql_snippets:bn(t.sqlSnippets.current,"key","value",r),global_sql_snippets:bn(n.list,"id","content",r)}},get payloadForViz(){const e=g.getParent(t).context.current;return{context:{...t.mock_context.current,...e},filters:t.filters.values}},get dashboardState(){return Ms(this.payloadForSQL)},getAdditionalQueryInfo(e){return{content_id:t.id,query_id:e,params:this.dashboardState}},get data(){return t.queries.current.map(({id:n,data:r})=>({id:n,data:r})).reduce((n,r)=>(n[r.id]=r.data,n),{})},getDataStuffByID(e){const n=t.queries.findByID(e);return n?{data:n.data,len:n.data.length,state:n.state,error:n.error}:{data:[],len:0,state:"idle",error:void 0}}})).actions(t=>({}));function Zc({id:t,name:e,dashboard_id:n,create_time:r,update_time:i,content:a},l,c){if(!a)throw new Error("unexpected null content when creating a content model");const{version:u,filters:d,views:p,panels:h,layouts:f,definition:{queries:x,sqlSnippets:v,mock_context:w={}}}=a;return Ei.create({id:t,name:e,dashboard_id:n,create_time:r,update_time:i,version:u,filters:pi(d,l,w,c),queries:Hl(x),sqlSnippets:nc(v),mock_context:Qr(w),views:Ql(p),panels:{list:h},layouts:{list:f,currentBreakpoint:f[0].id}})}const Hc=g.types.model({id:g.types.identifier,name:g.types.string,group:g.types.string,content:Ei,content_id:g.types.string,datasources:Fl,globalSQLSnippets:ii,context:us});function eu({id:t,name:e,group:n,content_id:r},i,a,l,c,u){return Hc.create({id:t,name:e,group:n,content_id:r,content:Zc(i,c,u),datasources:{list:a},globalSQLSnippets:{list:l},context:ai(c)})}ya(),va();const LD=({context:t,dashboard:e,content:n,className:r="dashboard",config:i,fullScreenPanelID:a,setFullScreenPanelID:l,filterValues:c,onFilterValuesChange:u,lang:d})=>{Ts(i);const{data:p=[]}=N.useRequest(Is),{data:h=[]}=N.useRequest(_a),f=m.useMemo(()=>eu(e,n,p,h,t,c??{}),[e,n]);Ec(f.content,!1),m.useEffect(()=>{f.context.replace(t)},[t]),m.useEffect(()=>{f.datasources.replace(p)},[p]),m.useEffect(()=>{f.globalSQLSnippets.replace(h)},[h]),m.useEffect(()=>{u==null||u(f.content.filters.values)},[u,f.content.filters.values]),m.useEffect(()=>{c&&f.content.filters.patchValues(c)},[c,f.content.filters.patchValues]);const x=N.useCreation(Vr,[]),v=Ac(x);return s.jsx(Ic,{lang:d,children:s.jsx(Fe.ModalsProvider,{children:s.jsx(Vs,{children:s.jsx(Ls,{value:{searchButtonProps:i.searchButtonProps},children:s.jsx(Ps,{value:f,children:s.jsx(Bs,{value:f.content,children:s.jsx(Os.Provider,{value:{fullScreenPanelID:a,setFullScreenPanelID:l},children:s.jsx(An.Provider,{value:{inEditMode:!1},children:s.jsx(o.Box,{className:`${r} dashboard-root`,children:s.jsx(lt.Provider,{value:x,children:s.jsx(os,{configure:v,children:f.content.views.visibleViews.map(w=>s.jsx(ps,{view:w},w.id))})})})})})})})})})})})},BD=S.observer(LD);M.extend(Mu),M.extend(Iu),M.extend(Eu),M.extend(Au),M.extend(Pu),M.extend($u),M.extend(Lu),M.extend(Bu),M.extend(qu),M.extend(Ou),M.extend(Gu),M.extend(Fu),M.extend(Wu),M.extend(Qu),M.extend(Ru),M.extend(Vu),M.extend(Nu),M.extend(Uu),M.extend(Yu),M.extend(Ku),M.extend(Ju),M.extend(Xu),M.extend(Zu),M.extend(Hu),M.extend(ed),M.extend(td),M.extend(nd),M.extend(sd),M.extend(rd),M.extend(id),M.extend(od),M.extend(ld),M.extend(ad),M.tz.setDefault("UTC"),M.updateLocale("en",{weekStart:1});const qD=()=>Promise.resolve().then(()=>rp).then(({version:t})=>(console.log(`[@devtable/dashboard] version: ${t}`),t));j.APIClient=st,j.CURRENT_SCHEMA_VERSION=ft,j.ContentModel=ji,j.ContentModelContextProvider=Bs,j.ContentRenderModel=Ei,j.ContextMeta=us,j.DEFAULT_CUSTOM_MODAL_TITLE=cs,j.DashboardApiClient=ha,j.DashboardApiFacadeClient=ma,j.DashboardEditor=$D,j.DashboardFilterType=me,j.DashboardMode=bc,j.DashboardModel=zc,j.DashboardModelContextProvider=Ps,j.DashboardRenderModel=Hc,j.DashboardThemeContextProvider=Ls,j.DashboardViewEditor=yc,j.DashboardViewRender=ps,j.DataSourceMetaModel=ri,j.DataSourceType=ue,j.DataSourcesMetaModel=Fl,j.DatesProvider=Vs,j.DefaultApiClient=pa,j.DescriptionPopover=xi,j.DraftModel=sc,j.EViewComponentType=B,j.FacadeApiClient=jd,j.FilterCheckboxConfigMeta=Rr,j.FilterDateRangeConfigMeta=Ur,j.FilterMeta=ei,j.FilterMultiSelectConfigMeta=Kr,j.FilterSelectConfigMeta=Jr,j.FilterTextInputConfigMeta=Xr,j.FilterTreeSelectConfigMeta=Hr,j.FiltersModel=_c,j.FiltersRenderModel=di,j.FullScreenPanel=hc,j.FullScreenPanelContext=Os,j.GlobalSQLSnippetMeta=Wl,j.GlobalSQLSnippetsMeta=ii,j.LayoutItemMeta=Ml,j.LayoutSetMeta=Il,j.LayoutStateContext=An,j.LayoutsRenderModel=gi,j.MockContextMeta=Wr,j.MuteQueryModel=Zl,j.Panel=pc,j.PanelContextProvider=qs,j.PanelErrorOrStateMessage=uc,j.PanelMeta=Dl,j.PanelModel=Sc,j.PanelRender=bi,j.PanelRenderModel=ci,j.PanelStyleMeta=Cl,j.PanelTitleMeta=Sl,j.PanelVizMeta=Tl,j.PanelVizSection=yi,j.PanelsModel=kc,j.PanelsRenderModel=ui,j.QueriesModel=wc,j.QueriesRenderModel=mi,j.QueryMeta=zl,j.QueryModel=jc,j.QueryRenderModel=hi,j.ReadOnlyDashboard=BD,j.SQLSnippetMeta=El,j.SQLSnippetRenderModel=tc,j.SQLSnippetsModel=Cc,j.SQLSnippetsRenderModel=fi,j.VariableMeta=kl,j.ViewComponentTypeBackground=vc,j.ViewComponentTypeColor=sk,j.ViewComponentTypeName=nk,j.ViewDivisionConfig=ti,j.ViewMeta=Gl,j.ViewModalConfig=ni,j.ViewRenderModel=oi,j.ViewTabsConfig=si,j.ViewsModel=Tc,j.ViewsRenderModel=li,j.Viz=cc,j.applyPartialDashboard=fk,j.configureAPIClient=Ts,j.createContentModel=Dc,j.createContentRenderModel=Zc,j.createContextMeta=ai,j.createDashboardModel=Mc,j.createDashboardRenderModel=eu,j.createDraft=rc,j.createFilterCheckboxConfig=Al,j.createFilterDateRangeConfig=$l,j.createFilterMultiSelectConfig=Ll,j.createFilterSelectConfig=Bl,j.createFilterTextInputConfig=Zr,j.createFilterTreeSelectConfig=ql,j.createViewDivisionConfig=Ol,j.createViewModalConfig=Vl,j.createViewTabsConfig=Nl,j.facadeApiClient=ga,j.formatSQLSnippet=bn,j.getInitialDashboardViewsModel=_i,j.getInitialFiltersConfig=pi,j.getInitialMockContextMeta=Qr,j.getInitialQueriesRenderModel=Hl,j.getInitialSQLSnippetsRenderModel=nc,j.getInitialViewsRenderModel=Ql,j.getNewPanel=Yl,j.getVersion=qD,j.initialDashboardContent=vS,j.useDashboardContext=$s,j.useDashboardThemeContext=za,j.useEditContentModelContext=U,j.useEditDashboardContext=Z,j.useEditPanelContext=Be,j.useFullScreenPanelContext=Pa,j.usePanelFullScreen=mc,j.useRenderContentModelContext=pe,j.useRenderDashboardContext=Ta,j.useRenderPanelContext=ht,Object.defineProperty(j,Symbol.toStringTag,{value:"Module"})});
482
+ `),post:""},W1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),n=U();return t.isTransform?s.jsxs(o.Stack,{py:20,px:20,sx:{height:"100%"},children:[s.jsx(o.Text,{size:"sm",children:e("query.transform.guide.pick_queries")}),s.jsx(o.MultiSelect,{data:n.queries.optionsWithoutTransform,value:[...t.dep_query_ids],onChange:t.setDependantQueryIDs,maxDropdownHeight:800}),s.jsx(o.Text,{size:"sm",children:e("query.transform.guide.write_function")}),s.jsx(o.Box,{sx:{flexGrow:1},children:s.jsx(Rt,{label:"",value:t.pre_process,onChange:t.setPreProcess,defaultValue:F1.pre})})]}):null}),_n={height:"calc(100% - 44px)",padding:0},Q1=S.observer(({queryModel:t})=>{const{t:e}=_.useTranslation(),n=U(),r=m.useMemo(()=>t.datasource?t.typedAsHTTP?"HTTP":"SQL":"Configurations",[t.datasource,t.typedAsHTTP]),[i,a]=m.useState(r);m.useEffect(()=>{a(u=>u!=="Configurations"&&r==="Configurations"?"Configurations":u)},[r]);const l=n.findQueryUsage(t.id),c=l.length===0;return s.jsxs(o.Tabs,{value:i,onTabChange:a,defaultValue:r,orientation:"horizontal",keepMounted:!1,sx:{height:"100vh"},children:[s.jsxs(o.Tabs.List,{grow:!0,children:[s.jsx(o.Tabs.Tab,{value:"Configurations",children:e("query.configurations")}),t.typedAsSQL&&s.jsx(o.Tabs.Tab,{value:"SQL",children:e("query.request")}),t.typedAsHTTP&&s.jsx(o.Tabs.Tab,{value:"HTTP",children:e("query.request")}),t.isTransform&&s.jsx(o.Tabs.Tab,{value:"Transform",children:e("query.transform.label")}),s.jsx(o.Tabs.Tab,{value:"Data",disabled:!t.canPreviewData,children:s.jsx(o.Tooltip,{label:t.guideToPreviewData,disabled:t.canPreviewData,withinPortal:!0,children:s.jsx(o.Text,{children:e("data.preview_data")})})}),s.jsx(o.Tabs.Tab,{value:"Usage",disabled:c,children:s.jsx(o.Tooltip,{label:e("query.usage.unused_description"),disabled:!c,withinPortal:!0,children:s.jsx(o.Text,{children:e("query.usage.label")})})})]}),s.jsx(o.Tabs.Panel,{value:"Configurations",pt:0,p:0,children:s.jsx(I1,{queryModel:t})}),t.typedAsSQL&&s.jsx(o.Tabs.Panel,{value:"SQL",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx(G1,{queryModel:t})})}),t.typedAsHTTP&&s.jsx(o.Tabs.Panel,{value:"HTTP",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx($1,{queryModel:t})})}),t.isTransform&&s.jsx(o.Tabs.Panel,{value:"Transform",sx:_n,children:s.jsx(o.Stack,{sx:{height:"100%"},children:s.jsx(W1,{queryModel:t})})}),s.jsx(o.Tabs.Panel,{value:"Data",sx:{..._n,overflow:"hidden"},children:s.jsx(Ti,{id:t.id,moreActions:null,refreshOnMount:!0})}),s.jsx(o.Tabs.Panel,{value:"Usage",sx:{..._n,overflow:"hidden"},children:s.jsx(L1,{queryID:t.id,usage:l})})]})}),R1=S.observer(({id:t})=>{const n=U().queries.findByID(t);return t===""?null:n?s.jsx(Q1,{queryModel:n}):s.jsx(o.Text,{size:14,color:"red",children:"Invalid Query ID"})}),U1=S.observer(({value:t})=>{const n=pe().payloadForSQL,r=m.useMemo(()=>ks(t,n),[t,n]);return s.jsx(Ii,{height:"100%",value:r})}),Y1=S.observer(({item:t,remove:e,onKeyChanged:n})=>{const{t:r}=_.useTranslation(),[i,a]=m.useState("SQL"),[l,c]=m.useState(t.key),u=()=>{t.setKey(l),n(l)},d=l!==t.key,p=t.isADuplicatedKey(l),[h,f]=m.useState(t.value),x=()=>{t.setValue(h)};m.useEffect(()=>{c(t.key),f(t.value)},[t]);const v=h!==t.value,w=Fe.useModals(),T=()=>{w.openConfirmModal({title:`${r("sql_snippet.delete")}?`,labels:{confirm:r("common.actions.confirm"),cancel:r("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:e,confirmProps:{color:"red"},zIndex:320})};return s.jsxs(o.Stack,{p:20,sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",children:[s.jsxs(o.Group,{sx:{alignItems:"end"},spacing:40,children:[s.jsx(o.TextInput,{label:r(p?"sql_snippet.key_occupied":"sql_snippet.key"),value:l,onChange:D=>{c(D.currentTarget.value)},sx:{flexGrow:"1 !important"},rightSection:s.jsx(o.ActionIcon,{color:"blue",variant:"subtle",onClick:u,disabled:!d||p,children:s.jsx(L.DeviceFloppy,{size:16})}),error:p}),s.jsx(o.Button,{leftIcon:s.jsx(L.Trash,{size:16}),color:"red",variant:"light",onClick:T,children:r("sql_snippet.delete")})]}),s.jsxs(o.Tabs,{value:i,onTabChange:a,sx:{flexGrow:1},styles:{panel:{height:"calc(100% - 50px)"}},children:[s.jsxs(o.Tabs.List,{sx:{position:"relative"},children:[s.jsx(o.Tabs.Tab,{value:"SQL",children:r("sql_snippet.edit_snippet")}),s.jsx(o.Tabs.Tab,{value:"Preview",children:r("sql_snippet.preview_snippet")}),s.jsx(Mi,{}),s.jsx(o.ActionIcon,{color:"blue",variant:"filled",onClick:x,disabled:!v,sx:{position:"absolute",top:0,right:10},children:s.jsx(L.DeviceFloppy,{size:18})})]}),s.jsx(o.Tabs.Panel,{value:"SQL",pt:"sm",children:s.jsx(Ii,{height:"100%",value:h,onChange:f,defaultLanguage:"sql",theme:"sql-dark"})}),s.jsx(o.Tabs.Panel,{value:"Preview",pt:"sm",children:s.jsx(U1,{value:h})})]})]})}),K1=S.observer(({id:t})=>{const e=Z(),n=U(),r=m.useMemo(()=>n.sqlSnippets.findByKey(t),[t]);if(!t)return null;if(!r)return s.jsxs(o.Text,{size:14,children:["SQL Snippet by key[",t,"] is not found"]});const i=()=>{e.editor.setPath(["_SQL_SNIPPETS_",""])},a=()=>{n.sqlSnippets.removeByKey(t),i()},l=c=>{e.editor.setPath(["_SQL_SNIPPETS_",c])};return s.jsx(Y1,{item:r,remove:a,onKeyChanged:l})}),J1=S.observer(()=>{const{t}=_.useTranslation(),[e,n]=m.useState([]),r=Fe.useModals(),i=Z(),a=f=>{i.editor.setPath(["_SQL_SNIPPETS_",f])},l=()=>{r.openConfirmModal({title:"Delete ununsed SQL snippets?",children:s.jsx(o.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedSQLSnippets(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.sqlSnippets.downloadSchema(e)},u=m.useMemo(()=>i.content.sqlSnippets.sortedList.map(f=>f.key),[i.content.sqlSnippets.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.sqlSnippetsUsage;return s.jsxs(o.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(o.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(o.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("sql_snippet.manage")})}),s.jsxs(o.Flex,{justify:"space-between",align:"center",px:12,children:[s.jsxs(o.Group,{position:"left",children:[s.jsxs(o.Button.Group,{children:[s.jsx(o.Button,{variant:"default",size:"xs",onClick:d,children:t("common.actions.select_all")}),s.jsx(o.Button,{variant:"default",size:"xs",onClick:p,children:t("common.actions.clear_selection")})]}),s.jsx(o.Button,{size:"xs",color:"blue",leftIcon:s.jsx(k.IconCode,{size:14}),disabled:e.length===0,onClick:c,children:t("common.actions.download_schema")})]}),s.jsx(o.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:s.jsx(k.IconTrash,{size:14}),disabled:!i.content.hasUnusedSQLSnippets,onClick:l,children:t("sql_snippet.delete_unused")})]}),s.jsx(o.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(o.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(o.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{children:t("common.key")}),s.jsx("th",{style:{width:"100px",textAlign:"center"},children:t("sql_snippet.usage.label")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:i.content.sqlSnippets.sortedList.map(f=>{var v;const x=((v=h[f.key])==null?void 0:v.length)??0;return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(o.Checkbox,{value:f.key,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:f.key}),s.jsx("td",{style:{color:x===0?"#ff0000":"#000",fontWeight:x===0?"bold":"normal",textAlign:"center"},children:x}),s.jsx("td",{children:s.jsx(o.Button,{variant:"subtle",size:"xs",onClick:()=>a(f.key),children:t("common.actions.open")})})]},f.key)})})]})})})]})}),X1=S.observer(({view:t})=>!t||t.type!==B.Division?null:s.jsx(o.Stack,{})),Z1=S.observer(({view:t})=>{const{t:e,i18n:n}=_.useTranslation(),r=m.useMemo(()=>[{value:"default",label:e("common.tabs.variant.default")},{value:"outline",label:e("common.tabs.variant.outline")},{value:"pills",label:e("common.tabs.variant.pills")}],[n.language]),i=m.useMemo(()=>[{value:"horizontal",label:e("common.tabs.orientation.horizontal")},{value:"vertical",label:e("common.tabs.orientation.vertical")}],[n.language]);if(!t||t.type!==B.Tabs)return null;const a=t.config;return s.jsxs(o.Stack,{children:[s.jsx(o.Divider,{mt:8,mb:0,label:e("view.component.tabs.tabs_settings"),labelPosition:"center"}),s.jsx(o.Select,{label:e("common.tabs.variant.label"),value:a.variant,onChange:a.setVariant,data:r}),s.jsx(o.Select,{label:e("common.tabs.orientation.label"),value:a.orientation,onChange:a.setOrientation,data:i}),s.jsx(o.Switch,{label:e("common.tabs.grow_tabs"),checked:a.grow,onChange:l=>a.setGrow(l.currentTarget.checked)})]})}),H1=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(o.Box,{sx:{position:"relative"},children:[t&&s.jsx(o.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx($e,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})},eD=({value:t,onChange:e})=>{const{t:n}=_.useTranslation(),[r,{setTrue:i,setFalse:a}]=N.useBoolean(),[l,c]=m.useState(t??cs),u=x=>{c({...l,enabled:x})},d=()=>{a();const{enabled:x,func_content:v}=l,w={enabled:x,func_content:v};c(w),e(w)},p=()=>{a(),c(t)},h=x=>{c(v=>({...v,func_content:x}))},f=()=>{h(cs.func_content)};return s.jsxs(s.Fragment,{children:[s.jsx(o.ActionIcon,{size:"lg",color:"blue",variant:"filled",mt:26,onClick:i,sx:{flexGrow:0},children:s.jsx(L.Settings,{size:14})}),s.jsx(o.Modal,{size:800,title:n("view.component.modal.custom_title"),opened:r,onClose:a,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:r&&s.jsxs(o.Stack,{children:[s.jsx(o.Checkbox,{mt:10,label:n("common.enabled"),checked:l.enabled,onChange:x=>u(x.currentTarget.checked)}),s.jsx(H1,{value:l.func_content,onChange:h,disabled:!l.enabled}),s.jsxs(o.Group,{position:"apart",children:[s.jsx(o.Button,{onClick:f,color:"red",leftIcon:s.jsx(L.Recycle,{size:20}),children:n("common.actions.revert")}),s.jsxs(o.Group,{position:"right",children:[s.jsx(o.Button,{onClick:p,variant:"subtle",children:n("common.actions.cancel")}),s.jsx(o.Button,{onClick:d,children:n("common.actions.save")})]})]})]})})]})},tD=S.observer(({view:t})=>{const{t:e}=_.useTranslation();if(!t||t.type!==B.Modal)return null;const n=t.config,r=n.custom_modal_title.value;return s.jsxs(o.Stack,{children:[s.jsx(o.Divider,{mt:8,label:e("view.component.modal.modal_settings"),labelPosition:"center"}),s.jsxs(o.Flex,{gap:10,children:[s.jsx(o.TextInput,{label:e("view.component.modal.title"),value:r,onChange:y.noop,disabled:!0,sx:{flexGrow:1}}),s.jsx(eD,{value:n.custom_modal_title,onChange:n.custom_modal_title.replace})]}),s.jsxs(o.Group,{grow:!0,children:[s.jsx(o.TextInput,{label:e("view.component.modal.width"),value:n.width,onChange:i=>n.setWidth(i.currentTarget.value),placeholder:"600px / 50vw"}),s.jsx(o.TextInput,{label:e("view.component.modal.height"),value:n.height,onChange:i=>n.setHeight(i.currentTarget.value),placeholder:"600px / 50vw"})]})]})}),nD=S.observer(({view:t})=>s.jsxs(s.Fragment,{children:[s.jsx(X1,{view:t}),s.jsx(tD,{view:t}),s.jsx(Z1,{view:t})]})),sD=S.observer(({view:t})=>{const{t:e,i18n:n}=_.useTranslation(),r=m.useMemo(()=>[{label:e("view.component.div.label"),value:B.Division},{label:e("view.component.modal.label"),value:B.Modal},{label:e("view.component.tabs.label"),value:B.Tabs}],[n.language]);return t?s.jsxs(o.Stack,{sx:{position:"relative"},children:[s.jsx(o.TextInput,{label:e("common.name"),value:t.name,onChange:i=>{t.setName(i.currentTarget.value)}}),s.jsx(o.Select,{label:e("common.type"),withinPortal:!0,zIndex:320,value:t.type,onChange:t.setType,data:r}),s.jsx(nD,{view:t})]}):null}),rD=S.observer(({id:t})=>{const{t:e}=_.useTranslation(),n=Fe.useModals(),r=Z(),i=U();if(t==="")return null;const a=i.views.findByID(t);if(!a)return s.jsxs(o.Text,{size:14,children:["View by ID[",t,"] is not found"]});const l=()=>{r.editor.setPath(["_VIEWS_",""])},c=()=>{n.openConfirmModal({title:`${e("view.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.views.removeByID(t),l()},zIndex:320})};return s.jsxs(o.Stack,{sx:{maxWidth:"600px",height:"100%"},spacing:"sm",children:[s.jsx(o.Group,{position:"right",pt:10,children:s.jsx(o.Button,{size:"xs",color:"red",leftIcon:s.jsx(L.Trash,{size:16}),onClick:c,children:e("view.delete")})}),s.jsx(o.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s.jsx(sD,{view:a})})]})});function iD(t){return t.length===1&&t[0]==="_QUERY_VARS_"}function aD(t){return t.length===1&&t[0]==="_MOCK_CONTEXT_"}function oD(t){return t.length===1&&t[0]==="_FILTERS_"}function lD(t){return t.length===2&&t[0]==="_FILTERS_"}function cD(t){return t.length===1&&t[0]==="_SQL_SNIPPETS_"}function uD(t){return t.length===2&&t[0]==="_SQL_SNIPPETS_"}function dD(t){return t.length===2&&t[0]==="_QUERIES_"}function pD(t){return t.length===1&&t[0]==="_QUERIES_"}function hD(t){return t.length===2&&t[0]==="_VIEWS_"}function mD(t){return t.length===4&&t[0]==="_VIEWS_"&&t[2]==="_PANELS_"}const gD=S.observer(()=>s.jsx(o.Stack,{sx:{height:"100%"},p:"sm",children:s.jsx(Yc,{})})),fD=S.observer(()=>{const t=Z().editor,e=t.path;return iD(e)?s.jsx(gD,{}):aD(e)?s.jsx(TT,{}):oD(e)?s.jsx(kT,{}):lD(e)?s.jsx(o.Box,{p:"xs",pl:20,children:s.jsx(ST,{id:e[1]})}):cD(e)?s.jsx(J1,{}):uD(e)?s.jsx(K1,{id:e[1]}):pD(e)?s.jsx(u1,{}):dD(e)?s.jsx(R1,{id:e[1]}):hD(e)?s.jsx(o.Box,{p:"xs",pl:20,children:s.jsx(rD,{id:e[1]})}):mD(e)?s.jsx(c1,{viewID:e[1],panelID:e[3]}):s.jsx(o.Box,{children:t.path})}),xD=S.observer(()=>s.jsx(fD,{})),yD=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={id:r,key:r,label:r,order:e.content.filters.current.length+1,type:me.TextInput,config:Zr(),visibleInViewsIDs:["Main"],auto_submit:!1};e.content.filters.append(i),e.editor.setPath(["_FILTERS_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("filter.add")})}),bD=S.observer(({parentID:t})=>{const{t:e}=_.useTranslation(),n=U();if(!t)return null;const r=n.views.findByID(t);return!r||r.type===B.Tabs?null:s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:()=>n.addANewPanel(r.id),sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:e("panel.add")})}),vD=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={id:r,name:r,type:ue.Postgresql,key:"",sql:""};e.content.queries.append(i),e.editor.setPath(["_QUERIES_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("query.add")})}),_D=S.observer(()=>{const{t}=_.useTranslation(),e=Z(),n=()=>{const r=new Date().getTime().toString(),i={key:r,value:""};e.content.sqlSnippets.append(i),e.editor.setPath(["_SQL_SNIPPETS_",r])};return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:n,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("sql_snippet.add")})}),jD=S.observer(()=>{const{t}=_.useTranslation(),e=U();return s.jsx(o.Button,{variant:"subtle",leftIcon:s.jsx(k.IconPlus,{size:14}),size:"sm",px:"xs",mb:10,color:"blue",onClick:e.views.addARandomNewView,sx:{width:"100%",borderRadius:0},styles:{inner:{justifyContent:"flex-start"}},children:t("view.add")})}),wD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_QUERIES_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("query.manage")})}),CD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_SQL_SNIPPETS_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("sql_snippet.manage")})}),SD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsx(o.Button,{variant:"subtle",rightIcon:s.jsx(k.IconSettings,{size:14}),size:"sm",px:12,mb:0,color:"blue",onClick:()=>e.editor.setPath(["_FILTERS_"]),sx:{width:"100%",borderRadius:0,fontWeight:"normal"},styles:{inner:{justifyContent:"space-between"}},children:t("filter.manage")})}),kD=S.observer(({action_type:t,parentID:e})=>t==="_Add_A_Filter_"?s.jsx(yD,{}):t==="_Add_A_SQL_SNIPPET_"?s.jsx(_D,{}):t==="_Add_A_QUERY_"?s.jsx(vD,{}):t==="_Add_A_VIEW_"?s.jsx(jD,{}):t==="_Add_A_PANEL_"?s.jsx(bD,{parentID:e}):t==="_QUERIES_SETTINGS_"?s.jsx(wD,{}):t==="_SQL_SNIPPETS_SETTINGS_"?s.jsx(CD,{}):t==="_FILTERS_SETTINGS_"?s.jsx(SD,{}):null),Xc=S.observer(({option:t})=>{var p;const{t:e}=_.useTranslation(),n=Z().editor,r=n.isOptionActive,i=r(n.path,t),a=n.isOptionOpened,l=n.navigate,c=a(t),[u,d]=m.useState(c);return m.useEffect(()=>{d(c)},[c]),s.jsx(o.NavLink,{active:i,defaultOpened:c,opened:u,onChange:d,label:e(t.label),onClick:()=>l(t),icon:t.Icon?s.jsx(t.Icon,{size:18}):null,children:(p=t.children)==null?void 0:p.map(h=>h._type==="ACTION"?s.jsx(kD,{action_type:h._action_type,parentID:h.parentID},`_ADD_${h.value}_`):s.jsx(Xc,{option:h},h.value))},t.label)}),TD=S.observer(()=>{const t=Z();return s.jsx(o.Box,{sx:{position:"relative"},children:t.editor.navOptions.map(e=>s.jsx(Xc,{option:e},e.value))})}),DD=S.observer(()=>{const{t}=_.useTranslation(),e=Z();return s.jsxs(o.Navbar,{p:0,width:{base:220,xs:220,sm:240,md:260,lg:300,xl:320},sx:{height:"100vh - 60px - 60px",".mantine-NavLink-body":{wordWrap:"break-word"}},children:[s.jsx(o.Navbar.Section,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(o.Text,{align:"center",sx:{userSelect:"none",cursor:"default"},children:t("common.titles.settings")})}),s.jsx(o.Navbar.Section,{grow:!0,sx:{overflow:"auto"},children:s.jsx(TD,{})}),s.jsx(o.Navbar.Section,{children:s.jsx(o.Group,{grow:!0,p:"md",pt:"sm",sx:{borderTop:"1px solid #eee"},children:s.jsx(o.Button,{size:"xs",color:"red",leftIcon:s.jsx(k.IconX,{size:18}),onClick:()=>e.editor.close(),children:t("common.actions.close")})})})]})}),zD={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden",minWidth:"calc(var(--mantine-navbar-width, 0px) + 1200px)"},body:{flexGrow:1,nav:{top:0,height:"100vh"}},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:0,height:"100vh"}},MD=S.observer(()=>{const t=Z().editor;return s.jsx(o.Modal,{onClose:()=>t.setSettingsOpen(!1),closeOnEscape:!1,closeOnClickOutside:!1,opened:t.settings_open,fullScreen:!0,title:null,transitionProps:{duration:0},withCloseButton:!1,withinPortal:!0,zIndex:300,styles:{body:{padding:"0 !important"},content:{overflowY:"hidden !important"}},children:s.jsx(o.AppShell,{padding:0,navbar:s.jsx(DD,{}),styles:zD,children:s.jsx(xD,{})})})}),ID=t=>t.replace(/([^:])(\/\/+)/g,"$1/");function ED(t){m.useEffect(()=>{if($e.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/dashboard");const n=ID(t);$e.loader.config({paths:{vs:n}}),$e.loader.init().then(r=>console.log("monaco instance:",r))},[])}ya(),va();const AD={root:{height:"100vh",display:"flex",flexDirection:"column",overflow:"hidden"},body:{flexGrow:1},main:{flexGrow:1,display:"flex",flexDirection:"column",paddingTop:60+30,height:"100vh"}},PD=({context:t,dashboard:e,content:n,update:r,className:i="dashboard",config:a,onChange:l,headerSlot:c,filterValues:u,onFilterValuesChange:d,onExit:p,lang:h},f)=>{ED(a.monacoPath),Ts(a);const{data:x=[]}=N.useRequest(Is),{data:v=[]}=N.useRequest(_a),w=m.useMemo(()=>Mc(e,n,x,v,t,u??{}),[e,n]);m.useImperativeHandle(f,()=>w,[w]),Ec(w.content,!0),m.useEffect(()=>{w.context.replace(t)},[t]),m.useEffect(()=>{w.datasources.replace(x)},[x]),m.useEffect(()=>{w.globalSQLSnippets.replace(v)},[v]),m.useEffect(()=>{d==null||d(w.content.filters.values)},[d,w.content.filters.values]),m.useEffect(()=>{u&&w.content.filters.patchValues(u)},[u,w.content.filters.patchValues]),m.useEffect(()=>K.reaction(()=>K.toJS(w.json),A=>{l==null||l(A)}),[w]);const T=async()=>{await r(w.json,w.content.json)},D=N.useCreation(Vr,[]),I=Ac(D);return N.useWhyDidYouUpdate("@devtable/dashboard editor",{context:t,dashboard:e,content:n,update:r,className:i,config:a,onChange:l,headerSlot:c,filterValues:u,onFilterValuesChange:d,onExit:p,lang:h}),s.jsx(Ic,{lang:h,children:s.jsx(Fe.ModalsProvider,{children:s.jsx(Vs,{children:s.jsx(Ls,{value:{searchButtonProps:a.searchButtonProps},children:s.jsx(Ps,{value:w,children:s.jsx(Bs,{value:w.content,children:s.jsx(An.Provider,{value:{inEditMode:!0},children:s.jsx(lt.Provider,{value:D,children:s.jsxs(os,{configure:I,children:[s.jsx(o.AppShell,{padding:0,header:s.jsx(Bk,{onExit:p,saveDashboardChanges:T,headerSlot:c}),navbar:s.jsx(uT,{}),styles:AD,children:s.jsx(o.Box,{className:`${i} dashboard-root`,sx:{position:"relative"},children:w.content.views.visibleViews.map(A=>s.jsx(yc,{view:A},A.id))})}),s.jsx(MD,{})]})})})})})})})})})},$D=S.observer(m.forwardRef(PD)),CM="",Ei=g.types.model({id:g.types.string,name:g.types.string,dashboard_id:g.types.string,create_time:g.types.string,update_time:g.types.string,version:g.types.string,filters:di,queries:mi,sqlSnippets:fi,views:li,panels:ui,layouts:gi,mock_context:Wr}).views(t=>({get json(){return{id:t.id,name:t.name,create_time:t.create_time,update_time:t.update_time,dashboard_id:t.dashboard_id,content:{views:t.views.json,panels:t.panels.json,filters:t.filters.json,version:t.version,layouts:t.layouts.json,definition:{queries:t.queries.json,sqlSnippets:t.sqlSnippets.json,mock_context:t.mock_context.current}}}},get contentJSON(){return this.json.content},get payloadForSQL(){const e=g.getParent(t).context.current,n=g.getParent(t).globalSQLSnippets,r={context:{...t.mock_context.current,...e},filters:t.filters.values};return{...r,sql_snippets:bn(t.sqlSnippets.current,"key","value",r),global_sql_snippets:bn(n.list,"id","content",r)}},get payloadForViz(){const e=g.getParent(t).context.current;return{context:{...t.mock_context.current,...e},filters:t.filters.values}},get dashboardState(){return Ms(this.payloadForSQL)},getAdditionalQueryInfo(e){return{content_id:t.id,query_id:e,params:this.dashboardState}},get data(){return t.queries.current.map(({id:n,data:r})=>({id:n,data:r})).reduce((n,r)=>(n[r.id]=r.data,n),{})},getDataStuffByID(e){const n=t.queries.findByID(e);return n?{data:n.data,len:n.data.length,state:n.state,error:n.error}:{data:[],len:0,state:"idle",error:void 0}}})).actions(t=>({}));function Zc({id:t,name:e,dashboard_id:n,create_time:r,update_time:i,content:a},l,c){if(!a)throw new Error("unexpected null content when creating a content model");const{version:u,filters:d,views:p,panels:h,layouts:f,definition:{queries:x,sqlSnippets:v,mock_context:w={}}}=a;return Ei.create({id:t,name:e,dashboard_id:n,create_time:r,update_time:i,version:u,filters:pi(d,l,w,c),queries:Hl(x),sqlSnippets:nc(v),mock_context:Qr(w),views:Ql(p),panels:{list:h},layouts:{list:f,currentBreakpoint:f[0].id}})}const Hc=g.types.model({id:g.types.identifier,name:g.types.string,group:g.types.string,content:Ei,content_id:g.types.string,datasources:Fl,globalSQLSnippets:ii,context:us});function eu({id:t,name:e,group:n,content_id:r},i,a,l,c,u){return Hc.create({id:t,name:e,group:n,content_id:r,content:Zc(i,c,u),datasources:{list:a},globalSQLSnippets:{list:l},context:ai(c)})}ya(),va();const LD=({context:t,dashboard:e,content:n,className:r="dashboard",config:i,fullScreenPanelID:a,setFullScreenPanelID:l,filterValues:c,onFilterValuesChange:u,lang:d})=>{Ts(i);const{data:p=[]}=N.useRequest(Is),{data:h=[]}=N.useRequest(_a),f=m.useMemo(()=>eu(e,n,p,h,t,c??{}),[e,n]);Ec(f.content,!1),m.useEffect(()=>{f.context.replace(t)},[t]),m.useEffect(()=>{f.datasources.replace(p)},[p]),m.useEffect(()=>{f.globalSQLSnippets.replace(h)},[h]),m.useEffect(()=>{u==null||u(f.content.filters.values)},[u,f.content.filters.values]),m.useEffect(()=>{c&&f.content.filters.patchValues(c)},[c,f.content.filters.patchValues]);const x=N.useCreation(Vr,[]),v=Ac(x);return N.useWhyDidYouUpdate("@devtable/dashboard render",{context:t,dashboard:e,content:n,className:r,config:i,fullScreenPanelID:a,setFullScreenPanelID:l,filterValues:c,onFilterValuesChange:u,lang:d}),s.jsx(Ic,{lang:d,children:s.jsx(Fe.ModalsProvider,{children:s.jsx(Vs,{children:s.jsx(Ls,{value:{searchButtonProps:i.searchButtonProps},children:s.jsx(Ps,{value:f,children:s.jsx(Bs,{value:f.content,children:s.jsx(Os.Provider,{value:{fullScreenPanelID:a,setFullScreenPanelID:l},children:s.jsx(An.Provider,{value:{inEditMode:!1},children:s.jsx(o.Box,{className:`${r} dashboard-root`,children:s.jsx(lt.Provider,{value:x,children:s.jsx(os,{configure:v,children:f.content.views.visibleViews.map(w=>s.jsx(ps,{view:w},w.id))})})})})})})})})})})})},BD=S.observer(LD);M.extend(Mu),M.extend(Iu),M.extend(Eu),M.extend(Au),M.extend(Pu),M.extend($u),M.extend(Lu),M.extend(Bu),M.extend(qu),M.extend(Ou),M.extend(Gu),M.extend(Fu),M.extend(Wu),M.extend(Qu),M.extend(Ru),M.extend(Vu),M.extend(Nu),M.extend(Uu),M.extend(Yu),M.extend(Ku),M.extend(Ju),M.extend(Xu),M.extend(Zu),M.extend(Hu),M.extend(ed),M.extend(td),M.extend(nd),M.extend(sd),M.extend(rd),M.extend(id),M.extend(od),M.extend(ld),M.extend(ad),M.tz.setDefault("UTC"),M.updateLocale("en",{weekStart:1});const qD=()=>Promise.resolve().then(()=>rp).then(({version:t})=>(console.log(`[@devtable/dashboard] version: ${t}`),t));j.APIClient=st,j.CURRENT_SCHEMA_VERSION=ft,j.ContentModel=ji,j.ContentModelContextProvider=Bs,j.ContentRenderModel=Ei,j.ContextMeta=us,j.DEFAULT_CUSTOM_MODAL_TITLE=cs,j.DashboardApiClient=ha,j.DashboardApiFacadeClient=ma,j.DashboardEditor=$D,j.DashboardFilterType=me,j.DashboardMode=bc,j.DashboardModel=zc,j.DashboardModelContextProvider=Ps,j.DashboardRenderModel=Hc,j.DashboardThemeContextProvider=Ls,j.DashboardViewEditor=yc,j.DashboardViewRender=ps,j.DataSourceMetaModel=ri,j.DataSourceType=ue,j.DataSourcesMetaModel=Fl,j.DatesProvider=Vs,j.DefaultApiClient=pa,j.DescriptionPopover=xi,j.DraftModel=sc,j.EViewComponentType=B,j.FacadeApiClient=jd,j.FilterCheckboxConfigMeta=Rr,j.FilterDateRangeConfigMeta=Ur,j.FilterMeta=ei,j.FilterMultiSelectConfigMeta=Kr,j.FilterSelectConfigMeta=Jr,j.FilterTextInputConfigMeta=Xr,j.FilterTreeSelectConfigMeta=Hr,j.FiltersModel=_c,j.FiltersRenderModel=di,j.FullScreenPanel=hc,j.FullScreenPanelContext=Os,j.GlobalSQLSnippetMeta=Wl,j.GlobalSQLSnippetsMeta=ii,j.LayoutItemMeta=Ml,j.LayoutSetMeta=Il,j.LayoutStateContext=An,j.LayoutsRenderModel=gi,j.MockContextMeta=Wr,j.MuteQueryModel=Zl,j.Panel=pc,j.PanelContextProvider=qs,j.PanelErrorOrStateMessage=uc,j.PanelMeta=Dl,j.PanelModel=Sc,j.PanelRender=bi,j.PanelRenderModel=ci,j.PanelStyleMeta=Cl,j.PanelTitleMeta=Sl,j.PanelVizMeta=Tl,j.PanelVizSection=yi,j.PanelsModel=kc,j.PanelsRenderModel=ui,j.QueriesModel=wc,j.QueriesRenderModel=mi,j.QueryMeta=zl,j.QueryModel=jc,j.QueryRenderModel=hi,j.ReadOnlyDashboard=BD,j.SQLSnippetMeta=El,j.SQLSnippetRenderModel=tc,j.SQLSnippetsModel=Cc,j.SQLSnippetsRenderModel=fi,j.VariableMeta=kl,j.ViewComponentTypeBackground=vc,j.ViewComponentTypeColor=sk,j.ViewComponentTypeName=nk,j.ViewDivisionConfig=ti,j.ViewMeta=Gl,j.ViewModalConfig=ni,j.ViewRenderModel=oi,j.ViewTabsConfig=si,j.ViewsModel=Tc,j.ViewsRenderModel=li,j.Viz=cc,j.applyPartialDashboard=fk,j.configureAPIClient=Ts,j.createContentModel=Dc,j.createContentRenderModel=Zc,j.createContextMeta=ai,j.createDashboardModel=Mc,j.createDashboardRenderModel=eu,j.createDraft=rc,j.createFilterCheckboxConfig=Al,j.createFilterDateRangeConfig=$l,j.createFilterMultiSelectConfig=Ll,j.createFilterSelectConfig=Bl,j.createFilterTextInputConfig=Zr,j.createFilterTreeSelectConfig=ql,j.createViewDivisionConfig=Ol,j.createViewModalConfig=Vl,j.createViewTabsConfig=Nl,j.facadeApiClient=ga,j.formatSQLSnippet=bn,j.getInitialDashboardViewsModel=_i,j.getInitialFiltersConfig=pi,j.getInitialMockContextMeta=Qr,j.getInitialQueriesRenderModel=Hl,j.getInitialSQLSnippetsRenderModel=nc,j.getInitialViewsRenderModel=Ql,j.getNewPanel=Yl,j.getVersion=qD,j.initialDashboardContent=vS,j.useDashboardContext=$s,j.useDashboardThemeContext=za,j.useEditContentModelContext=U,j.useEditDashboardContext=Z,j.useEditPanelContext=Be,j.useFullScreenPanelContext=Pa,j.usePanelFullScreen=mc,j.useRenderContentModelContext=pe,j.useRenderDashboardContext=Ta,j.useRenderPanelContext=ht,Object.defineProperty(j,Symbol.toStringTag,{value:"Module"})});