react-semaphor 0.0.461 → 0.0.462
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.
|
@@ -225,7 +225,7 @@ Valid keys: `+JSON.stringify(Object.keys(O),null," "));var Q=ne(W,J,V,U,Y+"."+J
|
|
|
225
225
|
* This source code is licensed under the ISC license.
|
|
226
226
|
* See the LICENSE file in the root directory of this source tree.
|
|
227
227
|
*/const ul=ht("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),QW=({data:e,filename:t="output.csv"})=>{const n=()=>{if(e.length===0)return;const r=[],o=Object.keys(e[0]);r.push(o.join(","));for(const c of e){const u=o.map(d=>`"${(""+c[d]).replace(/"/g,'""')}"`);r.push(u.join(","))}const i=r.join(`
|
|
228
|
-
`),s=new Blob([i],{type:"text/csv"}),a=window.URL.createObjectURL(s),l=document.createElement("a");l.setAttribute("hidden",""),l.setAttribute("href",a),l.setAttribute("download",t),document.body.appendChild(l),l.click(),document.body.removeChild(l)};return b.jsx(QA,{onClick:n,className:"h-[14px] w-[14px] text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})};var Rc=1e3,kc=Rc*60,Pc=kc*60,Ua=Pc*24,ZW=Ua*7,JW=Ua*365.25,eq=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return tq(e);if(n==="number"&&isFinite(e))return t.long?rq(e):nq(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function tq(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),r=(t[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*JW;case"weeks":case"week":case"w":return n*ZW;case"days":case"day":case"d":return n*Ua;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Pc;case"minutes":case"minute":case"mins":case"min":case"m":return n*kc;case"seconds":case"second":case"secs":case"sec":case"s":return n*Rc;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function nq(e){var t=Math.abs(e);return t>=Ua?Math.round(e/Ua)+"d":t>=Pc?Math.round(e/Pc)+"h":t>=kc?Math.round(e/kc)+"m":t>=Rc?Math.round(e/Rc)+"s":e+"ms"}function rq(e){var t=Math.abs(e);return t>=Ua?kh(e,t,Ua,"day"):t>=Pc?kh(e,t,Pc,"hour"):t>=kc?kh(e,t,kc,"minute"):t>=Rc?kh(e,t,Rc,"second"):e+" ms"}function kh(e,t,n,r){var o=t>=n*1.5;return Math.round(e/n)+" "+r+(o?"s":"")}const oq=Ds(eq);function o5(){const e=ie(i=>i.dashboard.filters),t=ie(i=>i.filterValues),n=ie(i=>i.selectedSheetId),r=e==null?void 0:e.filter(i=>i.sheetId===n||!i.sheetId),o=t==null?void 0:t.filter(i=>(r==null?void 0:r.some(s=>s.id===i.filterId))||i.filterId.endsWith(n));return{sheetFilters:r,sheetFilterValues:o}}function iq(e){const t=ie(c=>c.selectedLensId),{filterColumns:n,...r}=e.queryConfig||{},o=n==null?void 0:n.filter(c=>{var u,d;return(d=(u=e.queryConfig)==null?void 0:u.filters)==null?void 0:d.some(h=>h.filterColumnName===c.name)}),{sheetFilterValues:i}=o5(),s=(e==null?void 0:e.sql)||"",a=sq((e==null?void 0:e.python)||"");return{queryKey:["query",e==null?void 0:e.id,e==null?void 0:e.title,s,a,t||"",JSON.stringify(i),JSON.stringify(r),JSON.stringify(o)],sql:s,sheetFilterValues:i}}function sq(e){return e===l1?"":e}let Ph;const aq=new Uint8Array(16);function lq(){if(!Ph&&(Ph=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ph))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ph(aq)}const Mn=[];for(let e=0;e<256;++e)Mn.push((e+256).toString(16).slice(1));function cq(e,t=0){return Mn[e[t+0]]+Mn[e[t+1]]+Mn[e[t+2]]+Mn[e[t+3]]+"-"+Mn[e[t+4]]+Mn[e[t+5]]+"-"+Mn[e[t+6]]+Mn[e[t+7]]+"-"+Mn[e[t+8]]+Mn[e[t+9]]+"-"+Mn[e[t+10]]+Mn[e[t+11]]+Mn[e[t+12]]+Mn[e[t+13]]+Mn[e[t+14]]+Mn[e[t+15]]}const uq=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),v2={randomUUID:uq};function vs(e,t,n){if(v2.randomUUID&&!e)return v2.randomUUID();e=e||{};const r=e.random||(e.rng||lq)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,cq(r)}const ot=o1()(iO((e,t)=>({isDevMode:!1,userInputForAI:"",triggerAIRun:!1,showAIDialog:!1,isShowingVisual:!0,runSql:!1,sqlGen:{},sql:"",isSqlRunning:!1,queryResultColumns:[],showFilters:!1,applyFilters:!1,filterValues:[{filterId:"sample-filter-id",valueType:"string",name:"",operation:"in",values:[""]}],card:{id:vs(),title:"Editor Card",type:"bar",data:[]},frame:{id:vs(),cards:[],activeCardId:""},actions:{setEditorFilterMode:(n,r)=>{e(o=>{var s,a;const i=(a=(s=o.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.find(l=>l.name===n);i&&(r==="include"?i.mode="include":i.mode="exclude")})},setQueryConfig:n=>{e(r=>{r.card.queryConfig=n})},addOrderByColumn:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,orderBy:[...((o=r.card.queryConfig)==null?void 0:o.orderBy)||[],n]}})},removeOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.filter(s=>s.columnId!==n.columnId)}})},updateOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.map(s=>s.columnId===n.columnId?n:s)}})},setOrderByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,orderBy:n}})},setPivotByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,pivotColumns:n}})},updateEditorFilterValue:(n,r,o)=>{e(i=>{var a,l,c,u,d;const s=(l=(a=i.card.queryConfig)==null?void 0:a.filters)==null?void 0:l.find(h=>h.filterColumnName===n);o&&(i.card.queryConfig={...i.card.queryConfig,filters:(u=(c=i.card.queryConfig)==null?void 0:c.filters)==null?void 0:u.filter(h=>h.filterColumnName!==n)}),s?s.filterValue=r:i.card.queryConfig={...i.card.queryConfig,filters:[...((d=i.card.queryConfig)==null?void 0:d.filters)||[],{filterColumnName:n,filterValue:r}]}})},clearEditorFilter:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(s=>s.filterColumnName!==n.name)}})},removeEditorFilter:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(l=>l.filterColumnName!==n.name),filterColumns:(a=(s=r.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.filter(l=>l.id!==n.id)}})},setTempQueryData:n=>{e(r=>{r.tempQueryData=n})},setIsDevMode:n=>{e(r=>{r.isDevMode=n})},setMetricColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,metricColumns:n}})},addColumnToMetricColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,metricColumns:[...((o=r.card.queryConfig)==null?void 0:o.metricColumns)||[],n]}})},updateMetricColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,metricColumns:(s=(i=o.card.queryConfig)==null?void 0:i.metricColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromMetricColumns:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,metricColumns:(i=(o=r.card.queryConfig)==null?void 0:o.metricColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},removeColumnFromPivotBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,pivotColumns:(i=(o=r.card.queryConfig)==null?void 0:o.pivotColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setGroupByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,groupByColumns:n}})},addColumnToGroupBy:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,groupByColumns:[...((o=r.card.queryConfig)==null?void 0:o.groupByColumns)||[],n]}})},updateGroupByColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,groupByColumns:(s=(i=o.card.queryConfig)==null?void 0:i.groupByColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},updatePivotByColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,pivotColumns:(s=(i=o.card.queryConfig)==null?void 0:i.pivotColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromGroupBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,groupByColumns:(i=(o=r.card.queryConfig)==null?void 0:o.groupByColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setFilterColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,filterColumns:n}})},addColumnToFilterColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,filterColumns:[...((o=r.card.queryConfig)==null?void 0:o.filterColumns)||[],n]}})},updateFilterColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,filterColumns:(s=(i=o.card.queryConfig)==null?void 0:i.filterColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromFilterColumns:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filterColumns:(i=(o=r.card.queryConfig)==null?void 0:o.filterColumns)==null?void 0:i.filter(s=>s.id!==n)}})},setCurrentAssitantScope:n=>{e(r=>{r.currentAssitantScope=n})},setLegendOptions:n=>{e(r=>{var o,i,s,a,l,c;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,plugins:{...(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.plugins,legend:{...(c=(l=(a=r.card.preferences)==null?void 0:a.chartOptions)==null?void 0:l.plugins)==null?void 0:c.legend,...n}}}}})},setChartGrid:n=>{e(r=>{var o,i,s,a,l,c,u,d,h,f,p,g,m,y,v;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,scales:{x:{...(a=(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.scales)==null?void 0:a.x,grid:{...(d=(u=(c=(l=r.card.preferences)==null?void 0:l.chartOptions)==null?void 0:c.scales)==null?void 0:u.x)==null?void 0:d.grid,display:n==="x"||n==="xy"}},y:{...(p=(f=(h=r.card.preferences)==null?void 0:h.chartOptions)==null?void 0:f.scales)==null?void 0:p.y,grid:{...(v=(y=(m=(g=r.card.preferences)==null?void 0:g.chartOptions)==null?void 0:m.scales)==null?void 0:y.y)==null?void 0:v.grid,display:n==="y"||n==="xy"}}}}}})},runAssistant:n=>{e(r=>{r.showAIDialog=!0,r.userInputForAI=n,r.triggerAIRun=!0})},setShowAIDialog:n=>{e(r=>{r.showAIDialog=n})},setUserInputForAI:n=>{e(r=>{r.userInputForAI=n})},setTriggerAIRun:n=>{e(r=>{r.triggerAIRun=n})},updateCardTab:(n,r)=>{e(o=>{const i=o.frame,s={...i,cards:i.cards.map(l=>l.id===r.id?r:l),activeCardId:n};o.frame=s;const a=s.cards.find(l=>l.id===n);o.card=a})},setActiveTabCardId:n=>{e(r=>{r.activeTabCardId=n})},setCustomCardPreferences:n=>{e(r=>{r.card.customCardPreferences=n})},setChartOrientation:n=>{e(r=>{var s,a,l,c,u,d;const o=r.card.preferences;let i={};((s=o==null?void 0:o.chartOptions)==null?void 0:s.indexAxis)!==n&&(i={x:(l=(a=o==null?void 0:o.chartOptions)==null?void 0:a.scales)==null?void 0:l.y,y:(u=(c=o==null?void 0:o.chartOptions)==null?void 0:c.scales)==null?void 0:u.x}),r.card.preferences={...o,chartOptions:{...o==null?void 0:o.chartOptions,scales:{...(d=o==null?void 0:o.chartOptions)==null?void 0:d.scales,...i},indexAxis:n}}})},setLowerIsBetter:n=>{e(r=>{var o;r.card.preferences={...r.card.preferences,kpiVisualOptions:{...(o=r.card.preferences)==null?void 0:o.kpiVisualOptions,lowerIsBetter:n}}})},setSortChart:n=>{e(r=>{r.card.preferences={...r.card.preferences,sortChart:n}})},setCustomVisualCode:n=>{e(r=>{r.card.preferences={...r.card.preferences,customVisualCode:n}})},setNumberFormat:(n,r,o,i)=>{e(s=>{var a,l,c;s.card.preferences={...(a=s.card)==null?void 0:a.preferences,formatNumber:{...(c=(l=s.card)==null?void 0:l.preferences)==null?void 0:c.formatNumber,decimalPlaces:n,currency:r,locale:o,suffix:i,enabled:!0}}})},setColorRanges:n=>{e(r=>{var o,i;r.card.preferences={...r.card.preferences,formatNumber:{...(i=(o=r.card)==null?void 0:o.preferences)==null?void 0:i.formatNumber,colorRanges:n}}})},setQueryResultColumns:n=>{e(r=>{r.queryResultColumns=n})},setCardPreferences:n=>{e(r=>{r.card.preferences=n})},setFilterOnClickColumnIndex:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClickColumnIndex:n}})},setFilterOnClickField:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClick:!0,filterOnClickField:n}})},setCardRefreshInterval:n=>{e(r=>{r.card.refreshInterval=n})},setIsShowingVisual:n=>{e({isShowingVisual:n})},setRunSql:n=>{e({runSql:n})},setIsSqlRunning:n=>{e({isSqlRunning:n})},clearQueryConfig:()=>{e(n=>{n.card.queryConfig=void 0})},updateCardInFrame:n=>{e(r=>{r.frame.cards=r.frame.cards.map(o=>o.id===n.id?n:o)})},setFrame:n=>{e({frame:n})},setCard:n=>{e({card:n})},switchCardType:n=>{e(r=>{r.card.type=n,r.card.sql="",r.card.python="",r.card.customCfg={},r.card.preferences={}})},setCardType:n=>{e(r=>{var o;r.card.type=n,n==="range"&&(r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,indexAxis:"y"}})})},setCardSql:n=>{e(r=>{r.card.sql=n})},setCardPython:n=>{e(r=>{r.card.python=n})},setPythonStdOut:n=>{e(r=>{r.pythonStdOut=n})},setCardCustomCfg:n=>{e(r=>{r.card.customCfg=n})},setShowFilters:n=>{e(r=>{r.showFilters=n})},setApplyFilters:n=>{e(r=>{r.applyFilters=n})},setFilterValues:n=>{e(r=>{r.filterValues=n})},setSqlGen:n=>{e(r=>{r.sqlGen=n})},setSqlGenMeasure:(n,r)=>{e(o=>{o.sqlGen.measures=[...o.sqlGen.measures||[],{name:n,calc:r}]})},setSqlGenDimension:n=>{e(r=>{r.sqlGen.dimensions=[...r.sqlGen.dimensions||[],n]})},setSelectedDatamodelId:n=>{var r,o;e(i=>{i.selectedDatamodelId=n,i.card.datamodelId=n}),(o=(r=t()).onDatamodelChange)==null||o.call(r,n)},setSelectedConnectionId:n=>{var r,o;e(i=>{i.selectedConnectionId=n,i.card.connectionId=n}),(o=(r=t()).onConnectionChange)==null||o.call(r,n)},setSelectedDatabaseName:n=>{var r,o;e(i=>{i.selectedDatabaseName=n,i.card.lastSelectedDatabase=n}),(o=(r=t()).onDatabaseChange)==null||o.call(r,n)},setSelectedSchemaName:n=>{var r,o;e(i=>{i.selectedSchemaName=n,i.card.lastSelectedSchema=n}),(o=(r=t()).onSchemaChange)==null||o.call(r,n)},setSelectedTableName:n=>{var r,o;e(i=>{i.selectedTableName=n,i.card.lastSelectedTable=n}),(o=(r=t()).onTableChange)==null||o.call(r,n)},setOnConnectionChange:n=>{e({onConnectionChange:n})},setOnDatabaseChange:n=>{e({onDatabaseChange:n})},setOnSchemaChange:n=>{e({onSchemaChange:n})},setOnTableChange:n=>{e({onTableChange:n})},setOnSave:n=>{e({onSave:n})},setOnClose:n=>{e({onClose:n})}}}))),Pf=()=>ot(e=>e.actions);function Fi(e){var w,k,D;const{authToken:t}=wr(),n=ie(M=>M.filteringCards),r=ot(M=>M.isDevMode),o=e.queryConfig,i=ie(M=>M.isVisualEditing),s=ie(M=>M.actions.getCardFrame),a=ie(M=>M.authToken),l=(n==null?void 0:n.some(M=>M.id===e.id))||!1,c=s(e.id),u=(c==null?void 0:c.cards)||[],d=(u==null?void 0:u.length)==1,h=oq((e==null?void 0:e.refreshInterval)||"0"),{queryKey:f,sql:p,sheetFilterValues:g}=iq(e);let m={};i||(m={refetchInterval:h});function y(){var $,L,A;const M=($=e.queryConfig)==null?void 0:$.metricColumns,T=(L=e.queryConfig)==null?void 0:L.groupByColumns,I=(A=e.queryConfig)==null?void 0:A.pivotColumns;return!!(M&&(M==null?void 0:M.length)>0||T&&(T==null?void 0:T.length)>0||I&&(I==null?void 0:I.length)>0)}const v={databaseName:(e==null?void 0:e.lastSelectedDatabase)||"",schemaName:(e==null?void 0:e.lastSelectedSchema)||"",tableName:(e==null?void 0:e.lastSelectedTable)||"",datamodelId:(e==null?void 0:e.datamodelId)||""},x=co({queryKey:f,queryFn:async()=>{var M;if(!(e!=null&&e.connectionId)||!((M=e==null?void 0:e.sql)!=null&&M.trim())&&!y())return null;try{return await p1("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||(a==null?void 0:a.accessToken)||"",{connection_id:e.connectionId,sql:p,python:e.python===l1?"":e.python,active_filters:g,cache_config:dO({card:e}),queryConfig:o,tableConfig:v})}catch(T){if(i)return{records:[],error:T};throw T}},placeholderData:Tz,...m,enabled:C()});function C(){var M;return!(t!=null&&t.accessToken)||l&&d?!1:!!(e!=null&&e.connectionId&&((M=e==null?void 0:e.sql)!=null&&M.trim()||y())&&!i||y()&&i&&!r)}const _=((w=x.error)==null?void 0:w.message)||((D=(k=x.data)==null?void 0:k.error)==null?void 0:D.message);return{...x,queryKey:f,isFilteringCard:l,isSingleCardFrame:d,errorMessage:_}}function dq(e){return/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)}function fq(e,t=1){if(!dq(e)||t===1)return e;e=e.replace(/^#/,"");const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),o=parseInt(e.substring(4,6),16);return t=Math.min(Math.max(t,0),1),`rgba(${n}, ${r}, ${o}, ${t})`}function i5(e,t,n,r=1,o="none"){var u,d,h,f;const i=n==null?void 0:n.datasetOptions,s=ie.getState().themeStyle,a=(d=(u=s==null?void 0:s.chart)==null?void 0:u.dataset)==null?void 0:d.backgroundColor,l=(f=(h=s==null?void 0:s.chart)==null?void 0:h.dataset)==null?void 0:f.borderColor;return e.map((p,g)=>{var w;const m=i==null?void 0:i.find(k=>k.idx===g),y=fq(a==null?void 0:a[g%a.length],r),v=l==null?void 0:l[g%l.length],x=l==null?void 0:l[g%l.length],C={borderWidth:2,pointRadius:2,segment:{borderDash:k=>{const D=k.p0DataIndex;return t[D]._forecast?[2,4]:void 0},borderColor:k=>{const D=t[k.p0DataIndex]._forecast,M=ie.getState().theme==="dark";return D?M?"white":"black":x}},pointBackgroundColor:k=>{const D=ie.getState().theme==="dark";return t[k.dataIndex]._forecast?D?"white":"gray":v},pointBorderColor:k=>{const D=ie.getState().theme==="dark";return t[k.dataIndex]._forecast?D?"white":"gray":v}},_={backgroundColor:k=>t[k.dataIndex]._forecast?y+"20":y,borderWidth:k=>t[k.dataIndex]._forecast?1:0};return{label:p.charAt(0).toUpperCase()+p.slice(1),data:t.map(k=>k[p]),...m,datalabels:{...m==null?void 0:m.datalabels,color:hq((w=m==null?void 0:m.datalabels)==null?void 0:w.align,y)},backgroundColor:y,pointBackgroundColor:v,borderColor:x,...o==="line"?C:{},...o==="bar"?_:{}}})}function hq(e,t){return _c(e==="end"||e==="start"?Pd():t)}function pq(e,t){var d,h,f,p;const{keys:n}=dn(e),r=n.length,o=n.slice(r-3),i=n.slice(0,r-3);let s=[];const a=ie.getState().themeStyle,l=(h=(d=a==null?void 0:a.chart)==null?void 0:d.dataset)==null?void 0:h.backgroundColor,c=(p=(f=a==null?void 0:a.chart)==null?void 0:f.dataset)==null?void 0:p.borderColor;let u={};return t==="scatter"&&(u={radius:5}),(i==null?void 0:i.length)===1&&(s=e.map((g,m)=>({label:g[i==null?void 0:i[0]],data:[{x:g[o[0]],y:g[o[1]],r:g[o[2]]}],backgroundColor:(l==null?void 0:l[m%l.length])+"CC",borderColor:c==null?void 0:c[m%c.length],...u}))),(i==null?void 0:i.length)>1&&(s=[...new Set(e.map(m=>m[i==null?void 0:i[1]]))].map((m,y)=>{const v=e.filter(x=>x[i==null?void 0:i[1]]===m);return{label:m,data:v.map(x=>({x:x[o[0]],y:x[o[1]],r:x[o[2]],label:x[i==null?void 0:i[0]]})),backgroundColor:(l==null?void 0:l[y%l.length])+"CC",borderColor:c==null?void 0:c[y%c.length],...u}})),s}function s5(e,t){var s,a,l,c;const n=ie.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,o=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(u=>({label:u.charAt(0).toUpperCase()+u.slice(1),data:t.map(d=>d[u]),backgroundColor:t.map((d,h)=>(d==null?void 0:d._color)||(r==null?void 0:r[h%r.length])),borderColor:t.map((d,h)=>(d==null?void 0:d._color)||(o==null?void 0:o[h%o.length]))}))}function gq(e){let t=-1,n=0;return e.forEach((r,o)=>{const i=Object.keys(r).length;i>n&&(t=o,n=i)}),t}function dn(e){if(!e||e.length===0)return{keys:[],dimensionKeys:[],metricKeys:[]};const t=gq(e),n=Object.keys(e[t]),r=n.filter(i=>{var s,a,l,c,u,d,h,f;return!!(typeof((s=e==null?void 0:e[t])==null?void 0:s[i])&&typeof((a=e==null?void 0:e[t])==null?void 0:a[i])=="string"||typeof((l=e==null?void 0:e[0])==null?void 0:l[i])&&typeof((c=e==null?void 0:e[0])==null?void 0:c[i])=="string"||typeof((u=e==null?void 0:e[1])==null?void 0:u[i])&&typeof((d=e==null?void 0:e[1])==null?void 0:d[i])=="string"||typeof((h=e==null?void 0:e[2])==null?void 0:h[i])&&typeof((f=e==null?void 0:e[2])==null?void 0:f[i])=="string")});r.length===0&&r.push(n[0]);const o=n.filter(i=>{var s,a;return((s=e==null?void 0:e[t])==null?void 0:s[i])===+((a=e==null?void 0:e[t])==null?void 0:a[i])});return{keys:n,dimensionKeys:r,metricKeys:o}}function Pa(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((i,s)=>({...i,...n==null?void 0:n[s],data:i.data,label:i.label})):e}function mq(e,t="asc"){function n(r){return Object.entries(r).slice(1).reduce((s,[a,l])=>{const c=typeof l=="number"?l:parseFloat(l);return s+(isNaN(c)?0:c)},0)}return e.sort((r,o)=>{const i=n(r),s=n(o);return t==="asc"?i-s:s-i})}function Fm({dataArray:e,groupKey:t,pivotKey:n,valueKey:r,sortChart:o}){const i=e.reduce((l,c)=>{const u=c[t],d=c[n],h=c[r];return l[u]||(l[u]={[t]:u}),l[u][d]=h,l},{});let s=Object.values(i);return o!=="none"&&o!==void 0&&(s=mq(s,o)),s.map(l=>Object.fromEntries(Object.entries(l).filter(([c,u])=>u!==0)))}function On(e,t){var s;const n=ie.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,o=Ad(r);return Md(o,e,t)}function Mf(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function rS(e){const t=ie(l=>l.authToken)||e,n=ot(l=>l.selectedConnectionId),{refetch:r,data:o,isLoading:i,isError:s}=co({queryKey:["connections"],queryFn:()=>ua("https://semaphor.cloud/api/v1/connections",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)}),a=o==null?void 0:o.connections.find(l=>l.id===n);return{connectionsData:o,connections:o==null?void 0:o.connections,isConnectionsLoading:i,isConnectionsError:s,refetchConnections:r,currentConnection:a}}function bq(e){ie(M=>M.isDashboardEditing);const t=ie(M=>M.filterValues),n=ie(M=>M.isVisualEditing);ie(M=>M.selectedSheetId),ie(M=>M.currentBreakpoint);const{currentConnection:r}=rS(),{selectedDatabaseName:o,selectedSchemaName:i,selectedTableName:s,selectedDatamodelId:a}=P9(),{removeFrame:l}=ie(M=>M.actions),c=ie(M=>M.actions.setIsVisualEditing),u=ot(M=>M.actions.setFilterValues),d=ot(M=>M.actions.setApplyFilters),{setCard:h,setFrame:f,setQueryResultColumns:p,setActiveTabCardId:g,setIsDevMode:m,setQueryConfig:y}=Pf(),v=ot(M=>M.actions.setSelectedConnectionId),x=ot(M=>M.actions.setSelectedDatamodelId),C=ot(M=>M.actions.setSelectedDatabaseName),_=ot(M=>M.actions.setSelectedSchemaName),S=ot(M=>M.actions.setSelectedTableName),w=e.cards.find(M=>M.id===e.activeCardId),{data:k}=Fi(w);function D(M=!1){M||c(!n),w.sql&&m(!0),h(w),g(e.activeCardId);const{dimensionKeys:T}=dn((k==null?void 0:k.records)||[]);p(T),f(e),v((w==null?void 0:w.connectionId)||(r==null?void 0:r.id)),w!=null&&w.datamodelId&&w.datamodelId!=="none"?(x(w==null?void 0:w.datamodelId),C("")):x(a||""),w!=null&&w.lastSelectedDatabase&&w.lastSelectedDatabase!=="none"?(C(w==null?void 0:w.lastSelectedDatabase),x("")):C(o||""),w!=null&&w.lastSelectedSchema?_(w==null?void 0:w.lastSelectedSchema):_(i||""),w!=null&&w.lastSelectedTable?S(w==null?void 0:w.lastSelectedTable):S(s||""),t&&(u(t),d(!0))}return{handleEditVisual:D,card:w,data:k}}function a5({frame:e}){var c;const t=ie(u=>u.isDashboardEditing),n=ie(u=>u.isVisualEditing),r=ie(u=>u.selectedSheetId),{removeFrame:o}=ie(u=>u.actions),i=ie(u=>u.actions.setIsVisualEditing),{handleEditVisual:s,card:a,data:l}=bq(e);return b.jsx("section",{onMouseDown:u=>{u.stopPropagation()},className:"absolute right-2 top-2 z-50",children:b.jsxs("div",{className:"flex items-center gap-2",children:[t&&(n?b.jsx("button",{onClick:()=>{i(!n)},children:b.jsx(MW,{className:"size-3.5 text-center text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})}):b.jsx("button",{role:"edit-visual",onClick:()=>s(),children:b.jsx(OW,{className:"ml-1 size-3.5 text-center text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})})),t&&b.jsx("button",{onClick:()=>o(r,e.id),children:b.jsx(BA,{className:"size-3.5 text-center text-muted-foreground/70 hover:cursor-pointer hover:text-muted-foreground"})}),((c=a.preferences)==null?void 0:c.allowDownload)===!0&&b.jsx(QW,{data:(l==null?void 0:l.records)||[],filename:a.title})]})})}const yq=E.createContext(null),A0={didCatch:!1,error:null};class Lm extends E.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=A0}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var n,r,o=arguments.length,i=new Array(o),s=0;s<o;s++)i[s]=arguments[s];(n=(r=this.props).onReset)===null||n===void 0||n.call(r,{args:i,reason:"imperative-api"}),this.setState(A0)}}componentDidCatch(t,n){var r,o;(r=(o=this.props).onError)===null||r===void 0||r.call(o,t,n)}componentDidUpdate(t,n){const{didCatch:r}=this.state,{resetKeys:o}=this.props;if(r&&n.error!==null&&vq(t.resetKeys,o)){var i,s;(i=(s=this.props).onReset)===null||i===void 0||i.call(s,{next:o,prev:t.resetKeys,reason:"keys"}),this.setState(A0)}}render(){const{children:t,fallbackRender:n,FallbackComponent:r,fallback:o}=this.props,{didCatch:i,error:s}=this.state;let a=t;if(i){const l={error:s,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")a=n(l);else if(r)a=E.createElement(r,l);else if(o!==void 0)a=o;else throw s}return E.createElement(yq.Provider,{value:{didCatch:i,error:s,resetErrorBoundary:this.resetErrorBoundary}},a)}}function vq(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,r)=>!Object.is(n,t[r]))}function oS({error:e}){return b.jsx("div",{className:"flex flex-col items-center justify-center",role:"alert",style:{height:"100%",width:"100%"},children:b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md bg-muted p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Looks like we tripped on a loose wire!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})})}function xq({error:e,frame:t}){return b.jsxs("div",{className:"flex h-full flex-col items-center justify-center border",role:"alert",children:[b.jsx(a5,{frame:t}),b.jsx("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10"}),b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Looks like we tripped on a loose wire!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})]})}function wq({error:e}){return b.jsxs("div",{className:"flex h-full flex-col items-center justify-center",role:"alert",children:[b.jsx("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10"}),b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Something went wrong!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})]})}function br({number:e,decimalPlaces:t=0,useSuffix:n=!1,customSuffix:r="",currency:o="",locale:i="en-US"}){let s=1,a=r,l=i;const c=t;n&&!r&&(e>=1e9?(s=1e9,a="B"):e>=1e7&&i==="en-IN"?(s=1e7,a="Cr"):e>=1e5&&i==="en-IN"?(s=1e5,a="L"):e>=1e6?(s=1e6,a="M"):e>=1e3&&(s=1e3,a="K"));const u=e/s,d={maximumFractionDigits:c,minimumFractionDigits:c};if(o){d.style="currency",d.currency=o;try{new Intl.NumberFormat(i,d).format(0)}catch{}}try{new Intl.NumberFormat(i,d).format(0)}catch{l="en-US"}let f=new Intl.NumberFormat(l,d).format(u);return n&&(f+=a),f}function iS(e,t){if(!t)return"";const n=t.find(r=>e>=r.start&&e<=r.end);return(n==null?void 0:n.color)||""}function jm(e){try{const n=new Function("getDatalabelColor",e)(Ov);return{options:n==null?void 0:n.options,plugins:(n==null?void 0:n.plugins)||[]}}catch(t){return console.error("Error processing custom visual code",t),{options:{},plugins:[]}}}function Sq(e){var t,n,r,o,i,s,a,l,c,u,d,h,f,p,g,m,y,v;return!e||((r=(n=(t=e==null?void 0:e.scales)==null?void 0:t.x)==null?void 0:n.grid)==null?void 0:r.display)===!0&&((s=(i=(o=e==null?void 0:e.scales)==null?void 0:o.y)==null?void 0:i.grid)==null?void 0:s.display)===!0?"xy":(c=(l=(a=e.scales)==null?void 0:a.x)==null?void 0:l.grid)!=null&&c.display?"x":(h=(d=(u=e.scales)==null?void 0:u.y)==null?void 0:d.grid)!=null&&h.display?"y":((g=(p=(f=e.scales)==null?void 0:f.x)==null?void 0:p.grid)==null?void 0:g.display)===!1&&((v=(y=(m=e.scales)==null?void 0:m.y)==null?void 0:y.grid)==null?void 0:v.display)===!1?"none":"xy"}function Cq(e){const t=getComputedStyle(document.documentElement).getPropertyValue(e);return l5(t)}function l5(e){const[t,n,r]=e.split(" "),o=parseFloat(t),i=parseFloat(n),s=parseFloat(r),a=i/100,l=s/100,c=(1-Math.abs(2*l-1))*a,u=c*(1-Math.abs(o/60%2-1)),d=l-c/2;let h=0,f=0,p=0;0<=o&&o<60?(h=c,f=u,p=0):60<=o&&o<120?(h=u,f=c,p=0):120<=o&&o<180?(h=0,f=c,p=u):180<=o&&o<240?(h=0,f=u,p=c):240<=o&&o<300?(h=u,f=0,p=c):300<=o&&o<360&&(h=c,f=0,p=u),h=Math.round((h+d)*255),f=Math.round((f+d)*255),p=Math.round((p+d)*255);const g=m=>{const y=m.toString(16);return y.length==1?"0"+y:y};return`#${g(h)}${g(f)}${g(p)}`}function _q(e,t){return e.map(r=>Object.fromEntries(Object.entries(r).filter(([o])=>!t.some(i=>i.label===o))))}function Sl({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){const i=o==="radar"?.2:1,{keys:s}=dn(e),a=s.slice(1).filter(m=>!cO.includes(m));let l="none";o=="bar"?l="bar":o=="line"&&(l="line");const c=i5(a,e,r,i,l),u=Pa(c,n),d=s[0],h=Mf(e,d),{options:f,plugins:p}=sg({cardType:o,cfg:t,preferences:r,customCfg:n});return{type:(n==null?void 0:n.type)||(t==null?void 0:t.type)||"bar",data:{labels:h,datasets:u},options:f,plugins:p}}function c5(e,t){var o,i,s;const n=((o=t==null?void 0:t.options)==null?void 0:o.indexAxis)==="y"?"x":"y";return(i=e==null?void 0:e.chartOptions)!=null&&i.indexAxis?((s=e==null?void 0:e.chartOptions)==null?void 0:s.indexAxis)==="x"?"y":"x":n}function Eq(e){var n,r;return(n=e==null?void 0:e.chartOptions)!=null&&n.indexAxis?((r=e==null?void 0:e.chartOptions)==null?void 0:r.indexAxis)==="x"?"x":"y":"x"}function u5(e,t){var i,s,a,l,c,u,d,h,f,p,g,m;const n=c5(t,e),r=Eq(t);return{...e==null?void 0:e.options,scales:{...(i=e==null?void 0:e.options)==null?void 0:i.scales,[n]:{...(a=(s=e==null?void 0:e.options)==null?void 0:s.scales)==null?void 0:a[n],ticks:{...(u=(c=(l=e==null?void 0:e.options)==null?void 0:l.scales)==null?void 0:c[n])==null?void 0:u.ticks,callback:y=>{var v,x,C,_;return br({number:Number(y),decimalPlaces:((v=t==null?void 0:t.numberAxisFormat)==null?void 0:v.decimalPlaces)||0,useSuffix:!!((x=t==null?void 0:t.numberAxisFormat)!=null&&x.suffix),customSuffix:"",locale:((C=t==null?void 0:t.numberAxisFormat)==null?void 0:C.locale)||"",currency:((_=t==null?void 0:t.numberAxisFormat)==null?void 0:_.currency)||""})}}},[r]:{...(f=(h=(d=e==null?void 0:e.options)==null?void 0:d.scales)==null?void 0:h[r])==null?void 0:f.ticks,callback:null}},plugins:{...(p=e==null?void 0:e.options)==null?void 0:p.plugins,datalabels:{...(m=(g=e==null?void 0:e.options)==null?void 0:g.plugins)==null?void 0:m.datalabels,formatter:function(y){var v,x,C,_;return br({number:Number(y),decimalPlaces:((v=t==null?void 0:t.numberAxisFormat)==null?void 0:v.decimalPlaces)||0,useSuffix:!!((x=t==null?void 0:t.numberAxisFormat)!=null&&x.suffix),customSuffix:"",locale:((C=t==null?void 0:t.numberAxisFormat)==null?void 0:C.locale)||"",currency:((_=t==null?void 0:t.numberAxisFormat)==null?void 0:_.currency)||""})}}}}}function sg({cardType:e,cfg:t,preferences:n,customCfg:r}){var p,g,m,y,v,x,C,_,S,w,k,D,M,T,I,$,L,A,N,F,z,B,O,q,j,P,V,U,Y;const o=ie.getState().themeStyle,i=u5(t,n),s=On((t==null?void 0:t.options)||{},n==null?void 0:n.chartOptions),a=On(i,s),l=On(a,(r==null?void 0:r.options)||{}),c=Rq(e,n,l),u={...l,scales:{...l==null?void 0:l.scales,x:{...(p=l==null?void 0:l.scales)==null?void 0:p.x,grid:{...(m=(g=l==null?void 0:l.scales)==null?void 0:g.x)==null?void 0:m.grid,color:(_=(C=(x=(v=(y=o==null?void 0:o.chart)==null?void 0:y.options)==null?void 0:v.scales)==null?void 0:x.x)==null?void 0:C.grid)==null?void 0:_.color}},y:{...(S=l==null?void 0:l.scales)==null?void 0:S.y,grid:{...(k=(w=l==null?void 0:l.scales)==null?void 0:w.y)==null?void 0:k.grid,color:($=(I=(T=(M=(D=o==null?void 0:o.chart)==null?void 0:D.options)==null?void 0:M.scales)==null?void 0:T.y)==null?void 0:I.grid)==null?void 0:$.color}}},plugins:{...l==null?void 0:l.plugins,tooltip:{filter:function(W){return W.raw!==void 0&&W.raw!==0},callbacks:c,...(L=l==null?void 0:l.plugins)==null?void 0:L.tooltip,backgroundColor:(z=(F=(N=(A=o==null?void 0:o.chart)==null?void 0:A.options)==null?void 0:N.plugins)==null?void 0:F.tooltip)==null?void 0:z.backgroundColor,bodyColor:(j=(q=(O=(B=o==null?void 0:o.chart)==null?void 0:B.options)==null?void 0:O.plugins)==null?void 0:q.tooltip)==null?void 0:j.bodyColor,titleColor:(Y=(U=(V=(P=o==null?void 0:o.chart)==null?void 0:P.options)==null?void 0:V.plugins)==null?void 0:U.tooltip)==null?void 0:Y.titleColor}}},{plugins:d,options:h}=jm((n==null?void 0:n.customVisualCode)||"");return{options:On(u,h),plugins:d}}function Rq(e,t,n){var r,o;return e==="map"?{}:{title:function(i){var a,l,c,u,d;const s=((a=i==null?void 0:i[0])==null?void 0:a.label)||"";if(i.length>1&&["stackedBar","stackedLine"].includes(e||"")){const h=i.reduce((p,g)=>{const m=g.raw;return m!==void 0&&m!==0?p+m:p},0),f=br({number:h,decimalPlaces:((l=t==null?void 0:t.numberAxisFormat)==null?void 0:l.decimalPlaces)||0,useSuffix:!!((c=t==null?void 0:t.numberAxisFormat)!=null&&c.suffix),customSuffix:"",locale:((u=t==null?void 0:t.numberAxisFormat)==null?void 0:u.locale)||"",currency:((d=t==null?void 0:t.numberAxisFormat)==null?void 0:d.currency)||""});return`${s} (${f})`}return s},label:function(i){var c,u,d,h,f;const s=((c=i==null?void 0:i.dataset)==null?void 0:c.label)||"",a=i==null?void 0:i.raw;if(a===void 0||a===0)return;const l=br({number:Number(a),decimalPlaces:((u=t==null?void 0:t.numberAxisFormat)==null?void 0:u.decimalPlaces)||0,useSuffix:!!((d=t==null?void 0:t.numberAxisFormat)!=null&&d.suffix),customSuffix:"",locale:((h=t==null?void 0:t.numberAxisFormat)==null?void 0:h.locale)||"",currency:((f=t==null?void 0:t.numberAxisFormat)==null?void 0:f.currency)||""});return`${s}: ${l}`},...((o=(r=n==null?void 0:n.plugins)==null?void 0:r.tooltip)==null?void 0:o.callbacks)||{}}}/*!
|
|
228
|
+
`),s=new Blob([i],{type:"text/csv"}),a=window.URL.createObjectURL(s),l=document.createElement("a");l.setAttribute("hidden",""),l.setAttribute("href",a),l.setAttribute("download",t),document.body.appendChild(l),l.click(),document.body.removeChild(l)};return b.jsx(QA,{onClick:n,className:"h-[14px] w-[14px] text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})};var Rc=1e3,kc=Rc*60,Pc=kc*60,Ua=Pc*24,ZW=Ua*7,JW=Ua*365.25,eq=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return tq(e);if(n==="number"&&isFinite(e))return t.long?rq(e):nq(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function tq(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),r=(t[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*JW;case"weeks":case"week":case"w":return n*ZW;case"days":case"day":case"d":return n*Ua;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Pc;case"minutes":case"minute":case"mins":case"min":case"m":return n*kc;case"seconds":case"second":case"secs":case"sec":case"s":return n*Rc;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function nq(e){var t=Math.abs(e);return t>=Ua?Math.round(e/Ua)+"d":t>=Pc?Math.round(e/Pc)+"h":t>=kc?Math.round(e/kc)+"m":t>=Rc?Math.round(e/Rc)+"s":e+"ms"}function rq(e){var t=Math.abs(e);return t>=Ua?kh(e,t,Ua,"day"):t>=Pc?kh(e,t,Pc,"hour"):t>=kc?kh(e,t,kc,"minute"):t>=Rc?kh(e,t,Rc,"second"):e+" ms"}function kh(e,t,n,r){var o=t>=n*1.5;return Math.round(e/n)+" "+r+(o?"s":"")}const oq=Ds(eq);function o5(){const e=ie(i=>i.dashboard.filters),t=ie(i=>i.filterValues),n=ie(i=>i.selectedSheetId),r=e==null?void 0:e.filter(i=>i.sheetId===n||!i.sheetId),o=t==null?void 0:t.filter(i=>(r==null?void 0:r.some(s=>s.id===i.filterId))||i.filterId.endsWith(n));return{sheetFilters:r,sheetFilterValues:o}}function iq(e){const t=ie(c=>c.selectedLensId),{filterColumns:n,...r}=e.queryConfig||{},o=n==null?void 0:n.filter(c=>{var u,d;return(d=(u=e.queryConfig)==null?void 0:u.filters)==null?void 0:d.some(h=>h.filterColumnName===c.name)}),{sheetFilterValues:i}=o5(),s=(e==null?void 0:e.sql)||"",a=sq((e==null?void 0:e.python)||"");return{queryKey:["query",e==null?void 0:e.id,e==null?void 0:e.title,s,a,t||"",JSON.stringify(i),JSON.stringify(r),JSON.stringify(o)],sql:s,sheetFilterValues:i}}function sq(e){return e===l1?"":e}let Ph;const aq=new Uint8Array(16);function lq(){if(!Ph&&(Ph=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ph))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ph(aq)}const Mn=[];for(let e=0;e<256;++e)Mn.push((e+256).toString(16).slice(1));function cq(e,t=0){return Mn[e[t+0]]+Mn[e[t+1]]+Mn[e[t+2]]+Mn[e[t+3]]+"-"+Mn[e[t+4]]+Mn[e[t+5]]+"-"+Mn[e[t+6]]+Mn[e[t+7]]+"-"+Mn[e[t+8]]+Mn[e[t+9]]+"-"+Mn[e[t+10]]+Mn[e[t+11]]+Mn[e[t+12]]+Mn[e[t+13]]+Mn[e[t+14]]+Mn[e[t+15]]}const uq=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),v2={randomUUID:uq};function vs(e,t,n){if(v2.randomUUID&&!e)return v2.randomUUID();e=e||{};const r=e.random||(e.rng||lq)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,cq(r)}const ot=o1()(iO((e,t)=>({isDevMode:!1,userInputForAI:"",triggerAIRun:!1,showAIDialog:!1,isShowingVisual:!0,runSql:!1,sqlGen:{},sql:"",isSqlRunning:!1,queryResultColumns:[],showFilters:!1,applyFilters:!1,filterValues:[{filterId:"sample-filter-id",valueType:"string",name:"",operation:"in",values:[""]}],card:{id:vs(),title:"Editor Card",type:"bar",data:[]},frame:{id:vs(),cards:[],activeCardId:""},actions:{setEditorFilterMode:(n,r)=>{e(o=>{var s,a;const i=(a=(s=o.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.find(l=>l.name===n);i&&(r==="include"?i.mode="include":i.mode="exclude")})},setQueryConfig:n=>{e(r=>{r.card.queryConfig=n})},addOrderByColumn:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,orderBy:[...((o=r.card.queryConfig)==null?void 0:o.orderBy)||[],n]}})},removeOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.filter(s=>s.columnId!==n.columnId)}})},updateOrderByColumn:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,orderBy:(i=(o=r.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.map(s=>s.columnId===n.columnId?n:s)}})},setOrderByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,orderBy:n}})},setPivotByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,pivotColumns:n}})},updateEditorFilterValue:(n,r,o)=>{e(i=>{var a,l,c,u,d;const s=(l=(a=i.card.queryConfig)==null?void 0:a.filters)==null?void 0:l.find(h=>h.filterColumnName===n);o&&(i.card.queryConfig={...i.card.queryConfig,filters:(u=(c=i.card.queryConfig)==null?void 0:c.filters)==null?void 0:u.filter(h=>h.filterColumnName!==n)}),s?s.filterValue=r:i.card.queryConfig={...i.card.queryConfig,filters:[...((d=i.card.queryConfig)==null?void 0:d.filters)||[],{filterColumnName:n,filterValue:r}]}})},clearEditorFilter:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(s=>s.filterColumnName!==n.name)}})},removeEditorFilter:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,filters:(i=(o=r.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(l=>l.filterColumnName!==n.name),filterColumns:(a=(s=r.card.queryConfig)==null?void 0:s.filterColumns)==null?void 0:a.filter(l=>l.id!==n.id)}})},setTempQueryData:n=>{e(r=>{r.tempQueryData=n})},setIsDevMode:n=>{e(r=>{r.isDevMode=n})},setMetricColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,metricColumns:n}})},addColumnToMetricColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,metricColumns:[...((o=r.card.queryConfig)==null?void 0:o.metricColumns)||[],n]}})},updateMetricColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,metricColumns:(s=(i=o.card.queryConfig)==null?void 0:i.metricColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromMetricColumns:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,metricColumns:(i=(o=r.card.queryConfig)==null?void 0:o.metricColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},removeColumnFromPivotBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,pivotColumns:(i=(o=r.card.queryConfig)==null?void 0:o.pivotColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setGroupByColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,groupByColumns:n}})},addColumnToGroupBy:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,groupByColumns:[...((o=r.card.queryConfig)==null?void 0:o.groupByColumns)||[],n]}})},updateGroupByColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,groupByColumns:(s=(i=o.card.queryConfig)==null?void 0:i.groupByColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},updatePivotByColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,pivotColumns:(s=(i=o.card.queryConfig)==null?void 0:i.pivotColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromGroupBy:n=>{e(r=>{var o,i,s,a;r.card.queryConfig={...r.card.queryConfig,groupByColumns:(i=(o=r.card.queryConfig)==null?void 0:o.groupByColumns)==null?void 0:i.filter(l=>l.id!==n)},r.card.queryConfig={...r.card.queryConfig,orderBy:(a=(s=r.card.queryConfig)==null?void 0:s.orderBy)==null?void 0:a.filter(l=>l.columnId!==n)}})},setFilterColumns:n=>{e(r=>{r.card.queryConfig={...r.card.queryConfig,filterColumns:n}})},addColumnToFilterColumns:n=>{e(r=>{var o;r.card.queryConfig={...r.card.queryConfig,filterColumns:[...((o=r.card.queryConfig)==null?void 0:o.filterColumns)||[],n]}})},updateFilterColumn:(n,r)=>{e(o=>{var i,s;o.card.queryConfig={...o.card.queryConfig,filterColumns:(s=(i=o.card.queryConfig)==null?void 0:i.filterColumns)==null?void 0:s.map(a=>a.id===n?r:a)}})},removeColumnFromFilterColumns:n=>{e(r=>{var o,i;r.card.queryConfig={...r.card.queryConfig,filterColumns:(i=(o=r.card.queryConfig)==null?void 0:o.filterColumns)==null?void 0:i.filter(s=>s.id!==n)}})},setCurrentAssitantScope:n=>{e(r=>{r.currentAssitantScope=n})},setLegendOptions:n=>{e(r=>{var o,i,s,a,l,c;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,plugins:{...(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.plugins,legend:{...(c=(l=(a=r.card.preferences)==null?void 0:a.chartOptions)==null?void 0:l.plugins)==null?void 0:c.legend,...n}}}}})},setChartGrid:n=>{e(r=>{var o,i,s,a,l,c,u,d,h,f,p,g,m,y,v;r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,scales:{x:{...(a=(s=(i=r.card.preferences)==null?void 0:i.chartOptions)==null?void 0:s.scales)==null?void 0:a.x,grid:{...(d=(u=(c=(l=r.card.preferences)==null?void 0:l.chartOptions)==null?void 0:c.scales)==null?void 0:u.x)==null?void 0:d.grid,display:n==="x"||n==="xy"}},y:{...(p=(f=(h=r.card.preferences)==null?void 0:h.chartOptions)==null?void 0:f.scales)==null?void 0:p.y,grid:{...(v=(y=(m=(g=r.card.preferences)==null?void 0:g.chartOptions)==null?void 0:m.scales)==null?void 0:y.y)==null?void 0:v.grid,display:n==="y"||n==="xy"}}}}}})},runAssistant:n=>{e(r=>{r.showAIDialog=!0,r.userInputForAI=n,r.triggerAIRun=!0})},setShowAIDialog:n=>{e(r=>{r.showAIDialog=n})},setUserInputForAI:n=>{e(r=>{r.userInputForAI=n})},setTriggerAIRun:n=>{e(r=>{r.triggerAIRun=n})},updateCardTab:(n,r)=>{e(o=>{const i=o.frame,s={...i,cards:i.cards.map(l=>l.id===r.id?r:l),activeCardId:n};o.frame=s;const a=s.cards.find(l=>l.id===n);o.card=a})},setActiveTabCardId:n=>{e(r=>{r.activeTabCardId=n})},setCustomCardPreferences:n=>{e(r=>{r.card.customCardPreferences=n})},setChartOrientation:n=>{e(r=>{var s,a,l,c,u,d;const o=r.card.preferences;let i={};((s=o==null?void 0:o.chartOptions)==null?void 0:s.indexAxis)!==n&&(i={x:(l=(a=o==null?void 0:o.chartOptions)==null?void 0:a.scales)==null?void 0:l.y,y:(u=(c=o==null?void 0:o.chartOptions)==null?void 0:c.scales)==null?void 0:u.x}),r.card.preferences={...o,chartOptions:{...o==null?void 0:o.chartOptions,scales:{...(d=o==null?void 0:o.chartOptions)==null?void 0:d.scales,...i},indexAxis:n}}})},setLowerIsBetter:n=>{e(r=>{var o;r.card.preferences={...r.card.preferences,kpiVisualOptions:{...(o=r.card.preferences)==null?void 0:o.kpiVisualOptions,lowerIsBetter:n}}})},setSortChart:n=>{e(r=>{r.card.preferences={...r.card.preferences,sortChart:n}})},setCustomVisualCode:n=>{e(r=>{r.card.preferences={...r.card.preferences,customVisualCode:n}})},setNumberFormat:(n,r,o,i)=>{e(s=>{var a,l,c;s.card.preferences={...(a=s.card)==null?void 0:a.preferences,formatNumber:{...(c=(l=s.card)==null?void 0:l.preferences)==null?void 0:c.formatNumber,decimalPlaces:n,currency:r,locale:o,suffix:i,enabled:!0}}})},setColorRanges:n=>{e(r=>{var o,i;r.card.preferences={...r.card.preferences,formatNumber:{...(i=(o=r.card)==null?void 0:o.preferences)==null?void 0:i.formatNumber,colorRanges:n}}})},setQueryResultColumns:n=>{e(r=>{r.queryResultColumns=n})},setCardPreferences:n=>{e(r=>{r.card.preferences=n})},setFilterOnClickColumnIndex:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClickColumnIndex:n}})},setFilterOnClickField:n=>{e(r=>{r.card.preferences={...r.card.preferences,filterOnClick:!0,filterOnClickField:n}})},setCardRefreshInterval:n=>{e(r=>{r.card.refreshInterval=n})},setIsShowingVisual:n=>{e({isShowingVisual:n})},setRunSql:n=>{e({runSql:n})},setIsSqlRunning:n=>{e({isSqlRunning:n})},clearQueryConfig:()=>{e(n=>{n.card.queryConfig=void 0})},updateCardInFrame:n=>{e(r=>{r.frame.cards=r.frame.cards.map(o=>o.id===n.id?n:o)})},setFrame:n=>{e({frame:n})},setCard:n=>{e({card:n})},switchCardType:n=>{e(r=>{r.card.type=n,r.card.sql="",r.card.python="",r.card.customCfg={},r.card.preferences={}})},setCardType:n=>{e(r=>{var o;r.card.type=n,n==="range"&&(r.card.preferences={...r.card.preferences,chartOptions:{...(o=r.card.preferences)==null?void 0:o.chartOptions,indexAxis:"y"}})})},setCardSql:n=>{e(r=>{r.card.sql=n})},setCardPython:n=>{e(r=>{r.card.python=n})},setPythonStdOut:n=>{e(r=>{r.pythonStdOut=n})},setCardCustomCfg:n=>{e(r=>{r.card.customCfg=n})},setShowFilters:n=>{e(r=>{r.showFilters=n})},setApplyFilters:n=>{e(r=>{r.applyFilters=n})},setFilterValues:n=>{e(r=>{r.filterValues=n})},setSqlGen:n=>{e(r=>{r.sqlGen=n})},setSqlGenMeasure:(n,r)=>{e(o=>{o.sqlGen.measures=[...o.sqlGen.measures||[],{name:n,calc:r}]})},setSqlGenDimension:n=>{e(r=>{r.sqlGen.dimensions=[...r.sqlGen.dimensions||[],n]})},setSelectedDatamodelId:n=>{var r,o;e(i=>{i.selectedDatamodelId=n,i.card.datamodelId=n}),(o=(r=t()).onDatamodelChange)==null||o.call(r,n)},setSelectedConnectionId:n=>{var r,o;e(i=>{i.selectedConnectionId=n,i.card.connectionId=n}),(o=(r=t()).onConnectionChange)==null||o.call(r,n)},setSelectedDatabaseName:n=>{var r,o;e(i=>{i.selectedDatabaseName=n,i.card.lastSelectedDatabase=n}),(o=(r=t()).onDatabaseChange)==null||o.call(r,n)},setSelectedSchemaName:n=>{var r,o;e(i=>{i.selectedSchemaName=n,i.card.lastSelectedSchema=n}),(o=(r=t()).onSchemaChange)==null||o.call(r,n)},setSelectedTableName:n=>{var r,o;e(i=>{i.selectedTableName=n,i.card.lastSelectedTable=n}),(o=(r=t()).onTableChange)==null||o.call(r,n)},setOnConnectionChange:n=>{e({onConnectionChange:n})},setOnDatabaseChange:n=>{e({onDatabaseChange:n})},setOnSchemaChange:n=>{e({onSchemaChange:n})},setOnTableChange:n=>{e({onTableChange:n})},setOnSave:n=>{e({onSave:n})},setOnClose:n=>{e({onClose:n})}}}))),Pf=()=>ot(e=>e.actions);function Fi(e){var w,k,D;const{authToken:t}=wr(),n=ie(M=>M.filteringCards),r=ot(M=>M.isDevMode),o=e.queryConfig,i=ie(M=>M.isVisualEditing),s=ie(M=>M.actions.getCardFrame),a=ie(M=>M.authToken),l=(n==null?void 0:n.some(M=>M.id===e.id))||!1,c=s(e.id),u=(c==null?void 0:c.cards)||[],d=(u==null?void 0:u.length)==1,h=oq((e==null?void 0:e.refreshInterval)||"0"),{queryKey:f,sql:p,sheetFilterValues:g}=iq(e);let m={};i||(m={refetchInterval:h});function y(){var $,L,A;const M=($=e.queryConfig)==null?void 0:$.metricColumns,T=(L=e.queryConfig)==null?void 0:L.groupByColumns,I=(A=e.queryConfig)==null?void 0:A.pivotColumns;return!!(M&&(M==null?void 0:M.length)>0||T&&(T==null?void 0:T.length)>0||I&&(I==null?void 0:I.length)>0)}const v={databaseName:(e==null?void 0:e.lastSelectedDatabase)||"",schemaName:(e==null?void 0:e.lastSelectedSchema)||"",tableName:(e==null?void 0:e.lastSelectedTable)||"",datamodelId:(e==null?void 0:e.datamodelId)||""},x=co({queryKey:f,queryFn:async()=>{var M;if(!(e!=null&&e.connectionId)||!((M=e==null?void 0:e.sql)!=null&&M.trim())&&!y())return null;try{return await p1("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||(a==null?void 0:a.accessToken)||"",{connection_id:e.connectionId,sql:p,python:e.python===l1?"":e.python,active_filters:g,cache_config:dO({card:e}),queryConfig:o,tableConfig:v})}catch(T){if(i)return{records:[],error:T};throw T}},placeholderData:Tz,...m,enabled:C()});function C(){var M;return!(t!=null&&t.accessToken)||l&&d?!1:!!(e!=null&&e.connectionId&&((M=e==null?void 0:e.sql)!=null&&M.trim()||y())&&!i||y()&&i&&!r)}const _=((w=x.error)==null?void 0:w.message)||((D=(k=x.data)==null?void 0:k.error)==null?void 0:D.message);return{...x,queryKey:f,isFilteringCard:l,isSingleCardFrame:d,errorMessage:_}}function dq(e){return/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/.test(e)}function fq(e,t=1){if(!dq(e)||t===1)return e;e=e.replace(/^#/,"");const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),o=parseInt(e.substring(4,6),16);return t=Math.min(Math.max(t,0),1),`rgba(${n}, ${r}, ${o}, ${t})`}function i5(e,t,n,r=1,o="none"){var u,d,h,f;const i=n==null?void 0:n.datasetOptions,s=ie.getState().themeStyle,a=(d=(u=s==null?void 0:s.chart)==null?void 0:u.dataset)==null?void 0:d.backgroundColor,l=(f=(h=s==null?void 0:s.chart)==null?void 0:h.dataset)==null?void 0:f.borderColor;return e.map((p,g)=>{var w;const m=i==null?void 0:i.find(k=>k.idx===g),y=fq(a==null?void 0:a[g%a.length],r),v=l==null?void 0:l[g%l.length],x=l==null?void 0:l[g%l.length],C={borderWidth:2,pointRadius:2,segment:{borderDash:k=>{const D=k.p0DataIndex;return t[D]._forecast?[2,4]:void 0},borderColor:k=>{const D=t[k.p0DataIndex]._forecast,M=ie.getState().theme==="dark";return D?M?"white":"black":x}},pointBackgroundColor:k=>{const D=ie.getState().theme==="dark";return t[k.dataIndex]._forecast?D?"white":"gray":v},pointBorderColor:k=>{const D=ie.getState().theme==="dark";return t[k.dataIndex]._forecast?D?"white":"gray":v}},_={backgroundColor:k=>{var M;return((M=t[k.dataIndex])==null?void 0:M._forecast)?y+"20":y}};return{label:p.charAt(0).toUpperCase()+p.slice(1),data:t.map(k=>k[p]),...m,datalabels:{...m==null?void 0:m.datalabels,color:hq((w=m==null?void 0:m.datalabels)==null?void 0:w.align,y)},backgroundColor:y,pointBackgroundColor:v,borderColor:x,...o==="line"?C:{},...o==="bar"?_:{}}})}function hq(e,t){return _c(e==="end"||e==="start"?Pd():t)}function pq(e,t){var d,h,f,p;const{keys:n}=dn(e),r=n.length,o=n.slice(r-3),i=n.slice(0,r-3);let s=[];const a=ie.getState().themeStyle,l=(h=(d=a==null?void 0:a.chart)==null?void 0:d.dataset)==null?void 0:h.backgroundColor,c=(p=(f=a==null?void 0:a.chart)==null?void 0:f.dataset)==null?void 0:p.borderColor;let u={};return t==="scatter"&&(u={radius:5}),(i==null?void 0:i.length)===1&&(s=e.map((g,m)=>({label:g[i==null?void 0:i[0]],data:[{x:g[o[0]],y:g[o[1]],r:g[o[2]]}],backgroundColor:(l==null?void 0:l[m%l.length])+"CC",borderColor:c==null?void 0:c[m%c.length],...u}))),(i==null?void 0:i.length)>1&&(s=[...new Set(e.map(m=>m[i==null?void 0:i[1]]))].map((m,y)=>{const v=e.filter(x=>x[i==null?void 0:i[1]]===m);return{label:m,data:v.map(x=>({x:x[o[0]],y:x[o[1]],r:x[o[2]],label:x[i==null?void 0:i[0]]})),backgroundColor:(l==null?void 0:l[y%l.length])+"CC",borderColor:c==null?void 0:c[y%c.length],...u}})),s}function s5(e,t){var s,a,l,c;const n=ie.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,o=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(u=>({label:u.charAt(0).toUpperCase()+u.slice(1),data:t.map(d=>d[u]),backgroundColor:t.map((d,h)=>(d==null?void 0:d._color)||(r==null?void 0:r[h%r.length])),borderColor:t.map((d,h)=>(d==null?void 0:d._color)||(o==null?void 0:o[h%o.length]))}))}function gq(e){let t=-1,n=0;return e.forEach((r,o)=>{const i=Object.keys(r).length;i>n&&(t=o,n=i)}),t}function dn(e){if(!e||e.length===0)return{keys:[],dimensionKeys:[],metricKeys:[]};const t=gq(e),n=Object.keys(e[t]),r=n.filter(i=>{var s,a,l,c,u,d,h,f;return!!(typeof((s=e==null?void 0:e[t])==null?void 0:s[i])&&typeof((a=e==null?void 0:e[t])==null?void 0:a[i])=="string"||typeof((l=e==null?void 0:e[0])==null?void 0:l[i])&&typeof((c=e==null?void 0:e[0])==null?void 0:c[i])=="string"||typeof((u=e==null?void 0:e[1])==null?void 0:u[i])&&typeof((d=e==null?void 0:e[1])==null?void 0:d[i])=="string"||typeof((h=e==null?void 0:e[2])==null?void 0:h[i])&&typeof((f=e==null?void 0:e[2])==null?void 0:f[i])=="string")});r.length===0&&r.push(n[0]);const o=n.filter(i=>{var s,a;return((s=e==null?void 0:e[t])==null?void 0:s[i])===+((a=e==null?void 0:e[t])==null?void 0:a[i])});return{keys:n,dimensionKeys:r,metricKeys:o}}function Pa(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((i,s)=>({...i,...n==null?void 0:n[s],data:i.data,label:i.label})):e}function mq(e,t="asc"){function n(r){return Object.entries(r).slice(1).reduce((s,[a,l])=>{const c=typeof l=="number"?l:parseFloat(l);return s+(isNaN(c)?0:c)},0)}return e.sort((r,o)=>{const i=n(r),s=n(o);return t==="asc"?i-s:s-i})}function Fm({dataArray:e,groupKey:t,pivotKey:n,valueKey:r,sortChart:o}){const i=e.reduce((l,c)=>{const u=c[t],d=c[n],h=c[r];return l[u]||(l[u]={[t]:u}),l[u][d]=h,l},{});let s=Object.values(i);return o!=="none"&&o!==void 0&&(s=mq(s,o)),s.map(l=>Object.fromEntries(Object.entries(l).filter(([c,u])=>u!==0)))}function On(e,t){var s;const n=ie.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,o=Ad(r);return Md(o,e,t)}function Mf(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function rS(e){const t=ie(l=>l.authToken)||e,n=ot(l=>l.selectedConnectionId),{refetch:r,data:o,isLoading:i,isError:s}=co({queryKey:["connections"],queryFn:()=>ua("https://semaphor.cloud/api/v1/connections",(t==null?void 0:t.accessToken)||""),enabled:!!(t!=null&&t.accessToken)}),a=o==null?void 0:o.connections.find(l=>l.id===n);return{connectionsData:o,connections:o==null?void 0:o.connections,isConnectionsLoading:i,isConnectionsError:s,refetchConnections:r,currentConnection:a}}function bq(e){ie(M=>M.isDashboardEditing);const t=ie(M=>M.filterValues),n=ie(M=>M.isVisualEditing);ie(M=>M.selectedSheetId),ie(M=>M.currentBreakpoint);const{currentConnection:r}=rS(),{selectedDatabaseName:o,selectedSchemaName:i,selectedTableName:s,selectedDatamodelId:a}=P9(),{removeFrame:l}=ie(M=>M.actions),c=ie(M=>M.actions.setIsVisualEditing),u=ot(M=>M.actions.setFilterValues),d=ot(M=>M.actions.setApplyFilters),{setCard:h,setFrame:f,setQueryResultColumns:p,setActiveTabCardId:g,setIsDevMode:m,setQueryConfig:y}=Pf(),v=ot(M=>M.actions.setSelectedConnectionId),x=ot(M=>M.actions.setSelectedDatamodelId),C=ot(M=>M.actions.setSelectedDatabaseName),_=ot(M=>M.actions.setSelectedSchemaName),S=ot(M=>M.actions.setSelectedTableName),w=e.cards.find(M=>M.id===e.activeCardId),{data:k}=Fi(w);function D(M=!1){M||c(!n),w.sql&&m(!0),h(w),g(e.activeCardId);const{dimensionKeys:T}=dn((k==null?void 0:k.records)||[]);p(T),f(e),v((w==null?void 0:w.connectionId)||(r==null?void 0:r.id)),w!=null&&w.datamodelId&&w.datamodelId!=="none"?(x(w==null?void 0:w.datamodelId),C("")):x(a||""),w!=null&&w.lastSelectedDatabase&&w.lastSelectedDatabase!=="none"?(C(w==null?void 0:w.lastSelectedDatabase),x("")):C(o||""),w!=null&&w.lastSelectedSchema?_(w==null?void 0:w.lastSelectedSchema):_(i||""),w!=null&&w.lastSelectedTable?S(w==null?void 0:w.lastSelectedTable):S(s||""),t&&(u(t),d(!0))}return{handleEditVisual:D,card:w,data:k}}function a5({frame:e}){var c;const t=ie(u=>u.isDashboardEditing),n=ie(u=>u.isVisualEditing),r=ie(u=>u.selectedSheetId),{removeFrame:o}=ie(u=>u.actions),i=ie(u=>u.actions.setIsVisualEditing),{handleEditVisual:s,card:a,data:l}=bq(e);return b.jsx("section",{onMouseDown:u=>{u.stopPropagation()},className:"absolute right-2 top-2 z-50",children:b.jsxs("div",{className:"flex items-center gap-2",children:[t&&(n?b.jsx("button",{onClick:()=>{i(!n)},children:b.jsx(MW,{className:"size-3.5 text-center text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})}):b.jsx("button",{role:"edit-visual",onClick:()=>s(),children:b.jsx(OW,{className:"ml-1 size-3.5 text-center text-foreground/30 hover:cursor-pointer hover:text-foreground/50"})})),t&&b.jsx("button",{onClick:()=>o(r,e.id),children:b.jsx(BA,{className:"size-3.5 text-center text-muted-foreground/70 hover:cursor-pointer hover:text-muted-foreground"})}),((c=a.preferences)==null?void 0:c.allowDownload)===!0&&b.jsx(QW,{data:(l==null?void 0:l.records)||[],filename:a.title})]})})}const yq=E.createContext(null),A0={didCatch:!1,error:null};class Lm extends E.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=A0}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var n,r,o=arguments.length,i=new Array(o),s=0;s<o;s++)i[s]=arguments[s];(n=(r=this.props).onReset)===null||n===void 0||n.call(r,{args:i,reason:"imperative-api"}),this.setState(A0)}}componentDidCatch(t,n){var r,o;(r=(o=this.props).onError)===null||r===void 0||r.call(o,t,n)}componentDidUpdate(t,n){const{didCatch:r}=this.state,{resetKeys:o}=this.props;if(r&&n.error!==null&&vq(t.resetKeys,o)){var i,s;(i=(s=this.props).onReset)===null||i===void 0||i.call(s,{next:o,prev:t.resetKeys,reason:"keys"}),this.setState(A0)}}render(){const{children:t,fallbackRender:n,FallbackComponent:r,fallback:o}=this.props,{didCatch:i,error:s}=this.state;let a=t;if(i){const l={error:s,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")a=n(l);else if(r)a=E.createElement(r,l);else if(o!==void 0)a=o;else throw s}return E.createElement(yq.Provider,{value:{didCatch:i,error:s,resetErrorBoundary:this.resetErrorBoundary}},a)}}function vq(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,r)=>!Object.is(n,t[r]))}function oS({error:e}){return b.jsx("div",{className:"flex flex-col items-center justify-center",role:"alert",style:{height:"100%",width:"100%"},children:b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md bg-muted p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Looks like we tripped on a loose wire!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})})}function xq({error:e,frame:t}){return b.jsxs("div",{className:"flex h-full flex-col items-center justify-center border",role:"alert",children:[b.jsx(a5,{frame:t}),b.jsx("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10"}),b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Looks like we tripped on a loose wire!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})]})}function wq({error:e}){return b.jsxs("div",{className:"flex h-full flex-col items-center justify-center",role:"alert",children:[b.jsx("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10"}),b.jsxs("div",{className:"flex flex-col justify-center space-y-2 rounded-md p-10",children:[b.jsx("p",{className:"text-lg font-semibold",children:"Oops! Something went wrong!"}),b.jsx("p",{className:"text-sm",children:"Something went wrong:"}),b.jsx("pre",{className:"text-xs",children:e.message})]})]})}function br({number:e,decimalPlaces:t=0,useSuffix:n=!1,customSuffix:r="",currency:o="",locale:i="en-US"}){let s=1,a=r,l=i;const c=t;n&&!r&&(e>=1e9?(s=1e9,a="B"):e>=1e7&&i==="en-IN"?(s=1e7,a="Cr"):e>=1e5&&i==="en-IN"?(s=1e5,a="L"):e>=1e6?(s=1e6,a="M"):e>=1e3&&(s=1e3,a="K"));const u=e/s,d={maximumFractionDigits:c,minimumFractionDigits:c};if(o){d.style="currency",d.currency=o;try{new Intl.NumberFormat(i,d).format(0)}catch{}}try{new Intl.NumberFormat(i,d).format(0)}catch{l="en-US"}let f=new Intl.NumberFormat(l,d).format(u);return n&&(f+=a),f}function iS(e,t){if(!t)return"";const n=t.find(r=>e>=r.start&&e<=r.end);return(n==null?void 0:n.color)||""}function jm(e){try{const n=new Function("getDatalabelColor",e)(Ov);return{options:n==null?void 0:n.options,plugins:(n==null?void 0:n.plugins)||[]}}catch(t){return console.error("Error processing custom visual code",t),{options:{},plugins:[]}}}function Sq(e){var t,n,r,o,i,s,a,l,c,u,d,h,f,p,g,m,y,v;return!e||((r=(n=(t=e==null?void 0:e.scales)==null?void 0:t.x)==null?void 0:n.grid)==null?void 0:r.display)===!0&&((s=(i=(o=e==null?void 0:e.scales)==null?void 0:o.y)==null?void 0:i.grid)==null?void 0:s.display)===!0?"xy":(c=(l=(a=e.scales)==null?void 0:a.x)==null?void 0:l.grid)!=null&&c.display?"x":(h=(d=(u=e.scales)==null?void 0:u.y)==null?void 0:d.grid)!=null&&h.display?"y":((g=(p=(f=e.scales)==null?void 0:f.x)==null?void 0:p.grid)==null?void 0:g.display)===!1&&((v=(y=(m=e.scales)==null?void 0:m.y)==null?void 0:y.grid)==null?void 0:v.display)===!1?"none":"xy"}function Cq(e){const t=getComputedStyle(document.documentElement).getPropertyValue(e);return l5(t)}function l5(e){const[t,n,r]=e.split(" "),o=parseFloat(t),i=parseFloat(n),s=parseFloat(r),a=i/100,l=s/100,c=(1-Math.abs(2*l-1))*a,u=c*(1-Math.abs(o/60%2-1)),d=l-c/2;let h=0,f=0,p=0;0<=o&&o<60?(h=c,f=u,p=0):60<=o&&o<120?(h=u,f=c,p=0):120<=o&&o<180?(h=0,f=c,p=u):180<=o&&o<240?(h=0,f=u,p=c):240<=o&&o<300?(h=u,f=0,p=c):300<=o&&o<360&&(h=c,f=0,p=u),h=Math.round((h+d)*255),f=Math.round((f+d)*255),p=Math.round((p+d)*255);const g=m=>{const y=m.toString(16);return y.length==1?"0"+y:y};return`#${g(h)}${g(f)}${g(p)}`}function _q(e,t){return e.map(r=>Object.fromEntries(Object.entries(r).filter(([o])=>!t.some(i=>i.label===o))))}function Sl({data:e,cfg:t,customCfg:n,preferences:r,cardType:o}){const i=o==="radar"?.2:1,{keys:s}=dn(e),a=s.slice(1).filter(m=>!cO.includes(m));let l="none";o=="bar"?l="bar":o=="line"&&(l="line");const c=i5(a,e,r,i,l),u=Pa(c,n),d=s[0],h=Mf(e,d),{options:f,plugins:p}=sg({cardType:o,cfg:t,preferences:r,customCfg:n});return{type:(n==null?void 0:n.type)||(t==null?void 0:t.type)||"bar",data:{labels:h,datasets:u},options:f,plugins:p}}function c5(e,t){var o,i,s;const n=((o=t==null?void 0:t.options)==null?void 0:o.indexAxis)==="y"?"x":"y";return(i=e==null?void 0:e.chartOptions)!=null&&i.indexAxis?((s=e==null?void 0:e.chartOptions)==null?void 0:s.indexAxis)==="x"?"y":"x":n}function Eq(e){var n,r;return(n=e==null?void 0:e.chartOptions)!=null&&n.indexAxis?((r=e==null?void 0:e.chartOptions)==null?void 0:r.indexAxis)==="x"?"x":"y":"x"}function u5(e,t){var i,s,a,l,c,u,d,h,f,p,g,m;const n=c5(t,e),r=Eq(t);return{...e==null?void 0:e.options,scales:{...(i=e==null?void 0:e.options)==null?void 0:i.scales,[n]:{...(a=(s=e==null?void 0:e.options)==null?void 0:s.scales)==null?void 0:a[n],ticks:{...(u=(c=(l=e==null?void 0:e.options)==null?void 0:l.scales)==null?void 0:c[n])==null?void 0:u.ticks,callback:y=>{var v,x,C,_;return br({number:Number(y),decimalPlaces:((v=t==null?void 0:t.numberAxisFormat)==null?void 0:v.decimalPlaces)||0,useSuffix:!!((x=t==null?void 0:t.numberAxisFormat)!=null&&x.suffix),customSuffix:"",locale:((C=t==null?void 0:t.numberAxisFormat)==null?void 0:C.locale)||"",currency:((_=t==null?void 0:t.numberAxisFormat)==null?void 0:_.currency)||""})}}},[r]:{...(f=(h=(d=e==null?void 0:e.options)==null?void 0:d.scales)==null?void 0:h[r])==null?void 0:f.ticks,callback:null}},plugins:{...(p=e==null?void 0:e.options)==null?void 0:p.plugins,datalabels:{...(m=(g=e==null?void 0:e.options)==null?void 0:g.plugins)==null?void 0:m.datalabels,formatter:function(y){var v,x,C,_;return br({number:Number(y),decimalPlaces:((v=t==null?void 0:t.numberAxisFormat)==null?void 0:v.decimalPlaces)||0,useSuffix:!!((x=t==null?void 0:t.numberAxisFormat)!=null&&x.suffix),customSuffix:"",locale:((C=t==null?void 0:t.numberAxisFormat)==null?void 0:C.locale)||"",currency:((_=t==null?void 0:t.numberAxisFormat)==null?void 0:_.currency)||""})}}}}}function sg({cardType:e,cfg:t,preferences:n,customCfg:r}){var p,g,m,y,v,x,C,_,S,w,k,D,M,T,I,$,L,A,N,F,z,B,O,q,j,P,V,U,Y;const o=ie.getState().themeStyle,i=u5(t,n),s=On((t==null?void 0:t.options)||{},n==null?void 0:n.chartOptions),a=On(i,s),l=On(a,(r==null?void 0:r.options)||{}),c=Rq(e,n,l),u={...l,scales:{...l==null?void 0:l.scales,x:{...(p=l==null?void 0:l.scales)==null?void 0:p.x,grid:{...(m=(g=l==null?void 0:l.scales)==null?void 0:g.x)==null?void 0:m.grid,color:(_=(C=(x=(v=(y=o==null?void 0:o.chart)==null?void 0:y.options)==null?void 0:v.scales)==null?void 0:x.x)==null?void 0:C.grid)==null?void 0:_.color}},y:{...(S=l==null?void 0:l.scales)==null?void 0:S.y,grid:{...(k=(w=l==null?void 0:l.scales)==null?void 0:w.y)==null?void 0:k.grid,color:($=(I=(T=(M=(D=o==null?void 0:o.chart)==null?void 0:D.options)==null?void 0:M.scales)==null?void 0:T.y)==null?void 0:I.grid)==null?void 0:$.color}}},plugins:{...l==null?void 0:l.plugins,tooltip:{filter:function(W){return W.raw!==void 0&&W.raw!==0},callbacks:c,...(L=l==null?void 0:l.plugins)==null?void 0:L.tooltip,backgroundColor:(z=(F=(N=(A=o==null?void 0:o.chart)==null?void 0:A.options)==null?void 0:N.plugins)==null?void 0:F.tooltip)==null?void 0:z.backgroundColor,bodyColor:(j=(q=(O=(B=o==null?void 0:o.chart)==null?void 0:B.options)==null?void 0:O.plugins)==null?void 0:q.tooltip)==null?void 0:j.bodyColor,titleColor:(Y=(U=(V=(P=o==null?void 0:o.chart)==null?void 0:P.options)==null?void 0:V.plugins)==null?void 0:U.tooltip)==null?void 0:Y.titleColor}}},{plugins:d,options:h}=jm((n==null?void 0:n.customVisualCode)||"");return{options:On(u,h),plugins:d}}function Rq(e,t,n){var r,o;return e==="map"?{}:{title:function(i){var a,l,c,u,d;const s=((a=i==null?void 0:i[0])==null?void 0:a.label)||"";if(i.length>1&&["stackedBar","stackedLine"].includes(e||"")){const h=i.reduce((p,g)=>{const m=g.raw;return m!==void 0&&m!==0?p+m:p},0),f=br({number:h,decimalPlaces:((l=t==null?void 0:t.numberAxisFormat)==null?void 0:l.decimalPlaces)||0,useSuffix:!!((c=t==null?void 0:t.numberAxisFormat)!=null&&c.suffix),customSuffix:"",locale:((u=t==null?void 0:t.numberAxisFormat)==null?void 0:u.locale)||"",currency:((d=t==null?void 0:t.numberAxisFormat)==null?void 0:d.currency)||""});return`${s} (${f})`}return s},label:function(i){var c,u,d,h,f;const s=((c=i==null?void 0:i.dataset)==null?void 0:c.label)||"",a=i==null?void 0:i.raw;if(a===void 0||a===0)return;const l=br({number:Number(a),decimalPlaces:((u=t==null?void 0:t.numberAxisFormat)==null?void 0:u.decimalPlaces)||0,useSuffix:!!((d=t==null?void 0:t.numberAxisFormat)!=null&&d.suffix),customSuffix:"",locale:((h=t==null?void 0:t.numberAxisFormat)==null?void 0:h.locale)||"",currency:((f=t==null?void 0:t.numberAxisFormat)==null?void 0:f.currency)||""});return`${s}: ${l}`},...((o=(r=n==null?void 0:n.plugins)==null?void 0:r.tooltip)==null?void 0:o.callbacks)||{}}}/*!
|
|
229
229
|
* @kurkle/color v0.3.4
|
|
230
230
|
* https://github.com/kurkle/color#readme
|
|
231
231
|
* (c) 2024 Jukka Kurkela
|