react-semaphor 0.1.347 → 0.1.349
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/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +28 -26
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +3 -3
- package/dist/chunks/{braces-Ccvdip75.js → braces-CBMh5wmd.js} +1 -1
- package/dist/chunks/{braces-DDHkbW1c.js → braces-Cc86y9Ov.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-CaeYg4gz.js → calendar-preferences-dialog-C2vX2dga.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-AVORk8vl.js → calendar-preferences-dialog-gMb9JPpz.js} +3 -3
- package/dist/chunks/{chevrons-up-down-B9fTSds9.js → chevrons-up-down-CUZL1zaU.js} +1 -1
- package/dist/chunks/{chevrons-up-down-pV0i9ptS.js → chevrons-up-down-fg3WME_w.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-B7hc62UJ.js → dashboard-briefing-launcher-Cx4NkJil.js} +4 -4
- package/dist/chunks/{dashboard-briefing-launcher-GmwoVZDA.js → dashboard-briefing-launcher-DjzTWk1f.js} +1 -1
- package/dist/chunks/dashboard-controls-BTz9RgtD.js +57 -0
- package/dist/chunks/{dashboard-controls-DOwo-4PX.js → dashboard-controls-Yo3L7krV.js} +129 -119
- package/dist/chunks/{dashboard-json-Bjge3tEx.js → dashboard-json-3_OGzDQh.js} +1 -1
- package/dist/chunks/{dashboard-json-CqWAmaOX.js → dashboard-json-OLpSyYFR.js} +2 -2
- package/dist/chunks/{edit-dashboard-visual-NXdSdqQS.js → edit-dashboard-visual-073yhfDG.js} +6 -6
- package/dist/chunks/{edit-dashboard-visual-biDU5oky.js → edit-dashboard-visual-DXzKEyXJ.js} +1 -1
- package/dist/chunks/index-Alj8oDV1.js +1410 -0
- package/dist/chunks/{index-DhuiooCy.js → index-DTSZ23bE.js} +36067 -35746
- package/dist/chunks/{palette-BMXS-AcI.js → palette-C1k347Tb.js} +1 -1
- package/dist/chunks/{palette-DKecBucs.js → palette-DP6TXUD8.js} +1 -1
- package/dist/chunks/{resource-management-panel-DIt7NxsX.js → resource-management-panel-BvTTEaef.js} +3 -3
- package/dist/chunks/{resource-management-panel-MHam0keE.js → resource-management-panel-DLJ6uWYJ.js} +1 -1
- package/dist/chunks/source-identity-C-xaeE_I.js +1 -0
- package/dist/chunks/source-identity-qAmkNtEK.js +49 -0
- package/dist/chunks/{switch-CP7SmEIZ.js → switch-21kU-tcj.js} +2 -2
- package/dist/chunks/{switch-DYRgERrC.js → switch-C0S63HAv.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-DS5aPcKd.js → use-create-flow-overlay-state-BMr_844V.js} +1 -1
- package/dist/chunks/{use-create-flow-overlay-state-p_i0aUhH.js → use-create-flow-overlay-state-gRSXj8dj.js} +3 -3
- package/dist/chunks/{use-visual-utils-EazVs86Z.js → use-visual-utils-7w01KGK7.js} +1 -1
- package/dist/chunks/{use-visual-utils-PfpWtYcR.js → use-visual-utils-D5zrmYt8.js} +2 -2
- package/dist/chunks/{validators-ZeP5TVCl.js → validators-B-NiYgGc.js} +343 -308
- package/dist/chunks/validators-DlEfynH8.js +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-assistant/index.cjs +1 -0
- package/dist/dashboard-assistant/index.js +12 -0
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +16 -15
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +1 -1
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +23 -22
- package/dist/index.cjs +1 -1
- package/dist/index.js +7 -7
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/analytics-protocol.d.ts +17 -6
- package/dist/types/dashboard-assistant.d.ts +1030 -0
- package/dist/types/dashboard-authoring.d.ts +16 -7
- package/dist/types/dashboard.d.ts +1 -1
- package/dist/types/data-app-builder.d.ts +15 -6
- package/dist/types/data-app-sdk.d.ts +15 -6
- package/dist/types/main.d.ts +16 -7
- package/dist/types/shared.d.ts +1 -1
- package/dist/types/surfboard.d.ts +1 -1
- package/dist/types/types.d.ts +1 -1
- package/package.json +6 -1
- package/dist/chunks/dashboard-controls-Bthl3kl3.js +0 -52
- package/dist/chunks/index-D7U5s9Uk.js +0 -1425
- package/dist/chunks/validators-Bu5tOTYW.js +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
4
4
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
5
5
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
|
6
|
-
`);const g=S.state[s];if(g==null)return;JSON.stringify(o.getState())!==JSON.stringify(g)&&h(g);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(S)});case"DISPATCH":switch(m.payload.type){case"RESET":return h(v),s===void 0?d==null?void 0:d.init(o.getState()):d==null?void 0:d.init(rn(l.name));case"COMMIT":if(s===void 0){d==null||d.init(o.getState());return}return d==null?void 0:d.init(rn(l.name));case"ROLLBACK":return Fo(m.state,S=>{if(s===void 0){h(S),d==null||d.init(o.getState());return}h(S[s]),d==null||d.init(rn(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Fo(m.state,S=>{if(s===void 0){h(S);return}JSON.stringify(o.getState())!==JSON.stringify(S[s])&&h(S[s])});case"IMPORT_STATE":{const{nextLiftedState:S}=m.payload,g=(b=S.computedStates.slice(-1)[0])==null?void 0:b.state;if(!g)return;h(s===void 0?g:g[s]),d==null||d.send(null,S);return}case"PAUSE_RECORDING":return p=!p}return}}),v},wl=qp,Fo=(e,r)=>{let t;try{t=JSON.parse(e)}catch(n){console.error("[zustand devtools middleware] Could not parse the received json",n)}t!==void 0&&r(t)};function Hp(e,r){let t;try{t=e()}catch{return}return{getItem:o=>{var i;const a=l=>l===null?null:JSON.parse(l,void 0),s=(i=t.getItem(o))!=null?i:null;return s instanceof Promise?s.then(a):a(s)},setItem:(o,i)=>t.setItem(o,JSON.stringify(i,void 0)),removeItem:o=>t.removeItem(o)}}const ai=e=>r=>{try{const t=e(r);return t instanceof Promise?t:{then(n){return ai(n)(t)},catch(n){return this}}}catch(t){return{then(n){return this},catch(n){return ai(n)(t)}}}},Wp=(e,r)=>(t,n,o)=>{let i={storage:Hp(()=>localStorage),partialize:m=>m,version:0,merge:(m,b)=>({...b,...m}),...r},a=!1;const s=new Set,l=new Set;let c=i.storage;if(!c)return e((...m)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),t(...m)},n,o);const d=()=>{const m=i.partialize({...n()});return c.setItem(i.name,{state:m,version:i.version})},u=o.setState;o.setState=(m,b)=>(u(m,b),d());const p=e((...m)=>(t(...m),d()),n,o);o.getInitialState=()=>p;let h;const v=()=>{var m,b;if(!c)return;a=!1,s.forEach(g=>{var y;return g((y=n())!=null?y:p)});const S=((b=i.onRehydrateStorage)==null?void 0:b.call(i,(m=n())!=null?m:p))||void 0;return ai(c.getItem.bind(c))(i.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==i.version){if(i.migrate){const y=i.migrate(g.state,g.version);return y instanceof Promise?y.then(C=>[!0,C]):[!0,y]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var y;const[C,w]=g;if(h=i.merge(w,(y=n())!=null?y:p),t(h,!0),C)return d()}).then(()=>{S==null||S(h,void 0),h=n(),a=!0,l.forEach(g=>g(h))}).catch(g=>{S==null||S(void 0,g)})};return o.persist={setOptions:m=>{i={...i,...m},m.storage&&(c=m.storage)},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>v(),hasHydrated:()=>a,onHydrate:m=>(s.add(m),()=>{s.delete(m)}),onFinishHydration:m=>(l.add(m),()=>{l.delete(m)})},i.skipHydration||v(),h||p},Gp=Wp,is=e=>Symbol.iterator in e,as=e=>"entries"in e,ss=(e,r)=>{const t=e instanceof Map?e:new Map(e.entries()),n=r instanceof Map?r:new Map(r.entries());if(t.size!==n.size)return!1;for(const[o,i]of t)if(!n.has(o)||!Object.is(i,n.get(o)))return!1;return!0},Yp=(e,r)=>{const t=e[Symbol.iterator](),n=r[Symbol.iterator]();let o=t.next(),i=n.next();for(;!o.done&&!i.done;){if(!Object.is(o.value,i.value))return!1;o=t.next(),i=n.next()}return!!o.done&&!!i.done};function Kp(e,r){return Object.is(e,r)?!0:typeof e!="object"||e===null||typeof r!="object"||r===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(r)?!1:is(e)&&is(r)?as(e)&&as(r)?ss(e,r):Yp(e,r):ss({entries:()=>Object.entries(e)},{entries:()=>Object.entries(r)})}function Hn(e){const r=ie.useRef(void 0);return t=>{const n=e(t);return Kp(r.current,n)?r.current:r.current=n}}let nn;const Xp=new Uint8Array(16);function Zp(){if(!nn&&(nn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!nn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return nn(Xp)}const me=[];for(let e=0;e<256;++e)me.push((e+256).toString(16).slice(1));function Qp(e,r=0){return me[e[r+0]]+me[e[r+1]]+me[e[r+2]]+me[e[r+3]]+"-"+me[e[r+4]]+me[e[r+5]]+"-"+me[e[r+6]]+me[e[r+7]]+"-"+me[e[r+8]]+me[e[r+9]]+"-"+me[e[r+10]]+me[e[r+11]]+me[e[r+12]]+me[e[r+13]]+me[e[r+14]]+me[e[r+15]]}const Jp=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ls={randomUUID:Jp};function Ke(e,r,t){if(ls.randomUUID&&!e)return ls.randomUUID();e=e||{};const n=e.random||(e.rng||Zp)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Qp(n)}function em(e){var n;if(!(e!=null&&e.length))return;const r=new Map;for(const o of e)for(const i of o.filterGroups)for(const a of i.filters){if(!((n=a.field)!=null&&n.id))continue;const s=a.field.id;r.has(s)||r.set(s,[]),r.get(s).push({field:a.field,value:a.value})}const t=[];for(const[o,i]of r.entries())if(i.length===1){const a=i[0];t.push({id:Ke(),logicalOperator:"AND",negate:!1,conditions:[{id:Ke(),field:a.field,operator:"=",value:a.value}],groups:[]})}else{const a=i[0].field,l=i.map(c=>c.value).map(c=>({id:Ke(),field:a,operator:"=",value:c}));t.push({id:Ke(),logicalOperator:"OR",negate:!1,conditions:l,groups:[]})}if(t.length!==0)return{id:Ke(),logicalOperator:"AND",negate:!1,conditions:[],groups:t}}function tm(e){const r=e.filter(Boolean);if(r.length!==0)return r.length===1?r[0]:{id:Ke(),logicalOperator:"AND",negate:!1,conditions:[],groups:r}}function rm(e){if(!e)return;const r=t=>({logicalOperator:t.logicalOperator,negate:t.negate,conditions:t.conditions.map(n=>({field:n.field.id,operator:n.operator,value:n.value})),groups:t.groups.map(r)});return JSON.stringify(r(e))}const Il=_t((e,r)=>({context:null,setContext:t=>e({context:t}),appendCondition:t=>{const n=r().context;n&&e({context:{...n,type:"multiClick",conditions:[...n.conditions,t]}})},clear:()=>e({context:null})}));function wt(e){return e?e.interactions||[]:[]}function nm({intent:e,card:r}){var i,a,s;const t=Il.getState().context;if(!t||!((i=t.conditions)!=null&&i.length))return;const n={sourceCardId:t.cardId,filterGroups:[{filters:t.conditions}],metric:t.metric},o=r==null?void 0:r.interactionConfig;switch(e.mode){case"clickFilter":{const l=wt(o),c={conditions:t.conditions,metrics:t.metric?[t.metric]:void 0},d=hm(l,c);return!d||d.mode!=="clickFilter"?void 0:{interactionMode:"clickFilter",...n,applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds}}case"drillDown":{const l=(a=o==null?void 0:o.drillHierarchies)==null?void 0:a.find(c=>c.id===e.hierarchyId);return l?{interactionMode:"drillDown",...n,hierarchyId:l.id,toField:e.drillField}:void 0}case"dynamicDrill":return{interactionMode:"dynamicDrill",...n,toField:e.drillField};case"drillToDetail":{const c=wt(o).find(d=>d.mode==="drillToDetail");return!c||c.mode!=="drillToDetail"||!((s=c.detailFields)!=null&&s.length)||!c.targetInsightId?void 0:{interactionMode:"drillToDetail",...n,detailFields:c.detailFields,sortBy:c.sortBy,limit:c.limit,targetInsightId:c.targetInsightId,contextMode:c.contextMode,displayMode:c.displayMode}}case"drillToURL":{const c=wt(o).find(d=>d.mode==="drillToURL");return!c||c.mode!=="drillToURL"||!c.urlTemplate?void 0:{interactionMode:"drillToURL",...n,url:c.urlTemplate}}case"drillThrough":{const c=wt(o).find(d=>d.mode==="drillThrough");return!c||c.mode!=="drillThrough"||!c.targetDashboardId?void 0:{interactionMode:"drillThrough",...n,targetDashboardId:c.targetDashboardId}}case"inlineDrill":return{interactionMode:"inlineDrill",...n,fetchMode:"lazy",inlineLimit:10};default:return}}const El=["year","quarter","month","week","day"],om=[...El,"hour","minute","second"];function im(e){const t=(um(e)?om:El).map(n=>({field:{...e,id:`${e.id}_${n}`,granularity:n,label:cs(n),dateFormat:cm(n)},mode:"drillDown",label:`Drill to ${cs(n)}`,retainFilters:!0}));return{id:`auto_date_${e.id}`,label:`${e.label}`,type:"date",steps:t,default:!0,baseField:e}}function am(e,r=[]){return lm(e)?!sm(e.id,r):!1}function sm(e,r){return r.find(t=>t.id===`auto_date_${e}`?!0:t.steps.some(n=>{const o=n.field.id;return o===e||o.startsWith(`${e}_`)}))}function lm(e){return!!(dm(e)||e.granularity)}function cm(e){return{year:"YYYY",quarter:"YYYY-Q1",month:"MMM YYYY",week:"YYYY-WW",day:"MMM DD, YYYY",hour:"YYYY-MM-DD HH:mm",minute:"YYYY-MM-DD HH:mm",second:"YYYY-MM-DD HH:mm:ss"}[e]}function Li(e,r){const t=e.steps.map(a=>a.field.granularity).filter(a=>!!a);if(t.length===0)return;if(!r){const a=t[0];return a?e.steps.find(s=>s.field.granularity===a):void 0}const n=t.indexOf(r);if(n<0)return;const o=t[n+1];return o?e.steps.find(a=>a.field.granularity===o):void 0}function Vi(e,r,t){var i,a;if(t&&t.length>0)return t[t.length-1].granularity;const n=e.baseField;if(!n)return;const o=(a=(i=r.config)==null?void 0:i.groupByColumns)==null?void 0:a.find(s=>s.id===n.id?!0:s.qualifiedFieldName&&n.qualifiedFieldName?s.qualifiedFieldName===n.qualifiedFieldName:s.name&&n.name?s.name===n.name:!1);return o==null?void 0:o.granularity}function cs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function dm(e){const r=Oi.normalizeAnalyticsCatalogDataType(e.dataType);return r==="date"||r==="datetime"}function um(e){return Oi.normalizeAnalyticsCatalogDataType(e.dataType)==="datetime"}function Tl(e,r,t,n=!0){let o=e;return r.forEach(i=>{const a=fm(i,t),s=`{{${i.id}}}`,l=n?encodeURIComponent(String(a)):String(a);o=o.replace(new RegExp(s,"g"),l)}),o}function fm(e,r){if(e.category==="identifier")switch(e.id){case"card_id":return r.cardId||"";case"frame_id":return r.frameId||"";case"sheet_id":return r.sheetId||"";default:return console.warn(`Unknown identifier parameter: ${e.id}`),""}if(e.category==="attribute"&&e.field){const t=r.clickedValues.find(n=>n.field.id===e.field.id);return t?t.value:(console.warn(`Attribute parameter "${e.id}" (field: ${e.field.id}) not found in clicked values`),"")}return console.warn(`Cannot resolve parameter: ${e.id}`),""}function pm(e){const r=[];if(!e||e.trim()==="")return r.push("URL template cannot be empty"),{valid:!1,errors:r};const t=(e.match(/\{\{/g)||[]).length,n=(e.match(/\}\}/g)||[]).length;t!==n&&r.push("Unclosed parameter placeholders ({{ or }})"),e.match(new RegExp("(?<!\\{)\\{(?!\\{)|(?<!\\})\\}(?!\\})","g"))&&r.push("Invalid placeholder syntax (use {{param_id}}, not {param_id})");const i=e.replace(/\{\{[^}]+\}\}/g,"VALUE");try{new URL(i)}catch{r.push("Invalid URL structure")}return{valid:r.length===0,errors:r}}function on(e){return typeof e=="string"&&e.trim().length>0}function Bi(e){if(!(e!=null&&e.trigger)||!(e!=null&&e.mode))return!1;switch(e.mode){case"drillDown":return on(e.hierarchyId);case"dynamicDrill":return Array.isArray(e.availableFields)&&e.availableFields.length>0;case"drillThrough":return on(e.targetDashboardId);case"drillToDetail":return on(e.targetInsightId);case"drillToURL":return on(e.urlTemplate);case"clickFilter":case"inlineDrill":case"drillUp":return!0;default:return!1}}function mm(e){return e.filter(r=>Bi(r))}function si(e,r){if(r.type==="metric")return e;if(r.type==="attribute"){const t=e.find(n=>n.field.id===r.field.id);return t?[t]:[]}return e}function $i(e,r){var o,i;const t=e.filter(a=>Bi(a));if(t.length===0)return[];const n=[];for(const a of t){if(!a.trigger)continue;const{trigger:s}=a;if(s.type==="metric"&&((o=r.metrics)!=null&&o.length)&&r.metrics[0].field.id===s.field.id){n.push(a);continue}s.type==="attribute"&&((i=r.conditions)!=null&&i.length)&&r.conditions.find(c=>c.field.id===s.field.id)&&n.push(a)}return n}function hm(e,r){const t=$i(e,r);return t.length>0?t[0]:null}function lt(e,r){if(e.sourceCardId!==r.sourceCardId||!Array.isArray(e.filterGroups)||!Array.isArray(r.filterGroups)||e.filterGroups.length!==r.filterGroups.length)return!1;const t=a=>a.filters.map(s=>({fieldId:s.field.id,value:String(s.value),operator:s.operator??"="})).sort((s,l)=>s.fieldId!==l.fieldId?s.fieldId.localeCompare(l.fieldId):s.value.localeCompare(l.value)),n=a=>a.map(t).sort((s,l)=>{const c=s.map(u=>`${u.fieldId}:${u.value}`).join("|"),d=l.map(u=>`${u.fieldId}:${u.value}`).join("|");return c.localeCompare(d)}),o=n(e.filterGroups),i=n(r.filterGroups);return o.every((a,s)=>{const l=i[s];return a.length!==l.length?!1:a.every((c,d)=>{const u=l[d];return c.fieldId===u.fieldId&&c.value===u.value&&c.operator===u.operator})})}function gm(e,r,t,n,o,i,a){var b,S,g,y,C,w,I;const s=wt(r.interactionConfig),l=$i(s,e),c=l.some(E=>E.mode==="dynamicDrill");if((l.length>1||c)&&i)return i(l,e,a),!0;const d=l.length>0?l[0]:null;if(!d)return!1;if(d&&d.mode!=="clickFilter"){const F=[{filters:d.trigger?si(e.conditions,d.trigger):e.conditions}];let T;if(d.mode==="drillToDetail")T={interactionMode:"drillToDetail",sourceCardId:r.id,filterGroups:F,metric:(b=e.metrics)==null?void 0:b[0],detailFields:d.detailFields||[],sortBy:d.sortBy,limit:d.limit,detailTitle:d.label,targetInsightId:d.targetInsightId,contextMode:d.contextMode,displayMode:d.displayMode};else if(d.mode==="drillDown"){const D=(g=(S=r.interactionConfig)==null?void 0:S.drillHierarchies)==null?void 0:g.find(R=>R.id===d.hierarchyId);if(D){const P=Ie.getState().interactionStates[r.id],O=(P==null?void 0:P.breadcrumbs)||[],L=O.length;let H;if(D.type==="date"||D.baseField){const N=Vi(D,r,O);H=Li(D,N)}else H=D.steps[L];H&&(T={interactionMode:"drillDown",sourceCardId:r.id,hierarchyId:D.id,filterGroups:F,metric:(y=e.metrics)==null?void 0:y[0],toField:H.field,granularity:H.field.granularity})}}else if(d.mode==="drillThrough")T={interactionMode:"drillThrough",sourceCardId:r.id,filterGroups:F,metric:(C=e.metrics)==null?void 0:C[0],targetDashboardId:d.targetDashboardId,contextMode:d.contextMode};else if(d.mode==="drillToURL"){const D=Tl(d.urlTemplate,d.parameters||[],{clickedValues:F.flatMap(R=>R.filters),cardId:r.id,frameId:t,sheetId:n},d.encodeParameters!==!1);try{new URL(D)}catch(R){return console.error("Invalid URL:",D,R),!1}return window.open(D,"_blank","noopener,noreferrer"),!0}else{if(d.mode==="drillUp")return Ie.getState().popInteractionStep(r.id),!0;d.mode==="dynamicDrill"&&d.drillField&&(T={interactionMode:"dynamicDrill",sourceCardId:r.id,filterGroups:F,metric:(w=e.metrics)==null?void 0:w[0],toField:d.drillField})}return T?(Ie.getState().applyInteractionEvent(r.id,T),!0):!1}if(!d||d.mode!=="clickFilter")return!1;const u=d.trigger?si(e.conditions,d.trigger):e.conditions,p={interactionMode:"clickFilter",sourceCardId:r.id,filterGroups:[{filters:u}],metric:(I=e.metrics)==null?void 0:I[0],applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds},h=o.interactionStates[r.id]??Xe(),v=h.appliedClickFilters??[];return v.some(E=>lt(E,p))&&v.length===1?o.setInteractionState(r.id,{...h,appliedClickFilters:[]}):o.setInteractionState(r.id,{...h,appliedClickFilters:[p]}),!0}function ym(e,r,t,n){const o=Ie(),i=Il();return{handlePointerInteraction:({context:l,gesture:c,position:d,modifierKeys:u})=>{var y;const h=wt(e.interactionConfig).some(C=>Bi(C));if(c==="leftClick"&&!(u!=null&&u.shift)&&h){gm(l,e,r,t,o,n,d);return}if(i.setContext({type:c,cardId:e.id,conditions:l.conditions,metric:(y=l.metrics)==null?void 0:y[0],anchorPosition:d}),c!=="leftClick"||!h)return;const v=nm({intent:{mode:"clickFilter"},card:e});if(!v)return;const m=o.interactionStates[e.id]??Xe(),b=m.appliedClickFilters??[],g=b.some(C=>lt(C,v))?b.filter(C=>!lt(C,v)):[...b,v];o.setInteractionState(e.id,{...m,appliedClickFilters:g})},applySelectedInteraction:(l,c)=>{var h,v,m,b,S,g,y;const u=[{filters:l.trigger?si(c.conditions,l.trigger):c.conditions}];let p;if(l.mode==="clickFilter"){const C=l.applyToCardIds?[...l.applyToCardIds,e.id]:void 0;p={interactionMode:"clickFilter",sourceCardId:e.id,filterGroups:u,metric:(h=c.metrics)==null?void 0:h[0],applyToCardIds:C,excludeCardIds:l.excludeCardIds,filterSourceCard:!0}}else if(l.mode==="drillToDetail")p={interactionMode:"drillToDetail",sourceCardId:e.id,filterGroups:u,metric:(v=c.metrics)==null?void 0:v[0],detailFields:l.detailFields||[],sortBy:l.sortBy,limit:l.limit,detailTitle:l.label,targetInsightId:l.targetInsightId,contextMode:l.contextMode,displayMode:l.displayMode};else if(l.mode==="drillDown"){const C=(b=(m=e.interactionConfig)==null?void 0:m.drillHierarchies)==null?void 0:b.find(w=>w.id===l.hierarchyId);if(C){const w=o.interactionStates[e.id],I=(w==null?void 0:w.breadcrumbs)||[],E=I.length;let F;if(C.type==="date"||C.baseField){const T=Vi(C,e,I);F=Li(C,T)}else F=C.steps[E];F&&(p={interactionMode:"drillDown",sourceCardId:e.id,hierarchyId:C.id,filterGroups:u,metric:(S=c.metrics)==null?void 0:S[0],toField:F.field,granularity:F.field.granularity})}}else if(l.mode==="drillThrough")p={interactionMode:"drillThrough",sourceCardId:e.id,filterGroups:u,metric:(g=c.metrics)==null?void 0:g[0],targetDashboardId:l.targetDashboardId,contextMode:l.contextMode};else if(l.mode==="drillToURL"){const C=Tl(l.urlTemplate,l.parameters||[],{clickedValues:u.flatMap(w=>w.filters),cardId:e.id,frameId:r,sheetId:t},l.encodeParameters!==!1);try{new URL(C)}catch(w){console.error("Invalid URL:",C,w);return}window.open(C,"_blank","noopener,noreferrer");return}else if(l.mode==="drillUp"){o.popInteractionStep(e.id);return}else l.mode==="dynamicDrill"&&(l.drillField?p={interactionMode:"dynamicDrill",sourceCardId:e.id,filterGroups:u,metric:(y=c.metrics)==null?void 0:y[0],toField:l.drillField}:console.warn("⚠️ dynamicDrill interaction missing drillField!",l));p&&o.applyInteractionEvent(e.id,p)}}}const It=_t()(wl((e,r)=>({clearBlurCallbacks:{},registerClearBlurCallback:(t,n)=>{e(o=>({clearBlurCallbacks:{...o.clearBlurCallbacks,[t]:n}}))},clearBlurForCard:t=>{const o=r().clearBlurCallbacks[t];if(o)try{o()}catch(i){console.warn(`Failed to clear blur for card ${t}:`,i),e(a=>{const{[t]:s,...l}=a.clearBlurCallbacks;return{clearBlurCallbacks:l}})}},clearAllBlur:()=>{const t=r(),n=[];Object.entries(t.clearBlurCallbacks).forEach(([o,i])=>{if(i)try{i()}catch(a){console.warn(`Failed to clear blur for card ${o}:`,a),n.push(o)}}),n.length>0&&e(o=>{const i={...o.clearBlurCallbacks};return n.forEach(a=>{delete i[a]}),{clearBlurCallbacks:i}})},unregisterCard:t=>{e(n=>{const{[t]:o,...i}=n.clearBlurCallbacks;return{clearBlurCallbacks:i}})},resetStore:()=>{const t=r();Object.values(t.clearBlurCallbacks).forEach(n=>{if(n)try{n()}catch{}}),e({clearBlurCallbacks:{}})}}),{name:"chartjs-store"}));et.subscribe("dashboard:load",()=>{It.getState().resetStore()});et.subscribe("dashboard:unload",()=>{It.getState().resetStore()});const Fl=["bar","kpi","horizontalBar","line","combo","stackedBar","stackedLine","table","custom"];function bm(e,r){const t=e.metricColumns||[];if(t.length===0)return e;const n=new Set(["previous_period","same_period_last_year","start_vs_end"]),i=(e.groupByColumns||[]).some(u=>Oe(u.dataType||"")==="date"),a=Fl.includes(r),s=r==="kpi"||r==="table",l=u=>{var p;return(p=u.parameters)!=null&&p.windowTransform?{...u,parameters:{...u.parameters,windowTransform:void 0}}:u};let c=!1;const d=t.map(u=>{var v;const p=u.comparisonType??"none";if(p==="none")return u;let h=u;return(v=h.parameters)!=null&&v.windowTransform&&(c=!0,h=l(h)),a?p==="target"&&!s?(c=!0,{...h,comparisonType:"none",targetValue:void 0}):n.has(p)&&!i?(c=!0,{...h,comparisonType:"none"}):h:(c=!0,{...h,comparisonType:"none"})});return c?{...e,metricColumns:d}:e}const ct="__DRILL_CONTEXT__";function Xe(){return{breadcrumbs:[],hierarchyId:void 0,appliedClickFilters:[]}}const Ie=_t()(wl(e=>({interactionStates:{},replacedCards:{},pendingDrillThrough:null,setInteractionState:(r,t)=>{e(n=>({interactionStates:{...n.interactionStates,[r]:t}}))},resetInteractionState:r=>{e(t=>({interactionStates:{...t.interactionStates,[r]:Xe()}}))},toggleClickFilter:(r,t)=>{e(n=>{const o=n.interactionStates[r]??Xe(),i=o.appliedClickFilters??[],a=i.some(l=>lt(l,t)),s=a?i.filter(l=>!lt(l,t)):[...i,t];return a&&s.filter(c=>c.sourceCardId===t.sourceCardId).length===0&&It.getState().clearBlurForCard(t.sourceCardId),{interactionStates:{...n.interactionStates,[r]:{...o,appliedClickFilters:s}}}})},removeClickFiltersByValue:(r,t,n)=>{e(o=>{const i=o.interactionStates[r]??Xe(),a=i.appliedClickFilters??[],s=a.filter(d=>d.filterGroups.some(u=>u.filters.some(p=>{const h=p.field.label,v=p.field.name;return(h===t||v===t)&&p.value===n}))),l=new Set,c=a.filter(d=>{const u=s.some(p=>lt(d,p));return u&&l.add(d.sourceCardId),!u});return l.forEach(d=>{const u=o.interactionStates[d],h=((u==null?void 0:u.appliedClickFilters)??[]).filter(m=>!s.some(b=>lt(m,b)));let v=!1;Object.entries(o.interactionStates).forEach(([m,b])=>{m===d?h.length>0&&(v=!0):((b==null?void 0:b.appliedClickFilters)??[]).some(y=>y.sourceCardId===d)&&(v=!0)}),v||It.getState().clearBlurForCard(d),o.interactionStates[d]={...u,appliedClickFilters:h}}),{interactionStates:{...o.interactionStates,[r]:{...i,appliedClickFilters:c}}}})},applyInteractionEvent:(r,t,n=!1)=>{e(o=>{var s;const i=o.interactionStates[r]??Xe(),a=n?Xe():i;if(t.interactionMode==="clickFilter"){const l=n?[t]:[...a.appliedClickFilters??[],t];return{interactionStates:{...o.interactionStates,[r]:{...a,appliedClickFilters:l}}}}if(t.interactionMode==="drillDown"||t.interactionMode==="dynamicDrill"){if(!((s=t.filterGroups)!=null&&s.length))return o;const l={sourceFilterGroups:t.filterGroups,toField:t.toField,granularity:t.granularity,timeComparison:t.timeComparison,metric:t.metric};return{interactionStates:{...o.interactionStates,[r]:{...i,hierarchyId:t.interactionMode==="drillDown"?t.hierarchyId:i.hierarchyId,breadcrumbs:[...i.breadcrumbs??[],l]}}}}return t.interactionMode==="drillToDetail"||t.interactionMode==="drillThrough"||t.interactionMode==="drillToURL"||t.interactionMode==="inlineDrill"?{interactionStates:{...o.interactionStates,[r]:{...i,lastInteractionEvent:t}}}:o})},popInteractionStep:r=>{e(t=>{var i;const n=t.interactionStates[r];if(!((i=n==null?void 0:n.breadcrumbs)!=null&&i.length))return t;const o=n.breadcrumbs.slice(0,-1);return{interactionStates:{...t.interactionStates,[r]:{...n,breadcrumbs:o,hierarchyId:o.length===0?void 0:n.hierarchyId}}}})},clearLastInteractionEvent:r=>{e(t=>{const n=t.interactionStates[r];return!n||!n.lastInteractionEvent?t:{interactionStates:{...t.interactionStates,[r]:{...n,lastInteractionEvent:void 0}}}})},replaceCardWithInsight:(r,t,n,o)=>{e(i=>({replacedCards:{...i.replacedCards,[r]:{insightId:t,filters:n,contextMode:o}}}))},restoreCard:r=>{e(t=>{const{[r]:n,...o}=t.replacedCards;return{replacedCards:o}})},clearAllClickFilters:()=>{e(r=>{const t={...r.interactionStates};for(const n in t)n!==ct&&(t[n]={...t[n],appliedClickFilters:[]});return It.getState().clearAllBlur(),{interactionStates:t}})},setPendingDrillThrough:r=>{e({pendingDrillThrough:r})},clearPendingDrillThrough:()=>{e({pendingDrillThrough:null})},resetAllInteractionStates:()=>{It.getState().clearAllBlur(),e({interactionStates:{},replacedCards:{},pendingDrillThrough:null})}}),{name:"interaction-store"}));et.subscribe("dashboard:load",()=>{Ie.getState().resetAllInteractionStates()});et.subscribe("dashboard:unload",()=>{Ie.getState().resetAllInteractionStates()});function ji(e,r){return Object.entries(r).filter(([n])=>n!==ct).flatMap(([,n])=>(n==null?void 0:n.appliedClickFilters)??[]).filter(n=>{var o,i;return n.sourceCardId===e&&!n.filterSourceCard?!1:(o=n.applyToCardIds)!=null&&o.length?n.applyToCardIds.includes(e):(i=n.excludeCardIds)!=null&&i.length?!n.excludeCardIds.includes(e):!0})}const vm=e=>Ie(Hn(r=>ji(e,r.interactionStates)));function $r(e,r,t){var v,m;const n=e.id,o=(v=e.config)==null?void 0:v.filters,i=ji(n,r),a=r[ct],c=[...t&&(a==null?void 0:a.targetDashboardId)===t&&(a==null?void 0:a.contextMode)!=="none"?(a==null?void 0:a.appliedClickFilters)||[]:[],...i],d=em(c),p=(((m=r[n])==null?void 0:m.breadcrumbs)??[]).map((b,S)=>({id:`breadcrumb-${S}`,logicalOperator:"OR",negate:!1,conditions:[],groups:b.sourceFilterGroups.map((g,y)=>({id:`breadcrumb-${S}-group-${y}`,logicalOperator:"AND",negate:!1,conditions:g.filters.map(C=>({id:`${C.field.id}-${C.value}`,field:C.field,operator:"=",value:C.value})),groups:[]}))})),h=p.length>0?{id:`${n}-drill-root`,logicalOperator:"AND",negate:!1,conditions:[],groups:p}:void 0;return tm([o,d,h])}function Cm(e,r){return e.name===r.name&&e.qualifiedEntityName===r.qualifiedEntityName}function Al(e,r,t){var c,d,u,p;const n=r[e.id],o=(c=n==null?void 0:n.breadcrumbs)==null?void 0:c.slice(-1)[0],i=o!=null&&o.toField?[o.toField]:(d=e.config)==null?void 0:d.groupByColumns,a=o!=null&&o.toField&&((u=e.config)!=null&&u.sortByColumns)?e.config.sortByColumns.map(h=>{var m,b;const v=(b=(m=e.config)==null?void 0:m.groupByColumns)==null?void 0:b[0];return v&&Cm(h,v)?{...o.toField,role:"sortby",direction:h.direction}:h}):(p=e.config)==null?void 0:p.sortByColumns,s=t??$r(e,r),l={...e.config,groupByColumns:i,sortByColumns:a,filters:s};return bm(l,e.type)}function Sm(e){const r=Ie(o=>o.interactionStates),t=Ue(o=>{var i;return(i=o.dashboard)==null?void 0:i.id}),n=$r(e,r,t);return Al(e,r,n)}function Dl(e,r,t){const n=t??$r(e,r);return rm(n)}function xm(e){const r=Ie(i=>i.interactionStates),t=Ue(i=>{var a;return(a=i.dashboard)==null?void 0:a.id}),n=$r(e,r,t);return Dl(e,r,n)}var Rl={},Pl={},Ui={exports:{}},U=String,_l=function(){return{isColorSupported:!1,reset:U,bold:U,dim:U,italic:U,underline:U,inverse:U,hidden:U,strikethrough:U,black:U,red:U,green:U,yellow:U,blue:U,magenta:U,cyan:U,white:U,gray:U,bgBlack:U,bgRed:U,bgGreen:U,bgYellow:U,bgBlue:U,bgMagenta:U,bgCyan:U,bgWhite:U,blackBright:U,redBright:U,greenBright:U,yellowBright:U,blueBright:U,magentaBright:U,cyanBright:U,whiteBright:U,bgBlackBright:U,bgRedBright:U,bgGreenBright:U,bgYellowBright:U,bgBlueBright:U,bgMagentaBright:U,bgCyanBright:U,bgWhiteBright:U}};Ui.exports=_l();Ui.exports.createColors=_l;var wm=Ui.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0});function r(l,c){for(var d in c)Object.defineProperty(l,d,{enumerable:!0,get:c[d]})}r(e,{dim:function(){return a},default:function(){return s}});const t=n(wm);function n(l){return l&&l.__esModule?l:{default:l}}let o=new Set;function i(l,c,d){typeof process<"u"&&process.env.JEST_WORKER_ID||d&&o.has(d)||(d&&o.add(d),console.warn(""),c.forEach(u=>console.warn(l,"-",u)))}function a(l){return t.default.dim(l)}const s={info(l,c){i(t.default.bold(t.default.cyan("info")),...Array.isArray(l)?[l]:[c,l])},warn(l,c){i(t.default.bold(t.default.yellow("warn")),...Array.isArray(l)?[l]:[c,l])},risk(l,c){i(t.default.bold(t.default.magenta("risk")),...Array.isArray(l)?[l]:[c,l])}}})(Pl);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});const r=t(Pl);function t(i){return i&&i.__esModule?i:{default:i}}function n({version:i,from:a,to:s}){r.default.warn(`${a}-color-renamed`,[`As of Tailwind CSS ${i}, \`${a}\` has been renamed to \`${s}\`.`,"Update your configuration file to silence this warning."])}const o={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return n({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return n({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return n({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return n({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return n({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}})(Rl);let Ao=Rl;var Im=(Ao.__esModule?Ao:{default:Ao}).default;const re=qn(Im),Em=".semaphor-scope";function Tm(e){return e?e.closest(Em):null}function Fm(e){if(!e)return"light";const r=e.dataset.semaphorTheme;return r==="dark"||r==="light"?r:e.classList.contains("dark")?"dark":"light"}const Am=!1,Ol=["table","view","materialized view"],Dm=["_forecast"],Tn="dm",Rm="semaphor_calculated_fields",Pm="calculated_fields",_m=[{locale:"en-US",currency:"USD",currencyName:"US Dollar"},{locale:"en-GB",currency:"GBP",currencyName:"British Pound"},{locale:"en-CA",currency:"CAD",currencyName:"Canadian Dollar"},{locale:"en-AU",currency:"AUD",currencyName:"Australian Dollar"},{locale:"en-IN",currency:"INR",currencyName:"Indian Rupee"},{locale:"ja-JP",currency:"JPY",currencyName:"Japanese Yen"},{locale:"de-DE",currency:"EUR",currencyName:"Germany (Eurozone)"},{locale:"fr-FR",currency:"EUR",currencyName:"France (Eurozone)"},{locale:"es-ES",currency:"EUR",currencyName:"Spain (Eurozone)"},{locale:"it-IT",currency:"EUR",currencyName:"Italy (Eurozone)"},{locale:"fi-FI",currency:"EUR",currencyName:"Finland (Eurozone)"},{locale:"nl-NL",currency:"EUR",currencyName:"Netherlands (Eurozone)"},{locale:"zh-CN",currency:"CNY",currencyName:"Chinese Yuan"},{locale:"ru-RU",currency:"RUB",currencyName:"Russian Ruble"},{locale:"pt-BR",currency:"BRL",currencyName:"Brazilian Real"},{locale:"ko-KR",currency:"KRW",currencyName:"South Korean Won"},{locale:"ar-SA",currency:"SAR",currencyName:"Saudi Riyal"},{locale:"sv-SE",currency:"SEK",currencyName:"Swedish Krona"},{locale:"no-NO",currency:"NOK",currencyName:"Norwegian Krone"},{locale:"da-DK",currency:"DKK",currencyName:"Danish Krone"},{locale:"pl-PL",currency:"PLN",currencyName:"Polish Zloty"},{locale:"tr-TR",currency:"TRY",currencyName:"Turkish Lira"},{locale:"he-IL",currency:"ILS",currencyName:"Israeli Shekel"},{locale:"th-TH",currency:"THB",currencyName:"Thai Baht"},{locale:"vi-VN",currency:"VND",currencyName:"Vietnamese Dong"},{locale:"id-ID",currency:"IDR",currencyName:"Indonesian Rupiah"},{locale:"mx-MX",currency:"MXN",currencyName:"Mexican Peso"},{locale:"za-ZA",currency:"ZAR",currencyName:"South African Rand"},{locale:"sg-SG",currency:"SGD",currencyName:"Singapore Dollar"},{locale:"hk-HK",currency:"HKD",currencyName:"Hong Kong Dollar"},{locale:"ch-CH",currency:"CHF",currencyName:"Swiss Franc"},{locale:"my-MY",currency:"MYR",currencyName:"Malaysian Ringgit"},{locale:"ph-PH",currency:"PHP",currencyName:"Philippine Peso"},{locale:"eg-EG",currency:"EGP",currencyName:"Egyptian Pound"},{locale:"nz-NZ",currency:"NZD",currencyName:"New Zealand Dollar"}],zi=["lg","md","sm","xs","xxs"],li={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:dt.SEMAPHOR_DEFAULT_FONT_FAMILY},dataset:{backgroundColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]],borderColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:ci},title:{display:!0},tooltip:{backgroundColor:"#fff",bodyColor:"#000",borderWidth:.25,titleColor:"#000",borderColor:"rgb(128,131,139)",cornerRadius:4,usePointStyle:!0,pointStyle:"rectRounded",boxPadding:4},legend:{position:"top",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},scales:{y:{grid:{display:!0},title:{display:!0,text:""},beginAtZero:!0,ticks:{precision:0}},x:{grid:{display:!0},title:{display:!0}}},layout:{padding:{top:-40}},borderRadius:2,responsive:!0,maintainAspectRatio:!1}}},dark:{chart:{dataset:{datalables:{color:ci},backgroundColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]],borderColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]]},options:{plugins:{tooltip:{backgroundColor:"#000",bodyColor:"#fff",borderWidth:.25,titleColor:"#fff",borderColor:"rgb(128,131,139)",cornerRadius:2,boxPadding:4}},datalabels:{display:!1},scales:{x:{grid:{display:!0,color:re.slate[800]}},y:{grid:{display:!0,color:re.slate[800]}}}}}}};function ci(e){var n,o,i,a,s,l,c,d,u;const r=(s=(a=(i=(o=(n=e==null?void 0:e.chart)==null?void 0:n.config)==null?void 0:o._config)==null?void 0:i.options)==null?void 0:a.plugins)==null?void 0:s.datalabels;let t=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(r==null?void 0:r.align)==="end"&&(r==null?void 0:r.anchor)==="end"&&(t=mn((c=e==null?void 0:e.chart)==null?void 0:c.canvas)),(r==null?void 0:r.align)==="start"&&(r==null?void 0:r.anchor)==="start"&&(t=mn((d=e==null?void 0:e.chart)==null?void 0:d.canvas)),Ml(t,{baseColor:mn((u=e==null?void 0:e.chart)==null?void 0:u.canvas)})}function mn(e){if(typeof document<"u"){const r=Tm(e);if(r){const n=window.getComputedStyle(r).getPropertyValue("--semaphor-background").trim();return n?`hsl(${n})`:Fm(r)==="dark"?"#000000":"#FFFFFF"}const t=document.documentElement;if(t.classList.contains("dark"))return"#000000";if(t.classList.contains("light"))return"#FFFFFF"}return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"#000000":"#FFFFFF"}function Ml(e,r={}){let t=0,n=0,o=0,i=0;const a=r.baseColor?dt.parseRuntimeColor(r.baseColor):null,s=p=>{if(!p)return re.gray[500];const h=dt.parseRuntimeColor(p);if(!h)return re.gray[500];const v=Nl(h,a);t+=v.r,n+=v.g,o+=v.b,i++};if(Array.isArray(e)?e.forEach(p=>{s(p)}):s(e),i===0)return re.gray[500];const l=t/i,c=n/i,d=o/i;return(l*299+c*587+d*114)/1e3>=180?"black":"white"}function Nl(e,r){if(e.alpha>=1)return e;const t=r?Nl(r,null):Om;return{r:e.r*e.alpha+t.r*(1-e.alpha),g:e.g*e.alpha+t.g*(1-e.alpha),b:e.b*e.alpha+t.b*(1-e.alpha)}}const Om={r:255,g:255,b:255};function Mm({capabilities:e,database:r,schema:t,table:n}){const o=e.prefixLevels,i=[];for(const a of o)a==="database"&&r&&i.push(r),a==="schema"&&t&&i.push(t),a==="table"&&i.push(n);return i.join(".")}function qi(e){return e.startsWith('"')&&e.endsWith('"')?e:e.match(/[A-Z]/)?`"${e}"`:e}function Wn(e){return Oe(e)==="string"}function Gn(e){return Oe(e)==="number"}function Hi(e){return Oe(e)==="date"}function Wi(e){return Oe(e)==="boolean"}function Nm(e,r,t,n,o,i,a){const{measures:s,dimensions:l}=e,c=s==null?void 0:s.map(v=>`${v.calc}(${v.name}) as ${v.calc}_${v.name.replace(/"/g,"")}`).join(", "),d=(l==null?void 0:l.join(", "))||"";let u="";const h=(n?`${Tn}.${n}`:a||Gi({schemaName:r,tableName:t,databaseName:o,capabilities:i})).split(".").map(v=>qi(v)).join(".");if(c&&d)return u=`SELECT ${d}, COUNT(*) as count, ${c} FROM ${h} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,u;if(!c&&d)return u=`SELECT ${d}, COUNT(*) as count FROM ${h} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,u;if(c&&!d)return u=`SELECT ${c} FROM ${h} LIMIT 100`,u}function km(e,r,t="AVG"){var i,a,s,l;let n={};const o=qi(e.column_name);return Wn(e.data_type)&&(((i=r.dimensions)==null?void 0:i.includes(o))?n={...r,dimensions:(a=r.dimensions)==null?void 0:a.filter(d=>d!==o)}:n={...r,dimensions:[...r.dimensions||[],o]}),Gn(e.data_type)&&(((s=r.measures)==null?void 0:s.some(d=>d.name===o&&d.calc===t))?n={...r,measures:(l=r.measures)==null?void 0:l.filter(d=>!(d.name===o&&d.calc===t))}:n={...r,measures:[...r.measures||[],{name:o,calc:t||"SUM"}]}),n}function Lm(e){return Wn(e.dataType)?"string":Gn(e.dataType)?"number":Hi(e.dataType)?"date":Wi(e.dataType)?"boolean":"string"}function Vm(e){let r;const t=e.data_type.toLowerCase();return Wn(t)?r="T":Gn(t)?r="#":Hi(t)?r="D":Wi(t)?r="B":r="?",r}function Bm(e,r){const{dimensions:t,measures:n}=r,o=t==null?void 0:t.includes(e.column_name),i=n==null?void 0:n.some(a=>a.name===e.column_name);return o||i}function kl(e){return e?e!=null&&e.startsWith(`${Tn}.`)?e:`${Tn}.${e}`:""}function $m({schemaName:e,tableName:r,databaseName:t,connectionType:n}){return n==="S3"||n==="API"?r:n==="S3Tables"?`${t}.${e}.${r}`:e?`${e}.${r}`:r}function jm({schemaName:e,tableName:r,modelName:t,databaseName:n,capabilities:o,connectionType:i}){let a;o?a=Gi({schemaName:e,tableName:r,databaseName:n,capabilities:o}):a=$m({schemaName:e,tableName:r,databaseName:n,connectionType:i}),t&&(a=kl(t));let s=a;return(c=>/[A-Z]/.test(c))(r)&&(s=s.split(".").map(d=>`"${d}"`).join(".")),s}function Gi({schemaName:e,tableName:r,databaseName:t,capabilities:n}){return Mm({capabilities:n,database:t,schema:e||void 0,table:r})}const Um=e=>{const r=new Date(e);return!isNaN(r.getTime())},zm=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),Ll=e=>{let r;return typeof e=="number"?r="number":typeof e=="string"?Um(e)?r="date":zm(e)?r="number":r="string":typeof e=="boolean"?r="boolean":e instanceof Date?r="date":r="unknown",r};function qm({get:e,dataPoint:r,card:t}){var p;const{addOrUpdateFilterValue:n,addFilteringCard:o,removeFilterValues:i,replaceFilterValue:a,removeFilteringCard:s}=e().actions,l=e().filteringCards,{columnName:c,columnValue:d}=r,u={filterId:t.id,connectionId:t==null?void 0:t.connectionId,tableName:t.lastSelectedTable,name:c,expression:(p=t.preferences)==null?void 0:p.filterOnClickField,valueType:Ll(d),operation:"=",values:[d]};if(l!=null&&l.find(h=>h.id===t.id)){const h=t.id;if(d==null){s(t),i(h);return}else a(u)}o(t),n(u)}const Fn={lg:48,md:36,sm:24,xs:12,xxs:6},yr=[...zi].sort((e,r)=>Fn[e]-Fn[r]),Hm={initialHeight:35,minH:10},Wm={initialHeight:8,minH:4};function Gm(e){var r,t;if(e)return((r=e.cards)==null?void 0:r.find(n=>n.id===e.activeCardId))||((t=e.cards)==null?void 0:t[0])}function di(e){var r;return((r=Gm(e))==null?void 0:r.type)==="text"?"text":"default"}function Vl(e){return di(e)==="text"?Wm:Hm}function Ym(e,r){return e.x<r.x+r.w&&e.x+e.w>r.x}function Km(e){const r=[...e].sort((n,o)=>n.y!==o.y?n.y-o.y:n.x-o.x),t=[];for(const n of r){if(n.static){t.push({...n});continue}const o=t.reduce((i,a)=>Ym(n,a)?Math.max(i,a.y+a.h):i,0);t.push({...n,y:o})}return t}function Xm({layouts:e,previousFrame:r,nextFrame:t}){if(!e||di(r)===di(t))return e;const n=Vl(t);let o=!1;const i={};return Object.keys(e).forEach(a=>{const s=e[a];if(!s)return;let l=!1;const c=s.map(d=>d.i!==t.id||d.h===n.initialHeight&&d.minH===n.minH?d:(o=!0,l=!0,{...d,h:n.initialHeight,minH:n.minH}));i[a]=l?Km(c):c}),o?i:e}function Zm(e,r){const t=Math.max(1,Math.min(e.w,r)),n=e.minW==null?void 0:Math.max(1,Math.min(e.minW,t)),o=e.maxW==null?void 0:Math.max(t,Math.min(e.maxW,r));return{...e,x:Math.max(0,Math.min(e.x,r-t)),y:Math.max(0,e.y),w:t,...n==null?{}:{minW:n},...o==null?{}:{maxW:o}}}function Qm(e,r){return e.x<r.x+r.w&&e.x+e.w>r.x&&e.y<r.y+r.h&&e.y+e.h>r.y}function ds(e,r){return!r.some(t=>Qm(e,t))}function Jm(e,r,t){const n=e.x+e.w;if(n+e.w<=t){const l={...e,x:n,y:e.y};if(ds(l,r))return{x:n,y:e.y}}const o=Math.max(t-e.w,0),i=e.y+e.h,a=r.map(l=>l.y+l.h).filter(l=>l>i).sort((l,c)=>l-c),s=[i,...a];for(const l of s)for(let c=0;c<=o;c+=1){const d={...e,x:c,y:l};if(ds(d,r))return{x:c,y:l}}return{x:0,y:i}}function eh(e,r,t){var i,a,s;const n=(i=e[t])==null?void 0:i.find(l=>l.i===r);if(n)return n;const o=yr.indexOf(t);if(o!==-1){for(let l=o+1;l<yr.length;l+=1){const c=yr[l],d=(a=e[c])==null?void 0:a.find(u=>u.i===r);if(d)return d}for(let l=o-1;l>=0;l-=1){const c=yr[l],d=(s=e[c])==null?void 0:s.find(u=>u.i===r);if(d)return d}}}function us({id:e,layouts:r,initialHeight:t,y:n,x:o,w:i,minH:a,frame:s}){const l=Vl(s);return gp.createFrameLayouts({id:e,layouts:r,initialHeight:t??l.initialHeight,y:n,x:o,w:i,minH:a??l.minH})}function fs(e,r){if(!r)return;const t={...r};return zi.forEach(n=>{t[n]&&(t[n]=t[n].filter(o=>o.i!==e))}),t}function th({sourceId:e,duplicatedId:r,layouts:t}){if(!t||!yr.some(i=>{var a;return(a=t[i])==null?void 0:a.some(s=>s.i===e)}))return;const o={...t};return Object.keys(o).forEach(i=>{const a=o[i];if(!a)return;const s=[...a],l=eh(t,e,i);if(!l)return;const c=Zm(l,Fn[i]),d=s.filter(h=>h.i!==e&&h.i!==r),{x:u,y:p}=Jm(c,d,Fn[i]);s.push({...c,i:r,x:u,y:p}),o[i]=s}),o}function rh(e){const r=Ue.getState().dashboard.globalCacheConfig,{card:t,filter:n}=e;return r}const nh=["new","edit","delete","create","update","remove"];function Yi(e){const r=[],t=e.sheets||[];for(const n of t){for(const o of n.cards||[])r.push({card:o,sheet:n});for(const o of n.frames||[])for(const i of o.cards||[])r.push({card:i,sheet:n})}return r}function Ki(e){return Yi(e).map(r=>r.card)}function ps(e,r,t){if(t&&r===t)return!0;const n=e.sheets||[];for(const o of n){const i=o.cards||[];for(const s of i)if(s.id===r)return!1;const a=o.frames||[];for(const s of a){const l=s.cards||[];for(const c of l)if(c.id===r)return!1}}return!0}function oh(e){return!e||e.trim().length===0?{isValid:!1,error:"Card ID cannot be empty"}:e.length<3?{isValid:!1,error:"Card ID must be at least 3 characters"}:e.length>50?{isValid:!1,error:"Card ID must be less than 50 characters"}:/^[a-zA-Z0-9-_]+$/.test(e)?/^[a-zA-Z0-9]/.test(e)?nh.includes(e.toLowerCase())?{isValid:!1,error:`"${e}" is a reserved keyword and cannot be used`}:{isValid:!0}:{isValid:!1,error:"Card ID must start with a letter or number"}:{isValid:!1,error:"Card ID can only contain letters, numbers, hyphens, and underscores"}}function ih(e,r){var t;return(t=Bl(e,r))==null?void 0:t.card}function Bl(e,r){for(const t of Yi(e))if(t.card.id===r)return t}function ah(e,r){for(const t of e.sheets||[])for(const n of t.frames||[])for(const o of n.cards||[])if(o.id===r)return{card:o,sheet:t}}function $l(e,r){const t=we.toDate(e);return isNaN(r)?we.constructFrom(e,NaN):(r&&t.setDate(t.getDate()+r),t)}function Xi(e,r){const t=we.toDate(e);if(isNaN(r))return we.constructFrom(e,NaN);if(!r)return t;const n=t.getDate(),o=we.constructFrom(e,t.getTime());o.setMonth(t.getMonth()+r+1,0);const i=o.getDate();return n>=i?o:(t.setFullYear(o.getFullYear(),o.getMonth(),n),t)}function sh(e,r){const t=r*3;return Xi(e,t)}function lh(e,r){const t=r*7;return $l(e,t)}function ch(e,r){return Xi(e,r*12)}function dh(e,r){return $l(e,-r)}function uh(e,r){return Xi(e,-r)}function fh(e,r){return sh(e,-r)}function ph(e,r){return lh(e,-r)}function mh(e,r){return ch(e,-r)}const yt=(e,r)=>e.toString().padStart(r,"0"),Ot=(e,r)=>{const t=we.formatInTimeZone(e,r,"yyyy-MM-dd"),[n,o,i]=t.split("-").map(a=>Number(a));return{year:n,month:o,day:i}},Mt=(e,r)=>{const{year:t,month:n,day:o,hours:i=0,minutes:a=0,seconds:s=0,milliseconds:l=0}=e,c=`${yt(t,4)}-${yt(n,2)}-${yt(o,2)}T${yt(i,2)}:${yt(a,2)}:${yt(s,2)}.${yt(l,3)}`;return we.fromZonedTime(c,r)},Yn=(e,r)=>new Date(Date.UTC(e,r,0)).getUTCDate(),Kn=(e,r)=>{if(r===0)return e;const t=new Date(Date.UTC(e.year,e.month-1,e.day));return t.setUTCDate(t.getUTCDate()+r),{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate()}},hh=(e,r)=>r===0?e:Kn(e,r*7),jl=(e,r)=>{if(r===0)return e;const t=new Date(Date.UTC(e.year,e.month-1,1));t.setUTCMonth(t.getUTCMonth()+r);const n=t.getUTCFullYear(),o=t.getUTCMonth()+1,i=Math.min(e.day,Yn(n,o));return{year:n,month:o,day:i}},gh=(e,r)=>jl(e,r*3),yh=(e,r)=>{if(r===0)return e;const t=e.year+r,n=Math.min(e.day,Yn(t,e.month));return{year:t,month:e.month,day:n}},Ul=e=>Math.floor((e-1)/3)*3+1,Ct=(e,r)=>{const t=Ot(e,r);return Mt(t,r)},st=(e,r)=>{const t=Ot(e,r);return Mt({...t,hours:23,minutes:59,seconds:59,milliseconds:999},r)},Zi=(e,r,t)=>{const n=Ot(e,r);return Mt(t(n),r)},Qi=(e,r,t)=>{const n=Ot(e,r),o=Mt(t(n),r);return st(o,r)},Yt=(e,r,t=1)=>{const n=typeof t=="object"?t.weekStart:t,i=(Number(we.formatInTimeZone(e,r,"i"))-n+7)%7,a=Ot(e,r),s=i===0?a:Kn(a,-i);return Mt(s,r)},br=(e,r,t=1)=>{const n=typeof t=="object"?t.weekStart:t,o=Yt(e,r,n),i=Ot(o,r),a=Kn(i,6),s=Mt(a,r);return st(s,r)},vr=(e,r)=>Zi(e,r,t=>({year:t.year,month:t.month,day:1})),Cr=(e,r)=>Qi(e,r,t=>({year:t.year,month:t.month,day:Yn(t.year,t.month)})),Sr=(e,r)=>Zi(e,r,t=>({year:t.year,month:Ul(t.month),day:1})),xr=(e,r)=>Qi(e,r,t=>{const o=Ul(t.month)+2;return{year:t.year,month:o,day:Yn(t.year,o)}}),wr=(e,r)=>Zi(e,r,t=>({year:t.year,month:1,day:1})),Ir=(e,r)=>Qi(e,r,t=>({year:t.year,month:12,day:31})),jr=(e,r,t,n)=>{if(n===0)return Ct(e,r);const o=Ot(e,r);let i=o;switch(t){case"day":i=Kn(o,n);break;case"week":i=hh(o,n);break;case"month":i=jl(o,n);break;case"quarter":i=gh(o,n);break;case"year":i=yh(o,n);break}return Mt(i,r)},Ut=(e,r,t)=>jr(e,r,"day",t),zt=(e,r,t)=>jr(e,r,"week",t),qt=(e,r,t)=>jr(e,r,"month",t),Ht=(e,r,t)=>jr(e,r,"quarter",t),Wt=(e,r,t)=>jr(e,r,"year",t),bh=e=>e?typeof e=="object"&&"tz"in e?e.tz:e:Intl.DateTimeFormat().resolvedOptions().timeZone,vh=new Set(["last","this","previous","between"]),ms=e=>`${e}`.padStart(2,"0"),Xn=e=>{if(!e||typeof e!="object")return!1;const r=e.mode;return typeof r=="string"&&vh.has(r)},zl=e=>{if(!e||typeof e!="object")return!1;const r=e;return r.mode==="fixed"&&r.unit==="month"&&typeof r.year=="number"&&Number.isInteger(r.year)&&typeof r.month=="number"&&Number.isInteger(r.month)&&r.month>=0&&r.month<=11};function Ji(e,r,t=1){if(Xn(e))return Ch(e,r,t);if(!zl(e))return;const n=`${e.year}-${ms(e.month+1)}-01T00:00:00`,o=e.month===11?e.year+1:e.year,i=(e.month+1)%12,a=`${o}-${ms(i+1)}-01T00:00:00`,s=we.fromZonedTime(n,r),l=we.fromZonedTime(a,r),c=new Date(l.getTime()-1);return[s,c]}function Ch(e,r,t=1){const n=new Date,o=we.toZonedTime(n,r),i=we.fromZonedTime(o,r);switch(e.mode){case"last":{const{n:a,unit:s,complete:l}=e;if(l)switch(s){case"day":{const c=Ut(n,r,-a),d=Ut(n,r,-1);return[Ct(c,r),st(d,r)]}case"week":{const c=zt(n,r,-a),d=zt(n,r,-1);return[Yt(c,r,t),br(d,r,t)]}case"month":{const c=qt(n,r,-a),d=qt(n,r,-1);return[vr(c,r),Cr(d,r)]}case"quarter":{const c=Ht(n,r,-a),d=Ht(n,r,-1);return[Sr(c,r),xr(d,r)]}case"year":{const c=Wt(n,r,-a),d=Wt(n,r,-1);return[wr(c,r),Ir(d,r)]}}else{let c;switch(s){case"day":c=dh(o,a);break;case"week":c=ph(o,a);break;case"month":c=uh(o,a);break;case"quarter":c=fh(o,a);break;case"year":c=mh(o,a);break}return[we.fromZonedTime(c,r),i]}break}case"this":{const{unit:a,toDate:s}=e;let l,c;switch(a){case"day":l=Ct(n,r),c=st(n,r);break;case"week":l=Yt(n,r,t),c=br(n,r,t);break;case"month":l=vr(n,r),c=Cr(n,r);break;case"quarter":l=Sr(n,r),c=xr(n,r);break;case"year":l=wr(n,r),c=Ir(n,r);break}return s?[l,n]:[l,c]}case"previous":{const{unit:a}=e;switch(a){case"day":{const s=Ut(n,r,-1);return[Ct(s,r),st(s,r)]}case"week":{const s=zt(n,r,-1);return[Yt(s,r,t),br(s,r,t)]}case"month":{const s=qt(n,r,-1);return[vr(s,r),Cr(s,r)]}case"quarter":{const s=Ht(n,r,-1);return[Sr(s,r),xr(s,r)]}case"year":{const s=Wt(n,r,-1);return[wr(s,r),Ir(s,r)]}}break}case"between":{const{unit:a,from:s,to:l}=e;switch(a){case"day":{const c=Ut(n,r,s),d=Ut(n,r,l);return[Ct(c,r),st(d,r)]}case"week":{const c=zt(n,r,s),d=zt(n,r,l);return[Yt(c,r,t),br(d,r,t)]}case"month":{const c=qt(n,r,s),d=qt(n,r,l);return[vr(c,r),Cr(d,r)]}case"quarter":{const c=Ht(n,r,s),d=Ht(n,r,l);return[Sr(c,r),xr(d,r)]}case"year":{const c=Wt(n,r,s),d=Wt(n,r,l);return[wr(c,r),Ir(d,r)]}}break}}return[Ct(n,r),st(n,r)]}function Sh(e){if(!e)return null;for(const[o,i]of Object.entries(ql))if(xh(i,e))return o;const r=(o,i)=>Math.abs(o)===1?i:`${i}s`,t=(o,i)=>{if(o===0)return i==="day"?"today":`this ${i}`;if(o===-1)return i==="day"?"yesterday":`last ${i}`;if(o===1)return i==="day"?"tomorrow":`next ${i}`;const a=Math.abs(o);return o<0?`${a} ${r(a,i)} ago`:`${a} ${r(a,i)} ahead`},n=o=>o.charAt(0).toUpperCase()+o.slice(1);return e.mode==="this"?`This ${e.unit}${e.toDate?" to date":""}`:e.mode==="previous"?`Last ${e.unit}`:e.mode==="last"?`Last ${e.n} ${r(e.n,e.unit)}`:e.mode==="between"?e.from===e.to?n(t(e.from,e.unit)):`${n(t(e.from,e.unit))} to ${t(e.to,e.unit)}`:null}function xh(e,r){return!(e.mode!==r.mode||e.unit!==r.unit||e.mode==="last"&&r.mode==="last"&&(e.n!==r.n||!!e.complete!=!!r.complete)||e.mode==="this"&&r.mode==="this"&&!!e.toDate!=!!r.toDate||e.mode==="between"&&r.mode==="between"&&(e.from!==r.from||e.to!==r.to))}const ql={Today:{mode:"this",unit:"day"},"Last 7 days":{mode:"between",unit:"day",from:-6,to:0},"Last 30 days":{mode:"between",unit:"day",from:-29,to:0},"Last 90 days":{mode:"between",unit:"day",from:-89,to:0},"This week":{mode:"this",unit:"week"},"Last week":{mode:"previous",unit:"week"},"Last 2 weeks":{mode:"last",n:2,unit:"week",complete:!0},"This month":{mode:"this",unit:"month"},"Last month":{mode:"previous",unit:"month"},"Last 3 months":{mode:"last",n:3,unit:"month",complete:!0},"Last 6 months":{mode:"last",n:6,unit:"month",complete:!0},"Last 9 months":{mode:"last",n:9,unit:"month",complete:!0},"Last 12 months":{mode:"last",n:12,unit:"month",complete:!0},"This quarter":{mode:"this",unit:"quarter"},"Last quarter":{mode:"previous",unit:"quarter"},"Last 4 quarters":{mode:"last",n:4,unit:"quarter",complete:!0},"This year":{mode:"this",unit:"year"},"Last year":{mode:"previous",unit:"year"}};function Hl(e,r){const t=r||Intl.DateTimeFormat().resolvedOptions().timeZone,n={};for(const o of e.sheets||[])for(const i of o.frames||[])for(const a of i.cards||[]){if(!a.inlineFilters||a.inlineFilters.length===0)continue;const s=[];for(const l of a.inlineFilters){if(Oe(l.dataType)==="date"&&l.defaultDateFilter){const d=Ji(l.defaultDateFilter,t);if(!d)continue;const[u,p]=d,h={filterId:l.id,name:l.column,operation:"between",valueType:"date",values:[u,p],dataType:l.dataType,...Xn(l.defaultDateFilter)?{relativeMeta:l.defaultDateFilter}:{}};s.push(h);continue}l.defaultValues&&l.defaultValues.length>0&&s.push({filterId:l.id,name:l.column,operation:l.operation,valueType:Oe(l.dataType),values:l.defaultValues,dataType:l.dataType})}s.length>0&&(n[a.id]=s)}return n}const wh=new Set(["between","not between","=","!=",">",">=","<","<=","is null","is not null"]),Ih=new Set(["between","not between","=","!=",">",">=","<","<=","in","not in","is null","is not null"]),Eh=new Set(["=","!=","in","not in","like","not like","is null","is not null"]),Th=new Set(["=","!=","is null","is not null"]),Fh={date:wh,number:Ih,string:Eh,boolean:Th};function Wl(e){const r=Oe(e);return r==="number"||r==="boolean"||r==="date"?r:"string"}function Zn(e,r){const t=r||Intl.DateTimeFormat().resolvedOptions().timeZone,n=Wl(e.dataType);if(n==="date"&&e.defaultDateFilter){const i=Ji(e.defaultDateFilter,t);if(!i)return;const[a,s]=i;return{filterId:e.id,name:e.column,operation:"between",valueType:"date",values:[a,s],dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext,...Xn(e.defaultDateFilter)?{relativeMeta:e.defaultDateFilter}:{}}}if(e.defaultValues&&e.defaultValues.length>0)return{filterId:e.id,name:e.column,operation:e.operation,valueType:n,values:e.defaultValues,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}}function Ah(e,r){return e!=null&&e.length?e.map(t=>Zn(t,r)).filter(t=>!!t):[]}function ea(e,r){var n;if(e.id!==r.filterId)return!1;const t=Wl(e.dataType);return r.valueType!==t?!1:((n=Fh[t])==null?void 0:n.has(r.operation))??r.operation===e.operation}function Dh(e,r){if(!(e!=null&&e.length)||!(r!=null&&r.length))return[];const t=new Map(e.map(n=>[n.id,n]));return r.filter(n=>{const o=t.get(n.filterId);return o?ea(o,n):!1})}function Rh(e,r){const t=[...e];for(const n of r){const o=t.findIndex(i=>i.filterId===n.filterId);o>=0?t[o]=n:t.push(n)}return t}function Ph(e){const{previousFilters:r,nextFilters:t,filterValues:n}=e;if(!(n!=null&&n.length))return[];const o=new Set((r||[]).map(l=>l.id)),i=new Set((t||[]).map(l=>l.id)),a=n.filter(l=>!o.has(l.filterId)&&!i.has(l.filterId)),s=Dh(t,n);return[...a,...s]}function _h(e){const{previousFilters:r,nextFilters:t,currentFilterValues:n,defaultFilterValues:o}=e,i=Ph({previousFilters:r,nextFilters:t,filterValues:n}),a=new Set((r||[]).map(u=>u.id)),s=new Set((n||[]).map(u=>u.filterId)),l=new Set(i.map(u=>u.filterId)),c=new Map((t||[]).map(u=>[u.id,u])),d=o.filter(u=>{const p=c.get(u.filterId);return!p||!ea(p,u)?!1:a.has(u.filterId)?s.has(u.filterId)&&!l.has(u.filterId):!0});return Rh(d,i)}function Mr(e,r){return Object.prototype.hasOwnProperty.call(e||{},r)}function Gl(e){return e!==void 0}function ta(e){return e.initialValueStrategy==="saved_default"}function Yl(e){return e.scope==="dashboard"&&ta(e)}function Kl(e){return ta(e)&&e.defaultValue!==void 0}function Xl(e){const r={...e.dashboardValues||{}};for(const t of Object.values(e.cardValuesMap||{}))Object.assign(r,t);return r}function Oh(e){return ra({controls:e.controls,dashboardDefaultValues:e.defaultControlValues})}function ra(e){const r={},t=e.dashboardDefaultValues,n=Gl(t);for(const o of e.controls||[])if(Yl(o)){if(n&&Mr(t,o.id)){const i=t==null?void 0:t[o.id];i!==void 0&&(r[o.id]=i);continue}o.defaultValue!==void 0&&(r[o.id]=o.defaultValue)}return r}function Mh(e){const r=ra(e);return(e.controls||[]).map(t=>{if(!Yl(t))return t;const n=Mr(r,t.id)?r[t.id]:void 0;return t.defaultValue===n?t:{...t,defaultValue:n}})}function na(e,r){if(ta(e))return e.scope==="dashboard"&&Gl(r)&&Mr(r,e.id)?r==null?void 0:r[e.id]:e.defaultValue}function Nh(e){const r={};for(const t of Ki(e)){const n={};for(const o of t.controls||[])Kl(o)&&(n[o.id]=o.defaultValue);Object.keys(n).length>0&&(r[t.id]=n)}return r}function Do(e,r,t){const n=(t==null?void 0:t.hasExplicitRuntimeOverrides)===!0,o=n?{}:Oh(e),i=n?{}:Nh(e);if(r===void 0)return{dashboardControlValues:o,cardControlValuesMap:i};const a=new Set((e.controls||[]).map(l=>l.id)),s=new Map;for(const l of Ki(e))for(const c of l.controls||[])s.set(c.id,l.id);for(const[l,c]of Object.entries(r)){if(a.has(l)){c===void 0?delete o[l]:o[l]=c;continue}const d=s.get(l);d&&(i[d]||(i[d]={}),c===void 0?(delete i[d][l],Object.keys(i[d]).length===0&&delete i[d]):i[d][l]=c)}return{dashboardControlValues:o,cardControlValuesMap:i}}function kh(e){var t,n;const r={};for(const o of e.relevantControlIds){if(Mr(e.cardValues,o)){r[o]=(t=e.cardValues)==null?void 0:t[o];continue}Mr(e.dashboardValues,o)&&(r[o]=(n=e.dashboardValues)==null?void 0:n[o])}return r}function Lh(e){const r={};for(const t of e.nextControls){const n=e.renamed&&t.id===e.renamed.newId?e.renamed.oldId:t.id;if(Object.prototype.hasOwnProperty.call(e.previousValues,n)){r[t.id]=e.previousValues[n];continue}const o=na(t,e.nextDefaultValues);o!==void 0&&(r[t.id]=o)}return r}function Vh(e){const r={};for(const t of e.nextControls){const n=e.renamed&&t.id===e.renamed.newId?e.renamed.oldId:t.id;if(e.previousValues&&Object.prototype.hasOwnProperty.call(e.previousValues,n)){r[t.id]=e.previousValues[n];continue}Kl(t)&&(r[t.id]=t.defaultValue)}return r}function Zl(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bh(e,r){return e&&r.reduce((t,n)=>{const o=new RegExp(`\\[\\[\\s*param\\.${Zl(n)}\\s*\\]\\]`,"g");return t.replace(o,"NULL")},e)}function $h(e,r){return(e||[]).some(t=>t.target==="sql_param"&&t.paramId===r)}function jh(e,r,t){return!e||e.length===0?e:e.map(n=>n.controlId===r?{...n,controlId:t}:n)}function Uh(e,r){return!e||e.length===0?e:e.filter(t=>t.controlId!==r)}function zh(e,r,t){if(!e)return e;const n=new RegExp(`\\[\\[\\s*param\\.${Zl(r)}\\s*\\]\\]`,"g");return e.replace(n,`[[param.${t}]]`)}function Ql(e,r){if(r.type==="rename"){const t=jh(e.controlBindings,r.oldId,r.newId),n=$h(e.controlBindings,r.oldId)?e.sql:zh(e.sql,r.oldId,r.newId);return{...e,controlBindings:t,sql:n}}return{...e,controlBindings:Uh(e.controlBindings,r.controlId),sql:Bh(e.sql,[r.controlId,...(e.controlBindings||[]).filter(t=>t.target==="sql_param"&&t.controlId===r.controlId).map(t=>t.paramId)])}}function qh(e,r){const t=new Set((e.controls||[]).map(n=>n.id));return r.type==="rename"?!t.has(r.oldId)&&!t.has(r.newId):!t.has(r.controlId)}function Jl(e,r){return e&&e.map(t=>qh(t,r)?Ql(t,r):t)}function Hh(e,r){return e&&e.map(t=>({...t,cards:Jl(t.cards,r)||[]}))}function Wh(e,r){return{...e,sheets:(e.sheets||[]).map(t=>({...t,cards:Jl(t.cards,r),frames:Hh(t.frames,r)}))}}function Gh(e,r,t){const n=new Set((t==null?void 0:t.affectedControlIds)||[]),o=(a,s)=>s?[...(a||[]).filter(c=>!n.has(c.controlId)&&!s.some(d=>d.controlId===c.controlId&&d.target===c.target)),...s]:(a||[]).filter(c=>!n.has(c.controlId)),i=a=>Object.prototype.hasOwnProperty.call(r,a.id)?{...a,controlBindings:o(a.controlBindings,r[a.id])}:a;return{...e,sheets:(e.sheets||[]).map(a=>({...a,cards:(a.cards||[]).map(i),frames:(a.frames||[]).map(s=>({...s,cards:(s.cards||[]).map(i)}))}))}}function ec(e){if(e.type==="model")return`${Tn}.${e.name}`;if(e.type==="dataset"){if(e.database&&e.schema)return`${e.database}.${e.schema}.${e.name}`;if(e.schema)return`${e.schema}.${e.name}`;if(e.database)return`${e.database}.${e.name}`}if(Ol.includes(e.type)){if(e.database&&e.schema)return`${e.database}.${e.schema}.${e.name}`;if(e.schema)return`${e.schema}.${e.name}`;if(e.database)return`${e.database}.${e.name}`}return e.name}function Yh(e){return Array.isArray(e)?e.reduce((r,t)=>t.role!=="assistant"?(r.push(t),r):t.parts.some(o=>{var i;return!!(o.type==="reasoning"&&o.state==="streaming"||o.type==="text"&&o.state==="streaming"||(i=o.type)!=null&&i.startsWith("tool-")&&o.state==="input-streaming")})?(console.log("Removing aborted assistant message:",t.id),r):(r.push(t),r),[]):e}function oa(e){const{selectedEntities:r}=e,t=r.map(n=>({...n,qualifiedEntityName:ec(n)}));return{...e,selectedEntities:t}}const hs={selectedEntities:[]};function Kh(e){var r;return oa({selectedEntities:e.selectedEntities,fileAttachments:(r=e.fileAttachments)==null?void 0:r.map(({data:t,preview:n,...o})=>o)})}const Ce=_t()(zn((e,r)=>({currentAIContext:hs,hasEditorEntitySelectionOverride:!1,activeAssistantType:null,dashboardEntitySelectionOverrides:{},pendingDashboardDraftMigration:null,assistantMessageContexts:{},reasoningEffort:"low",showReasoning:!1,messageQueues:{dashboard:[],editor:[]},fileAttachments:{dashboard:[],editor:[]},uploadProgress:new Map,actions:{setCurrentAIContext:t=>{e(n=>{n.currentAIContext=oa(t)})},setHasEditorEntitySelectionOverride:t=>{e(n=>{n.hasEditorEntitySelectionOverride=t})},setActiveAssistantType:t=>{e(n=>{n.activeAssistantType=t})},updateSelectedEntities:t=>{e(n=>{n.currentAIContext.selectedEntities=t})},setDashboardEntitySelectionOverride:(t,n)=>{e(o=>{o.dashboardEntitySelectionOverrides[t]=n})},clearDashboardEntitySelectionOverride:t=>{e(n=>{delete n.dashboardEntitySelectionOverrides[t]})},setPendingDashboardDraftMigration:t=>{e(n=>{n.pendingDashboardDraftMigration=t})},setPendingDashboardDraftMigrationExpectedDashboardId:t=>{e(n=>{n.pendingDashboardDraftMigration&&(n.pendingDashboardDraftMigration.expectedDashboardId=t)})},clearPendingDashboardDraftMigration:()=>{e(t=>{t.pendingDashboardDraftMigration=null})},setAssistantMessageContext:(t,n)=>{e(o=>{o.assistantMessageContexts[t]=Kh(n)})},clearAssistantMessageContext:t=>{e(n=>{delete n.assistantMessageContexts[t]})},clearAssistantMessageContexts:t=>{e(n=>{if(!t||t.length===0){n.assistantMessageContexts={};return}t.forEach(o=>{delete n.assistantMessageContexts[o]})})},clearAIContext:()=>{e(t=>{t.currentAIContext=hs,t.hasEditorEntitySelectionOverride=!1,t.dashboardEntitySelectionOverrides={},t.pendingDashboardDraftMigration=null,t.assistantMessageContexts={}})},mergeAIContext:t=>{e(n=>{n.currentAIContext={...n.currentAIContext,...t}})},setReasoningEffort:t=>{e(n=>{n.reasoningEffort=t})},setShowReasoning:t=>{e(n=>{n.showReasoning=t})},queueMessage:(t,n,o)=>{e(i=>{i.messageQueues[t].push({id:crypto.randomUUID(),text:n,timestamp:Date.now(),fileAttachments:o})})},dequeueMessage:t=>{if(r().messageQueues[t].length===0)return;let o;return e(i=>{const a=i.messageQueues[t].shift();a&&(o={id:a.id,text:a.text,timestamp:a.timestamp})}),o},removeFromQueue:(t,n)=>{e(o=>{o.messageQueues[t]=o.messageQueues[t].filter(i=>i.id!==n)})},clearQueue:t=>{e(n=>{n.messageQueues[t]=[]})},addFileAttachment:(t,n)=>{e(o=>{o.fileAttachments[t].push(n)})},removeFileAttachment:(t,n)=>{e(o=>{o.fileAttachments[t]=o.fileAttachments[t].filter(i=>i.id!==n)})},clearFileAttachments:t=>{e(n=>{n.fileAttachments[t]=[]})},updateUploadProgress:(t,n)=>{e(o=>{o.uploadProgress.set(t,n)})},getFileAttachments:t=>r().fileAttachments[t]}}))),Xh=()=>Ce(e=>e.currentAIContext),Zh=()=>Ce(e=>e.activeAssistantType),Qh=e=>Ce(r=>e?r.assistantMessageContexts[e]:void 0),Jh=()=>Ce(e=>e.actions),eg=e=>Ce(r=>r.messageQueues[e]),tg=()=>Ce(Hn(e=>({queueMessage:e.actions.queueMessage,dequeueMessage:e.actions.dequeueMessage,removeFromQueue:e.actions.removeFromQueue,clearQueue:e.actions.clearQueue}))),rg=e=>Ce(r=>r.fileAttachments[e]),ng=()=>Ce(Hn(e=>({addFileAttachment:e.actions.addFileAttachment,removeFileAttachment:e.actions.removeFileAttachment,clearFileAttachments:e.actions.clearFileAttachments,updateUploadProgress:e.actions.updateUploadProgress,getFileAttachments:e.actions.getFileAttachments}))),ui={},og=e=>({updatePageSize:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,pageSize:r}}}}}),updateColumnSettingsMap:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSettingsMap:r}}}}}),updateTableBaseFormatting:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,baseFormatting:r}}}}}),updateTableConditionalFormatting:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,conditionalFormatting:r}}}}}),updateColumnSizing:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSizing:r}}}}}),updateColumnVisibility:(r,t)=>e(n=>{var a,s,l,c,d,u;const i={...((l=(s=(a=n.card)==null?void 0:a.preferences)==null?void 0:s.tablePrefs)==null?void 0:l.columnVisibility)||{},[r]:t};return{card:{...n.card,preferences:{...(c=n.card)==null?void 0:c.preferences,tablePrefs:{...(u=(d=n.card)==null?void 0:d.preferences)==null?void 0:u.tablePrefs,columnVisibility:i}}}}}),showAllColumns:()=>e(r=>{var i,a,s,l,c,d;const t=((s=(a=(i=r.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs)==null?void 0:s.columnVisibility)||ui,n=Object.keys(t);if(n.length===0)return r;const o={};return n.forEach(u=>{o[u]=!0}),{card:{...r.card,preferences:{...(l=r.card)==null?void 0:l.preferences,tablePrefs:{...(d=(c=r.card)==null?void 0:c.preferences)==null?void 0:d.tablePrefs,columnVisibility:o}}}}}),hideAllColumns:()=>e(r=>{var i,a,s,l,c,d;const t=((s=(a=(i=r.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs)==null?void 0:s.columnVisibility)||ui,n=Object.keys(t);if(n.length===0)return r;const o={};return n.forEach(u=>{o[u]=!1}),{card:{...r.card,preferences:{...(l=r.card)==null?void 0:l.preferences,tablePrefs:{...(d=(c=r.card)==null?void 0:c.preferences)==null?void 0:d.tablePrefs,columnVisibility:o}}}}}),toggleSelectColumn:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,selectColumnVisible:r}}}}}),initializeColumnVisibility:r=>e(t=>{var o,i,a;const n={};return r.forEach(s=>{n[s]=!0}),{card:{...t.card,preferences:{...(o=t.card)==null?void 0:o.preferences,tablePrefs:{...(a=(i=t.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs,columnVisibility:n}}}}}),updateAllColumnVisibility:r=>typeof r=="function"?(console.error("Function updater received instead of visibility object - ignoring"),e(t=>t)):e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnVisibility:r}}}}})});function Qn(e){if(!e)return!1;const r=e.groupByColumns&&e.groupByColumns.length>0,t=e.metricColumns&&e.metricColumns.length>0,n=e.pivotByColumns&&e.pivotByColumns.length>0,o=e.detailColumns&&e.detailColumns.length>0;return!!(r||t||n||o)}function ig(e,r){var i,a,s;if(r!=null&&r.skipSetupCheck||e.type==="text"||(i=e.customCardPreferences)!=null&&i.url)return!1;const t=!!(e.connectionId||(a=e.dataSource)!=null&&a.connectionId),n=!!((s=e.sql)!=null&&s.trim()),o=Qn(e.config);return!t||!o&&!n}function ag(e){var t,n;const r=(n=(t=e==null?void 0:e.preferences)==null?void 0:t.textVisualOptions)==null?void 0:n.content;return Array.isArray(r)&&r.length>0}function ia(e){var r;return!!((r=e==null?void 0:e.description)!=null&&r.trim())||ag(e)}function aa(e){var r,t;return!e||e.type!=="text"?!1:!!((r=e.sql)!=null&&r.trim()||(t=e.python)!=null&&t.trim()||Qn(e.config))}function sg(e){var r,t;return!e||e.type!=="text"?!1:((t=(r=e.preferences)==null?void 0:r.textVisualOptions)==null?void 0:t.isDynamicText)===!0?!0:aa(e)&&!ia(e)}function lg(e){var r,t;return!e||e.type!=="text"?!1:aa(e)&&(((t=(r=e.preferences)==null?void 0:r.textVisualOptions)==null?void 0:t.isDynamicText)===!0||!ia(e))}const cg=/^\(?\s*\{[\s\S]*\}\s*\)?$/,dg=[{pattern:/\bfetch\s*\(/i,message:"Visual code must not fetch external data."},{pattern:/\bXMLHttpRequest\b/i,message:"Visual code must not use XMLHttpRequest."},{pattern:/\bWebSocket\b/i,message:"Visual code must not use WebSocket."},{pattern:/\bimport\s*\(/i,message:"Visual code must not use dynamic imports."},{pattern:/<script[\s>]|<\/script>|<!DOCTYPE|<html[\s>]|<body[\s>]/i,message:"Visual code must be renderer code only, not an HTML document."},{pattern:/\bcreateElement\s*\(\s*['"]script['"]\s*\)/i,message:"Visual code must not create script elements at runtime."},{pattern:/\bimportScripts\s*\(/i,message:"Visual code must not import external scripts."}];function tc(e){return e.visualizationMode??"builtin"}function rc(e){return tc(e)==="dynamic"}function ug(e){return e.type==="custom"}function fg(e,r){return r?{...e,settings:r}:e}function pg(e,r){const t=r.selectedConnectionId||e.connectionId||"";if(!e.dataSource){if(!t)return;const n=r.selectedDatabaseName||e.lastSelectedDatabase,o=r.selectedSchemaName||e.lastSelectedSchema,i=r.selectedTableName||e.lastSelectedTable;return{connectionId:t,connectionType:"",mode:"database",selectedEntities:[],...n&&o&&i?{dbSelection:{database:n,schema:o,entityType:"table"}}:{}}}return{...e.dataSource,connectionId:r.selectedConnectionId||e.dataSource.connectionId||e.connectionId||""}}function mg(e){var r,t,n,o;return{showChrome:(t=(r=e.preferences)==null?void 0:r.displayOptions)==null?void 0:t.showChrome,allowScroll:(o=(n=e.preferences)==null?void 0:n.displayOptions)==null?void 0:o.allowScroll}}function hg(e){var r;return((r=e.dynamicCardPreferences)==null?void 0:r.provenance)==="card-config"&&!!e.config}function gg(e){var r,t,n,o;return((t=(r=e.dynamicCardPreferences)==null?void 0:r.fallback)==null?void 0:t.mode)==="table"&&!e.dynamicCardPreferences.fallback.chartType?"table":((o=(n=e.dynamicCardPreferences)==null?void 0:n.fallback)==null?void 0:o.chartType)||e.type}function nc(e,r="Fallback to the underlying built-in visual"){return{mode:e==="table"||e==="detailTable"?"table":"chart",chartType:e,reason:r}}function oc(e,r){return{renderer:"dynamic-visual",builtinDisplayOptions:r,fallback:nc(e)}}function ic(e){var o,i,a,s,l,c,d,u,p,h,v,m,b,S;const r=(o=e.dynamicCardPreferences)==null?void 0:o.builtinDisplayOptions;if(!r)return((a=(i=e.preferences)==null?void 0:i.displayOptions)==null?void 0:a.showChrome)!==!1||((l=(s=e.preferences)==null?void 0:s.displayOptions)==null?void 0:l.allowScroll)!==!1?e:{...e,preferences:{...e.preferences,displayOptions:{...e.preferences.displayOptions,showChrome:!0,allowScroll:!0}}};const t=r.showChrome??((d=(c=e.preferences)==null?void 0:c.displayOptions)==null?void 0:d.showChrome),n=r.allowScroll??((p=(u=e.preferences)==null?void 0:u.displayOptions)==null?void 0:p.allowScroll);return t===((v=(h=e.preferences)==null?void 0:h.displayOptions)==null?void 0:v.showChrome)&&n===((b=(m=e.preferences)==null?void 0:m.displayOptions)==null?void 0:b.allowScroll)?e:{...e,preferences:{...e.preferences,displayOptions:{...(S=e.preferences)==null?void 0:S.displayOptions,showChrome:t,allowScroll:n}}}}function yg(e,r,t){var n;return{...oc(e.type,mg(e)),...e.dynamicCardPreferences,renderer:"dynamic-visual",artifactId:(t==null?void 0:t.artifactId)||((n=e.dynamicCardPreferences)==null?void 0:n.artifactId)||e.id,title:(t==null?void 0:t.title)||e.title,rendererCode:r}}function bg(e,r,t){return r==="dynamic"&&(t!=null&&t.rendererCode)?{...e,visualizationMode:"dynamic",dynamicCardPreferences:yg(e,t.rendererCode,{artifactId:t.artifactId,title:t.title})}:{...ic(e),visualizationMode:"builtin",dynamicCardPreferences:void 0}}function vg(e){return{...e,type:gg(e),visualizationMode:"builtin"}}function Cg(e,{isDevMode:r,cardSql:t,isShowingVisual:n,selectedSchemaName:o,selectedDatamodelId:i,selectedDatabaseName:a,selectedTableName:s,selectedConnectionId:l,remoteChartSettings:c,stripConfig:d}){const u=hg(e),p=r&&!u,h=!r&&lg(e),v=p||h;return{...e,dataSource:pg(e,{selectedConnectionId:l,selectedDatabaseName:a,selectedSchemaName:o,selectedTableName:s}),lastSelectedSchema:o,lastSelectedDatamodelId:i,lastSelectedDatabase:a,lastSelectedTable:s,connectionId:l||e.connectionId,sql:v?t||e.sql:void 0,python:v?e.python:void 0,config:p||!e.config?void 0:d(e.config),customCfg:n?e.customCfg:null,preferences:e.preferences,customCardPreferences:fg(e.customCardPreferences,c)}}function ac(e){return String(e||"").trim().replace(/;+\s*$/,"")}function Sg(e){let r=e.trim();for(;r.startsWith("(")&&r.endsWith(")")&&xg(r);)r=r.slice(1,-1).trim();return r}function xg(e){let r=0;for(let t=0;t<e.length;t+=1){const n=e[t];if(n==="("){r+=1;continue}if(n===")"&&(r-=1,r===0&&t<e.length-1||r<0))return!1}return r===0}function sc(e,r,t){let n=r+1;for(;n<e.length;){const o=e[n];if(o==="\\"){n+=2;continue}if(t==="`"&&o==="$"&&e[n+1]==="{"){n=dc(e,n+1,"{","}")+1;continue}if(o===t)return n;n+=1}return e.length-1}function lc(e,r){let t=r+2;for(;t<e.length&&e[t]!==`
|
|
6
|
+
`);const g=S.state[s];if(g==null)return;JSON.stringify(o.getState())!==JSON.stringify(g)&&h(g);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(S)});case"DISPATCH":switch(m.payload.type){case"RESET":return h(v),s===void 0?d==null?void 0:d.init(o.getState()):d==null?void 0:d.init(rn(l.name));case"COMMIT":if(s===void 0){d==null||d.init(o.getState());return}return d==null?void 0:d.init(rn(l.name));case"ROLLBACK":return Fo(m.state,S=>{if(s===void 0){h(S),d==null||d.init(o.getState());return}h(S[s]),d==null||d.init(rn(l.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Fo(m.state,S=>{if(s===void 0){h(S);return}JSON.stringify(o.getState())!==JSON.stringify(S[s])&&h(S[s])});case"IMPORT_STATE":{const{nextLiftedState:S}=m.payload,g=(b=S.computedStates.slice(-1)[0])==null?void 0:b.state;if(!g)return;h(s===void 0?g:g[s]),d==null||d.send(null,S);return}case"PAUSE_RECORDING":return p=!p}return}}),v},wl=qp,Fo=(e,r)=>{let t;try{t=JSON.parse(e)}catch(n){console.error("[zustand devtools middleware] Could not parse the received json",n)}t!==void 0&&r(t)};function Hp(e,r){let t;try{t=e()}catch{return}return{getItem:o=>{var i;const a=l=>l===null?null:JSON.parse(l,void 0),s=(i=t.getItem(o))!=null?i:null;return s instanceof Promise?s.then(a):a(s)},setItem:(o,i)=>t.setItem(o,JSON.stringify(i,void 0)),removeItem:o=>t.removeItem(o)}}const ai=e=>r=>{try{const t=e(r);return t instanceof Promise?t:{then(n){return ai(n)(t)},catch(n){return this}}}catch(t){return{then(n){return this},catch(n){return ai(n)(t)}}}},Wp=(e,r)=>(t,n,o)=>{let i={storage:Hp(()=>localStorage),partialize:m=>m,version:0,merge:(m,b)=>({...b,...m}),...r},a=!1;const s=new Set,l=new Set;let c=i.storage;if(!c)return e((...m)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),t(...m)},n,o);const d=()=>{const m=i.partialize({...n()});return c.setItem(i.name,{state:m,version:i.version})},u=o.setState;o.setState=(m,b)=>(u(m,b),d());const p=e((...m)=>(t(...m),d()),n,o);o.getInitialState=()=>p;let h;const v=()=>{var m,b;if(!c)return;a=!1,s.forEach(g=>{var y;return g((y=n())!=null?y:p)});const S=((b=i.onRehydrateStorage)==null?void 0:b.call(i,(m=n())!=null?m:p))||void 0;return ai(c.getItem.bind(c))(i.name).then(g=>{if(g)if(typeof g.version=="number"&&g.version!==i.version){if(i.migrate){const y=i.migrate(g.state,g.version);return y instanceof Promise?y.then(C=>[!0,C]):[!0,y]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,g.state];return[!1,void 0]}).then(g=>{var y;const[C,w]=g;if(h=i.merge(w,(y=n())!=null?y:p),t(h,!0),C)return d()}).then(()=>{S==null||S(h,void 0),h=n(),a=!0,l.forEach(g=>g(h))}).catch(g=>{S==null||S(void 0,g)})};return o.persist={setOptions:m=>{i={...i,...m},m.storage&&(c=m.storage)},clearStorage:()=>{c==null||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>v(),hasHydrated:()=>a,onHydrate:m=>(s.add(m),()=>{s.delete(m)}),onFinishHydration:m=>(l.add(m),()=>{l.delete(m)})},i.skipHydration||v(),h||p},Gp=Wp,is=e=>Symbol.iterator in e,as=e=>"entries"in e,ss=(e,r)=>{const t=e instanceof Map?e:new Map(e.entries()),n=r instanceof Map?r:new Map(r.entries());if(t.size!==n.size)return!1;for(const[o,i]of t)if(!n.has(o)||!Object.is(i,n.get(o)))return!1;return!0},Yp=(e,r)=>{const t=e[Symbol.iterator](),n=r[Symbol.iterator]();let o=t.next(),i=n.next();for(;!o.done&&!i.done;){if(!Object.is(o.value,i.value))return!1;o=t.next(),i=n.next()}return!!o.done&&!!i.done};function Kp(e,r){return Object.is(e,r)?!0:typeof e!="object"||e===null||typeof r!="object"||r===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(r)?!1:is(e)&&is(r)?as(e)&&as(r)?ss(e,r):Yp(e,r):ss({entries:()=>Object.entries(e)},{entries:()=>Object.entries(r)})}function Hn(e){const r=ie.useRef(void 0);return t=>{const n=e(t);return Kp(r.current,n)?r.current:r.current=n}}let nn;const Xp=new Uint8Array(16);function Zp(){if(!nn&&(nn=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!nn))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return nn(Xp)}const me=[];for(let e=0;e<256;++e)me.push((e+256).toString(16).slice(1));function Qp(e,r=0){return me[e[r+0]]+me[e[r+1]]+me[e[r+2]]+me[e[r+3]]+"-"+me[e[r+4]]+me[e[r+5]]+"-"+me[e[r+6]]+me[e[r+7]]+"-"+me[e[r+8]]+me[e[r+9]]+"-"+me[e[r+10]]+me[e[r+11]]+me[e[r+12]]+me[e[r+13]]+me[e[r+14]]+me[e[r+15]]}const Jp=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ls={randomUUID:Jp};function Ke(e,r,t){if(ls.randomUUID&&!e)return ls.randomUUID();e=e||{};const n=e.random||(e.rng||Zp)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Qp(n)}function em(e){var n;if(!(e!=null&&e.length))return;const r=new Map;for(const o of e)for(const i of o.filterGroups)for(const a of i.filters){if(!((n=a.field)!=null&&n.id))continue;const s=a.field.id;r.has(s)||r.set(s,[]),r.get(s).push({field:a.field,value:a.value})}const t=[];for(const[o,i]of r.entries())if(i.length===1){const a=i[0];t.push({id:Ke(),logicalOperator:"AND",negate:!1,conditions:[{id:Ke(),field:a.field,operator:"=",value:a.value}],groups:[]})}else{const a=i[0].field,l=i.map(c=>c.value).map(c=>({id:Ke(),field:a,operator:"=",value:c}));t.push({id:Ke(),logicalOperator:"OR",negate:!1,conditions:l,groups:[]})}if(t.length!==0)return{id:Ke(),logicalOperator:"AND",negate:!1,conditions:[],groups:t}}function tm(e){const r=e.filter(Boolean);if(r.length!==0)return r.length===1?r[0]:{id:Ke(),logicalOperator:"AND",negate:!1,conditions:[],groups:r}}function rm(e){if(!e)return;const r=t=>({logicalOperator:t.logicalOperator,negate:t.negate,conditions:t.conditions.map(n=>({field:n.field.id,operator:n.operator,value:n.value})),groups:t.groups.map(r)});return JSON.stringify(r(e))}const Il=_t((e,r)=>({context:null,setContext:t=>e({context:t}),appendCondition:t=>{const n=r().context;n&&e({context:{...n,type:"multiClick",conditions:[...n.conditions,t]}})},clear:()=>e({context:null})}));function wt(e){return e?e.interactions||[]:[]}function nm({intent:e,card:r}){var i,a,s;const t=Il.getState().context;if(!t||!((i=t.conditions)!=null&&i.length))return;const n={sourceCardId:t.cardId,filterGroups:[{filters:t.conditions}],metric:t.metric},o=r==null?void 0:r.interactionConfig;switch(e.mode){case"clickFilter":{const l=wt(o),c={conditions:t.conditions,metrics:t.metric?[t.metric]:void 0},d=hm(l,c);return!d||d.mode!=="clickFilter"?void 0:{interactionMode:"clickFilter",...n,applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds}}case"drillDown":{const l=(a=o==null?void 0:o.drillHierarchies)==null?void 0:a.find(c=>c.id===e.hierarchyId);return l?{interactionMode:"drillDown",...n,hierarchyId:l.id,toField:e.drillField}:void 0}case"dynamicDrill":return{interactionMode:"dynamicDrill",...n,toField:e.drillField};case"drillToDetail":{const c=wt(o).find(d=>d.mode==="drillToDetail");return!c||c.mode!=="drillToDetail"||!((s=c.detailFields)!=null&&s.length)||!c.targetInsightId?void 0:{interactionMode:"drillToDetail",...n,detailFields:c.detailFields,sortBy:c.sortBy,limit:c.limit,targetInsightId:c.targetInsightId,contextMode:c.contextMode,displayMode:c.displayMode}}case"drillToURL":{const c=wt(o).find(d=>d.mode==="drillToURL");return!c||c.mode!=="drillToURL"||!c.urlTemplate?void 0:{interactionMode:"drillToURL",...n,url:c.urlTemplate}}case"drillThrough":{const c=wt(o).find(d=>d.mode==="drillThrough");return!c||c.mode!=="drillThrough"||!c.targetDashboardId?void 0:{interactionMode:"drillThrough",...n,targetDashboardId:c.targetDashboardId}}case"inlineDrill":return{interactionMode:"inlineDrill",...n,fetchMode:"lazy",inlineLimit:10};default:return}}const El=["year","quarter","month","week","day"],om=[...El,"hour","minute","second"];function im(e){const t=(um(e)?om:El).map(n=>({field:{...e,id:`${e.id}_${n}`,granularity:n,label:cs(n),dateFormat:cm(n)},mode:"drillDown",label:`Drill to ${cs(n)}`,retainFilters:!0}));return{id:`auto_date_${e.id}`,label:`${e.label}`,type:"date",steps:t,default:!0,baseField:e}}function am(e,r=[]){return lm(e)?!sm(e.id,r):!1}function sm(e,r){return r.find(t=>t.id===`auto_date_${e}`?!0:t.steps.some(n=>{const o=n.field.id;return o===e||o.startsWith(`${e}_`)}))}function lm(e){return!!(dm(e)||e.granularity)}function cm(e){return{year:"YYYY",quarter:"YYYY-Q1",month:"MMM YYYY",week:"YYYY-WW",day:"MMM DD, YYYY",hour:"YYYY-MM-DD HH:mm",minute:"YYYY-MM-DD HH:mm",second:"YYYY-MM-DD HH:mm:ss"}[e]}function Li(e,r){const t=e.steps.map(a=>a.field.granularity).filter(a=>!!a);if(t.length===0)return;if(!r){const a=t[0];return a?e.steps.find(s=>s.field.granularity===a):void 0}const n=t.indexOf(r);if(n<0)return;const o=t[n+1];return o?e.steps.find(a=>a.field.granularity===o):void 0}function Vi(e,r,t){var i,a;if(t&&t.length>0)return t[t.length-1].granularity;const n=e.baseField;if(!n)return;const o=(a=(i=r.config)==null?void 0:i.groupByColumns)==null?void 0:a.find(s=>s.id===n.id?!0:s.qualifiedFieldName&&n.qualifiedFieldName?s.qualifiedFieldName===n.qualifiedFieldName:s.name&&n.name?s.name===n.name:!1);return o==null?void 0:o.granularity}function cs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function dm(e){const r=Oi.normalizeAnalyticsCatalogDataType(e.dataType);return r==="date"||r==="datetime"}function um(e){return Oi.normalizeAnalyticsCatalogDataType(e.dataType)==="datetime"}function Tl(e,r,t,n=!0){let o=e;return r.forEach(i=>{const a=fm(i,t),s=`{{${i.id}}}`,l=n?encodeURIComponent(String(a)):String(a);o=o.replace(new RegExp(s,"g"),l)}),o}function fm(e,r){if(e.category==="identifier")switch(e.id){case"card_id":return r.cardId||"";case"frame_id":return r.frameId||"";case"sheet_id":return r.sheetId||"";default:return console.warn(`Unknown identifier parameter: ${e.id}`),""}if(e.category==="attribute"&&e.field){const t=r.clickedValues.find(n=>n.field.id===e.field.id);return t?t.value:(console.warn(`Attribute parameter "${e.id}" (field: ${e.field.id}) not found in clicked values`),"")}return console.warn(`Cannot resolve parameter: ${e.id}`),""}function pm(e){const r=[];if(!e||e.trim()==="")return r.push("URL template cannot be empty"),{valid:!1,errors:r};const t=(e.match(/\{\{/g)||[]).length,n=(e.match(/\}\}/g)||[]).length;t!==n&&r.push("Unclosed parameter placeholders ({{ or }})"),e.match(new RegExp("(?<!\\{)\\{(?!\\{)|(?<!\\})\\}(?!\\})","g"))&&r.push("Invalid placeholder syntax (use {{param_id}}, not {param_id})");const i=e.replace(/\{\{[^}]+\}\}/g,"VALUE");try{new URL(i)}catch{r.push("Invalid URL structure")}return{valid:r.length===0,errors:r}}function on(e){return typeof e=="string"&&e.trim().length>0}function Bi(e){if(!(e!=null&&e.trigger)||!(e!=null&&e.mode))return!1;switch(e.mode){case"drillDown":return on(e.hierarchyId);case"dynamicDrill":return Array.isArray(e.availableFields)&&e.availableFields.length>0;case"drillThrough":return on(e.targetDashboardId);case"drillToDetail":return on(e.targetInsightId);case"drillToURL":return on(e.urlTemplate);case"clickFilter":case"inlineDrill":case"drillUp":return!0;default:return!1}}function mm(e){return e.filter(r=>Bi(r))}function si(e,r){if(r.type==="metric")return e;if(r.type==="attribute"){const t=e.find(n=>n.field.id===r.field.id);return t?[t]:[]}return e}function $i(e,r){var o,i;const t=e.filter(a=>Bi(a));if(t.length===0)return[];const n=[];for(const a of t){if(!a.trigger)continue;const{trigger:s}=a;if(s.type==="metric"&&((o=r.metrics)!=null&&o.length)&&r.metrics[0].field.id===s.field.id){n.push(a);continue}s.type==="attribute"&&((i=r.conditions)!=null&&i.length)&&r.conditions.find(c=>c.field.id===s.field.id)&&n.push(a)}return n}function hm(e,r){const t=$i(e,r);return t.length>0?t[0]:null}function lt(e,r){if(e.sourceCardId!==r.sourceCardId||!Array.isArray(e.filterGroups)||!Array.isArray(r.filterGroups)||e.filterGroups.length!==r.filterGroups.length)return!1;const t=a=>a.filters.map(s=>({fieldId:s.field.id,value:String(s.value),operator:s.operator??"="})).sort((s,l)=>s.fieldId!==l.fieldId?s.fieldId.localeCompare(l.fieldId):s.value.localeCompare(l.value)),n=a=>a.map(t).sort((s,l)=>{const c=s.map(u=>`${u.fieldId}:${u.value}`).join("|"),d=l.map(u=>`${u.fieldId}:${u.value}`).join("|");return c.localeCompare(d)}),o=n(e.filterGroups),i=n(r.filterGroups);return o.every((a,s)=>{const l=i[s];return a.length!==l.length?!1:a.every((c,d)=>{const u=l[d];return c.fieldId===u.fieldId&&c.value===u.value&&c.operator===u.operator})})}function gm(e,r,t,n,o,i,a){var b,S,g,y,C,w,I;const s=wt(r.interactionConfig),l=$i(s,e),c=l.some(E=>E.mode==="dynamicDrill");if((l.length>1||c)&&i)return i(l,e,a),!0;const d=l.length>0?l[0]:null;if(!d)return!1;if(d&&d.mode!=="clickFilter"){const F=[{filters:d.trigger?si(e.conditions,d.trigger):e.conditions}];let T;if(d.mode==="drillToDetail")T={interactionMode:"drillToDetail",sourceCardId:r.id,filterGroups:F,metric:(b=e.metrics)==null?void 0:b[0],detailFields:d.detailFields||[],sortBy:d.sortBy,limit:d.limit,detailTitle:d.label,targetInsightId:d.targetInsightId,contextMode:d.contextMode,displayMode:d.displayMode};else if(d.mode==="drillDown"){const D=(g=(S=r.interactionConfig)==null?void 0:S.drillHierarchies)==null?void 0:g.find(R=>R.id===d.hierarchyId);if(D){const P=Ie.getState().interactionStates[r.id],O=(P==null?void 0:P.breadcrumbs)||[],L=O.length;let H;if(D.type==="date"||D.baseField){const N=Vi(D,r,O);H=Li(D,N)}else H=D.steps[L];H&&(T={interactionMode:"drillDown",sourceCardId:r.id,hierarchyId:D.id,filterGroups:F,metric:(y=e.metrics)==null?void 0:y[0],toField:H.field,granularity:H.field.granularity})}}else if(d.mode==="drillThrough")T={interactionMode:"drillThrough",sourceCardId:r.id,filterGroups:F,metric:(C=e.metrics)==null?void 0:C[0],targetDashboardId:d.targetDashboardId,contextMode:d.contextMode};else if(d.mode==="drillToURL"){const D=Tl(d.urlTemplate,d.parameters||[],{clickedValues:F.flatMap(R=>R.filters),cardId:r.id,frameId:t,sheetId:n},d.encodeParameters!==!1);try{new URL(D)}catch(R){return console.error("Invalid URL:",D,R),!1}return window.open(D,"_blank","noopener,noreferrer"),!0}else{if(d.mode==="drillUp")return Ie.getState().popInteractionStep(r.id),!0;d.mode==="dynamicDrill"&&d.drillField&&(T={interactionMode:"dynamicDrill",sourceCardId:r.id,filterGroups:F,metric:(w=e.metrics)==null?void 0:w[0],toField:d.drillField})}return T?(Ie.getState().applyInteractionEvent(r.id,T),!0):!1}if(!d||d.mode!=="clickFilter")return!1;const u=d.trigger?si(e.conditions,d.trigger):e.conditions,p={interactionMode:"clickFilter",sourceCardId:r.id,filterGroups:[{filters:u}],metric:(I=e.metrics)==null?void 0:I[0],applyToCardIds:d.applyToCardIds,excludeCardIds:d.excludeCardIds},h=o.interactionStates[r.id]??Xe(),v=h.appliedClickFilters??[];return v.some(E=>lt(E,p))&&v.length===1?o.setInteractionState(r.id,{...h,appliedClickFilters:[]}):o.setInteractionState(r.id,{...h,appliedClickFilters:[p]}),!0}function ym(e,r,t,n){const o=Ie(),i=Il();return{handlePointerInteraction:({context:l,gesture:c,position:d,modifierKeys:u})=>{var y;const h=wt(e.interactionConfig).some(C=>Bi(C));if(c==="leftClick"&&!(u!=null&&u.shift)&&h){gm(l,e,r,t,o,n,d);return}if(i.setContext({type:c,cardId:e.id,conditions:l.conditions,metric:(y=l.metrics)==null?void 0:y[0],anchorPosition:d}),c!=="leftClick"||!h)return;const v=nm({intent:{mode:"clickFilter"},card:e});if(!v)return;const m=o.interactionStates[e.id]??Xe(),b=m.appliedClickFilters??[],g=b.some(C=>lt(C,v))?b.filter(C=>!lt(C,v)):[...b,v];o.setInteractionState(e.id,{...m,appliedClickFilters:g})},applySelectedInteraction:(l,c)=>{var h,v,m,b,S,g,y;const u=[{filters:l.trigger?si(c.conditions,l.trigger):c.conditions}];let p;if(l.mode==="clickFilter"){const C=l.applyToCardIds?[...l.applyToCardIds,e.id]:void 0;p={interactionMode:"clickFilter",sourceCardId:e.id,filterGroups:u,metric:(h=c.metrics)==null?void 0:h[0],applyToCardIds:C,excludeCardIds:l.excludeCardIds,filterSourceCard:!0}}else if(l.mode==="drillToDetail")p={interactionMode:"drillToDetail",sourceCardId:e.id,filterGroups:u,metric:(v=c.metrics)==null?void 0:v[0],detailFields:l.detailFields||[],sortBy:l.sortBy,limit:l.limit,detailTitle:l.label,targetInsightId:l.targetInsightId,contextMode:l.contextMode,displayMode:l.displayMode};else if(l.mode==="drillDown"){const C=(b=(m=e.interactionConfig)==null?void 0:m.drillHierarchies)==null?void 0:b.find(w=>w.id===l.hierarchyId);if(C){const w=o.interactionStates[e.id],I=(w==null?void 0:w.breadcrumbs)||[],E=I.length;let F;if(C.type==="date"||C.baseField){const T=Vi(C,e,I);F=Li(C,T)}else F=C.steps[E];F&&(p={interactionMode:"drillDown",sourceCardId:e.id,hierarchyId:C.id,filterGroups:u,metric:(S=c.metrics)==null?void 0:S[0],toField:F.field,granularity:F.field.granularity})}}else if(l.mode==="drillThrough")p={interactionMode:"drillThrough",sourceCardId:e.id,filterGroups:u,metric:(g=c.metrics)==null?void 0:g[0],targetDashboardId:l.targetDashboardId,contextMode:l.contextMode};else if(l.mode==="drillToURL"){const C=Tl(l.urlTemplate,l.parameters||[],{clickedValues:u.flatMap(w=>w.filters),cardId:e.id,frameId:r,sheetId:t},l.encodeParameters!==!1);try{new URL(C)}catch(w){console.error("Invalid URL:",C,w);return}window.open(C,"_blank","noopener,noreferrer");return}else if(l.mode==="drillUp"){o.popInteractionStep(e.id);return}else l.mode==="dynamicDrill"&&(l.drillField?p={interactionMode:"dynamicDrill",sourceCardId:e.id,filterGroups:u,metric:(y=c.metrics)==null?void 0:y[0],toField:l.drillField}:console.warn("⚠️ dynamicDrill interaction missing drillField!",l));p&&o.applyInteractionEvent(e.id,p)}}}const It=_t()(wl((e,r)=>({clearBlurCallbacks:{},registerClearBlurCallback:(t,n)=>{e(o=>({clearBlurCallbacks:{...o.clearBlurCallbacks,[t]:n}}))},clearBlurForCard:t=>{const o=r().clearBlurCallbacks[t];if(o)try{o()}catch(i){console.warn(`Failed to clear blur for card ${t}:`,i),e(a=>{const{[t]:s,...l}=a.clearBlurCallbacks;return{clearBlurCallbacks:l}})}},clearAllBlur:()=>{const t=r(),n=[];Object.entries(t.clearBlurCallbacks).forEach(([o,i])=>{if(i)try{i()}catch(a){console.warn(`Failed to clear blur for card ${o}:`,a),n.push(o)}}),n.length>0&&e(o=>{const i={...o.clearBlurCallbacks};return n.forEach(a=>{delete i[a]}),{clearBlurCallbacks:i}})},unregisterCard:t=>{e(n=>{const{[t]:o,...i}=n.clearBlurCallbacks;return{clearBlurCallbacks:i}})},resetStore:()=>{const t=r();Object.values(t.clearBlurCallbacks).forEach(n=>{if(n)try{n()}catch{}}),e({clearBlurCallbacks:{}})}}),{name:"chartjs-store"}));et.subscribe("dashboard:load",()=>{It.getState().resetStore()});et.subscribe("dashboard:unload",()=>{It.getState().resetStore()});const Fl=["bar","kpi","horizontalBar","line","combo","stackedBar","stackedLine","table","custom"];function bm(e,r){const t=e.metricColumns||[];if(t.length===0)return e;const n=new Set(["previous_period","same_period_last_year","start_vs_end"]),i=(e.groupByColumns||[]).some(u=>Oe(u.dataType||"")==="date"),a=Fl.includes(r),s=r==="kpi"||r==="table",l=u=>{var p;return(p=u.parameters)!=null&&p.windowTransform?{...u,parameters:{...u.parameters,windowTransform:void 0}}:u};let c=!1;const d=t.map(u=>{var v;const p=u.comparisonType??"none";if(p==="none")return u;let h=u;return(v=h.parameters)!=null&&v.windowTransform&&(c=!0,h=l(h)),a?p==="target"&&!s?(c=!0,{...h,comparisonType:"none",targetValue:void 0}):n.has(p)&&!i?(c=!0,{...h,comparisonType:"none"}):h:(c=!0,{...h,comparisonType:"none"})});return c?{...e,metricColumns:d}:e}const ct="__DRILL_CONTEXT__";function Xe(){return{breadcrumbs:[],hierarchyId:void 0,appliedClickFilters:[]}}const Ie=_t()(wl(e=>({interactionStates:{},replacedCards:{},pendingDrillThrough:null,setInteractionState:(r,t)=>{e(n=>({interactionStates:{...n.interactionStates,[r]:t}}))},resetInteractionState:r=>{e(t=>({interactionStates:{...t.interactionStates,[r]:Xe()}}))},toggleClickFilter:(r,t)=>{e(n=>{const o=n.interactionStates[r]??Xe(),i=o.appliedClickFilters??[],a=i.some(l=>lt(l,t)),s=a?i.filter(l=>!lt(l,t)):[...i,t];return a&&s.filter(c=>c.sourceCardId===t.sourceCardId).length===0&&It.getState().clearBlurForCard(t.sourceCardId),{interactionStates:{...n.interactionStates,[r]:{...o,appliedClickFilters:s}}}})},removeClickFiltersByValue:(r,t,n)=>{e(o=>{const i=o.interactionStates[r]??Xe(),a=i.appliedClickFilters??[],s=a.filter(d=>d.filterGroups.some(u=>u.filters.some(p=>{const h=p.field.label,v=p.field.name;return(h===t||v===t)&&p.value===n}))),l=new Set,c=a.filter(d=>{const u=s.some(p=>lt(d,p));return u&&l.add(d.sourceCardId),!u});return l.forEach(d=>{const u=o.interactionStates[d],h=((u==null?void 0:u.appliedClickFilters)??[]).filter(m=>!s.some(b=>lt(m,b)));let v=!1;Object.entries(o.interactionStates).forEach(([m,b])=>{m===d?h.length>0&&(v=!0):((b==null?void 0:b.appliedClickFilters)??[]).some(y=>y.sourceCardId===d)&&(v=!0)}),v||It.getState().clearBlurForCard(d),o.interactionStates[d]={...u,appliedClickFilters:h}}),{interactionStates:{...o.interactionStates,[r]:{...i,appliedClickFilters:c}}}})},applyInteractionEvent:(r,t,n=!1)=>{e(o=>{var s;const i=o.interactionStates[r]??Xe(),a=n?Xe():i;if(t.interactionMode==="clickFilter"){const l=n?[t]:[...a.appliedClickFilters??[],t];return{interactionStates:{...o.interactionStates,[r]:{...a,appliedClickFilters:l}}}}if(t.interactionMode==="drillDown"||t.interactionMode==="dynamicDrill"){if(!((s=t.filterGroups)!=null&&s.length))return o;const l={sourceFilterGroups:t.filterGroups,toField:t.toField,granularity:t.granularity,timeComparison:t.timeComparison,metric:t.metric};return{interactionStates:{...o.interactionStates,[r]:{...i,hierarchyId:t.interactionMode==="drillDown"?t.hierarchyId:i.hierarchyId,breadcrumbs:[...i.breadcrumbs??[],l]}}}}return t.interactionMode==="drillToDetail"||t.interactionMode==="drillThrough"||t.interactionMode==="drillToURL"||t.interactionMode==="inlineDrill"?{interactionStates:{...o.interactionStates,[r]:{...i,lastInteractionEvent:t}}}:o})},popInteractionStep:r=>{e(t=>{var i;const n=t.interactionStates[r];if(!((i=n==null?void 0:n.breadcrumbs)!=null&&i.length))return t;const o=n.breadcrumbs.slice(0,-1);return{interactionStates:{...t.interactionStates,[r]:{...n,breadcrumbs:o,hierarchyId:o.length===0?void 0:n.hierarchyId}}}})},clearLastInteractionEvent:r=>{e(t=>{const n=t.interactionStates[r];return!n||!n.lastInteractionEvent?t:{interactionStates:{...t.interactionStates,[r]:{...n,lastInteractionEvent:void 0}}}})},replaceCardWithInsight:(r,t,n,o)=>{e(i=>({replacedCards:{...i.replacedCards,[r]:{insightId:t,filters:n,contextMode:o}}}))},restoreCard:r=>{e(t=>{const{[r]:n,...o}=t.replacedCards;return{replacedCards:o}})},clearAllClickFilters:()=>{e(r=>{const t={...r.interactionStates};for(const n in t)n!==ct&&(t[n]={...t[n],appliedClickFilters:[]});return It.getState().clearAllBlur(),{interactionStates:t}})},setPendingDrillThrough:r=>{e({pendingDrillThrough:r})},clearPendingDrillThrough:()=>{e({pendingDrillThrough:null})},resetAllInteractionStates:()=>{It.getState().clearAllBlur(),e({interactionStates:{},replacedCards:{},pendingDrillThrough:null})}}),{name:"interaction-store"}));et.subscribe("dashboard:load",()=>{Ie.getState().resetAllInteractionStates()});et.subscribe("dashboard:unload",()=>{Ie.getState().resetAllInteractionStates()});function ji(e,r){return Object.entries(r).filter(([n])=>n!==ct).flatMap(([,n])=>(n==null?void 0:n.appliedClickFilters)??[]).filter(n=>{var o,i;return n.sourceCardId===e&&!n.filterSourceCard?!1:(o=n.applyToCardIds)!=null&&o.length?n.applyToCardIds.includes(e):(i=n.excludeCardIds)!=null&&i.length?!n.excludeCardIds.includes(e):!0})}const vm=e=>Ie(Hn(r=>ji(e,r.interactionStates)));function $r(e,r,t){var v,m;const n=e.id,o=(v=e.config)==null?void 0:v.filters,i=ji(n,r),a=r[ct],c=[...t&&(a==null?void 0:a.targetDashboardId)===t&&(a==null?void 0:a.contextMode)!=="none"?(a==null?void 0:a.appliedClickFilters)||[]:[],...i],d=em(c),p=(((m=r[n])==null?void 0:m.breadcrumbs)??[]).map((b,S)=>({id:`breadcrumb-${S}`,logicalOperator:"OR",negate:!1,conditions:[],groups:b.sourceFilterGroups.map((g,y)=>({id:`breadcrumb-${S}-group-${y}`,logicalOperator:"AND",negate:!1,conditions:g.filters.map(C=>({id:`${C.field.id}-${C.value}`,field:C.field,operator:"=",value:C.value})),groups:[]}))})),h=p.length>0?{id:`${n}-drill-root`,logicalOperator:"AND",negate:!1,conditions:[],groups:p}:void 0;return tm([o,d,h])}function Cm(e,r){return e.name===r.name&&e.qualifiedEntityName===r.qualifiedEntityName}function Al(e,r,t){var c,d,u,p;const n=r[e.id],o=(c=n==null?void 0:n.breadcrumbs)==null?void 0:c.slice(-1)[0],i=o!=null&&o.toField?[o.toField]:(d=e.config)==null?void 0:d.groupByColumns,a=o!=null&&o.toField&&((u=e.config)!=null&&u.sortByColumns)?e.config.sortByColumns.map(h=>{var m,b;const v=(b=(m=e.config)==null?void 0:m.groupByColumns)==null?void 0:b[0];return v&&Cm(h,v)?{...o.toField,role:"sortby",direction:h.direction}:h}):(p=e.config)==null?void 0:p.sortByColumns,s=t??$r(e,r),l={...e.config,groupByColumns:i,sortByColumns:a,filters:s};return bm(l,e.type)}function Sm(e){const r=Ie(o=>o.interactionStates),t=Ue(o=>{var i;return(i=o.dashboard)==null?void 0:i.id}),n=$r(e,r,t);return Al(e,r,n)}function Dl(e,r,t){const n=t??$r(e,r);return rm(n)}function xm(e){const r=Ie(i=>i.interactionStates),t=Ue(i=>{var a;return(a=i.dashboard)==null?void 0:a.id}),n=$r(e,r,t);return Dl(e,r,n)}var Rl={},Pl={},Ui={exports:{}},U=String,_l=function(){return{isColorSupported:!1,reset:U,bold:U,dim:U,italic:U,underline:U,inverse:U,hidden:U,strikethrough:U,black:U,red:U,green:U,yellow:U,blue:U,magenta:U,cyan:U,white:U,gray:U,bgBlack:U,bgRed:U,bgGreen:U,bgYellow:U,bgBlue:U,bgMagenta:U,bgCyan:U,bgWhite:U,blackBright:U,redBright:U,greenBright:U,yellowBright:U,blueBright:U,magentaBright:U,cyanBright:U,whiteBright:U,bgBlackBright:U,bgRedBright:U,bgGreenBright:U,bgYellowBright:U,bgBlueBright:U,bgMagentaBright:U,bgCyanBright:U,bgWhiteBright:U}};Ui.exports=_l();Ui.exports.createColors=_l;var wm=Ui.exports;(function(e){Object.defineProperty(e,"__esModule",{value:!0});function r(l,c){for(var d in c)Object.defineProperty(l,d,{enumerable:!0,get:c[d]})}r(e,{dim:function(){return a},default:function(){return s}});const t=n(wm);function n(l){return l&&l.__esModule?l:{default:l}}let o=new Set;function i(l,c,d){typeof process<"u"&&process.env.JEST_WORKER_ID||d&&o.has(d)||(d&&o.add(d),console.warn(""),c.forEach(u=>console.warn(l,"-",u)))}function a(l){return t.default.dim(l)}const s={info(l,c){i(t.default.bold(t.default.cyan("info")),...Array.isArray(l)?[l]:[c,l])},warn(l,c){i(t.default.bold(t.default.yellow("warn")),...Array.isArray(l)?[l]:[c,l])},risk(l,c){i(t.default.bold(t.default.magenta("risk")),...Array.isArray(l)?[l]:[c,l])}}})(Pl);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});const r=t(Pl);function t(i){return i&&i.__esModule?i:{default:i}}function n({version:i,from:a,to:s}){r.default.warn(`${a}-color-renamed`,[`As of Tailwind CSS ${i}, \`${a}\` has been renamed to \`${s}\`.`,"Update your configuration file to silence this warning."])}const o={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return n({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return n({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return n({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return n({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return n({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}})(Rl);let Ao=Rl;var Im=(Ao.__esModule?Ao:{default:Ao}).default;const re=qn(Im),Em=".semaphor-scope";function Tm(e){return e?e.closest(Em):null}function Fm(e){if(!e)return"light";const r=e.dataset.semaphorTheme;return r==="dark"||r==="light"?r:e.classList.contains("dark")?"dark":"light"}const Am=!1,Ol=["table","view","materialized view"],Dm=["_forecast"],Tn="dm",Rm="semaphor_calculated_fields",Pm="calculated_fields",_m=[{locale:"en-US",currency:"USD",currencyName:"US Dollar"},{locale:"en-GB",currency:"GBP",currencyName:"British Pound"},{locale:"en-CA",currency:"CAD",currencyName:"Canadian Dollar"},{locale:"en-AU",currency:"AUD",currencyName:"Australian Dollar"},{locale:"en-IN",currency:"INR",currencyName:"Indian Rupee"},{locale:"ja-JP",currency:"JPY",currencyName:"Japanese Yen"},{locale:"de-DE",currency:"EUR",currencyName:"Germany (Eurozone)"},{locale:"fr-FR",currency:"EUR",currencyName:"France (Eurozone)"},{locale:"es-ES",currency:"EUR",currencyName:"Spain (Eurozone)"},{locale:"it-IT",currency:"EUR",currencyName:"Italy (Eurozone)"},{locale:"fi-FI",currency:"EUR",currencyName:"Finland (Eurozone)"},{locale:"nl-NL",currency:"EUR",currencyName:"Netherlands (Eurozone)"},{locale:"zh-CN",currency:"CNY",currencyName:"Chinese Yuan"},{locale:"ru-RU",currency:"RUB",currencyName:"Russian Ruble"},{locale:"pt-BR",currency:"BRL",currencyName:"Brazilian Real"},{locale:"ko-KR",currency:"KRW",currencyName:"South Korean Won"},{locale:"ar-SA",currency:"SAR",currencyName:"Saudi Riyal"},{locale:"sv-SE",currency:"SEK",currencyName:"Swedish Krona"},{locale:"no-NO",currency:"NOK",currencyName:"Norwegian Krone"},{locale:"da-DK",currency:"DKK",currencyName:"Danish Krone"},{locale:"pl-PL",currency:"PLN",currencyName:"Polish Zloty"},{locale:"tr-TR",currency:"TRY",currencyName:"Turkish Lira"},{locale:"he-IL",currency:"ILS",currencyName:"Israeli Shekel"},{locale:"th-TH",currency:"THB",currencyName:"Thai Baht"},{locale:"vi-VN",currency:"VND",currencyName:"Vietnamese Dong"},{locale:"id-ID",currency:"IDR",currencyName:"Indonesian Rupiah"},{locale:"mx-MX",currency:"MXN",currencyName:"Mexican Peso"},{locale:"za-ZA",currency:"ZAR",currencyName:"South African Rand"},{locale:"sg-SG",currency:"SGD",currencyName:"Singapore Dollar"},{locale:"hk-HK",currency:"HKD",currencyName:"Hong Kong Dollar"},{locale:"ch-CH",currency:"CHF",currencyName:"Swiss Franc"},{locale:"my-MY",currency:"MYR",currencyName:"Malaysian Ringgit"},{locale:"ph-PH",currency:"PHP",currencyName:"Philippine Peso"},{locale:"eg-EG",currency:"EGP",currencyName:"Egyptian Pound"},{locale:"nz-NZ",currency:"NZD",currencyName:"New Zealand Dollar"}],zi=["lg","md","sm","xs","xxs"],li={default:{dashboardPanel:"",dashboardTabsContainer:"",gridLayout:{className:""},chart:{font:{family:dt.SEMAPHOR_DEFAULT_FONT_FAMILY},dataset:{backgroundColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]],borderColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]]},options:{interaction:{mode:"index"},plugins:{datalabels:{display:!1,color:ci},title:{display:!0},tooltip:{backgroundColor:"#fff",bodyColor:"#000",borderWidth:.25,titleColor:"#000",borderColor:"rgb(128,131,139)",cornerRadius:4,usePointStyle:!0,pointStyle:"rectRounded",boxPadding:4},legend:{position:"top",align:"center",maxHeight:0,labels:{useBorderRadius:!0,borderRadius:2}}},scales:{y:{grid:{display:!0},title:{display:!0,text:""},beginAtZero:!0,ticks:{precision:0}},x:{grid:{display:!0},title:{display:!0}}},layout:{padding:{top:-40}},borderRadius:2,responsive:!0,maintainAspectRatio:!1}}},dark:{chart:{dataset:{datalables:{color:ci},backgroundColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]],borderColor:[re.teal[500],re.teal[300],re.gray[700],re.gray[500],re.gray[300]]},options:{plugins:{tooltip:{backgroundColor:"#000",bodyColor:"#fff",borderWidth:.25,titleColor:"#fff",borderColor:"rgb(128,131,139)",cornerRadius:2,boxPadding:4}},datalabels:{display:!1},scales:{x:{grid:{display:!0,color:re.slate[800]}},y:{grid:{display:!0,color:re.slate[800]}}}}}}};function ci(e){var n,o,i,a,s,l,c,d,u;const r=(s=(a=(i=(o=(n=e==null?void 0:e.chart)==null?void 0:n.config)==null?void 0:o._config)==null?void 0:i.options)==null?void 0:a.plugins)==null?void 0:s.datalabels;let t=(l=e==null?void 0:e.dataset)==null?void 0:l.backgroundColor;return(r==null?void 0:r.align)==="end"&&(r==null?void 0:r.anchor)==="end"&&(t=mn((c=e==null?void 0:e.chart)==null?void 0:c.canvas)),(r==null?void 0:r.align)==="start"&&(r==null?void 0:r.anchor)==="start"&&(t=mn((d=e==null?void 0:e.chart)==null?void 0:d.canvas)),Ml(t,{baseColor:mn((u=e==null?void 0:e.chart)==null?void 0:u.canvas)})}function mn(e){if(typeof document<"u"){const r=Tm(e);if(r){const n=window.getComputedStyle(r).getPropertyValue("--semaphor-background").trim();return n?`hsl(${n})`:Fm(r)==="dark"?"#000000":"#FFFFFF"}const t=document.documentElement;if(t.classList.contains("dark"))return"#000000";if(t.classList.contains("light"))return"#FFFFFF"}return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"#000000":"#FFFFFF"}function Ml(e,r={}){let t=0,n=0,o=0,i=0;const a=r.baseColor?dt.parseRuntimeColor(r.baseColor):null,s=p=>{if(!p)return re.gray[500];const h=dt.parseRuntimeColor(p);if(!h)return re.gray[500];const v=Nl(h,a);t+=v.r,n+=v.g,o+=v.b,i++};if(Array.isArray(e)?e.forEach(p=>{s(p)}):s(e),i===0)return re.gray[500];const l=t/i,c=n/i,d=o/i;return(l*299+c*587+d*114)/1e3>=180?"black":"white"}function Nl(e,r){if(e.alpha>=1)return e;const t=r?Nl(r,null):Om;return{r:e.r*e.alpha+t.r*(1-e.alpha),g:e.g*e.alpha+t.g*(1-e.alpha),b:e.b*e.alpha+t.b*(1-e.alpha)}}const Om={r:255,g:255,b:255};function Mm({capabilities:e,database:r,schema:t,table:n}){const o=e.prefixLevels,i=[];for(const a of o)a==="database"&&r&&i.push(r),a==="schema"&&t&&i.push(t),a==="table"&&i.push(n);return i.join(".")}function qi(e){return e.startsWith('"')&&e.endsWith('"')?e:e.match(/[A-Z]/)?`"${e}"`:e}function Wn(e){return Oe(e)==="string"}function Gn(e){return Oe(e)==="number"}function Hi(e){return Oe(e)==="date"}function Wi(e){return Oe(e)==="boolean"}function Nm(e,r,t,n,o,i,a){const{measures:s,dimensions:l}=e,c=s==null?void 0:s.map(v=>`${v.calc}(${v.name}) as ${v.calc}_${v.name.replace(/"/g,"")}`).join(", "),d=(l==null?void 0:l.join(", "))||"";let u="";const h=(n?`${Tn}.${n}`:a||Gi({schemaName:r,tableName:t,databaseName:o,capabilities:i})).split(".").map(v=>qi(v)).join(".");if(c&&d)return u=`SELECT ${d}, COUNT(*) as count, ${c} FROM ${h} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,u;if(!c&&d)return u=`SELECT ${d}, COUNT(*) as count FROM ${h} GROUP BY ${d} ORDER BY ${d} DESC LIMIT 100`,u;if(c&&!d)return u=`SELECT ${c} FROM ${h} LIMIT 100`,u}function km(e,r,t="AVG"){var i,a,s,l;let n={};const o=qi(e.column_name);return Wn(e.data_type)&&(((i=r.dimensions)==null?void 0:i.includes(o))?n={...r,dimensions:(a=r.dimensions)==null?void 0:a.filter(d=>d!==o)}:n={...r,dimensions:[...r.dimensions||[],o]}),Gn(e.data_type)&&(((s=r.measures)==null?void 0:s.some(d=>d.name===o&&d.calc===t))?n={...r,measures:(l=r.measures)==null?void 0:l.filter(d=>!(d.name===o&&d.calc===t))}:n={...r,measures:[...r.measures||[],{name:o,calc:t||"SUM"}]}),n}function Lm(e){return Wn(e.dataType)?"string":Gn(e.dataType)?"number":Hi(e.dataType)?"date":Wi(e.dataType)?"boolean":"string"}function Vm(e){let r;const t=e.data_type.toLowerCase();return Wn(t)?r="T":Gn(t)?r="#":Hi(t)?r="D":Wi(t)?r="B":r="?",r}function Bm(e,r){const{dimensions:t,measures:n}=r,o=t==null?void 0:t.includes(e.column_name),i=n==null?void 0:n.some(a=>a.name===e.column_name);return o||i}function kl(e){return e?e!=null&&e.startsWith(`${Tn}.`)?e:`${Tn}.${e}`:""}function $m({schemaName:e,tableName:r,databaseName:t,connectionType:n}){return n==="S3"||n==="API"?r:n==="S3Tables"?`${t}.${e}.${r}`:e?`${e}.${r}`:r}function jm({schemaName:e,tableName:r,modelName:t,databaseName:n,capabilities:o,connectionType:i}){let a;o?a=Gi({schemaName:e,tableName:r,databaseName:n,capabilities:o}):a=$m({schemaName:e,tableName:r,databaseName:n,connectionType:i}),t&&(a=kl(t));let s=a;return(c=>/[A-Z]/.test(c))(r)&&(s=s.split(".").map(d=>`"${d}"`).join(".")),s}function Gi({schemaName:e,tableName:r,databaseName:t,capabilities:n}){return Mm({capabilities:n,database:t,schema:e||void 0,table:r})}const Um=e=>{const r=new Date(e);return!isNaN(r.getTime())},zm=e=>!isNaN(Number(e))&&!isNaN(parseFloat(e)),Ll=e=>{let r;return typeof e=="number"?r="number":typeof e=="string"?Um(e)?r="date":zm(e)?r="number":r="string":typeof e=="boolean"?r="boolean":e instanceof Date?r="date":r="unknown",r};function qm({get:e,dataPoint:r,card:t}){var p;const{addOrUpdateFilterValue:n,addFilteringCard:o,removeFilterValues:i,replaceFilterValue:a,removeFilteringCard:s}=e().actions,l=e().filteringCards,{columnName:c,columnValue:d}=r,u={filterId:t.id,connectionId:t==null?void 0:t.connectionId,tableName:t.lastSelectedTable,name:c,expression:(p=t.preferences)==null?void 0:p.filterOnClickField,valueType:Ll(d),operation:"=",values:[d]};if(l!=null&&l.find(h=>h.id===t.id)){const h=t.id;if(d==null){s(t),i(h);return}else a(u)}o(t),n(u)}const Fn={lg:48,md:36,sm:24,xs:12,xxs:6},yr=[...zi].sort((e,r)=>Fn[e]-Fn[r]),Hm={initialHeight:35,minH:10},Wm={initialHeight:8,minH:4};function Gm(e){var r,t;if(e)return((r=e.cards)==null?void 0:r.find(n=>n.id===e.activeCardId))||((t=e.cards)==null?void 0:t[0])}function di(e){var r;return((r=Gm(e))==null?void 0:r.type)==="text"?"text":"default"}function Vl(e){return di(e)==="text"?Wm:Hm}function Ym(e,r){return e.x<r.x+r.w&&e.x+e.w>r.x}function Km(e){const r=[...e].sort((n,o)=>n.y!==o.y?n.y-o.y:n.x-o.x),t=[];for(const n of r){if(n.static){t.push({...n});continue}const o=t.reduce((i,a)=>Ym(n,a)?Math.max(i,a.y+a.h):i,0);t.push({...n,y:o})}return t}function Xm({layouts:e,previousFrame:r,nextFrame:t}){if(!e||di(r)===di(t))return e;const n=Vl(t);let o=!1;const i={};return Object.keys(e).forEach(a=>{const s=e[a];if(!s)return;let l=!1;const c=s.map(d=>d.i!==t.id||d.h===n.initialHeight&&d.minH===n.minH?d:(o=!0,l=!0,{...d,h:n.initialHeight,minH:n.minH}));i[a]=l?Km(c):c}),o?i:e}function Zm(e,r){const t=Math.max(1,Math.min(e.w,r)),n=e.minW==null?void 0:Math.max(1,Math.min(e.minW,t)),o=e.maxW==null?void 0:Math.max(t,Math.min(e.maxW,r));return{...e,x:Math.max(0,Math.min(e.x,r-t)),y:Math.max(0,e.y),w:t,...n==null?{}:{minW:n},...o==null?{}:{maxW:o}}}function Qm(e,r){return e.x<r.x+r.w&&e.x+e.w>r.x&&e.y<r.y+r.h&&e.y+e.h>r.y}function ds(e,r){return!r.some(t=>Qm(e,t))}function Jm(e,r,t){const n=e.x+e.w;if(n+e.w<=t){const l={...e,x:n,y:e.y};if(ds(l,r))return{x:n,y:e.y}}const o=Math.max(t-e.w,0),i=e.y+e.h,a=r.map(l=>l.y+l.h).filter(l=>l>i).sort((l,c)=>l-c),s=[i,...a];for(const l of s)for(let c=0;c<=o;c+=1){const d={...e,x:c,y:l};if(ds(d,r))return{x:c,y:l}}return{x:0,y:i}}function eh(e,r,t){var i,a,s;const n=(i=e[t])==null?void 0:i.find(l=>l.i===r);if(n)return n;const o=yr.indexOf(t);if(o!==-1){for(let l=o+1;l<yr.length;l+=1){const c=yr[l],d=(a=e[c])==null?void 0:a.find(u=>u.i===r);if(d)return d}for(let l=o-1;l>=0;l-=1){const c=yr[l],d=(s=e[c])==null?void 0:s.find(u=>u.i===r);if(d)return d}}}function us({id:e,layouts:r,initialHeight:t,y:n,x:o,w:i,minH:a,frame:s}){const l=Vl(s);return gp.createFrameLayouts({id:e,layouts:r,initialHeight:t??l.initialHeight,y:n,x:o,w:i,minH:a??l.minH})}function fs(e,r){if(!r)return;const t={...r};return zi.forEach(n=>{t[n]&&(t[n]=t[n].filter(o=>o.i!==e))}),t}function th({sourceId:e,duplicatedId:r,layouts:t}){if(!t||!yr.some(i=>{var a;return(a=t[i])==null?void 0:a.some(s=>s.i===e)}))return;const o={...t};return Object.keys(o).forEach(i=>{const a=o[i];if(!a)return;const s=[...a],l=eh(t,e,i);if(!l)return;const c=Zm(l,Fn[i]),d=s.filter(h=>h.i!==e&&h.i!==r),{x:u,y:p}=Jm(c,d,Fn[i]);s.push({...c,i:r,x:u,y:p}),o[i]=s}),o}function rh(e){const r=Ue.getState().dashboard.globalCacheConfig,{card:t,filter:n}=e;return r}const nh=["new","edit","delete","create","update","remove"];function Yi(e){const r=[],t=e.sheets||[];for(const n of t){for(const o of n.cards||[])r.push({card:o,sheet:n});for(const o of n.frames||[])for(const i of o.cards||[])r.push({card:i,sheet:n})}return r}function Ki(e){return Yi(e).map(r=>r.card)}function ps(e,r,t){if(t&&r===t)return!0;const n=e.sheets||[];for(const o of n){const i=o.cards||[];for(const s of i)if(s.id===r)return!1;const a=o.frames||[];for(const s of a){const l=s.cards||[];for(const c of l)if(c.id===r)return!1}}return!0}function oh(e){return!e||e.trim().length===0?{isValid:!1,error:"Card ID cannot be empty"}:e.length<3?{isValid:!1,error:"Card ID must be at least 3 characters"}:e.length>50?{isValid:!1,error:"Card ID must be less than 50 characters"}:/^[a-zA-Z0-9-_]+$/.test(e)?/^[a-zA-Z0-9]/.test(e)?nh.includes(e.toLowerCase())?{isValid:!1,error:`"${e}" is a reserved keyword and cannot be used`}:{isValid:!0}:{isValid:!1,error:"Card ID must start with a letter or number"}:{isValid:!1,error:"Card ID can only contain letters, numbers, hyphens, and underscores"}}function ih(e,r){var t;return(t=Bl(e,r))==null?void 0:t.card}function Bl(e,r){for(const t of Yi(e))if(t.card.id===r)return t}function ah(e,r){for(const t of e.sheets||[])for(const n of t.frames||[])for(const o of n.cards||[])if(o.id===r)return{card:o,sheet:t}}function $l(e,r){const t=we.toDate(e);return isNaN(r)?we.constructFrom(e,NaN):(r&&t.setDate(t.getDate()+r),t)}function Xi(e,r){const t=we.toDate(e);if(isNaN(r))return we.constructFrom(e,NaN);if(!r)return t;const n=t.getDate(),o=we.constructFrom(e,t.getTime());o.setMonth(t.getMonth()+r+1,0);const i=o.getDate();return n>=i?o:(t.setFullYear(o.getFullYear(),o.getMonth(),n),t)}function sh(e,r){const t=r*3;return Xi(e,t)}function lh(e,r){const t=r*7;return $l(e,t)}function ch(e,r){return Xi(e,r*12)}function dh(e,r){return $l(e,-r)}function uh(e,r){return Xi(e,-r)}function fh(e,r){return sh(e,-r)}function ph(e,r){return lh(e,-r)}function mh(e,r){return ch(e,-r)}const yt=(e,r)=>e.toString().padStart(r,"0"),Ot=(e,r)=>{const t=we.formatInTimeZone(e,r,"yyyy-MM-dd"),[n,o,i]=t.split("-").map(a=>Number(a));return{year:n,month:o,day:i}},Mt=(e,r)=>{const{year:t,month:n,day:o,hours:i=0,minutes:a=0,seconds:s=0,milliseconds:l=0}=e,c=`${yt(t,4)}-${yt(n,2)}-${yt(o,2)}T${yt(i,2)}:${yt(a,2)}:${yt(s,2)}.${yt(l,3)}`;return we.fromZonedTime(c,r)},Yn=(e,r)=>new Date(Date.UTC(e,r,0)).getUTCDate(),Kn=(e,r)=>{if(r===0)return e;const t=new Date(Date.UTC(e.year,e.month-1,e.day));return t.setUTCDate(t.getUTCDate()+r),{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate()}},hh=(e,r)=>r===0?e:Kn(e,r*7),jl=(e,r)=>{if(r===0)return e;const t=new Date(Date.UTC(e.year,e.month-1,1));t.setUTCMonth(t.getUTCMonth()+r);const n=t.getUTCFullYear(),o=t.getUTCMonth()+1,i=Math.min(e.day,Yn(n,o));return{year:n,month:o,day:i}},gh=(e,r)=>jl(e,r*3),yh=(e,r)=>{if(r===0)return e;const t=e.year+r,n=Math.min(e.day,Yn(t,e.month));return{year:t,month:e.month,day:n}},Ul=e=>Math.floor((e-1)/3)*3+1,Ct=(e,r)=>{const t=Ot(e,r);return Mt(t,r)},st=(e,r)=>{const t=Ot(e,r);return Mt({...t,hours:23,minutes:59,seconds:59,milliseconds:999},r)},Zi=(e,r,t)=>{const n=Ot(e,r);return Mt(t(n),r)},Qi=(e,r,t)=>{const n=Ot(e,r),o=Mt(t(n),r);return st(o,r)},Yt=(e,r,t=1)=>{const n=typeof t=="object"?t.weekStart:t,i=(Number(we.formatInTimeZone(e,r,"i"))-n+7)%7,a=Ot(e,r),s=i===0?a:Kn(a,-i);return Mt(s,r)},br=(e,r,t=1)=>{const n=typeof t=="object"?t.weekStart:t,o=Yt(e,r,n),i=Ot(o,r),a=Kn(i,6),s=Mt(a,r);return st(s,r)},vr=(e,r)=>Zi(e,r,t=>({year:t.year,month:t.month,day:1})),Cr=(e,r)=>Qi(e,r,t=>({year:t.year,month:t.month,day:Yn(t.year,t.month)})),Sr=(e,r)=>Zi(e,r,t=>({year:t.year,month:Ul(t.month),day:1})),xr=(e,r)=>Qi(e,r,t=>{const o=Ul(t.month)+2;return{year:t.year,month:o,day:Yn(t.year,o)}}),wr=(e,r)=>Zi(e,r,t=>({year:t.year,month:1,day:1})),Ir=(e,r)=>Qi(e,r,t=>({year:t.year,month:12,day:31})),jr=(e,r,t,n)=>{if(n===0)return Ct(e,r);const o=Ot(e,r);let i=o;switch(t){case"day":i=Kn(o,n);break;case"week":i=hh(o,n);break;case"month":i=jl(o,n);break;case"quarter":i=gh(o,n);break;case"year":i=yh(o,n);break}return Mt(i,r)},Ut=(e,r,t)=>jr(e,r,"day",t),zt=(e,r,t)=>jr(e,r,"week",t),qt=(e,r,t)=>jr(e,r,"month",t),Ht=(e,r,t)=>jr(e,r,"quarter",t),Wt=(e,r,t)=>jr(e,r,"year",t),bh=e=>e?typeof e=="object"&&"tz"in e?e.tz:e:Intl.DateTimeFormat().resolvedOptions().timeZone,vh=new Set(["last","this","previous","between"]),ms=e=>`${e}`.padStart(2,"0"),Xn=e=>{if(!e||typeof e!="object")return!1;const r=e.mode;return typeof r=="string"&&vh.has(r)},zl=e=>{if(!e||typeof e!="object")return!1;const r=e;return r.mode==="fixed"&&r.unit==="month"&&typeof r.year=="number"&&Number.isInteger(r.year)&&typeof r.month=="number"&&Number.isInteger(r.month)&&r.month>=0&&r.month<=11};function Ji(e,r,t=1){if(Xn(e))return Ch(e,r,t);if(!zl(e))return;const n=`${e.year}-${ms(e.month+1)}-01T00:00:00`,o=e.month===11?e.year+1:e.year,i=(e.month+1)%12,a=`${o}-${ms(i+1)}-01T00:00:00`,s=we.fromZonedTime(n,r),l=we.fromZonedTime(a,r),c=new Date(l.getTime()-1);return[s,c]}function Ch(e,r,t=1){const n=new Date,o=we.toZonedTime(n,r),i=we.fromZonedTime(o,r);switch(e.mode){case"last":{const{n:a,unit:s,complete:l}=e;if(l)switch(s){case"day":{const c=Ut(n,r,-a),d=Ut(n,r,-1);return[Ct(c,r),st(d,r)]}case"week":{const c=zt(n,r,-a),d=zt(n,r,-1);return[Yt(c,r,t),br(d,r,t)]}case"month":{const c=qt(n,r,-a),d=qt(n,r,-1);return[vr(c,r),Cr(d,r)]}case"quarter":{const c=Ht(n,r,-a),d=Ht(n,r,-1);return[Sr(c,r),xr(d,r)]}case"year":{const c=Wt(n,r,-a),d=Wt(n,r,-1);return[wr(c,r),Ir(d,r)]}}else{let c;switch(s){case"day":c=dh(o,a);break;case"week":c=ph(o,a);break;case"month":c=uh(o,a);break;case"quarter":c=fh(o,a);break;case"year":c=mh(o,a);break}return[we.fromZonedTime(c,r),i]}break}case"this":{const{unit:a,toDate:s}=e;let l,c;switch(a){case"day":l=Ct(n,r),c=st(n,r);break;case"week":l=Yt(n,r,t),c=br(n,r,t);break;case"month":l=vr(n,r),c=Cr(n,r);break;case"quarter":l=Sr(n,r),c=xr(n,r);break;case"year":l=wr(n,r),c=Ir(n,r);break}return s?[l,n]:[l,c]}case"previous":{const{unit:a}=e;switch(a){case"day":{const s=Ut(n,r,-1);return[Ct(s,r),st(s,r)]}case"week":{const s=zt(n,r,-1);return[Yt(s,r,t),br(s,r,t)]}case"month":{const s=qt(n,r,-1);return[vr(s,r),Cr(s,r)]}case"quarter":{const s=Ht(n,r,-1);return[Sr(s,r),xr(s,r)]}case"year":{const s=Wt(n,r,-1);return[wr(s,r),Ir(s,r)]}}break}case"between":{const{unit:a,from:s,to:l}=e;switch(a){case"day":{const c=Ut(n,r,s),d=Ut(n,r,l);return[Ct(c,r),st(d,r)]}case"week":{const c=zt(n,r,s),d=zt(n,r,l);return[Yt(c,r,t),br(d,r,t)]}case"month":{const c=qt(n,r,s),d=qt(n,r,l);return[vr(c,r),Cr(d,r)]}case"quarter":{const c=Ht(n,r,s),d=Ht(n,r,l);return[Sr(c,r),xr(d,r)]}case"year":{const c=Wt(n,r,s),d=Wt(n,r,l);return[wr(c,r),Ir(d,r)]}}break}}return[Ct(n,r),st(n,r)]}function Sh(e){if(!e)return null;for(const[o,i]of Object.entries(ql))if(xh(i,e))return o;const r=(o,i)=>Math.abs(o)===1?i:`${i}s`,t=(o,i)=>{if(o===0)return i==="day"?"today":`this ${i}`;if(o===-1)return i==="day"?"yesterday":`last ${i}`;if(o===1)return i==="day"?"tomorrow":`next ${i}`;const a=Math.abs(o);return o<0?`${a} ${r(a,i)} ago`:`${a} ${r(a,i)} ahead`},n=o=>o.charAt(0).toUpperCase()+o.slice(1);return e.mode==="this"?`This ${e.unit}${e.toDate?" to date":""}`:e.mode==="previous"?`Last ${e.unit}`:e.mode==="last"?`Last ${e.n} ${r(e.n,e.unit)}`:e.mode==="between"?e.from===e.to?n(t(e.from,e.unit)):`${n(t(e.from,e.unit))} to ${t(e.to,e.unit)}`:null}function xh(e,r){return!(e.mode!==r.mode||e.unit!==r.unit||e.mode==="last"&&r.mode==="last"&&(e.n!==r.n||!!e.complete!=!!r.complete)||e.mode==="this"&&r.mode==="this"&&!!e.toDate!=!!r.toDate||e.mode==="between"&&r.mode==="between"&&(e.from!==r.from||e.to!==r.to))}const ql={Today:{mode:"this",unit:"day"},"Last 7 days":{mode:"between",unit:"day",from:-6,to:0},"Last 30 days":{mode:"between",unit:"day",from:-29,to:0},"Last 90 days":{mode:"between",unit:"day",from:-89,to:0},"This week":{mode:"this",unit:"week"},"Last week":{mode:"previous",unit:"week"},"Last 2 weeks":{mode:"last",n:2,unit:"week",complete:!0},"This month":{mode:"this",unit:"month"},"Last month":{mode:"previous",unit:"month"},"Last 3 months":{mode:"last",n:3,unit:"month",complete:!0},"Last 6 months":{mode:"last",n:6,unit:"month",complete:!0},"Last 9 months":{mode:"last",n:9,unit:"month",complete:!0},"Last 12 months":{mode:"last",n:12,unit:"month",complete:!0},"This quarter":{mode:"this",unit:"quarter"},"Last quarter":{mode:"previous",unit:"quarter"},"Last 4 quarters":{mode:"last",n:4,unit:"quarter",complete:!0},"This year":{mode:"this",unit:"year"},"Last year":{mode:"previous",unit:"year"}};function Hl(e,r){const t=r||Intl.DateTimeFormat().resolvedOptions().timeZone,n={};for(const o of e.sheets||[])for(const i of o.frames||[])for(const a of i.cards||[]){if(!a.inlineFilters||a.inlineFilters.length===0)continue;const s=[];for(const l of a.inlineFilters){if(Oe(l.dataType)==="date"&&l.defaultDateFilter){const d=Ji(l.defaultDateFilter,t);if(!d)continue;const[u,p]=d,h={filterId:l.id,name:l.column,operation:"between",valueType:"date",values:[u,p],dataType:l.dataType,...Xn(l.defaultDateFilter)?{relativeMeta:l.defaultDateFilter}:{}};s.push(h);continue}l.defaultValues&&l.defaultValues.length>0&&s.push({filterId:l.id,name:l.column,operation:l.operation,valueType:Oe(l.dataType),values:l.defaultValues,dataType:l.dataType})}s.length>0&&(n[a.id]=s)}return n}const wh=new Set(["between","not between","=","!=",">",">=","<","<=","is null","is not null"]),Ih=new Set(["between","not between","=","!=",">",">=","<","<=","in","not in","is null","is not null"]),Eh=new Set(["=","!=","in","not in","like","not like","is null","is not null"]),Th=new Set(["=","!=","is null","is not null"]),Fh={date:wh,number:Ih,string:Eh,boolean:Th};function Wl(e){const r=Oe(e);return r==="number"||r==="boolean"||r==="date"?r:"string"}function Zn(e,r){const t=r||Intl.DateTimeFormat().resolvedOptions().timeZone,n=Wl(e.dataType);if(n==="date"&&e.defaultDateFilter){const i=Ji(e.defaultDateFilter,t);if(!i)return;const[a,s]=i;return{filterId:e.id,name:e.column,operation:"between",valueType:"date",values:[a,s],dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext,...Xn(e.defaultDateFilter)?{relativeMeta:e.defaultDateFilter}:{}}}if(e.defaultValues&&e.defaultValues.length>0)return{filterId:e.id,name:e.column,operation:e.operation,valueType:n,values:e.defaultValues,dataType:e.dataType,fieldMeta:e.fieldMeta,semanticContext:e.semanticContext}}function Ah(e,r){return e!=null&&e.length?e.map(t=>Zn(t,r)).filter(t=>!!t):[]}function ea(e,r){var n;if(e.id!==r.filterId)return!1;const t=Wl(e.dataType);return r.valueType!==t?!1:((n=Fh[t])==null?void 0:n.has(r.operation))??r.operation===e.operation}function Dh(e,r){if(!(e!=null&&e.length)||!(r!=null&&r.length))return[];const t=new Map(e.map(n=>[n.id,n]));return r.filter(n=>{const o=t.get(n.filterId);return o?ea(o,n):!1})}function Rh(e,r){const t=[...e];for(const n of r){const o=t.findIndex(i=>i.filterId===n.filterId);o>=0?t[o]=n:t.push(n)}return t}function Ph(e){const{previousFilters:r,nextFilters:t,filterValues:n}=e;if(!(n!=null&&n.length))return[];const o=new Set((r||[]).map(l=>l.id)),i=new Set((t||[]).map(l=>l.id)),a=n.filter(l=>!o.has(l.filterId)&&!i.has(l.filterId)),s=Dh(t,n);return[...a,...s]}function _h(e){const{previousFilters:r,nextFilters:t,currentFilterValues:n,defaultFilterValues:o}=e,i=Ph({previousFilters:r,nextFilters:t,filterValues:n}),a=new Set((r||[]).map(u=>u.id)),s=new Set((n||[]).map(u=>u.filterId)),l=new Set(i.map(u=>u.filterId)),c=new Map((t||[]).map(u=>[u.id,u])),d=o.filter(u=>{const p=c.get(u.filterId);return!p||!ea(p,u)?!1:a.has(u.filterId)?s.has(u.filterId)&&!l.has(u.filterId):!0});return Rh(d,i)}function Mr(e,r){return Object.prototype.hasOwnProperty.call(e||{},r)}function Gl(e){return e!==void 0}function ta(e){return e.initialValueStrategy==="saved_default"}function Yl(e){return e.scope==="dashboard"&&ta(e)}function Kl(e){return ta(e)&&e.defaultValue!==void 0}function Xl(e){const r={...e.dashboardValues||{}};for(const t of Object.values(e.cardValuesMap||{}))Object.assign(r,t);return r}function Oh(e){return ra({controls:e.controls,dashboardDefaultValues:e.defaultControlValues})}function ra(e){const r={},t=e.dashboardDefaultValues,n=Gl(t);for(const o of e.controls||[])if(Yl(o)){if(n&&Mr(t,o.id)){const i=t==null?void 0:t[o.id];i!==void 0&&(r[o.id]=i);continue}o.defaultValue!==void 0&&(r[o.id]=o.defaultValue)}return r}function Mh(e){const r=ra(e);return(e.controls||[]).map(t=>{if(!Yl(t))return t;const n=Mr(r,t.id)?r[t.id]:void 0;return t.defaultValue===n?t:{...t,defaultValue:n}})}function na(e,r){if(ta(e))return e.scope==="dashboard"&&Gl(r)&&Mr(r,e.id)?r==null?void 0:r[e.id]:e.defaultValue}function Nh(e){const r={};for(const t of Ki(e)){const n={};for(const o of t.controls||[])Kl(o)&&(n[o.id]=o.defaultValue);Object.keys(n).length>0&&(r[t.id]=n)}return r}function Do(e,r,t){const n=(t==null?void 0:t.hasExplicitRuntimeOverrides)===!0,o=n?{}:Oh(e),i=n?{}:Nh(e);if(r===void 0)return{dashboardControlValues:o,cardControlValuesMap:i};const a=new Set((e.controls||[]).map(l=>l.id)),s=new Map;for(const l of Ki(e))for(const c of l.controls||[])s.set(c.id,l.id);for(const[l,c]of Object.entries(r)){if(a.has(l)){c===void 0?delete o[l]:o[l]=c;continue}const d=s.get(l);d&&(i[d]||(i[d]={}),c===void 0?(delete i[d][l],Object.keys(i[d]).length===0&&delete i[d]):i[d][l]=c)}return{dashboardControlValues:o,cardControlValuesMap:i}}function kh(e){var t,n;const r={};for(const o of e.relevantControlIds){if(Mr(e.cardValues,o)){r[o]=(t=e.cardValues)==null?void 0:t[o];continue}Mr(e.dashboardValues,o)&&(r[o]=(n=e.dashboardValues)==null?void 0:n[o])}return r}function Lh(e){const r={};for(const t of e.nextControls){const n=e.renamed&&t.id===e.renamed.newId?e.renamed.oldId:t.id;if(Object.prototype.hasOwnProperty.call(e.previousValues,n)){r[t.id]=e.previousValues[n];continue}const o=na(t,e.nextDefaultValues);o!==void 0&&(r[t.id]=o)}return r}function Vh(e){const r={};for(const t of e.nextControls){const n=e.renamed&&t.id===e.renamed.newId?e.renamed.oldId:t.id;if(e.previousValues&&Object.prototype.hasOwnProperty.call(e.previousValues,n)){r[t.id]=e.previousValues[n];continue}Kl(t)&&(r[t.id]=t.defaultValue)}return r}function Zl(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bh(e,r){return e&&r.reduce((t,n)=>{const o=new RegExp(`\\[\\[\\s*param\\.${Zl(n)}\\s*\\]\\]`,"g");return t.replace(o,"NULL")},e)}function $h(e,r){return(e||[]).some(t=>t.target==="sql_param"&&t.paramId===r)}function jh(e,r,t){return!e||e.length===0?e:e.map(n=>n.controlId===r?{...n,controlId:t}:n)}function Uh(e,r){return!e||e.length===0?e:e.filter(t=>t.controlId!==r)}function zh(e,r,t){if(!e)return e;const n=new RegExp(`\\[\\[\\s*param\\.${Zl(r)}\\s*\\]\\]`,"g");return e.replace(n,`[[param.${t}]]`)}function Ql(e,r){if(r.type==="rename"){const t=jh(e.controlBindings,r.oldId,r.newId),n=$h(e.controlBindings,r.oldId)?e.sql:zh(e.sql,r.oldId,r.newId);return{...e,controlBindings:t,sql:n}}return{...e,controlBindings:Uh(e.controlBindings,r.controlId),sql:Bh(e.sql,[r.controlId,...(e.controlBindings||[]).filter(t=>t.target==="sql_param"&&t.controlId===r.controlId).map(t=>t.paramId)])}}function qh(e,r){const t=new Set((e.controls||[]).map(n=>n.id));return r.type==="rename"?!t.has(r.oldId)&&!t.has(r.newId):!t.has(r.controlId)}function Jl(e,r){return e&&e.map(t=>qh(t,r)?Ql(t,r):t)}function Hh(e,r){return e&&e.map(t=>({...t,cards:Jl(t.cards,r)||[]}))}function Wh(e,r){return{...e,sheets:(e.sheets||[]).map(t=>({...t,cards:Jl(t.cards,r),frames:Hh(t.frames,r)}))}}function Gh(e,r,t){const n=new Set((t==null?void 0:t.affectedControlIds)||[]),o=(a,s)=>s?[...(a||[]).filter(c=>!n.has(c.controlId)&&!s.some(d=>d.controlId===c.controlId&&d.target===c.target)),...s]:(a||[]).filter(c=>!n.has(c.controlId)),i=a=>Object.prototype.hasOwnProperty.call(r,a.id)?{...a,controlBindings:o(a.controlBindings,r[a.id])}:a;return{...e,sheets:(e.sheets||[]).map(a=>({...a,cards:(a.cards||[]).map(i),frames:(a.frames||[]).map(s=>({...s,cards:(s.cards||[]).map(i)}))}))}}function ec(e){if(e.type==="model")return`${Tn}.${e.name}`;if(e.type==="dataset"){if(e.database&&e.schema)return`${e.database}.${e.schema}.${e.name}`;if(e.schema)return`${e.schema}.${e.name}`;if(e.database)return`${e.database}.${e.name}`}if(Ol.includes(e.type)){if(e.database&&e.schema)return`${e.database}.${e.schema}.${e.name}`;if(e.schema)return`${e.schema}.${e.name}`;if(e.database)return`${e.database}.${e.name}`}return e.name}function Yh(e){return Array.isArray(e)?e.reduce((r,t)=>t.role!=="assistant"?(r.push(t),r):t.parts.some(o=>{var i;return!!(o.type==="reasoning"&&o.state==="streaming"||o.type==="text"&&o.state==="streaming"||(i=o.type)!=null&&i.startsWith("tool-")&&o.state==="input-streaming")})?(console.log("Removing aborted assistant message:",t.id),r):(r.push(t),r),[]):e}function oa(e){const{selectedEntities:r}=e,t=r.map(n=>({...n,qualifiedEntityName:ec(n)}));return{...e,selectedEntities:t}}const hs={selectedEntities:[]};function Kh(e){var r;return oa({selectedEntities:e.selectedEntities,fileAttachments:(r=e.fileAttachments)==null?void 0:r.map(({data:t,preview:n,...o})=>o)})}const Ce=_t()(zn((e,r)=>({currentAIContext:hs,hasEditorEntitySelectionOverride:!1,activeAssistantType:null,dashboardEntitySelectionOverrides:{},pendingDashboardDraftMigration:null,assistantMessageContexts:{},reasoningEffort:"low",showReasoning:!1,messageQueues:{dashboard:[],editor:[]},fileAttachments:{dashboard:[],editor:[]},uploadProgress:new Map,actions:{setCurrentAIContext:t=>{e(n=>{n.currentAIContext=oa(t)})},setHasEditorEntitySelectionOverride:t=>{e(n=>{n.hasEditorEntitySelectionOverride=t})},setActiveAssistantType:t=>{e(n=>{n.activeAssistantType=t})},updateSelectedEntities:t=>{e(n=>{n.currentAIContext.selectedEntities=t})},setDashboardEntitySelectionOverride:(t,n)=>{e(o=>{o.dashboardEntitySelectionOverrides[t]=n})},clearDashboardEntitySelectionOverride:t=>{e(n=>{delete n.dashboardEntitySelectionOverrides[t]})},setPendingDashboardDraftMigration:t=>{e(n=>{n.pendingDashboardDraftMigration=t})},setPendingDashboardDraftMigrationExpectedDashboardId:t=>{e(n=>{n.pendingDashboardDraftMigration&&(n.pendingDashboardDraftMigration.expectedDashboardId=t)})},clearPendingDashboardDraftMigration:()=>{e(t=>{t.pendingDashboardDraftMigration=null})},setAssistantMessageContext:(t,n)=>{e(o=>{o.assistantMessageContexts[t]=Kh(n)})},clearAssistantMessageContext:t=>{e(n=>{delete n.assistantMessageContexts[t]})},clearAssistantMessageContexts:t=>{e(n=>{if(!t||t.length===0){n.assistantMessageContexts={};return}t.forEach(o=>{delete n.assistantMessageContexts[o]})})},clearAIContext:()=>{e(t=>{t.currentAIContext=hs,t.hasEditorEntitySelectionOverride=!1,t.dashboardEntitySelectionOverrides={},t.pendingDashboardDraftMigration=null,t.assistantMessageContexts={}})},mergeAIContext:t=>{e(n=>{n.currentAIContext={...n.currentAIContext,...t}})},setReasoningEffort:t=>{e(n=>{n.reasoningEffort=t})},setShowReasoning:t=>{e(n=>{n.showReasoning=t})},queueMessage:(t,n,o)=>{e(i=>{i.messageQueues[t].push({id:crypto.randomUUID(),text:n,timestamp:Date.now(),fileAttachments:o})})},dequeueMessage:t=>{if(r().messageQueues[t].length===0)return;let o;return e(i=>{const a=i.messageQueues[t].shift();a&&(o={id:a.id,text:a.text,timestamp:a.timestamp})}),o},removeFromQueue:(t,n)=>{e(o=>{o.messageQueues[t]=o.messageQueues[t].filter(i=>i.id!==n)})},clearQueue:t=>{e(n=>{n.messageQueues[t]=[]})},addFileAttachment:(t,n)=>{e(o=>{o.fileAttachments[t].push(n)})},removeFileAttachment:(t,n)=>{e(o=>{o.fileAttachments[t]=o.fileAttachments[t].filter(i=>i.id!==n)})},clearFileAttachments:t=>{e(n=>{n.fileAttachments[t]=[]})},updateUploadProgress:(t,n)=>{e(o=>{o.uploadProgress.set(t,n)})},getFileAttachments:t=>r().fileAttachments[t]}}))),Xh=()=>Ce(e=>e.currentAIContext),Zh=()=>Ce(e=>e.activeAssistantType),Qh=e=>Ce(r=>e?r.assistantMessageContexts[e]:void 0),Jh=()=>Ce(e=>e.actions),eg=e=>Ce(r=>r.messageQueues[e]),tg=()=>Ce(Hn(e=>({queueMessage:e.actions.queueMessage,dequeueMessage:e.actions.dequeueMessage,removeFromQueue:e.actions.removeFromQueue,clearQueue:e.actions.clearQueue}))),rg=e=>Ce(r=>r.fileAttachments[e]),ng=()=>Ce(Hn(e=>({addFileAttachment:e.actions.addFileAttachment,removeFileAttachment:e.actions.removeFileAttachment,clearFileAttachments:e.actions.clearFileAttachments,updateUploadProgress:e.actions.updateUploadProgress,getFileAttachments:e.actions.getFileAttachments}))),ui={},og=e=>({updatePageSize:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,pageSize:r}}}}}),updateColumnSettingsMap:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSettingsMap:r}}}}}),updateTableBaseFormatting:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,baseFormatting:r}}}}}),updateTableConditionalFormatting:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,conditionalFormatting:r}}}}}),updateColumnSizing:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnSizing:r}}}}}),updateColumnVisibility:(r,t)=>e(n=>{var a,s,l,c,d,u;const i={...((l=(s=(a=n.card)==null?void 0:a.preferences)==null?void 0:s.tablePrefs)==null?void 0:l.columnVisibility)||{},[r]:t};return{card:{...n.card,preferences:{...(c=n.card)==null?void 0:c.preferences,tablePrefs:{...(u=(d=n.card)==null?void 0:d.preferences)==null?void 0:u.tablePrefs,columnVisibility:i}}}}}),showAllColumns:()=>e(r=>{var i,a,s,l,c,d;const t=((s=(a=(i=r.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs)==null?void 0:s.columnVisibility)||ui,n=Object.keys(t);if(n.length===0)return r;const o={};return n.forEach(u=>{o[u]=!0}),{card:{...r.card,preferences:{...(l=r.card)==null?void 0:l.preferences,tablePrefs:{...(d=(c=r.card)==null?void 0:c.preferences)==null?void 0:d.tablePrefs,columnVisibility:o}}}}}),hideAllColumns:()=>e(r=>{var i,a,s,l,c,d;const t=((s=(a=(i=r.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs)==null?void 0:s.columnVisibility)||ui,n=Object.keys(t);if(n.length===0)return r;const o={};return n.forEach(u=>{o[u]=!1}),{card:{...r.card,preferences:{...(l=r.card)==null?void 0:l.preferences,tablePrefs:{...(d=(c=r.card)==null?void 0:c.preferences)==null?void 0:d.tablePrefs,columnVisibility:o}}}}}),toggleSelectColumn:r=>e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,selectColumnVisible:r}}}}}),initializeColumnVisibility:r=>e(t=>{var o,i,a;const n={};return r.forEach(s=>{n[s]=!0}),{card:{...t.card,preferences:{...(o=t.card)==null?void 0:o.preferences,tablePrefs:{...(a=(i=t.card)==null?void 0:i.preferences)==null?void 0:a.tablePrefs,columnVisibility:n}}}}}),updateAllColumnVisibility:r=>typeof r=="function"?(console.error("Function updater received instead of visibility object - ignoring"),e(t=>t)):e(t=>{var n,o,i;return{card:{...t.card,preferences:{...(n=t.card)==null?void 0:n.preferences,tablePrefs:{...(i=(o=t.card)==null?void 0:o.preferences)==null?void 0:i.tablePrefs,columnVisibility:r}}}}})});function Qn(e){if(!e)return!1;const r=e.groupByColumns&&e.groupByColumns.length>0,t=e.metricColumns&&e.metricColumns.length>0,n=e.pivotByColumns&&e.pivotByColumns.length>0,o=e.detailColumns&&e.detailColumns.length>0;return!!(r||t||n||o)}function ig(e,r){var i,a,s;if(r!=null&&r.skipSetupCheck||e.type==="text"||(i=e.customCardPreferences)!=null&&i.url)return!1;const t=!!(e.connectionId||(a=e.dataSource)!=null&&a.connectionId),n=!!((s=e.sql)!=null&&s.trim()),o=Qn(e.config);return!t||!o&&!n}function ag(e){var t,n;const r=(n=(t=e==null?void 0:e.preferences)==null?void 0:t.textVisualOptions)==null?void 0:n.content;return Array.isArray(r)&&r.length>0}function ia(e){var r;return!!((r=e==null?void 0:e.description)!=null&&r.trim())||ag(e)}function aa(e){var r,t;return!e||e.type!=="text"?!1:!!((r=e.sql)!=null&&r.trim()||(t=e.python)!=null&&t.trim()||Qn(e.config))}function sg(e){var r,t;return!e||e.type!=="text"?!1:((t=(r=e.preferences)==null?void 0:r.textVisualOptions)==null?void 0:t.isDynamicText)===!0?!0:aa(e)&&!ia(e)}function lg(e){var r,t;return!e||e.type!=="text"?!1:aa(e)&&(((t=(r=e.preferences)==null?void 0:r.textVisualOptions)==null?void 0:t.isDynamicText)===!0||!ia(e))}const cg=/^\(?\s*\{[\s\S]*\}\s*\)?$/,dg=[{pattern:/\bfetch\s*\(/i,message:"Visual code must not fetch external data."},{pattern:/\bXMLHttpRequest\b/i,message:"Visual code must not use XMLHttpRequest."},{pattern:/\bWebSocket\b/i,message:"Visual code must not use WebSocket."},{pattern:/\bimport\s*\(/i,message:"Visual code must not use dynamic imports."},{pattern:/<script[\s>]|<\/script>|<!DOCTYPE|<html[\s>]|<body[\s>]/i,message:"Visual code must be renderer code only, not an HTML document."},{pattern:/\bcreateElement\s*\(\s*['"]script['"]\s*\)/i,message:"Visual code must not create script elements at runtime."},{pattern:/\bimportScripts\s*\(/i,message:"Visual code must not import external scripts."}];function tc(e){return e.visualizationMode??"builtin"}function rc(e){return tc(e)==="dynamic"}function ug(e){return e.type==="custom"}function fg(e,r){return r?{...e,settings:r}:e}function pg(e,r){const t=r.selectedConnectionId||e.connectionId||"";if(!e.dataSource){if(!t)return;const n=r.selectedDatabaseName||e.lastSelectedDatabase,o=r.selectedSchemaName||e.lastSelectedSchema,i=r.selectedTableName||e.lastSelectedTable;return{connectionId:t,connectionType:"",mode:"database",selectedEntities:[],...n&&o&&i?{dbSelection:{database:n,schema:o,entityType:"table"}}:{}}}return{...e.dataSource,connectionId:r.selectedConnectionId||e.dataSource.connectionId||e.connectionId||""}}function mg(e){var r,t,n,o;return{showChrome:(t=(r=e.preferences)==null?void 0:r.displayOptions)==null?void 0:t.showChrome,allowScroll:(o=(n=e.preferences)==null?void 0:n.displayOptions)==null?void 0:o.allowScroll}}function hg(e){var r,t;return(((r=e.dynamicCardPreferences)==null?void 0:r.provenance)==="card-config"||((t=e.dynamicCardPreferences)==null?void 0:t.provenance)==="query_spec")&&!!e.config}function gg(e){var r,t,n,o;return((t=(r=e.dynamicCardPreferences)==null?void 0:r.fallback)==null?void 0:t.mode)==="table"&&!e.dynamicCardPreferences.fallback.chartType?"table":((o=(n=e.dynamicCardPreferences)==null?void 0:n.fallback)==null?void 0:o.chartType)||e.type}function nc(e,r="Fallback to the underlying built-in visual"){return{mode:e==="table"||e==="detailTable"?"table":"chart",chartType:e,reason:r}}function oc(e,r){return{renderer:"dynamic-visual",builtinDisplayOptions:r,fallback:nc(e)}}function ic(e){var o,i,a,s,l,c,d,u,p,h,v,m,b,S;const r=(o=e.dynamicCardPreferences)==null?void 0:o.builtinDisplayOptions;if(!r)return((a=(i=e.preferences)==null?void 0:i.displayOptions)==null?void 0:a.showChrome)!==!1||((l=(s=e.preferences)==null?void 0:s.displayOptions)==null?void 0:l.allowScroll)!==!1?e:{...e,preferences:{...e.preferences,displayOptions:{...e.preferences.displayOptions,showChrome:!0,allowScroll:!0}}};const t=r.showChrome??((d=(c=e.preferences)==null?void 0:c.displayOptions)==null?void 0:d.showChrome),n=r.allowScroll??((p=(u=e.preferences)==null?void 0:u.displayOptions)==null?void 0:p.allowScroll);return t===((v=(h=e.preferences)==null?void 0:h.displayOptions)==null?void 0:v.showChrome)&&n===((b=(m=e.preferences)==null?void 0:m.displayOptions)==null?void 0:b.allowScroll)?e:{...e,preferences:{...e.preferences,displayOptions:{...(S=e.preferences)==null?void 0:S.displayOptions,showChrome:t,allowScroll:n}}}}function yg(e,r,t){var n;return{...oc(e.type,mg(e)),...e.dynamicCardPreferences,renderer:"dynamic-visual",artifactId:(t==null?void 0:t.artifactId)||((n=e.dynamicCardPreferences)==null?void 0:n.artifactId)||e.id,title:(t==null?void 0:t.title)||e.title,rendererCode:r}}function bg(e,r,t){return r==="dynamic"&&(t!=null&&t.rendererCode)?{...e,visualizationMode:"dynamic",dynamicCardPreferences:yg(e,t.rendererCode,{artifactId:t.artifactId,title:t.title})}:{...ic(e),visualizationMode:"builtin",dynamicCardPreferences:void 0}}function vg(e){return{...e,type:gg(e),visualizationMode:"builtin"}}function Cg(e,{isDevMode:r,cardSql:t,isShowingVisual:n,selectedSchemaName:o,selectedDatamodelId:i,selectedDatabaseName:a,selectedTableName:s,selectedConnectionId:l,remoteChartSettings:c,stripConfig:d}){const u=hg(e),p=r&&!u,h=!r&&lg(e),v=p||h;return{...e,dataSource:pg(e,{selectedConnectionId:l,selectedDatabaseName:a,selectedSchemaName:o,selectedTableName:s}),lastSelectedSchema:o,lastSelectedDatamodelId:i,lastSelectedDatabase:a,lastSelectedTable:s,connectionId:l||e.connectionId,sql:v?t||e.sql:void 0,python:v?e.python:void 0,config:p||!e.config?void 0:d(e.config),customCfg:n?e.customCfg:null,preferences:e.preferences,customCardPreferences:fg(e.customCardPreferences,c)}}function ac(e){return String(e||"").trim().replace(/;+\s*$/,"")}function Sg(e){let r=e.trim();for(;r.startsWith("(")&&r.endsWith(")")&&xg(r);)r=r.slice(1,-1).trim();return r}function xg(e){let r=0;for(let t=0;t<e.length;t+=1){const n=e[t];if(n==="("){r+=1;continue}if(n===")"&&(r-=1,r===0&&t<e.length-1||r<0))return!1}return r===0}function sc(e,r,t){let n=r+1;for(;n<e.length;){const o=e[n];if(o==="\\"){n+=2;continue}if(t==="`"&&o==="$"&&e[n+1]==="{"){n=dc(e,n+1,"{","}")+1;continue}if(o===t)return n;n+=1}return e.length-1}function lc(e,r){let t=r+2;for(;t<e.length&&e[t]!==`
|
|
7
7
|
`;)t+=1;return t}function cc(e,r){let t=r+2;for(;t<e.length-1;){if(e[t]==="*"&&e[t+1]==="/")return t+1;t+=1}return e.length-1}function dc(e,r,t,n){let o=1,i=r+1;for(;i<e.length;){const a=e[i],s=e[i+1];if(a==='"'||a==="'"||a==="`"){i=sc(e,i,a),i+=1;continue}if(a==="/"&&s==="/"){i=lc(e,i),i+=1;continue}if(a==="/"&&s==="*"){i=cc(e,i),i+=1;continue}if(a===t)o+=1;else if(a===n&&(o-=1,o===0))return i;i+=1}return e.length-1}function wg(e){const r=Sg(e),t=r.indexOf("{");if(t<0)return null;const n=dc(r,t,"{","}");return n<=t?null:r.slice(t+1,n)}function Ig(e){const r=[];let t=0,n=0,o=0,i=0,a=0;for(;a<e.length;){const l=e[a],c=e[a+1];if(l==='"'||l==="'"||l==="`"){a=sc(e,a,l),a+=1;continue}if(l==="/"&&c==="/"){a=lc(e,a),a+=1;continue}if(l==="/"&&c==="*"){a=cc(e,a),a+=1;continue}l==="{"?n+=1:l==="}"?n-=1:l==="("?o+=1:l===")"?o-=1:l==="["?i+=1:l==="]"?i-=1:l===","&&n===0&&o===0&&i===0&&(r.push(e.slice(t,a).trim()),t=a+1),a+=1}const s=e.slice(t).trim();return s&&r.push(s),r.filter(Boolean)}function Vt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gs(e,r){const t={getterOrSetter:new RegExp(String.raw`^(?:async\s+)?(?:get|set)\s+['"]?${Vt(r)}['"]?\b`,"s"),methodShorthand:new RegExp(String.raw`^(?:async\s+)?['"]?${Vt(r)}['"]?\s*\(`,"s"),functionAssignment:new RegExp(String.raw`^['"]?${Vt(r)}['"]?\s*:\s*(?:async\s+)?function\b`,"s"),arrowAssignment:new RegExp(String.raw`^['"]?${Vt(r)}['"]?\s*:\s*(?:async\s+)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>`,"s")},n=e.find(o=>new RegExp(String.raw`^(?:async\s+)?(?:get\s+|set\s+)?['"]?${Vt(r)}['"]?\b|^['"]?${Vt(r)}['"]?\s*:`,"s").test(o));return n?t.getterOrSetter.test(n)?`Visual code cannot use getter/setter lifecycle hooks for ${r}.`:t.methodShorthand.test(n)||t.functionAssignment.test(n)?null:t.arrowAssignment.test(n)?`Visual code cannot use arrow functions for ${r}; use a method or function-valued property instead.`:`Visual code must define ${r}${r==="mount"?"({ container, payload, runtime })":"()"} as a function.`:`Visual code must define ${r}${r==="mount"?"({ container, payload, runtime })":"()"} as a function.`}function uc(e){const r=ac(e);if(!r)return{valid:!1,error:"Paste or generate visual code before saving this dynamic visual."};try{if(!cg.test(r))return{valid:!1,error:"Visual code must be a single object-literal expression."};for(const{pattern:a,message:s}of dg)if(a.test(r))return{valid:!1,error:s};new Function(`"use strict"; return (${r});`);const t=wg(r);if(!t)return{valid:!1,error:"Visual code must be a single object-literal expression."};const n=Ig(t);if(n.length===0)return{valid:!1,error:"Visual code must define mount() and destroy() lifecycle methods."};const o=gs(n,"mount");if(o)return{valid:!1,error:o};const i=gs(n,"destroy");return i?{valid:!1,error:i}:{valid:!0}}catch(t){return{valid:!1,error:t instanceof Error?t.message:"Visual code could not be parsed."}}}function Eg(e){var r;return rc(e)&&uc((r=e.dynamicCardPreferences)==null?void 0:r.rendererCode).error||null}function Tg(e){for(const r of e.cards){const t=Eg(r);if(t)return t}return null}function Fg(e){if(e==null)return"nullish";if(typeof e=="number")return Number.isFinite(e)?"number":"invalid-number";if(typeof e=="string"){const r=e.trim();return r?Number.isNaN(Date.parse(r))?"string":"dateish-string":"blank-string"}return typeof e=="boolean"?"boolean":Array.isArray(e)?"array":typeof e=="object"?"object":typeof e}function Ag(e){if(!e||typeof e!="object")return null;const r=e;return{groupByColumns:(r.groupByColumns||[]).map(t=>(t==null?void 0:t.name)||(t==null?void 0:t.label)||""),metricColumns:(r.metricColumns||[]).map(t=>(t==null?void 0:t.name)||(t==null?void 0:t.label)||""),detailColumns:(r.detailColumns||[]).map(t=>(t==null?void 0:t.name)||(t==null?void 0:t.label)||""),filters:(r.filters||[]).map(t=>({column:(t==null?void 0:t.column)||"",operation:(t==null?void 0:t.operation)||""}))}}function Dg(e){var a,s,l,c,d,u;if(!e)return"no-payload";const r=Array.isArray(e.records)?e.records:[],t=r.slice(0,20).map(p=>p&&typeof p=="object"&&!Array.isArray(p)?p:{}),n=Array.from(new Set(t.flatMap(p=>Object.keys(p)))).sort().slice(0,20),o=n.map(p=>{const h=t.reduce((v,m)=>{const b=Fg(m[p]);return v[b]=(v[b]||0)+1,v},{});return{key:p,kinds:h}}),i=t.slice(0,8).map(p=>{const h={};for(const v of n.slice(0,8)){const m=p[v];if(m==null){h[v]="nullish";continue}if(typeof m=="number"){h[v]=Number.isFinite(m)?`n:${m}`:"n:invalid";continue}if(typeof m=="string"){h[v]=`s:${m.trim().slice(0,64)}`;continue}if(typeof m=="boolean"){h[v]=`b:${m}`;continue}if(Array.isArray(m)){h[v]=`a:${m.length}`;continue}if(typeof m=="object"){h[v]=`o:${Object.keys(m).slice(0,6).join(",")}`;continue}h[v]=`${typeof m}:${String(m).slice(0,64)}`}return h});return JSON.stringify({title:e.title||"",themeMode:((a=e.theme)==null?void 0:a.mode)||"unknown",hasRecords:r.length>0,rowCount:((s=e.metadata)==null?void 0:s.rowCount)??r.length,artifactId:((l=e.metadata)==null?void 0:l.artifactId)||"",sql:((c=e.metadata)==null?void 0:c.sql)||"",python:((d=e.metadata)==null?void 0:d.python)||"",cardConfig:Ag((u=e.metadata)==null?void 0:u.cardConfig),sampleKeys:n,sampleValueProfile:o,sampleValueSnapshot:i})}function fc(){return{version:1,blocks:[{type:"paragraph",children:[]}]}}function sa(e){return Ur(e)?e.version===1&&Array.isArray(e.blocks)&&e.blocks.every(Pg):!1}function Rg(e,r){return!sa(e)||!e.blocks.length?"":e.blocks.map(t=>Mg(t,r)).join("")}function Pg(e){return Ur(e)?e.type==="paragraph"?Array.isArray(e.children)&&e.children.every(hn):e.type==="heading"?(e.level===1||e.level===2)&&Array.isArray(e.children)&&e.children.every(hn):e.type==="list"?(e.style==="bulleted"||e.style==="numbered")&&Array.isArray(e.items)&&e.items.every(r=>Array.isArray(r)&&r.every(hn)):!1:!1}function hn(e){return Ur(e)?e.type==="text"?typeof e.value=="string"&&ys(e.format):e.type==="variable"?Og(e.ref)&&ys(e.format):e.type==="link"?typeof e.url=="string"&&Array.isArray(e.children)&&e.children.every(_g):!1:!1}function _g(e){return hn(e)&&(e.type==="text"||e.type==="variable")}function ys(e){return e===void 0?!0:Ur(e)?(e.bold===void 0||typeof e.bold=="boolean")&&(e.italic===void 0||typeof e.italic=="boolean"):!1}function Og(e){return Ur(e)?e.source==="dashboardInput"?typeof e.inputId=="string"&&bs(e.export):e.source==="dashboardInputAlias"?typeof e.variableName=="string"&&(e.export===void 0||bs(e.export)):e.source==="documentMeta"?e.key==="generatedAt"||e.key==="pageNumber"||e.key==="pageCount":!1:!1}function bs(e){return e==="label"||e==="value"||e==="start"||e==="end"||e==="range"}function Ur(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Mg(e,r){switch(e.type){case"heading":{const t=e.level===1?"h1":"h2";return`<${t}>${Ro(e.children,r)}</${t}>`}case"list":{const t=e.style==="numbered"?"ol":"ul",n=e.items.map(o=>`<li>${Ro(o,r)}</li>`).join("");return`<${t}>${n}</${t}>`}case"paragraph":default:return e.children.length===0?"<p><br></p>":`<p>${Ro(e.children,r)}</p>`}}function Ro(e,r){return e.map(t=>pc(t,r)).join("")}function pc(e,r){if(e.type==="link"){const n=e.children.map(i=>pc(i,r)).join(""),o=Vg(e.url);return o?`<a href="${Lg(o)}" target="_blank" rel="noopener noreferrer">${n}</a>`:n}const t=e.type==="variable"?kg(e.ref,r):e.value;return Ng(mc(t),e.format)}function Ng(e,r){let t=e;return r!=null&&r.italic&&(t=`<em>${t}</em>`),r!=null&&r.bold&&(t=`<strong>${t}</strong>`),t}function kg(e,r){if(e.source==="documentMeta")return"";const t=e.source==="dashboardInput"?r.variablesById[e.inputId]:r.variablesByName[e.variableName];if(!t)return"";const n=e.source==="dashboardInputAlias"?e.export||"label":e.export,o=t.exports[n];return o==null?"":String(o)}function mc(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Lg(e){return mc(e)}function Vg(e){const r=(e||"").trim();if(!r)return"";if(r.startsWith("/")||r.startsWith("#")||r.startsWith("?")||r.startsWith("//"))return r;if(Bg(r))return"";const t=r.match(/^([a-zA-Z][a-zA-Z0-9+\-.]*):/);if(!t)return`https://${r}`;const n=t[1].toLowerCase();return n==="http"||n==="https"||n==="mailto"||n==="tel"?r:""}function Bg(e){for(let r=0;r<e.length;r+=1){const t=e.charCodeAt(r);if(t<=32||t===127)return!0}return!1}const $g=(e,r)=>({updateFrame:t=>{e(n=>{Object.assign(n.frame,t)})},setActiveCardInFrame:t=>{const{frame:n}=r(),o=n.cards.find(i=>i.id===t);o&&e(i=>{i.frame.activeCardId=t,i.card=o})},addCard:()=>{const{frame:t}=r(),n={type:"bar",id:`card-${Date.now()}`,title:`Card ${t.cards.length+1}`,dataSource:{connectionId:"",connectionType:"",mode:"database",selectedEntities:[]},config:{groupByColumns:[],metricColumns:[],pivotByColumns:[],sortByColumns:[]},paginationConfig:{page:1,pageSize:50}};e(o=>{o.frame.cards.push(n),o.frame.activeCardId=n.id,o.card=n})},removeCard:t=>{const{frame:n}=r();n.cards.length<=1||e(o=>{const i=o.frame.cards.findIndex(a=>a.id===t);if(i!==-1&&o.frame.cards.splice(i,1),o.frame.activeCardId===t){const a=o.frame.cards[0];a&&(o.frame.activeCardId=a.id,o.card=a)}})},updateCard:(t,n)=>{e(o=>{o.card.id===t&&Object.assign(o.card,n)})},setActiveCard:t=>{const{frame:n}=r(),o=n.cards.find(i=>i.id===t);o&&e(i=>{i.frame.activeCardId=t,i.card=o})},setActiveTabCard:t=>{e(n=>{n.activeTabCardId=t})},setDataSource:t=>{e(n=>{n.card.dataSource=t})},updateDataSource:t=>{e(n=>{const o={...t};n.card.dataSource=o})},updateSemanticDomain:t=>{e(n=>{n.card.dataSource?(n.card.dataSource.semanticDomainId=t,n.card.dataSource.mode="semanticDomain"):n.card.dataSource={connectionId:"",connectionType:"",mode:"semanticDomain",semanticDomainId:t,selectedEntities:[]}})},updateDirectSource:t=>{e(n=>{n.card.dataSource?n.card.dataSource={...n.card.dataSource,...t}:n.card.dataSource={connectionId:"",connectionType:"",mode:"database",...t,selectedEntities:[]}})},getAvailableFields:()=>[],updateCardConfig:(t,n)=>{e(o=>{o.card.id===t&&(o.card.config={...o.card.config,...n})})},updateRowLimit:(t,n)=>{e(o=>{o.card.id===t&&(o.card.config||(o.card.config={}),o.card.config.rowLimit=n)})},addGroupByColumn:(t,n)=>{e(o=>{var i;o.card.id===t&&((i=o.card.config)!=null&&i.groupByColumns||(o.card.config.groupByColumns=[]),o.card.config.groupByColumns.push(n))})},removeGroupByColumn:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.groupByColumns)){const a=o.card.config.groupByColumns.findIndex(s=>s.id===n);a!==-1&&o.card.config.groupByColumns.splice(a,1)}})},updateGroupByColumn:(t,n,o)=>{e(i=>{var a;if(i.card.id===t&&((a=i.card.config)!=null&&a.groupByColumns)){const s=i.card.config.groupByColumns.findIndex(l=>l.id===n);s!==-1&&Object.assign(i.card.config.groupByColumns[s],o)}})},addMetricColumn:(t,n)=>{e(o=>{var i;o.card.id===t&&((i=o.card.config)!=null&&i.metricColumns||(o.card.config.metricColumns=[]),o.card.config.metricColumns.push(n))})},removeMetricColumn:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.metricColumns)){const a=o.card.config.metricColumns.findIndex(s=>s.id===n);a!==-1&&o.card.config.metricColumns.splice(a,1)}})},updateMetricColumn:(t,n,o)=>{e(i=>{var a;if(i.card.id===t&&((a=i.card.config)!=null&&a.metricColumns)){const s=i.card.config.metricColumns.findIndex(l=>l.id===n);if(s!==-1){const l=i.card.config.metricColumns[s];if(o.parameters){l.parameters={...l.parameters||{},...o.parameters};const c={...o};delete c.parameters,Object.assign(l,c)}else Object.assign(l,o)}}})},addPivotByColumn:(t,n)=>{e(o=>{var i;o.card.id===t&&((i=o.card.config)!=null&&i.pivotByColumns||(o.card.config.pivotByColumns=[]),o.card.config.pivotByColumns.push(n))})},removePivotByColumn:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.pivotByColumns)){const a=o.card.config.pivotByColumns.findIndex(s=>s.id===n);a!==-1&&o.card.config.pivotByColumns.splice(a,1)}})},updatePivotByColumn:(t,n,o)=>{e(i=>{var a;if(i.card.id===t&&((a=i.card.config)!=null&&a.pivotByColumns)){const s=i.card.config.pivotByColumns.findIndex(l=>l.id===n);s!==-1&&Object.assign(i.card.config.pivotByColumns[s],o)}})},addSortByColumn:(t,n)=>{e(o=>{var i;o.card.id===t&&((i=o.card.config)!=null&&i.sortByColumns||(o.card.config.sortByColumns=[]),o.card.config.sortByColumns.push(n))})},removeSortByColumn:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.sortByColumns)){const a=o.card.config.sortByColumns.findIndex(s=>s.id===n);a!==-1&&o.card.config.sortByColumns.splice(a,1)}})},updateSortByColumn:(t,n,o)=>{e(i=>{var a;if(i.card.id===t&&((a=i.card.config)!=null&&a.sortByColumns)){const s=i.card.config.sortByColumns.findIndex(l=>l.id===n);s!==-1&&Object.assign(i.card.config.sortByColumns[s],o)}})},updateFilters:(t,n)=>{e(o=>{o.card.id===t&&(o.card.config||(o.card.config={}),o.card.config.filters=n)})},clearFilters:t=>{e(n=>{n.card.id===t&&n.card.config&&(n.card.config.filters=void 0)})},addJoin:(t,n)=>{e(o=>{var i;o.card.id===t&&((i=o.card.config)!=null&&i.joinPlan||(o.card.config.joinPlan={baseEntity:{connectionId:"",connectionType:"none",type:"table",name:""},joins:[]}),o.card.config.joinPlan.joins.push(n))})},removeJoin:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.joinPlan)){const a=o.card.config.joinPlan.joins.findIndex(s=>s.id===n);a!==-1&&o.card.config.joinPlan.joins.splice(a,1)}})},updateJoin:(t,n,o)=>{e(i=>{var a;if(i.card.id===t&&((a=i.card.config)!=null&&a.joinPlan)){const s=i.card.config.joinPlan.joins.findIndex(l=>l.id===n);s!==-1&&Object.assign(i.card.config.joinPlan.joins[s],o)}})},reorderJoins:(t,n)=>{e(o=>{var i;if(o.card.id===t&&((i=o.card.config)!=null&&i.joinPlan)){const a=n.map((s,l)=>{const c=o.card.config.joinPlan.joins.find(d=>d.id===s);return c?{...c,sequence:l}:null}).filter(Boolean);o.card.config.joinPlan.joins=a}})}}),jg=[],Ug=[],zg=e=>({updateDrillHierarchies:r=>{e(t=>({card:{...t.card,interactionConfig:{...t.card.interactionConfig,drillHierarchies:r}}}))},addDrillHierarchy:r=>e(t=>{var o;const n=((o=t.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...t.card,interactionConfig:{...t.card.interactionConfig,drillHierarchies:[...n,r]}}}}),removeDrillHierarchy:r=>e(t=>{var o;const n=((o=t.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...t.card,interactionConfig:{...t.card.interactionConfig,drillHierarchies:n.filter(i=>i.id!==r)}}}}),updateDrillHierarchy:(r,t)=>e(n=>{var i;const o=((i=n.card.interactionConfig)==null?void 0:i.drillHierarchies)||[];return{card:{...n.card,interactionConfig:{...n.card.interactionConfig,drillHierarchies:o.map(a=>a.id===r?{...a,...t}:a)}}}}),setDefaultHierarchy:r=>e(t=>{var o;const n=((o=t.card.interactionConfig)==null?void 0:o.drillHierarchies)||[];return{card:{...t.card,interactionConfig:{...t.card.interactionConfig,drillHierarchies:n.map(i=>({...i,default:i.id===r}))}}}}),updateAllowedDrillTargets:r=>e(t=>({card:{...t.card,interactionConfig:{...t.card.interactionConfig,allowedDrillTargets:r}}})),addDrillTarget:r=>e(t=>{var o;const n=((o=t.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return n.some(i=>i.id===r.id)?t:{card:{...t.card,interactionConfig:{...t.card.interactionConfig,allowedDrillTargets:[...n,r]}}}}),removeDrillTarget:r=>e(t=>{var o;const n=((o=t.card.interactionConfig)==null?void 0:o.allowedDrillTargets)||[];return{card:{...t.card,interactionConfig:{...t.card.interactionConfig,allowedDrillTargets:n.filter(i=>i.id!==r)}}}}),updateInlineDrillPreview:r=>e(t=>({card:{...t.card,config:{...t.card.config,inlineDrillPreview:r}}})),toggleInlineDrillPreview:r=>e(t=>{var n,o,i,a,s;return{card:{...t.card,config:{...t.card.config,inlineDrillPreview:{...(n=t.card.config)==null?void 0:n.inlineDrillPreview,enabled:r,limit:((i=(o=t.card.config)==null?void 0:o.inlineDrillPreview)==null?void 0:i.limit)||5,mode:((s=(a=t.card.config)==null?void 0:a.inlineDrillPreview)==null?void 0:s.mode)||"lazy"}}}}}),updateInteractionConfig:r=>e(t=>({card:{...t.card,interactionConfig:{...t.card.interactionConfig,...r}}})),resetDrillConfiguration:()=>e(r=>({card:{...r.card,interactionConfig:{drillHierarchies:jg,allowedDrillTargets:Ug},config:{...r.card.config,inlineDrillPreview:{enabled:!1,limit:5,mode:"lazy"}}}}))}),hc="en-US";function gc(e,r){if(!(typeof e!="number"||typeof r!="number"))return e===r?r:void 0}function Jt(e){if(typeof e!="string")return;const r=e.trim();if(!(!r||r.toLowerCase()==="none"))return r}function gn(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.max(0,Math.min(10,Math.trunc(e)))}function qg(e){return e==="currency"?2:e==="percent"?1:e==="scientific"?2:0}function Hg(e,r){const t=gn(r.minimumFractionDigits),n=gn(r.maximumFractionDigits);if(typeof t=="number"||typeof n=="number"){const a=t??0,s=n??Math.max(a,2);return{minimumFractionDigits:Math.min(a,s),maximumFractionDigits:Math.max(a,s)}}const o=gn(r.decimals);if(typeof o=="number")return{minimumFractionDigits:o,maximumFractionDigits:o};const i=qg(e);return{minimumFractionDigits:i,maximumFractionDigits:i}}function Le(e,r){const t=Hg(e,r),n=Jt(r.locale),o=Jt(r.currency),i=typeof r.prefix=="string"?r.prefix:void 0,a=typeof r.suffix=="string"?r.suffix:void 0,s={type:e,locale:n,minimumFractionDigits:t.minimumFractionDigits,maximumFractionDigits:t.maximumFractionDigits,useGrouping:typeof r.useGrouping=="boolean"?r.useGrouping:typeof r.thousandsSeparator=="boolean"?r.thousandsSeparator:!0,prefix:i,suffix:a,negativeStyle:r.negativeStyle||"minus",compact:!!r.compact,scale:typeof r.scale=="number"?r.scale:void 0};return e==="currency"&&o&&(s.currency=o),e==="percent"&&(s.percentValueMode=r.percentValueMode||"fraction"),s}function fi(e){return{type:"date",locale:e.locale||hc,pattern:e.pattern,relative:!!e.relative,timezone:e.timezone,sourceTimezone:e.sourceTimezone,prefix:e.prefix,suffix:e.suffix}}function Po(e){return e==="millisecond"||e==="second"||e==="minute"||e==="hour"||e==="day"}function pi(e){const r=gn(e.maxUnits);return{type:"duration",inputUnit:Po(e.inputUnit)?e.inputUnit:"second",outputStyle:e.outputStyle==="digital"||e.outputStyle==="long"?e.outputStyle:"compact",largestUnit:Po(e.largestUnit)?e.largestUnit:void 0,smallestUnit:Po(e.smallestUnit)?e.smallestUnit:"second",maxUnits:r,prefix:e.prefix,suffix:e.suffix,negativeStyle:e.negativeStyle||"minus"}}function vs(e){return{type:"string",prefix:e.prefix,suffix:e.suffix}}function Jn(e){if(!e)return;if(typeof e=="string"){const t=e.trim().toLowerCase();return t==="currency"?Le("currency",{}):t==="percentage"||t==="percent"?Le("percent",{percentValueMode:"fraction"}):t==="scientific"?Le("scientific",{}):t==="date"?fi({}):t==="duration"?pi({}):t==="string"?vs({}):t==="number"?Le("number",{}):void 0}const r=e;if(r.type==="percentage")return Le("percent",{...r,percentValueMode:r.percentValueMode||"fraction"});if(r.type==="number"||r.type==="currency"||r.type==="percent"||r.type==="scientific")return Le(r.type,r);if(r.type==="date")return fi(r);if(r.type==="duration")return pi(r);if(r.type==="string")return vs(r)}function yc(e){if(!(e!=null&&e.type)||e.type==="auto")return;if(e.type==="date")return fi({locale:e.locale,pattern:e.dateFormat,timezone:e.timezone,sourceTimezone:e.sourceTimezone,relative:e.relative,prefix:e.prefix,suffix:e.suffix});if(e.type==="duration")return pi({inputUnit:e.durationInputUnit,outputStyle:e.durationDisplayStyle,largestUnit:e.durationLargestUnit,smallestUnit:e.durationSmallestUnit,maxUnits:e.durationMaxUnits,prefix:e.prefix,suffix:e.suffix,negativeStyle:e.negativeInParentheses?"parentheses":"minus"});if(e.type!=="number"&&e.type!=="currency"&&e.type!=="percent"&&e.type!=="scientific")return;const r=typeof e.decimalPlaces=="number"?e.decimalPlaces:void 0;return Le(e.type,{type:e.type,currency:e.currency,locale:e.locale,prefix:e.prefix,suffix:e.suffix,minimumFractionDigits:e.minimumFractionDigits??r,maximumFractionDigits:e.maximumFractionDigits??r,useGrouping:e.useGrouping,compact:!!e.useSuffix,negativeStyle:e.negativeInParentheses?"parentheses":"minus",scale:e.multiplyBy,percentValueMode:e.type==="percent"?e.percentValueMode||(e.multiplyBy===1?"whole":"fraction"):void 0})}function Wg(e){if(!e)return;const r=Jt(e.currency),t=Jt(e.locale),n=typeof e.prefix=="string"?e.prefix:void 0,o=typeof e.suffix=="string"?e.suffix:void 0,i=r?"currency":o==="%"?"percent":"number";return Le(i,{currency:r,locale:t,prefix:n,suffix:o,minimumFractionDigits:e.minimumFractionDigits,maximumFractionDigits:e.maximumFractionDigits,decimals:e.decimalPlaces,useGrouping:e.useGrouping,percentValueMode:i==="percent"?e.percentValueMode||"whole":void 0})}function Gg(e){if(!e)return;const r=Jt(e.currency),t=Jt(e.locale),n=typeof e.suffix=="string"?e.suffix:void 0,o=r?"currency":n==="%"?"percent":"number";return Le(o,{currency:r,locale:t,suffix:n,minimumFractionDigits:e.minimumFractionDigits,maximumFractionDigits:e.maximumFractionDigits,decimals:e.decimalPlaces,useGrouping:e.useGrouping,percentValueMode:o==="percent"?e.percentValueMode||"whole":void 0})}function Yg(e){if(!e)return;const r=e.style==="currency"?"currency":e.style==="percent"?"percent":e.style==="decimal"?"number":void 0;if(r)return Le(r,{currency:e.currency,locale:e.locale,minimumFractionDigits:e.minimumFractionDigits,maximumFractionDigits:e.maximumFractionDigits,useGrouping:e.useGrouping,percentValueMode:r==="percent"?e.percentValueMode||"whole":void 0})}function Kg(e){const r=Jn(e);if(r){if(r.type==="date")return{type:"date",locale:r.locale,dateFormat:r.pattern,timezone:r.timezone,sourceTimezone:r.sourceTimezone,relative:r.relative,prefix:r.prefix,suffix:r.suffix};if(r.type==="duration")return{type:"duration",durationInputUnit:r.inputUnit,durationDisplayStyle:r.outputStyle,durationLargestUnit:r.largestUnit,durationSmallestUnit:r.smallestUnit,durationMaxUnits:r.maxUnits,prefix:r.prefix,suffix:r.suffix,negativeInParentheses:r.negativeStyle==="parentheses"};if(r.type!=="string")return{type:r.type,locale:r.locale,currency:r.type==="currency"?r.currency:void 0,decimalPlaces:gc(r.minimumFractionDigits,r.maximumFractionDigits),minimumFractionDigits:r.minimumFractionDigits,maximumFractionDigits:r.maximumFractionDigits,useGrouping:r.useGrouping,prefix:r.prefix,suffix:r.suffix,useSuffix:!!r.compact,negativeInParentheses:r.negativeStyle==="parentheses",multiplyBy:r.type==="percent"?r.scale??(r.percentValueMode==="whole"?1:100):r.scale,percentValueMode:r.type==="percent"?r.percentValueMode:void 0}}}function Xg(e){const r=Jn(e);return!r||r.type==="date"||r.type==="duration"||r.type==="string"?void 0:{style:r.type==="currency"?"currency":r.type==="percent"?"percent":r.type==="scientific"?"scientific":"decimal",currency:r.type==="currency"&&r.currency||"USD",locale:r.locale||hc,minimumFractionDigits:r.minimumFractionDigits??0,maximumFractionDigits:r.maximumFractionDigits??2,useGrouping:typeof r.useGrouping=="boolean"?r.useGrouping:!0,percentValueMode:r.type==="percent"?r.percentValueMode||"fraction":"whole",showDataBar:!1,dataBarColor:"#3b82f6",dataBarMinValue:void 0,dataBarMaxValue:void 0}}function Zg(e){const r=Jn(e);if(!(!r||r.type==="date"||r.type==="duration"||r.type==="string"))return{decimalPlaces:gc(r.minimumFractionDigits,r.maximumFractionDigits),minimumFractionDigits:r.minimumFractionDigits,maximumFractionDigits:r.maximumFractionDigits,currency:r.type==="currency"?r.currency:void 0,locale:r.locale,prefix:r.prefix,suffix:r.suffix||(r.type==="percent"?"%":void 0),useGrouping:r.useGrouping,percentValueMode:r.type==="percent"?r.percentValueMode:void 0,enabled:!0}}function Qg(e){var r;return(r=e==null?void 0:e.kpiVisualOptions)!=null&&r.formatOptions?{...e,kpiVisualOptions:{...e.kpiVisualOptions,formatOptions:void 0}}:e}function Jg(e){var i,a,s,l,c,d;if(!e||e.type!=="kpi")return e;const r=(a=(i=e.preferences)==null?void 0:i.kpiVisualOptions)==null?void 0:a.formatOptions;if(!r)return e;const t=(l=(s=e.config)==null?void 0:s.metricColumns)==null?void 0:l[0];if(!t)return e;const n=yc(r)||t.format,o=Qg(e.preferences);return n?{...e,config:{...e.config,metricColumns:[{...t,format:n},...((d=(c=e.config)==null?void 0:c.metricColumns)==null?void 0:d.slice(1))||[]]},preferences:o}:{...e,preferences:o}}const ey=()=>({groupByColumns:[],metricColumns:[],pivotByColumns:[],sortByColumns:[],comparisonType:"none",showTrendline:!1,trendlineWindow:30,trendlineGranularity:"day",targetValue:0});function Cs(e){var t;if(e.type!=="text")return;const r=(t=e.preferences)==null?void 0:t.textVisualOptions;sa(r==null?void 0:r.richContent)||(e.preferences={...e.preferences,textVisualOptions:{...r,content:void 0,richContent:fc()}})}function Gt(e){const r=Jg(e)||e;return{...r,visualizationMode:r.visualizationMode??"builtin"}}function ty(e){return{...e,cards:e.cards.map(r=>Gt(r))}}const zr=_t()(zn((e,r)=>({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:[""]}],inlineFilterValuesMap:{},dataSourceState:{mode:"directSource"},card:{id:"editor-card-id",title:"Editor Card",type:"bar",visualizationMode:"builtin",data:[]},frame:{id:Ke(),cards:[{id:"editor-card-id",title:"Editor Card",type:"bar",visualizationMode:"builtin",data:[]}],activeCardId:"editor-card-id"},modeDrafts:{sqlDraft:null,pythonDraft:null,configDraft:null,originalMode:"none"},actions:{...zg(e),...$g(e,r),...og(e),resetEditorStore:()=>{e(t=>{t.tempQueryData=void 0,t.isDevMode=!1,t.isShowingVisual=!0,t.showAIDialog=!1,t.userInputForAI="",t.triggerAIRun=!1,t.runSql=!1,t.isSqlRunning=!1,t.sqlGen={},t.queryResultColumns=[],t.queryError=void 0,t.pythonStdOut=void 0,t.showFilters=!1,t.applyFilters=!1,t.filterValues=void 0,t.inlineFilterValuesMap={},t.selectedConnectionId=void 0,t.selectedDatamodelId=void 0,t.selectedDatabaseName=void 0,t.selectedSchemaName=void 0,t.selectedTableName=void 0,t.currentAssitantScope=void 0,t.activeTabCardId=void 0,t.editorContext=void 0,t.card={id:"editor-card-id",title:"Editor Card",type:"bar",visualizationMode:"builtin"},t.frame={id:Ke(),cards:[{id:"editor-card-id",title:"Editor Card",type:"bar",visualizationMode:"builtin"}],activeCardId:"editor-card-id"},t.modeDrafts={sqlDraft:null,pythonDraft:null,configDraft:null,originalMode:"none"}})},setEditorFilterMode:(t,n)=>{e(o=>{var a,s;const i=(s=(a=o.card.queryConfig)==null?void 0:a.filterColumns)==null?void 0:s.find(l=>l.name===t);i&&(n==="include"?i.mode="include":i.mode="exclude")})},setCardTitle:t=>{e(n=>{n.card.title=t})},setCardDescription:t=>{e(n=>{n.card.description=t})},setCardInfo:t=>{e(n=>{n.card.info=t})},setCardId:t=>{e(n=>{const o=n.card.id;n.card.id=t,n.frame.cards=n.frame.cards.map(i=>i.id===o?{...i,id:t}:i),n.frame.activeCardId===o&&(n.frame.activeCardId=t),n.activeTabCardId===o&&(n.activeTabCardId=t)})},setCountryLogo:t=>{e(n=>{n.card.preferences||(n.card.preferences={}),n.card.preferences.kpiVisualOptions||(n.card.preferences.kpiVisualOptions={}),n.card.preferences.kpiVisualOptions.countryLogoId=t||void 0})},setQueryConfig:t=>{e(n=>{n.card.queryConfig=t})},addOrderByColumn:t=>{e(n=>{var o;n.card.queryConfig={...n.card.queryConfig,orderBy:[...((o=n.card.queryConfig)==null?void 0:o.orderBy)||[],t]}})},removeOrderByColumn:t=>{e(n=>{var o,i;n.card.queryConfig={...n.card.queryConfig,orderBy:(i=(o=n.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.filter(a=>a.columnId!==t.columnId)}})},updateOrderByColumn:t=>{e(n=>{var o,i;n.card.queryConfig={...n.card.queryConfig,orderBy:(i=(o=n.card.queryConfig)==null?void 0:o.orderBy)==null?void 0:i.map(a=>a.columnId===t.columnId?t:a)}})},setOrderByColumns:t=>{e(n=>{n.card.queryConfig={...n.card.queryConfig,orderBy:t}})},setPivotByColumns:t=>{e(n=>{n.card.queryConfig={...n.card.queryConfig,pivotColumns:t}})},updateEditorFilterValue:(t,n,o)=>{e(i=>{var s,l,c,d,u;const a=(l=(s=i.card.queryConfig)==null?void 0:s.filters)==null?void 0:l.find(p=>p.filterColumnName===t);o&&(i.card.queryConfig={...i.card.queryConfig,filters:(d=(c=i.card.queryConfig)==null?void 0:c.filters)==null?void 0:d.filter(p=>p.filterColumnName!==t)}),a?a.filterValue=n:i.card.queryConfig={...i.card.queryConfig,filters:[...((u=i.card.queryConfig)==null?void 0:u.filters)||[],{filterColumnName:t,filterValue:n}]}})},clearEditorFilter:t=>{e(n=>{var o,i;n.card.queryConfig={...n.card.queryConfig,filters:(i=(o=n.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(a=>a.filterColumnName!==t.name)}})},removeEditorFilter:t=>{e(n=>{var o,i,a,s;n.card.queryConfig={...n.card.queryConfig,filters:(i=(o=n.card.queryConfig)==null?void 0:o.filters)==null?void 0:i.filter(l=>l.filterColumnName!==t.name),filterColumns:(s=(a=n.card.queryConfig)==null?void 0:a.filterColumns)==null?void 0:s.filter(l=>l.id!==t.id)}})},setTempQueryData:t=>{e(n=>{n.tempQueryData=t})},setIsDevMode:t=>{r().actions.switchEditorMode(t?"dev":"standard")},switchEditorMode:(t,n)=>{const o=r().isDevMode?"dev":"standard";if(t===o){n!=null&&n.sqlToLoad&&e(i=>{i.card.sql=n.sqlToLoad});return}e(i=>{var s,l;const a=i.card;n!=null&&n.skipDraftSave||(o==="dev"?(i.modeDrafts.sqlDraft=a.sql||null,i.modeDrafts.pythonDraft=a.python||null):i.modeDrafts.configDraft=a.config?{...a.config}:null),o==="dev"?(i.card.sql=void 0,i.card.python=void 0):i.card.config=void 0,t==="dev"?(i.card.sql=(n==null?void 0:n.sqlToLoad)||i.modeDrafts.sqlDraft||a.sql,i.card.python=i.modeDrafts.pythonDraft||a.python):i.card.config=i.modeDrafts.configDraft||a.config,t==="dev"?(s=a.dataSource)!=null&&s.connectionId&&(i.card.connectionId=a.dataSource.connectionId):a.connectionId&&(i.card.dataSource?i.card.dataSource.connectionId=a.connectionId:i.card.dataSource={connectionId:a.connectionId,connectionType:((l=a.dataSource)==null?void 0:l.connectionType)||"",mode:"database",selectedEntities:[]}),i.isDevMode=t==="dev"})},initializeModeDrafts:t=>{e(n=>{var c,d;const o=!!((c=t.sql)!=null&&c.trim()),i=!!((d=t.python)!=null&&d.trim()),a=o||i,s=Qn(t.config);let l;a&&s?l="both":a?l="dev":s?l="standard":l="none",n.modeDrafts={sqlDraft:null,pythonDraft:null,configDraft:null,originalMode:l},l==="both"&&(n.modeDrafts.configDraft=t.config?{...t.config}:null,n.isDevMode=!0),l==="dev"||l==="both"?n.isDevMode=!0:n.isDevMode=!1})},mergeDraftsIntoCard:()=>{e(t=>{const{sqlDraft:n,pythonDraft:o,configDraft:i}=t.modeDrafts;t.isDevMode?i&&(t.card.config=i):(n&&(t.card.sql=n),o&&(t.card.python=o))})},clearModeDrafts:()=>{e(t=>{t.modeDrafts={sqlDraft:null,pythonDraft:null,configDraft:null,originalMode:"none"}})},setMetricColumns:t=>{e(n=>{n.card.queryConfig={...n.card.queryConfig,metricColumns:t}})},addColumnToMetricColumns:t=>{e(n=>{var o;n.card.queryConfig={...n.card.queryConfig,metricColumns:[...((o=n.card.queryConfig)==null?void 0:o.metricColumns)||[],t]}})},updateMetricColumnOld:(t,n)=>{e(o=>{var i,a;o.card.queryConfig={...o.card.queryConfig,metricColumns:(a=(i=o.card.queryConfig)==null?void 0:i.metricColumns)==null?void 0:a.map(s=>s.id===t?n:s)}})},removeColumnFromMetricColumns:t=>{e(n=>{var o,i,a,s;n.card.queryConfig={...n.card.queryConfig,metricColumns:(i=(o=n.card.queryConfig)==null?void 0:o.metricColumns)==null?void 0:i.filter(l=>l.id!==t)},n.card.queryConfig={...n.card.queryConfig,orderBy:(s=(a=n.card.queryConfig)==null?void 0:a.orderBy)==null?void 0:s.filter(l=>l.columnId!==t)}})},removeColumnFromPivotBy:t=>{e(n=>{var o,i,a,s;n.card.queryConfig={...n.card.queryConfig,pivotColumns:(i=(o=n.card.queryConfig)==null?void 0:o.pivotColumns)==null?void 0:i.filter(l=>l.id!==t)},n.card.queryConfig={...n.card.queryConfig,orderBy:(s=(a=n.card.queryConfig)==null?void 0:a.orderBy)==null?void 0:s.filter(l=>l.columnId!==t)}})},setGroupByColumns:t=>{e(n=>{n.card.queryConfig={...n.card.queryConfig,groupByColumns:t}})},addColumnToGroupBy:t=>{e(n=>{var o;n.card.queryConfig={...n.card.queryConfig,groupByColumns:[...((o=n.card.queryConfig)==null?void 0:o.groupByColumns)||[],t]}})},updateGroupByColumnOld:(t,n)=>{e(o=>{var i,a;o.card.queryConfig={...o.card.queryConfig,groupByColumns:(a=(i=o.card.queryConfig)==null?void 0:i.groupByColumns)==null?void 0:a.map(s=>s.id===t?n:s)}})},updatePivotByColumnOld:(t,n)=>{e(o=>{var i,a;o.card.queryConfig={...o.card.queryConfig,pivotColumns:(a=(i=o.card.queryConfig)==null?void 0:i.pivotColumns)==null?void 0:a.map(s=>s.id===t?n:s)}})},removeColumnFromGroupBy:t=>{e(n=>{var o,i,a,s;n.card.queryConfig={...n.card.queryConfig,groupByColumns:(i=(o=n.card.queryConfig)==null?void 0:o.groupByColumns)==null?void 0:i.filter(l=>l.id!==t)},n.card.queryConfig={...n.card.queryConfig,orderBy:(s=(a=n.card.queryConfig)==null?void 0:a.orderBy)==null?void 0:s.filter(l=>l.columnId!==t)}})},setFilterColumns:t=>{e(n=>{n.card.queryConfig={...n.card.queryConfig,filterColumns:t}})},addColumnToFilterColumns:t=>{e(n=>{var o;n.card.queryConfig={...n.card.queryConfig,filterColumns:[...((o=n.card.queryConfig)==null?void 0:o.filterColumns)||[],t]}})},updateFilterColumn:(t,n)=>{e(o=>{var i,a;o.card.queryConfig={...o.card.queryConfig,filterColumns:(a=(i=o.card.queryConfig)==null?void 0:i.filterColumns)==null?void 0:a.map(s=>s.id===t?n:s)}})},removeColumnFromFilterColumns:t=>{e(n=>{var o,i;n.card.queryConfig={...n.card.queryConfig,filterColumns:(i=(o=n.card.queryConfig)==null?void 0:o.filterColumns)==null?void 0:i.filter(a=>a.id!==t)}})},setCurrentAssitantScope:t=>{e(n=>{n.currentAssitantScope=t})},setLegendOptions:t=>{e(n=>{var o,i,a,s,l,c;n.card.preferences={...n.card.preferences,chartOptions:{...(o=n.card.preferences)==null?void 0:o.chartOptions,plugins:{...(a=(i=n.card.preferences)==null?void 0:i.chartOptions)==null?void 0:a.plugins,legend:{...(c=(l=(s=n.card.preferences)==null?void 0:s.chartOptions)==null?void 0:l.plugins)==null?void 0:c.legend,...t}}}}})},setChartGrid:t=>{e(n=>{var o,i,a,s,l,c,d,u,p,h,v,m,b,S,g;n.card.preferences={...n.card.preferences,chartOptions:{...(o=n.card.preferences)==null?void 0:o.chartOptions,scales:{x:{...(s=(a=(i=n.card.preferences)==null?void 0:i.chartOptions)==null?void 0:a.scales)==null?void 0:s.x,grid:{...(u=(d=(c=(l=n.card.preferences)==null?void 0:l.chartOptions)==null?void 0:c.scales)==null?void 0:d.x)==null?void 0:u.grid,display:t==="x"||t==="xy"}},y:{...(v=(h=(p=n.card.preferences)==null?void 0:p.chartOptions)==null?void 0:h.scales)==null?void 0:v.y,grid:{...(g=(S=(b=(m=n.card.preferences)==null?void 0:m.chartOptions)==null?void 0:b.scales)==null?void 0:S.y)==null?void 0:g.grid,display:t==="y"||t==="xy"}}}}}})},runAssistant:t=>{e(n=>{n.showAIDialog=!0,n.userInputForAI=t,n.triggerAIRun=!0})},setShowAIDialog:t=>{e(n=>{n.showAIDialog=t})},setUserInputForAI:t=>{e(n=>{n.userInputForAI=t})},setTriggerAIRun:t=>{e(n=>{n.triggerAIRun=t})},updateCardTab:(t,n)=>{e(o=>{const i=Gt(n),a=o.frame,s={...a,cards:a.cards.map(c=>c.id===i.id?i:c),activeCardId:t};o.frame=s;const l=s.cards.find(c=>c.id===t);o.card=Gt(l)})},setActiveTabCardId:t=>{e(n=>{n.activeTabCardId=t})},setCustomCardPreferences:t=>{e(n=>{n.card.customCardPreferences=t,n.card.visualizationMode="builtin"})},setVisualizationMode:t=>{e(n=>{n.card.visualizationMode=t,t==="builtin"&&n.card.dynamicCardPreferences&&(n.card=ic(n.card))})},setDynamicCardPreferences:t=>{e(n=>{n.card.dynamicCardPreferences=t})},setChartOrientation:t=>{e(n=>{var a,s,l,c,d,u;const o=n.card.preferences;let i={};((a=o==null?void 0:o.chartOptions)==null?void 0:a.indexAxis)!==t&&(i={x:(l=(s=o==null?void 0:o.chartOptions)==null?void 0:s.scales)==null?void 0:l.y,y:(d=(c=o==null?void 0:o.chartOptions)==null?void 0:c.scales)==null?void 0:d.x}),n.card.preferences={...o,chartOptions:{...o==null?void 0:o.chartOptions,scales:{...(u=o==null?void 0:o.chartOptions)==null?void 0:u.scales,...i},indexAxis:t}}})},setLowerIsBetter:t=>{e(n=>{var o;n.card.preferences={...n.card.preferences,kpiVisualOptions:{...(o=n.card.preferences)==null?void 0:o.kpiVisualOptions,lowerIsBetter:t}}})},setValueAlignment:t=>{e(n=>{var o;n.card.preferences={...n.card.preferences,kpiVisualOptions:{...(o=n.card.preferences)==null?void 0:o.kpiVisualOptions,valueAlignment:t}}})},setSortChart:t=>{e(n=>{n.card.preferences={...n.card.preferences,sortChart:t}})},setCustomVisualCode:t=>{e(n=>{n.card.preferences={...n.card.preferences,customVisualCode:t}})},setNumberFormat:(t,n,o,i)=>{e(a=>{var s,l,c;a.card.preferences={...(s=a.card)==null?void 0:s.preferences,formatNumber:{...(c=(l=a.card)==null?void 0:l.preferences)==null?void 0:c.formatNumber,decimalPlaces:t,currency:n,locale:o,suffix:i,enabled:!0}}})},setColorRanges:t=>{e(n=>{var o,i;n.card.preferences={...n.card.preferences,formatNumber:{...(i=(o=n.card)==null?void 0:o.preferences)==null?void 0:i.formatNumber,colorRanges:t}}})},setQueryResultColumns:t=>{e(n=>{n.queryResultColumns=t})},setCardPreferences:t=>{e(n=>{n.card.preferences=t})},setFilterOnClickColumnIndex:t=>{e(n=>{n.card.preferences={...n.card.preferences,filterOnClickColumnIndex:t}})},setFilterOnClickField:t=>{e(n=>{n.card.preferences={...n.card.preferences,filterOnClick:!0,filterOnClickField:t}})},setCardRefreshInterval:t=>{e(n=>{n.card.refreshInterval=t})},setIsShowingVisual:t=>{e({isShowingVisual:t})},setRunSql:t=>{e({runSql:t})},setIsSqlRunning:t=>{e({isSqlRunning:t})},clearQueryConfig:()=>{e(t=>{t.card.queryConfig=void 0})},updateCardInFrame:t=>{e(n=>{const o=Gt(t);n.frame.cards=n.frame.cards.map(i=>i.id===o.id?o:i)})},setFrame:t=>{e({frame:ty(t)})},replaceFrameCards:t=>{const n=t.map(o=>Gt(o));e(o=>{var i,a;o.frame.cards=n,o.frame.activeCardId=((i=n[0])==null?void 0:i.id)||"",o.card=n[0]||o.card,o.activeTabCardId=((a=n[0])==null?void 0:a.id)||null})},setCard:t=>{e({card:Gt(t)})},switchCardType:t=>{e(n=>{n.card.type=t,n.card.visualizationMode="builtin",n.card.sql="",n.card.python="",n.card.customCfg={},n.card.preferences={},Cs(n.card)})},setCardType:t=>{e(n=>{var i;const o=n.card.type;if(n.card.type=t,n.card.visualizationMode="builtin",t==="text"&&o!=="text"&&Cs(n.card),t==="range"&&(n.card.preferences={...n.card.preferences,chartOptions:{...(i=n.card.preferences)==null?void 0:i.chartOptions,indexAxis:"y"}}),t==="kpi"){const a=n.card.config??{},s=a.groupByColumns||[],l=a.metricColumns||[],c=s.find(p=>Oe(p.dataType)==="date");let d=[],u=[];c?(d=[c],u=l.slice(0,2)):(d=[],u=l.slice(0,3)),n.card.config={...a,groupByColumns:d,metricColumns:u,pivotByColumns:[],sortByColumns:[],comparisonType:a.comparisonType||"none",showTrendline:!1,trendlineWindow:30,trendlineGranularity:"day",targetValue:0}}})},setCardSql:t=>{e(n=>{n.card.sql=t})},setCardPython:t=>{e(n=>{n.card.python=t})},setPythonStdOut:t=>{e(n=>{n.pythonStdOut=t})},setCardConfig:t=>{e(n=>{n.card.config=t})},setCardCustomCfg:t=>{e(n=>{n.card.customCfg=t})},setShowFilters:t=>{e(n=>{n.showFilters=t})},setApplyFilters:t=>{e(n=>{n.applyFilters=t})},setFilterValues:t=>{e(n=>{n.filterValues=t})},setInlineFilterValuesMap:t=>{e(n=>{n.inlineFilterValuesMap=t})},setCardInlineFilterValue:(t,n)=>{e(o=>{o.inlineFilterValuesMap[t]||(o.inlineFilterValuesMap[t]=[]);const i=o.inlineFilterValuesMap[t].findIndex(a=>a.filterId===n.filterId);i>=0?o.inlineFilterValuesMap[t][i]=n:o.inlineFilterValuesMap[t].push(n)})},removeCardInlineFilterValue:(t,n)=>{e(o=>{o.inlineFilterValuesMap[t]&&(o.inlineFilterValuesMap[t]=o.inlineFilterValuesMap[t].filter(i=>i.filterId!==n))})},setSqlGen:t=>{e(n=>{n.sqlGen=t})},setSqlGenMeasure:(t,n)=>{e(o=>{o.sqlGen.measures=[...o.sqlGen.measures||[],{name:t,calc:n}]})},setSqlGenDimension:t=>{e(n=>{n.sqlGen.dimensions=[...n.sqlGen.dimensions||[],t]})},setSelectedDatamodelId:t=>{var n,o;e(i=>{i.selectedDatamodelId=t,i.card.datamodelId=t}),(o=(n=r()).onDatamodelChange)==null||o.call(n,t)},setSelectedConnectionId:t=>{var n,o;e(i=>{i.selectedConnectionId=t,i.card.connectionId=t}),(o=(n=r()).onConnectionChange)==null||o.call(n,t)},setSelectedDatabaseName:t=>{var n,o;e(i=>{i.selectedDatabaseName=t,i.card.lastSelectedDatabase=t}),(o=(n=r()).onDatabaseChange)==null||o.call(n,t)},setSelectedSchemaName:t=>{var n,o;e(i=>{i.selectedSchemaName=t,i.card.lastSelectedSchema=t}),(o=(n=r()).onSchemaChange)==null||o.call(n,t)},setSelectedTableName:t=>{var n,o;e(i=>{i.selectedTableName=t,i.card.lastSelectedTable=t}),(o=(n=r()).onTableChange)==null||o.call(n,t)},setOnConnectionChange:t=>{e({onConnectionChange:t})},setOnDatabaseChange:t=>{e({onDatabaseChange:t})},setOnSchemaChange:t=>{e({onSchemaChange:t})},setOnTableChange:t=>{e({onTableChange:t})},setOnSave:t=>{e({onSave:t})},setOnClose:t=>{e({onClose:t})},setEditorContext:t=>{e({editorContext:t})},clearEditorContext:()=>{e({editorContext:void 0})}}}))),ry=()=>zr(e=>e.actions);et.subscribe("dashboard:load",()=>{zr.getState().actions.resetEditorStore()});et.subscribe("dashboard:unload",()=>{zr.getState().actions.resetEditorStore()});function la(e){return!e.entityName||e.entityName===xn.CALCULATED_FIELD_ENTITY_MARKER||e.entityName==="calculated_fields"||e.qualifiedEntityName===xn.CALCULATED_FIELD_ENTITY_MARKER||e.qualifiedEntityName==="calculated_fields"?"root":e.qualifiedEntityName||e.entityName}function An(e){return e!=null&&e.startsWith("card-source-")?e.replace("card-source-",""):e}function Dn(e){return["domain",e.role||"field",la(e),e.name].join("::")}function ny(e){if("expression"in e)return e.expression||void 0}function Et(e){return[e.role||"field",la(e),e.name,ny(e)||""].join("::")}function oy(e){if(e.fieldScope==="domain")return`domain:${Dn(e)}`;const r=An(e.id);return r?`id:${r}`:`fallback:${Et(e)}`}function eo(e,r,t){if(e.fieldScope==="domain"&&r.fieldScope==="domain")return Dn(e)===Dn(r);const n=An(e.id),o=An(r.id);return n&&o?n===o||!!(t!=null&&t.allowComparableFallback)&&Et(e)===Et(r):Et(e)===Et(r)}function bc(e,r,t){return e.findIndex(n=>eo(n,r,t))}function vc(e){const r=new Map;return e.forEach(t=>{const n=oy(t);r.has(n)||r.set(n,t)}),Array.from(r.values())}function iy(e,r,t,n){var a;const i=bc(e,t||r,n);if(i>=0){const s=(a=e[i])==null?void 0:a.id,l=s&&s!==r.id?{...r,id:s}:r;return e.map((c,d)=>d===i?l:c)}return[...e,r]}function ay(e,r,t){return e.filter(n=>!eo(n,r,t))}function sy(e){return new Set(e.map(Et))}function Cc(e){return!!(e&&Object.prototype.hasOwnProperty.call(e,"calculatedFields"))}function Ft(...e){return vc(e.flatMap(r=>r||[]))}function or(e,r){return{...e,fieldScope:r}}function ca(e){return((e==null?void 0:e.calculatedFields)||[]).filter(r=>r.fieldScope==="sheet").map(r=>or(r,"sheet"))}function Sc(e){return((e==null?void 0:e.calculatedFields)||[]).filter(r=>!r.fieldScope).map(r=>or(r,"sheet"))}function ly(e){return e?[...(e.calculatedFields||[]).filter(r=>r.fieldScope==="dashboard"),...(e.frames||[]).flatMap(r=>r.calculatedFields||[])].map(r=>or(r,"dashboard")):[]}function xc(e){if(e!==void 0)return Ft(e.map(r=>or(r,"dashboard")))}function Ss(e){var n;const r=[],t=(e.sheets||[]).map(o=>{var i;return r.push(...ly(o)),{...o,calculatedFields:Ft(ca(o),Sc(o)),frames:(i=o.frames)==null?void 0:i.map(a=>a.calculatedFields===void 0?a:{...a,calculatedFields:void 0})}});return{...e,calculatedFields:xc(Ft((n=e.calculatedFields)==null?void 0:n.map(o=>or(o,"dashboard")),r)),sheets:t}}function xs(e,r){var o;if(!((o=e==null?void 0:e.frames)!=null&&o.length))return[];const t=r?e.frames.find(i=>i.id===r):void 0,n=e.frames.filter(i=>!r||i.id!==r);return Ft(t==null?void 0:t.calculatedFields,...n.map(i=>i.calculatedFields))}function cy(e,r){return e?ca(e):[]}function dy(e,r){if(!e)return[];const t=ca(e),n=Sc(e),o=Ft(t,n);return Cc(e)?o.length===0?[]:n.length===0?o:Ft(o,xs(e,r)):xs(e,r)}function _o(e){if(e!==void 0)return Ft(e.map(r=>or(r,"sheet")))}function uy(e){const{field:r,sheetFields:t=[],dashboardFields:n=[]}=e,o=s=>s.find(l=>eo(l,r,{allowComparableFallback:!0}));if(r.fieldScope==="sheet")return{scope:"sheet",matchedField:o(t)};if(r.fieldScope==="dashboard")return{scope:"dashboard",matchedField:o(n)};const i=o(t);if(i)return{scope:"sheet",matchedField:i};const a=o(n);return a?{scope:"dashboard",matchedField:a}:{scope:"card"}}const wc="MMM D, YYYY [at] h:mm A";function yn(){return{version:1,page:{size:"letter",orientation:"portrait",margins:{top:.5,right:.5,bottom:.5,left:.5,unit:"in"}},runtime:{generatedAtFormat:wc},inputs:[],sections:[]}}function fy(){return{region:"header",enabled:!0,heightPx:72,layout:{type:"preset",preset:"mvp_header"},blocks:[]}}function py(){return{region:"footer",enabled:!0,heightPx:40,layout:{type:"preset",preset:"mvp_footer"},blocks:[]}}function Ic(e){return[{type:"text",value:e}]}function my(e,r=[]){return(e==null?void 0:e.map(t=>t.type==="text"?t.value:hy(t.ref,r)).join(""))||""}function hy(e,r){if(e.source==="documentMeta")return r.some(o=>o.variableName===e.key)?`{{document.${e.key}}}`:`{{${e.key}}}`;const t=r.find(n=>n.id===e.inputId);return`{{${(t==null?void 0:t.variableName)||e.inputId}.${e.export}}}`}function gy(e,r){return e.find(t=>t.type==="text"&&t.role===r)}function yy(e,r){return e.find(t=>t.type==="image"&&t.role===r)}function by(e,r){const t={...r,type:"text",content:typeof r.content=="string"?Ic(r.content):r.content};return Ec(e,t)}function vy(e,r){return Ec(e,r)}function Ec(e,r){const t=e.findIndex(n=>n.id===r.id);return t===-1?[...e,r]:e.map((n,o)=>o===t?r:n)}function da(e){return(e==null?void 0:e.kind)==="document"}function ua(e){return(e||[]).filter(r=>!da(r))}const Cy=ua;function Tc(e){return e==="dashboard"?[{value:"toolbar",label:"Toolbar"},{value:"advanced",label:"More controls"}]:[{value:"card_header",label:"Header"},{value:"advanced",label:"More options"}]}const Sy=[{value:"saved_default",label:"Use configured default"},{value:"embed_required",label:"From embedding app"}],Fc=["COUNT","SUM","AVG","MIN","MAX","MEDIAN","DISTINCT"],Ac=["day","week","month","quarter","year","hour","minute","second"];function Rn(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").replace(/_{2,}/g,"_")}function to(e){return e==="boolean"?[{value:"true",label:"True"},{value:"false",label:"False"}]:e==="grain_selector"?Ac.map(r=>({value:r,label:r.charAt(0).toUpperCase()+r.slice(1)})):e==="aggregation_selector"?Fc.map(r=>({value:r,label:r==="COUNT"?"Count":r==="DISTINCT"?"Distinct":r.charAt(0)+r.slice(1).toLowerCase()})):null}function xy(e){return e==="enum"||e==="multi_enum"||e==="aggregation_selector"||e==="grain_selector"}function wy(e,r,t=[]){let n=r.length+1,o=`${e}_control_${n}`;const i=new Set(t);for(;r.some(a=>a.id===o)||i.has(o);)n+=1,o=`${e}_control_${n}`;return{id:o,label:`New ${e==="dashboard"?"Dashboard":"Card"} Control`,scope:e,type:"enum",source:{kind:"manual",options:[{value:"option_a",label:"Option A"},{value:"option_b",label:"Option B"}]},initialValueStrategy:"saved_default",defaultValue:"option_a",requiredAtExecution:!0,placement:e==="dashboard"?"toolbar":"card_header"}}function Iy(e,r){const t=new Set;for(const n of e.controls||[])t.add(n.id);for(const n of e.sheets||[]){for(const o of n.cards||[])if(o.id!==(r==null?void 0:r.excludeCardId))for(const i of o.controls||[])t.add(i.id);for(const o of n.frames||[])for(const i of o.cards||[])if(i.id!==(r==null?void 0:r.excludeCardId))for(const a of i.controls||[])t.add(a.id)}return Array.from(t)}function fa(e){const r=to(e.type);return r?{...e,source:{kind:"manual",options:r}}:(e.source.kind==="manual",e)}function Ey(e){return xy(e.type)}function Ty(e,r){const t=r.trim();if(t.length!==0)switch(e.type){case"number":return Number(t);case"boolean":return t==="true";case"multi_enum":return t.split(",").map(n=>n.trim()).filter(Boolean);default:return t}}function Fy(e){const r=(o,i)=>i==="field_selector"||i==="metric_selector"?{kind:"manual",options:[]}:{kind:"manual",options:to(i)??(o.source.kind==="manual"?o.source.options:[])},t=e.controls.map(o=>o.id===e.controlId?{...o,type:e.nextType,source:r(o,e.nextType),defaultValue:void 0}:o);if(!e.defaultValues)return{controls:t};const n={...e.defaultValues};return delete n[e.controlId],{controls:t,defaultValues:n}}function Ay(e,r){return[...(r||[]).filter(n=>n.target==="sql_param"),...e]}function Dy(e){var o,i,a,s,l,c;const r=((i=(o=e.config)==null?void 0:o.metricColumns)==null?void 0:i.map(d=>`${d.id} (${d.label})`))||[],t=((s=(a=e.config)==null?void 0:a.groupByColumns)==null?void 0:s.map(d=>`${d.id} (${d.label})`))||[],n=((c=(l=e.config)==null?void 0:l.groupByColumns)==null?void 0:c.filter(d=>["date","datetime"].includes((d.dataType||"").toLowerCase())).map(d=>`${d.id} (${d.label})`))||[];return{config_metric_selector:r,config_field_selector:t,config_aggregation:Fc,config_grain:n.length>0?Ac:[]}}const Ry={config_metric_selector:new Set(["metric_selector"]),config_field_selector:new Set(["field_selector"]),config_aggregation:new Set(["aggregation_selector"]),config_grain:new Set(["grain_selector"])};function Py(e,r){return Ry[r].has(e)}function _y(e,r){return Py(e.type,r)}function Oy(e){const r=My(e.card);return e.control?r.filter(t=>_y(e.control,t.value)):r}function My(e){var t,n,o;const r=[];return(((t=e.config)==null?void 0:t.metricColumns)||[]).length>0&&(r.push({value:"config_metric_selector",label:"Metric Selector"}),r.push({value:"config_aggregation",label:"Aggregation"})),(((n=e.config)==null?void 0:n.groupByColumns)||[]).length>0&&r.push({value:"config_field_selector",label:"Group By Selector"}),(((o=e.config)==null?void 0:o.groupByColumns)||[]).some(i=>["date","datetime"].includes((i.dataType||"").toLowerCase()))&&r.push({value:"config_grain",label:"Time Grain"}),r}function pa(e){const r=new Set;return e.filter(t=>r.has(t.value)?!1:(r.add(t.value),!0))}function qr(e){return[...e].sort((r,t)=>r.label.localeCompare(t.label,void 0,{numeric:!0,sensitivity:"base"}))}function Dc(e,r){return Rn(e)||Rn(r)||r}function Rc(e){return e.role==="metric"||Oe(e.dataType||"")==="number"}function Ny(e){return!Rc(e)}function ky(e){return{...e,role:"groupby"}}function Ly(e,r="SUM"){return{...e,role:"metric",aggregate:e.aggregate||r}}function Vy(e){const r=new Map,t={};return e.filter(Ny).filter(n=>typeof n.id=="string"&&n.id.length>0).forEach(n=>{const o=n.label||n.name||n.id,i=Dc(o,n.name||n.id);r.has(i)||r.set(i,{value:i,label:o}),t[i]||(t[i]=ky(n))}),{choices:qr(Array.from(r.values())),targetMap:t}}function By(e,r="SUM"){const t=new Map,n={};return e.filter(Rc).filter(o=>typeof o.id=="string"&&o.id.length>0).forEach(o=>{const i=o.label||o.name||o.id,a=Dc(i,o.name||o.id);t.has(a)||t.set(a,{value:a,label:i}),n[a]||(n[a]=Ly(o,r))}),{choices:qr(Array.from(t.values())),targetMap:n}}function $y(e){var r;return qr(pa((((r=e==null?void 0:e.config)==null?void 0:r.groupByColumns)||[]).filter(t=>typeof t.id=="string"&&t.id.length>0).map(t=>({value:t.id,label:t.label||t.id}))))}function jy(e){var r;return qr(pa((((r=e==null?void 0:e.config)==null?void 0:r.metricColumns)||[]).filter(t=>typeof t.id=="string"&&t.id.length>0).map(t=>({value:t.id,label:t.label||t.id}))))}function Uy(e){if(e.length===0)return[];const r=new Map,t=new Map;return e.forEach(n=>{pa(n).forEach(i=>{r.set(i.value,(r.get(i.value)||0)+1),t.has(i.value)||t.set(i.value,i.label)})}),qr(Array.from(r.entries()).filter(([,n])=>n===e.length).map(([n])=>({value:n,label:t.get(n)||n})))}function ma(e){return e==="field_selector"||e==="metric_selector"}function Pc(e,r){var t;if(e.source.kind==="manual")return(t=e.source.options.find(n=>n.value===r))==null?void 0:t.presentation}function _c(e,r){return r?{...e,...r.granularity?{granularity:r.granularity}:{},...r.dateFormat?{dateFormat:r.dateFormat}:{},...r.customFormat!==void 0?{customFormat:r.customFormat}:{}}:e}function zy(e,r){return e.filter(t=>t.canBindStructuralControl&&(r==="field_selector"?t.fieldChoices.length>0:r==="metric_selector"?t.metricChoices.length>0:!1))}function qy(e){const r=e.participants.filter(n=>e.selectedCardIds.includes(n.cardId));if(r.length===0)return[];const t=r.map(n=>e.controlType==="field_selector"?n.fieldChoices:n.metricChoices);return Uy(t)}function Hy(e){var i,a;const r=e.participants.filter(s=>e.selectedCardIds.includes(s.cardId)),t=qy(e),n={},o={};for(const s of t)for(const l of r){if(e.controlType==="field_selector"&&((i=l.fieldTargetMap)!=null&&i[s.value])){n[s.value]=l.fieldTargetMap[s.value];break}if(e.controlType==="metric_selector"&&((a=l.metricTargetMap)!=null&&a[s.value])){o[s.value]=l.metricTargetMap[s.value];break}}return{choices:t,fieldTargetMap:n,metricTargetMap:o}}function Wy(e){if(!ma(e.control.type)||e.control.source.kind!=="manual")return e.control;const r=new Set(e.choices.map(n=>n.value)),t=e.control.source.options.filter(n=>r.has(n.value));return{...e.control,source:{kind:"manual",options:t.length>0||e.choices.length===0?t:e.choices.map(n=>({value:n.value,label:n.label}))}}}function Gy(e){return!ma(e.control.type)||e.control.source.kind!=="manual"?e.control:Wy(e)}function Yy(e){if(e.control.type!=="field_selector"&&e.control.type!=="metric_selector")return{};if(e.control.source.kind!=="manual")return{};const r=e.control.type==="field_selector"?"config_field_selector":"config_metric_selector",t=e.control.source.options.map(n=>n.value);return Object.fromEntries(e.participants.filter(n=>e.selectedCardIds.includes(n.cardId)).filter(n=>n.canBindStructuralControl).map(n=>{const o=r==="config_field_selector"?n.fieldChoices:n.metricChoices,i=new Set(o.map(l=>l.value)),a=r==="config_field_selector"?n.fieldTargetMap||{}:n.metricTargetMap||{},s=Object.fromEntries(t.filter(l=>i.has(l)).filter(l=>!!a[l]).map(l=>{const c=a[l];return r==="config_field_selector"?[l,_c(c,Pc(e.control,l))]:[l,c]}));return[n.cardId,[{controlId:e.control.id,target:r,mapping:s}]]}))}function Ky(e,r){if(!e||e.length===0)return e;const t=new Map(r.map(n=>[n.id,n]));return e.map(n=>{if(n.target!=="config_field_selector")return n;const o=t.get(n.controlId);if(!o||o.source.kind!=="manual")return n;const i=Object.fromEntries(Object.entries(n.mapping).map(([a,s])=>[a,_c(s,Pc(o,a))]));return{...n,mapping:i}})}function Oc(e){return e==="field_selector"||e==="metric_selector"||e==="aggregation_selector"||e==="grain_selector"}function Xy(e){return e===xn.CONTROL_CARD_DEFAULT_VALUE}const mi="__semaphor_ui_option_",Zy={clear:"__semaphor_ui_clear__",noDefault:"__semaphor_ui_no_default__",cardDefault:"__semaphor_ui_card_default__"};function Mc(e){return`${mi}${e}`}function Qy(e,r){if(r===void 0)return;const t=e.findIndex(n=>n.value===r);if(t!==-1)return Mc(t)}function Jy(e,r){if(!r.startsWith(mi))return;const t=Number(r.slice(mi.length));if(!(!Number.isInteger(t)||t<0))return e[t]}function Nc(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):typeof e=="string"?[e]:[]}const Fr=[{value:"enum",label:"Dropdown",description:"Choose a single option from a list."},{value:"multi_enum",label:"Multi-select",description:"Choose multiple options from a list."},{value:"boolean",label:"Toggle",description:"Switch between true and false."},{value:"number",label:"Number",description:"Enter a numeric value."},{value:"date",label:"Date",description:"Pick a calendar date."},{value:"text",label:"Text",description:"Enter freeform text."},{value:"grain_selector",label:"Time grain",description:"Day, week, month, quarter, or year."},{value:"aggregation_selector",label:"Aggregation",description:"Count, sum, average, and more."},{value:"field_selector",label:"Group by field",description:"Switch which field the card groups by."},{value:"metric_selector",label:"Displayed metric",description:"Switch which metric the card shows."}],eb={enum:"Dropdown",multi_enum:"Multi-select",boolean:"Toggle",number:"Number",date:"Date",text:"Text",field_selector:"Group By Field",metric_selector:"Metric",aggregation_selector:"Aggregation",grain_selector:"Time Grain"};function tb(e){return Fr.find(r=>r.value===e)||Fr[0]}function rb(e){var a;const r=e,t=new Set(["grain_selector","aggregation_selector","field_selector","metric_selector"]),o=(r==null?void 0:r.scope)==="card"&&((a=r.card)==null?void 0:a.sql)==null?Fr.filter(s=>t.has(s.value)):Fr;if(!(r!=null&&r.includeType)||o.some(s=>s.value===r.includeType))return o;const i=Fr.find(s=>s.value===r.includeType);return i?[...o,i]:o}function nb(e,r){return e==="dashboard"?r==="advanced"?"More controls":"Toolbar":r==="advanced"?"More options":"Header"}function ob(e){var r;return((r=Tc(e)[0])==null?void 0:r.value)||"toolbar"}function ib(e){const r=fa(e);if(r.type==="boolean")return"True, False";if(r.source.kind==="sql_query")return"SQL query";const t=r.source.kind==="manual"?r.source.options.map(n=>n.label||n.value).filter(Boolean):[];return t.length===0?"No choices yet":t.length<=3?t.join(", "):`${t.slice(0,3).join(", ")} +${t.length-3} more`}function ab(e){return Array.isArray(e)?e.length>0:e!=null&&String(e).trim().length>0}function kc(e,r){var i,a;const t=to(e.type),n=fa(e),o=(t??(n.source.kind==="manual"?n.source.options:[])).map(s=>s.value);if(e.type==="boolean")return typeof r=="boolean"?r:!1;if(e.type==="multi_enum"){const s=Nc(r),l=n.source.kind==="sql_query";if(s.length>0){const d=o.length>0?s.filter(u=>o.includes(u)):l?s:[];if(d.length>0)return d}const c=o[0];return c?[c]:l?void 0:[]}if(Oc(e.type)&&Xy(r))return xn.CONTROL_CARD_DEFAULT_VALUE;if(r!==void 0&&(o.length===0||typeof r=="string"&&o.includes(r)))return r;if(e.type==="grain_selector")return"month";if(e.type==="aggregation_selector")return"SUM";if((i=t==null?void 0:t[0])!=null&&i.value)return t[0].value;if(n.source.kind==="manual"&&((a=n.source.options[0])!=null&&a.value))return n.source.options[0].value}function ws(e){return JSON.stringify({connectionId:e.connectionId,sql:e.sql,valueColumn:e.valueColumn})}function sb(e){const{previousControl:r,nextControl:t,currentDefaultValue:n}=e;if(!(r.source.kind!=="sql_query"&&t.source.kind==="sql_query")&&!(r.source.kind==="sql_query"&&t.source.kind==="sql_query"&&ws(r.source)!==ws(t.source)))return kc(t,n)}function Lc(e){const{control:r,defaultValues:t}=e;return t&&Object.prototype.hasOwnProperty.call(t,r.id)?t[r.id]:r.defaultValue}function lb(e,r){return e.scope!=="dashboard"||e.source.kind!=="sql_query"?e:e.initialValueStrategy==="embed_required"?e.requiredAtExecution?e:{...e,requiredAtExecution:!0}:e}function Is(e){return e.initialValueStrategy!=="embed_required"}function Vc(e){const r={},t=new Map(e.controls.map(n=>[n.id,n]));for(const n of e.controls){if(!Is(n))continue;const o=Lc({control:n,defaultValues:e.defaultValues});o!==void 0&&(r[n.id]=o)}for(const n of e.overrides||[]){const o=t.get(n.controlId);if(o&&!Is(o)){delete r[n.controlId];continue}if(n.value===void 0){delete r[n.controlId];continue}r[n.controlId]=n.value}return r}function cb(e){const r=new Set(e.reservedIds),t=new Set(e.existingControls.map(a=>a.id)),n=Rn(e.label)||e.fallbackId;if(!t.has(n)&&!r.has(n))return n;let o=2,i=`${n}_${o}`;for(;t.has(i)||r.has(i);)o+=1,i=`${n}_${o}`;return i}function hi(e,r,t){var n,o,i,a,s,l,c;switch(r.runtimeScope){case"shared":return(n=e==null?void 0:e.shared)==null?void 0:n[r.id];case"perSheet":return t.sheetId?(i=(o=e==null?void 0:e.bySheetId)==null?void 0:o[t.sheetId])==null?void 0:i[r.id]:void 0;case"perCard":return t.cardId?(s=(a=e==null?void 0:e.byCardId)==null?void 0:a[t.cardId])==null?void 0:s[r.id]:void 0;case"perDocumentSection":return t.sectionId?(c=(l=e==null?void 0:e.byDocumentSectionId)==null?void 0:l[t.sectionId])==null?void 0:c[r.id]:void 0;default:return}}function gi(e,r,t,n){var i,a,s,l,c,d;const o=$c(e);switch(r.runtimeScope){case"shared":return o.shared||(o.shared={}),o.shared[r.id]=n,_e(o);case"perSheet":return t.sheetId?(o.bySheetId||(o.bySheetId={}),(i=o.bySheetId)[a=t.sheetId]||(i[a]={}),o.bySheetId[t.sheetId][r.id]=n,_e(o)):o;case"perCard":return t.cardId?(o.byCardId||(o.byCardId={}),(s=o.byCardId)[l=t.cardId]||(s[l]={}),o.byCardId[t.cardId][r.id]=n,_e(o)):o;case"perDocumentSection":return t.sectionId?(o.byDocumentSectionId||(o.byDocumentSectionId={}),(c=o.byDocumentSectionId)[d=t.sectionId]||(c[d]={}),o.byDocumentSectionId[t.sectionId][r.id]=n,_e(o)):o;default:return o}}function db(e,r,t){var o,i,a,s,l,c,d;const n=$c(e);switch(r.runtimeScope){case"shared":(o=n.shared)==null||delete o[r.id];break;case"perSheet":t.sheetId&&((a=(i=n.bySheetId)==null?void 0:i[t.sheetId])==null||delete a[r.id]);break;case"perCard":t.cardId&&((l=(s=n.byCardId)==null?void 0:s[t.cardId])==null||delete l[r.id]);break;case"perDocumentSection":t.sectionId&&((d=(c=n.byDocumentSectionId)==null?void 0:c[t.sectionId])==null||delete d[r.id]);break}return _e(n)}function ub(e){const r=hi(e.runtimeValues,e.input,e.target);if(r)return r;const t=hi(e.dashboard.defaultInputValues,e.input,e.target);return t||Bc(e.input,e.timezone)}function Bc(e,r){if(e.kind==="filter"){const o=Zn(e.filter,r);return o?{status:"set",value:{kind:"filter",filterValue:o}}:void 0}const t=Vc({controls:[e.control]}),n=Object.prototype.hasOwnProperty.call(t,e.control.id)?t[e.control.id]:na(e.control);return n!==void 0?{status:"set",value:{kind:"control",value:n}}:void 0}function fb(e){return e?{status:"set",value:{kind:"filter",filterValue:e}}:void 0}function pb(e){return e!==void 0?{status:"set",value:{kind:"control",value:e}}:void 0}function $c(e){return{shared:e!=null&&e.shared?{...e.shared}:void 0,bySheetId:Oo(e==null?void 0:e.bySheetId),byCardId:Oo(e==null?void 0:e.byCardId),byDocumentSectionId:Oo(e==null?void 0:e.byDocumentSectionId)}}function _e(e){const r={};e.shared&&Object.keys(e.shared).length>0&&(r.shared=e.shared);const t=Mo(e.bySheetId);t&&(r.bySheetId=t);const n=Mo(e.byCardId);n&&(r.byCardId=n);const o=Mo(e.byDocumentSectionId);return o&&(r.byDocumentSectionId=o),r}function Oo(e){if(e)return Object.fromEntries(Object.entries(e).map(([r,t])=>[r,{...t}]))}function Mo(e){if(!e)return;const r=Object.fromEntries(Object.entries(e).filter(([,t])=>Object.keys(t).length>0));return Object.keys(r).length>0?r:void 0}function an(){return{domainsById:{}}}function No(e,r){if(r)for(const[t,n]of Object.entries(r.domainsById))e.domainsById[t]||(e.domainsById[t]={datasetsByName:{}}),Object.assign(e.domainsById[t].datasetsByName,n.datasetsByName)}function mb(e){var n;const r=new Set,t=o=>{o!=null&&o.id&&r.add(o.id)};for(const o of(e==null?void 0:e.cards)||[])t(o);for(const o of(e==null?void 0:e.frames)||[])for(const i of o.cards||[])t(i);for(const o of((n=e==null?void 0:e.document)==null?void 0:n.sections)||[])(o.type==="table"||o.type==="chart")&&t(o.card);return r}function hb(e){var r;return new Set((((r=e==null?void 0:e.document)==null?void 0:r.sections)||[]).map(t=>t.id))}function gb({inputs:e,sheetId:r,deletedCardIds:t}){if(!(e!=null&&e.length))return{inputs:e,removedInputIds:new Set};const n=[],o=new Set;for(const i of e){if(i.scope.kind==="sheets"){const a=i.scope.sheetIds.filter(s=>s!==r);a.length>0?n.push({...i,scope:{...i.scope,sheetIds:a}}):o.add(i.id);continue}if(i.scope.kind==="documentSections"&&i.scope.sheetId===r){o.add(i.id);continue}if(i.scope.kind==="cards"){const a=i.scope.cardIds.filter(s=>!t.has(s));a.length>0?n.push({...i,scope:{...i.scope,cardIds:a}}):o.add(i.id);continue}n.push(i)}return{inputs:n,removedInputIds:o}}function Es(e,r){var t;if(!(!e||r.size===0)){for(const n of r)(t=e.shared)==null||delete t[n];for(const n of[e.bySheetId,e.byCardId,e.byDocumentSectionId])for(const o of Object.values(n||{}))for(const i of r)delete o[i]}}function Ts(e){var t,n,o;let r=Intl.DateTimeFormat().resolvedOptions().timeZone;if(!(e!=null&&e.accessToken))return r;try{const i=_i.jwtDecode(e.accessToken);r=((n=(t=i==null?void 0:i.params)==null?void 0:t.calendarContext)==null?void 0:n.tz)||((o=i==null?void 0:i.params)==null?void 0:o.timezone)||r}catch{}return r}function Fs(){return typeof globalThis<"u"&&globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"?`dashboard:draft:${globalThis.crypto.randomUUID()}`:`dashboard:draft:${Date.now().toString(36)}:${Math.random().toString(36).slice(2)}`}function yb(e,r){var n,o,i,a,s;return!!(Object.prototype.hasOwnProperty.call(Ce.getState().dashboardEntitySelectionOverrides,r)||(e.title||"").trim()||(e.description||"").trim()||(n=e.sheets)!=null&&n.length||(o=e.filters)!=null&&o.length||(a=(i=e.aiContext)==null?void 0:i.selectedEntities)!=null&&a.length||((s=e.aiContext)==null?void 0:s.mode)==="fixed")}function As(e){var l;const r=(e.id||"").trim();if(!r)return;const t=Ce.getState(),n=t.pendingDashboardDraftMigration;if(!n)return;const{actions:o,dashboardEntitySelectionOverrides:i}=t,a=`dashboard:${r}`,s=(l=n.expectedDashboardId)==null?void 0:l.trim();if(s&&s===r){const c=i[n.scopeKey],d=i[a];c!==void 0&&d===void 0&&o.setDashboardEntitySelectionOverride(a,c),o.clearDashboardEntitySelectionOverride(n.scopeKey)}else s&&s!==r&&o.clearDashboardEntitySelectionOverride(n.scopeKey);o.clearPendingDashboardDraftMigration()}function bb(e,r){const t=(e==null?void 0:e.defaultValues)??null,n=(r==null?void 0:r.defaultValues)??null,o=(e==null?void 0:e.defaultDateFilter)??null,i=(r==null?void 0:r.defaultDateFilter)??null;return JSON.stringify(t)===JSON.stringify(n)&&JSON.stringify(o)===JSON.stringify(i)}function vb(e,r,t,n){const o=new Set((t.cards||[]).map(a=>a.id)),i=new Map(((r==null?void 0:r.cards)||[]).map(a=>[a.id,a]));for(const a of t.cards||[]){const s=a.inlineFilters||[];if(s.length===0){delete e.inlineFilterValuesMap[a.id];continue}const l=i.get(a.id),c=new Map(((l==null?void 0:l.inlineFilters)||[]).map(u=>[u.id,u])),d=new Set(s.map(u=>u.id));for(const u of(l==null?void 0:l.inlineFilters)||[])d.has(u.id)||e.inlineFilterValuesMap[a.id]&&(e.inlineFilterValuesMap[a.id]=e.inlineFilterValuesMap[a.id].filter(p=>p.filterId!==u.id));for(const u of s){const p=c.get(u.id);if(!(!p||!bb(p,u)))continue;const v=Zn(u,n);if(v){e.inlineFilterValuesMap[a.id]||(e.inlineFilterValuesMap[a.id]=[]);const m=e.inlineFilterValuesMap[a.id].findIndex(b=>b.filterId===u.id);m>=0?e.inlineFilterValuesMap[a.id][m]=v:e.inlineFilterValuesMap[a.id].push(v)}else e.inlineFilterValuesMap[a.id]&&(e.inlineFilterValuesMap[a.id]=e.inlineFilterValuesMap[a.id].filter(m=>m.filterId!==u.id))}}for(const a of(r==null?void 0:r.cards)||[])o.has(a.id)||delete e.inlineFilterValuesMap[a.id]}function Cb(e,r,t,n){const o=new Set((t.cards||[]).map(i=>i.id));for(const i of t.cards||[]){const a=i.inlineFilters||[],s=new Set(a.map(c=>c.id));if(s.size===0){delete e.inlineFilterValuesMap[i.id];continue}const l=(n[i.id]||[]).filter(c=>s.has(c.filterId));l.length>0?e.inlineFilterValuesMap[i.id]=l:delete e.inlineFilterValuesMap[i.id]}for(const i of(r==null?void 0:r.cards)||[])o.has(i.id)||delete e.inlineFilterValuesMap[i.id]}function ko(e,r){const t=Object.keys(e),n=Object.keys(r);return t.length!==n.length?!1:t.every(o=>Object.is(e[o],r[o]))}function bt(e,r){return e[r]||(e[r]={filterValuesByInputId:{},filterModesByInputId:{},controlValuesByInputId:{}}),e[r]}function Ds(e,r){var n;if(!e)return{};const t={shared:e.shared?{...e.shared}:void 0,bySheetId:Lo(e.bySheetId),byCardId:Lo(e.byCardId),byDocumentSectionId:Lo(e.byDocumentSectionId)};return(n=t.shared)==null||delete n[r],Vo(t.bySheetId,r),Vo(t.byCardId,r),Vo(t.byDocumentSectionId,r),_e(t)}function Lo(e){if(e)return Object.fromEntries(Object.entries(e).map(([r,t])=>[r,{...t}]))}function Vo(e,r){if(e)for(const t of Object.values(e))delete t[r]}const Ue=_t()(zn((e,r)=>({relaodToken:0,isSessionExpired:!1,currentBreakpoint:"lg",dashboard:{id:"",style:li},dashboardAssistantDraftScopeKey:Fs(),showContext:!1,selectedSheetId:null,selectedCardId:null,selectedFrameId:null,selectedCard:null,selectedDocumentSectionIdsBySheetId:{},documentInspectorTabsBySheetId:{},documentInputRuntimeBySheetId:{},visualEditPendingFrameRewrites:{},visualEditPendingFilterRewrites:{},visualEditPendingDashboardCalculatedFields:void 0,showFilters:!1,isDashboardEditing:!1,isVisualEditing:!1,showDashboardJSON:!1,filteringCards:[],isDashboardPanelOpen:!1,inlineFilterValuesMap:{},controlValues:{},cardControlValuesMap:{},dashboardInputValues:{},dashboardInputValuesAreAuthoritative:!1,semanticExecutionPayload:an(),drillHistory:[],drillContext:null,actions:{setInitStore:()=>{const t=r().dashboard,n=r().dashboardAssistantDraftScopeKey,o=Ce.getState().actions,i=Ce.getState().pendingDashboardDraftMigration;!t.id&&n&&yb(t,n)?Ce.getState().actions.setPendingDashboardDraftMigration({scopeKey:n,canSurviveBlankReset:!0,expectedDashboardId:null}):i!=null&&i.canSurviveBlankReset?o.setPendingDashboardDraftMigration({...i,canSurviveBlankReset:!1}):o.clearPendingDashboardDraftMigration(),e(a=>{a.relaodToken=0,a.isSessionExpired=!1,a.authToken=void 0,a.currentBreakpoint="lg",a.dashboard={id:"",style:li},a.dashboardAssistantDraftScopeKey=Fs(),a.showContext=!1,a.selectedSheetId=null,a.selectedCardId=null,a.selectedFrameId=null,a.selectedCard=null,a.selectedDocumentSectionIdsBySheetId={},a.documentInspectorTabsBySheetId={},a.documentInputRuntimeBySheetId={},a.visualEditPendingFrameRewrites={},a.visualEditPendingFilterRewrites={},a.visualEditPendingDashboardCalculatedFields=void 0,a.showFilters=!1,a.isDashboardEditing=!1,a.isVisualEditing=!1,a.showDashboardJSON=!1,a.filteringCards=[],a.selectedLensId=void 0,a.filterValues=void 0,a.inlineFilterValuesMap={},a.controlValues={},a.cardControlValuesMap={},a.dashboardInputValues={},a.dashboardInputValuesAreAuthoritative=!1,a.semanticExecutionPayload=an()})},triggerReload:()=>{e(t=>{t.relaodToken=t!=null&&t.relaodToken?t.relaodToken+1:1})},setAiContext:t=>{e(n=>{n.dashboard.aiContext=t})},setHandleOpenAssistantProfile:t=>{e(n=>{n.handleOpenAssistantProfile=t})},setFilterMode:(t,n)=>{const o=n==="exclude"?"not in":"in";e(i=>{var s,l,c;const a=(s=i.dashboard.filters)==null?void 0:s.find(d=>d.id===t);a&&(a.operation=o,i.dashboard.filters=(l=i.dashboard.filters)==null?void 0:l.map(d=>d.id===t?a:d),i.filterValues&&i.filterValues.length>0&&(i.filterValues=(c=i.filterValues)==null?void 0:c.map(d=>d.filterId===t?{...d,operation:o}:d)))})},updateEmailSettings:t=>{e(n=>{n.dashboard.emailSettings=t})},setDefaultFilterValues:t=>{e(n=>{n.dashboard.defaultFilterValues=t})},setDefaultControlValues:t=>{e(n=>{n.dashboard.defaultControlValues=t})},setDashboardInputs:t=>{e(n=>{n.dashboard.inputs=t})},upsertDashboardInput:t=>{e(n=>{const o=n.dashboard.inputs||[],i=o.findIndex(a=>a.id===t.id);if(i>=0){o[i]=t,n.dashboard.inputs=o;return}n.dashboard.inputs=[...o,t]})},removeDashboardInput:t=>{e(n=>{n.dashboard.inputs=(n.dashboard.inputs||[]).filter(o=>o.id!==t),n.dashboard.defaultInputValues=Ds(n.dashboard.defaultInputValues,t),n.dashboardInputValues=Ds(n.dashboardInputValues,t)})},setDefaultDashboardInputValues:t=>{e(n=>{n.dashboard.defaultInputValues=t?_e(t):void 0})},setDashboardInputValues:t=>{e(n=>{n.dashboardInputValues=_e(t)})},setDashboardInputValuesAreAuthoritative:t=>{e(n=>{n.dashboardInputValuesAreAuthoritative=t})},setDashboardInputSlot:(t,n,o)=>{e(i=>{i.dashboardInputValues=gi(i.dashboardInputValues,t,n,o)})},clearDashboardInputSlot:(t,n)=>{e(o=>{o.dashboardInputValues=gi(o.dashboardInputValues,t,n,{status:"cleared"})})},removeDashboardInputSlot:(t,n)=>{e(o=>{o.dashboardInputValues=db(o.dashboardInputValues,t,n)})},setDashboardControlsModel:(t,n,o)=>{e(i=>{const a=o!=null&&o.renamed?{type:"rename",oldId:o.renamed.oldId,newId:o.renamed.newId}:o!=null&&o.removedControlId?{type:"remove",controlId:o.removedControlId}:null;a&&(i.dashboard=Wh(i.dashboard,a)),o!=null&&o.cardBindingsById&&(i.dashboard=Gh(i.dashboard,o.cardBindingsById,{affectedControlIds:o.affectedBindingControlIds}));const s=ra({controls:t,dashboardDefaultValues:n}),l=Mh({controls:t,dashboardDefaultValues:s});i.dashboard.controls=l,i.dashboard.defaultControlValues=s,i.controlValues=Lh({previousValues:i.controlValues,nextControls:l,nextDefaultValues:s,renamed:o==null?void 0:o.renamed})})},updateDashboardControl:(t,n)=>{e(o=>{o.dashboard.controls=(o.dashboard.controls||[]).map(i=>i.id===t?{...i,...n}:i)})},reorderDashboardControls:t=>{e(n=>{const o=n.dashboard.controls||[];if(o.length===0)return;const i=new Map(o.map(c=>[c.id,c])),a=t.map(c=>i.get(c)).filter(c=>c!==void 0),s=new Set(t),l=o.filter(c=>!s.has(c.id));n.dashboard.controls=[...a,...l]})},setIsDownloadingPdf:t=>{e(n=>{n.isDownloadingPdf=t})},setGlobalCacheConfig:t=>{e(n=>{n.dashboard.globalCacheConfig=t})},setLenses:t=>{e(n=>{n.lenses=t})},setSelectedLensId:t=>{e(n=>{n.selectedLensId=t})},deleteSheet:t=>{e(n=>{var i,a,s,l,c,d,u,p,h,v,m,b,S,g,y,C,w,I;const o=(i=n.dashboard.sheets)==null?void 0:i.findIndex(E=>E.id===t);if(o!==void 0&&o>-1){const E=(a=n.dashboard.sheets)==null?void 0:a[o],F=mb(E),T=hb(E),D=gb({inputs:n.dashboard.inputs,sheetId:t,deletedCardIds:F});(s=n.dashboard.sheets)==null||s.splice(o,1);const R=(l=n.dashboard.filters)==null?void 0:l.filter(O=>O.sheetId===t),P=(c=n.filterValues)==null?void 0:c.filter(O=>R==null?void 0:R.some(L=>L.id===O.filterId));n.filterValues=(d=n.filterValues)==null?void 0:d.filter(O=>!(P!=null&&P.some(L=>L.filterId===O.filterId))),n.dashboard.filters=(u=n.dashboard.filters)==null?void 0:u.filter(O=>O.sheetId!==t),n.selectedSheetId=(h=(p=n.dashboard.sheets)==null?void 0:p[0])==null?void 0:h.id,delete n.selectedDocumentSectionIdsBySheetId[t],delete n.documentInspectorTabsBySheetId[t],delete n.documentInputRuntimeBySheetId[t],(v=n.dashboardInputValues.bySheetId)==null||delete v[t],(b=(m=n.dashboard.defaultInputValues)==null?void 0:m.bySheetId)==null||delete b[t];for(const O of F)(S=n.dashboardInputValues.byCardId)==null||delete S[O],(y=(g=n.dashboard.defaultInputValues)==null?void 0:g.byCardId)==null||delete y[O];for(const O of T)(C=n.dashboardInputValues.byDocumentSectionId)==null||delete C[O],(I=(w=n.dashboard.defaultInputValues)==null?void 0:w.byDocumentSectionId)==null||delete I[O];if(n.dashboard.inputs=D.inputs,Es(n.dashboardInputValues,D.removedInputIds),Es(n.dashboard.defaultInputValues,D.removedInputIds),n.dashboardInputValues=_e(n.dashboardInputValues),n.dashboard.defaultInputValues&&(n.dashboard.defaultInputValues=_e(n.dashboard.defaultInputValues)),n.dashboard.id&&typeof localStorage<"u")try{const O=`semaphor-default-sheet-${n.dashboard.id}`;localStorage.getItem(O)===t&&localStorage.removeItem(O)}catch(O){console.error("Error clearing default sheet preference:",O)}}})},addSheet:t=>{e(n=>{n.dashboard.sheets||(n.dashboard.sheets=[]);const o=t.kind==="document"?[]:n.dashboard.filters;let i={};o==null||o.forEach(s=>{zi.forEach(l=>{i!=null&&i[l]||(i={...i,[l]:[]});const c={i:s.id,x:0,y:0,w:10,h:8};i[l].push(c)})});const a=t.kind==="document"?{...t,document:t.document||yn()}:{...t,layouts:i};n.dashboard.sheets.push(a)})},setGlobalStyle:t=>{e(n=>{n.dashboard.globalStyle=t})},setAIScopeTables:t=>{e(n=>{n.dashboard.aiScopeTables=t})},addToAIScope:t=>{e(n=>{const{connectionId:o,connectionType:i,databaseName:a,schemaName:s,tableName:l,datamodelName:c,datamodelId:d}=t,u={connectionId:o||"",connectionType:i||"",databaseName:a||"",schemaName:s||"",tableName:l||"",datamodelName:c||"",datamodelId:d||""};let h=[...n.dashboard.aiScopeTables||[],u];h=h.filter((v,m,b)=>b.findIndex(S=>S.tableName===v.tableName&&S.datamodelName===v.datamodelName)===m),n.dashboard.aiScopeTables=h})},removeFromAIScope:t=>{e(n=>{const{connectionId:o,tableName:i,datamodelName:a}=t,s=n.dashboard.aiScopeTables||[];if(a){const l=s.filter(c=>!(c.datamodelName===a&&c.connectionId===o));n.dashboard.aiScopeTables=l}else if(i){const l=s.filter(c=>!(c.tableName===i&&c.connectionId===o));n.dashboard.aiScopeTables=l}})},setIsSessionExpired:t=>{e(()=>({isSessionExpired:t}))},setCardPython:(t,n)=>{e(o=>{var a,s,l;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(c=>c.id===o.selectedSheetId);i&&((l=i==null?void 0:i.frames)==null||l.forEach(c=>{var u;const d=(u=c.cards)==null?void 0:u.find(p=>p.id===t);d&&(d.python=n)}))})},addBaseQuery:t=>{e(n=>{var o;n.dashboard.baseQueries||(n.dashboard.baseQueries=[]),(o=n.dashboard.baseQueries)==null||o.push(t)})},removeBaseQuery:t=>{e(n=>{var i,a;const o=(i=n.dashboard.baseQueries)==null?void 0:i.findIndex(s=>s.id===t);o!=null&&o>-1&&((a=n.dashboard.baseQueries)==null||a.splice(o,1))})},setBaseQueries:t=>{e(n=>{n.dashboard.baseQueries=t})},setCurrentBreakpoint:t=>{e(()=>({currentBreakpoint:t}))},setFilteringCards:t=>{e(()=>({filteringCards:t}))},addFilteringCard:t=>{e(n=>{var o;(o=n.filteringCards)==null||o.push(t)})},removeFilteringCard:t=>{e(n=>{var i,a;const o=(i=n.filteringCards)==null?void 0:i.findIndex(s=>s.id===t.id);o!==void 0&&o>-1&&((a=n.filteringCards)==null||a.splice(o,1))})},setCustomCards:t=>{e(n=>{n.dashboard.customCards=t})},setAuthToken:t=>{e(()=>({authToken:t}))},setThemeStyle:t=>{e(n=>{ii(n.themeStyle,t)||(n.themeStyle=t)})},setDashboard:(t,n)=>{var c,d,u,p;As(t);const o=Ss(t),i=r(),a=Ts(i.authToken),s=Hl(o,a),l=Do(o,((c=i.dashboard)==null?void 0:c.id)===o.id?Xl({dashboardValues:i.controlValues,cardValuesMap:i.cardControlValuesMap}):void 0,{hasExplicitRuntimeOverrides:((d=i.dashboard)==null?void 0:d.id)===o.id});e({dashboard:o,selectedDocumentSectionIdsBySheetId:{},documentInspectorTabsBySheetId:{},documentInputRuntimeBySheetId:{},inlineFilterValuesMap:s,controlValues:l.dashboardControlValues,cardControlValuesMap:l.cardControlValuesMap,dashboardInputValues:(n==null?void 0:n.dashboardInputValues)??(((u=i.dashboard)==null?void 0:u.id)===o.id?i.dashboardInputValues:{}),dashboardInputValuesAreAuthoritative:(n==null?void 0:n.dashboardInputValuesAreAuthoritative)??!1,semanticExecutionPayload:(n==null?void 0:n.semanticExecutionPayload)??(((p=i.dashboard)==null?void 0:p.id)===o.id?i.semanticExecutionPayload:an())})},setDashboardWithFilterValues:(t,n,o,i)=>{As(t);const a=Ss(t),s=Do(a,o,{hasExplicitRuntimeOverrides:o!==void 0});e(l=>{var u;const c=((u=l.dashboard)==null?void 0:u.id)===a.id,d=i&&Object.prototype.hasOwnProperty.call(i,"dashboardInputValues");l.dashboard=a,l.filterValues=n,l.controlValues=s.dashboardControlValues,l.cardControlValuesMap=s.cardControlValuesMap,d?(l.dashboardInputValues=(i==null?void 0:i.dashboardInputValues)||{},l.dashboardInputValuesAreAuthoritative=(i==null?void 0:i.dashboardInputValuesAreAuthoritative)??!1):c||(l.dashboardInputValues={},l.dashboardInputValuesAreAuthoritative=!1),l.semanticExecutionPayload=(i==null?void 0:i.semanticExecutionPayload)??an(),i&&Object.prototype.hasOwnProperty.call(i,"selectedSheetId")&&(l.selectedSheetId=i.selectedSheetId??null),l.selectedDocumentSectionIdsBySheetId={},l.documentInspectorTabsBySheetId={},l.documentInputRuntimeBySheetId={}})},hydrateRuntimeControlValues:(t,n)=>{const o=Do(t,n,{hasExplicitRuntimeOverrides:n!==void 0});e(i=>{i.controlValues=o.dashboardControlValues,i.cardControlValuesMap=o.cardControlValuesMap})},mergeSemanticExecutionPayload:t=>{e(n=>{No(n.semanticExecutionPayload,t)})},setDashboardTheme:t=>{e(n=>{n.theme=t})},setSheets:t=>{e(n=>{n.dashboard&&(n.dashboard.sheets=t)})},setDashboardTitle:t=>{e(n=>{n.dashboard&&(n.dashboard.title=t)})},setDashboardDescription:t=>{e(n=>{n.dashboard&&(n.dashboard.description=t)})},setSheetTitle:(t,n)=>{e(o=>{var a,s;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(l=>l.id===t);i&&(i.title=n)})},updateSheetDocument:(t,n)=>{e(o=>{var s,l;const i=(l=(s=o.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(c=>c.id===t);if(!i)return;const a=i.document||yn();i.kind="document",i.document=n(a)})},updateDocumentSectionCard:(t,n,o,i)=>{e(a=>{var c,d;const s=(d=(c=a.dashboard)==null?void 0:c.sheets)==null?void 0:d.find(u=>u.id===t);if(!s)return;const l=s.document||yn();s.kind="document",s.document={...l,sections:l.sections.map(u=>u.id!==n?u:u.type==="table"||u.type==="chart"?{...u,title:o.title||u.title,card:o}:u)},(i==null?void 0:i.calculatedFields)!==void 0&&(s.calculatedFields=_o(i.calculatedFields))})},setSelectedDocumentSectionId:(t,n)=>{e(o=>{o.selectedDocumentSectionIdsBySheetId={...o.selectedDocumentSectionIdsBySheetId,[t]:n}})},setDocumentInspectorTab:(t,n)=>{e(o=>{o.documentInspectorTabsBySheetId={...o.documentInspectorTabsBySheetId,[t]:n}})},setDocumentInputFilterValues:(t,n)=>{e(o=>{const i=bt(o.documentInputRuntimeBySheetId,t);ko(i.filterValuesByInputId,n)||(i.filterValuesByInputId=n)})},setDocumentInputFilterValue:(t,n,o)=>{e(i=>{const a=bt(i.documentInputRuntimeBySheetId,t);a.filterValuesByInputId[n]!==o&&(a.filterValuesByInputId={...a.filterValuesByInputId,[n]:o})})},removeDocumentInputFilterValue:(t,n)=>{e(o=>{const i=bt(o.documentInputRuntimeBySheetId,t);n in i.filterValuesByInputId&&i.filterValuesByInputId[n]===void 0||(i.filterValuesByInputId={...i.filterValuesByInputId,[n]:void 0})})},setDocumentInputFilterModes:(t,n)=>{e(o=>{const i=bt(o.documentInputRuntimeBySheetId,t);ko(i.filterModesByInputId,n)||(i.filterModesByInputId=n)})},setDocumentInputFilterMode:(t,n,o)=>{e(i=>{const a=bt(i.documentInputRuntimeBySheetId,t);a.filterModesByInputId[n]!==o&&(a.filterModesByInputId={...a.filterModesByInputId,[n]:o})})},setDocumentInputControlValues:(t,n)=>{e(o=>{const i=bt(o.documentInputRuntimeBySheetId,t);ko(i.controlValuesByInputId,n)||(i.controlValuesByInputId=n)})},setDocumentInputControlValue:(t,n,o)=>{e(i=>{const a=bt(i.documentInputRuntimeBySheetId,t);Object.is(a.controlValuesByInputId[n],o)||(a.controlValuesByInputId={...a.controlValuesByInputId,[n]:o})})},clearDocumentInputRuntime:t=>{e(n=>{if(t){delete n.documentInputRuntimeBySheetId[t];return}n.documentInputRuntimeBySheetId={}})},setCardTitle:(t,n,o)=>{e(i=>{var s,l,c;const a=(l=(s=i.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(d=>d.id===t);a&&((c=a==null?void 0:a.frames)==null||c.forEach(d=>{var p;const u=(p=d.cards)==null?void 0:p.find(h=>h.id===n);u&&(u.title=o)}))})},setCardInfo:(t,n)=>{e(o=>{var a,s,l;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(c=>c.id===o.selectedSheetId);i&&((l=i==null?void 0:i.frames)==null||l.forEach(c=>{var u;const d=(u=c.cards)==null?void 0:u.find(p=>p.id===t);d&&(d.info=n)}))})},setCardDescription:(t,n,o,i)=>{e(a=>{var l,c,d;const s=(c=(l=a.dashboard)==null?void 0:l.sheets)==null?void 0:c.find(u=>u.id===t);s&&((d=s==null?void 0:s.frames)==null||d.forEach(u=>{var h;const p=(h=u.cards)==null?void 0:h.find(v=>v.id===n);p&&(p.description=o,i!==void 0&&(p.preferences=i))}))})},setCardKpiOptions:(t,n,o)=>{e(i=>{var s,l,c;const a=(l=(s=i.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(d=>d.id===t);a&&((c=a==null?void 0:a.frames)==null||c.forEach(d=>{var p;const u=(p=d.cards)==null?void 0:p.find(h=>h.id===n);u&&(u.preferences||(u.preferences={}),u.preferences.kpiVisualOptions||(u.preferences.kpiVisualOptions={}),u.preferences.kpiVisualOptions={...u.preferences.kpiVisualOptions,...o})}))})},updateCardFilters:(t,n)=>{e(o=>{var a,s;const i=(a=o.dashboard)==null?void 0:a.sheets;if(i)for(const l of i){const c=l.frames||[];for(const d of c){const u=(s=d.cards)==null?void 0:s.find(p=>p.id===t);if(u){u.config||(u.config={}),u.config.filters=n;return}}}})},clearCardFilters:t=>{e(n=>{var i,a;const o=(i=n.dashboard)==null?void 0:i.sheets;if(o)for(const s of o){const l=s.frames||[];for(const c of l){const d=(a=c.cards)==null?void 0:a.find(u=>u.id===t);if(d&&d.config){d.config.filters=void 0;return}}}})},setCardInlineFilterValue:(t,n)=>{e(o=>{o.inlineFilterValuesMap[t]||(o.inlineFilterValuesMap[t]=[]);const i=o.inlineFilterValuesMap[t].findIndex(a=>a.filterId===n.filterId);i>=0?o.inlineFilterValuesMap[t][i]=n:o.inlineFilterValuesMap[t].push(n)})},removeCardInlineFilterValue:(t,n)=>{e(o=>{o.inlineFilterValuesMap[t]&&(o.inlineFilterValuesMap[t]=o.inlineFilterValuesMap[t].filter(i=>i.filterId!==n))})},getCardInlineFilterValues:t=>r().inlineFilterValuesMap[t]||[],setControlValue:(t,n)=>{e(o=>{if(n===void 0){delete o.controlValues[t];return}o.controlValues[t]=n})},removeControlValue:t=>{e(n=>{delete n.controlValues[t]})},setCardControlValue:(t,n,o)=>{e(i=>{if(o===void 0){if(!i.cardControlValuesMap[t])return;delete i.cardControlValuesMap[t][n],Object.keys(i.cardControlValuesMap[t]).length===0&&delete i.cardControlValuesMap[t];return}i.cardControlValuesMap[t]||(i.cardControlValuesMap[t]={}),i.cardControlValuesMap[t][n]=o})},removeCardControlValue:(t,n)=>{e(o=>{o.cardControlValuesMap[t]&&(delete o.cardControlValuesMap[t][n],Object.keys(o.cardControlValuesMap[t]).length===0&&delete o.cardControlValuesMap[t])})},setCardControlRuntimeModel:(t,n,o)=>{e(i=>{const a=Vh({previousValues:i.cardControlValuesMap[t],nextControls:n,renamed:o==null?void 0:o.renamed});if(Object.keys(a).length===0){delete i.cardControlValuesMap[t];return}i.cardControlValuesMap[t]=a})},clearAllInlineFilterValues:()=>{e(t=>{t.inlineFilterValuesMap={}})},setInlineFilterValuesMap:t=>{e(n=>{n.inlineFilterValuesMap=t})},setCardInlineFilterMode:(t,n,o,i)=>{const a=i==="exclude"?"not in":"in";e(s=>{var c,d,u,p;const l=(d=(c=s.dashboard)==null?void 0:c.sheets)==null?void 0:d.find(h=>h.id===t);if(l)for(const h of l.frames||[]){const v=(u=h.cards)==null?void 0:u.find(m=>m.id===n);if(v&&v.inlineFilters){v.inlineFilters=v.inlineFilters.map(m=>m.id===o?{...m,operation:a}:m),s.inlineFilterValuesMap[n]&&(s.inlineFilterValuesMap[n]=s.inlineFilterValuesMap[n].map(m=>m.filterId===o?{...m,operation:a}:m)),(p=s.onAcceptChanges)==null||p.call(s,h,s.dashboard);return}}})},setCardInlineFilterDefaultValues:(t,n,o,i)=>{e(a=>{var l,c,d,u;const s=(c=(l=a.dashboard)==null?void 0:l.sheets)==null?void 0:c.find(p=>p.id===t);if(s)for(const p of s.frames||[]){const h=(d=p.cards)==null?void 0:d.find(v=>v.id===n);if(h&&h.inlineFilters){h.inlineFilters=h.inlineFilters.map(v=>v.id===o?{...v,defaultValues:i}:v),(u=a.onAcceptChanges)==null||u.call(a,p,a.dashboard);return}}})},setCardSql:(t,n,o)=>{e(i=>{var s,l,c,d;const a=(l=(s=i.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(u=>u.id===t);if(a){const u=(c=a.cards)==null?void 0:c.find(p=>p.id===n);u&&(u.sql=o,(d=i.onUpdateCard)==null||d.call(i,u,t))}})},setSheetLayout:(t,n)=>{e(o=>{var a,s;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(l=>l.id===t);i&&(i.layout=n)})},setSheetLayouts:(t,n)=>{e(o=>{var a,s;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(l=>l.id===t);i&&(i.layouts=n)})},setShowContext:t=>{e(()=>({showContext:t}))},setShowFilters:t=>{e(()=>({showFilters:t}))},setFilterLayout:t=>{e(n=>{n.dashboard.filterLayout={...n.dashboard.filterLayout,...t}})},setFilterValues:t=>{e(()=>({filterValues:t}))},addOrUpdateFilterValue:t=>{e(n=>{if(n.filterValues){const o=n.filterValues.findIndex(i=>i.filterId===t.filterId);o>-1?n.filterValues.splice(o,1,t):n.filterValues.push(t)}else n.filterValues=[t]})},addOrUpdateFilterValues:t=>{e(n=>{n.filterValues?t.forEach(o=>{var a,s,l,c;const i=(a=n==null?void 0:n.filterValues)==null?void 0:a.findIndex(d=>d.filterId===o.filterId);if(o.values.length===0){n.filterValues=(s=n.filterValues)==null?void 0:s.filter(d=>d.filterId!==o.filterId);return}i!==void 0&&i>-1?(l=n.filterValues)==null||l.splice(i,1,o):(c=n.filterValues)==null||c.push(o)}):n.filterValues=t})},removeFilterValues:t=>{e(n=>{if(n.filterValues){const o=n.filterValues.filter(i=>i.filterId!==t&&!i.filterId.startsWith(t));n.filterValues=o}})},replaceFilterValue:t=>{e(n=>{if(n.filterValues){const o=n.filterValues.findIndex(i=>i.filterId===t.filterId);o>-1&&n.filterValues.splice(o,1,t)}})},addFilter:t=>{e(n=>{var a,s;if((((a=n.dashboard.filters)==null?void 0:a.findIndex(l=>l.kind==="global-date"&&t.kind==="global-date"))??-1)>=0)return;n.dashboard.filters?(s=n.dashboard.filters)==null||s.push(t):n.dashboard.filters=[t],ua(n.dashboard.sheets).forEach(l=>{us({id:t.id,layouts:l.layouts,y:0,initialHeight:8,minH:7,w:10})})})},removeFilter:t=>{e(n=>{var o,i,a;if(n.dashboard.filters){const s=(o=n.dashboard.filters)==null?void 0:o.findIndex(l=>l.id===t);if(s>-1){(i=n.dashboard.filters)==null||i.splice(s,1),(a=n.dashboard.sheets)==null||a.find(c=>c.id===n.selectedSheetId);const l=n.dashboard.sheets;l==null||l.forEach(c=>{const d=fs(t,c.layouts);c.layouts=d})}}})},reorderFilters:t=>{e(n=>{if(!n.dashboard.filters)return;const o=new Map(n.dashboard.filters.map(l=>[l.id,l])),i=t.map(l=>o.get(l)).filter(l=>l!==void 0),a=new Set(t),s=n.dashboard.filters.filter(l=>!a.has(l.id));n.dashboard.filters=[...i,...s]})},updateCurrentDashboardCard:t=>{e(n=>{var s,l,c,d,u;const o=(l=(s=n.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(p=>p.id===n.selectedSheetId),i=(c=o==null?void 0:o.frames)==null?void 0:c.find(p=>p.id===n.selectedFrameId),a=(d=i==null?void 0:i.cards)==null?void 0:d.findIndex(p=>p.id===t.id);typeof a=="number"&&a>=0&&((u=i==null?void 0:i.cards)==null||u.splice(a,1,t))})},updateFrameCard:(t,n,o)=>{e(i=>{var l,c,d,u,p;const a=(c=(l=i.dashboard)==null?void 0:l.sheets)==null?void 0:c.find(h=>h.id===t);if(!a)return;const s=(d=a==null?void 0:a.frames)==null?void 0:d.find(h=>h.id===n);if(s){const h=(u=s.cards)==null?void 0:u.findIndex(v=>v.id===o.id);h>-1&&((p=s.cards)==null||p.splice(h,1,o))}})},updateFilter:t=>{e(n=>{var o,i;if(n.dashboard.filters){const a=(o=n.dashboard.filters)==null?void 0:o.findIndex(s=>s.id===t.id);a>-1&&((i=n.dashboard.filters)==null||i.splice(a,1,t))}})},updateFilterId:(t,n)=>{e(o=>{var s,l;const i=(s=o.dashboard.filters)==null?void 0:s.find(c=>c.id===t),a=(l=o.dashboard.filters)==null?void 0:l.some(c=>c.id===n);i&&!a&&(i.id=n)})},setFilterDefaultValues:(t,n)=>{e(o=>{var a;const i=(a=o.dashboard.filters)==null?void 0:a.find(s=>s.id===t);i&&(i.defaultValues=n)})},setIsDashboardEditing:t=>{e(()=>({isDashboardEditing:t}))},setShowDashboardJSON:t=>{e(()=>({showDashboardJSON:t}))},setIsVisualEditing:t=>{e(n=>{n.isVisualEditing=t,t||(n.visualEditPendingFrameRewrites={},n.visualEditPendingFilterRewrites={},n.visualEditPendingDashboardCalculatedFields=void 0)})},setVisualEditPendingFrameRewrites:(t,n)=>{e(o=>{o.visualEditPendingFrameRewrites[t]=n})},setVisualEditPendingFilterRewrites:(t,n)=>{e(o=>{o.visualEditPendingFilterRewrites[t]=n})},clearVisualEditPendingFrameRewrites:t=>{e(n=>{if(t){delete n.visualEditPendingFrameRewrites[t];return}n.visualEditPendingFrameRewrites={}})},clearVisualEditPendingFilterRewrites:t=>{e(n=>{if(t){delete n.visualEditPendingFilterRewrites[t];return}n.visualEditPendingFilterRewrites={}})},addFrame:(t,n,o)=>{e(i=>{var s,l,c;const a=(l=(s=i.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(d=>d.id===t);if(a){if(da(a))return;a.frames||(a.frames=[]);const d=typeof o=="string"?{position:o}:o||{};if(d.insertAfterFrameId){const v=a.frames.findIndex(m=>m.id===d.insertAfterFrameId);v>=0?a.frames.splice(v+1,0,n):a.frames.push(n)}else d.position==="start"?a.frames.unshift(n):a.frames.push(n);let u=1/0;const p=0;d.position==="start"&&(u=0);const h=d.copyLayoutFromFrameId&&th({sourceId:d.copyLayoutFromFrameId,duplicatedId:n.id,layouts:a.layouts})||us({id:n.id,layouts:a.layouts,x:p,y:u,frame:n});a.layouts=h,No(i.semanticExecutionPayload,d.semanticExecutionPayload),(c=i.onAddFrame)==null||c.call(i,n,t)}})},removeFrame:(t,n)=>{e(o=>{var a,s,l,c,d;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(u=>u.id===t);if(i){const u=(l=i.frames)==null?void 0:l.findIndex(p=>p.id===n);console.log(u),typeof u=="number"&&u>-1&&((c=i.frames)==null||c.splice(u,1),(d=i.layout)==null||d.splice(u,1),fs(n,i.layouts))}})},updateFrame:(t,n,o)=>{e(i=>{var S,g,y;const a=(g=(S=i.dashboard)==null?void 0:S.sheets)==null?void 0:g.find(C=>C.id===t);if(!(a!=null&&a.frames))return;const s=i.isVisualEditing&&i.selectedFrameId===n.id?i.visualEditPendingFrameRewrites[t]:void 0,l=i.isVisualEditing&&i.selectedFrameId===n.id?i.visualEditPendingFilterRewrites[t]:void 0,c=i.isVisualEditing&&i.selectedFrameId===n.id?i.visualEditPendingDashboardCalculatedFields:void 0,d=a.frames.findIndex(C=>C.id===n.id);if(d===-1){console.warn("updateFrame: frame not found",n.id,t);return}const u=a.frames[d];i.isVisualEditing&&i.selectedFrameId===n.id&&(a.layouts=Xm({layouts:a.layouts,previousFrame:u,nextFrame:n})),n.calculatedFields!==void 0&&(a.calculatedFields=_o(n.calculatedFields));const p=C=>C.calculatedFields===void 0?C:{...C,calculatedFields:void 0},h=s&&s.length>0?(()=>{const C=s.map(w=>w.id===n.id?n:w);return C.some(w=>w.id===n.id)?C:[n,...C]})():[n],v=new Map(h.map(C=>[C.id,C])),m=p(n);a.frames=a.frames.map(C=>{const w=v.get(C.id);return w?p(w):C.calculatedFields===void 0?C:{...C,calculatedFields:void 0}}),l&&(i.dashboard.filters=l),c&&(i.dashboard.calculatedFields=c);const b=Ts(i.authToken);i.isVisualEditing&&i.selectedFrameId===n.id?Cb(i,u,m,zr.getState().inlineFilterValuesMap):vb(i,u,m,b),s!=null&&s.length&&delete i.visualEditPendingFrameRewrites[t],l&&delete i.visualEditPendingFilterRewrites[t],c&&(i.visualEditPendingDashboardCalculatedFields=void 0),No(i.semanticExecutionPayload,o==null?void 0:o.semanticExecutionPayload),(y=i.onAcceptChanges)==null||y.call(i,m,i.dashboard)})},updateCard:(t,n)=>{e(o=>{var s,l,c,d,u;const i=(l=(s=o.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(p=>p.id===t),a=(c=i==null?void 0:i.cards)==null?void 0:c.findIndex(p=>p.id===n.id);i&&((d=i.cards)==null||d.splice(a,1,n),(u=o.onUpdateCard)==null||u.call(o,n,t))})},updateSheetCalculatedFields:(t,n)=>{e(o=>{var a,s,l;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(c=>c.id===t);i&&(i.calculatedFields=_o(n)||[],(l=i.frames)!=null&&l.length&&(i.frames=i.frames.map(c=>c.calculatedFields===void 0?c:{...c,calculatedFields:void 0})))})},updateDashboardCalculatedFields:t=>{e(n=>{if(!n.dashboard)return;const o=xc(t)||[];if(n.isVisualEditing&&n.selectedFrameId){n.visualEditPendingDashboardCalculatedFields=o;return}n.dashboard.calculatedFields=o})},removeCard:(t,n)=>{e(o=>{var s,l,c,d,u,p;const i=(l=(s=o.dashboard)==null?void 0:s.sheets)==null?void 0:l.find(h=>h.id===t),a=(c=i==null?void 0:i.cards)==null?void 0:c.findIndex(h=>h.id===n.id);i&&((d=i.cards)==null||d.splice(a,1),(u=i.layout)==null||u.splice(a,1),(p=o.onRemoveCard)==null||p.call(o,n,t))})},setStyle:t=>{e(n=>{if(n.dashboard){if(ii(n.dashboard.style,t))return;n.dashboard.style=t}})},setSelectedCardId:(t,n)=>{e(o=>{var a,s,l;const i=(s=(a=o.dashboard)==null?void 0:a.sheets)==null?void 0:s.find(c=>c.id===t);i&&(((l=i.cards)==null?void 0:l.find(d=>d.id===n))?o.selectedCardId=n:o.selectedCardId=null)})},setSelectedFrameId:t=>{e(n=>{var i,a;((a=(i=n.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(s=>s.id===n.selectedSheetId))&&(n.selectedFrameId=t)})},clearSelectedFrameId:()=>{e(t=>{t.selectedFrameId=null})},setSelectedSheetId:t=>{e(n=>{var i,a;((a=(i=n.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(s=>s.id===t))&&(n.selectedSheetId=t)})},setOnSaveFunction:t=>{e(()=>({onSaveFunction:t}))},setOnAddCard:t=>{e(()=>({onAddCard:t}))},setOnAcceptChanges:t=>{e(()=>({onAcceptChanges:t}))},setOnUpdateCard:t=>{e(()=>({onUpdateCard:t}))},setOnRemoveCard:t=>{e(()=>({onRemoveCard:t}))},setOnEvent:t=>{e(()=>({onEvent:t}))},getDashboard:()=>r().dashboard,getSelectedSheet:()=>{var t,n;return(n=(t=r().dashboard)==null?void 0:t.sheets)==null?void 0:n.find(o=>o.id===r().selectedSheetId)},getCardFrame:t=>{var o,i;const n=(o=r().dashboard)==null?void 0:o.sheets;if(n)for(let a=0;a<n.length;a++){const s=n[a].frames;if(s){for(let l=0;l<s.length;l++)if((i=s[l].cards)==null?void 0:i.find(d=>d.id===t))return s[l]}}},getSelectedFrame:()=>{var n,o,i;const t=(o=(n=r().dashboard)==null?void 0:n.sheets)==null?void 0:o.find(a=>a.id===r().selectedSheetId);return(i=t==null?void 0:t.frames)==null?void 0:i.find(a=>a.id===r().selectedFrameId)},getCard:t=>{var o,i;const n=(o=r().dashboard)==null?void 0:o.sheets;if(n)for(let a=0;a<n.length;a++){const s=n[a].frames;if(s)for(let l=0;l<s.length;l++){const c=(i=s[l].cards)==null?void 0:i.find(d=>d.id===t);if(c)return c}}},getSelectedSheetLayout:()=>{var n,o;const t=(o=(n=r().dashboard)==null?void 0:n.sheets)==null?void 0:o.find(i=>i.id===r().selectedSheetId);return t==null?void 0:t.layout},getSelectedSheetLayouts:()=>{var n,o;const t=(o=(n=r().dashboard)==null?void 0:n.sheets)==null?void 0:o.find(i=>i.id===r().selectedSheetId);return t==null?void 0:t.layouts},getStyle:()=>{var t;return(t=r().dashboard)==null?void 0:t.style},getCardSheet(t){var o,i;const n=(o=r().dashboard)==null?void 0:o.sheets;if(n)for(let a=0;a<n.length;a++){const s=n[a].frames;if(s){for(let l=0;l<s.length;l++)if((i=s[l].cards)==null?void 0:i.find(d=>d.id===t))return n[a]}}},handleDataPointClickAction:(t,n)=>{qm({card:t,dataPoint:n,get:r})},setIsDashboardPanelOpen:t=>{e(()=>({isDashboardPanelOpen:t}))},updateCardId:(t,n)=>{const o=r(),i=oh(n);return i.isValid?ps(o.dashboard,n,t)?(e(a=>{var l;const s=a.dashboard.sheets||[];for(const c of s){const d=c.frames||[];for(const u of d){const p=u.cards||[];for(let h=0;h<p.length;h++)p[h].id===t&&(p[h].id=n);u.activeCardId===t&&(u.activeCardId=n)}}a.selectedCardId===t&&(a.selectedCardId=n),((l=a.selectedCard)==null?void 0:l.id)===t&&(a.selectedCard.id=n)}),{success:!0}):{success:!1,error:"This Card ID already exists in the dashboard"}:{success:!1,error:i.error}},isCardIdUnique:(t,n)=>ps(r().dashboard,t,n),navigateWithDrill:(t,n,o,i,a)=>{e(s=>{s.drillHistory.push({sourceDashboardId:n,targetDashboardId:t,sourceDashboardTitle:o,filters:i,contextMode:a,timestamp:Date.now()}),s.drillContext={filters:i,sourceDashboardId:n,sourceDashboardTitle:o}})},goBackFromDrill:()=>{e(t=>{if(t.drillHistory.pop(),t.drillHistory.length===0)t.drillContext=null,Ie.getState().resetInteractionState(ct);else{const n=t.drillHistory[t.drillHistory.length-1];t.drillContext={filters:n.filters,sourceDashboardId:n.sourceDashboardId,sourceDashboardTitle:n.sourceDashboardTitle};const o={sourceCardId:ct,interactionMode:"clickFilter",filterGroups:[{filters:n.filters}]};Ie.getState().setInteractionState(ct,{...Xe(),appliedClickFilters:[o],contextMode:n.contextMode,sourceDashboardId:n.sourceDashboardId,sourceDashboardTitle:n.sourceDashboardTitle,targetDashboardId:n.targetDashboardId})}})},clearDrillContext:()=>{e(t=>{t.drillHistory=[],t.drillContext=null}),Ie.getState().resetInteractionState(ct)}}}))),jc=()=>Ue(r=>{var i,a,s,l,c;const t=(a=(i=r.dashboard)==null?void 0:i.sheets)==null?void 0:a.find(d=>d.id===r.selectedSheetId),n=(s=t==null?void 0:t.frames)==null?void 0:s.find(d=>d.id===r.selectedFrameId);return((l=n==null?void 0:n.cards)==null?void 0:l.find(d=>d.id===(n==null?void 0:n.activeCardId)))||((c=n==null?void 0:n.cards)==null?void 0:c[0])}),Sb=()=>{var t;const e=Ue(n=>{var o,i;return(i=(o=n.dashboard)==null?void 0:o.sheets)==null?void 0:i.find(a=>a.id===n.selectedSheetId)});return(((t=e==null?void 0:e.frames)==null?void 0:t.map(n=>{var o;return(o=n.cards)==null?void 0:o.find(i=>i.id===n.activeCardId)}))||[]).filter(n=>n!==void 0)},xb=()=>{var r,t,n;const e=jc();return{metricFields:((r=e==null?void 0:e.config)==null?void 0:r.metricColumns)||[],groupByFields:((t=e==null?void 0:e.config)==null?void 0:t.groupByColumns)||[],pivotByFields:((n=e==null?void 0:e.config)==null?void 0:n.pivotByColumns)||[]}},wb=()=>Ue(e=>e.actions);et.subscribe("dashboard:load",()=>{Ue.getState().actions.setInitStore()});et.subscribe("dashboard:unload",()=>{Ue.getState().actions.setInitStore()});async function Ib(e,r){const t=r.slice(0,16),n=new TextEncoder,o=await window.crypto.subtle.importKey("raw",n.encode(t),{name:"PBKDF2"},!1,["deriveKey"]),i=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:n.encode(t),iterations:1e5,hash:"SHA-256"},o,{name:"AES-GCM",length:256},!1,["encrypt"]),a=window.crypto.getRandomValues(new Uint8Array(12)),s=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:a},i,n.encode(e)),l=new Uint8Array(a.length+s.byteLength);return l.set(a,0),l.set(new Uint8Array(s),a.length),{payload:btoa(String.fromCharCode(...l))}}async function Uc(e,r){const t=r.slice(0,16),n=new TextEncoder,o=new TextDecoder,i=await window.crypto.subtle.importKey("raw",n.encode(t),{name:"PBKDF2"},!1,["deriveKey"]),a=await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:n.encode(t),iterations:1e5,hash:"SHA-256"},i,{name:"AES-GCM",length:256},!1,["decrypt"]),s=Uint8Array.from(atob(e),p=>p.charCodeAt(0)),l=s.slice(0,12),c=s.slice(s.length-16),d=s.slice(12,s.length-16),u=new Uint8Array(d.length+c.length);u.set(d),u.set(c,d.length);try{const p=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:l},a,u);return{decryptedData:o.decode(p)}}catch(p){throw new Error(`Decryption failed: ${p}`)}}function zc(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(r=0;r<o;r++)e[r]&&(t=zc(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function Nr(){for(var e,r,t=0,n="",o=arguments.length;t<o;t++)(e=arguments[t])&&(r=zc(e))&&(n&&(n+=" "),n+=r);return n}const Eb=Object.freeze(Object.defineProperty({__proto__:null,clsx:Nr,default:Nr},Symbol.toStringTag,{value:"Module"})),ha="-",Tb=e=>{const r=Ab(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:a=>{const s=a.split(ha);return s[0]===""&&s.length!==1&&s.shift(),qc(s,r)||Fb(a)},getConflictingClassGroupIds:(a,s)=>{const l=t[a]||[];return s&&n[a]?[...l,...n[a]]:l}}},qc=(e,r)=>{var a;if(e.length===0)return r.classGroupId;const t=e[0],n=r.nextPart.get(t),o=n?qc(e.slice(1),n):void 0;if(o)return o;if(r.validators.length===0)return;const i=e.join(ha);return(a=r.validators.find(({validator:s})=>s(i)))==null?void 0:a.classGroupId},Rs=/^\[(.+)\]$/,Fb=e=>{if(Rs.test(e)){const r=Rs.exec(e)[1],t=r==null?void 0:r.substring(0,r.indexOf(":"));if(t)return"arbitrary.."+t}},Ab=e=>{const{theme:r,prefix:t}=e,n={nextPart:new Map,validators:[]};return Rb(Object.entries(e.classGroups),t).forEach(([i,a])=>{yi(a,n,i,r)}),n},yi=(e,r,t,n)=>{e.forEach(o=>{if(typeof o=="string"){const i=o===""?r:Ps(r,o);i.classGroupId=t;return}if(typeof o=="function"){if(Db(o)){yi(o(n),r,t,n);return}r.validators.push({validator:o,classGroupId:t});return}Object.entries(o).forEach(([i,a])=>{yi(a,Ps(r,i),t,n)})})},Ps=(e,r)=>{let t=e;return r.split(ha).forEach(n=>{t.nextPart.has(n)||t.nextPart.set(n,{nextPart:new Map,validators:[]}),t=t.nextPart.get(n)}),t},Db=e=>e.isThemeGetter,Rb=(e,r)=>r?e.map(([t,n])=>{const o=n.map(i=>typeof i=="string"?r+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[r+a,s])):i);return[t,o]}):e,Pb=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,n=new Map;const o=(i,a)=>{t.set(i,a),r++,r>e&&(r=0,n=t,t=new Map)};return{get(i){let a=t.get(i);if(a!==void 0)return a;if((a=n.get(i))!==void 0)return o(i,a),a},set(i,a){t.has(i)?t.set(i,a):o(i,a)}}},Hc="!",_b=e=>{const{separator:r,experimentalParseClassName:t}=e,n=r.length===1,o=r[0],i=r.length,a=s=>{const l=[];let c=0,d=0,u;for(let b=0;b<s.length;b++){let S=s[b];if(c===0){if(S===o&&(n||s.slice(b,b+i)===r)){l.push(s.slice(d,b)),d=b+i;continue}if(S==="/"){u=b;continue}}S==="["?c++:S==="]"&&c--}const p=l.length===0?s:s.substring(d),h=p.startsWith(Hc),v=h?p.substring(1):p,m=u&&u>d?u-d:void 0;return{modifiers:l,hasImportantModifier:h,baseClassName:v,maybePostfixModifierPosition:m}};return t?s=>t({className:s,parseClassName:a}):a},Ob=e=>{if(e.length<=1)return e;const r=[];let t=[];return e.forEach(n=>{n[0]==="["?(r.push(...t.sort(),n),t=[]):t.push(n)}),r.push(...t.sort()),r},Mb=e=>({cache:Pb(e.cacheSize),parseClassName:_b(e),...Tb(e)}),Nb=/\s+/,kb=(e,r)=>{const{parseClassName:t,getClassGroupId:n,getConflictingClassGroupIds:o}=r,i=[],a=e.trim().split(Nb);let s="";for(let l=a.length-1;l>=0;l-=1){const c=a[l],{modifiers:d,hasImportantModifier:u,baseClassName:p,maybePostfixModifierPosition:h}=t(c);let v=!!h,m=n(v?p.substring(0,h):p);if(!m){if(!v){s=c+(s.length>0?" "+s:s);continue}if(m=n(p),!m){s=c+(s.length>0?" "+s:s);continue}v=!1}const b=Ob(d).join(":"),S=u?b+Hc:b,g=S+m;if(i.includes(g))continue;i.push(g);const y=o(m,v);for(let C=0;C<y.length;++C){const w=y[C];i.push(S+w)}s=c+(s.length>0?" "+s:s)}return s};function Lb(){let e=0,r,t,n="";for(;e<arguments.length;)(r=arguments[e++])&&(t=Wc(r))&&(n&&(n+=" "),n+=t);return n}const Wc=e=>{if(typeof e=="string")return e;let r,t="";for(let n=0;n<e.length;n++)e[n]&&(r=Wc(e[n]))&&(t&&(t+=" "),t+=r);return t};function _s(e,...r){let t,n,o,i=a;function a(l){const c=r.reduce((d,u)=>u(d),e());return t=Mb(c),n=t.cache.get,o=t.cache.set,i=s,s(l)}function s(l){const c=n(l);if(c)return c;const d=kb(l,t);return o(l,d),d}return function(){return i(Lb.apply(null,arguments))}}const oe=e=>{const r=t=>t[e]||[];return r.isThemeGetter=!0,r},Gc=/^\[(?:([a-z-]+):)?(.+)\]$/i,Vb=/^\d+\/\d+$/,Bb=new Set(["px","full","screen"]),$b=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ub=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,zb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,qb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ge=e=>Kt(e)||Bb.has(e)||Vb.test(e),ot=e=>ir(e,"length",Qb),Kt=e=>!!e&&!Number.isNaN(Number(e)),Bo=e=>ir(e,"number",Kt),mr=e=>!!e&&Number.isInteger(Number(e)),Hb=e=>e.endsWith("%")&&Kt(e.slice(0,-1)),z=e=>Gc.test(e),it=e=>$b.test(e),Wb=new Set(["length","size","percentage"]),Gb=e=>ir(e,Wb,Yc),Yb=e=>ir(e,"position",Yc),Kb=new Set(["image","url"]),Xb=e=>ir(e,Kb,ev),Zb=e=>ir(e,"",Jb),hr=()=>!0,ir=(e,r,t)=>{const n=Gc.exec(e);return n?n[1]?typeof r=="string"?n[1]===r:r.has(n[1]):t(n[2]):!1},Qb=e=>jb.test(e)&&!Ub.test(e),Yc=()=>!1,Jb=e=>zb.test(e),ev=e=>qb.test(e),Os=()=>{const e=oe("colors"),r=oe("spacing"),t=oe("blur"),n=oe("brightness"),o=oe("borderColor"),i=oe("borderRadius"),a=oe("borderSpacing"),s=oe("borderWidth"),l=oe("contrast"),c=oe("grayscale"),d=oe("hueRotate"),u=oe("invert"),p=oe("gap"),h=oe("gradientColorStops"),v=oe("gradientColorStopPositions"),m=oe("inset"),b=oe("margin"),S=oe("opacity"),g=oe("padding"),y=oe("saturate"),C=oe("scale"),w=oe("sepia"),I=oe("skew"),E=oe("space"),F=oe("translate"),T=()=>["auto","contain","none"],D=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto",z,r],P=()=>[z,r],O=()=>["",Ge,ot],L=()=>["auto",Kt,z],H=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],N=()=>["solid","dashed","dotted","double","none"],M=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],B=()=>["","0",z],J=()=>["auto","avoid","all","avoid-page","page","left","right","column"],ee=()=>[Kt,z];return{cacheSize:500,separator:":",theme:{colors:[hr],spacing:[Ge,ot],blur:["none","",it,z],brightness:ee(),borderColor:[e],borderRadius:["none","","full",it,z],borderSpacing:P(),borderWidth:O(),contrast:ee(),grayscale:B(),hueRotate:ee(),invert:B(),gap:P(),gradientColorStops:[e],gradientColorStopPositions:[Hb,ot],inset:R(),margin:R(),opacity:ee(),padding:P(),saturate:ee(),scale:ee(),sepia:B(),skew:ee(),space:P(),translate:P()},classGroups:{aspect:[{aspect:["auto","square","video",z]}],container:["container"],columns:[{columns:[it]}],"break-after":[{"break-after":J()}],"break-before":[{"break-before":J()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...H(),z]}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",mr,z]}],basis:[{basis:R()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",z]}],grow:[{grow:B()}],shrink:[{shrink:B()}],order:[{order:["first","last","none",mr,z]}],"grid-cols":[{"grid-cols":[hr]}],"col-start-end":[{col:["auto",{span:["full",mr,z]},z]}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":[hr]}],"row-start-end":[{row:["auto",{span:[mr,z]},z]}],"row-start":[{"row-start":L()}],"row-end":[{"row-end":L()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",z]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",z]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[g]}],px:[{px:[g]}],py:[{py:[g]}],ps:[{ps:[g]}],pe:[{pe:[g]}],pt:[{pt:[g]}],pr:[{pr:[g]}],pb:[{pb:[g]}],pl:[{pl:[g]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[E]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[E]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",z,r]}],"min-w":[{"min-w":[z,r,"min","max","fit"]}],"max-w":[{"max-w":[z,r,"none","full","min","max","fit","prose",{screen:[it]},it]}],h:[{h:[z,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[z,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[z,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[z,r,"auto","min","max","fit"]}],"font-size":[{text:["base",it,ot]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Bo]}],"font-family":[{font:[hr]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",z]}],"line-clamp":[{"line-clamp":["none",Kt,Bo]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Ge,z]}],"list-image":[{"list-image":["none",z]}],"list-style-type":[{list:["none","disc","decimal",z]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...N(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Ge,ot]}],"underline-offset":[{"underline-offset":["auto",Ge,z]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:P()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",z]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",z]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...H(),Yb]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Gb]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Xb]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[v]}],"gradient-via-pos":[{via:[v]}],"gradient-to-pos":[{to:[v]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...N(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}],"divide-style":[{divide:N()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...N()]}],"outline-offset":[{"outline-offset":[Ge,z]}],"outline-w":[{outline:[Ge,ot]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[Ge,ot]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",it,Zb]}],"shadow-color":[{shadow:[hr]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...M(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":M()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[n]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",it,z]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[u]}],saturate:[{saturate:[y]}],sepia:[{sepia:[w]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[u]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[w]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",z]}],duration:[{duration:ee()}],ease:[{ease:["linear","in","out","in-out",z]}],delay:[{delay:ee()}],animate:[{animate:["none","spin","ping","pulse","bounce",z]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[mr,z]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[I]}],"skew-y":[{"skew-y":[I]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",z]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",z]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":P()}],"scroll-mx":[{"scroll-mx":P()}],"scroll-my":[{"scroll-my":P()}],"scroll-ms":[{"scroll-ms":P()}],"scroll-me":[{"scroll-me":P()}],"scroll-mt":[{"scroll-mt":P()}],"scroll-mr":[{"scroll-mr":P()}],"scroll-mb":[{"scroll-mb":P()}],"scroll-ml":[{"scroll-ml":P()}],"scroll-p":[{"scroll-p":P()}],"scroll-px":[{"scroll-px":P()}],"scroll-py":[{"scroll-py":P()}],"scroll-ps":[{"scroll-ps":P()}],"scroll-pe":[{"scroll-pe":P()}],"scroll-pt":[{"scroll-pt":P()}],"scroll-pr":[{"scroll-pr":P()}],"scroll-pb":[{"scroll-pb":P()}],"scroll-pl":[{"scroll-pl":P()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",z]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Ge,ot,Bo]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},tv=(e,{cacheSize:r,prefix:t,separator:n,experimentalParseClassName:o,extend:i={},override:a={}})=>{Er(e,"cacheSize",r),Er(e,"prefix",t),Er(e,"separator",n),Er(e,"experimentalParseClassName",o);for(const s in a)rv(e[s],a[s]);for(const s in i)nv(e[s],i[s]);return e},Er=(e,r,t)=>{t!==void 0&&(e[r]=t)},rv=(e,r)=>{if(r)for(const t in r)Er(e,t,r[t])},nv=(e,r)=>{if(r)for(const t in r){const n=r[t];n!==void 0&&(e[t]=(e[t]||[]).concat(n))}},ov=(e,...r)=>typeof e=="function"?_s(Os,e,...r):_s(()=>tv(Os(),e),...r),iv=ov({extend:{classGroups:{rounded:["rounded-control","rounded-card"]}}});function ae(...e){return iv(Nr(e))}const av=e=>Object.keys(e).length===0;function At(e){return!!e&&typeof e=="object"}function $o(e,r,t){return typeof r=="string"&&r.trim().length>0&&(t.preserveSyntheticMessage||e.usesFallbackMessage!==!0)}function Kc(e,r,t={}){return typeof e=="string"&&e.trim()?e:At(e)?e instanceof Error&&$o(e,e.message,t)||$o(e,e.message,t)?e.message:typeof e.details=="string"&&e.details.trim()?e.details:$o(e,e.error,t)?e.error:typeof e.detail=="string"&&e.detail.trim()?e.detail:At(e.details)&&typeof e.details.error=="string"&&e.details.error.trim()?e.details.error:r:r}function jo(e,r,t){if(e instanceof Error){const a=e;return a.status??(a.status=r),a.payload??(a.payload=e),a.error??(a.error=a.message),a}const n=Kc(e),o=n||t,i=new Error(o);if(At(e))for(const[a,s]of Object.entries(e))a==="message"||a==="name"||a==="stack"||(i[a]=s);return typeof i.error!="string"&&(i.error=o),i.status=r,i.payload=e,i.usesFallbackMessage=!n,i}function Xc(e,r="Unknown error",t={}){return Kc(e,r,t)||r}function sv(e,r,t={}){const n=Xc(r,"",t);return n?`${e}: ${n}`:e}function lv(e){return At(e)&&typeof e.status=="number"?e.status:void 0}function cv(e){if(!(!At(e)||!At(e.details)))return Array.isArray(e.details.violations)?e.details.violations:void 0}function dv(e){return At(e)&&typeof e.sql=="string"?e.sql:void 0}async function Zc(e){const r=`HTTP error! status: ${e.status}`,t=await e.text();if(!t)return jo(null,e.status,r);try{return jo(JSON.parse(t),e.status,r)}catch{return jo(t,e.status,r)}}async function ga(e,r,t="GET",n){try{const o=await fetch(e,{method:t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},...n!==void 0?{body:JSON.stringify(n)}:{}});if(!o.ok)throw await Zc(o);const i=await o.text();if(!i)return{success:!0,status:o.status};try{return JSON.parse(i)}catch{return i}}catch(o){throw console.error("Error during fetch:",o),o}}async function uv(e,r,t={}){const n=new URLSearchParams(t).toString(),o=n?`${e}?${n}`:e;return ga(o,r,"GET")}async function fv(e,r,t={},n="POST"){try{const o=JSON.stringify(t),i=await Ib(o,r),a=await fetch(e,{method:n,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify(i)});if(!a.ok)throw await Zc(a);const s=await a.text();if(!s)return{success:!0,status:a.status};let l;try{l=JSON.parse(s)}catch{return s}if(l.payload){const c=await Uc(l.payload,r);return JSON.parse(c.decryptedData)}return l}catch(o){throw console.error("Error during fetch:",o),o}}async function Qc(e,r,t={},n="POST"){return ga(e,r,n,t)}const pv=typeof window<"u"&&window.isSecureContext,mv=pv?fv:Qc;function hv(e){if(!e)return;const r=_i.jwtDecode(e);if(r.params&&r.params.currencyFormat)return r.params.currencyFormat}function gv(e){return e?_i.jwtDecode(e).params:void 0}function yv(e){return e.charAt(0).toUpperCase()+e.slice(1)}function bv(e){return e.replace(/\w\S*/g,r=>r.charAt(0).toUpperCase()+r.substring(1).toLowerCase())}function vv(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\w\S*/g,r=>r.charAt(0).toUpperCase()+r.slice(1).toLowerCase())}const Cv="focus:ring-1 focus:ring-offset-0 focus-visible:ring-1 focus-visible:ring-offset-0",Sv="focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0 focus:ring-0 focus:ring-ring focus:ring-offset-0";async function xv(e){var i,a;const r=(a=(i=Ue.getState())==null?void 0:i.authToken)==null?void 0:a.accessToken;if(!r)return;const t=`${e}/v1/invalidate-token`,n=await fetch(t,{method:"POST",headers:{Authorization:`Bearer ${r}`}});if(!n.ok)throw new Error("Failed to invalidate token");const o=await n.json();return console.log("invalidateToken",o),o}async function wv(e,r,t={}){if(!r)return null;let n=`${e}/v1/dashboard`;const o=Object.fromEntries(Object.entries(t).filter(([l,c])=>c!==void 0)),i=new URLSearchParams(o).toString();i&&(n+=`?${i}`);let s=await(await fetch(n,{headers:{Authorization:`Bearer ${r}`}})).json();if("payload"in s){const l=await Uc(atob(s.payload),r);s=JSON.parse(l.decryptedData)}return s}async function Iv(e,r){if(!r)return null;const t=`${e}/v1/plugins`;return await(await fetch(t,{headers:{Authorization:`Bearer ${r}`}})).json()}const Oe=e=>{const r=typeof e=="string"?e.trim().toLowerCase():"";if(r.includes("json"))return"json";if(r.includes("geo")||r.includes("geography")||r.includes("geometry"))return"geo";const t=Oi.normalizeAnalyticsCatalogDataType(e);return t==="datetime"?"date":t==="unknown"?"string":t},Jc={background:"--semaphor-background",foreground:"--semaphor-foreground",muted:"--semaphor-muted",mutedForeground:"--semaphor-muted-foreground",border:"--semaphor-border",input:"--semaphor-input",primary:"--semaphor-primary",primaryForeground:"--semaphor-primary-foreground",accent:"--semaphor-accent",accentForeground:"--semaphor-accent-foreground",card:"--semaphor-card",cardForeground:"--semaphor-card-foreground",positive:"--semaphor-positive",negative:"--semaphor-negative",warning:"--semaphor-warning",info:"--semaphor-info",destructive:"--semaphor-destructive",destructiveForeground:"--semaphor-destructive-foreground"},Ev={light:{"--semaphor-code-string":"158 64% 22%","--semaphor-code-number":"158 64% 22%","--semaphor-code-boolean":"158 64% 22%","--semaphor-code-fn":"217 91% 40%","--semaphor-code-keyword":"263 70% 42%"},dark:{"--semaphor-code-string":"158 64% 52%","--semaphor-code-number":"158 64% 52%","--semaphor-code-boolean":"158 64% 52%","--semaphor-code-fn":"213 94% 68%","--semaphor-code-keyword":"264 89% 74%"}};function ed(e){var a,s,l,c,d,u,p,h;const r=e.defaults??dt.SEMAPHOR_DEFAULT_APPEARANCE_SPEC,t=e.mode??Av(e.spec.mode,e.systemMode),n=e.spec.schemes[t]??r.schemes[t],o=((a=n.tokens)==null?void 0:a.color)??{},i={...Ev[t]};for(const[v,m]of Object.entries(Jc)){const b=o[v];if(!b)continue;const S=dt.compileColorToHslTriplet(b);if(!S)throw new Error(`Invalid compiled appearance color for ${v}`);i[m]=S}return Fv(i,(s=n.tokens)==null?void 0:s.radius),Tv(i,(l=n.tokens)==null?void 0:l.typography),{mode:t,scheme:n,cssVariables:i,colorValues:o,chartPalette:((d=(c=n.components)==null?void 0:c.chart)==null?void 0:d.palette)??((p=(u=r.schemes[t].components)==null?void 0:u.chart)==null?void 0:p.palette)??dt.SEMAPHOR_DEFAULT_CHART_PALETTE,table:(h=n.components)==null?void 0:h.table}}function Tv(e,r){r!=null&&r.fontFamily&&(e["--semaphor-font-family"]=r.fontFamily),r!=null&&r.headingFontFamily&&(e["--semaphor-heading-font-family"]=r.headingFontFamily),r!=null&&r.monoFontFamily&&(e["--semaphor-mono-font-family"]=r.monoFontFamily),(r==null?void 0:r.baseFontSize)!==void 0&&(e["--semaphor-font-size"]=`${r.baseFontSize}px`)}function Fv(e,r){e["--semaphor-brand"]=e["--semaphor-primary"]??e["--semaphor-foreground"],e["--semaphor-secondary"]=e["--semaphor-accent"]??e["--semaphor-muted"],e["--semaphor-secondary-foreground"]=e["--semaphor-accent-foreground"]??e["--semaphor-foreground"],e["--semaphor-popover"]=e["--semaphor-card"]??e["--semaphor-background"],e["--semaphor-popover-foreground"]=e["--semaphor-card-foreground"]??e["--semaphor-foreground"],e["--semaphor-ring"]=e["--semaphor-primary"]??e["--semaphor-foreground"];const t=Ms((r==null?void 0:r.control)??5),n=Ms((r==null?void 0:r.card)??(r==null?void 0:r.control)??5);e["--semaphor-radius"]=t,e["--semaphor-control-radius"]=t,e["--semaphor-card-radius"]=n}function Ms(e){return`${Number((e/16).toFixed(4))}rem`}function Av(e,r="light"){return e==="system"?r:e}const Dv=ed({spec:dt.resolveAppearance(),mode:"light"}),td=ie.createContext(nd("semaphor-default-appearance",Dv));function rd(){return ie.useContext(td)}function nd(e,r){return{instanceId:e,compiledAppearance:r,scopeProps:Rv(e,r),portalSnapshot:{instanceId:e,compiledAppearance:r}}}function Rv(e,r){return{className:r.mode,style:Pv(r),"data-semaphor-theme":r.mode,"data-semaphor-appearance-instance":e}}function Pv(e){var i,a;const r={colorScheme:e.mode};e.cssVariables["--semaphor-font-family"]&&(r.fontFamily="var(--semaphor-font-family)");const n=(i=e.scheme.tokens)==null?void 0:i.typography,o=(a=dt.SEMAPHOR_DEFAULT_APPEARANCE_SPEC.schemes[e.mode].tokens)==null?void 0:a.typography;(n==null?void 0:n.baseFontSize)!==void 0&&n.baseFontSize!==(o==null?void 0:o.baseFontSize)&&(r.fontSize=n.baseFontSize);for(const[s,l]of Object.entries(e.cssVariables))r[s]=l;return r}/**
|
|
8
8
|
* @license lucide-react v0.453.0 - ISC
|
|
9
9
|
*
|