@cubejs-client/playground 1.3.55 → 1.3.56
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.
- package/build/assets/{index-DFpDXzmr.js → index-B7kpbKgs.js} +1 -1
- package/build/index.html +1 -1
- package/build/vizard/download/react-typescript-antd-table.zip +0 -0
- package/build/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
- package/lib/.tsbuildinfo +1 -1
- package/lib/QueryBuilderV2/hooks/query-builder.js +2 -2
- package/lib/QueryBuilderV2/hooks/query-builder.js.map +1 -1
- package/package.json +5 -4
- package/public/vizard/download/react-typescript-antd-table.zip +0 -0
- package/public/vizard/download/react-typescript-chartjs-area+bar+doughnut+line+pie.zip +0 -0
|
@@ -2696,7 +2696,7 @@ object-assign
|
|
|
2696
2696
|
`)),`
|
|
2697
2697
|
}`)}function wrap$2(tt,nt){var st=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";return nt!=null&&nt!==""?tt+nt+st:""}function indent(tt){return wrap$2(" ",tt.replace(/\n/g,`
|
|
2698
2698
|
`))}function isMultiline(tt){return tt.indexOf(`
|
|
2699
|
-
`)!==-1}function hasMultilineItems(tt){return tt!=null&&tt.some(isMultiline)}function isSelectionNode(tt){return tt.kind===Kind.FIELD||tt.kind===Kind.FRAGMENT_SPREAD||tt.kind===Kind.INLINE_FRAGMENT}const API_SUFFIX="/graphql-to-json";async function convertGraphQLToJsonQuery({query:tt,apiUrl:nt,apiToken:st}){if(!tt.trim()||!nt)return"{}";const vt=await(await fetch(nt+API_SUFFIX,{method:"POST",headers:{Authorization:st||"","Content-Type":"application/json"},body:JSON.stringify({query:tt})})).json();return vt.jsonQuery?JSON.stringify(vt.jsonQuery,null,2):"{}"}function metaToTypes(tt){const nt={};return Object.values(tt.cubesMap).forEach(st=>{Object.values(st).forEach(mt=>{Object.values(mt).forEach(({name:vt,type:gt})=>{nt[vt]=gt})})}),nt}function convertJsonQueryToGraphQL({meta:tt,query:nt}){const st=tt?metaToTypes(tt):null;return st?new CubeGraphQLConverter(nt,st).convert():""}const singleValueOperators=["gt","gte","lt","lte"],OPERATORS_MAP={equals:"in",notEquals:"notIn",notSet:"set"};function baseCubeQuery(tt,nt,st="CubeQuery"){return{kind:Kind.DOCUMENT,definitions:[{kind:Kind.OPERATION_DEFINITION,name:{kind:Kind.NAME,value:st},operation:"query",selectionSet:{kind:Kind.SELECTION_SET,selections:[{kind:Kind.FIELD,name:{kind:Kind.NAME,value:"cube"},arguments:tt,selectionSet:{kind:Kind.SELECTION_SET,selections:nt}}]}}]}}class CubeGraphQLConverter{constructor(nt,st){this.cubeQuery=nt,this.types=st,this.cubes={},this.prepareCubes()}convert(){return print$1(baseCubeQuery(this.getCubeArgs(),this.getFieldsSelections()))}resolveFilter(nt,st){const mt=Object.values(nt.reduce((yt,bt)=>{if(bt.or||bt.and)return yt;const[$t,xt]=(bt.member||bt.dimension).split(".");return yt[$t]||(yt[$t]={kind:"PLAIN",cubeName:$t,fields:[],filters:[]}),yt[$t].fields.push(xt),yt[$t].filters.push(bt),yt},{})),vt=nt.map(yt=>yt.and||yt.or?{kind:yt.and?"AND":"OR",filters:yt.and||yt.or}:!1).filter(Boolean);return mt.concat(vt).map(yt=>yt.kind!=="PLAIN"?st?this.objectValue([this.booleanFilter(yt.kind,this.resolveFilter(yt.filters,yt))]):this.booleanFilter(yt.kind,this.resolveFilter(yt.filters,yt)):yt.fields.length===uniqArray(yt.fields).length?st?this.objectValue(this.objectFieldFilter(yt.filters),unCapitalize(yt.cubeName)):this.objectFieldFilter(yt.filters,unCapitalize(yt.cubeName)):this.objectField(this.booleanFilter((st==null?void 0:st.kind)||"AND",yt.filters.map(bt=>((bt.and||bt.or)&&this.resolveFilter(yt.filters,yt.kind),this.objectValue(this.objectFieldFilter(bt))))),unCapitalize(yt.cubeName)))}objectValue(nt,st){return st?{kind:Kind.OBJECT,fields:[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}]}:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}objectFieldFilter(nt,st){const mt=Array.isArray(nt)?nt:[nt],vt=yt=>{const bt=this.types[yt.member||yt.dimension]==="number"?Kind.FLOAT:Kind.STRING;return["set","notSet"].includes(yt.operator)?{kind:Kind.BOOLEAN,value:yt.operator==="set"}:typeof yt.values=="string"?{kind:bt,value:yt.values}:yt.values.length===1?{kind:bt,value:yt.values[0].toString()}:{kind:Kind.LIST,values:yt.values.map($t=>({kind:bt,value:$t}))}},gt=mt.map(yt=>{const bt=yt.member||yt.dimension;if(!this.types[bt])throw new Error(`Unknown member type for "${bt}". Make sure "${bt}" exists in the data model.`);if(singleValueOperators.includes(yt.operator)&&(yt.values||[]).length>1)throw new Error(`Filter operator "${yt.operator}" must have a single value`);return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:bt.split(".")[1]},value:{kind:Kind.OBJECT,fields:yt.values===void 0&&!["set","notSet"].includes(yt.operator)?[]:[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:yt.operator==="equals"&&(yt.values||[]).length<=1?"equals":yt.operator in OPERATORS_MAP?OPERATORS_MAP[yt.operator]:yt.operator},value:vt(yt)}]}}});return st?[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:gt}}]:gt}objectField(nt,st){return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}}booleanFilter(nt,st){return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:nt},value:{kind:Kind.LIST,values:st}}}orderByArg(nt){return{kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:"orderBy"},value:{kind:Kind.OBJECT,fields:nt.map(([st,mt])=>({kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.ENUM,value:mt}}))}}}getFieldsSelections(){const nt=[];return Object.entries(this.cubes).forEach(([st,{fields:mt,orderBy:vt}])=>{nt.push({kind:Kind.FIELD,name:{kind:Kind.NAME,value:st},arguments:vt.length?[this.orderByArg(vt)]:[],selectionSet:{kind:Kind.SELECTION_SET,selections:mt.map(gt=>{let yt=null;return gt.granularities&&(yt={selectionSet:{kind:Kind.SELECTION_SET,selections:gt.granularities.map(bt=>({kind:Kind.FIELD,name:{kind:Kind.NAME,value:bt}}))}}),{kind:Kind.FIELD,name:{kind:Kind.NAME,value:gt.name},...yt}})}})}),nt}getCubeArgs(){const nt=[["timezone",Kind.STRING],["limit",Kind.INT],["offset",Kind.INT]],st=[];nt.forEach(([vt,gt])=>{this.cubeQuery[vt]&&st.push({kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:vt},value:{kind:gt,value:this.cubeQuery[vt]}})});const mt=[...this.cubeQuery.filters||[]];return(this.cubeQuery.timeDimensions||[]).forEach(vt=>{vt.dateRange&&mt.push({member:vt.dimension,operator:"inDateRange",values:vt.dateRange})}),mt.length&&st.push({kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:"where"},value:{kind:Kind.OBJECT,fields:this.resolveFilter(mt)}}),st}prepareCubes(){var mt;const nt=vt=>{this.cubes[vt]||(this.cubes[vt]={fields:[],filters:[],orderBy:[]})};["measures","dimensions","segments"].forEach(vt=>{this.cubeQuery[vt]&&this.cubeQuery[vt].forEach(gt=>{const[yt,bt,$t]=gt.split("."),xt=unCapitalize(yt);let Et=$t;this.types[`${yt}.${bt}`]==="time"&&(Et="value"),nt(xt);const Ct=this.cubes[xt].fields.find(({name:St})=>St===bt);this.cubes[xt].fields.push({name:bt,...Et?{granularities:[...(Ct==null?void 0:Ct.granularities)||[],Et]}:null})})});const st={};(mt=this.cubeQuery.timeDimensions)==null||mt.forEach(vt=>{const[gt,yt]=vt.dimension.split("."),bt=`${gt}.${yt}`;vt.granularity&&(st[bt]=(st[bt]||[]).concat([vt.granularity]))}),Object.entries(st).forEach(([vt,gt])=>{const[yt,bt]=vt.split("."),$t=unCapitalize(yt);nt($t);const xt=this.cubes[$t].fields.find(Et=>Et.name===bt);xt?xt.granularities=uniqArray([...xt.granularities||[],...gt]):this.cubes[$t].fields.push({name:bt,granularities:gt})}),this.cubeQuery.order&&(Array.isArray(this.cubeQuery.order)?this.cubeQuery.order:Object.entries(this.cubeQuery.order)).forEach(([gt,yt])=>{const[bt,$t]=gt.split("."),xt=unCapitalize(bt);if(!this.cubes[xt])throw new Error(`Order without selecting the cube is not allowed. Did you forget to include the "${bt}" cube?`);if(!this.cubes[xt].fields.find(({name:Ct})=>Ct===$t))throw new Error(`Order without selecting the member is not allowed. Did you forget to include the "${$t}" member?`);this.cubes[xt].orderBy.push([$t,yt])})}}const underbar=new RegExp("_","g"),dot=new RegExp("\\.","g"),nonTitlecasedWords=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"];function capitalize$1(tt){return tt=tt.toLowerCase(),tt.substring(0,1).toUpperCase()+tt.substring(1)}function titleize(tt){tt=tt.toLowerCase().replace(underbar," ").replace(dot," ");const nt=tt.split(" "),st=nt.length;let mt,vt;for(let gt=0;gt<st;gt++){mt=nt[gt].split("-"),vt=mt.length;for(let yt=0;yt<vt;yt++)nonTitlecasedWords.indexOf(mt[yt].toLowerCase())<0&&(mt[yt]=capitalize$1(mt[yt]));nt[gt]=mt.join("-")}return tt=nt.join(" "),tt=tt.substring(0,1).toUpperCase()+tt.substring(1),tt}function getMemberSearchName(tt,nt){var mt,vt;const st=(mt=tt.name.split(".")[1])!=null?mt:tt.name;return(vt=nt==="name"?st:"shortTitle"in tt?tt.shortTitle:"title"in tt?tt.title:st)!=null?vt:st}function contains(tt,nt,st){if(nt.length===0)return!0;tt=tt.normalize("NFC"),nt=nt.normalize("NFC");let mt=0,vt=nt.length;for(;mt+vt<=tt.length;mt++){const gt=tt.slice(mt,mt+vt);if(st(nt,gt)===0)return!0}return!1}function useRawFilter(){const tt=reactExports.useMemo(()=>new Intl.Collator("US-en",{usage:"search",sensitivity:"base",ignorePunctuation:!0,localeMatcher:"lookup"}),[]);return useEvent((nt,st)=>st?contains(nt.toLowerCase(),st.toLowerCase(),tt.compare):!0)}function useFilteredCubes(tt,nt,st){const mt=useRawFilter(),vt=nt.reduce(($t,xt)=>($t[xt.name]=xt,$t),{}),gt=$t=>$t.filter(xt=>{const Et=xt.name.split(".")[0],Ct=vt[Et],St=Ct?getMemberSearchName(Ct,st):Et,Tt=getMemberSearchName(xt,st);return mt(St!=null?St:xt.name,tt)||Tt&&mt(Tt,tt)}),yt=[],bt=nt.reduce(($t,xt)=>{var Et,Ct,St,Tt,wt;return $t[xt.name]={measures:gt((Et=xt.measures)!=null?Et:[]).map(Pt=>Pt.name),dimensions:gt((Ct=xt.dimensions)!=null?Ct:[]).map(Pt=>Pt.name),segments:gt((St=xt.segments)!=null?St:[]).map(Pt=>Pt.name),folders:gt((Tt=xt.folders)!=null?Tt:[]).map(Pt=>Pt.name),hierarchies:gt((wt=xt.hierarchies)!=null?wt:[]).map(Pt=>Pt.name)},yt.push(...$t[xt.name].dimensions,...$t[xt.name].measures,...$t[xt.name].segments),$t},{});return{isFiltered:!!tt,cubes:nt.filter($t=>mt(getMemberSearchName($t,st),tt)||bt[$t.name].dimensions.length||bt[$t.name].measures.length||bt[$t.name].segments.length||bt[$t.name].folders.length||bt[$t.name].hierarchies.length),membersByCube:bt,members:yt}}function useFilteredMembers(tt,nt,st="name"){const mt=useRawFilter(),{dimensions:vt,measures:gt,segments:yt,folders:bt,hierarchies:$t}=nt,xt=(Rt,kt)=>{const Nt=getMemberSearchName(Rt,st),Mt=getMemberSearchName(kt,st);return Nt.localeCompare(Mt)},Et=useEvent(Rt=>Rt.filter(kt=>{const Nt=getMemberSearchName(kt,st);return Nt&&mt(Nt,tt)}));if(!tt)return{measures:gt.sort(xt),dimensions:vt.sort(xt),segments:yt.sort(xt),folders:bt.sort(xt),hierarchies:$t.sort(xt),members:[...vt,...gt,...yt]};const Ct=gt.length?Et(gt).sort(xt):[],St=vt.length?Et(vt).sort(xt):[],Tt=yt.length?Et(yt).sort(xt):[],wt=bt.length?Et(bt).sort(xt):[],Pt=$t.length?Et($t).sort(xt):[],Ot=Ct.map(Rt=>Rt.name),Dt=Tt.map(Rt=>Rt.name),At=wt.map(Rt=>Rt.name),_t=St.map(Rt=>Rt.name),It=Pt.map(Rt=>Rt.name);return $t.forEach(Rt=>{It.includes(Rt.name)||Rt.levels.find(kt=>_t.includes(kt))&&(Pt.push(Rt),It.push(Rt.name))}),bt.forEach(Rt=>{At.includes(Rt.name)||Rt.members.find(kt=>_t.includes(kt)||Ot.includes(kt)||Dt.includes(kt)||It.includes(kt))&&wt.push(Rt)}),{measures:Ct,dimensions:St,segments:Tt,folders:wt,hierarchies:Pt,members:[...St,...Ct,...Tt]}}const SIMPLE_MEMBERS=["dimensions","measures","segments"],removeFiltersByMember=(tt,nt)=>!Array.isArray(tt)||!tt.length?[]:tt.map(st=>{if("and"in st||"or"in st){const mt="and"in st?"and":"or",vt=removeFiltersByMember("and"in st?st.and:st.or,nt);return vt.length===0?null:{[mt]:vt}}return"member"in st&&st.member===nt?null:st}).filter(Boolean);function useQueryBuilder(tt){var Xr,Ur,Vr,nn,bn,Hr;const nt=reactExports.useRef({}),st=useIsFirstRender$1();let{cubeApi:mt,schemaVersion:vt,defaultChartType:gt,defaultQuery:yt,defaultPivotConfig:bt,tracking:$t,queryValidator:xt,displayPrivateItems:Et=!0,memberViewType:Ct="name",onQueryChange:St}=tt;function Tt(dr){var Er;let yr=validateQuery(dr);return prepareQuery(yr),xt&&(yr=(Er=xt==null?void 0:xt(dr))!=null?Er:dr),yr}if(st)try{yt=Tt(yt||{})}catch(dr){console.error("Invalid default query",dr),yt={}}const[wt,Pt]=reactExports.useState(null),[Ot,Dt]=reactExports.useState(yt||{}),[At,_t]=reactExports.useState(null),[It,Rt]=reactExports.useState(!1),[kt,Nt]=reactExports.useState(!1),Mt=getQueryHash(Ot),Lt=reactExports.useRef(0),[jt,Ft]=reactExports.useState(!1),[Vt,zt]=reactExports.useState(null),[Bt,Kt]=reactExports.useState(null),[Gt,Wt]=reactExports.useState(null),[Ht,qt]=reactExports.useState(null),Ut=reactExports.useRef(0),[Yt,Qt]=reactExports.useState(!1),[Xt,Zt]=reactExports.useState(null),[tr,rr]=reactExports.useState(null),[Jt,ar]=reactExports.useState(null),nr=reactExports.useRef(0),[ir,or]=reactExports.useState(!1),[er,lr]=reactExports.useState(null),[hr,vr]=reactExports.useState(null),[cr,mr]=reactExports.useState(gt||"line"),[sr,fr]=reactExports.useState([]),[ur,pr]=reactExports.useState({dimensions:{},measures:{},segments:{}}),Cr=(Xr=sr.find(dr=>dr.name===wt))!=null?Xr:null,[gr,Pr]=reactExports.useState(((Ot==null?void 0:Ot.timeDimensions)||[]).filter(dr=>!!dr.dateRange).map(dr=>dr.dimension)),[br,Sr]=reactExports.useState(()=>ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},bt)),Nr=dr=>{qt(dr)},{usedCubes:Ar,usedMembers:_r,usedMembersInFilters:Fr,usedMembersInGrouping:Gr,usedGranularities:Tr}=reactExports.useMemo(()=>getUsedCubesAndMembers(Ot,gr),[Ot,gr.join()]),[zr,Kr]=reactExports.useMemo(()=>{var dr,yr,Er,Mr;return[Ar.filter(wr=>!sr.some(Ir=>Ir.name===wr)),[...((dr=Ot.dimensions)==null?void 0:dr.filter(wr=>!ur.dimensions[wr]).map(wr=>({name:wr,category:"dimensions"})))||[],...((yr=Ot.measures)==null?void 0:yr.filter(wr=>!ur.measures[wr]).map(wr=>({name:wr,category:"measures"})))||[],...((Er=Ot.segments)==null?void 0:Er.filter(wr=>!ur.segments[wr]).map(wr=>({name:wr,category:"segments"})))||[],...((Mr=Ot.timeDimensions)==null?void 0:Mr.filter(wr=>!ur.dimensions[wr.dimension]).map(({dimension:wr,granularity:Ir})=>({name:wr,category:"timeDimensions",granularity:Ir})))||[],...Fr.filter(wr=>!ur.dimensions[wr]&&!ur.measures[wr]).map(wr=>({name:wr,category:"dimensions"}))||[]]]},[Ar,_r,Xt]);sr.sort((dr,yr)=>{const Er=an(dr.name),Mr=an(yr.name);return Er>Mr?-1:Er<Mr?1:0});async function Yr(){const dr=++Lt.current;if(!mt)return Promise.reject();const yr=JSON.parse(JSON.stringify(Ot));return Ft(!0),qt(null),zt(null),Promise.all([mt.load(Ot,{mutexObj:nt.current,mutexKey:"query",progressCallback:Nr}),mt.sql(Ot)]).then(([Er,Mr])=>{dr===Lt.current&&(Nt(!1),Rt(!1),Ft(!1),_t(yr),Kt(Er),Wt(Mr),qt(null),$t==null||$t.event("load_request_success:frontend",{isNewPlayground:!0}))}).catch(Er=>{dr===Lt.current&&(Ft(!1),qt(null),zt(Er))})}function dn(){Lt.current++,Ft(!1)}function fn(){Lt.current++,Ft(!1),Zr({}),_t(null),Kt(null),Pr([]),zt(null),Pt(null),zt(null),lr(null)}function yn(){const dr=++Ut.current;if(mt)return Qt(!0),mt.meta().then(yr=>{if(dr!==Ut.current)return;const Er=wr=>Et?!0:wr.public;Qt(!1),Zt(yr);const Mr={dimensions:{},measures:{},segments:{}};yr.meta.cubes.filter(Er).forEach(wr=>{wr.dimensions.filter(Er).forEach(Ir=>{Mr.dimensions[Ir.name]=Ir}),wr.measures.filter(Er).forEach(Ir=>{Mr.measures[Ir.name]=Ir}),wr.segments.filter(Er).forEach(Ir=>{Mr.segments[Ir.name]=Ir})}),pr(Mr),fr(yr.meta.cubes.filter(Er).map(wr=>({...wr,measures:wr.measures.filter(Er),dimensions:wr.dimensions.filter(Er),segments:wr.segments.filter(Er)})).sort((wr,Ir)=>wr.name.localeCompare(Ir.name)))}).catch(yr=>{var Er,Mr;dr===Ut.current&&(Qt(!1),rr(((Mr=(Er=yr.response)==null?void 0:Er.plainError)==null?void 0:Mr.trim())||String(yr)),ar(yr))})}function $n(){const dr=++nr.current;!Xt||!mt||!Ar.length||(or(!0),mt.dryRun(Ot).then(yr=>{dr===nr.current&&(lr(null),or(!1),vr(yr),Sr(ResultSet.getNormalizedPivotConfig(yr.pivotQuery,br)))}).catch(yr=>{var Er;dr===nr.current&&(or(!1),lr(((Er=yr.response)==null?void 0:Er.plainError)||yr.message||String(yr)))}))}function Zr(dr){Dt(yr=>{try{const Er=getQueryHash(yr);let Mr=Tt(dr);return Er!==getQueryHash(Mr)?Mr:yr}catch(Er){return console.error("An invalid query has been set",dr),yr}})}function Lr(dr){Dt(yr=>{const Er=JSON.parse(JSON.stringify(yr));try{const Mr=getQueryHash(Er);let wr;if(typeof dr=="function"){const Ir=dr(Er);if(!Ir)return yr;wr=Tt({...Er,...Ir})}else wr=Tt({...Er,...dr});return Mr!==getQueryHash(wr)?wr:yr}catch(Mr){return console.error("An invalid query has been set",Ot),yr}})}function Br(dr){return sr.find(yr=>yr.name===dr)}function an(dr){return Ar.includes(dr)}function Jr(dr){return _r.includes(dr)}function rn(dr){const yr=ur.dimensions[dr]||ur.measures[dr];return!yr||!("format"in yr)?null:yr.format}const Dr=useEvent(dr=>{var wr;const yr=[dr],Er=dr.split(".")[0],Mr=Br(Er);if(Mr){const Ir=((wr=Mr.hierarchies)!=null?wr:[]).filter(Rr=>Rr.levels.includes(dr));if(Ir.length===1){const Rr=Ir[0].levels;Rr.some(jr=>{var Wr;return(Wr=Ot.dimensions)==null?void 0:Wr.includes(jr)})||Rr.slice(0,Rr.indexOf(dr)).reverse().forEach(jr=>{if(yr.includes(jr))return yr;yr.push(jr)})}}return yr.reverse()}),tn=SIMPLE_MEMBERS.reduce((dr,yr)=>(dr[yr]={add(Er){if(!ur[yr][Er])return console.log(`Unable to add ${yr.slice(0,-1)}. Member is not found`,Er),!1;let wr=[Er];return yr==="dimensions"&&(wr=Dr(Er)),Lr(Ir=>{const Rr=Ir[yr]||[];return wr.forEach(jr=>{Rr!=null&&Rr.includes(jr)||Rr.push(jr)}),{[yr]:Rr}}),!0},remove(Er){return Lr(Mr=>{const wr=Mr[yr]||[],Ir=wr==null?void 0:wr.indexOf(Er);return Ir!==-1&&wr.splice(Ir,1),{[yr]:wr}}),!0},toggle(Er){return Lr(Mr=>{const wr=Mr[yr]||[],Ir=wr==null?void 0:wr.indexOf(Er);if(Ir===-1){if(!ur[yr][Er]){console.log(`Unable to toggle ${yr.slice(0,-1)}. Member is not found`,Er);return}yr==="dimensions"?wr.push(...Dr(Er)):wr.push(Er)}else wr.splice(Ir,1);return{[yr]:wr}}),!0},clear(){Lr(()=>({[yr]:[]}))},get list(){return Ot[yr]||[]}},dr),{}),un={add(dr,yr){const Er=ur.dimensions[dr];return Er?Er.type!=="time"?(console.log("Unable to set grouping. Incorrect member type",{name:dr,type:Er.type}),!1):(Lr(Mr=>{const{timeDimensions:wr=[]}=Mr,Ir=wr.find(Rr=>Rr.dimension===dr);return Ir?Ir.granularity=yr:wr.push({dimension:dr,granularity:yr}),{timeDimensions:wr}}),!0):(console.log("Unable to set grouping. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{let{timeDimensions:Er=[]}=yr;const Mr=Er.find(wr=>wr.dimension===dr);if(Mr)return delete Mr.granularity,Mr.dateRange||(Er=Er.filter(wr=>wr.dimension!==dr)),{timeDimensions:Er}}),!0},toggle(dr,yr){return Lr(Er=>{let{timeDimensions:Mr=[]}=Er;const wr=Mr.find(Ir=>Ir.dimension===dr);if(wr)wr.granularity===yr?(delete wr.granularity,wr.dateRange||(Mr=Mr.filter(Ir=>Ir.dimension!==dr))):wr.granularity=yr;else{const Ir=ur.dimensions[dr];if(!Ir){console.log("Unable to toggle grouping. Member is not found",dr);return}if(Ir.type!=="time"){console.log("Unable to toggle grouping. Incorrect member type",{name:dr,type:Ir.type});return}Mr.push({dimension:dr,granularity:yr})}return{timeDimensions:Mr}}),!0},get(dr){var Er;const{timeDimensions:yr=[]}=Ot;return(Er=yr.find(Mr=>Mr.dimension===dr))==null?void 0:Er.granularity},getAll(){const{timeDimensions:dr=[]}=Ot;return dr.filter(yr=>yr.granularity)},reorder(dr){Lr(yr=>{const{timeDimensions:Er=[]}=yr;return{timeDimensions:Er.sort((wr,Ir)=>{const Rr=dr.indexOf(wr.dimension),jr=dr.indexOf(Ir.dimension);return Rr-jr})}})},clear(){Lr(dr=>{var yr;return{timeDimensions:(yr=dr.timeDimensions)==null?void 0:yr.filter(Er=>!Er.granularity)}})}},gn={set(dr,yr){const Er=ur.dimensions[dr];return Er?Er.type!=="time"?(console.log("Unable to add date range. Incorrect member type",{name:dr,type:Er.type}),!1):(Pr(Mr=>Mr.includes(dr)?Mr:[...Mr,dr]),yr&&Lr(Mr=>{const{timeDimensions:wr=[]}=Mr,Ir=wr.find(Rr=>Rr.dimension===dr);return Ir?Ir.dateRange=yr:wr.push({dimension:dr,dateRange:yr}),{timeDimensions:wr}}),!0):(console.log("Unable to add date range. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{let{timeDimensions:Er=[]}=yr;const Mr=Er.find(wr=>wr.dimension===dr);if(Mr)return delete Mr.dateRange,Mr.granularity||(Er=Er.filter(wr=>wr.dimension!==dr)),{timeDimensions:Er}}),Pr(yr=>yr.filter(Er=>Er!==dr)),!0},get list(){return gr},clear(){Lr(dr=>{var yr;return{timeDimensions:(yr=dr.timeDimensions)==null?void 0:yr.filter(Er=>!Er.dateRange)}}),Pr([])}},Sn={set(dr,yr){return ur.dimensions[dr]||ur.measures[dr]?(Lr(Mr=>{const wr=Mr.order||{};if(wr[dr]!==yr)return{order:{...wr,[dr]:yr}}}),!0):(console.log("Unable to set order. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{const Er=yr.order||{};if(Er[dr])return delete Er[dr],{order:Er}}),!0},get(dr){return(Ot.order||{})[dr]},get map(){return Ot.order||{}},setOrder(dr){Lr(yr=>{dr=[...dr];const Er=yr.order||{};return Object.keys(Er).forEach(wr=>{typeof wr=="string"&&(dr.includes(wr)||dr.push(Er[wr]))}),{order:dr.reduce((wr,Ir)=>(Ir in Er&&(wr[Ir]=Er[Ir]),wr),{})}})},getOrder(){const dr=Ot.order||{};return Object.keys(dr)},clear(){Lr(()=>({order:void 0}))}},kn={add(dr){if("member"in dr&&dr.member){const yr=dr.member;if(!(ur.dimensions[yr]||ur.measures[yr]))return console.log("Unable to set order. Member is not found",yr),!1}return JSON.stringify(dr),Lr(yr=>{const Er=(yr==null?void 0:yr.filters)||[];return Er.push(dr),{filters:Er}}),!0},remove(dr){return Lr(yr=>{const Er=(yr==null?void 0:yr.filters)||[];return Er.splice(dr,1),{filters:Er}}),!0},removeByMember(dr){return Lr(yr=>{const Er=yr.filters||[];return{filters:removeFiltersByMember(Er,dr)}}),!0},update(dr,yr){return Lr(Er=>{const Mr=(Er==null?void 0:Er.filters)||[];return Mr[dr]=yr,{filters:Mr}}),!0},get list(){return(Ot==null?void 0:Ot.filters)||[]},clear(){Lr(()=>({filters:[]}))}};reactExports.useEffect(()=>{wt&&!Br(wt)&&Pt(null)},[Xt]),reactExports.useEffect(()=>{Xt&&$n()},[Mt,cr,Xt]),reactExports.useEffect(()=>{St==null||St({query:Ot,chartType:cr,pivotConfig:br})},[Mt,cr,br]),reactExports.useEffect(()=>{At&&Nt(!0)},[mt]),reactExports.useEffect(()=>{At&&Rt(!0)},[vt,mt]),reactExports.useEffect(()=>{let dr=!1;((Ot==null?void 0:Ot.timeDimensions)||[]).filter(Er=>!!Er.dateRange).map(Er=>Er.dimension).forEach(Er=>{gr.includes(Er)||(dr=!0,gr.push(Er))}),dr&&Pr([...gr])},[JSON.stringify(Ot.timeDimensions),JSON.stringify(gr)]),reactExports.useEffect(()=>{yn()},[vt,mt]);const On=!((Ur=Ot.measures)!=null&&Ur.length)&&!((Vr=Ot.dimensions)!=null&&Vr.length)&&!((nn=Ot.timeDimensions)!=null&&nn.length)&&!((bn=Ot.filters)!=null&&bn.length)&&!((Hr=Ot.segments)!=null&&Hr.length),Tn=Ar[0]?(()=>{var yr;const dr=Ar.find(Er=>{var Mr;return(Mr=Br(Er))==null?void 0:Mr.connectedComponent});return dr?(yr=Br(dr))==null?void 0:yr.connectedComponent:void 0})():void 0,Pn=Ar.length?sr.filter(dr=>Tn!=null?dr.connectedComponent===Tn:dr.name===Ar[0]):[...sr],An=Pn.map(dr=>dr.name),xn=reactExports.useMemo(()=>Ar.length?{dimensions:Object.fromEntries(Object.entries(ur.dimensions).filter(([dr])=>An.includes(dr.split(".")[0]))),measures:Object.fromEntries(Object.entries(ur.measures).filter(([dr])=>An.includes(dr.split(".")[0]))),segments:Object.fromEntries(Object.entries(ur.segments).filter(([dr])=>An.includes(dr.split(".")[0])))}:{dimensions:ur.dimensions,measures:ur.measures,segments:ur.segments},[An.join(",")]),_n={moveItem:({sourceIndex:dr,destinationIndex:yr,sourceAxis:Er,destinationAxis:Mr})=>{Sr(ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},{...br,...movePivotItem(br,dr,yr,Er,Mr)}))},update:dr=>{Sr(ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},{...br,...dr}))}},$r=reactExports.useMemo(()=>{var Wr,qr;const dr=(Ot==null?void 0:Ot.measures)||[],yr=(Ot==null?void 0:Ot.dimensions)||[],Er=(Ot==null?void 0:Ot.segments)||[],Mr=extractMembersFromFilters((Ot==null?void 0:Ot.filters)||[]),wr=((Wr=Ot==null?void 0:Ot.timeDimensions)==null?void 0:Wr.filter(cn=>cn.dateRange).map(cn=>cn.dimension))||[],Ir=((qr=Ot==null?void 0:Ot.timeDimensions)==null?void 0:qr.filter(cn=>cn.granularity).map(cn=>cn.dimension))||[],Rr=[...dr,...yr,...Er,...Mr,...wr,...Ir],jr=[];return Rr.forEach(cn=>{const Dn=cn.split(".")[0];jr.includes(Dn)||jr.push(Dn)}),jr.reduce((cn,Dn)=>{var Hn,qn;const wn=Br(Dn),on={measures:[],dimensions:[],segments:[],filters:[],folders:{},hierarchies:{},dateRanges:[],grouping:[],timeDimensions:[],instance:wn,isUsed:!1},jn=`${Dn}.`;return dr==null||dr.forEach(En=>{En.includes(jn)&&(on.measures.push(En),on.isUsed=!0)}),yr==null||yr.forEach(En=>{En.includes(jn)&&(on.dimensions.push(En),on.isUsed=!0)}),Er==null||Er.forEach(En=>{En.includes(jn)&&(on.segments.push(En),on.isUsed=!0)}),Mr.forEach(En=>{En.includes(jn)&&(on.filters.push(En),on.isUsed=!0)}),wr.forEach(En=>{En.includes(jn)&&(on.dateRanges.push(En),on.isUsed=!0)}),Ir.forEach(En=>{En.includes(jn)&&(on.grouping.push(En),on.isUsed=!0)}),on.timeDimensions=[...on.dateRanges],on.grouping.forEach(En=>{on.timeDimensions.includes(En)||on.timeDimensions.push(En)}),(Hn=wn==null?void 0:wn.hierarchies)==null||Hn.forEach(En=>{const zn=En.name;on.hierarchies[zn]=[];const Ln=on.hierarchies[zn];En.levels.forEach(Mn=>{on.dimensions.includes(Mn)&&Ln.push(Mn)})}),(qn=wn==null?void 0:wn.folders)==null||qn.forEach(En=>{const zn=En.name;on.folders[zn]={dimensions:[],measures:[],segments:[],grouping:[]};const Ln=on.folders[zn];En.members.forEach(Mn=>{on.dimensions.includes(Mn)?Ln.dimensions.includes(Mn)||Ln.dimensions.push(Mn):on.measures.includes(Mn)?Ln.measures.includes(Mn)||Ln.measures.push(Mn):on.segments.includes(Mn)?Ln.segments.includes(Mn)||Ln.segments.push(Mn):on.hierarchies[Mn]&&on.hierarchies[Mn].forEach(Wn=>{Ln.dimensions.includes(Wn)||Ln.dimensions.push(Wn)}),Ir.includes(Mn)&&Ln.grouping.push(Mn)})}),cn[Dn]=on,cn},{})},[Mt,Xt,sr.length]),xr=reactExports.useMemo(()=>[...Object.values(ur.dimensions),...Object.values(ur.measures)],[ur]),Or=reactExports.useMemo(()=>_r.some(dr=>{const yr=xr.find(Er=>Er.name===dr);return!(yr!=null&&yr.public)}),[Ar,_r]);return{memberViewType:Ct,query:JSON.parse(JSON.stringify(Ot)),queryHash:Mt,executedQuery:At,runQuery:Yr,stopQuery:dn,clearQuery:fn,setQuery:Zr,updateQuery:Lr,isVerifying:ir,verificationError:er,isQueryTouched:!At||Mt!==getQueryHash(At),error:Vt,isLoading:jt,progress:Ht,meta:Xt,isMetaLoading:Yt,metaError:tr,richMetaError:Jt,loadMeta:yn,queryStats:$r,pivotConfig:br,updatePivotConfig:_n,resultSet:Bt,dryRunResponse:hr,sqlQuery:Gt,getCubeByName:Br,getMemberFormat:rn,cubes:sr,members:ur,joinableCubes:Pn,joinableMembers:xn,usedCubes:Ar,usedMembers:_r,usedGranularities:Tr,usedMembersInGrouping:Gr,usedMembersInFilters:Fr,missingCubes:zr,missingMembers:Kr,...tn,grouping:un,dateRanges:gn,order:Sn,filters:kn,chartType:cr,hasPrivateMembers:Or,setChartType:mr,isCubeJoined:an,isMemberJoined:Jr,isCubeUsed:an,isQueryEmpty:On,isApiTokenChanged:kt,isDataModelChanged:It,isResultOutdated:!!(At&&(Mt!==getQueryHash(At)||kt||It)),cubeApi:mt,mutexObj:nt.current,selectedCube:Cr,selectCube:useEvent(dr=>Pt(dr)),totalRows:Bt==null?void 0:Bt.totalRows()}}function useHasOverflow(tt){const[nt,st]=reactExports.useState(!1);return reactExports.useEffect(()=>{const mt=tt==null?void 0:tt.current,vt=()=>{var yt,bt;const gt=((yt=mt==null?void 0:mt.scrollWidth)!=null?yt:0)>((bt=mt==null?void 0:mt.clientWidth)!=null?bt:0);st(gt)};return tt||st(!1),mt==null||mt.addEventListener("mouseenter",vt),()=>{mt==null||mt.removeEventListener("mouseenter",vt)}},[tt==null?void 0:tt.current]),nt}const storage=new class{constructor(){this.emitter=mitt(),window.addEventListener("storage",nt=>{if(nt.key==null){this.emitter.emit("clear");return}if(nt.oldValue!==nt.newValue){let st;try{st=JSON.parse(nt.newValue||"")}catch(mt){st=nt.newValue}nt.key&&this.emit(nt.key,st)}})}emit(nt,st){this.emitter.emit(nt,st)}subscribe(nt,st){this.emitter.on(nt,st)}unsubscribe(nt,st){this.emitter.off(nt,st)}onClear(nt){this.emitter.on("clear",nt)}onClearUnsubscribe(nt){this.emitter.off("clear",nt)}setItem(nt,st){if(st===void 0)localStorage.removeItem(nt);else{const mt=JSON.stringify(st);localStorage.setItem(nt,mt)}this.emit(nt,st)}getItem(nt,st){try{const mt=localStorage.getItem(nt),vt=typeof mt=="string"?JSON.parse(mt):void 0;return typeof st=="function"?st(vt):vt!==void 0?vt:st}catch(mt){return typeof st=="function"?st(null):st}}removeItem(nt){this.setItem(nt,void 0)}};function useLocalStorage(tt,nt){const st=()=>storage.getItem(tt,nt),[mt,vt]=reactExports.useState(st);reactExports.useEffect(()=>(vt(st),storage.subscribe(tt,yt=>{vt(typeof nt=="function"?nt(yt):yt!=null?yt:nt)}),()=>{storage.unsubscribe(tt,vt)}),[tt]);const gt=useEvent(()=>{vt(()=>null)});return reactExports.useEffect(()=>(storage.onClear(gt),()=>storage.onClearUnsubscribe(gt)),[tt]),reactExports.useMemo(()=>{function yt($t){return storage.setItem(tt,$t),$t}function bt(){storage.removeItem(tt)}return[mt,yt,bt]},[tt,mt])}function useStoredTimezones(tt){tt=tt!=null?tt:"";const[nt,st]=useLocalStorage("QueryBuilder:timezones",[]);return reactExports.useEffect(()=>{const mt=nt.filter(vt=>vt!==tt);for(mt.unshift(tt!=null?tt:"");mt.length>5;)mt.pop();st([...mt])},[tt]),nt}function useUnmountEffect(tt){const nt=useEvent(tt);reactExports.useEffect(()=>nt,[])}function useDebouncedCallback(tt,nt,st,mt=0){const vt=reactExports.useRef(),gt=reactExports.useRef(),yt=reactExports.useRef(),bt=()=>{vt.current&&(clearTimeout(vt.current),vt.current=void 0),gt.current&&(clearTimeout(gt.current),gt.current=void 0)};return useUnmountEffect(bt),reactExports.useMemo(()=>{const $t=()=>{if(!yt.current)return;const Et=yt.current;yt.current=void 0,Et.resolve(tt.apply(Et.this,Et.args)),bt()},xt=function(...Et){return new Promise((Ct,St)=>{if(vt.current&&clearTimeout(vt.current),yt.current={args:Et,this:this,resolve:Ct},st===0){$t();return}vt.current=setTimeout($t,st),mt>0&&!gt.current&&(gt.current=setTimeout($t,mt))})};return Object.defineProperties(xt,{length:{value:tt.length},name:{value:`${tt.name||"anonymous"}__debounced__${st}`}}),xt},[st,mt,...nt])}function useIntervalEffect(tt,nt,st=!1){const mt=useEvent(()=>reactDomExports.unstable_batchedUpdates(tt)),vt=reactExports.useRef(null),gt=reactExports.useCallback(()=>{vt.current!==null&&(clearInterval(vt.current),vt.current=null)},[]),yt=useEvent(()=>{gt(),st&&mt(),vt.current=setInterval(mt,nt)});return reactExports.useEffect(()=>(yt(),gt),[nt]),[gt,yt]}function useDeepDependencies(tt){const nt=reactExports.useRef([]);return equals(nt.current,tt)||(nt.current=tt),nt.current}function useDeepMemo(tt,nt){const st=useDeepDependencies(nt);return reactExports.useMemo(tt,st)}function useDebouncedState(tt,nt,st=0){const[mt,vt]=reactExports.useState(tt),gt=reactExports.useRef(mt),yt=useDebouncedCallback(vt,[],nt,st),bt=useEvent($t=>{gt.current=$t instanceof Function?$t(gt.current):$t,yt(gt.current)});return[mt,bt]}function useDebouncedValue(tt,nt,st){const[mt,vt]=useDebouncedState(tt,nt,st);return tt!==mt&&vt(tt),mt}function useServerCoreVersionGte(tt,nt){if(nt){let st=!1;try{const[mt,vt,gt]=nt.split(".").map(Number),[yt,bt,$t]=tt.split(".").map(Number);st=mt>yt||mt===yt&&vt>bt||mt===yt&&vt===bt&>>=$t}catch(mt){}return st}return!0}function useOutsideFocus(tt,nt){reactExports.useEffect(()=>{function st(mt){tt.current&&!tt.current.contains(mt.target)&&nt()}return document.addEventListener("focus",st,!0),document.addEventListener("blur",st,!0),document.addEventListener("mousedown",st,!0),()=>{document.removeEventListener("focus",st,!0),document.removeEventListener("blur",st,!0),document.removeEventListener("mousedown",st,!0)}},[tt,nt])}function useIsFirstRender(){const tt=reactExports.useRef(!0);return tt.current?(tt.current=!1,!0):tt.current}let urlAlphabet="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",nanoid=(tt=21)=>{let nt="",st=tt|0;for(;st--;)nt+=urlAlphabet[Math.random()*64|0];return nt};const useUniqID=({length:tt=5,prefix:nt="id"}={})=>reactExports.useMemo(()=>`${nt}_${nanoid(tt)}`,[nt,tt]);function useShownMemberName(tt){var St;let{cubeName:nt,cubeTitle:st,memberName:mt,memberTitle:vt,type:gt="name"}=tt;mt=(St=mt.split(".")[1])!=null?St:mt;const yt=gt==="name"?nt:st!=null?st:titleize(nt),bt=gt==="name"?mt:vt!=null?vt:titleize(mt),$t=`${yt}${gt==="name"?".":" "}${bt}`,xt=st&&nt===titleize(st),Et=vt&&mt===titleize(vt);return{shownCubeName:yt,shownMemberName:bt,shownFullName:$t,isAutoName:xt&&Et,isAutoMemberName:Et,isAutoCubeName:xt}}function useDimensionValues({cubeApi:tt,mutexObj:nt,dimension:st,skip:mt}){const[vt,gt]=reactExports.useState(!1),[yt,bt]=reactExports.useState([]),[$t,xt]=reactExports.useState(null),Et=reactExports.useRef(),Ct=reactExports.useRef({});nt=nt!=null?nt:Ct.current;function St(){xt(null),!(!st||!tt||st===Et.current)&&(Et.current=st,gt(!0),tt.load({dimensions:[st]},{mutexObj:nt,mutexKey:`dimension-values:${st}`}).then(Tt=>{var Ot,Dt,At;if(st!==Et.current)return;const Pt=(((At=(Dt=(Ot=Tt.loadResponse)==null?void 0:Ot.results)==null?void 0:Dt[0])==null?void 0:At.data)||[]).map(_t=>_t[st]).filter(Boolean);Pt.join()!==yt.join()&&bt(Pt),gt(!1)}).catch(Tt=>{st===Et.current&&(xt(String(Tt.message||Tt)),gt(!1),Et.current=void 0)}))}return reactExports.useEffect(()=>{Ct.current={},Et.current=void 0},[tt]),reactExports.useEffect(()=>{st&&!mt?St():gt(!1)},[st,tt,mt]),{isLoading:vt,suggestions:yt,error:$t}}const QUERY_BUILDER_COLOR_TOKENS={"@time-dimension-strong-color":"rgb(23, 70, 13)","@time-dimension-text-color":"rgb(65, 113, 57)","@time-dimension-active-color":"rgb(199, 219, 195)","@time-dimension-hover-color":"rgb(228, 244, 225)","@measure-strong-color":"rgb(76, 55, 0)","@measure-text-color":"rgb(126, 94, 7)","@measure-active-color":"rgb(225, 210, 183)","@measure-hover-color":"rgb(248, 241, 227)","@dimension-strong-color":"rgb(35, 54, 110)","@dimension-text-color":"rgb(74, 96, 156)","@dimension-active-color":"rgb(200, 212, 239)","@dimension-hover-color":"rgb(231, 238, 255)","@segment-strong-color":"rgb(72, 41, 98)","@segment-text-color":"rgb(114, 83, 144)","@segment-active-color":"rgb(219, 206, 233)","@segment-hover-color":"rgb(244, 234, 255)","@filter-strong-color":"rgb(95, 31, 64)","@filter-text-color":"rgb(142, 73, 106)","@filter-active-color":"rgb(255, 191, 218)","@filter-hover-color":"rgb(255, 231, 240)","@missing-strong-color":"rgb(58, 58, 58)","@missing-text-color":"rgb(99, 99, 99)","@missing-active-color":"rgb(212, 212, 212)","@missing-hover-color":"rgb(238, 238, 238)"},TabsContext=reactExports.createContext(void 0),TabsElement=tasty({styles:{display:"grid",gridColumns:"max-content max-content",placeContent:"stretch space-between",placeItems:"end",overflow:"auto",shadow:"inset 0 -1bw 0 #border",width:"100%",padding:"0 2x",scrollbarWidth:"none",Container:{display:"grid",gridAutoFlow:"column",gap:{"":0,card:"1bw"},placeContent:"start"},Extra:{placeSelf:"center"},"--border-color":"rgb(234,234,238)","--light-purple-color":"rgb(243,243,255)"}}),TabContainer=tasty({styles:{position:"relative",display:"grid"}}),TabElement=tasty(Action,{styles:{position:"relative",preset:{"":"t3m",'[data-size="large"]':"t2m"},display:"grid",flow:"column",gap:"1x",placeContent:"space-between",placeItems:"center start",padding:"1.25x @delete-padding 1.25x 1.5x",cursor:"pointer",border:{"":"none",card:!0},fill:{"":"#white",card:"#light","hovered && card":"#light-purple",active:"#white"},color:{"":"#dark-02",hovered:"#purple",active:"#purple-text","disabled & !active":"#dark-04"},borderBottom:{"":"none",card:"none"},shadow:{"":"inset 0 -1bw 0 #border",active:"inset 0 -1ow 0 #purple","card & active":"inset 0 -1bw 0 #white"},radius:"top",backgroundClip:"border-box",width:"max 100%",transition:"theme, borderBottom",whiteSpace:"nowrap",outline:!1,"@delete-padding":{"":"1.5x",deletable:"4.5x"},"&::before":{content:'""',display:"block",position:"absolute",inset:"0 0 -1ow 0",pointerEvents:"none",radius:"top",shadow:{"":"inset 0 0 0 #purple",focused:"inset 0 0 0 1ow #purple-03"},transition:"theme",zIndex:1}}}),TabCloseButton=tasty(Action,{"aria-label":"Delete tab",styles:{position:"absolute",top:"1x",right:"1x",display:"grid",placeItems:"center",padding:".5x",cursor:"pointer",fontSize:"12px",fill:{"":"#clean",hovered:"#purple.04"},color:{"":"#dark-03","hovered | pressed":"#purple"},radius:!0,transition:"theme"},children:jsx(CloseIcon,{})});function Tabs(tt){const[nt,st]=reactExports.useState(new Map),{label:mt,activeKey:vt,size:gt,type:yt,onChange:bt,onDelete:$t,children:xt,styles:Et,extra:Ct,prerender:St,keepMounted:Tt}=tt,wt=yt==="card",Pt=useEvent((Dt,At)=>{st(_t=>{const It=new Map(_t);return At?It.set(Dt,At):It.delete(Dt),It})}),Ot=reactExports.useMemo(()=>({card:wt,deletable:!!$t}),[wt,$t]);return jsxs(TabsContext.Provider,{value:{activeKey:vt,onChange:bt,onDelete:$t,type:yt,size:gt,setTabContent:Pt,prerender:St,keepMounted:Tt},children:[jsxs(TabsElement,{qa:"Tabs","aria-label":mt!=null?mt:"Tabs","data-size":gt!=null?gt:"normal",mods:Ot,styles:Et,children:[jsx("div",{"data-element":"Container",children:xt}),Ct?jsx("div",{"data-element":"Extra",children:Ct}):null]}),[...nt.entries()].map(([Dt,{content:At,prerender:_t,keepMounted:It}])=>_t||Dt===vt||It?jsx("div",{"data-qa":"TabPanel","data-qaval":Dt,style:{display:Dt===vt?"contents":"none"},children:At},Dt):null)]})}function Tab(tt){let{title:nt,id:st,isDisabled:mt,prerender:vt,keepMounted:gt,qa:yt,qaVal:bt,styles:$t,children:xt}=tt;const Et=reactExports.useRef(null),{activeKey:Ct,size:St,type:Tt,onChange:wt,onDelete:Pt,setTabContent:Ot,...Dt}=reactExports.useContext(TabsContext)||{};vt=vt!=null?vt:Dt.prerender,gt=gt!=null?gt:Dt.keepMounted;const At=st===Ct,_t=useEvent(()=>{Pt==null||Pt(st)}),It=useEvent(()=>{wt==null||wt(st)}),Rt=Tt==="card",kt=!!Pt;reactExports.useLayoutEffect(()=>{vt||At?Ot==null||Ot(st,{content:xt,prerender:vt!=null?vt:!1,keepMounted:gt!=null?gt:!1}):gt||Ot==null||Ot(st,null)},[xt,At,gt,vt,Ot]),reactExports.useLayoutEffect(()=>()=>{Ot==null||Ot(st,null)},[]);const Nt=reactExports.useMemo(()=>({card:Rt,active:At,deletable:kt,disabled:mt}),[Rt,At,kt,mt]);return reactExports.useEffect(()=>{var Mt,Lt;Et.current&&At&&((Lt=(Mt=Et.current.UNSAFE_getDOMNode())==null?void 0:Mt.scrollIntoView)==null||Lt.call(Mt))},[At]),jsxs(TabContainer,{mods:Nt,children:[jsx(TabElement,{ref:Et,qa:yt!=null?yt:`Tab-${st}`,qaVal:bt,isDisabled:mt,styles:$t,mods:Nt,"data-size":St,onPress:It,children:nt}),Pt&&jsx(TabCloseButton,{onPress:_t})]})}Tabs.Tab=Tab;const AccordionContext=reactExports.createContext(null);function AccordionProvider(tt){const{children:nt,qa:st,isLazy:mt,size:vt,isSeparated:gt,titleStyles:yt,contentStyles:bt}=tt;return jsx(AccordionContext.Provider,{value:{isLazy:mt,qa:st,size:vt,isSeparated:gt,titleStyles:yt,contentStyles:bt},children:nt})}function useAccordionContext(){const tt=reactExports.useContext(AccordionContext);if(!tt)throw new Error("useAccordionContext must be used within a AccordionProvider");return tt}const AccordionNestedContext=reactExports.createContext(null),useAccordionNestedContext=()=>reactExports.useContext(AccordionNestedContext),ACCORDION_CONTENT_HEIGHT_VARIABLE="--accordion-content-height",ANIMATION_TIMEOUT=180,AccordionDetailsContentInnerElement=tasty(Flex$1,{styles:{padding:{"":"1x 0 3x 3x",'[data-size="small"]':"0 0 0 3x",'[data-size="small"] & separated':"0 0 1x 3x"},gap:0,flow:"column"}}),AccordionDetailsContent=reactExports.memo(dt.div`
|
|
2699
|
+
`)!==-1}function hasMultilineItems(tt){return tt!=null&&tt.some(isMultiline)}function isSelectionNode(tt){return tt.kind===Kind.FIELD||tt.kind===Kind.FRAGMENT_SPREAD||tt.kind===Kind.INLINE_FRAGMENT}const API_SUFFIX="/graphql-to-json";async function convertGraphQLToJsonQuery({query:tt,apiUrl:nt,apiToken:st}){if(!tt.trim()||!nt)return"{}";const vt=await(await fetch(nt+API_SUFFIX,{method:"POST",headers:{Authorization:st||"","Content-Type":"application/json"},body:JSON.stringify({query:tt})})).json();return vt.jsonQuery?JSON.stringify(vt.jsonQuery,null,2):"{}"}function metaToTypes(tt){const nt={};return Object.values(tt.cubesMap).forEach(st=>{Object.values(st).forEach(mt=>{Object.values(mt).forEach(({name:vt,type:gt})=>{nt[vt]=gt})})}),nt}function convertJsonQueryToGraphQL({meta:tt,query:nt}){const st=tt?metaToTypes(tt):null;return st?new CubeGraphQLConverter(nt,st).convert():""}const singleValueOperators=["gt","gte","lt","lte"],OPERATORS_MAP={equals:"in",notEquals:"notIn",notSet:"set"};function baseCubeQuery(tt,nt,st="CubeQuery"){return{kind:Kind.DOCUMENT,definitions:[{kind:Kind.OPERATION_DEFINITION,name:{kind:Kind.NAME,value:st},operation:"query",selectionSet:{kind:Kind.SELECTION_SET,selections:[{kind:Kind.FIELD,name:{kind:Kind.NAME,value:"cube"},arguments:tt,selectionSet:{kind:Kind.SELECTION_SET,selections:nt}}]}}]}}class CubeGraphQLConverter{constructor(nt,st){this.cubeQuery=nt,this.types=st,this.cubes={},this.prepareCubes()}convert(){return print$1(baseCubeQuery(this.getCubeArgs(),this.getFieldsSelections()))}resolveFilter(nt,st){const mt=Object.values(nt.reduce((yt,bt)=>{if(bt.or||bt.and)return yt;const[$t,xt]=(bt.member||bt.dimension).split(".");return yt[$t]||(yt[$t]={kind:"PLAIN",cubeName:$t,fields:[],filters:[]}),yt[$t].fields.push(xt),yt[$t].filters.push(bt),yt},{})),vt=nt.map(yt=>yt.and||yt.or?{kind:yt.and?"AND":"OR",filters:yt.and||yt.or}:!1).filter(Boolean);return mt.concat(vt).map(yt=>yt.kind!=="PLAIN"?st?this.objectValue([this.booleanFilter(yt.kind,this.resolveFilter(yt.filters,yt))]):this.booleanFilter(yt.kind,this.resolveFilter(yt.filters,yt)):yt.fields.length===uniqArray(yt.fields).length?st?this.objectValue(this.objectFieldFilter(yt.filters),unCapitalize(yt.cubeName)):this.objectFieldFilter(yt.filters,unCapitalize(yt.cubeName)):this.objectField(this.booleanFilter((st==null?void 0:st.kind)||"AND",yt.filters.map(bt=>((bt.and||bt.or)&&this.resolveFilter(yt.filters,yt.kind),this.objectValue(this.objectFieldFilter(bt))))),unCapitalize(yt.cubeName)))}objectValue(nt,st){return st?{kind:Kind.OBJECT,fields:[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}]}:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}objectFieldFilter(nt,st){const mt=Array.isArray(nt)?nt:[nt],vt=yt=>{const bt=this.types[yt.member||yt.dimension]==="number"?Kind.FLOAT:Kind.STRING;return["set","notSet"].includes(yt.operator)?{kind:Kind.BOOLEAN,value:yt.operator==="set"}:typeof yt.values=="string"?{kind:bt,value:yt.values}:yt.values.length===1?{kind:bt,value:yt.values[0].toString()}:{kind:Kind.LIST,values:yt.values.map($t=>({kind:bt,value:$t}))}},gt=mt.map(yt=>{const bt=yt.member||yt.dimension;if(!this.types[bt])throw new Error(`Unknown member type for "${bt}". Make sure "${bt}" exists in the data model.`);if(singleValueOperators.includes(yt.operator)&&(yt.values||[]).length>1)throw new Error(`Filter operator "${yt.operator}" must have a single value`);return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:bt.split(".")[1]},value:{kind:Kind.OBJECT,fields:yt.values===void 0&&!["set","notSet"].includes(yt.operator)?[]:[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:yt.operator==="equals"&&(yt.values||[]).length<=1?"equals":yt.operator in OPERATORS_MAP?OPERATORS_MAP[yt.operator]:yt.operator},value:vt(yt)}]}}});return st?[{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:gt}}]:gt}objectField(nt,st){return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.OBJECT,fields:Array.isArray(nt)?nt:[nt]}}}booleanFilter(nt,st){return{kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:nt},value:{kind:Kind.LIST,values:st}}}orderByArg(nt){return{kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:"orderBy"},value:{kind:Kind.OBJECT,fields:nt.map(([st,mt])=>({kind:Kind.OBJECT_FIELD,name:{kind:Kind.NAME,value:st},value:{kind:Kind.ENUM,value:mt}}))}}}getFieldsSelections(){const nt=[];return Object.entries(this.cubes).forEach(([st,{fields:mt,orderBy:vt}])=>{nt.push({kind:Kind.FIELD,name:{kind:Kind.NAME,value:st},arguments:vt.length?[this.orderByArg(vt)]:[],selectionSet:{kind:Kind.SELECTION_SET,selections:mt.map(gt=>{let yt=null;return gt.granularities&&(yt={selectionSet:{kind:Kind.SELECTION_SET,selections:gt.granularities.map(bt=>({kind:Kind.FIELD,name:{kind:Kind.NAME,value:bt}}))}}),{kind:Kind.FIELD,name:{kind:Kind.NAME,value:gt.name},...yt}})}})}),nt}getCubeArgs(){const nt=[["timezone",Kind.STRING],["limit",Kind.INT],["offset",Kind.INT]],st=[];nt.forEach(([vt,gt])=>{this.cubeQuery[vt]&&st.push({kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:vt},value:{kind:gt,value:this.cubeQuery[vt]}})});const mt=[...this.cubeQuery.filters||[]];return(this.cubeQuery.timeDimensions||[]).forEach(vt=>{vt.dateRange&&mt.push({member:vt.dimension,operator:"inDateRange",values:vt.dateRange})}),mt.length&&st.push({kind:Kind.ARGUMENT,name:{kind:Kind.NAME,value:"where"},value:{kind:Kind.OBJECT,fields:this.resolveFilter(mt)}}),st}prepareCubes(){var mt;const nt=vt=>{this.cubes[vt]||(this.cubes[vt]={fields:[],filters:[],orderBy:[]})};["measures","dimensions","segments"].forEach(vt=>{this.cubeQuery[vt]&&this.cubeQuery[vt].forEach(gt=>{const[yt,bt,$t]=gt.split("."),xt=unCapitalize(yt);let Et=$t;this.types[`${yt}.${bt}`]==="time"&&(Et="value"),nt(xt);const Ct=this.cubes[xt].fields.find(({name:St})=>St===bt);this.cubes[xt].fields.push({name:bt,...Et?{granularities:[...(Ct==null?void 0:Ct.granularities)||[],Et]}:null})})});const st={};(mt=this.cubeQuery.timeDimensions)==null||mt.forEach(vt=>{const[gt,yt]=vt.dimension.split("."),bt=`${gt}.${yt}`;vt.granularity&&(st[bt]=(st[bt]||[]).concat([vt.granularity]))}),Object.entries(st).forEach(([vt,gt])=>{const[yt,bt]=vt.split("."),$t=unCapitalize(yt);nt($t);const xt=this.cubes[$t].fields.find(Et=>Et.name===bt);xt?xt.granularities=uniqArray([...xt.granularities||[],...gt]):this.cubes[$t].fields.push({name:bt,granularities:gt})}),this.cubeQuery.order&&(Array.isArray(this.cubeQuery.order)?this.cubeQuery.order:Object.entries(this.cubeQuery.order)).forEach(([gt,yt])=>{const[bt,$t]=gt.split("."),xt=unCapitalize(bt);if(!this.cubes[xt])throw new Error(`Order without selecting the cube is not allowed. Did you forget to include the "${bt}" cube?`);if(!this.cubes[xt].fields.find(({name:Ct})=>Ct===$t))throw new Error(`Order without selecting the member is not allowed. Did you forget to include the "${$t}" member?`);this.cubes[xt].orderBy.push([$t,yt])})}}const underbar=new RegExp("_","g"),dot=new RegExp("\\.","g"),nonTitlecasedWords=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"];function capitalize$1(tt){return tt=tt.toLowerCase(),tt.substring(0,1).toUpperCase()+tt.substring(1)}function titleize(tt){tt=tt.toLowerCase().replace(underbar," ").replace(dot," ");const nt=tt.split(" "),st=nt.length;let mt,vt;for(let gt=0;gt<st;gt++){mt=nt[gt].split("-"),vt=mt.length;for(let yt=0;yt<vt;yt++)nonTitlecasedWords.indexOf(mt[yt].toLowerCase())<0&&(mt[yt]=capitalize$1(mt[yt]));nt[gt]=mt.join("-")}return tt=nt.join(" "),tt=tt.substring(0,1).toUpperCase()+tt.substring(1),tt}function getMemberSearchName(tt,nt){var mt,vt;const st=(mt=tt.name.split(".")[1])!=null?mt:tt.name;return(vt=nt==="name"?st:"shortTitle"in tt?tt.shortTitle:"title"in tt?tt.title:st)!=null?vt:st}function contains(tt,nt,st){if(nt.length===0)return!0;tt=tt.normalize("NFC"),nt=nt.normalize("NFC");let mt=0,vt=nt.length;for(;mt+vt<=tt.length;mt++){const gt=tt.slice(mt,mt+vt);if(st(nt,gt)===0)return!0}return!1}function useRawFilter(){const tt=reactExports.useMemo(()=>new Intl.Collator("US-en",{usage:"search",sensitivity:"base",ignorePunctuation:!0,localeMatcher:"lookup"}),[]);return useEvent((nt,st)=>st?contains(nt.toLowerCase(),st.toLowerCase(),tt.compare):!0)}function useFilteredCubes(tt,nt,st){const mt=useRawFilter(),vt=nt.reduce(($t,xt)=>($t[xt.name]=xt,$t),{}),gt=$t=>$t.filter(xt=>{const Et=xt.name.split(".")[0],Ct=vt[Et],St=Ct?getMemberSearchName(Ct,st):Et,Tt=getMemberSearchName(xt,st);return mt(St!=null?St:xt.name,tt)||Tt&&mt(Tt,tt)}),yt=[],bt=nt.reduce(($t,xt)=>{var Et,Ct,St,Tt,wt;return $t[xt.name]={measures:gt((Et=xt.measures)!=null?Et:[]).map(Pt=>Pt.name),dimensions:gt((Ct=xt.dimensions)!=null?Ct:[]).map(Pt=>Pt.name),segments:gt((St=xt.segments)!=null?St:[]).map(Pt=>Pt.name),folders:gt((Tt=xt.folders)!=null?Tt:[]).map(Pt=>Pt.name),hierarchies:gt((wt=xt.hierarchies)!=null?wt:[]).map(Pt=>Pt.name)},yt.push(...$t[xt.name].dimensions,...$t[xt.name].measures,...$t[xt.name].segments),$t},{});return{isFiltered:!!tt,cubes:nt.filter($t=>mt(getMemberSearchName($t,st),tt)||bt[$t.name].dimensions.length||bt[$t.name].measures.length||bt[$t.name].segments.length||bt[$t.name].folders.length||bt[$t.name].hierarchies.length),membersByCube:bt,members:yt}}function useFilteredMembers(tt,nt,st="name"){const mt=useRawFilter(),{dimensions:vt,measures:gt,segments:yt,folders:bt,hierarchies:$t}=nt,xt=(Rt,kt)=>{const Nt=getMemberSearchName(Rt,st),Mt=getMemberSearchName(kt,st);return Nt.localeCompare(Mt)},Et=useEvent(Rt=>Rt.filter(kt=>{const Nt=getMemberSearchName(kt,st);return Nt&&mt(Nt,tt)}));if(!tt)return{measures:gt.sort(xt),dimensions:vt.sort(xt),segments:yt.sort(xt),folders:bt.sort(xt),hierarchies:$t.sort(xt),members:[...vt,...gt,...yt]};const Ct=gt.length?Et(gt).sort(xt):[],St=vt.length?Et(vt).sort(xt):[],Tt=yt.length?Et(yt).sort(xt):[],wt=bt.length?Et(bt).sort(xt):[],Pt=$t.length?Et($t).sort(xt):[],Ot=Ct.map(Rt=>Rt.name),Dt=Tt.map(Rt=>Rt.name),At=wt.map(Rt=>Rt.name),_t=St.map(Rt=>Rt.name),It=Pt.map(Rt=>Rt.name);return $t.forEach(Rt=>{It.includes(Rt.name)||Rt.levels.find(kt=>_t.includes(kt))&&(Pt.push(Rt),It.push(Rt.name))}),bt.forEach(Rt=>{At.includes(Rt.name)||Rt.members.find(kt=>_t.includes(kt)||Ot.includes(kt)||Dt.includes(kt)||It.includes(kt))&&wt.push(Rt)}),{measures:Ct,dimensions:St,segments:Tt,folders:wt,hierarchies:Pt,members:[...St,...Ct,...Tt]}}const SIMPLE_MEMBERS=["dimensions","measures","segments"],removeFiltersByMember=(tt,nt)=>!Array.isArray(tt)||!tt.length?[]:tt.map(st=>{if("and"in st||"or"in st){const mt="and"in st?"and":"or",vt=removeFiltersByMember("and"in st?st.and:st.or,nt);return vt.length===0?null:{[mt]:vt}}return"member"in st&&st.member===nt?null:st}).filter(Boolean);function useQueryBuilder(tt){var Xr,Ur,Vr,nn,bn,Hr;const nt=reactExports.useRef({}),st=useIsFirstRender$1();let{cubeApi:mt,schemaVersion:vt,defaultChartType:gt,defaultQuery:yt,defaultPivotConfig:bt,tracking:$t,queryValidator:xt,displayPrivateItems:Et=!0,memberViewType:Ct="name",onQueryChange:St}=tt;function Tt(dr){var Er;let yr=validateQuery(dr);return prepareQuery(yr),xt&&(yr=(Er=xt==null?void 0:xt(dr))!=null?Er:dr),yr}if(st)try{yt=Tt(yt||{})}catch(dr){console.error("Invalid default query",dr),yt={}}const[wt,Pt]=reactExports.useState(null),[Ot,Dt]=reactExports.useState(yt||{}),[At,_t]=reactExports.useState(null),[It,Rt]=reactExports.useState(!1),[kt,Nt]=reactExports.useState(!1),Mt=getQueryHash(Ot),Lt=reactExports.useRef(0),[jt,Ft]=reactExports.useState(!1),[Vt,zt]=reactExports.useState(null),[Bt,Kt]=reactExports.useState(null),[Gt,Wt]=reactExports.useState(null),[Ht,qt]=reactExports.useState(null),Ut=reactExports.useRef(0),[Yt,Qt]=reactExports.useState(!1),[Xt,Zt]=reactExports.useState(null),[tr,rr]=reactExports.useState(null),[Jt,ar]=reactExports.useState(null),nr=reactExports.useRef(0),[ir,or]=reactExports.useState(!1),[er,lr]=reactExports.useState(null),[hr,vr]=reactExports.useState(null),[cr,mr]=reactExports.useState(gt||"line"),[sr,fr]=reactExports.useState([]),[ur,pr]=reactExports.useState({dimensions:{},measures:{},segments:{}}),Cr=(Xr=sr.find(dr=>dr.name===wt))!=null?Xr:null,[gr,Pr]=reactExports.useState(((Ot==null?void 0:Ot.timeDimensions)||[]).filter(dr=>!!dr.dateRange).map(dr=>dr.dimension)),[br,Sr]=reactExports.useState(()=>ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},bt)),Nr=dr=>{qt(dr)},{usedCubes:Ar,usedMembers:_r,usedMembersInFilters:Fr,usedMembersInGrouping:Gr,usedGranularities:Tr}=reactExports.useMemo(()=>getUsedCubesAndMembers(Ot,gr),[Ot,gr.join()]),[zr,Kr]=reactExports.useMemo(()=>{var dr,yr,Er,Mr;return[Ar.filter(wr=>!sr.some(Ir=>Ir.name===wr)),[...((dr=Ot.dimensions)==null?void 0:dr.filter(wr=>!ur.dimensions[wr]).map(wr=>({name:wr,category:"dimensions"})))||[],...((yr=Ot.measures)==null?void 0:yr.filter(wr=>!ur.measures[wr]).map(wr=>({name:wr,category:"measures"})))||[],...((Er=Ot.segments)==null?void 0:Er.filter(wr=>!ur.segments[wr]).map(wr=>({name:wr,category:"segments"})))||[],...((Mr=Ot.timeDimensions)==null?void 0:Mr.filter(wr=>!ur.dimensions[wr.dimension]).map(({dimension:wr,granularity:Ir})=>({name:wr,category:"timeDimensions",granularity:Ir})))||[],...Fr.filter(wr=>!ur.dimensions[wr]&&!ur.measures[wr]).map(wr=>({name:wr,category:"dimensions"}))||[]]]},[Ar,_r,Xt,ur]);sr.sort((dr,yr)=>{const Er=an(dr.name),Mr=an(yr.name);return Er>Mr?-1:Er<Mr?1:0});async function Yr(){const dr=++Lt.current;if(!mt)return Promise.reject();const yr=JSON.parse(JSON.stringify(Ot));return Ft(!0),qt(null),zt(null),Promise.all([mt.load(Ot,{mutexObj:nt.current,mutexKey:"query",progressCallback:Nr}),mt.sql(Ot)]).then(([Er,Mr])=>{dr===Lt.current&&(Nt(!1),Rt(!1),Ft(!1),_t(yr),Kt(Er),Wt(Mr),qt(null),$t==null||$t.event("load_request_success:frontend",{isNewPlayground:!0}))}).catch(Er=>{dr===Lt.current&&(Ft(!1),qt(null),zt(Er))})}function dn(){Lt.current++,Ft(!1)}function fn(){Lt.current++,Ft(!1),Zr({}),_t(null),Kt(null),Pr([]),zt(null),Pt(null),zt(null),lr(null)}function yn(){const dr=++Ut.current;if(mt)return Qt(!0),mt.meta().then(yr=>{if(dr!==Ut.current)return;const Er=wr=>Et?!0:wr.public;Qt(!1);const Mr={dimensions:{},measures:{},segments:{}};yr.meta.cubes.filter(Er).forEach(wr=>{wr.dimensions.filter(Er).forEach(Ir=>{Mr.dimensions[Ir.name]=Ir}),wr.measures.filter(Er).forEach(Ir=>{Mr.measures[Ir.name]=Ir}),wr.segments.filter(Er).forEach(Ir=>{Mr.segments[Ir.name]=Ir})}),pr(Mr),fr(yr.meta.cubes.filter(Er).map(wr=>({...wr,measures:wr.measures.filter(Er),dimensions:wr.dimensions.filter(Er),segments:wr.segments.filter(Er)})).sort((wr,Ir)=>wr.name.localeCompare(Ir.name))),Zt(yr)}).catch(yr=>{var Er,Mr;dr===Ut.current&&(Qt(!1),rr(((Mr=(Er=yr.response)==null?void 0:Er.plainError)==null?void 0:Mr.trim())||String(yr)),ar(yr))})}function $n(){const dr=++nr.current;!Xt||!mt||!Ar.length||(or(!0),mt.dryRun(Ot).then(yr=>{dr===nr.current&&(lr(null),or(!1),vr(yr),Sr(ResultSet.getNormalizedPivotConfig(yr.pivotQuery,br)))}).catch(yr=>{var Er;dr===nr.current&&(or(!1),lr(((Er=yr.response)==null?void 0:Er.plainError)||yr.message||String(yr)))}))}function Zr(dr){Dt(yr=>{try{const Er=getQueryHash(yr);let Mr=Tt(dr);return Er!==getQueryHash(Mr)?Mr:yr}catch(Er){return console.error("An invalid query has been set",dr),yr}})}function Lr(dr){Dt(yr=>{const Er=JSON.parse(JSON.stringify(yr));try{const Mr=getQueryHash(Er);let wr;if(typeof dr=="function"){const Ir=dr(Er);if(!Ir)return yr;wr=Tt({...Er,...Ir})}else wr=Tt({...Er,...dr});return Mr!==getQueryHash(wr)?wr:yr}catch(Mr){return console.error("An invalid query has been set",Ot),yr}})}function Br(dr){return sr.find(yr=>yr.name===dr)}function an(dr){return Ar.includes(dr)}function Jr(dr){return _r.includes(dr)}function rn(dr){const yr=ur.dimensions[dr]||ur.measures[dr];return!yr||!("format"in yr)?null:yr.format}const Dr=useEvent(dr=>{var wr;const yr=[dr],Er=dr.split(".")[0],Mr=Br(Er);if(Mr){const Ir=((wr=Mr.hierarchies)!=null?wr:[]).filter(Rr=>Rr.levels.includes(dr));if(Ir.length===1){const Rr=Ir[0].levels;Rr.some(jr=>{var Wr;return(Wr=Ot.dimensions)==null?void 0:Wr.includes(jr)})||Rr.slice(0,Rr.indexOf(dr)).reverse().forEach(jr=>{if(yr.includes(jr))return yr;yr.push(jr)})}}return yr.reverse()}),tn=SIMPLE_MEMBERS.reduce((dr,yr)=>(dr[yr]={add(Er){if(!ur[yr][Er])return console.log(`Unable to add ${yr.slice(0,-1)}. Member is not found`,Er),!1;let wr=[Er];return yr==="dimensions"&&(wr=Dr(Er)),Lr(Ir=>{const Rr=Ir[yr]||[];return wr.forEach(jr=>{Rr!=null&&Rr.includes(jr)||Rr.push(jr)}),{[yr]:Rr}}),!0},remove(Er){return Lr(Mr=>{const wr=Mr[yr]||[],Ir=wr==null?void 0:wr.indexOf(Er);return Ir!==-1&&wr.splice(Ir,1),{[yr]:wr}}),!0},toggle(Er){return Lr(Mr=>{const wr=Mr[yr]||[],Ir=wr==null?void 0:wr.indexOf(Er);if(Ir===-1){if(!ur[yr][Er]){console.log(`Unable to toggle ${yr.slice(0,-1)}. Member is not found`,Er);return}yr==="dimensions"?wr.push(...Dr(Er)):wr.push(Er)}else wr.splice(Ir,1);return{[yr]:wr}}),!0},clear(){Lr(()=>({[yr]:[]}))},get list(){return Ot[yr]||[]}},dr),{}),un={add(dr,yr){const Er=ur.dimensions[dr];return Er?Er.type!=="time"?(console.log("Unable to set grouping. Incorrect member type",{name:dr,type:Er.type}),!1):(Lr(Mr=>{const{timeDimensions:wr=[]}=Mr,Ir=wr.find(Rr=>Rr.dimension===dr);return Ir?Ir.granularity=yr:wr.push({dimension:dr,granularity:yr}),{timeDimensions:wr}}),!0):(console.log("Unable to set grouping. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{let{timeDimensions:Er=[]}=yr;const Mr=Er.find(wr=>wr.dimension===dr);if(Mr)return delete Mr.granularity,Mr.dateRange||(Er=Er.filter(wr=>wr.dimension!==dr)),{timeDimensions:Er}}),!0},toggle(dr,yr){return Lr(Er=>{let{timeDimensions:Mr=[]}=Er;const wr=Mr.find(Ir=>Ir.dimension===dr);if(wr)wr.granularity===yr?(delete wr.granularity,wr.dateRange||(Mr=Mr.filter(Ir=>Ir.dimension!==dr))):wr.granularity=yr;else{const Ir=ur.dimensions[dr];if(!Ir){console.log("Unable to toggle grouping. Member is not found",dr);return}if(Ir.type!=="time"){console.log("Unable to toggle grouping. Incorrect member type",{name:dr,type:Ir.type});return}Mr.push({dimension:dr,granularity:yr})}return{timeDimensions:Mr}}),!0},get(dr){var Er;const{timeDimensions:yr=[]}=Ot;return(Er=yr.find(Mr=>Mr.dimension===dr))==null?void 0:Er.granularity},getAll(){const{timeDimensions:dr=[]}=Ot;return dr.filter(yr=>yr.granularity)},reorder(dr){Lr(yr=>{const{timeDimensions:Er=[]}=yr;return{timeDimensions:Er.sort((wr,Ir)=>{const Rr=dr.indexOf(wr.dimension),jr=dr.indexOf(Ir.dimension);return Rr-jr})}})},clear(){Lr(dr=>{var yr;return{timeDimensions:(yr=dr.timeDimensions)==null?void 0:yr.filter(Er=>!Er.granularity)}})}},gn={set(dr,yr){const Er=ur.dimensions[dr];return Er?Er.type!=="time"?(console.log("Unable to add date range. Incorrect member type",{name:dr,type:Er.type}),!1):(Pr(Mr=>Mr.includes(dr)?Mr:[...Mr,dr]),yr&&Lr(Mr=>{const{timeDimensions:wr=[]}=Mr,Ir=wr.find(Rr=>Rr.dimension===dr);return Ir?Ir.dateRange=yr:wr.push({dimension:dr,dateRange:yr}),{timeDimensions:wr}}),!0):(console.log("Unable to add date range. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{let{timeDimensions:Er=[]}=yr;const Mr=Er.find(wr=>wr.dimension===dr);if(Mr)return delete Mr.dateRange,Mr.granularity||(Er=Er.filter(wr=>wr.dimension!==dr)),{timeDimensions:Er}}),Pr(yr=>yr.filter(Er=>Er!==dr)),!0},get list(){return gr},clear(){Lr(dr=>{var yr;return{timeDimensions:(yr=dr.timeDimensions)==null?void 0:yr.filter(Er=>!Er.dateRange)}}),Pr([])}},Sn={set(dr,yr){return ur.dimensions[dr]||ur.measures[dr]?(Lr(Mr=>{const wr=Mr.order||{};if(wr[dr]!==yr)return{order:{...wr,[dr]:yr}}}),!0):(console.log("Unable to set order. Member is not found",dr),!1)},remove(dr){return Lr(yr=>{const Er=yr.order||{};if(Er[dr])return delete Er[dr],{order:Er}}),!0},get(dr){return(Ot.order||{})[dr]},get map(){return Ot.order||{}},setOrder(dr){Lr(yr=>{dr=[...dr];const Er=yr.order||{};return Object.keys(Er).forEach(wr=>{typeof wr=="string"&&(dr.includes(wr)||dr.push(Er[wr]))}),{order:dr.reduce((wr,Ir)=>(Ir in Er&&(wr[Ir]=Er[Ir]),wr),{})}})},getOrder(){const dr=Ot.order||{};return Object.keys(dr)},clear(){Lr(()=>({order:void 0}))}},kn={add(dr){if("member"in dr&&dr.member){const yr=dr.member;if(!(ur.dimensions[yr]||ur.measures[yr]))return console.log("Unable to set order. Member is not found",yr),!1}return JSON.stringify(dr),Lr(yr=>{const Er=(yr==null?void 0:yr.filters)||[];return Er.push(dr),{filters:Er}}),!0},remove(dr){return Lr(yr=>{const Er=(yr==null?void 0:yr.filters)||[];return Er.splice(dr,1),{filters:Er}}),!0},removeByMember(dr){return Lr(yr=>{const Er=yr.filters||[];return{filters:removeFiltersByMember(Er,dr)}}),!0},update(dr,yr){return Lr(Er=>{const Mr=(Er==null?void 0:Er.filters)||[];return Mr[dr]=yr,{filters:Mr}}),!0},get list(){return(Ot==null?void 0:Ot.filters)||[]},clear(){Lr(()=>({filters:[]}))}};reactExports.useEffect(()=>{wt&&!Br(wt)&&Pt(null)},[Xt]),reactExports.useEffect(()=>{Xt&&$n()},[Mt,cr,Xt]),reactExports.useEffect(()=>{St==null||St({query:Ot,chartType:cr,pivotConfig:br})},[Mt,cr,br]),reactExports.useEffect(()=>{At&&Nt(!0)},[mt]),reactExports.useEffect(()=>{At&&Rt(!0)},[vt,mt]),reactExports.useEffect(()=>{let dr=!1;((Ot==null?void 0:Ot.timeDimensions)||[]).filter(Er=>!!Er.dateRange).map(Er=>Er.dimension).forEach(Er=>{gr.includes(Er)||(dr=!0,gr.push(Er))}),dr&&Pr([...gr])},[JSON.stringify(Ot.timeDimensions),JSON.stringify(gr)]),reactExports.useEffect(()=>{yn()},[vt,mt]);const On=!((Ur=Ot.measures)!=null&&Ur.length)&&!((Vr=Ot.dimensions)!=null&&Vr.length)&&!((nn=Ot.timeDimensions)!=null&&nn.length)&&!((bn=Ot.filters)!=null&&bn.length)&&!((Hr=Ot.segments)!=null&&Hr.length),Tn=Ar[0]?(()=>{var yr;const dr=Ar.find(Er=>{var Mr;return(Mr=Br(Er))==null?void 0:Mr.connectedComponent});return dr?(yr=Br(dr))==null?void 0:yr.connectedComponent:void 0})():void 0,Pn=Ar.length?sr.filter(dr=>Tn!=null?dr.connectedComponent===Tn:dr.name===Ar[0]):[...sr],An=Pn.map(dr=>dr.name),xn=reactExports.useMemo(()=>Ar.length?{dimensions:Object.fromEntries(Object.entries(ur.dimensions).filter(([dr])=>An.includes(dr.split(".")[0]))),measures:Object.fromEntries(Object.entries(ur.measures).filter(([dr])=>An.includes(dr.split(".")[0]))),segments:Object.fromEntries(Object.entries(ur.segments).filter(([dr])=>An.includes(dr.split(".")[0])))}:{dimensions:ur.dimensions,measures:ur.measures,segments:ur.segments},[An.join(",")]),_n={moveItem:({sourceIndex:dr,destinationIndex:yr,sourceAxis:Er,destinationAxis:Mr})=>{Sr(ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},{...br,...movePivotItem(br,dr,yr,Er,Mr)}))},update:dr=>{Sr(ResultSet.getNormalizedPivotConfig({...Ot,queryType:"regularQuery"},{...br,...dr}))}},$r=reactExports.useMemo(()=>{var Wr,qr;const dr=(Ot==null?void 0:Ot.measures)||[],yr=(Ot==null?void 0:Ot.dimensions)||[],Er=(Ot==null?void 0:Ot.segments)||[],Mr=extractMembersFromFilters((Ot==null?void 0:Ot.filters)||[]),wr=((Wr=Ot==null?void 0:Ot.timeDimensions)==null?void 0:Wr.filter(cn=>cn.dateRange).map(cn=>cn.dimension))||[],Ir=((qr=Ot==null?void 0:Ot.timeDimensions)==null?void 0:qr.filter(cn=>cn.granularity).map(cn=>cn.dimension))||[],Rr=[...dr,...yr,...Er,...Mr,...wr,...Ir],jr=[];return Rr.forEach(cn=>{const Dn=cn.split(".")[0];jr.includes(Dn)||jr.push(Dn)}),jr.reduce((cn,Dn)=>{var Hn,qn;const wn=Br(Dn),on={measures:[],dimensions:[],segments:[],filters:[],folders:{},hierarchies:{},dateRanges:[],grouping:[],timeDimensions:[],instance:wn,isUsed:!1},jn=`${Dn}.`;return dr==null||dr.forEach(En=>{En.includes(jn)&&(on.measures.push(En),on.isUsed=!0)}),yr==null||yr.forEach(En=>{En.includes(jn)&&(on.dimensions.push(En),on.isUsed=!0)}),Er==null||Er.forEach(En=>{En.includes(jn)&&(on.segments.push(En),on.isUsed=!0)}),Mr.forEach(En=>{En.includes(jn)&&(on.filters.push(En),on.isUsed=!0)}),wr.forEach(En=>{En.includes(jn)&&(on.dateRanges.push(En),on.isUsed=!0)}),Ir.forEach(En=>{En.includes(jn)&&(on.grouping.push(En),on.isUsed=!0)}),on.timeDimensions=[...on.dateRanges],on.grouping.forEach(En=>{on.timeDimensions.includes(En)||on.timeDimensions.push(En)}),(Hn=wn==null?void 0:wn.hierarchies)==null||Hn.forEach(En=>{const zn=En.name;on.hierarchies[zn]=[];const Ln=on.hierarchies[zn];En.levels.forEach(Mn=>{on.dimensions.includes(Mn)&&Ln.push(Mn)})}),(qn=wn==null?void 0:wn.folders)==null||qn.forEach(En=>{const zn=En.name;on.folders[zn]={dimensions:[],measures:[],segments:[],grouping:[]};const Ln=on.folders[zn];En.members.forEach(Mn=>{on.dimensions.includes(Mn)?Ln.dimensions.includes(Mn)||Ln.dimensions.push(Mn):on.measures.includes(Mn)?Ln.measures.includes(Mn)||Ln.measures.push(Mn):on.segments.includes(Mn)?Ln.segments.includes(Mn)||Ln.segments.push(Mn):on.hierarchies[Mn]&&on.hierarchies[Mn].forEach(Wn=>{Ln.dimensions.includes(Wn)||Ln.dimensions.push(Wn)}),Ir.includes(Mn)&&Ln.grouping.push(Mn)})}),cn[Dn]=on,cn},{})},[Mt,Xt,sr.length]),xr=reactExports.useMemo(()=>[...Object.values(ur.dimensions),...Object.values(ur.measures)],[ur]),Or=reactExports.useMemo(()=>_r.some(dr=>{const yr=xr.find(Er=>Er.name===dr);return!(yr!=null&&yr.public)}),[Ar,_r]);return{memberViewType:Ct,query:JSON.parse(JSON.stringify(Ot)),queryHash:Mt,executedQuery:At,runQuery:Yr,stopQuery:dn,clearQuery:fn,setQuery:Zr,updateQuery:Lr,isVerifying:ir,verificationError:er,isQueryTouched:!At||Mt!==getQueryHash(At),error:Vt,isLoading:jt,progress:Ht,meta:Xt,isMetaLoading:Yt,metaError:tr,richMetaError:Jt,loadMeta:yn,queryStats:$r,pivotConfig:br,updatePivotConfig:_n,resultSet:Bt,dryRunResponse:hr,sqlQuery:Gt,getCubeByName:Br,getMemberFormat:rn,cubes:sr,members:ur,joinableCubes:Pn,joinableMembers:xn,usedCubes:Ar,usedMembers:_r,usedGranularities:Tr,usedMembersInGrouping:Gr,usedMembersInFilters:Fr,missingCubes:zr,missingMembers:Kr,...tn,grouping:un,dateRanges:gn,order:Sn,filters:kn,chartType:cr,hasPrivateMembers:Or,setChartType:mr,isCubeJoined:an,isMemberJoined:Jr,isCubeUsed:an,isQueryEmpty:On,isApiTokenChanged:kt,isDataModelChanged:It,isResultOutdated:!!(At&&(Mt!==getQueryHash(At)||kt||It)),cubeApi:mt,mutexObj:nt.current,selectedCube:Cr,selectCube:useEvent(dr=>Pt(dr)),totalRows:Bt==null?void 0:Bt.totalRows()}}function useHasOverflow(tt){const[nt,st]=reactExports.useState(!1);return reactExports.useEffect(()=>{const mt=tt==null?void 0:tt.current,vt=()=>{var yt,bt;const gt=((yt=mt==null?void 0:mt.scrollWidth)!=null?yt:0)>((bt=mt==null?void 0:mt.clientWidth)!=null?bt:0);st(gt)};return tt||st(!1),mt==null||mt.addEventListener("mouseenter",vt),()=>{mt==null||mt.removeEventListener("mouseenter",vt)}},[tt==null?void 0:tt.current]),nt}const storage=new class{constructor(){this.emitter=mitt(),window.addEventListener("storage",nt=>{if(nt.key==null){this.emitter.emit("clear");return}if(nt.oldValue!==nt.newValue){let st;try{st=JSON.parse(nt.newValue||"")}catch(mt){st=nt.newValue}nt.key&&this.emit(nt.key,st)}})}emit(nt,st){this.emitter.emit(nt,st)}subscribe(nt,st){this.emitter.on(nt,st)}unsubscribe(nt,st){this.emitter.off(nt,st)}onClear(nt){this.emitter.on("clear",nt)}onClearUnsubscribe(nt){this.emitter.off("clear",nt)}setItem(nt,st){if(st===void 0)localStorage.removeItem(nt);else{const mt=JSON.stringify(st);localStorage.setItem(nt,mt)}this.emit(nt,st)}getItem(nt,st){try{const mt=localStorage.getItem(nt),vt=typeof mt=="string"?JSON.parse(mt):void 0;return typeof st=="function"?st(vt):vt!==void 0?vt:st}catch(mt){return typeof st=="function"?st(null):st}}removeItem(nt){this.setItem(nt,void 0)}};function useLocalStorage(tt,nt){const st=()=>storage.getItem(tt,nt),[mt,vt]=reactExports.useState(st);reactExports.useEffect(()=>(vt(st),storage.subscribe(tt,yt=>{vt(typeof nt=="function"?nt(yt):yt!=null?yt:nt)}),()=>{storage.unsubscribe(tt,vt)}),[tt]);const gt=useEvent(()=>{vt(()=>null)});return reactExports.useEffect(()=>(storage.onClear(gt),()=>storage.onClearUnsubscribe(gt)),[tt]),reactExports.useMemo(()=>{function yt($t){return storage.setItem(tt,$t),$t}function bt(){storage.removeItem(tt)}return[mt,yt,bt]},[tt,mt])}function useStoredTimezones(tt){tt=tt!=null?tt:"";const[nt,st]=useLocalStorage("QueryBuilder:timezones",[]);return reactExports.useEffect(()=>{const mt=nt.filter(vt=>vt!==tt);for(mt.unshift(tt!=null?tt:"");mt.length>5;)mt.pop();st([...mt])},[tt]),nt}function useUnmountEffect(tt){const nt=useEvent(tt);reactExports.useEffect(()=>nt,[])}function useDebouncedCallback(tt,nt,st,mt=0){const vt=reactExports.useRef(),gt=reactExports.useRef(),yt=reactExports.useRef(),bt=()=>{vt.current&&(clearTimeout(vt.current),vt.current=void 0),gt.current&&(clearTimeout(gt.current),gt.current=void 0)};return useUnmountEffect(bt),reactExports.useMemo(()=>{const $t=()=>{if(!yt.current)return;const Et=yt.current;yt.current=void 0,Et.resolve(tt.apply(Et.this,Et.args)),bt()},xt=function(...Et){return new Promise((Ct,St)=>{if(vt.current&&clearTimeout(vt.current),yt.current={args:Et,this:this,resolve:Ct},st===0){$t();return}vt.current=setTimeout($t,st),mt>0&&!gt.current&&(gt.current=setTimeout($t,mt))})};return Object.defineProperties(xt,{length:{value:tt.length},name:{value:`${tt.name||"anonymous"}__debounced__${st}`}}),xt},[st,mt,...nt])}function useIntervalEffect(tt,nt,st=!1){const mt=useEvent(()=>reactDomExports.unstable_batchedUpdates(tt)),vt=reactExports.useRef(null),gt=reactExports.useCallback(()=>{vt.current!==null&&(clearInterval(vt.current),vt.current=null)},[]),yt=useEvent(()=>{gt(),st&&mt(),vt.current=setInterval(mt,nt)});return reactExports.useEffect(()=>(yt(),gt),[nt]),[gt,yt]}function useDeepDependencies(tt){const nt=reactExports.useRef([]);return equals(nt.current,tt)||(nt.current=tt),nt.current}function useDeepMemo(tt,nt){const st=useDeepDependencies(nt);return reactExports.useMemo(tt,st)}function useDebouncedState(tt,nt,st=0){const[mt,vt]=reactExports.useState(tt),gt=reactExports.useRef(mt),yt=useDebouncedCallback(vt,[],nt,st),bt=useEvent($t=>{gt.current=$t instanceof Function?$t(gt.current):$t,yt(gt.current)});return[mt,bt]}function useDebouncedValue(tt,nt,st){const[mt,vt]=useDebouncedState(tt,nt,st);return tt!==mt&&vt(tt),mt}function useServerCoreVersionGte(tt,nt){if(nt){let st=!1;try{const[mt,vt,gt]=nt.split(".").map(Number),[yt,bt,$t]=tt.split(".").map(Number);st=mt>yt||mt===yt&&vt>bt||mt===yt&&vt===bt&>>=$t}catch(mt){}return st}return!0}function useOutsideFocus(tt,nt){reactExports.useEffect(()=>{function st(mt){tt.current&&!tt.current.contains(mt.target)&&nt()}return document.addEventListener("focus",st,!0),document.addEventListener("blur",st,!0),document.addEventListener("mousedown",st,!0),()=>{document.removeEventListener("focus",st,!0),document.removeEventListener("blur",st,!0),document.removeEventListener("mousedown",st,!0)}},[tt,nt])}function useIsFirstRender(){const tt=reactExports.useRef(!0);return tt.current?(tt.current=!1,!0):tt.current}let urlAlphabet="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",nanoid=(tt=21)=>{let nt="",st=tt|0;for(;st--;)nt+=urlAlphabet[Math.random()*64|0];return nt};const useUniqID=({length:tt=5,prefix:nt="id"}={})=>reactExports.useMemo(()=>`${nt}_${nanoid(tt)}`,[nt,tt]);function useShownMemberName(tt){var St;let{cubeName:nt,cubeTitle:st,memberName:mt,memberTitle:vt,type:gt="name"}=tt;mt=(St=mt.split(".")[1])!=null?St:mt;const yt=gt==="name"?nt:st!=null?st:titleize(nt),bt=gt==="name"?mt:vt!=null?vt:titleize(mt),$t=`${yt}${gt==="name"?".":" "}${bt}`,xt=st&&nt===titleize(st),Et=vt&&mt===titleize(vt);return{shownCubeName:yt,shownMemberName:bt,shownFullName:$t,isAutoName:xt&&Et,isAutoMemberName:Et,isAutoCubeName:xt}}function useDimensionValues({cubeApi:tt,mutexObj:nt,dimension:st,skip:mt}){const[vt,gt]=reactExports.useState(!1),[yt,bt]=reactExports.useState([]),[$t,xt]=reactExports.useState(null),Et=reactExports.useRef(),Ct=reactExports.useRef({});nt=nt!=null?nt:Ct.current;function St(){xt(null),!(!st||!tt||st===Et.current)&&(Et.current=st,gt(!0),tt.load({dimensions:[st]},{mutexObj:nt,mutexKey:`dimension-values:${st}`}).then(Tt=>{var Ot,Dt,At;if(st!==Et.current)return;const Pt=(((At=(Dt=(Ot=Tt.loadResponse)==null?void 0:Ot.results)==null?void 0:Dt[0])==null?void 0:At.data)||[]).map(_t=>_t[st]).filter(Boolean);Pt.join()!==yt.join()&&bt(Pt),gt(!1)}).catch(Tt=>{st===Et.current&&(xt(String(Tt.message||Tt)),gt(!1),Et.current=void 0)}))}return reactExports.useEffect(()=>{Ct.current={},Et.current=void 0},[tt]),reactExports.useEffect(()=>{st&&!mt?St():gt(!1)},[st,tt,mt]),{isLoading:vt,suggestions:yt,error:$t}}const QUERY_BUILDER_COLOR_TOKENS={"@time-dimension-strong-color":"rgb(23, 70, 13)","@time-dimension-text-color":"rgb(65, 113, 57)","@time-dimension-active-color":"rgb(199, 219, 195)","@time-dimension-hover-color":"rgb(228, 244, 225)","@measure-strong-color":"rgb(76, 55, 0)","@measure-text-color":"rgb(126, 94, 7)","@measure-active-color":"rgb(225, 210, 183)","@measure-hover-color":"rgb(248, 241, 227)","@dimension-strong-color":"rgb(35, 54, 110)","@dimension-text-color":"rgb(74, 96, 156)","@dimension-active-color":"rgb(200, 212, 239)","@dimension-hover-color":"rgb(231, 238, 255)","@segment-strong-color":"rgb(72, 41, 98)","@segment-text-color":"rgb(114, 83, 144)","@segment-active-color":"rgb(219, 206, 233)","@segment-hover-color":"rgb(244, 234, 255)","@filter-strong-color":"rgb(95, 31, 64)","@filter-text-color":"rgb(142, 73, 106)","@filter-active-color":"rgb(255, 191, 218)","@filter-hover-color":"rgb(255, 231, 240)","@missing-strong-color":"rgb(58, 58, 58)","@missing-text-color":"rgb(99, 99, 99)","@missing-active-color":"rgb(212, 212, 212)","@missing-hover-color":"rgb(238, 238, 238)"},TabsContext=reactExports.createContext(void 0),TabsElement=tasty({styles:{display:"grid",gridColumns:"max-content max-content",placeContent:"stretch space-between",placeItems:"end",overflow:"auto",shadow:"inset 0 -1bw 0 #border",width:"100%",padding:"0 2x",scrollbarWidth:"none",Container:{display:"grid",gridAutoFlow:"column",gap:{"":0,card:"1bw"},placeContent:"start"},Extra:{placeSelf:"center"},"--border-color":"rgb(234,234,238)","--light-purple-color":"rgb(243,243,255)"}}),TabContainer=tasty({styles:{position:"relative",display:"grid"}}),TabElement=tasty(Action,{styles:{position:"relative",preset:{"":"t3m",'[data-size="large"]':"t2m"},display:"grid",flow:"column",gap:"1x",placeContent:"space-between",placeItems:"center start",padding:"1.25x @delete-padding 1.25x 1.5x",cursor:"pointer",border:{"":"none",card:!0},fill:{"":"#white",card:"#light","hovered && card":"#light-purple",active:"#white"},color:{"":"#dark-02",hovered:"#purple",active:"#purple-text","disabled & !active":"#dark-04"},borderBottom:{"":"none",card:"none"},shadow:{"":"inset 0 -1bw 0 #border",active:"inset 0 -1ow 0 #purple","card & active":"inset 0 -1bw 0 #white"},radius:"top",backgroundClip:"border-box",width:"max 100%",transition:"theme, borderBottom",whiteSpace:"nowrap",outline:!1,"@delete-padding":{"":"1.5x",deletable:"4.5x"},"&::before":{content:'""',display:"block",position:"absolute",inset:"0 0 -1ow 0",pointerEvents:"none",radius:"top",shadow:{"":"inset 0 0 0 #purple",focused:"inset 0 0 0 1ow #purple-03"},transition:"theme",zIndex:1}}}),TabCloseButton=tasty(Action,{"aria-label":"Delete tab",styles:{position:"absolute",top:"1x",right:"1x",display:"grid",placeItems:"center",padding:".5x",cursor:"pointer",fontSize:"12px",fill:{"":"#clean",hovered:"#purple.04"},color:{"":"#dark-03","hovered | pressed":"#purple"},radius:!0,transition:"theme"},children:jsx(CloseIcon,{})});function Tabs(tt){const[nt,st]=reactExports.useState(new Map),{label:mt,activeKey:vt,size:gt,type:yt,onChange:bt,onDelete:$t,children:xt,styles:Et,extra:Ct,prerender:St,keepMounted:Tt}=tt,wt=yt==="card",Pt=useEvent((Dt,At)=>{st(_t=>{const It=new Map(_t);return At?It.set(Dt,At):It.delete(Dt),It})}),Ot=reactExports.useMemo(()=>({card:wt,deletable:!!$t}),[wt,$t]);return jsxs(TabsContext.Provider,{value:{activeKey:vt,onChange:bt,onDelete:$t,type:yt,size:gt,setTabContent:Pt,prerender:St,keepMounted:Tt},children:[jsxs(TabsElement,{qa:"Tabs","aria-label":mt!=null?mt:"Tabs","data-size":gt!=null?gt:"normal",mods:Ot,styles:Et,children:[jsx("div",{"data-element":"Container",children:xt}),Ct?jsx("div",{"data-element":"Extra",children:Ct}):null]}),[...nt.entries()].map(([Dt,{content:At,prerender:_t,keepMounted:It}])=>_t||Dt===vt||It?jsx("div",{"data-qa":"TabPanel","data-qaval":Dt,style:{display:Dt===vt?"contents":"none"},children:At},Dt):null)]})}function Tab(tt){let{title:nt,id:st,isDisabled:mt,prerender:vt,keepMounted:gt,qa:yt,qaVal:bt,styles:$t,children:xt}=tt;const Et=reactExports.useRef(null),{activeKey:Ct,size:St,type:Tt,onChange:wt,onDelete:Pt,setTabContent:Ot,...Dt}=reactExports.useContext(TabsContext)||{};vt=vt!=null?vt:Dt.prerender,gt=gt!=null?gt:Dt.keepMounted;const At=st===Ct,_t=useEvent(()=>{Pt==null||Pt(st)}),It=useEvent(()=>{wt==null||wt(st)}),Rt=Tt==="card",kt=!!Pt;reactExports.useLayoutEffect(()=>{vt||At?Ot==null||Ot(st,{content:xt,prerender:vt!=null?vt:!1,keepMounted:gt!=null?gt:!1}):gt||Ot==null||Ot(st,null)},[xt,At,gt,vt,Ot]),reactExports.useLayoutEffect(()=>()=>{Ot==null||Ot(st,null)},[]);const Nt=reactExports.useMemo(()=>({card:Rt,active:At,deletable:kt,disabled:mt}),[Rt,At,kt,mt]);return reactExports.useEffect(()=>{var Mt,Lt;Et.current&&At&&((Lt=(Mt=Et.current.UNSAFE_getDOMNode())==null?void 0:Mt.scrollIntoView)==null||Lt.call(Mt))},[At]),jsxs(TabContainer,{mods:Nt,children:[jsx(TabElement,{ref:Et,qa:yt!=null?yt:`Tab-${st}`,qaVal:bt,isDisabled:mt,styles:$t,mods:Nt,"data-size":St,onPress:It,children:nt}),Pt&&jsx(TabCloseButton,{onPress:_t})]})}Tabs.Tab=Tab;const AccordionContext=reactExports.createContext(null);function AccordionProvider(tt){const{children:nt,qa:st,isLazy:mt,size:vt,isSeparated:gt,titleStyles:yt,contentStyles:bt}=tt;return jsx(AccordionContext.Provider,{value:{isLazy:mt,qa:st,size:vt,isSeparated:gt,titleStyles:yt,contentStyles:bt},children:nt})}function useAccordionContext(){const tt=reactExports.useContext(AccordionContext);if(!tt)throw new Error("useAccordionContext must be used within a AccordionProvider");return tt}const AccordionNestedContext=reactExports.createContext(null),useAccordionNestedContext=()=>reactExports.useContext(AccordionNestedContext),ACCORDION_CONTENT_HEIGHT_VARIABLE="--accordion-content-height",ANIMATION_TIMEOUT=180,AccordionDetailsContentInnerElement=tasty(Flex$1,{styles:{padding:{"":"1x 0 3x 3x",'[data-size="small"]':"0 0 0 3x",'[data-size="small"] & separated':"0 0 1x 3x"},gap:0,flow:"column"}}),AccordionDetailsContent=reactExports.memo(dt.div`
|
|
2700
2700
|
${ACCORDION_CONTENT_HEIGHT_VARIABLE}: 0;
|
|
2701
2701
|
|
|
2702
2702
|
height: ${({$expanded:tt})=>tt?"auto":"0"};
|
package/build/index.html
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
</style>
|
|
25
25
|
<title>Cube Playground</title>
|
|
26
|
-
<script type="module" crossorigin src="./assets/index-
|
|
26
|
+
<script type="module" crossorigin src="./assets/index-B7kpbKgs.js"></script>
|
|
27
27
|
<link rel="stylesheet" crossorigin href="./assets/index-kgBp1eWM.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
Binary file
|